<?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>DocumentSearch</name>
	<version>1.2</version>
  <mincmsversion>1.11</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93cyBmb3IgdGhlIHVwbG9hZGluZyBvZiBQREYsIERPQyBhbmQgRE9DWCBmaWxlcyB3aXRoIHRoZSBpbnRlbnRpb24gb2YgaGF2aW5nIHRoZSBkb2N1bWVudHMgY29udGVudCBleHRyYWN0ZWQgYW5kIGFkZGVkIHRvIHRoZSBkYXRhYmFzZSBtYWtpbmcgdGhlIGNvbnRlbnQgc2VhcmNoYWJsZSB2aWEgQ01TTVMgc2VhcmNoIG1vZHVsZS4gVGhlIHVwbG9hZGVkIGZpbGVzIGNhbiBhbHNvIGJlIGxpc3RlZCBvbiB0aGUgZnJvbnQgZW5kLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlNpbXBseSBwbGFjZSB0aGUgbW9kdWxlIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyB0aGUgc21hcnR5IHRhZyA8Y29kZT57RG9jdW1lbnRTZWFyY2h9PC9jb2RlPjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIE1vZHVsZSBGb3JnZQo8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2RvY3VtZW50c2VhcmNoLyI+RG9jdW1lbnQgU2VhcmNoIFBhZ2U8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIG9saXZlcnNlZGRvbiwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTMsIE9saXZlciBTZWRkb24gPGEgaHJlZj0ibWFpbHRvOm9saXZlckB0aHJlZWZvbGQuY28udWsiPiZsdDtvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4KPGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY2F0ZWdvcnk9IkdlbmVyYWwiIC0gV2hpY2ggY2F0ZWdvcnkgdG8gZGlzcGxheSBkb2N1bWVudHMgZnJvbS48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBvbGl2ZXJzZWRkb24gJmx0O29saXZlckB0aHJlZWZvbGQuY28udWsmZ3Q7PGJyIC8+PGJyIC8+VmVyc2lvbjogMS4yPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAxLjAgMzAgSmFudWFyeSAyMDEzLiBJbml0aWFsIFJlbGVhc2UuPC9saT4KPGxpPlZlcnNpb24gMS4xIDMwIEphbnVhcnkgMjAxMy4gRml4IGZvciBidWcgIzg4NzUuPC9saT4KPGxpPlZlcnNpb24gMS4yIDMwIEphbnVhcnkgMjAxMy4gRml4IHRvIHNlYXJjaCByZXN1bHRzIFVSTCwgbWlzc2luZyBkb2N1bWVudHNlYXJjaCBkaXJlY3RvcnkuPC9saT4KPC91bD48YnIgLz4=]]></about>
	<description><![CDATA[This module extracts the contents of PDF, DOC and DOCX files and adds the content to the database making the documents content searchable, with a link reference to the original document for downloading/viewing.]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG9jdW1lbnQgU2VhcmNoJykpIHJldHVybjsKCiRwYXJlbnQgPSAtMTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3BhcmVudCddKSkKICB7CiAgICAkcGFyZW50ID0gKGludCkkcGFyYW1zWydwYXJlbnQnXTsKICB9CmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpCnsKICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkKTsKfQoKJG5hbWUgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpCnsKICAkbmFtZSA9IHRyaW0oJHBhcmFtc1snbmFtZSddKTsKICBpZiAoJG5hbWUgIT0gJycpCiAgICB7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2RvY3VtZW50c2VhcmNoX2NhdGVnb3JpZXMgV0hFUkUgcGFyZW50X2lkID0gPyBBTkQgZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfbmFtZSA9ID8nOwogICAgICAkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRwYXJlbnQsJG5hbWUpKTsKICAgICAgaWYoICR0bXAgKQoJewoJICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9kdXBsaWNhdGVuYW1lJykpOwoJfQogICAgICBlbHNlCgl7CgkgICRjYXRpZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcmllc19zZXEiKTsKCSAgJHRpbWUgPSAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSk7CgkgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2RvY3VtZW50c2VhcmNoX2NhdGVnb3JpZXMgKGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkLCBkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lLCBwYXJlbnRfaWQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LCcuJHRpbWUuJywnLiR0aW1lLicpJzsKCSAgJHBhcm1zID0gYXJyYXkoJGNhdGlkLCRuYW1lLCRwYXJlbnQpOwoJICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkcGFybXMpOwoJICBkb2N1bWVudHNlYXJjaF9hZG1pbl9vcHM6OlVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygpOwoJICBAJHRoaXMtPlNlbmRFdmVudCgnRG9jdW1lbnRTZWFyY2hDYXRlZ29yeUFkZGVkJywgYXJyYXkoJ2NhdGVnb3J5X2lkJyA9PiAkY2F0aWQsICduYW1lJyA9PiAkbmFtZSkpOwoJICAvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCSAgYXVkaXQoJGNhdGlkLCAnRG9jdW1lbnQgU2VhcmNoIGNhdGVnb3J5OiAnLiRjYXRpZCwgJyBDYXRlZ29yeSBhZGRlZCcpOwoJICAKCSAgJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnY2F0ZWdvcnlhZGRlZCcsICdhY3RpdmVfdGFiJyA9PiAnY2F0ZWdvcmllcycpOwoJICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKCX0KICAgIH0KICBlbHNlCiAgICB7CiAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vbmFtZWdpdmVuJykpOwogICAgfQp9CgojRGlzcGxheSB0ZW1wbGF0ZQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnYWRkY2F0ZWdvcnknLCAkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignbmFtZXRleHQnLCAkdGhpcy0+TGFuZygnbmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkbmFtZSwgMjAsIDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICcnKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0Y2F0ZWdvcnkudHBsJyk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.add_edit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQ0KaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7Cg0KLy8gZ2V0IG91ciByZWNvcmRzIGZyb20gdGhlIGRhdGFiYXNlDQokZGIgPSAkZ0Ntcy0+R2V0RGIoKTsNCg0KaWYgKGlzc2V0KCRwYXJhbXNbJ2RvY3VtZW50c2VhcmNoX2lkJ10pKSB7DQoJJHF1ZXJ5ID0gJ1NFTEVDVCBkb2N1bWVudHNlYXJjaF9pZCwgbmFtZSwgY29udGVudCwgZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQsIGxvY2F0aW9uLCBhdXRob3IsIHN0YXR1cyBmcm9tICcuY21zX2RiX3ByZWZpeCgpLg0KICAgIAknbW9kdWxlX2RvY3VtZW50c2VhcmNoIHdoZXJlIGRvY3VtZW50c2VhcmNoX2lkID0gPyc7DQoJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1snZG9jdW1lbnRzZWFyY2hfaWQnXSkpOw0KDQoJaWYgKCRyZXN1bHQgIT09IGZhbHNlKSB7DQoJCS8vIGxvYWQgaW4gdGhlIHJlY29yZCBpZiB0aGVyZSB3YXMgbm8gZXJyb3INCiAgICAJJHJvdz0kcmVzdWx0LT5GZXRjaFJvdygpOw0KICAgIAkkc2lkID0gJHJvd1snZG9jdW1lbnRzZWFyY2hfaWQnXTsgLy8gc3R1cGlkIC0tIHdlJ3JlIHBhc3NpbmcgdGhlIHBhcmFtLCBhbmQgdGhlbiB1c2luZyB0aGUgZGF0YWJhc2UgdmVyc2lvbi4NCiAgICAJJG5hbWUgPSAkcm93WyduYW1lJ107DQogICAgCSRjYXRlZ29yeSA9ICRyb3dbJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkJ107Cg0KCQkvLyB3ZSBkZWNvZGUgdGhpcyBuZXh0IG9uZSwgYmVjYXVzZSBpdCBnZXRzIHN0b3JlZCBlbmNvZGVkLCBhbmQgdGhlIENyZWF0ZVRleHRBcmVhIEFQSSBlbmNvZGVzIGFzIHdlbGwsIHNvDQoJCS8vIGlmIHdlIGRpZG4ndCBkZWNvZGUgaXQsIHdlJ2QgZ2V0IGRvdWJsZSBlbmNvZGluZy4NCiAgICAJJGNvbnRlbnQgPSBodG1sX2VudGl0eV9kZWNvZGUoJHJvd1snY29udGVudCddKTsgDQogICAgCSRsb2NhdGlvbiA9ICRyb3dbJ2xvY2F0aW9uJ107DQogICAgCSRhdXRob3IgPSAkcm93WydhdXRob3InXTsNCiAgICAJJHN0YXR1cyA9ICRyb3dbJ3N0YXR1cyddOwoKCQkkdXNlZHN0YXR1cyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N0YXR1cycsICcnKTsKCQlpZiAoaXNzZXQoJHN0YXR1cykpCXsKCQkJJHVzZWRzdGF0dXMgPSAkc3RhdHVzOwoJCX0KCgkJJHVzZWRjYXRlZ29yeSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2NhdGVnb3J5JywgJycpOwoJCWlmIChpc3NldCgkY2F0ZWdvcnkpKQl7CgkJCSR1c2VkY2F0ZWdvcnkgPSAkY2F0ZWdvcnk7CgkJfQoNCiAgICB9IGVsc2Ugew0KICAgIAkvLyB5ZWFoLCB0aGF0J3MgZ3JhY2VmdWwgOigNCiAgICAJZWNobyAiRGF0YWJhc2UgZXJyb3IhIjsNCiAgICAJZXhpdDsNCiAgICB9DQp9IGVsc2Ugew0KCS8vIGlmIHdlIGRpZG4ndCByZXRyaWV2ZSBhIHJlY29yZCwgc2V0IHNvbWUgZGVmYXVsdCB2YWx1ZXMNCgkkc2lkID0gLTE7DQoJJG5hbWUgPSAnJzsNCgkkY29udGVudCA9ICcnOw0KCSRsb2NhdGlvbiA9ICcnOw0KCSRhdXRob3IgPSAnJzsNCgkkc3RhdHVzID0gJyc7DQoJJHVzZWRjYXRlZ29yeSA9ICcnOw0KfQoKJHN0YXR1c2xpc3QgPSBhcnJheSgpOwokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2RvY3VtZW50c2VhcmNoX3N0YXR1cyBPUkRFUiBCWSBkb2N1bWVudHNlYXJjaF9zdGF0dXNfaWQiOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgIAp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKCSRzdGF0dXNsaXN0WyRyb3dbJ2RvY3VtZW50c2VhcmNoX3N0YXR1c19uYW1lJ11dID0gJHJvd1snZG9jdW1lbnRzZWFyY2hfc3RhdHVzX2lkJ107Cn0KCiRjYXRlZ29yeWxpc3QgPSBhcnJheSgpOwokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2RvY3VtZW50c2VhcmNoX2NhdGVnb3JpZXMgT1JERVIgQlkgaGllcmFyY2h5IjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICAKd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKSB7CgkkY2F0ZWdvcnlsaXN0WyRyb3dbJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5X25hbWUnXV0gPSAkcm93Wydkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCddOwp9CgoKJG9uY2hhbmdldGV4dD0nb25jaGFuZ2U9ImRvY3VtZW50Jy4kaWQuJ21vZHVsZWZvcm1fMS5zdWJtaXQoKSInOwoNCi8vIHNldCB1cCBmb3JtIGZvciBTbWFydHkNCiRzbWFydHktPmFzc2lnbignc3RhcnRfZm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ3NhdmVfcmVjb3JkJywkcmV0dXJuaWQsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJyxmYWxzZSwnJywkcGFyYW1zKSk7Cg0KLy8gZ2l2ZSBTbWFydHkgdHJhbnNsYXRlZCBmaWVsZCB0aXRsZXMgDQokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX25hbWUnLCR0aGlzLT5MYW5nKCd0aXRsZV9uYW1lJykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV9hdXRob3InLCR0aGlzLT5MYW5nKCd0aXRsZV9hdXRob3InKSk7DQokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX2NvbnRlbnQnLCR0aGlzLT5MYW5nKCd0aXRsZV9jb250ZW50JykpOw0KJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV9sb2NhdGlvbmZpbGUnLCR0aGlzLT5MYW5nKCd0aXRsZV9sb2NhdGlvbicpKTsNCiRzbWFydHktPmFzc2lnbigndGl0bGVfbG9jYXRpb25maWxlZWRpdCcsJHRoaXMtPkxhbmcoJ3RpdGxlX2xvY2F0aW9uZWRpdCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeXRleHQnLCAkdGhpcy0+TGFuZygnY2F0ZWdvcnknKSk7CiRzbWFydHktPmFzc2lnbignc3RhdHVzdGV4dCcsICR0aGlzLT5MYW5nKCdzdGF0dXMnKSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X25hbWUnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCduYW1lJywkbmFtZSwgMzApKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfYXV0aG9yJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnYXV0aG9yJywkYXV0aG9yLCAzMCkpOw0KJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jb250ZW50JywkdGhpcy0+Q3JlYXRlVGV4dEFyZWEodHJ1ZSwgJGlkLCAkY29udGVudCwgJ2NvbnRlbnQnLCAnJywgJycsICcnLCAnJywgNDAsIDUpKTsNCiRzbWFydHktPmFzc2lnbignaW5wdXRfbG9jYXRpb25maWxlJywkdGhpcy0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCRpZCwnbG9jYXRpb25maWxlJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdsb2NhdGlvbicsJGxvY2F0aW9uKTsKDQovLyBwYXNzIGEgaGlkZGVuIGtleXMgdmFsdWUgYWxvbmcgd2l0aCB0aGUgc3VibWl0IGJ1dHRvbgokc21hcnR5LT5hc3NpZ24oJ2lucHV0Y2F0ZWdvcnknLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdjYXRlZ29yeScsICRjYXRlZ29yeWxpc3QsIC0xLCAkdXNlZGNhdGVnb3J5LCAkb25jaGFuZ2V0ZXh0KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRzdGF0dXMnLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdzdGF0dXMnLCAkc3RhdHVzbGlzdCwgLTEsICR1c2Vkc3RhdHVzLCAkb25jaGFuZ2V0ZXh0KSk7DQokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2xvY2F0aW9uJywkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdsb2NhdGlvbicsJGxvY2F0aW9uKSk7DQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2RvY3VtZW50c2VhcmNoX2lkJywkc2lkKS4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7DQokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCAkdGhpcy0+TGFuZygnY2FuY2VsJykpKTsNCiRzbWFydHktPmFzc2lnbignZW5kX2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKDQovLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUNCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRkX2VkaXQudHBsJyk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCi8vIGdldCBvdXIgcmVjb3JkcyBmcm9tIHRoZSBkYXRhYmFzZQokZGIgPSAkZ0Ntcy0+R2V0RGIoKTsKCiRxdWVyeSA9ICdTRUxFQ1QgZG9jdW1lbnRzZWFyY2hfaWQsIG5hbWUsIGNvbnRlbnQsIGxvY2F0aW9uIGZyb20gJy5jbXNfZGJfcHJlZml4KCkuCiAgICdtb2R1bGVfZG9jdW1lbnRzZWFyY2gnOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ2RvY3VtZW50c2VhcmNoX2lkJ10pKQogICB7CiAgIC8vICpBTFdBWVMqIHVzZSBwYXJhbWV0ZXJpemVkIHF1ZXJpZXMgd2l0aCB1c2VyLXByb3ZpZGVkIGlucHV0CiAgIC8vIHRvIHByZXZlbnQgU1FMLUluamVjdGlvbiBhdHRhY2tzIQogICAkcXVlcnkgLj0gJyB3aGVyZSBkb2N1bWVudHNlYXJjaF9pZCA9ID8nOwogICAkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWydkb2N1bWVudHNlYXJjaF9pZCddKSk7CiAgICRtb2RlID0gJ2RldGFpbCc7IC8vIHdlJ3JlIHZpZXdpbmcgYSBzaW5nbGUgcmVjb3JkCiAgIH0KZWxzZQogICB7CiAgIC8vIHdlJ3JlIG5vdCBnZXR0aW5nIGEgc3BlY2lmaWMgcmVjb3JkLCBzbyBzaG93ICdlbSBhbGwuIFByb2JhYmx5IHNob3VsZCBwYWdpbmF0ZS4KICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAkbW9kZSA9ICdzdW1tYXJ5JzsgLy8gd2UncmUgdmlld2luZyBhIGxpc3Qgb2YgcmVjb3JkcwogICB9CiAgIAokcmVjb3JkcyA9IGFycmF5KCk7CndoaWxlICgkcmVzdWx0ICE9PSBmYWxzZSAmJiAkcm93PSRyZXN1bHQtPkZldGNoUm93KCkpCiAgIHsKICAgLy8gY3JlYXRlIGEgbmV3IG9iamVjdCBmb3IgZXZlcnkgcmVjb3JkIHRoYXQgd2UgcmV0cmlldmUKICAgJHJlYyA9IG5ldyBzdGRDbGFzcygpOwogICAkcmVjLT5pZCA9ICRyb3dbJ2RvY3VtZW50c2VhcmNoX2lkJ107CiAgICRyZWMtPm5hbWUgPSAkcm93WyduYW1lJ107CiAgICRyZWMtPmNvbnRlbnQgPSAkcm93Wydjb250ZW50J107CiAgICRyZWMtPmxvY2F0aW9uID0gJHJvd1snbG9jYXRpb24nXTsKCiAgIC8vIGNyZWF0ZSBhdHRyaWJ1dGVzIGZvciByZW5kZXJpbmcgInZpZXciIGxpbmtzIGZvciB0aGUgb2JqZWN0LgogICAvLyAkaWQgYW5kICRyZXR1cm5pZCBhcmUgcHJlZGVmaW5lZCBmb3IgdXMgYnkgdGhlIG1vZHVsZSBBUEkKICAgLy8gdGhhdCBsYXN0IHBhcmFtZXRlciBpcyB0aGUgUHJldHR5IFVSTCBsaW5rCiAgICRyZWMtPnZpZXcgPSAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAnZGVmYXVsdCcsICR0aGlzLT5MYW5nKCdsaW5rX3ZpZXcnKSwKICAgICAgYXJyYXkoJ2RvY3VtZW50c2VhcmNoX2lkJz0+JHJlYy0+aWQpLCcnLGZhbHNlLHRydWUsJycsZmFsc2UsJ2RvY3VtZW50c2VhcmNoL3ZpZXcvJy4kcmVjLT5pZC4nLycuJHJldHVybmlkKTsKICAgJHJlYy0+ZWRpdCA9ICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdhZGRfZWRpdCcsICR0aGlzLT5MYW5nKCdlZGl0JyksCiAgICAgIGFycmF5KCdkb2N1bWVudHNlYXJjaF9pZCc9PiRyZWMtPmlkKSwnJyxmYWxzZSx0cnVlLCcnLGZhbHNlLCdkb2N1bWVudHNlYXJjaC9lZGl0LycuJHJlYy0+aWQuJy8nLiRyZXR1cm5pZCk7CiAgIGFycmF5X3B1c2goJHJlY29yZHMsJHJlYyk7CiAgIH0KCgoKICAkZW50cnlhcnJheSA9IGFycmF5KCk7CiAgJHF1ZXJ5MSA9ICIKICAgICAgICAgICAgU0VMRUNUIAogICAgICAgICAgICAgICAgbWQuKiwgCiAgICAgICAgICAgICAgICBtZGMuZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfbmFtZSwgCiAgICAgICAgICAgICAgICBtZGMubG9uZ19uYW1lCiAgICAgICAgICAgIEZST00gIiAuIAogICAgY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9kb2N1bWVudHNlYXJjaCBtZAogICAgICAgICAgICBMRUZUIE9VVEVSIEpPSU4gIiAuIGNtc19kYl9wcmVmaXgoKSAuICJtb2R1bGVfZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcmllcyBtZGMgCiAgICAgICAgICAgIE9OIG1kYy5kb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCA9IG1kLmRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkIAogICAgICAgICI7CgogICRxdWVyeTIgPSAiCiAgICAgICAgICAgIFNFTEVDVCBjb3VudChtZC5kb2N1bWVudHNlYXJjaF9pZCkgYXMgY291bnQKICAgICAgICAgICAgRlJPTSAiIC4gCiAgICBjbXNfZGJfcHJlZml4KCkgLiAibW9kdWxlX2RvY3VtZW50c2VhcmNoIG1kCiAgICAgICAgICAgIExFRlQgT1VURVIgSk9JTiAiIC4gY21zX2RiX3ByZWZpeCgpIC4gIm1vZHVsZV9kb2N1bWVudHNlYXJjaF9jYXRlZ29yaWVzIG1kYyAKICAgICAgICAgICAgT04gbWRjLmRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkID0gbWQuZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQgCiAgICAgICAgIjsKCiAgICAgICAgICAgIAogIGlmKCBpc3NldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSApIHsKICAgICRxdWVyeTEgLj0gIkFORCAoIG1kYy5kb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCA9ICciLihpbnQpJHBhcmFtc1snY2F0ZWdvcnlfaWQnXS4iJyApIEFORCAiOwogICAgJHF1ZXJ5MiAuPSAiQU5EICggbWRjLmRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkID0gJyIuKGludCkkcGFyYW1zWydjYXRlZ29yeV9pZCddLiInICkgQU5EICI7CiAgfQogIGVsc2UgaWYgKGlzc2V0KCRwYXJhbXNbImNhdGVnb3J5Il0pICYmICRwYXJhbXNbImNhdGVnb3J5Il0gIT0gJycgJiYgJHBhcmFtc1siY2F0ZWdvcnkiXSAhPSAnbm9uZScpIHsKICAgICRjYXRlZ29yeSA9IGNtc19odG1sX2VudGl0eV9kZWNvZGUodHJpbSgkcGFyYW1zWydjYXRlZ29yeSddKSk7CiAgICAkY2F0ZWdvcmllcyA9IGV4cGxvZGUoJywnLCAkY2F0ZWdvcnkpOwogICAgJHF1ZXJ5MSAuPSAiQU5EICgiOwogICAgJHF1ZXJ5MiAuPSAiQU5EICgiOwogICAgJGNvdW50ID0gMDsKICAgIGZvcmVhY2ggKCRjYXRlZ29yaWVzIGFzICRvbmVjYXQpIHsKICAgICAgaWYgKCRjb3VudCA+IDApIHsKCSRxdWVyeTEgLj0gJyBPUiAnOwoJJHF1ZXJ5MiAuPSAnIE9SICc7CiAgICAgIH0KICAgICAgaWYgKHN0cnBvcygkb25lY2F0LCAnfCcpICE9PSBGQUxTRSB8fCBzdHJwb3MoJG9uZWNhdCwgJyonKSAhPT0gRkFMU0UpIHsKCSR0bXAgPSAkZGItPnFzdHIodHJpbShzdHJfcmVwbGFjZSgnKicsICclJywgc3RyX3JlcGxhY2UoIiciLCdfJywkb25lY2F0KSkpKTsKCSRxdWVyeTEgLj0gInVwcGVyKG1kYy5sb25nX25hbWUpIGxpa2UgdXBwZXIoeyR0bXB9KSI7CgkkcXVlcnkyIC49ICJ1cHBlcihtZGMubG9uZ19uYW1lKSBsaWtlIHVwcGVyKHskdG1wfSkiOwogICAgICB9CiAgICAgIGVsc2UgewoJJHRtcCA9ICRkYi0+cXN0cih0cmltKHN0cl9yZXBsYWNlKCInIiwnXycsJG9uZWNhdCkpKTsKCSRxdWVyeTEgLj0gIm1kYy5kb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lID0geyR0bXB9IjsKCSRxdWVyeTIgLj0gIm1kYy5kb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lID0geyR0bXB9IjsKICAgICAgfQogICAgICAkY291bnQrKzsKICAgIH0KICAgICRxdWVyeTEgLj0gIikgIjsKICAgICRxdWVyeTIgLj0gIikgIjsKICB9CgogICRzb3J0cmFuZG9tID0gZmFsc2U7ICAgICAgICAKICBpZiAoaXNzZXQoJHBhcmFtc1snc29ydGJ5J10pKSB7CiAgICBpZiAoJHBhcmFtc1snc29ydGJ5J10gPT0gJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5JykgewogICAgICAkcXVlcnkxIC49ICJPUkRFUiBCWSAnbG9uZ19uYW1lJyAiOwogICAgfSAKICAgIGVsc2UgaWYgKCRwYXJhbXNbJ3NvcnRieSddID09ICdyYW5kb20nKSB7CiAgICAgICRxdWVyeTEgLj0gIk9SREVSIEJZIFJBTkQoKSAiOwogICAgICAkc29ydHJhbmRvbSA9IHRydWU7CiAgICB9CiAgICBlbHNlIHsKICAgICAgJHF1ZXJ5MSAuPSAiT1JERVIgQlkgbWQuIiAuIHN0cl9yZXBsYWNlKCInIiwgJycsIHN0cl9yZXBsYWNlKCc7JywgJycsICRkYi0+cXN0cigkcGFyYW1zWydzb3J0YnknXSkpKSAuICIgIjsKICAgIH0KICB9IAogIGVsc2UgewogICAgJHF1ZXJ5MSAuPSAiT1JERVIgQlkgZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQgIjsgCiAgfQogIGlmKCAkc29ydHJhbmRvbSA9PSBmYWxzZSApIHsKICAgIGlmIChpc3NldCgkcGFyYW1zWydzb3J0ZGVzYyddKSAmJiAKCShzdHJ0b2xvd2VyKCRwYXJhbXNbJ3NvcnRkZXNjJ10pID09ICd0cnVlJykpIHsKICAgICAgJHF1ZXJ5MSAuPSAiZGVzYyI7IAogICAgfSAKICAgIGVsc2UgewogICAgICAkcXVlcnkxIC49ICJhc2MiOyAKICAgIH0KICB9CgogICRkYnJlc3VsdCA9ICcnOwogICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkxKTsKCi8qewogICAgLy8gYnVpbGQgYSBsaXN0IG9mIG5ld3MgaWQncyBzbyB3ZSBjYW4gcHJlbG9hZCBzdHVmZiBmcm9tIG90aGVyIHRhYmxlcy4KICAgICRyZXN1bHRfaWRzID0gYXJyYXkoKTsKICAgIHdoaWxlKCAkZGJyZXN1bHQgJiYgISRkYnJlc3VsdC0+RU9GICkgewogICAgICAkcmVzdWx0X2lkc1tdID0gJGRicmVzdWx0LT5maWVsZHNbJ2RvY3VtZW50c2VhcmNoX2lkJ107CiAgICAgICRkYnJlc3VsdC0+TW92ZU5leHQoKTsKICAgIH0KICAgICRkYnJlc3VsdC0+TW92ZUZpcnN0KCk7CiAgICBkb2N1bWVudHNlYXJjaF9vcHM6OnByZWxvYWRGaWVsZERhdGEoJHJlc3VsdF9pZHMpOwogIH0qLwoKICB3aGlsZSggJGRicmVzdWx0ICYmICEkZGJyZXN1bHQtPkVPRiApIHsKICAgICRyb3cgPSAkZGJyZXN1bHQtPmZpZWxkczsKICAgICRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKICAgIAogICAgJG9uZXJvdy0+aWQgPSAkcm93Wydkb2N1bWVudHNlYXJjaF9pZCddOwogICAgJG9uZXJvdy0+dGl0bGUgPSAkcm93WyduYW1lJ107CiAgICAkb25lcm93LT5zdW1tYXJ5ID0gKHRyaW0oJHJvd1snY29udGVudCddKSE9Jzxici8+Jz8kcm93Wydjb250ZW50J106JycpOwogICAgJG9uZXJvdy0+bG9jYXRpb24gPSAkcm93Wydsb2NhdGlvbiddOwogICAgJG9uZXJvdy0+Y2F0ZWdvcnkgPSAkcm93Wydkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lJ107CgogICAgCiAgICAkc2VuZHRvZGV0YWlsID0gYXJyYXkoJ2RvY3VtZW50c2VhcmNoaWQnPT4kcm93Wydkb2N1bWVudHNlYXJjaF9pZCddKTsKICAgIGlmIChpc3NldCgkcGFyYW1zWydzaG93YWxsJ10pKSB7CiAgICAgICRzZW5kdG9kZXRhaWxbJ3Nob3dhbGwnXSA9ICRwYXJhbXNbJ3Nob3dhbGwnXTsKICAgIH0KICAgIGlmIChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pKSB7CiAgICAgICRzZW5kdG9kZXRhaWxbJ29yaWdpZCddID0gJHJldHVybmlkOwogICAgfQogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ10pKSB7CiAgICAgICRzZW5kdG9kZXRhaWxbJ2RldGFpbHRlbXBsYXRlJ10gPSAkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddOwogICAgfQogICAgCiAgICAkcHJldHR5dXJsID0gJHJvd1snbG9jYXRpb24nXTsKICAgIGlmKCAkcHJldHR5dXJsID09ICcnICkgewogICAgICAkYWxpYXNlZF90aXRsZSA9IG11bmdlX3N0cmluZ190b191cmwoJHJvd1snbmFtZSddKTsKICAgICAgJHByZXR0eXVybCA9ICdkb2N1bWVudHNlYXJjaDY2NjY2Ni8nLiRyb3dbJ2RvY3VtZW50c2VhcmNoX2lkJ10uJy8nLigkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkKS4iLyRhbGlhc2VkX3RpdGxlIjsKICAgICAgaWYgKGlzc2V0KCRzZW5kdG9kZXRhaWxbJ2RldGFpbHRlbXBsYXRlJ10pKSB7CgkkcHJldHR5dXJsIC49ICcvZCwnIC4gJHNlbmR0b2RldGFpbFsnZGV0YWlsdGVtcGxhdGUnXTsKICAgICAgfQogICAgfQoKICAgIGlmIChpc3NldCgkcGFyYW1zWydsYW5nJ10pKSB7CiAgICAgICRzZW5kdG9kZXRhaWxbJ2xhbmcnXSA9ICRwYXJhbXNbJ2xhbmcnXTsKICAgIH0KCiAgICBpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpIHsKICAgICAgJHNlbmR0b2RldGFpbFsnY2F0ZWdvcnlfaWQnXSA9ICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ107CiAgICB9CgogICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3BhZ2VsaW1pdCddKSkgewogICAgICAkc2VuZHRvZGV0YWlsWydwYWdlbGltaXQnXSA9ICRwYXJhbXNbJ3BhZ2VsaW1pdCddOwogICAgfQoKICAgICRvbmVyb3ctPmxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZXRhaWwnLCAkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkLCAnJywgJHNlbmR0b2RldGFpbCwnJywgdHJ1ZSwgZmFsc2UsICcnLCB0cnVlLCAkcHJldHR5dXJsKTsKICAgICRvbmVyb3ctPnRpdGxlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RldGFpbCcsICRkZXRhaWxwYWdlIT0nJz8kZGV0YWlscGFnZTokcmV0dXJuaWQsICRyb3dbJ25hbWUnXSwgJHNlbmR0b2RldGFpbCwgJycsIGZhbHNlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOwogICAgJG9uZXJvdy0+bW9yZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZXRhaWwnLCAkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkLCAkbW9yZXRleHQsICRzZW5kdG9kZXRhaWwsICcnLCBmYWxzZSwgZmFsc2UsICcnLCB0cnVlLCAkcHJldHR5dXJsKTsKICAgICRvbmVyb3ctPm1vcmV1cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZXRhaWwnLCAkZGV0YWlscGFnZSE9Jyc/JGRldGFpbHBhZ2U6JHJldHVybmlkLCAkbW9yZXRleHQsICRzZW5kdG9kZXRhaWwsICcnLCB0cnVlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOwoKICAgICRlbnRyeWFycmF5W109ICRvbmVyb3c7CiAgICAkZGJyZXN1bHQtPk1vdmVOZXh0KCk7CiAgfQoKICAkc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRlbnRyeWFycmF5KTsKICAkc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5X2xhYmVsJywgJHRoaXMtPkxhbmcoJ2NhdGVnb3J5X2xhYmVsJykpOwogICRzbWFydHktPmFzc2lnbignYXV0aG9yX2xhYmVsJywgJHRoaXMtPkxhbmcoJ2F1dGhvcl9sYWJlbCcpKTsKCiAgJGNhdE5hbWUgPSAnJzsKICBpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkpIHsKICAgICRjYXROYW1lID0gJHBhcmFtc1snY2F0ZWdvcnknXTsKICB9CiAgZWxzZSBpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpIHsKICAgICRjYXROYW1lID0gJGRiLT5HZXRPbmUoJ1NFTEVDVCBkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lIEZST00gJy5jbXNfZGJfcHJlZml4KCkgLiAnbW9kdWxlX2RvY3VtZW50c2VhcmNoX2NhdGVnb3JpZXMgd2hlcmUgZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQ9PycsYXJyYXkoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpOwkJCiAgfQogICRzbWFydHktPmFzc2lnbignY2F0ZWdvcnlfbmFtZScsJGNhdE5hbWUpOwogCiAgdW5zZXQoJHBhcmFtc1sncGFnZW51bWJlciddKTsKICAkaXRlbXMgPSBkb2N1bWVudHNlYXJjaF9vcHM6OmdldF9jYXRlZ29yaWVzKCRpZCwkcGFyYW1zLCRyZXR1cm5pZCk7CiAgJHNtYXJ0eS0+YXNzaWduKCdjb3VudCcsIGNvdW50KCRpdGVtcykpOwogICRzbWFydHktPmFzc2lnbignY2F0cycsICRpdGVtcyk7CgoKLy8gRXhwb3NlIHRoZSBsaXN0IHRvIHNtYXJ0eS4KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdyZWNvcmRzJywkcmVjb3Jkcyk7CgovLyBUZWxsIFNtYXJ0eSB3aGljaCBtb2RlIHdlJ3JlIGluCiR0aGlzLT5zbWFydHktPmFzc2lnbignbW9kZScsJG1vZGUpOwoKLy8gYW5kIGEgY291bnQgb2YgcmVjb3JkcwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX251bV9yZWNvcmRzJywkdGhpcy0+TGFuZygndGl0bGVfbnVtX3JlY29yZHMnLGFycmF5KGNvdW50KCRyZWNvcmRzKSkpKTsKCgokY2F0TmFtZSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkpIHsKCSRjYXROYW1lID0gJHBhcmFtc1snY2F0ZWdvcnknXTsKfSBlbHNlIGlmIChpc3NldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSkgewoJJGNhdE5hbWUgPSAkZGItPkdldE9uZSgnU0VMRUNUIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X25hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcmllcyB3aGVyZSBkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZD0/JyxhcnJheSgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSk7CQkKfQokc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5X25hbWUnLCRjYXROYW1lKTsKCgppZiAoaXNzZXQoJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSkpCiAgIHsKICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtb2R1bGVfbWVzc2FnZScsJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSk7CiAgIH0KZWxzZQogICB7CiAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbW9kdWxlX21lc3NhZ2UnLCcnKTsKICAgfQoKCi8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2RvY3VtZW50c2VhcmNoX2xpc3QudHBsJyk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCmlmICghICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBEb2N1bWVudCBTZWFyY2gnKSkgewogIHJldHVybiAkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwp9CgplY2hvICR0aGlzLT5TdGFydFRhYkhlYWRlcnMoKTsKaWYgKEZBTFNFID09IGVtcHR5KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkpCiAgewogICAgJHRhYiA9ICRwYXJhbXNbJ2FjdGl2ZV90YWInXTsKICB9IGVsc2UgewogICR0YWIgPSAnJzsKIH0KCmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG9jdW1lbnQgU2VhcmNoJykpCiAgIHsKICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdkb2N1bWVudCcsJHRoaXMtPkxhbmcoJ3RhYl9kb2N1bWVudCcpLCAoJ2RvY3VtZW50JyA9PSAkdGFiKT90cnVlOmZhbHNlKTsKICAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdjYXRlZ29yaWVzJywkdGhpcy0+TGFuZygndGFiX2NhdGVnb3JpZXMnKSwgKCdjYXRlZ29yaWVzJyA9PSAkdGFiKT90cnVlOmZhbHNlKTsKICAgfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG9jdW1lbnQgU2VhcmNoJykgKQogIHsKICAgIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdkb2N1bWVudCcsICRwYXJhbXMpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2RvY3VtZW50dGFiLnBocCcpOwogICAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CiAgICBlY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcmllcycsICRwYXJhbXMpOwogICAgaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9uLmFkbWluX2NhdGVnb3JpZXN0YWIucGhwJyk7CiAgICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKICB9CgplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7Cj8+]]></data>
	</file>
	<file>
	  <filename>/action.deletecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG9jdW1lbnQgU2VhcmNoJykpIHJldHVybjsKCgkkY2F0aWQgPSAnJzsKCWlmIChpc3NldCgkcGFyYW1zWydjYXRpZCddKSkKCXsKCQkkY2F0aWQgPSAkcGFyYW1zWydjYXRpZCddOwoJfQoKLy8gR2V0IHRoZSBjYXRlZ29yeSBkZXRhaWxzCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcmllcwogICAgICAgICAgIFdIRVJFIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkID0gPyc7CiRyb3cgPSAkZGItPkdldFJvdyggJHF1ZXJ5LCBhcnJheSggJGNhdGlkICkgKTsKCgkvL05vdyByZW1vdmUgdGhlIGNhdGVnb3J5CgkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb2N1bWVudHNlYXJjaF9jYXRlZ29yaWVzIFdIRVJFIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkID0gPyI7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKCi8vQW5kIHJlbW92ZSBpdCBmcm9tIGFueSBhcnRpY2xlcwokcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG9jdW1lbnRzZWFyY2ggU0VUIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkID0gLTEgV0hFUkUgZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQgPSA/IjsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjYXRpZCkpOwoJCkAkdGhpcy0+U2VuZEV2ZW50KCdDYXRlZ29yeURlbGV0ZWQnLCBhcnJheSgnY2F0ZWdvcnlfaWQnID0+ICRjYXRpZCwgJ25hbWUnID0+ICRyb3dbJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5X25hbWUnXSkpOwoJICAvLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKCSAgYXVkaXQoJGNhdGlkLCAnQ2F0ZWdvcnk6ICcuJGNhdGlkLCAnIENhdGVnb3J5IGRlbGV0ZWQnKTsKCmRvY3VtZW50c2VhcmNoX2FkbWluX29wczo6VXBkYXRlSGllcmFyY2h5UG9zaXRpb25zKCk7CgoJJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnY2F0ZWdvcnlkZWxldGVkJywgJ2FjdGl2ZV90YWInID0+ICdjYXRlZ29yaWVzJyk7CgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.deletedocument.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvY3VtZW50IFNlYXJjaCcpKQogIHsKICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ1VzZSBEb2N1bWVudCBTZWFyY2gnKSkpOwogICAgcmV0dXJuOwogIH0KCiRkb2N1bWVudGlkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydkb2N1bWVudHNlYXJjaF9pZCddKSkKICB7CiAgICAkZG9jdW1lbnRpZCA9ICRwYXJhbXNbJ2RvY3VtZW50c2VhcmNoX2lkJ107CiAgfQoKZG9jdW1lbnRzZWFyY2hfYWRtaW5fb3BzOjpkZWxldGVfZG9jdW1lbnQoJGRvY3VtZW50aWQpOwoKJHBhcmFtcyA9IGFycmF5KCd0YWJfbWVzc2FnZSc9PiAnZG9jdW1lbnRkZWxldGVkJywgJ2FjdGl2ZV90YWInID0+ICdnZW5lcmFsJyk7CiR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsICRwYXJhbXMpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiAoIWlzc2V0KCRnQ21zKSkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVc2UgRG9jdW1lbnQgU2VhcmNoJykpIHJldHVybjsKCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpCiAgewogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCk7CiAgfQoKJGNhdGlkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydjYXRpZCddKSkKICB7CiAgICAkY2F0aWQgPSAkcGFyYW1zWydjYXRpZCddOwogIH0KCgokcGFyZW50aWQgPSAnLTEnOwppZiAoaXNzZXQoJHBhcmFtc1sncGFyZW50J10pKQogIHsKICAgICRwYXJlbnRpZCA9IChpbnQpJHBhcmFtc1sncGFyZW50J107CiAgfQoKJG9yaWduYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydvcmlnbmFtZSddKSkKICB7CiAgICAkb3JpZ25hbWUgPSAkcGFyYW1zWydvcmlnbmFtZSddOwogIH0KCiRuYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWyduYW1lJ10pKQogIHsKICAgICRuYW1lID0gdHJpbSgkcGFyYW1zWyduYW1lJ10pOwogICAgaWYgKCRuYW1lICE9ICcnKQogICAgICB7CgkkcXVlcnkgPSAnU0VMRUNUIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb2N1bWVudHNlYXJjaF9jYXRlZ29yaWVzIFdIRVJFIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X25hbWUgPSA/IEFORCBkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCAhPSA/JzsKCSR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHBhcmVudGlkLCRuYW1lLCRjYXRpZCkpOwoJaWYoICR0bXAgKQoJICB7CgkgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfZHVwbGljYXRlbmFtZScpKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2RvY3VtZW50c2VhcmNoX2NhdGVnb3JpZXMgU0VUIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X25hbWUgPSA/LCBwYXJlbnRfaWQgPSA/LCBtb2RpZmllZF9kYXRlID0gJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJyBXSEVSRSBkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCA9ID8nOwoJICAgICRwYXJtcyA9IGFycmF5KCRuYW1lLCRwYXJlbnRpZCk7CgkgICAgJHBhcm1zW10gPSAkY2F0aWQ7CgkgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHBhcm1zKTsKCSAgICBkb2N1bWVudHNlYXJjaF9hZG1pbl9vcHM6OlVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygpOwoJICAgIEAkdGhpcy0+U2VuZEV2ZW50KCdOZXdzQ2F0ZWdvcnlFZGl0ZWQnLCBhcnJheSgnY2F0ZWdvcnlfaWQnID0+ICRjYXRpZCwgJ25hbWUnID0+ICRuYW1lLCAnb3JpZ25hbWUnID0+ICRvcmlnbmFtZSkpOwoJCQkgIC8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwoJICBhdWRpdCgkY2F0aWQsICdOZXdzIGNhdGVnb3J5OiAnLiRjYXRpZCwgJyBDYXRlZ29yeSBlZGl0ZWQnKTsKCSAgICAkcGFyYW1zID0gYXJyYXkoJ3RhYl9tZXNzYWdlJz0+ICdjYXRlZ29yeXVwZGF0ZWQnLCAnYWN0aXZlX3RhYicgPT4gJ2NhdGVnb3JpZXMnKTsKCSAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkcGFyYW1zKTsJCQoJICB9CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25vbmFtZWdpdmVuJykpOwogICAgICB9CiAgfQogZWxzZQogICB7CiAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb2N1bWVudHNlYXJjaF9jYXRlZ29yaWVzIFdIRVJFIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkID0gPyc7CiAgICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGNhdGlkKSk7CgogICAgIGlmICgkcm93KQogICAgICAgewoJICRuYW1lID0gJHJvd1snZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfbmFtZSddOwoJICRwYXJlbnRpZCA9IChpbnQpJHJvd1sncGFyZW50X2lkJ107CiAgICAgICB9CiAgIH0KCgojRGlzcGxheSB0ZW1wbGF0ZQokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAnZWRpdGNhdGVnb3J5JywgJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ25hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ25hbWUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRuYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICduYW1lJywgJG5hbWUsIDIwLCAyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAKCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnY2F0aWQnLCAkY2F0aWQpLgoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ29yaWduYW1lJywkbmFtZSkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRjYXRlZ29yeS50cGwnKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.save_record.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQ0KaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoKaW5jbHVkZShkaXJuYW1lKF9fRklMRV9fKS4nL2xpYi9jbGFzcy5wZGYydGV4dC5waHAnKTsKDQovLyBnZXQgb3VyIHJlY29yZHMgZnJvbSB0aGUgZGF0YWJhc2UNCiRkYiA9ICRnQ21zLT5HZXREYigpOw0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsKCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQpOwp9Cg0KaWYgKGlzc2V0KCRwYXJhbXNbJ2RvY3VtZW50c2VhcmNoX2lkJ10pICYmICRwYXJhbXNbJ2RvY3VtZW50c2VhcmNoX2lkJ10gIT0gLTEpIHsKCgkvLyB3ZSByZWNlaXZlZCBhIGRvY3VtZW50c2VhcmNoX2lkIHRoYXQgd2FzIG5vdCAtMSwgd2hpY2ggbWVhbnMgd2UncmUgdXBkYXRpbmcgYW4NCgkvLyBleGlzdGluZyByZWNvcmQuIFNvIHdlIGlzc3VlIGEgU1FMIFVwZGF0ZQoKCWlmICggIWlzc2V0KCRfRklMRVNbJGlkIC4nbG9jYXRpb25maWxlJ11bJ25hbWUnXSkgfHwgJF9GSUxFU1skaWQgLidsb2NhdGlvbmZpbGUnXVsnbmFtZSddID09ICcnICkgewoKICAgIAkkZG9jdW1lbnRpZCA9ICRwYXJhbXNbJ2RvY3VtZW50c2VhcmNoX2lkJ107DQoJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuDQogICAgCQknbW9kdWxlX2RvY3VtZW50c2VhcmNoIHNldCBuYW1lPT8sIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkPT8sIGF1dGhvcj0/LCBzdGF0dXM9PyB3aGVyZSBkb2N1bWVudHNlYXJjaF9pZCA9ID8nOw0KCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWyduYW1lJ10sJHBhcmFtc1snY2F0ZWdvcnknXSwkcGFyYW1zWydhdXRob3InXSwkcGFyYW1zWydzdGF0dXMnXSwkcGFyYW1zWydkb2N1bWVudHNlYXJjaF9pZCddKSk7DQoJCSRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnYWRkZWRfcmVjb3JkJyk7CgoJfSBlbHNlIHsKCiAgICAJJGRvY3VtZW50aWQgPSAkcGFyYW1zWydkb2N1bWVudHNlYXJjaF9pZCddOwoKICAgIAkvLyBjaGVjayB0byBzZWUgaWYgYSBmaWxlIGhhcyBiZWVuIHNlbGVjdGVkCiAgICAJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgCSRmaWVsZG5hbWUgPSAkaWQgLidsb2NhdGlvbmZpbGUnOwogICAgCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0RvY3VtZW50U2VhcmNoJyk7CiAgICAJJHAgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCdkb2N1bWVudHNlYXJjaCcpOwogICAgCWlmICghaXNfZGlyKCRwKSkgewogICAgICAJCSRyZXMgPSBAbWtkaXIoJHApOwogICAgICAJCWlmKCAkcmVzID09PSBGQUxTRSApIHsKCQkJCSR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJCSR0aGlzLT5MYW5nKCdlcnJvcl9ta2RpcicpKTsKCSAgICAJCXJldHVybiBGQUxTRTsKICAgICAgCQl9CiAgICAJfQoKICAgIAkkcCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ2RvY3VtZW50c2VhcmNoJywnaWQnLiRkb2N1bWVudGlkKTsKICAgIAlpZiAoIWlzX2RpcigkcCkpIHsKICAgICAgCQlpZiggQG1rZGlyKCRwKSA9PT0gRkFMU0UgKSB7CgkJCQkkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCQkkdGhpcy0+TGFuZygnZXJyb3JfbWtkaXInKSk7CgkgICAgCQlyZXR1cm4gRkFMU0U7CiAgICAgIAkJfQogICAgCX0KCiAgICAJJGZpbGVuYW1lID0gYmFzZW5hbWUoJF9GSUxFU1skZmllbGRuYW1lXVsnbmFtZSddKTsKICAgIAkkZGVzdCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ2RvY3VtZW50c2VhcmNoJywnaWQnLiRkb2N1bWVudGlkLCRmaWxlbmFtZSk7CiAgICAJJHBhcmFtc1snbG9jYXRpb24nXSA9ICRmaWxlbmFtZTsKCiAgICAJLy8gR2V0IHRoZSBmaWxlcyBleHRlbnNpb24KICAgIAkkZXh0ID0gc3Vic3RyKHN0cnJjaHIoJGZpbGVuYW1lLCAnLicpLCAxKTsKCiAgICAJLy8gY29tcGFyZSBpdCBhZ2FpbnN0IHRoZSAnYWxsb3dlZCBleHRlbnRpb25zJwogICAgCSRleHRzID0gZXhwbG9kZSgnLCcsJG1vZC0+R2V0UHJlZmVyZW5jZSgnYWxsb3dlZF91cGxvYWRfdHlwZXMnLCcnKSk7CiAgICAJaWYoICFpbl9hcnJheSggJGV4dCwgJGV4dHMgKSApIHsKCQkJJHRoaXMtPkRpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZGZpbGV0eXBlJykpOwoJCQlyZXR1cm4gRkFMU0U7CiAgICAgIAl9CgogICAgCWlmKCBAY21zX21vdmVfdXBsb2FkZWRfZmlsZSgkX0ZJTEVTWyRmaWVsZG5hbWVdWyd0bXBfbmFtZSddLCAkZGVzdCkgPT09IEZBTFNFICkgewoJCQkkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSR0aGlzLT5MYW5nKCdlcnJvcl9tb3ZlZmlsZScpKTsKCQkJcmV0dXJuIEZBTFNFOwogICAgICAJfQogICAgICAgIGlmICgkZXh0ID09ICdwZGYnKSB7CgkJCSRmaWxlcGRmID0gbmV3IHBkZjJ0ZXh0KCk7CgkJCSRmaWxlcGRmLT5zZXRGaWxlbmFtZSgkZGVzdCk7CgkJCSRmaWxlcGRmLT5kZWNvZGVQREYoKTsKICAgIAkJJHBhcmFtc1snY29udGVudCddID0gJGZpbGVwZGYtPm91dHB1dCgpOwoJCX0gZWxzZWlmICgkZXh0ID09ICdkb2N4JykgewoJCQlmdW5jdGlvbiBkb2N4MnRleHQoJGZpbGVuYW1lZG9jeCkgewogICAgCQkJcmV0dXJuIHJlYWRaaXBwZWRYTUwoJGZpbGVuYW1lZG9jeCwgIndvcmQvZG9jdW1lbnQueG1sIik7CgkJCX0KCQkJZnVuY3Rpb24gcmVhZFppcHBlZFhNTCgkYXJjaGl2ZUZpbGUsICRkYXRhRmlsZSkgewogICAgCQkJLy8gQ3JlYXRlIG5ldyBaSVAgYXJjaGl2ZQogICAgCQkJJHppcCA9IG5ldyBaaXBBcmNoaXZlOwoKICAgIAkJCS8vIE9wZW4gcmVjZWl2ZWQgYXJjaGl2ZSBmaWxlCiAgICAJCQlpZiAodHJ1ZSA9PT0gJHppcC0+b3BlbigkYXJjaGl2ZUZpbGUpKSB7CiAgICAgICAgCQkJLy8gSWYgZG9uZSwgc2VhcmNoIGZvciB0aGUgZGF0YSBmaWxlIGluIHRoZSBhcmNoaXZlCiAgICAgICAgCQkJaWYgKCgkaW5kZXggPSAkemlwLT5sb2NhdGVOYW1lKCRkYXRhRmlsZSkpICE9PSBmYWxzZSkgewogICAgICAgICAgICAJCQkvLyBJZiBmb3VuZCwgcmVhZCBpdCB0byB0aGUgc3RyaW5nCiAgICAgICAgICAgIAkJCSRkYXRhID0gJHppcC0+Z2V0RnJvbUluZGV4KCRpbmRleCk7CiAgICAgICAgICAgIAkJCS8vIENsb3NlIGFyY2hpdmUgZmlsZQogICAgICAgICAgICAJCQkkemlwLT5jbG9zZSgpOwogICAgICAgICAgICAJCQkvLyBMb2FkIFhNTCBmcm9tIGEgc3RyaW5nCiAgICAgICAgICAgIAkJCS8vIFNraXAgZXJyb3JzIGFuZCB3YXJuaW5ncwogICAgICAgICAgICAJCQkkeG1sID0gRE9NRG9jdW1lbnQ6OmxvYWRYTUwoJGRhdGEsIExJQlhNTF9OT0VOVCB8IExJQlhNTF9YSU5DTFVERSB8IExJQlhNTF9OT0VSUk9SIHwgTElCWE1MX05PV0FSTklORyk7CiAgICAgICAgICAgIAkJCS8vIFJldHVybiBkYXRhIHdpdGhvdXQgWE1MIGZvcm1hdHRpbmcgdGFncwogICAgICAgICAgICAJCQlyZXR1cm4gc3RyaXBfdGFncygkeG1sLT5zYXZlWE1MKCkpOwogICAgICAgIAkJCX0KICAgICAgICAJCQkkemlwLT5jbG9zZSgpOwogICAgCQkJfQogICAgCQkJLy8gSW4gY2FzZSBvZiBmYWlsdXJlIHJldHVybiBlbXB0eSBzdHJpbmcKICAgIAkJCXJldHVybiAiIjsKCQkJfQoJCQkkcGFyYW1zWydjb250ZW50J10gPSBkb2N4MnRleHQoJGRlc3QpOwoJCX0gZWxzZWlmICgkZXh0ID09ICdkb2MnKSB7CgkJCWZ1bmN0aW9uIHBhcnNlV29yZCgkdXNlckRvYykgewoJCQkJJGZpbGVIYW5kbGUgPSBmb3BlbigkdXNlckRvYywgInIiKTsKCQkJCSRsaW5lID0gQGZyZWFkKCRmaWxlSGFuZGxlLCBmaWxlc2l6ZSgkdXNlckRvYykpOyAgIAoJCQkJJGxpbmVzID0gZXhwbG9kZShjaHIoMHgwRCksJGxpbmUpOwoJCQkJJG91dHRleHQgPSAiIjsKCQkJCWZvcmVhY2goJGxpbmVzIGFzICR0aGlzbGluZSkgewoJCQkJCSRwb3MgPSBzdHJwb3MoJHRoaXNsaW5lLCBjaHIoMHgwMCkpOwoJCQkJCWlmICgoJHBvcyAhPT0gRkFMU0UpfHwoc3RybGVuKCR0aGlzbGluZSk9PTApKSB7CgkJCQkJfSBlbHNlIHsKCQkJCQkJJG91dHRleHQgLj0gJHRoaXNsaW5lLiIgIjsKCQkJCQl9CgkJCQl9CgkJCQkkb3V0dGV4dCA9IHByZWdfcmVwbGFjZSgiL1teYS16QS1aMC05XHNcLFwuXC1cblxyXHRAXC9cX1woXCldLyIsIiIsJG91dHRleHQpOwoJCQkJcmV0dXJuICRvdXR0ZXh0OwoJCQl9IAoJCQkkcGFyYW1zWydjb250ZW50J10gPSBwYXJzZVdvcmQoJGRlc3QpOwoJCX0KDQoJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuDQogICAgCQknbW9kdWxlX2RvY3VtZW50c2VhcmNoIHNldCBuYW1lPT8sIGNvbnRlbnQ9PywgZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQ9PywgbG9jYXRpb249PywgYXV0aG9yPT8sIHN0YXR1cz0/IHdoZXJlIGRvY3VtZW50c2VhcmNoX2lkID0gPyc7DQoJCSRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ25hbWUnXSwkcGFyYW1zWydjb250ZW50J10sJHBhcmFtc1snY2F0ZWdvcnknXSwkcGFyYW1zWydsb2NhdGlvbiddLCRwYXJhbXNbJ2F1dGhvciddLCRwYXJhbXNbJ3N0YXR1cyddLCRwYXJhbXNbJ2RvY3VtZW50c2VhcmNoX2lkJ10pKTsNCgkJJHBhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdhZGRlZF9yZWNvcmQnKTsKCgkJLy8gTWFrZSBjb250ZW50IGFjY2Vzc2libGUgdG8gdGhlIHNlYXJjaCBtb2R1bGUKCQkkc2VhcmNoID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdTZWFyY2gnKTsKCQlpZiggJHNlYXJjaCApIHsKCQkJJHNlYXJjaC0+QWRkV29yZHMoICR0aGlzLT5HZXRuYW1lKCksICRwYXJhbXNbJ2RvY3VtZW50c2VhcmNoX2lkJ10sICdkb2N1bWVudHNlYXJjaCcsICRwYXJhbXNbJ2NvbnRlbnQnXSwgTlVMTCk7CgkJfQoJfQoNCn0gZWxzZSB7CgoJaWYgKCAhaXNzZXQoJF9GSUxFU1skaWQgLidsb2NhdGlvbmZpbGUnXVsnbmFtZSddKSB8fCAkX0ZJTEVTWyRpZCAuJ2xvY2F0aW9uZmlsZSddWyduYW1lJ10gPT0gJycgKSB7Cg0KICAgIAkkc2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb2N1bWVudHNlYXJjaF9zZXEnKTsKICAgIAkkZG9jdW1lbnRpZCA9ICRwYXJhbXNbJ2RvY3VtZW50c2VhcmNoX2lkJ107Cg0KCQkkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuDQogICAgCQknbW9kdWxlX2RvY3VtZW50c2VhcmNoIChkb2N1bWVudHNlYXJjaF9pZCwgbmFtZSwgY29udGVudCkgVkFMVUVTICg/LD8sPyw/LD8pJzsNCgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHNpZCwkcGFyYW1zWyduYW1lJ10sJHBhcmFtc1snY29udGVudCddLCRwYXJhbXNbJ2F1dGhvciddLCRwYXJhbXNbJ3N0YXR1cyddKSk7DQoJCSRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnYWRkZWRfcmVjb3JkJyk7CgoJfSBlbHNlIHsKDQoJCS8vIHdlIHJlY2VpdmVkIG5vIGRvY3VtZW50c2VhcmNoX2lkIG9yIG9uZSB0aGF0IHdhcyAtMSwgd2hpY2ggbWVhbnMgd2UncmUgY3JlYXRpbmcNCgkJLy8gYSBuZXcgcmVjb3JkLiBTbyB3ZSBpc3N1ZSBhIFNRTCBJbnNlcnQuIEJ1dCBmaXJzdCwgd2UgdXNlIHRoZSBzZXF1ZW5jZSB0byBnZXQgYSBmcmVzaCBJRAoNCiAgICAJJHNpZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG9jdW1lbnRzZWFyY2hfc2VxJyk7CiAgICAJJGRvY3VtZW50aWQgPSAkcGFyYW1zWydkb2N1bWVudHNlYXJjaF9pZCddOwoKICAgIAkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkJJGZpZWxkbmFtZSA9ICRpZCAuJ2xvY2F0aW9uZmlsZSc7CiAgICAJJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRG9jdW1lbnRTZWFyY2gnKTsKICAgIAkkcCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ2RvY3VtZW50c2VhcmNoJyk7CiAgICAJaWYgKCFpc19kaXIoJHApKSB7CiAgICAgIAkJJHJlcyA9IEBta2RpcigkcCk7CiAgICAgIAkJCWlmKCAkcmVzID09PSBGQUxTRSApIHsKCQkJCQkkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgIAkJJHRoaXMtPkxhbmcoJ2Vycm9yX21rZGlyJykpOwoJICAgIAkJCXJldHVybiBGQUxTRTsKICAgICAgCQkJfQogICAgCX0KCiAgICAJJHAgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCdkb2N1bWVudHNlYXJjaCcsJ2lkJy4kc2lkKTsKICAgIAlpZiAoIWlzX2RpcigkcCkpIHsKICAgICAgCQlpZiggQG1rZGlyKCRwKSA9PT0gRkFMU0UgKSB7CgkJCQkkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgIAkkdGhpcy0+TGFuZygnZXJyb3JfbWtkaXInKSk7CgkgICAgCQlyZXR1cm4gRkFMU0U7CiAgICAgIAkJfQogICAgCX0KCiAgICAJJGZpbGVuYW1lID0gYmFzZW5hbWUoJF9GSUxFU1skZmllbGRuYW1lXVsnbmFtZSddKTsKICAgIAkkZGVzdCA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJ2RvY3VtZW50c2VhcmNoJywnaWQnLiRzaWQsJGZpbGVuYW1lKTsKICAgIAkkcGFyYW1zWydsb2NhdGlvbiddID0gJGZpbGVuYW1lOwoKICAgIAkvLyBHZXQgdGhlIGZpbGVzIGV4dGVuc2lvbgogICAgCSRleHQgPSBzdWJzdHIoc3RycmNocigkZmlsZW5hbWUsICcuJyksIDEpOwoKICAgIAkvLyBjb21wYXJlIGl0IGFnYWluc3QgdGhlICdhbGxvd2VkIGV4dGVudGlvbnMnCiAgICAJJGV4dHMgPSBleHBsb2RlKCcsJywkbW9kLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2VkX3VwbG9hZF90eXBlcycsJycpKTsKICAgIAlpZiggIWluX2FycmF5KCAkZXh0LCAkZXh0cyApICkgewoJCQkkdGhpcy0+RGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkZmlsZXR5cGUnKSk7CgkJCXJldHVybiBGQUxTRTsKICAgICAgCX0KCiAgICAJaWYoIEBjbXNfbW92ZV91cGxvYWRlZF9maWxlKCRfRklMRVNbJGZpZWxkbmFtZV1bJ3RtcF9uYW1lJ10sICRkZXN0KSA9PT0gRkFMU0UgKSB7CgkJCSR0aGlzLT5EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJJHRoaXMtPkxhbmcoJ2Vycm9yX21vdmVmaWxlJykpOwoJCQlyZXR1cm4gRkFMU0U7CiAgICAgIAl9CiAgICAgICAgaWYgKCRleHQgPT0gJ3BkZicpIHsKCQkJJGZpbGVwZGYgPSBuZXcgcGRmMnRleHQoKTsKCQkJJGZpbGVwZGYtPnNldEZpbGVuYW1lKCRkZXN0KTsKCQkJJGZpbGVwZGYtPmRlY29kZVBERigpOwogICAgCQkkcGFyYW1zWydjb250ZW50J10gPSAkZmlsZXBkZi0+b3V0cHV0KCk7CgkJfSBlbHNlaWYgKCRleHQgPT0gJ2RvY3gnKSB7CgkJCWZ1bmN0aW9uIGRvY3gydGV4dCgkZmlsZW5hbWVkb2N4KSB7CiAgICAJCQlyZXR1cm4gcmVhZFppcHBlZFhNTCgkZmlsZW5hbWVkb2N4LCAid29yZC9kb2N1bWVudC54bWwiKTsKCQkJfQoJCQlmdW5jdGlvbiByZWFkWmlwcGVkWE1MKCRhcmNoaXZlRmlsZSwgJGRhdGFGaWxlKSB7CiAgICAJCQkvLyBDcmVhdGUgbmV3IFpJUCBhcmNoaXZlCiAgICAJCQkkemlwID0gbmV3IFppcEFyY2hpdmU7CgogICAgCQkJLy8gT3BlbiByZWNlaXZlZCBhcmNoaXZlIGZpbGUKICAgIAkJCWlmICh0cnVlID09PSAkemlwLT5vcGVuKCRhcmNoaXZlRmlsZSkpIHsKICAgICAgICAJCQkvLyBJZiBkb25lLCBzZWFyY2ggZm9yIHRoZSBkYXRhIGZpbGUgaW4gdGhlIGFyY2hpdmUKICAgICAgICAJCQlpZiAoKCRpbmRleCA9ICR6aXAtPmxvY2F0ZU5hbWUoJGRhdGFGaWxlKSkgIT09IGZhbHNlKSB7CiAgICAgICAgICAgIAkJCS8vIElmIGZvdW5kLCByZWFkIGl0IHRvIHRoZSBzdHJpbmcKICAgICAgICAgICAgCQkJJGRhdGEgPSAkemlwLT5nZXRGcm9tSW5kZXgoJGluZGV4KTsKICAgICAgICAgICAgCQkJLy8gQ2xvc2UgYXJjaGl2ZSBmaWxlCiAgICAgICAgICAgIAkJCSR6aXAtPmNsb3NlKCk7CiAgICAgICAgICAgIAkJCS8vIExvYWQgWE1MIGZyb20gYSBzdHJpbmcKICAgICAgICAgICAgCQkJLy8gU2tpcCBlcnJvcnMgYW5kIHdhcm5pbmdzCiAgICAgICAgICAgIAkJCSR4bWwgPSBET01Eb2N1bWVudDo6bG9hZFhNTCgkZGF0YSwgTElCWE1MX05PRU5UIHwgTElCWE1MX1hJTkNMVURFIHwgTElCWE1MX05PRVJST1IgfCBMSUJYTUxfTk9XQVJOSU5HKTsKICAgICAgICAgICAgCQkJLy8gUmV0dXJuIGRhdGEgd2l0aG91dCBYTUwgZm9ybWF0dGluZyB0YWdzCiAgICAgICAgICAgIAkJCXJldHVybiBzdHJpcF90YWdzKCR4bWwtPnNhdmVYTUwoKSk7CiAgICAgICAgCQkJfQogICAgICAgIAkJCSR6aXAtPmNsb3NlKCk7CiAgICAJCQl9CiAgICAJCQkvLyBJbiBjYXNlIG9mIGZhaWx1cmUgcmV0dXJuIGVtcHR5IHN0cmluZwogICAgCQkJcmV0dXJuICIiOwoJCQl9CgkJCSRwYXJhbXNbJ2NvbnRlbnQnXSA9IGRvY3gydGV4dCgkZGVzdCk7CgkJfSBlbHNlaWYgKCRleHQgPT0gJ2RvYycpIHsKCQkJZnVuY3Rpb24gcGFyc2VXb3JkKCR1c2VyRG9jKSB7CgkJCQkkZmlsZUhhbmRsZSA9IGZvcGVuKCR1c2VyRG9jLCAiciIpOwoJCQkJJGxpbmUgPSBAZnJlYWQoJGZpbGVIYW5kbGUsIGZpbGVzaXplKCR1c2VyRG9jKSk7ICAgCgkJCQkkbGluZXMgPSBleHBsb2RlKGNocigweDBEKSwkbGluZSk7CgkJCQkkb3V0dGV4dCA9ICIiOwoJCQkJZm9yZWFjaCgkbGluZXMgYXMgJHRoaXNsaW5lKSB7CgkJCQkJJHBvcyA9IHN0cnBvcygkdGhpc2xpbmUsIGNocigweDAwKSk7CgkJCQkJaWYgKCgkcG9zICE9PSBGQUxTRSl8fChzdHJsZW4oJHRoaXNsaW5lKT09MCkpIHsKCQkJCQl9IGVsc2UgewoJCQkJCQkkb3V0dGV4dCAuPSAkdGhpc2xpbmUuIiAiOwoJCQkJCX0KCQkJCX0KCQkJCSRvdXR0ZXh0ID0gcHJlZ19yZXBsYWNlKCIvW15hLXpBLVowLTlcc1wsXC5cLVxuXHJcdEBcL1xfXChcKV0vIiwiIiwkb3V0dGV4dCk7CgkJCQlyZXR1cm4gJG91dHRleHQ7CgkJCX0gCgkJCSRwYXJhbXNbJ2NvbnRlbnQnXSA9IHBhcnNlV29yZCgkZGVzdCk7CgkJfQoNCgkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLg0KICAgIAkJJ21vZHVsZV9kb2N1bWVudHNlYXJjaCAoZG9jdW1lbnRzZWFyY2hfaWQsIG5hbWUsIGNvbnRlbnQsIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkLCBsb2NhdGlvbiwgYXV0aG9yLCBzdGF0dXMpIFZBTFVFUyAoPyw/LD8sPyw/LD8sPyknOw0KCQkkcmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkc2lkLCRwYXJhbXNbJ25hbWUnXSwkcGFyYW1zWydjb250ZW50J10sJHBhcmFtc1snY2F0ZWdvcnknXSwkcGFyYW1zWydsb2NhdGlvbiddLCRwYXJhbXNbJ2F1dGhvciddLCRwYXJhbXNbJ3N0YXR1cyddKSk7DQoJCSRwYXJhbXNbJ21vZHVsZV9tZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnYWRkZWRfcmVjb3JkJyk7CgoJCS8vIE1ha2UgY29udGVudCBhY2Nlc3NpYmxlIHRvIHRoZSBzZWFyY2ggbW9kdWxlCgkJJHNlYXJjaCA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnU2VhcmNoJyk7CgkJaWYoICRzZWFyY2ggKSB7CgkJCSRzZWFyY2gtPkFkZFdvcmRzKCAkdGhpcy0+R2V0bmFtZSgpLCAkc2lkLCAnZG9jdW1lbnRzZWFyY2gnLCAkcGFyYW1zWydjb250ZW50J10sIE5VTEwpOwoJCX0KCX0NCn0NCg0KaWYgKCRyZXN1bHQgPT09IGZhbHNlKSB7DQoJLy8geWVhaCwgdGhhdCdzIGdyYWNlZnVsIDooDQoJZWNobyAiRGF0YWJhc2UgZXJyb3IhIjsNCglleGl0Ow0KfQoNCnVuc2V0KCRwYXJhbXNbJ2RvY3VtZW50c2VhcmNoX2lkJ10pOw0KLy8gc2V0IGEgbWVzc2FnZSBhbmQgcmV0dXJuIHRvIHRoZSBwYWdlLgokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkKTsNCj8+]]></data>
	</file>
	<file>
	  <filename>/DocumentSearch.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgRG9jdW1lbnRTZWFyY2ggZXh0ZW5kcyBDTVNNb2R1bGUKewoKICBmdW5jdGlvbiBHZXROYW1lKCkKICB7CiAgICByZXR1cm4gJ0RvY3VtZW50U2VhcmNoJzsKICB9CgogIGZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKTsKICB9CgogIGZ1bmN0aW9uIEdldFZlcnNpb24oKQogIHsKICAgIHJldHVybiAnMS4yJzsKICB9CgogIGZ1bmN0aW9uIEdldEhlbHAoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnaGVscCcpOwogIH0KCiAgZnVuY3Rpb24gR2V0QXV0aG9yKCkKICB7CiAgICByZXR1cm4gJ29saXZlcnNlZGRvbic7CiAgfQoKICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpCiAgewogICAgcmV0dXJuICdvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrJzsKICB9CgogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICB9CgogIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCiAgewogICAgcmV0dXJuICdjb250ZW50JzsKICB9CgogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsKICB9CgogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VzZSBEb2N1bWVudCBTZWFyY2gnKTsKICB9CgogIGZ1bmN0aW9uIEdldERhc2hib2FyZE91dHB1dCgpIAogIHsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgoJJHJjb3VudCA9ICRkYi0+R2V0T25lKCdzZWxlY3QgY291bnQoKikgZnJvbSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2RvY3VtZW50c2VhcmNoJyk7CgkKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZGFzaF9yZWNvcmRfY291bnQnLCRyY291bnQpOwogIH0KCiAgZnVuY3Rpb24gRGlzcGxheUVycm9yUGFnZSgkaWQsICYkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZT0nJykKICAgIHsKCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX2Vycm9yJywgJHRoaXMtPkxhbmcoJ2Vycm9yJykpOwoJCSR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CgogICAgICAgIC8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQogICAgICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXJyb3IudHBsJyk7CiAgICB9CgogIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpCiAgewogICAgcmV0dXJuIGFycmF5KCk7CiAgfQoKICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCiAgewogICAgcmV0dXJuICIxLjExIjsKICB9CgogIGZ1bmN0aW9uIE1heGltdW1DTVNWZXJzaW9uKCkKICB7CiAgICByZXR1cm4gIjEuMTUiOwogIH0KCiAgZnVuY3Rpb24gSW5pdGlhbGl6ZUFkbWluKCkKCXsKCSAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY2F0ZWdvcnknLCBHZW5lcmFsLCAkdGhpcy0+TGFuZygnaGVscF9jYXRlZ29yeScpKTsKCX0KCiAgZnVuY3Rpb24gSW5pdGlhbGl6ZUZyb250ZW5kKCkKICB7CiAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgIAoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9kb2N1bWVudHNlYXJjaFwvdmlld1wvKD9QPGRvY3VtZW50c2VhcmNoX2lkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nLGFycmF5KCdhY3Rpb24nPT4nZGVmYXVsdCcpKTsgIAoJCgkkZ0NtcyA9IGNtc21zKCk7CgkkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwoJJHJldHVybmlkID0gJGNvbnRlbnRvcHMtPkdldERlZmF1bHRDb250ZW50KCk7CgkvLyBUaGUgcHJldmlvdXMgdGhyZWUgbGluZXMgYXJlIHRvIGdldCBhIHJldHVybmlkOyBtYW55IG1vZHVsZXMsIGxpa2UgTmV3cywgaGF2ZSBhIGRlZmF1bHQKCS8vIHBhZ2UgaW4gd2hpY2ggdG8gZGlzcGxheSBkZXRhaWwgdmlld3MuIEluIHRoYXQgY2FzZSwgdGhlIHBhZ2VfaWQgd291bGQgYmUgdXNlZCBmb3IgcmV0dXJuaWQuCgkKCS8vIFRoZSBuZXh0IHRocmVlIGxpbmVzIGFyZSB3aGVyZSB3ZSBtYXAgdGhlIFVSTCB0byBvdXIgZGV0YWlsIHBhZ2UuCgkkcGFybXMgPSBhcnJheSgnYWN0aW9uJz0+J2RlZmF1bHQnLCdkb2N1bWVudHNlYXJjaF9pZCc9PjEsJ3JldHVybmlkJz0+JHJldHVybmlkKTsKCSRyb3V0ZSA9IG5ldyBDbXNSb3V0ZSgndGhpcy9pcy9pbnNhbmVseS9ncmVhdC9zdHVmZicsJHRoaXMtPkdldE5hbWUoKSwkcGFybXMsVFJVRSk7CgljbXNfcm91dGVfbWFuYWdlcjo6cmVnaXN0ZXIoJHJvdXRlKTsKCQogIAogICAvLyBEb24ndCBhbGxvdyBwYXJhbWV0ZXJzIG90aGVyIHRoYW4gdGhlIG9uZXMgeW91J3ZlIGV4cGxpY2l0bHkgZGVmaW5lZAogICAkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7CiAgCiAgIC8vIHN5bnRheCBmb3IgY3JlYXRpbmcgYSBwYXJhbWV0ZXIgaXMgcGFyYW1ldGVyIG5hbWUsIGRlZmF1bHQgdmFsdWUsIGRlc2NyaXB0aW9uCiAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2RvY3VtZW50c2VhcmNoX2lkJywgLTEsICR0aGlzLT5MYW5nKCdoZWxwX2RvY3VtZW50c2VhcmNoX2lkJykpOwoKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RvY3VtZW50c2VhcmNoX2lkJyxDTEVBTl9JTlQpOwoKICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbW9kdWxlX21lc3NhZ2UnLCcnLCR0aGlzLT5MYW5nKCdoZWxwX21vZHVsZV9tZXNzYWdlJykpOwogICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbW9kdWxlX21lc3NhZ2UnLENMRUFOX1NUUklORyk7CgogICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCduYW1lJywnJywkdGhpcy0+TGFuZygnaGVscF9kZXNjcmlwdGlvbicpKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25hbWUnLENMRUFOX1NUUklORyk7CgogICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjb250ZW50JywnJywkdGhpcy0+TGFuZygnaGVscF9leHBsYW5hdGlvbicpKTsKICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NvbnRlbnQnLENMRUFOX1NUUklORyk7CgogICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdsb2NhdGlvbicsJycsJHRoaXMtPkxhbmcoJ2hlbHBfZXhwbGFuYXRpb24nKSk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsb2NhdGlvbicsQ0xFQU5fU1RSSU5HKTsKCiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjYW5jZWwnLENMRUFOX1NUUklORyk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdleHRlbnNpb24nLENMRUFOX1NUUklORyk7CgogICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjYXRlZ29yeScsICdHZW5lcmFsJywgJHRoaXMtPmxhbmcoJ2hlbHBjYXRlZ29yeXRleHQnKSk7CiAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjYXRlZ29yeScsQ0xFQU5fU1RSSU5HKTsKCiAgCiAgfQoKICBmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uICggJGV2ZW50bmFtZSApCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9pbmZvXycuJGV2ZW50bmFtZSApOwogIH0KCiAgZnVuY3Rpb24gR2V0RXZlbnRIZWxwICggJGV2ZW50bmFtZSApCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9oZWxwXycuJGV2ZW50bmFtZSApOwogIH0KCiAgZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CiAgfQoKICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7CiAgfQoKICBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3JlYWxseV91bmluc3RhbGwnKTsKICB9CgogIGZ1bmN0aW9uIF9TZXRTdGF0dXMoJG9pZCwgJHN0YXR1cykgewogICAgLy8uLi4KICB9CgoKCWZ1bmN0aW9uIFNlYXJjaFJlc3VsdCgkcmV0dXJuaWQsICRhcnRpY2xlaWQsICRhdHRyID0gJycpIHsKCQkkZG9jdW1lbnRpZCA9ICRwYXJhbXNbJ2RvY3VtZW50c2VhcmNoX2lkJ107DQoJCWlmICghZW1wdHkoJGRvY3VtZW50aWQpKSAkcmV0dXJuaWQgPSAkZG9jdW1lbnRpZDsNCgkJJHJlc3VsdCA9IGFycmF5KCk7DQoJCWlmICgkYXR0ciA9PSAnZG9jdW1lbnRzZWFyY2gnKSB7DQoJCQkkZGIgID0gY21zbXMoKS0+R2V0RGIoKTsNCgkJCSRxID0gJ1NFTEVDVCAqIEZST00gJyAuIGNtc19kYl9wcmVmaXgoKSAuICdtb2R1bGVfZG9jdW1lbnRzZWFyY2ggV0hFUkUgZG9jdW1lbnRzZWFyY2hfaWQgPSA/JzsNCgkJCSRyb3cgPSAkZGItPkdldFJvdygkcSwgYXJyYXkoJGFydGljbGVpZCkgKTsNCgkJCWlmICgkcm93KSB7DQoJCQkJJHJlc3VsdFswXSA9IHV0ZjhfZW5jb2RlKGh0bWxfZW50aXR5X2RlY29kZSgkdGhpcy0+R2V0RnJpZW5kbHlOYW1lKCkpKTsNCgkJCQkkcmVzdWx0WzFdID0gJHJvd1snbmFtZSddOwoJCQkJJHByZXR0eXVybCA9ICd1cGxvYWRzL2RvY3VtZW50c2VhcmNoL2lkJy4kcm93Wydkb2N1bWVudHNlYXJjaF9pZCddLicvJy4kcm93Wydsb2NhdGlvbiddOwoJCQkJJHJlc3VsdFsyXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCdjbnRudDAxJywgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRyb3dbJ25hbWUnXSwgDQoJCQkJICAgICAgIGFycmF5KCdkb2N1bWVudHNlYXJjaF9pZCcgPT4gJHJvd1snZG9jdW1lbnRzZWFyY2hfaWQnXSksDQoJCQkJICAgICAgICcnLCB0cnVlLCB0cnVlLCAnJywgdHJ1ZSwgJHByZXR0eXVybCk7DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRyZXN1bHQ7DQoJfQoKCglmdW5jdGlvbiBTZWFyY2hSZWluZGV4KCYkbW9kdWxlKSB7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCgkJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb2N1bWVudHNlYXJjaCBPUkRFUiBCWSBkb2N1bWVudHNlYXJjaF9pZCc7CgkJJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKCQl3aGlsZSAoJHJlc3VsdCAmJiAhJHJlc3VsdC0+RU9GKSB7CgkJCSRtb2R1bGUtPkFkZFdvcmRzKCR0aGlzLT5HZXRuYW1lKCksICRyZXN1bHQtPmZpZWxkc1snZG9jdW1lbnRzZWFyY2hfaWQnXSwgJ2RvY3VtZW50c2VhcmNoJywgJHJlc3VsdC0+ZmllbGRzWydjb250ZW50J10sIE5VTEwpOwoJCQkkcmVzdWx0LT5Nb3ZlTmV4dCgpOwoJCX0KCX0KCgoKCn0gLy9lbmQgY2xhc3MKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_categoriestab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXNlIERvY3VtZW50IFNlYXJjaCcpICkgcmV0dXJuOwoJCgkjUHV0IHRvZ2V0aGVyIGEgbGlzdCBvZiBjdXJyZW50IGNhdGVnb3JpZXMuLi4KCSRlbnRyeWFycmF5ID0gYXJyYXkoKTsKCQoJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb2N1bWVudHNlYXJjaF9jYXRlZ29yaWVzIE9SREVSIEJZIGhpZXJhcmNoeSI7CgkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKCQoJJHJvd2NsYXNzID0gJ3JvdzEnOwoJCgl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCgl7CgkJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcygpOwoJCgkJJGRlcHRoID0gY291bnQocHJlZ19zcGxpdCgnL1wuLycsICRyb3dbJ2hpZXJhcmNoeSddKSk7CgkKCQkkb25lcm93LT5pZCA9ICRyb3dbJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkJ107CgkJJG9uZXJvdy0+bmFtZSA9IHN0cl9yZXBlYXQoJyZuYnNwOyZndDsmbmJzcDsnLCAkZGVwdGgtMSkuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCAkcm93Wydkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lJ10sIGFycmF5KCdjYXRpZCc9PiRyb3dbJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkJ10pKTsKCQoJCSRvbmVyb3ctPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ2VkaXQnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnY2F0aWQnPT4kcm93Wydkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCddKSk7CgkJJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlbGV0ZWNhdGVnb3J5JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NhdGlkJz0+JHJvd1snZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQnXSksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOwoJCgkJJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgoJCSRlbnRyeWFycmF5W10gPSAkb25lcm93OwoJCgkJKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7Cgl9CgkKCSRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwoJJHNtYXJ0eS0+YXNzaWduKCdpdGVtY291bnQnLCBjb3VudCgkZW50cnlhcnJheSkpOwoJCgkjU2V0dXAgbGlua3MKCSRzbWFydHktPmFzc2lnbignYWRkbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGNhdGVnb3J5JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkY2F0ZWdvcnknKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRjYXRlZ29yeScsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdmb2xkZXIuZ2lmJywgJHRoaXMtPkxhbmcoJ2FkZGNhdGVnb3J5JyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpIC4nICcuICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGNhdGVnb3J5JywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkY2F0ZWdvcnknKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CgkKCSRzbWFydHktPmFzc2lnbignY2F0ZWdvcnl0ZXh0JywgJHRoaXMtPkxhbmcoJ2NhdGVnb3J5JykpOwoJCgkjRGlzcGxheSB0ZW1wbGF0ZQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdjYXRlZ29yeWxpc3QudHBsJyk7CgkKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_documenttab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CgovLyBDb250ZW50IGRlZmluZXMgYW5kIEZvcm0gc3R1ZmYgZm9yIHRoZSBhZG1pbgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0X2Zvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ3NhdmVfYWRtaW5fcHJlZnMnLCAkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGxvd19hZGQnLCR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2FsbG93X2FkZCcsIDEsCiAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19hZGQnLCcwJykpLiAkdGhpcy0+TGFuZygndGl0bGVfYWxsb3dfYWRkX2hlbHAnKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CgovLyB0cmFuc2xhdGVkIHN0cmluZ3MKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV9hbGxvd19hZGQnLCR0aGlzLT5MYW5nKCd0aXRsZV9hbGxvd19hZGQnKSk7CiRzbWFydHktPmFzc2lnbignd2VsY29tZXRleHQnLCR0aGlzLT5MYW5nKCd3ZWxjb21ldGV4dCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdpZHRleHQnLCR0aGlzLT5MYW5nKCdpZHRleHQnKSk7CiRzbWFydHktPmFzc2lnbignbmFtZXRleHQnLCR0aGlzLT5MYW5nKCduYW1ldGV4dCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdmaWxldGV4dCcsJHRoaXMtPkxhbmcoJ2ZpbGV0ZXh0JykpOwokc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5dGV4dCcsJHRoaXMtPkxhbmcoJ2NhdGVnb3J5dGV4dCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdzZWxlY3R0ZXh0JywkdGhpcy0+TGFuZygnc2VsZWN0dGV4dCcpKTsKCgokZGIgPSAkZ0Ntcy0+R2V0RGIoKTsKCiRxdWVyeSA9ICdTRUxFQ1QgZG9jdW1lbnRzZWFyY2hfaWQsIG5hbWUsIGNvbnRlbnQsIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkLCBsb2NhdGlvbiBmcm9tICcuY21zX2RiX3ByZWZpeCgpLgogICAnbW9kdWxlX2RvY3VtZW50c2VhcmNoJzsKCmlmIChpc3NldCgkcGFyYW1zWydkb2N1bWVudHNlYXJjaF9pZCddKSkKICAgewogICAvLyAqQUxXQVlTKiB1c2UgcGFyYW1ldGVyaXplZCBxdWVyaWVzIHdpdGggdXNlci1wcm92aWRlZCBpbnB1dAogICAvLyB0byBwcmV2ZW50IFNRTC1JbmplY3Rpb24gYXR0YWNrcyEKICAgJHF1ZXJ5IC49ICcgd2hlcmUgZG9jdW1lbnRzZWFyY2hfaWQgPSA/JzsKICAgJHJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1snZG9jdW1lbnRzZWFyY2hfaWQnXSkpOwogICAkbW9kZSA9ICdkZXRhaWwnOyAvLyB3ZSdyZSB2aWV3aW5nIGEgc2luZ2xlIHJlY29yZAogICB9CmVsc2UKICAgewogICAvLyB3ZSdyZSBub3QgZ2V0dGluZyBhIHNwZWNpZmljIHJlY29yZCwgc28gc2hvdyAnZW0gYWxsLiBQcm9iYWJseSBzaG91bGQgcGFnaW5hdGUuCiAgICRyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsKICAgJG1vZGUgPSAnc3VtbWFyeSc7IC8vIHdlJ3JlIHZpZXdpbmcgYSBsaXN0IG9mIHJlY29yZHMKICAgfQogICAKCgokY2F0ZWdvcnlsaXN0ID0gYXJyYXkoKTsKJGNhdGVnb3J5bGlzdFskdGhpcy0+TGFuZygnYWxsY2F0ZWdvcmllcycpXSA9ICcnOwokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2RvY3VtZW50c2VhcmNoX2NhdGVnb3JpZXMgT1JERVIgQlkgaGllcmFyY2h5IjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICB7CiAgICAkY2F0ZWdvcnlsaXN0WyRyb3dbJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5X25hbWUnXV0gPSAkcm93Wydkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lJ107CiAgfQoKJHJlY29yZHMgPSBhcnJheSgpOwp3aGlsZSAoJHJlc3VsdCAhPT0gZmFsc2UgJiYgJHJvdz0kcmVzdWx0LT5GZXRjaFJvdygpKQogICB7CiAgIC8vIGNyZWF0ZSBhIG5ldyBvYmplY3QgZm9yIGV2ZXJ5IHJlY29yZCB0aGF0IHdlIHJldHJpZXZlCiAgICRyZWMgPSBuZXcgc3RkQ2xhc3MoKTsKICAgJHJlYy0+aWQgPSAkcm93Wydkb2N1bWVudHNlYXJjaF9pZCddOwogICAkcmVjLT5uYW1lID0gJHJvd1snbmFtZSddOwogICAkcmVjLT5jb250ZW50ID0gJHJvd1snY29udGVudCddOwogICAkcmVjLT5sb2NhdGlvbiA9ICRyb3dbJ2xvY2F0aW9uJ107CiAgICRyZWMtPmNhdGVnb3J5ID0gJHJvd1snZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQnXTsKCgogICAvLyBjcmVhdGUgYXR0cmlidXRlcyBmb3IgcmVuZGVyaW5nICJ2aWV3IiBsaW5rcyBmb3IgdGhlIG9iamVjdC4KICAgLy8gJGlkIGFuZCAkcmV0dXJuaWQgYXJlIHByZWRlZmluZWQgZm9yIHVzIGJ5IHRoZSBtb2R1bGUgQVBJCiAgIC8vIHRoYXQgbGFzdCBwYXJhbWV0ZXIgaXMgdGhlIFByZXR0eSBVUkwgbGluawogICAvKiRyZWMtPmVkaXQgPSAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rKCRpZCwgJHJldHVybmlkLCAnYWRkX2VkaXQnLCAkdGhpcy0+TGFuZygnZWRpdCcpLAogICAgICBhcnJheSgnZG9jdW1lbnRzZWFyY2hfaWQnPT4kcmVjLT5pZCksJycsZmFsc2UsdHJ1ZSwnJyxmYWxzZSwnZG9jdW1lbnRzZWFyY2gvZWRpdC8nLiRyZWMtPmlkLicvJy4kcmV0dXJuaWQpOyovCgoKCQkkcmVjLT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZF9lZGl0JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ2VkaXQnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnZG9jdW1lbnRzZWFyY2hfaWQnPT4kcmVjLT5pZCkpOwoJCSRyZWMtPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWxldGVkb2N1bWVudCcsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ2RlbGV0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdkb2N1bWVudHNlYXJjaF9pZCc9PiRyZWMtPmlkKSwgJHRoaXMtPkxhbmcoJ2FyZXlvdXN1cmUnKSk7CgoKICAgYXJyYXlfcHVzaCgkcmVjb3JkcywkcmVjKTsKICAgfQoKLy8gRXhwb3NlIHRoZSBsaXN0IHRvIHNtYXJ0eS4KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdyZWNvcmRzJywkcmVjb3Jkcyk7CgovLyBUZWxsIFNtYXJ0eSB3aGljaCBtb2RlIHdlJ3JlIGluCiR0aGlzLT5zbWFydHktPmFzc2lnbignbW9kZScsJG1vZGUpOwoKLy8gYW5kIGEgY291bnQgb2YgcmVjb3JkcwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlX251bV9yZWNvcmRzJywkdGhpcy0+TGFuZygndGl0bGVfbnVtX3JlY29yZHMnLGFycmF5KGNvdW50KCRyZWNvcmRzKSkpKTsKCgokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2FkZCcsICR0aGlzLT5DcmVhdGVGcm9udGVuZExpbmsoJGlkLCAkcmV0dXJuaWQsICdhZGRfZWRpdCcsCgkkdGhpcy0+TGFuZygnYWRkX3JlY29yZCcpLGFycmF5KCksJycsZmFsc2UsdHJ1ZSwnJyxmYWxzZSkpOwoKCmlmIChpc3NldCgkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddKSkKICAgewogICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ21vZHVsZV9tZXNzYWdlJywkcGFyYW1zWydtb2R1bGVfbWVzc2FnZSddKTsKICAgfQplbHNlCiAgIHsKICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtb2R1bGVfbWVzc2FnZScsJycpOwogICB9CgoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbnBhbmVsLnRwbCcpOwovKioKICogWW91IG1pZ2h0IGFsc28gd2FudCB0byBsb29rIGF0IG90aGVyIG1vZHVsZXMgdGhhdCBoYXZlIGRvbmUgdGhpcyA6KQogKiAgKE5ld3MgYW5kIFF1ZXN0aW9ucyBhcmUgZ29vZCBleGFtcGxlcykKICovCgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhIAAgAPcAAGWJwtbZ65CGvVtlrK7G45612kev3UZirUpAl1ac0VI2kIWSxYuMwU08lEK14mOKxE2m10NXpo2+4D9PoUdFmkSz4G5iqVA4kTFgrovB42yJwkyo2Uaw3kBNoGGOxmqZzDVcq4G74U86k2GCv2V9uzNerF+RyHaq11yUy2KMxTRdrHyo1Lev01M1j3Z+urTM5WeGwShstlyTyvL2+vTz+F+FwTlXpzxSpFUyjS1msmiDvyVxui9lsZ2eyzdZqYSWyFYxjFguilmc0CpqtCZuuFwqh1Se0ViZzlabz1Oe0lWd0Vab0EVHnFOf00ZGm1Kh1ERInUJLn1Gh1E2n2EhDmVCj1VmXzVmYzlCk1j1Roz5Qoks/lklCmFCi1TtUpThYqEqq2kit3ViYzlqWzDpVplOg01eazz1So0+k1kms3FKg1E48lFGi1FQ0jjZaqkw+lkNJnUuq2k+k10NKnleazkw9lUhEmUqr206m10pBl0BOoUFMn1uVy0up2k47lDVbqk+l10qq21A5kk6l10yp2kJKnoiQxFcwi3u53y9jsFosiSlrtZq73VmYzYNUn0NJnkmt3CtptFmMxlUzjkWx4Ju53FSSyszJ4ixos0Z2umyTyXBfp57H5ZLB41aQyHu84efr9cLg8Ze/4P7+/nSUyHCQxq2+3WV2tlmZzmtxsmqCvtXT54GZymp+u93d7XGMwyhtt5fK52KUy157umKYzXam1L3U6Xql0uDj8HGw2oifzfT5/GGNxWGNxtvg72uf0J2v1rbD4Geo12+k0m+t2V2SyTpWppy/4Oby+lOGw3h4tX1+upScyqzR6tTm89nm89rq9VqQyFgvi1OTy8PF4FduszxTpJi935igzMvg8GeFwMTX68zZ7FqVzGBToczo9a7L5TZaqWCPx8vn9WiEv5fF5OLq9Zuy1zh3vForiGFfqClrtl5ZpWpjqoy/4pK94EVLn2qBvWd6uUBosUhrskxyt5mdylktiVktim+y3GWHwoa43TpxuIdaol8jg////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRGNjJCMjA4NjAyNzExRTI5MkNFQ0E2QzFBRkVFMUJCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRGNjJCMjA5NjAyNzExRTI5MkNFQ0E2QzFBRkVFMUJCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6OEMxOERFN0Y2MDI2MTFFMjkyQ0VDQTZDMUFGRUUxQkIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6OEMxOERFODA2MDI2MTFFMjkyQ0VDQTZDMUFGRUUxQkIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQAAAAAACwAAAAAIAAgAAAI/wD7CRxIsKDBgwWNJGlS5omULlXQAMIzZcqGPmAC3UkTxoABDhwoVajgoKTAJQmUKGyi5gmbKljkDIJgkVAcMBshdfwocqTAI2aQLFGpsOFDmHIoWuxzc2OYjiApCbRyRcwRoSlXtnyIRSJNizcDpdHpUSCfbmOoHqGDVeVChy9jDqq4wSZOjgKLyUDBJ20jq0GzLjQKUaLSixkFmjChl29ftWxRumXpEiaamTUFihO3+IQECe7cZQiRSwhQoUSTEEZKUWAKXh7EifpHu/a/cYiqXpWs1WGXrgIfPEiR4prt4xnSXlnbVqsUNgIBSH/AiPa7X8P2QaM9itjjv6cFM/8UCAOGPgCVaDNK0cvDB2e0m+3lIyzEp3xCImcVqIOcNhgF0FbJcMStQBsytMhSjm3f5HbaEgLFo4oOOgT4TwHSATBcNrTVcsw/u3DSSSj/xIIKVVb144g8JLQIDG3njCBjDTXYQtsK2/wDjiSSRHOCJ55YIuQ0jviThTVekPEDbay48QcIKmDwAm3JEPDPMx+gM8QiMcBCBBE77OCPP3pokcUZC9D2wxc++ODGPObQlkkpM9A2AwG3aLlOl0SMGUUHekxgCG0LkGGMDV+8Qhs3JZSgQTC2vcBPJFvGMCYUc0SxBwO0GXIGktWAQpsuTqpQAj0amEKbJjlggkkkYzr/wQQUUHD6Tw8uuMAMLrT5csAXByxwAJSz0EZKIonwkMOYVNhBgRMCHFdbAKd4EQEL/6xiDzbU/BNAPRhggOyYCOTBBRXR2kbDJfYMYOYZA7BAQ22utAJlCeGOWccbW+ThzSYWBNwOO/AU8megZqqjzDKpRNBmOE+qMKYIfjTAb7nn2iHrrJnuAegEWnya5KFsujHmBRcI4sca+25RbrPPzgqHwR6DnMUNSJKB6JgtKKBAyhQ3sC/GMMsKxSOafmzmDUmOicMkbfT8syAisHyxuVTEDAUcHQP67pjSHALE0234DPTKLWPtrNGPGPzxmIrcE0TYZEt9tsUuq70xppqOHllEEekogk/YY0PdM8oqW5130TKP6fjjkEcueeQBAQA7]]></data>
	</file>
	<file>
	  <filename>/images/icon@2x.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhQABAAPcAALaz1nuUyIi84ElCmEBNoC5lsUJKnkyo2WWJwuz1+8jI4czC3VKg1Gij00aw34Ko1ESy4E86kzFhrlguilp9vImbymF0tne13T9OoaSkzmOKxM3h8Fac0Ih9t93r9UdFmktAl008lFI2kEev3WGOxs7Z7Keo0KrU7F+QyIOEvZzE47XJ5DNerFA4kdHd702m11OGwjVcq0K14lhrsVGJxVyUy7jA3TlXp2aGwUJosYOx2XKk00Virdzl8p273VM1j8bN5aq73GmDv3uDvVyTyjxSpKXC4ePy+TdZqW6czsjL4zhYqGuAvbrd8CVxulYxjPP0+bvc756byHyr15vI5kRUpFUyjf7+/lsqhyhstmKMxZ2r00+Mx77K5PH4/KTO6ZnL6CpqtF6YzdfZ63ui0GSZzZq22k2OyIa53yZuuDpWpidtt9rt+GSDv0RZp8TO5l6h0l93uFosicrG4JLG5jJutmlmrFSe0UVHnFWd0Vab0FmYzlabz1Oe0liZzlOf002n2FKh1EZGmz5QokRInVmXzVCj1VCk1ks/lj1Ro1qWzEit3TtUpVuVy1eazleaz0qq2jpVpliYzkuq2lOg0zVbqlmYzUqr21Ci1Ums3ENJnlGi1FQ0jk6l10+k1kw+lkhDmT1So0+k10pBl0FMn048lENJnUw9lU6m10+l1047lEup2l2SyVqVzClrtStptDxTpEqq2zZaqjZaqWWHwmGNxlUzjjRdqytos0mt3GGNxWiEvy9jsGqCvl6SyVcwjFgvi2eFwH5Nm1+PyGCPxylrtixns8/g72iFwJqx18zk809XpXFvsXx2tcTG4FyXzIqPw5GNwVmd0U9dqVJ2uFB9veHg719ws8Lf8Ofs9aTJ5qrF410ohmKd0M7k8j5So0hwtm6KwnKNxdHZ69Lc7U9nr2x/vGd/vFqZzkeBwE+BwLHZ7rrT6a/M5pay2Lav05W+3/Dx+Mfi8j1Wpk9PoINvr4+228TX687T6GKVy2iRyDtfrT9erIdaol8jg////yH/C1hNUCBEYXRhWE1QPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNS4zLWMwMTEgNjYuMTQ1NjYxLCAyMDEyLzAyLzA2LTE0OjU2OjI3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgQ1M2IChNYWNpbnRvc2gpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjRGNjJCMjBDNjAyNzExRTI5MkNFQ0E2QzFBRkVFMUJCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjRGNjJCMjBENjAyNzExRTI5MkNFQ0E2QzFBRkVFMUJCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NEY2MkIyMEE2MDI3MTFFMjkyQ0VDQTZDMUFGRUUxQkIiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NEY2MkIyMEI2MDI3MTFFMjkyQ0VDQTZDMUFGRUUxQkIiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4B//79/Pv6+fj39vX08/Lx8O/u7ezr6uno5+bl5OPi4eDf3t3c29rZ2NfW1dTT0tHQz87NzMvKycjHxsXEw8LBwL++vby7urm4t7a1tLOysbCvrq2sq6qpqKempaSjoqGgn56dnJuamZiXlpWUk5KRkI+OjYyLiomIh4aFhIOCgYB/fn18e3p5eHd2dXRzcnFwb25tbGtqaWhnZmVkY2JhYF9eXVxbWllYV1ZVVFNSUVBPTk1MS0pJSEdGRURDQkFAPz49PDs6OTg3NjU0MzIxMC8uLSwrKikoJyYlJCMiISAfHh0cGxoZGBcWFRQTEhEQDw4NDAsKCQgHBgUEAwIBAAAh+QQAAAAAACwAAAAAQABAAAAI/wD7CRxIsKDBgwgTKlzIsKHDhwrv3OnT588fSgwCadyEyZChQ55EpeqE6gWgkwcOrFo1CRKkWJcuZcq0qOaImyMc6HQAoadPGUCDEuSQR+LEihg1bvR4CKTITiZPAkrJsuVLmZly1VyEc6dOnz+BEtTDgWhRiRUvZtzY8eOhpyWlUq16FatWrl13gu0pg+AjPnrImkWblpLSQBzdhhyJSupUlZOswpR5F29Or2AJ+nH0FzDZPGePqj3ctmlIklFRrozsMubMynm/QiC4R5KfzX8DlwVN2GJStkwXo5arkqXLyTO34rzsgGAhS3tq3+6sm6hRiqOVJjb9NPVjuldfK/+/2XygIkWFnke/zZkP4N2hC69FXBok49RzWSPPanMEwUaNtHJeetHZhptn8PV20WHbOXUfcasd59pdBNVQA4ABoqeedO0hyFtvv2lU32lxybWaZFgRxAoRRFgIoIAaQmdgh4J9iF129AUHF37FoUiQL6wEyeKFLw4InXR+UFfjdWnNlyN3I3lHFWsEoeDLlUK2SGQjA27IHnUJouXbfIkp9iBKxRE0DApsYpmlixlqWOCXCA4m2oLalSZciVMRRAwxw6xppZsrwplhekfaRuNn8SHl5IiiDAcIQbWQQMKfgqIARhScdtrEp5+eQMcF0shI53t23hhimQ6SRJAWWuj/Uimmwyjzz6245porG3TAkSh77lXXqEVONhjSq7DCWumlturq7K4XILregR7GN2aeTBGkwbbJxlqLN8+Ge+sVaHQ554HCnqUqmZgQhMC73Ca7gbjiXnHBoRsqqqSdooXo7rvwcjsvrt7sYPAUOmjjwbMJNFBkjEjSGOa6BOFACy0AwzvwrRvISkKgw+QDjxfOftEihjDmC2ydw1aMw8sYA3xMrhsku+yfUySgqxcNDLlll78uyi9BuyATzMsWYzwzrsdo0K3HJOjgrApBrthiAwJ8ccI6J4BxARwR51ZjHgQJIUTRRyO99K3HIBBvsrK2oys2VwIphgokO3sEGGBz/7hv2WafjTYOLuTadsBOJ7uDsw0Qg0IZG4fLRrSmUktQL5gHLnjhTMcM8LaJR/6PDmuys7M8eeN6Ajro/boZQUzEnnng5OTqAswZByx3rvDU8kCuR+jwjC/dCLDwP1SI0Qq+iRJkTuyyZ147ri6knXTuRuiqgi7b5GoPm1aicDcaPj+MqEDCCGPB+uvH4X4cJeRaAgVxUGD//feboasPMKyQaxIwCGAAaUDAAtKACwhE4BkWmD5/+CMRoYAFLBjBiEhEQg1vyNUbkCCLSlQiBjG4xS1YQMLf5eoBvPBBroxQB1y84hVhcIUripGFLKxhDWnIoRN2uEMHOnAQg4BgEf8kSEEgaHAJSEDCLDr4QRGyQH+5IoMEyKCrezwABi2EYQxnaEMc5jANPfQhBoAYRCHCwoi4esMNloDEJC7xgzHwX670IQFwxONZHjACGdLxwjDEkIZd/KIP/UEADBiSjBBUQq6AcMEbrLGNSwSHs6rBAgmIg17/MAIMXOhHGQISh4M0ACkIUMhDDkKRuAJCBS+oBkciURYV0FUPJEBCFoQjG5hMgjFcqEUZ1jCUBhDlKEupgFwpgYirbOUNeNADXSUDhE7MQQBsUC91GGOXvNziIAmhiWAGkxSjLCaulGDGCVbwBltwVhuYGMIRsiAHOKhAEKCgK3cU4J7XxAUnB4n/B0IQwhTd/OYccqUAICbCjPOIpa66kEQldhCa7pQANcaRqxXw4p4YxeYgBYGHjvrTFMEcKK4UYMpBfOMa1HTWOR6ZRB7ww4PQJGE4ctUFCfDiphgtgDEG+YEPCIKjHjWFSG8VjwyY4KgmcEa4tsBKR1pgDAq4xhubqNBbBUECWLXpRe85SFCAoqc+5SghFoDJZwHBDRSMhBuikasMDGEG5bgGNK6QK3FUMqta5cUgBzAAr341rGQta65sMI0iDBEWbgCAYP+Bj33U8q5ZHSQIRjEKvnq1p4EVrDWgUQWDCrEKUijrGMoB0VpG1oeIQAQIJltZr2ZWXFAAQAqWQcqS/x60CMx4ba6ukIFyTDWmtRzkKT7xidSydgD16IByl8vcZtiBHt4UZW1NedBB2CEaGXjHO0wghRRMY40N/a0TB1mKEJxiuMVdLWVb+9ewevSfARXmdBGZiG8g04JqaCUbwwvTGAwyAqpQRXnRa9zJWvay7n1vfOVryDEaNBSHTWt+XQnJDg6yBRHIsIDNS2D1Vrav7f3pewHqTXBO18EHhbA58avfNiLhwi2IsYY3fN7iqva4fgUrUPsJ3xIP07aJiHAyKTxIERg5xhiecSlqbOPjgvivIg7qgn9M3XIms5WD/MEPjCwCJCcZwAPusJMRnOCPxtfEpaSvitMaiUHagv8TnNgyl72sZPMSt8AfznGCeTzlUTYYkSqe4CCtYAVbvFnLXO6yjDUc5jurlrIH1jFQzezjE3sWwoP8xROeUOg3x1nOil50gBuNZ/aGuKM8JvE3qYzIQQIDGL/QNKENDWdQhzrDABYwk40L6Sf3NMr9VPU3LT3ICRgb1prmdKFrDWo6M5rDd/ZwpH896R6vuraDlIO2j41sZdP603NGcp0JfOM8IxjY/uzzILGABW3LwdgTeHWyZ31oW4t7xtBucq/JHGVKB3OQ3GB3u93N7VhvutPMDreoaTzcUvv616g2M8C5EXCBE7zgskZ4nBN971wvmdzqPTCUd0yIQZr85CgPT7nKV87ylrv85TCPeUAAADs=]]></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/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0RvY3VtZW50IFNlYXJjaCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0JlIHN1cmUgdG8gc2V0ICJVc2UgRG9jdW1lbnQgU2VhcmNoIiBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdTb3JyeSwgaXRcJ3Mgbm90IHlvdSwgaXRcJ3MgbWUuJzsKJGxhbmdbJ3JlYWxseV91bmluc3RhbGwnXSA9ICdSZWFsbHk/IFlvdVwncmUgc3VyZSB5b3Ugd2FudCB0byB1bmluc3RhbGwgdGhpcyBzdXBlciBmaW5lIG1vZHVsZT8nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NhdmUnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVuYW1lJ10gPSAnVGhpcyBjYXRlZ29yeSBuYW1lIGFscmVhZHkgZXhpc3RzISc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZmlsZXR5cGUnXSA9ICdUaGlzIGZpbGUgdHlwZSBpcyBub3QgYWxsb3dlZCEgT25seSBQREYsIERPQyBhbmQgRE9DWCBmaWxlcyBjYW4gYmUgdXBsb2FkZWQuJzsKJGxhbmdbJ2Vycm9yX21rZGlyJ10gPSAnRXJyb3IgbWFraW5nIHRoZSBkaXJlY3RvcnksIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMgYW5kIHRyeSBhZ2Fpbi4hJzsKJGxhbmdbJ2Vycm9yX21vdmVmaWxlJ10gPSAnRXJyb3IgbW92aW5nIHRoZSBmaWxlLCBjaGVjayB5b3VyIHBlcm1pc3Npb25zIGFuZCB0cnkgYWdhaW4uISc7CiRsYW5nWydsaW5rX3ZpZXcnXSA9ICdWaWV3JzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ2lkdGV4dCddID0gJ0lEJzsKJGxhbmdbJ25hbWV0ZXh0J10gPSAnTmFtZSc7CiRsYW5nWydmaWxldGV4dCddID0gJ0ZpbGUnOwokbGFuZ1sndGl0bGVfYXV0aG9yJ10gPSAnQXV0aG9yJzsKJGxhbmdbJ3N0YXR1cyddID0gJ0RvY3VtZW50IHN0YXR1cyc7CiRsYW5nWydjYXRlZ29yeXRleHQnXSA9ICdDYXRlZ29yeSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0NhdGVnb3J5JzsKJGxhbmdbJ25hbWUnXSA9ICdDYXRlZ29yeSBuYW1lJzsKJGxhbmdbJ3NlbGVjdHRleHQnXSA9ICdTZWxlY3QnOwokbGFuZ1sndGl0bGVfbnVtX3JlY29yZHMnXSA9ICclcyBkb2N1bWVudHMgZm91bmQuJzsKJGxhbmdbJ2FkZF9yZWNvcmQnXSA9ICdBZGQgYSBkb2N1bWVudCc7CiRsYW5nWydhZGRlZF9yZWNvcmQnXSA9ICdBZGRlZCBkb2N1bWVudC4nOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdBZGQgYSBjYXRlZ29yeSc7CiRsYW5nWydjYXRlZ29yeWFkZGVkJ10gPSAnQ2F0ZWdvcnkgYWRkZWQnOwokbGFuZ1snY2F0ZWdvcnlkZWxldGVkJ10gPSAnQ2F0ZWdvcnkgZGVsZXRlZCc7CiRsYW5nWyd1cGRhdGVkX3JlY29yZCddID0gJ0RvY3VtZW50IHVwZGF0ZWQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3RpdGxlX2dlbmVyYWwnXSA9ICdEb2N1bWVudCBsaXN0JzsKJGxhbmdbJ3RpdGxlX2FsbG93X2FkZCddID0gJ1VzZXJzIG1heSBhZGQgcmVjb3Jkcz8nOwokbGFuZ1sndGl0bGVfYWxsb3dfYWRkX2hlbHAnXSA9ICdDbGljayBoZXJlIHRvIGFsbG93IHVzZXJzIHRvIGFkZCByZWNvcmRzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdBZG1pbiBQYW5lbCc7CiRsYW5nWyd0aXRsZV9uYW1lJ10gPSAnRmlsZSBuYW1lJzsKJGxhbmdbJ3RpdGxlX2xvY2F0aW9uJ10gPSAnU2VsZWN0IGRvY3VtZW50JzsKJGxhbmdbJ3RpdGxlX2xvY2F0aW9uZWRpdCddID0gJ1JlcGxhY2UgY3VycmVudCBkb2N1bWVudCc7CiRsYW5nWyd0YWJfZG9jdW1lbnQnXSA9ICdEb2N1bWVudHMnOwokbGFuZ1sndGFiX2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlPyc7CiRsYW5nWydkYXNoX3JlY29yZF9jb3VudCddID0gJ1RoaXMgbW9kdWxlIGhhbmRsZXMgJXMgZG9jdW1lbnRzJzsKJGxhbmdbJ2FsZXJ0X25vX3JlY29yZHMnXSA9ICdUaGVyZSBoYXZlIG5vdCBiZWVuIGFueSBkb2N1bWVudHMgYWRkZWQgaW4gdGhlIERvY3VtZW50IFNlYXJjaCBtb2R1bGUhJzsKJGxhbmdbJ2hlbHBfZG9jdW1lbnRzZWFyY2hfaWQnXSA9ICdJbnRlcm5hbGx5IGlkZW50aWZpZXIgZm9yIHNlbGVjdGluZyBkb2N1bWVudHMnOwokbGFuZ1snaGVscF9kZXNjcmlwdGlvbiddID0gJ0ludGVybmFsIHBhcmFtZXRlciB1c2VkIHRvIHBhc3MgZGVzY3JpcHRpb24gaW5mbyB3aGVuIGNyZWF0aW5nIG9yIGVkaXRpbmcgYSBkb2N1bWVudCc7CiRsYW5nWydoZWxwX2V4cGxhbmF0aW9uJ10gPSAnSW50ZXJuYWwgcGFyYW1ldGVyIHVzZWQgdG8gcGFzcyBleHBsYW5hdGlvbiBpbmZvIHdoZW4gY3JlYXRpbmcgb3IgZWRpdGluZyBhIGRvY3VtZW50JzsKJGxhbmdbJ2hlbHBfbW9kdWxlX21lc3NhZ2UnXSA9ICdJbnRlcm5hbGx5IHVzZWQgcGFyYW1ldGVyIGZvciBwYXNzaW5nIG1lc3NhZ2VzIHRvIHVzZXInOwokbGFuZ1snaGVscF9jYXRlZ29yeSddID0gJ1doaWNoIGNhdGVnb3J5IHRvIGRpc3BsYXkgZG9jdW1lbnRzIGZyb20uJzsKCiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1RoaXMgbW9kdWxlIGV4dHJhY3RzIHRoZSBjb250ZW50cyBvZiBQREYsIERPQyBhbmQgRE9DWCBmaWxlcyBhbmQgYWRkcyB0aGUgY29udGVudCB0byB0aGUgZGF0YWJhc2UgbWFraW5nIHRoZSBkb2N1bWVudHMgY29udGVudCBzZWFyY2hhYmxlLCB3aXRoIGEgbGluayByZWZlcmVuY2UgdG8gdGhlIG9yaWdpbmFsIGRvY3VtZW50IGZvciBkb3dubG9hZGluZy92aWV3aW5nLic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+CjxsaT5WZXJzaW9uIDEuMCAzMCBKYW51YXJ5IDIwMTMuIEluaXRpYWwgUmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAxLjEgMzAgSmFudWFyeSAyMDEzLiBGaXggZm9yIGJ1ZyAjODg3NS48L2xpPgo8bGk+VmVyc2lvbiAxLjIgMzAgSmFudWFyeSAyMDEzLiBGaXggdG8gc2VhcmNoIHJlc3VsdHMgVVJMLCBtaXNzaW5nIGRvY3VtZW50c2VhcmNoIGRpcmVjdG9yeS48L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGFsbG93cyBmb3IgdGhlIHVwbG9hZGluZyBvZiBQREYsIERPQyBhbmQgRE9DWCBmaWxlcyB3aXRoIHRoZSBpbnRlbnRpb24gb2YgaGF2aW5nIHRoZSBkb2N1bWVudHMgY29udGVudCBleHRyYWN0ZWQgYW5kIGFkZGVkIHRvIHRoZSBkYXRhYmFzZSBtYWtpbmcgdGhlIGNvbnRlbnQgc2VhcmNoYWJsZSB2aWEgQ01TTVMgc2VhcmNoIG1vZHVsZS4gVGhlIHVwbG9hZGVkIGZpbGVzIGNhbiBhbHNvIGJlIGxpc3RlZCBvbiB0aGUgZnJvbnQgZW5kLjwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlNpbXBseSBwbGFjZSB0aGUgbW9kdWxlIGluIGEgcGFnZSBvciB0ZW1wbGF0ZSB1c2luZyB0aGUgc21hcnR5IHRhZyA8Y29kZT57RG9jdW1lbnRTZWFyY2h9PC9jb2RlPjwvcD4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIE1vZHVsZSBGb3JnZQo8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnL3Byb2plY3RzL2RvY3VtZW50c2VhcmNoLyI+RG9jdW1lbnQgU2VhcmNoIFBhZ2U8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIG9saXZlcnNlZGRvbiwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMTMsIE9saXZlciBTZWRkb24gPGEgaHJlZj0ibWFpbHRvOm9saXZlckB0aHJlZWZvbGQuY28udWsiPiZsdDtvbGl2ZXJAdGhyZWVmb2xkLmNvLnVrJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9Imh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCI+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4KJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.documentsearch_admin_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKY2xhc3MgZG9jdW1lbnRzZWFyY2hfYWRtaW5fb3BzCnsKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZV9kb2N1bWVudCgkZG9jdW1lbnRpZCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoKICAgIC8vTm93IHJlbW92ZSB0aGUgZG9jdW1lbnQKICAgICRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2RvY3VtZW50c2VhcmNoIFdIRVJFIGRvY3VtZW50c2VhcmNoX2lkID0gPyI7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZG9jdW1lbnRpZCkpOwoKICAgIC8vIGRlbGV0ZSBhbnkgZmlsZXMuLi4KICAgIC8vJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZzsKICAgICRteWRpcmVjdG9yeSA9ICcuLi91cGxvYWRzL2RvY3VtZW50c2VhcmNoL2lkJy4kZG9jdW1lbnRpZDsKCiAgICBkb2N1bWVudHNlYXJjaF9hZG1pbl9vcHM6OnJlY3Vyc2l2ZV9yZW1vdmVfZGlyZWN0b3J5KCRteWRpcmVjdG9yeSk7CiAgICAKICAgIGRvY3VtZW50c2VhcmNoX2FkbWluX29wczo6ZGVsZXRlX3N0YXRpY19yb3V0ZSgkZG9jdW1lbnRpZCk7CiAgICAKICAgIC8vVXBkYXRlIHNlYXJjaCBpbmRleAogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRG9jdW1lbnRTZWFyY2gnKTsKICAgICRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1NlYXJjaCcpOwogICAgaWYgKCRtb2R1bGUgIT0gRkFMU0UpCiAgICAgIHsKCSRtb2R1bGUtPkRlbGV0ZVdvcmRzKCRtb2QtPkdldE5hbWUoKSwgJGRvY3VtZW50aWQsICdkb2N1bWVudHNlYXJjaCcpOwogICAgICB9CiAgICAKICAgIEAkbW9kLT5TZW5kRXZlbnQoJ1NlYXJjaERvY3VtZW50RGVsZXRlZCcsIGFycmF5KCdkb2N1bWVudHNlYXJjaF9pZCcgPT4gJGRvY3VtZW50aWQpKTsKCS8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwoJYXVkaXQoJGRvY3VtZW50aWQsICdEb2N1bWVudCBTZWFyY2g6ICcuJGRvY3VtZW50aWQsICdEb2N1bWVudCBkZWxldGVkJyk7CgogIH0KCnB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVjdXJzaXZlX3JlbW92ZV9kaXJlY3RvcnkoJGRpcmVjdG9yeSwgJGVtcHR5PUZBTFNFKQp7CiAgICAvLyBpZiB0aGUgcGF0aCBoYXMgYSBzbGFzaCBhdCB0aGUgZW5kIHdlIHJlbW92ZSBpdCBoZXJlCiAgICBpZihzdWJzdHIoJGRpcmVjdG9yeSwtMSkgPT0gJy8nKQogICAgewogICAgICAgICRkaXJlY3RvcnkgPSBzdWJzdHIoJGRpcmVjdG9yeSwwLC0xKTsKICAgIH0KCiAgICAvLyBpZiB0aGUgcGF0aCBpcyBub3QgdmFsaWQgb3IgaXMgbm90IGEgZGlyZWN0b3J5IC4uLgogICAgaWYoIWZpbGVfZXhpc3RzKCRkaXJlY3RvcnkpIHx8ICFpc19kaXIoJGRpcmVjdG9yeSkpCiAgICB7CiAgICAgICAgLy8gLi4uIHdlIHJldHVybiBmYWxzZSBhbmQgZXhpdCB0aGUgZnVuY3Rpb24KICAgICAgICByZXR1cm4gRkFMU0U7CgogICAgLy8gLi4uIGlmIHRoZSBwYXRoIGlzIG5vdCByZWFkYWJsZQogICAgfWVsc2VpZighaXNfcmVhZGFibGUoJGRpcmVjdG9yeSkpCiAgICB7CiAgICAgICAgLy8gLi4uIHdlIHJldHVybiBmYWxzZSBhbmQgZXhpdCB0aGUgZnVuY3Rpb24KICAgICAgICByZXR1cm4gRkFMU0U7CgogICAgLy8gLi4uIGVsc2UgaWYgdGhlIHBhdGggaXMgcmVhZGFibGUKICAgIH1lbHNlewoKICAgICAgICAvLyB3ZSBvcGVuIHRoZSBkaXJlY3RvcnkKICAgICAgICAkaGFuZGxlID0gb3BlbmRpcigkZGlyZWN0b3J5KTsKCiAgICAgICAgLy8gYW5kIHNjYW4gdGhyb3VnaCB0aGUgaXRlbXMgaW5zaWRlCiAgICAgICAgd2hpbGUgKEZBTFNFICE9PSAoJGl0ZW0gPSByZWFkZGlyKCRoYW5kbGUpKSkKICAgICAgICB7CiAgICAgICAgICAgIC8vIGlmIHRoZSBmaWxlcG9pbnRlciBpcyBub3QgdGhlIGN1cnJlbnQgZGlyZWN0b3J5CiAgICAgICAgICAgIC8vIG9yIHRoZSBwYXJlbnQgZGlyZWN0b3J5CiAgICAgICAgICAgIGlmKCRpdGVtICE9ICcuJyAmJiAkaXRlbSAhPSAnLi4nKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAvLyB3ZSBidWlsZCB0aGUgbmV3IHBhdGggdG8gZGVsZXRlCiAgICAgICAgICAgICAgICAkcGF0aCA9ICRkaXJlY3RvcnkuJy8nLiRpdGVtOwoKICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBuZXcgcGF0aCBpcyBhIGRpcmVjdG9yeQogICAgICAgICAgICAgICAgaWYoaXNfZGlyKCRwYXRoKSkgCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgLy8gd2UgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGggdGhlIG5ldyBwYXRoCiAgICAgICAgICAgICAgICAgICAgcmVjdXJzaXZlX3JlbW92ZV9kaXJlY3RvcnkoJHBhdGgpOwoKICAgICAgICAgICAgICAgIC8vIGlmIHRoZSBuZXcgcGF0aCBpcyBhIGZpbGUKICAgICAgICAgICAgICAgIH1lbHNlewogICAgICAgICAgICAgICAgICAgIC8vIHdlIHJlbW92ZSB0aGUgZmlsZQogICAgICAgICAgICAgICAgICAgIHVubGluaygkcGF0aCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gY2xvc2UgdGhlIGRpcmVjdG9yeQogICAgICAgIGNsb3NlZGlyKCRoYW5kbGUpOwoKICAgICAgICAvLyBpZiB0aGUgb3B0aW9uIHRvIGVtcHR5IGlzIG5vdCBzZXQgdG8gdHJ1ZQogICAgICAgIGlmKCRlbXB0eSA9PSBGQUxTRSkKICAgICAgICB7CiAgICAgICAgICAgIC8vIHRyeSB0byBkZWxldGUgdGhlIG5vdyBlbXB0eSBkaXJlY3RvcnkKICAgICAgICAgICAgaWYoIXJtZGlyKCRkaXJlY3RvcnkpKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAvLyByZXR1cm4gZmFsc2UgaWYgbm90IHBvc3NpYmxlCiAgICAgICAgICAgICAgICByZXR1cm4gRkFMU0U7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgLy8gcmV0dXJuIHN1Y2Nlc3MKICAgICAgICByZXR1cm4gVFJVRTsKICAgIH0KfQoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIFVwZGF0ZUhpZXJhcmNoeVBvc2l0aW9ucygpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAkcXVlcnkgPSAiU0VMRUNUIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkLCBkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb2N1bWVudHNlYXJjaF9jYXRlZ29yaWVzIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogICAgd2hpbGUgKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKQogICAgICB7CgkkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24gPSAiIjsKCSRjdXJyZW50X2xvbmdfbmFtZSA9ICRyb3dbJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5X25hbWUnXTsKCSRjb250ZW50X2lkID0gJHJvd1snZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQnXTsKCSRjdXJyZW50X3BhcmVudF9pZCA9ICRyb3dbJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkJ107CgkkY291bnQgPSAwOwoJICAKCXdoaWxlICgkY3VycmVudF9wYXJlbnRfaWQgPiAtMSkKCSAgewoJICAgICRxdWVyeSA9ICJTRUxFQ1QgZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQsIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X25hbWUsIHBhcmVudF9pZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcmllcyBXSEVSRSBkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCA9ID8iOwoJICAgICRyb3cyID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkY3VycmVudF9wYXJlbnRfaWQpKTsKCSAgICBpZiAoJHJvdzIpCgkgICAgICB7CgkJJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gc3RyX3BhZCgkcm93MlsnZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQnXSwgNSwgJzAnLCBTVFJfUEFEX0xFRlQpIC4gIi4iIC4gJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uOwoJCSRjdXJyZW50X2xvbmdfbmFtZSA9ICRyb3cyWydkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lJ107CgkJJGN1cnJlbnRfcGFyZW50X2lkID0gJHJvdzJbJ3BhcmVudF9pZCddOwoJCSRjb3VudCsrOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQkkY3VycmVudF9wYXJlbnRfaWQgPSAwOwoJICAgICAgfQoJICB9CgkgIAoJaWYgKHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pID4gMCkKCSAgewoJICAgICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN1YnN0cigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24sIDAsIHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pIC0gMSk7CgkgIH0KCSAgCglpZiAoc3RybGVuKCRjdXJyZW50X2xvbmdfbmFtZSkgPiAwKQoJICB7CgkgICAgJGN1cnJlbnRfbG9uZ19uYW1lID0gc3Vic3RyKCRjdXJyZW50X2xvbmdfbmFtZSwgMCwgc3RybGVuKCRjdXJyZW50X2xvbmdfbmFtZSkgLSAzKTsKCSAgfQoJICAKCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb2N1bWVudHNlYXJjaF9jYXRlZ29yaWVzIFNFVCBoaWVyYXJjaHkgPSA/LCBsb25nX25hbWUgPSA/IFdIRVJFIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkID0gPyI7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24sICRjdXJyZW50X2xvbmdfbmFtZSwgJGNvbnRlbnRfaWQpKTsKICAgICAgfQogIH0KCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBkZWxldGVfc3RhdGljX3JvdXRlKCRkb2N1bWVudHNlYXJjaF9kb2N1bWVudF9pZCkKICB7CiAgICByZXR1cm4gY21zX3JvdXRlX21hbmFnZXI6OmRlbF9zdGF0aWMoJycsJ0RvY3VtZW50U2VhcmNoJywkZG9jdW1lbnRzZWFyY2hfZG9jdW1lbnRfaWQpOwogIH0KCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiByZWdpc3Rlcl9zdGF0aWNfcm91dGUoJGRvY3VtZW50c2VhcmNoX3VybCwkZG9jdW1lbnRzZWFyY2hfZG9jdW1lbnRfaWQsJGRldGFpbHBhZ2UgPSAnJykKICB7CiAgICBpZiggJGRldGFpbHBhZ2UgPD0gMCApCiAgICAgIHsKCSRnQ21zID0gY21zbXMoKTsKCSRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0RvY3VtZW50U2VhcmNoJyk7CgkkZGV0YWlscGFnZSA9ICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ2RldGFpbF9yZXR1cm5pZCcsLTEpOwoJaWYoICRkZXRhaWxwYWdlID09IC0xICkKCSAgewoJICAgICRkZXRhaWxwYWdlID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCktPkdldERlZmF1bHRDb250ZW50KCk7CgkgIH0KICAgICAgfQogICAgJHBhcm1zID0gYXJyYXkoJ2FjdGlvbic9PidkZXRhaWwnLCdyZXR1cm5pZCc9PiRkZXRhaWxwYWdlLAoJCSAgICdkb2N1bWVudGlkJz0+JGRvY3VtZW50c2VhcmNoX2RvY3VtZW50X2lkKTsKCiAgICAkcm91dGUgPSBDbXNSb3V0ZTo6bmV3X2J1aWxkZXIoJGRvY3VtZW50c2VhcmNoX3VybCwnRG9jdW1lbnRTZWFyY2gnLCRkb2N1bWVudHNlYXJjaF9kb2N1bWVudF9pZCwkcGFybXMsVFJVRSk7CiAgICByZXR1cm4gY21zX3JvdXRlX21hbmFnZXI6OmFkZF9zdGF0aWMoJHJvdXRlKTsKICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.documentsearch_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZmluYWwgY2xhc3MgZG9jdW1lbnRzZWFyY2hfb3BzCnsKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICBwcml2YXRlIHN0YXRpYyAkX2NhdGVnb3JpZXNfbG9hZGVkOwogIHByaXZhdGUgc3RhdGljICRfY2FjaGVkX2NhdGVnb3JpZXM7CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhdGVnb3JpZXMoJGlkLCRwYXJhbXMsJHJldHVybmlkPS0xKSB7CiAgICAkdG1wID0gc2VsZjo6Z2V0X2FsbF9jYXRlZ29yaWVzKCk7CiAgICBpZiggIWNvdW50KCR0bXApICkgcmV0dXJuOwoKICAgICRjYXRpbmZvID0gYXJyYXkoKTsKICAgIGlmKCAhaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkgfHwgJHBhcmFtc1snY2F0ZWdvcnknXSA9PSAnJyApIHsKCSAgJGNhdGluZm8gPSAkdG1wOwogICAgfSBlbHNlIHsKCSAgJGNhdGVnb3JpZXMgPSBleHBsb2RlKCcsJywgJHBhcmFtc1snY2F0ZWdvcnknXSk7CgkgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkgewoJICAgIGlmKCAhY291bnQoJGNhdGVnb3JpZXMpIHx8IGluX2FycmF5KCR0bXBbJGldWydkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lJ10sJGNhdGVnb3JpZXMpICkgewoJCSAgJGNhdGluZm9bXSA9ICR0bXBbJGldOwoJICAgIH0KCSAgfQogICAgfQoKICAgIHVuc2V0KCR0bXApOwogICAgaWYoICFjb3VudCgkY2F0aW5mbykgKSByZXR1cm47CgogICAgJGNhdF9pZHMgPSBhcnJheSgpOwogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGNhdGluZm8pOyAkaSsrICkgewoJICAkY2F0X2lkc1tdID0gJGNhdGluZm9bJGldWydkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCddOwogICAgfQogICAgc29ydCgkY2F0X2lkcyk7CiAgICAkY2F0X2lkcyA9IGFycmF5X3VuaXF1ZSgkY2F0X2lkcyk7CgogICAgLy8gZ2V0IGNvdW50cy4KICAgICRkZXB0aCA9IDE7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJGNvdW50cyA9IGFycmF5KCk7ICB7CiAgICAgICRxMiA9ICdTRUxFQ1QgZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQsQ09VTlQoZG9jdW1lbnRzZWFyY2hfaWQpIEFTIGNudCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG9jdW1lbnRzZWFyY2ggV0hFUkUgZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQgSU4gKCc7CiAgICAgICRxMiAuPSBpbXBsb2RlKCcsJywkY2F0X2lkcykuJyknOwogICAgICAkcTIgLj0gJyBHUk9VUCBCWSBkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCc7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxMik7CiAgICAgIGlmKCBjb3VudCgkdG1wKSApCXsKCSAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wKTsgJGkrKyApIHsKCSAgICAgICRjb3VudHNbJHRtcFskaV1bJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkJ11dID0gJHRtcFskaV1bJ2NudCddOwoJICAgIH0KCSAgfQogICAgfQoKICAgICRyb3djb3VudGVyPTA7CiAgICAkaXRlbXMgPSBhcnJheSgpOwogICAgJGRlcHRoID0gMTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRjYXRpbmZvKTsgJGkrKyApIHsKCSAgJHJvdyA9JiAkY2F0aW5mb1skaV07CgkgICRyb3dbJ2luZGV4J10gPSAkcm93Y291bnRlcisrOwoJICAkcm93Wydjb3VudCddID0gKGlzc2V0KCRjb3VudHNbJHJvd1snZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQnXV0pKT8kY291bnRzWyRyb3dbJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkJ11dOjA7CgkgICRyb3dbJ3ByZXZkZXB0aCddID0gJGRlcHRoOwoJICAkZGVwdGggPSBjb3VudChleHBsb2RlKCcuJywgJHJvd1snaGllcmFyY2h5J10pKTsKCSAgJHJvd1snZGVwdGgnXT0kZGVwdGg7CgoJICAvLyBjaGFuZ2VzIHNvIHRoYXQgcGFyYW1ldGVycyBzdXBwbGllZCB0byB0aGUgdGFnCgkgIC8vIGdldHMgY2FycmllZCBkb3duIHRocm91Z2ggdGhlIGxpbmtzCgkgIC8vIHNjcmV3IHByZXR0eSB1cmxzCgkgICRwYXJtcyA9ICRwYXJhbXM7CgkgIHVuc2V0KCRwYXJtc1snYnJvd3NlY2F0J10pOwoJICB1bnNldCgkcGFybXNbJ2NhdGVnb3J5J10pOwoJICAkcGFybXNbJ2NhdGVnb3J5X2lkJ10gPSAkcm93Wydkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCddOwoKCSAgJHBhZ2VpZCA9IChpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pICYmICRwYXJhbXNbJ2RldGFpbHBhZ2UnXSE9JycpPyRwYXJhbXNbJ2RldGFpbHBhZ2UnXTokcmV0dXJuaWQ7CgkgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0RvY3VtZW50U2VhcmNoJyk7CgkgICRyb3dbJ3VybCddID0gJG1vZC0+Q3JlYXRlTGluaygkaWQsJ3N1bW1hcnknLCRwYWdlaWQsJHJvd1snZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfbmFtZSddLCRwYXJtcywnJyx0cnVlKTsKCSAgJGl0ZW1zW10gPSAkcm93OwogICAgfQogICAgcmV0dXJuICRpdGVtczsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9hbGxfY2F0ZWdvcmllcygpCiAgewogICAgaWYoICFzZWxmOjokX2NhdGVnb3JpZXNfbG9hZGVkICkKICAgICAgewoJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcmllcyBPUkRFUiBCWSBoaWVyYXJjaHkiOwoJJGRicmVzdWx0ID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoJaWYoICRkYnJlc3VsdCApCgkgIHsKCSAgICBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzID0gJGRicmVzdWx0OwoJICB9CglzZWxmOjokX2NhdGVnb3JpZXNfbG9hZGVkID0gVFJVRTsKICAgICAgfQogICAgcmV0dXJuIHNlbGY6OiRfY2FjaGVkX2NhdGVnb3JpZXM7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY2F0ZWdvcnlfbGlzdCgpCiAgewogICAgc2VsZjo6Z2V0X2FsbF9jYXRlZ29yaWVzKCk7CiAgICAkY2F0ZWdvcnlsaXN0ID0gYXJyYXkoKTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KHNlbGY6OiRfY2FjaGVkX2NhdGVnb3JpZXMpOyAkaSsrICkKICAgICAgewoJJHJvdyA9IHNlbGY6OiRfY2FjaGVkX2NhdGVnb3JpZXNbJGldOwoJJGNhdGVnb3J5bGlzdFskcm93Wydsb25nX25hbWUnXV0gPSAkcm93Wydkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCddOwogICAgICB9CgogICAgcmV0dXJuICRjYXRlZ29yeWxpc3Q7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY2F0ZWdvcnlfbmFtZXNfYnlfaWQoKQogIHsKICAgIHNlbGY6OmdldF9hbGxfY2F0ZWdvcmllcygpOwogICAgJGxpc3QgPSBhcnJheSgpOwogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoc2VsZjo6JF9jYWNoZWRfY2F0ZWdvcmllcyk7ICRpKysgKQogICAgICB7CgkkbGlzdFtzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzWyRpXVsnZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQnXV0gPSBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzWyRpXVsnZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfbmFtZSddOwogICAgICB9CiAgICByZXR1cm4gJGxpc3Q7CiAgfQoKICAKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jYXRlZ29yeV9uYW1lX2Zyb21faWQoJGlkKQogIHsKICAgIHNlbGY6OmdldF9hbGxfY2F0ZWdvcmllcygpOwogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoc2VsZjo6JF9jYWNoZWRfY2F0ZWdvcmllcyk7ICRpKysgKQogICAgICB7CglpZiggJGlkID09IHNlbGY6OiRfY2FjaGVkX2NhdGVnb3JpZXNbJGldWydkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCddICkKCSAgewoJICAgIHJldHVybiBzZWxmOjokX2NhY2hlZF9jYXRlZ29yaWVzWyRpXVsnZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfbmFtZSddOwoJICB9CiAgICAgIH0KICB9CgoKICBzdGF0aWMgcHJpdmF0ZSBmdW5jdGlvbiAmZ2V0X2FydGljbGVfZnJvbV9yb3coJHJvdywkZ2V0X2ZpZWxkcyA9ICdQVUJMSUMnKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHJvdykgKSByZXR1cm47CiAgICAkYXJ0aWNsZSA9IG5ldyBkb2N1bWVudHNlYXJjaF9hcnRpY2xlOwogICAgZm9yZWFjaCggJHJvdyBhcyAka2V5ID0+ICR2YWx1ZSApCiAgICAgIHsKCXN3aXRjaCggJGtleSApCgkgIHsKCSAgY2FzZSAnZG9jdW1lbnRzZWFyY2hfaWQnOgoJICAgICRhcnRpY2xlLT5pZCA9ICR2YWx1ZTsKCSAgICBicmVhazsKCgkgIGNhc2UgJ2RvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkJzoKCSAgICAkYXJ0aWNsZS0+Y2F0ZWdvcnlfaWQgPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdkb2N1bWVudHNlYXJjaF90aXRsZSc6CgkgICAgJGFydGljbGUtPnRpdGxlID0gJHZhbHVlOwoJICAgIGJyZWFrOwoKCSAgY2FzZSAnZG9jdW1lbnRzZWFyY2hfZGF0YSc6CgkgICAgJGFydGljbGUtPmNvbnRlbnQgPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdkb2N1bWVudHNlYXJjaF9kYXRlJzoKCSAgICAkYXJ0aWNsZS0+cG9zdGRhdGUgPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdzdW1tYXJ5JzoKCSAgICAkYXJ0aWNsZS0+c3VtbWFyeSA9ICR2YWx1ZTsKCgkgIGNhc2UgJ3N0YXJ0X3RpbWUnOgoJICAgICRhcnRpY2xlLT5zdGFydGRhdGUgPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdlbmRfdGltZSc6CgkgICAgJGFydGljbGUtPmVuZGRhdGUgPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdzdGF0dXMnOgoJICAgICRhcnRpY2xlLT5zdGF0dXMgPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdjcmVhdGVfZGF0ZSc6CgkgICAgJGFydGljbGUtPmNyZWF0ZV9kYXRlID0gJHZhbHVlOwoJICAgIGJyZWFrOwoKCSAgY2FzZSAnbW9kaWZpZWRfZGF0ZSc6CgkgICAgJGFydGljbGUtPm1vZGlmaWVkX2RhdGUgPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdhdXRob3JfaWQnOgoJICAgICRhcnRpY2xlLT5hdXRob3JfaWQgPSAkdmFsdWU7CgkgICAgYnJlYWs7CgoJICBjYXNlICdkb2N1bWVudHNlYXJjaF9leHRyYSc6CgkgICAgJGFydGljbGUtPmV4dHJhID0gJHZhbHVlOwoJICAgIGJyZWFrOwoKCSAgY2FzZSAnZG9jdW1lbnRzZWFyY2hfdXJsJzoKCSAgICAkYXJ0aWNsZS0+ZG9jdW1lbnRzZWFyY2hfdXJsID0gJHZhbHVlOwoJICAgIGJyZWFrOwoJICB9CiAgICAgIH0KCiAgICBpZiggJGdldF9maWVsZHMgJiYgJGdldF9maWVsZHMgIT0gJ05PTkUnICYmICRhcnRpY2xlLT5pZCApCiAgICAgIHsKCXNlbGY6OnByZWxvYWRGaWVsZERhdGEoJGFydGljbGUtPmlkKTsKCSRmaWVsZHMgPSBzZWxmOjpnZXRfZmllbGRzKCRhcnRpY2xlLT5pZCk7CglpZiggY291bnQoJGZpZWxkcykgKQoJICB7CgkgICAgZm9yZWFjaCggJGZpZWxkcyBhcyAkZmllbGQgKQoJICAgICAgewoJCSRhcnRpY2xlLT5zZXRfZmllbGQoJGZpZWxkKTsKCSAgICAgIH0KCSAgfQogICAgICB9CgogICAgcmV0dXJuICRhcnRpY2xlOwogIH0KCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiAmZ2V0X2xhdGVzdF9hcnRpY2xlKCRmb3JfZGlzcGxheSA9IFRSVUUpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRub3cgPSAkZGItPkRiVGltZVN0YW1wKHRpbWUoKSk7CiAgICAkcXVlcnkgPSAiU0VMRUNUIG1uLiosIG1uYy5kb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb2N1bWVudHNlYXJjaCBtbiBMRUZUIE9VVEVSIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb2N1bWVudHNlYXJjaF9jYXRlZ29yaWVzIG1uYyBPTiBtbmMuZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcnlfaWQgPSBtbi5kb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCBXSEVSRSBzdGF0dXMgPSAncHVibGlzaGVkJyBBTkQgIjsKICAgICRxdWVyeSAuPSAiKCIuJGRiLT5JZk51bGwoJ3N0YXJ0X3RpbWUnLCRkYi0+REJUaW1lU3RhbXAoMSkpLiIgPCAkbm93KSBBTkQgIjsKICAgICRxdWVyeSAuPSAiKCgiLiRkYi0+SWZOdWxsKCdlbmRfdGltZScsJGRiLT5EQlRpbWVTdGFtcCgxKSkuIiA9ICIuJGRiLT5EQlRpbWVTdGFtcCgxKS4iKSBPUiAoZW5kX3RpbWUgPiAkbm93KSkgIjsKICAgICRxdWVyeSAuPSAnT1JERVIgQlkgZG9jdW1lbnRzZWFyY2hfZGF0ZSBERVNDIExJTUlUIDEnOwogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSk7CgogICAgcmV0dXJuIHNlbGY6OmdldF9hcnRpY2xlX2Zyb21fcm93KCRyb3csKCRmb3JfZGlzcGxheSk/J1BVQkxJQyc6J0FMTCcpOyAgICAKICB9CgoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uICZnZXRfYXJ0aWNsZV9ieV9pZCgkYXJ0aWNsZV9pZCwkZm9yX2Rpc3BsYXkgPSBUUlVFLCRhbGxvd19leHBpcmVkID0gRkFMU0UpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgbW4uKiwgbW5jLmRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X25hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2RvY3VtZW50c2VhcmNoIG1uIAogICAgICAgICAgICAgIExFRlQgT1VURVIgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2RvY3VtZW50c2VhcmNoX2NhdGVnb3JpZXMgbW5jIE9OIG1uYy5kb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCA9IG1uLmRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkIAogICAgICAgICAgICAgIFdIRVJFIHN0YXR1cyA9IFwncHVibGlzaGVkXCcgQU5EIGRvY3VtZW50c2VhcmNoX2lkID0gPwogICAgICAgICAgICAgIEFORCAoJy4kZGItPmlmTnVsbCgnc3RhcnRfdGltZScsJGRiLT5EYlRpbWVTdGFtcCgxKSkuJyA8IE5PVygpKSc7CiAgICBpZiggISRhbGxvd19leHBpcmVkICkgewogICAgICAkcXVlcnkgLj0gJ0FORCAoKCcuJGRiLT5pZk51bGwoJ2VuZF90aW1lJywkZGItPkRiVGltZVN0YW1wKDEpKS4nID0gJy4kZGItPkRiVGltZVN0YW1wKDEpLicpIE9SIChlbmRfdGltZSA+IE5PVygpKSknOwogICAgfQogICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGFydGljbGVfaWQpKTsKCiAgICAkcmVzID0gbnVsbDsKICAgIGlmKCAhJHJvdyApIHJldHVybiAkcmVzOwogICAgCiAgICByZXR1cm4gc2VsZjo6Z2V0X2FydGljbGVfZnJvbV9yb3coJHJvdywoJGZvcl9kaXNwbGF5KT8nUFVCTElDJzonQUxMJyk7ICAgIAogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBwcmVsb2FkRmllbGREYXRhKCRpZHMpCiAgewogICAgaWYoICFpc19hcnJheSgkaWRzKSAmJiBpc19udW1lcmljKCRpZHMpICkKICAgICAgewoJJGlkcyA9IGFycmF5KCRpZHMpOwogICAgICB9CgogICAgJHRtcCA9IGFycmF5KCk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkaWRzKTsgJGkrKyApCiAgICAgIHsKCSRuID0gKGludCkkaWRzWyRpXTsKCWlmKCAkbiA8IDAgKSBjb250aW51ZTsKCWlmKCBpc19hcnJheShzZWxmOjokX2NhY2hlZF9maWVsZHZhbHMpICYmIGlzc2V0KHNlbGY6OiRfY2FjaGVkX2ZpZWxkdmFsc1skbl0pICkgY29udGludWU7IAoJJHRtcFtdID0gJG47CiAgICAgIH0KICAgIGlmKCAhaXNfYXJyYXkoJHRtcCkgfHwgIWNvdW50KCR0bXApICkgcmV0dXJuOwogICAgc29ydCgkdG1wKTsKICAgICRpZGxpc3QgPSBhcnJheV91bmlxdWUoJHRtcCk7CgogICAgJGZpZWxkZGVmcyA9IHNlbGY6OmdldF9maWVsZGRlZnMoKTsKICAgIGlmKCAhY291bnQoJGZpZWxkZGVmcykgKSByZXR1cm47CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgQS5kb2N1bWVudHNlYXJjaF9pZCxBLmZpZWxkZGVmX2lkLEEudmFsdWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2RvY3VtZW50c2VhcmNoX2ZpZWxkdmFscyBBCiAgICAgICAgICAgICAgSU5ORVIgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2RvY3VtZW50c2VhcmNoX2ZpZWxkZGVmcyBCCiAgICAgICAgICAgICAgT04gQS5maWVsZGRlZl9pZCA9IEIuaWQKICAgICAgICAgICAgICBXSEVSRSBkb2N1bWVudHNlYXJjaF9pZCBJTiAoJy5pbXBsb2RlKCcsJywkaWRsaXN0KS4nKSAKICAgICAgICAgICAgICBPUkRFUiBCWSBBLmRvY3VtZW50c2VhcmNoX2lkLEIuaXRlbV9vcmRlcic7CiAgICAkZGJyID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgaWYoICEkZGJyICkgcmV0dXJuOwoKICAgIC8vIGluaXRpYWxpemF0aW9uLgogICAgaWYoICFpc19hcnJheShzZWxmOjokX2NhY2hlZF9maWVsZHZhbHMpICkgc2VsZjo6JF9jYWNoZWRfZmllbGR2YWxzID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICRpZGxpc3QgYXMgJGRvY3VtZW50c2VhcmNoX2lkICkKICAgICAgewoJaWYoIGlzc2V0KHNlbGY6OiRfY2FjaGVkX2ZpZWxkdmFsc1skZG9jdW1lbnRzZWFyY2hfaWRdKSApIGNvbnRpbnVlOwoKIAlzZWxmOjokX2NhY2hlZF9maWVsZHZhbHNbJGRvY3VtZW50c2VhcmNoX2lkXSA9IGFycmF5KCk7CiAJZm9yZWFjaCggJGZpZWxkZGVmcyBhcyAkZmllbGQgKQogCSAgewogCSAgICAkb2JqID0gbmV3IGRvY3VtZW50c2VhcmNoX2ZpZWxkOwogCSAgICBmb3JlYWNoKCAkZmllbGQgYXMgJGsgPT4gJHYgKQoJICAgICAgewoJCSRvYmotPiRrID0gJHY7CgkgICAgICB9CiAJICAgIHNlbGY6OiRfY2FjaGVkX2ZpZWxkdmFsc1skZG9jdW1lbnRzZWFyY2hfaWRdWyRmaWVsZFsnaWQnXV0gPSAkb2JqOwogCSAgfQogICAgICB9CgogICAgLy8gZmlsbCB3aXRoIHZhbHVlcy4KICAgIGZvcmVhY2goICRkYnIgYXMgJHJvdyApCiAgICAgIHsKCSRkb2N1bWVudHNlYXJjaF9pZCA9ICRyb3dbJ2RvY3VtZW50c2VhcmNoX2lkJ107CgkkZmxkZGVmX2lkID0gJHJvd1snZmllbGRkZWZfaWQnXTsKCSR2YWx1ZSA9ICRyb3dbJ3ZhbHVlJ107CgoJaWYoICFpc3NldChzZWxmOjokX2NhY2hlZF9maWVsZHZhbHNbJGRvY3VtZW50c2VhcmNoX2lkXVskZmxkZGVmX2lkXSkgKSBjb250aW51ZTsKCXNlbGY6OiRfY2FjaGVkX2ZpZWxkdmFsc1skZG9jdW1lbnRzZWFyY2hfaWRdWyRmbGRkZWZfaWRdLT52YWx1ZSA9ICR2YWx1ZTsKICAgICAgfQogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZmllbGRzKCRkb2N1bWVudHNlYXJjaF9pZCwkcHVibGljX29ubHkgPSB0cnVlLCRmaWxsZWRfb25seSA9IEZBTFNFKQogIHsKICAgIGlmKCAkZG9jdW1lbnRzZWFyY2hfaWQgPD0gMCApIHJldHVybjsKICAgIGlmKCAhaXNzZXQoc2VsZjo6JF9jYWNoZWRfZmllbGR2YWxzWyRkb2N1bWVudHNlYXJjaF9pZF0pICkgcmV0dXJuOwoKICAgICRyZXN1bHRzID0gYXJyYXkoKTsKICAgIGZvcmVhY2goIHNlbGY6OiRfY2FjaGVkX2ZpZWxkdmFsc1skZG9jdW1lbnRzZWFyY2hfaWRdIGFzICRmaWQgPT4gJGRhdGEgKQogICAgICB7CglpZiggISRwdWJsaWNfb25seSB8fCAkZGF0YS0+cHVibGljICkKCSAgewoJICAgIGlmKCAhJGZpbGxlZF9vbmx5IHx8IChpc3NldCgkZGF0YS0+dmFsdWUpICYmICRkYXRhLT52YWx1ZSAhPSAnJykgKSB7CgkgICAgICAkcmVzdWx0c1skZGF0YS0+bmFtZV0gPSAkZGF0YTsKCSAgICB9CgkgIH0KICAgICAgfQogICAgcmV0dXJuICRyZXN1bHRzOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.pdf2text.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQogCiAKY2xhc3MgcGRmMnRleHQgewogICAgICAgIC8vIFNvbWUgc2V0dGluZ3MKICAgICAgICB2YXIgJG11bHRpYnl0ZSA9IDI7IC8vIFVzZSBzZXRVbmljb2RlKFRSVUV8RkFMU0UpCiAgICAgICAgdmFyICRjb252ZXJ0cXVvdGVzID0gRU5UX1FVT1RFUzsgLy8gRU5UX0NPTVBBVCAoZG91YmxlLXF1b3RlcyksIEVOVF9RVU9URVMgKEJvdGgpLCBFTlRfTk9RVU9URVMgKE5vbmUpCiAgICAgICAKICAgICAgICAvLyBWYXJpYWJsZXMKICAgICAgICB2YXIgJGZpbGVuYW1lID0gJyc7CiAgICAgICAgdmFyICRkZWNvZGVkdGV4dCA9ICcnOwogICAgICAgCiAgICAgICAgZnVuY3Rpb24gc2V0RmlsZW5hbWUoJGZpbGVuYW1lKSB7CiAgICAgICAgICAgICAgICAvLyBSZXNldAogICAgICAgICAgICAgICAgJHRoaXMtPmRlY29kZWR0ZXh0ID0gJyc7CiAgICAgICAgICAgICAgICAkdGhpcy0+ZmlsZW5hbWUgPSAkZmlsZW5hbWU7CiAgICAgICAgfQogCiAgICAgICAgZnVuY3Rpb24gb3V0cHV0KCRlY2hvID0gZmFsc2UpIHsKICAgICAgICAgICAgICAgIGlmKCRlY2hvKSBlY2hvICR0aGlzLT5kZWNvZGVkdGV4dDsKICAgICAgICAgICAgICAgIGVsc2UgcmV0dXJuICR0aGlzLT5kZWNvZGVkdGV4dDsKICAgICAgICB9CiAKICAgICAgICBmdW5jdGlvbiBzZXRVbmljb2RlKCRpbnB1dCkgewogICAgICAgICAgICAgICAgLy8gNCBmb3IgdW5pY29kZS4gQnV0IDIgc2hvdWxkIHdvcmsgaW4gbW9zdCBjYXNlcyBqdXN0IGZpbmUKICAgICAgICAgICAgICAgIGlmKCRpbnB1dCA9PSB0cnVlKSAkdGhpcy0+bXVsdGlieXRlID0gNDsKICAgICAgICAgICAgICAgIGVsc2UgJHRoaXMtPm11bHRpYnl0ZSA9IDI7CiAgICAgICAgfQogCiAgICAgICAgZnVuY3Rpb24gZGVjb2RlUERGKCkgewogICAgICAgICAgICAgICAgLy8gUmVhZCB0aGUgZGF0YSBmcm9tIHBkZiBmaWxlCiAgICAgICAgICAgICAgICAkaW5maWxlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR0aGlzLT5maWxlbmFtZSwgRklMRV9CSU5BUlkpOwogICAgICAgICAgICAgICAgaWYgKGVtcHR5KCRpbmZpbGUpKQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIiI7CiAgICAgICAKICAgICAgICAgICAgICAgIC8vIEdldCBhbGwgdGV4dCBkYXRhLgogICAgICAgICAgICAgICAgJHRyYW5zZm9ybWF0aW9ucyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAkdGV4dHMgPSBhcnJheSgpOwogICAgICAgCiAgICAgICAgICAgICAgICAvLyBHZXQgdGhlIGxpc3Qgb2YgYWxsIG9iamVjdHMuCiAgICAgICAgICAgICAgICBwcmVnX21hdGNoX2FsbCgiI29ialtcbnxccl0oLiopZW5kb2JqW1xufFxyXSNpc21VIiwgJGluZmlsZSwgJG9iamVjdHMpOwogICAgICAgICAgICAgICAgJG9iamVjdHMgPSBAJG9iamVjdHNbMV07CiAgICAgICAKICAgICAgICAgICAgICAgIC8vIFNlbGVjdCBvYmplY3RzIHdpdGggc3RyZWFtcy4KICAgICAgICAgICAgICAgIGZvciAoJGkgPSAwOyAkaSA8IGNvdW50KCRvYmplY3RzKTsgJGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAkY3VycmVudE9iamVjdCA9ICRvYmplY3RzWyRpXTsKICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiBhbiBvYmplY3QgaW5jbHVkZXMgZGF0YSBzdHJlYW0uCiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVnX21hdGNoKCIjc3RyZWFtW1xufFxyXSguKillbmRzdHJlYW1bXG58XHJdI2lzbVUiLCAkY3VycmVudE9iamVjdCwgJHN0cmVhbSkpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkc3RyZWFtID0gbHRyaW0oJHN0cmVhbVsxXSk7CiAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDaGVjayBvYmplY3QgcGFyYW1ldGVycyBhbmQgbG9vayBmb3IgdGV4dCBkYXRhLgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvcHRpb25zID0gJHRoaXMtPmdldE9iamVjdE9wdGlvbnMoJGN1cnJlbnRPYmplY3QpOwogICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEoZW1wdHkoJG9wdGlvbnNbIkxlbmd0aDEiXSkgJiYgZW1wdHkoJG9wdGlvbnNbIlR5cGUiXSkgJiYgZW1wdHkoJG9wdGlvbnNbIlN1YnR5cGUiXSkpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIYWNrLCBsZW5ndGggZG9lc250IGFsd2F5cyBzZWVtIHRvIGJlIGNvcnJlY3QKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNldCgkb3B0aW9uc1siTGVuZ3RoIl0pOwogICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU28sIHdlIGhhdmUgdGV4dCBkYXRhLiBEZWNvZGUgaXQuCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRhdGEgPSAkdGhpcy0+Z2V0RGVjb2RlZFN0cmVhbSgkc3RyZWFtLCAkb3B0aW9ucyk7ICAKICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJsZW4oJGRhdGEpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmVnX21hdGNoX2FsbCgiI0JUW1xufFxyXSguKilFVFtcbnxccl0jaXNtVSIsICRkYXRhLCAkdGV4dENvbnRhaW5lcnMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0ZXh0Q29udGFpbmVycyA9IEAkdGV4dENvbnRhaW5lcnNbMV07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5nZXREaXJ0eVRleHRzKCR0ZXh0cywgJHRleHRDb250YWluZXJzKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+Z2V0Q2hhclRyYW5zZm9ybWF0aW9ucygkdHJhbnNmb3JtYXRpb25zLCAkZGF0YSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAKICAgICAgICAgICAgICAgIC8vIEFuYWx5emUgdGV4dCBibG9ja3MgdGFraW5nIGludG8gYWNjb3VudCBjaGFyYWN0ZXIgdHJhbnNmb3JtYXRpb25zIGFuZCByZXR1cm4gcmVzdWx0cy4KICAgICAgICAgICAgICAgICR0aGlzLT5kZWNvZGVkdGV4dCA9ICR0aGlzLT5nZXRUZXh0VXNpbmdUcmFuc2Zvcm1hdGlvbnMoJHRleHRzLCAkdHJhbnNmb3JtYXRpb25zKTsKICAgICAgICB9CiAKIAogICAgICAgIGZ1bmN0aW9uIGRlY29kZUFzY2lpSGV4KCRpbnB1dCkgewogICAgICAgICAgICAgICAgJG91dHB1dCA9ICIiOwogICAgICAgCiAgICAgICAgICAgICAgICAkaXNPZGQgPSB0cnVlOwogICAgICAgICAgICAgICAgJGlzQ29tbWVudCA9IGZhbHNlOwogICAgICAgCiAgICAgICAgICAgICAgICBmb3IoJGkgPSAwLCAkY29kZUhpZ2ggPSAtMTsgJGkgPCBzdHJsZW4oJGlucHV0KSAmJiAkaW5wdXRbJGldICE9ICc+JzsgJGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAkYyA9ICRpbnB1dFskaV07CiAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGlzQ29tbWVudCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkYyA9PSAnXHInIHx8ICRjID09ICdcbicpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaXNDb21tZW50ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICBzd2l0Y2goJGMpIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICdcMCc6IGNhc2UgJ1x0JzogY2FzZSAnXHInOiBjYXNlICdcZic6IGNhc2UgJ1xuJzogY2FzZSAnICc6IGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgJyUnOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlzQ29tbWVudCA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvZGUgPSBoZXhkZWMoJGMpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGNvZGUgPT09IDAgJiYgJGMgIT0gJzAnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIiI7CiAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCRpc09kZCkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGNvZGVIaWdoID0gJGNvZGU7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvdXRwdXQgLj0gY2hyKCRjb2RlSGlnaCAqIDE2ICsgJGNvZGUpOwogICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaXNPZGQgPSAhJGlzT2RkOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAKICAgICAgICAgICAgICAgIGlmKCRpbnB1dFskaV0gIT0gJz4nKQogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gIiI7CiAgICAgICAKICAgICAgICAgICAgICAgIGlmKCRpc09kZCkKICAgICAgICAgICAgICAgICAgICAgICAgJG91dHB1dCAuPSBjaHIoJGNvZGVIaWdoICogMTYpOwogICAgICAgCiAgICAgICAgICAgICAgICByZXR1cm4gJG91dHB1dDsKICAgICAgICB9CiAgICAgICAKICAgICAgICBmdW5jdGlvbiBkZWNvZGVBc2NpaTg1KCRpbnB1dCkgewogICAgICAgICAgICAgICAgJG91dHB1dCA9ICIiOwogICAgICAgCiAgICAgICAgICAgICAgICAkaXNDb21tZW50ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAkb3JkcyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgZm9yKCRpID0gMCwgJHN0YXRlID0gMDsgJGkgPCBzdHJsZW4oJGlucHV0KSAmJiAkaW5wdXRbJGldICE9ICd+JzsgJGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAkYyA9ICRpbnB1dFskaV07CiAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgaWYoJGlzQ29tbWVudCkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkYyA9PSAnXHInIHx8ICRjID09ICdcbicpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaXNDb21tZW50ID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGMgPT0gJ1wwJyB8fCAkYyA9PSAnXHQnIHx8ICRjID09ICdccicgfHwgJGMgPT0gJ1xmJyB8fCAkYyA9PSAnXG4nIHx8ICRjID09ICcgJykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRjID09ICclJykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpc0NvbW1lbnQgPSB0cnVlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkYyA9PSAneicgJiYgJHN0YXRlID09PSAwKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG91dHB1dCAuPSBzdHJfcmVwZWF0KGNocigwKSwgNCk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRjIDwgJyEnIHx8ICRjID4gJ3UnKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAiIjsKICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAkY29kZSA9IG9yZCgkaW5wdXRbJGldKSAmIDB4ZmY7CiAgICAgICAgICAgICAgICAgICAgICAgICRvcmRzWyRzdGF0ZSsrXSA9ICRjb2RlIC0gb3JkKCchJyk7CiAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRzdGF0ZSA9PSA1KSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN0YXRlID0gMDsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKCRzdW0gPSAwLCAkaiA9IDA7ICRqIDwgNTsgJGorKykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRzdW0gPSAkc3VtICogODUgKyAkb3Jkc1skal07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICgkaiA9IDM7ICRqID49IDA7ICRqLS0pCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb3V0cHV0IC49IGNocigkc3VtID4+ICgkaiAqIDgpKTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgaWYgKCRzdGF0ZSA9PT0gMSkKICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICIiOwogICAgICAgICAgICAgICAgZWxzZWlmICgkc3RhdGUgPiAxKSB7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoJGkgPSAwLCAkc3VtID0gMDsgJGkgPCAkc3RhdGU7ICRpKyspCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHN1bSArPSAoJG9yZHNbJGldICsgKCRpID09ICRzdGF0ZSAtIDEpKSAqIHBvdyg4NSwgNCAtICRpKTsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgJHN0YXRlIC0gMTsgJGkrKykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb3VwdXQgLj0gY2hyKCRzdW0gPj4gKCgzIC0gJGkpICogOCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgCiAgICAgICAgICAgICAgICByZXR1cm4gJG91dHB1dDsKICAgICAgICB9CiAgICAgICAKICAgICAgICBmdW5jdGlvbiBkZWNvZGVGbGF0ZSgkaW5wdXQpIHsKICAgICAgICAgICAgICAgIHJldHVybiBnenVuY29tcHJlc3MoJGlucHV0KTsKICAgICAgICB9CiAgICAgICAKICAgICAgICBmdW5jdGlvbiBnZXRPYmplY3RPcHRpb25zKCRvYmplY3QpIHsKICAgICAgICAgICAgICAgICRvcHRpb25zID0gYXJyYXkoKTsKIAogICAgICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goIiM8PCguKik+PiNpc21VIiwgJG9iamVjdCwgJG9wdGlvbnMpKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRvcHRpb25zID0gZXhwbG9kZSgiLyIsICRvcHRpb25zWzFdKTsKICAgICAgICAgICAgICAgICAgICAgICAgQGFycmF5X3NoaWZ0KCRvcHRpb25zKTsKICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAkbyA9IGFycmF5KCk7CiAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoJGogPSAwOyAkaiA8IEBjb3VudCgkb3B0aW9ucyk7ICRqKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb3B0aW9uc1skal0gPSBwcmVnX3JlcGxhY2UoIiNccysjIiwgIiAiLCB0cmltKCRvcHRpb25zWyRqXSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdHJwb3MoJG9wdGlvbnNbJGpdLCAiICIpICE9PSBmYWxzZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhcnRzID0gZXhwbG9kZSgiICIsICRvcHRpb25zWyRqXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkb1skcGFydHNbMF1dID0gJHBhcnRzWzFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJG9bJG9wdGlvbnNbJGpdXSA9IHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgJG9wdGlvbnMgPSAkbzsKICAgICAgICAgICAgICAgICAgICAgICAgdW5zZXQoJG8pOwogICAgICAgICAgICAgICAgfQogICAgICAgCiAgICAgICAgICAgICAgICByZXR1cm4gJG9wdGlvbnM7CiAgICAgICAgfQogICAgICAgCiAgICAgICAgZnVuY3Rpb24gZ2V0RGVjb2RlZFN0cmVhbSgkc3RyZWFtLCAkb3B0aW9ucykgewogICAgICAgICAgICAgICAgJGRhdGEgPSAiIjsKICAgICAgICAgICAgICAgIGlmIChlbXB0eSgkb3B0aW9uc1siRmlsdGVyIl0pKQogICAgICAgICAgICAgICAgICAgICAgICAkZGF0YSA9ICRzdHJlYW07CiAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGxlbmd0aCA9ICFlbXB0eSgkb3B0aW9uc1siTGVuZ3RoIl0pID8gJG9wdGlvbnNbIkxlbmd0aCJdIDogc3RybGVuKCRzdHJlYW0pOwogICAgICAgICAgICAgICAgICAgICAgICAkX3N0cmVhbSA9IHN1YnN0cigkc3RyZWFtLCAwLCAkbGVuZ3RoKTsKICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoICgkb3B0aW9ucyBhcyAka2V5ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgka2V5ID09ICJBU0NJSUhleERlY29kZSIpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkX3N0cmVhbSA9ICR0aGlzLT5kZWNvZGVBc2NpaUhleCgkX3N0cmVhbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRrZXkgPT0gIkFTQ0lJODVEZWNvZGUiKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJF9zdHJlYW0gPSAkdGhpcy0+ZGVjb2RlQXNjaWk4NSgkX3N0cmVhbSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCRrZXkgPT0gIkZsYXRlRGVjb2RlIikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRfc3RyZWFtID0gJHRoaXMtPmRlY29kZUZsYXRlKCRfc3RyZWFtKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGtleSA9PSAiQ3J5cHQiKSB7IC8vIFRPIERPCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICRkYXRhID0gJF9zdHJlYW07CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICByZXR1cm4gJGRhdGE7CiAgICAgICAgfQogICAgICAgIGZ1bmN0aW9uIGdldERpcnR5VGV4dHMoJiR0ZXh0cywgJHRleHRDb250YWluZXJzKSB7CiAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgZm9yICgkaiA9IDA7ICRqIDwgY291bnQoJHRleHRDb250YWluZXJzKTsgJGorKykgewogICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJlZ19tYXRjaF9hbGwoIiNcWyguKilcXVxzKlRKW1xufFxyXSNpc21VIiwgJHRleHRDb250YWluZXJzWyRqXSwgJHBhcnRzKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGV4dHMgPSBhcnJheV9tZXJnZSgkdGV4dHMsIEAkcGFydHNbMV0pOwogICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYocHJlZ19tYXRjaF9hbGwoIiNUW2R8d3xtfGZdXHMqKFwoLipcKSlccypUaltcbnxccl0jaXNtVSIsICR0ZXh0Q29udGFpbmVyc1skal0sICRwYXJ0cykpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRleHRzID0gYXJyYXlfbWVyZ2UoJHRleHRzLCBAJHBhcnRzWzFdKTsKICAgICAgICAgICAgICAgICAgICAgICAgZWxzZWlmKHByZWdfbWF0Y2hfYWxsKCIjVFtkfHd8bXxmXVxzKihcWy4qXF0pXHMqVGpbXG58XHJdI2lzbVUiLCAkdGV4dENvbnRhaW5lcnNbJGpdLCAkcGFydHMpKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0ZXh0cyA9IGFycmF5X21lcmdlKCR0ZXh0cywgQCRwYXJ0c1sxXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZ1bmN0aW9uIGdldENoYXJUcmFuc2Zvcm1hdGlvbnMoJiR0cmFuc2Zvcm1hdGlvbnMsICRzdHJlYW0pIHsKICAgICAgICAgICAgICAgIHByZWdfbWF0Y2hfYWxsKCIjKFswLTldKylccytiZWdpbmJmY2hhciguKillbmRiZmNoYXIjaXNtVSIsICRzdHJlYW0sICRjaGFycywgUFJFR19TRVRfT1JERVIpOwogICAgICAgICAgICAgICAgcHJlZ19tYXRjaF9hbGwoIiMoWzAtOV0rKVxzK2JlZ2luYmZyYW5nZSguKillbmRiZnJhbmdlI2lzbVUiLCAkc3RyZWFtLCAkcmFuZ2VzLCBQUkVHX1NFVF9PUkRFUik7CiAgICAgICAKICAgICAgICAgICAgICAgIGZvciAoJGogPSAwOyAkaiA8IGNvdW50KCRjaGFycyk7ICRqKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgJGNvdW50ID0gJGNoYXJzWyRqXVsxXTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnQgPSBleHBsb2RlKCJcbiIsIHRyaW0oJGNoYXJzWyRqXVsyXSkpOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKCRrID0gMDsgJGsgPCAkY291bnQgJiYgJGsgPCBjb3VudCgkY3VycmVudCk7ICRrKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJlZ19tYXRjaCgiIzwoWzAtOWEtZl17Miw0fSk+XHMrPChbMC05YS1mXXs0LDUxMn0pPiNpcyIsIHRyaW0oJGN1cnJlbnRbJGtdKSwgJG1hcCkpCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHJhbnNmb3JtYXRpb25zW3N0cl9wYWQoJG1hcFsxXSwgNCwgIjAiKV0gPSAkbWFwWzJdOwogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBmb3IgKCRqID0gMDsgJGogPCBjb3VudCgkcmFuZ2VzKTsgJGorKykgewogICAgICAgICAgICAgICAgICAgICAgICAkY291bnQgPSAkcmFuZ2VzWyRqXVsxXTsKICAgICAgICAgICAgICAgICAgICAgICAgJGN1cnJlbnQgPSBleHBsb2RlKCJcbiIsIHRyaW0oJHJhbmdlc1skal1bMl0pKTsKICAgICAgICAgICAgICAgICAgICAgICAgZm9yICgkayA9IDA7ICRrIDwgJGNvdW50ICYmICRrIDwgY291bnQoJGN1cnJlbnQpOyAkaysrKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByZWdfbWF0Y2goIiM8KFswLTlhLWZdezR9KT5ccys8KFswLTlhLWZdezR9KT5ccys8KFswLTlhLWZdezR9KT4jaXMiLCB0cmltKCRjdXJyZW50WyRrXSksICRtYXApKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZnJvbSA9IGhleGRlYygkbWFwWzFdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0byA9IGhleGRlYygkbWFwWzJdKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRfZnJvbSA9IGhleGRlYygkbWFwWzNdKTsKICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yICgkbSA9ICRmcm9tLCAkbiA9IDA7ICRtIDw9ICR0bzsgJG0rKywgJG4rKykKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRyYW5zZm9ybWF0aW9uc1tzcHJpbnRmKCIlMDRYIiwgJG0pXSA9IHNwcmludGYoIiUwNFgiLCAkX2Zyb20gKyAkbik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSBlbHNlaWYgKHByZWdfbWF0Y2goIiM8KFswLTlhLWZdezR9KT5ccys8KFswLTlhLWZdezR9KT5ccytcWyguKilcXSNpc21VIiwgdHJpbSgkY3VycmVudFska10pLCAkbWFwKSkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZyb20gPSBoZXhkZWMoJG1hcFsxXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdG8gPSBoZXhkZWMoJG1hcFsyXSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFydHMgPSBwcmVnX3NwbGl0KCIjXHMrIyIsIHRyaW0oJG1hcFszXSkpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZvciAoJG0gPSAkZnJvbSwgJG4gPSAwOyAkbSA8PSAkdG8gJiYgJG4gPCBjb3VudCgkcGFydHMpOyAkbSsrLCAkbisrKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdHJhbnNmb3JtYXRpb25zW3NwcmludGYoIiUwNFgiLCAkbSldID0gc3ByaW50ZigiJTA0WCIsIGhleGRlYygkcGFydHNbJG5dKSk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGZ1bmN0aW9uIGdldFRleHRVc2luZ1RyYW5zZm9ybWF0aW9ucygkdGV4dHMsICR0cmFuc2Zvcm1hdGlvbnMpIHsKICAgICAgICAgICAgICAgICRkb2N1bWVudCA9ICIiOwogICAgICAgICAgICAgICAgZm9yICgkaSA9IDA7ICRpIDwgY291bnQoJHRleHRzKTsgJGkrKykgewogICAgICAgICAgICAgICAgICAgICAgICAkaXNIZXggPSBmYWxzZTsKICAgICAgICAgICAgICAgICAgICAgICAgJGlzUGxhaW4gPSBmYWxzZTsKICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAkaGV4ID0gIiI7CiAgICAgICAgICAgICAgICAgICAgICAgICRwbGFpbiA9ICIiOwogICAgICAgICAgICAgICAgICAgICAgICBmb3IgKCRqID0gMDsgJGogPCBzdHJsZW4oJHRleHRzWyRpXSk7ICRqKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYyA9ICR0ZXh0c1skaV1bJGpdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCgkYykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiPCI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRoZXggPSAiIjsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGlzSGV4ID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiPiI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRoZXhzID0gc3RyX3NwbGl0KCRoZXgsICR0aGlzLT5tdWx0aWJ5dGUpOyAvLyAyIG9yIDQgKFVURjggb3IgSVNPKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgKCRrID0gMDsgJGsgPCBjb3VudCgkaGV4cyk7ICRrKyspIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY2hleCA9IHN0cl9wYWQoJGhleHNbJGtdLCA0LCAiMCIpOyAvLyBBZGQgdGFpbGluZyB6ZXJvCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGlzc2V0KCR0cmFuc2Zvcm1hdGlvbnNbJGNoZXhdKSkKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjaGV4ID0gJHRyYW5zZm9ybWF0aW9uc1skY2hleF07CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGRvY3VtZW50IC49IGh0bWxfZW50aXR5X2RlY29kZSgiJiN4Ii4kY2hleC4iOyIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpc0hleCA9IGZhbHNlOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYXNlICIoIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBsYWluID0gIiI7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpc1BsYWluID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FzZSAiKSI6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkb2N1bWVudCAuPSAkcGxhaW47CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpc1BsYWluID0gZmFsc2U7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhc2UgIlxcIjoKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGMyID0gJHRleHRzWyRpXVskaiArIDFdOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5fYXJyYXkoJGMyLCBhcnJheSgiXFwiLCAiKCIsICIpIikpKSAkcGxhaW4gLj0gJGMyOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKCRjMiA9PSAibiIpICRwbGFpbiAuPSAnXG4nOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKCRjMiA9PSAiciIpICRwbGFpbiAuPSAnXHInOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKCRjMiA9PSAidCIpICRwbGFpbiAuPSAnXHQnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKCRjMiA9PSAiYiIpICRwbGFpbiAuPSAnXGInOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKCRjMiA9PSAiZiIpICRwbGFpbiAuPSAnXGYnOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlaWYgKCRjMiA+PSAnMCcgJiYgJGMyIDw9ICc5JykgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRvY3QgPSBwcmVnX3JlcGxhY2UoIiNbXjAtOV0jIiwgIiIsIHN1YnN0cigkdGV4dHNbJGldLCAkaiArIDEsIDMpKTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkaiArPSBzdHJsZW4oJG9jdCkgLSAxOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwbGFpbiAuPSBodG1sX2VudGl0eV9kZWNvZGUoIiYjIi5vY3RkZWMoJG9jdCkuIjsiLCAkdGhpcy0+Y29udmVydHF1b3Rlcyk7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGorKzsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoJGlzSGV4KQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRoZXggLj0gJGM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICgkaXNQbGFpbikKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGxhaW4gLj0gJGM7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgJGRvY3VtZW50IC49ICJcbiI7CiAgICAgICAgICAgICAgICB9CiAgICAgICAKICAgICAgICAgICAgICAgIHJldHVybiAkZG9jdW1lbnQ7CiAgICAgICAgfQp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7CiRmbGRzID0gIgogICAgIGRvY3VtZW50c2VhcmNoX2lkIEkgS0VZLAoJIGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkIEksCgkgbmFtZSBDKDI1NSksCgkgY29udGVudCBYLAoJIGxvY2F0aW9uIEMoMjU1KSwKCSBzdGF0dXMgQygyNTUpLAoJIGF1dGhvciBDKDI1NSkKIjsKCiR0YWJvcHRhcnJheSA9IGFycmF5KCAnbXlzcWwnID0+ICdUWVBFPU15SVNBTScgKTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb2N1bWVudHNlYXJjaCIsCgkJCQkgICAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2RvY3VtZW50c2VhcmNoX3NlcSIpOwoKJGZsZHMgPSAiCglkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9pZCBJIEtFWSwKCWRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X25hbWUgQygyNTUpLAoJcGFyZW50X2lkIEksCgloaWVyYXJjaHkgQygyNTUpLAoJbG9uZ19uYW1lIFgsCgljcmVhdGVfZGF0ZSBULAoJbW9kaWZpZWRfZGF0ZSBUCiI7CgokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcmllcyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcmllc19zZXEiKTsKCiRmbGRzID0gIgoJZG9jdW1lbnRzZWFyY2hfc3RhdHVzX2lkIEkgS0VZLAoJZG9jdW1lbnRzZWFyY2hfc3RhdHVzX25hbWUgQygyNTUpCiI7CgokdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG9jdW1lbnRzZWFyY2hfc3RhdHVzIiwgCgkJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb2N1bWVudHNlYXJjaF9zdGF0dXNfc2VxIik7CgovLyBjcmVhdGUgYSBwZXJtaXNzaW9uCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdVc2UgRG9jdW1lbnQgU2VhcmNoJywgJ1VzZSBEb2N1bWVudCBTZWFyY2gnKTsKCi8vIGNyZWF0ZSBhIHByZWZlcmVuY2UKJHRoaXMtPlNldFByZWZlcmVuY2UoImFsbG93X2FkZCIsIHRydWUpOwoKIyBPdGhlciBwcmVmZXJlbmNlcwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dlZF91cGxvYWRfdHlwZXMnLCdwZGYsZG9jLGRvY3gnKTsKCiMgU2V0dXAgR2VuZXJhbCBjYXRlZ29yeQokY2F0aWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2RvY3VtZW50c2VhcmNoX2NhdGVnb3JpZXNfc2VxIik7CiRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX2RvY3VtZW50c2VhcmNoX2NhdGVnb3JpZXMgKGRvY3VtZW50c2VhcmNoX2NhdGVnb3J5X2lkLCBkb2N1bWVudHNlYXJjaF9jYXRlZ29yeV9uYW1lLCBwYXJlbnRfaWQsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LCcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicsJy4kZGItPkRCVGltZVN0YW1wKHRpbWUoKSkuJyknOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQsICdHZW5lcmFsJywgLTEpKTsKCiMgU2V0dXAgQmxhbmsgc3RhdHVzCiRzdGF0dXNpZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG9jdW1lbnRzZWFyY2hfc3RhdHVzX3NlcSIpOwokcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb2N1bWVudHNlYXJjaF9zdGF0dXMgKGRvY3VtZW50c2VhcmNoX3N0YXR1c19pZCwgZG9jdW1lbnRzZWFyY2hfc3RhdHVzX25hbWUpIFZBTFVFUyAoPyw/KSc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRzdGF0dXNpZCwgJycpKTsKCiMgU2V0dXAgQ29tcGxldGVkIHN0YXR1cwokc3RhdHVzaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2RvY3VtZW50c2VhcmNoX3N0YXR1c19zZXEiKTsKJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZG9jdW1lbnRzZWFyY2hfc3RhdHVzIChkb2N1bWVudHNlYXJjaF9zdGF0dXNfaWQsIGRvY3VtZW50c2VhcmNoX3N0YXR1c19uYW1lKSBWQUxVRVMgKD8sPyknOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkc3RhdHVzaWQsICdDb21wbGV0ZWQnKSk7CgojIFNldHVwIE9uZ29pbmcgc3RhdHVzCiRzdGF0dXNpZCA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG9jdW1lbnRzZWFyY2hfc3RhdHVzX3NlcSIpOwokcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9kb2N1bWVudHNlYXJjaF9zdGF0dXMgKGRvY3VtZW50c2VhcmNoX3N0YXR1c19pZCwgZG9jdW1lbnRzZWFyY2hfc3RhdHVzX25hbWUpIFZBTFVFUyAoPyw/KSc7CiRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRzdGF0dXNpZCwgJ09uZ29pbmcnKSk7CgovLyByZWdpc3RlciBhbiBldmVudCB0aGF0IHRoZSBEb2N1bWVudCBTZWFyY2ggd2lsbCBpc3N1ZS4gT3RoZXIgbW9kdWxlcwovLyBvciB1c2VyIHRhZ3Mgd2lsbCBiZSBhYmxlIHRvIHN1YnNjcmliZSB0byB0aGlzIGV2ZW50LCBhbmQgdHJpZ2dlcgovLyBvdGhlciBhY3Rpb25zIHdoZW4gaXQgZ2V0cyBjYWxsZWQuCiR0aGlzLT5DcmVhdGVFdmVudCggJ09uRG9jdW1lbnRTZWFyY2hQcmVmZXJlbmNlQ2hhbmdlJyApOwoKLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nCiR0aGlzLT5BdWRpdCggMCwgCgkgICAgICAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJICAgICAgJHRoaXMtPkxhbmcoJ2luc3RhbGxlZCcsICR0aGlzLT5HZXRWZXJzaW9uKCkpICk7CgoJICAgICAgCj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSggJGRiICk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb2N1bWVudHNlYXJjaCIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG9jdW1lbnRzZWFyY2hfY2F0ZWdvcmllcyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfZG9jdW1lbnRzZWFyY2hfc3RhdHVzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokbXlkaXJlY3RvcnkgPSAnLi4vdXBsb2Fkcy9kb2N1bWVudHNlYXJjaCc7CgpyZWN1cnNpdmVfcmVtb3ZlX2RpcmVjdG9yeSgkbXlkaXJlY3RvcnkpOwoKCmZ1bmN0aW9uIHJlY3Vyc2l2ZV9yZW1vdmVfZGlyZWN0b3J5KCRkaXJlY3RvcnksICRlbXB0eT1GQUxTRSkKewogICAgLy8gaWYgdGhlIHBhdGggaGFzIGEgc2xhc2ggYXQgdGhlIGVuZCB3ZSByZW1vdmUgaXQgaGVyZQogICAgaWYoc3Vic3RyKCRkaXJlY3RvcnksLTEpID09ICcvJykKICAgIHsKICAgICAgICAkZGlyZWN0b3J5ID0gc3Vic3RyKCRkaXJlY3RvcnksMCwtMSk7CiAgICB9CgogICAgLy8gaWYgdGhlIHBhdGggaXMgbm90IHZhbGlkIG9yIGlzIG5vdCBhIGRpcmVjdG9yeSAuLi4KICAgIGlmKCFmaWxlX2V4aXN0cygkZGlyZWN0b3J5KSB8fCAhaXNfZGlyKCRkaXJlY3RvcnkpKQogICAgewogICAgICAgIC8vIC4uLiB3ZSByZXR1cm4gZmFsc2UgYW5kIGV4aXQgdGhlIGZ1bmN0aW9uCiAgICAgICAgcmV0dXJuIEZBTFNFOwoKICAgIC8vIC4uLiBpZiB0aGUgcGF0aCBpcyBub3QgcmVhZGFibGUKICAgIH1lbHNlaWYoIWlzX3JlYWRhYmxlKCRkaXJlY3RvcnkpKQogICAgewogICAgICAgIC8vIC4uLiB3ZSByZXR1cm4gZmFsc2UgYW5kIGV4aXQgdGhlIGZ1bmN0aW9uCiAgICAgICAgcmV0dXJuIEZBTFNFOwoKICAgIC8vIC4uLiBlbHNlIGlmIHRoZSBwYXRoIGlzIHJlYWRhYmxlCiAgICB9ZWxzZXsKCiAgICAgICAgLy8gd2Ugb3BlbiB0aGUgZGlyZWN0b3J5CiAgICAgICAgJGhhbmRsZSA9IG9wZW5kaXIoJGRpcmVjdG9yeSk7CgogICAgICAgIC8vIGFuZCBzY2FuIHRocm91Z2ggdGhlIGl0ZW1zIGluc2lkZQogICAgICAgIHdoaWxlIChGQUxTRSAhPT0gKCRpdGVtID0gcmVhZGRpcigkaGFuZGxlKSkpCiAgICAgICAgewogICAgICAgICAgICAvLyBpZiB0aGUgZmlsZXBvaW50ZXIgaXMgbm90IHRoZSBjdXJyZW50IGRpcmVjdG9yeQogICAgICAgICAgICAvLyBvciB0aGUgcGFyZW50IGRpcmVjdG9yeQogICAgICAgICAgICBpZigkaXRlbSAhPSAnLicgJiYgJGl0ZW0gIT0gJy4uJykKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLy8gd2UgYnVpbGQgdGhlIG5ldyBwYXRoIHRvIGRlbGV0ZQogICAgICAgICAgICAgICAgJHBhdGggPSAkZGlyZWN0b3J5LicvJy4kaXRlbTsKCiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbmV3IHBhdGggaXMgYSBkaXJlY3RvcnkKICAgICAgICAgICAgICAgIGlmKGlzX2RpcigkcGF0aCkpIAogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIC8vIHdlIGNhbGwgdGhpcyBmdW5jdGlvbiB3aXRoIHRoZSBuZXcgcGF0aAogICAgICAgICAgICAgICAgICAgIHJlY3Vyc2l2ZV9yZW1vdmVfZGlyZWN0b3J5KCRwYXRoKTsKCiAgICAgICAgICAgICAgICAvLyBpZiB0aGUgbmV3IHBhdGggaXMgYSBmaWxlCiAgICAgICAgICAgICAgICB9ZWxzZXsKICAgICAgICAgICAgICAgICAgICAvLyB3ZSByZW1vdmUgdGhlIGZpbGUKICAgICAgICAgICAgICAgICAgICB1bmxpbmsoJHBhdGgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIGNsb3NlIHRoZSBkaXJlY3RvcnkKICAgICAgICBjbG9zZWRpcigkaGFuZGxlKTsKCiAgICAgICAgLy8gaWYgdGhlIG9wdGlvbiB0byBlbXB0eSBpcyBub3Qgc2V0IHRvIHRydWUKICAgICAgICBpZigkZW1wdHkgPT0gRkFMU0UpCiAgICAgICAgewogICAgICAgICAgICAvLyB0cnkgdG8gZGVsZXRlIHRoZSBub3cgZW1wdHkgZGlyZWN0b3J5CiAgICAgICAgICAgIGlmKCFybWRpcigkZGlyZWN0b3J5KSkKICAgICAgICAgICAgewogICAgICAgICAgICAgICAgLy8gcmV0dXJuIGZhbHNlIGlmIG5vdCBwb3NzaWJsZQogICAgICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIC8vIHJldHVybiBzdWNjZXNzCiAgICAgICAgcmV0dXJuIFRSVUU7CiAgICB9Cn0KCi8vIHJlbW92ZSB0aGUgc2VxdWVuY2VzCiRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb2N1bWVudHNlYXJjaF9zZXEiICk7CiRkYi0+RHJvcFNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9kb2N1bWVudHNlYXJjaF9jYXRlZ29yaWVzX3NlcSIgKTsKJGRiLT5Ecm9wU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2RvY3VtZW50c2VhcmNoX3N0YXR1c19zZXEiICk7CgovLyByZW1vdmUgdGhlIHBlcm1pc3Npb25zCiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdVc2UgRG9jdW1lbnQgU2VhcmNoJyk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdTZXQgRG9jdW1lbnQgU2VhcmNoIFByZWZzJyk7CgovLyByZW1vdmUgdGhlIHByZWZlcmVuY2UKJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoImFsbG93X2FkZCIpOwoKLy8gcmVtb3ZlIHRoZSBldmVudAokdGhpcy0+UmVtb3ZlRXZlbnQoICdPbkRvY3VtZW50U2VhcmNoUHJlZmVyZW5jZUNoYW5nZScgKTsKCi8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwokdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgJHRoaXMtPkxhbmcoJ3VuaW5zdGFsbGVkJykpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IERvY3VtZW50U2VhcmNoIChjKSAyMDEzIGJ5IE9saXZlciBTZWRkb24gCiMgICAgICAgICAob2xpdmVyQHRocmVlZm9sZC5jby51aykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gcHJvdmlkZSBQREYgYW5kIFdvcmQgZG9jdW1lbnQKIyAgY29udGVudCBzZWFyY2hhYmlsaXR5LgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgokY3VycmVudF92ZXJzaW9uID0gJG9sZHZlcnNpb247CiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCnN3aXRjaCgkY3VycmVudF92ZXJzaW9uKQp7CiAgLy8gd2UgYXJlIG5vdyAxLjAgYW5kIHdhbnQgdG8gdXBncmFkZSB0byBsYXRlc3QKIGNhc2UgIjEuMCI6CiBjYXNlICIxLjEiOgp9CgovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCAwLCAKCSAgICAgICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgCgkgICAgICAkdGhpcy0+TGFuZygndXBncmFkZWQnLCAkdGhpcy0+R2V0VmVyc2lvbigpKSk7CgovL25vdGU6IG1vZHVsZSBhcGkgaGFuZGxlcyBzZW5kaW5nIGdlbmVyaWMgZXZlbnQgb2YgbW9kdWxlIHVwZ3JhZGVkIGhlcmUKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/add_edit.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRlcnJvcil9CiAgPGgzPjxmb250IGNvbG9yPSJyZWQiPnskZXJyb3J9PC9mb250PjwvaDM+CntlbHNlfQogIHtpZiBpc3NldCgkbWVzc2FnZSl9CiAgICA8aDM+eyRtZXNzYWdlfTwvaDM+CiAgey9pZn0Key9pZn0KeyRzdGFydF9mb3JtfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRjYXRlZ29yeXRleHR9OjwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRjYXRlZ29yeX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRzdGF0dXN0ZXh0fTo8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0c3RhdHVzfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9uYW1lfTwvcD4KICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9uYW1lfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9hdXRob3J9PC9wPgogICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2F1dGhvcn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICB7aWYgJGxvY2F0aW9uICE9ICcnfQogICAgICA8cD4mbmJzcDs8L3A+CiAgICAgIDxwPjxzcGFuIGNsYXNzPSJwYWdldGV4dCI+Q3VycmVudCBmaWxlOjwvc3Bhbj4geyRsb2NhdGlvbn08L3A+CiAgIHsvaWZ9CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICB7aWYgJGxvY2F0aW9uICE9ICcnfTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9sb2NhdGlvbmZpbGVlZGl0fTwvcD57ZWxzZX08cCBjbGFzcz0icGFnZXRleHQiPnskdGl0bGVfbG9jYXRpb25maWxlfTwvcD57L2lmfQogICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2xvY2F0aW9uZmlsZX08L3A+CiAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfbG9jYXRpb259PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3NwYW4+CiAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskY2FuY2VsfXskc3VibWl0fTwvcD4KPC9kaXY+CnskZW5kX2Zvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRlcnJvcil9Cgk8aDM+PGZvbnQgY29sb3I9InJlZCI+eyRlcnJvcn08L2ZvbnQ+PC9oMz4Ke2Vsc2V9Cgl7aWYgaXNzZXQoJG1lc3NhZ2UpfQogICAgCTxoMz57JG1lc3NhZ2V9PC9oMz4KCXsvaWZ9CnsvaWZ9Cgp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgovLzwhW0NEQVRBWwpmdW5jdGlvbiBzZWxlY3RBbGwoKSB7CgljaGVja2JveGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImlucHV0Iik7CiAgCWZvciAoaT0wOyBpPGNoZWNrYm94ZXMubGVuZ3RoIDsgaSsrKSB7CgkJaWYgKGNoZWNrYm94ZXNbaV0udHlwZSA9PSAiY2hlY2tib3giKSBjaGVja2JveGVzW2ldLmNoZWNrZWQ9IWNoZWNrYm94ZXNbaV0uY2hlY2tlZDsKCX0KfQovL11dPgo8L3NjcmlwdD4Key9saXRlcmFsfQoKeyR0YWJzX3N0YXJ0fQoJeyRzdGFydF9nZW5lcmFsX3RhYn0KCQl7JHdlbGNvbWVfdGV4dH0KCQl7aWYgaXNzZXQoJG1vZHVsZV9tZXNzYWdlKX08aDI+eyRtb2R1bGVfbWVzc2FnZXxlc2NhcGV9PC9oMj57L2lmfQ0KCQkJPGgzPnskdGl0bGVfbnVtX3JlY29yZHN9PC9oMz4NCiAgICAgCQk8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgoJCQkJPHRoZWFkPgogICAgICAgCQkJCTx0cj4KICAgICAgICAgCQkJCTx0aD57JGlkdGV4dH08L3RoPgogICAgICAgICAJCQkJPHRoPnskbmFtZXRleHR9PC90aD4KICAgICAgICAgCQkJCTx0aD57JGZpbGV0ZXh0fTwvdGg+CgkJCQkJCTx0aD57JGNhdGVnb3J5dGV4dH08L3RoPgogICAgICAgICAJCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCQkJCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgIAkJCQk8L3RyPgoJCQkJPC90aGVhZD4KCQkJPHRib2R5Pg0KCQkJe2ZvcmVhY2ggZnJvbT0kcmVjb3JkcyBpdGVtPWVudHJ5fQogICAgICAgCQkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgogICAgICAgICAJCQk8dGQ+eyRlbnRyeS0+aWR9PC90ZD4KICAgICAgICAgCQkJPHRkPnskZW50cnktPm5hbWV9PC90ZD4KICAgICAgICAgCQkJPHRkPnskZW50cnktPmxvY2F0aW9ufTwvdGQ+CgkJCQkJPHRkPnskZW50cnktPmNhdGVnb3J5fTwvdGQ+CgkJCQkJPHRkPnskZW50cnktPmVkaXRsaW5rfTwvdGQ+CgkJCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KICAgICAgIAkJCTwvdHI+DQoJCQl7L2ZvcmVhY2h9CgkJCTwvdGJvZHk+CiAgICAgCTwvdGFibGU+DQoNCgkJe2lmICRhZGQgIT0gJyd9PGRpdj57JGFkZH08L2Rpdj57L2lmfQoJCXskdGFiX2VuZH0KCQl7JHN0YXJ0X3ByZWZzX3RhYn0KICAgICAgCXtpZiAkc3RhcnRfcHJlZnNfdGFiICE9ICcnfQogICAgICAJCXskc3RhcnRfZm9ybX0KICAgICAgCQkJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgCQkJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0aXRsZV9hbGxvd19hZGR9OjwvcD4KICAgICAgCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxsb3dfYWRkfTwvcD4KICAgICAgCQkJPC9kaXY+CiAgICAgIAkJCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIAkJCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgICAgCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KICAgICAgCQkJPC9kaXY+CiAgICAgIAkJPC9mb3JtPgogICAgICAJey9pZn0KCXskdGFiX2VuZH0KeyR0YWJzX2VuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/categorylist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgoJPHRoZWFkPgoJCTx0cj4KCQkJPHRoPnskY2F0ZWdvcnl0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgoJCQk8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KCQk8L3RyPgp7L2ZvcmVhY2h9Cgk8L3Rib2R5Pgo8L3RhYmxlPgp7L2lmfQoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvcD48L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/templates/documentsearch_list.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRtb2R1bGVfbWVzc2FnZSl9PGgyPnskbW9kdWxlX21lc3NhZ2V8ZXNjYXBlfTwvaDI+ey9pZn0KPHAgY2xhc3M9InRpdGxlIj57JGVudHJ5LT5jYXRlZ29yeX08L3A+DQp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJe2lmICRjYXRlZ29yeV9uYW1lICE9ICcnfQoJCXtpZiAkZW50cnktPmNhdGVnb3J5ID09ICRjYXRlZ29yeV9uYW1lfQ0KCQkJPGRpdj57JGVudHJ5LT50aXRsZX0gLSA8YSBocmVmPSJ1cGxvYWRzL2RvY3VtZW50c2VhcmNoL2lkeyRlbnRyeS0+aWR9L3skZW50cnktPmxvY2F0aW9ufSIgdGl0bGU9IkxpbmsgdG8gdGhlIHskZW50cnktPm5hbWV9IGRvY3VtZW50Ij5Eb3dubG9hZCAmcmFxdW87PC9hPjwvZGl2PgoJCXsvaWZ9Cgl7ZWxzZX0KCQk8ZGl2PnskZW50cnktPnRpdGxlfSAtIDxhIGhyZWY9InVwbG9hZHMvZG9jdW1lbnRzZWFyY2gvaWR7JGVudHJ5LT5pZH0veyRlbnRyeS0+bG9jYXRpb259IiB0aXRsZT0iTGluayB0byB0aGUgeyRlbnRyeS0+bmFtZX0gZG9jdW1lbnQiPkRvd25sb2FkICZyYXF1bzs8L2E+PC9kaXY+Cgl7L2lmfQ0Key9mb3JlYWNofQ==]]></data>
	</file>
	<file>
	  <filename>/templates/editcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+KnskbmFtZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0bmFtZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgoJPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9CntpZiAkcmV0dXJubGluayE9Jyd9PHA+eyRyZXR1cm5saW5rfTwvcD57L2lmfQ==]]></data>
	</file>
</module>
