<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE module [
  <!ELEMENT module (dtdversion,name,version,description*,help*,about*,requires*,file+)>
  <!ELEMENT dtdversion (#PCDATA)>
  <!ELEMENT name (#PCDATA)>
  <!ELEMENT version (#PCDATA)>
  <!ELEMENT mincmsversion (#PCDATA)>
  <!ELEMENT description (#PCDATA)>
  <!ELEMENT help (#PCDATA)>
  <!ELEMENT about (#PCDATA)>
  <!ELEMENT requires (requiredname,requiredversion)>
  <!ELEMENT requiredname (#PCDATA)>
  <!ELEMENT requiredversion (#PCDATA)>
  <!ELEMENT file (filename,isdir,data)>
  <!ELEMENT filename (#PCDATA)>
  <!ELEMENT isdir (#PCDATA)>
  <!ELEMENT data (#PCDATA)>
]>
<module>
	<dtdversion>1.3</dtdversion>
	<name>SEOTools</name>
	<version>1.0</version>
  <mincmsversion>1.6.0</mincmsversion>
	<help><![CDATA[PGgzPldhcyB0dXQgZGllc2VzIE1vZHVsPzwvaDM+CjxwPkRpZSBTRU8gVG9vbHMgaGVsZmVuIElobmVuLCBJaHJlIFNFTyAoU2VhcmNoIEVuZ2luZSBPcHRpbWl6YXRpb24sIFN1Y2htYXNjaGluZW5vcHRpbWllcnVuZykgaW4gZGVuIEdyaWZmIHp1IGJla29tbWVuLiBEYXMgTW9kdWwgZiZ1dW1sO2d0IHZlcnNjaGllZGVuZSBTRU8tRiZhdW1sO2hpZ2tlaXRlbiB6dSBDTVNNUyBoaW56dSB1bmQgd2FybnQgU2llLCBmYWxscyBTaWUgaXJnZW5kZXR3YXMgU0VPLWJlem9nZW5lcyAmdXVtbDtiZXJzZWhlbiBoYWJlbi4gQWt0dWVsbCB3ZXJkZW4gZGllIGZvbGdlbmRlbiBGZWF0dXJlcyB1bnRlcnN0JnV1bWw7dHp0OjwvcD4KPHVsPgo8bGk+LSBhdXRvbWF0aXNjaGUgRXJ6ZXVndW5nIHZvbiBNZXRhLVRhZ3MgaW0gU3RhbmRhcmQtSFRNTC1Gb3JtYXQsIG5hY2ggZGVyIER1YmxpbiBDb3JlLVNwZXppZmlrYXRpb24gdW5kIE9wZW5HcmFwaDwvbGk+CjxsaT4tIGF1dG9tYXRpc2NoZSBFeHRyYWt0aW9uIHZvbiBLZXl3b3JkcyBhdXMgSWhyZW4gU2VpdGVuLCBkaWUgenVtIFNlaXRlbnRpdGVsIHVuZCBkZW4gTWV0YS1UYWdzIGhpbnp1Z2VmJnV1bWw7Z3Qgd2VyZGVuPC9saT4KPGxpPi0gRmVzdGxlZ2VuIG1pdCBlaW5lbSBLbGljaywgb2IgYmVzdGltbXRlIFNlaXRlbiB2b24gU3VjaG1hc2NoaW5lbiBpbmRpemllcnQgd2VyZGVuIHNvbGxlbiBvZGVyIG5pY2h0PC9saT4KPGxpPi0gRXJ6ZXVndW5nIGVpbmVyIHNpdGVtYXAueG1sLURhdGVpIG1pdCBJaHJlbiBTZWl0ZW4gdyZhdW1sO2hyZW5kIFNpZSBkaWUgdm9sbGUgS29udHJvbGxlIGRhciZ1dW1sO2JlciBoYWJlbiwgd2llIGRpZSBQcmlvcml0JmF1bWw7dCBlaW56ZWxuZXIgU2VpdGVuIGJld2VydGV0IHdlcmRlbiBzb2xsPC9saT4KPGxpPi0gRXJ6ZXVndW5nIGVpbmVyIHJvYm90cy50eHQtRGF0ZWkgbWl0IGRlciBNJm91bWw7Z2xpY2hrZWl0LCBleHBsaXppdCBkZW4gWnVncmlmZiBhdWYgU2VpdGVuLCBkaWUgbmljaHQgaW5kaXppZXJ0IHdlcmRlbiBzb2xsZW4sIHp1IHZlcmJpZXRlbjwvbGk+CjxsaT4tIEF1c2dhYmUgdm9uIFdhcm51bmdlbiwgd2VubiBtZWhyZXJlIFNlaXRlbiBkZW4gZ2xlaWNoZW4gVGl0ZWwgb2RlciBkaWUgZ2xlaWNoZSBCZXNjaHJlaWJ1bmcgaGFiZW48L2xpPgo8bGk+LSBBdXNnYWJlIHZvbiBXYXJudW5nZW4gd2VubiBzZWhyIGt1cnplIFNlaXRlbmJlc2NocmVpYnVuZ2VuIGdlZnVuZGVuIHd1cmRlbjwvbGk+CjxsaT4tIEF1dG9tYXRpc2NoZXMgRWluc2VuZGVuIGRlciBha3R1YWxpc2llcnRlbiBTaXRlbWFwLURhdGVpIHp1IEdvb2dsZSwgd2VubiBJbmhhbHRlIGdlJmF1bWw7bmRlcnQgd2VyZGVuPC9saT4gCjwvdWw+CjxoMz5XaWUgd2lyZCBkYXMgTW9kdWwgdmVyd2VuZGV0PzwvaDM+CjxwPiZPdW1sO2ZmbmVuIFNpZSB6dW4mYXVtbDtjaHN0IGFsbGUgVGVtcGxhdGVzLCBhdWYgZGVuZW4gU2llIFNFTyBUb29scyB2ZXJ3ZW5kZW4gbSZvdW1sO2NodGVuLiBFbnRmZXJuZW4gU2llIGRhcyBrb21wbGV0dGUgJmx0O3RpdGxlJmd0Oy1UYWcgdW5kIGRhcyB7bWV0YWRhdGF9LVRhZyAoYXVjaCB3ZW5uIGRhIHN0ZWh0LCBkYSZzemxpZzsgU2llIGxldHp0ZXJlcyBuaWUgZW50ZmVybmVuIHNvbGx0ZW4pIHVuZCBlcnNldHplbiBTaWUgYmVpZGUgZHVyY2ggZGFzIFRhZzwvcD4KPHByZT4Ke1NFT1Rvb2xzfQo8L3ByZT48YnIgLz4KPHA+RiZ1dW1sO2dlbiBTaWUgYWxzIG4mYXVtbDtjaHN0ZXMgYW0gRW5kZSBJaHJlcyBUZW1wbGF0ZXMgKG5hY2ggZGVtIHNjaGxpZSZzemxpZztlbmRlbiAmbHQ7L2JvZHkmZ3Q7LVRhZykgZGVuIGZvbGdlbmRlbiBDb2RlIGVpbjo8L3A+CjxwcmU+CntjYXB0dXJlfXtjb250ZW50IGJsb2NrPSJTZWl0ZW5iZXNjaHJlaWJ1bmciIG9uZWxpbmU9InRydWUifXsvY2FwdHVyZX0KPC9wcmU+PGJyIC8+CjxwPkluIGRpZXNlcyBGZWxkIHdlcmRlbiBTaWUgc3AmYXVtbDt0ZXIgZWluZSBrdXJ6ZSBTZWl0ZW5iZXNjaHJlaWJ1bmcgKGVpbiBvZGVyIHp3ZWkgUyZhdW1sO3R6ZSkgZWluZ2ViZW4sIGRpZSBpbiBkZW4gRXJnZWJuaXNzZW4gZGVyIFN1Y2htYXNjaGluZW4gYW5nZXplaWd0IHdpcmQgdW5kIHdlbm4gei5CLiBqZW1hbmQgZGVuIExpbmsgenUgSWhyZXIgU2VpdGUgYmVpIEZhY2Vib29rIHRlaWx0LjwvcD4KPHA+UnVmZW4gU2llIG51biBkaWUgTW9kdWwtQWRtaW5pc3RyYXRpb24gYXVmIHVuZCBmJnV1bWw7bGxlbiBTaWUgYXVmIGRlbiBFaW5zdGVsbHVuZ3MtVGFicyBhbGxlIEluZm9ybWF0aW9uZW4gZWluLCBkaWUgZiZ1dW1sO3IgSWhyZSBTZWl0ZSByZWxldmFudCBzaW5kLiBVbnRlciAiTmFtZSBkZXMgU2VpdGVuYmVzY2hyZWlidW5ncy1Db250ZW50YmxvY2siIHRyYWdlbiBTaWUgZGVuIE5hbWVuIGRlcyBzb2ViZW4gaW0gVGVtcGxhdGUgYW5nZWxlZ3RlbiBDb250ZW50LUJsb2NrcyAoIlNlaXRlbmJlc2NocmVpYnVuZyIgaW4gdW5zZXJlbSBCZWlzcGllbCkgZWluLiBEZXIgVGFiICJTRU8tV2FybnVuZ2VuIiBiZW5hY2hpY2h0aWd0IFNpZSBhdXRvbWF0aXNjaCwgd2VubiBpcmdlbmRlaW5lIEVpbnN0ZWxsdW5nIGdlZnVuZGVuIHd1cmRlLCBkaWUgbmljaHQgb3B0aW1hbCBpc3QuCkF1JnN6bGlnO2VyZGVtIHNvbGx0ZW4gU2llIGluIEVydyZhdW1sO2d1bmcgemllaGVuLCBJaHJlIFNlaXRlIGJlaSBHb29nbGUgV2VibWFzdGVyIFRvb2xzIGFuenVtZWxkZW4uIFcmYXVtbDtobGVuIFNpZSBkb3J0ICJNZXRhIHRhZyB2YWxpZGF0aW9uIiB1bmQgZiZ1dW1sO2dlbiBTaWUgZGVuIEJlc3QmYXVtbDt0aWd1bmdzY29kZSwgZGVuIFNpZSBkb3J0IGVyaGFsdGVuLCBpbiBkYXMgRmVsZCAiQmVzdCZhdW1sO3RpZ3VuZ3Njb2RlIGYmdXVtbDtyIGRpZSBTZWl0ZW52ZXJpZml6aWVydW5nIiBlaW4gKG51ciBkZW4gbGFuZ2VuIENvZGUgYXVzIFphaGxlbiB1bmQgQnVjaHN0YWJlbiwgbmljaHQgZGFzIGtvbXBsZXR0ZSBNZXRhLVRhZykgdW0gYXV0b21hdGlzY2ggenUgYmVzdCZhdW1sO3RpZ2VuLCBkYSZzemxpZzsgU2llIHRhdHMmYXVtbDtjaGxpY2ggZGVyIEluaGFiZXIgSWhyZXIgU2VpdGUgc2luZC48L3A+CjxwPlNvYmFsZCBhbGxlcyBlaW5nZXJpY2h0ZXQgaXN0LCBzY2hhdWVuIFNpZSBhdWYgZGFzICJTRU8tV2FybnVuZ2VuIi1UYWIgdW5kIGJlaGViZW4gU2llIGFsbGUgUHJvYmxlbWUsIGRpZSBJaG5lbiBkb3J0IGFuZ2V6ZWlndCB3ZXJkZW4uIERlbmtlbiBTaWUgdW5iZWRpbmd0IGRhcmFuLCBhdWYgamVkZXIgU2VpdGUsIGRpZSBTaWUgdW50ZXIgIkluaGFsdGUvU2VpdGVuIiBiZWFyYmVpdGVuLCBlaW5lIGt1cnplICh1bmQgZWluZGV1dGlnZSkgQmVzY2hyZWlidW5nIGlucyBGZWxkICJTZWl0ZW5iZXNjaHJlaWJ1bmciIHVudGVuIGF1ZiBkZW0gU2VpdGVuYmVhcmJlaXR1bmdzLUZvcm11bGFyIGVpbnp1Z2ViZW4uPC9wPgo8cD5XZW5uIFNpZSBJaHJlIGVpZ2VuZW4gS2V5d29yZHMgZmVzdGxlZ2VuIChhbnN0ZWxsZSBkZXIgYXV0b21hdGlzY2ggZ2VuZXJpZXJ0ZW4gS2V5d29yZHMpIG9kZXIgZGVuIE9wZW5HcmFwaC1UeXAgYmVzdGltbXRlciBTZWl0ZW4gJmF1bWw7bmRlcm4gbSZvdW1sO2NodGVuLCBiZXN1Y2hlbiBTaWUgZGVuIFRhYiAiU2VpdGVuZWluc3RlbGx1bmdlbiIgYXVmIGRlbSBTaWUgZWluZSBMaXN0ZSBhbGxlciBpbSBTeXN0ZW0gdm9yaGFuZGVuZW4gU2VpdGVuIHNlaGVuLiBEb3J0IGsmb3VtbDtubmVuIFNpZSBhdWNoIGRpZSBQcmlvcml0JmF1bWw7dGVuIGRlciBTZWl0ZW4gZiZ1dW1sO3IgZGllIFhNTC1TaXRlbWFwICZhdW1sO25kZXJuIChkaWUgYW5kZXJuZmFsbHMgYXV0b21hdGlzY2ggYmVyZWNobmV0IHdpcmQpIHVtIGZlc3R6dWxlZ2VuLCBkYSZzemxpZzsgYmVzdGltbXRlIFNlaXRlbiBhbHMgd2ljaHRpZ2VyCmVpbmdlc3R1ZnQgd2VyZGVuIHNvbGxlbiBhbHMgYW5kZXJlIGJlaSBTdWNobWFzY2hpbmVuLVRyZWZmZXJuLCBvZGVyIHdlbm4gU2llIGVpbnplbG5lIFNlaXRlbiB2b24gZGVyIEluZGl6aWVydW5nIGR1cmNoIFN1Y2htYXNjaGluZW4gYXVzc2NobGllJnN6bGlnO2VuIG0mb3VtbDtjaHRlbi48L3A+CjxwPlNFTyBUb29scyBmJnV1bWw7Z3QgYXUmc3psaWc7ZXJkZW0gZWluZW4gVmVyd2VpcyBhdWYgZGFzIEJpbGQsIGRhcyBhbHMgSGF1cHRiaWxkIGYmdXVtbDtyIElocmUgU2VpdGUgdmVyd2VuZGV0IHdlcmRlbiBzb2xsICh3aWNodGlnIGYmdXVtbDtyIExpbmtzLCBkaWUgYmVpIEZhY2Vib29rIGdldGVpbHQgd2VyZGVuKSB3ZW5uIFNpZSBlaW4gIkJpbGQiIGYmdXVtbDtyIGRpZSBTZWl0ZSBhdWYgZGVtIE9wdGlvbnMtVGFiIElocmVyIFNlaXRlIGZlc3RsZWdlbi4gV2VubiBTaWUgT3BlbkdyYXBoIHZlcndlbmRlbiwgZXJzZXR6dCBkaWVzZXMgQmlsZCBhdSZzemxpZztlcmRlbSBkYXMgU3RhbmRhcmQtQmlsZApmJnV1bWw7ciBPcGVuR3JhcGgtU2VpdGVuIGRhcyBTaWUgaW4gZGVuIEVpbnN0ZWxsdW5nZW4gdm9uIFNFTyBUb29scyBmZXN0Z2VsZWd0IGhhYmVuLiBBY2h0ZW4gU2llIGRhcmF1ZiwgZGEmc3psaWc7IFNpZSBkaWVzZSBCaWxkZXIgaW4gSWhyIC91cGxvYWRzL2ltYWdlcyAtIFZlcnplaWNobmlzIGhvY2hsYWRlbiwgZGFtaXQgc2llIHZvbiBDTVNNUyBlcmthbm50IHdlcmRlbi48L3A+IjsgCjxoMz5XZWxjaGUgUGFyYW1ldGVyIHNpbmQgZXJmb3JkZXJsaWNoPzwvaDM+CjxwPkRhcyBNb2R1bCBiZW4mb3VtbDt0aWd0IGtlaW5lIFBhcmFtZXRlcjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCBIZW5uaW5nIFNjaGFlZmVyIDxhIGhyZWY9Im1haWx0bzpoZW5uaW5nLnNjaGFlZmVyQGdtYWlsLmNvbSI+Jmx0O2hlbm5pbmcuc2NoYWVmZXJAZ21haWwuY29tJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD48aDM+UGFyYW1ldGVyPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gRGllc2VyIFBhcmFtZXRlciBsZWd0IGRpZSBTcHJhY2hlIGZlc3QsIGRpZSB2b20gTW9kdWwgZiZ1dW1sO3IgZGllIEF1c2dhYmUgYXVmIGRlciBXZWJzZWl0ZSB2ZXJ3ZW5kZXQgd2lyZC4gRGllcyB3aXJkIGplZG9jaCBuaWNodCB2b24gYWxsZW4gTW9kdWxlbiB1bnRlcnN0JnV1bWw7dHp0IGJ6dy4gYmVuJm91bWw7dGlndC48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0b3I6IEhlbm5pbmcgU2NoYWVmZXIgJmx0O2hlbm5pbmcuc2NoYWVmZXJAZ21haWwuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb24gOiAxLjA8YnIgLz48YnIgLz4mQXVtbDtuZGVydW5nc3ZlcmxhdWY6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAxLjAgLSAyNC4gQXVndXN0IDIwMTAuIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8L3VsPjxiciAvPg==]]></about>
	<description><![CDATA[Test]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.changesettings.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoIkVkaXQgU0VPIFNldHRpbmdzIikpCgl7CglyZXR1cm4gJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCX0KCi8qIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCgogICBDb2RlIGZvciBTRU9Ub29scyAiY2hhbmdlc2V0dGluZ3MiIGFkbWluIGFjdGlvbgogICAKICAgLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KICAgCiAgIFR5cGljYWxseSwgdGhpcyB3aWxsIGRpc3BsYXkgc29tZXRoaW5nIGZyb20gYSB0ZW1wbGF0ZQogICBvciBkbyBzb21lIG90aGVyIHRhc2suCiAgIAoqLwoKaWYgKGlzc2V0KCRfUE9TVFtzYXZlX21ldGFfc2V0dGluZ3NdKSkgewkKCQokdGhpcy0+c2V0UHJlZmVyZW5jZSgnbWV0YV9zdGFuZGFyZCcsJF9QT1NUWydtZXRhX3N0YW5kYXJkJ10pOwokdGhpcy0+c2V0UHJlZmVyZW5jZSgnbWV0YV9kdWJsaW5jb3JlJywkX1BPU1RbJ21ldGFfZHVibGluY29yZSddKTsKJHRoaXMtPnNldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoJywkX1BPU1RbJ21ldGFfb3BlbmdyYXBoJ10pOwoKJHRoaXMtPnNldFByZWZlcmVuY2UoJ21ldGFfcHVibGlzaGVyJywkX1BPU1RbJ21ldGFfcHVibGlzaGVyJ10pOwokdGhpcy0+c2V0UHJlZmVyZW5jZSgnbWV0YV9jb250cmlidXRvcicsJF9QT1NUWydtZXRhX2NvbnRyaWJ1dG9yJ10pOwokdGhpcy0+c2V0UHJlZmVyZW5jZSgnbWV0YV9jb3B5cmlnaHQnLCRfUE9TVFsnbWV0YV9jb3B5cmlnaHQnXSk7CgokdGhpcy0+c2V0UHJlZmVyZW5jZSgnbWV0YV9sb2NhdGlvbicsJF9QT1NUWydtZXRhX2xvY2F0aW9uJ10pOwokdGhpcy0+c2V0UHJlZmVyZW5jZSgnbWV0YV9yZWdpb24nLCRfUE9TVFsnbWV0YV9yZWdpb24nXSk7CiR0aGlzLT5zZXRQcmVmZXJlbmNlKCdtZXRhX2xhdGl0dWRlJywkX1BPU1RbJ21ldGFfbGF0aXR1ZGUnXSk7CiR0aGlzLT5zZXRQcmVmZXJlbmNlKCdtZXRhX2xvbmdpdHVkZScsJF9QT1NUWydtZXRhX2xvbmdpdHVkZSddKTsKCiR0aGlzLT5zZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF90aXRsZScsJF9QT1NUWydtZXRhX29wZW5ncmFwaF90aXRsZSddKTsKJHRoaXMtPnNldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3R5cGUnLCRfUE9TVFsnbWV0YV9vcGVuZ3JhcGhfdHlwZSddKTsKJHRoaXMtPnNldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lJywkX1BPU1RbJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lJ10pOwokdGhpcy0+c2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfaW1hZ2UnLCRfUE9TVFsnbWV0YV9vcGVuZ3JhcGhfaW1hZ2UnXSk7CiR0aGlzLT5zZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9hZG1pbnMnLCRfUE9TVFsnbWV0YV9vcGVuZ3JhcGhfYWRtaW5zJ10pOwokdGhpcy0+c2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb24nLCRfUE9TVFsnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb24nXSk7CgokdGhpcy0+c2V0UHJlZmVyZW5jZSgndGl0bGUnLCRfUE9TVFsndGl0bGUnXSk7CiR0aGlzLT5zZXRQcmVmZXJlbmNlKCd0aXRsZV9tZXRhJywkX1BPU1RbJ3RpdGxlX21ldGEnXSk7CiR0aGlzLT5zZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9ibG9jaycsJF9QT1NUWydkZXNjcmlwdGlvbl9ibG9jayddKTsKJHRoaXMtPnNldFByZWZlcmVuY2UoJ2Rlc2NyaXB0aW9uX2F1dG9fZ2VuZXJhdGUnLCRfUE9TVFsnZGVzY3JpcHRpb25fYXV0b19nZW5lcmF0ZSddKTsKJHRoaXMtPnNldFByZWZlcmVuY2UoJ2Rlc2NyaXB0aW9uX2F1dG8nLCRfUE9TVFsnZGVzY3JpcHRpb25fYXV0byddKTsKJHRoaXMtPnNldFByZWZlcmVuY2UoJ2RlZmF1bHRfa2V5d29yZHMnLCRfUE9TVFsnZGVmYXVsdF9rZXl3b3JkcyddKTsKCiR0aGlzLT5hdWRpdCgiVGVzdCIsIlNFTyBUb29scyIsIkVkaXRlZCBNZXRhIHNldHRpbmdzIik7CiR0aGlzLT5SZWRpcmVjdCgkdGhpcy0+aWQsICdkZWZhdWx0YWRtaW4nLCAnJywgQXJyYXkoJ21lc3NhZ2UnPT4nc2V0dGluZ3NfdXBkYXRlZCcsJ3RhYic9PidtZXRhc2V0dGluZ3MnKSk7Cn0KCmlmIChpc3NldCgkX1BPU1RbJ3NhdmVfc2l0ZW1hcF9zZXR0aW5ncyddKSkgewoKJHRoaXMtPnNldFByZWZlcmVuY2UoJ2NyZWF0ZV9zaXRlbWFwJywkX1BPU1RbJ2NyZWF0ZV9zaXRlbWFwJ10pOwokdGhpcy0+c2V0UHJlZmVyZW5jZSgncHVzaF9zaXRlbWFwJywkX1BPU1RbJ3B1c2hfc2l0ZW1hcCddKTsKJHRoaXMtPnNldFByZWZlcmVuY2UoJ2NyZWF0ZV9yb2JvdHMnLCRfUE9TVFsnY3JlYXRlX3JvYm90cyddKTsKJHRoaXMtPnNldFByZWZlcmVuY2UoJ3ZlcmlmaWNhdGlvbicsJF9QT1NUWyd2ZXJpZmljYXRpb24nXSk7CgokdGhpcy0+YXVkaXQoIlRlc3QiLCJTRU8gVG9vbHMiLCJFZGl0ZWQgU2l0ZW1hcCBzZXR0aW5ncyIpOwokdGhpcy0+UmVkaXJlY3QoJHRoaXMtPmlkLCAnZGVmYXVsdGFkbWluJywgJycsIEFycmF5KCdtZXNzYWdlJz0+J3NldHRpbmdzX3VwZGF0ZWQnLCd0YWInPT4nc2l0ZW1hcHNldHRpbmdzJykpOwp9CgppZiAoaXNzZXQoJF9QT1NUWydzYXZlX2tleXdvcmRfc2V0dGluZ3MnXSkpIHsKCiR0aGlzLT5zZXRQcmVmZXJlbmNlKCdrZXl3b3JkX21pbmxlbmd0aCcsJF9QT1NUWydrZXl3b3JkX21pbmxlbmd0aCddKTsKJHRoaXMtPnNldFByZWZlcmVuY2UoJ2tleXdvcmRfdGl0bGVfd2VpZ2h0JywkX1BPU1RbJ2tleXdvcmRfdGl0bGVfd2VpZ2h0J10pOwokdGhpcy0+c2V0UHJlZmVyZW5jZSgna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHQnLCRfUE9TVFsna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHQnXSk7CiR0aGlzLT5zZXRQcmVmZXJlbmNlKCdrZXl3b3JkX2hlYWRsaW5lX3dlaWdodCcsJF9QT1NUWydrZXl3b3JkX2hlYWRsaW5lX3dlaWdodCddKTsKJHRoaXMtPnNldFByZWZlcmVuY2UoJ2tleXdvcmRfY29udGVudF93ZWlnaHQnLCRfUE9TVFsna2V5d29yZF9jb250ZW50X3dlaWdodCddKTsKJHRoaXMtPnNldFByZWZlcmVuY2UoJ2tleXdvcmRfbWluaW11bV93ZWlnaHQnLCRfUE9TVFsna2V5d29yZF9taW5pbXVtX3dlaWdodCddKTsKCiR0aGlzLT5zZXRQcmVmZXJlbmNlKCdrZXl3b3JkX2V4Y2x1ZGUnLCRfUE9TVFsna2V5d29yZF9leGNsdWRlJ10pOwoKCiR0aGlzLT5hdWRpdCgiVGVzdCIsIlNFTyBUb29scyIsIkVkaXRlZCBLZXl3b3JkIHNldHRpbmdzIik7CiR0aGlzLT5SZWRpcmVjdCgkdGhpcy0+aWQsICdkZWZhdWx0YWRtaW4nLCAnJywgQXJyYXkoJ21lc3NhZ2UnPT4nc2V0dGluZ3NfdXBkYXRlZCcsJ3RhYic9PidrZXl3b3Jkc2V0dGluZ3MnKSk7Cn0KCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgovKiAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQoKICAgQ29kZSBmb3IgU0VPVG9vbHMgImRlZmF1bHQiIGFjdGlvbgoKICAgLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KICAgCiAgIFR5cGljYWxseSwgdGhpcyB3aWxsIGRpc3BsYXkgc29tZXRoaW5nIGZyb20gYSB0ZW1wbGF0ZQogICBvciBkbyBzb21lIG90aGVyIHRhc2suCiAgIAoqLwoKLy8gR2V0IHBhZ2UgZGF0YQpnbG9iYWwgJGdDbXM7CiRwYWdlX2lkID0gJGdDbXMtPnZhcmlhYmxlc1snY29udGVudF9pZCddOwokaG0gPSYgJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKJGN1cm5vZGUgPSYgJGhtLT5nZXROb2RlQnlJZCgkcGFnZV9pZCk7CiRjdXJjb250ZW50ID0mICRjdXJub2RlLT5HZXRDb250ZW50KCk7CiRwYWdlX3VybCA9ICRjdXJjb250ZW50LT5HZXRVUkwoKTsKCiRtb2RpZmllZF9kYXRlID0gJGN1cmNvbnRlbnQtPm1Nb2RpZmllZERhdGU7CiRtb2RpZmllZF9kYXRlID0gZGF0ZSgnWS1tLWRcVEg6aTpzUCcsc3RydG90aW1lKCRtb2RpZmllZF9kYXRlKSk7CgovLyBLZXl3b3JkIGdlbmVyYXRvcgoKJGtleXdvcmRzID0gZXhwbG9kZSgnICcsJHRoaXMtPmdldFByZWZlcmVuY2UoJ2RlZmF1bHRfa2V5d29yZHMnLCcnKSk7CgokZGIgPSYgJGdDbXMtPmRiOwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzIFdIRVJFIGNvbnRlbnRfaWQgPSAnLiRwYWdlX2lkOwokcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiRwYWdlX2luZm8gPSAkcmVzdWx0LT5mZXRjaFJvdygpOwoKaWYgKCRwYWdlX2luZm9ba2V5d29yZHNdICE9ICIiKSB7Cgkkb3RoZXJfa2V5d29yZHMgPSBhcnJheV9mbGlwKGV4cGxvZGUoJyAnLCRwYWdlX2luZm9ba2V5d29yZHNdKSk7Cn1lbHNlewoJJG90aGVyX2tleXdvcmRzID0gJHRoaXMtPmdldEtleXdvcmRTdWdnZXN0aW9ucygkcGFnZV9pZCk7Cn0KCiRzZW9fa2V5d29yZHMgPSBpbXBsb2RlKCcgJyxhcnJheV9tZXJnZSgka2V5d29yZHMsIGFycmF5X2ZsaXAoJG90aGVyX2tleXdvcmRzKSkpOwoKLy8gUGFnZSBkZXNjcmlwdGlvbgoKJGRlc2NyaXB0aW9uX2lkID0gc3RyX3JlcGxhY2UoJyAnLCdfJywkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYmxvY2snLCcnKSk7CiRkZXNjcmlwdGlvbiA9IHN0cmlwX3RhZ3MoJGN1cmNvbnRlbnQtPm1Qcm9wZXJ0aWVzLT5tUHJvcGVydHlWYWx1ZXNbJGRlc2NyaXB0aW9uX2lkXSk7CgppZiAoKCRkZXNjcmlwdGlvbiA9PSAiIikgJiYgKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9hdXRvX2dlbmVyYXRlJywnZmFsc2UnKSA9PSAndHJ1ZScpKSB7CiAgJGt3ID0gYXJyYXlfZmxpcCgkb3RoZXJfa2V5d29yZHMpOwogICRsYXN0X2tleXdvcmQgPSBhcnJheV9wb3AoJGt3KTsKICAka2V5d29yZHMgPSBpbXBsb2RlKCcsICcsJGt3KSAuICIgIiAuICR0aGlzLT5sYW5nKCdhbmQnKSAuICIgIiAuICRsYXN0X2tleXdvcmQ7CiAgJGRlc2NyaXB0aW9uID0gc3RyX3JlcGxhY2UoJ3trZXl3b3Jkc30nLCRrZXl3b3JkcywkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYXV0bycsJycpKTsKICAkZGVzY3JpcHRpb24gPSBzdHJfcmVwbGFjZSgne3RpdGxlfScsJGN1cmNvbnRlbnQtPm1OYW1lLCRkZXNjcmlwdGlvbik7Cn0KCi8vIFNob3cgYmFzZT8KaWYgKCRwYXJhbXNbc2hvd2Jhc2VdICE9ICdmYWxzZScpIHsKCWVjaG8gIjxiYXNlIGhyZWY9J2h0dHA6Ly8iLiRfU0VSVkVSW0hUVFBfSE9TVF0uIi8nPjwvYmFzZT5cbiI7Cn0KCi8vIFBhZ2UgdGl0bGUKJHRpdGxlID0gJHRoaXMtPmdldFByZWZlcmVuY2UoJ3RpdGxlJywne3RpdGxlfSB8IHtzaXRlbmFtZX0gLSB7c2VvX2tleXdvcmRzfScpOwokdGl0bGUgPSBzdHJfcmVwbGFjZSgne3RpdGxlfScsJGN1cmNvbnRlbnQtPm1OYW1lLCR0aXRsZSk7CiR0aXRsZSA9IHN0cl9yZXBsYWNlKCd7c2l0ZW5hbWV9JywkZ0Ntcy0+c2l0ZXByZWZzW3NpdGVuYW1lXSwkdGl0bGUpOwokdGl0bGUgPSBzdHJfcmVwbGFjZSgne3Nlb19rZXl3b3Jkc30nLCRzZW9fa2V5d29yZHMsJHRpdGxlKTsKCiRtZXRhX3RpdGxlID0gJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfdGl0bGUnLCd7dGl0bGV9IHwge3NpdGVuYW1lfScpOwokbWV0YV90aXRsZSA9IHN0cl9yZXBsYWNlKCd7dGl0bGV9JywkY3VyY29udGVudC0+bU5hbWUsJG1ldGFfdGl0bGUpOwokbWV0YV90aXRsZSA9IHN0cl9yZXBsYWNlKCd7c2l0ZW5hbWV9JywkZ0Ntcy0+c2l0ZXByZWZzW3NpdGVuYW1lXSwkbWV0YV90aXRsZSk7CiRtZXRhX3RpdGxlID0gc3RyX3JlcGxhY2UoJ3tzZW9fa2V5d29yZHN9Jywkc2VvX2tleXdvcmRzLCRtZXRhX3RpdGxlKTsKCiRvcGVuZ3JhcGhfdGl0bGUgPSAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfdGl0bGUnLCd7dGl0bGV9Jyk7CiRvcGVuZ3JhcGhfdGl0bGUgPSBzdHJfcmVwbGFjZSgne3RpdGxlfScsJGN1cmNvbnRlbnQtPm1OYW1lLCRvcGVuZ3JhcGhfdGl0bGUpOwoKZWNobyAiPHRpdGxlPiIuJHRpdGxlLiI8L3RpdGxlPlxuIjsKCi8vIE1FVEEgdGFncyBmb3IgY29udGVudCB0eXBlIGV0Yy4KZWNobyAiPG1ldGEgaHR0cC1lcXVpdj0nQ29udGVudC1UeXBlJyBjb250ZW50PSd0ZXh0L2h0bWw7IGNoYXJzZXQ9Ii4kZ0Ntcy0+Y29uZmlnW2RlZmF1bHRfZW5jb2RpbmddLiInIC8+XG4iOwppZiAoKCRwYWdlX2luZm9baW5kZXhhYmxlXSA9PSAiIikgfHwgKCRwYWdlX2luZm9baW5kZXhhYmxlXSA9PSAiMSIpKSB7CgllY2hvICI8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J2luZGV4JyAvPlxuIjsKfWVsc2V7CgllY2hvICI8bWV0YSBuYW1lPSdyb2JvdHMnIGNvbnRlbnQ9J25vaW5kZXgnIC8+XG4iOwp9CgppZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ3ZlcmlmaWNhdGlvbicsJycpICE9ICcnKSB7CgllY2hvICI8bWV0YSBuYW1lPSdnb29nbGUtc2l0ZS12ZXJpZmljYXRpb24nIGNvbnRlbnQ9JyIuJHRoaXMtPmdldFByZWZlcmVuY2UoJ3ZlcmlmaWNhdGlvbicsJycpLiInIC8+XG4iOwp9CgovLyBTdGFuZGFyZCBNRVRBIHRhZ3MKaWYgKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX3N0YW5kYXJkJywndHJ1ZScpID09ICd0cnVlJykgewoJZWNobyAiPG1ldGEgbmFtZT0nZGVzY3JpcHRpb24nIGNvbnRlbnQ9JyRkZXNjcmlwdGlvbicgLz5cbiI7CiAgICBlY2hvICI8bWV0YSBuYW1lPSdrZXl3b3JkcycgY29udGVudD0nJHNlb19rZXl3b3JkcycgLz5cbiI7CiAgICBlY2hvICI8bWV0YSBuYW1lPSdkYXRlJyBjb250ZW50PSckbW9kaWZpZWRfZGF0ZScgLz5cbiI7CiAgICBlY2hvICI8bWV0YSBuYW1lPSdhdXRob3InIGNvbnRlbnQ9JyIuJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfcHVibGlzaGVyJywnJykuIicgLz5cbiI7CiAgICBpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfbG9jYXRpb24nLCcnKSAhPSAiIikgewogICAgICBlY2hvICI8bWV0YSBuYW1lPSdnZW8ucGxhY2VuYW1lJyBjb250ZW50PSciLiR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX2xvY2F0aW9uJywnJykuIicgLz5cbiI7CiAgICB9CiAgICBpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfcmVnaW9uJywnJykgIT0gIiIpIHsKICAgICAgZWNobyAiPG1ldGEgbmFtZT0nZ2VvLnJlZ2lvbicgY29udGVudD0nIi4kdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9yZWdpb24nLCcnKS4iJyAvPlxuIjsKICAgIH0KICAgIGlmICgoJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfbGF0aXR1ZGUnLCcnKSAhPSAiIikgJiYgKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX2xvbmdpdHVkZScsJycpICE9ICIiKSkgewogICAgICBlY2hvICI8bWV0YSBuYW1lPSdnZW8ucG9zaXRpb24nIGNvbnRlbnQ9JyIuJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfbGF0aXR1ZGUnLCcnKS4iOyIuJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfbG9uZ2l0dWRlJywnJykuIicgLz5cbiI7CiAgICAgIGVjaG8gIjxtZXRhIG5hbWU9J0lDQk0nIGNvbnRlbnQ9JyIuJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfbGF0aXR1ZGUnLCcnKS4iLCAiLiR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX2xvbmdpdHVkZScsJycpLiInIC8+XG4iOwogICAgfSAgICAKfQoKLy8gRHVibGluQ29yZSBNRVRBIHRhZ3MKaWYgKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX2R1YmxpbmNvcmUnLCdmYWxzZScpID09ICd0cnVlJykgewogICAgZWNobyAiPGxpbmsgcmVsPSdzY2hlbWEuREMnIGhyZWY9J2h0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvJyAvPlxuIjsKICAgIGVjaG8gIjxsaW5rIHJlbD0nc2NoZW1hLkRDVEVSTVMnIGhyZWY9J2h0dHA6Ly9wdXJsLm9yZy9kYy90ZXJtcy8nIC8+XG4iOwogICAgZWNobyAiPG1ldGEgbmFtZT0nREMudHlwZScgY29udGVudD0nVGV4dCcgc2NoZW1lPSdEQ1RFUk1TLkRDTUlUeXBlJyAvPlxuIjsKICAgIGVjaG8gIjxtZXRhIG5hbWU9J0RDLmZvcm1hdCcgY29udGVudD0ndGV4dC9odG1sJyBzY2hlbWU9J0RDVEVSTVMuSU1UJyAvPlxuIjsKICAgIGVjaG8gIjxtZXRhIG5hbWU9J0RDLnJlbGF0aW9uJyBjb250ZW50PSdodHRwOi8vZHVibGluY29yZS5vcmcvJyBzY2hlbWU9J0RDVEVSTVMuVVJJJyAvPlxuIjsKICAgIGVjaG8gIjxtZXRhIG5hbWU9J0RDLnB1Ymxpc2hlcicgY29udGVudD0nIi4kdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9wdWJsaXNoZXInLCcnKS4iJyAvPlxuIjsKICAgIGVjaG8gIjxtZXRhIG5hbWU9J0RDLmNvbnRyaWJ1dG9yJyBjb250ZW50PSciLiR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX2NvbnRyaWJ1dG9yJywnJykuIicgLz5cbiI7ICAgIAogICAgZWNobyAiPG1ldGEgbmFtZT0nREMubGFuZ3VhZ2UnIGNvbnRlbnQ9JyIuJGdDbXMtPnNpdGVwcmVmc1tmcm9udGVuZGxhbmddLiInIHNjaGVtZT0nRENURVJNUy5SRkMzMDY2JyAvPlxuIjsgICAgCiAgICBlY2hvICI8bWV0YSBuYW1lPSdEQy5yaWdodHMnIGNvbnRlbnQ9JyIuJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfY29weXJpZ2h0JywnJykuIicgLz5cbiI7CiAgICBlY2hvICI8bWV0YSBuYW1lPSdEQy50aXRsZScgY29udGVudD0nJG1ldGFfdGl0bGUnIC8+XG4iOwogICAgZWNobyAiPG1ldGEgbmFtZT0nREMuZGVzY3JpcHRpb24nIGNvbnRlbnQ9JyRkZXNjcmlwdGlvbicgLz5cbiI7CiAgICBlY2hvICI8bWV0YSBuYW1lPSdEQy5kYXRlJyBjb250ZW50PSckbW9kaWZpZWRfZGF0ZScgc2NoZW1lPSdEQ1RFUk1TLlczQ0RURicgLz5cbiI7CiAgICBlY2hvICI8bWV0YSBuYW1lPSdEQy5pZGVudGlmaWVyJyBjb250ZW50PSckcGFnZV91cmwnIHNjaGVtZT0nRENURVJNUy5VUkknIC8+XG4iOwkKfQoKLy8gT3BlbkdyYXBoIE1FVEEgdGFncwppZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoJywnZmFsc2UnKSA9PSAndHJ1ZScpIHsKICAgIGVjaG8gIjxtZXRhIHByb3BlcnR5PSdvZzp0aXRsZScgY29udGVudD0nJG9wZW5ncmFwaF90aXRsZScgLz5cbiI7CiAgICBpZiAoJHBhZ2VfaW5mb1tvZ3R5cGVdID09ICIiKSB7CiAgICAgIGVjaG8gIjxtZXRhIHByb3BlcnR5PSdvZzp0eXBlJyBjb250ZW50PSciLiR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF90eXBlJywnJykuIicgLz5cbiI7CiAgICB9ZWxzZXsKICAgICAgZWNobyAiPG1ldGEgcHJvcGVydHk9J29nOnR5cGUnIGNvbnRlbnQ9JyIuJHBhZ2VfaW5mb1tvZ3R5cGVdLiInIC8+XG4iOwogICAgfQogICAgZWNobyAiPG1ldGEgcHJvcGVydHk9J29nOnVybCcgY29udGVudD0nJHBhZ2VfdXJsJyAvPlxuIjsKICAgIAogICAgaWYgKCgkY3VyY29udGVudC0+bVByb3BlcnRpZXMtPm1Qcm9wZXJ0eVZhbHVlc1snaW1hZ2UnXSAhPSAtMSkgJiYgKCRjdXJjb250ZW50LT5tUHJvcGVydGllcy0+bVByb3BlcnR5VmFsdWVzWydpbWFnZSddICE9ICIiKSkgIHsKICAgIAkkaW1hZ2UgPSAkY3VyY29udGVudC0+bVByb3BlcnRpZXMtPm1Qcm9wZXJ0eVZhbHVlc1snaW1hZ2UnXTsKICAgIH1lbHNlewogICAgCSRpbWFnZSA9ICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9pbWFnZScsJycpOwogICAgfQogICAgCiAgICBlY2hvICI8bWV0YSBwcm9wZXJ0eT0nb2c6aW1hZ2UnIGNvbnRlbnQ9JyIuJGdDbXMtPmNvbmZpZ1tyb290X3VybF0uIi91cGxvYWRzL2ltYWdlcy8kaW1hZ2UnIC8+XG4iOwogICAgZWNobyAiPG1ldGEgcHJvcGVydHk9J29nOnNpdGVfbmFtZScgY29udGVudD0nIi4kdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfc2l0ZW5hbWUnLCRnQ21zLT5zaXRlcHJlZnNbc2l0ZW5hbWVdKS4iJyAvPlxuIjsgICAgCiAgICBlY2hvICI8bWV0YSBwcm9wZXJ0eT0nb2c6ZGVzY3JpcHRpb24nIGNvbnRlbnQ9JyRkZXNjcmlwdGlvbicgLz5cbiI7CiAgICBpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX2FwcGxpY2F0aW9uJywnJykgIT0gIiIpIHsKICAgICAgZWNobyAiPG1ldGEgcHJvcGVydHk9J2ZiOmFkbWlucycgY29udGVudD0nIi4kdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb24nLCcnKS4iJyAvPlxuIjsKICAgIH1lbHNlewogICAgICBlY2hvICI8bWV0YSBwcm9wZXJ0eT0nZmI6YXBwX2lkJyBjb250ZW50PSciLiR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9hZG1pbnMnLCcnKS4iJyAvPlxuIjsKICAgIH0KICAgIGlmICgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9sb2NhdGlvbicsJycpICE9ICIiKSB7CiAgICAgIGVjaG8gIjxtZXRhIHByb3BlcnR5PSdvZzpsb2NhbGl0eScgY29udGVudD0nIi4kdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9sb2NhdGlvbicsJycpLiInIC8+XG4iOwogICAgfQogICAgaWYgKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX3JlZ2lvbicsJycpICE9ICIiKSB7CiAgICAgIGVjaG8gIjxtZXRhIHByb3BlcnR5PSdvZzpyZWdpb24nIGNvbnRlbnQ9JyIuJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfcmVnaW9uJywnJykuIicgLz5cbiI7CiAgICB9CiAgICBpZiAoKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX2xhdGl0dWRlJywnJykgIT0gIiIpICYmICgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9sb25naXR1ZGUnLCcnKSAhPSAiIikpIHsKICAgICAgZWNobyAiPG1ldGEgcHJvcGVydHk9J29nOmxhdGl0dWRlJyBjb250ZW50PSciLiR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX2xhdGl0dWRlJywnJykuIicgLz5cbiI7CiAgICAgIGVjaG8gIjxtZXRhIHByb3BlcnR5PSdvZzpsb25naXR1ZGUnIGNvbnRlbnQ9JyIuJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfbG9uZ2l0dWRlJywnJykuIicgLz5cbiI7CiAgICB9ICAgICAgICAgICAKfQoKLy8gSW1hZ2UtTGluawoKaWYgKCgkY3VyY29udGVudC0+bVByb3BlcnRpZXMtPm1Qcm9wZXJ0eVZhbHVlc1snaW1hZ2UnXSAhPSAtMSkgJiYgKCRjdXJjb250ZW50LT5tUHJvcGVydGllcy0+bVByb3BlcnR5VmFsdWVzWydpbWFnZSddICE9ICIiKSkgIHsKCWVjaG8gIjxsaW5rIHJlbD0naW1hZ2Vfc3JjJyBocmVmPSciLiRnQ21zLT5jb25maWdbcm9vdF91cmxdLiIvdXBsb2Fkcy9pbWFnZXMvIi4kY3VyY29udGVudC0+bVByb3BlcnRpZXMtPm1Qcm9wZXJ0eVZhbHVlc1snaW1hZ2UnXS4iJyAvPiI7Cn0KCj8+]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiAoISAkdGhpcy0+Q2hlY2tBY2Nlc3MoKSkKICAgIHsKICAgIHJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwogICAgfQoKLyogLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KCiAgIENvZGUgZm9yIFNFT1Rvb2xzICJkZWZhdWx0YWRtaW4iIGFkbWluIGFjdGlvbgogICAKICAgLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KICAgCiAgIFR5cGljYWxseSwgdGhpcyB3aWxsIGRpc3BsYXkgc29tZXRoaW5nIGZyb20gYSB0ZW1wbGF0ZQogICBvciBkbyBzb21lIG90aGVyIHRhc2suCiAgIAoqLwoKLy8gRG8gdGhlIGFjdGlvbgppZiAoJF9HRVRbd2hhdF0gPT0gJ3RvZ2dsZV9pbmRleCcpIHsKICAgICRkYiA9JiAkZ0Ntcy0+ZGI7CiAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzIFdIRVJFIGNvbnRlbnRfaWQgPSAnLiRfR0VUW2NvbnRlbnRfaWRdOwogICAgJHJlc3VsdCA9JiAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICRpbmZvID0gJHJlc3VsdC0+ZmV0Y2hSb3coKTsKICAgIGlmICgkaW5mb1tpbmRleGFibGVdID09ICIxIikgewogICAgICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29scyBTRVQgaW5kZXhhYmxlID0gMCBXSEVSRSBjb250ZW50X2lkID0gJy4kX0dFVFtjb250ZW50X2lkXTsKICAgIH1lbHNlewogICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzIFNFVCBjb250ZW50X2lkID0gJy4kX0dFVFtjb250ZW50X2lkXS4nLCBpbmRleGFibGUgPSAwIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIGluZGV4YWJsZSA9IDEnOwogICAgfQogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICBpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ2NyZWF0ZV9yb2JvdHMnLCd0cnVlJykgPT0gJ3RydWUnKSB7CiAgICAgICAgJHRoaXMtPmNyZWF0ZVJvYm90c1RYVCgpOwogICAgfQogICAgaWYgKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdjcmVhdGVfc2l0ZW1hcCcsJ3RydWUnKSA9PSAndHJ1ZScpIHsKICAgICAgICAkdGhpcy0+Y3JlYXRlU2l0ZW1hcCgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgncHVzaF9zaXRlbWFwJywndHJ1ZScpID09IHRydWUpOwogICAgfQogICAgJF9HRVRbdGFiXSA9ICdwYWdlZGVzY3JpcHRpb25zJzsKfSAgIAoKaWYgKCRfR0VUW3doYXRdID09ICdzZXRfcHJpb3JpdHknKSB7CiAgICAkZGIgPSYgJGdDbXMtPmRiOyAgICAKICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzIFNFVCBjb250ZW50X2lkID0gJy4kX0dFVFtjb250ZW50X2lkXS4nLCBwcmlvcml0eSA9ICcuJF9HRVRbcHJpb3JpdHldLicgT04gRFVQTElDQVRFIEtFWSBVUERBVEUgcHJpb3JpdHkgPSAnLiRfR0VUW3ByaW9yaXR5XTsgICAgCiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICRfR0VUW3RhYl0gPSAncGFnZWRlc2NyaXB0aW9ucyc7CiAgICBpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ2NyZWF0ZV9zaXRlbWFwJywndHJ1ZScpID09ICd0cnVlJykgewogICAgICAgICR0aGlzLT5jcmVhdGVTaXRlbWFwKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdwdXNoX3NpdGVtYXAnLCd0cnVlJykgPT0gdHJ1ZSk7CiAgICB9Cn0KCmlmICgkX0dFVFt3aGF0XSA9PSAncmVzZXRfcHJpb3JpdHknKSB7CiAgICAkZGIgPSYgJGdDbXMtPmRiOyAgICAKICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29scyBTRVQgcHJpb3JpdHkgPSBOVUxMIFdIRVJFIGNvbnRlbnRfaWQgPSAnLiRfR0VUW2NvbnRlbnRfaWRdOyAgICAKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgJF9HRVRbdGFiXSA9ICdwYWdlZGVzY3JpcHRpb25zJzsKICAgIGlmICgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnY3JlYXRlX3NpdGVtYXAnLCd0cnVlJykgPT0gJ3RydWUnKSB7CiAgICAgICAgJHRoaXMtPmNyZWF0ZVNpdGVtYXAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ3B1c2hfc2l0ZW1hcCcsJ3RydWUnKSA9PSB0cnVlKTsKICAgIH0KfQoKaWYgKCRfR0VUW3doYXRdID09ICdyZXNldF9vZ3R5cGUnKSB7CiAgICAkZGIgPSYgJGdDbXMtPmRiOyAgICAKICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29scyBTRVQgb2d0eXBlID0gTlVMTCBXSEVSRSBjb250ZW50X2lkID0gJy4kX0dFVFtjb250ZW50X2lkXTsgICAgCiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICRfR0VUW3RhYl0gPSAncGFnZWRlc2NyaXB0aW9ucyc7Cn0KCmlmICgkX0dFVFt3aGF0XSA9PSAncmVzZXRfa2V5d29yZHMnKSB7CiAgICAkZGIgPSYgJGdDbXMtPmRiOyAgICAKICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29scyBTRVQga2V5d29yZHMgPSBOVUxMIFdIRVJFIGNvbnRlbnRfaWQgPSAnLiRfR0VUW2NvbnRlbnRfaWRdOyAgICAKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgJF9HRVRbdGFiXSA9ICdwYWdlZGVzY3JpcHRpb25zJzsKfQoKaWYgKCRfR0VUW3doYXRdID09ICdlZGl0X29ndHlwZScpIHsKICAgIGVjaG8gJHRoaXMtPlJlZGlyZWN0KCR0aGlzLT5pZCwgJ2VkaXRfb2d0eXBlJywgJHRoaXMtPnJldHVybmlkLCBBcnJheSgnY29udGVudF9pZCc9PiRfR0VUW2NvbnRlbnRfaWRdKSk7Cn0KCmlmICgkX0dFVFt3aGF0XSA9PSAnZWRpdF9rZXl3b3JkcycpIHsKICAgIGVjaG8gJHRoaXMtPlJlZGlyZWN0KCR0aGlzLT5pZCwgJ2VkaXRfa2V5d29yZHMnLCAkdGhpcy0+cmV0dXJuaWQsIEFycmF5KCdjb250ZW50X2lkJz0+JF9HRVRbY29udGVudF9pZF0pKTsKfQogICAgCiAgICAKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0YWJfaGVhZGVycycsJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpLgogICAgJHRoaXMtPlNldFRhYkhlYWRlcignc2VvYWxlcnRzJywkdGhpcy0+TGFuZygndGl0bGVfc2VvYWxlcnRzJykpLgogICAgJHRoaXMtPlNldFRhYkhlYWRlcigncGFnZWRlc2NyaXB0aW9ucycsJHRoaXMtPkxhbmcoJ3RpdGxlX3BhZ2VkZXNjcmlwdGlvbnMnKSwgKCRfR0VUW3RhYl0gPT0gJ3BhZ2VkZXNjcmlwdGlvbnMnKSkuICAKICAgICR0aGlzLT5TZXRUYWJIZWFkZXIoJ21ldGFzZXR0aW5ncycsJHRoaXMtPkxhbmcoJ3RpdGxlX21ldGFzZXR0aW5ncycpLCAoJF9HRVRbdGFiXSA9PSAnbWV0YXNldHRpbmdzJykpLgogICAgJHRoaXMtPlNldFRhYkhlYWRlcignc2l0ZW1hcHNldHRpbmdzJywkdGhpcy0+TGFuZygndGl0bGVfc2l0ZW1hcHNldHRpbmdzJyksICgkX0dFVFt0YWJdID09ICdzaXRlbWFwc2V0dGluZ3MnKSkuCiAgICAkdGhpcy0+U2V0VGFiSGVhZGVyKCdrZXl3b3Jkc2V0dGluZ3MnLCR0aGlzLT5MYW5nKCd0aXRsZV9rZXl3b3Jkc2V0dGluZ3MnKSwgKCRfR0VUW3RhYl0gPT0gJ2tleXdvcmRzZXR0aW5ncycpKS4KICAgICR0aGlzLT5FbmRUYWJIZWFkZXJzKCkuJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdlbmRfdGFiJywkdGhpcy0+RW5kVGFiKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RhYl9mb290ZXJzJywkdGhpcy0+RW5kVGFiQ29udGVudCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9zZW9hbGVydHNfdGFiJywkdGhpcy0+U3RhcnRUYWIoJ3Nlb2FsZXJ0cycpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydF9wYWdlZGVzY3JpcHRpb25zX3RhYicsJHRoaXMtPlN0YXJ0VGFiKCdwYWdlZGVzY3JpcHRpb25zJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X21ldGFzZXR0aW5nc190YWInLCR0aGlzLT5TdGFydFRhYignbWV0YXNldHRpbmdzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X3NpdGVtYXBzZXR0aW5nc190YWInLCR0aGlzLT5TdGFydFRhYignc2l0ZW1hcHNldHRpbmdzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2tleXdvcmRzZXR0aW5nc190YWInLCR0aGlzLT5TdGFydFRhYigna2V5d29yZHNldHRpbmdzJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX3NlY3Rpb24nLCdkZWZhdWx0YWRtaW4nKTsKCmlmIChpc3NldCgkX0dFVFttZXNzYWdlXSkpIHsKICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCR0aGlzLT5zaG93TWVzc2FnZSgkdGhpcy0+bGFuZygkX0dFVFttZXNzYWdlXSkpKTsKfQoKLyogU0VPIEFsZXJ0cyBUYWIgKi8KCiRhbGVydHMgID0gJHRoaXMtPmNyZWF0ZUZpZWxkc2V0U3RhcnQoJHRoaXMtPmlkLCAnYWxlcnRzX3VyZ2VudCcsICR0aGlzLT5MYW5nKCd0aXRsZV9hbGVydHNfdXJnZW50JykpOwoKJHVyZ2VudF9hbGVydHMgPSAkdGhpcy0+Z2V0VXJnZW50QWxlcnRzKCk7CgppZiAoY291bnQoJHVyZ2VudF9hbGVydHMpID09IDApIHsKICAkYWxlcnRzIC49ICc8aW1nIHNyYz0iL2FkbWluL3RoZW1lcy9OQ2xlYW5HcmV5L2ltYWdlcy9pY29ucy9zeXN0ZW0vdHJ1ZS5naWYiIGFsaWduPSJhYnNtaWRkbGUiIC8+ICcuJHRoaXMtPmxhbmcoJ25vdGhpbmdfdG9fYmVfZml4ZWQnKS4nPGJyIC8+PGJyIC8+JzsKfWVsc2V7CiAgJGdyb3VwcyA9IEFycmF5KCk7CiAgZm9yZWFjaCAoJHVyZ2VudF9hbGVydHMgYXMgJGFsZXJ0KSB7ICAgICAgICAgIAogICAgJGdyb3Vwc1skYWxlcnRbJ2dyb3VwJ11dW10gPSAkYWxlcnQ7ICAgIAogIH0gICAgCiAgZm9yZWFjaCgkZ3JvdXBzIGFzICRncm91cCA9PiAkZ2FsZXJ0cykgewogIAkkY291bnQgPSBjb3VudCgkZ2FsZXJ0cyk7IAogICAgaWYgKGNvdW50KCRnYWxlcnRzKSA+IDIwKSB7CiAgICAgICAgJHBhcnRzID0gYXJyYXlfY2h1bmsoJGdhbGVydHMsIDIwKTsKICAgICAgICAkZ2FsZXJ0cyA9ICRwYXJ0c1swXTsKICAgICAgICAkY291bnQgPSAiPiAyMCI7CiAgICB9CiAgICBpZiAoY291bnQoJGdhbGVydHMpID09IDEpIHsKICAgICAgICAkYWxlcnRzIC49ICc8aW1nIHNyYz0iL2FkbWluL3RoZW1lcy9OQ2xlYW5HcmV5L2ltYWdlcy9pY29ucy9Ob3RpZmljYXRpb25zLzEuZ2lmIiBhbGlnbj0iYWJzbWlkZGxlIiAvPiA8Yj4nLiRnYWxlcnRzWzBdWydtZXNzYWdlJ10uJzwvYj4gWycuaW1wbG9kZSgnIHwgJywkZ2FsZXJ0c1swXVtsaW5rc10pLiddPGJyIC8+PGJyIC8+JzsKICAgIH1lbHNlewogICAgICAkZ3JvdXBfdGl0bGUgPSAkdGhpcy0+bGFuZygnZ3JvdXB0aXRsZV8nLiRncm91cCwgQXJyYXkoJGNvdW50KSk7CiAgICAgICRhbGVydHMgLj0gJzxpbWcgc3JjPSIvYWRtaW4vdGhlbWVzL05DbGVhbkdyZXkvaW1hZ2VzL2ljb25zL05vdGlmaWNhdGlvbnMvMS5naWYiIGFsaWduPSJhYnNtaWRkbGUiIC8+IDxiPicuJGdyb3VwX3RpdGxlLic8L2I+IFs8YSBocmVmPSJqYXZhc2NyaXB0OnZvaWQobnVsbCkiIG9uQ2xpY2s9ImRvY3VtZW50LmdldEVsZW1lbnRCeUlkKFwndXJnZW50X2dyb3VwXycuJGdyb3VwLidcJykuc3R5bGUuZGlzcGxheSA9IFwnYmxvY2tcJyI+Jy4kdGhpcy0+bGFuZygndmlld19hbGwnKS4nPC9hPl08YnIgLz48YnIgLz4nOwogICAgICAkYWxlcnRzIC49ICc8ZGl2IGlkPSJ1cmdlbnRfZ3JvdXBfJy4kZ3JvdXAuJyIgc3R5bGU9InBhZGRpbmctbGVmdDogMzBweDsgZGlzcGxheTogbm9uZTsiPic7CiAgICAgIGZvcmVhY2ggKCRnYWxlcnRzIGFzICRhbGVydCkgewogICAgICAgICRhbGVydHMgLj0gJzxpbWcgc3JjPSIvYWRtaW4vdGhlbWVzL05DbGVhbkdyZXkvaW1hZ2VzL2ljb25zL05vdGlmaWNhdGlvbnMvMS5naWYiIGFsaWduPSJhYnNtaWRkbGUiIC8+IDxiPicuJGFsZXJ0WydtZXNzYWdlJ10uJzwvYj4gWycuaW1wbG9kZSgnIHwgJywkYWxlcnRbbGlua3NdKS4nXTxiciAvPjxiciAvPic7CiAgICAgIH0KICAgICAgJGFsZXJ0cyAuPSAnPC9kaXY+JzsKICAgIH0KICB9Cn0KCiRhbGVydHMgLj0gJHRoaXMtPmNyZWF0ZUZpZWxkc2V0RW5kKCk7IAoKJGFsZXJ0cyAuPSAkdGhpcy0+Y3JlYXRlRmllbGRzZXRTdGFydCgkdGhpcy0+aWQsICdhbGVydHNfaW1wb3J0YW50JywgJHRoaXMtPkxhbmcoJ3RpdGxlX2FsZXJ0c19pbXBvcnRhbnQnKSk7CgokaW1wb3J0YW50X2FsZXJ0cyA9ICR0aGlzLT5nZXRJbXBvcnRhbnRBbGVydHMoKTsKaWYgKGNvdW50KCRpbXBvcnRhbnRfYWxlcnRzKSA9PSAwKSB7CiAgJGFsZXJ0cyAuPSAnPGltZyBzcmM9Ii9hZG1pbi90aGVtZXMvTkNsZWFuR3JleS9pbWFnZXMvaWNvbnMvc3lzdGVtL3RydWUuZ2lmIiBhbGlnbj0iYWJzbWlkZGxlIiAvPiAnLiR0aGlzLT5sYW5nKCdub3RoaW5nX3RvX2JlX2ZpeGVkJykuJzxiciAvPjxiciAvPic7Cn1lbHNlewogICRncm91cHMgPSBBcnJheSgpOwogIGZvcmVhY2ggKCRpbXBvcnRhbnRfYWxlcnRzIGFzICRhbGVydCkgeyAgICAgICAgICAKICAgICRncm91cHNbJGFsZXJ0Wydncm91cCddXVtdID0gJGFsZXJ0OyAgICAKICB9ICAgIAogIGZvcmVhY2goJGdyb3VwcyBhcyAkZ3JvdXAgPT4gJGdhbGVydHMpIHsKICAgICRjb3VudCA9IGNvdW50KCRnYWxlcnRzKTsgCiAgICBpZiAoY291bnQoJGdhbGVydHMpID4gMjApIHsKICAgICAgICAkcGFydHMgPSBhcnJheV9jaHVuaygkZ2FsZXJ0cywgMjApOwogICAgICAgICRnYWxlcnRzID0gJHBhcnRzWzBdOwogICAgICAgICRjb3VudCA9ICI+IDIwIjsKICAgIH0KICAgIGlmIChjb3VudCgkZ2FsZXJ0cykgPT0gMSkgewogICAgICAgICRhbGVydHMgLj0gJzxpbWcgc3JjPSIvYWRtaW4vdGhlbWVzL05DbGVhbkdyZXkvaW1hZ2VzL2ljb25zL05vdGlmaWNhdGlvbnMvMi5naWYiIGFsaWduPSJhYnNtaWRkbGUiIC8+IDxiPicuJGdhbGVydHNbMF1bJ21lc3NhZ2UnXS4nPC9iPiBbJy5pbXBsb2RlKCcgfCAnLCRnYWxlcnRzWzBdW2xpbmtzXSkuJ108YnIgLz48YnIgLz4nOwogICAgfWVsc2V7CiAgICAgICRncm91cF90aXRsZSA9ICR0aGlzLT5sYW5nKCdncm91cHRpdGxlXycuJGdyb3VwLCBBcnJheSgkY291bnQpKTsKICAgICAgJGFsZXJ0cyAuPSAnPGltZyBzcmM9Ii9hZG1pbi90aGVtZXMvTkNsZWFuR3JleS9pbWFnZXMvaWNvbnMvTm90aWZpY2F0aW9ucy8yLmdpZiIgYWxpZ249ImFic21pZGRsZSIgLz4gPGI+Jy4kZ3JvdXBfdGl0bGUuJzwvYj4gWzxhIGhyZWY9ImphdmFzY3JpcHQ6dm9pZChudWxsKSIgb25DbGljaz0iZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoXCdpbXBvcnRhbnRfZ3JvdXBfJy4kZ3JvdXAuJ1wnKS5zdHlsZS5kaXNwbGF5ID0gXCdibG9ja1wnIj4nLiR0aGlzLT5sYW5nKCd2aWV3X2FsbCcpLic8L2E+XTxiciAvPjxiciAvPic7CiAgICAgICRhbGVydHMgLj0gJzxkaXYgaWQ9ImltcG9ydGFudF9ncm91cF8nLiRncm91cC4nIiBzdHlsZT0icGFkZGluZy1sZWZ0OiAzMHB4OyBkaXNwbGF5OiBub25lOyI+JzsKICAgICAgZm9yZWFjaCAoJGdhbGVydHMgYXMgJGFsZXJ0KSB7CiAgICAgICAgJGFsZXJ0cyAuPSAnPGltZyBzcmM9Ii9hZG1pbi90aGVtZXMvTkNsZWFuR3JleS9pbWFnZXMvaWNvbnMvTm90aWZpY2F0aW9ucy8yLmdpZiIgYWxpZ249ImFic21pZGRsZSIgLz4gPGI+Jy4kYWxlcnRbJ21lc3NhZ2UnXS4nPC9iPiBbJy5pbXBsb2RlKCcgfCAnLCRhbGVydFtsaW5rc10pLiddPGJyIC8+PGJyIC8+JzsKICAgICAgfQogICAgICAkYWxlcnRzIC49ICc8L2Rpdj4nOwogICAgfQogIH0KfQoKJGFsZXJ0cyAuPSAkdGhpcy0+Y3JlYXRlRmllbGRzZXRFbmQoKTsKCiRhbGVydHMgLj0gJHRoaXMtPmNyZWF0ZUZpZWxkc2V0U3RhcnQoJHRoaXMtPmlkLCAnYWxlcnRzX25vdGljZXMnLCAkdGhpcy0+TGFuZygndGl0bGVfYWxlcnRzX25vdGljZXMnKSk7Cgokbm90aWNlX2FsZXJ0cyA9ICR0aGlzLT5nZXROb3RpY2VBbGVydHMoKTsKaWYgKGNvdW50KCRub3RpY2VfYWxlcnRzKSA9PSAwKSB7CiAgJGFsZXJ0cyAuPSAnPGltZyBzcmM9Ii9hZG1pbi90aGVtZXMvTkNsZWFuR3JleS9pbWFnZXMvaWNvbnMvc3lzdGVtL3RydWUuZ2lmIiBhbGlnbj0iYWJzbWlkZGxlIiAvPiAnLiR0aGlzLT5sYW5nKCdub3RoaW5nX3RvX2JlX2ZpeGVkJykuJzxiciAvPjxiciAvPic7Cn1lbHNlewogIGZvcmVhY2ggKCRub3RpY2VfYWxlcnRzIGFzICRhbGVydCkgewogICAgJGFsZXJ0cyAuPSAnPGltZyBzcmM9Ii9hZG1pbi90aGVtZXMvTkNsZWFuR3JleS9pbWFnZXMvaWNvbnMvTm90aWZpY2F0aW9ucy8zLmdpZiIgYWxpZ249ImFic21pZGRsZSIgLz4gPGI+Jy4kYWxlcnRbJ21lc3NhZ2UnXS4nPC9iPiBbJy5pbXBsb2RlKCcgfCAnLCRhbGVydFtsaW5rc10pLiddPGJyIC8+PGJyIC8+JzsKICB9ICAKfQoKJGFsZXJ0cyAuPSAkdGhpcy0+Y3JlYXRlRmllbGRzZXRFbmQoKTsKCgoKLyogUGFnZSBzZXR0aW5ncyBUYWIgKi8KCiRwYWdlc2V0dGluZ3MgID0gJzx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4nOwokcGFnZXNldHRpbmdzIC49ICc8dHI+JzsKJHBhZ2VzZXR0aW5ncyAuPSAnPHRoPicuJHRoaXMtPmxhbmcoJ3BhZ2VfaWQnKS4nPC90aD4nOwokcGFnZXNldHRpbmdzIC49ICc8dGg+Jy4kdGhpcy0+bGFuZygncGFnZV9uYW1lJykuJzwvdGg+JzsKJHBhZ2VzZXR0aW5ncyAuPSAnPHRoPicuJHRoaXMtPmxhbmcoJ3ByaW9yaXR5JykuJzwvdGg+JzsKJHBhZ2VzZXR0aW5ncyAuPSAnPHRoPicuJHRoaXMtPmxhbmcoJ29nX3R5cGUnKS4nPC90aD4nOwokcGFnZXNldHRpbmdzIC49ICc8dGg+Jy4kdGhpcy0+bGFuZygna2V5d29yZHMnKS4nPC90aD4nOwokcGFnZXNldHRpbmdzIC49ICc8dGg+Jy4kdGhpcy0+bGFuZygnZGVzY3JpcHRpb24nKS4nPC90aD4nOwokcGFnZXNldHRpbmdzIC49ICc8dGg+Jy4kdGhpcy0+bGFuZygnaW5kZXgnKS4nPC90aD4nOwokcGFnZXNldHRpbmdzIC49ICc8L3RyPic7CgokZGIgPSYgJGdDbXMtPmRiOwoKJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQgT1JERVIgQlkgaGllcmFyY2h5IEFTQyc7CiRyZXN1bHQgPSYgJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgokaiA9IDA7CndoaWxlICgkcGFnZSA9ICRyZXN1bHQtPmZldGNoUm93KCkpIHsKICAgICRwcmVmaXggPSAiIjsKICAgICRhdXRvX3ByaW9yaXR5ID0gODA7CiAgICBmb3IgKCRpID0gMDsgJGkgPCBzdWJzdHJfY291bnQoJHBhZ2VbaGllcmFyY2h5XSwnLicpOyAkaSsrKSB7CiAgICAgICAgJHByZWZpeCAuPSAnJnJhcXVvOyAnOwogICAgICAgICRhdXRvX3ByaW9yaXR5ICA9ICRhdXRvX3ByaW9yaXR5IC8gMjsKICAgIH0KICAgIGlmICgkcGFnZVtkZWZhdWx0X2NvbnRlbnRdID09IDEpIHsKICAgICAgICAkYXV0b19wcmlvcml0eSA9IDEwMDsKICAgIH0KICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50X3Byb3BzIFdIRVJFIGNvbnRlbnRfaWQgPSAnLiRwYWdlW2NvbnRlbnRfaWRdLicgQU5EIHByb3BfbmFtZSA9ICInLnN0cl9yZXBsYWNlKCcgJywnXycsJHRoaXMtPmdldFByZWZlcmVuY2UoJ2Rlc2NyaXB0aW9uX2Jsb2NrJywnJykpLiciJzsgICAgICAgICAKICAgICRyZXN1bHQxID0mICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgJGRlc2MgPSAkcmVzdWx0MS0+ZmV0Y2hSb3coKTsgICAKICAgICRkZXNjcmlwdGlvbiA9ICRkZXNjW2NvbnRlbnRdOwoKICAgICRrdyA9IGFycmF5X2ZsaXAoJHRoaXMtPmdldEtleXdvcmRTdWdnZXN0aW9ucygkcGFnZVtjb250ZW50X2lkXSkpOwogICAgCiAgICAkZGVzY3JpcHRpb25fYXV0byA9IGZhbHNlOwogICAgaWYgKCgkZGVzY3JpcHRpb24gPT0gIiIpICYmICgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYXV0b19nZW5lcmF0ZScsJ2ZhbHNlJykgPT0gJ3RydWUnKSkgewogICAgCSRsYXN0X2tleXdvcmQgPSBhcnJheV9wb3AoJGt3KTsKICAgIAkka2V5d29yZHMgPSBpbXBsb2RlKCcsICcsJGt3KSAuICIgIiAuICR0aGlzLT5sYW5nKCdhbmQnKSAuICIgIiAuICRsYXN0X2tleXdvcmQ7CiAgICAJJGRlc2NyaXB0aW9uID0gJHRoaXMtPmxhbmcoJ2F1dG9fZ2VuZXJhdGVkJykuIjogIi5zdHJfcmVwbGFjZSgne2tleXdvcmRzfScsJGtleXdvcmRzLCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9hdXRvJywnJykpOwogICAgCSRkZXNjcmlwdGlvbiA9IHN0cl9yZXBsYWNlKCd7dGl0bGV9JywkcGFnZVtjb250ZW50X25hbWVdLCRkZXNjcmlwdGlvbik7CiAgICAJJGRlc2NyaXB0aW9uX2F1dG8gPSB0cnVlOwogICAgfQogICAgCiAgICAkZGVmYXVsdF9vZ3R5cGUgPSAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfdHlwZScsJycpOwoKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfc2VvdG9vbHMgV0hFUkUgY29udGVudF9pZCA9ICcuJHBhZ2VbY29udGVudF9pZF07CiAgICAkcmVzdWx0MiA9JiAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICRpbmZvID0gJHJlc3VsdDItPmZldGNoUm93KCk7ICAgICAgIAogICAgICAgIAogICAgJHByaW9yaXR5ID0gJyhhdXRvKSAnLiRhdXRvX3ByaW9yaXR5LiclICc7CiAgICAkb2d0eXBlID0gJyhkZWZhdWx0KSAnLiRkZWZhdWx0X29ndHlwZS4nICcuJHRoaXMtPmNyZWF0ZVRvb2x0aXBMaW5rKCR0aGlzLT5pZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAnPGltZyBzcmM9Ii9tb2R1bGVzL1NFT1Rvb2xzL2ltZy9lZGl0LnBuZyIgYWxpZ249ImFic21pZGRsZSIgLz4nLCAkdGhpcy0+bGFuZygnZWRpdF92YWx1ZScpLCBBcnJheSgid2hhdCI9PiJlZGl0X29ndHlwZSIsImNvbnRlbnRfaWQiPT4kcGFnZVtjb250ZW50X2lkXSkpOyAgICAKICAgICRrZXl3b3JkcyA9ICcoYXV0bykgJy5jb3VudCgka3cpLicgJy4kdGhpcy0+Y3JlYXRlVG9vbHRpcExpbmsoJHRoaXMtPmlkLCAnZGVmYXVsdGFkbWluJywgJycsICc8aW1nIHNyYz0iL21vZHVsZXMvU0VPVG9vbHMvaW1nL2VkaXQucG5nIiBhbGlnbj0iYWJzbWlkZGxlIiAvPicsIGltcGxvZGUoJywgJywka3cpLic7ICcuJHRoaXMtPmxhbmcoJ2VkaXRfdmFsdWUnKSwgQXJyYXkoIndoYXQiPT4iZWRpdF9rZXl3b3JkcyIsImNvbnRlbnRfaWQiPT4kcGFnZVtjb250ZW50X2lkXSkpOwogICAgJGluZGV4YWJsZSA9ICd0cnVlJzsKICAgIGlmICgkaW5mb1tjb250ZW50X2lkXSAhPSAiIikgewogICAgICAgIGlmICgkaW5mb1twcmlvcml0eV0gIT0gMCkgewogICAgICAgICAgJHByaW9yaXR5ID0gJzxiPicuJGluZm9bcHJpb3JpdHldIC4gJyUgJy4kdGhpcy0+Y3JlYXRlVG9vbHRpcExpbmsoJHRoaXMtPmlkLCAnZGVmYXVsdGFkbWluJywgJycsICc8aW1nIHNyYz0iL21vZHVsZXMvU0VPVG9vbHMvaW1nL3Jlc2V0LnBuZyIgYWxpZ249ImFic21pZGRsZSIgLz4nLCAkdGhpcy0+bGFuZygncmVzZXRfdG9fZGVmYXVsdCcpLCBBcnJheSgid2hhdCI9PiJyZXNldF9wcmlvcml0eSIsImNvbnRlbnRfaWQiPT4kcGFnZVtjb250ZW50X2lkXSkpIC4gJzwvYj4nOwogICAgICAgICAgJGF1dG9fcHJpb3JpdHkgPSAkaW5mb1twcmlvcml0eV07CiAgICAgICAgfQogICAgICAgIGlmICgkaW5mb1tvZ3R5cGVdICE9ICIiKSB7CiAgICAgICAgICAkb2d0eXBlID0gJzxiPicuJGluZm9bb2d0eXBlXSAuICcgJyAuICR0aGlzLT5jcmVhdGVUb29sdGlwTGluaygkdGhpcy0+aWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJzxpbWcgc3JjPSIvbW9kdWxlcy9TRU9Ub29scy9pbWcvcmVzZXQucG5nIiBhbGlnbj0iYWJzbWlkZGxlIiAvPicsICR0aGlzLT5sYW5nKCdyZXNldF90b19kZWZhdWx0JyksIEFycmF5KCJ3aGF0Ij0+InJlc2V0X29ndHlwZSIsImNvbnRlbnRfaWQiPT4kcGFnZVtjb250ZW50X2lkXSkpIC4gJHRoaXMtPmNyZWF0ZVRvb2x0aXBMaW5rKCR0aGlzLT5pZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAnPGltZyBzcmM9Ii9tb2R1bGVzL1NFT1Rvb2xzL2ltZy9lZGl0LnBuZyIgYWxpZ249ImFic21pZGRsZSIgLz4nLCAkdGhpcy0+bGFuZygnZWRpdF92YWx1ZScpLCBBcnJheSgid2hhdCI9PiJlZGl0X29ndHlwZSIsImNvbnRlbnRfaWQiPT4kcGFnZVtjb250ZW50X2lkXSkpLic8L2I+JzsKICAgICAgICB9CiAgICAgICAgaWYgKCRpbmZvW2tleXdvcmRzXSAhPSAiIikgewogICAgICAgICAgICAka2V5d29yZHMgPSAnPGI+Jy5jb3VudChleHBsb2RlKCcgJywkaW5mb1trZXl3b3Jkc10pKSAuICR0aGlzLT5jcmVhdGVUb29sdGlwTGluaygkdGhpcy0+aWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJzxpbWcgc3JjPSIvbW9kdWxlcy9TRU9Ub29scy9pbWcvcmVzZXQucG5nIiBhbGlnbj0iYWJzbWlkZGxlIiAvPicsICR0aGlzLT5sYW5nKCdyZXNldF90b19kZWZhdWx0JyksIEFycmF5KCJ3aGF0Ij0+InJlc2V0X2tleXdvcmRzIiwiY29udGVudF9pZCI9PiRwYWdlW2NvbnRlbnRfaWRdKSkgLiAkdGhpcy0+Y3JlYXRlVG9vbHRpcExpbmsoJHRoaXMtPmlkLCAnZGVmYXVsdGFkbWluJywgJycsICc8aW1nIHNyYz0iL21vZHVsZXMvU0VPVG9vbHMvaW1nL2VkaXQucG5nIiBhbGlnbj0iYWJzbWlkZGxlIiAvPicsICR0aGlzLT5sYW5nKCdlZGl0X3ZhbHVlJyksIEFycmF5KCJ3aGF0Ij0+ImVkaXRfa2V5d29yZHMiLCJjb250ZW50X2lkIj0+JHBhZ2VbY29udGVudF9pZF0pKS4nPC9iPic7CiAgICAgICAgfQogICAgICAgIGlmICgkaW5mb1tpbmRleGFibGVdID09IDApIHsgICAgICAgIAogICAgICAgICAgJGluZGV4YWJsZSA9ICdmYWxzZSc7CiAgICAgICAgfQogICAgfQogICAgCiAgICAkdXBkb3duICA9ICR0aGlzLT5jcmVhdGVUb29sdGlwTGluaygkdGhpcy0+aWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJzxpbWcgc3JjPSIvYWRtaW4vdGhlbWVzL05DbGVhbkdyZXkvaW1hZ2VzL2ljb25zL3N5c3RlbS9hcnJvdy1kLmdpZiIgYm9yZGVyPSIwIiBhbGlnbj0iYWJzbWlkZGxlIiAvPicsICR0aGlzLT5sYW5nKCdkZWNyZWFzZV9wcmlvcml0eScpLCBBcnJheSgnd2hhdCc9PidzZXRfcHJpb3JpdHknLCdwcmlvcml0eSc9PiRhdXRvX3ByaW9yaXR5LTEwLCdjb250ZW50X2lkJz0+JHBhZ2VbY29udGVudF9pZF0pKTsKICAgICR1cGRvd24gLj0gJHRoaXMtPmNyZWF0ZVRvb2x0aXBMaW5rKCR0aGlzLT5pZCwgJ2RlZmF1bHRhZG1pbicsICcnLCAnPGltZyBzcmM9Ii9hZG1pbi90aGVtZXMvTkNsZWFuR3JleS9pbWFnZXMvaWNvbnMvc3lzdGVtL2Fycm93LXUuZ2lmIiBib3JkZXI9IjAiIGFsaWduPSJhYnNtaWRkbGUiIC8+JywgJHRoaXMtPmxhbmcoJ2luY3JlYXNlX3ByaW9yaXR5JyksIEFycmF5KCd3aGF0Jz0+J3NldF9wcmlvcml0eScsJ3ByaW9yaXR5Jz0+JGF1dG9fcHJpb3JpdHkrMTAsJ2NvbnRlbnRfaWQnPT4kcGFnZVtjb250ZW50X2lkXSkpOyAKICAgIAogICAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRyIGNsYXNzPSJyb3cnLigkaiAlIDIgKyAxKS4nIj4nOwogICAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRkPicuJHBhZ2VbY29udGVudF9pZF0uJzwvdGQ+JzsKICAgICRwYWdlc2V0dGluZ3MgLj0gJzx0ZD4nLiRwcmVmaXggLicgJy4kcGFnZVtjb250ZW50X25hbWVdLic8L3RkPic7CiAgICAkcGFnZXNldHRpbmdzIC49ICc8dGQ+Jy4kdXBkb3duLicgJy4kcHJpb3JpdHkuJzwvdGQ+JzsKICAgICRwYWdlc2V0dGluZ3MgLj0gJzx0ZD4nLiRvZ3R5cGUuJzwvdGQ+JzsKICAgICRwYWdlc2V0dGluZ3MgLj0gJzx0ZD4nLiRrZXl3b3Jkcy4nPC90ZD4nOwogICAgaWYgKCRkZXNjcmlwdGlvbiAhPSAiIikgewogICAgICBpZiAoJGRlc2NyaXB0aW9uX2F1dG8pIHsKICAgICAgCSRwYWdlc2V0dGluZ3MgLj0gJzx0ZD48aW1nIHNyYz0iL2FkbWluL3RoZW1lcy9OQ2xlYW5HcmV5L2ltYWdlcy9pY29ucy9zeXN0ZW0vd2FybmluZy5naWYiIHRpdGxlPSInLnN0cmlwX3RhZ3MoJGRlc2NyaXB0aW9uKS4nIiAvPjwvdGQ+JzsKICAgICAgfWVsc2V7CiAgICAgICAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRkPjxpbWcgc3JjPSIvYWRtaW4vdGhlbWVzL05DbGVhbkdyZXkvaW1hZ2VzL2ljb25zL3N5c3RlbS90cnVlLmdpZiIgdGl0bGU9Iicuc3RyaXBfdGFncygkZGVzY3JpcHRpb24pLiciIC8+PC90ZD4nOwogICAgICB9CiAgICB9ZWxzZXsKICAgICAgJHBhZ2VzZXR0aW5ncyAuPSAnPHRkPjxhIGhyZWY9ImVkaXRjb250ZW50LnBocD9zcF89Jy4kX0dFVFtzcF9dLicmY29udGVudF9pZD0nLiRwYWdlW2NvbnRlbnRfaWRdLiciPjxpbWcgc3JjPSIvYWRtaW4vdGhlbWVzL05DbGVhbkdyZXkvaW1hZ2VzL2ljb25zL3N5c3RlbS9mYWxzZS5naWYiIGJvcmRlcj0iMCIgdGl0bGU9IicuJHRoaXMtPmxhbmcoJ2NsaWNrX3RvX2FkZF9kZXNjcmlwdGlvbicpLiciIC8+PC9hPjwvdGQ+JzsKICAgIH0KICAgICRwYWdlc2V0dGluZ3MgLj0gJzx0ZD4nLiR0aGlzLT5jcmVhdGVUb29sdGlwTGluaygkdGhpcy0+aWQsICdkZWZhdWx0YWRtaW4nLCAnJywgJzxpbWcgc3JjPSIvYWRtaW4vdGhlbWVzL05DbGVhbkdyZXkvaW1hZ2VzL2ljb25zL3N5c3RlbS8nLiRpbmRleGFibGUuJy5naWYiIC8+JywgJHRoaXMtPmxhbmcoJ3RvZ2dsZScpLCBBcnJheSgnd2hhdCc9Pid0b2dnbGVfaW5kZXgnLCdjb250ZW50X2lkJz0+JHBhZ2VbY29udGVudF9pZF0pKS4nPC90ZD4nOwogICAgJHBhZ2VzZXR0aW5ncyAuPSAnPC90cj4nOwogICAgJGorKzsKICAgIAp9CgokcGFnZXNldHRpbmdzIC49ICc8L3RhYmxlPic7CgovKiBTRU8gU2V0dGluZ3MgVGFiICovCgovLyBHZXQgaW1hZ2UgZmlsZXMgZnJvbSAvdXBsb2Fkcy9pbWFnZXMKJGZpbGVzX2xpc3QgPSBBcnJheSgkdGhpcy0+bGFuZygnbm9uZScpPT4iIik7CiRkcCA9IG9wZW5kaXIoJGdDbXMtPmNvbmZpZ1tyb290X3BhdGhdLicvdXBsb2Fkcy9pbWFnZXMnKTsKd2hpbGUgKCRmaWxlID0gcmVhZGRpcigkZHApKSB7ICAKICAgIGlmIChzdHJwb3Moc3Vic3RyKCRmaWxlLCAtNSksJy5naWYnKSAhPT0gZmFsc2UpIHsKICAgICAgICAkZmlsZXNfbGlzdFskZmlsZV0gPSAkZmlsZTsKICAgIH0KICAgIGlmIChzdHJwb3Moc3Vic3RyKCRmaWxlLCAtNSksJy5wbmcnKSAhPT0gZmFsc2UpIHsKICAgICAgICAkZmlsZXNfbGlzdFskZmlsZV0gPSAkZmlsZTsKICAgIH0KICAgIGlmIChzdHJwb3Moc3Vic3RyKCRmaWxlLCAtNSksJy5qcGcnKSAhPT0gZmFsc2UpIHsKICAgICAgICAkZmlsZXNfbGlzdFskZmlsZV0gPSAkZmlsZTsKICAgIH0KICAgIGlmIChzdHJwb3Moc3Vic3RyKCRmaWxlLCAtNSksJy5qcGVnJykgIT09IGZhbHNlKSB7CiAgICAgICAgJGZpbGVzX2xpc3RbJGZpbGVdID0gJGZpbGU7CiAgICB9Cn0KY2xvc2VkaXIoJGRwKTsKCiRzZXR0aW5ncyAgPSAkdGhpcy0+Y3JlYXRlRm9ybVN0YXJ0KCR0aGlzLT5pZCwgJ2NoYW5nZXNldHRpbmdzJyk7CgovKiBQYWdlIFRpdGxlICovCiRzZXR0aW5ncyAuPSAkdGhpcy0+Y3JlYXRlRmllbGRzZXRTdGFydCgkdGhpcy0+aWQsICd0aXRsZV9kZXNjcmlwdGlvbicsICR0aGlzLT5MYW5nKCd0aXRsZV90aXRsZV9kZXNjcmlwdGlvbicpKTsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ3RpdGxlX3RpdGxlJykuJzo8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAndGl0bGUnLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgndGl0bGUnLCd7dGl0bGV9IHwge3NpdGVuYW1lfSAtIHtzZW9fa2V5d29yZHN9JyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ3RpdGxlX3RpdGxlX2hlbHAnKS4nPC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCd0aXRsZV9tZXRhX3RpdGxlJykuJzo8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAndGl0bGVfbWV0YScsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCd0aXRsZV9tZXRhJywne3RpdGxlfSB8IHtzaXRlbmFtZX0nKSwgMzIpLicgJy4kdGhpcy0+bGFuZygndGl0bGVfbWV0YV9oZWxwJykuJzwvcD4nOwokc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnZGVzY3JpcHRpb25fYmxvY2tfdGl0bGUnKS4nOjwvcD4nOwokc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPmNyZWF0ZUlucHV0VGV4dCgkdGhpcy0+aWQsICdkZXNjcmlwdGlvbl9ibG9jaycsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9ibG9jaycsJycpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCdkZXNjcmlwdGlvbl9ibG9ja19oZWxwJykuJzwvcD4nOwokc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+JyAuICR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbl9hdXRvX2dlbmVyYXRlJykgLiAnOiAnIC4gJHRoaXMtPmNyZWF0ZUlucHV0Q2hlY2tib3goJHRoaXMtPmlkLCAnZGVzY3JpcHRpb25fYXV0b19nZW5lcmF0ZScsICd0cnVlJywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ2Rlc2NyaXB0aW9uX2F1dG9fZ2VuZXJhdGUnLCdmYWxzZScpKSAuICc8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ2Rlc2NyaXB0aW9uX2F1dG9fdGl0bGUnKS4nOjwvcD4nOwokc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPmNyZWF0ZUlucHV0VGV4dCgkdGhpcy0+aWQsICdkZXNjcmlwdGlvbl9hdXRvJywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ2Rlc2NyaXB0aW9uX2F1dG8nLCdUaGlzIHBhZ2UgY292ZXJzIHRoZSB0b3BpY3Mge2tleXdvcmRzfScpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCdkZXNjcmlwdGlvbl9hdXRvX2hlbHAnKS4nPC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdkZWZhdWx0X2tleXdvcmRzX3RpdGxlJykuJzo8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAnZGVmYXVsdF9rZXl3b3JkcycsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2tleXdvcmRzJywnJyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ2RlZmF1bHRfa2V5d29yZHNfaGVscCcpLic8L3A+JzsKJHNldHRpbmdzIC49ICR0aGlzLT5jcmVhdGVGaWVsZHNldEVuZCgpOwoKLyogTUVUQSBUeXBlcyAqLwokc2V0dGluZ3MgLj0gJHRoaXMtPmNyZWF0ZUZpZWxkc2V0U3RhcnQoJHRoaXMtPmlkLCAnbWV0YV90eXBlJywgJHRoaXMtPkxhbmcoJ3RpdGxlX21ldGFfdHlwZScpKTsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicgLiAkdGhpcy0+TGFuZygnbWV0YV9jcmVhdGVfc3RhbmRhcmQnKSAuICc6ICcgLiAkdGhpcy0+Y3JlYXRlSW5wdXRDaGVja2JveCgkdGhpcy0+aWQsICdtZXRhX3N0YW5kYXJkJywgJ3RydWUnLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9zdGFuZGFyZCcsJ3RydWUnKSkgLiAnPC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nIC4gJHRoaXMtPkxhbmcoJ21ldGFfY3JlYXRlX2R1YmxpbmNvcmUnKSAuICc6ICcgLiAkdGhpcy0+Y3JlYXRlSW5wdXRDaGVja2JveCgkdGhpcy0+aWQsICdtZXRhX2R1YmxpbmNvcmUnLCAndHJ1ZScsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX2R1YmxpbmNvcmUnLCdmYWxzZScpKSAuICc8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicgLiAkdGhpcy0+TGFuZygnbWV0YV9jcmVhdGVfb3BlbmdyYXBoJykgLiAnOiAnIC4gJHRoaXMtPmNyZWF0ZUlucHV0Q2hlY2tib3goJHRoaXMtPmlkLCAnbWV0YV9vcGVuZ3JhcGgnLCAndHJ1ZScsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaCcsJ2ZhbHNlJykpIC4gJzwvcD4nOwokc2V0dGluZ3MgLj0gJHRoaXMtPmNyZWF0ZUZpZWxkc2V0RW5kKCk7CgovKiBNRVRBIERlZmF1bHRzICovCiRzZXR0aW5ncyAuPSAkdGhpcy0+Y3JlYXRlRmllbGRzZXRTdGFydCgkdGhpcy0+aWQsICdtZXRhX2RlZmF1bHRzJywgJHRoaXMtPkxhbmcoJ3RpdGxlX21ldGFfZGVmYXVsdHMnKSk7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdtZXRhX3B1Ymxpc2hlcicpLic6PC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Y3JlYXRlSW5wdXRUZXh0KCR0aGlzLT5pZCwgJ21ldGFfcHVibGlzaGVyJywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfcHVibGlzaGVyJywnJyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ21ldGFfcHVibGlzaGVyX2hlbHAnKS4nPC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdtZXRhX2NvbnRyaWJ1dG9yJykuJzo8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAnbWV0YV9jb250cmlidXRvcicsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX2NvbnRyaWJ1dG9yJywnJyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ21ldGFfY29udHJpYnV0b3JfaGVscCcpLic8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ21ldGFfY29weXJpZ2h0JykuJzo8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAnbWV0YV9jb3B5cmlnaHQnLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9jb3B5cmlnaHQnLCcoQykgJy5kYXRlKCdZJykuJy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4nKSwgMzIpLicgJy4kdGhpcy0+bGFuZygnbWV0YV9jb3B5cmlnaHRfaGVscCcpLic8L3A+PGJyIC8+JzsKCiRzZXR0aW5ncyAuPSAnPGI+Jy4kdGhpcy0+bGFuZygnbWV0YV9sb2NhdGlvbl9kZXNjcmlwdGlvbicpLic8L2I+PGJyIC8+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ21ldGFfbG9jYXRpb24nKS4nOjwvcD4nOwokc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPmNyZWF0ZUlucHV0VGV4dCgkdGhpcy0+aWQsICdtZXRhX2xvY2F0aW9uJywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfbG9jYXRpb24nLCcnKSwgMzIpLicgJy4kdGhpcy0+bGFuZygnbWV0YV9sb2NhdGlvbl9oZWxwJykuJzwvcD4nOwokc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnbWV0YV9yZWdpb24nKS4nOjwvcD4nOwokc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPmNyZWF0ZUlucHV0VGV4dCgkdGhpcy0+aWQsICdtZXRhX3JlZ2lvbicsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX3JlZ2lvbicsJycpLCA1LCA1KS4nICcuJHRoaXMtPmxhbmcoJ21ldGFfcmVnaW9uX2hlbHAnKS4nPC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdtZXRhX2xhdGl0dWRlJykuJzo8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAnbWV0YV9sYXRpdHVkZScsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX2xhdGl0dWRlJywnJyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ21ldGFfbGF0aXR1ZGVfaGVscCcpLic8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ21ldGFfbG9uZ2l0dWRlJykuJzo8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAnbWV0YV9sb25naXR1ZGUnLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9sb25naXR1ZGUnLCcnKSwgMzIpLicgJy4kdGhpcy0+bGFuZygnbWV0YV9sb25naXR1ZGVfaGVscCcpLic8L3A+PGJyIC8+JzsKCiRzZXR0aW5ncyAuPSAnPGI+Jy4kdGhpcy0+bGFuZygnbWV0YV9vcGVuZ3JhcGhfZGVzY3JpcHRpb24nKS4nPC9iPjxiciAvPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdtZXRhX29wZW5ncmFwaF90aXRsZScpLic6PC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Y3JlYXRlSW5wdXRUZXh0KCR0aGlzLT5pZCwgJ21ldGFfb3BlbmdyYXBoX3RpdGxlJywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3RpdGxlJywne3RpdGxlfScpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCdtZXRhX29wZW5ncmFwaF90aXRsZV9oZWxwJykuJzwvcD4nOwokc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnbWV0YV9vcGVuZ3JhcGhfdHlwZScpLic6PC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Y3JlYXRlSW5wdXRUZXh0KCR0aGlzLT5pZCwgJ21ldGFfb3BlbmdyYXBoX3R5cGUnLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfdHlwZScsJycpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCdtZXRhX29wZW5ncmFwaF90eXBlX2hlbHAnKS4nPC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdtZXRhX29wZW5ncmFwaF9zaXRlbmFtZScpLic6PC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Y3JlYXRlSW5wdXRUZXh0KCR0aGlzLT5pZCwgJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lJywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lJywnJyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lX2hlbHAnKS4nPC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdtZXRhX29wZW5ncmFwaF9pbWFnZScpLic6PC9wPic7CiRzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Y3JlYXRlSW5wdXREcm9wZG93bigkdGhpcy0+aWQsICdtZXRhX29wZW5ncmFwaF9pbWFnZScsICRmaWxlc19saXN0LCBudWxsLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfaW1hZ2UnLCcnKSkuJyAnLiR0aGlzLT5sYW5nKCdtZXRhX29wZW5ncmFwaF9pbWFnZV9oZWxwJykuJzwvcD4nOwokc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnbWV0YV9vcGVuZ3JhcGhfYWRtaW5zJykuJzo8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAnbWV0YV9vcGVuZ3JhcGhfYWRtaW5zJywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX2FkbWlucycsJycpLCAzMikuJyAnLiR0aGlzLT5sYW5nKCdtZXRhX29wZW5ncmFwaF9hZG1pbnNfaGVscCcpLic8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ21ldGFfb3BlbmdyYXBoX2FwcGxpY2F0aW9uJykuJzo8L3A+JzsKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb24nLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb24nLCcnKSwgMzIpLicgJy4kdGhpcy0+bGFuZygnbWV0YV9vcGVuZ3JhcGhfYXBwbGljYXRpb25faGVscCcpLic8L3A+JzsKJHNldHRpbmdzIC49ICR0aGlzLT5jcmVhdGVGaWVsZHNldEVuZCgpOwoKJHNldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFN1Ym1pdCgkdGhpcy0+aWQsICdzYXZlX21ldGFfc2V0dGluZ3MnLCAkdGhpcy0+bGFuZygnc2F2ZScpKS4nPC9wPic7CiRzZXR0aW5ncyAuPSAkdGhpcy0+Y3JlYXRlRm9ybUVuZCgpOyAKCiRzZXR0aW5ncyAuPSAnPGJyIC8+PGJyIC8+Jy4kdGhpcy0+bGFuZygnaGVscF9kZXNjcmlwdGlvbl9jb250ZW50Jyk7CgovKiBTSVRFTUFQIFNldHRpbmdzICovCgokc3NldHRpbmdzICA9ICR0aGlzLT5jcmVhdGVGb3JtU3RhcnQoJHRoaXMtPmlkLCAnY2hhbmdlc2V0dGluZ3MnKTsKCiRzc2V0dGluZ3MgLj0gJHRoaXMtPmNyZWF0ZUZpZWxkc2V0U3RhcnQoJHRoaXMtPmlkLCAnc2l0ZW1hcF9kZXNjcmlwdGlvbicsICR0aGlzLT5MYW5nKCd0aXRsZV9zaXRlbWFwX2Rlc2NyaXB0aW9uJykpOwokc3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicgLiAkdGhpcy0+TGFuZygnY3JlYXRlX3NpdGVtYXBfdGl0bGUnKSAuICc6ICcgLiAkdGhpcy0+Y3JlYXRlSW5wdXRDaGVja2JveCgkdGhpcy0+aWQsICdjcmVhdGVfc2l0ZW1hcCcsICd0cnVlJywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ2NyZWF0ZV9zaXRlbWFwJywnZmFsc2UnKSkgLiAnPC9wPic7CiRzc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+JyAuICR0aGlzLT5MYW5nKCdwdXNoX3NpdGVtYXBfdGl0bGUnKSAuICc6ICcgLiAkdGhpcy0+Y3JlYXRlSW5wdXRDaGVja2JveCgkdGhpcy0+aWQsICdwdXNoX3NpdGVtYXAnLCAndHJ1ZScsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdwdXNoX3NpdGVtYXAnLCdmYWxzZScpKSAuICc8L3A+JzsKJHNzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nIC4gJHRoaXMtPkxhbmcoJ2NyZWF0ZV9yb2JvdHNfdGl0bGUnKSAuICc6ICcgLiAkdGhpcy0+Y3JlYXRlSW5wdXRDaGVja2JveCgkdGhpcy0+aWQsICdjcmVhdGVfcm9ib3RzJywgJ3RydWUnLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnY3JlYXRlX3JvYm90cycsJ2ZhbHNlJykpIC4gJzwvcD4nOwokc3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ3ZlcmlmaWNhdGlvbl90aXRsZScpLic6PC9wPic7CiRzc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPmNyZWF0ZUlucHV0VGV4dCgkdGhpcy0+aWQsICd2ZXJpZmljYXRpb24nLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgndmVyaWZpY2F0aW9uJywnJyksIDMyKS4nICcuJHRoaXMtPmxhbmcoJ3ZlcmlmaWNhdGlvbl9oZWxwJykuJzwvcD4nOwokc3NldHRpbmdzIC49ICR0aGlzLT5jcmVhdGVGaWVsZHNldEVuZCgpOwoKJHNzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Y3JlYXRlSW5wdXRTdWJtaXQoJHRoaXMtPmlkLCAnc2F2ZV9zaXRlbWFwX3NldHRpbmdzJywgJHRoaXMtPmxhbmcoJ3NhdmUnKSkuJzwvcD4nOwoKJHNzZXR0aW5ncyAuPSAkdGhpcy0+Y3JlYXRlRm9ybUVuZCgpOyAKCiRzc2V0dGluZ3MgLj0gJzxiciAvPjxiciAvPicuJHRoaXMtPmxhbmcoJ2hlbHBfc2l0ZW1hcF9yb2JvdHMnKTsKCi8qIEtFWVdPUkQgU2V0dGluZ3MgKi8KCiRrc2V0dGluZ3MgID0gJHRoaXMtPmNyZWF0ZUZvcm1TdGFydCgkdGhpcy0+aWQsICdjaGFuZ2VzZXR0aW5ncycpOwoKJGtzZXR0aW5ncyAuPSAkdGhpcy0+Y3JlYXRlRmllbGRzZXRTdGFydCgkdGhpcy0+aWQsICdrZXl3b3JkX3dlaWdodF9kZXNjcmlwdGlvbicsICR0aGlzLT5MYW5nKCd0aXRsZV9rZXl3b3JkX3dlaWdodCcpKTsKJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdrZXl3b3JkX21pbmxlbmd0aF90aXRsZScpLic6PC9wPic7CiRrc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPmNyZWF0ZUlucHV0VGV4dCgkdGhpcy0+aWQsICdrZXl3b3JkX21pbmxlbmd0aCcsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdrZXl3b3JkX21pbmxlbmd0aCcsJzYnKSwgMikuJyAnLiR0aGlzLT5sYW5nKCdrZXl3b3JkX21pbmxlbmd0aF9oZWxwJykuJzwvcD4nOwoka3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ2tleXdvcmRfdGl0bGVfd2VpZ2h0X3RpdGxlJykuJzo8L3A+JzsKJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Y3JlYXRlSW5wdXRUZXh0KCR0aGlzLT5pZCwgJ2tleXdvcmRfdGl0bGVfd2VpZ2h0JywgJHRoaXMtPmdldFByZWZlcmVuY2UoJ2tleXdvcmRfdGl0bGVfd2VpZ2h0JywnNicpLCAyKS4nICcuJHRoaXMtPmxhbmcoJ2tleXdvcmRfdGl0bGVfd2VpZ2h0X2hlbHAnKS4nPC9wPic7CiRrc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHRfdGl0bGUnKS4nOjwvcD4nOwoka3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHQnLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHQnLCc0JyksIDIpLicgJy4kdGhpcy0+bGFuZygna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHRfaGVscCcpLic8L3A+JzsKJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdrZXl3b3JkX2hlYWRsaW5lX3dlaWdodF90aXRsZScpLic6PC9wPic7CiRrc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPmNyZWF0ZUlucHV0VGV4dCgkdGhpcy0+aWQsICdrZXl3b3JkX2hlYWRsaW5lX3dlaWdodCcsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdrZXl3b3JkX2hlYWRsaW5lX3dlaWdodCcsJzInKSwgMikuJyAnLiR0aGlzLT5sYW5nKCdrZXl3b3JkX2hlYWRsaW5lX3dlaWdodF9oZWxwJykuJzwvcD4nOwoka3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ2tleXdvcmRfY29udGVudF93ZWlnaHRfdGl0bGUnKS4nOjwvcD4nOwoka3NldHRpbmdzIC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAna2V5d29yZF9jb250ZW50X3dlaWdodCcsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdrZXl3b3JkX2NvbnRlbnRfd2VpZ2h0JywnMScpLCAyKS4nICcuJHRoaXMtPmxhbmcoJ2tleXdvcmRfY29udGVudF93ZWlnaHRfaGVscCcpLic8L3A+JzsKJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5sYW5nKCdrZXl3b3JkX21pbmltdW1fd2VpZ2h0X3RpdGxlJykuJzo8L3A+JzsKJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Y3JlYXRlSW5wdXRUZXh0KCR0aGlzLT5pZCwgJ2tleXdvcmRfbWluaW11bV93ZWlnaHQnLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgna2V5d29yZF9taW5pbXVtX3dlaWdodCcsJzcnKSwgMikuJyAnLiR0aGlzLT5sYW5nKCdrZXl3b3JkX21pbmltdW1fd2VpZ2h0X2hlbHAnKS4nPC9wPic7CiRrc2V0dGluZ3MgLj0gJHRoaXMtPmNyZWF0ZUZpZWxkc2V0RW5kKCk7Cgoka3NldHRpbmdzIC49ICR0aGlzLT5jcmVhdGVGaWVsZHNldFN0YXJ0KCR0aGlzLT5pZCwgJ2tleXdvcmRfZXhjbHVkZV9kZXNjcmlwdGlvbicsICR0aGlzLT5MYW5nKCd0aXRsZV9rZXl3b3JkX2V4Y2x1ZGUnKSk7CiRrc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygna2V5d29yZF9leGNsdWRlX3RpdGxlJykuJzo8L3A+JzsKJGtzZXR0aW5ncyAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Y3JlYXRlVGV4dEFyZWEoZmFsc2UsICR0aGlzLT5pZCwgJHRoaXMtPmdldFByZWZlcmVuY2UoJ2tleXdvcmRfZXhjbHVkZScsJycpLCAna2V5d29yZF9leGNsdWRlJykuJyAnLiR0aGlzLT5sYW5nKCdrZXl3b3JkX2V4Y2x1ZGVfaGVscCcpLic8L3A+JzsKJGtzZXR0aW5ncyAuPSAkdGhpcy0+Y3JlYXRlRmllbGRzZXRFbmQoKTsKCiRrc2V0dGluZ3MgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPmNyZWF0ZUlucHV0U3VibWl0KCR0aGlzLT5pZCwgJ3NhdmVfa2V5d29yZF9zZXR0aW5ncycsICR0aGlzLT5sYW5nKCdzYXZlJykpLic8L3A+JzsKJGtzZXR0aW5ncyAuPSAkdGhpcy0+Y3JlYXRlRm9ybUVuZCgpOwoKJGtzZXR0aW5ncyAuPSAnPGJyIC8+PGJyIC8+Jy4kdGhpcy0+bGFuZygnaGVscF9rZXl3b3JkX2dlbmVyYXRvcicpOwoKCiR0aGlzLT5zbWFydHktPmFzc2lnbignYWxlcnRzJywkYWxlcnRzKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwYWdlc2V0dGluZ3MnLCRwYWdlc2V0dGluZ3MpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21ldGFfZm9ybScsJHNldHRpbmdzKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzaXRlbWFwX2Zvcm0nLCRzc2V0dGluZ3MpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2tleXdvcmRfZm9ybScsJGtzZXR0aW5ncyk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWlucGFuZWwudHBsJyk7CgoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.edit_keywords.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoKLyogLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KCiAgIENvZGUgZm9yIFNFT1Rvb2xzICJlZGl0bWV0YSIgYWRtaW4gYWN0aW9uCiAgIAogICAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQogICAKICAgVHlwaWNhbGx5LCB0aGlzIHdpbGwgZGlzcGxheSBzb21ldGhpbmcgZnJvbSBhIHRlbXBsYXRlCiAgIG9yIGRvIHNvbWUgb3RoZXIgdGFzay4KICAgCiovCgokZGIgPSYgJGdDbXMtPmRiOwoKaWYgKGlzc2V0KCRfUE9TVFsnc2V0X2tleXdvcmRzJ10pKSB7CglpZiAoJF9QT1NUWydrZXl3b3JkcyddICE9ICIiKSB7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VvdG9vbHMgU0VUIGNvbnRlbnRfaWQgPSAiLiRfUE9TVFtjb250ZW50X2lkXS4iLCBrZXl3b3JkcyA9ICciLiRfUE9TVFtrZXl3b3Jkc10uIicsIGluZGV4YWJsZSA9IDEgT04gRFVQTElDQVRFIEtFWSBVUERBVEUga2V5d29yZHMgPSAnIi4kX1BPU1Rba2V5d29yZHNdLiInIjsKCX1lbHNlewoJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZW90b29scyBTRVQga2V5d29yZHMgPSBOVUxMIFdIRVJFIGNvbnRlbnRfaWQgPSAiLiRfUE9TVFtjb250ZW50X2lkXTsKCX0JCQoJJGRiLT5FeGVjdXRlKCRxdWVyeSk7CQoJJHRoaXMtPnJlZGlyZWN0KCR0aGlzLT5pZCwgJ2RlZmF1bHRhZG1pbicsIG51bGwsIEFycmF5KCd0YWInPT4ncGFnZWRlc2NyaXB0aW9ucycpKTsKfQoKJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9zZW90b29scyBXSEVSRSBjb250ZW50X2lkID0gJy4kX0dFVFtjb250ZW50X2lkXTsKJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwokaW5mbyA9ICRyZXN1bHQtPmZldGNoUm93KCk7CgppZiAoJGluZm9ba2V5d29yZHNdID09ICIiKSB7CgkkaW5mb1trZXl3b3Jkc10gPSBzdHJ0b2xvd2VyKGltcGxvZGUoJyAnLGFycmF5X2ZsaXAoJHRoaXMtPmdldEtleXdvcmRTdWdnZXN0aW9ucygkX0dFVFtjb250ZW50X2lkXSkpKSk7Cn0KCiRvdXRwdXQgID0gJHRoaXMtPmNyZWF0ZUZvcm1TdGFydCgkdGhpcy0+aWQsICdlZGl0X2tleXdvcmRzJyk7CiRvdXRwdXQgLj0gJHRoaXMtPmNyZWF0ZUlucHV0SGlkZGVuKCR0aGlzLT5pZCwgJ2NvbnRlbnRfaWQnLCAkX0dFVFtjb250ZW50X2lkXSk7CiRvdXRwdXQgLj0gJzxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+bGFuZygnZW50ZXJfbmV3X2tleXdvcmRzJykuJzo8L3A+JzsKJG91dHB1dCAuPSAnPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Y3JlYXRlSW5wdXRUZXh0KCR0aGlzLT5pZCwgJ2tleXdvcmRzJywgJGluZm9ba2V5d29yZHNdLCA1MCwgMjU1KS4nICcuJHRoaXMtPmxhbmcoJ2hlbHBfbmV3X2tleXdvcmRzJykuJzwvcD4nOwokb3V0cHV0IC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFN1Ym1pdCgkdGhpcy0+aWQsICdzZXRfa2V5d29yZHMnLCR0aGlzLT5sYW5nKCdzYXZlJykpLic8L3A+JzsKCiRvdXRwdXQgLj0gJHRoaXMtPmNyZWF0ZUZvcm1FbmQoKTsKCmVjaG8gJG91dHB1dDsKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.edit_ogtype.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoKLyogLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KCiAgIENvZGUgZm9yIFNFT1Rvb2xzICJlZGl0bWV0YSIgYWRtaW4gYWN0aW9uCiAgIAogICAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LQogICAKICAgVHlwaWNhbGx5LCB0aGlzIHdpbGwgZGlzcGxheSBzb21ldGhpbmcgZnJvbSBhIHRlbXBsYXRlCiAgIG9yIGRvIHNvbWUgb3RoZXIgdGFzay4KICAgCiovCgokZGIgPSYgJGdDbXMtPmRiOwoKaWYgKGlzc2V0KCRfUE9TVFsnc2V0X29ndHlwZSddKSkgewoJaWYgKCRfUE9TVFtvZ190eXBlXSAhPSAiIikgewoJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Nlb3Rvb2xzIFNFVCBjb250ZW50X2lkID0gIi4kX1BPU1RbY29udGVudF9pZF0uIiwgb2d0eXBlID0gJyIuJF9QT1NUW29nX3R5cGVdLiInLCBpbmRleGFibGUgPSAxIE9OIERVUExJQ0FURSBLRVkgVVBEQVRFIG9ndHlwZSA9ICciLiRfUE9TVFtvZ190eXBlXS4iJyI7Cgl9ZWxzZXsKCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VvdG9vbHMgU0VUIG9ndHlwZSA9IE5VTEwgV0hFUkUgY29udGVudF9pZCA9ICIuJF9QT1NUW2NvbnRlbnRfaWRdOwoJfQoJCgllY2hvICRxdWVyeTsKCQoJJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkkdGhpcy0+cmVkaXJlY3QoJHRoaXMtPmlkLCAnZGVmYXVsdGFkbWluJywgbnVsbCwgQXJyYXkoJ3RhYic9PidwYWdlZGVzY3JpcHRpb25zJykpOwp9CgokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzIFdIRVJFIGNvbnRlbnRfaWQgPSAnLiRfR0VUW2NvbnRlbnRfaWRdOwokcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiRpbmZvID0gJHJlc3VsdC0+ZmV0Y2hSb3coKTsKCiRvdXRwdXQgID0gJHRoaXMtPmNyZWF0ZUZvcm1TdGFydCgkdGhpcy0+aWQsICdlZGl0X29ndHlwZScpOwokb3V0cHV0IC49ICR0aGlzLT5jcmVhdGVJbnB1dEhpZGRlbigkdGhpcy0+aWQsICdjb250ZW50X2lkJywgJF9HRVRbY29udGVudF9pZF0pOwokb3V0cHV0IC49ICc8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPmxhbmcoJ2VudGVyX25ld19vZ3R5cGUnKS4nOjwvcD4nOwokb3V0cHV0IC49ICc8cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5jcmVhdGVJbnB1dFRleHQoJHRoaXMtPmlkLCAnb2dfdHlwZScsICRpbmZvW29ndHlwZV0sIDMwLCAzMCkuJyAnLiR0aGlzLT5sYW5nKCdoZWxwX25ld19vZ3R5cGUnKS4nPC9wPic7CiRvdXRwdXQgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPjxiciAvPicuJHRoaXMtPmxhbmcoJ2hlbHBfb3BlbmdyYXBoJykuJzxiciAvPjxiciAvPic7CiRvdXRwdXQgLj0gJzxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPmNyZWF0ZUlucHV0U3VibWl0KCR0aGlzLT5pZCwgJ3NldF9vZ3R5cGUnLCR0aGlzLT5sYW5nKCdzYXZlJykpLic8L3A+JzsKCiRvdXRwdXQgLj0gJHRoaXMtPmNyZWF0ZUZvcm1FbmQoKTsKCmVjaG8gJG91dHB1dDsKCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/img/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/img/edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAB3RJTUUH2ggQDQAHiaSPRwAAAAlwSFlzAAAewQAAHsEBw2lUUwAAAARnQU1BAACxjwv8YQUAAAImSURBVHjajZPPaxNBFMe/O9tuaJMY7NbUqrVNVeoPVESqB+2pBxFBD3r3Ip78Lzx48aA0WpGi4EnBg0UptIeK0Jh6UKIhmKRG0f5MqjFNm7o7uzvrzJoNqUm0A495zLzPd95j3pNs24YkSbsAdHCT8e+V4/aNM6xyIgT4Oq5pWsEwDMs0Tbue8Xs7HA7f5rE93IjgnMfLGZzgcFTXdcL9ijgHwRgDpRSqqmIp9QxrsaeQfYdR+v4KkjZ/WUQL6+fBb7gICCEO5ApYluUItNAI1tLTaGkfQCB0DIUvUSQnRrJN1QUK2N2FiCzLTprs5yQMK4W2faeQz3yEIlH4t2yHT90dqBFwSxC+eJ2tTEMxEgj0noG++BhKq4SvsSS0dX2lVFo9uUGgun7h0x8RsMJLBPaehzZ/D0Qx0ezrhteeQ3j0w7U7Y5k0afRf2eRzlBYmyvAwSLMBWuzB8tR7qIPXIWAn07pwagzFhSiCh86BLo1AVmzoxW4Ov8O2C0PwdOyvxDb9Dc9En4CtJmBKO7AYH8LWoAIt34XC2yQ6L96F7O/cEF+TQfz1Axw8fRWe2SmkRyOIjeeRnowhePZGDVxXYObzMmjiBUJHB+D19iEbz6Dv0k142nudn3G/umEJiU853Lo/jP4DIfj3HMHglYdobdvZcDiqBcRQSI/G57CJ5bQqbzJbDIUAGW+aX+7F/2Aeu853y+mX8jB14c84k00IoAznODv7G84tFQol4BT4AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/img/reset.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAB3RJTUUH2ggQDDghTfTcdgAAAAlwSFlzAAAewQAAHsEBw2lUUwAAAARnQU1BAACxjwv8YQUAAAJ5SURBVHjapVNdSBRRGD1zZ8bZHcfFn1VWDSNMpYSUBCGCMivJHgyMkiAwfCroIZBSiFAixLeIChaiIlAhf4IoKkhEgh4KJetF1/xF3XSUTVubcdydud1xZRmjJOiDw8yd+53zffd8c4H/DM65uHq/sv9QiXxYN1S2IYDCYk8RinAAS/qidaff3zFwC7WAaHFihKMRUOIU8KXKGUnJERD3OHh5DoIcZJiFKX1GuneZtNZcOd/SWfUFpZHdlPE5EZzgFFglAWUpIYyQFARx9CZgBGaUtWsC5QfrC/0ptQMX654U0hlpjt9ynkx1x0xwhXwdwdjYKKYYJsdGuen5OU/IpaRmpGbKZFLrtYpyy92iQnIG30x1xcmia4svv0NhqLjxLG+hfcZDu4NltGOgTkcOTsU7sKLbmr3OMB5YCekVZcUn1+h7eN1FQvuHoXnhrxTbXsvREwUWVAxRIwkcsRVXbHM2p0Bi+XZkncOF9Hw+LU5GjGzHsePuao+L1TQSoWnf7U/6pssxy083pjTce33UTi9jcDOkMXhRifwjjdLNro81tHOwhHYN7aTNTwu+sb09G0eIshIn6pMbzlbvb/Up+XjUp/Ym8ImUbpQWOdlVzCcpOsL6KMJrgxCEAnS/CDxgm8Ox0lVofnx9b5OUoOGnMQVF9oJadLN35jPng2FOgxd+wIxko6dn8dXLlvUzjKzFphDgZ9P2qSVZecs5dv6qqWGd02HAhoYor8KgFiYmpLW2tpD/3V3zMmOFN7Sdf/Klh3i+qxCl1xpxO1tCkPDsItgeExCdKalv0c+Wn5yTib2LcZHsyib0eXKRu+14/3gtxS0pAsfjn+IXjhPiCXMAIGsAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NFTyBUb29scyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1NFTyBUb29scyB3dXJkZSBpbnN0YWxsaWVydC4gQml0dGUgbGVzZW4gU2llIGRpZSBNb2R1bGhpbGZlIHVtIHp1IGVyZmFocmVuLCB3aWUgZGFzIE1vZHVsIGJlbnV0enQgd2lyZC4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1NFTyBUb29scyB3dXJkZSBkZWluc3RhbGxpZXJ0LiBEZW5rZW4gU2llIGRhcmFuLCBkYSZzemxpZzsgYXVmIElocmVuIFNlaXRlbiBudW4ga2VpbmUgTWV0YS1JbmZvcm1hdGlvbmVuIG1laHIgYW5nZXplaWd0IHdlcmRlbiEnOwokbGFuZ1sncmVhbGx5X3VuaW5zdGFsbCddID0gJ00mb3VtbDtjaHRlbiBTaWUgU0VPIFRvb2xzIHdpcmtsaWNoIGRlaW5zdGFsbGllcmVuPyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBkZWluc3RhbGxpZXJ0Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bHZlcnNpb24gJXMgaW5zdGFsbGllcnQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgYXVmIFZlcnNpb24gJXMgYWt0dWFsaXNpZXJ0Lic7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VpbmlnZSBUb29scyBkaWUgYmVpIGRlciBTdWNobWFzY2hpbmVub3B0aW1pZXJ1bmcgaGVsZmVuIHVuZCBTaWUgYXVmIHN1Ym9wdGltYWxlIEVpbnN0ZWxsdW5nZW4gaGlud2Vpc2VuLic7CgokbGFuZ1snZXJyb3InXSA9ICdGZWhsZXIhJzsKJGxhbmRbJ2FkbWluX3RpdGxlJ10gPSAnU0VPIFRvb2xzIEFkbWluc3RyYXRpb24nOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ1Rlc3QnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnWnVncmlmZiB2ZXJ3ZWlnZXJ0LiBCaXR0ZSBwciZ1dW1sO2ZlbiBTaWUgSWhyZSBCZXJlY2h0aWd1bmdlbi4nOwokbGFuZ1snU0VPQWxlcnRzJ10gPSAnU0VPLVdhcm51bmdlbic7CiRsYW5nWydQYWdlZGVzY3JpcHRpb25zJ10gPSAnU2VpdGVuZWluc3RlbGx1bmdlbic7CiRsYW5nWydTaXRlbWFwJ10gPSAnU2l0ZW1hcCc7CiRsYW5nWydTRU9TZXR0aW5ncyddID0gJ1NFTy1FaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3RpdGxlX3Nlb2FsZXJ0cyddID0gJ1NFTy1XYXJudW5nZW4nOwokbGFuZ1sndGl0bGVfcGFnZWRlc2NyaXB0aW9ucyddID0gJ1NlaXRlbmVpbnN0ZWxsdW5nZW4nOwokbGFuZ1sndGl0bGVfc2l0ZW1hcCddID0gJ1NpdGVtYXAnOwokbGFuZ1sndGl0bGVfc2Vvc2V0dGluZ3MnXSA9ICdTRU8tRWluc3RlbGx1bmdlbic7CgokbGFuZ1sndGl0bGVfbWV0YV90eXBlJ10gPSAnTWV0YS1UYWctR2VuZXJhdG9yJzsKJGxhbmdbJ21ldGFfY3JlYXRlX3N0YW5kYXJkJ10gPSAnU3RhbmRhcmQtTWV0YXRhZ3MgZXJ6ZXVnZW4nOwokbGFuZ1snbWV0YV9jcmVhdGVfZHVibGluY29yZSddID0gJ0R1YmxpbiBDb3JlLU1ldGF0YWdzIGVyemV1Z2VuJzsKJGxhbmdbJ21ldGFfY3JlYXRlX29wZW5ncmFwaCddID0gJ09wZW5HcmFwaC1NZXRhdGFncyBlcnpldWdlbiAoei5CLiBmJnV1bWw7ciBkZW4gRmFjZWJvb2stR2VmJmF1bWw7bGx0LW1pci1CdXR0b24pJzsKCiRsYW5nWyd0aXRsZV9tZXRhX2RlZmF1bHRzJ10gPSAnTUVUQS1UYWctV2VydGUnOwokbGFuZ1snbWV0YV9wdWJsaXNoZXInXSA9ICdIZXJhdXNnZWJlciBkZXIgU2VpdGUnOwokbGFuZ1snbWV0YV9wdWJsaXNoZXJfaGVscCddID0gJygmVXVtbDtibGljaGVyd2Vpc2UgaGFuZGVsdCBlcyBzaWNoIHVtIGRpZSBGaXJtYSBmJnV1bWw7ciBkaWUgU2llIGRpZSBTZWl0ZSBlcnN0ZWxsZW4pJzsKJGxhbmdbJ21ldGFfY29udHJpYnV0b3InXSA9ICdNaXR3aXJrZW5kZSBkZXIgU2VpdGUnOwokbGFuZ1snbWV0YV9jb250cmlidXRvcl9oZWxwJ10gPSAnKCZVdW1sO2JsaWNoZXJ3ZWlzZSBzaW5kIFNpZSBkYXMsIG9kZXIgYmVsaWViaWdlIGFuZGVyZSBJbmhhbHRzLUF1dG9yZW4pJzsKJGxhbmdbJ21ldGFfY29weXJpZ2h0J10gPSAnQ29weXJpZ2h0IGRlciBTZWl0ZSc7CiRsYW5nWydtZXRhX2NvcHlyaWdodF9oZWxwJ10gPSAnKElyZ2VuZHdhcyBpbiBkZXIgRm9ybSAiKEMpIElocmUgRmlybWEuIEFsbGUgUmVjaHRlIHZvcmJlaGFsdGVuIiknOwokbGFuZ1snbWV0YV9sb2NhdGlvbl9kZXNjcmlwdGlvbiddID0gJ1dlbm4gSWhyZSBXZWJzZWl0ZSBlaW5lIEVudGl0JmF1bWw7dCBiZWhhbmRlbHQgZGllIGF1ZiBlaW5lciBLYXJ0ZSBsb2thbGlzaWVydCB3ZXJkZW4ga2Fubiwgc29sbHRlbiBTaWUgb3B0aW9uYWwgZGllIGZvbGdlbmRlbiBXZXJ0ZSBlaW50cmFnZW46JzsKJGxhbmdbJ21ldGFfbG9jYXRpb24nXSA9ICdPcnQgSWhyZXIgRW50aXQmYXVtbDt0JzsKJGxhbmdbJ21ldGFfbG9jYXRpb25faGVscCddID0gJyhOb3JtYWxlcndlaXNlIGlzdCBkaWVzIGRlciBOYW1lIGRlcyBPcnRzLCBhbiBkZW0gSWhyZSBGaXJtYSBzaXR6dCknOwokbGFuZ1snbWV0YV9yZWdpb24nXSA9ICdSZWdpb24gSWhyZXIgRW50aXQmYXVtbDt0JzsKJGxhbmdbJ21ldGFfcmVnaW9uX2hlbHAnXSA9ICcoR2ViZW4gU2llIHouQi4gIkRFLUJXIiBlaW4gZiZ1dW1sO3IgZWluZSBFbnRpdCZhdW1sO3QsIGRpZSBpbiBCYWRlbi1XJnV1bWw7cnR0ZW1iZXJnLCBEZXV0c2NobGFuZCwgc2l0enQuKSc7CiRsYW5nWydtZXRhX2xhdGl0dWRlJ10gPSAnQnJlaXRlbmdyYWQgSWhyZXIgRW50aXQmYXVtbDt0JzsKJGxhbmdbJ21ldGFfbGF0aXR1ZGVfaGVscCddID0gJyhHZWJlbiBTaWUgZGllIERlemltYWxrb29yZGluYXRlIGRlcyBCcmVpdGVuZ3JhZHMgSWhyZXIgRW50aXQmYXVtbDt0IGVpbiknOwokbGFuZ1snbWV0YV9sb25naXR1ZGUnXSA9ICdMJmF1bWw7bmdlbmdyYWQgSWhyZXIgRW50aXQmYXVtbDt0JzsKJGxhbmdbJ21ldGFfbG9uZ2l0dWRlX2hlbHAnXSA9ICcoR2ViZW4gU2llIGRpZSBEZXppbWFsa29vcmRpbmF0ZSBkZXMgTCZhdW1sO25nZW5ncmFkcyBJaHJlciBFbnRpdCZhdW1sO3QgZWluKSc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9kZXNjcmlwdGlvbiddID0gJ1dlbm4gU2llIE9wZW5HcmFwaC1NZXRhdGFncyBlcnpldWdlbiBsYXNzZW4sIGYmdXVtbDtsbGVuIFNpZSBiaXR0ZSBkaWUgZm9sZ2VuZGVuIFdlcnRlIGF1czonOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfdGl0bGUnXSA9ICdPcGVuR3JhcGgtU2VpdGVudGl0ZWwnOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfdGl0bGVfaGVscCddID0gJyhTaWUgayZvdW1sO25uZW4gaGllciBkYXMge3RpdGxlfS1UYWcgdmVyd2VuZGVuLCB1bSBkZW4gdGF0cyZhdW1sO2NobGljaGVuIFNlaXRlbnRpdGVsIGFuemVpZ2VuIHp1IGxhc3NlbiknOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfdHlwZSddID0gJ1N0YW5kYXJkIE9wZW5HcmFwaC1TZWl0ZW50eXAnOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfdHlwZV9oZWxwJ10gPSAnKERlciBTdGFuZGFyZC1TZWl0ZW50eXAgZiZ1dW1sO3IgT3BlbkdyYXBoLCBrYW5uIGYmdXVtbDtyIGplZGUgU2VpdGUgJnV1bWw7YmVyc2NocmllYmVuIHdlcmRlbi4gPGEgaHJlZj0iaHR0cDovL2RldmVsb3BlcnMuZmFjZWJvb2suY29tL2RvY3Mvb3BlbmdyYXBoI3R5cGVzIiB0YWdldD0iX2JsYW5rIj5IaWVyPC9hPiBmaW5kZW4gU2llIGVpbmUgTGlzdGUgZXJsYXVidGVyIFdlcnRlKSc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9zaXRlbmFtZSddID0gJ09wZW5HcmFwaC1TZWl0ZW5uYW1lJzsKJGxhbmdbJ21ldGFfb3BlbmdyYXBoX3NpdGVuYW1lX2hlbHAnXSA9ICcoRWluZSBrdXJ6ZSBWZXJzaW9uIElocmVzIFNlaXRlbm5hbWVucywgei5CLiAiSWhyZSBGaXJtYSIsIG1heC4gMjUgWmVpY2hlbiknOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfaW1hZ2UnXSA9ICdTdGFuZGFyZC1PcGVuR3JhcGgtQmlsZCc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9pbWFnZV9oZWxwJ10gPSAnKFcmYXVtbDtobGVuIFNpZSBlaW4gQmlsZCBhdXMgSWhyZW0gL3VwbG9hZHMvaW1hZ2VzIFZlcnplaWNobmlzIGF1cyB1bSBlcyBhbHMgU3RhbmRhcmQgZiZ1dW1sO3IgT3BlbkdyYXBoLVNlaXRlbiB6dSB2ZXJ3ZW5kZW4pJzsKJGxhbmdbJ21ldGFfb3BlbmdyYXBoX2FkbWlucyddID0gJ0ZhY2Vib29rLVNlaXRlbmFkbWluaXN0cmF0b3Jlbic7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9hZG1pbnNfaGVscCddID0gJyhFaW5lIGtvbW1hZ2V0cmVubnRlIExpc3RlIHZvbiBGYWNlYm9vay1Lb250by1JRHMgZGllIGluIGRlciBMYWdlIHNpbmQsIGRpZSBTdHJlYW1zIElocmVyIFNlaXRlbiB6dSBiZWFyYmVpdGVuKSc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9hcHBsaWNhdGlvbiddID0gJ0ZhY2Vib29rLUFud2VuZHVuZyc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9hcHBsaWNhdGlvbl9oZWxwJ10gPSAnKERpZSBJRCBlaW5lciBGYWNlYm9vay1BbndlbmR1bmcsIGRpZSBpbiBkZXIgTGFnZSBpc3QsIGRpZSBTdHJlYW1zIElocmVyIFNlaXRlbiB6dSBiZWFyYmVpdGVuKSc7CgokbGFuZ1sndGl0bGVfdGl0bGVfZGVzY3JpcHRpb24nXSA9ICdTZWl0ZW50aXRlbCwgQmVzY2hyZWlidW5nIHVuZCBLZXl3b3Jkcyc7CiRsYW5nWyd0aXRsZV90aXRsZSddID0gJ1NlaXRlbnRpdGVsJzsKJGxhbmdbJ3RpdGxlX3RpdGxlX2hlbHAnXSA9ICcoRGVyIFNlaXRlbnRpdGVsIHdpZSBlciBpbiBkZXIgQnJvd3Nlci1UaXRlbHplaWxlIGVyc2NoZWluZW4gc29sbC4gU2llIGsmb3VtbDtubmVuIGRpZSBUYWdzIHt0aXRsZX0sIHtwYWdldGl0bGV9IHVuZCB7c2VvX2tleXdvcmRzfSBiZW51dHplbiknOwokbGFuZ1sndGl0bGVfbWV0YV90aXRsZSddID0gJ1NlaXRlbnRpdGVsIGYmdXVtbDtyIGRpZSBNZXRhLURhdGVuJzsKJGxhbmdbJ3RpdGxlX21ldGFfaGVscCddID0gJyhEZXIgU2VpdGVudGl0ZWwsIHdpZSBlciBpbiBkZW4gTWV0YS1UaXRlbC1UYWdzIGVyc2NoZWluZW4gc29sbC4gU2llIGsmb3VtbDtubmVuIGRpZSBUYWdzIHt0aXRsZX0sIHtwYWdldGl0bGV9IHVuZCB7c2VvX2tleXdvcmRzfSBiZW51dHplbiknOwokbGFuZ1snZGVzY3JpcHRpb25fYmxvY2tfdGl0bGUnXSA9ICdOYW1lIGRlcyBTZWl0ZW5iZXNjaHJlaWJ1bmdzLUNvbnRlbnRibG9ja3MnOwokbGFuZ1snZGVzY3JpcHRpb25fYmxvY2tfaGVscCddID0gJyhEZXIgTmFtZSBJaHJlcyBTZWl0ZW5iZXNjaHJlaWJ1bmdzLUNvbnRlbnRibG9ja3MuIFVudGVuIGZpbmRlbiBTaWUgZWluZSBFcmtsJmF1bWw7cnVuZyBoaWVyenUpJzsKJGxhbmdbJ2RlZmF1bHRfa2V5d29yZHNfdGl0bGUnXSA9ICdLZXl3b3JkcywgZGllIGF1ZiBqZWRlciBTZWl0ZSBlcnNjaGVpbmVuIHNvbGxlbic7CiRsYW5nWydkZWZhdWx0X2tleXdvcmRzX2hlbHAnXSA9ICcoRWluZSBMZWVyemVpY2hlbi1nZXRyZW5udGUgTGlzdGUgdm9uIEtleXdvcmRzIGRpZSBTaWUgYXVmIGplZGVyIFNlaXRlIGVpbmJpbmRlbiBsYXNzZW4gbSZvdW1sO2NodGVuKSc7CgokbGFuZ1sndGl0bGVfc2l0ZW1hcF9kZXNjcmlwdGlvbiddID0gJ0dvb2dsZS1TaXRlbWFwIHVuZCBDcmF3bGVyLUVpbnN0ZWxsdW5nZW4nOwokbGFuZ1snY3JlYXRlX3NpdGVtYXBfdGl0bGUnXSA9ICdFaW5lIEdvb2dsZS1TaXRlbWFwIGltIFhNTC1Gb3JtYXQgZXJ6ZXVnZW4qJzsKJGxhbmdbJ3B1c2hfc2l0ZW1hcF90aXRsZSddID0gJ0RpZSBTaXRlbWFwIGF1dG9tYXRpc2NoIGJlaSAmYXVtbDtuZGVydW5nZW4gYW0gU2VpdGVuaW5oYWx0IHp1IEdvb2dsZSBzZW5kZW4nOwokbGFuZ1snY3JlYXRlX3JvYm90c190aXRsZSddID0gJ0VpbmUgcm9ib3RzLnR4dCAtIERhdGVpIGVyemV1Z2VuKic7CiRsYW5nWyd2ZXJpZmljYXRpb25fdGl0bGUnXSA9ICdCZXN0JmF1bWw7dGlndW5nc2NvZGUgZiZ1dW1sO3IgZGllIFNlaXRlbnZlcmlmaXppZXJ1bmcnOwokbGFuZ1sndmVyaWZpY2F0aW9uX2hlbHAnXSA9ICcoRGVyIEJlc3QmYXVtbDt0aWd1bmdzY29kZSwgZGVuIFNpZSB2b24gZGVuIEdvb2dsZSBXZWJtYXN0ZXIgVG9vbHMgZXJoYWx0ZW4uIE51ciBkZW4gSGFzaCwgbmljaHQgZGFzIGtvbXBsZXR0ZSBNZXRhLVRhZyknOwoKJGxhbmdbJ3RpdGxlX2FsZXJ0c191cmdlbnQnXSA9ICdNdXNzIHNvZm9ydCBiZWhvYmVuIHdlcmRlbic7CiRsYW5nWyd0aXRsZV9hbGVydHNfaW1wb3J0YW50J10gPSAnU29sbHRlIHNjaG5lbGxzdG0mb3VtbDtnbGljaCBiZWhvYmVuIHdlcmRlbic7CiRsYW5nWyd0aXRsZV9hbGVydHNfbm90aWNlcyddID0gJ0thbm4gdW50ZXIgVW1zdCZhdW1sO25kZW4gYmVob2JlbiB3ZXJkZW4nOwokbGFuZ1snbm90aGluZ190b19iZV9maXhlZCddID0gJ0luIGRpZXNlciBLYXRlZ29yaWUgbSZ1dW1sO3NzZW4gU2llIGtlaW5lIEFrdGlvbmVuIHZvcm5laG1lbic7CgokbGFuZ1snc2F2ZSddID0gJ0VpbnN0ZWxsdW5nZW4gc3BlaWNoZXJuJzsKJGxhbmdbJ25vbmUnXSA9ICcobmljaHQgYXVzZ2V3JmF1bWw7aGx0KSc7CiRsYW5nWydzZXR0aW5nc191cGRhdGVkJ10gPSAnRGllIFNFTy1FaW5zdGVsbHVuZ2VuIHd1cmRlbiBlcmZvbGdyZWljaCBha3R1YWxpc2llcnQuJzsKJGxhbmdbJ3Byb2JsZW1fYWxlcnQnXSA9ICdoYXQgZXJoZWJsaWNoZSBQcm9ibGVtZSBtaXQgSWhyZXIgU0VPIGZlc3RnZXN0ZWxsdC4gJXMnOwokbGFuZ1sncHJvYmxlbV9saW5rX3RpdGxlJ10gPSAnWnVtIEJlaGViZW4gaGllciBrbGlja2VuJzsKCiRsYW5nWydoZWxwX2Rlc2NyaXB0aW9uX2NvbnRlbnQnXSA9ICc8Yj5BbmxlaXR1bmcgZiZ1dW1sO3IgZGVuICJTZWl0ZW5iZXNjaHJlaWJ1bmdzLUNvbnRlbnRibG9jayI6PC9iPjxiciAvPlVtIGRpcmVrdCBiZWltIEJlYXJiZWl0ZW4gZWluZXIgU2VpdGUgZWluZSBTZWl0ZW5iZXNjaHJlaWJ1bmcgZWluZ2ViZW4genUgayZvdW1sO25uZW4gbSZ1dW1sO3NzZW4gU2llIGRlbiBmb2xnZW5kZW4gQ29kZSBpcmdlbmR3byBpbiBhbGwgSWhyZSBUZW1wbGF0ZXMgZWluYmluZGVuOjxiciAvPjxiciAvPjxwcmU+e2NhcHR1cmV9e2NvbnRlbnQgYmxvY2s9Ik1ldGEtQmVzY2hyZWlidW5nIiBvbmVsaW5lPSJ0cnVlIn17L2NhcHR1cmV9PC9wcmU+PGJyIC8+U2V0emVuIFNpZSBkYW5uIGRlbiBXZXJ0IGYmdXVtbDtyIGRlbiAiTmFtZW4gZGVzIFNlaXRlbmJlc2NocmVpYnVuZ3MtQ29udGVudGJsb2NrcyIgYXVmICJNZXRhLUJlc2NocmVpYnVuZyIuIEFsdGVybmF0aXYgayZvdW1sO25uZW4gU2llIGF1Y2ggZGllIE9wdGlvbiAiQXV0b21hdGlzY2hlIFNlaXRlbmJlc2NocmVpYnVuZyBlcnpldWdlbiIgYWt0aXZpZXJlbi4gRGllc2UgT3B0aW9uIGxlaXN0ZXQgendhciBuaWNodCBzbyB2aWVsLCBpc3QgYWJlciBiZXNzZXIgYWxzIGdhciBuaWNodHMuJzsKJGxhbmdbJ2hlbHBfc2l0ZW1hcF9yb2JvdHMnXSA9ICcqKSBVbSBkaWUgYXV0b21hdGlzY2hlIEVyemV1Z3VuZyBlaW5lciBTaXRlbWFwLSB1bmQgUm9ib3RzLURhdGVpIHp1IHZlcndlbmRlbiBtdSZzemxpZzsgZGFzIFN0YW1tdmVyemVpY2huaXMgSWhyZXIgQ01TTVMtSW5zdGFsbGF0aW9uIGYmdXVtbDtyIGRlbiBXZWJzZXJ2ZXIgYmVzY2hyZWliYmFyIHNlaW4uIEZhbGxzIFNpZSBiZXJlaXRzIGVpbmUgc2l0ZW1hcC54bWwgdW5kL29kZXIgcm9ib3RzLnR4dC1EYXRlaSBoYWJlbiBtJnV1bWw7c3NlbiBiZWlkZSBmJnV1bWw7ciBkZW4gV2Vic2VydmVyIGJlc2NocmVpYmJhciBzZWluLic7CgokbGFuZ1sndXNlX3N0YW5kYXJkX29yX2R1YmxpbmNvcmVfbWV0YSddID0gJ1ZlcndlbmRlbiBTaWUgbWluZGVzdGVucyBlbnR3ZWRlciBkaWUgU3RhbmRhcmQtTWV0YS1UYWdzIG9kZXIgRHVibGluIENvcmUgTWV0YS1UYWdzJzsKJGxhbmdbJ3VzZV9zdGFuZGFyZF9tZXRhJ10gPSAnU2llIHNvbGx0ZW4gZGVuIFN0YW5kYXJkLU1ldGEtR2VuZXJhdG9yIGltbWVyIGFrdGl2aWVyZW4nOwokbGFuZ1snbWV0YV9kZXNjcmlwdGlvbl9taXNzaW5nJ10gPSAnRGllIFNlaXRlIDxpPiVzPC9pPiBiZXNpdHp0IGtlaW5lIE1ldGEtQmVzY2hyZWlidW5nJzsKJGxhbmdbJ21ldGFfZGVzY3JpcHRpb25fc2hvcnQnXSA9ICdEaWUgTWV0YS1CZXNjaHJlaWJ1bmcgZGVyIFNlaXRlIDxpPiVzPC9pPiBpc3Qgc2VociBrdXJ6ICggPCA3NSBaZWljaGVuKSc7CiRsYW5nWydkdXBsaWNhdGVfdGl0bGVzJ10gPSAnRGllIFNlaXRlbiA8aT4lczwvaT4gdW5kIDxpPiVzPC9pPiBoYWJlbiBkZW4gZ2xlaWNoZW4gVGl0ZWwnOwokbGFuZ1snZHVwbGljYXRlX2Rlc2NyaXB0aW9ucyddID0gJ0RpZSBTZWl0ZW4gPGk+JXM8L2k+IHVuZCA8aT4lczwvaT4gaGFiZW4gZGllIGdsZWljaGUgTWV0YS1CZXNjaHJlaWJ1bmcnOwokbGFuZ1sncHJvdmlkZV9hbl9hdXRob3InXSA9ICdTaWUgc29sbHRlbiBkZW4gTmFtZW4gZGVzIFNlaXRlbmhlcmF1c2dlYmVycyBlaW50cmFnZW4nOwokbGFuZ1snc2V0X3VwX2Rlc2NyaXB0aW9uX2Jsb2NrJ10gPSAnU2V0emVuIFNpZSBlaW5lbiBDb250ZW50LUJsb2NrIGYmdXVtbDtyIE1ldGEtQmVzY2hyZWlidW5nZW4gYXVmJzsKJGxhbmdbJ2FjdGl2YXRlX3ByZXR0eV91cmxzJ10gPSAnQWt0aXZpZXJlbiBTaWUgZGFzICJQcmV0dHkgVVJMcyItRmVhdHVyZSB2b24gQ01TTVMnOwokbGFuZ1sncHJldHR5X3VybHNfaGVscCddID0gJzxhIGhyZWY9Imh0dHA6Ly93aWtpLmNtc21hZGVzaW1wbGUub3JnL2luZGV4LnBocC9Vc2VyX0hhbmRib29rL0luc3RhbGxhdGlvbi9PcHRpb25hbF9TZXR0aW5ncyIgdGFyZ2V0PSJfYmxhbmsiPkhpbGZlIGVyaGFsdGVuPC9hPic7CiRsYW5nWydjcmVhdGVfYV9zaXRlbWFwJ10gPSAnTGFzc2VuIFNpZSBhdXRvbWF0aXNjaCBlaW5lIEdvb2dsZS1YTUwtU2l0ZW1hcCBlcnN0ZWxsZW4nOwokbGFuZ1snYXV0b21hdGljYWxseV91cGxvYWRfc2l0ZW1hcCddID0gJ0xhc3NlbiBTaWUgSWhyZSBYTUwtU2l0ZW1hcCBhdXRvbWF0aXNjaCB6dSBHb29nbGUgaG9jaGxhZGVuJzsKJGxhbmdbJ2NyZWF0ZV9yb2JvdHMnXSA9ICdMYXNzZW4gU2llIGF1dG9tYXRpc2NoIGVpbmUgcm9ib3RzLnR4dC1EYXRlaSBlcnN0ZWxsZW4nOwokbGFuZ1snc2l0ZW1hcF9ub3Rfd3JpdGVhYmxlJ10gPSAnSWhyZSBzaXRlbWFwLnhtbCAtIERhdGVpIGlzdCBuaWNodCBiZXNjaHJlaWJiYXInOwokbGFuZ1snY2htb2Rfc2l0ZW1hcCddID0gJ1NldHplbiBTaWUgSWhyZSAvc2l0ZW1hcC54bWwgLSBEYXRlaSBhdWYgYmVzY2hyZWliYmFyIGYmdXVtbDtyIGRlbiBXZWJzZXJ2ZXInOwokbGFuZ1sncm9ib3RzX25vdF93cml0ZWFibGUnXSA9ICdJaHJlIHJvYm90cy50eHQgLSBEYXRlaSBpc3QgbmljaHQgYmVzY2hyZWliYmFyJzsKJGxhbmdbJ25vX29wZW5ncmFwaF9hZG1pbnMnXSA9ICdTaWUgaGFiZW4ga2VpbmUgT3BlbkdyYXBoLUFkbWluaXN0cmF0aW9uc2Fud2VuZHVuZyBiencuIEFkbWluaXN0cmF0b3Jlbi1MaXN0ZSBmZXN0Z2VsZWd0Lic7CiRsYW5nWydub19vcGVuZ3JhcGhfdHlwZSddID0gJ1NpZSBoYWJlbiBkZW4gU3RhbmRhcmQtT3BlbkdyYXBoLVNlaXRlbnR5cCBuaWNodCBmZXN0Z2VsZWd0Lic7CiRsYW5nWydub19vcGVuZ3JhcGhfc2l0ZW5hbWUnXSA9ICdTaWUgaGFiZW4gZGVuIE9wZW5HcmFwaC1TZWl0ZW5uYW1lbiBuaWNodCBmZXN0Z2VsZWd0JzsKJGxhbmdbJ25vX29wZW5ncmFwaF9pbWFnZSddID0gJ1NpZSBoYWJlbiBrZWluIE9wZW5HcmFwaC1TdGFuZGFyZGJpbGQgZmVzdGdlbGVndCc7CiRsYW5nWydjaG1vZF9yb2JvdHMnXSA9ICdTZXR6ZW4gU2llIElocmUgL3JvYm90cy50eHQgLSBEYXRlaSBhdWYgYmVzY2hyZWliYmFyIGYmdXVtbDtyIGRlbiBXZWJzZXJ2ZXInOwokbGFuZ1snZWRpdF9wYWdlJ10gPSAnJXMgYmVhcmJlaXRlbic7CiRsYW5nWydlZGl0X3BhZ2VfdG9fZml4J10gPSAnS2xpY2tlbiBTaWUgaGllciB6dW0gQmVhcmJlaXRlbiBkZXIgU2VpdGUgdW5kIEJlaGViZW4gZGVzIFByb2JsZW1zJzsKJGxhbmdbJ3Zpc2l0X3NldHRpbmdzJ10gPSAnQmVoZWJlbiBTaWUgZGFzIFByb2JsZW0gYXVmIGRlbSBUYWIgIlNFTy1FaW5zdGVsbHVuZ2VuIic7CgokbGFuZ1sncGFnZV9pZCddID0gJ0lEJzsKJGxhbmdbJ3BhZ2VfbmFtZSddID0gJ1NlaXRlbm5hbWUnOwokbGFuZ1sncHJpb3JpdHknXSA9ICdTaXRlbWFwLVByaW9yaXQmYXVtbDt0JzsKJGxhbmdbJ29nX3R5cGUnXSA9ICdPcGVuR3JhcGgtVHlwJzsKJGxhbmdbJ2tleXdvcmRzJ10gPSAnIyBLZXl3b3Jkcyc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2NocmVpYnVuZyc7CiRsYW5nWydpbmRleCddID0gJ0luZGl6aWVyYmFyJzsKCiRsYW5nWydjbGlja190b19hZGRfZGVzY3JpcHRpb24nXSA9ICdIaWVyIGtsaWNrZW4gdW0gZWluZSBTZWl0ZW5iZXNjaHJlaWJ1bmcgaGluenV6dWYmdXVtbDtnZW4nOwokbGFuZ1sndG9nZ2xlJ10gPSAndW1zY2hhbHRlbic7CiRsYW5nWydyZXNldCddID0gJ3p1ciZ1dW1sO2Nrc2V0emVuJzsKJGxhbmdbJ3Jlc2V0X3RvX2RlZmF1bHQnXSA9ICdEaWVzZW4gV2VydCBhdWYgZGVuIFN0YW5kYXJkIHp1ciZ1dW1sO2Nrc2V0emVuJzsKJGxhbmdbJ2VkaXRfdmFsdWUnXSA9ICdEaWVzZW4gV2VydCBiZWFyYmVpdGVuJzsKCiRsYW5nWydoZWxwX29wZW5ncmFwaCddID0gJzxhIGhyZWY9Imh0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9kb2NzL29wZW5ncmFwaCN0eXBlcyIgdGFnZXQ9Il9ibGFuayI+SGllcjwvYT4gZmluZGVuIFNpZSBlaW5lIExpc3RlIGVybGF1YnRlciBXZXJ0ZSc7CiRsYW5nWydlbnRlcl9uZXdfb2d0eXBlJ10gPSAnR2ViZW4gU2llIGRlbiBuZXVlbiBXZXJ0IGYmdXVtbDtyIGRlbiBPcGVuR3JhcGgtVHlwIGRpZXNlciBTZWl0ZSBlaW4nOwokbGFuZ1snaGVscF9uZXdfb2d0eXBlJ10gPSAnTGFzc2VuIFNpZSBkYXMgRmVsZCBsZWVyLCB1bSB6dXIgU3RhbmRhcmQtRWluc3RlbGx1bmcgenVyJnV1bWw7Y2t6dWtlaHJlbic7CgokbGFuZ1snZW50ZXJfbmV3X2tleXdvcmRzJ10gPSAnR2ViZW4gU2llIGRpZSBuZXVlbiBLZXl3b3JkcyBmJnV1bWw7ciBkaWVzZSBTZWl0ZSBlaW4nOwokbGFuZ1snaGVscF9uZXdfa2V5d29yZHMnXSA9ICdMZWVyemVpY2hlbi1nZXRyZW5udGUgTGlzdGUgdm9uIEtleXdvcmRzLiBMYXNzZW4gU2llIGRhcyBGZWxkIGxlZXIsIHVtIHp1ciBTdGFuZGFyZC1FaW5zdGVsbHVuZyB6dXImdXVtbDtja3p1a2VocmVuJzsKCiRsYW5nWydncm91cHRpdGxlX29wZW5ncmFwaCddID0gJ1dpciBoYWJlbiAlcyBPcGVuR3JhcGgtYmV6b2dlbmUgUHJvYmxlbWUgZmVzdGdlc3RlbGx0JzsKJGxhbmdbJ2dyb3VwdGl0bGVfc3lzdGVtJ10gPSAnV2lyIGhhYmVuICVzIFByb2JsZW1lIG1pdCBJaHJlciBTeXN0ZW1rb25maWd1cmF0aW9uIGZlc3RnZXN0ZWxsdCc7CiRsYW5nWydncm91cHRpdGxlX3BhZ2VzJ10gPSAnV2lyIGhhYmVuICVzIFByb2JsZW1lIGF1ZiBJaHJlbiBJbmhhbHRzc2VpdGVuIGZlc3RnZXN0ZWxsdCc7CiRsYW5nWydncm91cHRpdGxlX3NldHRpbmdzJ10gPSAnV2lyIGhhYmVuICVzIFByb2JsZW1lIG1pdCBJaHJlbiBTRU8tRWluc3RlbGx1bmdlbiBmZXN0Z2VzdGVsbHQnOwokbGFuZ1snZ3JvdXB0aXRsZV9kZXNjcmlwdGlvbnMnXSA9ICdXaXIgaGFiZW4gJXMgUHJvYmxlbWUgbWl0IElocmVuIFNlaXRlbmJlc2NocmVpYnVuZ2VuIGZlc3RnZXN0ZWxsdCc7CiRsYW5nWydncm91cHRpdGxlX3RpdGxlcyddID0gJ1dpciBoYWJlbiAlcyBQcm9ibGVtZSBtaXQgSWhyZW4gU2VpdGVudGl0ZWxuIGZlc3RnZXN0ZWxsdCc7CgokbGFuZ1sndmlld19hbGwnXSA9ICdBbGxlIGFuemVpZ2VuJzsKCiRsYW5nWyd0aXRsZV9tZXRhc2V0dGluZ3MnXSA9ICdTZWl0ZW50aXRlbCB1bmQgTWV0YS1JbmZvcm1hdGlvbmVuJzsKJGxhbmdbJ3RpdGxlX3NpdGVtYXBzZXR0aW5ncyddID0gJ1NpdGVtYXAgJiBDcmF3bGVyLUVpbnN0ZWxsdW5nZW4nOwokbGFuZ1sndGl0bGVfa2V5d29yZHNldHRpbmdzJ10gPSAnS2V5d29yZC1HZW5lcmF0b3InOwoKJGxhbmdbJ2Rlc2NyaXB0aW9uX2F1dG9fZ2VuZXJhdGUnXSA9ICdFaW5lIGF1dG9tYXRpc2NoZSBTZWl0ZW5iZXNjaHJlaWJ1bmcgZXJ6ZXVnZW4gd28ga2VpbmUgdm9yZ2VnZWJlbiBpc3QnOwokbGFuZ1snZGVzY3JpcHRpb25fYXV0b190aXRsZSddID0gJ1RleHQgZvxyIGF1dG9tYXRpc2NoIGdlbmVyaWVydGUgQmVzY2hyZWlidW5nZW4nOwokbGFuZ1snZGVzY3JpcHRpb25fYXV0b19oZWxwJ10gPSAnKFNpZSA8Yj5tJnV1bWw7c3NlbjwvYj4gZGFzIHtrZXl3b3Jkc30tVGFnIGhpZXIgdmVyd2VuZGVuLCBvcHRpb25hbCBpc3QgZGFzIHt0aXRsZX0tVGFnKSc7CgokbGFuZ1snc2V0X3VwX2F1dG9fZGVzY3JpcHRpb24nXSA9ICdTZXR6ZW4gU2llIGRlbiBHZW5lcmF0b3IgZvxyIGF1dG9tYXRpc2NoZSBCZXNjaHJlaWJ1bmdlbiBhdWYgdW5kIHN0ZWxsZW4gU2llIHNpY2hlciwgZGEmc3psaWc7IGRlciBUZXh0IGRhcyBUYWcge2tleXdvcmRzfSBlbnRoJmF1bWw7bHQnOwokbGFuZ1snYXV0b19nZW5lcmF0ZWQnXSA9ICdBdXRvbWF0aXNjaCBlcnpldWd0JzsKJGxhbmdbJ2FuZCddID0gJ3VuZCc7CgokbGFuZ1sndGl0bGVfa2V5d29yZF93ZWlnaHQnXSA9ICdLZXl3b3JkLUdld2ljaHRzZWluc3RlbGx1bmdlbic7CiRsYW5nWydrZXl3b3JkX21pbmxlbmd0aF90aXRsZSddID0gJ01pbmRlc3RsJmF1bWw7bmdlIGYmdXVtbDtyIEtleXdvcmRzJzsKJGxhbmdbJ2tleXdvcmRfbWlubGVuZ3RoX2hlbHAnXSA9ICcoRGllIE1pbmRlc3RsJmF1bWw7bmdlIGYmdXVtbDtyIGVpbiBXb3J0LCBkYW1pdCBlcyBhbHMgS2V5d29yZCBpbiBGcmFnZSBrb21tdCknOwokbGFuZ1sna2V5d29yZF90aXRsZV93ZWlnaHRfdGl0bGUnXSA9ICdHZXdpY2h0IGRlciBXb3J0ZSBpbSBTZWl0ZW50aXRlbCc7CiRsYW5nWydrZXl3b3JkX3RpdGxlX3dlaWdodF9oZWxwJ10gPSAnKERhcyBHZXdpY2h0IGRlciBXb3J0ZSBpbSBTZWl0ZW50aXRlbC4gSmUgaCZvdW1sO2hlciBkYXMgR2V3aWNodCBlaW5lcyBXb3J0ZXMsIGRlc3RvIGgmdW1sO2hlciBkaWUgV2FocnNjaGVpbmxpY2hrZWl0LCBkYSZzemxpZzsgZXMgenVtIEtleXdvcmQgd2lyZCknOwokbGFuZ1sna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHRfdGl0bGUnXSA9ICdHZXdpY2h0IGRlciBXb3J0ZSBpbiBkZXIgU2VpdGVuYmVzY2hyZWlidW5nJzsKJGxhbmdbJ2tleXdvcmRfZGVzY3JpcHRpb25fd2VpZ2h0X2hlbHAnXSA9ICcoRGFzIEdld2ljaHQgZGVyIFdvcnRlIGluIGRlciBTZWl0ZW5iZXNjaHJlaWJ1bmcuIEplIGgmb3VtbDtoZXIgZGFzIEdld2ljaHQgZWluZXMgV29ydGVzLCBkZXN0byBoJnVtbDtoZXIgZGllIFdhaHJzY2hlaW5saWNoa2VpdCwgZGEmc3psaWc7IGVzIHp1bSBLZXl3b3JkIHdpcmQpJzsKJGxhbmdbJ2tleXdvcmRfaGVhZGxpbmVfd2VpZ2h0X3RpdGxlJ10gPSAnR2V3aWNodCBkZXIgV29ydGUgaW4gSW5oYWx0cy0mVXVtbDtiZXJzY2hyaWZ0ZW4nOwokbGFuZ1sna2V5d29yZF9oZWFkbGluZV93ZWlnaHRfaGVscCddID0gJyhEYXMgR2V3aWNodCBkZXIgV29ydGUgendpc2NoZW4gZGVuIFRhZ3MgJmx0O2gxJmd0OyBiaXMgJmx0O2g2Jmd0Oy4gSmUgaCZvdW1sO2hlciBkYXMgR2V3aWNodCBlaW5lcyBXb3J0ZXMsIGRlc3RvIGgmdW1sO2hlciBkaWUgV2FocnNjaGVpbmxpY2hrZWl0LCBkYSZzemxpZzsgZXMgenVtIEtleXdvcmQgd2lyZCknOwokbGFuZ1sna2V5d29yZF9jb250ZW50X3dlaWdodF90aXRsZSddID0gJ0dld2ljaHQgdm9uIFdvcnRlbiBpbSByZWluZW4gSW5oYWx0JzsKJGxhbmdbJ2tleXdvcmRfY29udGVudF93ZWlnaHRfaGVscCddID0gJyhEYXMgR2V3aWNodCBkZXIgV29ydGUgaW5uZXJoYWxiIGRlcyByZWluZW4gSW5oYWx0cy4gSmUgaCZvdW1sO2hlciBkYXMgR2V3aWNodCBlaW5lcyBXb3J0ZXMsIGRlc3RvIGgmdW1sO2hlciBkaWUgV2FocnNjaGVpbmxpY2hrZWl0LCBkYSZzemxpZzsgZXMgenVtIEtleXdvcmQgd2lyZCknOwoKJGxhbmdbJ2tleXdvcmRfbWluaW11bV93ZWlnaHRfdGl0bGUnXSA9ICdNaW5kZXN0LUdlc2FtdGdld2ljaHQgZiZ1dW1sO3IgZWluIEtleXdvcmQnOwokbGFuZ1sna2V5d29yZF9taW5pbXVtX3dlaWdodF9oZWxwJ10gPSAnKERhcyBNaW5kZXN0LUdlc2FtdGdld2ljaHQgZWluZXMgV29ydGVzLCBkYW1pdCBlcyB6dW0gS2V5d29yZCB3aXJkLiBEaWVzZXIgV2VydCBzb2xsdGUgZ3Imb3VtbDsmc3psaWc7ZXIgYWxzIGRlciBoJm91bWw7Y2hzdGUgV2VydCB2b24gb2JlbiBzZWluLiBKZSBrbGVpbmVyIGRpZXNlIFphaGwsIGRlc3RvIG1laHIgS2V5d29yZHMgZXJoYWx0ZW4gU2llKSc7CgokbGFuZ1snaGVscF9rZXl3b3JkX2dlbmVyYXRvciddID0gJ0RpZSBFaW5zdGVsbHVuZ2VuIGF1ZiBkaWVzZXIgU2VpdGUgYmVlaW5mbHVzc2VuIGtlaW5lIEtleXdvcmRzLCBkaWUgU2llIG1hbnVlbGwgdm9yZ2ViZW4uIEV4cGVyaW1lbnRpZXJlbiBTaWUgbWl0IHZlcnNjaGllZGVuZW4gV2VydGVuLCB1bSBkYXMgT3B0aW11bSBmJnV1bWw7ciBJaHJlIFNlaXRlIHp1IGVycmVpY2hlbi4nOwoKJGxhbmdbJ3RpdGxlX2tleXdvcmRfZXhjbHVkZSddID0gJ0tleXdvcmQtQXVzc2NobHUmc3psaWc7bGlzdGUnOwokbGFuZ1sna2V5d29yZF9leGNsdWRlX3RpdGxlJ10gPSAnV29ydGUsIGRpZSBuaWUgYWxzIEtleXdvcmQgaW4gRnJhZ2Uga29tbWVuJzsKJGxhbmdbJ2tleXdvcmRfZXhjbHVkZV9oZWxwJ10gPSAnKEdlYmVuIFNpZSBlaW5lIExlZXJ6ZWljaGVuLWdldHJlbm50ZSBMaXN0ZSB2b24gV29ydGVuIGFuLCBkaWUgbmllIGluIGRlbiBLZXl3b3JkLUxpc3RlbiBhdWZ0YXVjaGVuIHNvbGx0ZW4pJzsKCiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+CjxsaT5WZXJzaW9uIDEuMCAtIDI0LiBBdWd1c3QgMjAxMC4gSW5pdGlhbCBSZWxlYXNlLjwvbGk+CjwvdWw+JzsKCiRsYW5nWydoZWxwJ10gPSAnPGgzPldhcyB0dXQgZGllc2VzIE1vZHVsPzwvaDM+CjxwPkRpZSBTRU8gVG9vbHMgaGVsZmVuIElobmVuLCBJaHJlIFNFTyAoU2VhcmNoIEVuZ2luZSBPcHRpbWl6YXRpb24sIFN1Y2htYXNjaGluZW5vcHRpbWllcnVuZykgaW4gZGVuIEdyaWZmIHp1IGJla29tbWVuLiBEYXMgTW9kdWwgZiZ1dW1sO2d0IHZlcnNjaGllZGVuZSBTRU8tRiZhdW1sO2hpZ2tlaXRlbiB6dSBDTVNNUyBoaW56dSB1bmQgd2FybnQgU2llLCBmYWxscyBTaWUgaXJnZW5kZXR3YXMgU0VPLWJlem9nZW5lcyAmdXVtbDtiZXJzZWhlbiBoYWJlbi4gQWt0dWVsbCB3ZXJkZW4gZGllIGZvbGdlbmRlbiBGZWF0dXJlcyB1bnRlcnN0JnV1bWw7dHp0OjwvcD4KPHVsPgo8bGk+LSBhdXRvbWF0aXNjaGUgRXJ6ZXVndW5nIHZvbiBNZXRhLVRhZ3MgaW0gU3RhbmRhcmQtSFRNTC1Gb3JtYXQsIG5hY2ggZGVyIER1YmxpbiBDb3JlLVNwZXppZmlrYXRpb24gdW5kIE9wZW5HcmFwaDwvbGk+CjxsaT4tIGF1dG9tYXRpc2NoZSBFeHRyYWt0aW9uIHZvbiBLZXl3b3JkcyBhdXMgSWhyZW4gU2VpdGVuLCBkaWUgenVtIFNlaXRlbnRpdGVsIHVuZCBkZW4gTWV0YS1UYWdzIGhpbnp1Z2VmJnV1bWw7Z3Qgd2VyZGVuPC9saT4KPGxpPi0gRmVzdGxlZ2VuIG1pdCBlaW5lbSBLbGljaywgb2IgYmVzdGltbXRlIFNlaXRlbiB2b24gU3VjaG1hc2NoaW5lbiBpbmRpemllcnQgd2VyZGVuIHNvbGxlbiBvZGVyIG5pY2h0PC9saT4KPGxpPi0gRXJ6ZXVndW5nIGVpbmVyIHNpdGVtYXAueG1sLURhdGVpIG1pdCBJaHJlbiBTZWl0ZW4gdyZhdW1sO2hyZW5kIFNpZSBkaWUgdm9sbGUgS29udHJvbGxlIGRhciZ1dW1sO2JlciBoYWJlbiwgd2llIGRpZSBQcmlvcml0JmF1bWw7dCBlaW56ZWxuZXIgU2VpdGVuIGJld2VydGV0IHdlcmRlbiBzb2xsPC9saT4KPGxpPi0gRXJ6ZXVndW5nIGVpbmVyIHJvYm90cy50eHQtRGF0ZWkgbWl0IGRlciBNJm91bWw7Z2xpY2hrZWl0LCBleHBsaXppdCBkZW4gWnVncmlmZiBhdWYgU2VpdGVuLCBkaWUgbmljaHQgaW5kaXppZXJ0IHdlcmRlbiBzb2xsZW4sIHp1IHZlcmJpZXRlbjwvbGk+CjxsaT4tIEF1c2dhYmUgdm9uIFdhcm51bmdlbiwgd2VubiBtZWhyZXJlIFNlaXRlbiBkZW4gZ2xlaWNoZW4gVGl0ZWwgb2RlciBkaWUgZ2xlaWNoZSBCZXNjaHJlaWJ1bmcgaGFiZW48L2xpPgo8bGk+LSBBdXNnYWJlIHZvbiBXYXJudW5nZW4gd2VubiBzZWhyIGt1cnplIFNlaXRlbmJlc2NocmVpYnVuZ2VuIGdlZnVuZGVuIHd1cmRlbjwvbGk+CjxsaT4tIEF1dG9tYXRpc2NoZXMgRWluc2VuZGVuIGRlciBha3R1YWxpc2llcnRlbiBTaXRlbWFwLURhdGVpIHp1IEdvb2dsZSwgd2VubiBJbmhhbHRlIGdlJmF1bWw7bmRlcnQgd2VyZGVuPC9saT4gCjwvdWw+CjxoMz5XaWUgd2lyZCBkYXMgTW9kdWwgdmVyd2VuZGV0PzwvaDM+CjxwPiZPdW1sO2ZmbmVuIFNpZSB6dW4mYXVtbDtjaHN0IGFsbGUgVGVtcGxhdGVzLCBhdWYgZGVuZW4gU2llIFNFTyBUb29scyB2ZXJ3ZW5kZW4gbSZvdW1sO2NodGVuLiBFbnRmZXJuZW4gU2llIGRhcyBrb21wbGV0dGUgJmx0O3RpdGxlJmd0Oy1UYWcgdW5kIGRhcyB7bWV0YWRhdGF9LVRhZyAoYXVjaCB3ZW5uIGRhIHN0ZWh0LCBkYSZzemxpZzsgU2llIGxldHp0ZXJlcyBuaWUgZW50ZmVybmVuIHNvbGx0ZW4pIHVuZCBlcnNldHplbiBTaWUgYmVpZGUgZHVyY2ggZGFzIFRhZzwvcD4KPHByZT4Ke1NFT1Rvb2xzfQo8L3ByZT48YnIgLz4KPHA+RiZ1dW1sO2dlbiBTaWUgYWxzIG4mYXVtbDtjaHN0ZXMgYW0gRW5kZSBJaHJlcyBUZW1wbGF0ZXMgKG5hY2ggZGVtIHNjaGxpZSZzemxpZztlbmRlbiAmbHQ7L2JvZHkmZ3Q7LVRhZykgZGVuIGZvbGdlbmRlbiBDb2RlIGVpbjo8L3A+CjxwcmU+CntjYXB0dXJlfXtjb250ZW50IGJsb2NrPSJTZWl0ZW5iZXNjaHJlaWJ1bmciIG9uZWxpbmU9InRydWUifXsvY2FwdHVyZX0KPC9wcmU+PGJyIC8+CjxwPkluIGRpZXNlcyBGZWxkIHdlcmRlbiBTaWUgc3AmYXVtbDt0ZXIgZWluZSBrdXJ6ZSBTZWl0ZW5iZXNjaHJlaWJ1bmcgKGVpbiBvZGVyIHp3ZWkgUyZhdW1sO3R6ZSkgZWluZ2ViZW4sIGRpZSBpbiBkZW4gRXJnZWJuaXNzZW4gZGVyIFN1Y2htYXNjaGluZW4gYW5nZXplaWd0IHdpcmQgdW5kIHdlbm4gei5CLiBqZW1hbmQgZGVuIExpbmsgenUgSWhyZXIgU2VpdGUgYmVpIEZhY2Vib29rIHRlaWx0LjwvcD4KPHA+UnVmZW4gU2llIG51biBkaWUgTW9kdWwtQWRtaW5pc3RyYXRpb24gYXVmIHVuZCBmJnV1bWw7bGxlbiBTaWUgYXVmIGRlbiBFaW5zdGVsbHVuZ3MtVGFicyBhbGxlIEluZm9ybWF0aW9uZW4gZWluLCBkaWUgZiZ1dW1sO3IgSWhyZSBTZWl0ZSByZWxldmFudCBzaW5kLiBVbnRlciAiTmFtZSBkZXMgU2VpdGVuYmVzY2hyZWlidW5ncy1Db250ZW50YmxvY2siIHRyYWdlbiBTaWUgZGVuIE5hbWVuIGRlcyBzb2ViZW4gaW0gVGVtcGxhdGUgYW5nZWxlZ3RlbiBDb250ZW50LUJsb2NrcyAoIlNlaXRlbmJlc2NocmVpYnVuZyIgaW4gdW5zZXJlbSBCZWlzcGllbCkgZWluLiBEZXIgVGFiICJTRU8tV2FybnVuZ2VuIiBiZW5hY2hpY2h0aWd0IFNpZSBhdXRvbWF0aXNjaCwgd2VubiBpcmdlbmRlaW5lIEVpbnN0ZWxsdW5nIGdlZnVuZGVuIHd1cmRlLCBkaWUgbmljaHQgb3B0aW1hbCBpc3QuCkF1JnN6bGlnO2VyZGVtIHNvbGx0ZW4gU2llIGluIEVydyZhdW1sO2d1bmcgemllaGVuLCBJaHJlIFNlaXRlIGJlaSBHb29nbGUgV2VibWFzdGVyIFRvb2xzIGFuenVtZWxkZW4uIFcmYXVtbDtobGVuIFNpZSBkb3J0ICJNZXRhIHRhZyB2YWxpZGF0aW9uIiB1bmQgZiZ1dW1sO2dlbiBTaWUgZGVuIEJlc3QmYXVtbDt0aWd1bmdzY29kZSwgZGVuIFNpZSBkb3J0IGVyaGFsdGVuLCBpbiBkYXMgRmVsZCAiQmVzdCZhdW1sO3RpZ3VuZ3Njb2RlIGYmdXVtbDtyIGRpZSBTZWl0ZW52ZXJpZml6aWVydW5nIiBlaW4gKG51ciBkZW4gbGFuZ2VuIENvZGUgYXVzIFphaGxlbiB1bmQgQnVjaHN0YWJlbiwgbmljaHQgZGFzIGtvbXBsZXR0ZSBNZXRhLVRhZykgdW0gYXV0b21hdGlzY2ggenUgYmVzdCZhdW1sO3RpZ2VuLCBkYSZzemxpZzsgU2llIHRhdHMmYXVtbDtjaGxpY2ggZGVyIEluaGFiZXIgSWhyZXIgU2VpdGUgc2luZC48L3A+CjxwPlNvYmFsZCBhbGxlcyBlaW5nZXJpY2h0ZXQgaXN0LCBzY2hhdWVuIFNpZSBhdWYgZGFzICJTRU8tV2FybnVuZ2VuIi1UYWIgdW5kIGJlaGViZW4gU2llIGFsbGUgUHJvYmxlbWUsIGRpZSBJaG5lbiBkb3J0IGFuZ2V6ZWlndCB3ZXJkZW4uIERlbmtlbiBTaWUgdW5iZWRpbmd0IGRhcmFuLCBhdWYgamVkZXIgU2VpdGUsIGRpZSBTaWUgdW50ZXIgIkluaGFsdGUvU2VpdGVuIiBiZWFyYmVpdGVuLCBlaW5lIGt1cnplICh1bmQgZWluZGV1dGlnZSkgQmVzY2hyZWlidW5nIGlucyBGZWxkICJTZWl0ZW5iZXNjaHJlaWJ1bmciIHVudGVuIGF1ZiBkZW0gU2VpdGVuYmVhcmJlaXR1bmdzLUZvcm11bGFyIGVpbnp1Z2ViZW4uPC9wPgo8cD5XZW5uIFNpZSBJaHJlIGVpZ2VuZW4gS2V5d29yZHMgZmVzdGxlZ2VuIChhbnN0ZWxsZSBkZXIgYXV0b21hdGlzY2ggZ2VuZXJpZXJ0ZW4gS2V5d29yZHMpIG9kZXIgZGVuIE9wZW5HcmFwaC1UeXAgYmVzdGltbXRlciBTZWl0ZW4gJmF1bWw7bmRlcm4gbSZvdW1sO2NodGVuLCBiZXN1Y2hlbiBTaWUgZGVuIFRhYiAiU2VpdGVuZWluc3RlbGx1bmdlbiIgYXVmIGRlbSBTaWUgZWluZSBMaXN0ZSBhbGxlciBpbSBTeXN0ZW0gdm9yaGFuZGVuZW4gU2VpdGVuIHNlaGVuLiBEb3J0IGsmb3VtbDtubmVuIFNpZSBhdWNoIGRpZSBQcmlvcml0JmF1bWw7dGVuIGRlciBTZWl0ZW4gZiZ1dW1sO3IgZGllIFhNTC1TaXRlbWFwICZhdW1sO25kZXJuIChkaWUgYW5kZXJuZmFsbHMgYXV0b21hdGlzY2ggYmVyZWNobmV0IHdpcmQpIHVtIGZlc3R6dWxlZ2VuLCBkYSZzemxpZzsgYmVzdGltbXRlIFNlaXRlbiBhbHMgd2ljaHRpZ2VyCmVpbmdlc3R1ZnQgd2VyZGVuIHNvbGxlbiBhbHMgYW5kZXJlIGJlaSBTdWNobWFzY2hpbmVuLVRyZWZmZXJuLCBvZGVyIHdlbm4gU2llIGVpbnplbG5lIFNlaXRlbiB2b24gZGVyIEluZGl6aWVydW5nIGR1cmNoIFN1Y2htYXNjaGluZW4gYXVzc2NobGllJnN6bGlnO2VuIG0mb3VtbDtjaHRlbi48L3A+CjxwPlNFTyBUb29scyBmJnV1bWw7Z3QgYXUmc3psaWc7ZXJkZW0gZWluZW4gVmVyd2VpcyBhdWYgZGFzIEJpbGQsIGRhcyBhbHMgSGF1cHRiaWxkIGYmdXVtbDtyIElocmUgU2VpdGUgdmVyd2VuZGV0IHdlcmRlbiBzb2xsICh3aWNodGlnIGYmdXVtbDtyIExpbmtzLCBkaWUgYmVpIEZhY2Vib29rIGdldGVpbHQgd2VyZGVuKSB3ZW5uIFNpZSBlaW4gIkJpbGQiIGYmdXVtbDtyIGRpZSBTZWl0ZSBhdWYgZGVtIE9wdGlvbnMtVGFiIElocmVyIFNlaXRlIGZlc3RsZWdlbi4gV2VubiBTaWUgT3BlbkdyYXBoIHZlcndlbmRlbiwgZXJzZXR6dCBkaWVzZXMgQmlsZCBhdSZzemxpZztlcmRlbSBkYXMgU3RhbmRhcmQtQmlsZApmJnV1bWw7ciBPcGVuR3JhcGgtU2VpdGVuIGRhcyBTaWUgaW4gZGVuIEVpbnN0ZWxsdW5nZW4gdm9uIFNFTyBUb29scyBmZXN0Z2VsZWd0IGhhYmVuLiBBY2h0ZW4gU2llIGRhcmF1ZiwgZGEmc3psaWc7IFNpZSBkaWVzZSBCaWxkZXIgaW4gSWhyIC91cGxvYWRzL2ltYWdlcyAtIFZlcnplaWNobmlzIGhvY2hsYWRlbiwgZGFtaXQgc2llIHZvbiBDTVNNUyBlcmthbm50IHdlcmRlbi48L3A+IjsgCjxoMz5XZWxjaGUgUGFyYW1ldGVyIHNpbmQgZXJmb3JkZXJsaWNoPzwvaDM+CjxwPkRhcyBNb2R1bCBiZW4mb3VtbDt0aWd0IGtlaW5lIFBhcmFtZXRlcjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQgb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDEwLCBIZW5uaW5nIFNjaGFlZmVyIDxhIGhyZWY9Im1haWx0bzpoZW5uaW5nLnNjaGFlZmVyQGdtYWlsLmNvbSI+Jmx0O2hlbm5pbmcuc2NoYWVmZXJAZ21haWwuY29tJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NFTyBUb29scyc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1NFTyBUb29scyBoYXZlIGJlZW4gaW5zdGFsbGVkLiBCZSBzdXJlIHRvIHJlYWQgdGhlIG1vZHVsZSBoZWxwIHRvIGxlYXJuIGhvdyB0byB1c2UgdGhlbS4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1NFTyBUb29scyBoYXZlIGJlZW4gdW5pbnN0YWxsZWQuIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHlvdSBoYXZlIGp1c3QgbG9zdCBhbGwgbWV0YSBpbmZvcm1hdGlvbiBmcm9tIHlvdXIgcGFnZXMhJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdEbyB5b3UgcmVhbGx5IHdhbnQgdG8gdW5pbnN0YWxsIFNFTyBUb29scz8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bGUgdXBncmFkZWQgdG8gdmVyc2lvbiAlcy4nOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdTZXZlcmFsIHRvb2xzIHRvIGhlbHAgd2l0aCBTZWFyY2ggRW5naW5lIE9wdGltaXphdGlvbiBhbmQgY2hlY2sgZm9yIHN1Ym9wdGltYWwgU0VPLXJlbGF0ZWQgdGhpbmdzLic7CgokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZFsnYWRtaW5fdGl0bGUnXSA9ICdTRU8gVG9vbHMgQWRtaW4gUGFuZWwnOwokbGFuZ1snYWRtaW5kZXNjcmlwdGlvbiddID0gJ1Rlc3QnOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ1NFT0FsZXJ0cyddID0gJ1NFTyBBbGVydHMnOwokbGFuZ1snUGFnZWRlc2NyaXB0aW9ucyddID0gJ1BhZ2Ugc2V0dGluZ3MnOwokbGFuZ1snU2l0ZW1hcCddID0gJ1NpdGVtYXAnOwokbGFuZ1snU0VPU2V0dGluZ3MnXSA9ICdTRU8gU2V0dGluZ3MnOwokbGFuZ1sndGl0bGVfc2VvYWxlcnRzJ10gPSAnU0VPIEFsZXJ0cyc7CiRsYW5nWyd0aXRsZV9wYWdlZGVzY3JpcHRpb25zJ10gPSAnUGFnZSBzZXR0aW5ncyc7CiRsYW5nWyd0aXRsZV9zaXRlbWFwJ10gPSAnU2l0ZW1hcCc7CiRsYW5nWyd0aXRsZV9zZW9zZXR0aW5ncyddID0gJ1NFTyBTZXR0aW5ncyc7CgokbGFuZ1sndGl0bGVfbWV0YV90eXBlJ10gPSAnTWV0YSBUYWcgR2VuZXJhdG9yJzsKJGxhbmdbJ21ldGFfY3JlYXRlX3N0YW5kYXJkJ10gPSAnR2VuZXJhdGUgc3RhbmRhcmQgTWV0YSBUYWdzJzsKJGxhbmdbJ21ldGFfY3JlYXRlX2R1YmxpbmNvcmUnXSA9ICdHZW5lcmF0ZSBEdWJsaW4gQ29yZSBNZXRhIFRhZ3MnOwokbGFuZ1snbWV0YV9jcmVhdGVfb3BlbmdyYXBoJ10gPSAnR2VuZXJhdGUgT3BlbkdyYXBoIE1ldGEgVGFncyAoZS5nLiBmb3IgRmFjZWJvb2sgTGlrZSBCdXR0b24pJzsKCiRsYW5nWyd0aXRsZV9tZXRhX2RlZmF1bHRzJ10gPSAnTUVUQSBUYWcgVmFsdWVzJzsKJGxhbmdbJ21ldGFfcHVibGlzaGVyJ10gPSAnU2l0ZSBwdWJsaXNoZXInOwokbGFuZ1snbWV0YV9wdWJsaXNoZXJfaGVscCddID0gJyhUaGlzIGlzIHVzdWFsbHkgdGhlIG9yZ2FuaXphdGlvbiB5b3UgYXJlIGJ1aWxkaW5nIHRoZSB3ZWJzaXRlIGZvciknOwokbGFuZ1snbWV0YV9jb250cmlidXRvciddID0gJ1NpdGUgY29udHJpYnV0b3InOwokbGFuZ1snbWV0YV9jb250cmlidXRvcl9oZWxwJ10gPSAnKFVzdWFsbHksIHRoaXMgd291bGQgYmUgeW91IG9yIGFueSBvdGhlciBjb250ZW50IGF1dGhvciknOwokbGFuZ1snbWV0YV9jb3B5cmlnaHQnXSA9ICdTaXRlIGNvcHlyaWdodCc7CiRsYW5nWydtZXRhX2NvcHlyaWdodF9oZWxwJ10gPSAnKFNvbWV0aGluZyBsaWtlICIoQykgWW91ciBDb21wYW55LiBBbGwgUmlnaHRzIFJlc2VydmVkIiknOwokbGFuZ1snbWV0YV9sb2NhdGlvbl9kZXNjcmlwdGlvbiddID0gJ0lmIHlvdXIgd2Vic2l0ZSBpcyBhYm91dCBhbiBlbnRpdGl5IHRoYXQgY2FuIGJlIGxvY2F0ZWQgb24gYSBtYXAsIHlvdSBzaG91bGQgb3B0aW9uYWxseSBmaWxsIGluIHRoZSBmb2xsb3dpbmcgdmFsdWVzOic7CiRsYW5nWydtZXRhX2xvY2F0aW9uJ10gPSAnTG9jYXRpb24gb2YgeW91ciBlbnRpdHknOwokbGFuZ1snbWV0YV9sb2NhdGlvbl9oZWxwJ10gPSAnKFVzdWFsbHksIHRoaXMgd291bGQgYmUgdGhlIHRvd24gbmFtZSBvZiB5b3VyIGNvbXBhbnkpJzsKJGxhbmdbJ21ldGFfcmVnaW9uJ10gPSAnUmVnaW9uIG9mIHlvdXIgZW50aXR5JzsKJGxhbmdbJ21ldGFfcmVnaW9uX2hlbHAnXSA9ICcoRW50ZXIgc29tZXRoaW5nIGxpa2UgIlVTLUlMIiBmb3IgYW4gZW50aXR5IGxvY2F0ZWQgaW4gSWxsaW5vaXMsIFVTKSc7CiRsYW5nWydtZXRhX2xhdGl0dWRlJ10gPSAnTGF0aXR1ZGUgb2YgeW91ciBlbnRpdHknOwokbGFuZ1snbWV0YV9sYXRpdHVkZV9oZWxwJ10gPSAnKEVudGVyIHRoZSBkZWNpbWFsIGxhdGl0dWRlIGdlbyBjb29kaW5hdGUgb2YgeW91ciBlbnRpdGl5KSc7CiRsYW5nWydtZXRhX2xvbmdpdHVkZSddID0gJ0xvbmdpdHVkZSBvZiB5b3VyIGVudGl0eSc7CiRsYW5nWydtZXRhX2xvbmdpdHVkZV9oZWxwJ10gPSAnKEVudGVyIHRoZSBkZWNpbWFsIGxvbmdpdHVkZSBnZW8gY29vZGluYXRlIG9mIHlvdXIgZW50aXRpeSknOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfZGVzY3JpcHRpb24nXSA9ICdJZiB5b3UgYXJlIGNyZWF0aW5nIE9wZW5HcmFwaCBNRVRBIFRhZ3MsIHBsZWFzZSBmaWxsIGluIHRoZSBmb2xsb3dpbmcgdmFsdWVzOic7CiRsYW5nWydtZXRhX29wZW5ncmFwaF90aXRsZSddID0gJ09wZW5HcmFwaCBwYWdlIHRpdGxlJzsKJGxhbmdbJ21ldGFfb3BlbmdyYXBoX3RpdGxlX2hlbHAnXSA9ICcoWW91IGNhbiB1c2UgdGhlIHt0aXRsZX0gdGFnIGhlcmUgdG8gcmVwbGFjZSB3aXRoIHRoZSBhY3R1YWwgcGFnZSB0aXRsZSknOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfdHlwZSddID0gJ09wZW5HcmFwaCBkZWZhdWx0IHBhZ2UgdHlwZSc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF90eXBlX2hlbHAnXSA9ICcoVGhlIGRlZmF1bHQgcGFnZSB0eXBlIGZvciBPcGVuR3JhcGgsIGNhbiBiZSBvdmVycmlkZGVuIGZvciBlYWNoIHBhZ2UuIExvb2sgPGEgaHJlZj0iaHR0cDovL2RldmVsb3BlcnMuZmFjZWJvb2suY29tL2RvY3Mvb3BlbmdyYXBoI3R5cGVzIiB0YWdldD0iX2JsYW5rIj5oZXJlPC9hPiBmb3IgYSBsaXN0IG9mIGFsbG93ZWQgdmFsdWVzKSc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9zaXRlbmFtZSddID0gJ09wZW5HcmFwaCBzaXRlIG5hbWUnOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfc2l0ZW5hbWVfaGVscCddID0gJyhBIHNob3J0IHZlcnNpb24gb2YgeW91ciBzaXRlIG5hbWUsIGUuZy4gIllvdXIgQ29tcGFueSIsIG1heC4gMjUgY2hhcnMpJzsKJGxhbmdbJ21ldGFfb3BlbmdyYXBoX2ltYWdlJ10gPSAnT3BlbkdyYXBoIGRlZmF1bHQgaW1hZ2UnOwokbGFuZ1snbWV0YV9vcGVuZ3JhcGhfaW1hZ2VfaGVscCddID0gJyhTZWxlY3QgYW4gaW1hZ2UgZnJvbSB5b3VyIC91cGxvYWRzL2ltYWdlcyBkaXJlY3RvcnkgdG8gYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBmb3IgT3BlbkdyYXBoIHBhZ2VzKSc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9hZG1pbnMnXSA9ICdGYWNlYm9vayBzaXRlIGFkbWluaXN0cmF0b3JzJzsKJGxhbmdbJ21ldGFfb3BlbmdyYXBoX2FkbWluc19oZWxwJ10gPSAnKEEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZmFjZWJvb2sgYWNjb3VudCBJRHMgd2hvIGFyZSBhYmxlIHRvIGFkbWluaXN0cmF0ZSB0aGUgc3RyZWFtcyBvZiB5b3VyIHBhZ2VzKSc7CiRsYW5nWydtZXRhX29wZW5ncmFwaF9hcHBsaWNhdGlvbiddID0gJ0ZhY2Vib29rIGFwcGxpY2F0aW9uJzsKJGxhbmdbJ21ldGFfb3BlbmdyYXBoX2FwcGxpY2F0aW9uX2hlbHAnXSA9ICcoVGhlIElEIG9mIGEgZmFjZWJvb2sgYXBwbGljYXRpb24gYWJsZSB0byBhZG1pbmlzdHJhdGUgdGhlIHN0cmVhbXMgb2YgeW91ciBwYWdlcyknOwoKJGxhbmdbJ3RpdGxlX3RpdGxlX2Rlc2NyaXB0aW9uJ10gPSAnUGFnZSB0aXRsZSwgZGVzY3JpcHRpb24gYW5kIGtleXdvcmRzJzsKJGxhbmdbJ3RpdGxlX3RpdGxlJ10gPSAnUGFnZSB0aXRsZSc7CiRsYW5nWyd0aXRsZV90aXRsZV9oZWxwJ10gPSAnKFRoZSBwYWdlIHRpdGxlIHRvIGJlIGRpc3BsYXllZCBpbiB0aGUgYnJvd3NlclwncyB0aXRsZSBiYXIuIFlvdSBjYW4gdXNlIHRoZSB0YWdzIHt0aXRsZX0sIHtwYWdldGl0bGV9IGFuZCB7c2VvX2tleXdvcmRzfSBoZXJlKSc7CiRsYW5nWyd0aXRsZV9tZXRhX3RpdGxlJ10gPSAnUGFnZSBNZXRhIHRpdGxlJzsKJGxhbmdbJ3RpdGxlX21ldGFfaGVscCddID0gJyhUaGUgcGFnZSB0aXRsZSB0byBiZSB1c2VkIGluIHRoZSBNZXRhIHRpdGxlIHRhZ3MuIFlvdSBjYW4gdXNlIHRoZSB0YWdzIHt0aXRsZX0sIHtwYWdldGl0bGV9IGFuZCB7c2VvX2tleXdvcmRzfSBoZXJlKSc7CiRsYW5nWydkZXNjcmlwdGlvbl9ibG9ja190aXRsZSddID0gJ05hbWUgb2YgcGFnZSBkZXNjcmlwdGlvbiBjb250ZW50IGJsb2NrJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uX2Jsb2NrX2hlbHAnXSA9ICcoVGhlIG5hbWUgb2YgeW91ciBwYWdlIGRlc2NyaXB0aW9uIGNvbnRlbnQgYmxvY2suIFBsZWFzZSBzZWUgYmVsb3cgZm9yIGFuIGV4cGxhbmF0aW9uKSc7CiRsYW5nWydkZWZhdWx0X2tleXdvcmRzX3RpdGxlJ10gPSAnS2V5d29yZHMgdG8gYWx3YXlzIGluY2x1ZGUnOwokbGFuZ1snZGVmYXVsdF9rZXl3b3Jkc19oZWxwJ10gPSAnKEEgc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2Yga2V5d29yZHMgeW91IHdvdWxkIGxpa2UgdG8gaW5jbHVkZSBvbiBldmVyeSBwYWdlKSc7CgokbGFuZ1sndGl0bGVfc2l0ZW1hcF9kZXNjcmlwdGlvbiddID0gJ0dvb2dsZSBTaXRlbWFwIGFuZCBDcmF3bGVyIFNldHRpbmdzJzsKJGxhbmdbJ2NyZWF0ZV9zaXRlbWFwX3RpdGxlJ10gPSAnQ3JlYXRlIGFuIFhNTCBHb29nbGUgU2l0ZW1hcConOwokbGFuZ1sncHVzaF9zaXRlbWFwX3RpdGxlJ10gPSAnQXV0b21hdGljYWxseSBwdXNoIHRoZSBzaXRlbWFwIHRvIEdvb2dsZSBhZnRlciBjb250ZW50IGNoYW5nZXMnOwokbGFuZ1snY3JlYXRlX3JvYm90c190aXRsZSddID0gJ0NyZWF0ZSBhIHJvYm90cy50eHQgZmlsZSonOwokbGFuZ1sndmVyaWZpY2F0aW9uX3RpdGxlJ10gPSAnU2l0ZSB2ZXJpZmljYXRpb24gY29kZSc7CiRsYW5nWyd2ZXJpZmljYXRpb25faGVscCddID0gJyhUaGUgc2l0ZSB2ZXJpZmljYXRpb24gY29kZSB5b3Ugb2J0YWluIGZyb20gR29vZ2xlIFdlYm1hc3RlciBUb29scywganVzdCB0aGUgaGFzaCwgbm90IHRoZSBjb21wbGV0ZSBtZXRhIHRhZyknOwoKJGxhbmdbJ3RpdGxlX2FsZXJ0c191cmdlbnQnXSA9ICdUbyBiZSBmaXhlZCBpbW1lZGlhdGVseSc7CiRsYW5nWyd0aXRsZV9hbGVydHNfaW1wb3J0YW50J10gPSAnVG8gYmUgZml4ZWQgYXMgc29vbiBhcyBwb3NzaWJsZSc7CiRsYW5nWyd0aXRsZV9hbGVydHNfbm90aWNlcyddID0gJ1RoaW5ncyB5b3Ugc2hvdWxkIGNvbnNpZGVyIGZpeGluZyc7CiRsYW5nWydub3RoaW5nX3RvX2JlX2ZpeGVkJ10gPSAnVGhlcmUgYXJlIG5vIGFjdGlvbnMgeW91IG5lZWQgdG8gdGFrZSBpbiB0aGlzIGNhdGVnb3J5JzsKCiRsYW5nWydzYXZlJ10gPSAnU2F2ZSBzZXR0aW5ncyc7CiRsYW5nWydub25lJ10gPSAnKG5vbmUpJzsKJGxhbmdbJ3NldHRpbmdzX3VwZGF0ZWQnXSA9ICdUaGUgU0VPIHNldHRpbmdzIHdlcmUgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQuJzsKJGxhbmdbJ3Byb2JsZW1fYWxlcnQnXSA9ICdoYXMgZGV0ZWN0ZWQgc2V2ZXJlIHByb2JsZW1zIHdpdGggeW91ciBTRU8uICVzJzsKJGxhbmdbJ3Byb2JsZW1fbGlua190aXRsZSddID0gJ0NsaWNrIGhlcmUgdG8gZml4IHRoZW0nOwoKJGxhbmdbJ2hlbHBfZGVzY3JpcHRpb25fY29udGVudCddID0gJzxiPkhvdyB0byB1c2UgdGhlICJkZXNjcmlwdGlvbiBjb250ZW50IGJsb2NrIjo8L2I+PGJyIC8+VG8gYmUgYWJsZSB0byBlbnRlciBhIHBhZ2UgZGVzY3JpcHRpb24gd2hlbiBlZGl0aW5nIGEgcGFnZSwgeW91IG11c3QgaW5jbHVkZSB0aGUgZm9sbG93aW5nIGNvZGUgYW55d2hlcmUgb24gZXZlcnkgdGVtcGxhdGU6PGJyIC8+PGJyIC8+PHByZT57Y2FwdHVyZX17Y29udGVudCBibG9jaz0iTUVUQSBEZXNjaXB0aW9uIiBvbmVsaW5lPSJ0cnVlIn17L2NhcHR1cmV9PC9wcmU+PGJyIC8+VGhlbiwgcHV0ICJNRVRBIERlc2NyaXB0aW9uIiBpbnRvIHRoZSBmaWVsZCAiTmFtZSBvZiBwYWdlIGRlc2NyaXB0aW9uIGNvbnRlbnQgYmxvY2s8YnIgLz48YnIgLz5BbHRlcm5hdGl2ZWx5LCBlbmFibGUgdGhlIG9wdGlvbiAmcXVvdDtBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGRlc2NyaXB0aW9ucyB3aGVyZSBub25lIGlzIGdpdmVuJnF1b3Q7LiBUaGlzIGlzIG5vdCBhcyBnb29kIGJ1dCBzdGlsbCBiZXR0ZXIgdGhhbiBub3RoaW5nLic7CiRsYW5nWydoZWxwX3NpdGVtYXBfcm9ib3RzJ10gPSAnKikgVG8gdXNlIHRoZSBhdXRvbWF0aWMgZ2VuZXJhdGlvbiBvZiBhIHNpdGVtYXAtIGFuZCByb2JvdHMtZmlsZSwgdGhlIHJvb3QgZGlyZWN0b3J5IG9mIHlvdXIgQ01TTVMgaW5zdGFsbGF0aW9uIG11c3QgYmUgd3JpdGVhYmxlIHRvIHRoZSB3ZWIgc2VydmVyLiBJZiB5b3VyIGFscmVhZHkgaGF2ZSBhIHNpdGVtYXAueG1sIGFuZC9wciByb2JvdHMudHh0IGZpbGUsIGJvdGggb2YgdGhlbSBtdXN0IGJlIHdyaXRlYWJsZSB0byB0aGUgd2ViIHNlcnZlci4nOwoKJGxhbmdbJ3VzZV9zdGFuZGFyZF9vcl9kdWJsaW5jb3JlX21ldGEnXSA9ICdVc2UgYXQgbGVhc3Qgb25lIG9mIHRoZSBzdGFuZGFyZCBvciBEdWJsaW4gQ29yZSBNZXRhIFRhZyBnZW5lcmF0b3JzJzsKJGxhbmdbJ3VzZV9zdGFuZGFyZF9tZXRhJ10gPSAnWW91IHNob3VsZCBhbHdheXMgZW5hYmxlIHRoZSBzdGFuZGFyZCBNZXRhIGdlbmVyYXRvcic7CiRsYW5nWydtZXRhX2Rlc2NyaXB0aW9uX21pc3NpbmcnXSA9ICdUaGUgcGFnZSA8aT4lczwvaT4gaXMgbGFja2luZyBhIE1ldGEgZGVzY3JpcHRpb24nOwokbGFuZ1snbWV0YV9kZXNjcmlwdGlvbl9zaG9ydCddID0gJ1RoZSBNZXRhIGRlc2NyaXB0aW9uIG9mIDxpPiVzPC9pPiBpcyByYXRoZXIgc2hvcnQgKCA8IDc1IGNoYXJzKSc7CiRsYW5nWydkdXBsaWNhdGVfdGl0bGVzJ10gPSAnVGhlIHBhZ2VzIDxpPiVzPC9pPiBhbmQgPGk+JXM8L2k+IGhhdmUgdGhlIHNhbWUgdGl0bGUnOwokbGFuZ1snZHVwbGljYXRlX2Rlc2NyaXB0aW9ucyddID0gJ1RoZSBwYWdlcyA8aT4lczwvaT4gYW5kIDxpPiVzPC9pPiBoYXZlIHRoZSBzYW1lIE1ldGEgZGVzY3JpcHRpb24nOwokbGFuZ1sncHJvdmlkZV9hbl9hdXRob3InXSA9ICdZb3Ugc2hvdWxkIHByb3ZpZGUgdGhlIG5hbWUgb2YgdGhlIHBhZ2UgcHVibGlzaGVyJzsKJGxhbmdbJ3NldF91cF9kZXNjcmlwdGlvbl9ibG9jayddID0gJ1NldCB1cCBhIGNvbnRlbnQgYmxvY2sgZm9yIE1ldGEgZGVzY3JpcHRpb25zJzsKJGxhbmdbJ2FjdGl2YXRlX3ByZXR0eV91cmxzJ10gPSAnQWN0aXZhdGUgdGhlIHByZXR0eSBVUkxzIGZlYXR1cmUgb2YgQ01TTVMnOwokbGFuZ1sncHJldHR5X3VybHNfaGVscCddID0gJzxhIGhyZWY9Imh0dHA6Ly93aWtpLmNtc21hZGVzaW1wbGUub3JnL2luZGV4LnBocC9Vc2VyX0hhbmRib29rL0luc3RhbGxhdGlvbi9PcHRpb25hbF9TZXR0aW5ncyIgdGFyZ2V0PSJfYmxhbmsiPkdldCBoZWxwPC9hPic7CiRsYW5nWydjcmVhdGVfYV9zaXRlbWFwJ10gPSAnSGF2ZSBhIEdvb2dsZSBYTUwgU2l0ZW1hcCBhdXRvbWF0aWNhbGx5IGNyZWF0ZWQgZm9yIHlvdSc7CiRsYW5nWydhdXRvbWF0aWNhbGx5X3VwbG9hZF9zaXRlbWFwJ10gPSAnSGF2ZSB5b3VyIFhNTCBTaXRlbWFwIGF1dG9tYXRpY2FsbHkgdXBsb2FkZWQgdG8gR29vZ2xlJzsKJGxhbmdbJ2NyZWF0ZV9yb2JvdHMnXSA9ICdIYXZlIGEgcm9ib3RzLnR4dCBmaWxlIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBmb3IgeW91JzsKJGxhbmdbJ3NpdGVtYXBfbm90X3dyaXRlYWJsZSddID0gJ1lvdXIgc2l0ZW1hcC54bWwgZmlsZSBpcyBub3Qgd3JpdGVhYmxlJzsKJGxhbmdbJ2NobW9kX3NpdGVtYXAnXSA9ICdTZXQgeW91ciAvc2l0ZW1hcC54bWwgZmlsZSB0byBiZSB3cml0ZWFibGUgYnkgdGhlIHdlYiBzZXJ2ZXInOwokbGFuZ1sncm9ib3RzX25vdF93cml0ZWFibGUnXSA9ICdZb3VyIHJvYm90cy50eHQgZmlsZSBpcyBub3Qgd3JpdGVhYmxlJzsKJGxhbmdbJ25vX29wZW5ncmFwaF9hZG1pbnMnXSA9ICdZb3UgaGF2ZSBub3Qgc2V0IGFuIE9wZW5HcmFwaCBhZG1pbiBhcHBsaWNhdGlvbiByZXNwLiBhZG1pbiBsaXN0JzsKJGxhbmdbJ25vX29wZW5ncmFwaF90eXBlJ10gPSAnWW91IGhhdmUgbm90IHNldCB0aGUgZGVmYXVsdCBPcGVuR3JhcGggcGFnZSB0eXBlJzsKJGxhbmdbJ25vX29wZW5ncmFwaF9zaXRlbmFtZSddID0gJ1lvdSBoYXZlIG5vdCBzZXQgdGhlIE9wZW5HcmFwaCBzaXRlIG5hbWUnOwokbGFuZ1snbm9fb3BlbmdyYXBoX2ltYWdlJ10gPSAnWW91IGhhdmUgbm90IHNldCBhbiBPcGVuR3JhcGggZGVmYXVsdCBpbWFnZSc7CiRsYW5nWydjaG1vZF9yb2JvdHMnXSA9ICdTZXQgeW91ciAvcm9ib3RzLnR4dCBmaWxlIHRvIGJlIHdyaXRlYWJsZSBieSB0aGUgd2ViIHNlcnZlcic7CiRsYW5nWydlZGl0X3BhZ2UnXSA9ICdFZGl0ICVzJzsKJGxhbmdbJ2VkaXRfcGFnZV90b19maXgnXSA9ICdDbGljayBoZXJlIHRvIGVkaXQgdGhlIHBhZ2UgYW5kIGZpeCB0aGUgcHJvYmxlbSc7CiRsYW5nWyd2aXNpdF9zZXR0aW5ncyddID0gJ0NoYW5nZSB0aGUgc2V0dGluZ3Mgb2YgU0VPVG9vbHMgdG8gZml4IHRoaXMgcHJvYmxlbSc7CgokbGFuZ1sncGFnZV9pZCddID0gJ0lEJzsKJGxhbmdbJ3BhZ2VfbmFtZSddID0gJ1BhZ2UgbmFtZSc7CiRsYW5nWydwcmlvcml0eSddID0gJ1NpdGVtYXAgUHJpb3JpdHknOwokbGFuZ1snb2dfdHlwZSddID0gJ09wZW5HcmFwaCB0eXBlJzsKJGxhbmdbJ2tleXdvcmRzJ10gPSAnIyBLZXl3b3Jkcyc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2luZGV4J10gPSAnSW5kZXhhYmxlJzsKCiRsYW5nWydjbGlja190b19hZGRfZGVzY3JpcHRpb24nXSA9ICdDbGljayBoZXJlIHRvIGFkZCBhIHBhZ2UgZGVzY3JpcHRpb24nOwokbGFuZ1sndG9nZ2xlJ10gPSAndG9nZ2xlJzsKJGxhbmdbJ3Jlc2V0J10gPSAncmVzZXQnOwokbGFuZ1sncmVzZXRfdG9fZGVmYXVsdCddID0gJ1Jlc2V0IHRoaXMgdG8gdGhlIGRlZmF1bHQgdmFsdWUnOwokbGFuZ1snZWRpdF92YWx1ZSddID0gJ0VkaXQgdGhpcyB2YWx1ZSc7CgokbGFuZ1snaGVscF9vcGVuZ3JhcGgnXSA9ICdMb29rIDxhIGhyZWY9Imh0dHA6Ly9kZXZlbG9wZXJzLmZhY2Vib29rLmNvbS9kb2NzL29wZW5ncmFwaCN0eXBlcyIgdGFnZXQ9Il9ibGFuayI+aGVyZTwvYT4gZm9yIGEgbGlzdCBvZiBhbGxvd2VkIHZhbHVlcyc7CiRsYW5nWydlbnRlcl9uZXdfb2d0eXBlJ10gPSAnRW50ZXIgdGhlIG5ldyB2YWx1ZSBmb3IgdGhpcyBwYWdlXCdzIE9wZW5HcmFwaCB0eXBlJzsKJGxhbmdbJ2hlbHBfbmV3X29ndHlwZSddID0gJ0xlYXZlIGJsYW5rIHRvIHJldmVydCB0byB0aGUgZGVmYXVsdCBzZXR0aW5nJzsKCiRsYW5nWydlbnRlcl9uZXdfa2V5d29yZHMnXSA9ICdFbnRlciB0aGUgbmV3IGtleXdvcmRzIGZvciB0aGlzIHBhZ2UnOwokbGFuZ1snaGVscF9uZXdfa2V5d29yZHMnXSA9ICdXaGl0ZXNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIGtleXdvcmRzLiBMZWF2ZSBibGFuayB0byByZXZlcnQgdG8gYXV0byBnZW5lcmF0ZWQga2V5d29yZHMnOwoKJGxhbmdbJ2dyb3VwdGl0bGVfb3BlbmdyYXBoJ10gPSAnV2UgaGF2ZSBkZXRlY3RlZCAlcyBPcGVuR3JhcGggcmVsYXRlZCBwcm9ibGVtKHMpJzsKJGxhbmdbJ2dyb3VwdGl0bGVfc3lzdGVtJ10gPSAnV2UgaGF2ZSBkZXRlY3RlZCAlcyBwcm9ibGVtKHMpIHdpdGggeW91ciBzeXN0ZW0gY29uZmlndXJhdGlvbic7CiRsYW5nWydncm91cHRpdGxlX3BhZ2VzJ10gPSAnV2UgaGF2ZSBkZXRlY3RlZCAlcyBwcm9ibGVtKHMpIG9uIHlvdXIgY29udGVudCBwYWdlcyc7CiRsYW5nWydncm91cHRpdGxlX3NldHRpbmdzJ10gPSAnV2UgaGF2ZSBkZXRlY3RlZCAlcyBwcm9ibGVtKHMpIHdpdGggeW91ciBTRU8gU2V0dGluZ3MnOwokbGFuZ1snZ3JvdXB0aXRsZV9kZXNjcmlwdGlvbnMnXSA9ICdXZSBoYXZlIGRldGVjdGVkICVzIHByb2JsZW0ocykgd2l0aCB5b3VyIHBhZ2UgZGVzY3JpcHRpb25zJzsKJGxhbmdbJ2dyb3VwdGl0bGVfdGl0bGVzJ10gPSAnV2UgaGF2ZSBkZXRlY3RlZCAlcyBwcm9ibGVtKHMpIHdpdGggeW91ciBwYWdlIHRpdGxlcyc7CgokbGFuZ1sndmlld19hbGwnXSA9ICdWaWV3IGFsbCc7CgokbGFuZ1sndGl0bGVfbWV0YXNldHRpbmdzJ10gPSAnUGFnZSB0aXRsZSAmIE1ldGEgaW5mb3JtYXRpb24nOwokbGFuZ1sndGl0bGVfc2l0ZW1hcHNldHRpbmdzJ10gPSAnU2l0ZW1hcCAmIENyYXdsZXIgc2V0dGluZ3MnOwokbGFuZ1sndGl0bGVfa2V5d29yZHNldHRpbmdzJ10gPSAnS2V5d29yZCBnZW5lcmF0b3Igc2V0dGluZ3MnOwoKJGxhbmdbJ2Rlc2NyaXB0aW9uX2F1dG9fZ2VuZXJhdGUnXSA9ICdBdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgcGFnZSBkZXNjcmlwdGlvbiB3aGVyZSBub25lIGlzIHByb3ZpZGVkJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uX2F1dG9fdGl0bGUnXSA9ICdUZXh0IGZvciBhdXRvLWdlbmVyYXRlZCBkZXNjcmlwdGlvbnMnOwokbGFuZ1snZGVzY3JpcHRpb25fYXV0b19oZWxwJ10gPSAnKFlvdSA8Yj5tdXN0PC9iPiBpbmNsdWRlIHRoZSB0YWcge2tleXdvcmRzfSBoZXJlKSc7CgokbGFuZ1snc2V0X3VwX2F1dG9fZGVzY3JpcHRpb24nXSA9ICdTZXQgdXAgdGhlIGRlc2NyaXB0aW9uIGF1dG8tZ2VuZXJhdG9yIGFuZCBlbnN1cmUgdGhlIHRleHQgY29udGFpbnMgdGhlIHRhZyB7a2V5d29yZHN9JzsKJGxhbmdbJ2F1dG9fZ2VuZXJhdGVkJ10gPSAnQXV0b21hdGljYWxseSBnZW5lcmF0ZWQnOwokbGFuZ1snYW5kJ10gPSAnYW5kJzsKCiRsYW5nWyd0aXRsZV9rZXl3b3JkX3dlaWdodCddID0gJ0tleXdvcmQgd2VpZ2h0IHNldHRpbmdzJzsKJGxhbmdbJ2tleXdvcmRfbWlubGVuZ3RoX3RpdGxlJ10gPSAnTWluaW11bSBrZXl3b3JkIGxlbmd0aCc7CiRsYW5nWydrZXl3b3JkX21pbmxlbmd0aF9oZWxwJ10gPSAnKFRoZSBtaW5pbXVtIGxlbmd0aCBvZiBhIHdvcmQgdG8gYmUgY29uc2lkZXJlZCBhcyBhIGtleXdvcmQpJzsKJGxhbmdbJ2tleXdvcmRfdGl0bGVfd2VpZ2h0X3RpdGxlJ10gPSAnV2VpZ2h0IG9mIHdvcmRzIGluIHRoZSBwYWdlIHRpdGxlJzsKJGxhbmdbJ2tleXdvcmRfdGl0bGVfd2VpZ2h0X2hlbHAnXSA9ICcoVGhlIHdlaWdodCBvZiB3b3JkcyBpbiB0aGUgcGFnZSB0aXRsZS4gVGhlIGhpZ2hlciBhIHdvcmRcJ3Mgd2VpZ2h0LCB0aGUgbW9yZSBsaWtlbHkgaXQgaXMgdG8gYmVjb21lIGEga2V5d29yZCknOwokbGFuZ1sna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHRfdGl0bGUnXSA9ICdXZWlnaHQgb2Ygd29yZHMgaW4gdGhlIHBhZ2UgZGVzY3JpcHRpb24nOwokbGFuZ1sna2V5d29yZF9kZXNjcmlwdGlvbl93ZWlnaHRfaGVscCddID0gJyhUaGUgd2VpZ2h0IG9mIHdvcmRzIGluIHRoZSBwYWdlIGRlc2NyaXB0aW9uLiBUaGUgaGlnaGVyIGEgd29yZFwncyB3ZWlnaHQsIHRoZSBtb3JlIGxpa2VseSBpdCBpcyB0byBiZWNvbWUgYSBrZXl3b3JkKSc7CiRsYW5nWydrZXl3b3JkX2hlYWRsaW5lX3dlaWdodF90aXRsZSddID0gJ1dlaWdodCBvZiB3b3JkcyBpbiBjb250ZW50IGhlYWRsaW5lcyc7CiRsYW5nWydrZXl3b3JkX2hlYWRsaW5lX3dlaWdodF9oZWxwJ10gPSAnKFRoZSB3ZWlnaHQgb2Ygd29yZHMgYmV0d2VlbiAmbHQ7aDEmZ3Q7IHRvICZsdDtoNiZndDsgdGFncy4gVGhlIGhpZ2hlciBhIHdvcmRcJ3Mgd2VpZ2h0LCB0aGUgbW9yZSBsaWtlbHkgaXQgaXMgdG8gYmVjb21lIGEga2V5d29yZCknOwokbGFuZ1sna2V5d29yZF9jb250ZW50X3dlaWdodF90aXRsZSddID0gJ1dlaWdodCBvZiB3b3JkcyBpbiBwbGFpbiBjb250ZW50JzsKJGxhbmdbJ2tleXdvcmRfY29udGVudF93ZWlnaHRfaGVscCddID0gJyhUaGUgd2VpZ2h0IG9mIHdvcmRzIGluc2lkZSB0aGUgcGxhaW4gY29udGVudC4gVGhlIGhpZ2hlciBhIHdvcmRcJ3Mgd2VpZ2h0LCB0aGUgbW9yZSBsaWtlbHkgaXQgaXMgdG8gYmVjb21lIGEga2V5d29yZCknOwoKJGxhbmdbJ2tleXdvcmRfbWluaW11bV93ZWlnaHRfdGl0bGUnXSA9ICdNaW5pbXVtIHRvdGFsIHdlaWdodCBvZiBhIGtleXdvcmQnOwokbGFuZ1sna2V5d29yZF9taW5pbXVtX3dlaWdodF9oZWxwJ10gPSAnKFRoZSBtaW5pbXVtIHRvdGFsIHdlaWdodCBvZiBhIHdvcmQgdG8gYmVjb21lIGEga2V5d29yZC4gU2hvdWxkIGJlIGdyZWF0ZXIgdGhhbiB0aGUgaGlnaGVzdCB3ZWlnaHQgZnJvbSBhYm92ZS4gVGhlIHNtYWxsZXIgdGhlIG51bWJlciwgdGhlIG1vcmUga2V5d29yZHMgeW91IGdldCknOwoKJGxhbmdbJ2hlbHBfa2V5d29yZF9nZW5lcmF0b3InXSA9ICdUaGUgc2V0dGluZ3MgeW91IGNoYW5nZSBvbiB0aGlzIHBhZ2Ugd2lsbCBub3QgYWZmZWN0IGFueSBrZXl3b3JkcyB5b3UgZW50ZXIgbWFudWFsbHkuIEZlZWwgZnJlZSB0byBwbGF5IHdpdGggYWxsIHZhbHVlcyB1bnRpbCB5b3UgZ2V0IHRoZSBiZXN0IHJlc3VsdHMgZm9yIHlvdXIgcGFnZS4nOwoKJGxhbmdbJ3RpdGxlX2tleXdvcmRfZXhjbHVkZSddID0gJ0tleXdvcmQgZXhjbHVzaW9uIGxpc3QnOwokbGFuZ1sna2V5d29yZF9leGNsdWRlX3RpdGxlJ10gPSAnV29yZHMgdG8gbmV2ZXIgY29uc2lkZXIgYXMga2V5d29yZHMnOwokbGFuZ1sna2V5d29yZF9leGNsdWRlX2hlbHAnXSA9ICcoUHJvdmlkZSBhIHNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIHdvcmRzIHRoYXQgc2hvdWxkIG5ldmVyIGFwcGVhciBpbiBrZXl3b3JkIGxpc3RzKSc7CgoKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4KPGxpPlZlcnNpb24gMS4wIC0gMjQgQXVndXN0IDIwMTAuIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8L3VsPic7CgokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPgo8cD5TRU8gVG9vbHMgaGVscCB5b3UgaW4gZ2V0dGluZyB5b3VyIFNFTyAoU2VhcmNoIEVuZ2luZSBPcHRpbWl6YXRpb24pIHJpZ2h0LiBUaGUgbW9kdWxlIGFkZHMgc2V2ZXJhbCBTRU8gY2FwYWJpbGl0aWVzIHRvIHlvdXIgQ01TTVMgaW5zdGFsbGF0aW9uIGFuZCBhbGVydHMgeW91IGlmIHlvdSBtaXNzZWQgb3V0IG9uIHNvbWV0aGluZyBTRU8gcmVsYXRlZC4gQ3VycmVudGx5LCB0aGUgZm9sbG93aW5nIGZlYXR1cmVzIGFyZSBzdXBwb3J0ZWQ6PC9wPgo8dWw+CjxsaT4tIGdlbmVyYXRlcyBNZXRhIHRhZ3MgaW4gc3RhbmRhcmQgaHRtbCwgRHVibGluIENvcmUgYW5kIE9wZW5HcmFwaCBmb3JtYXRzPC9saT4KPGxpPi0gYXV0b21hdGljYWxseSBleHRyYWN0cyBrZXl3b3JkcyBmcm9tIHlvdXIgcGFnZXMgYW5kIGFkZHMgdGhlbSB0byB0aGUgbWV0YSB0YWdzIGFuZCBwYWdlIHRpdGxlPC9saT4KPGxpPi0gbGV0cyB5b3UgZGV0ZXJtaW5lIHdpdGggYSBzaW5nbGUgY2xpY2sgd2hldGhlciBjZXJ0YWluIHBhZ2VzIHNob3VsZCBiZSBpbmRleGVkIGJ5IHNlYXJjaCBlbmdpbmVzIG9yIG5vdDwvbGk+CjxsaT4tIGdlbmVyYXRlcyBhIHNpdGVtYXAueG1sIGZpbGUgd2l0aCB5b3VyIHBhZ2VzIHdoaWxlIGdpdmluZyB5b3UgZnVsbCBjb250cm9sIG92ZXIgdGhlIHByaW9yaXRpZXMgb2YgeW91ciBwYWdlczwvbGk+CjxsaT4tIGdlbmVyYXRlcyBhIHJvYm90cy50eHQgZmlsZSBleHBsaWNpdGx5IGRpc2FsbG93aW5nIGFjY2VzcyB0byBwYWdlcyB5b3UgZG9uXCd0IHdhbnQgdG8gYmUgaW5kZXhlZDwvbGk+CjxsaT4tIGFsZXJ0cyB5b3Ugd2hlbiB0aGVyZSBhcmUgc2V2ZXJhbCBwYWdlcyBmZWF0dXJpbmcgdGhlIHNhbWUgcGFnZSB0aXRsZXMgYW5kIGRlc2NyaXB0aW9uczwvbGk+CjxsaT4tIGFsZXJ0cyB5b3Ugd2hlbiB2ZXJ5IHNob3J0IHBhZ2UgbWV0YSBkZXNjcmlwdGlvbnMgYXJlIGRldGVjdGVkPC9saT4KPGxpPi0gYXV0b21hdGljYWxseSBzdWJtaXRzIHlvdXIgc2l0ZW1hcCBmaWxlIHRvIEdvb2dsZSB3aGVuIHlvdSBjaGFuZ2UgeW91ciBjb250ZW50PC9saT4gCjwvdWw+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD5GaXJzdCwgb3BlbiBhbGwgdGVtcGxhdGVzIHdoZXJlIHlvdSB3YW50IGRvIHVzZSBTRU8gVG9vbHMuIFJlbW92ZSB0aGUgY29tcGxldGUgJmx0O3RpdGxlJmd0OyB0YWcgYW5kIHRoZSB7bWV0YWRhdGF9IHRhZyAoZXZlbiBpZiBpdCBzYXlzIHRvIG5ldmVyIHJlbW92ZSBpdCkgYW5kIHJlcGxhY2UgdGhlbSB3aXRoIHRoZSB0YWc8L3A+CjxwcmU+CntTRU9Ub29sc30KPC9wcmU+PGJyIC8+CjxwPk5leHQsIGF0IHRoZSBib3R0b20gb2YgeW91ciB0ZW1wbGF0ZSAoYWZ0ZXIgdGhlIGNsb3NpbmcgJmx0Oy9ib2R5Jmd0OyB0YWcpLCBpbnNlcnQgdGhlIGZvbGxvd2luZyBjb2RlOjwvcD4KPHByZT4Ke2NhcHR1cmV9e2NvbnRlbnQgYmxvY2s9IlBhZ2UgRGVzY3JpcHRpb24iIG9uZWxpbmU9InRydWUifXsvY2FwdHVyZX0KPC9wcmU+PGJyIC8+CjxwPlRoaXMgaXMgd2hlcmUgeW91XCdsbCBlbnRlciBhIHNob3J0IHBhZ2UgZGVzY3JpcHRpb24gKG9uZSBvciB0d28gc2VudGVuY2VzKSB0aGF0IHdpbGwgYXBwZWFyIGluIHRoZSBzZWFyY2ggZW5naW5lXCdzIHJlc3VsdHMgYW5kIGlmLCBmb3IgZXhhbXBsZSwgc29tZW9uZSBzaGFyZXMgYSBsaW5rIHRvIHlvdXIgcGFnZSBvbiBmYWNlYm9vay48L3A+CjxwPk5vdywgdmlzaXQgdGhlIHNldHRpbmdzIHRhYnMgZm9yIHBhZ2UgdGl0bGUgJiBtZXRhIGluZm9ybWF0aW9uLCB0aGUgc2l0ZW1hcCAmIGNyYXdsZXIgc2V0dGluZ3MgYW5kIHRoZSBrZXl3b3JkIGdlbmVyYXRvciBzZXR0aW5ncyBhbmQgZmlsbCBpbiBhbGwgcmVxdWlyZWQgaW5mb3JtYXRpb24gZm9yIHlvdXIgcGFnZS4gVW5kZXIgIk5hbWUgb2YgcGFnZSBkZXNjcmlwdGlvbiBjb250ZW50IGJsb2NrIiB5b3UgbmVlZCB0byBlbnRlciB0aGUgbmFtZSBvZiB0aGUgY29udGVudCBibG9jayB5b3UganVzdCBhZGRlZCB0byB5b3VyIHRlbXBsYXRlcyAoIlBhZ2UgRGVzY3JpcHRpb24iIGluIG91ciBleGFtcGxlKS4gVGhlIHRhYiAiU0VPIEFsZXJ0cyIgd2lsbCBhbGVydCB5b3UgaWYgaXQgZGV0ZWN0cyBhbnl0aGluZyB0aGF0IGlzIHJlcXVpcmVkIGJ1dCBub3QgYWN0aXZhdGVkIG9yIGZpbGxlZCBpbi4gWW91IHNob3VsZCBhbHNvIGNvbnNpZGVyIHNpZ25pbmcgdXAgeW91cgpzaXRlIHdpdGggR29vZ2xlIFdlYm1hc3RlciB0b29scy4gVGhlcmUsIHNlbGVjdCAiTWV0YSB0YWcgdmFsaWRhdGlvbiIgYW5kIHBhc3RlIHRoZSB2ZXJpZmljYXRpb24gY29kZSAocXVpdGUgYSBsb25nIHN0cmluZyBvZiBjaGFyYWN0ZXJzIGFuZCBudW1iZXJzKSBpbnRvIHRoZSBib3ggIlZlcmlmaWNhdGlvbiBDb2RlIiBpbiAiU0VPIFNldHRpbmdzIiB0byBhdXRvbWF0aWNhbGx5IHZlcmlmeSB0aGF0IHlvdSBhcmUgcmVhbGx5CnRoZSBvd25lciBvZiB5b3VyIHBhZ2UgKG5vIG5lZWQgdG8gcGFzdGUgdGhlIEdvb2dsZSBNZXRhLWNvZGUgaW50byB5b3VyIHRlbXBsYXRlKS48L3A+CjxwPkFzIHNvb24gYXMgZXZlcnl0aGluZyBpcyBzZXQgdXAsIGxvb2sgYXQgdGhlICJTRU8gQWxlcnRzIiB0YWIgYW5kIGZpeCBhbGwgcHJvYmxlbXMgZGV0ZWN0ZWQgaGVyZS4gVGFrZSBjYXJlIHRvIGluc2VydCBhICh1bmlxdWUpIHBhZ2UgZGVzY3JpcHRpb24gb24gZXZlcnkgcGFnZSB5b3UgZWRpdCBpbiB0aGUgZmllbGQgIlBhZ2UgRGVzY3JpcHRpb24iIGF0IHRoZSBib3R0b20gb2YgeW91ciAiRWRpdCBQYWdlIiBmb3JtLjwvcD4KPHA+VG8gc2V0IHlvdXIgb3duIGtleXdvcmRzIChpbnN0ZWFkIG9mIHRoZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBvbmVzKSBvciBPcGVuR3JhcGggdHlwZSBmb3IgY2VydGFpbiBwYWdlcywgdmlzaXQgdGhlICJQYWdlIHNldHRpbmdzIiB0YWIgd2hlcmUgeW91XCdsbCBmaW5kIGEgbGlzdCBvZiBhbGwgcGFnZXMgeW91IGhhdmUgaW4geW91ciBzeXN0ZW0uIFRoZXJlLCB5b3UgY2FuIGFsc28gY2hhbmdlIHRoZSBzaXRlbWFwIHByaW9yaXR5ICh3aGljaCBpcyBhdXRvLWNhbGN1bGF0ZWQgYnkgZGVmYXVsdCkgb2YgYSBwYWdlIHRvIGluZGljYXRlIHRoYXQgaXQgc2hvdWxkCmJlIGNvbnNpZGVyZWQgbW9yZSBpbXBvcnRhbnQgZm9yIHNlYXJjaCBlbmdpbmUgbWF0Y2hlcyBvbiB5b3VyIHBhZ2Ugb3IgZXhjbHVkZSBjZXJ0YWluIHBhZ2VzIGZyb20gdGhlIHNlYXJjaCBpbmRleC48L3A+CjxwPlNFTyBUb29scyB3aWxsIGFsc28gYXV0b21hdGljYWxseSBpbnNlcnQgYSBsaW5rIHRvIHRoZSBpbWFnZSB0byBiZSB1c2VkIGFzIHRoZSBtYWluIGltYWdlIG9mIHlvdXIgcGFnZSBpZiB5b3Ugc2VsZWN0IGFuICJJbWFnZSIgZm9yIHRoZSBwYWdlIGZyb20gd2l0aGluIHlvdXIgcGFnZVwncyAiT3B0aW9ucyIgdGFiICh0aGlzIGlzIGltcG9ydGFudCBmb3IgcGVvcGxlIHN1Ym1pdHRpbmcgYSBsaW5rIHRvIHlvdXIgcGFnZSBlLmcuIG9uIGZhY2Vib29rKS4gQWxzbywgaWYgeW91IGFyZSB1c2luZyBPcGVuR3JhcGgsIHRoZSBpbWFnZSBzZWxlY3RlZCBoZXJlCndpbGwgb3ZlcnJpZGUgdGhlIGRlZmF1bHQgT3BlbkdyYXBoIGltYWdlIHlvdSBzcGVjaWZpZWQgZnJvbSB3aXRoaW4gIlNFTyBTZXR0aW5ncyIuIFBsZWFzZSBiZSBhd2FyZSB0aGF0IHlvdSBuZWVkIHRvIHVwbG9hZCB0aG9zZSBpbWFnZXMgdG8geW91ciAvdXBsb2Fkcy9pbWFnZXMgZGlyZWN0b3J5LjwvcD4gCjxoMz5XaGF0IFBhcmFtZXRlcnMgRG9lcyBJdCBUYWtlPC9oMz4KPHA+VGhlIG1vZHVsZSBkb2VzIG5vdCBuZWVkIGFueSBwYXJhbWV0ZXJzPC9wPgo8aDM+U3VwcG9ydDwvaDM+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dCBvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+CjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTAsIEhlbm5pbmcgU2NoYWVmZXIgPGEgaHJlZj0ibWFpbHRvOmhlbm5pbmcuc2NoYWVmZXJAZ21haWwuY29tIj4mbHQ7aGVubmluZy5zY2hhZWZlckBnbWFpbC5jb20mZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPic7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEluc3RhbGwoKQoJICAgV2hlbiB5b3VyIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHlvdSBtYXkgbmVlZCB0byBkbyBzb21lCgkgICBzZXR1cC4gVHlwaWNhbCB0aGluZ3MgdGhhdCBoYXBwZW4gaGVyZSBhcmUgdGhlIGNyZWF0aW9uCgkgICBhbmQgcHJlcG9wdWxhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsIGRhdGFiYXNlIHNlcXVlbmNlcywKCSAgIHBlcm1pc3Npb25zLCBwcmVmZXJlbmNlcywgZXRjLgoJICAgCSAgIAoJICAgRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBjcmVhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsCgkgICBjaGVjayBvdXQgdGhlIEFET0RCIERhdGEgRGljdGlvbmFyeSBwYWdlIGF0CgkgICBodHRwOi8vcGhwbGVucy5jb20vbGVucy9hZG9kYi9kb2NzLWRhdGFkaWN0Lmh0bQoJICAgCgkgICBUaGlzIGZ1bmN0aW9uIGNhbiByZXR1cm4gYSBzdHJpbmcgaW4gY2FzZSBvZiBhbnkgZXJyb3IsCgkgICBhbmQgQ01TIHdpbGwgbm90IGNvbnNpZGVyIHRoZSBtb2R1bGUgaW5zdGFsbGVkLgoJICAgU3VjY2Vzc2Z1bCBpbnN0YWxscyBzaG91bGQgcmV0dXJuIEZBTFNFIG9yIG5vdGhpbmcgYXQgYWxsLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJCQoJCS8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24KCQkkZGIgPSYgJGdDbXMtPkdldERiKCk7CgkJCgkJLy8gbXlzcWwtc3BlY2lmaWMsIGJ1dCBpZ25vcmVkIGJ5IG90aGVyIGRhdGFiYXNlCgkJJHRhYm9wdGFycmF5ID0gYXJyYXkoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCQkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkJCiAgICAgICAgLy8gdGFibGUgc2NoZW1hIGRlc2NyaXB0aW9uCiAgICAgICAgJGZsZHMgPSAiCgkJCWNvbnRlbnRfaWQgSSBLRVksCgkJCWluZGV4YWJsZSBJKDEpLAoJCQlrZXl3b3JkcyBDKDI1NSksCgkJCXByaW9yaXR5IEkoMyksCgkJCW9ndHlwZSBDKDMyKQoJCQkiOwoKCQkvLyBjcmVhdGUgaXQuIFRoaXMgc2hvdWxkIGRvIGVycm9yIGNoZWNraW5nLCBidXQgSSdtIGEgbGF6eSBzb2QuCgkJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Nlb3Rvb2xzIiwKCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwoJCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCQkKCQkKCQkvLyBwZXJtaXNzaW9ucwoJCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdFZGl0IFNFTyBTZXR0aW5ncycsJ0VkaXQgU0VPIFNldHRpbmdzJyk7CiAgICAgICAgJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oJ0VkaXQgcGFnZSBkZXNjcmlwdGlvbnMnLCdFZGl0IHBhZ2UgZGVzY3JpcHRpb25zJyk7CgoKCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ2luc3RhbGxlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoJCQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVuaW5zdGFsbCgpCgkgICBTb21ldGltZXMsIGFuIGV4Y2VwdGlvbmFsbHkgdW5lbmxpZ2h0ZW5lZCBvciBpZ25vcmFudAoJICAgYWRtaW4gd2lsbCB3aXNoIHRvIHVuaW5zdGFsbCB5b3VyIG1vZHVsZS4gV2hpbGUgaXQKCSAgIHdvdWxkIGJlIGJlc3QgdG8gbGF5IGludG8gdGhlc2UgaWRpb3RzIHdpdGggYSBjbHVlc3RpY2ssCgkgICB3ZSB3aWxsIGRvIHRoZSBtYWduYW5pbW91cyB0aGluZyBhbmQgcmVtb3ZlIHRoZSBtb2R1bGUKCSAgIGFuZCBjbGVhbiB1cCB0aGUgZGF0YWJhc2UsIHBlcm1pc3Npb25zLCBhbmQgcHJlZmVyZW5jZXMKCSAgIHRoYXQgYXJlIHNwZWNpZmljIHRvIGl0LgoJICAgVGhpcyBpcyB0aGUgbWV0aG9kIHdoZXJlIHdlIGRvIHRoaXMuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgoJCS8vIFR5cGljYWwgRGF0YWJhc2UgUmVtb3ZhbAoJCSRkYiA9JiAkZ0Ntcy0+R2V0RGIoKTsKCQkKCQkvLyByZW1vdmUgdGhlIGRhdGFiYXNlIHRhYmxlCgkJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CgkJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VvdG9vbHMiICk7CgkJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwkJCgkJCgkJLy8gcmVtb3ZlIHRoZSBwZXJtaXNzaW9ucwoJCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdFZGl0IFNFTyBTZXR0aW5ncycpOwokdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignRWRpdCBwYWdlIGRlc2NyaXB0aW9ucycpOwoKCQkKCQkvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCQkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbGVkJykpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVwZ3JhZGUoKQoJICAgSWYgeW91ciBtb2R1bGUgdmVyc2lvbiBudW1iZXIgZG9lcyBub3QgbWF0Y2ggdGhlIHZlcnNpb24KCSAgIG51bWJlciBvZiB0aGUgaW5zdGFsbGVkIG1vZHVsZSwgdGhlIENNUyBBZG1pbiB3aWxsIGdpdmUKCSAgIHlvdSBhIGNoYW5jZSB0byB1cGdyYWRlIHRoZSBtb2R1bGUuIFRoaXMgaXMgdGhlIGZ1bmN0aW9uCgkgICB0aGF0IGFjdHVhbGx5IGhhbmRsZXMgdGhlIHVwZ3JhZGUuCgkgICBJZGVhbGx5LCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBoYW5kbGUgdXBncmFkZXMgaW5jcmVtZW50YWxseSwKCSAgIHNvIHlvdSBjb3VsZCB1cGdyYWRlIGZyb20gdmVyc2lvbiAwLjAuMSB0byAxMC41Ljcgd2l0aAoJICAgYSBzaW5nbGUgY2FsbC4gRm9yIGEgZ3JlYXQgZXhhbXBsZSBvZiB0aGlzLCBzZWUgdGhlIE5ld3MKCSAgIG1vZHVsZSBpbiB0aGUgc3RhbmRhcmQgQ01TIGluc3RhbGwuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCgkJJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOwoJCXN3aXRjaCgkY3VycmVudF92ZXJzaW9uKQoJCXsKCQkJY2FzZSAiMS4wIjoKCQkJICAgICBicmVhazsKCQkJY2FzZSAiMS4xIjoKCQkJICAgICBicmVhazsKCQl9CgkJCgkJLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCgkJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5MYW5nKCd1cGdyYWRlZCcsJHRoaXMtPkdldFZlcnNpb24oKSkpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/SEOTools.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNFT1Rvb2xzIC0gU2V2ZXJhbCB0b29scyB0byBoZWxwIHdpdGggU2VhcmNoIEVuZ2luZSBPcHRpbWl6YXRpb24gYW5kIGNoZWNrIGZvciBzdWJvcHRpbWFsIFNFTy1yZWxhdGVkIHRoaW5ncy4KIyBWZXJzaW9uOiAwLjksIEhlbm5pbmcgU2NoYWVmZXIKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAxMCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojIFRoaXMgZmlsZSBvcmlnaW5hbGx5IGNyZWF0ZWQgYnkgTW9kdWxlTWFrZXIgbW9kdWxlLCB2ZXJzaW9uIDAuMy4yCiMgQ29weXJpZ2h0IChjKSAyMDEwIGJ5IFNhbXVlbCBHb2xkc3RlaW4gKHNqZ0BjbXNtYWRlc2ltcGxlLm9yZykgCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBGb3IgSGVscCBidWlsZGluZyBtb2R1bGVzOgojIC0gUmVhZCB0aGUgRG9jdW1lbnRhdGlvbiBhcyBpdCBiZWNvbWVzIGF2YWlsYWJsZSBhdAojICAgaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy8KIyAtIENoZWNrIG91dCB0aGUgU2tlbGV0b24gTW9kdWxlIGZvciBhIGNvbW1lbnRlZCBleGFtcGxlCiMgLSBMb29rIGF0IG90aGVyIG1vZHVsZXMsIGFuZCBsZWFybiBmcm9tIHRoZSBzb3VyY2UKIyAtIENoZWNrIG91dCB0aGUgZm9ydW1zIGF0IGh0dHA6Ly9mb3J1bXMuY21zbWFkZXNpbXBsZS5vcmcKIyAtIENoYXQgd2l0aCBkZXZlbG9wZXJzIG9uIHRoZSAjY21zIElSQyBjaGFubmVsCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmNsYXNzIFNFT1Rvb2xzIGV4dGVuZHMgQ01TTW9kdWxlCnsKCQoJZnVuY3Rpb24gR2V0TmFtZSgpCgl7CgkJcmV0dXJuICdTRU9Ub29scyc7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldEZyaWVuZGx5TmFtZSgpCgkgICBUaGlzIGNhbiByZXR1cm4gYW55IHN0cmluZywgcHJlZmVyYWJseSBhIGxvY2FsaXplZCBuYW1lCgkgICBvZiB0aGUgbW9kdWxlLiBUaGlzIGlzIHRoZSBuYW1lIHRoYXQncyBzaG93biBpbiB0aGUKCSAgIEFkbWluIE1lbnVzIGFuZCBzZWN0aW9uIHBhZ2VzIChpZiB0aGUgbW9kdWxlIGhhcyBhbiBhZG1pbgoJICAgY29tcG9uZW50KS4KCSAgIAoJICAgU2VlIHRoZSBub3RlIG9uIGxvY2FsaXphdGlvbiBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZS4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKCX0KCgkKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXRWZXJzaW9uKCkKCSAgIFRoaXMgY2FuIHJldHVybiBhbnkgc3RyaW5nLCBwcmVmZXJhYmx5IGEgbnVtYmVyIG9yCgkgICBzb21ldGhpbmcgdGhhdCBtYWtlcyBzZW5zZSBmb3IgZGVzaWduYXRpbmcgYSB2ZXJzaW9uLgoJICAgVGhlIENNUyB3aWxsIHVzZSB0aGlzIHRvIGlkZW50aWZ5IHdoZXRoZXIgb3Igbm90CgkgICB0aGUgaW5zdGFsbGVkIHZlcnNpb24gb2YgdGhlIG1vZHVsZSBpcyBjdXJyZW50LCBhbmQKCSAgIHRoZSBtb2R1bGUgd2lsbCB1c2UgaXQgdG8gZmlndXJlIG91dCBob3cgdG8gdXBncmFkZQoJICAgaXRzZWxmIGlmIHJlcXVlc3RlZC4JICAgCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXRWZXJzaW9uKCkKCXsKCQlyZXR1cm4gJzEuMCc7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldEhlbHAoKQoJICAgVGhpcyByZXR1cm5zIEhUTUwgaW5mb3JtYXRpb24gb24gdGhlIG1vZHVsZS4KCSAgIFR5cGljYWxseSwgeW91J2xsIHdhbnQgdG8gaW5jbHVkZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8KCSAgIHVzZSB0aGUgbW9kdWxlLgoJICAgCgkgICBTZWUgdGhlIG5vdGUgb24gbG9jYWxpemF0aW9uIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0SGVscCgpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldEF1dGhvcigpCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQoJICAgQWRtaW4gaWYgeW91IGNsaWNrIG9uIHRoZSAiQWJvdXQiIGxpbmsuCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBHZXRBdXRob3IoKQoJewoJCXJldHVybiAnSGVubmluZyBTY2hhZWZlcic7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldEF1dGhvckVtYWlsKCkKCSAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgTW9kdWxlCgkgICBBZG1pbiBpZiB5b3UgY2xpY2sgb24gdGhlICJBYm91dCIgbGluay4gSXQgaGVscHMgdXNlcnMKCSAgIG9mIHlvdXIgbW9kdWxlIGdldCBpbiB0b3VjaCB3aXRoIHlvdSB0byBzZW5kIGJ1ZyByZXBvcnRzLAoJICAgcXVlc3Rpb25zLCBjYXNlcyBvZiBiZWVyLCBhbmQvb3IgbGFyZ2Ugc3VtcyBvZiBtb25leS4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkKCXsKCQlyZXR1cm4gJ2hlbm5pbmcuc2NoYWVmZXJAZ21haWwuY29tJzsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgR2V0Q2hhbmdlTG9nKCkKCSAgIFRoaXMgcmV0dXJucyBhIHN0cmluZyB0aGF0IGlzIHByZXNlbnRlZCBpbiB0aGUgbW9kdWxlCgkgICBBZG1pbiBpZiB5b3UgY2xpY2sgb24gdGhlIEFib3V0IGxpbmsuIEl0IGhlbHBzIHVzZXJzCgkgICBmaWd1cmUgb3V0IHdoYXQncyBjaGFuZ2VkIGJldHdlZW4gcmVsZWFzZXMuCgkgICBTZWUgdGhlIG5vdGUgb24gbG9jYWxpemF0aW9uIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2NoYW5nZWxvZycpOwoJfQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBJc1BsdWdpbk1vZHVsZSgpCgkgICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdHJ1ZSBvciBmYWxzZSwgZGVwZW5kaW5nIHVwb24KCSAgIHdoZXRoZXIgdXNlcnMgY2FuIGluY2x1ZGUgdGhlIG1vZHVsZSBpbiBhIHBhZ2Ugb3IKCSAgIHRlbXBsYXRlIHVzaW5nIGEgc21hcnR5IHRhZyBvZiB0aGUgZm9ybQoJICAge2Ntc19tb2R1bGUgbW9kdWxlPSdTRU9Ub29scycgcGFyYW0xPXZhbCBwYXJhbTI9dmFsLi4ufQoJICAgCgkgICBJZiB5b3VyIG1vZHVsZSBkb2VzIG5vdCBnZXQgaW5jbHVkZWQgaW4gcGFnZXMgb3IKCSAgIHRlbXBsYXRlcywgcmV0dXJuICJmYWxzZSIgaGVyZS4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKCXsKCQlyZXR1cm4gdHJ1ZTsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgSGFzQWRtaW4oKQoJICAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSwgZGVwZW5kaW5nIG9uCgkgICB3aGV0aGVyIHlvdXIgbW9kdWxlIGFkZHMgYW55dGhpbmcgdG8gdGhlIEFkbWluIGFyZWEgb2YKCSAgIHRoZSBzaXRlLiBGb3IgdGhlIHJlc3Qgb2YgdGhlc2UgY29tbWVudHMsIEknbGwgYmUgY2FsbGluZwoJICAgdGhlIGFkbWluIHBhcnQgb2YgeW91ciBtb2R1bGUgdGhlICJBZG1pbiBQYW5lbCIgZm9yCgkgICB3YW50IG9mIGEgYmV0dGVyIHRlcm0uCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBIYXNBZG1pbigpCgl7CgkJcmV0dXJuIHRydWU7Cgl9CgoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBHZXRBZG1pblNlY3Rpb24oKQoJICAgSWYgeW91ciBtb2R1bGUgaGFzIGFuIEFkbWluIFBhbmVsLCB5b3UgY2FuIHNwZWNpZnkKCSAgIHdoaWNoIEFkbWluIFNlY3Rpb24gKG9yIHRvcC1sZXZlbCBBZG1pbiBNZW51KSBpdCBzaG93cwoJICAgdXAgaW4uIFRoaXMgbWV0aG9kIHJldHVybnMgYSBzdHJpbmcgdG8gc3BlY2lmeSB0aGF0CgkgICBzZWN0aW9uLiBWYWxpZCByZXR1cm4gdmFsdWVzIGFyZToKCgkgICBtYWluICAgICAgICAtIHRoZSBNYWluIG1lbnUgdGFiLgoJICAgY29udGVudCAgICAgLSB0aGUgQ29udGVudCBtZW51CgkgICBsYXlvdXQgICAgICAtIHRoZSBMYXlvdXQgbWVudQoJICAgdXNlcnNncm91cHMgLSB0aGUgVXNlcnMgYW5kIEdyb3VwcyBtZW51CgkgICBleHRlbnNpb25zICAtIHRoZSBFeHRlbnNpb25zIG1lbnUgKHRoaXMgaXMgdGhlIGRlZmF1bHQpCgkgICBzaXRlYWRtaW4gICAtIHRoZSBTaXRlIEFkbWluIG1lbnUKCSAgIHZpZXdzaXRlICAgIC0gdGhlIFZpZXcgU2l0ZSBtZW51IHRhYgoJICAgbG9nb3V0ICAgICAgLSB0aGUgTG9nb3V0IG1lbnUgdGFiCgkgICAKCSAgIE5vdGUgdGhhdCBpZiB5b3UgcGxhY2UgeW91ciBtb2R1bGUgaW4gdGhlIG1haW4sCgkgICB2aWV3c2l0ZSwgb3IgbG9nb3V0IHNlY3Rpb25zLCBpdCB3aWxsIHNob3cgdXAgaW4gdGhlCgkgICBtZW51cywgYnV0IHdpbGwgbm90IGJlIHZpc2libGUgaW4gYW55IHRvcC1sZXZlbAoJICAgc2VjdGlvbiBwYWdlcy4KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCgl7CgkJcmV0dXJuICdjb250ZW50JzsKCX0KCgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldEFkbWluRGVzY3JpcHRpb24oKQoJICAgSWYgeW91ciBtb2R1bGUgZG9lcyBoYXZlIGFuIEFkbWluIFBhbmVsLCB5b3UKCSAgIGNhbiBoYXZlIGl0IHJldHVybiBhIGRlc2NyaXB0aW9uIHN0cmluZyB0aGF0IGdldHMgc2hvd24KCSAgIGluIHRoZSBBZG1pbiBTZWN0aW9uIHBhZ2UgdGhhdCBjb250YWlucyB0aGUgbW9kdWxlLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpCgl7CgkJcmV0dXJuICR0aGlzLT5MYW5nKCdhZG1pbmRlc2NyaXB0aW9uJyk7Cgl9CgoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBWaXNpYmxlVG9BZG1pblVzZXIoKQoJICAgSWYgeW91ciBtb2R1bGUgZG9lcyBoYXZlIGFuIEFkbWluIFBhbmVsLCB5b3UKCSAgIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IGl0J3MgZGlzcGxheWVkIGJ5IHRoZSBib29sZWFuCgkgICB0aGF0IGlzIHJldHVybmVkIGJ5IHRoaXMgbWV0aG9kLiBUaGlzIGlzIHByaW1hcmlseSB1c2VkCgkgICB0byBoaWRlIG1vZHVsZXMgZnJvbSBhZG1pbnMgd2hvIGxhY2sgcGVybWlzc2lvbiB0byB1c2UKCSAgIHRoZW0uCgkgICAKCSAgIFR5cGljYWxseSwgeW91J2xsIHVzZSBzb21lIHBlcm1pc3Npb24gdG8gc2V0IHRoaXMKCSAgIChlLmcuLCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdTb21lIFBlcm1pc3Npb24nKTsgKQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkKCXsKICAgICAgICByZXR1cm4gdHJ1ZTsKCX0KCQoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBDaGVja0FjY2VzcygpCgkgICBUaGlzIHdyYXBwZXIgZnVuY3Rpb24gd2lsbCBjaGVjayBhZ2FpbnN0IHRoZSBzcGVjaWZpZWQgcGVybWlzc2lvbiwKCSAgIGFuZCBkaXNwbGF5IGFuIGVycm9yIHBhZ2UgaWYgdGhlIHVzZXIgZG9lc24ndCBoYXZlIGFkZXF1YXRlIHBlcm1pc3Npb25zLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gQ2hlY2tBY2Nlc3MoJHBlcm0gPSAnRWRpdCBTRU8gU2V0dGluZ3MnKQoJCXsKCQlyZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbigkcGVybSk7CgkJfQoJCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgRGlzcGxheUVycm9yUGFnZSgpCgkgICBUaGlzIGlzIGEgc2ltcGxlIGZ1bmN0aW9uIGZvciBnZW5lcmF0aW5nIGVycm9yIHBhZ2VzLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogICAgZnVuY3Rpb24gRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZT0nJykKICAgIHsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CgogICAgICAgIC8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQogICAgICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXJyb3IudHBsJyk7CiAgICB9CgkKCgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIEdldERlcGVuZGVuY2llcygpCgkgICBZb3VyIG1vZHVsZSBtYXkgbmVlZCBhbm90aGVyIG1vZHVsZSB0byBhbHJlYWR5IGJlIGluc3RhbGxlZAoJICAgYmVmb3JlIHlvdSBjYW4gaW5zdGFsbCBpdC4KCSAgIFRoaXMgbWV0aG9kIHJldHVybnMgYSBsaXN0IG9mIHRob3NlIGRlcGVuZGVuY2llcyBhbmQKCSAgIG1pbmltdW0gdmVyc2lvbiBudW1iZXJzIHRoYXQgdGhpcyBtb2R1bGUgcmVxdWlyZXMuCgkgICAKCSAgIEl0IHNob3VsZCByZXR1cm4gYW4gaGFzaCwgZWcuCgkgICByZXR1cm4gYXJyYXkoJ3NvbWVtb2R1bGUnPT4nMS4wJywgJ290aGVybW9kdWxlJz0+JzEuMScpOwoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gR2V0RGVwZW5kZW5jaWVzKCkKCXsKCQlyZXR1cm4gYXJyYXkoKTsKCX0KCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICAgTWluaW11bUNNU1ZlcnNpb24oKQoJICAgWW91ciBtb2R1bGUgbWF5IHJlcXVpcmUgZnVuY3Rpb25zIG9yIG9iamVjdHMgZnJvbQoJICAgYSBzcGVjaWZpYyB2ZXJzaW9uIG9mIENNUyBNYWRlIFNpbXBsZS4KCSAgIEV2ZXIgc2luY2UgdmVyc2lvbiAwLjExLCB5b3UgY2FuIHNwZWNpZnkgd2hpY2ggbWluaW11bQoJICAgQ01TIE1TIHZlcnNpb24gaXMgcmVxdWlyZWQgZm9yIHlvdXIgbW9kdWxlLCB3aGljaCB3aWxsCgkgICBwcmV2ZW50IGl0IGZyb20gYmVpbmcgaW5zdGFsbGVkIGJ5IGEgdmVyc2lvbiBvZiBDTVMgdGhhdAoJICAgY2FuJ3QgcnVuIGl0LgoJICAgCgkgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgc3RyaW5nIHJlcHJlc2VudGluZyB0aGUKCSAgIG1pbmltdW0gdmVyc2lvbiB0aGF0IHRoaXMgbW9kdWxlIHJlcXVpcmVzLgoJICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCWZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkKCXsKCQlyZXR1cm4gIjEuNi4wIjsKCX0KCgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIE1heGltdW1DTVNWZXJzaW9uKCkKCSAgIFlvdSBtYXkgd2FudCB0byBwcmV2ZW50IHBlb3BsZSBmcm9tIHVzaW5nIHlvdXIgbW9kdWxlIGluCgkgICBmdXR1cmUgdmVyc2lvbnMgb2YgQ01TIE1hZGUgU2ltcGxlLCBlc3BlY2lhbGx5IGlmIHlvdQoJICAgdGhpbmsgQVBJIGZlYXR1cmVzIHlvdSB1c2UgbWF5IGNoYW5nZSAtLSBhZnRlciBhbGwsIHlvdQoJICAgbmV2ZXIgcmVhbGx5IGtub3cgaG93IHRoZSBDTVMgTVMgQVBJIGNvdWxkIGV2b2x2ZS4KCSAgIAoJICAgU28sIHRvIHByZXZlbnQgcGVvcGxlIGZyb20gZmxvb2RpbmcgeW91IHdpdGggYnVnIHJlcG9ydHMKCSAgIHdoZW4gYSBuZXcgdmVyc2lvbiBvZiBDTVMgTVMgaXMgcmVsZWFzZWQsIHlvdSBjYW4gc2ltcGx5CgkgICByZXN0cmljdCB0aGUgdmVyc2lvbi4gVGhlbiwgb2YgY291cnNlLCB0aGUgb251cyBpcyBvbiB5b3UKCSAgIHRvIHJlbGVhc2UgYSBuZXcgdmVyc2lvbiBvZiB5b3VyIG1vZHVsZSB3aGVuIGEgbmV3IHZlcnNpb24KCSAgIG9mIHRoZSBDTVMgaXMgcmVsZWFzZWQuLi4KCSAgIAoJICAgVGhpcyBtZXRob2QgcmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRpbmcgdGhlCgkgICBtYXhpbXVtIHZlcnNpb24gdGhhdCB0aGlzIG1vZHVsZSBzdXBwb3J0cy4KCSAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglmdW5jdGlvbiBNYXhpbXVtQ01TVmVyc2lvbigpCgl7CgkJcmV0dXJuICIxLjkuOSI7Cgl9CgoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCgkgICBJbnN0YWxsUG9zdE1lc3NhZ2UoKQoJICAgQWZ0ZXIgaW5zdGFsbGF0aW9uLCB0aGVyZSBtYXkgYmUgdGhpbmdzIHlvdSB3YW50IHRvCgkgICBjb21tdW5pY2F0ZSB0byB5b3VyIGFkbWluLiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYQoJICAgc3RyaW5nIHdoaWNoIHdpbGwgYmUgZGlzcGxheWVkLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7Cgl9CgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCSAgIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKCSAgIEFmdGVyIHJlbW92aW5nIGEgbW9kdWxlLCB0aGVyZSBtYXkgYmUgdGhpbmdzIHlvdSB3YW50IHRvCgkgICBjb21tdW5pY2F0ZSB0byB5b3VyIGFkbWluLiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYQoJICAgc3RyaW5nIHdoaWNoIHdpbGwgYmUgZGlzcGxheWVkLgoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJZnVuY3Rpb24gVW5pbnN0YWxsUG9zdE1lc3NhZ2UoKQoJewoJCXJldHVybiAkdGhpcy0+TGFuZygncG9zdHVuaW5zdGFsbCcpOwoJfQoKCgkvKioKCSAqIFVuaW5zdGFsbFByZU1lc3NhZ2UoKQoJICogVGhpcyBhbGxvd3MgeW91IHRvIGRpc3BsYXkgYSBtZXNzYWdlIGFsb25nIHdpdGggYSBZZXMvTm8gZGlhbG9nIGJveC4gSWYgdGhlIHVzZXIgcmVzcG9uZHMKCSAqIGluIHRoZSBhZmZpcm1hdGl2ZSB0byB5b3VyIG1lc3NhZ2UsIHRoZSB1bmluc3RhbGwgd2lsbCBwcm9jZWVkLiBJZiB0aGV5IHJlc3BvbmQgaW4gdGhlCgkgKiBuZWdhdGl2ZSwgdGhlIHVuaW5zdGFsbCB3aWxsIGJlIGNhbmNlbGVkLiBUaHVzLCB5b3VyIG1lc3NhZ2Ugc2hvdWxkIGJlIG9mIHRoZSBmb3JtCgkgKiAiQWxsIG1vZHVsZSBkYXRhIHdpbGwgYmUgZGVsZXRlZC4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHVuaW5zdGFsbCB0aGlzIG1vZHVsZT8iCgkgKgoJICogSWYgeW91IGRvbid0IHdhbnQgdGhlIGRpYWxvZywgaGF2ZSB0aGlzIG1ldGhvZCByZXR1cm4gYSBGQUxTRSwgd2hpY2ggd2lsbCBjYXVzZSB0aGUKCSAqIG1vZHVsZSB0byB1bmluc3RhbGwgaW1tZWRpYXRlbHkgaWYgdGhlIHVzZXIgY2xpY2tzIHRoZSAidW5pbnN0YWxsIiBsaW5rLgoJICovCglmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKCXsKCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsKCX0KCQoJZnVuY3Rpb24gR2V0Tm90aWZpY2F0aW9uT3V0cHV0KCkgewoJCWlmIChjb3VudCgkdGhpcy0+Z2V0VXJnZW50QWxlcnRzKCkpID4gMCkgewoJCSAgJHRleHQgPSAkdGhpcy0+bGFuZygncHJvYmxlbV9hbGVydCcsQXJyYXkoJHRoaXMtPmNyZWF0ZUxpbmsoJHRoaXMtPmlkLCAnZGVmYXVsdGFkbWluJywgJycsICR0aGlzLT5sYW5nKCdwcm9ibGVtX2xpbmtfdGl0bGUnKSkpKTsKCQkgIHJldHVybiAob2JqZWN0KSBBcnJheSgncHJpb3JpdHknPT4yLCAnaHRtbCc9PiR0ZXh0KTsKCQl9Cgl9CgkKCQoJZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpIHsKCQkkdGhpcy0+UmVnaXN0ZXJNb2R1bGVQbHVnaW4oKTsKCQkkdGhpcy0+YWRkRXZlbnRIYW5kbGVyKCdDb3JlJywnQ29udGVudEVkaXRQb3N0JyxmYWxzZSk7CgkJJHRoaXMtPmFkZEV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnREZWxldGVQb3N0JyxmYWxzZSk7CQkKCX0KCQoJZnVuY3Rpb24gRG9FdmVudCgkb3JpZ2luLCAkbmFtZSwgJHBhcmFtcykgewoJICBpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ2NyZWF0ZV9zaXRlbWFwJywndHJ1ZScpID09ICd0cnVlJykgewogICAgICAgICR0aGlzLT5jcmVhdGVTaXRlbWFwKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdwdXNoX3NpdGVtYXAnLCd0cnVlJykgPT0gdHJ1ZSk7CiAgICAgIH0KCX0KCQoJZnVuY3Rpb24gZ2V0VXJnZW50QWxlcnRzKCkgewoJCWdsb2JhbCAkZ0NtczsKCQkkYWxlcnRzID0gQXJyYXkoKTsKCQkvLyBFbmFibGUgUHJldHR5IFVSTHMKICAgICAgICBpZiAoKCRnQ21zLT5jb25maWdbYXNzdW1lX21vZF9yZXdyaXRlXSAhPSAxKSAmJiAoJGdDbXMtPmNvbmZpZ1tpbnRlcm5hbF9wcmV0dHlfdXJsc10gIT0gMSkpIHsKICAgICAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgICAkYWxlcnRbZ3JvdXBdID0gJ3N5c3RlbSc7CiAgICAgICAgICAkYWxlcnRbbWVzc2FnZV0gPSAkdGhpcy0+bGFuZygnYWN0aXZhdGVfcHJldHR5X3VybHMnKTsKICAgICAgICAgICRhbGVydFtsaW5rc11bXSA9ICR0aGlzLT5sYW5nKCdwcmV0dHlfdXJsc19oZWxwJyk7CiAgICAgICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CiAgICAgICAgfSAgICAgICAKCQkvLyBObyBNZXRhIHRhZ3MgYXJlIGluc2VydGVkCgkJaWYgKCgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9zdGFuZGFyZCcsJ2ZhbHNlJykgIT0gJ3RydWUnKSAmJiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfZHVibGluY29yZScsJ2ZhbHNlJykgIT0gJ3RydWUnKSkgewkJCQoJCQkkYWxlcnQgPSBBcnJheSgpOwoJCQkkYWxlcnRbZ3JvdXBdID0gJ3NldHRpbmdzJzsKCQkJJGFsZXJ0W21lc3NhZ2VdID0gJHRoaXMtPmxhbmcoJ3VzZV9zdGFuZGFyZF9vcl9kdWJsaW5jb3JlX21ldGEnKTsKCQkJJGFsZXJ0W2xpbmtzXVtdID0gJHRoaXMtPmxhbmcoJ3Zpc2l0X3NldHRpbmdzJyk7CgkJCSRhbGVydHNbXSA9ICRhbGVydDsKCQl9CgkJJGRiID0mICRnQ21zLT5kYjsJCQkJCQkKCQlpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ2Rlc2NyaXB0aW9uX2F1dG9fZ2VuZXJhdGUnLCdmYWxzZScpICE9ICd0cnVlJykgewoJCQlpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ2Rlc2NyaXB0aW9uX2Jsb2NrJywnJykgIT0gJycpIHsKCQkJICAvLyBQYWdlcyB3aXRob3V0IGRlc2NyaXB0aW9uCgkJCSAgJHF1ZXJ5ID0gJ1NFTEVDVCAqLGMuY29udGVudF9pZCBBUyBjaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudCBjIExFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudF9wcm9wcyBwIE9OIChjLmNvbnRlbnRfaWQgPSBwLmNvbnRlbnRfaWQgQU5EIHAucHJvcF9uYW1lID0gIicuc3RyX3JlcGxhY2UoJyAnLCdfJywkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYmxvY2snLCcnKSkuJyIpIFdIRVJFIChwLmNvbnRlbnQgSVMgTlVMTCBPUiBwLmNvbnRlbnQgPSAiIikgQU5EIGMudHlwZSA9ICJjb250ZW50IiBMSU1JVCAwLDIxJzsJCQoJCQkgICRyZXN1bHQgPSYgJGRiLT5FeGVjdXRlKCRxdWVyeSk7CQkJCQoJCQkgIHdoaWxlICgkcHJvYmxlbSA9ICRyZXN1bHQtPmZldGNoUm93KCkpIHsJCQkKCQkJCSRhbGVydCA9IEFycmF5KCk7CgkJCQkkYWxlcnRbZ3JvdXBdID0gJ3BhZ2VzJzsKCQkJCSRhbGVydFttZXNzYWdlXSA9ICR0aGlzLT5sYW5nKCdtZXRhX2Rlc2NyaXB0aW9uX21pc3NpbmcnLEFycmF5KCRwcm9ibGVtW2NvbnRlbnRfbmFtZV0pKTsKCQkJCSRhbGVydFtsaW5rc11bXSA9ICc8YSBocmVmPSIvYWRtaW4vZWRpdGNvbnRlbnQucGhwP3NwXz0nLiRfR0VUW3NwX10uJyZjb250ZW50X2lkPScuJHByb2JsZW1bY2lkXS4nIj4nLiR0aGlzLT5sYW5nKCdlZGl0X3BhZ2VfdG9fZml4JykuJzwvYT4nOwoJCQkJJGFsZXJ0c1tdID0gJGFsZXJ0OwoJCQkgIH0KCQkJfWVsc2V7CgkJCSAgJGFsZXJ0ID0gQXJyYXkoKTsKCQkJICAkYWxlcnRbZ3JvdXBdID0gJ3NldHRpbmdzJzsKCSAgICAgICAgICAkYWxlcnRbbWVzc2FnZV0gPSAkdGhpcy0+bGFuZygnc2V0X3VwX2Rlc2NyaXB0aW9uX2Jsb2NrJyk7CgkgICAgICAgICAgJGFsZXJ0W2xpbmtzXVtdID0gJHRoaXMtPmxhbmcoJ3Zpc2l0X3NldHRpbmdzJyk7CgkgICAgICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwkKCQkJfQkJCgkJfWVsc2VpZihzdHJwb3MoJHRoaXMtPmdldFByZWZlcmVuY2UoJ2Rlc2NyaXB0aW9uX2F1dG8nLCcnKSwne2tleXdvcmRzfScpID09PSBmYWxzZSkgewoJCQkkYWxlcnQgPSBBcnJheSgpOwoJCQkkYWxlcnRbZ3JvdXBdID0gJ3NldHRpbmdzJzsKCSAgICAgICAgJGFsZXJ0W21lc3NhZ2VdID0gJHRoaXMtPmxhbmcoJ3NldF91cF9hdXRvX2Rlc2NyaXB0aW9uJyk7CgkgICAgICAgICRhbGVydFtsaW5rc11bXSA9ICR0aGlzLT5sYW5nKCd2aXNpdF9zZXR0aW5ncycpOwoJICAgICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CgkJfQoJCQogICAgICAgIC8vIHNpdGVtYXAueG1sIG5vdCB3cml0ZWFibGUKICAgICAgICBpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ2NyZWF0ZV9zaXRlbWFwJywndHJ1ZScpID09ICd0cnVlJykgewoJCSAgaWYgKCFpc193cml0ZWFibGUoJGdDbXMtPmNvbmZpZ1tyb290X3BhdGhdIC4gJy9zaXRlbWFwLnhtbCcpKSB7CgkJICAJJGFsZXJ0ID0gQXJyYXkoKTsKCQkgIAkkYWxlcnRbZ3JvdXBdID0gJ3N5c3RlbSc7CiAgICAgICAgICAgICRhbGVydFttZXNzYWdlXSA9ICR0aGlzLT5sYW5nKCdzaXRlbWFwX25vdF93cml0ZWFibGUnKTsKICAgICAgICAgICAgJGFsZXJ0W2xpbmtzXVtdID0gJHRoaXMtPmxhbmcoJ2NobW9kX3NpdGVtYXAnKTsKICAgICAgICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwoJCSAgfQkJCQoJCX0KCQkKICAgICAgICAvLyByb2JvdHMudHh0IG5vdCB3cml0ZWFibGUKCSAgIGlmICgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnY3JlYXRlX3JvYm90cycsJ3RydWUnKSA9PSAndHJ1ZScpIHsKICAgICAgICAgIGlmICghaXNfd3JpdGVhYmxlKCRnQ21zLT5jb25maWdbcm9vdF9wYXRoXSAuICcvcm9ib3RzLnR4dCcpKSB7CiAgICAgICAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgICAgICRhbGVydFtncm91cF0gPSAnc3lzdGVtJzsKICAgICAgICAgICAgJGFsZXJ0W21lc3NhZ2VdID0gJHRoaXMtPmxhbmcoJ3JvYm90c19ub3Rfd3JpdGVhYmxlJyk7CiAgICAgICAgICAgICRhbGVydFtsaW5rc11bXSA9ICR0aGlzLT5sYW5nKCdjaG1vZF9yb2JvdHMnKTsKICAgICAgICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgICAgICAgfSAgICAgICAgIAogICAgICAgIH0KCQkJCQogICAgICAgaWYgKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaCcsJ2ZhbHNlJykgPT0gJ3RydWUnKSB7CiAgICAgICAgLy8gTm8gT3BlbkdyYXBoIGFkbWluIHNldAogICAgICAgIGlmICgoJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX2FkbWlucycsJycpID09ICcnKSAmJiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX2FwcGxpY2F0aW9uJywnJykgPT0gJycpKSB7CiAgICAgICAgCSRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgCSRhbGVydFtncm91cF0gPSAnb3BlbmdyYXBoJzsKICAgICAgICAgICAgJGFsZXJ0W21lc3NhZ2VdID0gJHRoaXMtPmxhbmcoJ25vX29wZW5ncmFwaF9hZG1pbnMnKTsKICAgICAgICAgICAgJGFsZXJ0W2xpbmtzXVtdID0gJHRoaXMtPmxhbmcoJ3Zpc2l0X3NldHRpbmdzJyk7CiAgICAgICAgICAgICRhbGVydHNbXSA9ICRhbGVydDsKICAgICAgICB9CiAgICAgICAgLy8gTm8gT3BlbkdyYXBoIHBhZ2UgdHlwZSBzZXQKICAgICAgICBpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ21ldGFfb3BlbmdyYXBoX3R5cGUnLCcnKSA9PSAnJykgewogICAgICAgICAgICAkYWxlcnQgPSBBcnJheSgpOwogICAgICAgICAgICAkYWxlcnRbZ3JvdXBdID0gJ29wZW5ncmFwaCc7CiAgICAgICAgICAgICRhbGVydFttZXNzYWdlXSA9ICR0aGlzLT5sYW5nKCdub19vcGVuZ3JhcGhfdHlwZScpOwogICAgICAgICAgICAkYWxlcnRbbGlua3NdW10gPSAkdGhpcy0+bGFuZygndmlzaXRfc2V0dGluZ3MnKTsKICAgICAgICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgICAgIH0KICAgICAgICAvLyBObyBPcGVuR3JhcGggc2l0ZW5hbWUgc2V0CiAgICAgICAgaWYgKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9zaXRlbmFtZScsJycpID09ICcnKSB7CiAgICAgICAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgICAgICRhbGVydFtncm91cF0gPSAnb3BlbmdyYXBoJzsKICAgICAgICAgICAgJGFsZXJ0W21lc3NhZ2VdID0gJHRoaXMtPmxhbmcoJ25vX29wZW5ncmFwaF9zaXRlbmFtZScpOwogICAgICAgICAgICAkYWxlcnRbbGlua3NdW10gPSAkdGhpcy0+bGFuZygndmlzaXRfc2V0dGluZ3MnKTsKICAgICAgICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgICAgIH0KICAgICAgICAvLyBObyBPcGVuR3JhcGggaW1hZ2Ugc2V0CiAgICAgICAgaWYgKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX29wZW5ncmFwaF9pbWFnZScsJycpID09ICcnKSB7ICAgICAgICAJCiAgICAgICAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgICAgICRhbGVydFtncm91cF0gPSAnb3BlbmdyYXBoJzsKICAgICAgICAgICAgJGFsZXJ0W21lc3NhZ2VdID0gJHRoaXMtPmxhbmcoJ25vX29wZW5ncmFwaF9pbWFnZScpOwogICAgICAgICAgICAkYWxlcnRbbGlua3NdW10gPSAkdGhpcy0+bGFuZygndmlzaXRfc2V0dGluZ3MnKTsKICAgICAgICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgICAgIH0KICAgICAgIH0KCQkKCQlyZXR1cm4gJGFsZXJ0czsKCX0KCQoJZnVuY3Rpb24gZ2V0SW1wb3J0YW50QWxlcnRzKCkgewoJCWdsb2JhbCAkZ0NtczsKICAgICAgICAkYWxlcnRzID0gQXJyYXkoKTsgICAgICAgIAogICAgICAgICRkYiA9JiAkZ0Ntcy0+ZGI7CiAgICAgICAgLy8gUGFnZXMgd2l0aCBzaG9ydCBkZXNjcmlwdGlvbgogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKixjLmNvbnRlbnRfaWQgQVMgY2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQgYyBJTk5FUiBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50X3Byb3BzIHAgT04gKGMuY29udGVudF9pZCA9IHAuY29udGVudF9pZCBBTkQgcC5wcm9wX25hbWUgPSAiJy5zdHJfcmVwbGFjZSgnICcsJ18nLCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9ibG9jaycsJycpKS4nIikgV0hFUkUgQ0hBUl9MRU5HVEgocC5jb250ZW50KSA8IDc1IEFORCBjLnR5cGUgPSAiY29udGVudCIgQU5EIHAuY29udGVudCA8PiAiIiBMSU1JVCAwLDIxJzsgICAgICAgIAogICAgICAgICRyZXN1bHQgPSYgJGRiLT5FeGVjdXRlKCRxdWVyeSk7ICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICB3aGlsZSAoJHByb2JsZW0gPSAkcmVzdWx0LT5mZXRjaFJvdygpKSB7ICAgICAgICAgICAgCiAgICAgICAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgICAgICRhbGVydFtncm91cF0gPSAnZGVzY3JpcHRpb25zJzsKICAgICAgICAgICAgJGFsZXJ0W21lc3NhZ2VdID0gJHRoaXMtPmxhbmcoJ21ldGFfZGVzY3JpcHRpb25fc2hvcnQnLEFycmF5KCRwcm9ibGVtW2NvbnRlbnRfbmFtZV0pKTsKICAgICAgICAgICAgJGFsZXJ0W2xpbmtzXVtdID0gJzxhIGhyZWY9Ii9hZG1pbi9lZGl0Y29udGVudC5waHA/c3BfPScuJF9HRVRbc3BfXS4nJmNvbnRlbnRfaWQ9Jy4kcHJvYmxlbVtjaWRdLiciPicuJHRoaXMtPmxhbmcoJ2VkaXRfcGFnZV90b19maXgnKS4nPC9hPic7CiAgICAgICAgICAgICRhbGVydHNbXSA9ICRhbGVydDsKICAgICAgICB9CgogICAgICAgIC8vIFBhZ2VzIHdpdGggZHVwbGljYXRlIHRpdGxlCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBjMS5jb250ZW50X2FsaWFzIEFTIGMxbmFtZSwgYzEuY29udGVudF9pZCBBUyBjMWlkLCBjMi5jb250ZW50X2FsaWFzIEFTIGMybmFtZSwgYzIuY29udGVudF9pZCBBUyBjMmlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnQgYzEgSU5ORVIgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nY29udGVudCBjMiBPTiAoYzEuY29udGVudF9uYW1lID0gYzIuY29udGVudF9uYW1lIEFORCBjMS5jb250ZW50X2lkIDwgYzIuY29udGVudF9pZCkgV0hFUkUgYzEudHlwZSA9ICJjb250ZW50IiBBTkQgYzIudHlwZSA9ICJjb250ZW50IiBMSU1JVCAwLDIxJzsKCSAgICAkcmVzdWx0ID0mICRkYi0+RXhlY3V0ZSgkcXVlcnkpOyAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgd2hpbGUgKCRwcm9ibGVtID0gJHJlc3VsdC0+ZmV0Y2hSb3coKSkgeyAgICAgICAgICAgIAogICAgICAgICAgICAkYWxlcnQgPSBBcnJheSgpOwogICAgICAgICAgICAkYWxlcnRbZ3JvdXBdID0gJ3RpdGxlcyc7CiAgICAgICAgICAgICRhbGVydFttZXNzYWdlXSA9ICR0aGlzLT5sYW5nKCdkdXBsaWNhdGVfdGl0bGVzJyxBcnJheSgkcHJvYmxlbVtjMW5hbWVdLCRwcm9ibGVtW2MybmFtZV0pKTsKICAgICAgICAgICAgJGFsZXJ0W2xpbmtzXVtdID0gJzxhIGhyZWY9Ii9hZG1pbi9lZGl0Y29udGVudC5waHA/c3BfPScuJF9HRVRbc3BfXS4nJmNvbnRlbnRfaWQ9Jy4kcHJvYmxlbVtjMWlkXS4nIj4nLiR0aGlzLT5sYW5nKCdlZGl0X3BhZ2UnLEFycmF5KCRwcm9ibGVtW2MxbmFtZV0pKS4nPC9hPic7CiAgICAgICAgICAgICRhbGVydFtsaW5rc11bXSA9ICc8YSBocmVmPSIvYWRtaW4vZWRpdGNvbnRlbnQucGhwP3NwXz0nLiRfR0VUW3NwX10uJyZjb250ZW50X2lkPScuJHByb2JsZW1bYzJpZF0uJyI+Jy4kdGhpcy0+bGFuZygnZWRpdF9wYWdlJyxBcnJheSgkcHJvYmxlbVtjMm5hbWVdKSkuJzwvYT4nOwogICAgICAgICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CiAgICAgICAgfQogICAgICAgIAogICAgICAgIC8vIFBhZ2VzIHdpdGggZHVwbGljYXRlIGRlc2NyaXB0aW9uCgkgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBwMS5jb250ZW50X2lkIEFTIGMxaWQsIHAyLmNvbnRlbnRfaWQgQVMgYzJpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50X3Byb3BzIHAxIElOTkVSIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ2NvbnRlbnRfcHJvcHMgcDIgT04gKHAxLnByb3BfbmFtZSA9IHAyLnByb3BfbmFtZSBBTkQgcDEucHJvcF9uYW1lID0gIicuc3RyX3JlcGxhY2UoJyAnLCdfJywkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnZGVzY3JpcHRpb25fYmxvY2snLCcnKSkuJyIgQU5EIHAxLmNvbnRlbnRfaWQgPCBwMi5jb250ZW50X2lkIEFORCBwMS5jb250ZW50IDw+ICIiIEFORCBwMi5jb250ZW50IDw+ICIiKSBXSEVSRSBwMS5jb250ZW50ID0gcDIuY29udGVudCBMSU1JVCAwLDIxJzsKICAgICAgICAkcmVzdWx0ID0mICRkYi0+RXhlY3V0ZSgkcXVlcnkpOyAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgd2hpbGUgKCRwcm9ibGVtID0gJHJlc3VsdC0+ZmV0Y2hSb3coKSkgewogICAgICAgIAkkcXVlcnkgPSAnU0VMRUNUIGNvbnRlbnRfaWQsIGNvbnRlbnRfbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IFdIRVJFIGNvbnRlbnRfaWQgPSAnLiRwcm9ibGVtW2MxaWRdLicgT1IgY29udGVudF9pZCA9ICcuJHByb2JsZW1bYzJpZF07CiAgICAgICAgCSRyZXN1bHQxID0mICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgICAgIAkkZmlyc3QgPSAkcmVzdWx0MS0+ZmV0Y2hSb3coKTsKICAgICAgICAJJHNlY29uZCA9ICRyZXN1bHQxLT5mZXRjaFJvdygpOyAgICAgICAgICAgIAogICAgICAgICAgICAkYWxlcnQgPSBBcnJheSgpOwogICAgICAgICAgICAkYWxlcnRbZ3JvdXBdID0gJ2Rlc2NyaXB0aW9ucyc7CiAgICAgICAgICAgICRhbGVydFttZXNzYWdlXSA9ICR0aGlzLT5sYW5nKCdkdXBsaWNhdGVfZGVzY3JpcHRpb25zJyxBcnJheSgkZmlyc3RbY29udGVudF9uYW1lXSwkc2Vjb25kW2NvbnRlbnRfbmFtZV0pKTsKICAgICAgICAgICAgJGFsZXJ0W2xpbmtzXVtdID0gJzxhIGhyZWY9Ii9hZG1pbi9lZGl0Y29udGVudC5waHA/c3BfPScuJF9HRVRbc3BfXS4nJmNvbnRlbnRfaWQ9Jy4kZmlyc3RbY29udGVudF9pZF0uJyI+Jy4kdGhpcy0+bGFuZygnZWRpdF9wYWdlJyxBcnJheSgkZmlyc3RbY29udGVudF9uYW1lXSkpLic8L2E+JzsKICAgICAgICAgICAgJGFsZXJ0W2xpbmtzXVtdID0gJzxhIGhyZWY9Ii9hZG1pbi9lZGl0Y29udGVudC5waHA/c3BfPScuJF9HRVRbc3BfXS4nJmNvbnRlbnRfaWQ9Jy4kc2Vjb25kW2NvbnRlbnRfaWRdLiciPicuJHRoaXMtPmxhbmcoJ2VkaXRfcGFnZScsQXJyYXkoJHNlY29uZFtjb250ZW50X25hbWVdKSkuJzwvYT4nOwogICAgICAgICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CiAgICAgICAgfQogICAgICAgIC8vIE5vIGF1dGhvciBwcm92aWRlZAogICAgICAgIGlmICgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnbWV0YV9wdWJsaXNoZXInLCcnKSA9PSAnJykgewogICAgICAgIAkkYWxlcnQgPSBBcnJheSgpOwogICAgICAgIAkkYWxlcnRbZ3JvdXBdID0gJ3NldHRpbmdzJzsKICAgICAgICAgICAgJGFsZXJ0W21lc3NhZ2VdID0gJHRoaXMtPmxhbmcoJ3Byb3ZpZGVfYW5fYXV0aG9yJyk7CiAgICAgICAgICAgICRhbGVydFtsaW5rc11bXSA9ICR0aGlzLT5sYW5nKCd2aXNpdF9zZXR0aW5ncycpOwogICAgICAgICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkYWxlcnRzOwkJCgl9CgkKCWZ1bmN0aW9uIGdldE5vdGljZUFsZXJ0cygpIHsKCQkkYWxlcnRzID0gQXJyYXkoKTsKCQkvLyBObyBzdGFuZGFyZCBtZXRhCiAgICAgICAgaWYgKCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdtZXRhX3N0YW5kYXJkJywnZmFsc2UnKSAhPSAndHJ1ZScpIHsKICAgICAgICAJJGFsZXJ0ID0gQXJyYXkoKTsKICAgICAgICAJJGFsZXJ0W21lc3NhZ2VdID0gJHRoaXMtPmxhbmcoJ3VzZV9zdGFuZGFyZF9tZXRhJyk7CiAgICAgICAgCSRhbGVydFtsaW5rc11bXSA9ICR0aGlzLT5sYW5nKCd2aXNpdF9zZXR0aW5ncycpOyAgICAgICAgCQogICAgICAgICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CiAgICAgICAgfQogICAgICAgIC8vIFN1Ym1pdCBhIHNpdGVtYXAKICAgICAgICBpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ2NyZWF0ZV9zaXRlbWFwJywndHJ1ZScpICE9ICd0cnVlJykgewogICAgICAgIAkkYWxlcnQgPSBBcnJheSgpOwogICAgICAgICAgICAkYWxlcnRbbWVzc2FnZV0gPSAkdGhpcy0+bGFuZygnY3JlYXRlX2Ffc2l0ZW1hcCcpOwogICAgICAgICAgICAkYWxlcnRbbGlua3NdW10gPSAkdGhpcy0+bGFuZygndmlzaXRfc2V0dGluZ3MnKTsKICAgICAgICAgICAgJGFsZXJ0c1tdID0gJGFsZXJ0OwogICAgICAgIH1lbHNlaWYoJHRoaXMtPmdldFByZWZlcmVuY2UoJ3B1c2hfc2l0ZW1hcCcsJ3RydWUnKSAhPSAndHJ1ZScpIHsKICAgICAgICAgIC8vIEF1dG9tYXRpY2FsbHkgc3VibWl0IHRoZSBzaXRlbWFwCiAgICAgICAgICAgICRhbGVydCA9IEFycmF5KCk7CiAgICAgICAgICAgICRhbGVydFttZXNzYWdlXSA9ICR0aGlzLT5sYW5nKCdhdXRvbWF0aWNhbGx5X3VwbG9hZF9zaXRlbWFwJyk7CiAgICAgICAgICAgICRhbGVydFtsaW5rc11bXSA9ICR0aGlzLT5sYW5nKCd2aXNpdF9zZXR0aW5ncycpOwogICAgICAgICAgICAkYWxlcnRzW10gPSAkYWxlcnQ7CQogICAgICAgIH0gICAgICAgIAogICAgICAgIC8vIENyZWF0ZSBhIHJvYm90cy50eHQgZmlsZQogICAgICAgIGlmICgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgnY3JlYXRlX3JvYm90cycsJ3RydWUnKSAhPSAndHJ1ZScpIHsKICAgICAgICAgICAgJGFsZXJ0ID0gQXJyYXkoKTsKICAgICAgICAgICAgJGFsZXJ0W21lc3NhZ2VdID0gJHRoaXMtPmxhbmcoJ2NyZWF0ZV9yb2JvdHMnKTsKICAgICAgICAgICAgJGFsZXJ0W2xpbmtzXVtdID0gJHRoaXMtPmxhbmcoJ3Zpc2l0X3NldHRpbmdzJyk7CiAgICAgICAgICAgICRhbGVydHNbXSA9ICRhbGVydDsKICAgICAgICB9CiAgICAgICAgLy8gU2V0IGEgZGVmYXVsdCBpbWFnZQogICAgICAgIHJldHVybiAkYWxlcnRzOwoJfQoJCmZ1bmN0aW9uIGdldF9rZXl3b3Jkcygkc291cmNlLCAkbWlubGVuZ3RoID0gNikgewogICAgJHNvdXJjZSA9IHByZWdfcmVwbGFjZSgnL1x7W15cfV0rXH0vaXNVJywgJycsIHV0ZjhfZGVjb2RlKCRzb3VyY2UpKTsKICAgICRzb3VyY2UgPSBzdHJfcmVwbGFjZSgiXG4iLCIgIixzdHJpcF90YWdzKCRzb3VyY2UpKTsKICAgICRzb3VyY2UgPSBzdHJfcmVwbGFjZSgnLScsJyAnLCRzb3VyY2UpOwogICAgJHNvdXJjZSA9IHN0cl9yZXBsYWNlKCcuJywnICcsJHNvdXJjZSk7CiAgICAkc291cmNlID0gc3RyX3JlcGxhY2UoJywnLCcgJywkc291cmNlKTsKICAgICRzb3VyY2UgPSBzdHJfcmVwbGFjZSgnIScsJyAnLCRzb3VyY2UpOwogICAgJHNvdXJjZSA9IHN0cl9yZXBsYWNlKCc/JywnICcsJHNvdXJjZSk7CiAgICAkc291cmNlID0gc3RyX3JlcGxhY2UoJzonLCcgJywkc291cmNlKTsKICAgICRzb3VyY2UgPSBzdHJfcmVwbGFjZSgnICAnLCcgJywkc291cmNlKTsKICAgICRrZXl3b3JkcyA9IGV4cGxvZGUoJyAnLCRzb3VyY2UpOwogICAgZm9yZWFjaCAoJGtleXdvcmRzIGFzICRrZXk9PiR2YWx1ZSkgewogICAgICAgIGlmIChzdHJsZW4oJHZhbHVlKSA8ICRtaW5sZW5ndGgpIHsKICAgICAgICAgICAgdW5zZXQoJGtleXdvcmRzWyRrZXldKTsKICAgICAgICB9ZWxzZXsKICAgICAgICAJJGtleXdvcmRzWyRrZXldID0gdHJpbSgkdmFsdWUpOwogICAgICAgIH0KICAgIH0KICAgIHJldHVybiAka2V5d29yZHM7ICAgIAp9CgpmdW5jdGlvbiBnZXRfaGVhZGxpbmVzKCRmaWxlKXsKICAgICAgJGgxdGFncyA9IHByZWdfbWF0Y2hfYWxsKCIvKDxoMS4qPikoXHcuKikoPFwvaDE+KS9pc3htVSIsJGZpbGUsJHBhdHRlcm5zKTsgICAgICAgICAgIAogICAgICAkY29udGVudCA9ICIiOwogICAgICBmb3JlYWNoKCRwYXR0ZXJuc1syXSBhcyAkdGFnKSB7CiAgICAgIAkkY29udGVudCAuPSAiICIuJHRhZzsKICAgICAgfQogICAgICAkaDJ0YWdzID0gcHJlZ19tYXRjaF9hbGwoIi8oPGgyLio+KShcdy4qKSg8XC9oMj4pL2lzeG1VIiwkZmlsZSwkcGF0dGVybnMpOyAgICAgICAgICAgCiAgICAgIGZvcmVhY2goJHBhdHRlcm5zWzJdIGFzICR0YWcpIHsKICAgICAgCSRjb250ZW50IC49ICIgIi4kdGFnOwogICAgICB9CiAgICAgICRoM3RhZ3MgPSBwcmVnX21hdGNoX2FsbCgiLyg8aDMuKj4pKFx3LiopKDxcL2gzPikvaXN4bVUiLCRmaWxlLCRwYXR0ZXJucyk7ICAgICAgICAgICAKICAgICAgZm9yZWFjaCgkcGF0dGVybnNbMl0gYXMgJHRhZykgewogICAgICAJJGNvbnRlbnQgLj0gIiAiLiR0YWc7CiAgICAgIH0KICAgICAgJGg0dGFncyA9IHByZWdfbWF0Y2hfYWxsKCIvKDxoNC4qPikoXHcuKikoPFwvaDQ+KS9pc3htVSIsJGZpbGUsJHBhdHRlcm5zKTsgICAgICAgICAgIAogICAgICBmb3JlYWNoKCRwYXR0ZXJuc1syXSBhcyAkdGFnKSB7CiAgICAgIAkkY29udGVudCAuPSAiICIuJHRhZzsKICAgICAgfQogICAgICAkaDV0YWdzID0gcHJlZ19tYXRjaF9hbGwoIi8oPGg1Lio+KShcdy4qKSg8XC9oNT4pL2lzeG1VIiwkZmlsZSwkcGF0dGVybnMpOyAgICAgICAgICAgCiAgICAgIGZvcmVhY2goJHBhdHRlcm5zWzJdIGFzICR0YWcpIHsKICAgICAgCSRjb250ZW50IC49ICIgIi4kdGFnOwogICAgICB9CiAgICAgICRoNnRhZ3MgPSBwcmVnX21hdGNoX2FsbCgiLyg8aDYuKj4pKFx3LiopKDxcL2g2PikvaXN4bVUiLCRmaWxlLCRwYXR0ZXJucyk7ICAgICAgICAgICAKICAgICAgZm9yZWFjaCgkcGF0dGVybnNbMl0gYXMgJHRhZykgewogICAgICAJJGNvbnRlbnQgLj0gIiAiLiR0YWc7CiAgICAgIH0KICAgICAgcmV0dXJuICRjb250ZW50OyAgICAgICAgICAgCiAgICB9CgpmdW5jdGlvbiBnZXRLZXl3b3JkU3VnZ2VzdGlvbnMoJGNvbnRlbnRfaWQpIHsKCWdsb2JhbCAkZ0NtczsKCSRobSA9ICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CiAgICAkY3Vybm9kZSA9JiAkaG0tPmdldE5vZGVCeUlkKCRjb250ZW50X2lkKTsKICAgICRjdXJjb250ZW50ID0mICRjdXJub2RlLT5HZXRDb250ZW50KCk7CiAgICAkZGVzY3JpcHRpb25faWQgPSBzdHJfcmVwbGFjZSgnICcsJ18nLCR0aGlzLT5nZXRQcmVmZXJlbmNlKCdkZXNjcmlwdGlvbl9ibG9jaycsJycpKTsJICAgIAogICAgCiAgICAkZGIgPSYkZ0Ntcy0+ZGI7CiAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4iY29udGVudF9wcm9wcyBXSEVSRSBjb250ZW50X2lkID0gJGNvbnRlbnRfaWQgQU5EIHByb3BfbmFtZSA9ICdjb250ZW50X2VuJyI7CiAgICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICAkY29udGVudCA9ICRyZXN1bHQtPmZldGNoUm93KCk7CiAgICAKICAgICRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJjb250ZW50X3Byb3BzIFdIRVJFIGNvbnRlbnRfaWQgPSAkY29udGVudF9pZCBBTkQgcHJvcF9uYW1lID0gJyRkZXNjcmlwdGlvbl9pZCciOwogICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgJGRlc2NyaXB0aW9uID0gJHJlc3VsdC0+ZmV0Y2hSb3coKTsKICAgIAoJLyogR2VuZXJhdGUga2V5d29yZHMgZnJvbSBwYWdlIHRpdGxlLCBkZXNjcmlwdGlvbiBhbmQgY29udGVudCAqLwoJJHRpdGxlX2tleXdvcmRzID0gJHRoaXMtPmdldF9rZXl3b3JkcygkY3VyY29udGVudC0+bU5hbWUsICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdrZXl3b3JkX21pbmxlbmd0aCcsJzYnKSk7CgkkZGVzY3JpcHRpb25fa2V5d29yZHMgPSAkdGhpcy0+Z2V0X2tleXdvcmRzKCRkZXNjcmlwdGlvblsnY29udGVudCddLCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgna2V5d29yZF9taW5sZW5ndGgnLCc2JykpOwkJCQogICAgJGhlYWRsaW5lX2tleXdvcmRzID0gJHRoaXMtPmdldF9rZXl3b3JkcygkdGhpcy0+Z2V0X2hlYWRsaW5lcygkY29udGVudFsnY29udGVudCddKSwgJHRoaXMtPmdldFByZWZlcmVuY2UoJ2tleXdvcmRfbWlubGVuZ3RoJywnNicpKTsgICAgCgkkY29udGVudF9rZXl3b3JkcyA9ICR0aGlzLT5nZXRfa2V5d29yZHMoJGNvbnRlbnRbJ2NvbnRlbnQnXSwgJHRoaXMtPmdldFByZWZlcmVuY2UoJ2tleXdvcmRfbWlubGVuZ3RoJywnNicpKTsKCQoJJG90aGVyX2tleXdvcmRzID0gQXJyYXkoKTsKCQoJZm9yZWFjaCgkdGl0bGVfa2V5d29yZHMgYXMgJGtleXdvcmQpIHsKCSAgICAkb3RoZXJfa2V5d29yZHNbJGtleXdvcmRdID0gJHRoaXMtPmdldFByZWZlcmVuY2UoJ2tleXdvcmRfdGl0bGVfd2VpZ2h0JywnNicpOwoJfQoJZm9yZWFjaCgkZGVzY3JpcHRpb25fa2V5d29yZHMgYXMgJGtleXdvcmQpIHsKCSAgICAkb3RoZXJfa2V5d29yZHNbJGtleXdvcmRdICs9ICR0aGlzLT5nZXRQcmVmZXJlbmNlKCdrZXl3b3JkX2Rlc2NyaXB0aW9uX3dlaWdodCcsJzQnKTsKCX0KCWZvcmVhY2goJGhlYWRsaW5lX2tleXdvcmRzIGFzICRrZXl3b3JkKSB7CgkgICAgJG90aGVyX2tleXdvcmRzWyRrZXl3b3JkXSArPSAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgna2V5d29yZF9oZWFkbGluZV93ZWlnaHQnLCcyJyk7Cgl9CQoJZm9yZWFjaCgkY29udGVudF9rZXl3b3JkcyBhcyAka2V5d29yZCkgewoJICAgICRvdGhlcl9rZXl3b3Jkc1ska2V5d29yZF0gKz0gJHRoaXMtPmdldFByZWZlcmVuY2UoJ2tleXdvcmRfY29udGVudF93ZWlnaHQnLCcxJyk7Cgl9CgkKCWFyc29ydCgkb3RoZXJfa2V5d29yZHMpOwoJCgkkZXhjbHVkZV9saXN0ID0gZXhwbG9kZSgnICcsc3RydG91cHBlcih1dGY4X2RlY29kZSgkdGhpcy0+Z2V0UHJlZmVyZW5jZSgna2V5d29yZF9leGNsdWRlJywnJykpKSk7CQkKCQoJZm9yZWFjaCAoJG90aGVyX2tleXdvcmRzIGFzICRrZXk9PiR2YWx1ZSkgewoJICAgIGlmICgkdmFsdWUgPCAkdGhpcy0+Z2V0UHJlZmVyZW5jZSgna2V5d29yZF9taW5pbXVtX3dlaWdodCcsJzcnKSkgewoJICAgICAgICB1bnNldCgkb3RoZXJfa2V5d29yZHNbJGtleV0pOwoJICAgIH0KCSAgICBpZiAoaW5fYXJyYXkoc3RydG91cHBlcigka2V5KSwkZXhjbHVkZV9saXN0KSkgewoJICAgIAl1bnNldCgkb3RoZXJfa2V5d29yZHNbJGtleV0pOwoJICAgIH0KCX0KCXJldHVybiAkb3RoZXJfa2V5d29yZHM7CQp9CgpmdW5jdGlvbiBjcmVhdGVSb2JvdHNUWFQoKSB7CQoJZ2xvYmFsICRnQ21zOwkJCgkkZnAgPSBAZm9wZW4oJGdDbXMtPmNvbmZpZ1tyb290X3BhdGhdLicvcm9ib3RzLnR4dCcsJ3cnKTsKCS8vIENyZWF0ZSByb2JvdHMudHh0CglpZiAoJHRoaXMtPmdldFByZWZlcmVuY2UoJ2NyZWF0ZV9zaXRlbWFwJywndHJ1ZScpID09ICd0cnVlJykgewoJCUBmd3JpdGUoJGZwLCAiU2l0ZW1hcDogIi4kZ0Ntcy0+Y29uZmlnW3Jvb3RfdXJsXS4iL3NpdGVtYXAueG1sXG5cbiIpOwoJfQoJQGZ3cml0ZSgkZnAsICJVc2VyLWFnZW50OiAqXG4iKTsgCiAgICBAZndyaXRlKCRmcCwgIkRpc2FsbG93OiAvYWRtaW4vXG4iKTsKCUBmd3JpdGUoJGZwLCAiRGlzYWxsb3c6IC9jb250cmliL1xuIik7IAoJQGZ3cml0ZSgkZnAsICJEaXNhbGxvdzogL2RvYy9cbiIpOwoJQGZ3cml0ZSgkZnAsICJEaXNhbGxvdzogL2xpYi9cbiIpOwoJQGZ3cml0ZSgkZnAsICJEaXNhbGxvdzogL21vZHVsZXMvXG4iKTsgCglAZndyaXRlKCRmcCwgIkRpc2FsbG93OiAvcGx1Z2lucy9cbiIpOwoJQGZ3cml0ZSgkZnAsICJEaXNhbGxvdzogL3NjcmlwdHMvXG4iKTsKCUBmd3JpdGUoJGZwLCAiRGlzYWxsb3c6IC90bXAvXG4iKTsKCQoJJGhtID0mICRnQ21zLT5nZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CgkkZGIgPSYgJGdDbXMtPmRiOwoJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZW90b29scyBXSEVSRSBpbmRleGFibGUgPSAwIjsKCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCXdoaWxlICgkcGFnZSA9ICRyZXN1bHQtPmZldGNoUm93KCkpIHsKCQkkY3Vybm9kZSA9JiAkaG0tPmdldE5vZGVCeUlkKCRwYWdlW2NvbnRlbnRfaWRdKTsKICAgICAgICAkY3VyY29udGVudCA9JiAkY3Vybm9kZS0+R2V0Q29udGVudCgpOwogICAgICAgICR1cmwgPSAkY3VyY29udGVudC0+R2V0VVJMKCk7CiAgICAgICAgQGZ3cml0ZSgkZnAsICJEaXNhbGxvdzogIi5zdHJfcmVwbGFjZSgkZ0Ntcy0+Y29uZmlnW3Jvb3RfdXJsXSwgJycsICR1cmwpLiJcbiIpOwkJCgl9CgkKCUBmY2xvc2UoJGZwKTsKfQoKZnVuY3Rpb24gY3JlYXRlU2l0ZW1hcCgkcHVzaCA9IGZhbHNlKSB7CglnbG9iYWwgJGdDbXM7CiAgICAkZnAgPSBAZm9wZW4oJGdDbXMtPmNvbmZpZ1tyb290X3BhdGhdLicvc2l0ZW1hcC54bWwnLCd3Jyk7CiAgICAgICAgLy8gQ3JlYXRlIHNpdGVtYXAKCiAgICBmd3JpdGUoJGZwLCAiPD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz5cbiIpOwogICAgZndyaXRlKCRmcCwgIjx1cmxzZXQgeG1sbnM9J2h0dHA6Ly93d3cuc2l0ZW1hcHMub3JnL3NjaGVtYXMvc2l0ZW1hcC8wLjknPlxuXG4iKTsKICAgIAogICAgJGRiID0gJGdDbXMtPmRiOwogICAgJGhtID0mICRnQ21zLT5nZXRIaWVyYXJjaHlNYW5hZ2VyKCk7CiAgICAKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidjb250ZW50IFdIRVJFIGFjdGl2ZSA9IDEgT1JERVIgQlkgaGllcmFyY2h5IEFTQyc7CiAgICAkcmVzdWx0ID0mICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgCiAgICB3aGlsZSAoJHBhZ2UgPSAkcmVzdWx0LT5mZXRjaFJvdygpKSB7ICAgIAkgICAgICAgICAgCQogICAgICAkY3Vybm9kZSA9JiAkaG0tPmdldE5vZGVCeUlkKCRwYWdlW2NvbnRlbnRfaWRdKTsKICAgICAgaWYgKCFpc19vYmplY3QoJGN1cm5vZGUpKSB7CiAgICAgIAljb250aW51ZTsKICAgICAgfQogICAgICAkY3VyY29udGVudCA9JiAkY3Vybm9kZS0+R2V0Q29udGVudCgpOwogICAgICAkdXJsID0gJGN1cmNvbnRlbnQtPkdldFVSTCgpOyAgICAgIAogICAgICAKICAgICAgJHByaW9yaXR5ID0gODA7CiAgICAgIGZvciAoJGkgPSAwOyAkaSA8IHN1YnN0cl9jb3VudCgkcGFnZVtoaWVyYXJjaHldLCcuJyk7ICRpKyspIHsgICAgICAKICAgICAgICAkcHJpb3JpdHkgID0gJHByaW9yaXR5IC8gMjsKICAgICAgfQogICAgICBpZiAoJHBhZ2VbZGVmYXVsdF9jb250ZW50XSA9PSAxKSB7CiAgICAgICAgJHByaW9yaXR5ID0gMTAwOwogICAgICB9CiAgICAgIAogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Nlb3Rvb2xzIFdIRVJFIGNvbnRlbnRfaWQgPSAnLiRwYWdlW2NvbnRlbnRfaWRdOwogICAgICAkcmVzdWx0MiA9JiAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgICAgJGluZm8gPSAkcmVzdWx0Mi0+ZmV0Y2hSb3coKTsKICAgICAgaWYgKCgkaW5mb1twcmlvcml0eV0gIT0gMCkgJiYgKCRpbmZvW3ByaW9yaXR5XSAhPSAiIikpIHsKICAgICAgCSRwcmlvcml0eSA9ICRpbmZvW3ByaW9yaXR5XTsKICAgICAgfQogICAgICBpZiAoKCRpbmZvW2luZGV4YWJsZV0gPT0gIiIpIHx8ICgkaW5mb1tpbmRleGFibGVdID09IDEpKSB7ICAgICAgCiAgICAgICAgZndyaXRlKCRmcCwgIjx1cmw+XG4iKTsKICAgICAgICBmd3JpdGUoJGZwLCAiPGxvYz4iLiR1cmwuIjwvbG9jPlxuIik7CiAgICAgICAgZndyaXRlKCRmcCwgIjxsYXN0bW9kPiIuZGF0ZSgiWS1tLWQiLCBzdHJ0b3RpbWUoJHBhZ2VbbW9kaWZpZWRfZGF0ZV0pKS4iPC9sYXN0bW9kPlxuIik7CiAgICAgICAgZndyaXRlKCRmcCwgIjxjaGFuZ2VmcmVxPmFsd2F5czwvY2hhbmdlZnJlcT5cbiIpOwogICAgICAgIGZ3cml0ZSgkZnAsICI8cHJpb3JpdHk+Ii5udW1iZXJfZm9ybWF0KCRwcmlvcml0eSAvIDEwMCwgMSkuIjwvcHJpb3JpdHk+XG4iKTsKICAgICAgICBmd3JpdGUoJGZwLCAiPC91cmw+XG5cbiIpOwogICAgICB9CiAgICB9CiAgICBmd3JpdGUoJGZwLCAiPC91cmxzZXQ+Iik7ICAgICAgICAgICAgCiAgICBmY2xvc2UoJGZwKTsKICAgIGlmICgkcHVzaCkgewogICAgCS8vIFB1c2ggc2l0ZW1hcCB0byBnb29nbGUKICAgIAkkZnAgPSBmb3BlbigiaHR0cDovL3d3dy5nb29nbGUuY29tL3dlYm1hc3RlcnMvdG9vbHMvcGluZz9zaXRlbWFwPSIudXJsZW5jb2RlKCRnQ21zLT5jb25maWdbcm9vdF91cmxdLiIvc2l0ZW1hcC54bWwiKSwiciIpOwogICAgICAgIGZjbG9zZSgkZnApOwogICAgfQp9Cgp9Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRtZXNzYWdlfQoKeyR0YWJfaGVhZGVyc30KCnskc3RhcnRfc2VvYWxlcnRzX3RhYn0KeyRhbGVydHN9CnskZW5kX3RhYn0KCnskc3RhcnRfcGFnZWRlc2NyaXB0aW9uc190YWJ9CnskcGFnZXNldHRpbmdzfQp7JGVuZF90YWJ9Cgp7JHN0YXJ0X21ldGFzZXR0aW5nc190YWJ9CnskbWV0YV9mb3JtfQp7JGVuZF90YWJ9Cgp7JHN0YXJ0X3NpdGVtYXBzZXR0aW5nc190YWJ9Cnskc2l0ZW1hcF9mb3JtfQp7JGVuZF90YWJ9Cgp7JHN0YXJ0X2tleXdvcmRzZXR0aW5nc190YWJ9Cnska2V5d29yZF9mb3JtfQp7JGVuZF90YWJ9Cgp7JHRhYl9mb290ZXJzfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9]]></data>
	</file>
</module>
