<?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>Uploads</name>
	<version>1.26.2</version>
    <mincmsversion>2.1.5</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPkl0IGlzIGEgbW9kdWxlIGZvciBhbGxvd2luZyBwZW9wbGUgdG8gdXBsb2FkIGFuZCBkb3dubG9hZCBmaWxlcyB0byBhbmQgZnJvbSB5b3VyIHNpdGUuICBJdCBrZWVwcyB0cmFjayBvZiB3aG8gdXBsb2FkZWQgYSBmaWxlLCBhbmQgd2hvIGhhcyBkb3dubG9hZGVkIGl0LiAgQXMgd2VsbCwgeW91IGNhbiBzb3J0IGZpbGVzIGludG8gY2F0ZWdvcmllcywgYW5kIG1hbmFnZSB0aGUgZmlsZXMgdGhhdCB3ZXJlIHVwbG9hZGVkIGxpa2UgZXZlcnkgYWRtaW5pc3RyYXRvciB3b3VsZCBkbzwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlRvIHVzZSB0aGlzIG1vZHVsZSwgdG8gYWxsb3cgdXNlcnMgdG8gdXBsb2FkIGZpbGVzIHRvIHlvdXIgc2l0ZSwgeW91IHNob3VsZCBpbnN0YWxsIHRoZSBtb2R1bGUsIGFuZCB0aGVuIGNyZWF0ZSBvbmUgb3IgbW9yZSBjYXRlZ29yaWVzIChhLmsuYSkgZGlyZWN0b3JpZXMgZm9yIHRoZSB1cGxvYWRlZCBmaWxlcyB0byBnbyBpbnRvLiBUaGVuIGFkZCBhIHRhZyBpbnRvIGEgcGFnZSBvciB0ZW1wbGF0ZSBzb21ld2hlcmUgbGlrZSB7Y21zX21vZHVsZSBtb2R1bGU9IlVwbG9hZHMiIGNhdGVnb3J5PSJzb21lY2F0ZWdvcnkiIGFjdGlvbj0ic29tZXRoaW5nIn0uICBXaGVyZSB0aGUgYWN0aW9uIG1hdGNoZXMgb25lIG9mIHRoZSBhY3Rpb25zIGxpc3RlZCBiZWxvdy4gIFRoZSBvdXRwdXQgd2lsbCBkaWZmZXIgZGVwZW5kaW5nIHVwb24gd2hpY2ggYWN0aW9uIHlvdSBzZWxlY3QuPC9wPgo8cD5UaGlzIG1vZHVsZSBjYW4gdXNlIHRoZSBGcm9udGVuZFVzZXJzIG1vZHVsZSAob3B0aW9uYWwpIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCBhbnkgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VycyB0byBwYXJ0bHkgZmlsbCBpbiB0aGUgZm9ybSB3aGVuIHVwbG9hZGluZyBmaWxlczs8L3A+CjxoMz5QZXJtaXNzaW9uczwvaDM+Cjx1bD4KPGxpPjxlbT5NYW5hZ2UgVXBsb2FkczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIHRvIG1hbmFnZSBjYXRlZ29yaWVzLCBhbmQgdGhlIGZpbGVzIHdpdGhpbiB0aGVtLjwvbGk+CjxsaT48ZW0+TW9kaWZ5IFRlbXBsYXRlczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIGVkaXQgYW55IG9mIHRoZSB0ZW1wbGF0ZXMuPC9saT4KPGxpPjxlbT5Nb2RpZnkgU2l0ZSBQcmVmZXJlbmNlczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIGFueSBvZiB0aGUgZmlsZSBzZXR0aW5ncy48L2xpPgo8L3VsPgo8aDM+Q2F0ZWdvcnkgQnJvd3Npbmc8L2gzPgo8cD5QbGFjaW5nIGEgdGFnIGxpa2Uge2Ntc19tb2R1bGUgbW9kdWxlPSJVcGxvYWRzIiBhY3Rpb249ImNhdGVnb3J5c3VtbWFyeSIgdGVtcGxhdGU9InN1bW1hcnl0ZW1wbGF0ZSIgc29ydG9yZGVyPSJuYW1lX2FzYyIgbGlzdGluZ3RlbXBsYXRlPSJsaXN0dGVtcGxhdGUiIGxpc3Rpbmdzb3J0b3JkZXI9Imxpc3Rzb3J0b3JkZXIifQphbGxvd3MgeW91IHRvIGRpc3BsYXkgYW4gaW50ZXJhY3RpdmUgY2F0ZWdvcnkgYnJvd3Nlci4gc29ydG9yZGVyIGNhbiBiZTogbmFtZV9hc2MsIG5hbWVfZGVzYywgc3VtbV9hc2MsIHN1bW1fZGVzYywgb3IgcmFuZG9tLgpsaXN0aW5ndGVtcGxhdGUgYW5kIGxpc3Rpbmdzb3J0b3JkZXIgYXJlIGlkZW50aWNhbCB0byB0aGUgdGVtcGxhdGUgYW5kIHNvcnRvcmRlciBwYXJhbWV0ZXJzIGZvcgp0aGUgInN1bW1hcnkiIGFjdGlvbi48L3A+CjxoMz5BdXRvbWF0aWMgU2Nhbm5pbmc8L2gzPgo8cD5UaGlzIG1vZHVsZSB3aWxsIGF1dG9tYXRpY2FsbHkgc2NhbiBmb3IgbmV3IGZpbGVzIGluIGEgZGlyZWN0b3J5IHdoZW4gYSBzdW1tYXJ5IHZpZXcgZm9yIGEgc3BlY2lmaWMgY2F0ZWdvcnkgaXMgdXNlZCBvbiBhIENNU01TIHBhZ2UuICBpLmU6IDxjb2RlPntVcGxvYWRzIGNhdGVnb3J5PWNhdGVnb3J5X25hbWV9PC9jb2RlPiB3aWxsIHBlcmZvcm0gYSBzY2FuLiAgYnV0IDxjb2RlPntVcGxvYWRzIGNhdGVnb3J5PWFsbH08L2NvZGU+IHdpbGwgbm90LjwvcD4KCjxoMz5Zb3UgU2VuZCBJdDwvaDM+CjxwPkl0IGlzIHBvc3NpYmxlIHRvIGVuYWJsZSAmcXVvdDt5b3VzZW5kaXQmcXVvdDsgbGlrZSBmdW5jdGlvbmFsaXR5IHRvIGFsbG93IGF1dG9tYXRpY2FsbHkgZW1haWxpbmcgc2VsZWN0ZWQgcGVvcGxlIHdpdGggYSBsaW5rIHRvIGEgbmV3bHkgdXBsb2FkZWQgZmlsZS4gIFRoaXMgaXMgYWNjb21wbGlzaGVkIGJ5IHVzaW5nIGEgdGFnIGxpa2U6IDxjb2RlPntVcGxvYWRzIGFjdGlvbj15b3VzZW5kaXQgY2F0ZWdvcnk9Y2F0ZWdvcnluYW1lfTwvY29kZT4uICBUaGlzIHdpbGwgZGlzcGxheSBhIGZvcm0gYWxsb3dpbmcgdGhpcyBmdW5jdGlvbmFsaXR5LjwvcD4KPGgzPlRpbWUgTGltaXRlZCBBY2Nlc3M8L2gzPgo8cD5UaGlzIG1vZHVsZSBzdXBwb3J0cyB0aGUgbm90aW9uIG9mIHVuaXF1ZSBrZXlzIHRvIGFsbG93IHRpbWUgbGltaXRlZCBhY2Nlc3MgdG8gY2VydGFpbiBmaWxlcy4gIFRoZSBmdW5jdGlvbmFsaXR5IGFsbG93cyBzcGVjaWZ5aW5nIGEgdGltZSBsaW1pdCAoaW4gaG91cnMpIGZvciB3aGljaCB0aGUga2V5IGlzIHZhbGlkLCBhbmQgYSBtYXhpbXVtIG51bWJlciBvZiBkb3dubG9hZHMgb3IgZG93bmxvYWQgYXRlbXB0cy4gIEFuIGVtYWlsIGlzIHNlbnQgdG8gdGhlIGRlc2lyZWQgdXNlcnMgd2l0aCB0aGUgdW5pcXVlIFVSTC4gIEFmdGVyIHRoZSB0aW1lIGxpbWl0LCBvciB0aGUgbnVtYmVyIG9mIGRvd25sb2FkcyBoYXMgYmVlbiByZWFjaGVkLCB0aGUgVVJMIGlzIG5vIGxvbmdlciB2YWxpZC4gIFRoZXNlIHVuaXF1ZSB0aW1lIGxpbWl0ZWQga2V5cyBhcmUgYXV0b21hdGljYWxseSByZW1vdmVkIGZyb20gdGhlIGRhdGFiYXNlIGFmdGVyIGV4cGlyeS48L3A+CjxoMz5SZXN0cmljaW5nIEFjY2VzcyB3aXRoIEZFVTwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGNhcGFibGUgb2YgaW50ZWdyYXRpbmcgd2l0aCB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdG8gcmVzdHJpY3QgdGhlIHZpc2liaWxpdHkgb2YgY2F0ZWdvcmllcyAoZGlyZWN0b3JpZXMpIHRvIGNlcnRhaW4gYWxsb3dlZCBGRVUgZ3JvdXBzLiAgWW91ciB1c2VycyB3b3VsZCBoYXZlIHRvIGJlIGxvZ2dlZCBpbiB0byB5b3VyIHdlYnNpdGUgKHVzaW5nIEZFVSkgYW5kIGFsc28gYSBtZW1iZXIgb2Ygb25lIG9mIHRoZSBhbGxvd2VkIGdyb3VwcyB0byBvYnRhaW4gYWNjZXNzLiAgVGhpcyBpcyBhY2NvbXBsaXNoZWQgaW4gdGhlIGNhdGVnb3J5IGVkaXQgZm9ybS4gIFlvdSBjYW4gc2VsZWN0IGEgbGlzdCBvZiBGRVUgZ3JvdXBzIHdoaWNoIGFyZSBhbGxvd2VkIHRvIHZpZXcgZmlsZXMgaW4gdGhpcyBjYXRlZ29yeS48L3A+CjxwPlRoaXMgZnVuY3Rpb25hbGl0eSBhbHNvIGFwcGxpZXMgdG8gdGhlICZxdW90VGltZSBMaW1pdGVkIEFjY2VzcyZxdW90IGZ1bmN0aW9uYWxpdHkuICBBbGxvd2luZyB5b3UgdG8gc3BlY2lmeSB0aGF0IGNlcnRhaW4gcGVvcGxlLCB3aG8gYWxzbyBoYXZlIHRvIGJlIGxvZ2dlZCBpbiB0byB5b3VyIHdlYnNpdGUgY2FuIGhhdmUgYWNjZXNzIHRvIGNlcnRhaW4gZmlsZXMgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZS48L3A+CjxoMz5FbWFpbGluZzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGNhcGFibGUgb2Ygc2VuZGluZyBhbiBlbWFpbCB3aGVuZXZlciBhIGZpbGUgaXMgdXBsb2FkZWQsIHNlZSB0aGUgcHJlZmVyZW5jZXMgdGFiLiAgSG93ZXZlciwgdG8gZG8gdGhpcyB0aGUgPGI+Q01TTWFpbGVyPC9iPiBwYQpja2FnZSBtdXN0IGJlIGluc3RhbGxlZCBhbmQgY29uZmlndXJlZC4gIFRoaXMgaXMgYW4gPGVtPm9wdGlvbmFsPC9lbT4gc3RlcCwgYW5kIGlmIHRoZSBDTVNNYWlsZXIgbW9kdWxlIGlzIG5vdCBpbnN0YWxsZWQsIG5vdGhpbmcgd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIsIG9ubHkgYSBsb2cgbWVzc2FnZSB3aWxsIGJlIHBsYWNlZCBpbnRvIHRoZSBhZG1pbiBsb2c8L3A+CjxoMz5SZXBvcnRpbmc8L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIGZsZXhpYmxlIHJlcG9ydGluZyBtZWNoYW5pc20gZm9yIHZpZXdpbmcgc3RhdGlzdGNzIGFib3V0IGhvdyBhIGZpbGUgc2hhcmVkIHdpdGggdGhlIFVwbG9hZHMgbW9kdWxlIHdhcyBkb3dubG9hZGVkLiAgSXQgaW5jbHVkZXMgdGhlIGFiaWxpdHkgdG8gY3VzdG9taXplIHJlcG9ydCB0ZW1wbGF0ZXMsIG91dHB1dCBmaWVsZHMgYW5kIGZpbHRlcmluZy4gIEZpbHRlcmluZyBpcyBwZXJtaXR0ZWQgYnkgVXBsb2FkcyBjYXRlZ29yeSwgZmlsZW5hbWUsIGRvd25sb2FkIHVzZXIgbmFtZSwgb3IgdXNlcm5hbWUgcGF0dGVybiwgYW5kIGJ5IGRhdGUuICBIVE1MIHJlcG9ydHMgY2FuIGJlIGdlbmVyYXRlZCBpbiB0aGUgYnJvd3NlciB3aW5kb3csIG9yIGVtYWlsbGVkLiAgQWRkaXRpb25hbGx5IHRoZSByZXBvcnRpbmcgZnVuY3Rpb25hbGl0eSBzdXBwb3J0cyBDU1YgZXhwb3J0LjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBJdCBpcyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHRoZSBhYmlsaXR5IHRvIHNlbGVjdCBvdXRwdXQgZmllbGRzIGluIHRoZSByZXBvcnRzIG1heSBnZW5lcmF0ZSBzb21lIGNvbmZ1c2luZyBvdXRwdXQgZGVwZW5kaW5nIHVwb24gdGhlIGZpZWxkcyBjaG9zZW4gYW5kIHRoZSByZXBvcnQgdHlwZS4gIGkuZTogaW4gYSBzdW1tYXJ5IHJlcG9ydCBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGRpc3BsYXkgZmllbGRzIGxpa2UgZG93bmxvYWQgdXNlcm5hbWUuICBXaGVyZWFzIGluIGEgZGV0YWlsIHJlcG9ydCBpdCBkb2VzIG5vdCB1c3VhbGx5IG1ha2Ugc2Vuc2UgdG8gZGlzcGxheSB0aGUgbnVtYmVyIG9mIGRvd25sb2Fkcy4gIFVzZSBjYXV0aW9uIHdoZW4gZ2VuZXJhdGluZyByZXBvcnRzLjwvcD4KPHVsPgogIDxsaT5Eb3dubG9hZHMgYnkgVXNlcgogICAgPHVsPgogICAgICA8bGk+U3VtbWFyeQogICAgICAgIDxwPlRoaXMgcmVwb3J0IGdlbmVyYXRlcyBvbmUgbGluZSBwZXIgbWF0Y2hpbmcgdXNlciAodXNlciB3aG8gZG93bmxvYWRlZCBzb21ldGhpbmcpLiAgSXQgaXMgZ3JlYXQgZm9yIGRpc3BsYXlpbmcgaG93IG11Y2ggYSB1c2VyIGRvd25sb2FkZWQsIGFuZCB0aGUgbGFzdCB0aW1lIHRoZXkgZG93bmxvYWRlZCBhbnl0aGluZy48L3A+CiAgICAgIDwvbGk+CiAgICAgIDxsaT5EZXRhaWwKICAgICAgICA8cD5UaGlzIHJlcG9ydCBnZW5lcmF0ZXMgb25lIGxpbmUgcGVyIGRvd25sb2FkLiAgSXQgZGV0YWlscyB3aGF0IHRoZSBzZWxlY3RlZCB1c2VycyBkb3dubG9hZGVkLCBhbmQgd2hlbi48L3A+CiAgICAgIDwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPkRvd25sb2FkcyBieSBGaWxlCiAgICA8dWw+CiAgICAgIDxsaT5TdW1tYXJ5CiAgICAgICAgPHA+VGhpcyByZXBvcnQgZ2VuZXJhdGVzIG9uZSBsaW5lIHBlciBtYXRjaGluZyBmaWxlLiAgSXQgZ3JvdXBzIGV2ZXJ5dGhpbmcgYnkgdGhlIGZpbGUuICBJdCBpcyB1c2VkIGZvciBkaXNwbGF5aW5nIGhvdyBtYW55IHRpbWVzIGEgZmlsZSB3YXMgZG93bmxvYWRlZC48L3A+CiAgICAgIDwvbGk+CiAgICAgIDxsaT5EZXRhaWwKICAgICAgICA8cD5UaGlzIHJlcG9ydCBnZW5lcmF0ZXMgb25lIGxpbmUgcGVyIGRvd25sb2FkLiAgSXQgZGV0YWlscyB3aG8gZG93bmxvYWRlZCB0aGUgc2VsZWN0ZWQgZmlsZXMsIGFuZCB3aGVuLjwvcD4KICAgICAgPC9saT4KICAgIDwvdWw+CiAgPC9saT4KPC91bD4KPGgzPkZpbGUgSW5kZXhpbmc6PC9oMz4KPHA+VGhpcyBtb2R1bGUgc3VwcG9ydHMgaW5kZXhpbmcgdGhlIHdvcmRzIG91dCBvZiB0ZXh0IGFuZCBQREYgZG9jdW1lbnRzIGFuZCBhZGRpbmcgdGhlIHdvcmRzIHRvIHRoZSBzZWFyY2ggaW5kZXggb2YgdGhlIGN1cnJlbnQgc2VhcmNoIG1vZHVsZS4gIEluZGV4aW5nIHRleHQgYW5kIFBERiBmaWxlcyBjYW4gYmUgYSB0aW1lIGNvbnN1bWluZyBhbmQgbWVtb3J5IGludGVuc2l2ZSBvcGVyYXRpbiAocGFydGljdWxhcmx5IGZvciBsYXJnZSBmaWxlcykgc28gc29tZSBzcGVjaWFsIGJlaGF2aW9yIGhhcyBiZWVuIGFkZGVkIHRvIGhvcGVmdWxseSBhY2NvbW9kYXRlIG1vc3Qgc2l0ZXM8L3A+Cjx1bD4KICA8bGk+RG9jdW1lbnRzIHdpbGwgbm90IGJlIGFkZGVkIHRvIHRoZSBzZWFyY2ggaW5kZXggdmlhIHRoZSBhdXRvbWF0aWMgc2Nhbm5pbmcgcHJvY2Vzcy4gIFRoZXJlZm9yZSB1cGxvYWRpbmcgZmlsZXMgdmlhIEZUUCB0byB0aGUgY2F0ZWdvcnkgZGlyZWN0b3J5IHdpbGwgYWxsb3cgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZCBhbmQgc2VudCBieSBjdXN0b21lcnMsIGJ1dCB0aGUgZmlsZSB3aWxsIG5vdCBiZSBpbmRleGVkIGJ5IHRoZSBzZWFyY2ggZW5naW5lLjwvbGk+CiAgPGxpPlRoZSBpbmRleGluZyBwcm9jZXNzIGZvciBUZXh0IGZpbGVzIGlzIGxpbWl0ZWQgdG8gdGhlIGZpcnN0IDEwLDAwMCB3b3JkcywgNTAwMCBsaW5lcywgb3IgMTUgc2Vjb25kcyBvZiBwcm9jZXNzaW5nICh3aGljaGV2ZXIgb2NjdXJzIGZpcnN0KS48L2xpPgogIDxsaT5UaGUgaW5kZXhpbmcgcHJvY2VzcyBmb3IgUERGIGZpbGVzIGlzIGxpbWl0ZWQgdG8gdGhlIGZpcnN0IDEwLDAwMCB3b3JkcywgMTAwIHBhZ2VzLCBvciAxNSBzZWNvbmRzIG9mIHByb2Nlc3NpbmcgKHdoaWNoZXZlciBvY2N1cnMgZmlyc3QpLjwvbGk+CiAgPGxpPkVkaXRpbmcgdGhlIHVwbG9hZCB3aWxsIGFsbG93IHRoZSB0ZXh0IGFuZCBwZGYgZmlsZXMgdG8gYmUgaW5kZXhlZC48L2xpPgogIDxsaT5UaGUgc2NhbiBidXR0b24gaW4gdGhlIGFkZC9lZGl0IGNhdGVnb3J5IHBhbmVscyB3aWxsIGFsbG93IHRoZSB0ZXh0IGFuZCBQREYgZmlsZXMgdG8gYmUgaW5kZXhlZC4gIFRoaXMgb3BlcmF0aW9uIGNvdWxkIHRha2UgYSBjb25zaWRlcmFibGUgYW1vdW50IG9mIHRpbWUgYW5kIHNlcnZlciByZXNvdXJjZXMuPC9saT4KICA8bGk+VGhpcyBtb2R1bGUgaW1wbGVtZW50cyBpbmRleGluZyBvZiB0ZXh0IGFuZCBwZGYgZmlsZXMgd2hlbiByZS1pbmRleGluZyBhbGwgY29udGVudC4gIFRoaXMgb3BlcmF0aW9uIGNvdWxkIHRha2UgYSBncmVhdCBkZWFsIG9mIHRpbWUgKG1pbnV0ZXMgb3IgaG91cnMpIGFuZCBzZXJ2ZXIgcmVzb3VyY2VzIGRlcGVuZGluZyB1cG9uIHRoZSBhbW91bnQgb2YgZmlsZXMgc3RvcmVkIHdpdGhpbiB0aGUgVXBsb2FkcyBtb2R1bGUsIHRoZWlyIHNpemUsIGFuZCB0aGUgdmFyaW91cyBvcHRpb25zLjwvbGk+CjwvdWw+CjxwPlRoZSB3b3JkLCBsaW5lLCBwYWdlLCBhbmQgdGltZSBsaW1pdHMgZGVzY3JpYmVkIGFib3ZlIHNob3VsZCBiZSBlbm91Z2ggdG8gZ2V0IG1vc3Qgb2YgdGhlIGltcG9ydGFudCB3b3JkcyBvdXQgb2YgdGhlIGZpbGUuPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgZnVuY3Rpb25hbGl0eSBleHRyYWN0cyB0aGUgY29udGVudHMgb2YgdGhlIFBERiBkb2N1bWVudHMsIHNwbGl0cyB0aGVtIGludG8gJ3dvcmRzJyBhbmQgYXBwbGllcyBzb21lIGNsZWFuaW5nIHRvIHRoZSB3b3JkcyBiZWZvcmUgcHJvdmlkaW5nIHRoZW0gdG8gdGhlIHNlYXJjaCBtb2R1bGUuICBGdWxsIHRleHQgaW5kZXhpbmcgaXMgbm90IHByb3ZpZGVkLCB0aGVyZWZvcmUgcGhyYXNlIHNlYXJjaGluZyBpcyBub3QgcG9zc2libGUuICAgQWRkaXRpb25hbGx5LCB0aGUgU2VhcmNoIG1vZHVsZSBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIGxpbWl0aW5nIGFuZCBjbGVhbmluZyB0byB0aGUgd29yZHMgZXh0cmFjdGVkIGZyb20gZmlsZXMuPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgZnVuY3Rpb25hbGl0eSBkb2VzIG5vdCBwZXJmb3JtIE9DUiB0aGVyZWZvcmUgdGV4dCBlbWJlZGRlZCBpbnNpZGUgaW1hZ2VzIHdoaWNoIGFyZSBlbWJlZGRlZCBpbnNpZGUgUERGIGRvY3VtZW50cyB3aWxsIG5vdCBiZSBpbmRleGVkLjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGlzIGZ1bmN0aW9uYWxpdHkgdXNlcyB0aGUgc2hlbGxfZXhlYyBwaHAgZnVuY3Rpb24gYW5kIGdob3N0c2NyaXB0LiAgVGhpcyBmdW5jdGlvbmFsaXR5IG11c3QgYmUgZW5hYmxlZCBvbiB5b3VyIHNlcnZlci48L3A+Cgo8aDM+U21hcnR5IFBsdWdpbnM6PC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgc29tZSBhY2Nlc3Nvcnkgc21hcnR5IHBsdWdpbnMgdGhhdCBhcmUgdXNlZnVsIGZvciB2YXJpb3VzIHB1cnBvc2VzIHdoZW4gd29ya2luZyB3aXRoIGZpbGVzLjwvcD4KPGgzPkNvbnRlbnQgQmxvY2tzIDxlbT4oQ01TTVMgMS43KyBPbmx5KTwvZW0+PC9oMz4KPHVsPgogIDxsaT48c3Ryb25nPnt1cGxvYWRzX2NyZWF0ZV90bF9maWxlfTwvc3Ryb25nPgogICAgPHA+Q29weSBhbiBleGlzdGluZyBzZXJ2ZXIgZmlsZSBpbnRvIHRoZSB1cGxvYWRzIG1vZHVsZSBhbmQgZ2VuZXJhdGUgYSB0aW1lIGxpbWl0ZWQgVVJMIGZvciBpdC48L3A+CiAgICA8cD5QYXJhbWV0ZXJzOjwvcD4KICAgIDx1bD4KICAgICAgPGxpPjxzdHJvbmc+c3JjPC9zdHJvbmc+IC0gc3RyaW5nIC0gcmVxdWlyZWQgLSBUaGUgYWJzb2x1dGUgc2VydmVyIGZpbGUgc3BlY2lmaWNhdGlvbiB0byB0aGUgc291cmNlIGZpbGUuPC9saT4KICAgICAgPGxpPjxzdHJvbmc+Y2F0ZWdvcnk8L3N0cm9uZz4gLSBtaXhlZCAtIHJlcXVpcmVkIC0gVGhlIGNhdGVnb3J5IG5hbWUgKHN0cmluZykgb3IgaWQgKGludGVnZXIpIHRvIHRoZSBkZXN0aW5hdGlvbiBVcGxvYWRzIGNhdGVnb3J5LjwvbGk+CiAgICAgIDxsaT5wcmVmaXggLSBib29sZWFuIC0gb3B0aW9uc2wgLSBJbmRpY2F0ZXMgd2V0aGVyIGZpbGVzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIGEgc3RyaW5nIHRoYXQgZGVwZW5kcyBvbiB0aGUgc2VydmVyIHRpbWUgKGRlZmF1bHQgaXMgRkFMU0UpPC9saT4KICAgICAgPGxpPmVtYWlsIC0gc3RyaW5nIC0gb3B0aW9uYWwgLSBUaWUgdGhlIGdlbmVyYXRlZCB1cmwgdG8gdGhlIHN1cHBsaWVkIGVtYWlsIGFkZHJlc3MgKHdvcmsgaW4gcHJvZ3Jlc3MpPC9saT4KICAgICAgPGxpPmhvdXJzIC0gaW50ZWdlciAtIG9wdGlvbmFsIC0gVGhlIG51bWJlciBvZiBob3VycyB0aGlzIFVSTCB3aWxsIGJlIHZhbGlkIGZvciwgaWYgbm90IHNwZWNpZmllZCB0aGUgbW9kdWxlIHByZWZlcmVuY2Ugd2lsbCBiZSB1c2VkLjwvbGk+CiAgICAgIDxsaT5kb3dubG9hZHMgLSBpbnRlZ2VyIC0gb3B0aW9uYWwgLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQgdXNpbmcgdGhpcyB1cmwuICBJZiBub3Qgc3BlY2lmaWVkLCB0aGUgbW9kdWxlIHByZWZlcmVuY2Ugd2lsbCBiZSB1c2VkLjwvbGk+CiAgICAgIDxsaT5hc3NpZ24gLSBzdHJpbmcgLSBvcHRpb25hbCAtIEEgc21hcnR5IHZhcmlhYmxlIG5hbWUgdG8gYXNzaWduIHRoZSBvdXRwdXQgdG8uPC9saT4KICAgIDwvdWw+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPnt1cGxvYWRzX2NyZWF0ZV90bF9maWxlIHNyYz0mcXVvdDsvdGhlL2NvbXBsZXRlL3BhdGgvdG8vdGhlL2ZpbGUuanBnJnF1b3Q7IHByZWZpeD10cnVlIGRvd25sb2Fkcz01IGhvdXJzPTcyIGNhdGVnb3J5PSZxdW90O3NvbWUgY2F0ZWdvcnkmcXVvdDsgYXNzaWduPSZxdW90O3RoZV91cmwmcXVvdDt9PC9wcmU+CiAgICA8L3A+CiAgPC9saT4KPC91bD4KPHA+Rm9yIENNU01TIDEuNyB0aGlzIG1vZHVsZSBpcyBjYXBhYmxlIG9mIGludGVyZmFjaW5nIHdpdGggdGhlIGNvbnRlbnQgZWRpdG9yIGFuZCBleHBvcnRpbmcgYSBjb250ZW50IGJsb2NrIHRoYXQgYWxsb3dzIHNlbGVjdGluZyBhbiB1cGxvYWRzIGNhdGVnb3J5IHdpdGhpbiB0aGUgZWRpdCBjb250ZW50IHBhZ2UsIGZvciBsYXRlciB1c2Ugd2l0aGluIHRoZSB0ZW1wbGF0ZS48L3A+CjxwPmkuZTogcGxhY2luZyB0aGUgZm9sbG93aW5nIHRhZyB3aXRoaW4gYSBwYWdlIHRlbXBsYXRlIDxjb2RlPntjb250ZW50X21vZHVsZSBtb2R1bGU9JnF1b3Q7VXBsb2FkcyZxdW90OyBibG9jaz0mcXVvdDt1cGxvYWRzX2NhdGVnb3J5JnF1b3Q7IHNlbGVjdHR5cGU9JnF1b3Q7Y2F0ZWdvcnlzZWxlY3QmcXVvdDt9PC9jb2RlPiwgd2lsbCBhZGQgYSBkcm9wZG93biBib3ggaW4gdGhlIGVkaXQgY29udGVudCB2aWV3IG9mIGFueSBwYWdlIHV0aWxpemluZyB0aGF0IHBhZ2UgdGVtcGxhdGUuPC9wPgo8cD5UaGlzIGNvbnRlbnQgYmxvY2sgYWxzbyBhY2NlcHRzIHNvbWUgb3B0aW9uYWwgcGFyYW1ldGVyczo8L3A+Cjx1bD4KICA8bGk+PHU+c2VsZWN0b25lPC91PgogICAgPHA+VGhpcyBwYXJhbWV0ZXIgaW5zZXJ0cyBhICZxdW90O1NlbGVjdCBPbmUmcXVvdDsgaXRlbSBpbnRvIHRoZSBsaXN0IG9mIGNhdGVnb3JpZXMsIHJlcXVpcmluZyB0aGUgdXNlciB0byBzZWxlY3QgYSB2YWxpZCBjYXRlZ29yeSB3aGVuIHRoZSBjb250ZW50IHBhZ2UgaXMgc2F2ZWQuPC9wPgogIDwvbGk+CiAgPGxpPjx1PmFsbG93YWxsPC91PgogICAgPHA+VGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHRoZSBjb250ZW50IGVkaXRvciB0byBzZWxlY3QgJnF1b3Q7QWxsJnF1b3Q7IGFzIGEgY2F0ZWdvcnkgZm9yIHRoZSB1cGxvYWRzIGRpc3BsYXkuPC9wPgogIDwvbGk+CjwvdWw+CjxoND5Ib3cgd291bGQgSSB1c2UgaXQ/PC9oND4KPHA+SGVyZSBpcyBzb21lIGV4YW1wbGUgY29kZTo8L3A+CjxwcmU+Cntjb250ZW50X21vZHVsZSBtb2R1bGU9JnF1b3Q7VXBsb2FkcyZxdW90OyBibG9jaz0mcXVvdDtjYXRlZ29yeXNlbGVjdCZxdW90OyBsYWJlbD0mcXVvdDtTZWxlY3QgYW4gdXBsb2FkcyBjYXRlZ29yeSZxdW90OyBzZWxlY3RvbmU9MSBhc3NpZ249JnF1b3Q7dG1wJnF1b3Q7fQp7VXBsb2FkcyBjYXRlZ29yeT0kdG1wfQo8L3ByZT4KPGgzPlN5c3RlbSBTZXR0aW5nczwvaDM+CjxwPjxiPk5vdGU6PC9iPiBUaGlzIG1vZHVsZSBkb2VzIG5vdCBieXBhc3Mgb3IgZ2V0IHBhc3QgYW55IGZpbGUgc2l6ZSBsaW1pdGF0aW9ucyBpbiBwaHAuICBJdCB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZW0uICBUaGVyZWZvcmUgeW91IG1heSBuZWVkIHRvIG1vZGlmeSB5b3VyIHBocC5pbmkgZmlsZSwgeW91ciBDTVNNUyBjb25maWcucGhwIGZpbGUgYW5kL29yIHlvdXIgaHR0cGQuY29uZiBmaWxlKHMpIHRvIGFsbG93IHlvdSB0byB1cGxvYWQgZmlsZXMgYXMgbGFyZ2UgYXMgd2hhdCB5b3UgaGF2ZSBzZXQgaW4gdGhlIHVwbG9hZHMgbW9kdWxlIHByZWZlcmVuY2VzLjwvcD4KPGgzPkFwYWNoZSBOb3RlczwvaDM+CjxwPkluIG9yZGVyIHRvIGFsbG93IGxhcmdlIGZpbGUgdXBsb2FkcywgeW91IG1heSBuZWVkIHRvIG1vZGlmeSB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBwYXJhbWV0ZXIgaW4geW91ciBwaHAuaW5pICBJbiBhZGRpdGlvbiwgdGhlIExpbWl0UmVxdWVzdEJvZHkgcGFyYW1ldGVyIGluIHlvdXIgYXBhY2hlIGNvbmZpZ3VyYXRpb24sIG1heSBuZWVkIHRvIGJlIGFkanVzdGVkIHRvIG1hdGNoIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIHBhcmFtZXRlcjwvcD4KPHA+Tm90ZTogIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIHBhcmFtZXRlciBjYW4gYmUgc3BlY2lmaWVkIGluIGJ5dGVzLCBraWxvYnl0ZXMsIG9yIG1lZ2FieXRlcywgaG93ZXZlciB0aGUgTGltaXRSZXF1ZXRCb2R5IHBhcmFtZXRlciBpcyBvbmx5IHNwZWNpZmllZCBpbiBieXRlczwvcD4KPHA+PHN0cm9uZyBzdHlsZT0iY29sb3I6IHJlZDsiPldhcm5pbmc8L3N0cm9uZz4gLSBUaGUgcHJvcGVyIGJlaGF2aW91ciBvZiB0aGlzIG1vZHVsZSBkZXBlbmRzIG9uIG51bWVyb3VzIHBocCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy4gIFRoZXNlIGluY2x1ZGUgPGVtPihidXQgYXJlIG5vdCBsaW1pdGVkIHRvKTwvZW0+LCBwaHAncyBtZW1vcnlfbGltaXQsIHNhZmVfbW9kZSwgZmlsZV91cGxvYWRzLCB1cGxvYWRzX21heF9maWxlc2l6ZSwgYW5kIG1heF9leGVjdXRpb25fdGltZS4gIFRoZXNlIHZhcmlhYmxlcyBtYXkgbmVlZCBhZGp1c3RtZW50IGZvciB0aGlzIG1vZHVsZSB0byB3b3JrIHByb3Blcmx5IG9uIHlvdXIgc2l0ZS4gIEl0IGlzIGFkdmlzZWQgdGhhdCB5b3Ugd29yayB3aXRoIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3Igb3IgaG9zdCBwcm92aWRlciB0byB0dW5lIHRoZXNlIHNldHRpbmdzIGZvciB5b3VyIHJlcXVpcmVtZW50cy48L3A+CjxwPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiByZWQ7Ij5XYXJuaW5nPC9zdHJvbmc+IC0gVXNpbmcgdGhpcyBtb2R1bGUgdG8gYWxsb3cgc2l0ZSB2aXNpdG9ycyB0byBzZW5kIGZpbGVzIChlaXRoZXIgdXNpbmcgdGhlIHN0YW5kYXJkIG1lY2hhbmlzbSBvciB0aGUgeW91c2VuZGl0IG1lY2hhbmlzbSkgbWF5IG5vdCB3b3JrIHdpdGggb3V0cHV0IGNvbXByZXNzaW9uIGVuYWJsZWQuICBQbGVhc2UgZW5zdXJlIHRoYXQgb3V0cHV0X2NvbXByZXNzaW9uIGlzIHNldCB0byBmYWxzZSBpbiB0aGUgY29uZmlnLnBocC48L3A+Cgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoZSBtb2R1bGUgYXV0aG9yIGlzIGluIG5vIHdheSBvYmxpZ2F0ZWQgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciB0aGlzIGNvZGUgaW4gYW55IGZhc2hpb24uICBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+QSBidWcgdHJhY2tpbmcgYW5kIGZlYXR1cmUgcmVxdWVzdCBzeXN0ZW0gaGFzIGJlZW4gY3JlYXRlZCBmb3IgdGhpcyBtb2R1bGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy91cGxvYWRzIj5oZXJlPC9hPi4gIFBsZWFzZSBiZSB2ZXJib3NlIGFuZCBkZXNjcmlwdGl2ZSB3aGVuIHN1Ym1pdHRpbmcgYnVnIHJlcG9ydHMgYW5kIGZlYXR1cmUgcmVxdWVzdHMsIGFuZCBmb3IgYnVnIHJlcG9ydHMgZW5zdXJlIHRoYXQgeW91IGhhdmUgcHJvdmlkZWQgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byByZWxpYWJseSByZXByb2R1Y2UgdGhlIGlzc3VlLjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByb3ZpZGUgYWxsIHJlbGF2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuICBIb3dldmVyLCBwbGVhc2UgdXNlIHRoaXMgYXMgYSBsYXN0IHJlc29ydCwgYW5kIGVuc3VyZSB0aGF0IHlvdSBoYXZlIGZvbGxvd2VkIGFsbCBhcHBsaWNhYmxlIGluc3RydWN0aW9ucyBvbiB0aGUgZm9yZ2UsIGluIHRoZSBmb3J1bXMsIGV0Yy48L2xpPgo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo8aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjY0PC9saT48bGk+Q0dTaW1wbGVTbWFydHkgPSZndDsgMi4xLjY8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBrZXk9InZhbHVlIiAtIFByb3ZpZGUgYW4gYWRkaXRpb25hbCBrZXkgdG8gdGhlIG1vZHVsZSBmb3IgZnVydGhlciBvcmdhbml6aW5nIHVwbG9hZHMuICBUaGlzIGtleSBjb3VsZCBiZSBhbiBlbmNvZGVkIHN0cmluZyBsaWtlOiAnZmV1c2Vyczp1aWQnLCBldGMuICBUaGlzIHBhcmFtZXRlciBpcyB1c3VhbGx5IG9ubHkgbmVlZGVkIHdoZW4gZW1iZWRkaW5nIHRoZSB1cGxvYWRzIG1vZHVsZSBpbnRvIGFub3RoZXIgbW9kdWxlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB1cGxvYWRfaWQ9ImlkIiAtIAp1cGxvYWRfaWQ9ImlkIiAtIHNwZWNpZnkgYSBzaW5nbGUgZmlsZSBmb3IgdGhlIHVybC9saW5rLGRldGFpbGVkIG9yIHNpbmdsZSBhY3Rpb25zIChhYm92ZSk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGNvdW50PSIiIC0gY291bnQ9Ik4iIDxwPkEgcGFyYW1ldGVyIHRvIGxpbWl0IHRoZSByZXN1bHRzIHRvIE4gZW50cmllcyBwZXIgcGFnZS48L3A+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzb3J0b3JkZXI9ImRhdGVfYXNjIiAtIAogIDxwPlNvcnQgT3JkZXJzCiAgPHVsPgogIDxsaT48ZW0+ZGF0ZV9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGRhdGU8L2xpPgogIDxsaT48ZW0+ZGF0ZV9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgZGF0ZTwvbGk+CiAgPGxpPjxlbT5uYW1lX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgbmFtZTwvbGk+CiAgPGxpPjxlbT5uYW1lX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBuYW1lPC9saT4KICA8bGk+PGVtPnN1bW1fYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBzdW1tYXJ5PC9saT4KICA8bGk+PGVtPnN1bW1fZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGRlc2NyaXB0aW9uPC9saT4KICA8bGk+PGVtPnNpemVfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBzaXplPC9saT4KICA8bGk+PGVtPnNpemVfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIHNpemU8L2xpPgogIDxsaT48ZW0+YXV0aG9yX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgYXV0aG9yPC9saT4KICA8bGk+PGVtPmF1dGhvcl9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgYXV0aG9yPC9saT4KICA8bGk+PGVtPmlwX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgaXAgYWRkcmVzczwvbGk+CiAgPGxpPjxlbT5pcF9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgaXAgYWRkcmVzczwvbGk+CiAgPGxpPjxlbT5kZXNjX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgZGVzY3JpcHRpb248L2xpPgogIDxsaT48ZW0+ZGVzY19kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgZGVzY3JpcHRpb248L2xpPgogIDxsaT48ZW0+ZG93bmxvYWRzX2FzYzwvZW0+IC0gU29ydCBieSBkb3dubG9hZCBjb3VudCBpbiBhc2NlbmRpbmcgb3JkZXIuPC9saT4KICA8bGk+PGVtPmRvd25sb2Fkc19kZXNjPC9lbT4gLSBTb3J0IGJ5IGRvd25sb2FkIGNvdW50IGluIGRlc2NlbmRpbmcgb3JkZXIuPC9saT4KICA8bGk+PGVtPnJhbmRvbTwvZW0+IC0gUmFuZG9tIHNvcnQgb3JkZXI8L2xpPgogIDxsaT48ZW0+ZmllbGQ6W2Rlc2M6XW5hbWU8L2VtPiAtIFNvcnQgYnkgdGhlIHZhbHVlIG9mIGEgY3VzdG9tIGZpZWxkLiAgU3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgY3VzdG9tIGZpZWxkIGFuZCBvcHRpb25hbGx5IGluZGljYXRlIHRvIHNvcnQgaW4gZGVzY2VuZGluZyBvcmRlci4gIGkuZTogIHNvcnRvcmRlcj1maWVsZDpkZXNjOmFnZSBvciBzb3J0b3JkZXI9ZmllbGQ6YWdlLiAgVGhpcyBzb3J0aW5nIG1ldGhvZCBvbmx5IHdvcmtzIGluIHRoZSBzdW1tYXJ5IHZpZXcuPC9saT4KICA8L3VsPgogIDwvcD48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbGVfZXh0ZW5zaW9ucz0iZXh0MSxleHQyLGV4dDMiIC0gCmZpbGVfZXh0ZW5zaW9ucz0iZXh0MSxleHQyLGV4dDMiCjxwPnZhbGlkIG9ubHkgd2hlbiBhY3Rpb249dXBsb2FkLCB0aGlzIHBhcmFtZXRlciBsaW1pdHMgdGhlIHR5cGVzIG9mIGZpbGVzIHRoYXQgY2FuIGJlIHVwbG9hZGVkLiAgSXQgb3ZlcnJpZGVzIGFueSBzZXR0aW5ncyBpbiB0aGUgbW9kdWxlIHByZWZlcmVuY2VzLjwvcD48L2xpPjxsaT5jYXRlZ29yeT0idXBsb2FkX2NhdGVnb3J5IiAtIApjYXRlZ29yeT0ibmFtZSIKPHA+PGI+Tm90ZTo8L2I+IENhdGVnb3J5IGNhbiBiZSAiYWxsIiwgd2hpY2ggd2lsbCBsaXN0IGFsbCBvZiB0aGUgdXBsb2FkcyBmcm9tIGFsbCA8ZW0+bGlzdGFibGU8L2VtPiBjYXRlZ29yaWVzPC9wPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsdGVyPSIiIC0gQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzdW1tYXJ5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIHdpbGwgZW5hYmxlIGRpc3BsYXkgb2YgdGhlIGZpbHRlcmluZyBmb3JtLiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgc2V0IHRvIGFueSB2YWx1ZSA8ZW0+KGFuZCB0aGUgZmllbGRzIHN0aWxsIGFwcGVhciBpbiB0aGUgc3VtbWFyeSB0ZW1wbGF0ZSk8L2VtPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9faW5pdGlhbD0iMSIgLSBEbyBub3QgZGlzcGxheSBhbnkgaW5pdGlhbCByZXN1bHRzIHdoZW4gdGhlIGZpbHRlciBpcyBvbjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gdGVtcGxhdGU9IiIgLSBVc2UgYSB0ZW1wbGF0ZSB3aXRoIHRoaXMgbmFtZSBmb3IgdGhpcyByZXBvcnQgb3IgZm9ybS4gIFRoZSBwYXJhbWV0ZXIgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hhdCB0eXBlIG9mIHRlbXBsYXRlIGlzIHJlcXVpcmVyZCwgYW5kIHRoZW4gYSBuYW1lIG1hdGNoIGlzIHBlcmZvcm1lZCB3aXRoaW4gdGhhdCB0eXBlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGV0YWlsdGVtcGxhdGU9IiIgLSBVc2UgYSB0ZW1wbGF0ZSB3aXRoIHRoaXMgbmFtZSBmb3IgdGhlIGRldGFpbCByZXBvcnQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2NhcHRjaGE9IiIgLSBEaXNhYmxlIGNhcHRjaGEgc3VwcG9ydCAob24gYnkgZGVmYXVsdCkgaW4gdGhlIHVwbG9hZCBmb3JtPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWxldHlwZXM9IiIgLSBEaXNwbGF5IG9ubHkgZmlsZXMgd2hvc2UgdHlwZSBtYXRjaGVzIHRoaXMgY29tbWEgc2VwYXJhdGVkIGxpc3Q8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHByZWZpeD0iMCIgLSBBIGJvb2xlYW4gdGhhdCBpbmRpY2F0ZXMgd2V0aGVyIGZpbGUgbmFtZXMgc2hvdWxkIGJlIHByZWZpeGVkPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwcmVmaXhfZmV1PSIwIiAtIEEgYm9vbGVhbiBwYXJhbWV0ZXIgdGhhdCBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJlZml4IHNob3VsZCBiZSB0YWtlbiBmcm9tIHRoZSBjdXJyZW50IGF1dGhvciwgaWYgbm90IHNwZWNpZmllZCwgdGhlIHByZWZpeCBpcyB0aGUgY3VycmVudCB0aW1lIChpbiBkZWNoZXggZm9ybWF0KTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGV0YWlscGFnZT0iIiAtIFVzZWZ1bCBmb3IgZGlzcGxheWluZyBhIGRldGFpbCByZXBvcnQgdXNpbmcgYSBkaWZmZXJlbnQgcGFnZSB0ZW1wbGF0ZSwgdGhpcyBwYXJhbWV0ZXIgdGFrZXMgdGhlIHBhZ2UgaWQgb3IgcGFnZSBhbGlhcyBvZiBhIHBhZ2UgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkaXNwbGF5IHRoZSBkZXRhaWwgcmVwb3J0PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsaXN0aW5ndGVtcGxhdGU9IiIgLSBUZW1wbGF0ZSB0byB1c2UgZm9yIGNhdGVnb3J5IGxpc3RpbmdzIGFmdGVyIGNsaWNrdGhyb3VnaCBmcm9tIENhdGVnb3J5IFN1bW1hcnkgcGFnZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGlzdGluZ3NvcnRvcmRlcj0iIiAtIFNvcnQgb3JkZXIgKGFsYSBwYXJhbV9zb3J0b3JkZXIpIHRvIHVzZSBmb3IgY2F0ZWdvcnkgbGlzdGluZ3M8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNlbmRmaWxlcGFnZT0iIiAtIFNwZWNpZnkgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBzZW5kIGEgZmlsZSBmb3JtPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzdW1tYXJ5cGFnZT0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiB0aGlzIHBhcmFtZXRlciBhY2NlcHRzIGEgcGFnZSBhbGlhcyBvciBpZCBvZiB0aGUgcGFnZSB0byBsaW5rIHRvIGZvciBzcGVjaWZpYyBjYXRlZ29yeSBzdW1tYXJ5IHZpZXdzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPSJkZWZhdWx0IiAtIDxwPlNwZWNpZmllcyB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUgdGFnLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8L3A+Cjx1bD4KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgY2F0ZWdvcmllcyB0aGF0IHRoZSBjdXJyZW50IHVzZXIgaXMgYWJsZSB0byBicm93c2UgdG8uICBOb3RlOiBkdWUgdG8gdGhlIGZsZXhpYmlsaXR5IG9mIHBlcm1pc3Npb25zIGF2YWlsYWJsZSB0byBmaWxlcyBhbmQgY2F0ZWdvcmllcywgdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24gZG9lcyBOT1QgZGV0ZWN0IGlmIHRoZXJlIGFyZSB2aWV3YWJsZSBmaWxlcyBmb3IgdGhlIHNwZWNpZmljIGNhdGVnb3JpZXMsPC9saT4KICA8bGk+ZGVmYXVsdCAtIDxlbT4oZGVmYXVsdCk8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXIgdmlldyBvZiBhbGwgZmlsZXMgaW4gb25lLCBvciBhbGwgY2F0ZWdvcmllcy48L2xpPgogIDxsaT5kZXRhaWwgLSB0byBkaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgZmlsZSBiYXNlZCBvbiB0aGUgdXBsb2FkX2lkLjwvbGk+CiAgPGxpPnlvdXNlbmRpdCAtIHRvIGRpc3BsYXkgYSBmb3JtIHRvIGFsbG93IHVwbG9hZGluZyBhIGZpbGUsIGFuZCBzZW5kaW5nIGl0IHRvIG51bWVyb3VzIGFkZHJlc3NlcyBpbiBvbmUgc3RlcDwvbGk+CiAgPGxpPnVwbG9hZCAtIFRvIGRpc3BsYXkgYW4gdXBsb2FkIGZvcm0gYWxsb3dpbmcgdXNlcnMgdG8gdXBsb2FkIGZpbGVzIHRvIHlvdXIgd2Vic2l0ZS48L2xpPgo8L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmllbGRuYW1lPSIiIC0gQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzdW1tYXJ5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgYSBmaWVsZCB0byBmaWx0ZXIgdGhlIHJlc3VsdHMgYnkuICBNdXN0IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZmllbGR2YWwgcGFyYW1ldGVyLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmllbGR2YWw9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZmllbGRuYW1lIHBhcmFtZXRlciB0byBzcGVjaWZ5IHRoZSB2YWx1ZSBvZiBhIGZpZWxkIHRvIGZpbHRlciB0aGUgcmVzdWx0cyBieS4gIEEgc3Vic3RyaW5nIG1hdGNoIGlzIHVzZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWVsZG5hbWUyPSIiIC0gQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzdW1tYXJ5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgYSBmaWVsZCB0byBmaWx0ZXIgdGhlIHJlc3VsdHMgYnkuICBNdXN0IGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZmllbGR2YWwyIHBhcmFtZXRlci4gIFdoZW4gZmllbGRuYW1lMiwgZmllbGR2YWwyLCBmaWVsZG5hbWUsIGFuZCBmaWVsZHZhbCBwYXJhbWV0ZXJzIGFyZSB1c2VkIGVhY2ggZmlsZSBtdXN0IG1hdGNoIGJvdGggY29uZGl0aW9ucy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpZWxkdmFsMj0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBmaWVsZG5hbWUyIHBhcmFtZXRlciB0byBzcGVjaWZ5IHRoZSB2YWx1ZSBvZiBhIGZpZWxkIHRvIGZpbHRlciB0aGUgcmVzdWx0cyBieS4gIFdoZW4gZmllbGRuYW1lMiwgZmllbGR2YWwyLCBmaWVsZG5hbWUsIGFuZCBmaWVsZHZhbCBwYXJhbWV0ZXJzIGFyZSB1c2VkIGVhY2ggZmlsZSBtdXN0IG1hdGNoIGJvdGggY29uZGl0aW9ucy4gIEEgc3Vic3RyaW5nIG1hdGNoIGlzIHVzZWQ8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNlbmRmaWxlX3RvPSIiIC0gQXBwbGljYWJsZSB0byB0aGUgeW91c2VuZGl0IGFjdGlvbiBhbGxvd3Mgc3BlY2lmeWluZyBhbiBhZG1pbiB1c2VybmFtZSwgb3IgYW4gZW1haWwgYWRkcmVzcyB0byByZWNlaXZlIHRoZSBub3RpZmljYXRpb24uICBJZiBub3Qgc3BlY2lmaWVkIGFuIGlucHV0IGZpZWxkIHdpbGwgYmUgcHJvdmlkZWQgaW4gdGhlIHlvdXNlbmRpdCBmb3JtPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzZW5kZmlsZV9vdmVyd3JpdGU9IiIgLSBBcHBsaWNhYmxlIHRvIHRoZSB5b3VzZW5kaXQgYWN0aW9uLCBpbmRpY2F0ZXMgdGhhdCB0aGUgdXBsb2FkZWQgZmlsZSBzaG91bGQgYmUgYWxsb3dlZCB0byBvdmVyd3JpdGUgYW4gZXhpc3RpbmcgZmlsZSBieSB0aGUgc2FtZSBuYW1lPC9saT48L3VsPg==]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMjYuMjxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPgo8cD5WZXJzaW9uIDEuMC4gLSBTZXB0ZW1iZXIgMjAwNS48L3A+CjxwPiBJbml0aWFsIFJlbGVhc2UuPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4wMS4gLSBTZXB0ZW1iZXIgMjAwNTwvcD4KPHA+TWlub3IgZml4ZXMuPC9wPjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjAyLiAtIFNlcHRlbWJlciAyMDA1PC9wPgo8cD5BZGRlZCBhYmlsaXR5IHRvIHNwZWNpZnkgc29ydCBvcmRlcjwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMDMuIC0gU2VwdGVtYmVyIDIwMDU8L3A+CjxwPkZpeCByZWdhcmRpbmcgY29uZmxpY3QgaW4gdGVtcGxhdGUgbmFtZXM8L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjA0LiAtIFNlcHRlbWJlciAyMDA1PC9wPgo8cD5BZGRlZCBhYmlsaXR5IHRvIHJlLXNjYW4gYSBkaXJlY3RvcnksIGFuZCB0byB1cGxvYWQgZmlsZXMgZnJvbSB0aGUgYWRtaW4gcGFnZTwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMDUuIC0gU2VwdGVtYmVyIDIwMDU8L3A+CjxwPkZpeGVkIHNvbWUgUEhQIHZhcmlhYmxlIGlzc3VlczwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMDYuIC0gU2VwdGVtYmVyIDIwMDU8L3A+CjxwPkFkZGVkIGF1dGhvciBmaWVsZCB0byB0aGUgYWRtaW4gcGFuZWwgdXBsb2FkIGZvcm0sIGFkZGVkIGEgc3VtbWFyeSBmaWVsZCwgYW5kIG1hZGUgZGVzY3JpcHRpb24gYSB0ZXh0IGFyZWEsIGFuZCBhbGxvdyB0aGUgdXNlciB0byBzcGVjaWZ5IGEgZGVzdGluYXRpb24gZmlsZSBuYW1lPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4wNy4gLSBTZXB0ZW1iZXIgMjAwNTwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gcmVuYW1lIGZpbGVzIGFuZCBmaXhlZCBhIHNjYW4gZXJyb3I8L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjA4LiAtIFNlcHRlbWJlciAyMDA1PC9wPgo8cD5CZXR0ZXIgaGFuZGxpbmcgb2YgbmFtZXMgd2l0aCBzcGFjZXMsIGFuZCBhIGZldyBtaW5vciBlcnJvcnMgZml4ZWQuICBBZGRlZCBzd2VkaXNoIHRyYW5zbGF0aW9uICh0aGFua3Mgd2VzdGlzKTwvcD48L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4xLjAuIC0gT2N0b2JlciAyMDA1PC9wPgogPHVsPgogICA8bGk+TW9kaWZpZWQgQXR0ZW1wdFVwbG9hZCBmdW5jdGlvbiBzbyBpdCBjb3VsZCBiZSBjYWxsZWQgZXh0ZXJuYWxseTwvbGk+CiAgIDxsaT5BZGRlZCBHZXRVcGxvYWREZXRhaWxzIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbGwgb2YgdGhlIGRldGFpbHMgYWJvdXQgYSBtb2R1bGUsIGluY2x1ZGluZyBhIGxpbms8L2xpPgogICA8bGk+QWRkZWQgUmVkaXJlY3RzIHNvIHRoYXQgd29ya2luZyB3aXRoIHRoZSBtb2R1bGUgaXMgYWxvdCBuaWNlciwgaXQgcmV0dXJucyB0byB0aGUgcmlnaHQgdGFiPC9saT4KICAgPGxpPkNoYW5nZWQgdGhlIGZyb250IHRlbXBsYXRlIHRvIGxvb2sgYSBsaXR0bGUgYmV0dGVyIGFuZCBtYWtlIG1vcmUgc2Vuc2U8L2xpPgogICA8bGk+Rml4ZXMgdG8gdGhlIHVwbG9hZHMgc3R1ZmYgc28gdGhhdCB0aGUgZGVzY3JpcHRpb24gaXMgc2V0LCBhbmQgbmFtZSBhbmQgc3VtbWFyeSBhcmUgcHV0IGluIHRoZSByaWdodCBwbGFjZTwvbGk+CiAgIDxsaT5GaXhlcyB0byBldmVuIGJldHRlciBoYW5kbGUgc3BhY2VzIGluIG5hbWVzPC9saT4KICAgPGxpPk9wdGlvbmFseSBwbGFjZSBkdW1teSBpbmRleC5odG1sIGZpbGVzIGluIGVhY2ggdXBsb2FkIGRpcmVjdG9yeTwvbGk+CiAgIDxsaT5JZiBzcGVjaWZ5aW5nIGEgZGVzdGluYXRpb24gbmFtZSwgYW5kIG5vIGV4dGVuc2lvbiBpcyBnaXZlbiwgdGhlIGV4dGVuc2lvbiBvZiB0aGUgb3JpZ2luYXRpbmcgZmlsZSAoaWYgYW55IGV4aXN0cyBpcyB1c2VkPC9saT4KIDwvdWw+CiA8cD48ZW0+PGI+SW1wb3J0YW50ITwvYj48L2VtPjxici8+SXQgaXMgbm90IHBvc3NpYmxlIHRvIHVwZ3JhZGUgZnJvbSBhbnkgb3RoZXIgdmVyc2lvbiBvZiB0aGUgVXBsb2FkcyBtb2R1bGUgdG8gMS4xLjAuICBUaGlzIGlzIGR1ZSB0byBzb21lIGVycm9ycyB0aGF0IHdlcmUgbWFkZSBpbiB0aGUgZGF0YWJhc2Ugcm91dGluZXMsIGFuZCBldmVuIGluIHRoZSB1cGdyYWRlIHJvdXRpbmUgaW4gMS4wLjYuICBZb3UgbXVzdCBkZS1pbnN0YWxsIHRoZSBvbGQgdmVyc2lvbiwgYW5kIHRoZW4gcmUtaW5zdGFsbCB0aGUgbmV3IHZlcmVzaW9uLiBUaGlzIHdpbGwgY2F1c2Ugc2lnbmlmaWNhbnQgZGlmZmljdWx0eSBpZiB5b3UgaGF2ZSBkc2NyaXB0aW9ucywgZXRjLCBpbiB5b3VyIHRhYmxlczwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMS4xLiAtIE9jdG9iZXIsIDIwMDU8L3A+CjxwPkZpeGVkIGEgY291cGxlIG9mIG1pbm9yIGJ1Z3MgaW4gdGhlIEdldFVwbG9hZERldGFpbHMgYW5kIGFkZGVkIGFub3RoZXIgbGluayAob3IgYSB1cmwpIHRvIHRoZSB1cGxvYWRlZCBmaWxlLjwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMS4yLiAtIE9jdG9iZXIsIDIwMDU8L3A+CjxwPkZpeGVkIHRoZSBVUkwgZmllbGQgaW4gR2V0VXBsb2FkRGV0YWlscyB0byByZXR1cm4gYSBkb3dubG9hZCBsaW5rIGFuZCBhZGRlZCBhbiBhYnN1cmwgZmllbGQgd2hpY2ggcmV0dXJucyB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgZmlsZSBvbiB0aGUgd2Vic2VydmVyLiAgQ2xpY2tzIG9uIHRoaXMgbGluayB3aWxsIG5vdCBiZSBjb3VudGVkPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4xLjMuIC0gT2N0b2JlciwgMjAwNTwvcD4KPHA+Rml4ZWQgdGhlIHVwZ3JhZGUgcHJvYmxlbSBmcm9tIHRoZSAxLjAueCBzZXJpZXMuICBVc2VycyBvZiB0aGUgMS4wLnggc2VyaWVzIHNob3VsZCBiZSBhYmxlIHRvIHVwZ3JhZGUgdG8gMS4xLjMgbm93IHdpdGggbm8gZGlmZmljdWx0eS4gPGI+VGhvc2UgYXJlIGZhbW91cyBsYXN0IHdvcmRzLCBwbGVhc2UgYmFja3VwIGZpcnN0PC9iPi4gRml4ZWQgdGhlIGNvbnRlbnQgcmVkaXJlY3QgdGhpbmdzIHRoYXQgd2VyZSBpcnJpdGF0aW5nIG1lLiAgQWxzbyBhZGRlZCBjYXRlZ29yeT1hbGwgdG8gbGlzdCBhbGwgb2YgdGhlIHVwbG9hZHMgaW4gYWxsIGxpc3RhYmxlIGNhdGVnb3JpZXMgPGVtPihsZXRzIGFsbCBob3BlIEkgZ290IHRoZSBzcWwgZmlndXJlZCBvdXQgcHJvcGVybHkpPC9lbT4uPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4xLjQuIC0gT2N0b2JlciwgMjAwNTwvcD4KPHA+QWRkZWQgdGhlIGNvdW50IHBhcmFtZXRlciB0byBsaXN0IG9ubHkgdGhlIGZpcnN0IE4gcmVjb3JkcywgYW5kIGFkZGVkICJzdW1tYXJ5bGluayIsIGFuZCAiY2F0ZWdvcnkiIHRvIHRoZSB0ZW1wbGF0ZXMgZm9yIHdlc3Rpcy4gIEZvciBleGFtcGxlcyBvbiBob3cgdG8gdXNlIHRoZW0gcmVzZXQgeW91ciB0ZW1wbGF0ZXMgYmFjayB0byBkZWZhdWx0LjwvcD48L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4xLjUuIC0gTm92ZW1iZXIsIDIwMDU8L3A+CjxwPkFkZGVkIGVtYWlsIG5vdGlmaWNhdGlvbiBhbmQgc29tZSBidWcgZml4ZXM8L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjEuNi4gLSBOb3ZlbWJlciwgMjAwNTwvcD4KPHA+QWRkZWQgYW4gYXBpIGZ1bmN0aW9uIGFuZCBmaXhlZCBzb21lIHJlZGlyZWN0aW9uIHN0dWZmPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4xLjcuIC0gTm92ZW1iZXIsIDIwMDU8L3A+CjxwPk1vcmUgQVBJIGZ1bmN0aW9ucywgYW5kIG5vdyBpZ25vcmUgZG90IGZpbGVzIHdoZW4gc2Nhbm5pbmcuICBFbWFpbCBub3RpZmljYXRpb24gaXMgbm93IGluLjwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMS44LiAtIEphbnVhcnksIDIwMDY8L3A+CjxwPiogSW1wcm92ZWQgZG9jcyB3cnQgYXBhY2hlIGFuZCBwaHAgY29uZmlncy48L3A+CjxwPiogRml4ZWQgcHJvYmxlbSB3aGVyZSBmaWxlc2l6ZSB3YXMgc2hvd2luZyB1cCBhcyAwLjwvcD4KPHA+KiBNb2RpZmllZCBwZXJtaXNzaW9ucyB0byBiZSBtb3JlIGdyYW51bGFyPC9wPgo8cD4qIEFkZGVkIHNvbWUgY29tbWVudHMgYW5kIHZlcmJvc2l0eSB0byB0aGUgY2F0ZWdvcnkgYW5kIHVwbG9hZHMgZm9ybXMgaW4gdGhlIGFkbWluIHNlY3Rpb248L3A+CjxwPiogQWRkZWQgInJhbmRvbSIgc29ydCBvcmRlcjwvcD4KPHA+KiBTb21lIFBIUDUgZml4ZXM8L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjEuOS4gLSBKYW51YXJ5LCAyMDA2PC9wPgo8cD4qIEFkZGVkIHRoZSBhYmlsaXR5IHRvIHVwbG9hZCBhIHRodW1ibmFpbCBpbWFnZTwvcD4KPHA+KiBTb21lIGltcHJvdmVkIGF1ZGl0aW5nPC9wPgo8cD4qIHhtbCBub3cgYWRkZWQgdG8gdGhlIGRlZmF1bHQgZmlsZSB0eXBlcyAobmV3IGluc3RhbGxzIG9ubHkpPC9wPgo8cD4qIEFkZGVkIGEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gdGhlIHJlc2V0IHRvIGRlZmF1bHRzIGJ1dHRvbnMgb2YgdGhlIHRlbXBsYXRlIHBhZ2VzLjwvcD4KPHA+KiBBZGRlZCB0aGUgZmlsZV9leHRlbnNpb25zIHBhcmFtZXRlciBmb3IgdGhlIHVwbG9hZCBmb3JtPC9wPgo8cD4qIFRoZSBjdXJyZW50IGNhdGVnb3J5IHNlbGVjdGVkIGluIHRoZSBmaWxlcyBmaWx0ZXIgaXMgc3RpY2t5Lgo8cD4qIEFkZGVkIGEgcHJlZmVyZW5jZSB0byBlbmZvcmljZSBmaWxlbmFtZSBleHRlbnNpb25zIChkZWZhdWx0cyB0byBvbik8L3A+CjxwPiogQWRkZWQgYSBsaW5rIHRvIHRoZSBlZGl0IHBhZ2UsIGluIHRoZSBuYW1lIGNvbHVtbiBvZiB0aGUgZmlsZXMgbGlzdC48L3A+CjxwPiogTWlub3IgY2hhbmdlcyB0byB0aGUgbGF5b3V0IGFuZCB0ZXh0IHRvIGFkZCBjbGFyaXR5LjwvcD4KPHA+KiBBZGRlZCBkb3dubG9hZF91cmwgYXMgYW4gYXZhaWxhYmxlIHNtYXJ0eSB0YWcgaW4gdGhlIHRlbXBsYXRlczwvcD4KPGxpPgo8cD5WZXJzaW9uIDEuMS4xMC4gLSBGZWJydWFyeSwgMjAwNjwvcD4KPHA+KiBTdW1tYXJ5IG5vdyBkZWZhdWx0cyB0byB0aGUgZmlsZW5hbWUgKHdpdGhvdXQgdGhlIGV4dGVuc2lvbikgaWYgbm9uZSBpcyBzcGVjaWZpZWQ8L3A+CjxwPiogTm93IGNvcnJlY3RseSBoYW5kbGUgaWYgdGhlIHRodW1ibmFpbCBleHRlbnNpb24gaXMgbm90IGluIHRoZSBhY2NlcHRlZCBleHRlbnNpb24gbGlzdDwvcD4KPHA+KiBObyBsb25nZXIgZGlzcGxheSBhbnkgY29udGVudCBpbiB0aGUgZmlsZXMgdGFiIGlmIHRoZXJlIGFyZSBubyBjYXRlZ29yaWVzIGRlZmluZWQ8L3A+CjxwPiogRGlzcGxheSBhIGxpbmsgaW4gdGhlIGVycm9yIHBhZ2UgdGhhdCB0YWtlcyB5b3UgYmFjayB0byB0aGUgbWFpbiBhZG1pbiBwYW5lbDwvcD4KPHA+KiBBbGxvdyBmb3IgcmVwbGFjaW5nIG9mIHVwbG9hZGVkIGZpbGVzPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4xLjExLiAtIE1hcmNoLCAyMDA2PC9wPgo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgYSBsaW5rIHRvIGEgZGV0YWlsZWQgcGFnZSB3aGVuIGluIHN1bW1hcnkgbW9kZS48L3A+CjxwPlNwbGl0IHRoZSBkZWZhdWx0IGFjdGlvbiBhbmQgZGVmYXVsdGFkbWluIGFjdGlvbnMgaW50byBzZXBhcmF0ZSBmaWxlcywgZm9yIGEgYml0IG9mIG1lbW9yeSBpbXByb3ZlbWVudCwgaG9wZWZ1bGx5PC9wPgo8cD5BZGQgdGhlIGFiaWxpdHkgdG8gcmVkaXJlY3QgdG8gYW5vdGhlciBwYWdlIGFmdGVyIGEgZnJvbnRlbmQgdXNlciB1cGxvYWRlZCBhIGZpbGU8L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjEuMTIuIC0gTWFyY2gsIDIwMDY8L3A+CjxwPkFkZGVkIHRoZSBzaW5nbGVzdW1tYXJ5IG1vZGUgdG8gZGlzcGxheSBhIHNpbmdsZSB1cGxvYWQgaW4gc3VtbWFyeSBtb2RlPC9QPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4xLjEzLiAtIEFwcmlsLCAyMDA2PC9wPgo8cD5BZGRlZCBvcHRpb25hbCBmaWx0ZXJpbmcgb24gdGhlIGZyb250ZW5kLCBhbmQgYSBjb3VwbGUgb2YgZXh0cmEgcGFyYW1ldGVycyB0byBnbyB3aXRoIGl0PC9wPgo8cD5GaXhlZCBhIHByb2JsZW0gd2hlcmUgaXQgd291bGQgYWxsb3cgeW91IHRvIGVudGVyIGEgYmxhbmsgcGF0aCB3aGVuIGNyZWF0aW5nIGEgY2F0ZWdvcnk8L3A+CjxwPlNwbGl0IHN0dWZmIGludG8gKHNvbWUpIHNlcGFyYXRlIGFjdGlvbiBmaWxlcyBmb3Igc29tZSBob3BlZnVsIHBlcmZvcm1hbmNlIGluY3JlYXNlczwvcD4KPHA+QWRkZWQgY29weXJpZ2h0IG5vdGljZXM8L3A+CjxwPkNoYW5nZWQgKG9wdGlvbmFsKSBkZXBlbmRlbmN5IGZyb20gVXNlcklEIHRvIEZyb250RW5kVXNlcnMgTW9kdWxlLjwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMi4xIC0gQXByaWwsIDIwMDY8L3A+CjxwPkNoYW5nZWQgX3NjYW5EaXJlY3RvcnkgdG8gYW4gQVBJIGZ1bmN0aW9uIFNjYW5EaXJlY3RvcnkgYW5kIHRoZW4gYWRkZWQgU21hcnRTY2FuRGlyZWN0b3J5IHRvIHNjYW4gdGhlIGRpcmVjdG9yeSBiZWZvcmUgZGlzcGxheWluZyB0aGUgc3VtbWFyeSBvciBkZXRhaWwgbGlzdGluZyB0byBoYW5kbGUgdGhlCmNhc2Ugd2hlcmUgc29tZWJvZHkgdXBsb2FkZWQgZmlsZXMgdmlhIEZUUCBvciBzb21ldGhpbmcgYW5kIGRpZCBub3QgZ28gaW50byB0aGUgYWRtaW4gc2VjdGlvbiB0byB1cGRhdGUgdGhlIGNhdGVnb3JpZXMuPC9wPgo8cD5Db3JyZWN0aW9uIHRvIGFsbCBkYiBhY2Nlc3Mgc3R1ZmYuIEhvcGVmdWxseSBwcm92aWRlcyBhIHBlcmZvcm1hbmNlIGluY3JlYXNlLjwvcD4KPHA+Rml4ZXMgdG8gdGhlIGFib3V0IHN0dWZmLCBub3cgdXNlIENyZWF0ZVBhcmFtZXRlcjwvcD4KPHA+QWRkZWQgdGhlIHVwbG9hZF90ZW1wbGF0ZSwgc3VtbWFyeV90ZW1wbGF0ZSwgYW5kIGRldGFpbF90ZW1wbGF0ZSAob3B0aW9uYWwpIHBhcmFtZXRlcjwvcD4KPHA+QWRkZWQgdGhlIG5vYXV0aG9yIHBhcmFtZXRlciwgYW5kIHRoZSBrZXkgcGFyYW1ldGVyLiAgVGhlIGtleSBwYXJhbWV0ZXIgYWxsb3dzIHRoZSB1cGxvYWRzIG1vZHVsZSB0byBiZSBlbWJlZGRlZCBpbnRvIG90aGVyIG1vZHVsZXM8L3A+CjxwPk1vdmVkIHRvIHVuZGVyIHRoZSBjb250ZW50IG1lbnUsIGFuZCBlbnRpdGxlZCBcJ0ZpbGVzIChVcGxvYWQgTW9kdWxlKVwnPC9wPjsKPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMi4yIC0gSnVuZSwgMjAwNgo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBoYXZlIG11bHRpcGxlIGRhdGFiYXNlIHRlbXBsYXRlcywgYW5kIHRvIHNlbGVjdCBvbmUgb24gdGhlIHRhZyB3aXRoIHRoZSB0ZW1wbGF0ZSBwYXJhbWV0ZXIuPC9wPgo8cD5GaXhlZCBhbiBpc3N1ZSB3aGVyZSBmaWxlcyB3ZXJlIGdldHRpbmcgY29ycnVwdGVkIG9uIGRvd25sb2FkPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4yLjMgLSBKdW5lLCAyMDA2CjxwPkZpeGVzIHRvIHVzZSBhZG9kYi1saXRlIHByb3BlciwgcmF0aGVyIHRoYW4gdGVkcyBoYWNrPC9wPgo8cD5EZXRhaWwgbGluayBub3cgZGlzcGxheXMgaW5saW5lPC9wPgo8cD5PdGhlciBtaW5vciB0d2Vha3MgdGhhdCBJIGNhbnQgcmVtZW1iZXI8L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMy4wIC0gU2VwdGVtYmVyLCAyMDA3Cjx1bD4KPGxpPkZpeGVzIHRvIHRoZSBEVCBmaWVsZCB0eXBlPC9saT4KPGxpPlVzZSB0aGUgRkVVIHVzZXJuYW1lIChvcHRpb25hbGx5KSBzbyB0aGF0IHdlIGNhbiB0cmFjayB3aGVuIGEgbG9nZ2VkIGluIHVzZXIgdXBsb2FkcyBhIGZpbGU8L2xpPgo8bGk+QWRkIGZpbGV0eXBlIGNhcGFiaWxpdGllcyB0byBhc3NvY2lhdGUgYW4gaWNvbiB3aXRoIGEgcGFydGljdWxhciB1cGxvYWQuICBBbHNvIHN1cHBvcnQgYW4gdW5rbm93biBmaWxlIHR5cGUgZm9yIGFueXRoaW5nIHRoYXQgZG9lcyBub3QgbWF0Y2guPC9saT4KPGxpPkNvbXBsZXRlbHkgcmUtd29ya2VkIHRoZSBtdWx0aXBsZSBkYXRhYmFzZSB0ZW1wbGF0ZSBzdHVmZi48L2xpPgo8bGk+QWRqdXN0bWVudHMgdG8gdGhlIGRlZmF1bHQgdGVtcGxhdGVzPC9saT4KPGxpPkZpeGVzIHRvIHVzaW5nIGNhdGVnb3J5PSJhbGwiPC9saT4KPGxpPkdlbmVyYXRlIHRodW1ibmFpbHMgYXV0b21hdGljYWxseSAob3B0aW9uYWxseSkgZm9yIGNlcnRhaW4gZmlsZSB0eXBlcywgb24gdXBsb2FkLCBhbmQgb24gc2Nhbi48L2xpPgo8bGk+QWRkIGNhcHRjaGEgc3VwcG9ydCB0byB0aGUgdXBsb2FkIGZvcm08L2xpPgo8bGk+QWRkIGEgc2FmZSBtb2RlIHdhcm5pbmcgaW4gdGhlIGFkbWluIHBhbmVsPC9saT4KPGxpPlVzZXMgY2h1bmtlZCBkb3dubG9hZHMuPC9saT4KPGxpPkFkZHMgcHJlZml4IGFuZCBwcmVmaXhfZmV1IGNhcGFiaWxpdHkgdG8gdXBsb2FkZWQgZmlsZXMuPC9saT4KPGxpPkFkZGVkIHRoZSBkZXRhaWxwYWdlIHBhcmFtLjwvbGk+CjxsaT5BZGRlZCB0aGUgYWJpbGl0eSB0byBkaXNwbGF5IGFuIGltYWdlIGluIGZ1bGwgc2l6ZSAob3Igd2hhdGV2ZXIgc2l6ZSB3ZSB3YW50KSwgc28gdGhhdCB0aGUgdXBsb2FkcyBtb2R1bGUgY2FuIGJlIHVzZWQgYXMgYSBnYWxsZXJ5LjwvbGk+CjxsaT5BZGRlZCBzZWN1cml0eSAodmlhIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSkgdG8gY2F0ZWdvcmllczwvbGk+CjxsaT5BZGRlZCBhIHNlbGVjdCBtb2RlIHRvIGdlbmVyYXRlIGEgcHVsbGRvd24gb2YgZmlsZXMgaW4gYSBjYXRlZ29yeSwgZm9yIHVzZSB3aGVuIGF0dGFjaGluZyB1cGxvYWRzIG1vZHVsZSB0byBzb21lIG90aGVyIG1vZHVsZS48L2xpPgo8bGk+QWRkcyBhIGNhdGVnb3J5IGJyb3dzZXIsIGZpeGVzIGEgcmV3IG1pbm9yIGlzc3VlcywgYW5kIHR3ZWFrcyB0aGUgYXZhaWxhYmxlIGZpbGUgdHlwZSBpY29uczwvbGk+CjwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjQgLSBOb3ZlbWJlciAyMDA4Cjx1bD4KPGxpPk1ham9yIGNsZWFudXAgb2YgdGhlIGRlZmF1bHQgYWN0aW9uPC9saT4KPGxpPkFkZHMgcGFnaW5hdGlvbiB0byBzdW1tYXJ5IHZpZXc8L2xpPgo8bGk+QWRkcyBwcmV0dHkgdXJscyBmb3IgZmlsZSBsaW5rczwvbGk+CjxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIHJlcGxhY2UgdGh1bWJuYWlscyBhZnRlciB0aGUgZmlsZSBpcyB1cGxvYWVkLjwvbGk+CjxsaT5DaGFuZ2UgdGh1bWJuYWlscyBmcm9tIHVzaW5nIGEgLnRodW1icyBkaXJlY3RvcnkgdG8gdXNpbmcgYSBzdGFuZGFyZCB0aHVtYl8gcHJlZml4LjwvbGk+CjxsaT5OdW1lcm91cyBCdWdmaXhlczwvbGk+CjwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjQgLSBGZWJydWFyeSAyMDA5CiAgPHVsPgogICAgIDxsaT5GaXggcHJvYmxlbSB3aXRoIHNjYW5uaW5nIGRpcmVjdG9yaWVzLCBhbmQgY3JlYXRpbmcgdGh1bWJuYWlscy48L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjUuMSAtIE1heSAyMDA5CiAgPHVsPgogICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSBmaWxlcyBmcm9tIHRoZSBmcm9udGVuZC48L2xpPgogICAgIDxsaT5GaXhlcyBwcm9ibGVtIHdpdGggc2NhbiBkaXJlY3Rvcnkgd2hlbiBub3QgYWxzbyBsb2dnZWQgaW4gdG8gdGhlIGFkbWluIHBhbmVsIGluIHRoZSBzYW1lIGJyb3dzZXIgc2Vzc2lvbi48L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjYgLSBGZWJydWFyeSAyMDA5CiAgPHVsPgogICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGRpc3BsYXkgYSBmb3JtIHRvIHNlbmQgYW4gZW1haWwgdG8gc2VsZWN0ZWQgcGVvcGxlIHdpdGggZGV0YWlscyBhYm91dCBhIGZpbGUuPC9saT4KICAgICA8bGk+QWRkcyB0aGUgeW91c2VuZGl0IGNhcGFiaWxpdHkgdG8gdXBsb2FkIGEgZmlsZSBhbmQgc2ltdWx0YW5vZW91c2x5IHNlbmQgZGV0YWlscyB0byBzZWxlY3RlZCBwZW9wbGUuPC9saT4KICA8L3VsPgo8L2xpPgoKPGxpPlZlcnNpb24gMS43IC0gSnVseSAyMDA5CiAgPHVsPgogICAgIDxsaT5Ob3cgZGVwZW5kcyBvbiBDR0V4dGVuc2lvbnMgZm9yIHRlbXBsYXRpbmc8L2xpPgogICAgIDxsaT5BZGRzIHRpbWUgbGltaXRlZCBVUkxTPC9saT4KICA8L3VsPgo8L2xpPgoKPGxpPlZlcnNpb24gMS43LjEgLSBKdWx5IDIwMDkKICA8dWw+CiAgICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjggLSBKdWx5IDIwMDkKICA8dWw+CiAgICA8bGk+TWlub3IgYnVnIGZpeGVzLjwvbGk+CiAgICA8bGk+QWRkIGEgY2F0ZWdvcnkgc2VsZWN0IGNvbnRlbnQgYmxvY2sgZm9yIENNUyAxLjcuPC9saT4KICA8L3VsPgo8L2xpPgoKPGxpPlZlcnNpb24gMS45IC0gSnVseSAyMDA5CiAgPHVsPgogICAgPGxpPlVwZGF0ZXMgZm9yIENNUyAxLjc8L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjkuMSAtIFNlcHRlbWJlciAyMDA5CiAgPHVsPgogICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjkuMiAtIFNlcHRlbWJlciAyMDA5CiAgPHVsPgogICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjkuMyAtIE9jdG9iZXIgMjAwOQogIDx1bD4KICAgIDxsaT5PbmUgbWlub3IgYnVnIGZpeC48L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjkuNCAtIE9jdG9iZXIgMjAwOQogIDx1bD4KICAgIDxsaT5taW5vciBidWcgZml4ZXM8L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjEwIC0gT2N0b2JlciAyMDA5CiAgPHVsPgogICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gYXV0byBkZWxldGUgZmlsZXMgYmVzZWQgb24gYSBtYXggYWdlIHNwZWNpZmllZCBpbiB0aGUgY2F0ZWdvcnk8L2xpPgogICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gYWRkIGEgdGltZSBsaW1pdGVkIGtleSwgYW5kIHNlbmQgYW4gZW1haWwgYXV0b21hdGljYWxseSBvbiB1cGxvYWQgaW4gdGhlIGFkbWluLjwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuMTAuMSAtIE9jdG9iZXIgMjAwOQogIDx1bD4KICAgPGxpPkZpeGVzIGJ1ZyB3aXRoIGRlbGV0ZWluZyBmaWxlcy4gLSB0aGUgZGVsZXRlIHVybCBpcyBzdGlsbCBub3QgaW4gdGhlIGRlZmF1bHQgc3VtbWFyeSB0ZW1wbGF0ZSAoaW50ZW50b25hbGx5KTwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuMTAuMiAtIE9jdG9iZXIgMjAwOQogIDx1bD4KICAgPGxpPkFkZHMgYSBuZXcgcGVybWlzc2lvbiB0aGF0IGFsbG93cyBvbmx5IGFjY2VzcyB0byB0aGUgZnVuY3Rpb25hbGl0eSBvbiB0aGUgZmlsZXMgdGFiLjwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuMTAuMyAtIE9jdG9iZXIgMjAwOQogIDx1bD4KICAgPGxpPk1pbm9yIEJ1ZyBGaXhlczwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuMTAuNCAtIE9jdG9iZXIgMjAwOQogIDx1bD4KICAgPGxpPk1pbm9yIEJ1ZyBGaXhlczwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuMTEgLSBNYXJjaCwgMjAxMAogIDx1bD4KICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gb3B0aW9uYWxseSBkaXNhYmxlIHNjYW5uaW5nIG9mIGNhdGVnb3JpZXMuPC9saT4KICA8L3VsPgo8L2xpPgoKPGxpPlZlcnNpb24gMS4xMS4xIC0gTWFyY2gsIDIwMTAKICA8dWw+CiAgIDxsaT5GaXggbWlub3IgaXNzdWVzLjwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuMTEuMiAtIE1hcmNoLCAyMDEwCiAgPHVsPgogICA8bGk+Rml4IG1pbm9yIGlzc3Vlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTEuMyAtIEFwcmlsLCAyMDEwCiAgPHVsPgogICA8bGk+Rml4IG1pbm9yIGlzc3Vlcy48L2xpPgogICA8bGk+SW1wcm92ZW1lbnRzIHRvIENvcHkgUHJvZHVjdCAoVGVkKTwvbGk+CiAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGZpbHRlciBzdW1tYXJ5IGxpc3QgYnkgYWRkaXRpb25hbCBmaWVsZHMuIChUZWQpPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjExLjQgLSBKdWx5LCAyMDEwCiAgPHVsPgogICA8bGk+Rml4IG1pbm9yIGlzc3VlcyB3aXRoIGNhdGVnb3J5PWFsbDwvbGk+CiAgIDxsaT5GaXhlcyBwcm9ibGVtIHdpdGggc2VhcmNoIGluZGV4aW5nLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xMS41IC0gU2VwdCwgMjAxMAogIDx1bD4KICAgPGxpPkZpeCBtaW5vciBjb21wYXRpYmlsaXR5IGlzc3VlLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xMS42IC0gSmFuLCAyMDExCiA8dWw+CiAgPGxpPkZpeGVzIHNsb3cgcXVlcmllcyBpbiBkZWZhdWx0IG1vZGUgd2hlbiB0aGVyZSBhcmUgbWFueSBkb3dubG9hZHMgdG8gZ2F0aGVyIHN0YXRpc3RpY3MgZm9yLjwvbGk+CiAgPGxpPk1pbm9yIGZpeGVzIHJlbGF0ZWQgdG8gRV9TVFJJQ1QuPC9saT4KICA8bGk+TWlub3IgdXBkYXRlcyB0byBoZWxwLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjEyIC0gTWF5LCAyMDExCiAgPHVsPgogICAgIDxsaT5BZGRzIHNvbWUgbmV3IEFQSSBjbGFzc2VzLCBhbmQgbWlub3Igb3B0aW1pemF0aW9ucy48L2xpPgogICAgIDxsaT5BZGRzIGEgc21hcnR5IHBsdWdpbiBmb3IgY29weWluZyBhbnkgZmlsZSBpbnRvIHRoZSB1cGxvYWRzIG1vZHVsZSBhbmQgZ2VuZXJhdGluZyBhIHRpbWUgbGltaXRlZCBVUkw8L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTMgLSBNYXksIDIwMTEKICA8dWw+CiAgICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gdmlldyB0aGUgdXBsb2FkZWQgZmlsZXMgZnJvbSB3aXRoaW4gdGhlIGFkbWluIGludGVyZmFjZS48L2xpPgogICAgIDxsaT5BZGRzIGFkbWluIHBhZ2luYXRpb24uPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE0IC0gQXVndXN0LCAyMDExCiAgPHVsPgogICAgIDxsaT5BZGRzIHByZXR0eSB1cmwgc3VwcG9ydCBmb3IgZGV0YWlsIHVybHMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE0LjMgLSBKYW51YXJ5LCAyMDExCiAgPHVsPgogICAgPGxpPk1pbm9yIGVuaGFuY2VtZW50cyBhbmQgYnVnIGZpeGVzLjwvbGk+CiAgICA8bGk+TW92ZXMgaGVscCBleHRlcm5hbC48L2xpPgogICAgPGxpPk1pbm9yIG9wdGltaXphdGlvbnMgZm9yIDEuMTEueDwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xNi54CiAgPHVsPgogICAgPGxpPk51bWVyb3VzIG1pbm9yIGVuaGFuY2VtZW50cyBhbmQgYnVnIGZpeGVzLjwvbGk+CiAgICA8bGk+QWRkcyByZXBvcnRpbmcgb3B0aW9ucy48L2xpPgogICAgPGxpPlBlcmZvcm1hbmNlIGltcHJvdmVtbnRzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xNy54CiAgPHVsPgogICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gKG9wdGlvbmFsbCkgY2hhbmdlIHRoZSB1cGxvYWQgZGF0ZSBvZiBhIGZpbGUuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE4LngKICA8dWw+Cgk8bGk+U2lnbmlmaWNhbnQgY2xlYW51cCBhbmQgbWVtb3J5IG9wdGltaXphdGlvbi48L2xpPgoJPGxpPkFkZHMgYWJpbGl0eSB0byBpbmRleCB0ZXh0IGFuZCBQREYgZmlsZXMuPC9saT4KCTxsaT5DbGVhbiB1cCBlbnRpdGllcyBpbiB0aGUgZGVmYXVsdCwgYWRkIGNhdGVnb3J5IGFuZCBlZGl0IGNhdGVnb3J5IGFjdGlvbnMuPC9saT4KCTxsaT5DbGVhbiB1cCBlbnRpdGllcyBhbmQgc2FuaXRpemUgaW5wdXQgaW4gdGhlIGRlZmF1bHQgdXBsb2FkIG1vZGUuPC9saT4KCTxsaT5BZGRzIGEgY2xhc3MgZm9yIG1hbmFnaW5nIGNhdGVnb3JpZXMuLi4oMS4xOC41KTwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xOQoJPHVsPgoJPGxpPkFkZHMgdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24gYW5kIGFzc29jaWF0ZWQgcGFyYW1ldGVycy4gIFJlbW92ZXMgdGhlIGJyb2tlbiBjYXRlZ29yeXN1bW1hcnkgdmlldy48L2xpPgoJPGxpPkNvbnZlcnRzIG1vc3Qgc3VtbWFyeSB2aWV3cywgYW5kIHRoZSBkZXRhaWwgYWN0aW9uIHRvIHVzZSB0aGUgc21hcnR5IHRlbXBsYXRlIG9iamVjdCBpbnN0ZWFkIG9mIHRoZSBnbG9iYWwgc21hcnR5IG9iamVjdC48L2xpPgoJPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xOS4xCiAJPHVsPgoJPGxpPk1pbm9yIGJ1ZyBmaXguPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTkuMwogCTx1bD4KCTxsaT5DcmVhdGVzIHN0YXJ0IG9mIG5ldyBVcGxvYWQgb2JqZWN0LjwvbGk+CiAgICAgICAgPGxpPmNvbnZlcnQgc2VuZGZpbGUgYW5kIHlvdXNlbmRpdCBhY3Rpb25zIHRvIHVzZSBuZXcgc21hcnR5IHRlbXBsYXRlIG9iamVjdCBpbnN0ZWFkIG9mIGdsb2JhbCBzbWFydHkgb2JqZWN0LjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIwCiAgICAgICAgPGRpdiBjbGFzcz0id2FybmluZyI+PHN0cm9uZz5XYXJuaW5nOjwvc3Ryb25nPiBUaGVyZSB3aWxsIHByb2JhYmx5IGJlIGNvbXBhdGliaWxpdHkgaXNzdWVzIGZvciB0aG9zZSBwZW9wbGUgdXBncmFkaW5nIHRvIHRoaXMgc2VyaWVzLjxici8+CiAgICAgICAgICAgICBUaGlzIHZlcnNpb24gYmVnaW5zIHRoZSBjbGVhbnVwIHByb2Nlc3Mgb2YgdGhlIFVwbG9hZHMgbW9kdWxlLiAgTWFueSBtb2RlcyBoYXZlIGJlZW4gcmVtb3ZlZCwgYW5kIHRlbXBsYXRlcyBjaGFuZ2VkLgogICAgICAgICAgICAgWW91IG1heSBuZWVkIHRvIHJlc2V0IHlvdXIgdGVtcGxhdGVzIGJhY2sgdG8gZmFjdG9yeSBkZWZhdWx0IHNldHRpbmdzLCBhbmQgcmUtYnVpbGQgdGhlbSwgIGFuZCBhZGp1c3QgbWFueSBvZiB5b3VyIGNhbGxzIHRvIHRoZSBVcGxvYWRzIG1vZHVsZS5pCiAgICAgICAgICAgICBBcyB3ZWxsLCB0aGlzIHZlcnNpb24gcmVtb3ZlcyB0aGUgYXV0b21hdGljIHRodW1ibmFpbGluZyBhbmQgd2F0ZXJtYXJraW5nIGZ1bmN0aW9uYWxpdHkuPC9kaXY+CiAJPHVsPgoJPGxpPlJlbW92ZSB0aGUgbGluaywgc2VsZWN0LCBhbmQgdmFyaW91cyBkZXRhaWxlZCAnbW9kZXMnIHRvIGJlIG1vcmUgaW5saW5lIHdpdGggdGhlIG90aGVyIG1vZHVsZXMuPC9saT4KCTxsaT5BZGRzIHRhYmxlc29ydGVyIHRvIHRoZSBjYXRlZ29yaWVzIHRhYi48L2xpPgoJPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gdXBsb2FkIGZpbGVzIGFzIHVuaXF1ZWx5IGdlbmVyYXRlZCwgYXV0by1pbmNyZW1lbnRpbmcgZmlsZW5hbWVzLjwvbGk+Cgk8bGk+UmVtb3ZlcyBhdXRvbWF0aWMgdGh1bWJuYWlsaW5nIGFuZCB3YXRlcm1hcmtpbmcgZnJvbSB1cGxvYWRlZCBpbWFnZXMuPC9saT4KCTxsaT5TZXBhcmF0ZSB0aHVtYm5haWwgZnVuY3Rpb25hbGl0eSwgYW5kIGZpbGUgdHlwZSBmdW5jdGlvbmFsaXR5IGlzIG5vdyBkZXByZWNhdGVkIChiZWxvbmdzIGVsc2V3aGVyZSkuPC9saT4KCTxsaT5SZXdyaXRlcyB0aGUgdXBsb2FkIGhhbmRsZXIgKGZyb250ZW5kIGFuZCBhZG1pbikgdG8gYmUgY2xlYW5lci48L2xpPgoJPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4yMC4xCiAJPHVsPgoJPGxpPkZpeCBtaW5vciB1c2FnZSBvZiBkZXByZWNhdGVkIGVyZWcgZnVuY3Rpb24uPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjEKIAk8dWw+Cgk8bGk+Rml4ZXMgdG8gc3VibmV0IGV4Y2x1c2lvbiBzdHVmZi48L2xpPgoJPGxpPlJlLWZyYWN0b3IgdGhlIGlucHV0X2F1dGhvciBzdHVmZiBpbiB0aGUgdXBsb2FkIGZvcm0uLi4uIHRlbXBsYXRlcyBkaWQgY2hhbmdlLCB5b3UgbWF5IGV4cGVyaWVuY2UgY29tcGF0aWJpbGl0eSBpc3N1ZXMgdW50aWwgeW91IHJlLXNldCB5b3VyIHVwbG9hZCBmb3JtIHRlbXBsYXRlLjwvbGk+Cgk8bGk+UmVtb3ZlIHRoZSBub2F1dGhvciBwYXJhbWV0ZXIuPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjIKIAk8dWw+Cgk8bGk+Q29tcGxldGVseSByZXdyaXRlcyB0aGUgeW91c2VuZGl0IGFjdGlvbi4KCSAgIDxwPjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gWW91ciB5b3VzZW5kaXQgdGVtcGxhdGVzIHdpbGwgbm8gbG9uZ2VyIGZ1bmN0aW9uIGFuZCBtdXN0IGJlIHJlLWNyZWF0ZWQgZnJvbSBmYWN0b3J5IGRlZmF1bHRzLjwvcD4KCSAgIDxwPlRoaXMgYWN0aW9uIG5vdyB1c2VzIHRoZSBqcXVlcnkgZmlsZSB1cGxvYWRlciB0byBhbGxvdyB1cGxvYWRpbmcgYW55IHNpemUgb2YgZmlsZXMuICBBZGRpdGlvbmFsbHksIHRoZSBzZW5kZmlsZV90byBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gZml4IHRoZSBkZXN0aW5hdGlvbiBieSBhZG1pbiB1c2VyIG5hbWUgb3IgZW1haWwgYWRkcmVzcy4gIFRoZSBqcXVlcnkgZmlsZSB1cGxvYWQgcGx1Z2luIHVzZWQgdG8gaW1wbGVtZW50IHRoZSB5b3VzZW5kaXQgZnVuY3Rpb25hbGl0eSBjYW4gZWl0aGVyIGJlIGluY2x1ZGVkIGV4dGVybmFsbHksIG9yIGZvdW5kIGluIEpRdWVyeVRvb2xzIDEuMy45KzwvcD4KCTwvbGk+Cgk8bGk+UmVmYWN0b3Igc29tZSB0ZW1wbGF0ZSBmb3Jtcy48L2xpPgoJPGxpPlJlZmFjdG9yIHRoZSB1cGxvYWQgY2xhc3MsIGFuZCBub3cgYWRkIGFuIHVwbG9hZF9oZWxwZXIgZm9yIHVzZSBpbiBkaXNwbGF5cy48L2xpPgoJPGxpPkFkZHMgYW4gZXhwZXJpbWVudGFsIGFqYXh5IGNhcHRjaGEgY2hlY2tpbmcgYWN0aW9uLjwvbGk+Cgk8L3VsPgoJPC9saT4KPGxpPlZlcnNpb24gMS4yMwogICAgPHAgY2xhc3M9Ildhcm5pbmciPkluIGFsbCBsaWtlbHlob29kIHRoaXMgd2lsbCBiZSB0aGUgbGFzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlIHRoYXQgc3VwcG9ydHMgQ01TTVMgMS54PC9wPgoJPHVsPgoJPGxpPkJ1ZyBmaXhlcy48L2xpPgoJPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gc29ydCBieSBhIGZpZWxkIGluIHN1bW1hcnkgdmlldy4gIGkuZTogIHNvcnRvcmRlcj1maWVsZDpuYW1lIG9yIHNvcnRvcmRlcjpkZXNjOm5hbWU8L2xpPgoJPC91bD4KCTwvbGk+CjxsaT5WZXJzaW9uIDEuMjQKICAgPHVsPgogICAgIDxsaT5BZGRzIGEgc2ltcGxlIHJldHVybnRvIG1ldGhvZCBzbyB0aGF0IG90aGVyIG1vZHVsZXMgY2FuIHVzZSB0aGUgVXBsb2FkcycgbW9kdWxlJ3MgZm9ybXMuPC9saT4KICAgICA8bGk+TnVtZXJvdXMgbWlub3Igb3B0aW1pemF0aW9ucy48L2xpPgogICAgIDxsaT5SZW1vdmVzIGZpbmFsbHksIHRoZSAnbW9kZScgcGFyYW1ldGVyLiAgVGhpcyBtb2R1bGUgaXMgbm93IGlubGluZSB3aXRoIGFsbCBvdGhlciBtb2R1bGVzLCBhbmQgdXNlcyB0aGUgJ2FjdGlvbicgcGFyYW1ldGVyIHRvIHNwZWNpZnkgaXRzIGFsdGVybmF0ZSBmdW5jdGlvbmFsaXR5LjwvbGk+CiAgIDwvdWw+CiAgLDwvbGk+CjwvdWw+CjxsaT5WZXJzaW9uIDEuMjUKICAgPHVsPgogICAgIDxsaT5CdWcgZml4ZXM8L2xpPgogICAgIDxsaT5JbXByb3ZlbWVudHMgdG8gdGhlIHVwbG9hZGFzc2lzdGFudCBjbGFzcy48L2xpPgogICAgIDxsaT5NaW5vciB2aXN1YWwgaW1wcm92ZW1lbnRzLjwvbGk+CiAgICAgPGxpPkZpeGVkIGEgYnVnIHdoZXJlIG5vbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyB3b3VsZCBnZXQgc3RyaXBwZWQgb24gdXBsb2FkLiAgVGhpcyBoYXMgZXhpc3RlZCBzaW5jZSBhdCBsZWFzdCAyMDA1LjwvbGk+CiAgIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjYKICAgPHVsPgogICAgICA8bGk+UmVtb3ZlIHRoZSBzbWFsb3QgcGRmIHBhcnNlciwgaW4gZXhjaGFuZ2UgZm9yIHNoZWxsX2V4ZWMgYW5kIGdob3N0c2NyaXB0IHdoaWNoIGlzIGZhc3RlciBhbmQgc2ltcGxlci4uIGJ1dCBpbnRyb2R1Y2VzIGRlcGVuZGVuY2llcy48L2xpPgogICAgICA8bGk+Y29kZSBjbGVhbnVwLjwvbGk+CiAgIDwvdWw+CjwvbGk+CjxiciAvPg==]]></about>
	<description><![CDATA[A module that allows users to upload files, and allows you to manage them.]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.64</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSimpleSmarty</requiredname>
	  <requiredversion>2.1.6</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/.cms_ignore</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[Y29tcG9zZXIuKgo=]]></data>
	</file>
	<file>
	  <filename>/action.addcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24gKCdNYW5hZ2UgVXBsb2FkcycpICkgcmV0dXJuOwoKLy8gcG9wdWxhdGUgdGhlIHRlbXBsYXRlCiRzbWFydHktPmFzc2lnbiAoJ3RpdGxlJywgJHRoaXMtPkxhbmcgKCdhZGRjYXRlZ29yeScpKTsKJHNtYXJ0eS0+YXNzaWduICgnc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCdkb19hZGRjYXRlZ29yeScsJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbiAoJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7Cgokcm93ID0gYXJyYXkoJ3VwbG9hZF9jYXRlZ29yeV9pZCc9Pi0xLAoJICAgICAndXBsb2FkX2NhdGVnb3J5X25hbWUnPT4nJywKCSAgICAgJ3VwbG9hZF9jYXRlZ29yeV9kZXNjcmlwdGlvbic9PicnLAoJICAgICAndXBsb2FkX2NhdGVnb3J5X3BhdGgnPT4nJywKCSAgICAgJ3VwbG9hZF9jYXRlZ29yeV9saXN0YWJsZSc9PjEsCgkgICAgICd1cGxvYWRfY2F0ZWdvcnlfZ3JvdXBzJz0+JycsCgkgICAgICd1cGxvYWRfY2F0ZWdvcnlfZGVsZXRhYmxlJz0+MCwKCSAgICAgJ3VwbG9hZF9jYXRlZ29yeV9leHBpcmVzX2hycyc9PjAsCgkgICAgICd1cGxvYWRfY2F0ZWdvcnlfc2Nhbm5hYmxlJz0+MSwKCSAgICAgJ3VwbG9hZF9jYXRlZ29yeV91c2VycGVybXMnPT4wLAoJICAgICAndXBsb2FkX2NhdGVnb3J5X2RmbHR1c2VycGVybXMnPT4nJwoJICAgICApOwokc21hcnR5LT5hc3NpZ24oJ2RhdGEnLCRyb3cpOwoKJGZldXNlcnMgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICRmZXVzZXJzICkgewogIC8vIGdldCBhIGxpc3Qgb2YgdGhlIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUKICAkZ3JvdXBzID0gJGZldXNlcnMtPkdldEdyb3VwTGlzdCgpOwogICRzZWxncm91cHMgPSBhcnJheSgpOwogIGlmKCBjb3VudCgkZ3JvdXBzKSA+IDAgKSB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2dyb3VwbGlzdCcsJHNlbGdyb3Vwcyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2ZldV9ncm91cHMnLGFycmF5X2ZsaXAoJGdyb3VwcykpOwogIH0KfQoKLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSAoJ2FkZGNhdGVnb3J5LnRwbCcpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.addfiletype.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBVcGxvYWRzJykgKSByZXR1cm47CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsJHBhcmFtcyk7CgokaWNvbmxpc3QgPSBhcnJheSgpOwokZGlyID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4naW1hZ2VzJzsKaWYoIGlzX2RpciggJGRpciApICkgewogICAgaWYoICRkaCA9IG9wZW5kaXIoJGRpcikgKSB7CiAgICAgICAgd2hpbGUoKCRmaWxlID0gcmVhZGRpcigkZGgpKSAhPT0gZmFsc2UpIHsKICAgICAgICAgICAgaWYoIGlzX2ZpbGUoICRkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZmlsZSApICkgJGljb25saXN0WyRmaWxlXSA9ICRmaWxlOwogICAgICAgIH0KICAgICAgICBjbG9zZWRpcigkZGgpOwogICAgfQp9CgokaGlkZGVuID0gJyc7CiRuYW1lID0gJyc7CiRleHRlbnNpb25zID0gJyc7CiRkZXNjcmlwdGlvbiA9ICcnOwokaWNvbiA9ICcnOwppZiggaXNzZXQoICRwYXJhbXNbJ3R5cGVpZCddICkgKSB7CiAgICAvLyBnZXQgdGhlIGRhdGEgb3V0IG9mIHRoZSBkYXRhYmFzZSwgd2UncmUgb2J2aW91c2x5IGVkaXRpbmcgc29tZXRoaW5nCiAgICAkaGlkZGVuIC49ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3R5cGVpZCcsJHBhcmFtc1sndHlwZWlkJ10pOwogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfZmlsZXR5cGVzIFdIRVJFIGlkID0gPyI7CiAgICAkcm93ID0gJGRiLT5HZXRSb3coICRxLCBhcnJheSggJHBhcmFtc1sndHlwZWlkJ10gKSApOwogICAgaWYoICEkcm93ICkgewogICAgICAgICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9ub3N1Y2hyb3cnKSk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgJG5hbWUgPSAkcm93WyduYW1lJ107CiAgICAkZGVzY3JpcHRpb24gPSAkcm93WydkZXNjcmlwdGlvbiddOwogICAgJGV4dGVuc2lvbnMgPSAkcm93WydleHRlbnNpb25zJ107CiAgICAkaWNvbiA9ICRyb3dbJ2ltYWdlJ107Cn0KCi8vIGlmIGluIHRoZSBwYXJhbXMgYXJyYXksIHRoZW4gdGhlIHZhbHVlcyBpbiB0aGVyZQovLyB3aWxsIG92ZXJyaWRlIHRob3NlIGluIHRoZSBkYXRhYmFzZQppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfbmFtZSddKSApICRuYW1lID0gJHBhcmFtc1snaW5wdXRfbmFtZSddOwppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfZGVzY3JpcHRpb24nXSkgKSAkZGVzY3JpcHRpb24gPSAkcGFyYW1zWydpbnB1dF9kZXNjcmlwdGlvbiddOwppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfZXh0ZW5zaW9ucyddKSApICRleHRlbnNpb25zID0gJHBhcmFtc1snaW5wdXRfZXh0ZW5zaW9ucyddOwppZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfaWNvbiddKSApICRpY29uID0gJHBhcmFtc1snaW5wdXRfaWNvbiddOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIHsKICAgIC8vIHRoZSBmb3JtIHdhcyBzdWJtaXR0ZWQKICAgIGlmKCB0cmltKCRuYW1lKSA9PSAnJyApIHsKICAgICAgICAkdGhpcy0+U2hvd0Vycm9ycygnZXJyb3JfbWlzc2luZ25hbWUnKTsKICAgIH0KICAgIGVsc2UgaWYoIHRyaW0oJGV4dGVuc2lvbnMpID09ICcnICkgewogICAgICAgICR0aGlzLT5TaG93RXJyb3JzKCdlcnJvcl9taXNzaW5nZXh0ZW5zaW9ucycpOwogICAgfQogICAgZWxzZSBpZiggdHJpbSgkaWNvbikgPT0gJycgKSB7CiAgICAgICAgJHRoaXMtPlNob3dFcnJvcnMoJ2Vycm9yX21pc3NpbmdpY29uJyk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICBpZiggaXNzZXQoJHBhcmFtc1sndHlwZWlkJ10pICkgewogICAgICAgICAgICAvLyBVcGRhdGUgYW4gZXhpc3RpbmcgcmVjb3JkCiAgICAgICAgICAgICRxID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfZmlsZXR5cGVzIFNFVCBuYW1lPT8sZGVzY3JpcHRpb249PyxleHRlbnNpb25zPT8saW1hZ2U9PyBXSEVSRSBpZCA9ID8iOwogICAgICAgICAgICAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggdHJpbSgkbmFtZSksIHRyaW0oJGRlc2NyaXB0aW9uKSwgdHJpbSgkZXh0ZW5zaW9ucyksIHRyaW0oJGljb24pLCAkcGFyYW1zWyd0eXBlaWQnXSApICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAvLwogICAgICAgICAgICAvLyBJbnNlcnQgYSBuZXcgcmVjb3JkCiAgICAgICAgICAgIC8vCgogICAgICAgICAgICAvLyBHZXQgYSBuZXcgSUQKICAgICAgICAgICAgJG5ld2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2ZpbGV0eXBlc19zZXEiKTsKCiAgICAgICAgICAgIC8vIEZpbmQgdGhlIG1heGltdW0gc29ydCBvcmRlcgogICAgICAgICAgICAkdHEgPSAiU0VMRUNUIG1heChzb3J0b3JkZXIpIGFzIHNvcnRvcmRlciBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19maWxldHlwZXMiOwogICAgICAgICAgICAkcm93ID0gJGRiLT5HZXRSb3coICR0cSApOwoKICAgICAgICAgICAgJHEgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2ZpbGV0eXBlcyAoaWQsc29ydG9yZGVyLG5hbWUsZGVzY3JpcHRpb24sZXh0ZW5zaW9ucyxpbWFnZSkgVkFMVUVTICg/LD8sPyw/LD8sPykiOwogICAgICAgICAgICAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSgkbmV3aWQsJHJvd1snc29ydG9yZGVyJ10rMSwgdHJpbSgkbmFtZSksdHJpbSgkZGVzY3JpcHRpb24pLCB0cmltKCRleHRlbnNpb25zKSx0cmltKCRpY29uKSkpOwogICAgICAgIH0KCiAgICAgICAgLy8gcmVkaXJlY3QgYmFjayB0byB0aGUgdGFiCiAgICAgICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsJHBhcmFtcyk7CiAgICB9Cn0KCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwkcGFyYW1zWydhY3Rpb24nXSwkcmV0dXJuaWQsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X25hbWUnLCR0aGlzLT5MYW5nKCduYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9kZXNjcmlwdGlvbicsJHRoaXMtPkxhbmcoJ2Rlc2NyaXB0aW9uJykpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9leHRlbnNpb25zJywkdGhpcy0+TGFuZygnZXh0ZW5zaW9ucycpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfaWNvbicsJHRoaXMtPkxhbmcoJ2ljb24nKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfbmFtZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X25hbWUnLCRuYW1lLDQwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZGVzY3JpcHRpb24nLCR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCRpZCwkZGVzY3JpcHRpb24sJ2lucHV0X2Rlc2NyaXB0aW9uJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2V4dGVuc2lvbnMnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9leHRlbnNpb25zJywkZXh0ZW5zaW9ucyw0MCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ljb24nLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfaWNvbicsJGljb25saXN0LC0xLCRpY29uKSk7CmlmKCBpc3NldCgkcGFyYW1zWydhY3RpdmVfdGFiJ10pICkgJGhpZGRlbiAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdhY3RpdmVfdGFiJywkcGFyYW1zWydhY3RpdmVfdGFiJ10pOwokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsJGhpZGRlbik7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FuY2VsJywkdGhpcy0+TGFuZygnY2FuY2VsJykpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRkZmlsZXR5cGUudHBsJyk7Ci8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_add_field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKIwojIEluaXRpYWxpemF0aW9uCiMKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2ZpZWxkcycpOwokc3RhdHVzID0gJyc7CiRtc2cgPSAnJzsKJGZpZWxkID0gYXJyYXkoJ25hbWUnPT4nJywndHlwZSc9Pid0ZXh0aW5wdXQnLCdhdHRyaWJzJz0+JycsJ2lvcmRlcic9PjEsJ3B1YmxpYyc9PjEpOwokZmllbGRbJ2F0dHJpYiddID0gYXJyYXkoKTsKJHllc25vID0gYXJyYXkoMT0+JHRoaXMtPkxhbmcoJ3llcycpLDA9PiR0aGlzLT5MYW5nKCdubycpKTsKJHR5cGVzID0gYXJyYXkoJ3RleHRpbnB1dCc9PiR0aGlzLT5MYW5nKCdmaWVsZHR5cGVfdGV4dGlucHV0JyksCgkgICAgICAgJ3RleHRhcmVhJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkdHlwZV90ZXh0YXJlYScpLAoJICAgICAgICdjaGVja2JveCc9PiR0aGlzLT5MYW5nKCdmaWVsZHR5cGVfY2hlY2tib3gnKSwKCSAgICAgICAnZHJvcGRvd24nPT4kdGhpcy0+TGFuZygnZmllbGR0eXBlX2Ryb3Bkb3duJyksCgkgICAgICAgJ211bHRpc2VsZWN0Jz0+JHRoaXMtPkxhbmcoJ2ZpZWxkdHlwZV9tdWx0aXNlbGVjdCcpKTsKCiMKIyBTZXR1cAojCgojCiMgR2V0IHRoZSBkYXRhCiMKaWYoIGlzc2V0KCRwYXJhbXNbJ2ZpZCddKSApIHsKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZGRlZnMgV0hFUkUgaWQgPSA/JzsKICAgICR0bXAgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydmaWQnXSkpOwogICAgaWYoICR0bXAgKSB7CiAgICAgICAgJGZpZWxkID0gJHRtcDsKICAgICAgICAkZmllbGRbJ2F0dHJpYiddID0gdW5zZXJpYWxpemUoJGZpZWxkWydhdHRyaWJzJ10pOwogICAgfQp9CgojCiMgUHJvY2VzcyBmb3JtIHZhbHVlcwojCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKSAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkgKSAkZmllbGRbJ25hbWUnXSA9IHRyaW0oJHBhcmFtc1snbmFtZSddKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3R5cGUnXSkgKSAgJGZpZWxkWyd0eXBlJ10gPSAkcGFyYW1zWyd0eXBlJ107CmlmKCBpc3NldCgkcGFyYW1zWydwdWJsaWMnXSkgKSAgJGZpZWxkWydwdWJsaWMnXSA9ICRwYXJhbXNbJ3B1YmxpYyddOwoKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgIGlmKCAhc3RhcnRzd2l0aCgka2V5LCdhdHRyaWJfJykgKSBjb250aW51ZTsKCiAgICAkYXR0cmliID0gc3Vic3RyKCRrZXksNyk7CiAgICAkZmllbGRbJ2F0dHJpYiddWyRhdHRyaWJdID0gJHZhbHVlOwp9CmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSB7CgkvLyB2YWxpZGF0ZQogICAgdHJ5IHsKICAgICAgICBpZiggIWlzc2V0KCRmaWVsZFsnbmFtZSddKSB8fCBlbXB0eSgkZmllbGRbJ25hbWUnXSkgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3Npbmd2YWx1ZScsJ25hbWUnKSk7CgogICAgICAgIGlmKCBlbXB0eSgkc3RhdHVzKSApIHsKICAgICAgICAgICAgc3dpdGNoKCAkZmllbGRbJ3R5cGUnXSApIHsKICAgICAgICAgICAgY2FzZSAndGV4dGlucHV0JzoKICAgICAgICAgICAgICAgIGlmKCAhaXNzZXQoJGZpZWxkWydhdHRyaWInXVsnbGVuZ3RoJ10pIHx8ICRmaWVsZFsnYXR0cmliJ11bJ2xlbmd0aCddIDw9IDAgKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ndmFsdWUnLCdsZW5ndGgnKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBlbHNlIGlmKCAhaXNzZXQoJGZpZWxkWydhdHRyaWInXVsnbWF4bGVuZ3RoJ10pIHx8ICRmaWVsZFsnYXR0cmliJ11bJ21heGxlbmd0aCddIDw9IDAgKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ndmFsdWUnLCdtYXhsZW5ndGgnKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ2Ryb3Bkb3duJzoKICAgICAgICAgICAgY2FzZSAnbXVsdGlzZWxlY3QnOgogICAgICAgICAgICAgICAgaWYoICFpc3NldCgkZmllbGRbJ2F0dHJpYiddWydvcHRpb25zJ10pICkgewogICAgICAgICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3ZhbHVlJywnb3B0aW9ucycpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgICAgICR0bXAgPSBleHBsb2RlKCJcbiIsJGZpZWxkWydhdHRyaWInXVsnb3B0aW9ucyddKTsKICAgICAgICAgICAgICAgICAgICAkY291bnQgPSAwOwogICAgICAgICAgICAgICAgICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgJHggPSB0cmltKCRvbmUpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiggIWVtcHR5KCR4KSApICRjb3VudCsrOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICBpZiggJGNvdW50ID09IDAgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3Npbmd2YWx1ZScsJ29wdGlvbnMnKSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gZG91YmxlIGNoZWNrIGEgZmllbGQgYnkgdGhpcyBuYW1lIGRvZXNuJ3QgYWxyZWFkeSBleGlzdAogICAgICAgIGlmKCBpc3NldCgkZmllbGRbJ2lkJ10pICYmICRmaWVsZFsnaWQnXSA+IDAgKSB7CiAgICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGRkZWZzIFdIRVJFIG5hbWUgPSA/IEFORCBpZCAhPSA/JzsKICAgICAgICAgICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkZmllbGRbJ25hbWUnXSwkZmllbGRbJ2lkJ10pKTsKICAgICAgICAgICAgaWYoICR0bXAgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX25hbWVleGlzdHMnKSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2ZpZWxkZGVmcyBXSEVSRSBuYW1lID0gPyc7CiAgICAgICAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJGZpZWxkWyduYW1lJ10pKTsKICAgICAgICAgICAgaWYoICR0bXAgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX25hbWVleGlzdHMnKSk7CiAgICAgICAgfQoKICAgICAgICAvLyBub3cgd2UncmUgcmVhZHkgdG8gc2F2ZS4KICAgICAgICAkZmllbGRbJ2F0dHJpYnMnXSA9IHNlcmlhbGl6ZSgkZmllbGRbJ2F0dHJpYiddKTsKICAgICAgICB1bnNldCgkZmllbGRbJ2F0dHJpYiddKTsKCiAgICAgICAgJGRiciA9IG51bGw7CiAgICAgICAgaWYoIGlzc2V0KCRmaWVsZFsnaWQnXSkgJiYgJGZpZWxkWydpZCddID4gMCApIHsKICAgICAgICAgICAgLy8gaXQncyBhbiB1cGRhdGUKICAgICAgICAgICAgJG1zZyA9ICR0aGlzLT5MYW5nKCdtc2dfZmllbGRfdXBkYXRlZCcpOwogICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZGRlZnMKICAgICAgICAgICAgICAgICAgICAgICAgIFNFVCBuYW1lID0gPywgdHlwZSA9ID8sIGF0dHJpYnMgPSA/LCBwdWJsaWMgPSA/CiAgICAgICAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICAgICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGZpZWxkWyduYW1lJ10sJGZpZWxkWyd0eXBlJ10sJGZpZWxkWydhdHRyaWJzJ10sJGZpZWxkWydwdWJsaWMnXSwkZmllbGRbJ2lkJ10pKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRtc2cgPSAkdGhpcy0+TGFuZygnbXNnX2ZpZWxkX2FkZGVkJyk7CiAgICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgTUFYKGlvcmRlcikgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGRkZWZzJzsKICAgICAgICAgICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSk7CiAgICAgICAgICAgIGlmIChlbXB0eSgkdG1wKSB8fCAkdG1wIDwgMCkgewogICAgICAgICAgICAgICAgJGZpZWxkWydpb3JkZXInXSA9IDE7CiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAkZmllbGRbJ2lvcmRlciddID0gJHRtcCArIDE7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgLy8gaXQncyBhbiBpbnNlcnQKICAgICAgICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZGRlZnMKICAgICAgICAgICAgICAgICAgICAgICAobmFtZSx0eXBlLGF0dHJpYnMsaW9yZGVyLHB1YmxpYykKICAgICAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPyw/KSc7CiAgICAgICAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRmaWVsZFsnbmFtZSddLCRmaWVsZFsndHlwZSddLCRmaWVsZFsnYXR0cmlicyddLCRmaWVsZFsnaW9yZGVyJ10sJGZpZWxkWydwdWJsaWMnXSkpOwogICAgICAgIH0KICAgICAgICBpZiggISRkYnIgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9kYmVycm9yJykuJzxici8+Jy4kZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKSk7CgogICAgICAgIC8vIGFsbCBkb25lCiAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICAgIH0KICAgIGNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGUtPkdldE1lc3NhZ2UoKSk7CiAgICB9Cn0KCiMKIyBHaXZlIGV2ZXJ5dGhpbmcgdG8gc21hcnR5CiMKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9hZGRfZmllbGQnLCRyZXR1cm5pZCwncG9zdCcsJycsZmFsc2UsJycsJHBhcmFtcykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3llc25vJywkeWVzbm8pOwokc21hcnR5LT5hc3NpZ24oJ2ZsZHR5cGVzJywkdHlwZXMpOwokc21hcnR5LT5hc3NpZ24oJ2ZsZCcsJGZpZWxkKTsKCiMKIyBQcm9jZXNzIHRoZSB0ZW1wbGF0ZQojCmlmKCAhZW1wdHkoJHN0YXR1cykgKSBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRzdGF0dXMpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2FkZF9maWVsZC50cGwnKTsKCiMKIyBFT0YKIwo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_add_timelimited.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0KCk7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFVwbG9hZHMnKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXBsb2FkIEZpbGVzIHRvIFVwbG9hZHMnKSkgcmV0dXJuOwoKIwojIEluaXRpYWxpemF0aW9uCiMKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2ZpbGVzJyk7CmlmKCAhaXNzZXQoJHBhcmFtc1sndXBsb2FkX2lkJ10pICkgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CiR1cGxvYWRfaWQgPSAoaW50KSRwYXJhbXNbJ3VwbG9hZF9pZCddOwokZW1haWwgPSAnJzsKJGhvdXJzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RpbWVsaW1pdGVkX2hvdXJzJyw3Mik7CiRkb3dubG9hZHMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGltZWxpbWl0ZWRfZG93bmxvYWRzJywwKTsKJHNlbmRpdCA9IDA7CiRlcnJvcnMgPSBhcnJheSgpOwoKIwojIFNldHVwCiMKJHVwbG9hZCA9ICR0aGlzLT5HZXRVcGxvYWREZXRhaWxzKCR1cGxvYWRfaWQpOwoKIwojIEhhbmRsZSBmb3JtIGRhdGEKIwppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgewogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnYWRtaW5fbWFuYWdlX3RpbWVsaW1pdGVkJywkcmV0dXJuaWQsIGFycmF5KCd1cGxvYWRfaWQnPT4kdXBsb2FkX2lkKSk7Cn0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkgewogICAgJGhvdXJzID0gKGludCkkcGFyYW1zWydob3VycyddOwogICAgJGRvd25sb2FkcyA9IChpbnQpJHBhcmFtc1snZG93bmxvYWRzJ107CiAgICAkZW1haWwgPSB0cmltKCRwYXJhbXNbJ2VtYWlsJ10pOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3NlbmRpdCddKSApICRzZW5kaXQgPSAoaW50KSRwYXJhbXNbJ3NlbmRpdCddOwogICAgaWYoIGVtcHR5KCRlbWFpbCkgKSAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19pbnZhbGlkJywkdGhpcy0+TGFuZygnZW1haWxfYWRkcmVzcycpKTsKICAgIGlmKCAkZG93bmxvYWRzIDwgMCApICRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX2ludmFsaWQnLCR0aGlzLT5MYW5nKCdudW1fZG93bmxvYWRzJykpOwogICAgaWYoICRob3VycyA8IDAgKSAkZXJyb3JzW10gPSAkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19pbnZhbGlkJywkdGhpcy0+TGFuZygnbnVtX2hvdXJzJykpOwoKICAgIGlmKCBlbXB0eSgkZXJyb3JzKSApIHsKICAgICAgICAkbm93ID0gJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpOwogICAgICAgIGlmKCAkaG91cnMgPiAwICkgJGV4cGlyZXMgPSAkZGItPkRiVGltZVN0YW1wKHN0cnRvdGltZSgnKycuJGhvdXJzLicgaG91cnMnKSk7CiAgICAgICAgJHVybGtleSA9IHN1YnN0cihzdHJfc2h1ZmZsZShtZDUodGltZSgpLiR1cGxvYWRfaWQuJHVwbG9hZFsndXBsb2FkX25hbWUnXS4kbm93LiRlbWFpbC4kZXhwaXJlcykpLDAsMTYpOwogICAgICAgICRkYnIgPSAnJzsKICAgICAgICBpZiggJGhvdXJzID4gMCApIHsKICAgICAgICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc190aW1lbGltaXQgKHVwbG9hZF9pZCxlbWFpbCx1cmxfa2V5LGNyZWF0ZWQsZXhwaXJlcyxtYXhfZG93bmxvYWRzKSBWQUxVRVMgKD8sPyw/LCRub3csJGV4cGlyZXMsPykiOwogICAgICAgICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdXBsb2FkX2lkLCRlbWFpbCwkdXJsa2V5LCRkb3dubG9hZHMpKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfdGltZWxpbWl0ICh1cGxvYWRfaWQsZW1haWwsdXJsX2tleSxjcmVhdGVkLG1heF9kb3dubG9hZHMpIFZBTFVFUyAoPyw/LD8sJG5vdyw/KSI7CiAgICAgICAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR1cGxvYWRfaWQsJGVtYWlsLCR1cmxrZXksJGRvd25sb2FkcykpOwogICAgICAgIH0KICAgICAgICBpZiggISRkYnIgKSB7CiAgICAgICAgICAgIGRpZSgkZGItPnNxbC4nPGJyLz4nLiRkYi0+RXJyb3JNc2coKSk7CiAgICAgICAgICAgICRlcnJvcnNbXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9kYmVycm9yJyk7CiAgICAgICAgfQogICAgfQoKICAgIGlmKCBlbXB0eSgkZXJyb3JzKSAmJiAkc2VuZGl0ICkgewogICAgICAgIC8vIG1heWJlIHNlbmQgYW4gZW1haWwKICAgICAgICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKICAgICAgICBpZiggJGNtc21haWxlciApIHsKICAgICAgICAgICAgJHBhZ2VpZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3NlbmRmaWxlcGFnZScpOwogICAgICAgICAgICBpZiggJHBhZ2VpZCA8PSAwICkgewogICAgICAgICAgICAgICAgJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKICAgICAgICAgICAgICAgICRwYWdlaWQgPSAkY29udGVudG9wcy0+R2V0RGVmYXVsdENvbnRlbnQoKTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJHRtcCA9ICR0aGlzLT5HZXRVcGxvYWREZXRhaWxzKCR1cGxvYWRfaWQsJHBhZ2VpZCk7CgkJCQkJCSR0bXBbJ2Rvd25sb2FkX3VybCddID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdnZXRmaWxlJywkcGFnZWlkLCBbJ3VybF9rZXknPT4kdXJsa2V5XSwgZmFsc2UsIGZhbHNlLCAkdGhpcy0+X2dldFRpbWVMaW1pdGVkVXJsKCR1cmxrZXkpKTsKCiAgICAgICAgICAgICR1cGxvYWRfaW5mID0gbmV3IFN0ZENsYXNzKCk7CiAgICAgICAgICAgIGZvcmVhY2goICR0bXAgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICAgICAgICAgICBpZiggc3RhcnRzd2l0aCgka2V5LCd1cGxvYWRfJykgKSAka2V5ID0gc3Vic3RyKCRrZXksNyk7CiAgICAgICAgICAgICAgICBpZiggIWVtcHR5KCR2YWx1ZSkgKSAkdXBsb2FkX2luZm8tPiRrZXkgPSAkdmFsdWU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdlbnRyeScsJHVwbG9hZF9pbmZvKTsKICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdub3RlcycsJycpOwogICAgICAgICAgICBpZiggJGRvd25sb2FkcyApICRzbWFydHktPmFzc2lnbignZG93bmxvYWRzJywkZG93bmxvYWRzKTsKICAgICAgICAgICAgaWYoICRob3VycyApICRzbWFydHktPmFzc2lnbignaG91cnMnLCRob3Vycyk7CiAgICAgICAgICAgICRzdWJqZWN0X3RwbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aW1lbGltaXRlZF9zdWJqZWN0JywkdGhpcy0+TGFuZygnZGZsdF90aW1lbGltaXRlZF9zdWJqZWN0JykpOwogICAgICAgICAgICAkc3ViamVjdCA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkc3ViamVjdF90cGwpOwoKICAgICAgICAgICAgJGNtc21haWxlci0+cmVzZXQoKTsKICAgICAgICAgICAgJGNtc21haWxlci0+U2V0U3ViamVjdCgkc3ViamVjdCk7CiAgICAgICAgICAgICRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsKICAgICAgICAgICAgJGNtc21haWxlci0+QWRkQWRkcmVzcygkZW1haWwpOwogICAgICAgICAgICAkYm9keSA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3VwbG9hZF9zZW5kZmlsZXJwdCcpOwogICAgICAgICAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCRib2R5KTsKICAgICAgICAgICAgJGNtc21haWxlci0+U2VuZCgpOwogICAgICAgIH0KICAgIH0KCgogICAgaWYoIGVtcHR5KCRlcnJvcnMpICkgewogICAgICAgIC8vIGRvbmUuCiAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ3RpbWVfbGltaXRlZF9rZXlfYWRkZWQnKSk7CiAgICAgICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnYWRtaW5fbWFuYWdlX3RpbWVsaW1pdGVkJywkcmV0dXJuaWQsIGFycmF5KCd1cGxvYWRfaWQnPT4kdXBsb2FkX2lkKSk7CiAgICB9Cn0KCiMKIyBHaXZlIEV2ZXJ5dGhpbmcgdG8gU21hcnR5CiMKaWYoIGNvdW50KCRlcnJvcnMpICkgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2FkZF90aW1lbGltaXRlZCcsJHJldHVybmlkLCBhcnJheSgndXBsb2FkX2lkJz0+JHVwbG9hZF9pZCkpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCd1cGxvYWQnLCR1cGxvYWQpOwokc21hcnR5LT5hc3NpZ24oJ2VtYWlsJywkZW1haWwpOwokc21hcnR5LT5hc3NpZ24oJ2hvdXJzJywkaG91cnMpOwokc21hcnR5LT5hc3NpZ24oJ2Rvd25sb2FkcycsJGRvd25sb2Fkcyk7CgojCiMgRGlzcGxheSB0aGUgdGVtcGxhdGUKIwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2FkZF90aW1lbGltaXRlZC50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_ajax_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggIWlzc2V0KCRwYXJhbXNbJ29wJ10pICkgcmV0dXJuOwoKJG91dHB1dCA9IG51bGw7CnN3aXRjaCggJHBhcmFtc1snb3AnXSApIHsKIGNhc2UgJ3VzZXJfYXV0b2NvbXBsZXRlJzoKICAgJHRlcm0gPSB0cmltKCRwYXJhbXNbJ3Rlcm0nXSk7CiAgIGlmKCAhJHRlcm0gKSBicmVhazsKICAgJHF1ZXJ5ID0gJ1NFTEVDVCB1c2VybmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfZmV1c2Vyc191c2VycyBXSEVSRSB1c2VybmFtZSBMSUtFID8nOwogICBpZiggc3RycG9zKCR0ZXJuLCcqJykgPT09IEZBTFNFICkgJHRlcm0gLj0gJyUnOwogICAkdGVybSA9IHN0cl9yZXBsYWNlKCcqJywnJScsJHRlcm0pOwogICAkdGVybSA9IHN0cl9yZXBsYWNlKCclJScsJyUnLCR0ZXJtKTsKICAgJHJlcyA9ICRkYi0+R2V0Q29sKCRxdWVyeSxhcnJheSgkdGVybSkpOwogICBpZiggaXNfYXJyYXkoJHJlcykgJiYgY291bnQoJHJlcykgKSAkb3V0cHV0ID0gJHJlczsKICAgYnJlYWs7CgogY2FzZSAnZmlsZV9hdXRvY29tcGxldGUnOgogICAkdGVybSA9IHRyaW0oJHBhcmFtc1sndGVybSddKTsKICAgaWYoICEkdGVybSApIGJyZWFrOwogICAkcXVlcnkgPSAnU0VMRUNUIERJU1RJTkNUIHVwbG9hZF9uYW1lIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzIFdIRVJFIHVwbG9hZF9uYW1lIExJS0UgPyc7CiAgIGlmKCBzdHJwb3MoJHRlcm4sJyonKSA9PT0gRkFMU0UgKSAkdGVybSAuPSAnJSc7CiAgICR0ZXJtID0gc3RyX3JlcGxhY2UoJyonLCclJywkdGVybSk7CiAgICR0ZXJtID0gc3RyX3JlcGxhY2UoJyUlJywnJScsJHRlcm0pOwogICAkcmVzID0gJGRiLT5HZXRDb2woJHF1ZXJ5LGFycmF5KCR0ZXJtKSk7CiAgIGlmKCBpc19hcnJheSgkcmVzKSAmJiBjb3VudCgkcmVzKSApICRvdXRwdXQgPSAkcmVzOwogICBicmVhazsKCiBkZWZhdWx0OgogICAvLyBkbyBub3RoaW5nCiAgIGJyZWFrOwp9CgokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7CmZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CmlmKCBpc3NldCgkcGFyYW1zWydqc29uJ10pICYmICRwYXJhbXNbJ2pzb24nXSApIHsKICAkb3V0cHV0ID0ganNvbl9lbmNvZGUoJG91dHB1dCk7CiAgaGVhZGVyKCdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL2pzb24nKTsKfQplY2hvICRvdXRwdXQ7CmV4aXQ7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_copycategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24gKCdNYW5hZ2UgVXBsb2FkcycpKSBleGl0OwoKLy8KLy8gaW5pdGlhbGl6ZQovLwokdGhpcy0+U2V0Q3VycmVudFRhYignY2F0ZWdvcmllcycpOwokZGVzdF9jYXRuYW1lID0gJyc7CiRkZXN0X2NhdGRlc2MgPSAnJzsKJGRlc3RfY2F0cGF0aCA9ICcnOwokb3JpZ19jYXRfaWQgPSAnJzsKJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKJHNyY2RpciA9ICcnOwokZGVzdGRpciA9ICcnOwokY2F0aWQgPSAnJzsKJGF1dGhvciA9ICRfU0VTU0lPTlsnY21zX2FkbWluX3VzZXJuYW1lJ107CiRjb3B5ZmlsZXMgPSAwOwoKLy8KLy8gc2V0dXAKLy8KaWYoICFpc3NldCgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSApIHsKCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwoJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKfQokY2F0ZWdvcnlfaWQgPSAoaW50KSRwYXJhbXNbJ2NhdGVnb3J5X2lkJ107CiRjYXRlZ29yeSA9IHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yeSgkY2F0ZWdvcnlfaWQpOwppZiggISRjYXRlZ29yeSApIHsKCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwoJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKfQoKLy8KLy8gaGFuZGxlIGZvcm0gZGF0YQovLwppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgewoJJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ29wZXJhdGlvbl9jYW5jZWxsZWQnKSk7CgkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIHsKCS8vIHN1Ym1pdCBwcmVzc2VkLgoKCS8vIGdldCB0aGUgcGFyYW1ldGVycwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5X25hbWUnXSkgKQkkZGVzdF9jYXRuYW1lID0gdHJpbSgkcGFyYW1zWydjYXRlZ29yeV9uYW1lJ10pOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5X2Rlc2MnXSkgKSAkZGVzdF9jYXRkZXNjID0gdHJpbSgkcGFyYW1zWydjYXRlZ29yeV9kZXNjJ10pOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5X3BhdGgnXSkgKQkkZGVzdF9jYXRwYXRoID0gdHJpbSgkcGFyYW1zWydjYXRlZ29yeV9wYXRoJ10pOwoJJGNvcHlmaWxlcyA9IChpbnQpJHBhcmFtc1snY29weWZpbGVzJ107CgoJVXBsb2Fkczo6bG9hZF9hZG1pbigpOwoJJGVycm9yID0gX3VwbG9hZHNfQ29weUNhdGVnb3J5KCR0aGlzLCRjYXRlZ29yeV9pZCwKCQkJCQkJCQkJCQkJCQkJCSAkZGVzdF9jYXRuYW1lLAoJCQkJCQkJCQkJCQkJCQkJICRkZXN0X2NhdHBhdGgsCgkJCQkJCQkJCQkJCQkJCQkgJGRlc3RfY2F0ZGVzYywKCQkJCQkJCQkJCQkJCQkJCSAkY29weWZpbGVzLCB0cnVlKTsKCWlmKCBlbXB0eSgkZXJyb3IpICkgewoJCSR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdjYXRlZ29yeV9jb3BpZWQnKSk7CgkJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCX0KCgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcik7Cn0gLy8gb24gc3VibWl0CgovLwovLyBnaXZlIGV2ZXJ5dGhpbmcgdG8gc21hcnR5Ci8vCiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnknLCRjYXRlZ29yeSk7CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9jb3B5Y2F0ZWdvcnknLCRyZXR1cm5pZCwkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgovLwovLyBkaXNwbGF5IHRoZSB0ZW1wbGF0ZQovLwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2NvcHljYXRlZ29yeS50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_del_field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSByZXR1cm47CgojCiMgU2V0dXAKIwokdGhpcy0+U2V0Q3VycmVudFRhYignZmllbGRzJyk7CmlmKCAhaXNzZXQoJHBhcmFtc1snZmlkJ10pICkgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CgokcXVlcnkgPSAnU0VMRUNUIGlvcmRlciBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZGRlZnMgV0hFUkUgaWQgPSA/JzsKJGlvcmRlciA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgoaW50KSRwYXJhbXNbJ2ZpZCddKSk7CmlmKCAkaW9yZGVyICkgewogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZHZhbHMgV0hFUkUgZmxkX2lkID0gPyc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KChpbnQpJHBhcmFtc1snZmlkJ10pKTsKCiAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2ZpZWxkZGVmcyBXSEVSRSBpZCA9ID8nOwogICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgoaW50KSRwYXJhbXNbJ2ZpZCddKSk7CgogICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGRkZWZzIFNFVCBpb3JkZXI9aW9yZGVyLTEgV0hFUkUgaW9yZGVyID4gPyc7CiAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRpb3JkZXIpKTsKfQoKJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19maWVsZF9kZWxldGVkJykpOwokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_del_timelimited.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBVcGxvYWRzJykgJiYgISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VwbG9hZCBGaWxlcyB0byBVcGxvYWRzJykpIHJldHVybjsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdmaWxlcycpOwppZiggIWlzc2V0KCRwYXJhbXNbJ3VwbG9hZF9pZCddKSB8fCAhaXNzZXQoJHBhcmFtc1sndGxfaWQnXSkgKSB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KJHRsX2lkID0gKGludCkkcGFyYW1zWyd0bF9pZCddOwokdXBsb2FkX2lkID0gKGludCkkcGFyYW1zWyd1cGxvYWRfaWQnXTsKCiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfdGltZWxpbWl0IFdIRVJFIHVwbG9hZF9pZCA9ID8gQU5EIHRsa2V5X2lkID0gPyc7CiRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR1cGxvYWRfaWQsJHRsX2lkKSk7CmlmKCAhJGRiciApIHsKICAgIGVjaG8gJGRiLT5zcWwuJzxici8+Jy4kZGItPkVycm9yTXNnKCkuJzxici8+JzsKICAgIGV4aXQoKTsKfQoKJHRoaXMtPlJlZGlyZWN0KCRpZCwnYWRtaW5fbWFuYWdlX3RpbWVsaW1pdGVkJywkcmV0dXJuaWQsYXJyYXkoJ3VwbG9hZF9pZCc9PiR1cGxvYWRfaWQpKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_manage_timelimited.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQoKTsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVXBsb2FkcycpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVcGxvYWQgRmlsZXMgdG8gVXBsb2FkcycpKSByZXR1cm47CgokdGhpcy0+U2V0Q3VycmVudFRhYignZmlsZXMnKTsKaWYoICFpc3NldCgkcGFyYW1zWyd1cGxvYWRfaWQnXSkgKSB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KCi8vIGF1dG8gZGVsZXRlIGVudHJpZXMKJG5ob3VycyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aW1lbGltaXRlZF9hdXRvZGVsZXRlJywwKTsKaWYoICRuaG91cnMgPiAwICkgewogICAgJHRpbWUgPSBzdHJ0b3RpbWUoJy0gJG5ob3VycyBob3VycycpOwogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19kb3dubG9hZHMgV0hFUkUgZXhwaXJlcyA8ICR0aW1lIjsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnkpOwp9CgokdXBsb2FkID0gJHRoaXMtPkdldFVwbG9hZERldGFpbHMoJHBhcmFtc1sndXBsb2FkX2lkJ10pOwokc21hcnR5LT5hc3NpZ24oJ3VwbG9hZCcsJHVwbG9hZCk7Ci8vJHNtYXJ0eS0+YXNzaWduKCdhZGRrZXlfbGluaycsJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX2FkZF90aW1lbGltaXRlZCcsJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhZGRfdGltZWxpbWl0ZWRfa2V5JyksICdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsICRwYXJhbXMsJycsJycsZmFsc2UpKTsKCiRub3cgPSAkZGItPkRiVGltZVN0YW1wKHRpbWUoKSk7CiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc190aW1lbGltaXQgV0hFUkUgdXBsb2FkX2lkID0gPyBBTkQgKChleHBpcmVzID4gJG5vdykgT1IgKGV4cGlyZXMgSVMgTlVMTCkpIjsKJHRkYXRhID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHBhcmFtc1sndXBsb2FkX2lkJ10pKTsKJGRhdGEgPSBhcnJheSgpOwppZiggJHRkYXRhICkgewogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRkYXRhKTsgJGkrKyApIHsKICAgICAgICAkcmVjID0mICR0ZGF0YVskaV07CiAgICAgICAgaWYoIGlzX251bGwoJHJlY1sndXJsX2tleSddKSApIGNvbnRpbnVlOwoKICAgICAgICAkcTIgPSAnU0VMRUNUIENPVU5UKGZpbGVfaWQpIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2Rvd25sb2FkcyBXSEVSRSBmaWxlX2lkID0gPyBBTkQgdXJsX2tleSA9ID8nOwogICAgICAgICRyZWNbJ2Rvd25sb2FkcyddID0gJGRiLT5HZXRPbmUoJHEyLGFycmF5KCRyZWNbJ3VwbG9hZF9pZCddLCRyZWNbJ3VybF9rZXknXSkpOwogICAgICAgIC8vJHJlY1snZG93bmxvYWRfdXJsJ10gPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZ2V0ZmlsZScsJHJldHVybmlkLCBhcnJheSgndXJsX2tleSc9PiRyZWNbJ3VybF9rZXknXSksCWZhbHNlLCAkdGhpcy0+X2dldFRpbWVMaW1pdGVkVVJMKCRyZWNbJ3VybF9rZXknXSkpOwogICAgICAgIC8vJHJlY1snZGVsZXRlX2xpbmsnXSA9ICR0aGlzLT5DcmVhdGVJbWFnZUxpbmsoJGlkLCdhZG1pbl9kZWxfdGltZWxpbWl0ZWQnLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdkZWxldGUnKSwgJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywKCQkJCS8vCQkJCQkJCQkgYXJyYXkoJ3VwbG9hZF9pZCc9PiRwYXJhbXNbJ3VwbG9hZF9pZCddLCAndGxfaWQnPT4kcmVjWyd0bGtleV9pZCddKSk7CgogICAgICAgICRkYXRhW10gPSAkcmVjOwogICAgfQoKICAgIGlmKCAkZGF0YSApCSRzbWFydHktPmFzc2lnbignZGF0YScsJGRhdGEpOwp9CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX21hbmFnZV90aW1lbGltaXRlZC50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_multicategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24gKCdNYW5hZ2UgVXBsb2FkcycpKSBleGl0OwoKLy8KLy8gaW5pdGlhbGl6YXRpb24KLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhdGVnb3JpZXMnKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CmlmKCAhaXNzZXQoJHBhcmFtc1snY2F0X211bHRpc2VsZWN0J10pICYmICFpc3NldCgkcGFyYW1zWydidWxrY29weV9zdWJtaXQnXSkgKSB7CgkkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX25vdGhpbmdfc2VsZWN0ZWQnKSk7CgkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9Cgpzd2l0Y2goICRwYXJhbXNbJ211bHRpYWN0aW9uJ10gKSB7CmNhc2UgJ2RlbGV0ZSc6Cglmb3JlYWNoKCAkcGFyYW1zWydjYXRfbXVsdGlzZWxlY3QnXSBhcyAkb25lY2F0ZWdvcnkgKSB7CgkJJG1zZyA9ICR0aGlzLT5fQWRtaW5Eb0RlbGV0ZUNhdGVnb3J5KCRvbmVjYXRlZ29yeSk7CgkJaWYoICRtc2cgKSB7CgkJCSR0aGlzLT5TZXRFcnJvcigkbXNnKTsKCQkJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCQl9Cgl9CglicmVhazsKCmNhc2UgJ2NvcHknOgoJaWYoIGlzc2V0KCRwYXJhbXNbJ2J1bGtjb3B5X3N1Ym1pdCddKSApIHsKCQkvLyBkbyBkYXRhIHZhbGlkYXRpb24KCQkkZXJyb3IgPSAnJzsKCQlpZiggIWlzc2V0KCRwYXJhbXNbJ2NvcHljYXRlZ29yeSddKSApCSRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5nX2ludmFsaWQnLCdjb3B5Y2F0ZWdvcnknKTsKCgkJaWYoIGVtcHR5KCRlcnJvcikgKSB7CgkJCWZvcmVhY2goICRwYXJhbXNbJ2NvcHljYXRlZ29yeSddIGFzICRjYXRlZ29yeV9pZCA9PiAmJG9uZWNhdCApIHsKCQkJCSRvbmVjYXRbJ25hbWUnXSA9IHRyaW0oJG9uZWNhdFsnbmFtZSddKTsKCQkJCSRvbmVjYXRbJ2Rlc2NyaXB0aW9uJ10gPSB0cmltKCRvbmVjYXRbJ2Rlc2NyaXB0aW9uJ10pOwoJCQkJJG9uZWNhdFsncGF0aCddID0gdHJpbSgkb25lY2F0WydwYXRoJ10pOwoKCQkJCVVwbG9hZHM6OmxvYWRfYWRtaW4oKTsKCQkJCSRlcnJvciA9IF91cGxvYWRzX0NvcHlDYXRlZ29yeSgkdGhpcywkY2F0ZWdvcnlfaWQsICRvbmVjYXRbJ25hbWUnXSwgJG9uZWNhdFsncGF0aCddLCAkb25lY2F0WydkZXNjcmlwdGlvbiddLCAkb25lY2F0Wydkb2ZpbGVzJ10sIHRydWUpOwoJCQkJaWYoICRlcnJvciApIGJyZWFrOwoJCQl9CgkJfQoKCQlpZiggIWVtcHR5KCRlcnJvcikgKSAkdGhpcy0+U2V0RXJyb3IoJGVycm9yKTsKCgkJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCX0gLy8gc3VibWl0CgoJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMgV0hFUkUgdXBsb2FkX2NhdGVnb3J5X2lkIElOICgnLmltcGxvZGUoJywnLCRwYXJhbXNbJ2NhdF9tdWx0aXNlbGVjdCddKS4nKSc7CgkkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoJJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yaWVzJywkdG1wKTsKCSRwYXJtcyA9IGFycmF5KCk7CgkkcGFybXNbJ211bHRpYWN0aW9uJ10gPSAkcGFyYW1zWydtdWx0aWFjdGlvbiddOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2NhdF9tdWx0aXNlbGVjdCddKSApCSRwYXJtc1snY2F0ZWdvcmllcyddID0gIGltcGxvZGUoJywnLCRwYXJhbXNbJ2NhdF9tdWx0aXNlbGVjdCddKTsKCSRzbWFydHktPmFzc2lnbignY2F0ZWdvcnlfaWRzJywkcGFyYW1zWydjYXRfbXVsdGlzZWxlY3QnXSk7Cgkkc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fbXVsdGljYXRlZ29yeScsJHJldHVybmlkLCRwYXJtcykpOwoJJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fY2F0X2J1bGtjb3B5LnRwbCcpOwoJcmV0dXJuOwoKZGVmYXVsdDoKCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19pbnZhbGlkJywnY2F0ZWdvcnlfaWQnKSk7CgkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CgoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_order_field.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSByZXR1cm47CgojCiMgU2V0dXAKIwokdGhpcy0+U2V0Q3VycmVudFRhYignZmllbGRzJyk7CmlmKCAhaXNzZXQoJHBhcmFtc1snZmlkJ10pIHx8ICFpc3NldCgkcGFyYW1zWydkaXInXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2N1ciddKSApIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKfQoKJGZpZCA9IChpbnQpJHBhcmFtc1snZmlkJ107CiRkaXIgPSBzdHJ0b2xvd2VyKHRyaW0oJHBhcmFtc1snZGlyJ10pKTsKJGN1cm9yZGVyID0gKGludCkkcGFyYW1zWydjdXInXTsKc3dpdGNoKCRkaXIpIHsKY2FzZSAndXAnOgogICAgLy8gc3dhcCBvcmRlciBpZCB3aXRoIHByZXZpb3VzIG9uZQogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZGRlZnMgV0hFUkUgaW9yZGVyID0gPyc7CiAgICAkcHJldl9pZCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkY3Vyb3JkZXIgLSAxKSk7CiAgICBpZiggJHByZXZfaWQgKSB7CiAgICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGRkZWZzIFNFVCBpb3JkZXIgPSA/IFdIRVJFIGlkID0gPyc7CiAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkY3Vyb3JkZXIsJHByZXZfaWQpKTsKICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRjdXJvcmRlciAtIDEsJGZpZCkpOwoJfQogICAgYnJlYWs7CgpjYXNlICdkb3duJzoKICAgIC8vIHN3YXAgb3JkZXIgaWQgd2l0aCBuZXh0IG9uZQogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZGRlZnMgV0hFUkUgaW9yZGVyID0gPyc7CiAgICAkcHJldl9pZCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkY3Vyb3JkZXIgKyAxKSk7CiAgICBpZiggJHByZXZfaWQgKSB7CiAgICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGRkZWZzIFNFVCBpb3JkZXIgPSA/IFdIRVJFIGlkID0gPyc7CiAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkY3Vyb3JkZXIsJHByZXZfaWQpKTsKICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRjdXJvcmRlciArIDEsJGZpZCkpOwoJfQogICAgYnJlYWs7Cn0KCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_report_downloadsbyfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdDcmVhdGUgVXBsb2FkcyBSZXBvcnRzJykgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdyZXBvcnRzJyk7CgovLwovLyBzZXR1cAovLwokZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJywnMS4yMS4xNScpOwppZiggISRmZXUgKSB7CiAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZldScpKTsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CgovLyBnZXQgdGhpcyB1c2VycyBlbWFpbCBhZGRyZXNzLgokdXNlcmVtYWlsID0gJyc7CiR1c2VyID0gdXNlcm9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5Mb2FkVXNlckJ5SWQoZ2V0X3VzZXJpZCgpKTsKaWYoIGlzX29iamVjdCgkdXNlcikgJiYgJHVzZXItPmVtYWlsICE9ICcnICkgJHVzZXJlbWFpbCA9ICR1c2VyLT5lbWFpbDsKCiRxdWVyeSA9ICdTRUxFQ1QgRi5pZCwgRi5uYW1lLCBGLnR5cGUsIEYuYXR0cmlicywgRi5pb3JkZXIgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGRkZWZzIEYgT1JERVIgQlkgaW9yZGVyIEFTQyc7CiRjdXN0b21fZmllbGRzID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoKJGZldV9wcm9wZGVmbnMgPSAkZmV1LT5HZXRQcm9wZXJ0eURlZm5zKCk7CgokZmllbGRfaW5mbyA9IGFycmF5KCk7CiRmaWVsZF9pbmZvWyd1cGxvYWRfaWQnXSA9IGFycmF5KCdjb2x1bW4nPT4nVS51cGxvYWRfaWQnLCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfaWQnKSk7CiRmaWVsZF9pbmZvWydjYXRlZ29yeV9pZCddID0gYXJyYXkoJ2NvbHVtbic9PidVLnVwbG9hZF9jYXRlZ29yeV9pZCBBUyBjYXRlZ29yeV9pZCcsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX3VwbG9hZF9jYXRlZ29yeV9pZCcpKTsKJGZpZWxkX2luZm9bJ2NhdGVnb3J5X25hbWUnXSA9IGFycmF5KCdjb2x1bW4nPT4nVUMudXBsb2FkX2NhdGVnb3J5X25hbWUgQVMgY2F0ZWdvcnlfbmFtZScsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX3VwbG9hZF9jYXRlZ29yeV9uYW1lJykpOwokZmllbGRfaW5mb1snY2F0ZWdvcnlfcGF0aCddID0gYXJyYXkoJ2NvbHVtbic9PidVQy51cGxvYWRfY2F0ZWdvcnlfcGF0aCBBUyBjYXRlZ29yeV9wYXRoJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX2NhdGVnb3J5X3BhdGgnKSk7CiRmaWVsZF9pbmZvWyd1cGxvYWRfbmFtZSddID0gYXJyYXkoJ2NvbHVtbic9PidVLnVwbG9hZF9uYW1lJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX25hbWUnKSk7CiRmaWVsZF9pbmZvWydhdXRob3InXSA9IGFycmF5KCdjb2x1bW4nPT4nVS51cGxvYWRfYXV0aG9yIEFTIGF1dGhvcicsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX3VwbG9hZF9hdXRob3InKSk7CiRmaWVsZF9pbmZvWydzdW1tYXJ5J10gPSBhcnJheSgnY29sdW1uJz0+J1UudXBsb2FkX3N1bW1hcnkgQVMgc3VtbWFyeScsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX3VwbG9hZF9zdW1tYXJ5JykpOwokZmllbGRfaW5mb1snZGVzY3JpcHRpb24nXSA9IGFycmF5KCdjb2x1bW4nPT4nVS51cGxvYWRfZGVzY3JpcHRpb24gQVMgZGVzY3JpcHRpb24nLCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfZGVzY3JpcHRpb24nKSk7CiRmaWVsZF9pbmZvWyd1cGxvYWRfaXAnXSA9IGFycmF5KCdjb2x1bW4nPT4nVS51cGxvYWRfaXAnLCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfaXAnKSk7CiRmaWVsZF9pbmZvWyd1cGxvYWRfc2l6ZSddID0gYXJyYXkoJ2NvbHVtbic9PidVLnVwbG9hZF9zaXplJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX3NpemUnKSk7CiRmaWVsZF9pbmZvWyd1cGxvYWRfZGF0ZSddID0gYXJyYXkoJ2NvbHVtbic9PidVLnVwbG9hZF9kYXRlJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX2RhdGUnKSk7Ci8vJGZpZWxkX2luZm9bJ2Rvd25sb2FkcyddID0gYXJyYXkoJ2NvbHVtbic9PidDT1VOVChVRC5kb3dubG9hZF9pZCkgQVMgZG93bmxvYWRzJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfZG93bmxvYWRzJyksJ2RldGFpbHJwdCc9PjApOwokZmllbGRfaW5mb1snZG93bmxvYWRzJ10gPSBhcnJheSgnY29sdW1uJz0+J0RDLmRvd25sb2FkcycsCgkJCQkgJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX2Rvd25sb2FkcycpLAoJCQkJICdqb2luJz0+J0xFRlQgSk9JTiAoU0VMRUNUIGZpbGVfaWQsQ09VTlQoZG93bmxvYWRfaWQpIEFTIGRvd25sb2FkcyBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19kb3dubG9hZHMgV0hFUkUgZG93bmxvYWRfZGF0ZSBCRVRXRUVOICVzdCUgQU5EICVldCUgJXV3JSBHUk9VUCBCWSBmaWxlX2lkKSBEQyBPTiBEQy5maWxlX2lkID0gVS51cGxvYWRfaWQnKTsKJGZpZWxkX2luZm9bJ2Rvd25sb2FkX3VzZXInXSA9IGFycmF5KCdjb2x1bW4nPT4nVUQuZG93bmxvYWRfdXNlcicsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX2Rvd25sb2FkX3VzZXInKSwnc3VtbWFyeXJwdCc9PjApOwokZmllbGRfaW5mb1snZG93bmxvYWRfZGF0ZSddID0gYXJyYXkoJ2NvbHVtbic9PidVRC5kb3dubG9hZF9kYXRlJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfZG93bmxvYWRfZGF0ZScpLCdzdW1tYXJ5cnB0Jz0+MCk7CiRmaWVsZF9pbmZvWydsYXRlc3RfZG93bmxvYWQnXSA9IGFycmF5KCdjb2x1bW4nPT4nTUFYKFVELmRvd25sb2FkX2RhdGUpIEFTIGxhdGVzdF9kb3dubG9hZCcsCgkJCQkgICAgICAgJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX2xhdGVzdF9kb3dubG9hZCcpLAoJCQkJICAgICAgICdkZXRhaWxycHQnPT4wKTsKaWYoIGlzX2FycmF5KCRjdXN0b21fZmllbGRzKSAmJiBjb3VudCgkY3VzdG9tX2ZpZWxkcykgKSB7CiAgJGkgPSAxOwogIGZvcmVhY2goICRjdXN0b21fZmllbGRzIGFzICRvbmUgKSB7CiAgICAkYWxpYXMgPSAnRlYnLiRpKys7CiAgICAkbmFtZSA9IHN0cl9yZXBsYWNlKCcgJywnXycsJG9uZVsnbmFtZSddKTsKICAgICRmaWVsZF9pbmZvWydmOicuJG5hbWVdID0gYXJyYXkoJ2pvaW4nPT4nTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19maWVsZHZhbHMgJGFsaWFzCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPTiBVLnVwbG9hZF9pZCA9IHskYWxpYXN9LnVwbG9hZF9pZCBBTkQgeyRhbGlhc30uZmxkX2lkID0gIi4oaW50KSRvbmVbJ2lkJ10sCgkJCQkgICAgJ2NvbHVtbic9PiRhbGlhcy4nLnZhbHVlIEFTICcuJG5hbWUsCgkJCQkgICAgJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkJykuJzogJy4kb25lWyduYW1lJ10pOwogIH0KfQppZiggaXNfYXJyYXkoJGZldV9wcm9wZGVmbnMpICYmIGNvdW50KCRmZXVfcHJvcGRlZm5zKSApIHsKICB1c29ydCgkZmV1X3Byb3BkZWZucyxmdW5jdGlvbigkYSwkYil7IHJldHVybiBzdHJjbXAoJGFbJ3Byb21wdCddLCRiWydwcm9tcHQnXSk7IH0pOwogICRpID0gMTsKICBmb3JlYWNoKCAkZmV1X3Byb3BkZWZucyBhcyAka2V5ID0+ICRvbmUgKSB7CiAgICBpZiggJG9uZVsndHlwZSddID09ICRmZXU6OkZJRUxEVFlQRV9EQVRBICkgY29udGludWU7CiAgICAkYWxpYXMgPSAnRkVVJy4kaSsrOwogICAgJHN1YnNlbGVjdCA9ICJMRUZUIEpPSU4gKFNFTEVDVCBGRVUudXNlcm5hbWUsRkVVVi50aXRsZSxGRVVQLnR5cGUsRkVVVi5kYXRhIEZST00gY21zX21vZHVsZV9mZXVzZXJzX3VzZXJzIEZFVSBMRUZUIEpPSU4gY21zX21vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgRkVVViBPTiBGRVUuaWQgPSBGRVVWLnVzZXJpZCBMRUZUIEpPSU4gY21zX21vZHVsZV9mZXVzZXJzX3Byb3BkZWZuIEZFVVAgT04gRkVVUC5uYW1lID0gRkVVVi50aXRsZSBXSEVSRSBGRVVQLnR5cGUgIT0gOSBBTkQgRkVVUC5uYW1lID0gJyVzJykgJGFsaWFzIjsKICAgICRmaWVsZF9pbmZvWydwOicuJG9uZVsnbmFtZSddXSA9IGFycmF5KCdjb2x1bW4nPT4iJGFsaWFzLmRhdGEgQVMgIi4kb25lWyduYW1lJ10sCgkJCQkgICAnam9pbic9PnNwcmludGYoJHN1YnNlbGVjdCwkb25lWyduYW1lJ10pLiIgT04gVUQuZG93bmxvYWRfdXNlciA9ICRhbGlhcy51c2VybmFtZSIsCgkJCQkgICAnbGFiZWwnPT4kdGhpcy0+TGFuZygndXNlcnByb3AnKS4nOiAnLiRvbmVbJ3Byb21wdCddKTsKICB9Cn0KLy8gdG9kbzogYWRkIGN1c3RvbSBmaWVsZHMgaW4gaGVyZS4KCiRzb3J0aW5ncyA9IGFycmF5KCk7CiRzb3J0aW5nc1sndXBsb2FkX2lkJ10gPSBhcnJheSgnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX2lkJykpOwokc29ydGluZ3NbJ2NhdGVnb3J5X25hbWUnXSA9IGFycmF5KCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfY2F0ZWdvcnlfbmFtZScpLCdzb3J0YnknPT4nY2F0ZWdvcnlfbmFtZScpOwokc29ydGluZ3NbJ3VwbG9hZF9uYW1lJ10gPSBhcnJheSgnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX25hbWUnKSk7CiRzb3J0aW5nc1snYXV0aG9yJ10gPSBhcnJheSgnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX2F1dGhvcicpLCdkZXRhaWxycHQnPT4wLCdzb3J0YnknPT4nYXV0aG9yJyk7CiRzb3J0aW5nc1sndXBsb2FkX3NpemUnXSA9IGFycmF5KCdkZmx0c29ydGJ5Jz0+J0RFU0MnLCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfc2l6ZScpKTsKJHNvcnRpbmdzWyd1cGxvYWRfZGF0ZSddID0gYXJyYXkoJ2RmbHRzb3J0YnknPT4nREVTQycsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX3VwbG9hZF9kYXRlJykpOwokc29ydGluZ3NbJ3N1bW1hcnknXSA9IGFycmF5KCdkZmx0c29ydGJ5Jz0+J0FTQycsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX3VwbG9hZF9zdW1tYXJ5JyksJ3NvcnRieSc9PidzdW1tYXJ5JywncmVxZmllbGQnPT4nc3VtbWFyeScpOwokc29ydGluZ3NbJ2Rvd25sb2FkcyddID0gYXJyYXkoJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX2Rvd25sb2FkcycpLCdyZXFmaWVsZCc9Pidkb3dubG9hZHMnLCdzb3J0YnknPT4nZG93bmxvYWRzJywnZGZsdHNvcnRieSc9PidERVNDJywnc29ydGJ5Mic9Pid1cGxvYWRfbmFtZScsJ2RmbHRzb3J0YnkyJz0+J0FTQycpOwovLyRzb3J0aW5nc1snZG93bmxvYWRzJ10gPSBhcnJheSgnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfZG93bmxvYWRzJyksJ3NvcnRieSc9Pidkb3dubG9hZHMnLCdkZmx0c29ydGJ5Jz0+J0RFU0MnLCdzb3J0YnkyJz0+J3VwbG9hZF9uYW1lJywnZGZsdHNvcnRieTInPT4nQVNDJyk7CiRzb3J0aW5nc1snZG93bmxvYWRfdXNlciddID0gYXJyYXkoJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX2Rvd25sb2FkX3VzZXInKSwnc3VtbWFyeXJwdCc9PjApOwokc29ydGluZ3NbJ2Rvd25sb2FkX2RhdGUnXSA9IGFycmF5KCdkZmx0c29ydGJ5Jz0+J0RFU0MnLCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF9kb3dubG9hZF9kYXRlJyksJ3N1bW1hcnlycHQnPT4wKTsKaWYoIGlzX2FycmF5KCRjdXN0b21fZmllbGRzKSAmJiBjb3VudCgkY3VzdG9tX2ZpZWxkcykgKSB7CiAgZm9yZWFjaCggJGN1c3RvbV9maWVsZHMgYXMgJG9uZSApIHsKICAgICRzb3J0aW5nc1snZjonLiRvbmVbJ25hbWUnXV0gPSBhcnJheSgnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGQnKS4nOiAnLiRvbmVbJ25hbWUnXSwncmVxZmllbGQnPT4nZjonLiRvbmVbJ25hbWUnXSk7CiAgfQp9CmlmKCBpc19hcnJheSgkZmV1X3Byb3BkZWZucykgJiYgY291bnQoJGZldV9wcm9wZGVmbnMpICkgewogIGZvcmVhY2goICRmZXVfcHJvcGRlZm5zIGFzICRrZXkgPT4gJG9uZSApIHsKICAgIGlmKCAhaW5fYXJyYXkoJG9uZVsndHlwZSddLGFycmF5KCRmZXU6OkZJRUxEVFlQRV9URVhULCRmZXU6OkZJRUxEVFlQRV9FTUFJTCwkZmV1OjpGSUVMRFRZUEVfRFJPUERPV04sJGZldTo6RklFTERUWVBFX1JBRElPQlVUTlMsCgkJCQkgICAgICRmZXU6OkZJRUxEVFlQRV9EQVRFKSkgKSBjb250aW51ZTsKICAgICRzb3J0aW5nc1sncDonLiRvbmVbJ25hbWUnXV0gPSBhcnJheSgnbGFiZWwnPT4kdGhpcy0+TGFuZygndXNlcnByb3AnKS4nOiAnLiRvbmVbJ25hbWUnXSwnc29ydGJ5Jz0+JG9uZVsnbmFtZSddLCdyZXFmaWVsZCc9PidwOicuJG9uZVsnbmFtZSddKTsKICB9Cn0KCiRmZXVfZ3JvdXBzID0gYXJyYXlfZmxpcCgkZmV1LT5HZXRHcm91cExpc3QoKSk7CiR1cGxvYWRfY2F0ZWdvcmllcyA9IGFycmF5X2ZsaXAoJHRoaXMtPmdldENhdGVnb3J5TGlzdCgpKTsKJHJlcG9ydF90eXBlcyA9IGFycmF5KCdzdW1tYXJ5Jz0+JHRoaXMtPkxhbmcoJ3JlcG9ydF9zdW1tYXJ5JyksJ2RldGFpbCc9PiR0aGlzLT5MYW5nKCdyZXBvcnRfZGV0YWlsJykpOwokZmlyc3RfZGF5X29mX21vbnRoID0gbWt0aW1lKDAsMCwwLGRhdGUoJ20nKSwxLGRhdGUoJ1knKSk7CiRsYXN0X2RheV9vZl9tb250aCA9IG1rdGltZSgyMyw1OSw1OSxkYXRlKCdtJykrMSwwLGRhdGUoJ1knKSk7CiRkZmx0X2ZsZHMgPSBhcnJheSgndXBsb2FkX25hbWUnLCd1cGxvYWRfYXV0aG9yJywndXBsb2FkX3NpemUnLCd1cGxvYWRfZGF0ZScsJ2Rvd25sb2FkcycsJ2Rvd25sb2FkX3VzZXInKTsKCi8vYnVpbGQgdXNlciBwcm9maWxlCiRwcm9maWxlID0gYXJyYXkoJ3JlcG9ydF90eXBlJz0+J3N1bW1hcnknLCAnb3V0cHV0X3RlbXBsYXRlJz0+JycsICdjYXRlZ29yaWVzJz0+YXJyYXkoKSwgJ2ZpbGVzJz0+JycsCgkJICdmZXVfZ3JvdXBzJz0+YXJyYXkoKSwgJ2ZldV91c2Vycyc9PicnLCAnc3RhcnRfZGF0ZSc9PiRmaXJzdF9kYXlfb2ZfbW9udGgsICdlbmRfZGF0ZSc9PiRsYXN0X2RheV9vZl9tb250aCwKCQkgJ3ZpZXdfZmllbGRzJz0+YXJyYXlfa2V5cygkZmllbGRfaW5mbyksICd2aWV3X3NvcnRpbmcnPT4nZG93bmxvYWRfdXNlcicsICd2aWV3X3NvcnRvcmRlcic9PicqZGVmYXVsdConLAoJCSAnb3V0cHV0X3R5cGUnPT4naHRtbCcpOwokdG1wID0gY21zX3VzZXJwcmVmczo6Z2V0KCR0aGlzLT5HZXROYW1lKCkuJ3JlcG9ydF9kb3dubG9hZHNieWZpbGUnKTsKaWYoICR0bXAgKSAkcHJvZmlsZSA9IHVuc2VyaWFsaXplKCR0bXApOwoKLy8gaGFuZGxlIGJ1dHRvbnMKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApIHsKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnb3BlcmF0aW9uX2NhbmNlbGxlZCcpKTsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CgovLwovLyBnZXQgdGhlIHBhcmFtcy4KLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ3JlcG9ydF90eXBlJ10pICkgewogICRwcm9maWxlWydyZXBvcnRfdHlwZSddID0gJHBhcmFtc1sncmVwb3J0X3R5cGUnXTsKICAkcHJvZmlsZVsnb3V0cHV0X3RlbXBsYXRlJ10gPSAkcGFyYW1zWydvdXRwdXRfdGVtcGxhdGUnXTsKICBpZiggaXNzZXQoJHBhcmFtc1snb3V0cHV0X3R5cGUnXSkgKSAkcHJvZmlsZVsnb3V0cHV0X3R5cGUnXSA9ICRwYXJhbXNbJ291dHB1dF90eXBlJ107CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ3N0YXJ0X2RhdGVZZWFyJ10pICkgewogICAgJHByb2ZpbGVbJ3N0YXJ0X2RhdGUnXSA9IG1rdGltZSgwLDAsMCwoaW50KSRwYXJhbXNbJ3N0YXJ0X2RhdGVNb250aCddLChpbnQpJHBhcmFtc1snc3RhcnRfZGF0ZURheSddLChpbnQpJHBhcmFtc1snc3RhcnRfZGF0ZVllYXInXSk7CiAgfQogIGlmKCBpc3NldCgkcGFyYW1zWydlbmRfZGF0ZVllYXInXSkgKSB7CiAgICAkcHJvZmlsZVsnZW5kX2RhdGUnXSA9IG1rdGltZSgyMyw1OSw1OSwoaW50KSRwYXJhbXNbJ2VuZF9kYXRlTW9udGgnXSwoaW50KSRwYXJhbXNbJ2VuZF9kYXRlRGF5J10sKGludCkkcGFyYW1zWydlbmRfZGF0ZVllYXInXSk7CiAgfQogIGlmKCAkcHJvZmlsZVsnc3RhcnRfZGF0ZSddICE9ICcnICYmICRwcm9maWxlWydlbmRfZGF0ZSddICE9ICcnICYmCiAgICAgICRwcm9maWxlWydzdGFydF9kYXRlJ10gPj0gJHByb2ZpbGVbJ2VuZF9kYXRlJ10gKSB7CiAgICAvLyBlbmQgZGF0ZSBiZWZvcmUgc3RhcnQgZGF0ZSwgYmUgc21hcnQgYW5kIGp1c3Qgc3dhcCBlbS4KICAgICR0bXAgPSAkcHJvZmlsZVsnc3RhcnRfZGF0ZSddOwogICAgJHByb2ZpbGVbJ3N0YXJ0X2RhdGUnXSA9ICRwcm9maWxlWydlbmRfZGF0ZSddOwogICAgJHByb2ZpbGVbJ2VuZF9kYXRlJ10gPSAkdG1wOwogIH0KCiAgaWYoIGlzc2V0KCRwYXJhbXNbJ3ZpZXdfZmllbGRzJ10pICkgewogICAgJHByb2ZpbGVbJ3ZpZXdfZmllbGRzJ10gPSAkcGFyYW1zWyd2aWV3X2ZpZWxkcyddOwogIH0KICBlbHNlIHsKICAgICRwcm9maWxlWyd2aWV3X2ZpZWxkcyddID0gJGRmbHRfZmxkczsKICB9CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ3ZpZXdfc29ydGluZyddKSApICAkcHJvZmlsZVsndmlld19zb3J0aW5nJ10gPSAkcGFyYW1zWyd2aWV3X3NvcnRpbmcnXTsKICBpZiggaXNzZXQoJHBhcmFtc1sndmlld19zb3J0b3JkZXInXSkgKSAkcHJvZmlsZVsndmlld19zb3J0b3JkZXInXSA9ICRwYXJhbXNbJ3ZpZXdfc29ydG9yZGVyJ107CgogICRwcm9maWxlWydjYXRlZ29yaWVzJ10gPSBhcnJheSgpOwogICRwcm9maWxlWydmaWxlcyddID0gJyc7CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3JpZXMnXSkgJiYgaXNfYXJyYXkoJHBhcmFtc1snY2F0ZWdvcmllcyddKSAmJiBjb3VudCgkcGFyYW1zWydjYXRlZ29yaWVzJ10pICkgewogICAgJHByb2ZpbGVbJ2NhdGVnb3JpZXMnXSA9ICRwYXJhbXNbJ2NhdGVnb3JpZXMnXTsKICB9CiAgZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snZmlsZXMnXSkgKSB7CiAgICAkcHJvZmlsZVsnZmlsZXMnXSA9ICRwYXJhbXNbJ2ZpbGVzJ107CiAgfQoKICAkcHJvZmlsZVsnZmV1X2dyb3VwcyddID0gYXJyYXkoKTsKICAkcHJvZmlsZVsnZmV1X3VzZXJzJ10gPSAnJzsKICBpZiggaXNzZXQoJHBhcmFtc1snZmV1X2dyb3VwcyddKSAmJiBpc19hcnJheSgkcGFyYW1zWydmZXVfZ3JvdXBzJ10pICYmIGNvdW50KCRwYXJhbXNbJ2ZldV9ncm91cHMnXSkgKSB7CiAgICAkcHJvZmlsZVsnZmV1X2dyb3VwcyddID0gJHBhcmFtc1snZmV1X2dyb3VwcyddOwogIH0KICBlbHNlIGlmKCBpc3NldCgkcGFyYW1zWydmZXVfdXNlcnMnXSkgJiYgJHBhcmFtc1snZmV1X3VzZXJzJ10gIT0gJycgKSB7CiAgICAkcHJvZmlsZVsnZmV1X3VzZXJzJ10gPSAkcGFyYW1zWydmZXVfdXNlcnMnXTsKICB9Cn0KCi8vCi8vIGhhbmRsZSBzdWJtaXQKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIHsKICAvLyBpZiB3ZSBnb3QgaGVyZSwgZXZlcnl0aGluZyBjaGVja3Mgb3V0CiAgY21zX3VzZXJwcmVmczo6c2V0KCR0aGlzLT5HZXROYW1lKCkuJ3JlcG9ydF9kb3dubG9hZHNieWZpbGUnLHNlcmlhbGl6ZSgkcHJvZmlsZSkpOwoKICBpZiggJHByb2ZpbGVbJ291dHB1dF90eXBlJ10gIT0gJ2h0bWwnICkgewogICAgLy8gZ2VuZXJhdGUgdGhlIHJlcG9ydCBkaXJlY3RseS4KICAgICRwYXJhbXNbJ3JlcG9ydCddID0gMTsKICB9CiAgZWxzZSB7CiAgICAvLyBnb3R0YSBvcGVuIGEgbmV3IHdpbmRvdyBmaXJzdC4KICAgICR1cmwgPSAkdGhpcy0+Y3JlYXRlX3VybCgkaWQsJ2FkbWluX3JlcG9ydF9kb3dubG9hZHNieWZpbGUnLCRyZXR1cm5pZCxhcnJheSgncmVwb3J0Jz0+MSkpOwogICAgJHVybCA9IHN0cl9yZXBsYWNlKCcmYW1wOycsJyYnLCR1cmwpLicmc2hvd3RlbXBsYXRlPWZhbHNlJzsKICAgICR0eHQgPSAid2luZG93Lm9wZW4oJ3skdXJsfScsJ3JlcG9ydCcsJ3Njcm9sbGJhcnM9eWVzLGRpcmVjdG9yaWVzPTAsbG9jYXRpb249MCxtZW51YmFyPTAsc3RhdHVzPTAsdG9vbGJhcj0wJyk7IjsKICAgICRzbWFydHktPmFzc2lnbignZXh0cmFqcycsJHR4dCk7CiAgfQp9CgppZiggaXNzZXQoJHBhcmFtc1sncmVwb3J0J10pICkgewogIC8vIGdldCB0aGUgdXNlcm5hbWVzLgogICRlcnJvciA9ICcnOwogICR1c2VycyA9IGFycmF5KCk7CiAgJGRvX3VzZXJzID0gMDsKICBpZiggY291bnQoJHByb2ZpbGVbJ2ZldV9ncm91cHMnXSkgPiAwICkgewogICAgLy8gZXhwYW5kIGdyb3VwcyB0byB1c2VycwogICAgJGRvX3VzZXJzID0gMTsKICAgICRxdWVyeSA9IG5ldyBmZXVfdXNlcl9xdWVyeSgpOwogICAgJHF1ZXJ5LT5hZGRfYW5kX29wdChmZXVfdXNlcl9xdWVyeV9vcHQ6Ok1BVENIX0dST1VQSUQsJHByb2ZpbGVbJ2ZldV9ncm91cHMnXSk7CiAgICAkcnMgPSAkcXVlcnktPmV4ZWN1dGUoKTsKICAgIHdoaWxlKCAhJHJzLT5FT0YoKSApIHsKICAgICAgJHVzZXJzW10gPSAkcnMtPmZpZWxkc1sndXNlcm5hbWUnXTsKICAgICAgJHJzLT5Nb3ZlTmV4dCgpOwogICAgfQogIH0KICBlbHNlIGlmKCAkcHJvZmlsZVsnZmV1X3VzZXJzJ10gIT0gJycgKSB7CiAgICAkZG9fdXNlcnMgPSAxOwogICAgJHRtcCA9IHByZWdfc3BsaXQoJy9bXHMsXS8nLCRwcm9maWxlWydmZXVfdXNlcnMnXSk7CiAgICBpZiggaXNfYXJyYXkoJHRtcCkgJiYgY291bnQoJHRtcCkgKSB7CiAgICAgICR0bXAyID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewoJJG9uZSA9IHRyaW0oJG9uZSk7CglpZiggISRvbmUgKSBjb250aW51ZTsKCSR0bXAyW10gPSAkb25lOwogICAgICB9CiAgICAgICR1c2VycyA9ICR0bXAyOwogICAgfQogIH0KICBpZiggJGRvX3VzZXJzICYmICFjb3VudCgkdXNlcnMpICkgJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vdXNlcnNmb3VuZCcpOwoKICBpZiggJGVycm9yID09ICcnICkgewogICAgLy8gZ2V0IHRoZSBmaWxlcy4KICAgICRmaWxlcyA9IGFycmF5KCk7CiAgICAkZG9fZmlsZXMgPSAwOwogICAgaWYoIGNvdW50KCRwcm9maWxlWydjYXRlZ29yaWVzJ10pID4gMCApICB7CiAgICAgICRkb19maWxlcyA9IDE7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgVS51cGxvYWRfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHMgVSBXSEVSRSB1cGxvYWRfY2F0ZWdvcnlfaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHByb2ZpbGVbJ2NhdGVnb3JpZXMnXSkuJyknOwogICAgICAkZmlsZXMgPSAkZGItPkdldENvbCgkcXVlcnkpOwogICAgfQogICAgZWxzZSBpZiggJHByb2ZpbGVbJ2ZpbGVzJ10gIT0gJycgKSB7CiAgICAgICRkb19maWxlcyA9IDE7CiAgICAgICR0bXAgPSBwcmVnX3NwbGl0KCcvW1xzLF0vJywkcHJvZmlsZVsnZmlsZXMnXSk7CiAgICAgIGlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApIHsKCSR0bXAyID0gYXJyYXkoKTsgLy8gcmVndWxhciBmaWxlbmFtZXMuCgkkdG1wMyA9IGFycmF5KCk7IC8vIHdpbGRjYXJkIHBhdHRlcm5zLgoJZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewoJICAkb25lID0gdHJpbSgkb25lKTsKCSAgaWYoICEkb25lICkgY29udGludWU7CgkgIGlmKCBzdHJwb3MoJG9uZSwnKicpICE9PSBGQUxTRSB8fCBzdHJwb3MoJG9uZSwnJScpICE9PSBGQUxTRSApIHsKCSAgICAkb25lID0gc3RyX3JlcGxhY2UoJyonLCclJywkb25lKTsKCSAgICAkb25lID0gc3RyX3JlcGxhY2UoJyUlJywnJScsJG9uZSk7CgkgICAgJHRtcDNbXSA9ICIodXBsb2FkX25hbWUgTElLRSAnJG9uZScpIjsKCSAgfQoJICBlbHNlIHsKCSAgICAkdG1wMltdID0gIiciLiRvbmUuIiciOwoJICB9Cgl9CglpZiggY291bnQoJHRtcDIpICkgewoJICAkcXVlcnkgPSAnU0VMRUNUIHVwbG9hZF9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcyBXSEVSRSB1cGxvYWRfbmFtZSBJTiAoJy5pbXBsb2RlKCR0bXAyKS4nKSc7CgkgICRkYnIgPSAkZGItPkdldENvbCgkcXVlcnkpOwoJICBpZiggaXNfYXJyYXkoJGRicikgJiYgY291bnQoJGRicikgKSAkZmlsZXMgPSAkZGJyOwoJfQoJaWYoIGNvdW50KCR0bXAzKSApIHsKCSAgJHF1ZXJ5ID0gJ1NFTEVDVCB1cGxvYWRfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHMgV0hFUkUgJzsKCSAgJHF1ZXJ5IC49IGltcGxvZGUoJyBPUiAnLCR0bXAzKTsKCSAgJGRiciA9ICRkYi0+R2V0Q29sKCRxdWVyeSk7CgkgIGlmKCBpc19hcnJheSgkZGJyKSAmJiBjb3VudCgkZGJyKSApICRmaWxlcyA9IGFycmF5X21lcmdlKCRmaWxlcywkZGJyKTsKCX0KCSRmaWxlcyA9IGFycmF5X3VuaXF1ZSgkZmlsZXMpOwogICAgICB9CiAgICB9CiAgICBpZiggJGRvX2ZpbGVzICYmICFjb3VudCgkZmlsZXMpICkgJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21hdGNoaW5ncmVjb3JkcycpOwogIH0KCiAgaWYoICRlcnJvciA9PSAnJyApIHsKICAgIC8vCiAgICAvLyBidWlsZCB0aGUgcXVlcnkKICAgIC8vCiAgICAkam9pbnMgPSBhcnJheSgpOwogICAgJHdoZXJlID0gYXJyYXkoKTsKICAgICR3aGVyZXAgPSBhcnJheSgpOwogICAgJHVzZXJ3aGVyZSA9IG51bGw7CiAgICAkY29sdW1ucyA9IGFycmF5KCk7CiAgICAkcmVxdWlyZWRfY29sdW1ucyA9IGFycmF5KCk7CiAgICAvLyB2YXJpYWJsZXMgd2UgY2FuIHJlcGxhY2UgaW4gYW55IGpvaW4uCiAgICAkc3QgPSAkZGItPkRiVGltZVN0YW1wKCRwcm9maWxlWydzdGFydF9kYXRlJ10pOwogICAgJGV0ID0gJGRiLT5EYlRpbWVTdGFtcCgkcHJvZmlsZVsnZW5kX2RhdGUnXSk7CiAgICAkcmVwX3ZhcnMgPSBhcnJheSgpOwogICAgJHJlcF92YXJzWyclc3QlJ10gPSAkc3Q7CiAgICAkcmVwX3ZhcnNbJyVldCUnXSA9ICRldDsKICAgICRyZXBfdmFyc1snJXV3JSddID0gJyc7CgogICAgLy8gYnVpbGQgYSB0aW1lIGxpbWl0aW5nIHdoZXJlIGV4cHJlc3Npb24KICAgICR3aGVyZVtdID0gIihkb3dubG9hZF9kYXRlIEJFVFdFRU4gJHN0IEFORCAkZXQpIjsKCiAgICAvLyBidWlsZCBhIGZpbGVzIHdoZXJlIGV4cHJlc3Npb24KICAgIGlmKCBjb3VudCgkZmlsZXMpICkgJHdoZXJlW10gPSAnVS51cGxvYWRfaWQgSU4gKCcuaW1wbG9kZSgnLCcsJGZpbGVzKS4nKSc7CgogICAgLy8gYnVpbGQgYSB1c2VycyB3aGVyZSBleHByZXNzaW9uCiAgICBpZiggY291bnQoJHVzZXJzKSApIHsKICAgICAgJHRtcDIgPSBhcnJheSgpOyAvLyByZWd1bGFyIHVzZXJuYW1lcwogICAgICAkdG1wMyA9IGFycmF5KCk7IC8vIHdpbGRjYXJkIHBhdHRlcm4KICAgICAgZm9yZWFjaCggJHVzZXJzIGFzICR0dXNlciApIHsKCWlmKCBzdHJwb3MoJHR1c2VyLCcqJykgIT09IEZBTFNFIHx8IHN0cnBvcygkdHVzZXIsJyUnKSAhPT0gRkFMU0UgKSB7CgkgICR0dXNlciA9IHN0cl9yZXBsYWNlKCcqJywnJScsJHR1c2VyKTsKCSAgJHR1c2VyID0gc3RyX3JlcGxhY2UoJyUlJywnJScsJHR1c2VyKTsKCSAgJHRtcDNbXSA9ICJVRC5kb3dubG9hZF91c2VyIExJS0UgJyR0dXNlciciOwoJfQoJZWxzZSB7CgkgICR0dXNlciA9ICInIi4kdHVzZXIuIiciOwoJICAkdG1wMltdID0gJHR1c2VyOwoJfQogICAgICB9CiAgICAgICR3aCA9IGFycmF5KCk7CiAgICAgIGlmKCBjb3VudCgkdG1wMikgKSAkd2hbXSA9ICdVRC5kb3dubG9hZF91c2VyIElOICgnLmltcGxvZGUoJywnLCR0bXAyKS4nKSc7CiAgICAgIGlmKCBjb3VudCgkdG1wMykgKSAkd2ggPSBhcnJheV9tZXJnZSgkd2gsJHRtcDMpOwogICAgICBpZiggY291bnQoJHdoKSApIHsKCSR1c2Vyd2hlcmUgPSAnKCcuIGltcGxvZGUoJyBPUiAnLCR3aCkuICcpJzsKCSRyZXBfdmFyc1snJXV3JSddID0gJ0FORCAnLnN0cl9yZXBsYWNlKCdVRC4nLCcnLCR1c2Vyd2hlcmUpOwoJJHdoZXJlW10gPSAkdXNlcndoZXJlOwogICAgICB9CiAgICB9CgogICAgLy8gYnVpbGQgdGhlIGxpc3Qgb2YgY29sdW1ucyB0byBkaXNwbGF5Li4gYW5kIHByb2Nlc3MgY3VzdG9tIGZpZWxkcy4KICAgIC8vIG1ha2Ugc3VyZSB1cGxvYWQgaWQsIGFuZCBkb3dubG9hZCBuYW1lIGFyZSBpbiB0aGUgbGlzdAogICAgJHZpZXdfZmllbGRzID0gICRwcm9maWxlWyd2aWV3X2ZpZWxkcyddOwogICAgaWYoIGlzc2V0KCRzb3J0aW5nc1skcHJvZmlsZVsndmlld19zb3J0aW5nJ11dWydyZXFmaWVsZCddKSAmJiAhaW5fYXJyYXkoJHByb2ZpbGVbJ3ZpZXdfc29ydGluZyddLCR2aWV3X2ZpZWxkcykgKSB7CiAgICAgIC8vIGFkZHMgY29sdW1uIHRvIGNvbHVtbiBsaXN0IGlmIGl0cyByZXF1aXJlZCBieSBzb3J0aW5nLgogICAgICAkY29sID0gJHNvcnRpbmdzWyRwcm9maWxlWyd2aWV3X3NvcnRpbmcnXV1bJ3JlcWZpZWxkJ107CiAgICAgICRyZXF1aXJlZF9jb2x1bW5zW10gPSAkY29sOwogICAgICAkdmlld19maWVsZHNbXSA9ICRjb2w7CiAgICB9CgogICAgJHZpZXdfZmllbGRzID0gYXJyYXlfdW5pcXVlKGFycmF5X21lcmdlKGFycmF5KCd1cGxvYWRfaWQnLCd1cGxvYWRfbmFtZScpLCR2aWV3X2ZpZWxkcykpOwoKICAgIGZvcmVhY2goICR2aWV3X2ZpZWxkcyBhcyAkb25lICkgewogICAgICBpZiggaXNzZXQoJGZpZWxkX2luZm9bJG9uZV0pICkgewoJJGNvbHVtbnNbXSA9ICRmaWVsZF9pbmZvWyRvbmVdWydjb2x1bW4nXTsKCS8vaWYoIHN0YXJ0c3dpdGgoJG9uZSwnZjonKSB8fCBzdGFydHN3aXRoKCRvbmUsJ3A6JykgKSB7CglpZiggaXNzZXQoJGZpZWxkX2luZm9bJG9uZV1bJ2pvaW4nXSkgKSB7CgkgICR0bXAgPSAkZmllbGRfaW5mb1skb25lXVsnam9pbiddOwoJICAkdG1wID0gc3RyX3JlcGxhY2UoYXJyYXlfa2V5cygkcmVwX3ZhcnMpLGFycmF5X3ZhbHVlcygkcmVwX3ZhcnMpLCR0bXApOwoJICAkam9pbnNbXSA9ICR0bXA7Cgl9CiAgICAgIH0KICAgIH0KCiAgICAvLyBhc3NlbWJsZSB0aGUgYmFzaWMgcXVlcnkKICAgICRxdWVyeSA9ICdTRUxFQ1QgJy5pbXBsb2RlKCcsJywkY29sdW1ucykuJyBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcyBVCiAgICAgICAgICAgICAgTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19kb3dubG9hZHMgVUQgT04gVS51cGxvYWRfaWQgPSBVRC5maWxlX2lkCiAgICAgICAgICAgICAgTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzIFVDIE9OIFUudXBsb2FkX2NhdGVnb3J5X2lkID0gVUMudXBsb2FkX2NhdGVnb3J5X2lkJzsKICAgIGlmKCBjb3VudCgkam9pbnMpICkgJHF1ZXJ5IC49ICcgJy5pbXBsb2RlKCcgJywkam9pbnMpOwogICAgJHF1ZXJ5IC49ICcgV0hFUkUgJy5pbXBsb2RlKCcgQU5EICcsJHdoZXJlKTsKICAgIGlmKCAkcHJvZmlsZVsncmVwb3J0X3R5cGUnXSA9PSAnc3VtbWFyeScgKSB7CiAgICAgIC8vJHF1ZXJ5IC49ICcgR1JPVVAgQlkgVS51cGxvYWRfaWQsVUQuZG93bmxvYWRfdXNlciAnOwogICAgICAkcXVlcnkgLj0gJyBHUk9VUCBCWSBVLnVwbG9hZF9pZCAnOwogICAgfQoKICAgIC8vIGFkZCBzb3J0aW5nCiAgICAkdG1wID0gYXJyYXkoKTsKICAgICRzb3J0YnkgPSAkZmllbGRfaW5mb1skcHJvZmlsZVsndmlld19zb3J0aW5nJ11dWydjb2x1bW4nXTsKICAgIGlmKCBpc3NldCgkc29ydGluZ3NbJHByb2ZpbGVbJ3ZpZXdfc29ydGluZyddXVsnc29ydGJ5J10pICkgewogICAgICAkc29ydGJ5ID0gJHNvcnRpbmdzWyRwcm9maWxlWyd2aWV3X3NvcnRpbmcnXV1bJ3NvcnRieSddOwogICAgfQogICAgJHNvcnRvcmRlciA9ICRwcm9maWxlWyd2aWV3X3NvcnRvcmRlciddOwogICAgaWYoICRzb3J0b3JkZXIgPT0gJypkZWZhdWx0KicgKSB7CiAgICAgICRzb3J0b3JkZXIgPSAnQVNDJzsKICAgICAgaWYoIGlzc2V0KCRzb3J0aW5nc1skcHJvZmlsZVsndmlld19zb3J0aW5nJ11dWydkZmx0c29ydGJ5J10pICkgJHNvcnRvcmRlciA9ICRzb3J0aW5nc1skcHJvZmlsZVsndmlld19zb3J0aW5nJ11dWydkZmx0c29ydGJ5J107CiAgICB9CiAgICAvLyBub3RlOiBwcmVwZW5kcyBzb3J0IGJ5IHVwbG9hZCBuYW1lLgogICAgLy9pZiggJHByb2ZpbGVbJ3ZpZXdfc29ydGluZyddICE9ICd1cGxvYWRfbmFtZScgKSAkdG1wW10gPSAkZmllbGRfaW5mb1sndXBsb2FkX25hbWUnXVsnY29sdW1uJ10uJyBBU0MnOwogICAgJHRtcFtdID0gIiRzb3J0YnkgJHNvcnRvcmRlciI7CgogICAgLy8gc2Vjb25kIHNvcnRpbmcKICAgIGlmKCBpc3NldCgkc29ydGluZ3NbJHByb2ZpbGVbJ3ZpZXdfc29ydGluZyddXVsnc29ydGJ5MiddKSApIHsKICAgICAgJHNvcnRieSA9ICRzb3J0aW5nc1skcHJvZmlsZVsndmlld19zb3J0aW5nJ11dWydzb3J0YnkyJ107CiAgICAgICRzb3J0b3JkZXIgPSAkcHJvZmlsZVsndmlld19zb3J0b3JkZXInXTsKICAgICAgaWYoICRzb3J0b3JkZXIgPT0gJypkZWZhdWx0KicgKSB7Cgkkc29ydG9yZGVyID0gJ0FTQyc7CglpZiggaXNzZXQoJHNvcnRpbmdzWyRwcm9maWxlWyd2aWV3X3NvcnRpbmcnXV1bJ2RmbHRzb3J0YnkyJ10pICkgJHNvcnRvcmRlciA9ICRzb3J0aW5nc1skcHJvZmlsZVsndmlld19zb3J0aW5nJ11dWydkZmx0c29ydGJ5J107CiAgICAgIH0KICAgICAgJHRtcFtdID0gIiRzb3J0YnkgJHNvcnRvcmRlciI7CiAgICB9CiAgICAkcXVlcnkgLj0gJyBPUkRFUiBCWSAnLmltcGxvZGUoJywgJywkdG1wKTsKCiAgICAkZGJyID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJHdoZXJlcCkpOwogICAgaWYoICFpc19hcnJheSgkZGJyKSB8fCBjb3VudCgkZGJyKSA9PSAwICkgJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21hdGNoaW5ncmVjb3JkcycpOwogIH0KCiAgc3dpdGNoKCAkcHJvZmlsZVsnb3V0cHV0X3R5cGUnXSApIHsKICBjYXNlICdjc3YnOgogICAgaWYoICRlcnJvciApIHsKICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3IpOwogICAgICBicmVhazsKICAgIH0KICAgICRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsKICAgIGZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CiAgICBoZWFkZXIoIkNvbnRlbnQtZGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPXVwbG9hZHMuIiAuIGRhdGUoIlktbS1kIikgLiAiLmNzdiIpOwogICAgaGVhZGVyKCJDb250ZW50LXR5cGU6IHRleHQvY3N2Iik7CiAgICBmbHVzaCgpOwogICAgJGhkciA9IGFycmF5X2tleXMoJGRiclswXSk7CiAgICBlY2hvICcjJy5jZ2VfYXJyYXk6OmltcGxvZGVfcXVvdGVkKCRoZHIpLiJcbiI7CiAgICBmb3JlYWNoKCAkZGJyIGFzICRyZWMgKSB7CiAgICAgIGVjaG8gY2dlX2FycmF5OjppbXBsb2RlX3F1b3RlZChhcnJheV92YWx1ZXMoJHJlYykpLiJcbiI7CiAgICB9CiAgICBmbHVzaCgpOwogICAgZXhpdDsKICAgIGJyZWFrOwoKICBjYXNlICdodG1sJzoKICAgIGlmKCAkZXJyb3IgKSB7CiAgICAgICRzbWFydHktPmFzc2lnbignZXJyb3InLCRlcnJvcik7CiAgICB9CiAgICBpZiggaXNzZXQoJGRicikgJiYgaXNfYXJyYXkoJGRicikgJiYgY291bnQoJGRicikgKSB7CiAgICAgIC8vIGNyZWF0ZSBsYWJlbHMuCiAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAkcmVjID0gYXJyYXlfa2V5cygkZGJyWzBdKTsKICAgICAgZm9yZWFjaCggJHJlYyBhcyAmJG9uZSApIHsKCWlmKCBpc3NldCgkZmllbGRfaW5mb1skb25lXSkgKSB7CgkgICRvdXRbJG9uZV0gPSAkZmllbGRfaW5mb1skb25lXVsnbGFiZWwnXTsKCSAgY29udGludWU7Cgl9CglpZiggaXNzZXQoJGZpZWxkX2luZm9bJ2Y6Jy4kb25lXSkgKSB7CgkgICRvdXRbJG9uZV0gPSAkZmllbGRfaW5mb1snZjonLiRvbmVdWydsYWJlbCddOwoJICBjb250aW51ZTsKCX0KCWlmKCBpc3NldCgkZmllbGRfaW5mb1sncDonLiRvbmVdKSApIHsKCSAgJG91dFskb25lXSA9ICRmaWVsZF9pbmZvWydwOicuJG9uZV1bJ2xhYmVsJ107Cgl9CiAgICAgIH0KICAgICAgJHNtYXJ0eS0+YXNzaWduKCdhdXRvX2NvbHVtbnMnLCRyZXF1aXJlZF9jb2x1bW5zKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdsYWJlbHMnLCRvdXQpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3JlY29yZHMnLCRkYnIpOwogICAgfQogICAgJHNtYXJ0eS0+YXNzaWduKCd1c2VyJywkdXNlcik7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb2ZpbGUnLCRwcm9maWxlKTsKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgncmRmXycuJHByb2ZpbGVbJ291dHB1dF90ZW1wbGF0ZSddKTsKICAgIGV4aXQ7CiAgICBicmVhazsKCiAgY2FzZSAnaHRtbGVtYWlsJzoKICAgIGlmKCAkZXJyb3IgKSB7CiAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGVycm9yKTsKICAgICAgYnJlYWs7CiAgICB9CiAgICAkb3V0ID0gYXJyYXkoKTsKICAgICRyZWMgPSBhcnJheV9rZXlzKCRkYnJbMF0pOwogICAgZm9yZWFjaCggJHJlYyBhcyAmJG9uZSApIHsKICAgICAgaWYoIGlzc2V0KCRmaWVsZF9pbmZvWyRvbmVdKSApICRvdXRbJG9uZV0gPSAkZmllbGRfaW5mb1skb25lXVsnbGFiZWwnXTsKICAgICAgaWYoIGlzc2V0KCRmaWVsZF9pbmZvWydmOicuJG9uZV0pICkgJG91dFskb25lXSA9ICRmaWVsZF9pbmZvWydmOicuJG9uZV1bJ2xhYmVsJ107CiAgICAgIGlmKCBpc3NldCgkZmllbGRfaW5mb1sncDonLiRvbmVdKSApICRvdXRbJG9uZV0gPSAkZmllbGRfaW5mb1sncDonLiRvbmVdWydsYWJlbCddOwogICAgfQogICAgJHNtYXJ0eS0+YXNzaWduKCdhdXRvX2NvbHVtbnMnLCRyZXF1aXJlZF9jb2x1bW5zKTsKICAgICRzbWFydHktPmFzc2lnbignbGFiZWxzJywkb3V0KTsKICAgICRzbWFydHktPmFzc2lnbigndXNlcicsJHVzZXIpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9maWxlJywkcHJvZmlsZSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3JlY29yZHMnLCRkYnIpOwogICAgJG91dCA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3JkZl8nLiRwcm9maWxlWydvdXRwdXRfdGVtcGxhdGUnXSk7CiAgICAkbWFpbGVyID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDTVNNYWlsZXInKTsKICAgICRtYWlsZXItPkFkZEFkZHJlc3MoJHVzZXJlbWFpbCk7CiAgICAkbWFpbGVyLT5TZXRTdWJqZWN0KCR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgne3NpdGVuYW1lfSAtIERvd25sb2FkcyBieSBGaWxlIFJlcG9ydCcpKTsKICAgICRtYWlsZXItPlNldEJvZHkoJG91dCk7CiAgICAkbWFpbGVyLT5Jc0hUTUwoVFJVRSk7CiAgICAkbWFpbGVyLT5TZW5kKCk7CiAgICAkbWFpbGVyLT5yZXNldCgpOwogICAgZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19yZXBvcnRfc2VudCcpKTsKICAgIGJyZWFrOwogIH0KfQoKLy8KLy8gYnVpbGQgdGhlIGZvcm0uCi8vCiRmaWVsZGxpc3QgPSBhcnJheSgpOwpmb3JlYWNoKCAkZmllbGRfaW5mbyBhcyAka2V5ID0+ICRyZWMgKSB7CiAgJHNob3cgPSAxOwogIHN3aXRjaCAoICRwcm9maWxlWydyZXBvcnRfdHlwZSddICkgewogIGNhc2UgJ3N1bW1hcnknOgogICAgaWYoIGlzc2V0KCRyZWNbJ3N1bW1hcnlycHQnXSkgKSAkc2hvdyA9ICRyZWNbJ3N1bW1hcnlycHQnXTsKICAgIGJyZWFrOwoKICBjYXNlICdkZXRhaWwnOgogICAgaWYoIGlzc2V0KCRyZWNbJ2RldGFpbHJwdCddKSApICRzaG93ID0gJHJlY1snZGV0YWlscnB0J107CiAgICBicmVhazsKICB9CiAgaWYoICEkc2hvdyApIGNvbnRpbnVlOwogICRmaWVsZGxpc3RbJGtleV0gPSAkcmVjWydsYWJlbCddOwp9CiRzbWFydHktPmFzc2lnbignZmllbGRsaXN0JywkZmllbGRsaXN0KTsKCiRzb3J0bGlzdCA9IGFycmF5KCk7CmZvcmVhY2goICRzb3J0aW5ncyBhcyAka2V5ID0+ICRyZWMgKSB7CiAgJHNob3cgPSAxOwogIHN3aXRjaCAoICRwcm9maWxlWydyZXBvcnRfdHlwZSddICkgewogIGNhc2UgJ3N1bW1hcnknOgogICAgaWYoIGlzc2V0KCRyZWNbJ3N1bW1hcnlycHQnXSkgKSAkc2hvdyA9ICRyZWNbJ3N1bW1hcnlycHQnXTsKICAgIGJyZWFrOwoKICBjYXNlICdkZXRhaWwnOgogICAgaWYoIGlzc2V0KCRyZWNbJ2RldGFpbHJwdCddKSApICRzaG93ID0gJHJlY1snZGV0YWlscnB0J107CiAgICBicmVhazsKICB9CiAgaWYoICEkc2hvdyApIGNvbnRpbnVlOwogICRzb3J0bGlzdFska2V5XSA9ICRyZWNbJ2xhYmVsJ107Cn0KJHNtYXJ0eS0+YXNzaWduKCdzb3J0bGlzdCcsJHNvcnRsaXN0KTsKCiRzb3J0YnlzID0gYXJyYXkoJypkZWZhdWx0Kic9PiR0aGlzLT5MYW5nKCdwcm9tcHRfZGVmYXVsdCcpLCdBU0MnPT4kdGhpcy0+TGFuZygncHJvbXB0X2FzY2VuZGluZycpLCdERVNDJz0+JHRoaXMtPkxhbmcoJ3Byb21wdF9kZXNjZW5kaW5nJykpOwokc21hcnR5LT5hc3NpZ24oJ3NvcnRvcmRlcnMnLCRzb3J0YnlzKTsKCiRzbWFydHktPmFzc2lnbignc3RhcnRfdGltZScsJGZpcnN0X2RheV9vZl9tb250aCk7CiRzbWFydHktPmFzc2lnbignZW5kX3RpbWUnLCRsYXN0X2RheV9vZl9tb250aCk7CgokdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdhZG1pbl9hamF4X29wcycsJHJldHVybmlkLGFycmF5KCdvcCc9Pid1c2VyX2F1dG9jb21wbGV0ZScpKS4nJnNob3d0ZW1wbGF0ZT1mYWxzZSc7CiRzbWFydHktPmFzc2lnbigndXJsX2FqYXhfZmV1X3VzZXJzJyxzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywkdXJsKSk7CiR1cmwgPSAkdGhpcy0+Y3JlYXRlX3VybCgkaWQsJ2FkbWluX2FqYXhfb3BzJywkcmV0dXJuaWQsYXJyYXkoJ29wJz0+J2ZpbGVfYXV0b2NvbXBsZXRlJykpLicmc2hvd3RlbXBsYXRlPWZhbHNlJzsKJHNtYXJ0eS0+YXNzaWduKCd1cmxfYWpheF9maWxlcycsc3RyX3JlcGxhY2UoJyZhbXA7JywnJicsJHVybCkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9maWxlJywkcHJvZmlsZSk7CiRzbWFydHktPmFzc2lnbignZmV1X2dyb3VwcycsJGZldV9ncm91cHMpOwokc21hcnR5LT5hc3NpZ24oJ3VwbG9hZF9jYXRlZ29yaWVzJywkdXBsb2FkX2NhdGVnb3JpZXMpOwokc21hcnR5LT5hc3NpZ24oJ3JlcG9ydF90eXBlcycsJHJlcG9ydF90eXBlcyk7CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9yZXBvcnRfZG93bmxvYWRzYnlmaWxlJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJHRlbXBsYXRlcyA9IGNnZV90ZW1wbGF0ZV91dGlsczo6Z2V0X3RlbXBsYXRlc19ieV9wcmVmaXgoJHRoaXMsJ3JkZl8nKTsKaWYoIGlzX2FycmF5KCR0ZW1wbGF0ZXMpICYmIGNvdW50KCR0ZW1wbGF0ZXMpICkgewogICRvdXQgPSBhcnJheSgpOwogIGZvcmVhY2goICR0ZW1wbGF0ZXMgYXMgJHRwbCApIHsKICAgICR0cGwgPSBzdWJzdHIoJHRwbCw0KTsKICAgICRvdXRbJHRwbF0gPSAkdHBsOwogIH0KICAkc21hcnR5LT5hc3NpZ24oJ291dHB1dF90ZW1wbGF0ZXMnLCRvdXQpOwp9Cgokb3V0cHV0X3R5cGVzID0gYXJyYXkoJ2Nzdic9PiR0aGlzLT5MYW5nKCdleHBvcnRfY3N2JyksJ2h0bWwnPT4kdGhpcy0+TGFuZygnZXhwb3J0X2h0bWwnKSk7CmlmKCAkdXNlcmVtYWlsICkgJG91dHB1dF90eXBlc1snaHRtbGVtYWlsJ10gPSAkdGhpcy0+TGFuZygnZXhwb3J0X2h0bWxlbWFpbCcpOwokc21hcnR5LT5hc3NpZ24oJ291dHB1dF90eXBlcycsJG91dHB1dF90eXBlcyk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3JlcG9ydF9kb3dubG9hZHNieWZpbGUudHBsJyk7CgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.admin_report_downloadsbyuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdDcmVhdGUgVXBsb2FkcyBSZXBvcnRzJykgKSByZXR1cm47CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdyZXBvcnRzJyk7CgovLwovLyBzZXR1cAovLwokZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJywnMS4yMS4xNScpOwppZiggISRmZXUgKSB7CiAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZldScpKTsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CgovLyBnZXQgdGhpcyB1c2VycyBlbWFpbCBhZGRyZXNzLgokdXNlcmVtYWlsID0gJyc7CiR1c2VyID0gdXNlcm9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpLT5Mb2FkVXNlckJ5SWQoZ2V0X3VzZXJpZCgpKTsKaWYoIGlzX29iamVjdCgkdXNlcikgJiYgJHVzZXItPmVtYWlsICE9ICcnICkgJHVzZXJlbWFpbCA9ICR1c2VyLT5lbWFpbDsKCiRxdWVyeSA9ICdTRUxFQ1QgRi5pZCwgRi5uYW1lLCBGLnR5cGUsIEYuYXR0cmlicywgRi5pb3JkZXIgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGRkZWZzIEYgT1JERVIgQlkgaW9yZGVyIEFTQyc7CiRjdXN0b21fZmllbGRzID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoKJGZldV9wcm9wZGVmbnMgPSAkZmV1LT5HZXRQcm9wZXJ0eURlZm5zKCk7CiRmaWVsZF9pbmZvID0gYXJyYXkoKTsKJGZpZWxkX2luZm9bJ3VwbG9hZF9pZCddID0gYXJyYXkoJ2NvbHVtbic9PidVLnVwbG9hZF9pZCcsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX3VwbG9hZF9pZCcpKTsKJGZpZWxkX2luZm9bJ2NhdGVnb3J5X2lkJ10gPSBhcnJheSgnY29sdW1uJz0+J1UudXBsb2FkX2NhdGVnb3J5X2lkIEFTIGNhdGVnb3J5X2lkJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX2NhdGVnb3J5X2lkJykpOwokZmllbGRfaW5mb1snY2F0ZWdvcnlfbmFtZSddID0gYXJyYXkoJ2NvbHVtbic9PidVQy51cGxvYWRfY2F0ZWdvcnlfbmFtZSBBUyBjYXRlZ29yeV9uYW1lJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX2NhdGVnb3J5X25hbWUnKSk7CiRmaWVsZF9pbmZvWydjYXRlZ29yeV9wYXRoJ10gPSBhcnJheSgnY29sdW1uJz0+J1VDLnVwbG9hZF9jYXRlZ29yeV9wYXRoIEFTIGNhdGVnb3J5X3BhdGgnLCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfY2F0ZWdvcnlfcGF0aCcpKTsKJGZpZWxkX2luZm9bJ3VwbG9hZF9uYW1lJ10gPSBhcnJheSgnY29sdW1uJz0+J1UudXBsb2FkX25hbWUnLCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfbmFtZScpKTsKJGZpZWxkX2luZm9bJ2F1dGhvciddID0gYXJyYXkoJ2NvbHVtbic9PidVLnVwbG9hZF9hdXRob3IgQVMgYXV0aG9yJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX2F1dGhvcicpKTsKJGZpZWxkX2luZm9bJ3N1bW1hcnknXSA9IGFycmF5KCdjb2x1bW4nPT4nVS51cGxvYWRfc3VtbWFyeSBBUyBzdW1tYXJ5JywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX3N1bW1hcnknKSk7CiRmaWVsZF9pbmZvWydkZXNjcmlwdGlvbiddID0gYXJyYXkoJ2NvbHVtbic9PidVLnVwbG9hZF9kZXNjcmlwdGlvbiBBUyBkZXNjcmlwdGlvbicsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX3VwbG9hZF9kZXNjcmlwdGlvbicpKTsKJGZpZWxkX2luZm9bJ3VwbG9hZF9pcCddID0gYXJyYXkoJ2NvbHVtbic9PidVLnVwbG9hZF9pcCcsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX3VwbG9hZF9pcCcpKTsKJGZpZWxkX2luZm9bJ3VwbG9hZF9zaXplJ10gPSBhcnJheSgnY29sdW1uJz0+J1UudXBsb2FkX3NpemUnLCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfc2l6ZScpKTsKJGZpZWxkX2luZm9bJ3VwbG9hZF9kYXRlJ10gPSBhcnJheSgnY29sdW1uJz0+J1UudXBsb2FkX2RhdGUnLCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfZGF0ZScpKTsKJGZpZWxkX2luZm9bJ2Rvd25sb2FkcyddID0gYXJyYXkoJ2NvbHVtbic9PidDT1VOVChVRC5kb3dubG9hZF9pZCkgQVMgZG93bmxvYWRzJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfZG93bmxvYWRzJyksJ2RldGFpbHJwdCc9PjApOwokZmllbGRfaW5mb1snZG93bmxvYWRfdXNlciddID0gYXJyYXkoJ2NvbHVtbic9PidVRC5kb3dubG9hZF91c2VyJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfZG93bmxvYWRfdXNlcicpKTsKJGZpZWxkX2luZm9bJ2Rvd25sb2FkX2RhdGUnXSA9IGFycmF5KCdjb2x1bW4nPT4nVUQuZG93bmxvYWRfZGF0ZScsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX2Rvd25sb2FkX2RhdGUnKSwnc3VtbWFyeXJwdCc9PjApOwokZmllbGRfaW5mb1snbGF0ZXN0X2Rvd25sb2FkJ10gPSBhcnJheSgnY29sdW1uJz0+J01BWChVRC5kb3dubG9hZF9kYXRlKSBBUyBsYXRlc3RfZG93bmxvYWQnLAoJCQkJICAgICAgICdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF9sYXRlc3RfZG93bmxvYWQnKSwKCQkJCSAgICAgICAnZGV0YWlscnB0Jz0+MCk7CmlmKCBpc19hcnJheSgkY3VzdG9tX2ZpZWxkcykgJiYgY291bnQoJGN1c3RvbV9maWVsZHMpICkgewogICRpID0gMTsKICBmb3JlYWNoKCAkY3VzdG9tX2ZpZWxkcyBhcyAkb25lICkgewogICAgJGFsaWFzID0gJ0ZWJy4kaSsrOwogICAgJG5hbWUgPSBzdHJfcmVwbGFjZSgnICcsJ18nLCRvbmVbJ25hbWUnXSk7CiAgICAkZmllbGRfaW5mb1snZjonLiRuYW1lXSA9CiAgICAgIGFycmF5KCdqb2luJz0+J0xFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGR2YWxzICcuJGFsaWFzLicKICAgICAgICAgICAgIE9OIFUudXBsb2FkX2lkID0gJy4kYWxpYXMuJy51cGxvYWRfaWQgQU5EICcuJGFsaWFzLicuZmxkX2lkID0gJy4oaW50KSRvbmVbJ2lkJ10sCgkgICAgJ2NvbHVtbic9PiRhbGlhcy4nLnZhbHVlIEFTICcuJG5hbWUsCgkgICAgJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkJykuJzogJy4kb25lWyduYW1lJ10pOwogIH0KfQppZiggaXNfYXJyYXkoJGZldV9wcm9wZGVmbnMpICYmIGNvdW50KCRmZXVfcHJvcGRlZm5zKSApIHsKICAkaSA9IDE7CiAgdXNvcnQoJGZldV9wcm9wZGVmbnMsZnVuY3Rpb24oJGEsJGIpeyByZXR1cm4gc3RyY21wKCRhWydwcm9tcHQnXSwkYlsncHJvbXB0J10pOyB9KTsKICBmb3JlYWNoKCAkZmV1X3Byb3BkZWZucyBhcyAka2V5ID0+ICRvbmUgKSB7CiAgICBpZiggJG9uZVsndHlwZSddID09ICRmZXU6OkZJRUxEVFlQRV9EQVRBICkgY29udGludWU7CiAgICAkYWxpYXMgPSAnRkVVJy4kaSsrOwogICAgJHN1YnNlbGVjdCA9ICJMRUZUIEpPSU4gKFNFTEVDVCBGRVUudXNlcm5hbWUsRkVVVi50aXRsZSxGRVVQLnR5cGUsRkVVVi5kYXRhIEZST00gY21zX21vZHVsZV9mZXVzZXJzX3VzZXJzIEZFVSBMRUZUIEpPSU4gY21zX21vZHVsZV9mZXVzZXJzX3Byb3BlcnRpZXMgRkVVViBPTiBGRVUuaWQgPSBGRVVWLnVzZXJpZCBMRUZUIEpPSU4gY21zX21vZHVsZV9mZXVzZXJzX3Byb3BkZWZuIEZFVVAgT04gRkVVUC5uYW1lID0gRkVVVi50aXRsZSBXSEVSRSBGRVVQLnR5cGUgIT0gOSBBTkQgRkVVUC5uYW1lID0gJyVzJykgJGFsaWFzIjsKICAgICRmaWVsZF9pbmZvWydwOicuJG9uZVsnbmFtZSddXSA9CiAgICAgIGFycmF5KCdjb2x1bW4nPT4iJGFsaWFzLmRhdGEgQVMgIi4kb25lWyduYW1lJ10sCgkgICAgJ2pvaW4nPT5zcHJpbnRmKCRzdWJzZWxlY3QsJG9uZVsnbmFtZSddKS4iIE9OIFVELmRvd25sb2FkX3VzZXIgPSAkYWxpYXMudXNlcm5hbWUiLAoJICAgICdsYWJlbCc9PiR0aGlzLT5MYW5nKCd1c2VycHJvcCcpLic6ICcuJG9uZVsncHJvbXB0J10pOwogIH0KfQovLyB0b2RvOiBhZGQgY3VzdG9tIGZpZWxkcyBpbiBoZXJlLgoKJHNvcnRpbmdzID0gYXJyYXkoKTsKJHNvcnRpbmdzWyd1cGxvYWRfaWQnXSA9IGFycmF5KCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfaWQnKSk7CiRzb3J0aW5nc1snY2F0ZWdvcnlfbmFtZSddID0gYXJyYXkoJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX3VwbG9hZF9jYXRlZ29yeV9uYW1lJykpOwokc29ydGluZ3NbJ3VwbG9hZF9uYW1lJ10gPSBhcnJheSgnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX25hbWUnKSk7CiRzb3J0aW5nc1snYXV0aG9yJ10gPSBhcnJheSgnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfdXBsb2FkX2F1dGhvcicpLCdyZXFmaWVsZCc9PidhdXRob3InLCdzb3J0YnknPT4nYXV0aG9yJyk7CiRzb3J0aW5nc1snc2l6ZSddID0gYXJyYXkoJ2RmbHRzb3J0YnknPT4nREVTQycsJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkX3VwbG9hZF9zaXplJykpOwokc29ydGluZ3NbJ2RhdGUnXSA9IGFycmF5KCdkZmx0c29ydGJ5Jz0+J0RFU0MnLCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfZGF0ZScpKTsKJHNvcnRpbmdzWydzdW1tYXJ5J10gPSBhcnJheSgnZGZsdHNvcnRieSc9PidBU0MnLCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF91cGxvYWRfc3VtbWFyeScpLCdzb3J0YnknPT4nc3VtbWFyeScsJ3JlcWZpZWxkJz0+J3N1bW1hcnknKTsKJHNvcnRpbmdzWydkb3dubG9hZHMnXSA9IGFycmF5KCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF9kb3dubG9hZHMnKSwncmVxZmllbGQnPT4nZG93bmxvYWRzJywnZGV0YWlscnB0Jz0+MCwnc29ydGJ5Jz0+J2Rvd25sb2FkcycpOwokc29ydGluZ3NbJ2Rvd25sb2FkX3VzZXInXSA9IGFycmF5KCdsYWJlbCc9PiR0aGlzLT5MYW5nKCdmaWVsZF9kb3dubG9hZF91c2VyJyksJ3N1bW1hcnlycHQnPT4wKTsKJHNvcnRpbmdzWydkb3dubG9hZF9kYXRlJ10gPSBhcnJheSgnZGZsdHNvcnRieSc9PidERVNDJywnbGFiZWwnPT4kdGhpcy0+TGFuZygnZmllbGRfZG93bmxvYWRfZGF0ZScpLCdzdW1tYXJ5cnB0Jz0+MCk7CmlmKCBpc19hcnJheSgkY3VzdG9tX2ZpZWxkcykgJiYgY291bnQoJGN1c3RvbV9maWVsZHMpICkgewogIGZvcmVhY2goICRjdXN0b21fZmllbGRzIGFzICRvbmUgKSB7CiAgICAkc29ydGluZ3NbJ2Y6Jy4kb25lWyduYW1lJ11dID0KICAgICAgYXJyYXkoJ2xhYmVsJz0+JHRoaXMtPkxhbmcoJ2ZpZWxkJykuJzogJy4kb25lWyduYW1lJ10sCgkgICAgJ3JlcWZpZWxkJz0+J2Y6Jy4kb25lWyduYW1lJ10pOwogIH0KfQppZiggaXNfYXJyYXkoJGZldV9wcm9wZGVmbnMpICYmIGNvdW50KCRmZXVfcHJvcGRlZm5zKSApIHsKICBmb3JlYWNoKCAkZmV1X3Byb3BkZWZucyBhcyAka2V5ID0+ICRvbmUgKSB7CiAgICBpZiggIWluX2FycmF5KCRvbmVbJ3R5cGUnXSxhcnJheSgkZmV1OjpGSUVMRFRZUEVfVEVYVCwkZmV1OjpGSUVMRFRZUEVfRU1BSUwsCgkJCQkgICAgICRmZXU6OkZJRUxEVFlQRV9EUk9QRE9XTiwkZmV1OjpGSUVMRFRZUEVfUkFESU9CVVROUywKCQkJCSAgICAgJGZldTo6RklFTERUWVBFX0RBVEUpKSApIGNvbnRpbnVlOwogICAgJHNvcnRpbmdzWydwOicuJG9uZVsnbmFtZSddXSA9IGFycmF5KCdsYWJlbCc9PiR0aGlzLT5MYW5nKCd1c2VycHJvcCcpLic6ICcuJG9uZVsnbmFtZSddLAoJCQkJCSAnc29ydGJ5Jz0+JG9uZVsnbmFtZSddLCAncmVxZmllbGQnPT4ncDonLiRvbmVbJ25hbWUnXSk7CiAgfQp9Ci8vIHRvZG86IGFkZCBjdXN0b20gZmllbGRzIGhlcmUuCgokZmV1X2dyb3VwcyA9IGFycmF5X2ZsaXAoJGZldS0+R2V0R3JvdXBMaXN0KCkpOwokdXBsb2FkX2NhdGVnb3JpZXMgPSBhcnJheV9mbGlwKCR0aGlzLT5nZXRDYXRlZ29yeUxpc3QoKSk7CiRyZXBvcnRfdHlwZXMgPSBhcnJheSgnc3VtbWFyeSc9PiR0aGlzLT5MYW5nKCdyZXBvcnRfc3VtbWFyeScpLCdkZXRhaWwnPT4kdGhpcy0+TGFuZygncmVwb3J0X2RldGFpbCcpKTsKJGZpcnN0X2RheV9vZl9tb250aCA9IG1rdGltZSgwLDAsMCxkYXRlKCdtJyksMSxkYXRlKCdZJykpOwokbGFzdF9kYXlfb2ZfbW9udGggPSBta3RpbWUoMjMsNTksNTksZGF0ZSgnbScpKzEsMCxkYXRlKCdZJykpOwokZGZsdF9mbGRzID0gYXJyYXkoJ3VwbG9hZF9uYW1lJywndXBsb2FkX2F1dGhvcicsJ3VwbG9hZF9zaXplJywndXBsb2FkX2RhdGUnLCdkb3dubG9hZHMnLCdkb3dubG9hZF91c2VyJyk7CgovL2J1aWxkIHVzZXIgcHJvZmlsZQokcHJvZmlsZSA9IGFycmF5KCdyZXBvcnRfdHlwZSc9PidzdW1tYXJ5Jywnb3V0cHV0X3RlbXBsYXRlJz0+JycsJ2ZldV9ncm91cHMnPT5hcnJheSgpLCdjYXRlZ29yaWVzJz0+YXJyYXkoKSwKCQkgJ2ZldV91c2Vycyc9PicnLCdzdGFydF9kYXRlJz0+JGZpcnN0X2RheV9vZl9tb250aCwnZW5kX2RhdGUnPT4kbGFzdF9kYXlfb2ZfbW9udGgsCgkJICd2aWV3X2ZpZWxkcyc9PmFycmF5X2tleXMoJGZpZWxkX2luZm8pLCd2aWV3X3NvcnRpbmcnPT4nZG93bmxvYWRfdXNlcicsJ3ZpZXdfc29ydG9yZGVyJz0+JypkZWZhdWx0KicsCgkJICdvdXRwdXRfdHlwZSc9PidodG1sJyk7CiR0bXAgPSBjbXNfdXNlcnByZWZzOjpnZXQoJHRoaXMtPkdldE5hbWUoKS4ncmVwb3J0X2Rvd25sb2Fkc2J5dXNlcicpOwppZiggJHRtcCApICRwcm9maWxlID0gdW5zZXJpYWxpemUoJHRtcCk7CgovLyBoYW5kbGUgYnV0dG9ucwppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgewogICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdvcGVyYXRpb25fY2FuY2VsbGVkJykpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KCi8vCi8vIGdldCB0aGUgcGFyYW1zLgovLwppZiggaXNzZXQoJHBhcmFtc1sncmVwb3J0X3R5cGUnXSkgKSB7CiAgJHByb2ZpbGVbJ3JlcG9ydF90eXBlJ10gPSAkcGFyYW1zWydyZXBvcnRfdHlwZSddOwogICRwcm9maWxlWydvdXRwdXRfdGVtcGxhdGUnXSA9ICRwYXJhbXNbJ291dHB1dF90ZW1wbGF0ZSddOwogIGlmKCBpc3NldCgkcGFyYW1zWydvdXRwdXRfdHlwZSddKSApICRwcm9maWxlWydvdXRwdXRfdHlwZSddID0gJHBhcmFtc1snb3V0cHV0X3R5cGUnXTsKICBpZiggaXNzZXQoJHBhcmFtc1snc3RhcnRfZGF0ZVllYXInXSkgKSB7CiAgICAkcHJvZmlsZVsnc3RhcnRfZGF0ZSddID0gbWt0aW1lKDAsMCwwLChpbnQpJHBhcmFtc1snc3RhcnRfZGF0ZU1vbnRoJ10sKGludCkkcGFyYW1zWydzdGFydF9kYXRlRGF5J10sKGludCkkcGFyYW1zWydzdGFydF9kYXRlWWVhciddKTsKICB9CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ2VuZF9kYXRlWWVhciddKSApIHsKICAgICRwcm9maWxlWydlbmRfZGF0ZSddID0gbWt0aW1lKDIzLDU5LDU5LChpbnQpJHBhcmFtc1snZW5kX2RhdGVNb250aCddLChpbnQpJHBhcmFtc1snZW5kX2RhdGVEYXknXSwoaW50KSRwYXJhbXNbJ2VuZF9kYXRlWWVhciddKTsKICB9CiAgaWYoICRwcm9maWxlWydzdGFydF9kYXRlJ10gIT0gJycgJiYgJHByb2ZpbGVbJ2VuZF9kYXRlJ10gIT0gJycgJiYgJHByb2ZpbGVbJ3N0YXJ0X2RhdGUnXSA+PSAkcHJvZmlsZVsnZW5kX2RhdGUnXSApIHsKICAgIC8vIGVuZCBkYXRlIGJlZm9yZSBzdGFydCBkYXRlLCBiZSBzbWFydCBhbmQganVzdCBzd2FwIGVtLgogICAgJHRtcCA9ICRwcm9maWxlWydzdGFydF9kYXRlJ107CiAgICAkcHJvZmlsZVsnc3RhcnRfZGF0ZSddID0gJHByb2ZpbGVbJ2VuZF9kYXRlJ107CiAgICAkcHJvZmlsZVsnZW5kX2RhdGUnXSA9ICR0bXA7CiAgfQoKICBpZiggaXNzZXQoJHBhcmFtc1sndmlld19maWVsZHMnXSkgKSB7CiAgICAkcHJvZmlsZVsndmlld19maWVsZHMnXSA9ICRwYXJhbXNbJ3ZpZXdfZmllbGRzJ107CiAgfQogIGVsc2UgewogICAgJHByb2ZpbGVbJ3ZpZXdfZmllbGRzJ10gPSAkZGZsdF9mbGRzOwogIH0KICBpZiggaXNzZXQoJHBhcmFtc1sndmlld19zb3J0aW5nJ10pICkgICRwcm9maWxlWyd2aWV3X3NvcnRpbmcnXSA9ICRwYXJhbXNbJ3ZpZXdfc29ydGluZyddOwogIGlmKCBpc3NldCgkcGFyYW1zWyd2aWV3X3NvcnRvcmRlciddKSApICRwcm9maWxlWyd2aWV3X3NvcnRvcmRlciddID0gJHBhcmFtc1sndmlld19zb3J0b3JkZXInXTsKICBpZiggaXNzZXQoJHBhcmFtc1snY2F0ZWdvcmllcyddKSApIHsKICAgICRwcm9maWxlWydjYXRlZ29yaWVzJ10gPSAkcGFyYW1zWydjYXRlZ29yaWVzJ107CiAgfQogIGVsc2UgewogICAgJHByb2ZpbGVbJ2NhdGVnb3JpZXMnXSA9IGFycmF5KCk7CiAgfQoKICAkcHJvZmlsZVsnZmV1X2dyb3VwcyddID0gYXJyYXkoKTsKICAkcHJvZmlsZVsnZmV1X3VzZXJzJ10gPSAnJzsKICBpZiggaXNzZXQoJHBhcmFtc1snZmV1X2dyb3VwcyddKSAmJiBpc19hcnJheSgkcGFyYW1zWydmZXVfZ3JvdXBzJ10pICYmIGNvdW50KCRwYXJhbXNbJ2ZldV9ncm91cHMnXSkgKSB7CiAgICAkcHJvZmlsZVsnZmV1X2dyb3VwcyddID0gJHBhcmFtc1snZmV1X2dyb3VwcyddOwogIH0KICBlbHNlIGlmKCBpc3NldCgkcGFyYW1zWydmZXVfdXNlcnMnXSkgJiYgJHBhcmFtc1snZmV1X3VzZXJzJ10gIT0gJycgKSB7CiAgICAkcHJvZmlsZVsnZmV1X3VzZXJzJ10gPSAkcGFyYW1zWydmZXVfdXNlcnMnXTsKICB9Cn0KCi8vCi8vIGhhbmRsZSBzdWJtaXQKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIHsKICAvLyBpZiB3ZSBnb3QgaGVyZSwgZXZlcnl0aGluZyBjaGVja3Mgb3V0CiAgY21zX3VzZXJwcmVmczo6c2V0KCR0aGlzLT5HZXROYW1lKCkuJ3JlcG9ydF9kb3dubG9hZHNieXVzZXInLHNlcmlhbGl6ZSgkcHJvZmlsZSkpOwoKICBpZiggJHByb2ZpbGVbJ291dHB1dF90eXBlJ10gIT0gJ2h0bWwnICkgewogICAgLy8gZ2VuZXJhdGUgdGhlIHJlcG9ydCBkaXJlY3RseS4KICAgICRwYXJhbXNbJ3JlcG9ydCddID0gMTsKICB9CiAgZWxzZSB7CiAgICAvLyBnb3R0YSBvcGVuIGEgbmV3IHdpbmRvdyBmaXJzdC4KICAgICR1cmwgPSAkdGhpcy0+Y3JlYXRlX3VybCgkaWQsJ2FkbWluX3JlcG9ydF9kb3dubG9hZHNieXVzZXInLCRyZXR1cm5pZCxhcnJheSgncmVwb3J0Jz0+MSkpOwogICAgJHVybCA9IHN0cl9yZXBsYWNlKCcmYW1wOycsJyYnLCR1cmwpLicmc2hvd3RlbXBsYXRlPWZhbHNlJzsKICAgICR0eHQgPSAid2luZG93Lm9wZW4oJ3skdXJsfScsJ3JlcG9ydCcsJ3Njcm9sbGJhcnM9eWVzLGRpcmVjdG9yaWVzPTAsbG9jYXRpb249MCxtZW51YmFyPTAsc3RhdHVzPTAsdG9vbGJhcj0wJyk7IjsKICAgICRzbWFydHktPmFzc2lnbignZXh0cmFqcycsJHR4dCk7CiAgfQp9CgppZiggaXNzZXQoJHBhcmFtc1sncmVwb3J0J10pICkgewogIC8vIGdldCB0aGUgdXNlcm5hbWVzLgogICRlcnJvciA9ICcnOwogICR1c2VycyA9IGFycmF5KCk7CiAgJGRvX3VzZXJzID0gMDsKICBpZiggY291bnQoJHByb2ZpbGVbJ2ZldV9ncm91cHMnXSkgPiAwICkgewogICAgLy8gZXhwYW5kIGdyb3VwcyB0byB1c2VycwogICAgJGRvX3VzZXJzID0gMTsKICAgICRxdWVyeSA9IG5ldyBmZXVfdXNlcl9xdWVyeSgpOwogICAgJHF1ZXJ5LT5hZGRfYW5kX29wdChmZXVfdXNlcl9xdWVyeV9vcHQ6Ok1BVENIX0dST1VQSUQsJHByb2ZpbGVbJ2ZldV9ncm91cHMnXSk7CiAgICAkcnMgPSAkcXVlcnktPmV4ZWN1dGUoKTsKICAgIHdoaWxlKCAhJHJzLT5FT0YoKSApIHsKICAgICAgJHVzZXJzW10gPSAkcnMtPmZpZWxkc1sndXNlcm5hbWUnXTsKICAgICAgJHJzLT5Nb3ZlTmV4dCgpOwogICAgfQogIH0KICBlbHNlIGlmKCAkcHJvZmlsZVsnZmV1X3VzZXJzJ10gIT0gJycgKSB7CiAgICAkZG9fdXNlcnMgPSAxOwogICAgJHRtcCA9IHByZWdfc3BsaXQoJy9bXHMsXS8nLCRwcm9maWxlWydmZXVfdXNlcnMnXSk7CiAgICBpZiggaXNfYXJyYXkoJHRtcCkgJiYgY291bnQoJHRtcCkgKSB7CiAgICAgICR0bXAyID0gYXJyYXkoKTsKICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewoJJG9uZSA9IHRyaW0oJG9uZSk7CglpZiggISRvbmUgKSBjb250aW51ZTsKCSR0bXAyW10gPSAkb25lOwogICAgICB9CiAgICAgICR1c2VycyA9ICR0bXAyOwogICAgfQogIH0KICBpZiggJGRvX3VzZXJzICYmICFjb3VudCgkdXNlcnMpICkgJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vdXNlcnNmb3VuZCcpOwoKICBpZiggJGVycm9yID09ICcnICkgewogICAgLy8KICAgIC8vIGJ1aWxkIHRoZSBxdWVyeQogICAgLy8KICAgICRqb2lucyA9IGFycmF5KCk7CiAgICAkd2hlcmUgPSBhcnJheSgpOwogICAgJHdoZXJlcCA9IGFycmF5KCk7CiAgICAkY29sdW1ucyA9IGFycmF5KCk7CiAgICAvLyB2YXJpYWJsZXMgd2UgY2FuIHJlcGxhY2UgaW4gYW55IGpvaW4uCiAgICAkc3QgPSAkZGItPkRiVGltZVN0YW1wKCRwcm9maWxlWydzdGFydF9kYXRlJ10pOwogICAgJGV0ID0gJGRiLT5EYlRpbWVTdGFtcCgkcHJvZmlsZVsnZW5kX2RhdGUnXSk7CiAgICAkcmVwX3ZhcnMgPSBhcnJheSgpOwogICAgJHJlcF92YXJzWyclc3QlJ10gPSAkc3Q7CiAgICAkcmVwX3ZhcnNbJyVldCUnXSA9ICRldDsKICAgICRyZXBfdmFyc1snJXV3JSddID0gJyc7CgogICAgaWYoIGlzX2FycmF5KCRwcm9maWxlWydjYXRlZ29yaWVzJ10pICYmIGNvdW50KCRwcm9maWxlWydjYXRlZ29yaWVzJ10pICkgewogICAgICAkd2hlcmVbXSA9ICdVLnVwbG9hZF9jYXRlZ29yeV9pZCBJTiAoJy5pbXBsb2RlKCcsJywkcHJvZmlsZVsnY2F0ZWdvcmllcyddKS4nKSc7CiAgICB9CgogICAgLy8gYnVpbGQgdGhlIGxpc3Qgb2YgY29sdW1ucyB0byBkaXNwbGF5Li4gYW5kIHByb2Nlc3MgY3VzdG9tIGZpZWxkcy4KICAgICR2aWV3X2ZpZWxkcyA9ICAkcHJvZmlsZVsndmlld19maWVsZHMnXTsKICAgIGlmKCBpc3NldCgkc29ydGluZ3NbJHByb2ZpbGVbJ3ZpZXdfc29ydGluZyddXVsncmVxZmllbGQnXSkgJiYgIWluX2FycmF5KCRwcm9maWxlWyd2aWV3X3NvcnRpbmcnXSwkdmlld19maWVsZHMpICkgewogICAgICAvLyBhZGRzIGNvbHVtbiB0byBjb2x1bW4gbGlzdCBpZiBpdHMgcmVxdWlyZWQgYnkgc29ydGluZy4KICAgICAgJGNvbCA9ICRzb3J0aW5nc1skcHJvZmlsZVsndmlld19zb3J0aW5nJ11dWydyZXFmaWVsZCddOwogICAgICAkcmVxdWlyZWRfY29sdW1uc1tdID0gJGNvbDsKICAgICAgJHZpZXdfZmllbGRzW10gPSAkY29sOwogICAgfQoKICAgICR2aWV3X2ZpZWxkcyA9IGFycmF5X3VuaXF1ZShhcnJheV9tZXJnZShhcnJheSgnZG93bmxvYWRfdXNlcicsJ3VwbG9hZF9pZCcpLCR2aWV3X2ZpZWxkcykpOwoKICAgIGZvcmVhY2goICR2aWV3X2ZpZWxkcyBhcyAkb25lICkgewogICAgICBpZiggaXNzZXQoJGZpZWxkX2luZm9bJG9uZV0pICkgewoJJGNvbHVtbnNbXSA9ICRmaWVsZF9pbmZvWyRvbmVdWydjb2x1bW4nXTsKCWlmKCBpc3NldCgkZmllbGRfaW5mb1skb25lXVsnam9pbiddKSApIHsKCSAgJHRtcCA9ICRmaWVsZF9pbmZvWyRvbmVdWydqb2luJ107CgkgICR0bXAgPSBzdHJfcmVwbGFjZShhcnJheV9rZXlzKCRyZXBfdmFycyksYXJyYXlfdmFsdWVzKCRyZXBfdmFycyksJHRtcCk7CgkgICRqb2luc1tdID0gJHRtcDsKCX0KICAgICAgfQogICAgfQoKICAgIC8vIHBpY2sgYSBkZWZhdWx0IHNvcnRpbmcuCiAgICAkc29ydGluZyA9ICdkb3dubG9hZHMnOwogICAgaWYoICRwcm9maWxlWydyZXBvcnRfdHlwZSddID09ICdzdW1tYXJ5JyApIHsKICAgICAgJHNvcnRpbmcgPSAkcHJvZmlsZVsndmlld19zb3J0aW5nJ107CiAgICB9CiAgICBlbHNlIHsKICAgICAgJHNvcnRpbmcgPSAkcHJvZmlsZVsndmlld19zb3J0aW5nJ107CiAgICAgIGlmKCAkc29ydGluZyA9PSAnZG93bmxvYWRzJyApICRzb3J0aW5nID0gJ2Rvd25sb2FkX3VzZXInOwogICAgfQogICAgJHByb2ZpbGVbJ3ZpZXdfc29ydGluZyddID0gJHNvcnRpbmc7CiAgICBpZiggaXNzZXQoJHNvcnRpbmdzWyRzb3J0aW5nXVsncmVxZmllbGQnXSkgJiYgIWluX2FycmF5KCRzb3J0aW5nLCR2aWV3X2ZpZWxkcykgKSB7CiAgICAgIC8vIGFkZHMgY29sdW1uIHRvIGNvbHVtbiBsaXN0IGlmIGl0cyByZXF1aXJlZCBieSBzb3J0aW5nLgogICAgICAkY29sID0gJHNvcnRpbmdzWyRzb3J0aW5nXVsncmVxZmllbGQnXTsKICAgICAgJGNvbHVtbnNbXSA9ICRmaWVsZF9pbmZvWyRjb2xdWydjb2x1bW4nXTsKICAgIH0KCiAgICAvLyBidWlsZCBhIHRpbWUgbGltaXRpbmcgd2hlcmUgZXhwcmVzc2lvbgogICAgJHN0ID0gJGRiLT5EYlRpbWVTdGFtcCgkcHJvZmlsZVsnc3RhcnRfZGF0ZSddKTsKICAgICRldCA9ICRkYi0+RGJUaW1lU3RhbXAoJHByb2ZpbGVbJ2VuZF9kYXRlJ10pOwogICAgJHdoZXJlW10gPSAiKGRvd25sb2FkX2RhdGUgQkVUV0VFTiAkc3QgQU5EICRldCkiOwoKICAgIC8vIGJ1aWxkIGEgdXNlcnMgd2hlcmUgZXhwcmVzc2lvbgogICAgaWYoIGNvdW50KCR1c2VycykgKSB7CiAgICAgICR0bXAyID0gYXJyYXkoKTsgLy8gcmVndWxhciB1c2VybmFtZXMKICAgICAgJHRtcDMgPSBhcnJheSgpOyAvLyB3aWxkY2FyZCBwYXR0ZXJuCiAgICAgIGZvcmVhY2goICR1c2VycyBhcyAkdHVzZXIgKSB7CglpZiggc3RycG9zKCR0dXNlciwnKicpICE9PSBGQUxTRSB8fCBzdHJwb3MoJHR1c2VyLCclJykgIT09IEZBTFNFICkgewoJICAkdHVzZXIgPSBzdHJfcmVwbGFjZSgnKicsJyUnLCR0dXNlcik7CgkgICR0dXNlciA9IHN0cl9yZXBsYWNlKCclJScsJyUnLCR0dXNlcik7CgkgICR0bXAzW10gPSAiVUQuZG93bmxvYWRfdXNlciBMSUtFICckdHVzZXInIjsKCX0KCWVsc2UgewoJICAkdHVzZXIgPSAiJyIuJHR1c2VyLiInIjsKCSAgJHRtcDJbXSA9ICR0dXNlcjsKCX0KICAgICAgfQogICAgICAkd2ggPSBhcnJheSgpOwogICAgICBpZiggY291bnQoJHRtcDIpICkgJHdoW10gPSAnVUQuZG93bmxvYWRfdXNlciBJTiAoJy5pbXBsb2RlKCcsJywkdG1wMikuJyknOwogICAgICBpZiggY291bnQoJHRtcDMpICkgJHdoID0gYXJyYXlfbWVyZ2UoJHdoLCR0bXAzKTsKICAgICAgaWYoIGNvdW50KCR3aCkgKSAkd2hlcmVbXSA9ICcoJy4gaW1wbG9kZSgnIE9SICcsJHdoKS4gJyknOwovLyAgICAgICBmb3JlYWNoKCAkdXNlcnMgYXMgJiR1c2VyICkgJHVzZXIgPSAiJyIuJHVzZXIuIiciOwovLyAgICAgICAkd2hlcmVbXSA9ICdVRC5kb3dubG9hZF91c2VyIElOICgnLmltcGxvZGUoJywnLCR1c2VycykuJyknOwogICAgfQoKICAgIC8vIGFzc2VtYmxlIHRoZSBiYXNpYyBxdWVyeQogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAnLmltcGxvZGUoJywnLCRjb2x1bW5zKS4nIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzIFUKICAgICAgICAgICAgICBMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2Rvd25sb2FkcyBVRCBPTiBVLnVwbG9hZF9pZCA9IFVELmZpbGVfaWQKICAgICAgICAgICAgICBMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMgVUMgT04gVS51cGxvYWRfY2F0ZWdvcnlfaWQgPSBVQy51cGxvYWRfY2F0ZWdvcnlfaWQnOwogICAgaWYoIGNvdW50KCRqb2lucykgKSAkcXVlcnkgLj0gJyAnLmltcGxvZGUoJyAnLCRqb2lucyk7CiAgICAkcXVlcnkgLj0gJyBXSEVSRSAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwogICAgLy9pZiggJHByb2ZpbGVbJ3JlcG9ydF90eXBlJ10gPT0gJ3N1bW1hcnknICkgJHF1ZXJ5IC49ICcgR1JPVVAgQlkgVUQuZG93bmxvYWRfdXNlcixVLnVwbG9hZF9pZCAnOwogICAgaWYoICRwcm9maWxlWydyZXBvcnRfdHlwZSddID09ICdzdW1tYXJ5JyApICRxdWVyeSAuPSAnIEdST1VQIEJZIFVELmRvd25sb2FkX3VzZXIgJzsKCiAgICAvLyBhZGQgc29ydGluZwogICAgJHNvcnRieSA9ICRmaWVsZF9pbmZvWyRwcm9maWxlWyd2aWV3X3NvcnRpbmcnXV1bJ2NvbHVtbiddOwogICAgaWYoIGlzc2V0KCRzb3J0aW5nc1skcHJvZmlsZVsndmlld19zb3J0aW5nJ11dWydzb3J0YnknXSkgKSAkc29ydGJ5ID0gJHNvcnRpbmdzWyRwcm9maWxlWyd2aWV3X3NvcnRpbmcnXV1bJ3NvcnRieSddOwogICAgJHNvcnRvcmRlciA9ICRwcm9maWxlWyd2aWV3X3NvcnRvcmRlciddOwogICAgaWYoICRzb3J0b3JkZXIgPT0gJypkZWZhdWx0KicgKSB7CiAgICAgICRzb3J0b3JkZXIgPSAnQVNDJzsKICAgICAgaWYoIGlzc2V0KCRzb3J0aW5nc1skcHJvZmlsZVsndmlld19zb3J0aW5nJ11dWydkZmx0c29ydGJ5J10pICkgJHNvcnRvcmRlciA9ICRzb3J0aW5nc1skcHJvZmlsZVsndmlld19zb3J0aW5nJ11dWydkZmx0c29ydGJ5J107CiAgICB9CiAgICBpZiggJHByb2ZpbGVbJ3JlcG9ydF90eXBlJ10gPT0gJ3N1bW1hcnknICkgewogICAgICAkcXVlcnkgLj0gIiBPUkRFUiBCWSAkc29ydGJ5ICRzb3J0b3JkZXIiOwogICAgICBpZiggJHByb2ZpbGVbJ3ZpZXdfc29ydGluZyddICE9ICd1cGxvYWRfbmFtZScgKSAkcXVlcnkgLj0gJywgJy4kZmllbGRfaW5mb1sndXBsb2FkX25hbWUnXVsnY29sdW1uJ10uJyBBU0MnOwogICAgfQogICAgZWxzZSB7CiAgICAgICRxdWVyeSAuPSAiIE9SREVSIEJZIFVELmRvd25sb2FkX3VzZXIsICRzb3J0YnkgJHNvcnRvcmRlciI7CiAgICB9CgogICAgJGRiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCR3aGVyZXApKTsKICAgIGlmKCAhaXNfYXJyYXkoJGRicikgfHwgY291bnQoJGRicikgPT0gMCApICRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9tYXRjaGluZ3JlY29yZHMnKTsKICB9CgogIHN3aXRjaCggJHByb2ZpbGVbJ291dHB1dF90eXBlJ10gKSB7CiAgY2FzZSAnY3N2JzoKICAgIGlmKCAkZXJyb3IgKSB7CiAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoKTsKICAgICAgYnJlYWs7CiAgICB9CiAgICAkaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7CiAgICBmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQogICAgaGVhZGVyKCJDb250ZW50LWRpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT11cGxvYWRzLiIgLiBkYXRlKCJZLW0tZCIpIC4gIi5jc3YiKTsKICAgIGhlYWRlcigiQ29udGVudC10eXBlOiB0ZXh0L2NzdiIpOwogICAgZmx1c2goKTsKICAgICRoZHIgPSBhcnJheV9rZXlzKCRkYnJbMF0pOwogICAgZWNobyAnIycuY2dlX2FycmF5OjppbXBsb2RlX3F1b3RlZCgkaGRyKS4iXG4iOwogICAgZm9yZWFjaCggJGRiciBhcyAkcmVjICkgewogICAgICBlY2hvIGNnZV9hcnJheTo6aW1wbG9kZV9xdW90ZWQoYXJyYXlfdmFsdWVzKCRyZWMpKS4iXG4iOwogICAgfQogICAgZmx1c2goKTsKICAgIGV4aXQ7CiAgICBicmVhazsKCiAgY2FzZSAnaHRtbCc6CiAgICBpZiggJGVycm9yICkgJHNtYXJ0eS0+YXNzaWduKCdlcnJvcicsJGVycm9yKTsKICAgIC8vIGNyZWF0ZSBsYWJlbHMuCiAgICBpZiggaXNfYXJyYXkoJGRicikgJiYgY291bnQoJGRicikgKSB7CiAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAkcmVjID0gYXJyYXlfa2V5cygkZGJyWzBdKTsKICAgICAgZm9yZWFjaCggJHJlYyBhcyAmJG9uZSApIHsKCWlmKCBpc3NldCgkZmllbGRfaW5mb1skb25lXSkgKSAkb3V0WyRvbmVdID0gJGZpZWxkX2luZm9bJG9uZV1bJ2xhYmVsJ107CglpZiggaXNzZXQoJGZpZWxkX2luZm9bJ2Y6Jy4kb25lXSkgKSAkb3V0WyRvbmVdID0gJGZpZWxkX2luZm9bJ2Y6Jy4kb25lXVsnbGFiZWwnXTsKCWlmKCBpc3NldCgkZmllbGRfaW5mb1sncDonLiRvbmVdKSApICRvdXRbJG9uZV0gPSAkZmllbGRfaW5mb1sncDonLiRvbmVdWydsYWJlbCddOwogICAgICB9CiAgICAgICRzbWFydHktPmFzc2lnbignbGFiZWxzJywkb3V0KTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdyZWNvcmRzJywkZGJyKTsKICAgIH0KICAgICRzbWFydHktPmFzc2lnbigndXNlcicsJHVzZXIpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9maWxlJywkcHJvZmlsZSk7CiAgICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgncmRsXycuJHByb2ZpbGVbJ291dHB1dF90ZW1wbGF0ZSddKTsKICAgIGV4aXQ7CiAgICBicmVhazsKCiAgY2FzZSAnaHRtbGVtYWlsJzoKICAgIGlmKCAkZXJyb3IgKSB7CiAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoKTsKICAgICAgYnJlYWs7CiAgICB9CiAgICAkb3V0ID0gYXJyYXkoKTsKICAgICRyZWMgPSBhcnJheV9rZXlzKCRkYnJbMF0pOwogICAgZm9yZWFjaCggJHJlYyBhcyAmJG9uZSApIHsKICAgICAgaWYoIGlzc2V0KCRmaWVsZF9pbmZvWyRvbmVdKSApICRvdXRbJG9uZV0gPSAkZmllbGRfaW5mb1skb25lXVsnbGFiZWwnXTsKICAgICAgaWYoIGlzc2V0KCRmaWVsZF9pbmZvWydmOicuJG9uZV0pICkgJG91dFskb25lXSA9ICRmaWVsZF9pbmZvWydmOicuJG9uZV1bJ2xhYmVsJ107CiAgICAgIGlmKCBpc3NldCgkZmllbGRfaW5mb1sncDonLiRvbmVdKSApICRvdXRbJG9uZV0gPSAkZmllbGRfaW5mb1sncDonLiRvbmVdWydsYWJlbCddOwogICAgfQogICAgJHNtYXJ0eS0+YXNzaWduKCdsYWJlbHMnLCRvdXQpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd1c2VyJywkdXNlcik7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb2ZpbGUnLCRwcm9maWxlKTsKICAgICRzbWFydHktPmFzc2lnbigncmVjb3JkcycsJGRicik7CiAgICAkb3V0ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgncmRmXycuJHByb2ZpbGVbJ291dHB1dF90ZW1wbGF0ZSddKTsKICAgICRtYWlsZXIgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NNU01haWxlcicpOwogICAgJG1haWxlci0+QWRkQWRkcmVzcygkdXNlcmVtYWlsKTsKICAgICRtYWlsZXItPlNldFN1YmplY3QoJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCd7c2l0ZW5hbWV9IC0gRG93bmxvYWRzIGJ5IEZpbGUgUmVwb3J0JykpOwogICAgJG1haWxlci0+U2V0Qm9keSgkb3V0KTsKICAgICRtYWlsZXItPklzSFRNTChUUlVFKTsKICAgICRtYWlsZXItPlNlbmQoKTsKICAgICRtYWlsZXItPnJlc2V0KCk7CiAgICBlY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3JlcG9ydF9zZW50JykpOwogICAgYnJlYWs7CiAgfQp9CgovLwovLyBidWlsZCB0aGUgZm9ybS4KLy8KJGZpZWxkbGlzdCA9IGFycmF5KCk7CmZvcmVhY2goICRmaWVsZF9pbmZvIGFzICRrZXkgPT4gJHJlYyApIHsKICAkc2hvdyA9IDE7CiAgc3dpdGNoICggJHByb2ZpbGVbJ3JlcG9ydF90eXBlJ10gKSB7CiAgY2FzZSAnc3VtbWFyeSc6CiAgICBpZiggaXNzZXQoJHJlY1snc3VtbWFyeXJwdCddKSApICRzaG93ID0gJHJlY1snc3VtbWFyeXJwdCddOwogICAgYnJlYWs7CgogIGNhc2UgJ2RldGFpbCc6CiAgICBpZiggaXNzZXQoJHJlY1snZGV0YWlscnB0J10pICkgJHNob3cgPSAkcmVjWydkZXRhaWxycHQnXTsKICAgIGJyZWFrOwogIH0KICBpZiggISRzaG93ICkgY29udGludWU7CiAgJGZpZWxkbGlzdFska2V5XSA9ICRyZWNbJ2xhYmVsJ107Cn0KJHNtYXJ0eS0+YXNzaWduKCdmaWVsZGxpc3QnLCRmaWVsZGxpc3QpOwoKJHNvcnRsaXN0ID0gYXJyYXkoKTsKZm9yZWFjaCggJHNvcnRpbmdzIGFzICRrZXkgPT4gJHJlYyApIHsKICAkc2hvdyA9IDE7CiAgc3dpdGNoICggJHByb2ZpbGVbJ3JlcG9ydF90eXBlJ10gKSB7CiAgY2FzZSAnc3VtbWFyeSc6CiAgICBpZiggaXNzZXQoJHJlY1snc3VtbWFyeXJwdCddKSApICRzaG93ID0gJHJlY1snc3VtbWFyeXJwdCddOwogICAgYnJlYWs7CgogIGNhc2UgJ2RldGFpbCc6CiAgICBpZiggaXNzZXQoJHJlY1snZGV0YWlscnB0J10pICkgJHNob3cgPSAkcmVjWydkZXRhaWxycHQnXTsKICAgIGJyZWFrOwogIH0KICBpZiggISRzaG93ICkgY29udGludWU7CiAgJHNvcnRsaXN0WyRrZXldID0gJHJlY1snbGFiZWwnXTsKfQokc21hcnR5LT5hc3NpZ24oJ3NvcnRsaXN0Jywkc29ydGxpc3QpOwoKJHNvcnRieXMgPSBhcnJheSgnKmRlZmF1bHQqJz0+JHRoaXMtPkxhbmcoJ3Byb21wdF9kZWZhdWx0JyksJ0FTQyc9PiR0aGlzLT5MYW5nKCdwcm9tcHRfYXNjZW5kaW5nJyksJ0RFU0MnPT4kdGhpcy0+TGFuZygncHJvbXB0X2Rlc2NlbmRpbmcnKSk7CiRzbWFydHktPmFzc2lnbignc29ydG9yZGVycycsJHNvcnRieXMpOwoKJHNtYXJ0eS0+YXNzaWduKCdzdGFydF90aW1lJywkZmlyc3RfZGF5X29mX21vbnRoKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRfdGltZScsJGxhc3RfZGF5X29mX21vbnRoKTsKCiR1cmwgPSAkdGhpcy0+Y3JlYXRlX3VybCgkaWQsJ2FkbWluX2FqYXhfb3BzJywkcmV0dXJuaWQsYXJyYXkoJ29wJz0+J3VzZXJfYXV0b2NvbXBsZXRlJykpLicmc2hvd3RlbXBsYXRlPWZhbHNlJzsKJHNtYXJ0eS0+YXNzaWduKCd1cmxfYWpheF9mZXVfdXNlcnMnLHN0cl9yZXBsYWNlKCcmYW1wOycsJyYnLCR1cmwpKTsKCiRzbWFydHktPmFzc2lnbigncHJvZmlsZScsJHByb2ZpbGUpOwokc21hcnR5LT5hc3NpZ24oJ2ZldV9ncm91cHMnLCRmZXVfZ3JvdXBzKTsKJHNtYXJ0eS0+YXNzaWduKCd1cGxvYWRfY2F0ZWdvcmllcycsJHVwbG9hZF9jYXRlZ29yaWVzKTsKJHNtYXJ0eS0+YXNzaWduKCdyZXBvcnRfdHlwZXMnLCRyZXBvcnRfdHlwZXMpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fcmVwb3J0X2Rvd25sb2Fkc2J5dXNlcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCiR0ZW1wbGF0ZXMgPSBjZ2VfdGVtcGxhdGVfdXRpbHM6OmdldF90ZW1wbGF0ZXNfYnlfcHJlZml4KCR0aGlzLCdyZGxfJyk7CmlmKCBpc19hcnJheSgkdGVtcGxhdGVzKSAmJiBjb3VudCgkdGVtcGxhdGVzKSApIHsKICAkb3V0ID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkdGVtcGxhdGVzIGFzICR0cGwgKSB7CiAgICAkdHBsID0gc3Vic3RyKCR0cGwsNCk7CiAgICAkb3V0WyR0cGxdID0gJHRwbDsKICB9CiAgJHNtYXJ0eS0+YXNzaWduKCdvdXRwdXRfdGVtcGxhdGVzJywkb3V0KTsKfQoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9yZXBvcnRfZG93bmxvYWRzYnl1c2VyLnRwbCcpOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_templates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IHdpZHRoOiA4MCU7Ij4nLgokdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsCgkJICAgICAgICR0aGlzLT5MYW5nKCdsYmxfYmFjaycpLCdpY29ucy9zeXN0ZW0vYmFjay5naWYnLGFycmF5KCksJycsJycsZmFsc2UpLic8L2Rpdj48YnIvPic7CgppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIHJldHVybjsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycyAoKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyICgndXBsb2FkZm9ybV90ZW1wbGF0ZScsICR0aGlzLT5MYW5nICgndXBsb2FkZm9ybV90ZW1wbGF0ZScpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyICgnc3VtbWFyeV90ZW1wbGF0ZScsICR0aGlzLT5MYW5nICgnc3VtbWFyeV90ZW1wbGF0ZScpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyICgnZGV0YWlsX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcgKCdkZXRhaWxfdGVtcGxhdGUnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciAoJ3NlbmRmaWxlZm9ybV90ZW1wbGF0ZScsICR0aGlzLT5MYW5nICgnc2VuZGZpbGVmb3JtX3RlbXBsYXRlJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIgKCd5b3VzZW5kaXRmb3JtX3RlbXBsYXRlJywgJHRoaXMtPkxhbmcgKCd5b3VzZW5kaXRmb3JtX3RlbXBsYXRlJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIgKCdlbWFpbF90ZW1wbGF0ZScsICR0aGlzLT5MYW5nICgnZW1haWxfdGVtcGxhdGUnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciAoJ2NhdGVnb3J5bGlzdF90ZW1wbGF0ZXMnLCR0aGlzLT5MYW5nKCdjYXRlZ29yeWxpc3RfdGVtcGxhdGVzJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIgKCdkZWZhdWx0X3RlbXBsYXRlcycsICR0aGlzLT5MYW5nKCdkZWZhdWx0X3RlbXBsYXRlcycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyICgnZG93bmxvYWRzYnl1c2VyX3JwdCcsJHRoaXMtPkxhbmcoJ3JwdF9kb3dubG9hZHNieXVzZXJfdHBsJykpOwplY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIgKCdkb3dubG9hZHNieWZpbGVfcnB0JywkdGhpcy0+TGFuZygncnB0X2Rvd25sb2Fkc2J5ZmlsZV90cGwnKSk7CgplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzICgpOwplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQgKCk7CgovLyB0aGUgdXBsb2FkIGZvcm0gdGVtcGxhdGUgdGFiCmVjaG8gJHRoaXMtPlN0YXJ0VGFiICgidXBsb2FkZm9ybV90ZW1wbGF0ZSIpOwplY2hvICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCAkaWQsICRyZXR1cm5pZCwgJ3VwbG9hZGZvcm1fJywKCQkJICAgICAgJ3VwbG9hZGZvcm1fc3lzZGVmYXVsdCcsICd1cGxvYWRmb3JtX3RlbXBsYXRlJywKCQkJICAgICAgJ2RlZmF1bHRfdXBsb2FkZm9ybScsCgkJCSAgICAgICR0aGlzLT5MYW5nKCd0aXRsZV91cGxvYWRmb3JtX3RlbXBsYXRlJyksJycsCgkJCSAgICAgICdhZG1pbl90ZW1wbGF0ZXMnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgovLyB0aGUgc3VtbWFyeSB0ZW1wbGF0ZSB0YWIKZWNobyAkdGhpcy0+U3RhcnRUYWIgKCJzdW1tYXJ5X3RlbXBsYXRlIik7CmVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoICRpZCwgJHJldHVybmlkLCAnc3VtbWFyeXJwdF8nLAoJCQkgICAgICAnc3VtbWFyeXJwdF9zeXNkZWZhdWx0JywgJ3N1bW1hcnlfdGVtcGxhdGUnLAoJCQkgICAgICAnZGVmYXVsdF9zdW1tYXJ5cnB0JywKCQkJICAgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX3N1bW1hcnlycHRfdGVtcGxhdGUnKSwnJywKCQkJICAgICAgJ2FkbWluX3RlbXBsYXRlcycpOwplY2hvICR0aGlzLT5FbmRUYWIgKCk7CgovLyB0aGUgZGV0YWlsIHRlbXBsYXRlIHRhYgplY2hvICR0aGlzLT5TdGFydFRhYiAoImRldGFpbF90ZW1wbGF0ZSIpOwplY2hvICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCAkaWQsICRyZXR1cm5pZCwgJ2RldGFpbHJwdF8nLAoJCQkgICAgICAnZGV0YWlscnB0X3N5c2RlZmF1bHQnLCAnZGV0YWlsX3RlbXBsYXRlJywKCQkJICAgICAgJ2RlZmF1bHRfZGV0YWlscnB0JywKCQkJICAgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX2RldGFpbHJwdF90ZW1wbGF0ZScpLCcnLAoJCQkgICAgICAnYWRtaW5fdGVtcGxhdGVzJyk7CmVjaG8gJHRoaXMtPkVuZFRhYiAoKTsKCi8vIHRoZSBzZW5kZmlsZWZvcm0gdGVtcGxhdGUgdGFiCmVjaG8gJHRoaXMtPlN0YXJ0VGFiICgic2VuZGZpbGVmb3JtX3RlbXBsYXRlIik7CmVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoICRpZCwgJHJldHVybmlkLCAnc2VuZGZpbGVmb3JtXycsCgkJCSAgICAgICdzZW5kZmlsZWZvcm1fc3lzZGVmYXVsdCcsICdzZW5kZmlsZWZvcm1fdGVtcGxhdGUnLAoJCQkgICAgICAnZGVmYXVsdF9zZW5kZmlsZWZvcm0nLAoJCQkgICAgICAkdGhpcy0+TGFuZygndGl0bGVfc2VuZGZpbGVmb3JtX3RlbXBsYXRlJyksJycsCgkJCSAgICAgICdhZG1pbl90ZW1wbGF0ZXMnKTsKZWNobyAkdGhpcy0+RW5kVGFiICgpOwoKLy8gdGhlIHlvdXNlbmRpdGZvcm0gdGVtcGxhdGUgdGFiCmVjaG8gJHRoaXMtPlN0YXJ0VGFiICgieW91c2VuZGl0Zm9ybV90ZW1wbGF0ZSIpOwplY2hvICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCAkaWQsICRyZXR1cm5pZCwgJ3lvdXNlbmRpdGZvcm1fJywKCQkJICAgICAgJ3lvdXNlbmRpdGZvcm1fc3lzZGVmYXVsdCcsICd5b3VzZW5kaXRmb3JtX3RlbXBsYXRlJywKCQkJICAgICAgJ2RlZmF1bHRfeW91c2VuZGl0Zm9ybScsCgkJCSAgICAgICR0aGlzLT5MYW5nKCd0aXRsZV95b3VzZW5kaXRmb3JtX3RlbXBsYXRlJyksJycsCgkJCSAgICAgICdhZG1pbl90ZW1wbGF0ZXMnKTsKZWNobyAkdGhpcy0+RW5kVGFiICgpOwoKLy8gdGhlIGVtYWlsIHRlbXBsYXRlIHRhYgplY2hvICR0aGlzLT5TdGFydFRhYignZW1haWxfdGVtcGxhdGUnKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fZW1haWxfdGVtcGxhdGVfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCi8vIGNhdGVnb3J5IGxpc3QgdGVtcGxhdGVzIHRhYgplY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcnlsaXN0X3RlbXBsYXRlcycpOwplY2hvICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCAkaWQsICRyZXR1cm5pZCwnY2F0ZWdvcnlsaXN0XycsCgkJCSAgICAgICdjYXRlZ29yeWxpc3Rfc3lzZGVmYXVsdCcsICdjYXRlZ29yeWxpc3RfdGVtcGxhdGUnLAoJCQkgICAgICAnZGZsdF9jYXRlZ29yeWxpc3QnLAoJCQkgICAgICAkdGhpcy0+TGFuZygndGl0bGVfY2F0ZWdvcnlsaXN0X3RlbXBsYXRlJyksJycsCgkJCSAgICAgICdhZG1pbl90ZW1wbGF0ZXMnKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgovLyB0aGUgZGVmYXVsdCB0ZW1wbGF0ZXMgdGFiCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdkZWZhdWx0X3RlbXBsYXRlcycpOwplY2hvICR0aGlzLT5HZXREZWZhdWx0VGVtcGxhdGVGb3JtKCR0aGlzLCRpZCwkcmV0dXJuaWQsJ3VwbG9hZGZvcm1fc3lzZGVmYXVsdCcsCgkJCQkgICAnYWRtaW5fdGVtcGxhdGVzJywKCQkJCSAgICdkZWZhdWx0X3RlbXBsYXRlcycsCgkJCQkgICAkdGhpcy0+TGFuZygndGl0bGVfdXBsb2FkZm9ybV9zeXNkZWZhdWx0JyksCgkJCQkgICAnb3JpZ191cGxvYWRmb3JtX3RlbXBsYXRlLnRwbCcsCgkJCQkgICAkdGhpcy0+TGFuZygnaW5mb19zeXNkZWZhdWx0JykpOwoKZWNobyAnPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrOyB3aWR0aDogODAlOyI+PC9kaXY+JzsKCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwnc3VtbWFyeXJwdF9zeXNkZWZhdWx0JywKCQkJCSAgICdhZG1pbl90ZW1wbGF0ZXMnLAoJCQkJICAgJ2RlZmF1bHRfdGVtcGxhdGVzJywKCQkJCSAgICR0aGlzLT5MYW5nKCd0aXRsZV9zdW1tYXJ5cnB0X3N5c2RlZmF1bHQnKSwKCQkJCSAgICdvcmlnX3N1bW1hcnlycHRfdGVtcGxhdGUudHBsJywKCQkJCSAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RlZmF1bHQnKSk7CgplY2hvICc8ZGl2IHN0eWxlPSJib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nOwoKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLCdkZXRhaWxycHRfc3lzZGVmYXVsdCcsCgkJCQkJCQkJCQkJCQkJCQkJICdhZG1pbl90ZW1wbGF0ZXMnLAoJCQkJCQkJCQkJCQkJCQkJCSAnZGVmYXVsdF90ZW1wbGF0ZXMnLAoJCQkJCQkJCQkJCQkJCQkJCSAkdGhpcy0+TGFuZygndGl0bGVfZGV0YWlscnB0X3N5c2RlZmF1bHQnKSwKCQkJCQkJCQkJCQkJCQkJCQkgJ29yaWdfZGV0YWlscnB0X3RlbXBsYXRlLnRwbCcsCgkJCQkJCQkJCQkJCQkJCQkJICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RlZmF1bHQnKSk7CgplY2hvICc8ZGl2IHN0eWxlPSJib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nOwoKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLCdjYXRlZ29yeWxpc3Rfc3lzZGVmYXVsdCcsCgkJCQkJCQkJCQkJCQkJCQkJICdhZG1pbl90ZW1wbGF0ZXMnLAoJCQkJCQkJCQkJCQkJCQkJCSAnZGVmYXVsdF90ZW1wbGF0ZXNfdGVtcGxhdGVzJywKCQkJCQkJCQkJCQkJCQkJCQkgJHRoaXMtPkxhbmcoJ3RpdGxlX2NhdGVnb3J5bGlzdF9zeXNkZWZhdWx0JyksCgkJCQkJCQkJCQkJCQkJCQkJICdvcmlnX2NhdGVnb3J5bGlzdF90ZW1wbGF0ZS50cGwnLAoJCQkJCQkJCQkJCQkJCQkJCSAkdGhpcy0+TGFuZygnaW5mb19zeXNkZWZhdWx0JykpOwoKZWNobyAnPGRpdiBzdHlsZT0iYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGJsYWNrOyB3aWR0aDogODAlOyI+PC9kaXY+JzsKCmVjaG8gJHRoaXMtPkdldERlZmF1bHRUZW1wbGF0ZUZvcm0oJHRoaXMsJGlkLCRyZXR1cm5pZCwnc2VuZGZpbGVmb3JtX3N5c2RlZmF1bHQnLAoJCQkJICAgJ2FkbWluX3RlbXBsYXRlcycsCgkJCQkgICAnZGVmYXVsdF90ZW1wbGF0ZXMnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ3RpdGxlX3NlbmRmaWxlZm9ybV9zeXNkZWZhdWx0JyksCgkJCQkgICAnb3JpZ19zZW5kZmlsZWZvcm1fdGVtcGxhdGUudHBsJywKCQkJCSAgICR0aGlzLT5MYW5nKCdpbmZvX3N5c2RlZmF1bHQnKSk7CgplY2hvICc8ZGl2IHN0eWxlPSJib3JkZXItYm90dG9tOiAxcHggc29saWQgYmxhY2s7IHdpZHRoOiA4MCU7Ij48L2Rpdj4nOwoKZWNobyAkdGhpcy0+R2V0RGVmYXVsdFRlbXBsYXRlRm9ybSgkdGhpcywkaWQsJHJldHVybmlkLCd5b3VzZW5kaXRmb3JtX3N5c2RlZmF1bHQnLAoJCQkJICAgJ2FkbWluX3RlbXBsYXRlcycsCgkJCQkgICAnZGVmYXVsdF90ZW1wbGF0ZXMnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ3RpdGxlX3lvdXNlbmRpdGZvcm1fc3lzZGVmYXVsdCcpLAoJCQkJICAgJ29yaWdfeW91c2VuZGl0Zm9ybV90ZW1wbGF0ZS50cGwnLAoJCQkJICAgJHRoaXMtPkxhbmcoJ2luZm9fc3lzZGVmYXVsdCcpKTsKZWNobyAkdGhpcy0+RW5kVGFiKCk7CgovLyBkb3dubG9hZHMgYnkgdXNlciByZXBvcnQgdGVtcGxhdGVzLgplY2hvICR0aGlzLT5TdGFydFRhYignZG93bmxvYWRzYnl1c2VyX3JwdCcpOwplY2hvICR0aGlzLT5TaG93VGVtcGxhdGVMaXN0KCAkaWQsICRyZXR1cm5pZCwgJ3JkbF8nLAoJCQkgICAgICAnb3JpZ19odG1scmVwb3J0X2Rvd25sb2Fkc2J5dXNlci50cGwnLCdkb3dubG9hZHNieXVzZXJfcnB0JywnJywKCQkJICAgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX2Rvd25sb2Fkc2J5dXNlcl90cGwnKSwnJywKCQkJICAgICAgJ2FkbWluX3RlbXBsYXRlcycpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCi8vIGRvd25sb2FkcyBieSBmaWxlIHJlcG9ydCB0ZW1wbGF0ZXMuCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdkb3dubG9hZHNieWZpbGVfcnB0Jyk7CmVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoICRpZCwgJHJldHVybmlkLCAncmRmXycsCgkJCSAgICAgICdvcmlnX2h0bWxyZXBvcnRfZG93bmxvYWRzYnlmaWxlLnRwbCcsJ2Rvd25sb2Fkc2J5ZmlsZV9ycHQnLCcnLAoJCQkgICAgICAkdGhpcy0+TGFuZygndGl0bGVfZG93bmxvYWRzYnlmaWxlX3RwbCcpLCcnLAoJCQkgICAgICAnYWRtaW5fdGVtcGxhdGVzJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_update_email_templates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24gKCdNb2RpZnkgVGVtcGxhdGVzJykgKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignZW1haWxfdGVtcGxhdGUnKTsKJHRoaXMtPlNldEN1cnJlbnRBY3Rpb24oJ2FkbWluX3RlbXBsYXRlcycpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIHsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgndXBsb2FkX2VtYWlsdGVtcGxhdGUnLFxjZ2VfdXRpbHM6OmdldF9wYXJhbSgkcGFyYW1zLCd1cGxvYWRfZW1haWx0ZW1wbGF0ZScpKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgndXBsb2FkX3NlbmRmaWxlcnB0JyxcY2dlX3V0aWxzOjpnZXRfcGFyYW0oJHBhcmFtcywndXBsb2FkX3NlbmRmaWxlcnB0JykpOwogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ190ZW1wbGF0ZXNhdmVkJykpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3NlbmRmaWxlcnB0X3Jlc2V0J10pICkgewogICAgJHRtcCA9IEBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfc2VuZGZpbGVycHRfdGVtcGxhdGUudHBsJyk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3VwbG9hZF9zZW5kZmlsZXJwdCcsJHRtcCk7CiAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3RlbXBsYXRlcmVzZXQnKSk7Cn0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snZW1haWx0ZW1wbGF0ZV9yZXNldCddKSApIHsKICAgICR0bXAgPSBAZmlsZV9nZXRfY29udGVudHMoX19ESVJfXy4nL3RlbXBsYXRlcy9vcmlnX2VtYWlsbm90aWZ5X3RlbXBsYXRlLnRwbCcpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCd1cGxvYWRfZW1haWx0ZW1wbGF0ZScsJHRtcCk7CiAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX3RlbXBsYXRlcmVzZXQnKSk7Cn0KJHRoaXMtPlJlZGlyZWN0VG9UYWIoKTs=]]></data>
	</file>
	<file>
	  <filename>/action.admin_upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBVcGxvYWRzJykgJiYgISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VwbG9hZCBGaWxlcyB0byBVcGxvYWRzJykpIHJldHVybjsKCiMKIyBJbml0aWFsaXphdGlvbgojCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdmaWxlcycpOwokcmVjb3JkID0gYXJyYXkoJ2NhdGVnb3J5X2lkJz0+JycsCiAgICAgICAgICAgICAgICAnZGVzdG5hbWUnPT4nJywKICAgICAgICAgICAgICAgICdhdXRob3InPT5nZXRfdXNlcm5hbWUoKSwKICAgICAgICAgICAgICAgICdzdW1tYXJ5Jz0+JycsCiAgICAgICAgICAgICAgICAnZGVzY3JpcHRpb24nPT4nJyk7CiRjdXJjYXRlZ29yeSA9IFxjZ2VfcGFyYW06OmdldF9pbnQoJHBhcmFtcywnY2F0ZWdvcnlfaWQnLFxjZ2VfcGFyYW06OmdldF9pbnQoJHBhcmFtcywnY2F0ZWdvcnknKSk7CiR1c2VfYXV0b2dlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VfYXV0b2dlbl9maWxlbmFtZXMnLDApOwoKJGZpZWxkcyA9IGFycmF5KCk7CnsKICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZGRlZnMgT1JERVIgQlkgaW9yZGVyJzsKICAgICR0ZmllbGRzID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRmaWVsZHMpOyAkaSsrICkgewogICAgICAgICR0ZmllbGRzWyRpXVsnYXR0cmliJ10gPSB1bnNlcmlhbGl6ZSgkdGZpZWxkc1skaV1bJ2F0dHJpYnMnXSk7CiAgICAgICAgdW5zZXQoJHRmaWVsZHNbJGldWydhdHRyaWJzJ10pOwoKICAgICAgICBzd2l0Y2goJHRmaWVsZHNbJGldWyd0eXBlJ10pIHsKICAgICAgICBjYXNlICd0ZXh0YXJlYSc6CiAgICAgICAgICAgICR0ZmllbGRzWyRpXVsnaW5wdXQnXSA9CiAgICAgICAgICAgICAgICAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoaXNzZXQoJHRmaWVsZHNbJGldWydhdHRyaWInXVsndXNld3lzaXd5ZyddKSAmJiAkdGZpZWxkc1skaV1bJ2F0dHJpYiddWyd1c2V3eXNpd3lnJ10gPT0gMSAmJgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19jb21tZW50X3d5c2l3eWcnLDApLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGZpZWxkc1skaV1bJ2F0dHJpYiddWydkZmx0Y29udGVudCddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdmaWVsZF8nLiR0ZmllbGRzWyRpXVsnaWQnXSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIGNhc2UgJ2Ryb3Bkb3duJzoKICAgICAgICBjYXNlICdtdWx0aXNlbGVjdCc6CiAgICAgICAgICAgIGlmKCBpc3NldCgkdGZpZWxkc1skaV1bJ2F0dHJpYiddWydvcHRpb25zJ10pICkgewogICAgICAgICAgICAgICAgJHRtcCA9IGV4cGxvZGUoIlxuIiwkdGZpZWxkc1skaV1bJ2F0dHJpYiddWydvcHRpb25zJ10pOwogICAgICAgICAgICAgICAgJHRtcDIgPSBhcnJheSgpOwogICAgICAgICAgICAgICAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewogICAgICAgICAgICAgICAgICAgICRrZXkgPSAnJzsKICAgICAgICAgICAgICAgICAgICAkdmFsdWUgPSAnJzsKICAgICAgICAgICAgICAgICAgICBpZiggc3Ryc3RyKCRvbmUsJz0nKSAhPT0gRkFMU0UgKQogICAgICAgICAgICAgICAgICAgICAgICBsaXN0KCRrZXksJHZhbHVlKSA9IGV4cGxvZGUoJz0nLHRyaW0oJG9uZSksMik7CiAgICAgICAgICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgICAgICR2YWx1ZSA9ICRvbmU7CiAgICAgICAgICAgICAgICAgICAgICAgICRrZXkgPSAkb25lOwogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkdG1wMlt0cmltKCR2YWx1ZSldID0gdHJpbSgka2V5KTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICR0ZmllbGRzWyRpXVsnYXR0cmliJ11bJ29wdGlvbnMnXSA9ICR0bXAyOwogICAgICAgICAgICB9CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KCiAgICAgICAgJGZpZWxkc1skdGZpZWxkc1skaV1bJ2lkJ11dID0gJHRmaWVsZHNbJGldOwogICAgfQp9CgoKIwojIEhhbmRsZSBGb3JtIFN1Ym1pc3Npb24KIwppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgewogICAgJHJldHVybnRvID0gJHRoaXMtPnBvcF9yZXR1cm5UbygpOwogICAgaWYoICRyZXR1cm50byApIHJlZGlyZWN0KCRyZXR1cm50byk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApIHsKICAgICRyZWNvcmRbJ2NhdGVnb3J5X2lkJ10gPSBcY2dlX3BhcmFtOjpnZXRfaW50KCRwYXJhbXMsJ2NhdGVnb3J5X2lkJyk7CiAgICAkcmVjb3JkWydkZXN0bmFtZSddID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdpbnB1dF9kZXN0bmFtZScpOwogICAgJHJlY29yZFsnYXV0aG9yJ10gPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2lucHV0X2F1dGhvcicpOwogICAgJHJlY29yZFsnc3VtbWFyeSddID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdpbnB1dF9zdW1tYXJ5Jyk7CiAgICAkcmVjb3JkWydkZXNjcmlwdGlvbiddID0gXGNnZV9wYXJhbTo6Z2V0X2h0bWwoJHBhcmFtcywnaW5wdXRfZGVzY3JpcHRpb24nKTsKCiAgICAkdXNlcmlkID0gZ2V0X3VzZXJpZCgpOwogICAgJHVzZXJuYW1lID0gZ2V0X3VzZXJuYW1lKCk7CgogICAgJHJldCA9ICR0aGlzLT5BdHRlbXB0VXBsb2FkKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwogICAgaWYoICRyZXRbMF0gPT0gZmFsc2UgKSB7CiAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkcmV0WzFdKTsKICAgIH0KICAgIGVsc2UgewogICAgICAgICR1cGxvYWRfaWQgPSAkcmV0WzFdOwogICAgICAgICR0aGVuYW1lID0gJyc7CiAgICAgICAgaWYoIGNvdW50KCRyZXQpID09IDMgKSAkdGhlbmFtZSA9ICRyZXRbMl07CgogICAgICAgIC8vIGl0IHVwbG9hZGVkLi4uIG5vdyBmb3IgdGhlIHRsIHN0dWZmCiAgICAgICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd191cGxvYWRfc2VuZGZpbGUnLDApICYmCiAgICAgICAgICAgIGlzc2V0KCRwYXJhbXNbJ3RsX2VtYWlsJ10pICYmICFlbXB0eSgkcGFyYW1zWyd0bF9lbWFpbCddKSApIHsKICAgICAgICAgICAgLy8gd2UncmUgY3JlYXRpbmcgdGltZSBsaW1pdGVkIGFjY2VzcyBrZXkuCiAgICAgICAgICAgICRob3VycyA9IChpbnQpJHBhcmFtc1sndGxfaG91cnMnXTsKICAgICAgICAgICAgJGRvd25sb2FkcyA9IChpbnQpJHBhcmFtc1sndGxfZG93bmxvYWRzJ107CiAgICAgICAgICAgICRlbWFpbCA9IHRyaW0oJHBhcmFtc1sndGxfZW1haWwnXSk7CiAgICAgICAgICAgICRzZW5kaXQgPSAoaW50KSRwYXJhbXNbJ3RsX3NlbmRpdCddOwoKICAgICAgICAgICAgJGRvd25sb2FkcyA9IG1heCgkZG93bmxvYWRzLDApOwogICAgICAgICAgICAkaG91cnMgPSBtYXgoJGhvdXJzLDApOwoKICAgICAgICAgICAgJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKICAgICAgICAgICAgJGV4cGlyZXMgPSBudWxsOwogICAgICAgICAgICBpZiggJGhvdXJzID4gMCApICRleHBpcmVzID0gJGRiLT5EYlRpbWVTdGFtcChzdHJ0b3RpbWUoJysnLiRob3Vycy4nIGhvdXJzJykpOwogICAgICAgICAgICAkdXJsa2V5ID0gc3Vic3RyKHN0cl9zaHVmZmxlKG1kNSh0aW1lKCkuJHVwbG9hZF9pZC4kdGhlbmFtZS4kbm93LiRlbWFpbC4kZXhwaXJlcykpLDAsMTYpOwogICAgICAgICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX3RpbWVsaW1pdAogICAgICAgICAgICAgICAgKHVwbG9hZF9pZCxlbWFpbCx1cmxfa2V5LGNyZWF0ZWQsZXhwaXJlcyxtYXhfZG93bmxvYWRzKQogICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPywkbm93LCRleHBpcmVzLD8pIjsKICAgICAgICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHVwbG9hZF9pZCwkZW1haWwsJHVybGtleSwkZG93bmxvYWRzKSk7CiAgICAgICAgICAgIGlmKCAkZGJyICkgewogICAgICAgICAgICAgICAgLy8gbWF5YmUgc2VuZCBhbiBlbWFpbAogICAgICAgICAgICAgICAgJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CiAgICAgICAgICAgICAgICBpZiggJGNtc21haWxlciApIHsKICAgICAgICAgICAgICAgICAgICAkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgICAgICAgICAgICAgICAgICRwYWdlaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zZW5kZmlsZXBhZ2UnKTsKICAgICAgICAgICAgICAgICAgICBpZiggJHBhZ2VpZCA8PSAwICkgJHBhZ2VpZCA9ICRjb250ZW50b3BzLT5HZXREZWZhdWx0Q29udGVudCgpOwoKICAgICAgICAgICAgICAgICAgICAkdG1wID0gJHRoaXMtPkdldFVwbG9hZERldGFpbHMoJHVwbG9hZF9pZCwkcGFnZWlkKTsKICAgICAgICAgICAgICAgICAgICAkdG1wWydkb3dubG9hZF91cmwnXSA9ICR0aGlzLT5jcmVhdGVfdXJsKCRpZCwnZ2V0ZmlsZScsJHBhZ2VpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5KCd1cmxfa2V5Jz0+JHVybGtleSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYWxzZSwgZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X2dldFRpbWVMaW1pdGVkVVJMKCR1cmxrZXkpKTsKCiAgICAgICAgICAgICAgICAgICAgJHVwbG9hZF9pbmZvID0gbmV3IFN0ZENsYXNzKCk7CiAgICAgICAgICAgICAgICAgICAgZm9yZWFjaCggJHRtcCBhcyAka2V5ID0+ICR2YWx1ZSApIHsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoIHN0YXJ0c3dpdGgoJGtleSwndXBsb2FkXycpICkgJGtleSA9IHN1YnN0cigka2V5LDcpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiggIWVtcHR5KCR2YWx1ZSkgKSAkdXBsb2FkX2luZm8tPiRrZXkgPSAkdmFsdWU7CiAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICRzbWFydHktPmFzc2lnbignZW50cnknLCR1cGxvYWRfaW5mbyk7CiAgICAgICAgICAgICAgICAgICAgJHNtYXJ0eS0+YXNzaWduKCdub3RlcycsJycpOwogICAgICAgICAgICAgICAgICAgIGlmKCAkZG93bmxvYWRzICkgJHNtYXJ0eS0+YXNzaWduKCdkb3dubG9hZHMnLCRkb3dubG9hZHMpOwogICAgICAgICAgICAgICAgICAgIGlmKCAkaG91cnMgKSAkc21hcnR5LT5hc3NpZ24oJ2hvdXJzJywkaG91cnMpOwoKICAgICAgICAgICAgICAgICAgICAkc3ViamVjdF90cGwgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGltZWxpbWl0ZWRfc3ViamVjdCcsICR0aGlzLT5MYW5nKCdkZmx0X3RpbWVsaW1pdGVkX3N1YmplY3QnKSk7CiAgICAgICAgICAgICAgICAgICAgJHN1YmplY3QgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHN1YmplY3RfdHBsKTsKCiAgICAgICAgICAgICAgICAgICAgJGNtc21haWxlci0+cmVzZXQoKTsKICAgICAgICAgICAgICAgICAgICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCRzdWJqZWN0KTsKICAgICAgICAgICAgICAgICAgICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7CiAgICAgICAgICAgICAgICAgICAgJGNtc21haWxlci0+QWRkQWRkcmVzcygkZW1haWwpOwogICAgICAgICAgICAgICAgICAgICRib2R5ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgndXBsb2FkX3NlbmRmaWxlcnB0Jyk7CiAgICAgICAgICAgICAgICAgICAgJGNtc21haWxlci0+U2V0Qm9keSgkYm9keSk7CiAgICAgICAgICAgICAgICAgICAgJGNtc21haWxlci0+U2VuZCgpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkcmV0dXJudG8gPSAkdGhpcy0+cG9wX3JldHVyblRvKCk7CiAgICAgICAgaWYoICRyZXR1cm50byApIHsKICAgICAgICAgICAgcmVkaXJlY3QoJHJldHVybnRvKTsKICAgICAgICB9CiAgICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICAgIH0KfQoKIwojIEdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKIwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fdXBsb2FkJywkcmV0dXJuaWQsJHBhcmFtcyxmYWxzZSwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignY2F0ZWdvcmllcycsXHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yeV9saXN0KCkpOwokc21hcnR5LT5hc3NpZ24oJ3VzZV9hdXRvZ2VuJywkdXNlX2F1dG9nZW4pOwppZiggIWVtcHR5KCRjdXJjYXRlZ29yeSkgKSB7CiAgJHNtYXJ0eS0+YXNzaWduKCdjdXJjYXRlZ29yeScsJGN1cmNhdGVnb3J5KTsKCSRyb3cgPSB1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnkoJGN1cmNhdGVnb3J5KTsKICBpZiggJHJvd1sndXBsb2FkX2NhdGVnb3J5X2RmbHR1c2VycGVybXMnXSAhPSAnJyApIHsKICAgICRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJ10gPSBleHBsb2RlKCcsJywkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcyddKTsKICB9CiAgJHNtYXJ0eS0+YXNzaWduKCdjdXJjYXRlZ29yeScsJGN1cmNhdGVnb3J5KTsKICBpZiggaXNfYXJyYXkoJHJvdykgKSAkc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5X2luZm8nLCRyb3cpOwp9CiRzbWFydHktPmFzc2lnbignYWxsb3dfcmVwbGFjZScsMCk7CiRzbWFydHktPmFzc2lnbigndXBsb2FkJywkcmVjb3JkKTsKaWYoIGNvdW50KCRmaWVsZHMpICkgJHNtYXJ0eS0+YXNzaWduKCdmaWVsZHMnLCRmaWVsZHMpOwokc21hcnR5LT5hc3NpZ24oJ3RsX2hvdXJzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGltZWxpbWl0ZWRfaG91cnMnLDApKTsKJHNtYXJ0eS0+YXNzaWduKCd0bF9kb3dubG9hZHMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aW1lbGltaXRlZF9kb3dubG9hZHMnLDApKTsKJHNtYXJ0eS0+YXNzaWduKCdhbGxvd191cGxvYWRfc2VuZGZpbGUnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd191cGxvYWRfc2VuZGZpbGUnLDApKTsKCiRmZXUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0Zyb250RW5kVXNlcnMnKTsKaWYoIGlzX29iamVjdCgkZmV1KSApIHsKICAkZ3JvdXBzID0gJGZldS0+R2V0R3JvdXBMaXN0KCk7CiAgaWYoIGlzX2FycmF5KCRncm91cHMpICYmIGNvdW50KCRncm91cHMpICkgJHNtYXJ0eS0+YXNzaWduKCdmZXVfZ3JvdXBsaXN0JyxhcnJheV9mbGlwKCRncm91cHMpKTsKfQojCiMgRGlzcGxheSB0aGUgdGVtcGxhdGUKIwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3VwbG9hZC50cGwnKTsKCiMKIyBFT0YKIwo=]]></data>
	</file>
	<file>
	  <filename>/action.ajax_yousendit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKdHJ5IHsKICAgIC8vIHZhbGlkYXRlIHRoZSB1bmlxdWUgY29kZQogICAgJHVybF9jb2RlID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCd1cGxfY29kZScpOwogICAgJHNlc3NfY29kZSA9ICR0aGlzLT5zZXNzaW9uX2dldCgneXNpX2NvZGUnKTsKICAgIGlmKCAkdXJsX2NvZGUgIT0gJHNlc3NfY29kZSApIHRocm93IG5ldyBcRXhjZXB0aW9uKCdTZWN1cml0eSBpc3N1ZTogbWFnaWMgY29kZXMgZG8gbm90IG1hdGNoJyk7CgogICAgJG9wdHMgPSBhcnJheSgncGFyYW1fbmFtZSc9Pid1cGxfZmlsZScpOwogICAgJGNvbmZpZyA9IFxjbXNfY29uZmlnOjpnZXRfaW5zdGFuY2UoKTsKICAgICRvcHRzWydjb2RlJ10gPSAkdXJsX2NvZGU7CiAgICAkb3B0c1sndXBsb2FkX2RpciddID0gdXBsb2Fkc191dGlsczo6Z2V0X3RtcGRpcigpOwogICAgJG9wdHNbJ3VwbG9hZF91cmwnXSA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ107IC8vIG5vdCBuZWVkZWQgdG8gYmUgdmFsaWQgdXJscy4KCiAgICAkaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7CiAgICBmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKICAgIGhlYWRlcignUHJhZ21hOiBuby1jYWNoZScpOwogICAgaGVhZGVyKCdDYWNoZS1Db250cm9sOiBwcml2YXRlLCBuby1jYWNoZScpOwogICAgaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBpbmxpbmU7IGZpbGVuYW1lPSJmaWxlcy5qc29uIicpOwogICAgaGVhZGVyKCdYLUNvbnRlbnQtVHlwZS1PcHRpb25zOiBub3NuaWZmJyk7CiAgICBoZWFkZXIoJ0FjY2Vzcy1Db250cm9sLUFsbG93LU9yaWdpbjogKicpOwogICAgaGVhZGVyKCdBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzOiBPUFRJT05TLCBIRUFELCBHRVQsIFBPU1QsIFBVVCwgREVMRVRFJyk7CiAgICBoZWFkZXIoJ0FjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnM6IFgtRmlsZS1OYW1lLCBYLUZpbGUtVHlwZSwgWC1GaWxlLVNpemUnKTsKICAgICRoYW5kbGVyID0gbmV3IFxVcGxvYWRzXHlvdXNlbmRpdF91cGxvYWRfaGFuZGxlcigkb3B0cyk7CgogICAgc3dpdGNoICgkX1NFUlZFUlsnUkVRVUVTVF9NRVRIT0QnXSkgewogICAgY2FzZSAnT1BUSU9OUyc6CiAgICAgICAgYnJlYWs7CiAgICBjYXNlICdIRUFEJzoKICAgIGNhc2UgJ0dFVCc6CiAgICAgICAgJGhhbmRsZXItPmdldCgpOwogICAgICAgIGJyZWFrOwogICAgY2FzZSAnUE9TVCc6CiAgICAgICAgJGhhbmRsZXItPnBvc3QoKTsKICAgICAgICBicmVhazsKICAgIGNhc2UgJ0RFTEVURSc6CiAgICAgICAgJGhhbmRsZXItPmRlbGV0ZSgpOwogICAgICAgIGJyZWFrOwogICAgZGVmYXVsdDoKICAgICAgICBoZWFkZXIoJ0hUVFAvMS4xIDQwNSBNZXRob2QgTm90IEFsbG93ZWQnKTsKICAgIH0KfQpjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgIFxjZ2VfdXRpbHM6OmxvZ19leGNlcHRpb24oJGUpOwogICAgJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOwogICAgZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KCiAgICBoZWFkZXIoIkhUVFAvMS4wIDUwMCAiLiRlLT5HZXRNZXNzYWdlKCkpOwogICAgaGVhZGVyKCJTdGF0dXM6IDUwMCBTZXJ2ZXIgRXJyb3IiKTsKICAgIGVjaG8gJGUtPkdldE1lc3NhZ2UoKTsKfQpleGl0Owo=]]></data>
	</file>
	<file>
	  <filename>/action.categorylist.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7Cgokc3VtbWFyeXBhZ2UgPSAkcmV0dXJuaWQ7CiR0bXAgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3N1bW1hcnlwYWdlJyk7CmlmKCAkdG1wICkgewogICAgJHRtcCA9ICR0aGlzLT5yZXNvbHZlX2FsaWFzX29yX2lkKCR0bXApOwogICAgaWYoICR0bXAgKSAkc3VtbWFyeXBhZ2UgPSAkdG1wOwp9CgokZmV1ID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwokY2F0ZWdvcmllcyA9IG51bGw7CiR0bXAgPSB1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcmllcygpOwppZiggY291bnQoJHRtcCkgKSB7CiAgICAkY2F0ZWdvcmllcyA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkdG1wIGFzICRyb3cgKSB7CiAgICAgICAgZm9yZWFjaCggJHJvdyBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICAgICAgICAgIGlmKCBzdGFydHN3aXRoKCRrZXksJ3VwbG9hZF9jYXRlZ29yeV8nKSApIHsKICAgICAgICAgICAgICAgIHVuc2V0KCRyb3dbJGtleV0pOwogICAgICAgICAgICAgICAgJGtleSA9IHN1YnN0cigka2V5LHN0cmxlbigndXBsb2FkX2NhdGVnb3J5XycpKTsKICAgICAgICAgICAgICAgICRyb3dbJGtleV0gPSAkdmFsOwogICAgICAgICAgICB9CiAgICAgICAgfQogICAgICAgIGlmKCAhJHJvd1snbGlzdGFibGUnXSApIGNvbnRpbnVlOwogICAgICAgIGlmKCAkcm93Wydncm91cHMnXSApIHsKICAgICAgICAgICAgaWYoICEkZmV1ICkgY29udGludWU7IC8vIG5vIEZFVSBtb2R1bGUKICAgICAgICAgICAgJHVpZCA9ICRmZXUtPkxvZ2dlZEluSWQoKTsKICAgICAgICAgICAgaWYoICR1aWQgPCAxICkgY29udGludWU7IC8vIG5vdCBsb2dnZWQgaW4uCiAgICAgICAgICAgICRtZW1iZXJncm91cHMgPSAkZmV1LT5HZXRNZW1iZXJHcm91cHNBcnJheSgkdWlkKTsKICAgICAgICAgICAgaWYoICFjb3VudCgkbWVtYmVyZ3JvdXBzKSApIGNvbnRpbnVlOyAvLyBub3QgbWVtYmVyIG9mIGFueSBncm91cHMKCiAgICAgICAgICAgICRwZXJtaXR0ZWQgPSBmYWxzZTsKICAgICAgICAgICAgJGFsbG93ZWRfZ3JvdXBzID0gZXhwbG9kZSgnLCcsJHJvd1snZ3JvdXBzJ10pOwogICAgICAgICAgICBmb3JlYWNoKCAkbWVtYmVyZ3JvdXBzIGFzICRtZyApIHsKICAgICAgICAgICAgICAgIGlmKCBpbl9hcnJheSgkbWdbJ2dyb3VwaWQnXSwgJGFsbG93ZWRfZ3JvdXBzKSApIHsKICAgICAgICAgICAgICAgICAgICAkcGVybWl0dGVkID0gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQogICAgICAgICAgICBpZiggISRwZXJtaXR0ZWQgKSBjb250aW51ZTsKICAgICAgICB9CgogICAgICAgIC8vIGJ1aWxkIHRoZSBzdW1tYXJ5IHVybAogICAgICAgICRwYXJtcyA9ICRwYXJhbXM7CiAgICAgICAgJHBhcm1zWydjYXRlZ29yeSddID0gJHJvd1snaWQnXTsKICAgICAgICBpZiggaXNzZXQoJHBhcm1zWydzdW1tYXJ5cGFnZSddKSApIHVuc2V0KCRwYXJtc1snc3VtbWFyeXBhZ2UnXSk7CiAgICAgICAgaWYoIGlzc2V0KCRwYXJtc1snbGlzdGluZ3RlbXBsYXRlJ10pICkgdW5zZXQoJHBhcm1zWydsaXN0aW5ndGVtcGxhdGUnXSk7CiAgICAgICAgaWYoIGlzc2V0KCRwYXJtc1snbGlzdGluZ3NvcnRvcmRlciddKSApIHVuc2V0KCRwYXJtc1snbGlzdGluZ3NvcnRvcmRlciddKTsKICAgICAgICAkcm93WydzdW1tYXJ5X3VybCddID0gJHRoaXMtPmNyZWF0ZV91cmwoJ2NudG50MDEnLCdkZWZhdWx0Jywkc3VtbWFyeXBhZ2UsJHBhcm1zKTsKICAgICAgICAkY2F0ZWdvcmllc1tdID0gJHJvdzsKICAgIH0KfQoKJHNvcnRpbmcgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3NvcnRvcmRlcicsJ25hbWVfYXNjJyk7CiRzb3J0aW5nID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdsaXN0aW5nc29ydG9yZGVyJywkc29ydGluZyk7CnVzb3J0KCRjYXRlZ29yaWVzLGZ1bmN0aW9uKCRhLCRiKSB1c2UgKCRzb3J0aW5nKSB7CiAgICAgICAgc3dpdGNoKCAkc29ydGluZyApIHsKICAgICAgICBjYXNlICdzdW1tX2FzYyc6CiAgICAgICAgICAgIHJldHVybiBzdHJuYXRjbXAoJGFbJ2Rlc2NyaXB0aW9uJ10sJGJbJ2Rlc2NyaXB0aW9uJ10pOwoKICAgICAgICBjYXNlICdzdW1fZGVzYyc6CiAgICAgICAgICAgIHJldHVybiBzdHJuYXRjbXAoJGFbJ2Rlc2NyaXB0aW9uJ10sJGJbJ2Rlc2NyaXB0aW9uJ10pICogLTE7CgogICAgICAgIGNhc2UgJ25hbWVfZGVzYyc6CiAgICAgICAgICAgIHJldHVybiBzdHJuYXRjbXAoJGFbJ25hbWUnXSwkYlsnbmFtZSddKSAqIC0xOwoKICAgICAgICBjYXNlICduYW1lX2FzYyc6CiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgcmV0dXJuIHN0cm5hdGNtcCgkYVsnbmFtZSddLCRiWyduYW1lJ10pOwogICAgICAgIH0KICAgIH0pOwoKJHRoZXRlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RmbHRfY2F0ZWdvcnlsaXN0Jyk7CiR0aGV0ZW1wbGF0ZSA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnbGlzdGluZ3RlbXBsYXRlJywkdGhldGVtcGxhdGUpOwokdGhldGVtcGxhdGUgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3RlbXBsYXRlJywkdGhldGVtcGxhdGUpOwokdHBsID0gJHRoaXMtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCR0aGV0ZW1wbGF0ZSwnY2F0ZWdvcnlsaXN0XycpOwokdHBsLT5hc3NpZ24oJ2NhdGVnb3JpZXMnLCRjYXRlZ29yaWVzKTsKJHRwbC0+ZGlzcGxheSgpOwoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.categorysummary.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCnJldHVybjsgLy8gbm8gbG9uZ2VyIGZ1bmN0aW9uYWwKLy8gdHJ5IHRvIGZpZ3VyZSBvdXQgYSBzb3J0IG9yZGVyCiRzb3J0b3JkZXIgPSAiT1JERVIgQlkgdXBsb2FkX2NhdGVnb3J5X25hbWUgQVNDIjsKaWYoIGlzc2V0KCRwYXJhbXNbJ3NvcnRvcmRlciddKSApIHsKCXN3aXRjaCggdHJpbSgkcGFyYW1zWydzb3J0b3JkZXInXSkgKSB7CgljYXNlICJuYW1lX2FzYyI6CgkJLy8gYXNjZW5kaW5nIG5hbWUKCQkkc29ydG9yZGVyID0gIk9SREVSIEJZIHVwbG9hZF9jYXRlZ29yeV9uYW1lIEFTQyI7CgkJYnJlYWs7CgljYXNlICJuYW1lX2Rlc2MiOgoJCS8vIGRlc2NlbmRpbmcgbmFtZQoJCSRzb3J0b3JkZXIgPSAiT1JERVIgQlkgdXBsb2FkX2NhdGVnb3J5X25hbWUgREVTQyI7CgkJYnJlYWs7CgljYXNlICJzdW1tX2FzYyI6CgkJLy8gYXNjZW5kaW5nIHN1bW1hcnkKCQkkc29ydG9yZGVyID0gIk9SREVSIEJZIHVwbG9hZF9jYXRlZ29yeV9kZXNjcmlwdGlvbiBBU0MiOwoJCWJyZWFrOwoJY2FzZSAic3VtbV9kZXNjIjoKCQkvLyBkZXNjZW5kaW5nIHN1bW1hcnkKCQkkc29ydG9yZGVyID0gIk9SREVSIEJZIHVwbG9hZF9jYXRlZ29yeV9kZXNjcmlwdGlvbiBERVNDIjsKCQlicmVhazsKCWNhc2UgInJhbmRvbSI6CgkJLy8gcmFuZG9tCgkJJHNvcnRvcmRlciA9ICJPUkRFUiBCWSByYW5kKCkiOwoJfQogfQokc29ydG9yZGVyID0gIiAiLiRzb3J0b3JkZXI7CgovLyBkZXRlcm1pbmUgaG93IG1hbnkgd2UncmUgZ29pbmcgdG8gZGlzcGxheQokY291bnQgPSAiIjsKaWYoIGlzc2V0KCAkcGFyYW1zWydjb3VudCddICkgKSB7CgkkY291bnQgPSAiIExJTUlUIDAsIi4oaW50KXRyaW0oJHBhcmFtc1snY291bnQnXSk7Cn0KCgokcXBhcm1zID0gYXJyYXkoKTsKJHF1ZXJ5ID0gIlNFTEVDVCB1cGxvYWRfY2F0ZWdvcnlfaWQsIHVwbG9hZF9jYXRlZ29yeV9uYW1lLCB1cGxvYWRfY2F0ZWdvcnlfZGVzY3JpcHRpb24gRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllcyBXSEVSRSB1cGxvYWRfY2F0ZWdvcnlfbGlzdGFibGUgPSAxIjsKJHF1ZXJ5IC49ICRzb3J0b3JkZXIuJGNvdW50OwoKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnkgKTsKaWYoICRkYnJlc3VsdCAmJiAkZGJyZXN1bHQtPlJlY29yZENvdW50KCkgKSB7CgkkbWF0Y2hlcyA9ICRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKTsKfQoKLy8gc2V0dXAgc3RyaW5ncyAtIGFzc2lnbiBhIGJ1bmNoIGFzIGJsYW5rLCBqdXN0IGluIGNhc2Ugc29tZW9uZQovLyB1c2VzIGEgc3RhbmRhcmQgc3VtbWFyeSB0ZW1wbGF0ZQokc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5JywkdGhpcy0+TGFuZygnY2F0ZWdvcnknKSk7CiRzbWFydHktPmFzc2lnbignaWQnLCR0aGlzLT5MYW5nKCdpZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCduYW1lJywkdGhpcy0+TGFuZygnbmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdkYXRlJywnJyk7CiRzbWFydHktPmFzc2lnbignYXV0aG9yJywnJyk7CiRzbWFydHktPmFzc2lnbignc2l6ZScsJycpOwokc21hcnR5LT5hc3NpZ24oJ2RldGFpbHMnLCcnKTsKJHNtYXJ0eS0+YXNzaWduKCdzdW1tYXJ5JywkdGhpcy0+TGFuZygnc3VtbWFyeScpKTsKJHNtYXJ0eS0+YXNzaWduKCdkZXNjcmlwdGlvbicsJHRoaXMtPkxhbmcoJ2Rlc2NyaXB0aW9uJykpOwokc21hcnR5LT5hc3NpZ24oJ3RodW1ibmFpbCcsJycpOwokc21hcnR5LT5hc3NpZ24oJ2ljb24nLCcnKTsKJHNtYXJ0eS0+YXNzaWduKCdpbWFnZScsJycpOwokc21hcnR5LT5hc3NpZ24oJ251bXBhZ2VzJywxKTsKCiR0ZW1wbGF0ZSA9ICdzdW1tYXJ5cnB0XycuJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3VtbWFyeXJwdCcpOwppZiggaXNzZXQoICRwYXJhbXNbJ3RlbXBsYXRlJ10gKSApICR0ZW1wbGF0ZSA9ICdzdW1tYXJ5cnB0XycuJHBhcmFtc1sndGVtcGxhdGUnXTsKCiRyb3dhcnJheT1hcnJheSgpOwp3aGlsZSAoJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgewoJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcyAoKTsKCSRvbmVyb3ctPmlkID0gJHJvd1sndXBsb2FkX2NhdGVnb3J5X2lkJ107Cgkkb25lcm93LT5uYW1lID0gJHJvd1sndXBsb2FkX2NhdGVnb3J5X25hbWUnXTsKCSRvbmVyb3ctPnVwbG9hZF9uYW1lID0gJHJvd1sndXBsb2FkX2NhdGVnb3J5X25hbWUnXTsKCSRvbmVyb3ctPmNhdGVnb3J5ID0gJyc7Cgkkb25lcm93LT5kb3dubG9hZF91cmwgPSAnJzsKCgkkZW5jb2RlZF9uYW1lID0gdXJsZW5jb2RlKCRvbmVyb3ctPm5hbWUpOwoJJHBhcm1zID0gYXJyYXkoJ2NhdGVnb3J5Jz0+JGVuY29kZWRfbmFtZSk7CglpZiggaXNzZXQoJHBhcmFtc1snbGlzdGluZ29yZGVyJ10pICkgJHBhcm1zWydzb3J0b3JkZXInXSA9ICRwYXJhbXNbJ2xpc3RpbmdvcmRlciddOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2xpc3Rpbmd0ZW1wbGF0ZSddKSApICRwYXJtc1sndGVtcGxhdGUnXSA9ICRwYXJhbXNbJ2xpc3Rpbmd0ZW1wbGF0ZSddOwoJJG9uZXJvdy0+bmFtZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJGVuY29kZWRfbmFtZSwgJHBhcm1zKTsKCSRvbmVyb3ctPm5hbWV1cmwgPSAkdGhpcy0+Y3JlYXRlX3VybCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFybXMpOwoJJG9uZXJvdy0+YXV0aG9yID0gJyc7Cgkkb25lcm93LT5kZXRhaWxsaW5rID0gJyc7Cgkkb25lcm93LT5kZXRhaWx1cmwgPSAnJzsKCSRvbmVyb3ctPnN1bW1hcnkgPSAkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfZGVzY3JpcHRpb24nXTsKCSRvbmVyb3ctPnN1bW1hcnlsaW5rID0gJyc7Cgkkb25lcm93LT50aHVtYm5haWxfdXJsID0gJyc7Cgkkb25lcm93LT5pbWFnZV91cmwgPSAnJzsKCSRvbmVyb3ctPmljb251cmwgPSAnJzsKCSRvbmVyb3ctPmZpbGV0eXBlID0gJyc7Cgkkb25lcm93LT5kZXNjcmlwdGlvbiA9ICRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9kZXNjcmlwdGlvbiddOwoJJG9uZXJvdy0+aXAgPSAnJzsKCSRvbmVyb3ctPnNpemUgPSAnJzsgLy8gY291bGQgcG9wdWxhdGUgd2l0aCBjb3VudC4uLgoJJG9uZXJvdy0+ZGF0ZSA9ICcnOyAvLyBjb3VsZCBwb3B1bGF0ZSB3aXRoIGRhdGEgLi4uCgkkcm93YXJyYXlbXSA9ICRvbmVyb3c7Cn0KCiRzbWFydHktPmFzc2lnbiAoJ2l0ZW1zJywgJHJvd2FycmF5KTsKJHNtYXJ0eS0+YXNzaWduICgnaXRlbWNvdW50JywgY291bnQoJHJvd2FycmF5KSk7Cgokc21hcnR5LT5hc3NpZ24oICdtYXRjaGVzJywgJG1hdGNoZXMgKTsKCi8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UgKCR0ZW1wbGF0ZSk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhZGVmaW5lZCgnQ01TX1ZFUlNJT04nKSApIGV4aXQ7CiR0bXBfcGFyYW1zID0gbnVsbDsKaWYoIGlzc2V0KCRwYXJhbXNbJ2hpZGRlbl9wYXJhbXMnXSkgKSB7CiAgICAkdG1wX3BhcmFtcyA9IHVuc2VyaWFsaXplKGNtc19odG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1snaGlkZGVuX3BhcmFtcyddKSk7CiAgICAkcGFyYW1zID0gYXJyYXlfbWVyZ2UoICRwYXJhbXMsICR0bXBfcGFyYW1zICk7Cn0KdW5zZXQoJHRtcF9wYXJhbXMpOwoKLy8gc2V0dXAKJHRlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3VtbWFyeXJwdCcpOwokdGVtcGxhdGUgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3RlbXBsYXRlJywkdGVtcGxhdGUpOwokY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwoKLy8gaGFuZGxlIHRoZSBzZW5kZmlsZXBhZ2UgcGFyYW1ldGVyCiRzZW5kZmlsZXBhZ2UgPSAkdGhpcy0+cmVzb2x2ZV9hbGlhc19vcl9pZChcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3NlbmRmaWxlcGFnZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NlbmRmaWxlcGFnZScsJHJldHVybmlkKSkpOwppZiggJHNlbmRmaWxlcGFnZSA8IDEgKSAkc2VuZGZpbGVwYWdlID0gJHJldHVybmlkOwoKLy8gaGFuZGxlIHRoZSBkZXRhaWxwYWdlIHBhcmFtZXRlcgokZGV0YWlscGFnZSA9ICR0aGlzLT5yZXNvbHZlX2FsaWFzX29yX2lkKFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZGV0YWlscGFnZScsJHJldHVybmlkKSk7CgovLwovLyBTZXR1cCBkYXRhIGZvciB0aGUgZGVmYXVsdCBzdW1tYXJ5IG1vZGUKLy8KJGZpbGV0eXBlcyA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZmlsZXR5cGVzJyk7CiRzb3J0X2ZpZWxkID0gJHNvcnRfc3VmZml4ID0gbnVsbDsKJGZpZWxkX25hbWUgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2ZpZWxkbmFtZScpOwokZmllbGRfdmFsID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdmaWVsZHZhbCcpOwokZmllbGRfbmFtZTIgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2ZpZWxkbmFtZTInKTsKJGZpZWxkX3ZhbDIgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2ZpZWxkdmFsMicpOwoka2V5ID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdrZXknKTsKJGNhdGVnb3J5X25hbWUgPSAkcGFyYW1zWydjYXRlZ29yeSddID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdjYXRlZ29yeScsJ2FsbCcpOwoKLy8gdHJ5IHRvIGZpZ3VyZSBvdXQgYSBzb3J0IG9yZGVyCiRvcmRlcmJ5ID0gIk9SREVSIEJZIHVwbG9hZF9kYXRlIEFTQyI7CiR0bXAgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3NvcnRvcmRlcicpOwppZiggJHRtcCApIHsKCXN3aXRjaCggJHRtcCApIHsKCWNhc2UgImRhdGVfYXNjIjoKCQkvLyBhc2NlbmRpbmcgZGF0ZQoJCSRvcmRlcmJ5ID0gIk9SREVSIEJZIHVwbG9hZF9kYXRlIEFTQyI7CgkJYnJlYWs7CgljYXNlICJkYXRlX2Rlc2MiOgoJCS8vIGRlc2NlbmRpbmcgZGF0ZQoJCSRvcmRlcmJ5ID0gIk9SREVSIEJZIHVwbG9hZF9kYXRlIERFU0MiOwoJCWJyZWFrOwoJY2FzZSAibmFtZV9hc2MiOgoJCS8vIGFzY2VuZGluZyBuYW1lCgkJJG9yZGVyYnkgPSAiT1JERVIgQlkgdXBsb2FkX25hbWUgQVNDIjsKCQlicmVhazsKCWNhc2UgIm5hbWVfZGVzYyI6CgkJLy8gZGVzY2VuZGluZyBuYW1lCgkJJG9yZGVyYnkgPSAiT1JERVIgQlkgdXBsb2FkX25hbWUgREVTQyI7CgkJYnJlYWs7CgljYXNlICJzaXplX2FzYyI6CgkJLy8gYXNjZW5kaW5nIHNpemUKCQkkb3JkZXJieSA9ICJPUkRFUiBCWSB1cGxvYWRfc2l6ZSBBU0MiOwoJCWJyZWFrOwoJY2FzZSAic2l6ZV9kZXNjIjoKCQkvLyBkZXNjZW5kaW5nIHNpemUKCQkkb3JkZXJieSA9ICJPUkRFUiBCWSB1cGxvYWRfc2l6ZSBERVNDIjsKCQlicmVhazsKCWNhc2UgInN1bW1fYXNjIjoKCQkvLyBhc2NlbmRpbmcgc3VtbWFyeQoJCSRvcmRlcmJ5ID0gIk9SREVSIEJZIHVwbG9hZF9zdW1tYXJ5IEFTQyI7CgkJYnJlYWs7CgljYXNlICJzdW1tX2Rlc2MiOgoJCS8vIGRlc2NlbmRpbmcgc3VtbWFyeQoJCSRvcmRlcmJ5ID0gIk9SREVSIEJZIHVwbG9hZF9zdW1tYXJ5IERFU0MiOwoJCWJyZWFrOwoJY2FzZSAiYXV0aG9yX2FzYyI6CgkJLy8gYXNjZW5kaW5nIGF1dGhvcgoJCSRvcmRlcmJ5ID0gIk9SREVSIEJZIHVwbG9hZF9hdXRob3IgQVNDIjsKCQlicmVhazsKCWNhc2UgImF1dGhvcl9kZXNjIjoKCQkvLyBkZXNjZW5kaW5nIGF1dGhvcgoJCSRvcmRlcmJ5ID0gIk9SREVSIEJZIHVwbG9hZF9hdXRob3IgREVTQyI7CgkJYnJlYWs7CgljYXNlICJpcF9hc2MiOgoJCS8vIGFzY2VuZGluZyBpcAoJCSRvcmRlcmJ5ID0gIk9SREVSIEJZIHVwbG9hZF9pcCBBU0MiOwoJCWJyZWFrOwoJY2FzZSAiaXBfZGVzYyI6CgkJLy8gZGVzY2VuZGluZyBpcAoJCSRvcmRlcmJ5ID0gIk9SREVSIEJZIHVwbG9hZF9pcCBERVNDIjsKCQlicmVhazsKCWNhc2UgImRlc2NfYXNjIjoKCQkvLyBhc2NlbmRpbmcgZGVzY3JpcHRpb24KCQkkb3JkZXJieSA9ICJPUkRFUiBCWSB1cGxvYWRfZGVzY3JpcHRpb24gQVNDIjsKCQlicmVhazsKCWNhc2UgImRlc2NfZGVzYyI6CgkJLy8gZGVzY2VuZGluZyBkZXNjcmlwdGlvbgoJCSRvcmRlcmJ5ID0gIk9SREVSIEJZIHVwbG9hZF9kZXNjcmlwdGlvbiBERVNDIjsKCQlicmVhazsKICAgIGNhc2UgJ2Rvd25sb2Fkc19hc2MnOgoJCS8vIGFzY2VuZGluZyBvcmRlciBvZiBkb3dubG9hZCBjb3VudAoJCSRvcmRlcmJ5ID0gIk9SREVSIEJZIGRvd25sb2FkcyBBU0MiOwoJCWJyZWFrOwogICAgY2FzZSAnZG93bmxvYWRzX2Rlc2MnOgogICAgICAgIC8vIGRlc2NlbmRpbmcgb3JkZXIgb2YgZG93bmxvYWQgY291bnQKICAgICAgICAkb3JkZXJieSA9ICJPUkRFUiBCWSBkb3dubG9hZHMgREVTQyI7CiAgICAgICAgYnJlYWs7CiAgICBjYXNlICJyYW5kb20iOgogICAgICAgIC8vIHJhbmRvbQogICAgICAgICRvcmRlcmJ5ID0gIk9SREVSIEJZIHJhbmQoKSI7CiAgICAgICAgYnJlYWs7CiAgICBkZWZhdWx0OgogICAgICAgIC8vIGhhbmRsZSBmaWVsZDphc2N8ZGVzYzpuYW1lCiAgICAgICAgaWYoIHN0YXJ0c3dpdGgoJHRtcCwnZmllbGQ6JykgKSB7CiAgICAgICAgICAgICRwYXJ0cyA9IGV4cGxvZGUoJzonLCR0bXApOwogICAgICAgICAgICAkc29ydF9zdWZmaXggPSAnQVNDJzsKICAgICAgICAgICAgaWYoIGNvdW50KCRwYXJ0cykgPT0gMyApIHsKICAgICAgICAgICAgICAgICR0bXAgPSBzdHJ0b3VwcGVyKHRyaW0oJHBhcnRzWzFdKSk7CiAgICAgICAgICAgICAgICBpZiggJHRtcCA9PSAnQVNDJyB8fCAkdG1wID09ICdERVNDJyApICRzb3J0X3N1ZmZpeCA9ICR0bXA7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJG9yZGVyYnkgPSAnT1JERVIgQlkgZnYwLnZhbHVlICcuJHNvcnRfc3VmZml4OwogICAgICAgICAgICAkc29ydF9maWVsZCA9ICRwYXJ0c1tjb3VudCgkcGFydHMpLTFdOwogICAgICAgIH0KICAgIH0KfQoKLy8gZGV0ZXJtaW5lIGhvdyBtYW55IHdlJ3JlIGdvaW5nIHRvIGRpc3BsYXkKJGxpbWl0c3RyID0gIiI7CiRudW1wYWdlcyA9IDE7CiRwYWdlbGltaXQgPSBcY2dlX3BhcmFtOjpnZXRfaW50KCRwYXJhbXMsJ2NvdW50JywxMDAwKTsKJHBhZ2VsaW1pdCA9IG1heCgxLG1pbigxMDAwLCRwYWdlbGltaXQpKTsKJHBhZ2VudW0gPSBcY2dlX3BhcmFtOjpnZXRfaW50KCRwYXJhbXMsJ3BhZ2VudW0nLDEpOwokbm9faW5pdGlhbCA9IFxjZ2VfcGFyYW06OmdldF9ib29sKCRwYXJhbXMsJ25vX2luaXRpYWwnKTsKJHBhZ2VudW0gPSBtYXgoMSwkcGFnZW51bSk7CmlmKCBpc3NldCggJHBhcmFtc1snY291bnQnXSApICkgJHBhZ2VsaW1pdCA9IChpbnQpJHBhcmFtc1snY291bnQnXTsKaWYoIGlzc2V0KCAkcGFyYW1zWydwYWdlbnVtJ10gKSApICRwYWdlbnVtID0gKGludCkkcGFyYW1zWydwYWdlbnVtJ107CiRsaW1pdHN0ciA9ICIgTElNSVQgMCwkcGFnZWxpbWl0IjsKCiR0cGwgPSAkdGhpcy0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJHRlbXBsYXRlLCdzdW1tYXJ5cnB0XycpOwoKLy8gZ2V0IHRoZSBmaWx0ZXIgc3RyaW5nIGFuZCBhZGp1c3QgdGhlIGZpbHRlcgokYWRqdXN0ZWRfZmlsdGVyID0gJGZpbHRlciA9IG51bGw7CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9zdWJtaXQnXSkgKSB7CiAgICAkZmlsdGVyID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdpbnB1dF9maWx0ZXInKTsKICAgIGlmKCAkZmlsdGVyICkgewogICAgICAgICR0bXAgPSBleHBsb2RlKCcgJywkZmlsdGVyKTsKICAgICAgICAkYWRqdXN0ZWRfZmlsdGVyID0gJyUnLiR0bXBbMF0uJyUnOwogICAgICAgICR0cGwtPmFzc2lnbignZmlsdGVyJywkZmlsdGVyKTsKICAgIH0KfQoKJGRvX3F1ZXJ5ID0gKCAkbm9faW5pdGlhbCApID8gRkFMU0UgOiBUUlVFOwppZiggaXNzZXQoJHBhcmFtc1snZmlsdGVyJ10pICkgewoJLy8gb3B0aW9uYWxseSBkaXNwbGF5IHRoZSBmaWx0ZXIgZm9ybQoJJHRwbC0+YXNzaWduKCdwcm9tcHRfZmlsdGVyJywkdGhpcy0+TGFuZygnZmlsdGVyJykpOyAvLyBkZXByZWNhdGVkCgkkdHBsLT5hc3NpZ24oJ2lucHV0X2ZpbHRlcicsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2ZpbHRlcicsJGZpbHRlciwxNSkpOyAvLyBkZXByZWNhdGVkCgkkdHBsLT5hc3NpZ24oJ2lucHV0X3N1Ym1pdCcsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnaW5wdXRfc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsgLy8gZGVwcmVjYXRlZAogICAgJHRwbC0+YXNzaWduKCdoaWRkZW5fcGFyYW1zJyxudWxsKTsgLy8gZGVwcmVjYXRlZAoJdW5zZXQoICRwYXJhbXNbJ2lucHV0X2ZpbHRlciddLCAkcGFyYW1zWydpbnB1dF9zdWJtaXQnXSApOwoJJHRwbC0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHBhcmFtcykpOwoJJHRwbC0+YXNzaWduKCdlbmRmb3JtJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKICAgICRkb19xdWVyeSA9IFRSVUU7Cn0KCmlmKCAkZG9fcXVlcnkgKSB7Ci8vIGdldCByZWFkeSBmb3IgYXJyYXkgcHJvY2Vzc2luZwogICAgJHJvd2FycmF5ID0gYXJyYXkoKTsKICAgICR2YWxpZF9jYXRzID0gJHZhbGlkX2NhdF9uYW1lcyA9IGFycmF5KCk7CgogICAgaWYoICRjYXRlZ29yeV9uYW1lID09ICdhbGwnICkgewogICAgICAgIC8vCiAgICAgICAgLy8gaGFuZGxlIGRpc3BsYXkgYWxsIGxpc3RhYmxlIGNhdGVnb3JpZXMKICAgICAgICAvLwoKICAgICAgICAvLyBnZXQgYSBsaXN0IG9mIHRoZSBjYXRlZ29yaWVzIHdlJ3JlIGFsbG93ZWQgdG8gc2VlLgogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzIFdIRVJFIHVwbG9hZF9jYXRlZ29yeV9saXN0YWJsZSc7CiAgICAgICAgJGNhdHMgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgICAgaWYoIGlzX2FycmF5KCRjYXRzKSApIHsKICAgICAgICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGNhdHMpOyAkaSsrICkgewogICAgICAgICAgICAgICAgJG9uZWNhdCA9ICRjYXRzWyRpXTsKICAgICAgICAgICAgICAgIGlmKCAhJG9uZWNhdFsndXBsb2FkX2NhdGVnb3J5X2xpc3RhYmxlJ10gKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgICBpZiggJHRoaXMtPl9DaGVja0Rvd25sb2FkU2VjdXJpdHkoJG9uZWNhdCkgKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gd2UncmUgYWxsb3dlZCB0byB2aWV3IGZpbGVzIGluIHRoaXMgY2F0ZWdvcnkuCiAgICAgICAgICAgICAgICAgICAgLy8gY2FzdCB0byBpbnQsIGp1c3QgZm9yIHBhcmFub2lhIHB1cnBvc2VzLgogICAgICAgICAgICAgICAgICAgICR2YWxpZF9jYXRzW10gPSAoaW50KSRvbmVjYXRbJ3VwbG9hZF9jYXRlZ29yeV9pZCddOwogICAgICAgICAgICAgICAgICAgICR2YWxpZF9jYXRfbmFtZXNbKGludCkkb25lY2F0Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXV0gPSAkb25lY2F0Wyd1cGxvYWRfY2F0ZWdvcnlfbmFtZSddOwogICAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAgIGlmKCAkb25lY2F0Wyd1cGxvYWRfY2F0ZWdvcnlfc2Nhbm5hYmxlJ10gKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gbWF5IGFzIHdlbGwgc2NhbiBpdC4KICAgICAgICAgICAgICAgICAgICAkZGlyID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkb25lY2F0Wyd1cGxvYWRfY2F0ZWdvcnlfcGF0aCddKTsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+U21hcnRTY2FuRGlyZWN0b3J5KCRvbmVjYXRbJ3VwbG9hZF9jYXRlZ29yeV9pZCddLCRkaXIpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQogICAgZWxzZSB7CiAgICAgICAgLy8KICAgICAgICAvLyBEZWFsaW5nIHdpdGggYSBzcGVjaWZpYyBjYXRlZ29yeQogICAgICAgIC8vCiAgICAgICAgJGNhdGVnb3J5ID0gYXJyYXkoKTsKICAgICAgICB0cnkgewogICAgICAgICAgICAkY2F0ZWdvcnkgPSB1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnkoICRjYXRlZ29yeV9uYW1lICk7CiAgICAgICAgICAgICRjYXRlZ29yeV9uYW1lID0gJGNhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfbmFtZSddOwogICAgICAgICAgICAkdHBsLT5hc3NpZ24oJ2NhdGVnb3J5X25hbWUnLCRjYXRlZ29yeV9uYW1lKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnQ291bGQgbm90IGdldCBjYXRlZ29yeSBpbmZvcm1hdGlvbiBmb3IgdXBsb2FkcyBjYXRlZ29yeSAnLiRjYXRlZ29yeV9uYW1lKTsKICAgICAgICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcgKCdlcnJvcl9jYXRlZ29yeW5vdGZvdW5kJykpOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQoKICAgICAgICAvLyBpZiB0aGUgY2F0ZWdvcnkgaXNuJ3QgbGlzdGFibGUsIHdlIGNhbiBzdG9wIGhlcmUKICAgICAgICBpZiggJGNhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfbGlzdGFibGUnXSA9PSAwICkgcmV0dXJuOwogICAgICAgICRjYXRlZ29yeV9pZCA9IChpbnQpICRjYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X2lkJ107CgogICAgICAgIC8vIGNoZWNrIGZvciBwZXJtaXNzaW9uLCBpZiBGRVUgbW9kdWxlIGV4aXN0cywgYW5kIHRoZQogICAgICAgIC8vIHVwbG9hZHMgZ3JvdXBsaXN0IGlzCiAgICAgICAgLy8gbm90IG51bGwsIGFuZCB0aGUgcmV0dXJuaWQgaXMgbm90IGVtcHR5ICh3ZSdyZSBvbiB0aGUgZnJvbnRlbmQpCiAgICAgICAgJHJlc3VsdCA9ICR0aGlzLT5fQ2hlY2tEb3dubG9hZFNlY3VyaXR5KCRjYXRlZ29yeSk7CiAgICAgICAgaWYoICEkcmVzdWx0ICkgewogICAgICAgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnZXJyb3JfcGVybWlzc2lvbmRlbmllZCcpICk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CgogICAgICAgIC8vIHdlJ3JlIGdvbm5hIHNjYW4gdGhlIGRpcmVjdG9yeSBhbmQgc2VlIGlmIGFueWJvZHkgdXBsb2FkZWQKICAgICAgICAvLyBhbnkgZmlsZXMgdmlhIGZ0cCBvciBzY3Agb3IgYW55dGhpbmcgc2lsbHkuCiAgICAgICAgJHZhbGlkX2NhdHNbXSA9ICRjYXRlZ29yeV9pZDsKICAgICAgICAkdmFsaWRfY2F0ZWdvcnlfbmFtZXNbJGNhdGVnb3J5X2lkXSA9ICRjYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X25hbWUnXTsKICAgICAgICAkY2F0cGF0aDEgPSAkdGhpcy0+Z2V0Q2F0ZWdvcnlQYXRoRnJvbUlEKCRjYXRlZ29yeV9pZCk7CiAgICAgICAgJGRpciA9ICR0aGlzLT5fY2F0ZWdvcnlQYXRoKCAkY2F0cGF0aDEgKTsKICAgICAgICBpZiggJGNhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfc2Nhbm5hYmxlJ10gKSAkdGhpcy0+U21hcnRTY2FuRGlyZWN0b3J5KCAkY2F0ZWdvcnlfaWQsICRkaXIgKTsKICAgIH0KCiAgICAkbWF0Y2hlcyA9IDA7CiAgICBpZiggJGRvX3F1ZXJ5ID09IHRydWUgKSB7CiAgICAgICAgJGRicmVzdWx0ID0gZmFsc2U7CiAgICAgICAgJHNvcnRfZmllbGRfaWQgPSAkZmllbGRfaWQgPSAkZmllbGRfaWQyID0gbnVsbDsKICAgICAgICAkd2hlcmUgPSAkam9pbnMgPSAkcXBhcm1zID0gYXJyYXkoKTsKCiAgICAgICAgaWYoICRzb3J0X2ZpZWxkICE9IG51bGwgfHwgKCRmaWVsZF9uYW1lICE9IG51bGwgJiYgJGZpZWxkX3ZhbCAhPSBudWxsKSApIHsKICAgICAgICAgICAgJGRlZm5zID0gdXBsb2Fkc191dGlsczo6Z2V0X2ZpZWxkZGVmcygpOwogICAgICAgICAgICBmb3JlYWNoKCAkZGVmbnMgYXMgJGlkID0+ICRyZWMgKSB7CiAgICAgICAgICAgICAgICBpZiggJGZpZWxkX25hbWUgJiYgISRmaWVsZF9pZCAmJiAkZmllbGRfbmFtZSA9PSAkcmVjWyduYW1lJ10gKSAkZmllbGRfaWQgPSAkcmVjWydpZCddOwogICAgICAgICAgICAgICAgaWYoICRmaWVsZF9uYW1lMiAmJiAhJGZpZWxkX2lkMiAmJiAkZmllbGRfbmFtZTIgPT0gJHJlY1snbmFtZSddICkgJGZpZWxkX2lkMiA9ICRyZWNbJ2lkJ107CiAgICAgICAgICAgICAgICBpZiggJHNvcnRfZmllbGQgJiYgISRzb3J0X2ZpZWxkX2lkICYmICRzb3J0X2ZpZWxkID09ICRyZWNbJ25hbWUnXSApICRzb3J0X2ZpZWxkX2lkID0gJHJlY1snaWQnXTsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiggJHNvcnRfZmllbGQgJiYgISRzb3J0X2ZpZWxkX2lkICkgewogICAgICAgICAgICAgICAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnQ291bGQgbm90IGdldCBjYXRlZ29yeSBpbmZvcm1hdGlvbiBmb3IgZmllbGQgJy4kc29ydF9maWVsZCk7CiAgICAgICAgICAgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+TGFuZyAoJ2Vycm9yX2ZpZWxkbm90Zm91bmQnKSk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgaWYoICRmaWVsZF9uYW1lICYmICEkZmllbGRfaWQgKSB7CiAgICAgICAgICAgICAgICBhdWRpdCgnJywkdGhpcy0+R2V0TmFtZSgpLCdDb3VsZCBub3QgZ2V0IGNhdGVnb3J5IGluZm9ybWF0aW9uIGZvciBmaWVsZCAnLiRmaWVsZF9uYW1lKTsKICAgICAgICAgICAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSAoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nICgnZXJyb3JfZmllbGRub3Rmb3VuZCcpKTsKICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgfQogICAgICAgICAgICBpZiggJGZpZWxkX25hbWUyICYmICEkZmllbGRfaWQyICkgewogICAgICAgICAgICAgICAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnQ291bGQgbm90IGdldCBjYXRlZ29yeSBpbmZvcm1hdGlvbiBmb3IgZmllbGQgJy4kZmllbGRfbmFtZTIpOwogICAgICAgICAgICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcgKCdlcnJvcl9maWVsZG5vdGZvdW5kJykpOwogICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAkc3FsID0gIlNFTEVDVCBTUUxfQ0FMQ19GT1VORF9ST1dTIFUuKixDLnVwbG9hZF9jYXRlZ29yeV9kZWxldGFibGUsRC5udW0gQVMgZG93bmxvYWRzCiAgICAgICAgICAgIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzIFUKICAgICAgICAgICAgTEVGVCBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzIEMKICAgICAgICAgICAgT04gVS51cGxvYWRfY2F0ZWdvcnlfaWQgPSBDLnVwbG9hZF9jYXRlZ29yeV9pZAogICAgICAgICAgICBMRUZUIEpPSU4gKFNFTEVDVCBjb3VudChkb3dubG9hZF9pZCkgQVMgbnVtLGZpbGVfaWQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfZG93bmxvYWRzIEdST1VQIEJZIGZpbGVfaWQpIEFTIEQKICAgICAgICAgICAgT04gVS51cGxvYWRfaWQgPSBELmZpbGVfaWQiOwoKICAgICAgICAkd2hlcmVbXSA9ICdVLnVwbG9hZF9jYXRlZ29yeV9pZCBJTiAoJy5pbXBsb2RlKCcsJywkdmFsaWRfY2F0cykuJyknOwoKICAgICAgICBpZiggJHNvcnRfZmllbGRfaWQgKSB7CiAgICAgICAgICAgICRqb2luc1tdIC49IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfZmllbGR2YWxzIGZ2MCBPTiBmdjAudXBsb2FkX2lkID0gVS51cGxvYWRfaWQgQU5EIGZ2MC5mbGRfaWQgPSA/IjsKICAgICAgICAgICAgJHFwYXJtc1tdID0gJHNvcnRfZmllbGRfaWQ7CiAgICAgICAgfQogICAgICAgIGlmICgkZmllbGRfaWQgPiAwICYmICRmaWVsZF92YWwgIT0gbnVsbCkgewogICAgICAgICAgICAkam9pbnNbXSAuPSBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2ZpZWxkdmFscyBmdiBPTiBmdi51cGxvYWRfaWQgPSBVLnVwbG9hZF9pZCBBTkQgZnYuZmxkX2lkID0gPyI7CiAgICAgICAgICAgICRxcGFybXNbXSA9ICRmaWVsZF9pZDsKICAgICAgICAgICAgJHdoZXJlW10gPSAnZnYudmFsdWUgTElLRSA/JzsKICAgICAgICAgICAgJHFwYXJtc1tdID0gJGZpZWxkX3ZhbDsKICAgICAgICB9CiAgICAgICAgaWYgKCRmaWVsZF9pZDIgIT0gbnVsbCAmJiAkZmllbGRfdmFsMiAhPSBudWxsKSB7CiAgICAgICAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19maWVsZHZhbHMgZnYyIE9OIGZ2Mi51cGxvYWRfaWQgPSBVLnVwbG9hZF9pZCBBTkQgZnYyLmZsZF9pZCA9ID8iOwogICAgICAgICAgICAkcXBhcm1zW10gPSAkZmllbGRfaWQyOwogICAgICAgICAgICAkd2hlcmVbXSA9ICdmdjIudmFsdWUgTElLRSA/JzsKICAgICAgICAgICAgJHFwYXJtc1tdID0gJGZpZWxkX3ZhbDsKICAgICAgICB9CgogICAgICAgIGlmKCAka2V5ICE9IG51bGwgKSB7CiAgICAgICAgICAgICR3aGVyZVtdID0gJ1UudXBsb2FkX2tleSA9ID8nOwogICAgICAgICAgICAkcXBhcm1zW10gPSAka2V5OwogICAgICAgIH0KICAgICAgICBpZiggJGFkanVzdGVkX2ZpbHRlciAhPSBudWxsICkgewogICAgICAgICAgICAkd2hlcmVbXSA9ICdVLnVwbG9hZF9uYW1lIExJS0UgPyc7CiAgICAgICAgICAgICRxcGFybXNbXSA9ICRhZGp1c3RlZF9maWx0ZXI7CiAgICAgICAgfQoKICAgICAgICAvLyBxdWVyeSBhc3NlbWJseQogICAgICAgIGlmKCBjb3VudCgkam9pbnMpICkgJHNxbCAuPSAnIElOTkVSIEpPSU4gJy5pbXBsb2RlKCcgSU5ORVIgSk9JTiAnLCRqb2lucyk7CiAgICAgICAgaWYoIGNvdW50KCR3aGVyZSkgKSAkc3FsIC49ICcgV0hFUkUgJy5pbXBsb2RlKCcgQU5EICcsJHdoZXJlKTsKICAgICAgICAkc3FsIC49ICcgR1JPVVAgQlkgVS51cGxvYWRfaWQgJy4kb3JkZXJieTsKICAgICAgICAvLyBnZXQgdGhlIHRvdGFsIG51bWJlciBvZiByb3dzCiAgICAgICAgLy8gJG1hdGNoZXMgPSAkZGItPkdldE9uZSgkcXVlcnkxLCAkcXBhcm1zKTsKCiAgICAgICAgLy8gZG8gb3VyIHF1ZXJ5LgogICAgICAgICRzdGFydG9mZnNldCA9ICgkcGFnZW51bS0xKSAqICRwYWdlbGltaXQ7CiAgICAgICAgJGRicmVzdWx0ID0gJGRiLT5TZWxlY3RMaW1pdCgkc3FsLCRwYWdlbGltaXQsJHN0YXJ0b2Zmc2V0LCRxcGFybXMpOwoKICAgICAgICAvLyBnZXQgdG90YWwgbWF0Y2hlcyBhbmQgY2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgcGFnZXMKICAgICAgICAkbWF0Y2hlcyA9IChpbnQpJGRiLT5HZXRPbmUoJ1NFTEVDVCBGT1VORF9ST1dTKCknKTsKICAgICAgICAkbnVtcGFnZXMgPSBjZWlsKCRtYXRjaGVzIC8gJHBhZ2VsaW1pdCk7CgogICAgICAgIC8vIHNldHVwIHN0cmluZ3MKICAgICAgICAkdHBsLT5hc3NpZ24oJ251bXBhZ2VzJywkbnVtcGFnZXMpOwogICAgICAgICR0cGwtPmFzc2lnbigncGFnZW51bScsJHBhZ2VudW0pOwogICAgICAgICR0cGwtPmFzc2lnbigncGFnZWxpbWl0JywkcGFnZWxpbWl0KTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ21hdGNoZXMnLCAkbWF0Y2hlcyApOwogICAgICAgIGlmKCAkcGFnZW51bSA+IDEgKSB7CiAgICAgICAgICAgICRwYXJtcyA9ICRwYXJhbXM7CiAgICAgICAgICAgICRwYXJtc1sncGFnZW51bSddID0gMTsKICAgICAgICAgICAgJHRwbC0+YXNzaWduKCdmaXJzdHBhZ2VfdXJsJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwnJywkcGFybXMsJycsdHJ1ZSkpOwogICAgICAgICAgICAkcGFybXMgPSAkcGFyYW1zOwogICAgICAgICAgICAkcGFybXNbJ3BhZ2VudW0nXSA9ICRwYWdlbnVtIC0gMTsKICAgICAgICAgICAgJHRwbC0+YXNzaWduKCdwcmV2cGFnZV91cmwnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCcnLCRwYXJtcywnJyx0cnVlKSk7CiAgICAgICAgfQogICAgICAgIGlmKCAkcGFnZW51bSA8ICRudW1wYWdlcyApIHsKICAgICAgICAgICAgJHBhcm1zID0gJHBhcmFtczsKICAgICAgICAgICAgJHBhcm1zWydwYWdlbnVtJ10gPSAkbnVtcGFnZXM7CiAgICAgICAgICAgICR0cGwtPmFzc2lnbignbGFzdHBhZ2VfdXJsJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwnJywkcGFybXMsJycsdHJ1ZSkpOwoKICAgICAgICAgICAgJHBhcm1zID0gJHBhcmFtczsKICAgICAgICAgICAgJHBhcm1zWydwYWdlbnVtJ10gPSAkcGFnZW51bSArIDE7CiAgICAgICAgICAgICR0cGwtPmFzc2lnbignbmV4dHBhZ2VfdXJsJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwnJywkcGFybXMsJycsdHJ1ZSkpOwogICAgICAgIH0KICAgICAgICAkdHBsLT5hc3NpZ24oJ2ZpcnN0cGFnZScsJHRoaXMtPkxhbmcoJ2ZpcnN0cGFnZScpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2ZpcnN0cGFnZV9hcnJvdycsJHRoaXMtPkxhbmcoJ2ZpcnN0cGFnZV9hcnJvdycpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3ByZXZwYWdlJywkdGhpcy0+TGFuZygncHJldnBhZ2UnKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdwcmV2cGFnZV9hcnJvdycsJHRoaXMtPkxhbmcoJ3ByZXZwYWdlX2Fycm93JykpOwogICAgICAgICR0cGwtPmFzc2lnbignbmV4dHBhZ2UnLCR0aGlzLT5MYW5nKCduZXh0cGFnZScpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ25leHRwYWdlX2Fycm93JywkdGhpcy0+TGFuZygnbmV4dHBhZ2VfYXJyb3cnKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdsYXN0cGFnZScsJHRoaXMtPkxhbmcoJ2xhc3RwYWdlJykpOwogICAgICAgICR0cGwtPmFzc2lnbignbGFzdHBhZ2VfYXJyb3cnLCR0aGlzLT5MYW5nKCdsYXN0cGFnZV9hcnJvdycpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3BhZ2V0ZXh0JywkdGhpcy0+TGFuZygncGFnZScpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ29mdGV4dCcsJHRoaXMtPkxhbmcoJ29mJykpOwogICAgICAgICR0cGwtPmFzc2lnbignbWF0Y2hlc3RleHQnLCR0aGlzLT5MYW5nKCdtYXRjaGVzZm91bmQnKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdjYXRlZ29yeScsJHRoaXMtPkxhbmcoJ2NhdGVnb3J5JykpOwogICAgICAgICR0cGwtPmFzc2lnbignaWQnLCR0aGlzLT5MYW5nKCdpZCcpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2RlbGV0ZScsJHRoaXMtPkxhbmcoJ2RlbGV0ZScpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2FyZXlvdXN1cmUnLCR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOwogICAgICAgICR0cGwtPmFzc2lnbignbmFtZScsJHRoaXMtPkxhbmcoJ25hbWUnKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdkYXRlJywkdGhpcy0+TGFuZygnZGF0ZScpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2F1dGhvcicsJHRoaXMtPkxhbmcoJ2F1dGhvcicpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3NpemUnLCR0aGlzLT5MYW5nKCdzaXpla2InKSk7CiAgICAgICAgJHRwbC0+YXNzaWduKCdkZXRhaWxzJywkdGhpcy0+TGFuZygnZGV0YWlscycpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3N1bW1hcnknLCR0aGlzLT5MYW5nKCdzdW1tYXJ5JykpOwogICAgICAgICR0cGwtPmFzc2lnbignZGVzY3JpcHRpb24nLCR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbicpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3RodW1ibmFpbCcsJHRoaXMtPkxhbmcoJ3RodW1ibmFpbCcpKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2ljb24nLCR0aGlzLT5MYW5nKCdpY29uJykpOwogICAgICAgICR0cGwtPmFzc2lnbignaW1hZ2UnLCR0aGlzLT5MYW5nKCdpbWFnZScpKTsKCiAgICAgICAgaWYgKCEkZGJyZXN1bHQpICR0cGwtPmFzc2lnbiAoJ21lc3NhZ2UnLCAkdGhpcy0+TGFuZyAoJ2Vycm9yX25vZmlsZXMnKSk7CS8vIG1heWJlIHRoZXJlIGFyZSBubyBmaWxlcyBpbiB0aGlzIGNhdGVnb3J5CgogICAgICAgIC8vIGdldCBhbGwgb2YgdGhlIGZpZWxkdmFscyBmb3IgdGhlIHB1YmxpYyBmaWVsZCBkZWZpbml0aW9ucy4KICAgICAgICAkZmllbGRkZWZzID0gdXBsb2Fkc191dGlsczo6Z2V0X2ZpZWxkZGVmcygpOwogICAgICAgICRmaWVsZHZhbHMgPSBhcnJheSgpOwogICAgICAgIGlmKCBpc19hcnJheSgkZmllbGRkZWZzKSAmJiBjb3VudCgkZmllbGRkZWZzKSApIHsKICAgICAgICAgICAgJGZpZWxkZGVmcyA9IFxjZ2VfYXJyYXk6OnRvX2hhc2goJGZpZWxkZGVmcywnaWQnKTsKICAgICAgICAgICAgJGlkbGlzdCA9IGFycmF5KCk7CiAgICAgICAgICAgIHdoaWxlKCAhJGRicmVzdWx0LT5FT0YgKSB7CiAgICAgICAgICAgICAgICAkcm93ID0gJGRicmVzdWx0LT5maWVsZHM7CiAgICAgICAgICAgICAgICBpZiggIWluX2FycmF5KChpbnQpJHJvd1sndXBsb2FkX2lkJ10sJGlkbGlzdCkgKSAkaWRsaXN0W10gPSAoaW50KSRyb3dbJ3VwbG9hZF9pZCddOwogICAgICAgICAgICAgICAgJGRicmVzdWx0LT5Nb3ZlTmV4dCgpOwogICAgICAgICAgICB9CiAgICAgICAgICAgICRkYnJlc3VsdC0+TW92ZUZpcnN0KCk7CgogICAgICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIHVwbG9hZF9pZCxmbGRfaWQsdmFsdWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGR2YWxzCiAgICAgICAgICAgICAgV0hFUkUgdXBsb2FkX2lkIElOICgnLmltcGxvZGUoJywnLCRpZGxpc3QpLicpIE9SREVSIEJZIHVwbG9hZF9pZCwgZmxkX2lkJzsKICAgICAgICAgICAgJGZ2X2RiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICAgICAgICAgaWYoIGlzX2FycmF5KCRmdl9kYnIpICYmIGNvdW50KCRmdl9kYnIpICkgewogICAgICAgICAgICAgICAgZm9yZWFjaCggJGZ2X2RiciBhcyAkcm93ICkgewogICAgICAgICAgICAgICAgICAgICR1cGxvYWRfaWQgPSAkcm93Wyd1cGxvYWRfaWQnXTsKICAgICAgICAgICAgICAgICAgICBpZiggIWlzc2V0KCRmaWVsZGRlZnNbJHJvd1snZmxkX2lkJ11dKSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgICAgIGlmKCAhJGZpZWxkZGVmc1skcm93WydmbGRfaWQnXV1bJ3B1YmxpYyddICkgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgaWYoICFpc3NldCgkZmllbGR2YWxzWyR1cGxvYWRfaWRdKSApICRmaWVsZHZhbHNbJHVwbG9hZF9pZF0gPSBhcnJheSgpOwogICAgICAgICAgICAgICAgICAgICRyZWMgPSAkZmllbGRkZWZzWyRyb3dbJ2ZsZF9pZCddXTsKICAgICAgICAgICAgICAgICAgICAkcmVjWyd2YWx1ZSddID0gJHJvd1sndmFsdWUnXTsKICAgICAgICAgICAgICAgICAgICAkZmllbGR2YWxzWyR1cGxvYWRfaWRdWyRyZWNbJ25hbWUnXV0gPSAkcmVjOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBkbyB0aGUgbGlzdAogICAgICAgIC8vIG5vdGU6IHRoaXMgY29kZSBzaG91bGQgY2hhbmdlIHRvIHVzZSB1cGxvYWRfaGVscGVyIGFuZCB1cGxvYWQgY2xhc3Nlcy4KICAgICAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKICAgICAgICAgICAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcyAoKTsKCiAgICAgICAgICAgIC8vIGNoZWNrIGZpbGUgcGVybWlzc2lvbnMuCiAgICAgICAgICAgICRvbmVyb3ctPnZpZXdhYmxlID0gJHRoaXMtPl9DaGVja0ZpbGVEb3dubG9hZFNlY3VyaXR5KCRyb3cpOwogICAgICAgICAgICBmb3JlYWNoKCAkcm93IGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICAgICAgICAgICAgJG9uZXJvdy0+JGtleSA9ICR2YWx1ZTsKICAgICAgICAgICAgfQoKICAgICAgICAgICAgJG9uZXJvdy0+c3VtbWFyeSA9ICRyb3dbJ3VwbG9hZF9zdW1tYXJ5J107CiAgICAgICAgICAgICRvbmVyb3ctPmF1dGhvciA9ICRyb3dbJ3VwbG9hZF9hdXRob3InXTsKICAgICAgICAgICAgJG9uZXJvdy0+ZGVzY3JpcHRpb24gPSAkcm93Wyd1cGxvYWRfZGVzY3JpcHRpb24nXTsKICAgICAgICAgICAgJG9uZXJvdy0+aXAgPSAkcm93Wyd1cGxvYWRfaXAnXTsKICAgICAgICAgICAgJG9uZXJvdy0+c2l6ZSA9IGludHZhbCgkcm93Wyd1cGxvYWRfc2l6ZSddIC8gMTAyNC4wICsgMC41KTsKICAgICAgICAgICAgJG9uZXJvdy0+ZGF0ZSA9ICRyb3dbJ3VwbG9hZF9kYXRlJ107CgogICAgICAgICAgICAkb25lcm93LT5jYXRlZ29yeSA9ICRjYXRlZ29yeV9uYW1lOwogICAgICAgICAgICBpZiggJGNhdGVnb3J5X25hbWUgPT0gJ2FsbCcgKSB7CiAgICAgICAgICAgICAgICAkY2lkID0gJHJvd1sndXBsb2FkX2NhdGVnb3J5X2lkJ107CiAgICAgICAgICAgICAgICBpZiggaXNzZXQoJHZhbGlkX2NhdF9uYW1lc1skY2lkXSkgKSB7CiAgICAgICAgICAgICAgICAgICAgJG9uZXJvdy0+Y2F0ZWdvcnkgPSAkdmFsaWRfY2F0X25hbWVzWyRjaWRdOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CgogICAgICAgICAgICAvLyB0aHVtYm5haWwKICAgICAgICAgICAgJGNhdHBhdGggPSAkdGhpcy0+Z2V0Q2F0ZWdvcnlQYXRoRnJvbUZpbGVJRCgkcm93Wyd1cGxvYWRfaWQnXSk7CiAgICAgICAgICAgIGlmKCAhZW1wdHkoJHJvd1sndXBsb2FkX3RodW1ibmFpbCddKSApIHsKICAgICAgICAgICAgICAgICR0bmZpbGUgPSAkdGhpcy0+X2NhdGVnb3J5UGF0aCggJGNhdHBhdGguRElSRUNUT1JZX1NFUEFSQVRPUi4kcm93Wyd1cGxvYWRfdGh1bWJuYWlsJ10gKTsKICAgICAgICAgICAgICAgIGlmKCBmaWxlX2V4aXN0cyggJHRuZmlsZSApICkgewogICAgICAgICAgICAgICAgICAgICR0bnVybCA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uIi8iLiRjYXRwYXRoLiIvIi4kcm93Wyd1cGxvYWRfdGh1bWJuYWlsJ107CiAgICAgICAgICAgICAgICAgICAgJG9uZXJvdy0+dGh1bWJuYWlsX3VybCA9ICR0bnVybDsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgLy8gbm93IGhhbmRsZSB0aGUgZGV0YWlsIGxpbmssIGRldGFpbCB1cmwKICAgICAgICAgICAgJHBhcm1zID0gJHBhcmFtczsKICAgICAgICAgICAgJHBhcm1zWyd1cGxvYWRfaWQnXSA9ICRyb3dbJ3VwbG9hZF9pZCddOwogICAgICAgICAgICAkcHJldHR5dXJsID0gInVwbG9hZHMvZmlsZS8kZGV0YWlscGFnZS8iLiRyb3dbJ3VwbG9hZF9pZCddLicvJy51cmxlbmNvZGUoJHJvd1sndXBsb2FkX25hbWUnXSk7CiAgICAgICAgICAgICRvbmVyb3ctPmRldGFpbGxpbmsgPQkkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rICgkaWQsICRkZXRhaWxwYWdlLCAnZGV0YWlsJywgJHRoaXMtPkxhbmcoJ2RldGFpbHMnKSwgJHBhcm1zLCAnJywgZmFsc2UsIHRydWUsICcnLCBmYWxzZSwgJHByZXR0eXVybCApOwogICAgICAgICAgICAkb25lcm93LT5kZXRhaWx1cmwgPSAkdGhpcy0+Q3JlYXRlRnJvbnRlbmRMaW5rICgkaWQsICRkZXRhaWxwYWdlLCAnZGV0YWlsJywgJHRoaXMtPkxhbmcoJ2RldGFpbHMnKSwgJHBhcm1zLCAnJywgdHJ1ZSwgZmFsc2UsICcnLCBmYWxzZSwgJHByZXR0eXVybCApOwoKICAgICAgICAgICAgLy8gZmlsZXR5cGUKICAgICAgICAgICAgJGZpbGV0eXBlID0gJHRoaXMtPl9HZXRGaWxlVHlwZSggJHJvd1sndXBsb2FkX25hbWUnXSApOwogICAgICAgICAgICAkaW1ncGF0aCA9ICR0aGlzLT5HZXRNb2R1bGVVcmxQYXRoKCkuJy9pbWFnZXMvJzsKICAgICAgICAgICAgJG9uZXJvdy0+aWNvbnVybCA9ICRpbWdwYXRoLid1bmtub3duLnBuZyc7CiAgICAgICAgICAgIGlmKCAkZmlsZXR5cGUgIT09IGZhbHNlICkgewogICAgICAgICAgICAgICAgJG9uZXJvdy0+aWNvbnVybCA9ICRpbWdwYXRoLiRmaWxldHlwZVsnaW1hZ2UnXTsKICAgICAgICAgICAgICAgICRvbmVyb3ctPmZpbGV0eXBlID0gJGZpbGV0eXBlOwogICAgICAgICAgICB9CgogICAgICAgICAgICBpZiggJG9uZXJvdy0+dmlld2FibGUgKSB7CiAgICAgICAgICAgICAgICAvLyBmaWxlcyB0aGF0IGFyZSB2aWV3YWJsZSBoYXZlIHRoZSBkb3dubG9hZCwgc2VuZGZpbGUsIGFuZCBkZWxldGUgbGlua3MgZXRjLgogICAgICAgICAgICAgICAgLy8gb3RoZXIgZmlsZXMgeW91IGNhbiBzZWUgdGhlIGluZm9ybWF0aW9uIGFib3V0LCBidXQgdGhhdCdzIGl0LgogICAgICAgICAgICAgICAgJG9uZXJvdy0+c2VuZGZpbGVfdXJsID0JJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ3NlbmRmaWxlJywgJHNlbmRmaWxlcGFnZSwgJycsYXJyYXkoJ3VwbG9hZF9pZCc9PiRyb3dbJ3VwbG9hZF9pZCddKSwnJywgdHJ1ZSwgdHJ1ZSwgJycsIGZhbHNlKTsKICAgICAgICAgICAgICAgICRvbmVyb3ctPmRvd25sb2FkX3VybCA9CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ2dldGZpbGUnLCAkZGV0YWlscGFnZSwgJycsIGFycmF5ICgndXBsb2FkX2lkJyA9PiAkcm93Wyd1cGxvYWRfaWQnXSksICcnLCB0cnVlLCB0cnVlLCAnJywgZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5fZ2V0RmlsZVVSTCgkcm93Wyd1cGxvYWRfaWQnXSwkcm93Wyd1cGxvYWRfbmFtZSddKSk7CiAgICAgICAgICAgICAgICAkb25lcm93LT5uYW1lbGluayA9CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ2dldGZpbGUnLCAkZGV0YWlscGFnZSwgJHJvd1sndXBsb2FkX25hbWUnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkgKCd1cGxvYWRfaWQnID0+ICRyb3dbJ3VwbG9hZF9pZCddKSwgJycsIGZhbHNlLCB0cnVlLCAnJywgZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5fZ2V0RmlsZVVSTCgkcm93Wyd1cGxvYWRfaWQnXSwkcm93Wyd1cGxvYWRfbmFtZSddKSk7CiAgICAgICAgICAgICAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2RlbGV0ZScsMCkgPT0gMSAmJiAkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfZGVsZXRhYmxlJ10gPT0gMSkgewogICAgICAgICAgICAgICAgICAgICRvbmVyb3ctPmRlbGV0ZV91cmwgPQkkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnZGVsZXRlX2ZpbGUnLCAkZGV0YWlscGFnZSwgJycsIGFycmF5KCd1cGxvYWRfaWQnID0+ICRyb3dbJ3VwbG9hZF9pZCddKSwgJycsIHRydWUgKTsKICAgICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgICBpZiggaXNzZXQoICRyb3dbJ3VwbG9hZF9zdW1tYXJ5J10gKSAmJiAkcm93Wyd1cGxvYWRfc3VtbWFyeSddICE9ICIiICkgewogICAgICAgICAgICAgICAgICAgICRvbmVyb3ctPnN1bW1hcnlsaW5rID0KICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ2dldGZpbGUnLCAkZGV0YWlscGFnZSwgJHJvd1sndXBsb2FkX3N1bW1hcnknXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5ICgndXBsb2FkX2lkJyA9PiAkcm93Wyd1cGxvYWRfaWQnXSksICcnLCBmYWxzZSwgdHJ1ZSwgJycsIGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPl9nZXRGaWxlVVJMKCRyb3dbJ3VwbG9hZF9pZCddLCRyb3dbJ3VwbG9hZF9uYW1lJ10pKTs7CiAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgLy8gb3JpZ2luYWwgZmlsZSBVUkwKICAgICAgICAgICAgICAgICRvbmVyb3ctPm9yaWdmaWxlX3VybCA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uIi8kY2F0cGF0aC8iLiRyb3dbJ3VwbG9hZF9uYW1lJ107CgogICAgICAgICAgICAgICAgaWYoICRmaWxldHlwZXMgIT0gJycgKSB7CiAgICAgICAgICAgICAgICAgICAgJHJlcyA9IGFycmF5X3NlYXJjaCggJGZpbGV0eXBlWyduYW1lJ10sIGV4cGxvZGUoJywnLCRmaWxldHlwZXMgKSApOwogICAgICAgICAgICAgICAgICAgIGlmKCAkcmVzID09PSBOVUxMIHx8ICRyZXMgPT09IEZBTFNFICkgY29udGludWU7CS8vIHdlIGhhdmUgZm91bmQgYSBmaWxlIHRoYXQgaXNuJ3QgYSB0eXBlIHdlIHJlcXVlc3RlZC4KICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSAvLyB2aWV3YWJsZQoKICAgICAgICAgICAgLy8gZ2V0IGV4dHJhIGZpZWxkcy4KICAgICAgICAgICAgaWYoIGlzc2V0KCRmaWVsZHZhbHNbJHJvd1sndXBsb2FkX2lkJ11dKSApICRvbmVyb3ctPmZpZWxkcyA9ICRmaWVsZHZhbHNbJHJvd1sndXBsb2FkX2lkJ11dOwoKICAgICAgICAgICAgJHJvd2FycmF5W10gPSAkb25lcm93OwogICAgICAgIH0KCiAgICAgICAgJHRwbC0+YXNzaWduICgnaXRlbXMnLCAkcm93YXJyYXkpOwogICAgICAgICR0cGwtPmFzc2lnbiAoJ2l0ZW1jb3VudCcsIGNvdW50KCRyb3dhcnJheSkpOwogICAgfQp9CgovLyBEaXNwbGF5IHRoZSBwb3B1bGF0ZWQgdGVtcGxhdGUKJHRwbC0+ZGlzcGxheSgpOwo=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uICgnTWFuYWdlIFVwbG9hZHMnKSkgewogIC8vIGdldCB0aGUgY3VycmVudCBjYXRlZ29yeSBmb3IgdGhlIGZpbHRlcgogICRjdXJjYXRlZ29yeSA9IChpc3NldCAoJHBhcmFtc1snY3VyY2F0ZWdvcnknXSkgPyAkcGFyYW1zWydjdXJjYXRlZ29yeSddIDogJycpOwogIGlmIChpc3NldCAoJHBhcmFtc1snc3VibWl0Y2F0ZWdvcnknXSkpIHsKICAgICRjdXJjYXRlZ29yeSA9IChpc3NldCAoJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnknXSkgPyAkcGFyYW1zWydpbnB1dF9jYXRlZ29yeSddIDogJycpOwogIH0KCiAgLy8gYXJlIHdlIHVwbG9hZGluZyBhIGZpbGUKICBpZiAoaXNzZXQoICRwYXJhbXNbJ3N1Ym1pdHVwbG9hZCddICkgKSB7CiAgICAkcGFyYW1zWydjYXRlZ29yeV9pZCddID0gJGN1cmNhdGVnb3J5OwoKICAgICRyZXQgPSAkdGhpcy0+QXR0ZW1wdFVwbG9hZCggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKICAgIGlmKCAkcmV0WzBdID09IGZhbHNlICkgewogICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkcmV0WzFdICk7CiAgICAgIHJldHVybjsKICAgIH0KICB9Cn0KCi8vIHRvcCBuYXYKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIHsKICAkdHBsID0gPDw8RU9UCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIiBzdHlsZT0idGV4dC1hbGlnbjogcmlnaHQ7IHdpZHRoOiA5NSU7Ij4KICAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIG1vZHVsZT1VcGxvYWRzIGFjdGlvbj1hZG1pbl90ZW1wbGF0ZXN9Ij57Y2dpbWFnZSBpbWFnZT0ndGVtcGxhdGUuZ2lmJ30ge1wkbW9kLT5MYW5nKCdsYmxfdGVtcGxhdGVzJyl9PC9hPgo8L2Rpdj48YnIvPgpFT1Q7CgllY2hvICRzbWFydHktPmZldGNoKCdzdHJpbmc6Jy4kdHBsKTsKCgkvKgogIGVjaG8gJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX3RlbXBsYXRlcycsJHJldHVybmlkLCR0aGlzLT5MYW5nKCdsYmxfdGVtcGxhdGVzJyksCgkJCSAgICAgICdpY29ucy90b3BmaWxlcy90ZW1wbGF0ZS5naWYnLGFycmF5KCksJycsJycsZmFsc2UpOwogIGVjaG8gJzwvZGl2Pjxici8+JzsKCSovCn0KCi8vVGhlIHRhYnMKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzICgpOwppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbiAoJ01hbmFnZSBVcGxvYWRzJykgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXBsb2FkIEZpbGVzIHRvIFVwbG9hZHMnKSkgewogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciAoJ2ZpbGVzJywgJHRoaXMtPkxhbmcgKCdmaWxlcycpKTsKfQppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbiAoJ01hbmFnZSBVcGxvYWRzJykpIHsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIgKCdjYXRlZ29yaWVzJywgJHRoaXMtPkxhbmcgKCdjYXRlZ29yaWVzJykpOwp9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdDcmVhdGUgVXBsb2FkcyBSZXBvcnRzJykgJiYgaXNfb2JqZWN0KCRmZXUpICkgewogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVwb3J0cycsJHRoaXMtPkxhbmcoJ3JlcG9ydHMnKSk7Cn0KaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSB7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyICgnZmllbGRzJywgJHRoaXMtPkxhbmcgKCdmaWVsZF9kZWZpbml0aW9ucycpKTsKfQppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbiAoJ01hbmFnZSBVcGxvYWRzJykpIHsKICBlY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoICdmaWxlX3R5cGVzJywgJHRoaXMtPkxhbmcoICdmaWxlX3R5cGVzJykpOwp9CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgewogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlciAoJ2FkbWluX3ByZWZzJywgJHRoaXMtPkxhbmcgKCdwcmVmZXJlbmNlcycpKTsKfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzICgpOwoKLy9UaGUgY29udGVudCBvZiB0aGUgdGFicwplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQgKCk7CgppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbiAoJ01hbmFnZSBVcGxvYWRzJykgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXBsb2FkIEZpbGVzIHRvIFVwbG9hZHMnKSkgewogIC8vIHRoZSBmaWxlcyB0YWIKICBlY2hvICR0aGlzLT5TdGFydFRhYiAoImZpbGVzIik7CiAgaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fZmlsZXN0YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiICgpOwp9CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uICgnTWFuYWdlIFVwbG9hZHMnKSkgewogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiICgiY2F0ZWdvcmllcyIpOwogIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2NhdGVnb3JpZXN0YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiICgpOwp9CmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdDcmVhdGUgVXBsb2FkcyBSZXBvcnRzJykgJiYgaXNfb2JqZWN0KCRmZXUpICkgewogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiICgicmVwb3J0cyIpOwogIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX3JlcG9ydHN0YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiICgpOwp9CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgewogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiICgiZmllbGRzIik7CiAgaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fZmllbGRkZWZzdGFiLnBocCcpOwogIGVjaG8gJHRoaXMtPkVuZFRhYiAoKTsKfQppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbiAoJ01hbmFnZSBVcGxvYWRzJykpIHsKICBlY2hvICR0aGlzLT5TdGFydFRhYignZmlsZV90eXBlcycpOwogIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2ZpbGV0eXBlc3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKfQoKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKSB7CiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoICdhZG1pbl9wcmVmcycgKTsKICBpbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl9wcmVmc3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIgKCk7Cn0KCi8vIGRvbmUgdGFicwplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50ICgpOwpyZXR1cm47Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.deletecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uICgnTWFuYWdlIFVwbG9hZHMnKSApIGV4aXQ7CmlmKCAhaXNzZXQoICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10gKSApIHJldHVybjsKCi8vIHRlc3QgdG8gc2VlIGlmIHRoZXJlIGFyZSBzdGlsbCBmaWxlcyBsZWZ0IGluIHRoaXMgY2F0ZWdvcnksIGlmIHRoZXJlIGFyZSwgdGhlbiBwdWtlCi8vIG90aGVyd2lzZSBkZWxldGUgdGhlIGRpcmVjdG9yeSB0b28gKG1heWJlKQokdG1wID0gJHRoaXMtPmdldF9jYXRlZ29yeV9maWxlX2xpc3QoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSk7CmlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApIHsKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSAoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nICgnZXJyb3JfY2F0ZWdvcnlub3RlbXB0eScpKTsKCXJldHVybjsKfQoKLy8gZGlzcGxheSBzb21ldGhpbmcgdG8gYWxsb3cgdGhlIHVzZXIgdG8gZGVsZXRlIHRoZSBjYXRlZ29yeS4uLi4gd2lsbCAob3B0aW9uYWxseSkgZGVsZXRlCi8vIGFsbCBvZiB0aGUgKG1hbmFnZWQpIGZpbGVzIGluIHRoZSBkaXJlY3RvcnkgdG9vLgokc21hcnR5LT5hc3NpZ24oICd3YXJuaW5nX2RlbGV0ZWNhdGVnb3J5JywgJHRoaXMtPkxhbmcoJ3dhcm5pbmdfZGVsZXRlY2F0ZWdvcnknKSApOwokc21hcnR5LT5hc3NpZ24oICdzdGFydGZvcm0nICwgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnZG9fZGVsZXRlY2F0ZWdvcnknLCAkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCAnaGlkZGVuJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdjYXRlZ29yeV9pZCcsICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKTsKJHNtYXJ0eS0+YXNzaWduKCAncHJvbXB0X2RlbGV0ZWRpcmVjdG9yeScsICR0aGlzLT5MYW5nKCdwcm9tcHRfZGVsZXRlZGlyZWN0b3J5JykgKTsKJHNtYXJ0eS0+YXNzaWduKCAnaW5wdXRfZGVsZXRlZGlyZWN0b3J5JywgJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2lucHV0X2RlbGV0ZWRpcmVjdG9yeScsIDEsIDAgKSk7CiRzbWFydHktPmFzc2lnbiAoJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0JywgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbiAoJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZGVsZXRlY2F0ZWdvcnkudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.deletetype.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBVcGxvYWRzJykgKSByZXR1cm47CgppZiggIWlzc2V0KCAkcGFyYW1zWyd0eXBlaWQnXSApICkgJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbXMnKSk7CgokdHlwZWlkID0gdHJpbSgkcGFyYW1zWyd0eXBlaWQnXSk7CiRkYi0+RXhlY3V0ZSggIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19maWxldHlwZXMgV0hFUkUgaWQgPSA/IiwgYXJyYXkoICRwYXJhbXNbJ3R5cGVpZCddICkgKTsKJHRoaXMtPlJlZGlyZWN0KCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsJHBhcmFtcyk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.delete_file.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKdHJ5IHsKCWlmKCAhaXNzZXQoJHBhcmFtc1sndXBsb2FkX2lkJ10pICkgcmV0dXJuOwoJJHVwbG9hZF9pZCA9IChpbnQpJHBhcmFtc1sndXBsb2FkX2lkJ107CgoJJGRldGFpbHMgPSB1cGxvYWRzX3V0aWxzOjpnZXRfdXBsb2FkX2RldGFpbHMoJHVwbG9hZF9pZCk7CgkkY2F0ZWdvcnkgPSB1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnkoJGRldGFpbHNbJ3VwbG9hZF9jYXRlZ29yeV9pZCddKTsKCSRkZWxldGFibGUgPSAkY2F0ZWdvcnlbJ3VwbG9hZF9jYXRlZ29yeV9kZWxldGFibGUnXTsKCgkvLyAyLiAgY2hlY2sgaWYgd2UgY2FuIGRlbGV0ZQoJaWYoICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfZGVsZXRlJywwKSA9PSAxIHx8ICEkZGVsZXRhYmxlICkgewoJCXRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gZGVsZXRlIGEgZmlsZSBhZ2FpbnN0IHBlcm1pc3Npb25zJyk7Cgl9CgoJJHRoaXMtPl9BZG1pbkRvRGVsZXRlVXBsb2FkKCAkdXBsb2FkX2lkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIDAgKTsKCSR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHJldHVybmlkKTsKfQpjYXRjaCggRXhjZXB0aW9uICRlICkgewoJLy8gdG9kbzogYXVkaXQgc29tZXRoaW5nLgoJJHRoaXMtPlJlZGlyZWN0Q29udGVudCgkcmV0dXJuaWQpOwp9CgovLwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.detail.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKLy8kZGIgPSBjbXNtcygpLT5HZXREYigpOwoKLy8gY2hlY2sgaW5wdXQgZGF0YQppZiggIWlzc2V0KCRwYXJhbXNbJ3VwbG9hZF9pZCddKSApIHsKCXRocm93IG5ldyBDbXNFcnJvcjQwNEV4Y2VwdGlvbignVXBsb2FkIGlkIG5vdCBzcGVjaWZpZWQnKTsKCXJldHVybjsKfQoKLy8gZ2V0IHRoZSB0ZW1wbGF0ZQokdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9kZXRhaWxycHQnKTsKJHRlbXBsYXRlID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdkZXRhaWx0ZW1wbGF0ZScsJHRlbXBsYXRlKTsKJHRlbXBsYXRlID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCd0ZW1wbGF0ZScsJHRlbXBsYXRlKTsKCi8vIGhhbmRsZSB0aGUgc2VuZGZpbGVwYWdlIHBhcmFtZXRlcgokc2VuZGZpbGVwYWdlID0gJHJldHVybmlkOwppZiggaXNzZXQoJHBhcmFtc1snc2VuZGZpbGVwYWdlJ10pICkgewoJJG1hbmFnZXIgPSAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwoJJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRwYXJhbXNbJ3NlbmRmaWxlcGFnZSddKTsKCWlmIChpc3NldCgkbm9kZSkpIHsKCQkkY29udGVudCA9ICRub2RlLT5HZXRDb250ZW50KCk7CgkJaWYgKGlzc2V0KCRjb250ZW50KSkgJHNlbmRmaWxlcGFnZSA9ICRjb250ZW50LT5JZCgpOwoJfQoJZWxzZSB7CgkJJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRwYXJhbXNbJ3NlbmRmaWxlcGFnZSddKTsKCQlpZiAoaXNzZXQoJG5vZGUpKSAkc2VuZGZpbGVwYWdlID0gJHBhcmFtc1snc2VuZGZpbGVwYWdlJ107Cgl9Cn0KaWYoIGVtcHR5KCRzZW5kZmlsZXBhZ2UpICkgewoJJHNlbmRmaWxlcGFnZSA9ICRyZXR1cm5pZDsKCSR0bXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zZW5kZmlsZXBhZ2UnLC0xKTsKCWlmKCAkdG1wID4gMCApICRzZW5kZmlsZXBhZ2UgPSAkdG1wOwp9CgovLyBnaXZlIGV2ZXJ5dGhpbmcgdG8gc21hcnR5Lgp0cnkgewoJJHVwbG9hZCA9IFxVcGxvYWRzXHVwbG9hZDo6bG9hZCgkcGFyYW1zWyd1cGxvYWRfaWQnXSk7CiAgICAJJGhlbHBlciA9IG5ldyBcVXBsb2Fkc1x1cGxvYWRfaGVscGVyKCR1cGxvYWQsJHJldHVybmlkKTsKCSR0cGwgPSAkdGhpcy0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJHRlbXBsYXRlLCdkZXRhaWxycHRfJyk7CgkkdHBsLT5hc3NpZ24oJ2VudHJ5JywkaGVscGVyKTsKCWlmKCAhaXNzZXQoJHBhcmFtc1snbm9vdXRwdXQnXSkgKSAkdHBsLT5kaXNwbGF5KCk7Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CgkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkZS0+R2V0TWVzc2FnZSgpKTsKfQoKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.do_addcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uICgnTWFuYWdlIFVwbG9hZHMnKSkgcmV0dXJuOwoKLy8gYXJlIHdlIGNhbmNlbGxpbmcKaWYgKGlzc2V0ICgkcGFyYW1zWydjYW5jZWwnXSkpICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwnY2F0ZWdvcmllcycpOwoKJGVycm9yID0gZmFsc2U7CgovLyBtYWtlIHN1cmUgd2UgaGF2ZSBzb21ldGhpbmcgdG8gd29yayB3aXRoCmlmICghaXNzZXQgKCRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5bmFtZSddKSB8fCAkcGFyYW1zWydpbnB1dF9jYXRlZ29yeW5hbWUnXSA9PSAiIikgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9lbXB0eWNhdGVnb3J5JykpOwogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnYWRkY2F0ZWdvcnknLCRyZXR1cm5pZCk7Cn0KZWxzZSBpZiAoIWlzc2V0ICgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeXBhdGgnXSkgfHwgdHJpbSgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeXBhdGgnXSkgPT0gIiIpIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfZW1wdHlwYXRoJykpOwogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnYWRkY2F0ZWdvcnknLCRyZXR1cm5pZCk7Cn0KZWxzZSB7CiAgLy8gY2hlY2sgaWYgdGhlIGNhdGVnb3J5IGRvZXNuJ3QgYWxyZWFkeSBleGlzdAogICRxdWVyeSA9ICJTRUxFQ1QgdXBsb2FkX2NhdGVnb3J5X2lkIGZyb20gIi5jbXNfZGJfcHJlZml4ICgpLiJtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzIFdIRVJFIHVwbG9hZF9jYXRlZ29yeV9uYW1lID0gPyI7CiAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlICgkcXVlcnksIGFycmF5ICgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeW5hbWUnXSkpOwoKICAvLyB5ZXAgaXQgZG9lcwogIGlmICgkZGJyZXN1bHQtPkZldGNoUm93ICgpKSB7CiAgICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfY2F0ZWdvcnlleGlzdHMnKSk7CiAgICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2FkZGNhdGVnb3J5JywkcmV0dXJuaWQpOwogIH0KICBlbHNlIHsKICAgICAgJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnluYW1lJ10gPSB0cmltKGNtc19odG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnluYW1lJ10pKTsKICAgICAgJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlwYXRoJ10gPSB0cmltKGNtc19odG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlwYXRoJ10pKTsKICAgICAgJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlkZXNjJ10gPSB0cmltKGNtc19odG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlkZXNjJ10pKTsKICAgICAgJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlwYXRoJ10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5cGF0aCddLCcvJyk7CiAgICAgIC8vIGNoZWNrIGlmIHRoZSBkaXJlY3RvcnkgaXMgYWxyZWFkeSBpbiB1c2UKICAgICAgJHF1ZXJ5ID0gIlNFTEVDVCB1cGxvYWRfY2F0ZWdvcnlfaWQgZnJvbSAiLmNtc19kYl9wcmVmaXggKCkuCiAgICAgICAgICAibW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllcyBXSEVSRSB1cGxvYWRfY2F0ZWdvcnlfcGF0aCA9ID8iOwogICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUgKCRxdWVyeSwgYXJyYXkgKCRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5cGF0aCddKSk7CiAgICAgIGlmICgkZGJyZXN1bHQtPkZldGNoUm93ICgpKSB7CiAgICAgICAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX3BhdGhpbnVzZScpKTsKICAgICAgICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2FkZGNhdGVnb3J5JywkcmV0dXJuaWQpOwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgICAgLy8gQ3JlYXRlIHRoZSBkaXJlY3RvcnkgaWYgaXQgZG9lc24ndCBleGlzdAogICAgICAgICAgJGRvX3NjYW4gPSBmYWxzZTsKICAgICAgICAgICRkaXIgPSAkdGhpcy0+X2NhdGVnb3J5UGF0aCgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeXBhdGgnXSk7CgogICAgICAgICAgaWYoIGZpbGVfZXhpc3RzKCAkZGlyICkgKSB7CiAgICAgICAgICAgICAgJGRvX3NjYW4gPSB0cnVlOwogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgLy8gY3JlYXRlIHRoZSBkaXJlY3RvcnkKICAgICAgICAgICAgICAkcmVzdWx0ID0gY2dlX2Rpcjo6bWtkaXJyKCRkaXIpOwogICAgICAgICAgICAgIGlmICgkcmVzdWx0ID09PSBGQUxTRSkgewogICAgICAgICAgICAgICAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2NhdGVnb3J5ZXhpc3RzJykpOwogICAgICAgICAgICAgICAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdhZGRjYXRlZ29yeScsJHJldHVybmlkKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgLy8gY3JlYXRlIGFuIGluZGV4Lmh0bWwgZmlsZSAoZW1wdHkpCiAgICAgICAgICAgICAgaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjcmVhdGVfZHVtbXlfaW5kZXhfaHRtbCcpICkgewogICAgICAgICAgICAgICAgICB0b3VjaCggJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiJpbmRleC5odG1sIiApOwogICAgICAgICAgICAgIH0KICAgICAgICAgIH0KCiAgICAgICAgICAkZ3JvdXBzID0gbnVsbDsKICAgICAgICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9ncm91cGxpc3QnXSkgKSAkZ3JvdXBzID0gaW1wbG9kZSgnLCcsJHBhcmFtc1snaW5wdXRfZ3JvdXBsaXN0J10pOwogICAgICAgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5X2RmbHR1c2VycGVybXMnXSkgKSB7CiAgICAgICAgICAgICAgaWYoIGlzX2FycmF5KCRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5X2RmbHR1c2VycGVybXMnXSkgKSB7CiAgICAgICAgICAgICAgICAgICRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5X2RmbHR1c2VycGVybXMnXSA9IGltcGxvZGUoJywnLCRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5X2RmbHR1c2VycGVybXMnXSk7CiAgICAgICAgICAgICAgfQogICAgICAgICAgfQogICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcyddID0gJyc7CiAgICAgICAgICB9CiAgICAgICAgICAkdXNlcnBlcm1zID0gMDsKICAgICAgICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeV91c2VycGVybXMnXSkgKSAkdXNlcnBlcm1zID0gKGludCkkcGFyYW1zWydpbnB1dF9jYXRlZ29yeV91c2VycGVybXMnXTsKICAgICAgICAgIC8vIEFkZCB0aGUgcmVjb3JkIHRvIHRoZSBjYXRlZ29yeSB0YWJsZQogICAgICAgICAgJGNhdGlkID0gJGRiLT5HZW5JRCAoY21zX2RiX3ByZWZpeCAoKS4ibW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllc19zZXEiKTsKICAgICAgICAgICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10gPSAkY2F0aWQ7CiAgICAgICAgICAkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMKICAgICAgICAgICAgICAgICAgKHVwbG9hZF9jYXRlZ29yeV9pZCwgdXBsb2FkX2NhdGVnb3J5X25hbWUsIHVwbG9hZF9jYXRlZ29yeV9kZXNjcmlwdGlvbiwKICAgICAgICAgICAgICAgICAgIHVwbG9hZF9jYXRlZ29yeV9wYXRoLCB1cGxvYWRfY2F0ZWdvcnlfbGlzdGFibGUsIHVwbG9hZF9jYXRlZ29yeV9kZWxldGFibGUsCiAgICAgICAgICAgICAgICAgICB1cGxvYWRfY2F0ZWdvcnlfZXhwaXJlc19ocnMsCiAgICAgICAgICAgICAgICAgICB1cGxvYWRfY2F0ZWdvcnlfc2Nhbm5hYmxlLAogICAgICAgICAgICAgICAgICAgdXBsb2FkX2NhdGVnb3J5X2dyb3VwcywKICAgICAgICAgICAgICAgICAgIHVwbG9hZF9jYXRlZ29yeV91c2VycGVybXMsCiAgICAgICAgICAgICAgICAgICB1cGxvYWRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcykKICAgICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPyw/LD8pIjsKICAgICAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSAoJHF1ZXJ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSAoJGNhdGlkLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhcmFtc1siaW5wdXRfY2F0ZWdvcnluYW1lIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zWyJpbnB1dF9jYXRlZ29yeWRlc2MiXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRwYXJhbXNbImlucHV0X2NhdGVnb3J5cGF0aCJdLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGludCkkcGFyYW1zWyJpbnB1dF9jYXRlZ29yeWxpc3RhYmxlIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KSRwYXJhbXNbImlucHV0X2NhdGVnb3J5ZGVsZXRhYmxlIl0sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KSRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5X2V4cGlyZXNfaHJzJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW50KSRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5X3NjYW5uYWJsZSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGdyb3VwcywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR1c2VycGVybXMsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcGFyYW1zWydpbnB1dF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJ10pKTsKICAgICAgICAgIGlmICghJGRicmVzdWx0KSB7CiAgICAgICAgICAgICAgJHRoaXMtPlNldEVycm9yKCRkYi0+c3FsLicgJy4kZGItPkVycm9yTXNnKCkpOwogICAgICAgICAgICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCk7CiAgICAgICAgICB9CgoKICAgICAgICAgIGlmKCAkZG9fc2NhbiApIHsKICAgICAgICAgICAgICAvLyBjYXRlZ29yeSBpcyBhZGRlZCwgYW5kIHRoZSBkaXJlY3RvcnkgYWxyZWFkeSBleGlzdGVkLi4uIHNvIG5vdwogICAgICAgICAgICAgIC8vIHdlJ3JlIGdvbm5hIHNjYW4gdGhlIGRpcmVjdG9yeSBhbmQgYWRkIGZpbGVzIHRvIHRoZSBkYXRhYmFzZQogICAgICAgICAgICAgICR0aGlzLT5TY2FuRGlyZWN0b3J5KCAkY2F0aWQsICRkaXIsIFRSVUUsIFRSVUUgKTsKICAgICAgICAgIH0KCiAgICAgICAgICAvLyBzZW5kIGFuIGV2ZW50CiAgICAgICAgICAkcGFybXMgPSBhcnJheSgpOwogICAgICAgICAgJHBhcm1zWyduYW1lJ10gPSAkcGFyYW1zWydpbnB1dF9jYXRlZ29yeW5hbWUnXTsKICAgICAgICAgICRwYXJtc1snZGVzY3JpcHRpb24nXSA9ICRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5ZGVzYyddOwogICAgICAgICAgJHBhcm1zWydwYXRoJ10gPSAkcGFyYW1zWydpbnB1dF9jYXRlZ29yeXBhdGgnXTsKICAgICAgICAgICRwYXJtc1snbGlzdGFibGUnXSA9ICRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5bGlzdGFibGUnXTsKICAgICAgICAgICRwYXJtc1snZGVsZXRhYmxlJ10gPSAkcGFyYW1zWydpbnB1dF9jYXRlZ29yeWRlbGV0YWJsZSddOwogICAgICAgICAgJHBhcm1zWydleHBpcmVzX2hycyddID0gJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlfZXhwaXJlc19ocnMnXTsKICAgICAgICAgICR0aGlzLT5TZW5kRXZlbnQoICdPbkNyZWF0ZUNhdGVnb3J5JywgJHBhcm1zICk7CgogICAgICAgICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21lc3NhZ2VfY2F0ZWdvcnlhZGRlZCcpKTsKICAgICAgICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiICgkaWQsICdjYXRlZ29yaWVzJyk7CiAgICAgIH0KICB9Cn0KCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSAoJ2FkZGNhdGVnb3J5LnRwbCcpOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_addtemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICEkZ0NtcyApIGV4aXQoKTsKaWYoICEgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpICkgcmV0dXJuOwoKaWYoIGlzc2V0KCAkcGFyYW1zWydjYW5jZWwnXSApICkgewogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydhY3RpdmVfdGFiJ10gKSAmJiAkcGFyYW1zWydhY3RpdmVfdGFiJ10gIT0gJycgKSAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICRwYXJhbXNbJ2FjdGl2ZV90YWInXSk7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nKTsKfQoKCiR0ZW1wbGF0ZSA9ICIiOwppZiggaXNzZXQoICRwYXJhbXNbJ3RlbXBsYXRlJ10gKSApICR0ZW1wbGF0ZSA9IHRyaW0oJHBhcmFtc1sndGVtcGxhdGUnXSk7CgokcHJlZml4ID0gIiI7CmlmKCBpc3NldCggJHBhcmFtc1sncHJlZml4J10gKSApICRwcmVmaXggPSB0cmltKCRwYXJhbXNbJ3ByZWZpeCddKTsKCmlmKCAhaXNzZXQoICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICkgKSB7CiAgICAkcGFyYW1zWydlcnJvcnMnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnLCd0ZW1wbGF0ZWNvbnRlbnQnKTsKICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJHBhcmFtc1snb3JpZ2FjdGlvbiddLCcnLCRwYXJhbXMpOwogICAgcmV0dXJuOwp9CgppZiggJHRlbXBsYXRlID09ICIiIHx8ICRwcmVmaXggPT0gIiIgKSB7CiAgICAkcGFyYW1zWydlcnJvcnMnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnLCcodGVtcGxhdGUgb3IgcHJlZml4KScpOwogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwkcGFyYW1zWydvcmlnYWN0aW9uJ10sJycsJHBhcmFtcyk7CiAgICByZXR1cm47Cn0KCgokbmV3dGVtcGxhdGUgPSAkcHJlZml4IC4gJHRlbXBsYXRlOwoKLy8gY2hlY2sgaWYgdGhpcyB0ZW1wbGF0ZSBhbHJlYWR5IGV4aXN0cwokdHh0ID0gdHJpbSgkdGhpcy0+R2V0VGVtcGxhdGUoJG5ld3RlbXBsYXRlKSk7CmlmKCAkdHh0ICE9ICIiICkgewogICAgJHBhcmFtc1snZXJyb3JzJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdGVtcGxhdGVuYW1lZXhpc3RzJyk7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCRwYXJhbXNbJ29yaWdhY3Rpb24nXSwnJywkcGFyYW1zKTsKICAgIHJldHVybjsKfQoKLy8gd2UncmUgcmVhZHkgdG8gc2V0IGl0CiR0aGlzLT5TZXRUZW1wbGF0ZSgkbmV3dGVtcGxhdGUsJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10pOwoKaWYoIGlzc2V0KCAkcGFyYW1zWydhY3RpdmVfdGFiJ10gKSAmJiAkcGFyYW1zWydhY3RpdmVfdGFiJ10gIT0gJycgKSAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICRwYXJhbXNbJ2FjdGl2ZV90YWInXSApOwokdGhpcy0+UmVkaXJlY3QoJGlkLCdkZWZhdWx0YWRtaW4nKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.do_editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24gKCdNYW5hZ2UgVXBsb2FkcycpKSByZXR1cm47CgovLyBhcmUgd2UgY2FuY2VsbGluZwppZiAoaXNzZXQgKCRwYXJhbXNbJ2NhbmNlbCddKSkgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAnY2F0ZWdvcmllcycpOwoKLy8gbWFrZSBzdXJlIHdlIGhhdmUgc29tZXRoaW5nIHRvIHdvcmsgd2l0aAppZiAoIWlzc2V0ICgkcGFyYW1zWydjYXRlZ29yeV9pZCddKSB8fCAkcGFyYW1zWydjYXRlZ29yeV9pZCddID09ICIiKSB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9ub2NhdGVnb3J5aWQnKSk7Cn0KZWxzZSBpZiAoIWlzc2V0ICgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeW5hbWUnXSkgfHwgJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnluYW1lJ10gPT0gIiIpIHsKICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX2VtcHR5Y2F0ZWdvcnknKSk7Cn0KZWxzZSBpZiAoIWlzc2V0ICgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeXBhdGgnXSkgfHwgJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlwYXRoJ10gPT0gIiIpIHsKICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX2VtcHR5cGF0aCcpKTsKfQplbHNlIGlmIChpc3NldCggJHBhcmFtc1snc2NhbiddICkgKSB7Cgkkcm93ID0gdXBsb2Fkc191dGlsczo6Z2V0X2NhdGVnb3J5KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pOwoJQHNldF90aW1lX2xpbWl0KDApOwoJJGRpciA9ICR0aGlzLT5fY2F0ZWdvcnlQYXRoKCAkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfcGF0aCddICk7CgkkdGhpcy0+U2NhbkRpcmVjdG9yeSggJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSwgJGRpciwgVFJVRSwgVFJVRSApOwoJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAnZmlsZXMnLCBhcnJheSgnaW5wdXRfY2F0ZWdvcnknID0+ICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pICk7CglyZXR1cm47Cn0KZWxzZSB7CgkkcGFyYW1zWydpbnB1dF9jYXRlZ29yeW5hbWUnXSA9IHRyaW0oY21zX2h0bWxfZW50aXR5X2RlY29kZSgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeW5hbWUnXSkpOwoJJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlwYXRoJ10gPSB0cmltKGNtc19odG1sX2VudGl0eV9kZWNvZGUoJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlwYXRoJ10pKTsKCSRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5ZGVzYyddID0gdHJpbShjbXNfaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5ZGVzYyddKSk7CgoJLy8gbm93IHByZXBhcmUgdG8gdXBkYXRlIHRoZSByZWNvcmQKCSRncm91cHMgPSBudWxsOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2dyb3VwbGlzdCddKSAmJiBpc19hcnJheSggJHBhcmFtc1snaW5wdXRfZ3JvdXBsaXN0J10gKSApIHsKCQkkZ3JvdXBzID0gaW1wbG9kZSgnLCcsJHBhcmFtc1snaW5wdXRfZ3JvdXBsaXN0J10pOwoJfQoKCWlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJ10pICkgewoJCWlmKCBpc19hcnJheSgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJ10pICkgewoJCQkkcGFyYW1zWydpbnB1dF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJ10gPSBpbXBsb2RlKCcsJywkcGFyYW1zWydpbnB1dF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJ10pOwoJCX0KCX0KCWVsc2UgewoJCSRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5X2RmbHR1c2VycGVybXMnXSA9ICcnOwoJfQoKCSRxdWVyeSA9CgkJIlVQREFURSAiLmNtc19kYl9wcmVmaXggKCkuIm1vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMKICAgICAgIFNFVCB1cGxvYWRfY2F0ZWdvcnlfbmFtZSA9ID8sIHVwbG9hZF9jYXRlZ29yeV9kZXNjcmlwdGlvbiA9ID8sIHVwbG9hZF9jYXRlZ29yeV9saXN0YWJsZSA9ID8sCiAgICAgICB1cGxvYWRfY2F0ZWdvcnlfZ3JvdXBzID0gPywgdXBsb2FkX2NhdGVnb3J5X2RlbGV0YWJsZSA9ID8sCiAgICAgICB1cGxvYWRfY2F0ZWdvcnlfZXhwaXJlc19ocnMgPSA/LCB1cGxvYWRfY2F0ZWdvcnlfc2Nhbm5hYmxlID0gPywKICAgICAgIHVwbG9hZF9jYXRlZ29yeV91c2VycGVybXMgPSA/LCB1cGxvYWRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcyA9ID8KICAgICAgIFdIRVJFIHVwbG9hZF9jYXRlZ29yeV9pZCA9ID8iOwoJJGRicmVzdWx0ID0KCQkkZGItPkV4ZWN1dGUgKCRxdWVyeSwKCQkJCQkJCQkJYXJyYXkgKCRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5bmFtZSddLCAkcGFyYW1zWydpbnB1dF9jYXRlZ29yeWRlc2MnXSwgKGludCkkcGFyYW1zWydpbnB1dF9jYXRlZ29yeWxpc3RhYmxlJ10sICRncm91cHMsIChpbnQpJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlkZWxldGFibGUnXSwKCQkJCQkJCQkJCQkJIChpbnQpJHBhcmFtc1snaW5wdXRfY2F0ZWdvcnlfZXhwaXJlc19ocnMnXSwgKGludCkkcGFyYW1zWydpbnB1dF9jYXRlZ29yeV9zY2FubmFibGUnXSwKCQkJCQkJCQkJCQkJIFxjZ2VfcGFyYW06OmdldF9pbnQoJHBhcmFtcywnaW5wdXRfY2F0ZWdvcnlfdXNlcnBlcm1zJyksCgkJCQkJCQkJCQkJCSAkcGFyYW1zWydpbnB1dF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJ10sICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pKTsKCWlmICghJGRicmVzdWx0KSB7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3InKS4nOiAnLiRkYi0+RXJyb3JNc2coKSk7Cgl9CgllbHNlIHsKCQkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJ2NhdGVnb3JpZXMnKTsKCQlyZXR1cm47Cgl9Cn0KCiR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUgKCJhZGRjYXRlZ29yeS50cGwiKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_editupload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVXBsb2FkcycpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVcGxvYWQgRmlsZXMgdG8gVXBsb2FkcycpKSByZXR1cm47CgovLyBtYWtlIHN1cmUgd2UgaGF2ZSBhbGwgdGhlIHBhcmFtZXRlcnMgd2UgbmVlZAppZiggIWlzc2V0KCRwYXJhbXNbJ3VwbG9hZF9pZCddKSB8fCAhaXNzZXQoJHBhcmFtc1snaW5wdXRfdXBsb2FkZGVzYyddKSB8fCAhaXNzZXQoJHBhcmFtc1snaW5wdXRfbW92ZWNhdGVnb3J5J10pICkgewoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwkdGhpcy0+TGFuZyAoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycsJ3VwbG9hZF9pZD8/JykpOwoJcmV0dXJuOwp9CgovLyBub3cgc2VlIGlmIHdlIGNhbiBmaW5kIHRoZSBkZXRhaWxzIGFib3V0IHRoaXMgdXBsb2FkCiRyb3cgPSB1cGxvYWRzX3V0aWxzOjpnZXRfdXBsb2FkX2RldGFpbHMoJHBhcmFtc1sndXBsb2FkX2lkJ10pOwppZiggISRyb3cgKSB7CiAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcgKCdlcnJvcl9kYmVycm9yJykpOwogIHJldHVybjsKfQoKJG5ld25hbWUgPSAkcm93Wyd1cGxvYWRfbmFtZSddOwokbmV3Y2F0ZWdvcnkgPSAkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXTsKJG5ld2F1dGhvciA9ICRyb3dbJ3VwbG9hZF9hdXRob3InXTsKJG5ld2Rlc2MgPSAkcm93Wyd1cGxvYWRfZGVzY3JpcHRpb24nXTsKJG5ld3N1bW1hcnkgPSAkcm93Wyd1cGxvYWRfc3VtbWFyeSddOwokbmV3dGh1bWIgPSAkcm93Wyd1cGxvYWRfdGh1bWJuYWlsJ107CgovLyBHZXQgdGhlIGNhdGVnb3J5IHBhdGggZnJvbSB0aGUgY2F0ZWdvcnkgaWQKJGNhdHBhdGggPSB1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnlfcGF0aCgkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSk7CiRmcm9tZmlsZSA9IHVwbG9hZHNfdXRpbHM6OmdldF9maWxlc3BlYygkcm93Wyd1cGxvYWRfaWQnXSkKCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKSB7CgkvLyBvcGVyYXRpb24gY2FuY2VsbGVkCiAgICAkcmV0dXJudG8gPSAkdGhpcy0+cG9wX3JldHVyblRvKCk7CiAgICBpZiggJHJldHVybnRvICkgewogICAgICAgIHJlZGlyZWN0KCRyZXR1cm50byk7CiAgICB9CgkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsICdmaWxlcycsIGFycmF5KCAnY3VyY2F0ZWdvcnknID0+ICRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pICk7Cn0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1sncmVwbGFjZSddKSApIHsKCS8vIHJlLXVwbG9hZCBleGlzdGluZyBmaWxlLi4uIGJ1dCB3ZSdyZSBub3QgZ29ubmEgdG91Y2ggdGhlCgkvLyBvdGhlciBpbmZvIChsaWtlIGF1dGhvci4uLiwgb3IgdGhlIGZpZWxkcykuCgkkZmlsZXNfa2V5ID0gJGlkLidyZXBsYWNlX2ZpbGUnOwoJaWYoICFpc3NldCgkX0ZJTEVTWyRmaWxlc19rZXldKSB8fAoJCQkoJF9GSUxFU1skZmlsZXNfa2V5XVsnbmFtZSddID09ICcnKSB8fAoJCQkoJF9GSUxFU1skZmlsZXNfa2V5XVsnc2l6ZSddID09IDApIHx8CgkJCSgkX0ZJTEVTWyRmaWxlc19rZXldWydlcnJvciddICE9IDAgKSApIHsKCQkkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmlsZXN1cGxvYWRlZCcpKTsKCQkkdGhpcy0+Q0dSZWRpcmVjdCgkaWQsJ2VkaXR1cGxvYWQnLCRyZXR1cm5pZCwkcGFyYW1zKTsKCX0KCgkvLyBtYWtlIHN1cmUgaXQncyBhbiBhbGxvd2VkIGZpbGUgdHlwZQoJJG5ld2ZpbGVleHRlbnNpb24gPSBzdHJ0b2xvd2VyKHN0cnJjaHIoJF9GSUxFU1skZmlsZXNfa2V5XVsnbmFtZSddLCcuJykpOwoJaWYoICEkdGhpcy0+X2lzVmFsaWRGaWxlbmFtZSgkX0ZJTEVTWyRmaWxlc19rZXldWyduYW1lJ10pICkgewoJCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHVwbG9hZGZpbGVuYW1lJywkX0ZJTEVTWyRmaWxlc19rZXldWyduYW1lJ10pKTsKCQkkdGhpcy0+Q0dSZWRpcmVjdCgkaWQsJ2VkaXR1cGxvYWQnLCRyZXR1cm5pZCwkcGFyYW1zKTsKCX0KCgkkZmlsZWV4dGVuc2lvbiA9IHN0cnRvbG93ZXIoc3RycmNocigkZnJvbWZpbGUsJy4nKSk7CglpZiggJGZpbGVleHRlbnNpb24gIT0gJG5ld2ZpbGVleHRlbnNpb24gKSB7CgkJLy8gdWhtLCB5b3UgY2FuJ3QgcmVwbGFjZSBhIGZpbGUgb2YgYSBkaWZmZXJlbnQgdHlwZQoJCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfcmVwbGFjZV9taXNtYXRjaGVkX2ZpbGVleHQnKSk7CgkJJHRoaXMtPkNHUmVkaXJlY3QoJGlkLCdlZGl0dXBsb2FkJywkcmV0dXJuaWQsJHBhcmFtcyk7Cgl9CgoJLy8gd2UncmUgYWxsIGdvb2QgdG8gZ28uCglpZiggZmlsZV9leGlzdHMoJGZyb21maWxlKSApIEB1bmxpbmsoJGZyb21maWxlKTsKCWNtc19tb3ZlX3VwbG9hZGVkX2ZpbGUoICRfRklMRVNbJGZpbGVzX2tleV1bJ3RtcF9uYW1lJ10sJGZyb21maWxlICk7Cn0KCmlmKCAkcGFyYW1zWydpbnB1dF9tb3ZlY2F0ZWdvcnknXSAhPSAkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSB8fAogICAgJHBhcmFtc1snaW5wdXRfdXBsb2FkbmFtZSddICE9ICRyb3dbJ3VwbG9hZF9uYW1lJ10gKSB7CiAgLy8gbG9va3MgbGlrZSB3ZSBoYXZlIHRvIG1vdmUgaXQKICAvLyBnZXQgdGhlIGluZm8gZm9yIHRoZSBuZXcgY2F0ZWdvcnkKCSRjYXQxcm93ID0gdXBsb2Fkc191dGlsczo6Z2V0X2NhdGVnb3J5KCRwYXJhbXNbJ2lucHV0X21vdmVjYXRlZ29yeSddKTsKICBpZiggISRjYXQxcm93ICkgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcgKCdlcnJvcl9kYmVycm9yJykpOwogICAgcmV0dXJuOwogIH0KCiAgLy8gYW5kIHRoZSBvbGQgY2F0ZWdvcnkKCSRjYXQycm93ID0gdXBsb2Fkc191dGlsczo6Z2V0X2NhdGVnb3J5KCRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9pZCddKTsKICBpZiggISRjYXQycm93ICkgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcgKCdlcnJvcl9kYmVycm9yJykpOwogICAgcmV0dXJuOwogIH0KCiAgLy8gbm93IHdlIGNhbiBtb3ZlIHRoZSBmaWxlIGZyb20gZGlyZWN0b3J5IG9uZSB0byB0d28uCiAgLy8gaWYgaXQgZG9lc24ndCBhbHJlYWR5IGV4aXN0IGluIHRoZSBkZXN0aW5hdGlvbiBkaXJlY3RvcnkKCSR0b25hbWUgPSB1cGxvYWRzX3V0aWxzOjpjbGVhbl9maWxlbmFtZSgkcGFyYW1zWydpbnB1dF91cGxvYWRuYW1lJ10pOwogICR0b2ZpbGUgICA9ICR0aGlzLT5fdXBsb2FkUGF0aCggJGNhdDFyb3dbJ3VwbG9hZF9jYXRlZ29yeV9wYXRoJ10sICR0b25hbWUgKTsKCiAgLy8gbW92ZSB0aGUgZmlsZQogIGlmKCBmaWxlX2V4aXN0cyggJHRvZmlsZSApICkgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcgKCdlcnJvcl9maWxlZXhpc3RzJywkdG9maWxlKSk7CiAgICByZXR1cm47CiAgfQoKICBpZiggIXJlbmFtZSggJGZyb21maWxlLCAkdG9maWxlICkgKSB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+TGFuZyAoJ2Vycm9yX2Nhbm5vdHJlbmFtZScpKTsKICAgIHJldHVybjsKICB9CgogIC8vIGFuZCBtb3ZlIGFueSB0aHVtYm5haWwKCWlmKCAhZW1wdHkoJHJvd1sndXBsb2FkX3RodW1ibmFpbCddKSApIHsKCQkkdG5fZnJvbWZpbGUgPSAkdGhpcy0+X2NhdGVnb3J5UGF0aCggJGNhdDJyb3dbJ3VwbG9hZF9jYXRlZ29yeV9wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4KCQkJCQkJCQkJCQkJCQkJCQkJCQkgJHJvd1sndXBsb2FkX3RodW1ibmFpbCddICk7CgkJJHRodW1iX2V4dCA9IHN0cnJjaHIoJHJvd1sndXBsb2FkX3RodW1ibmFpbCddLCcuJyk7CgkJJGZuID0gJHRvbmFtZTsKCQkkdG1wID0gc3RycnBvcygkZm4sJy4nKTsKCQlpZiggJHRtcCAhPT0gRkFMU0UgKSAkZm4gPSBzdWJzdHIoJGZuLDAsJHRtcCk7CgkJJG5ld3RodW1iID0gJ3RodW1iXycuJGZuLiR0aHVtYl9leHQ7CgkJJGNhdHBhdGggPSAkY2F0MXJvd1sndXBsb2FkX2NhdGVnb3J5X3BhdGgnXTsKCQkkdG5fdG9maWxlICAgPSAkdGhpcy0+X2NhdGVnb3J5UGF0aCggJGNhdHBhdGguRElSRUNUT1JZX1NFUEFSQVRPUi4kbmV3dGh1bWIpOwoJCS8vIGFuZCByZW5hbWUgdGhlIHRodW1ibmFpbAoJCUByZW5hbWUoICR0bl9mcm9tZmlsZSwgJHRuX3RvZmlsZSApOwoJfQoKICAkbmV3Y2F0ZWdvcnkgPSAkcGFyYW1zWydpbnB1dF9tb3ZlY2F0ZWdvcnknXTsKICAkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwkdGhpcy0+TGFuZygnbW92ZWRmaWxlJywgJGZyb21maWxlLCAkdG9maWxlICkpOwp9CgppZiggJHBhcmFtc1snaW5wdXRfdXBsb2FkZGVzYyddICE9ICRyb3dbJ3VwbG9hZF9kZXNjcmlwdGlvbiddICkgJG5ld2Rlc2MgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3VwbG9hZGRlc2MnXSk7CmlmKCAkdG9uYW1lICE9ICRyb3dbJ3VwbG9hZF9uYW1lJ10gKSAkbmV3bmFtZSA9ICR0b25hbWU7CmlmKCAkcGFyYW1zWydpbnB1dF91cGxvYWRzdW1tYXJ5J10gIT0gJHJvd1sndXBsb2FkX3N1bW1hcnknXSApICRuZXdzdW1tYXJ5ID0gdHJpbSgkcGFyYW1zWydpbnB1dF91cGxvYWRzdW1tYXJ5J10pOwppZiggJHBhcmFtc1snaW5wdXRfdXBsb2FkYXV0aG9yJ10gIT0gJHJvd1sndXBsb2FkX2F1dGhvciddICkgJG5ld2F1dGhvciA9IHRyaW0oJHBhcmFtc1snaW5wdXRfdXBsb2FkYXV0aG9yJ10pOwoKJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHMgU0VUCiAgICAgICAgICB1cGxvYWRfbmFtZSA9ID8sIHVwbG9hZF9hdXRob3IgPSA/LAogICAgICAgICAgdXBsb2FkX3N1bW1hcnkgPSA/LCB1cGxvYWRfZGVzY3JpcHRpb24gPSA/LAogICAgICAgICAgdXBsb2FkX2NhdGVnb3J5X2lkID0gPyAsCiAgICAgICAgICB1cGxvYWRfdGh1bWJuYWlsID0gPwogICAgICAgICAgV0hFUkUgdXBsb2FkX2lkID0gPyI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJG5ld25hbWUsICRuZXdhdXRob3IsICRuZXdzdW1tYXJ5LCAkbmV3ZGVzYywgJG5ld2NhdGVnb3J5LAoJCQkJCQkJCQkJCQkJCQkJCQkJCSAkbmV3dGh1bWIsICRwYXJhbXNbJ3VwbG9hZF9pZCddICkgKTsKCi8vIGRlbGV0ZSBhbnkgZXhpc3RpbmcgY3VzdG9tIGZpZWxkcwokcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2ZpZWxkdmFscyBXSEVSRSB1cGxvYWRfaWQgPSA/JzsKJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWyd1cGxvYWRfaWQnXSkpOwoKLy8gaGFuZGxlIG5ldyBjdXN0b20gZmllbGQgdmFsdWVzLgokaXF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZHZhbHMKICAgICAgICAgICAgICAgICAodXBsb2FkX2lkLCBmbGRfaWQsIHZhbHVlKSBWQUxVRVMgKD8sPyw/KSc7CmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CglpZiggIXN0YXJ0c3dpdGgoJGtleSwnZmllbGRfJykgKSBjb250aW51ZTsKCgkkZmllbGRfaWQgPSAoaW50KXN1YnN0cigka2V5LDYpOwoJaWYoIGlzX2FycmF5KCAkdmFsdWUgKSApICR2YWx1ZSA9IGltcGxvZGUoJywnLCR2YWx1ZSk7CgkkZGItPkV4ZWN1dGUoJGlxdWVyeSxhcnJheSgkcGFyYW1zWyd1cGxvYWRfaWQnXSwkZmllbGRfaWQsJHZhbHVlKSk7Cn0KCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLAkkdGhpcy0+TGFuZygnZWRpdGVkJywgJHJvd1sndXBsb2FkX25hbWUnXSkgKTsKCiMgYWxsb3cgbmV3IHRodW1ibmFpbCB0byBiZSB1cGxvYWRlZAokdG1wID0gJGlkLidpbnB1dF9uZXd0aHVtYm5haWwnOwppZiggaXNzZXQoJF9GSUxFU1skdG1wXSkgJiYgIWVtcHR5KCRfRklMRVNbJHRtcF1bJ25hbWUnXSkgJiYKCQkkX0ZJTEVTWyR0bXBdWydzaXplJ10gPiAwICYmJF9GSUxFU1skdG1wXVsnZXJyb3InXSA9PSAwICkgewoJJG5hbWUgPSAkcm93Wyd1cGxvYWRfbmFtZSddOwoJJHRodW1iX2V4dCA9IHN0cnJjaHIoJF9GSUxFU1skdG1wXVsnbmFtZSddLCcuJyk7CgkkZmlsZV9leHQgPSBzdHJyY2hyKCRuYW1lLCcuJyk7CgkkZm5hbWUgPSBzdWJzdHIoJG5hbWUsMCxzdHJsZW4oJG5hbWUpLXN0cmxlbigkZmlsZV9leHQpKTsKCSR0aHVtYl9uYW1lID0gJ3RodW1iXycuJGZuYW1lLiR0aHVtYl9leHQ7CgkkdG5fb2xkZmlsZSA9ICR0aGlzLT5fY2F0ZWdvcnlQYXRoKCAkY2F0cGF0aC5ESVJFQ1RPUllfU0VQQVJBVE9SLiRyb3dbJ3VwbG9hZF90aHVtYm5haWwnXSk7CgoJaWYoIGZpbGVfZXhpc3RzKCAkdG5fb2xkZmlsZSApICkgQHVubGluaygkdG5fb2xkZmlsZSk7CgkkdG5fbmV3ZmlsZSAgID0gJHRoaXMtPl9jYXRlZ29yeVBhdGgoICRjYXRwYXRoLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRodW1iX25hbWUpOwoJaWYoIGZpbGVfZXhpc3RzKCR0bl9uZXdmaWxlKSApIEB1bmxpbmsoJHRuX25ld2ZpbGUpOwoJY21zX21vdmVfdXBsb2FkZWRfZmlsZSggJF9GSUxFU1skdG1wXVsndG1wX25hbWUnXSwkdG5fbmV3ZmlsZSApOwoKCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzCiAgICAgICAgICAgIFNFVCB1cGxvYWRfdGh1bWJuYWlsID0gPyBXSEVSRSB1cGxvYWRfaWQgPSA/JzsKCSRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHRodW1iX25hbWUsJHJvd1sndXBsb2FkX2lkJ10pKTsKfQoKLy8gdXBkYXRlIHNlYXJjaCB3b3Jkcy4KJHNlYXJjaCA9IGNtc191dGlsczo6Z2V0X3NlYXJjaF9tb2R1bGUoKTsKaWYoICRzZWFyY2ggKSB1cGxvYWRzX3V0aWxzOjppbmRleF91cGxvYWQoJHJvd1sndXBsb2FkX2lkJ10sJHNlYXJjaCk7CgovLyBkb25lLgokcmV0dXJudG8gPSAkdGhpcy0+cG9wX3JldHVyblRvKCk7CmlmKCAkcmV0dXJudG8gKSB7CiAgICByZWRpcmVjdCgkcmV0dXJudG8pOwp9CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCwgJ2ZpbGVzJywgYXJyYXkoICdjdXJjYXRlZ29yeScgPT4gJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkgKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.do_upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0KCk7CiR1c2VfYXV0b2dlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1c2VfYXV0b2dlbl9maWxlbmFtZXMnLDApOwoKLy8gYSB1c2VyIGlzIHRyeWluZyB0byB1cGxvYWQgc29tZXRoaW5nCi8vIGZpcnN0IGNoZWNrIGlmIGNhcHRjaGEgd2FzIHNldAokY2FwdGNoYSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ2FwdGNoYScpOwppZiggaXNfb2JqZWN0KCRjYXB0Y2hhKSAmJiAhaXNzZXQoJHBhcmFtc1snbm9jYXB0Y2hhJ10pICkgewogIGlmICghJGNhcHRjaGEtPkNoZWNrQ2FwdGNoYSgkcGFyYW1zWydpbnB1dF9jYXB0Y2hhJ10pKSB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnZXJyb3JfY2FwdGNoYW1pc21hdGNoJykpOwogICAgcmV0dXJuOwogIH0KfQoKJHBhcmFtc1snaW5wdXRfcmVwbGFjZSddID0gMDsgLy8gbm8gcmVwbGFjaW5nIGZpbGVzIGFsbG93ZWQuCiRyZXQgPSAkdGhpcy0+QXR0ZW1wdFVwbG9hZCAoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQpOwppZiggJHJldFswXSA9PSBGQUxTRSApIHsKICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkcmV0WzFdICk7CiAgcmV0dXJuOwp9CiRzdHIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVkaXJlY3Rfb25fdXBsb2FkJyk7CiRpZCA9ICRyZXR1cm5pZDsKaWYoICRzdHIgIT0gJycgKSB7CiAgICAkaWQgPSBDb250ZW50TWFuYWdlcjo6R2V0UGFnZUlERnJvbUFsaWFzKCAkc3RyICk7CiAgICBpZiggISRpZCApICRpZCA9ICRyZXR1cm5pZDsgLy8gcGFnZSBub3QgZm91bmQsIGlnbm9yZSBpdAp9CiR0aGlzLT5SZWRpcmVjdENvbnRlbnQoICRpZCApOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24gKCdNYW5hZ2UgVXBsb2FkcycpKSBleGl0OwoKJHNtYXJ0eS0+YXNzaWduICgndGl0bGUnLCAkdGhpcy0+TGFuZyAoJ2VkaXRjYXRlZ29yeScpKTsKCi8vIGNoZWNrIHRoaW5ncyBvdXQKaWYgKCFpc3NldCAoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpIHsKCSRzbWFydHktPmFzc2lnbiAoJ21lc3NhZ2UnLCAkdGhpcy0+TGFuZyAoJ2Vycm9yX25vY2F0ZWdvcnknKSk7Cgkkc21hcnR5LT5hc3NpZ24gKCdlcnJvcicsIDEpOwoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlICgnYWRkY2F0ZWdvcnkudHBsJyk7CglyZXR1cm47Cn0KCi8vIGdldCB0aGUgY2F0ZWdvcnkgaW5mbyBmcm9tIHRoZSBkYXRhYmFzZSAoZm9yIHRoaXMgY2F0ZWdvcnkpCiRxdWVyeSA9CiAgIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4ICgpLgogICJtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzIFdIRVJFIHVwbG9hZF9jYXRlZ29yeV9pZCA9ID8iOwokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUgKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkpOwppZiAoISRkYnJlc3VsdCkgewoJJHNtYXJ0eS0+YXNzaWduICgnbWVzc2FnZScsICR0aGlzLT5MYW5nICgnZXJyb3JfZGJlcnJvcicpKTsKCSRzbWFydHktPmFzc2lnbiAoJ2Vycm9yJywgMSk7CgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUgKCdhZGRjYXRlZ29yeS50cGwnKTsKCXJldHVybjsKfQokcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdyAoKTsKaWYgKCEkcm93KSB7Cgkkc21hcnR5LT5hc3NpZ24gKCdtZXNzYWdlJywgJHRoaXMtPkxhbmcgKCdlcnJvcl9kYmVycm9yJykpOwoJJHNtYXJ0eS0+YXNzaWduICgnZXJyb3InLCAxKTsKCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSAoJ2FkZGNhdGVnb3J5LnRwbCcpOwoJcmV0dXJuOwp9CgppZiggJHJvd1sndXBsb2FkX2NhdGVnb3J5X2RmbHR1c2VycGVybXMnXSAhPSAnJyApIHsKCSRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJ10gPSBleHBsb2RlKCcsJywkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcyddKTsKfQoKLy8gcG9wdWxhdGUgdGhlIHRlbXBsYXRlCiRzbWFydHktPmFzc2lnbiAoInN0YXJ0Zm9ybSIsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZG9fZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCdwb3N0JywnJyxmYWxzZSwnJywkcGFyYW1zKSk7CiRzbWFydHktPmFzc2lnbiAoJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7CiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnlfaWQnLCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pOwokc21hcnR5LT5hc3NpZ24oJ2RhdGEnLCRyb3cpOwoKJHNtYXJ0eS0+YXNzaWduICgnc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdCcsICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24gKCdjYW5jZWwnLCR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnY2FuY2VsJywgJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7Cgokc21hcnR5LT5hc3NpZ24gKCdoaWRkZW4nLAoJCSAgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4gKCRpZCwgJ2NhdGVnb3J5X2lkJywkcGFyYW1zWydjYXRlZ29yeV9pZCddKSk7CgokZmV1c2VycyA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggJGZldXNlcnMgKSB7CgkvLyBnZXQgYSBsaXN0IG9mIHRoZSBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlCgkkZ3JvdXBzID0gJGZldXNlcnMtPkdldEdyb3VwTGlzdCgpOwoJJHNtYXJ0eS0+YXNzaWduKCdmZXVfZ3JvdXBzJyxhcnJheV9mbGlwKCRncm91cHMpKTsKCSRzZWxncm91cHMgPSBhcnJheSgpOwoJaWYoIGNvdW50KCRncm91cHMpID4gMCApIHsKCQkkc2VsZ3JvdXBzID0gYXJyYXkoKTsKCQlpZiggaXNzZXQoJHJvd1sndXBsb2FkX2NhdGVnb3J5X2dyb3VwcyddKSAmJiAkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfZ3JvdXBzJ10gIT0gJycgKSB7CgkJCSRzZWxncm91cHMgPSBleHBsb2RlKCcsJywkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfZ3JvdXBzJ10pOwoJCX0KCQkkc21hcnR5LT5hc3NpZ24oJ2dyb3VwbGlzdCcsJHNlbGdyb3Vwcyk7Cgl9Cn0KCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSAoJ2FkZGNhdGVnb3J5LnRwbCcpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.editupload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgVXBsb2FkcycpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdVcGxvYWQgRmlsZXMgdG8gVXBsb2FkcycpKSByZXR1cm47CgovLyBjaGVjayB0aGluZ3Mgb3V0CmlmICghaXNzZXQgKCRwYXJhbXNbJ3VwbG9hZF9pZCddKSkgewoJJHNtYXJ0eS0+YXNzaWduICgnbWVzc2FnZScsICR0aGlzLT5MYW5nICgnZXJyb3Jfbm9pZCcpKTsKCSRzbWFydHktPmFzc2lnbiAoJ2Vycm9yJywgMSk7CgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUgKCdlZGl0dXBsb2FkLnRwbCcpOwoJcmV0dXJuOwp9CgovLyBnZXQgdGhlIGluZm8gZnJvbSB0aGUgZGF0YWJhc2UgKGZvciB0aGlzIGZpbGUpCiRyb3cgPSAkdGhpcy0+R2V0VXBsb2FkRGV0YWlscygkcGFyYW1zWyd1cGxvYWRfaWQnXSk7CmlmICghJHJvdykgewoJJHNtYXJ0eS0+YXNzaWduICgnbWVzc2FnZScsICR0aGlzLT5MYW5nICgnZXJyb3JfZGJlcnJvcicpKTsKCSRzbWFydHktPmFzc2lnbiAoJ2Vycm9yJywgMSk7CgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUgKCdlZGl0dXBsb2FkLnRwbCcpOwoJcmV0dXJuOwp9CmlmKCBpc3NldCgkcm93Wyd1cGxvYWRfdXNlcnBlcm1zJ10pICYmICRyb3dbJ3VwbG9hZF91c2VycGVybXMnXSApICRyb3dbJ3VwbG9hZF91c2VycGVybXMnXSA9IGV4cGxvZGUoJywnLCRyb3dbJ3VwbG9hZF91c2VycGVybXMnXSk7Cgokc2VsX2NhdGVnb3J5ID0gXGNnZV9wYXJhbTo6Z2V0X2ludCgkcGFyYW1zLCdjYXRlZ29yeV9pZCcpOwppZiggaXNzZXQoJHJvd1snY2F0ZWdvcnlfaWQnXSkgKSAkc2VsX2NhdGVnb3J5ID0gKGludCkkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X21vdmVjYXRlZ29yeSddKSApICRzZWxfY2F0ZWdvcnkgPSAoaW50KSRwYXJhbXNbJ2lucHV0X21vdmVjYXRlZ29yeSddOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApIHsKCSRwYXJtcyA9IGFycmF5KCk7CglpZiggaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlfaWQnXSkgKSAkcGFybXNbJ2N1cmNhdGVnb3J5J10gPSAkcGFyYW1zWydjYXRlZ29yeV9pZCddOwogICAgJHJldHVybnRvID0gJHRoaXMtPnBvcF9yZXR1cm5UbygpOwogICAgaWYoICRyZXR1cm50byApIHsKICAgICAgICByZWRpcmVjdCgkcmV0dXJudG8pOwogICAgfQoJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAnZmlsZXMnLCAkcGFybXMpOwp9CmlmKCBpc3NldCgkcGFyYW1zWydkZWxldGUnXSkgKSB7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdkb19kZWxldGV1cGxvYWQnLCRyZXR1cm5pZCxhcnJheSgndXBsb2FkX2lkJz0+JHBhcmFtc1sndXBsb2FkX2lkJ10pKTsKfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydyZXBsYWNlJ10pICkgewoJLy8gcmUtdXBsb2FkIGV4aXN0aW5nIGZpbGUuLi4gYnV0IHdlJ3JlIG5vdCBnb25uYSB0b3VjaCB0aGUKCS8vIG90aGVyIGluZm8gKGxpa2UgYXV0aG9yLi4uLCBvciB0aGUgZmllbGRzKS4KCSRmaWxlc19rZXkgPSAkaWQuJ3JlcGxhY2VfZmlsZSc7CglpZiggIWlzc2V0KCRfRklMRVNbJGZpbGVzX2tleV0pIHx8ICgkX0ZJTEVTWyRmaWxlc19rZXldWyduYW1lJ10gPT0gJycpIHx8CgkJCSgkX0ZJTEVTWyRmaWxlc19rZXldWydzaXplJ10gPT0gMCkgfHwgKCRfRklMRVNbJGZpbGVzX2tleV1bJ2Vycm9yJ10gIT0gMCApICkgewoJCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3Jfbm9maWxlc3VwbG9hZGVkJykpOwoJCXVuc2V0KCRwYXJhbXNbJ3JlcGxhY2UnXSk7CgkJJHRoaXMtPkNHUmVkaXJlY3QoJGlkLCdlZGl0dXBsb2FkJywkcmV0dXJuaWQsJHBhcmFtcyk7Cgl9CgoJLy8gbWFrZSBzdXJlIGl0J3MgYW4gYWxsb3dlZCBmaWxlIHR5cGUKCSRuZXdmaWxlZXh0ZW5zaW9uID0gc3RydG9sb3dlcihzdHJyY2hyKCRfRklMRVNbJGZpbGVzX2tleV1bJ25hbWUnXSwnLicpKTsKCWlmKCAhJHRoaXMtPl9pc1ZhbGlkRmlsZW5hbWUoJF9GSUxFU1skZmlsZXNfa2V5XVsnbmFtZSddKSApIHsKCQkkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWR1cGxvYWRmaWxlbmFtZScsJF9GSUxFU1skZmlsZXNfa2V5XVsnbmFtZSddKSk7CgkJdW5zZXQoJHBhcmFtc1sncmVwbGFjZSddKTsKCQkkdGhpcy0+Q0dSZWRpcmVjdCgkaWQsJ2VkaXR1cGxvYWQnLCRyZXR1cm5pZCwkcGFyYW1zKTsKCX0KCgkvLyBhbmQgdGhlIG9sZCBjYXRlZ29yeQoJJGNhdDJyb3cgPSB1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnkoICRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9pZCddKTsKCWlmKCAhJGNhdDJyb3cgKSB7CgkJJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9kYmVycm9yJykpOwoJCXVuc2V0KCRwYXJhbXNbJ3JlcGxhY2UnXSk7CgkJJHRoaXMtPkNHUmVkaXJlY3QoJGlkLCdlZGl0dXBsb2FkJywkcmV0dXJuaWQsJHBhcmFtcyk7Cgl9CgoJJGZyb21maWxlID0gJHRoaXMtPl91cGxvYWRQYXRoKCAkY2F0MnJvd1sndXBsb2FkX2NhdGVnb3J5X3BhdGgnXSwgdHJpbSgkcm93Wyd1cGxvYWRfbmFtZSddKSApOwoJJGZpbGVleHRlbnNpb24gPSBzdHJ0b2xvd2VyKHN0cnJjaHIoJGZyb21maWxlLCcuJykpOwoJaWYoICRmaWxlZXh0ZW5zaW9uICE9ICRuZXdmaWxlZXh0ZW5zaW9uICkgewoJCS8vIHVobSwgeW91IGNhbid0IHJlcGxhY2UgYSBmaWxlIG9mIGEgZGlmZmVyZW50IHR5cGUKCQkkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX3JlcGxhY2VfbWlzbWF0Y2hlZF9maWxlZXh0JykpOwoJCXVuc2V0KCRwYXJhbXNbJ3JlcGxhY2UnXSk7CgkJJHRoaXMtPkNHUmVkaXJlY3QoJGlkLCdlZGl0dXBsb2FkJywkcmV0dXJuaWQsJHBhcmFtcyk7Cgl9CgoJLy8gd2UncmUgYWxsIGdvb2QgdG8gZ28uCglpZiggZmlsZV9leGlzdHMoJGZyb21maWxlKSApIEB1bmxpbmsoJGZyb21maWxlKTsKCWNtc19tb3ZlX3VwbG9hZGVkX2ZpbGUoICRfRklMRVNbJGZpbGVzX2tleV1bJ3RtcF9uYW1lJ10sJGZyb21maWxlICk7Cn0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkgewogICAgJGNhdDFyb3cgPSB1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnkoJHBhcmFtc1snaW5wdXRfbW92ZWNhdGVnb3J5J10pOwogICAgaWYoICEkY2F0MXJvdyApIHsKICAgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+TGFuZyAoJ2Vycm9yX2RiZXJyb3InKSk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgJGNhdHBhdGggID0gJGNhdDFyb3dbJ3VwbG9hZF9jYXRlZ29yeV9wYXRoJ107CgoJaWYoICRwYXJhbXNbJ2lucHV0X21vdmVjYXRlZ29yeSddICE9ICRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9pZCddIHx8ICRwYXJhbXNbJ2lucHV0X3VwbG9hZG5hbWUnXSAhPSAkcm93Wyd1cGxvYWRfbmFtZSddICkgewoJCS8vIGxvb2tzIGxpa2Ugd2UgaGF2ZSB0byBtb3ZlIGl0CgkJLy8gZ2V0IHRoZSBpbmZvIGZvciB0aGUgbmV3IGNhdGVnb3J5CgkJaWYoICRjYXQxcm93Wyd1cGxvYWRfY2F0ZWdvcnlfdXNlcnBlcm1zJ10gJiYgJGNhdDFyb3dbJ3VwbG9hZF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJ10gIT0gJycgKSB7CgkJCWlmKCAkcm93Wyd1cGxvYWRfdXNlcnBlcm1zJ10gPT0gJycgKSB7CgkJCQkvLyB0aGlzIGZpbGUgZG9lcyBub3QgaGF2ZSB1c2VyIHBlcm1pc3Npb25zLCBidXQgdGhlIGRlc3RpbmF0aW9uIGNhdGVnb3J5IGRvZXMuCgkJCQkvLyBzbyBjb3B5IHRoZW0gZnJvbSB0aGUgZGVzdGluYXRpb24gY2F0ZWdvcnkuCgkJCQkkcm93Wyd1cGxvYWRfdXNlcnBlcm1zJ10gPSAkY2F0MXJvd1sndXBsb2FkX2NhdGVnb3J5X2RmbHR1c2VycGVybXMnXTsKCQkJfQoJCX0KCgkJLy8gbm93IHdlIGNhbiBtb3ZlIHRoZSBmaWxlIGZyb20gZGlyZWN0b3J5IG9uZSB0byB0d28uCgkJLy8gaWYgaXQgZG9lc24ndCBhbHJlYWR5IGV4aXN0IGluIHRoZSBkZXN0aW5hdGlvbiBkaXJlY3RvcnkKCQkkZnJvbWZpbGUgPSAkdGhpcy0+X3VwbG9hZFBhdGgoICR0aGlzLT5nZXRDYXRlZ29yeVBhdGhGcm9tSUQoJHJvd1sndXBsb2FkX2NhdGVnb3J5X2lkJ10pLCB0cmltKCRyb3dbJ3VwbG9hZF9uYW1lJ10pICk7CgkJJHRvZmlsZSAgID0gJHRoaXMtPl91cGxvYWRQYXRoKCAkY2F0MXJvd1sndXBsb2FkX2NhdGVnb3J5X3BhdGgnXSwgdHJpbSgkcGFyYW1zWydpbnB1dF91cGxvYWRuYW1lJ10pICk7CgoJCS8vIG1vdmUgdGhlIGZpbGUKCQlpZiggZmlsZV9leGlzdHMoICR0b2ZpbGUgKSApIHsKCQkJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcgKCdlcnJvcl9maWxlZXhpc3RzJywkdG9maWxlKSk7CgkJCXJldHVybjsKCQl9CgoJCWlmKCAkZnJvbWZpbGUgPT0gJHRvZmlsZSApIHsKCQkJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcgKCdlcnJvcl9maWxlZXhpc3RzJywkdG9maWxlKSk7CgkJCXJldHVybjsKCQl9CgoJCWlmKCAhcmVuYW1lKCAkZnJvbWZpbGUsICR0b2ZpbGUgKSApIHsKCQkJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcgKCdlcnJvcl9jYW5ub3RyZW5hbWUnKSk7CgkJCXJldHVybjsKCQl9CgoJCS8vIGFuZCBtb3ZlIGFueSB0aHVtYm5haWwKCQlpZiggIWVtcHR5KCRyb3dbJ3VwbG9hZF90aHVtYm5haWwnXSkgKSB7CgkJCSR0bl9mcm9tZmlsZSA9ICR0aGlzLT5fY2F0ZWdvcnlQYXRoKCAkY2F0MnJvd1sndXBsb2FkX2NhdGVnb3J5X3BhdGgnXS5ESVJFQ1RPUllfU0VQQVJBVE9SLiRyb3dbJ3VwbG9hZF90aHVtYm5haWwnXSApOwoJCQkkdGh1bWJfZXh0ID0gc3RycmNocigkcm93Wyd1cGxvYWRfdGh1bWJuYWlsJ10sJy4nKTsKCQkJJGZuID0gdHJpbSgkcGFyYW1zWydpbnB1dF91cGxvYWRuYW1lJ10pOwoJCQkkdG1wID0gc3RycnBvcygkZm4sJy4nKTsKCQkJaWYoICR0bXAgIT09IEZBTFNFICkgJGZuID0gc3Vic3RyKCRmbiwwLCR0bXApOwoJCQkkcm93Wyd1cGxvYWRfdGh1bWJuYWlsJ10gPSAndGh1bWJfJy4kZm4uJHRodW1iX2V4dDsKCQkJJGNhdHBhdGggPSAkY2F0MXJvd1sndXBsb2FkX2NhdGVnb3J5X3BhdGgnXTsKCQkJJHRuX3RvZmlsZSAgID0gJHRoaXMtPl9jYXRlZ29yeVBhdGgoICRjYXRwYXRoLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHJvd1sndXBsb2FkX3RodW1ibmFpbCddKTsKCQkJLy8gYW5kIHJlbmFtZSB0aGUgdGh1bWJuYWlsCgkJCUByZW5hbWUoICR0bl9mcm9tZmlsZSwgJHRuX3RvZmlsZSApOwoJCX0KCgkJLy8gc2V0IHRoZSBuZXcgY2F0ZWdvcnkgbmFtZS4KCQkkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSA9ICRwYXJhbXNbJ2lucHV0X21vdmVjYXRlZ29yeSddOwoJfQoKCWlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfY2hhbmdlZGF0ZScpICkgewoJCWlmKCBpc3NldCgkcGFyYW1zWyd1cGxvYWRfZGF0ZV9Nb250aCddKSAmJiBpc3NldCgkcGFyYW1zWyd1cGxvYWRfZGF0ZV9Ib3VyJ10pICkgewoJCQkkdGltZSA9IG1rdGltZSgoaW50KSRwYXJhbXNbJ3VwbG9hZF9kYXRlX0hvdXInXSwoaW50KSRwYXJhbXNbJ3VwbG9hZF9kYXRlX01pbnV0ZSddLChpbnQpJHBhcmFtc1sndXBsb2FkX2RhdGVfU2Vjb25kJ10sCgkJCQkJCQkJCQkgKGludCkkcGFyYW1zWyd1cGxvYWRfZGF0ZV9Nb250aCddLChpbnQpJHBhcmFtc1sndXBsb2FkX2RhdGVfRGF5J10sKGludCkkcGFyYW1zWyd1cGxvYWRfZGF0ZV9ZZWFyJ10pOwoJCQkkcm93Wyd1cGxvYWRfZGF0ZSddID0gdHJpbSgkZGItPkRiVGltZVN0YW1wKCR0aW1lKSwiJyIpOwoJCX0KCX0KCglpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfdXBsb2FkZGVzYyddKSApICRyb3dbJ3VwbG9hZF9kZXNjcmlwdGlvbiddID0gdHJpbSgkcGFyYW1zWydpbnB1dF91cGxvYWRkZXNjJ10pOwoJaWYoICRwYXJhbXNbJ2lucHV0X3VwbG9hZG5hbWUnXSAhPSAkcm93Wyd1cGxvYWRfbmFtZSddICkgJHJvd1sndXBsb2FkX25hbWUnXSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfdXBsb2FkbmFtZSddKTsKCWlmKCAkcGFyYW1zWydpbnB1dF91cGxvYWRzdW1tYXJ5J10gIT0gJHJvd1sndXBsb2FkX3N1bW1hcnknXSApICRyb3dbJ3VwbG9hZF9zdW1tYXJ5J10gPSB0cmltKCRwYXJhbXNbJ2lucHV0X3VwbG9hZHN1bW1hcnknXSk7CglpZiggJHBhcmFtc1snaW5wdXRfdXBsb2FkYXV0aG9yJ10gIT0gJHJvd1sndXBsb2FkX2F1dGhvciddICkgJHJvd1sndXBsb2FkX2F1dGhvciddID0gdHJpbSgkcGFyYW1zWydpbnB1dF91cGxvYWRhdXRob3InXSk7CglpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfdXNlcnBlcm1zX3NldCddKSApIHsKCQkkcm93Wyd1cGxvYWRfdXNlcnBlcm1zJ10gPSAnJzsKCQlpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfdXNlcnBlcm1zJ10pICkgJHJvd1sndXBsb2FkX3VzZXJwZXJtcyddID0gaW1wbG9kZSgnLCcsJHBhcmFtc1snaW5wdXRfdXNlcnBlcm1zJ10pOwoJfQoKCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzCiAgICAgICAgICAgIFNFVCB1cGxvYWRfbmFtZSA9ID8sIHVwbG9hZF9hdXRob3IgPSA/LCB1cGxvYWRfZGF0ZSA9ID8sIHVwbG9hZF9zdW1tYXJ5ID0gPywgdXBsb2FkX2Rlc2NyaXB0aW9uID0gPywKICAgICAgICAgICAgdXBsb2FkX2NhdGVnb3J5X2lkID0gPyAsdXBsb2FkX3RodW1ibmFpbCA9ID8sIHVwbG9hZF91c2VycGVybXMgPSA/IFdIRVJFIHVwbG9hZF9pZCA9ID8iOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnksCgkJCQkJCQkJCQkJCQkJYXJyYXkoICRyb3dbJ3VwbG9hZF9uYW1lJ10sICRyb3dbJ3VwbG9hZF9hdXRob3InXSwgJHJvd1sndXBsb2FkX2RhdGUnXSwKCQkJCQkJCQkJCQkJCQkJCQkgJHJvd1sndXBsb2FkX3N1bW1hcnknXSwgJHJvd1sndXBsb2FkX2Rlc2NyaXB0aW9uJ10sICRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9pZCddLCAkcm93Wyd1cGxvYWRfdGh1bWJuYWlsJ10sCgkJCQkJCQkJCQkJCQkJCQkJICRyb3dbJ3VwbG9hZF91c2VycGVybXMnXSwgJHBhcmFtc1sndXBsb2FkX2lkJ10gKSApOwoKCS8vIGRlbGV0ZSBhbnkgZXhpc3RpbmcgY3VzdG9tIGZpZWxkcwoJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZHZhbHMgV0hFUkUgdXBsb2FkX2lkID0gPyc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ3VwbG9hZF9pZCddKSk7CgoJLy8gaGFuZGxlIG5ldyBjdXN0b20gZmllbGQgdmFsdWVzLgoJJGlxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGR2YWxzICh1cGxvYWRfaWQsIGZsZF9pZCwgdmFsdWUpIFZBTFVFUyAoPyw/LD8pJzsKCWZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CgkJaWYoICFzdGFydHN3aXRoKCRrZXksJ2ZpZWxkXycpICkgY29udGludWU7CgoJCSRmaWVsZF9pZCA9IChpbnQpc3Vic3RyKCRrZXksNik7CgkJaWYoIGlzX2FycmF5KCAkdmFsdWUgKSApICR2YWx1ZSA9IGltcGxvZGUoJywnLCR2YWx1ZSk7CgkJJGRiLT5FeGVjdXRlKCRpcXVlcnksYXJyYXkoJHBhcmFtc1sndXBsb2FkX2lkJ10sJGZpZWxkX2lkLCR2YWx1ZSkpOwoJfQoKCSR0aGlzLT5BdWRpdCgkcm93Wyd1cGxvYWRfaWQnXSwgJHRoaXMtPkdldE5hbWUoKSwgJ0ZpbGUgRWRpdGVkICcuJHJvd1sndXBsb2FkX25hbWUnXSk7CgoJLy8gYWxsb3cgbmV3IHRodW1ibmFpbCB0byBiZSB1cGxvYWRlZAoJJHRtcCA9ICRpZC4naW5wdXRfbmV3dGh1bWJuYWlsJzsKCWlmKCBpc3NldCgkX0ZJTEVTWyR0bXBdKSAmJiAhZW1wdHkoJF9GSUxFU1skdG1wXVsnbmFtZSddKSAmJiAkX0ZJTEVTWyR0bXBdWydzaXplJ10gPiAwICYmCSRfRklMRVNbJHRtcF1bJ2Vycm9yJ10gPT0gMCApIHsKCQkkbmFtZSA9ICRyb3dbJ3VwbG9hZF9uYW1lJ107CgkJJHRodW1iX2V4dCA9IHN0cnJjaHIoJF9GSUxFU1skdG1wXVsnbmFtZSddLCcuJyk7CgkJJGZpbGVfZXh0ID0gc3RycmNocigkbmFtZSwnLicpOwoJCSRmbmFtZSA9IHN1YnN0cigkbmFtZSwwLHN0cmxlbigkbmFtZSktc3RybGVuKCRmaWxlX2V4dCkpOwoJCSR0aHVtYl9uYW1lID0gJ3RodW1iXycuJGZuYW1lLiR0aHVtYl9leHQ7CgkJJHRuX29sZGZpbGUgPSAkdGhpcy0+X2NhdGVnb3J5UGF0aCggJGNhdHBhdGguRElSRUNUT1JZX1NFUEFSQVRPUi4kcm93Wyd1cGxvYWRfdGh1bWJuYWlsJ10pOwoKCQlpZiggZmlsZV9leGlzdHMoICR0bl9vbGRmaWxlICkgKSBAdW5saW5rKCR0bl9vbGRmaWxlKTsKCQkkdG5fbmV3ZmlsZSAgID0gJHRoaXMtPl9jYXRlZ29yeVBhdGgoICRjYXRwYXRoLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRodW1iX25hbWUpOwoJCWlmKCBmaWxlX2V4aXN0cygkdG5fbmV3ZmlsZSkgKSBAdW5saW5rKCR0bl9uZXdmaWxlKTsKCQljbXNfbW92ZV91cGxvYWRlZF9maWxlKCAkX0ZJTEVTWyR0bXBdWyd0bXBfbmFtZSddLCR0bl9uZXdmaWxlICk7CgoJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzIFNFVCB1cGxvYWRfdGh1bWJuYWlsID0gPyBXSEVSRSB1cGxvYWRfaWQgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR0aHVtYl9uYW1lLCRyb3dbJ3VwbG9hZF9pZCddKSk7Cgl9CgoJLy8gdXBkYXRlIHNlYXJjaCB3b3Jkcy4KCSRzZWFyY2ggPSBjbXNfdXRpbHM6OmdldF9zZWFyY2hfbW9kdWxlKCk7CglpZiggJHNlYXJjaCApIHVwbG9hZHNfdXRpbHM6OmluZGV4X3VwbG9hZCgkcm93Wyd1cGxvYWRfaWQnXSwkc2VhcmNoKTsKCgkvLyBkb25lLgogICAgJHJldHVybnRvID0gJHRoaXMtPnBvcF9yZXR1cm5UbygpOwogICAgaWYoICRyZXR1cm50byApIHsKICAgICAgICByZWRpcmVjdCgkcmV0dXJudG8pOwogICAgfQoJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAnZmlsZXMnLCBhcnJheSggJ2N1cmNhdGVnb3J5JyA9PiAkcGFyYW1zWydjYXRlZ29yeV9pZCddKSApOwp9IC8vIHN1Ym1pdAplbHNlIHsKCS8vIG5vdGhpbmcgZWxzZSBoYXBwZW5lZC4uLiBhc3N1bWUgdGhhdCB0aGlzIGlzIGFuIGFqYXh5IHJlcXVlc3Qgb3Igc29tZXRoaW5nIGxpa2UgdGhhdC4KfQoKCi8vCi8vIHBvcHVsYXRlIHRoZSB0ZW1wbGF0ZQovLwoKLy8gZ2V0IHRoZSBmZXUgZ3JvdXAgbGlzdAokZmV1ID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCBpc19vYmplY3QoJGZldSkgKSB7CgkkZ3JvdXBzID0gJGZldS0+R2V0R3JvdXBMaXN0KCk7CglpZiggaXNfYXJyYXkoJGdyb3VwcykgJiYgY291bnQoJGdyb3VwcykgKSAkc21hcnR5LT5hc3NpZ24oJ2ZldV9ncm91cGxpc3QnLGFycmF5X2ZsaXAoJGdyb3VwcykpOwp9CgovLyBnZXQgdGhlIGNhdGVnb3J5IGxpc3QKJGNhdGVnb3J5bGlzdCA9IHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yeV9saXN0KCk7CnsKCSRkYnJlc3VsdCA9IHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yaWVzKCk7CglpZiggaXNfYXJyYXkoJGRicmVzdWx0KSAmJiBjb3VudCgkZGJyZXN1bHQpICkgewoJCWZvcmVhY2goICRkYnJlc3VsdCBhcyAkY2F0cm93ICkgewoJCQlpZiggJGNhdHJvd1sndXBsb2FkX2NhdGVnb3J5X2RmbHR1c2VycGVybXMnXSAhPSAnJyApICRjYXRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJ10gPSBleHBsb2RlKCcsJywkY2F0cm93Wyd1cGxvYWRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcyddKTsKCQkJaWYoICRzZWxfY2F0ZWdvcnkgPT0gJGNhdHJvd1sndXBsb2FkX2NhdGVnb3J5X2lkJ10gKSAkc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5X2luZm8nLCRjYXRyb3cpOwoJCX0KCX0KfQoKLy8gZ2V0IGN1c3RvbSBmaWVsZCBpbmZvLgokZmllbGRzID0gYXJyYXkoKTsKewogICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZGRlZnMgT1JERVIgQlkgaW9yZGVyJzsKICAkdGZpZWxkcyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGR2YWxzIFdIRVJFIHVwbG9hZF9pZCA9ID8nOwoJJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbJ3VwbG9hZF9pZCddKSk7CgkkdHZhbHMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnZmxkX2lkJyk7CgogIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0ZmllbGRzKTsgJGkrKyApIHsKCQkkdGZpZWxkc1skaV1bJ2F0dHJpYiddID0gdW5zZXJpYWxpemUoJHRmaWVsZHNbJGldWydhdHRyaWJzJ10pOwoJCXVuc2V0KCR0ZmllbGRzWyRpXVsnYXR0cmlicyddKTsKCQkkdGZpZWxkc1skaV1bJ3ZhbHVlJ10gPSAnJzsKCQlpZiggaXNfYXJyYXkoJHR2YWxzKSAmJiBpc3NldCgkdHZhbHNbJHRmaWVsZHNbJGldWydpZCddXSkgKSAkdGZpZWxkc1skaV1bJ3ZhbHVlJ10gPSAkdHZhbHNbJHRmaWVsZHNbJGldWydpZCddXVsndmFsdWUnXTsKCgkJc3dpdGNoKCR0ZmllbGRzWyRpXVsndHlwZSddKSB7CgkJY2FzZSAndGV4dGFyZWEnOgoJCQkkdGZpZWxkc1skaV1bJ2lucHV0J10gPQoJCQkJJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGlzc2V0KCR0ZmllbGRzWyRpXVsnYXR0cmliJ11bJ3VzZXd5c2l3eWcnXSkgJiYgJHRmaWVsZHNbJGldWydhdHRyaWInXVsndXNld3lzaXd5ZyddID09IDEgJiYKCQkJCQkJCQkJCQkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2NvbW1lbnRfd3lzaXd5ZycsMCksCgkJCQkJCQkJCQkJCQkJCSRpZCwgJHRmaWVsZHNbJGldWyd2YWx1ZSddLCdmaWVsZF8nLiR0ZmllbGRzWyRpXVsnaWQnXSk7CgkJCWJyZWFrOwoJCWNhc2UgJ2Ryb3Bkb3duJzoKCQljYXNlICdtdWx0aXNlbGVjdCc6CgkJCWlmKCBpc3NldCgkdGZpZWxkc1skaV1bJ2F0dHJpYiddWydvcHRpb25zJ10pICkgewoJCQkJJHRtcCA9IGV4cGxvZGUoIlxuIiwkdGZpZWxkc1skaV1bJ2F0dHJpYiddWydvcHRpb25zJ10pOwoJCQkJJHRtcDIgPSBhcnJheSgpOwoJCQkJZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewoJCQkJCSRrZXkgPSAkdmFsdWUgPSAkb25lOwoJCQkJCWlmKCBzdHJwb3MoJG9uZSwnPScpICE9PSBGQUxTRSApIGxpc3QoJGtleSwkdmFsdWUpID0gZXhwbG9kZSgnPScsdHJpbSgkb25lKSwyKTsKCQkJCQkkdG1wMlt0cmltKCR2YWx1ZSldID0gdHJpbSgka2V5KTsKCQkJCX0KCQkJCSR0ZmllbGRzWyRpXVsnYXR0cmliJ11bJ29wdGlvbnMnXSA9ICR0bXAyOwoJCQkJJHRmaWVsZHNbJGldWyd2YWx1ZSddID0gY2dlX2FycmF5OjpzbWFydF9leHBsb2RlKCR0ZmllbGRzWyRpXVsndmFsdWUnXSk7CgkJCX0KCQkJYnJlYWs7CgkJfQoKCQkkZmllbGRzWyR0ZmllbGRzWyRpXVsnaWQnXV0gPSAkdGZpZWxkc1skaV07Cgl9Cn0KCiRzbWFydHktPmFzc2lnbigndXBsb2FkX2luZm8nLCRyb3cpOwokc21hcnR5LT5hc3NpZ24gKCJzdGFydGZvcm0iLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2VkaXR1cGxvYWQnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbiAoJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7CmlmKCBjb3VudCgkZmllbGRzKSApICRzbWFydHktPmFzc2lnbignZmllbGRzJywkZmllbGRzKTsKJHNtYXJ0eS0+YXNzaWduICgnaW5wdXRfdXBsb2FkbmFtZScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X3VwbG9hZG5hbWUnLCRyb3dbJ3VwbG9hZF9uYW1lJ10sIDUwLCAyNTUgKSk7Ci8vIGFuZCB0aGUgY2F0ZWdvcnkgaW5mbyBmb3IgdGhpcyBjYXRlZ29yeQokY2F0cGF0aCA9ICR0aGlzLT5nZXRDYXRlZ29yeVBhdGhGcm9tSUQoJHJvd1sndXBsb2FkX2NhdGVnb3J5X2lkJ10pOwovLyB0aHVtYm5haWw/CmlmKCAkcm93Wyd1cGxvYWRfdGh1bWJuYWlsJ10gKSB7CiAgICAkdG51cmwgPSAkY29uZmlnWyd1cGxvYWRzX3VybCddLiIvIi4kY2F0cGF0aC4nLycuJHJvd1sndXBsb2FkX3RodW1ibmFpbCddOwoJJHNtYXJ0eS0+YXNzaWduKCd0aHVtYl91cmwnLCR0bnVybCk7Cgkkc21hcnR5LT5hc3NpZ24oJ3BpY190aHVtYm5haWwnLCAnPGltZyBzcmM9IicuJHRudXJsLiciIGJvcmRlcj0iMCIvPicpOwp9CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3RodW1ibmFpbCcsICR0aGlzLT5MYW5nKCd0aHVtYm5haWwnKS4nOicpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9uZXd0aHVtYm5haWwnLCAkdGhpcy0+TGFuZygnbmV3dGh1bWJuYWlsJykuJzonKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9uZXd0aHVtYm5haWwnLCR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdpbnB1dF9uZXd0aHVtYm5haWwnLCcnLDUwKSApOwoKJHJhd2ZpbGUgPSAkdGhpcy0+X2NhdGVnb3J5UGF0aCggJGNhdHBhdGguRElSRUNUT1JZX1NFUEFSQVRPUi4kcm93Wyd1cGxvYWRfbmFtZSddICk7CiRzbWFydHktPmFzc2lnbiAoJ25hbWVtZXNzYWdlJywgJHRoaXMtPkxhbmcoJ3JlbmFtZW1lc3NhZ2UnKSk7CiRzbWFydHktPmFzc2lnbiAoJ3Byb21wdF91cGxvYWRkYXRlJywgJHRoaXMtPkxhbmcoJ2RhdGV1cGxvYWRlZCcpKTsKJHNtYXJ0eS0+YXNzaWduICgnZGF0YV91cGxvYWRkYXRlJywgJHJvd1sndXBsb2FkX2RhdGUnXSk7CiRzbWFydHktPmFzc2lnbiAoJ3Byb21wdF91cGxvYWRzaXplJywgJHRoaXMtPkxhbmcoJ3NpemVrYicpKTsKJHNtYXJ0eS0+YXNzaWduICgnZGF0YV91cGxvYWRzaXplJywgaW50dmFsKCRyb3dbJ3VwbG9hZF9zaXplJ10gLyAxMDI0LjAgKyAwLjUpKTsKJHNtYXJ0eS0+YXNzaWduICgncHJvbXB0X3VwbG9hZGF1dGhvcicsICR0aGlzLT5MYW5nKCdhdXRob3InKSk7CiRzbWFydHktPmFzc2lnbiAoJ2lucHV0X3VwbG9hZGF1dGhvcicsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW5wdXRfdXBsb2FkYXV0aG9yJywkcm93Wyd1cGxvYWRfYXV0aG9yJ10sIDIwLCAyNTUpKTsKJHNtYXJ0eS0+YXNzaWduICgncHJvbXB0X21vdmVjYXRlZ29yeScsICR0aGlzLT5MYW5nICgncHJvbXB0X2NhdGVnb3J5bmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeWxpc3QnLCRjYXRlZ29yeWxpc3QpOwokc21hcnR5LT5hc3NpZ24oJ3NlbF9jYXRlZ29yeScsJHNlbF9jYXRlZ29yeSk7CiRzbWFydHktPmFzc2lnbiAoJ3BhdGhtZXNzYWdlJywgJHRoaXMtPkxhbmcoJ3BhdGhtZXNzYWdlJykpOwoKJHNtYXJ0eS0+YXNzaWduICgncHJvbXB0X3VwbG9hZHN1bW1hcnknLCAkdGhpcy0+TGFuZyAoJ3N1bW1hcnknKSk7CiRzbWFydHktPmFzc2lnbiAoJ2lucHV0X3VwbG9hZHN1bW1hcnknLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQgKCRpZCwgJ2lucHV0X3VwbG9hZHN1bW1hcnknLCRyb3dbJ3VwbG9hZF9zdW1tYXJ5J10sIDgwLCAyNTUpKTsKCiRzbWFydHktPmFzc2lnbiAoJ3Byb21wdF91cGxvYWRkZXNjJywgJHRoaXMtPkxhbmcgKCdkZXNjcmlwdGlvbicpKTsKJHNtYXJ0eS0+YXNzaWduICgnaW5wdXRfdXBsb2FkZGVzYycsJHRoaXMtPkNyZWF0ZVRleHRBcmVhIChmYWxzZSwgJGlkLCAkcm93Wyd1cGxvYWRfZGVzY3JpcHRpb24nXSwgJ2lucHV0X3VwbG9hZGRlc2MnICkpOwoKJHNtYXJ0eS0+YXNzaWduICgnaGlkZGVuJywKICAgICAgICAgICAgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4gKCRpZCwgJ3VwbG9hZF9pZCcsJHBhcmFtc1sndXBsb2FkX2lkJ10pLgogICAgICAgICAgICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbiAoJGlkLCAnY2F0ZWdvcnlfaWQnLCRzZWxfY2F0ZWdvcnkpKTsKCi8vIHBvcHVsYXRlIHRoZSByb3dzIG9mIGRvd25sb2FkIGluZm9ybWF0aW9uCiRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19kb3dubG9hZHMgV0hFUkUgZmlsZV9pZCA9ID8gT1JERVIgQlkgZG93bmxvYWRfZGF0ZSBERVNDIExJTUlUIDEwMCI7CiRkYnJlc3VsdCA9ICRkYi0+R2V0QXJyYXkoICRxdWVyeSwgYXJyYXkoICRwYXJhbXNbJ3VwbG9hZF9pZCddICkgKTsKCiRzbWFydHktPmFzc2lnbignZGF0ZXRleHQnLCAkdGhpcy0+TGFuZygnZGF0ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpcHRleHQnLCAkdGhpcy0+TGFuZygnaXBfYWRkcmVzcycpKTsKJHNtYXJ0eS0+YXNzaWduKCd1c2VydGV4dCcsICR0aGlzLT5MYW5nKCd1c2VybmFtZScpKTsKJHJvd2FycmF5ID0gYXJyYXkoKTsKJHJvd2NsYXNzID0gJ3JvdzEnOwpmb3JlYWNoKCAkZGJyZXN1bHQgYXMgJHJvdyApIHsKCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCSRvbmVyb3ctPmRhdGUgPSAkcm93Wydkb3dubG9hZF9kYXRlJ107Cgkkb25lcm93LT5pcCAgID0gJHJvd1snZG93bmxvYWRfaXAnXTsKCSRvbmVyb3ctPnVzZXIgPSAkcm93Wydkb3dubG9hZF91c2VyJ107Cgkkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCgkkcm93YXJyYXlbXSA9ICRvbmVyb3c7CgkoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7Cn0KCiRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkcm93YXJyYXkpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRyb3dhcnJheSkpOwokc21hcnR5LT5hc3NpZ24oJ2FsbG93X2NoYW5nZWRhdGUnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19jaGFuZ2VkYXRlJywwKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSAoJ2VkaXR1cGxvYWQudHBsJyk7Cg==]]></data>
	</file>
	<file>
	  <filename>/action.getfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRwYWdlaWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZ2V0ZmlsZV9yZXN1bHRwYWdlJyk7CmlmKCAkcGFnZWlkIDw9IDAgfHwgJHJldHVybmlkIDw9IDAgKSB7CiAgICAkY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwogICAgJHBhZ2VpZCA9ICRjb250ZW50b3BzLT5HZXREZWZhdWx0Q29udGVudCgpOwp9CmlmKCAkcGFnZWlkID49IDAgKSAkcmV0dXJuaWQgPSAkcGFnZWlkOwoKaWYoICFpc3NldCgkcGFyYW1zWyd1cGxvYWRfaWQnXSkgJiYgIWlzc2V0KCRwYXJhbXNbJ3VybF9rZXknXSkgKSB7CiAgICBjZ2VfcmVkaXJlY3Q6OnJlZGlyZWN0X3dpdGhfZXJyb3IoJHJldHVybmlkLCR0aGlzLT5MYW5nICgnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJywndXBsb2FkX2lkJykpOwogICAgcmV0dXJuOwp9CgovLyBnZXQgdGhlIGlkCiRmaWxlX2RldGFpbHMgPSAnJzsKJGZpbGVfaWQgPSAnJzsKJHVybF9rZXkgPSAnJzsKaWYoIGlzc2V0KCRwYXJhbXNbJ3VwbG9hZF9pZCddKSApIHsKICAgICRmaWxlX2lkID0gKGludCkkcGFyYW1zWyd1cGxvYWRfaWQnXTsKfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWyd1cmxfa2V5J10pICkgewogICAgJHVybF9rZXkgPSB0cmltKCRwYXJhbXNbJ3VybF9rZXknXSk7CiAgICAkbm93ID0gJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX3RpbWVsaW1pdCBXSEVSRSB1cmxfa2V5ID0gPyBBTkQgKChleHBpcmVzID4gJG5vdykgT1IgKGV4cGlyZXMgSVMgTlVMTCkpIjsKICAgICR0aW1lbGltaXRfZGV0YWlscyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkdXJsX2tleSkpOwoKICAgIGlmKCAhJHRpbWVsaW1pdF9kZXRhaWxzICkgewogICAgICAgIC8vIGJhZCBvciBleHBpcmVkIGtleQogICAgICAgIGNnZV9yZWRpcmVjdDo6cmVkaXJlY3Rfd2l0aF9lcnJvcigkcmV0dXJuaWQsJHRoaXMtPkxhbmcgKCdlcnJvcl9pbnZhbGlkX2tleScpKTsKICAgICAgICByZXR1cm47CiAgICB9CgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBjb3VudChmaWxlX2lkKSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19kb3dubG9hZHMgV0hFUkUgZmlsZV9pZCA9ID8gQU5EIHVybF9rZXkgPSA/JzsKICAgICRjb3VudCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdGltZWxpbWl0X2RldGFpbHNbJ3VwbG9hZF9pZCddLCR1cmxfa2V5KSk7CiAgICBpZiggJGNvdW50ID49ICR0aW1lbGltaXRfZGV0YWlsc1snbWF4X2Rvd25sb2FkcyddICYmICR0aW1lbGltaXRfZGV0YWlsc1snbWF4X2Rvd25sb2FkcyddID4gMCApIHsKICAgICAgICAvLyBiYWQgb3IgZXhwaXJlZCBrZXkKICAgICAgICBjZ2VfcmVkaXJlY3Q6OnJlZGlyZWN0X3dpdGhfZXJyb3IoJHJldHVybmlkLCR0aGlzLT5MYW5nICgnZXJyb3JfaW52YWxpZF9rZXknKSk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgJGZpbGVfaWQgPSAkdGltZWxpbWl0X2RldGFpbHNbJ3VwbG9hZF9pZCddOwp9CgokZmlsZV9kZXRhaWxzID0gJHRoaXMtPkdldFVwbG9hZERldGFpbHMoICRmaWxlX2lkLCAkcmV0dXJuaWQgKTsKLy8gZ2V0IHRoZSBkZXRhaWxzCmlmKCAhJGZpbGVfZGV0YWlsc1sndXBsb2FkX25hbWUnXSApIHsKICAgIC8vIHRvZG8gZGlzcGxheSBlcnJvcgogICAgY2dlX3JlZGlyZWN0OjpyZWRpcmVjdF93aXRoX2Vycm9yKCRyZXR1cm5pZCwkdGhpcy0+TGFuZyggJ2Vycm9yX2ZpbGVub3Rmb3VuZCcsICRmaWxlX2lkICkgKTsKICAgIHJldHVybjsKfQoKJGNhdGVnb3J5X2RldGFpbHMgPSAkdGhpcy0+X2dldFVwbG9hZENhdGVnb3J5RGV0YWlscyggJGZpbGVfZGV0YWlsc1sndXBsb2FkX2NhdGVnb3J5X2lkJ10gKTsKJHBhdGggPSAnLyc7CmlmKCAhJGNhdGVnb3J5X2RldGFpbHNbJ3VwbG9hZF9jYXRlZ29yeV9wYXRoJ10gKSB7CiAgICAvLyB0b2RvIGRpc3BsYXkgZXJyb3IKICAgIGNnZV9yZWRpcmVjdDo6cmVkaXJlY3Rfd2l0aF9lcnJvcigkcmV0dXJuaWQsJHRoaXMtPkxhbmcoICdlcnJvcl9kYmVycm9yJyApICk7CiAgICByZXR1cm47Cn0KCgokZmlsZSA9ICR0aGlzLT5fdXBsb2FkUGF0aCggJGNhdGVnb3J5X2RldGFpbHNbJ3VwbG9hZF9jYXRlZ29yeV9wYXRoJ10sIHN0cl9yZXBsYWNlKCBhcnJheSgnICcsJyUyMCcpLGFycmF5KCdfJywnXycpLCRmaWxlX2RldGFpbHNbJ3VwbG9hZF9uYW1lJ10gKSApOwppZiggIWZpbGVfZXhpc3RzKCAkZmlsZSApIHx8ICFpc19yZWFkYWJsZSggJGZpbGUgKSApIHsKICAgIGNnZV9yZWRpcmVjdDo6cmVkaXJlY3Rfd2l0aF9lcnJvcigkcmV0dXJuaWQsJHRoaXMtPkxhbmcoICdlcnJvcl9maWxlbm90Zm91bmQnLCAkZmlsZSApICk7CiAgICByZXR1cm47Cn0KCgovLyBjaGVjayBmb3IgcGVybWlzc2lvbiwgaWYgRkVVIG1vZHVsZSBleGlzdHMsIGFuZCB0aGUgdXBsb2FkcyBncm91cGxpc3QgaXMKLy8gbm90IG51bGwsIGFuZCB0aGUgcmV0dXJuaWQgaXMgbm90IGVtcHR5ICh3ZSdyZSBvbiB0aGUgZnJvbnRlbmQpCiRyZXN1bHQgPSAkdGhpcy0+X0NoZWNrRG93bmxvYWRTZWN1cml0eSgkY2F0ZWdvcnlfZGV0YWlscyk7CmlmKCAhJHJlc3VsdCApIHsKICAgIGF1ZGl0KCRmaWxlX2RldGFpbHNbJ3VwbG9hZF9pZCddLCR0aGlzLT5HZXROYW1lKCksJ0F0dGVtcHQgdG8gYWNjZXNzIGZpbGUgJy4kZmlsZS4nICB3aXRob3V0IHByb3BlciBwZXJtaXNzaW9ucycpOwogICAgY2dlX3JlZGlyZWN0OjpyZWRpcmVjdF93aXRoX2Vycm9yKCRyZXR1cm5pZCwkdGhpcy0+TGFuZygnZXJyb3JfcGVybWlzc2lvbmRlbmllZCcpICk7CiAgICByZXR1cm47Cn0KaWYoICEkdGhpcy0+X0NoZWNrRmlsZURvd25sb2FkU2VjdXJpdHkoJGZpbGVfZGV0YWlscykgKSB7CiAgICBhdWRpdCgkZmlsZV9kZXRhaWxzWyd1cGxvYWRfaWQnXSwkdGhpcy0+R2V0TmFtZSgpLCdBdHRlbXB0IHRvIGFjY2VzcyBmaWxlICcuJGZpbGUuJyAgd2l0aG91dCBwcm9wZXIgcGVybWlzc2lvbnMnKTsKICAgIHJldHVybjsKfQoKLy8gdHVybiBvZmYgemxpYiBjb21wcmVzc2lvbgppZihpbmlfZ2V0KCd6bGliLm91dHB1dF9jb21wcmVzc2lvbicpKSBpbmlfc2V0KCd6bGliLm91dHB1dF9jb21wcmVzc2lvbicsICdPZmYnKTsKaWYoIWluaV9nZXRfYm9vbGVhbignc2FmZV9tb2RlJykpIHNldF90aW1lX2xpbWl0KDk5OTkpOwoKJGNodW5rc2l6ZSA9IGludHZhbCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZG93bmxvYWRfY2h1bmtzaXplJyw4KSkgKiAxMDI0OwokYm4gPSBiYXNlbmFtZSgkZmlsZSk7CgokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7CmZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CmhlYWRlcignUHJhZ21hOiBwdWJsaWMnKTsKaGVhZGVyKCdFeHBpcmVzOiAwJyk7CmhlYWRlcignQ2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlLCBwb3N0LWNoZWNrPTAsIHByZS1jaGVjaz0wJyk7CmhlYWRlcignQ2FjaGUtQ29udHJvbDogcHJpdmF0ZScsZmFsc2UpOwpoZWFkZXIoJ0NvbnRlbnQtRGVzY3JpcHRpb246IEZpbGUgVHJhbnNmZXInKTsKaGVhZGVyKCdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScpOwpoZWFkZXIoIkNvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPVwiJGJuXCIiICk7CmhlYWRlcignQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogYmluYXJ5Jyk7CmhlYWRlcignQ29udGVudC1MZW5ndGg6ICcgLiBmaWxlc2l6ZSgkZmlsZSkpOwoKJGhhbmRsZT1mb3BlbigkZmlsZSwncmInKTsKJGNvbnRlbnRzID0gJyc7CmRvIHsKICAgICRkYXRhID0gZnJlYWQoJGhhbmRsZSwkY2h1bmtzaXplKTsKICAgIGlmKCBzdHJsZW4oJGRhdGEpID09IDAgKSBicmVhazsKICAgIHByaW50KCRkYXRhKTsKfSB3aGlsZSh0cnVlKTsKZmNsb3NlKCRoYW5kbGUpOwoKLy8gbm93IHRvIGFkZCB0aGUgZG93bmxvYWQgc2h0dWZmIHRvIHRoZSBkYXRhYmFzZQovLyBpZiB3ZSBhcmUgbm90IGV4Y2x1ZGluZyB0aGlzIHN1Ym5ldAokc3RyID0gdHJpbSgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3VibmV0X2V4Y2x1c2lvbnMnKSk7CmlmKCAkc3RyICkgewoJJHN1Ym5ldHMgPSBleHBsb2RlKCcsJywkc3RyKTsKCSR0ZXN0ID0gMDsKCWZvcmVhY2goJHN1Ym5ldHMgYXMgJHN1Ym5ldCkgewoJCSR0ZXN0ID0gJHRoaXMtPl90ZXN0aXAoICRzdWJuZXQsIFxjZ2VfdXRpbHM6OmdldF9yZWFsX2lwKCkgKTsKCQlpZiggJHRlc3QgKSBleGl0KCk7IC8vIGRvbid0IGFsbG93IGFueSBtb3JlIHByb2Nlc3NpbmcKCX0KfQoKLy8gZ2V0IGEgbmV3IHZhbHVlIGZyb20gdGhlIHNlcXVlbmNlIGRhdGFiYXNlCiRuZXdpZCA9ICRkYi0+R2VuSUQoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfZG93bmxvYWRzX3NlcSIgKTsKCi8vIGdldCBhIHVzZXJuYW1lCiR1c2VybmFtZSA9ICdhbm9ueW1vdXMnOwokZmV1c2VycyA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggJGZldXNlcnMgKSB7CiAgICAkbmFtZSA9ICRmZXVzZXJzLT5Mb2dnZWRpbk5hbWUoKTsKICAgIGlmKCAkbmFtZSAhPSAiIiApICR1c2VybmFtZSA9ICRuYW1lOwp9CgovLyBpbnNlcnQgdGhlIGRvd25sb2FkIHJlY29yZAokcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2Rvd25sb2FkcyAoZG93bmxvYWRfaWQsIGZpbGVfaWQsIGRvd25sb2FkX2RhdGUsIGRvd25sb2FkX2lwLCBkb3dubG9hZF91c2VyLCB1cmxfa2V5KSBWQUxVRVMgKD8sPyw/LD8sPyw/KSI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJG5ld2lkLCAkZmlsZV9pZCwgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksIiciKSwgZ2V0ZW52KCJSRU1PVEVfQUREUiIpLCAkdXNlcm5hbWUsICR1cmxfa2V5KSApOwovKiBJIHdvdWxkIG5vcm1hbGx5IGRpc3BsYXkgYW4gZXJyb3IgbWVzc2FnZSwgYnV0IGRvbid0IHdhbnQgcGVvcGxlIHRvIG5lY2Vzc2FyaWx5IGtub3cgSSBhbSB0cmFja2luZyB0aGVtICovCiR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPmxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+bGFuZygnZG93bmxvYWRlZCcsICRmaWxlKSApOwoKLy8gc2VuZCBhbiBldmVudAokcGFybXMgPSBhcnJheSgpOwokcGFybXNbJ2lkJ10gPSAkZmlsZV9pZDsKJHBhcm1zWyduYW1lJ10gPSAkZmlsZTsKJHBhcm1zWydpcCddID0gZ2V0ZW52KCJSRU1PVEVfQUREUiIpOwokdGhpcy0+U2VuZEV2ZW50KCAnT25Eb3dubG9hZCcsICRwYXJtcyApOwoKLy8gZG9uJ3QgYWxsb3cgYW55IG1vcmUgcHJvY2Vzc2luZwpleGl0KCk7Cg==]]></data>
	</file>
	<file>
	  <filename>/action.getimage.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKLy8gTm90ZTogVGhpcyBmaWxlIGlzIHZpcnR1YWxseSBpZGVudGljYWwgdG8gYWN0aW9uLmdldGZpbGUucGhwCi8vIGFuZCB0aGlzIHNob3VsZCBiZSBvcHRpbWl6ZWQKCmlmKCAhaXNzZXQoICRwYXJhbXNbJ3VwbG9hZF9pZCddICkgKSByZXR1cm47ICAvLyB0b2RvLCBhZGQgc29tZXRoaW5nIHRvIGFuIGVycm9yIGxvZwoKLy8gZ2V0IHRoZSBpZAokZmlsZV9pZCA9ICRwYXJhbXNbJ3VwbG9hZF9pZCddOwoKLy8gZ2V0IHRoZSBkZXRhaWxzCiRmaWxlX2RldGFpbHMgPSAkdGhpcy0+R2V0VXBsb2FkRGV0YWlscyggJGZpbGVfaWQgKTsKCmlmKCAhJGZpbGVfZGV0YWlsc1sndXBsb2FkX25hbWUnXSApIHJldHVybjsgIC8vIHRvZG8gZGlzcGxheSBlcnJvcgokY2F0ZWdvcnlfZGV0YWlscyA9ICR0aGlzLT5fZ2V0VXBsb2FkQ2F0ZWdvcnlEZXRhaWxzKCAkZmlsZV9kZXRhaWxzWyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSApOwokcGF0aCA9ICcvJzsKaWYoICEkY2F0ZWdvcnlfZGV0YWlsc1sndXBsb2FkX2NhdGVnb3J5X3BhdGgnXSApIHJldHVybjsgIC8vIHRvZG8gZGlzcGxheSBlcnJvcgoKJGZpbGUgPSAkdGhpcy0+X3VwbG9hZFBhdGgoICRjYXRlZ29yeV9kZXRhaWxzWyd1cGxvYWRfY2F0ZWdvcnlfcGF0aCddLCBzdHJfcmVwbGFjZSggYXJyYXkoJyAnLCclMjAnKSxhcnJheSgnXycsJ18nKSwkZmlsZV9kZXRhaWxzWyd1cGxvYWRfbmFtZSddICkgKTsKCmlmKCAhZmlsZV9leGlzdHMoICRmaWxlICkgfHwgIWlzX3JlYWRhYmxlKCAkZmlsZSApICkgcmV0dXJuOyAgLy8gdG9kbyBkaXNwbGF5IGVycm9yCgovLyBjaGVjayBmb3IgcGVybWlzc2lvbiwgaWYgRkVVIG1vZHVsZSBleGlzdHMsIGFuZCB0aGUgdXBsb2FkcyBncm91cGxpc3QgaXMKLy8gbm90IG51bGwsIGFuZCB0aGUgcmV0dXJuaWQgaXMgbm90IGVtcHR5ICh3ZSdyZSBvbiB0aGUgZnJvbnRlbmQpCiRyZXN1bHQgPSAkdGhpcy0+X0NoZWNrRG93bmxvYWRTZWN1cml0eSgkY2F0ZWdvcnlfZGV0YWlscyk7CmlmKCAhJHJlc3VsdCApIHsKICAvLyB0b2RvLCBkaXNwbGF5IGVycm9yIHNvbWVob3cKICBhdWRpdCgkZmlsZV9kZXRhaWxzWyd1cGxvYWRfaWQnXSwkdGhpcy0+R2V0TmFtZSgpLCdBdHRlbXB0IHRvIGFjY2VzcyBmaWxlICcuJGZpbGUuJyAgd2l0aG91dCBwcm9wZXIgcGVybWlzc2lvbnMnKTsKICByZXR1cm47Cn0KCmlmKCAhJHRoaXMtPl9DaGVja0ZpbGVEb3dubG9hZFNlY3VyaXR5KCRmaWxlX2RldGFpbHMpICkgewogIGF1ZGl0KCRmaWxlX2RldGFpbHNbJ3VwbG9hZF9pZCddLCR0aGlzLT5HZXROYW1lKCksJ0F0dGVtcHQgdG8gYWNjZXNzIGZpbGUgJy4kZmlsZS4nICB3aXRob3V0IHByb3BlciBwZXJtaXNzaW9ucycpOwogIHJldHVybjsKfQoKLy8gdHVybiBvZmYgemxpYiBjb21wcmVzc2lvbgppZihAaW5pX2dldCgnemxpYi5vdXRwdXRfY29tcHJlc3Npb24nKSkgIEBpbmlfc2V0KCd6bGliLm91dHB1dF9jb21wcmVzc2lvbicsICdPZmYnKTsKCmlmKCFAaW5pX2dldF9ib29sZWFuKCdzYWZlX21vZGUnKSkgIEBzZXRfdGltZV9saW1pdCgwKTsKCiRjaHVua3NpemUgPSBpbnR2YWwoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rvd25sb2FkX2NodW5rc2l6ZScsOCkpICogMTAyNDsKJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOwpmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQoKaGVhZGVyKCdDb250ZW50LVR5cGU6IGltYWdlLyonKTsKaGVhZGVyKCdDb250ZW50LUxlbmd0aDogJyAuIGZpbGVzaXplKCRmaWxlKSk7CiRoYW5kbGU9Zm9wZW4oJGZpbGUsJ3JiJyk7CiRjb250ZW50cyA9ICcnOwpkbyB7CiAgJGRhdGEgPSBmcmVhZCgkaGFuZGxlLCRjaHVua3NpemUpOwogIGlmKCBzdHJsZW4oJGRhdGEpID09IDAgKSBicmVhazsKICBwcmludCgkZGF0YSk7Cn0gd2hpbGUodHJ1ZSk7CmZjbG9zZSgkaGFuZGxlKTsKCi8vIG5vdyB0byBhZGQgdGhlIGRvd25sb2FkIHNodHVmZiB0byB0aGUgZGF0YWJhc2UKLy8gaWYgd2UgYXJlIG5vdCBleGNsdWRpbmcgdGhpcyBzdWJuZXQKJHN1Ym5ldHMgPSBleHBsb2RlKCIsIiwkdGhpcy0+R2V0UHJlZmVyZW5jZSgic3VibmV0X2V4Y2x1c2lvbnMiKSk7CiR0ZXN0ID0gMDsKZm9yZWFjaCgkc3VibmV0cyBhcyAkc3VibmV0KSB7CiAgJHRlc3QgPSAkdGhpcy0+X3Rlc3RpcCggJHN1Ym5ldCwgXGNnZV91dGlsczo6Z2V0X3JlYWxfaXAoKSApOwogIGlmKCAkdGVzdCApIGV4aXQoKTsKfQoKLy8gZ2V0IGEgbmV3IHZhbHVlIGZyb20gdGhlIHNlcXVlbmNlIGRhdGFiYXNlCiRkYiA9ICR0aGlzLT5HZXREYigpOwokbmV3aWQgPSAkZGItPkdlbklEKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2Rvd25sb2Fkc19zZXEiICk7CgovLyBnZXQgYSB1c2VybmFtZQokdXNlcm5hbWUgPSAndW5rbm93bic7CiRmZXVzZXJzID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCAkZmV1c2VycyApIHsKICAkbmFtZSA9ICRmZXVzZXJzLT5Mb2dnZWRpbk5hbWUoKTsKICBpZiggJG5hbWUgIT0gIiIgKSAkdXNlcm5hbWUgPSAkbmFtZTsKfQoKLy8gaW5zZXJ0IHRoZSBkb3dubG9hZCByZWNvcmQKJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19kb3dubG9hZHMgVkFMVUVTICg/LD8sPyw/LD8pIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAkbmV3aWQsICRmaWxlX2lkLCB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwiJyIpLCBnZXRlbnYoIlJFTU9URV9BRERSIiksICR1c2VybmFtZSkgKTsKCi8qIEkgd291bGQgbm9ybWFsbHkgZGlzcGxheSBhbiBlcnJvciBtZXNzYWdlLCBidXQgZG9uJ3Qgd2FudCBwZW9wbGUgdG8gbmVjZXNzYXJpbHkga25vdyBJIGFtIHRyYWNraW5nIHRoZW0gKi8KJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+bGFuZygnZnJpZW5kbHluYW1lJyksICR0aGlzLT5sYW5nKCdkb3dubG9hZGVkJywgJGZpbGUpICk7CgovLyBkb24ndCBhbGxvdyBhbnkgbW9yZSBwcm9jZXNzaW5nCmV4aXQoKTsKCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.getmimefile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBVcGxvYWRzJykgJiYgISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ1VwbG9hZCBGaWxlcyB0byBVcGxvYWRzJykpIHJldHVybjsKCi8vCi8vIGluaXRpYWxpemF0aW9uCi8vCiR1cGxvYWRfaWQgPSAnJzsKCi8vCi8vIHNldHVwCi8vCmlmKCBpc3NldCgkcGFyYW1zWyd1cGxvYWRfaWQnXSkgKSAkdXBsb2FkX2lkID0gKGludCkkcGFyYW1zWyd1cGxvYWRfaWQnXTsKaWYoICR1cGxvYWRfaWQgPD0gMCApIGRpZSgnZXJyb3IgLi4uIG5vIHVwbG9hZCcpOwoKJHJvdyA9IHVwbG9hZHNfdXRpbHM6OmdldF91cGxvYWRfZGV0YWlscygkdXBsb2FkX2lkKTsKaWYoICFpc19hcnJheSgkcm93KSApIGRpZSgnZXJyb3IgLi4uIGNvdWxkIG5vdCBmaW5kIHVwbG9hZCcpOwoKJGNhdHBhdGggPSAkdGhpcy0+Z2V0Q2F0ZWdvcnlQYXRoRnJvbUlEKCRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9pZCddKTsKJGZuID0gJHRoaXMtPl9jYXRlZ29yeVBhdGgoJGNhdHBhdGguRElSRUNUT1JZX1NFUEFSQVRPUi4kcm93Wyd1cGxvYWRfbmFtZSddKTsKaWYoICFmaWxlX2V4aXN0cygkZm4pICkgZGllKCdlcnJvciAuLi4gZmlsZSBub3QgZm91bmQgJy4kZm4pOwoKJG1pbWV0eXBlID0gY2dlX3V0aWxzOjpnZXRfbWltZV90eXBlKCRmbik7CmlmKCAhJG1pbWV0eXBlICkgJG1pbWV0eXBlID0gJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbSc7CmlmKGluaV9nZXQoJ3psaWIub3V0cHV0X2NvbXByZXNzaW9uJykpIGluaV9zZXQoJ3psaWIub3V0cHV0X2NvbXByZXNzaW9uJywgJ09mZicpOwoKJGJuID0gYmFzZW5hbWUoJGZuKTsKc2V0X3RpbWVfbGltaXQoOTk5KTsKJGNodW5rc2l6ZSA9IGludHZhbCgkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZG93bmxvYWRfY2h1bmtzaXplJyw4KSkgKiAxMDI0OwokaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7CmZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CgpoZWFkZXIoJ0NvbnRlbnQtVHlwZTogJy4kbWltZXR5cGUpOwpoZWFkZXIoIkNvbnRlbnQtRGlzcG9zaXRpb246IGlubGluZTsgZmlsZW5hbWU9XCIkYm5cIiIgKTsKCiRoYW5kbGU9Zm9wZW4oJGZuLCdyYicpOwokY29udGVudHMgPSAnJzsKZG8gewogICRkYXRhID0gZnJlYWQoJGhhbmRsZSwkY2h1bmtzaXplKTsKICBpZiggc3RybGVuKCRkYXRhKSA9PSAwICkgYnJlYWs7CiAgcHJpbnQoJGRhdGEpOwp9IHdoaWxlKHRydWUpOwpmY2xvc2UoJGhhbmRsZSk7CmV4aXQoKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.save_admin_prefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uICgnTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSkgcmV0dXJuOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3NlbmRmaWxlX2FmdGVybXNnX3Jlc2V0J10pICkgewoJJHRtcCA9IEBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfc2VuZGZpbGVfYWZ0ZXJtc2cudHBsJyk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlbmRmaWxlX2FmdGVybXNnJywkdG1wKTsKCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCAkaWQsICdhZG1pbl9wcmVmcycgKTsKCXJldHVybjsKfQokdGhpcy0+U2V0UHJlZmVyZW5jZSAoJ3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnLCBpc3NldCAoJHBhcmFtc1sndmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddKSA/ICRwYXJhbXNbJ3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnXSA6ICcwJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlICgnc3VibmV0X2V4Y2x1c2lvbnMnLCBpc3NldCAoJHBhcmFtc1snc3VibmV0X2V4Y2x1c2lvbnMnXSkgPyAkcGFyYW1zWydzdWJuZXRfZXhjbHVzaW9ucyddIDogJycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSAoJ2NyZWF0ZV9kdW1teV9pbmRleF9odG1sJywgaXNzZXQgKCRwYXJhbXNbJ2lucHV0X2R1bW15X2luZGV4X2h0bWwnXSkgPyAkcGFyYW1zWydpbnB1dF9kdW1teV9pbmRleF9odG1sJ10gOiAnMCcpOwokdGhpcy0+c2V0UHJlZmVyZW5jZSAoJ3NlbmRfdXBsb2FkX25vdGlmaWNhdGlvbnNfdG8nLCBpc3NldCAoJHBhcmFtc1snZW1haWxfb25fdXBsb2FkJ10pID8gJHBhcmFtc1snZW1haWxfb25fdXBsb2FkJ10gOiAnJyApOwokdGhpcy0+U2V0UHJlZmVyZW5jZSAoJ3JlZGlyZWN0X29uX3VwbG9hZCcsIGlzc2V0ICgkcGFyYW1zWydyZWRpcmVjdF9vbl91cGxvYWQnXSkgPyAkcGFyYW1zWydyZWRpcmVjdF9vbl91cGxvYWQnXSA6ICcnICk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlICgnZG93bmxvYWRfY2h1bmtzaXplJywgaXNzZXQgKCRwYXJhbXNbJ2Rvd25sb2FkX2NodW5rc2l6ZSddKSA/ICRwYXJhbXNbJ2Rvd25sb2FkX2NodW5rc2l6ZSddIDogOCApOwokdGhpcy0+U2V0UHJlZmVyZW5jZSAoJ2FsbG93X2RlbGV0ZScsIGlzc2V0ICgkcGFyYW1zWydhbGxvd19kZWxldGUnXSkgPyAkcGFyYW1zWydhbGxvd19kZWxldGUnXSA6IDAgKTsKJHRoaXMtPlNldFByZWZlcmVuY2UgKCdyZWRpcmVjdF9vbl9zZW5kZmlsZScsIGlzc2V0ICgkcGFyYW1zWydyZWRpcmVjdF9vbl9zZW5kZmlsZSddKSA/ICRwYXJhbXNbJ3JlZGlyZWN0X29uX3NlbmRmaWxlJ10gOiAnJyApOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgndGltZWxpbWl0ZWRfaG91cnMnLChpbnQpJHBhcmFtc1sndGltZWxpbWl0ZWRfaG91cnMnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd0aW1lbGltaXRlZF9kb3dubG9hZHMnLChpbnQpJHBhcmFtc1sndGltZWxpbWl0ZWRfZG93bmxvYWRzJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZ2V0ZmlsZV9yZXN1bHRwYWdlJywoaW50KSRwYXJhbXNbJ2dldGZpbGVfcmVzdWx0cGFnZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3RpbWVsaW1pdGVkX2F1dG9kZWxldGUnLChpbnQpJHBhcmFtc1sndGltZWxpbWl0ZWRfYXV0b2RlbGV0ZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3RpbWVsaW1pdGVkX3N1YmplY3QnLHRyaW0oJHBhcmFtc1sndGltZWxpbWl0ZWRfc3ViamVjdCddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1c2VfYXV0b2dlbl9maWxlbmFtZXMnLFxjZ2VfcGFyYW06OmdldF9ib29sKCRwYXJhbXMsJ3VzZV9hdXRvZ2VuX2ZpbGVuYW1lcycpKTsKCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3NlbmRmaWxlcGFnZScsJHBhcmFtc1snZGVmYXVsdF9zZW5kZmlsZXBhZ2UnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYXRlZ29yeV9leHBpcnknLChpbnQpJHBhcmFtc1snY2F0ZWdvcnlfZXhwaXJ5J10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfdXBsb2FkX3NlbmRmaWxlJywoaW50KSRwYXJhbXNbJ2FsbG93X3VwbG9hZF9zZW5kZmlsZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ZyaWVuZGx5bmFtZScsdHJpbSgkcGFyYW1zWydmcmllbmRseW5hbWUnXSkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYWxsb3dfY2hhbmdlZGF0ZScsKGludCkkcGFyYW1zWydhbGxvd19jaGFuZ2VkYXRlJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW5kZXhfdHh0ZmlsZXMnLChpbnQpJHBhcmFtc1snaW5kZXhfdHh0ZmlsZXMnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbmRleF91bmlxdWV3b3JkcycsKGludCkkcGFyYW1zWydpbmRleF91bmlxdWV3b3JkcyddKTsKJHRoaXMtPlNldFRlbXBsYXRlKCdzZW5kZmlsZV9hZnRlcm1zZycsdHJpbSgkcGFyYW1zWydzZW5kZmlsZV9hZnRlcm1zZyddKSk7CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCAkaWQsICdhZG1pbl9wcmVmcycgKTsKCi8vIEVPRgo=]]></data>
	</file>
	<file>
	  <filename>/action.sendfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICFpc3NldCgkcGFyYW1zWyd1cGxvYWRfaWQnXSkgKSBleGl0OwoKLy8gaW5pdGlhbGl6YXRpb24KJHVwbG9hZF9pZCA9IChpbnQpJHBhcmFtc1sndXBsb2FkX2lkJ107CiR0aGV0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3NlbmRmaWxlZm9ybScpOwokbm90ZXMgPSAnJzsKJHNlbmR0byA9ICcnOwokc3ViamVjdCA9ICcnOwokZXJyb3IgPSAnJzsKJG1lc3NhZ2UgPSAnJzsKCi8vIHNldHVwCiR1cGxvYWRfZGF0YSA9IHVwbG9hZHNfdXRpbHM6OmdldF91cGxvYWRfZGV0YWlscygkdXBsb2FkX2lkKTsKCiRjYXRlZ29yeSA9ICR0aGlzLT5fZ2V0VXBsb2FkQ2F0ZWdvcnlEZXRhaWxzKCAkdXBsb2FkX2RhdGFbJ3VwbG9hZF9jYXRlZ29yeV9pZCddICk7CmlmKCAhJHRoaXMtPl9DaGVja0Rvd25sb2FkU2VjdXJpdHkoJGNhdGVnb3J5KSApIHsKICBhdWRpdCgkdXBsb2FkX2RhdGFbJ3VwbG9hZF9pZCddLCR0aGlzLT5HZXROYW1lKCksJ0F0dGVtcHQgdG8gYWNjZXNzIGZpbGUgJy4kZmlsZS4nICB3aXRob3V0IHByb3BlciBwZXJtaXNzaW9ucycpOwoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnKSApOwogIHJldHVybjsKfQppZiggISR0aGlzLT5fQ2hlY2tGaWxlRG93bmxvYWRTZWN1cml0eSgkdXBsb2FkX2RhdGEpICkgewogIGF1ZGl0KCR1cGxvYWRfZGF0YVsndXBsb2FkX2lkJ10sJHRoaXMtPkdldE5hbWUoKSwnQXR0ZW1wdCB0byBhY2Nlc3MgZmlsZSAnLiRmaWxlLicgIHdpdGhvdXQgcHJvcGVyIHBlcm1pc3Npb25zJyk7CgkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnZXJyb3JfcGVybWlzc2lvbmRlbmllZCcpICk7CiAgcmV0dXJuOwp9CgppZiggISR1cGxvYWRfZGF0YSApIHJldHVybjsKCi8vIGhhbmRsZSBmb3JtIGRhdGEKaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2NhbmNlbCddKSApIHsKCSR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHJldHVybmlkKTsKfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9zdWJtaXQnXSkgKSB7Cgkkbm90ZXMgPSB0cmltKCRwYXJhbXNbJ2lucHV0X25vdGVzJ10pOwoJJHNlbmR0byA9IHRyaW0oJHBhcmFtc1snaW5wdXRfc2VuZHRvJ10pOwoJJHN1YmplY3QgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3N1YmplY3QnXSk7CgkkYWRkcmVzc2VzID0gYXJyYXkoKTsKCgkvLyBjaGVjayB0aGUgc3ViamVjdAoJaWYoIGVtcHR5KCRzdWJqZWN0KSApICRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub3N1YmplY3QnKTsKCglpZiggZW1wdHkoJGVycm9yKSAmJiBlbXB0eSgkc2VuZHRvKSApICRlcnJvciA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub2FkZHJlc3NlcycpOwoKCWlmKCBlbXB0eSgkZXJyb3IpICkgewoJCSR0bXAgPSBleHBsb2RlKCcsJywkc2VuZHRvKTsKCQlpZiggIWNvdW50KCR0bXApICkgewoJCQkkZXJyb3IgPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9hZGRyZXNzZXMnKTsKCQl9CgkJZWxzZSB7CgkJCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkgewoJCQkJJHQyID0gdHJpbSgkdG1wWyRpXSk7CgkJCQlpZiggIWVtcHR5KCR0MikgKSB7CgkJCQkJJGFkZHJlc3Nlc1tdID0gJHQyOwoJCQkJfQoJCQl9CgkJCWlmKCAhY291bnQoJGFkZHJlc3NlcykgKSAkZXJyb3IgPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9hZGRyZXNzZXMnKTsKCQl9Cgl9CgoJLy8gZ290IGFsbCB0aGUgYWRkcmVzc2VzLgoJLy8gbm93IHNlbmQgdGhlIG1haWwuCglpZiggZW1wdHkoJGVycm9yKSApIHsKCQkkdXBsb2FkID0gXFVwbG9hZHNcdXBsb2FkOjpsb2FkKCRwYXJhbXNbJ3VwbG9hZF9pZCddKTsKICAgICAgICAJJGhlbHBlciA9IG5ldyBcVXBsb2Fkc1x1cGxvYWRfaGVscGVyKCR1cGxvYWQsJHJldHVybmlkKTsKCgkJLy8gZ2V0IGV2ZXJ5dGhpbmcgaW50byBzbWFydHkuCgkJJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgndXBsb2FkX3NlbmRmaWxlcnB0Jyk7CgkJJHRwbC0+YXNzaWduKCdlbnRyeScsJGhlbHBlcik7CgkJJHRwbC0+YXNzaWduKCdub3RlcycsJG5vdGVzKTsKCQkkdHBsLT5hc3NpZ24oJ3N1YmplY3QnLCRzdWJqZWN0KTsKCQkkYm9keSA9ICR0cGwtPmZldGNoKCk7CgoJCSRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwoJCSRjbXNtYWlsZXItPnJlc2V0KCk7CgkJJGNtc21haWxlci0+U2V0U3ViamVjdCgkc3ViamVjdCk7CgkJJGNtc21haWxlci0+SXNIVE1MKHRydWUpOwoJCWZvcmVhY2goICRhZGRyZXNzZXMgYXMgJG9uZSApIHsKCQkJJGNtc21haWxlci0+QWRkQWRkcmVzcygkb25lKTsKCQl9CgkJJGNtc21haWxlci0+U2V0Qm9keSgkYm9keSk7CgkJJGNtc21haWxlci0+U2VuZCgpOwoKCQkvLyBub3cgdHJ5IHRvIHJlZGlyZWN0IHRvIGEgZGlmZmVyZW50IHBhZ2UKCQkkc3RyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlZGlyZWN0X29uX3NlbmRmaWxlJyk7CgkJaWYoICRzdHIgIT0gJycgKSB7CgkJCSR0bXAgPSBDb250ZW50TWFuYWdlcjo6R2V0UGFnZUlERnJvbUFsaWFzKCRzdHIpOwoJCQlpZiggJHRtcCApIHsKCQkJCSR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJHRtcCk7CgkJCQlyZXR1cm47CgkJCX0KCQl9CgoJCS8vIHJlZGlyZWN0IGlzbid0IHNldC4uLiBzbyBkaXNwbGF5IGEgbmljZSBtZXNzYWdlLgoJCSRtZXNzYWdlID0gJHRoaXMtPkxhbmcoJ21zZ19maWxlX3NlbnQnKTsKCX0KfQoKLy8gZ2l2ZSBldmVyeXRoaW5nIHRvIHNtYXJ0eQokdHBsID0gJHRoaXMtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCR0aGV0ZW1wbGF0ZSwnc2VuZGZpbGVmb3JtXycpOwppZiggIWVtcHR5KCRlcnJvcikgKSAkdHBsLT5hc3NpZ24oJ2Vycm9yJywkZXJyb3IpOwppZiggIWVtcHR5KCRtZXNzYWdlKSApICR0cGwtPmFzc2lnbignbWVzc2FnZScsJG1lc3NhZ2UpOwokdHBsLT5hc3NpZ24oJ3VwbG9hZF9pbmZvJywkdXBsb2FkX2RhdGEpOwokdHBsLT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ3NlbmRmaWxlJywkcmV0dXJuaWQsJ3Bvc3QnLCcnLGZhbHNlLCcnLCRwYXJhbXMpKTsKJHRwbC0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRwbC0+YXNzaWduKCdub3RlcycsJG5vdGVzKTsKJHRwbC0+YXNzaWduKCdzZW5kdG8nLCRzZW5kdG8pOwokdHBsLT5hc3NpZ24oJ3N1YmplY3QnLCRzdWJqZWN0KTsKJHRwbC0+ZGlzcGxheSgpOwoKIyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.showcaptcha.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRjYXB0Y2hhID0gXGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ2FwdGNoYScpOwppZiggISRjYXB0Y2hhICkgcmV0dXJuOwokYWpheCA9IHRydWU7Cgp0cnkgewogICAgJG9wID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkX1JFUVVFU1QsJ29wJywncmVuZGVybm9ybWFsJyk7CgogICAgc3dpdGNoKCAkb3AgKSB7CiAgICBjYXNlICdnZXQnOgogICAgICAgICRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsKICAgICAgICBmb3IgKCRjbnQgPSAwOyAkY250IDwgc2l6ZW9mKCRoYW5kbGVycyk7ICRjbnQrKykgeyBvYl9lbmRfY2xlYW4oKTsgfQogICAgICAgIGVjaG8gJGNhcHRjaGEtPkdldENhcHRjaGEoKTsKICAgICAgICBleGl0OwoKICAgIGNhc2UgJ2NoZWNrJzoKICAgICAgICAvLyBjaGVjayBhIGNhcHRjaGEgdmFsdWUuCiAgICAgICAgJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOwogICAgICAgIGZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CiAgICAgICAgJHRleHQgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRfUkVRVUVTVCwnY2FwdGNoYScpOwogICAgICAgIGlmKCAhJHRleHQgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ0JBRCcpOwogICAgICAgICRyZXMgPSAkY2FwdGNoYS0+Y2hlY2tDYXB0Y2hhKCR0ZXh0KTsKICAgICAgICBpZiggISRyZXMgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ0JBRCcpOwogICAgICAgIGVjaG8gJ09LJzsKICAgICAgICBleGl0OwoKICAgIGNhc2UgJ3JlbmRlcm5vcm1hbCc6CiAgICAgICAgJGFqYXggPSBmYWxzZTsKICAgICAgICAkdHBsX25hbWUgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3RlbXBsYXRlJywnc2hvd2NhcHRjaGEudHBsJyk7CiAgICAgICAgJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgkdHBsX25hbWUpOwogICAgICAgICR0cGwtPmFzc2lnbignY2FwdGNoYV9pbWcnLCRjYXB0Y2hhLT5HZXRDYXB0Y2hhKCkpOwogICAgICAgICR0cGwtPmFzc2lnbignbmVlZF9pbnB1dCcsJGNhcHRjaGEtPk5lZWRzSW5wdXRGaWVsZCgpKTsKICAgICAgICAkdHBsLT5kaXNwbGF5KCk7CiAgICAgICAgYnJlYWs7CgogICAgY2FzZSAncmVuZGVyJzoKICAgICAgICAkaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7CiAgICAgICAgZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KICAgICAgICAkdHBsX25hbWUgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3RlbXBsYXRlJywnc2hvd2NhcHRjaGEudHBsJyk7CiAgICAgICAgJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgkdHBsX25hbWUpOwogICAgICAgICR0cGwtPmFzc2lnbignY2FwdGNoYV9pbWcnLCRjYXB0Y2hhLT5HZXRDYXB0Y2hhKCkpOwogICAgICAgICR0cGwtPmFzc2lnbignbmVlZF9pbnB1dCcsJGNhcHRjaGEtPk5lZWRzSW5wdXRGaWVsZCgpKTsKICAgICAgICAkdHBsLT5kaXNwbGF5KCk7CiAgICAgICAgYnJlYWs7CiAgICB9Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICBcY2dlX3V0aWxzOjpsb2dfZXhjZXB0aW9uKCRlKTsKICAgICRoYW5kbGVycyA9IG9iX2xpc3RfaGFuZGxlcnMoKTsKICAgIGZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CgogICAgaGVhZGVyKCJIVFRQLzEuMCA1MDAgIi4kZS0+R2V0TWVzc2FnZSgpKTsKICAgIGhlYWRlcigiU3RhdHVzOiA1MDAgU2VydmVyIEVycm9yIik7CiAgICBlY2hvICRlLT5HZXRNZXNzYWdlKCk7Cn0K]]></data>
	</file>
	<file>
	  <filename>/action.upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwokdXNlX2F1dG9nZW4gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2F1dG9nZW5fZmlsZW5hbWVzJywwKTsKCnRyeSB7CiAgICAvLyB0aGluayBhYm91dCBwZXJtaXNzaW9ucyB0byB1cGxvYWQ/CiAgICAkdGVtcGxhdGUgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3RlbXBsYXRlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF91cGxvYWRmb3JtJykpOwogICAgLy8gJHRlbXBsYXRlID0gJ29yaWdfdXBsb2FkZm9ybV90ZW1wbGF0ZS50cGwnOyAvLyBkZWJ1ZwoKICAgIHsKICAgICAgICAkY2F0bmFtZSA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnY2F0ZWdvcnknKTsKICAgICAgICBpZiggISRjYXRuYW1lICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJywnY2F0ZWdvcnknKSk7CiAgICAgICAgJGNhdCA9IFx1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnkoJGNhdG5hbWUpOwogICAgICAgICRjYXRlZ29yeV9pZCA9ICRjYXRbJ3VwbG9hZF9jYXRlZ29yeV9pZCddOwogICAgfQoKICAgIC8vIGRlZmF1bHRzCiAgICAkbm9jYXB0Y2hhID0gXGNnZV9wYXJhbTo6Z2V0X2Jvb2woJHBhcmFtcywnbm9jYXB0Y2hhJyk7CiAgICAkdWtleSA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywna2V5Jyk7CiAgICAkZGVzdG5hbWUgPSBudWxsOwogICAgJGF1dGhvciA9IG51bGw7CiAgICAkc3VtbWFyeSA9IG51bGw7CiAgICAkZGVzY3JpcHRpb24gPSBudWxsOwogICAgJGdvb2RfdXBsb2FkID0gbnVsbDsKCiAgICAvLyBhdHRlbXB0IHRvIGdldCBhbiBhdXRob3IKICAgICRhdXRob3IgPSAnYW5vbnltb3VzJzsKICAgICRmZXVzZXJzID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggJGZldXNlcnMgKSB7CiAgICAgICAgJHRtcCA9ICRmZXVzZXJzLT5Mb2dnZWRJbk5hbWUoKTsKICAgICAgICBpZiggJHRtcCApICRhdXRob3IgPSAkdG1wOwogICAgfQoKICAgIC8vIGdldCBjdXN0b20gZmllbGQgaW5mby4KICAgICRmaWVsZHMgPSBhcnJheSgpOwogICAgewogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZGRlZnMgV0hFUkUgcHVibGljID0gMSBPUkRFUiBCWSBpb3JkZXInOwogICAgICAgICR0ZmllbGRzID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoKICAgICAgICAkdHZhbHMgPSBudWxsOwogICAgICAgIGlmKCBpc3NldCgkcGFyYW1zWyd1cGxvYWRfaWQnXSkgKSB7CiAgICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZHZhbHMgV0hFUkUgdXBsb2FkX2lkID0gPyc7CiAgICAgICAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkcGFyYW1zWyd1cGxvYWRfaWQnXSkpOwogICAgICAgICAgICAkdHZhbHMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnZmxkX2lkJyk7CiAgICAgICAgfQoKICAgICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdGZpZWxkcyk7ICRpKysgKSB7CiAgICAgICAgICAgICR0ZmllbGRzWyRpXVsnYXR0cmliJ10gPSB1bnNlcmlhbGl6ZSgkdGZpZWxkc1skaV1bJ2F0dHJpYnMnXSk7CiAgICAgICAgICAgIHVuc2V0KCR0ZmllbGRzWyRpXVsnYXR0cmlicyddKTsKICAgICAgICAgICAgJHRmaWVsZHNbJGldWyd2YWx1ZSddID0gbnVsbDsKICAgICAgICAgICAgaWYoIGlzc2V0KCR0dmFsc1skdGZpZWxkc1skaV1bJ2lkJ11dKSApICR0ZmllbGRzWyRpXVsndmFsdWUnXSA9ICR0dmFsc1skdGZpZWxkc1skaV1bJ2lkJ11dWyd2YWx1ZSddOwoKICAgICAgICAgICAgc3dpdGNoKCR0ZmllbGRzWyRpXVsndHlwZSddKSB7CiAgICAgICAgICAgIGNhc2UgJ3RleHRhcmVhJzoKICAgICAgICAgICAgICAgICR0ZmllbGRzWyRpXVsnaW5wdXQnXSA9CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGlzc2V0KCR0ZmllbGRzWyRpXVsnYXR0cmliJ11bJ3VzZXd5c2l3eWcnXSkgJiYgJHRmaWVsZHNbJGldWydhdHRyaWInXVsndXNld3lzaXd5ZyddID09IDEgJiYKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93X2NvbW1lbnRfd3lzaXd5ZycsMCksICRpZCwJJHRmaWVsZHNbJGldWyd2YWx1ZSddLCdmaWVsZF8nLiR0ZmllbGRzWyRpXVsnaWQnXSk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ2Ryb3Bkb3duJzoKICAgICAgICAgICAgY2FzZSAnbXVsdGlzZWxlY3QnOgogICAgICAgICAgICAgICAgaWYoIGlzc2V0KCR0ZmllbGRzWyRpXVsnYXR0cmliJ11bJ29wdGlvbnMnXSkgKSB7CiAgICAgICAgICAgICAgICAgICAgJHRtcCA9IGV4cGxvZGUoIlxuIiwkdGZpZWxkc1skaV1bJ2F0dHJpYiddWydvcHRpb25zJ10pOwogICAgICAgICAgICAgICAgICAgICR0bXAyID0gYXJyYXkoKTsKICAgICAgICAgICAgICAgICAgICBmb3JlYWNoKCAkdG1wIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICRvbmUgPSB0cmltKCRvbmUpOwogICAgICAgICAgICAgICAgICAgICAgICBpZiggc3Ryc3RyKCRvbmUsJz0nKSAhPT0gRkFMU0UgKSB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0KCRrZXksJHZhbHVlKSA9IGV4cGxvZGUoJz0nLHRyaW0oJG9uZSksMik7CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdG1wMlt0cmltKCR2YWx1ZSldID0gdHJpbSgka2V5KTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0bXAyWyRvbmVdID0gJG9uZTsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAkdGZpZWxkc1skaV1bJ2F0dHJpYiddWydvcHRpb25zJ10gPSAkdG1wMjsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICB9CgogICAgICAgICAgICAkZmllbGRzWyR0ZmllbGRzWyRpXVsnbmFtZSddXSA9ICR0ZmllbGRzWyRpXTsKICAgICAgICB9CiAgICB9CgogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2lucHV0X3N1Ym1pdCddKSApIHsKICAgICAgICB0cnkgewogICAgICAgICAgICAkc3VtbWFyeSA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnaW5wdXRfc3VtbWFyeScpOwogICAgICAgICAgICAkZGVzY3JpcHRpb24gPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2lucHV0X2Rlc2NyaXB0aW9uJyk7CiAgICAgICAgICAgIC8vIHZlcmlmeSBjYXB0Y2hhCiAgICAgICAgICAgICRjYXB0Y2hhID0gJHRoaXMtPmdldG1vZHVsZWluc3RhbmNlKCdDYXB0Y2hhJyk7CiAgICAgICAgICAgIGlmKCBpc19vYmplY3QoJGNhcHRjaGEpICYmICEkbm9jYXB0Y2hhICYmIGlzc2V0KCRwYXJhbXNbJ2lucHV0X2NhcHRjaGEnXSkgKSB7CiAgICAgICAgICAgICAgICBpZiggISRjYXB0Y2hhLT5jaGVja2NhcHRjaGEoXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCdpbnB1dF9jYXB0Y2hhJykpICkgdGhyb3cgbmV3IFxydW50aW1lZXhjZXB0aW9uKCR0aGlzLT5sYW5nKCdlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnKSk7CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIC8vIGF0dGVtcHQgdGhlIHVwbG9hZAogICAgICAgICAgICAkcGFyYW1zWydpbnB1dF9yZXBsYWNlJ10gPSAwOwogICAgICAgICAgICAkcGFyYW1zWydpbnB1dF9hdXRob3InXSA9ICRhdXRob3I7CiAgICAgICAgICAgICRwYXJhbXNbJ2lucHV0X3N1bW1hcnknXSA9ICRzdW1tYXJ5OwogICAgICAgICAgICAkcGFyYW1zWydpbnB1dF9kZXNjcmlwdGlvbiddID0gJGRlc2NyaXB0aW9uOwogICAgICAgICAgICAkcmV0ID0gJHRoaXMtPmF0dGVtcHR1cGxvYWQoJGlkLCRwYXJhbXMsJHJldHVybmlkKTsKICAgICAgICAgICAgaWYoICRyZXRbMF0gPT0gZmFsc2UgKSB0aHJvdyBuZXcgXHJ1bnRpbWVleGNlcHRpb24oJHJldFsxXSk7CiAgICAgICAgICAgICRnb29kX3VwbG9hZCA9ICRyZXRbMl07CgogICAgICAgICAgICAvLyByZWRpcmVjdCBvdXRhIGhlcmUsIG9yIGRpc3BsYXkgYSBtZXNzYWdlCiAgICAgICAgICAgIGlmKCAoJHRtcCA9ICR0aGlzLT5nZXRwcmVmZXJlbmNlKCdyZWRpcmVjdF9vbl91cGxvYWQnKSkgKSB7CiAgICAgICAgICAgICAgICAkZGVzdHBhZ2UgPSAkdGhpcy0+cmVzb2x2ZV9hbGlhc19vcl9pZCgkdG1wLCRyZXR1cm5pZCk7CiAgICAgICAgICAgICAgICAkdGhpcy0+cmVkaXJlY3Rjb250ZW50KCAkZGVzdHBhZ2UgKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBjYXRjaCggXGV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgICAgZWNobyAkdGhpcy0+ZGlzcGxheWVycm9ybWVzc2FnZSgkZS0+Z2V0bWVzc2FnZSgpKTsKICAgICAgICB9CiAgICB9CgogICAgLy8KICAgIC8vIGdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKICAgIC8vCiAgICAkdHBsID0gJHRoaXMtPmNyZWF0ZXNtYXJ0eXRlbXBsYXRlKCR0ZW1wbGF0ZSwndXBsb2FkZm9ybV8nKTsKICAgICRwYXJtcyA9IGFycmF5KCdjYXRlZ29yeSc9PiRjYXRlZ29yeV9pZCwnbm9jYXB0Y2hhJz0+JG5vY2FwdGNoYSwna2V5Jz0+JHVrZXkpOwogICAgLy8gZW5jcnlwdCB0aGVzZSBwYXJhbXMuCiAgICAkdHBsLT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5jZ2NyZWF0ZWZvcm1zdGFydCgkaWQsICd1cGxvYWQnLCAkcmV0dXJuaWQsJHBhcm1zKSk7CiAgICAkdHBsLT5hc3NpZ24oJ2VuZGZvcm0nLCR0aGlzLT5jcmVhdGVmb3JtZW5kKCkpOwogICAgJHRwbC0+YXNzaWduKCd1c2VfYXV0b2dlbicsJHVzZV9hdXRvZ2VuKTsKICAgICR0cGwtPmFzc2lnbignZGVzdG5hbWUnLCRkZXN0bmFtZSk7CiAgICAkdHBsLT5hc3NpZ24oJ2F1dGhvcicsJGF1dGhvcik7CiAgICAkdHBsLT5hc3NpZ24oJ2Rlc2NyaXB0aW9uJywkZGVzY3JpcHRpb24pOwogICAgJHRwbC0+YXNzaWduKCdzdW1tYXJ5Jywkc3VtbWFyeSk7CiAgICAkdHBsLT5hc3NpZ24oJ2ZpZWxkcycsJGZpZWxkcyk7CiAgICAkdHBsLT5hc3NpZ24oJ2dvb2RfdXBsb2FkJywkZ29vZF91cGxvYWQpOwogICAgaWYoICEkbm9jYXB0Y2hhICkgewogICAgICAgICRjYXB0Y2hhID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDYXB0Y2hhJyk7CiAgICAgICAgaWYoIGlzX29iamVjdCgkY2FwdGNoYSkgKSB7CiAgICAgICAgICAgICR0cGwtPmFzc2lnbignY2FwdGNoYV90aXRsZScsICR0aGlzLT5MYW5nKCdjYXB0Y2hhX3RpdGxlJykpOwogICAgICAgICAgICAkdHBsLT5hc3NpZ24oJ2NhcHRjaGEnLCAkY2FwdGNoYS0+Z2V0Q2FwdGNoYSgpKTsKICAgICAgICB9CiAgICB9CiAgICAkdHBsLT5kaXNwbGF5KCk7Cn0KY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CgllY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JNZXNzYWdlKCRlLT5HZXRNZXNzYWdlKCkpOwp9CgovLyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.uploadicon.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0KCk7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFVwbG9hZHMnKSApIHJldHVybjsKCiRkaXIgPSBfX0RJUl9fLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2ltYWdlcycuRElSRUNUT1JZX1NFUEFSQVRPUjsKJHJldCA9ICR0aGlzLT5faGFuZGxlVXBsb2FkKCRkaXIsICAkaWQuJ2lucHV0X3VwbG9hZF9pY29uJyk7CgokcGFybXMgPSBhcnJheSgpOwppZiggaXNfYXJyYXkoICRyZXQgKSAmJiAkcmV0WzBdID09PSBmYWxzZSApICRwYXJtc1snZXJyb3JzJ109JHJldFsxXTsKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCRwYXJhbXNbJ2FjdGl2ZV90YWInXSwkcGFybXMpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.yousendit.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCi8vIGRpc3BsYXkgYSBmb3JtIHRvIGFsbG93IHRoZSB1c2VyIHRvIHVwbG9hZCBhIGZpbGUuLi4uIGJ1dCBtYXkgaGF2ZSB0byBoYXZlIHBlcm1pc3Npb24gZmlyc3QKLy8gaG1tbSwgSSdsbCB0aGluayBhYm91dCB0aGUgcGVybWlzc2lvbiBzdHVmZiBsYXRlci4KCi8vCi8vIGluaXRpYWxpemF0aW9uCi8vCiRpc19sb2dnZWRpbiA9IEZBTFNFOwokeXNpX3RlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfeW91c2VuZGl0Zm9ybScpOwokeXNpX3RlbXBsYXRlID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCd0ZW1wbGF0ZScsJHlzaV90ZW1wbGF0ZSk7CiRhbGxvd19vdmVyd3JpdGUgPSBcY2dlX3BhcmFtOjpnZXRfYm9vbCgkcGFyYW1zLCdzZW5kZmlsZV9vdmVyd3JpdGUnLGZhbHNlKTsKJHJlYyA9IG5ldyBTdGRDbGFzczsKJHJlYy0+bmFtZSA9ICdhdHRhY2htZW50JzsKJHJlYy0+Y2F0ZWdvcnkgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2NhdGVnb3J5Jyk7CiRyZWMtPmF1dGhvciA9IG51bGw7CiRyZWMtPmtleSA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywna2V5Jyk7CiRyZWMtPnN1bW1hcnkgPSBudWxsOwokcmVjLT5pcCA9IFxjZ2VfdXRpbHM6OmdldF9yZWFsX2lwKCk7CiRyZWMtPmRlc2NyaXB0aW9uID0gbnVsbDsKJGVycm9yID0gJG1lc3NhZ2UgPSBudWxsOwokeXNpID0gbmV3IFN0ZENsYXNzOwokeXNpLT50byA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnc2VuZGZpbGVfdG8nKTsKJHlzaS0+c3ViamVjdCA9IG51bGw7CiR5c2ktPmZpbGVuYW1lID0gbnVsbDsKJHlzaS0+ZnJvbSA9IG51bGw7CiR5c2ktPm5vdGVzID0gbnVsbDsKJHlzaS0+YWxsb3dfdG8gPSAoJHlzaS0+dG8pID8gRkFMU0UgOiBUUlVFOwokeXNpLT51c2VyX2VtYWlsID0gbnVsbDsKJGFkbWluX3VzZXJzID0gYXJyYXlfZmxpcChcY2dlX3VzZXJvcHM6OmdldF91c2VybGlzdCgpKTsKCi8vCi8vIFNldHVwCi8vCmlmKCAkeXNpLT50byApIHsKICAgIHRyeSB7CiAgICAgICAgLy8gdmFsaWRhdGUgaXQncyBlaXRoZXIgYW4gZW1haWwgYWRkcmVzcyBvciBhbiBhZG1pbiB1c2VybmFtZSB0aGF0IHdlIGhhdmUgYW4gZW1haWwgYWRkcmVzcyBmb3IuCiAgICAgICAgaWYoICFpc19lbWFpbCgkeXNpLT50bykgKSB7CiAgICAgICAgICAgIGlmKCAhaXNzZXQoJGFkbWluX3VzZXJzWyR5c2ktPnRvXSkgKSB0aHJvdyBuZXcgXEV4Y2VwdGlvbignc2VuZGZpbGVfdG8gcGFyYW1ldGVyIGlzIGludmFsaWQnKTsKICAgICAgICAgICAgJHRtcCA9IFxjZ2VfdXNlcm9wczo6Z2V0X3VpZF9lbWFpbCgkYWRtaW5fdXNlcnNbJHlzaS0+dG9dKTsKICAgICAgICAgICAgaWYoICEkdG1wICkgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ3NlbmRmaWx0X3RvIHBhcmFtZXRlciBpcyBpbnZhbGlkLicpOwogICAgICAgIH0KICAgIH0KICAgIGNhdGNoKCBcRXhjZXB0aW9uICRlICkgewogICAgICAgIGVjaG8gJHRoaXMtPkRpc3BsYXlFcnJvck1lc3NhZ2UoJGUtPkdldE1lc3NhZ2UoKSk7CiAgICAgICAgcmV0dXJuOwogICAgfQp9CmlmKCAhJHJlYy0+Y2F0ZWdvcnkgKSB7CgkvLyBpZiBtb2RlIG9yIGNhdGVnb3J5IGlzbid0IHNldC4uLiB3ZSBkb24ndCBkaXNwbGF5IGFueXRoaW5nCiAgICBlY2hvICR0aGlzLT5EaXNwbGF5RXJyb3JtZXNzYWdlKCdDYXRlZ29yeSBpcyBhIHJlcXVpcmVkIHBhcmFtZXRlciBmb3IgdGhpcyBhY3Rpb24nKTsKCXJldHVybjsKfQokZmV1c2VycyA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwppZiggJGZldXNlcnMgKSB7CgkkdG1wID0gJGZldXNlcnMtPkxvZ2dlZEluTmFtZSgpOwoJaWYoICFlbXB0eSgkdG1wKSApIHsKICAgICAgICAkaXNfbG9nZ2VkaW4gPSBUUlVFOwogICAgICAgICRyZWMtPmF1dGhvciA9ICR0bXA7CiAgICAgICAgJHlzaS0+ZnJvbSA9ICR5c2ktPnVzZXJfZW1haWwgPSAkZmV1c2Vycy0+TG9nZ2VkSW5FbWFpbCgpOwogICAgfQp9CgovLwovLyBoYW5kbGUgZm9ybSBzdWJtaXNzaW9uCi8vCmlmKCBpc3NldCgkcGFyYW1zWyd1cGxfc3VibWl0J10pICkgewogICAgdHJ5IHsKICAgICAgICAkcG9zdF9jb2RlID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCd1cGxfY29kZScpOwogICAgICAgICRzZXNzX2NvZGUgPSAkdGhpcy0+c2Vzc2lvbl9nZXQoJ3lzaV9jb2RlJyk7CiAgICAgICAgaWYoICRwb3N0X2NvZGUgIT0gJHNlc3NfY29kZSApIHRocm93IG5ldyBcRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnRlcm5hbCcpKTsKICAgICAgICAkeXNpX2ZpbGUgPSBudWxsOwoKICAgICAgICBpZiggISRpc19sb2dnZWRpbiAmJiBpc3NldCgkcGFyYW1zWyd1cGxfZnJvbSddKSApICR5c2ktPmZyb20gPSAkcmVjLT5hdXRob3IgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ3VwbF9mcm9tJyk7CiAgICAgICAgJHJlYy0+bmFtZSA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywndXBsX2Rlc3RuYW1lJywkcmVjLT5uYW1lKTsKICAgICAgICAkcmVjLT5zdW1tYXJ5ID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCd1cGxfc3VtbWFyeScpOwogICAgICAgICRyZWMtPmRlc2NyaXB0aW9uID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCd1cGxfZGVzY3JpcHRpb24nKTsKICAgICAgICBpZiggJHlzaS0+YWxsb3dfdG8pICR5c2ktPnRvID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCd1cGxfdG8nKTsKICAgICAgICAkeXNpLT5zdWJqZWN0ID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCd1cGxfc3ViamVjdCcpOwogICAgICAgICR5c2ktPm5vdGVzID0gXGNnZV9wYXJhbTo6Z2V0X3N0cmluZygkcGFyYW1zLCd1cGxfbm90ZXMnKTsKICAgICAgICBpZiggISRyZWMtPnN1bW1hcnkgJiYgJHlzaS0+c3ViamVjdCApICRyZWMtPnN1bW1hcnkgPSAkeXNpLT5zdWJqZWN0OwogICAgICAgIGlmKCAhJHJlYy0+ZGVzY3JpcHRpb24gJiYgJHlzaS0+bm90ZXMgKSAkcmVjLT5kZXNjcmlwdGlvbiA9ICR5c2ktPm5vdGVzOwogICAgICAgIGlmKCAhJHlzaS0+c3ViamVjdCAmJiAkcmVjLT5zdW1tYXJ5ICkgJHlzaS0+c3ViamVjdCA9ICRyZWMtPnN1bW1hcnk7CiAgICAgICAgaWYoICEkeXNpLT5ub3RlcyAmJiAkcmVjLT5kZXNjcmlwdGlvbiApICR5c2ktPm5vdGVzID0gJHJlYy0+ZGVzY3JpcHRpb247CgogICAgICAgIC8vIGVycm9yIGNoZWNraW5nCiAgICAgICAgaWYoIFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywndXBsX2F1dGgnKSApIHRocm93IG5ldyBcRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnKSk7IC8vIGhvbmV5cG90CiAgICAgICAgaWYoICFpc19lbWFpbCgkeXNpLT5mcm9tKSApIHRocm93IG5ldyBcRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9ub3NlbmRlcicpKTsKICAgICAgICAkdF9saXN0ID0gZXhwbG9kZSgnLCcsJHlzaS0+dG8pOwogICAgICAgICRsaXN0ID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoKCAkdF9saXN0IGFzICRvbmUgKSB7CiAgICAgICAgICAgICRvbmUgPSB0cmltKCRvbmUpOwogICAgICAgICAgICBpZiggISRvbmUgKSBjb250aW51ZTsKICAgICAgICAgICAgaWYoIGluX2FycmF5KCRvbmUsJGxpc3QpICkgY29udGludWU7CiAgICAgICAgICAgIGlmKCAhaXNfZW1haWwoJG9uZSkgKSB7CiAgICAgICAgICAgICAgICAvLyBjaGVjayBpZiBpdCdzIGFuIGFkbWluIHVzZXJuYW1lLgogICAgICAgICAgICAgICAgaWYoIGlzc2V0KCRhZG1pbl91c2Vyc1skb25lXSkgKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gc2VlIGlmIHdlIGhhdmUgYW4gZW1haWwgZm9yIHRoaXMgdXNlcgogICAgICAgICAgICAgICAgICAgICRvbmUgPSBcY2dlX3VzZXJvcHM6OmdldF91aWRfZW1haWwoJGFkbWluX3VzZXJzWyRvbmVdKTsKICAgICAgICAgICAgICAgICAgICBpZiggISRvbmUgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGxpc3RbXSA9ICRvbmU7CiAgICAgICAgfQogICAgICAgIGlmKCAhY291bnQoJGxpc3QpICkgdGhyb3cgbmV3IFxFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX25vYWRkcmVzc2VzJykpOwogICAgICAgICR5c2ktPnNlbmR0byA9ICRsaXN0OwogICAgICAgIGlmKCAhJHlzaS0+c3ViamVjdCApIHRocm93IG5ldyBcRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9ub3N1YmplY3QnKSk7CgogICAgICAgIC8vIGNoZWNrIHRoYXQgd2UgYWN0dWFsbHkgdXBsb2FkZWQgc29tZXRoaW5nCiAgICAgICAgJHlzaV9maWxlID0gXHVwbG9hZHNfdXRpbHM6OmdldF90bXBmaWxlKCRwb3N0X2NvZGUpOwogICAgICAgIGlmKCAhaXNfZmlsZSgkeXNpX2ZpbGUpICkgdGhyb3cgbmV3IFxFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmlsZXN1cGxvYWRlZCcpKTsKICAgICAgICB0cnkgewogICAgICAgICAgICAvLyBub3cgY29udmVydCB0aGlzIHRoaW5nIGludG8gYW4gdXBsb2FkLgogICAgICAgICAgICAkdXBsb2FkID0gbmV3IFxVcGxvYWRzXHVwbG9hZDsKICAgICAgICAgICAgJGNhdCA9IHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yeSgkcmVjLT5jYXRlZ29yeSk7CiAgICAgICAgICAgICR1cGxvYWQtPmNhdGVnb3J5ID0gJGNhdFsndXBsb2FkX2NhdGVnb3J5X2lkJ107CiAgICAgICAgICAgICR1cGxvYWQtPmF1dGhvciA9ICRyZWMtPmF1dGhvcjsKICAgICAgICAgICAgJHVwbG9hZC0+bmFtZSA9ICRyZWMtPm5hbWU7CiAgICAgICAgICAgICR1cGxvYWQtPmtleSA9ICRyZWMtPmtleTsKICAgICAgICAgICAgJHVwbG9hZC0+c3VtbWFyeSA9ICRyZWMtPnN1bW1hcnk7CiAgICAgICAgICAgICR1cGxvYWQtPmRlc2NyaXB0aW9uID0gJHJlYy0+ZGVzY3JpcHRpb247CiAgICAgICAgICAgICR1cGxvYWQtPmlwID0gJHJlYy0+aXA7CiAgICAgICAgICAgICRkZXN0bmFtZSA9ICR1cGxvYWQtPmdldF9maWxlc3BlYygpOwoKICAgICAgICAgICAgLy8gbW92ZSB0aGUgZmlsZSB0byBpdCdzIHBlcm1hbmVudCBsb2NhdGlvbgogICAgICAgICAgICBpZiggaXNfZmlsZSgkZGVzdG5hbWUpICYmICEkYWxsb3dfb3ZlcndyaXRlICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9maWxlZXhpc3RzJywkdXBsb2FkLT5uYW1lKSk7CiAgICAgICAgICAgIEBjb3B5KCR5c2lfZmlsZSwkZGVzdG5hbWUpOwogICAgICAgICAgICBAdW5saW5rKCR5c2lfZmlsZSk7CiAgICAgICAgICAgICR1cGxvYWQtPnNhdmUoKTsKICAgICAgICB9CiAgICAgICAgY2F0Y2goIFxFeGNlcHRpb24gJGUgKSB7CiAgICAgICAgICAgIGlmKCAkeXNpX2ZpbGUgKSBAdW5saW5rKCR5c2lfZmlsZSk7CiAgICAgICAgICAgIHRocm93ICRlOwogICAgICAgIH0KCiAgICAgICAgLy8gY2xlYXIgdGhpcyB0aGluZywgY2FuJ3QgYmUgdXNlZCBhbnkgbW9yZS4KICAgICAgICAkdGhpcy0+c2Vzc2lvbl9jbGVhcigneXNpX2NvZGUnKTsKICAgICAgICAkZmlsZV9leHBpcmVzID0gdXBsb2Fkc191dGlsczo6Z2V0X2ZpbGVfZXhwaXJ5KCR1cGxvYWQtPmlkKTsKCiAgICAgICAgLy8gc2VuZCBhbiBldmVudAogICAgICAgICRlcGFybXMgPSBhcnJheSgpOwogICAgICAgICRlcGFybXNbJ3VwbG9hZF9pZCddID0gJHVwbG9hZC0+aWQ7CiAgICAgICAgJGVwYXJtc1snbmFtZSddID0gJHVwbG9hZC0+bmFtZTsKICAgICAgICAkZXBhcm1zWydzaXplJ10gPSAkdXBsb2FkLT5zaXplOwogICAgICAgICRlcGFybXNbJ2F1dGhvciddID0gJHVwbG9hZC0+YXV0aG9yOwogICAgICAgICRlcGFybXNbJ3N1bW1hcnknXSA9ICR1cGxvYWQtPnN1bW1hcnk7CiAgICAgICAgJGVwYXJtc1snZGVzY3JpcHRpb24nXSA9ICR1cGxvYWQtPmRlc2NyaXB0aW9uOwogICAgICAgICRlcGFybXNbJ2lwX2FkZHJlc3MnXSA9ICR1cGxvYWQtPmlwOwogICAgICAgICRlcGFybXNbJ2NhdGVnb3J5J10gPSAkdXBsb2FkLT5jYXRlZ29yeTsKICAgICAgICAkdGhpcy0+U2VuZEV2ZW50KCdPblVwbG9hZCcsJGVwYXJtcyk7CiAgICAgICAgdW5zZXQoJGVwYXJtcyk7CgogICAgICAgICRoZWxwZXIgPSBuZXcgXFVwbG9hZHNcdXBsb2FkX2hlbHBlcigkdXBsb2FkLCRyZXR1cm5pZCk7CgogICAgICAgICR0cGwgPSAkdGhpcy0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ3VwbG9hZF9zZW5kZmlsZXJwdCcpOwogICAgICAgICR0cGwtPmFzc2lnbignZW50cnknLCRoZWxwZXIpOwogICAgICAgICR0cGwtPmFzc2lnbignYXV0aG9yJywkcmVjLT5hdXRob3IpOwogICAgICAgICR0cGwtPmFzc2lnbignbm90ZXMnLCR5c2ktPm5vdGVzKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3N1YmplY3QnLCR5c2ktPnN1YmplY3QpOwogICAgICAgICR0cGwtPmFzc2lnbignZXhwaXJlcycsJGZpbGVfZXhwaXJlcyk7CiAgICAgICAgJGJvZHkgPSAkdHBsLT5mZXRjaCgpOwoKICAgICAgICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKICAgICAgICAkY21zbWFpbGVyLT5yZXNldCgpOwogICAgICAgICRjbXNtYWlsZXItPlNldFN1YmplY3QoJHlzaS0+c3ViamVjdCk7CiAgICAgICAgJGNtc21haWxlci0+SXNIVE1MKHRydWUpOwogICAgICAgIGZvcmVhY2goICR5c2ktPnNlbmR0byBhcyAkb25lICkgewogICAgICAgICAgICAkY21zbWFpbGVyLT5BZGRBZGRyZXNzKCRvbmUpOwogICAgICAgIH0KICAgICAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCRib2R5KTsKICAgICAgICAkY21zbWFpbGVyLT5BZGRSZXBseVRvKCR5c2ktPmZyb20pOwogICAgICAgICRjbXNtYWlsZXItPlNlbmQoKTsKCiAgICAgICAgLy8gY3JlYXRlIGEgZmluaXNoZWQgbWVzc2FnZS4KICAgICAgICAvLyBzZXQgaXQgYXMgYSBjZ2VfbWVzc2FnZSBmb3IgdXNlIGFmdGVyIHN1Ym1pc3Npb24uCiAgICAgICAgJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgnc2VuZGZpbGVfYWZ0ZXJtc2cnKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ3VwbG9hZCcsJGhlbHBlcik7CiAgICAgICAgJHRwbC0+YXNzaWduKCdhdXRob3InLCRyZWMtPmF1dGhvcik7CiAgICAgICAgJHRwbC0+YXNzaWduKCdzZW50dG8nLCR5c2ktPnRvKTsKICAgICAgICAkdHBsLT5hc3NpZ24oJ2V4cGlyZXMnLCRmaWxlX2V4cGlyZXMpOwogICAgICAgICR0ZXh0ID0gJHRwbC0+ZmV0Y2goKTsKICAgICAgICBcY2dlX21lc3NhZ2U6OnNldCgneW91c2VuZGl0JywkdGV4dCk7CgogICAgICAgIC8vIGF1ZGl0IGl0CiAgICAgICAgYXVkaXQoJHVwbG9hZC0+aWQsJHRoaXMtPkdldE5hbWUoKSwnWW91c2VuZGl0IHVwbG9hZCBvZiAnLiR1cGxvYWQtPm5hbWUuJyBzdWNjZXNzZnVsJyk7CiAgICB9CiAgICBjYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICBcY2dlX3V0aWxzOjpsb2dfZXhjZXB0aW9uKCRlKTsKICAgICAgICAkaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7CiAgICAgICAgZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0KCiAgICAgICAgaGVhZGVyKCJIVFRQLzEuMCA1MDAgIi4kZS0+R2V0TWVzc2FnZSgpKTsKICAgICAgICBoZWFkZXIoIlN0YXR1czogNTAwICIuJGUtPkdldE1lc3NhZ2UoKSk7CiAgICAgICAgZWNobyAkZS0+R2V0TWVzc2FnZSgpOwogICAgICAgIGV4aXQoKTsKICAgIH0KfSAvLyBlbmQgZm9ybSBzdWJtaXNzaW9uCgoKLy8KLy8gR2l2ZSBFdmVyeXRoaW5nIHRvIHNtYXJ0eQovLwokdHBsID0gJHRoaXMtPkNyZWF0ZVNtYXJ0eVRlbXBsYXRlKCR5c2lfdGVtcGxhdGUsJ3lvdXNlbmRpdGZvcm1fJyk7CgovLyB3aGF0IHRvIGRvIGFmdGVyd2FyZHMKJHN0ciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZWRpcmVjdF9vbl9zZW5kZmlsZScpOwokdHBsLT5hc3NpZ24oJ3JlZGlyZWN0X3VybCcsJHRoaXMtPkdldFNob3dNZXNzYWdlVVJMKCRyZXR1cm5pZCwneW91c2VuZGl0JyxUUlVFKSk7CgppZiggJHN0ciApIHsKICAgICRjb250ZW50X2lkID0gJHRoaXMtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHN0cik7CiAgICBpZiggJGNvbnRlbnRfaWQgKSB7CiAgICAgICAgJGNvbnRlbnRfb2JqID0gXENvbnRlbnRPcGVyYXRpb25zOjpnZXRfaW5zdGFuY2UoKS0+TG9hZENvbnRlbnRGcm9tSWQoJGNvbnRlbnRfaWQpOwogICAgICAgICR0cGwtPmFzc2lnbigncmVkaXJlY3RfdXJsJywkY29udGVudF9vYmotPkdldFVybCgpKTsKICAgIH0KfQokdW5pcXVlX2NvZGUgPSBtZDUobWljcm90aW1lKCkuJ19fRklMRV9fJyk7CiR0aGlzLT5zZXNzaW9uX3B1dCgneXNpX2NvZGUnLCR1bmlxdWVfY29kZSk7CiRwYXJtcyA9IGFycmF5KCk7CmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkgewogICAgaWYoIHN0YXJ0c3dpdGgoICRrZXksICd1cGxfJykgKSBjb250aW51ZTsKICAgICRwYXJtc1ska2V5XSA9ICR2YWw7Cn0KJHBhcm1zWyd1cGxfY29kZSddID0gJHVuaXF1ZV9jb2RlOwoKaWYoIGNvdW50KCRlcnJvcikgKSAkdHBsLT5hc3NpZ24oJ2Vycm9yJywkZXJyb3IpOwppZiggY291bnQoJG1lc3NhZ2UpICkgJHRwbC0+YXNzaWduKCdtZXNzYWdlJywkbWVzc2FnZSk7CiR0cGwtPmFzc2lnbignaXNfbG9nZ2VkaW4nLCRpc19sb2dnZWRpbik7CiR0cGwtPmFzc2lnbigndXBsb2FkJywkcmVjKTsKJHRwbC0+YXNzaWduKCd5c2knLCR5c2kpOwokdHBsLT5hc3NpZ24oJ3N0YXJ0Zm9ybScsICR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCAoJGlkLCAneW91c2VuZGl0JywgJHJldHVybmlkLCAkcGFybXMpKTsKJHRwbC0+YXNzaWduKCdlbmRmb3JtJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRwbC0+YXNzaWduKCd5c2lfY29kZScsJHVuaXF1ZV9jb2RlKTsKCiRjYXB0Y2hhID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDYXB0Y2hhJyk7CmlmKCBpc19vYmplY3QoJGNhcHRjaGEpICYmICFpc3NldCgkcGFyYW1zWydub2NhcHRjaGEnXSkgKSB7CgkvLyR0cGwtPmFzc2lnbignaW5wdXRfY2FwdGNoYScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9jYXB0Y2hhJywnJywxMCkpOwoJJHRwbC0+YXNzaWduKCdjYXB0Y2hhJywgJGNhcHRjaGEtPmdldENhcHRjaGEoKSk7CiAgICAkdHBsLT5hc3NpZ24oJ25lZWRfY2FwdGNoYV9pbnB1dCcsJGNhcHRjaGEtPk5lZWRzSW5wdXRGaWVsZCgpKTsKfQoKJHRwbC0+ZGlzcGxheSgpOwoKIyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/changelog.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgo8bGk+CjxwPlZlcnNpb24gMS4wLiAtIFNlcHRlbWJlciAyMDA1LjwvcD4KPHA+IEluaXRpYWwgUmVsZWFzZS48L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjAxLiAtIFNlcHRlbWJlciAyMDA1PC9wPgo8cD5NaW5vciBmaXhlcy48L3A+PC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMDIuIC0gU2VwdGVtYmVyIDIwMDU8L3A+CjxwPkFkZGVkIGFiaWxpdHkgdG8gc3BlY2lmeSBzb3J0IG9yZGVyPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4wMy4gLSBTZXB0ZW1iZXIgMjAwNTwvcD4KPHA+Rml4IHJlZ2FyZGluZyBjb25mbGljdCBpbiB0ZW1wbGF0ZSBuYW1lczwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMDQuIC0gU2VwdGVtYmVyIDIwMDU8L3A+CjxwPkFkZGVkIGFiaWxpdHkgdG8gcmUtc2NhbiBhIGRpcmVjdG9yeSwgYW5kIHRvIHVwbG9hZCBmaWxlcyBmcm9tIHRoZSBhZG1pbiBwYWdlPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4wNS4gLSBTZXB0ZW1iZXIgMjAwNTwvcD4KPHA+Rml4ZWQgc29tZSBQSFAgdmFyaWFibGUgaXNzdWVzPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4wNi4gLSBTZXB0ZW1iZXIgMjAwNTwvcD4KPHA+QWRkZWQgYXV0aG9yIGZpZWxkIHRvIHRoZSBhZG1pbiBwYW5lbCB1cGxvYWQgZm9ybSwgYWRkZWQgYSBzdW1tYXJ5IGZpZWxkLCBhbmQgbWFkZSBkZXNjcmlwdGlvbiBhIHRleHQgYXJlYSwgYW5kIGFsbG93IHRoZSB1c2VyIHRvIHNwZWNpZnkgYSBkZXN0aW5hdGlvbiBmaWxlIG5hbWU8L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjA3LiAtIFNlcHRlbWJlciAyMDA1PC9wPgo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byByZW5hbWUgZmlsZXMgYW5kIGZpeGVkIGEgc2NhbiBlcnJvcjwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMDguIC0gU2VwdGVtYmVyIDIwMDU8L3A+CjxwPkJldHRlciBoYW5kbGluZyBvZiBuYW1lcyB3aXRoIHNwYWNlcywgYW5kIGEgZmV3IG1pbm9yIGVycm9ycyBmaXhlZC4gIEFkZGVkIHN3ZWRpc2ggdHJhbnNsYXRpb24gKHRoYW5rcyB3ZXN0aXMpPC9wPjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjEuMC4gLSBPY3RvYmVyIDIwMDU8L3A+CiA8dWw+CiAgIDxsaT5Nb2RpZmllZCBBdHRlbXB0VXBsb2FkIGZ1bmN0aW9uIHNvIGl0IGNvdWxkIGJlIGNhbGxlZCBleHRlcm5hbGx5PC9saT4KICAgPGxpPkFkZGVkIEdldFVwbG9hZERldGFpbHMgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFsbCBvZiB0aGUgZGV0YWlscyBhYm91dCBhIG1vZHVsZSwgaW5jbHVkaW5nIGEgbGluazwvbGk+CiAgIDxsaT5BZGRlZCBSZWRpcmVjdHMgc28gdGhhdCB3b3JraW5nIHdpdGggdGhlIG1vZHVsZSBpcyBhbG90IG5pY2VyLCBpdCByZXR1cm5zIHRvIHRoZSByaWdodCB0YWI8L2xpPgogICA8bGk+Q2hhbmdlZCB0aGUgZnJvbnQgdGVtcGxhdGUgdG8gbG9vayBhIGxpdHRsZSBiZXR0ZXIgYW5kIG1ha2UgbW9yZSBzZW5zZTwvbGk+CiAgIDxsaT5GaXhlcyB0byB0aGUgdXBsb2FkcyBzdHVmZiBzbyB0aGF0IHRoZSBkZXNjcmlwdGlvbiBpcyBzZXQsIGFuZCBuYW1lIGFuZCBzdW1tYXJ5IGFyZSBwdXQgaW4gdGhlIHJpZ2h0IHBsYWNlPC9saT4KICAgPGxpPkZpeGVzIHRvIGV2ZW4gYmV0dGVyIGhhbmRsZSBzcGFjZXMgaW4gbmFtZXM8L2xpPgogICA8bGk+T3B0aW9uYWx5IHBsYWNlIGR1bW15IGluZGV4Lmh0bWwgZmlsZXMgaW4gZWFjaCB1cGxvYWQgZGlyZWN0b3J5PC9saT4KICAgPGxpPklmIHNwZWNpZnlpbmcgYSBkZXN0aW5hdGlvbiBuYW1lLCBhbmQgbm8gZXh0ZW5zaW9uIGlzIGdpdmVuLCB0aGUgZXh0ZW5zaW9uIG9mIHRoZSBvcmlnaW5hdGluZyBmaWxlIChpZiBhbnkgZXhpc3RzIGlzIHVzZWQ8L2xpPgogPC91bD4KIDxwPjxlbT48Yj5JbXBvcnRhbnQhPC9iPjwvZW0+PGJyLz5JdCBpcyBub3QgcG9zc2libGUgdG8gdXBncmFkZSBmcm9tIGFueSBvdGhlciB2ZXJzaW9uIG9mIHRoZSBVcGxvYWRzIG1vZHVsZSB0byAxLjEuMC4gIFRoaXMgaXMgZHVlIHRvIHNvbWUgZXJyb3JzIHRoYXQgd2VyZSBtYWRlIGluIHRoZSBkYXRhYmFzZSByb3V0aW5lcywgYW5kIGV2ZW4gaW4gdGhlIHVwZ3JhZGUgcm91dGluZSBpbiAxLjAuNi4gIFlvdSBtdXN0IGRlLWluc3RhbGwgdGhlIG9sZCB2ZXJzaW9uLCBhbmQgdGhlbiByZS1pbnN0YWxsIHRoZSBuZXcgdmVyZXNpb24uIFRoaXMgd2lsbCBjYXVzZSBzaWduaWZpY2FudCBkaWZmaWN1bHR5IGlmIHlvdSBoYXZlIGRzY3JpcHRpb25zLCBldGMsIGluIHlvdXIgdGFibGVzPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4xLjEuIC0gT2N0b2JlciwgMjAwNTwvcD4KPHA+Rml4ZWQgYSBjb3VwbGUgb2YgbWlub3IgYnVncyBpbiB0aGUgR2V0VXBsb2FkRGV0YWlscyBhbmQgYWRkZWQgYW5vdGhlciBsaW5rIChvciBhIHVybCkgdG8gdGhlIHVwbG9hZGVkIGZpbGUuPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4xLjIuIC0gT2N0b2JlciwgMjAwNTwvcD4KPHA+Rml4ZWQgdGhlIFVSTCBmaWVsZCBpbiBHZXRVcGxvYWREZXRhaWxzIHRvIHJldHVybiBhIGRvd25sb2FkIGxpbmsgYW5kIGFkZGVkIGFuIGFic3VybCBmaWVsZCB3aGljaCByZXR1cm5zIHRoZSBhYnNvbHV0ZSBwYXRoIHRvIHRoZSBmaWxlIG9uIHRoZSB3ZWJzZXJ2ZXIuICBDbGlja3Mgb24gdGhpcyBsaW5rIHdpbGwgbm90IGJlIGNvdW50ZWQ8L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjEuMy4gLSBPY3RvYmVyLCAyMDA1PC9wPgo8cD5GaXhlZCB0aGUgdXBncmFkZSBwcm9ibGVtIGZyb20gdGhlIDEuMC54IHNlcmllcy4gIFVzZXJzIG9mIHRoZSAxLjAueCBzZXJpZXMgc2hvdWxkIGJlIGFibGUgdG8gdXBncmFkZSB0byAxLjEuMyBub3cgd2l0aCBubyBkaWZmaWN1bHR5LiA8Yj5UaG9zZSBhcmUgZmFtb3VzIGxhc3Qgd29yZHMsIHBsZWFzZSBiYWNrdXAgZmlyc3Q8L2I+LiBGaXhlZCB0aGUgY29udGVudCByZWRpcmVjdCB0aGluZ3MgdGhhdCB3ZXJlIGlycml0YXRpbmcgbWUuICBBbHNvIGFkZGVkIGNhdGVnb3J5PWFsbCB0byBsaXN0IGFsbCBvZiB0aGUgdXBsb2FkcyBpbiBhbGwgbGlzdGFibGUgY2F0ZWdvcmllcyA8ZW0+KGxldHMgYWxsIGhvcGUgSSBnb3QgdGhlIHNxbCBmaWd1cmVkIG91dCBwcm9wZXJseSk8L2VtPi48L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjEuNC4gLSBPY3RvYmVyLCAyMDA1PC9wPgo8cD5BZGRlZCB0aGUgY291bnQgcGFyYW1ldGVyIHRvIGxpc3Qgb25seSB0aGUgZmlyc3QgTiByZWNvcmRzLCBhbmQgYWRkZWQgInN1bW1hcnlsaW5rIiwgYW5kICJjYXRlZ29yeSIgdG8gdGhlIHRlbXBsYXRlcyBmb3Igd2VzdGlzLiAgRm9yIGV4YW1wbGVzIG9uIGhvdyB0byB1c2UgdGhlbSByZXNldCB5b3VyIHRlbXBsYXRlcyBiYWNrIHRvIGRlZmF1bHQuPC9wPjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjEuNS4gLSBOb3ZlbWJlciwgMjAwNTwvcD4KPHA+QWRkZWQgZW1haWwgbm90aWZpY2F0aW9uIGFuZCBzb21lIGJ1ZyBmaXhlczwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMS42LiAtIE5vdmVtYmVyLCAyMDA1PC9wPgo8cD5BZGRlZCBhbiBhcGkgZnVuY3Rpb24gYW5kIGZpeGVkIHNvbWUgcmVkaXJlY3Rpb24gc3R1ZmY8L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjEuNy4gLSBOb3ZlbWJlciwgMjAwNTwvcD4KPHA+TW9yZSBBUEkgZnVuY3Rpb25zLCBhbmQgbm93IGlnbm9yZSBkb3QgZmlsZXMgd2hlbiBzY2FubmluZy4gIEVtYWlsIG5vdGlmaWNhdGlvbiBpcyBub3cgaW4uPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4xLjguIC0gSmFudWFyeSwgMjAwNjwvcD4KPHA+KiBJbXByb3ZlZCBkb2NzIHdydCBhcGFjaGUgYW5kIHBocCBjb25maWdzLjwvcD4KPHA+KiBGaXhlZCBwcm9ibGVtIHdoZXJlIGZpbGVzaXplIHdhcyBzaG93aW5nIHVwIGFzIDAuPC9wPgo8cD4qIE1vZGlmaWVkIHBlcm1pc3Npb25zIHRvIGJlIG1vcmUgZ3JhbnVsYXI8L3A+CjxwPiogQWRkZWQgc29tZSBjb21tZW50cyBhbmQgdmVyYm9zaXR5IHRvIHRoZSBjYXRlZ29yeSBhbmQgdXBsb2FkcyBmb3JtcyBpbiB0aGUgYWRtaW4gc2VjdGlvbjwvcD4KPHA+KiBBZGRlZCAicmFuZG9tIiBzb3J0IG9yZGVyPC9wPgo8cD4qIFNvbWUgUEhQNSBmaXhlczwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMS45LiAtIEphbnVhcnksIDIwMDY8L3A+CjxwPiogQWRkZWQgdGhlIGFiaWxpdHkgdG8gdXBsb2FkIGEgdGh1bWJuYWlsIGltYWdlPC9wPgo8cD4qIFNvbWUgaW1wcm92ZWQgYXVkaXRpbmc8L3A+CjxwPiogeG1sIG5vdyBhZGRlZCB0byB0aGUgZGVmYXVsdCBmaWxlIHR5cGVzIChuZXcgaW5zdGFsbHMgb25seSk8L3A+CjxwPiogQWRkZWQgYSBjb25maXJtYXRpb24gbWVzc2FnZSB0byB0aGUgcmVzZXQgdG8gZGVmYXVsdHMgYnV0dG9ucyBvZiB0aGUgdGVtcGxhdGUgcGFnZXMuPC9wPgo8cD4qIEFkZGVkIHRoZSBmaWxlX2V4dGVuc2lvbnMgcGFyYW1ldGVyIGZvciB0aGUgdXBsb2FkIGZvcm08L3A+CjxwPiogVGhlIGN1cnJlbnQgY2F0ZWdvcnkgc2VsZWN0ZWQgaW4gdGhlIGZpbGVzIGZpbHRlciBpcyBzdGlja3kuCjxwPiogQWRkZWQgYSBwcmVmZXJlbmNlIHRvIGVuZm9yaWNlIGZpbGVuYW1lIGV4dGVuc2lvbnMgKGRlZmF1bHRzIHRvIG9uKTwvcD4KPHA+KiBBZGRlZCBhIGxpbmsgdG8gdGhlIGVkaXQgcGFnZSwgaW4gdGhlIG5hbWUgY29sdW1uIG9mIHRoZSBmaWxlcyBsaXN0LjwvcD4KPHA+KiBNaW5vciBjaGFuZ2VzIHRvIHRoZSBsYXlvdXQgYW5kIHRleHQgdG8gYWRkIGNsYXJpdHkuPC9wPgo8cD4qIEFkZGVkIGRvd25sb2FkX3VybCBhcyBhbiBhdmFpbGFibGUgc21hcnR5IHRhZyBpbiB0aGUgdGVtcGxhdGVzPC9wPgo8bGk+CjxwPlZlcnNpb24gMS4xLjEwLiAtIEZlYnJ1YXJ5LCAyMDA2PC9wPgo8cD4qIFN1bW1hcnkgbm93IGRlZmF1bHRzIHRvIHRoZSBmaWxlbmFtZSAod2l0aG91dCB0aGUgZXh0ZW5zaW9uKSBpZiBub25lIGlzIHNwZWNpZmllZDwvcD4KPHA+KiBOb3cgY29ycmVjdGx5IGhhbmRsZSBpZiB0aGUgdGh1bWJuYWlsIGV4dGVuc2lvbiBpcyBub3QgaW4gdGhlIGFjY2VwdGVkIGV4dGVuc2lvbiBsaXN0PC9wPgo8cD4qIE5vIGxvbmdlciBkaXNwbGF5IGFueSBjb250ZW50IGluIHRoZSBmaWxlcyB0YWIgaWYgdGhlcmUgYXJlIG5vIGNhdGVnb3JpZXMgZGVmaW5lZDwvcD4KPHA+KiBEaXNwbGF5IGEgbGluayBpbiB0aGUgZXJyb3IgcGFnZSB0aGF0IHRha2VzIHlvdSBiYWNrIHRvIHRoZSBtYWluIGFkbWluIHBhbmVsPC9wPgo8cD4qIEFsbG93IGZvciByZXBsYWNpbmcgb2YgdXBsb2FkZWQgZmlsZXM8L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjEuMTEuIC0gTWFyY2gsIDIwMDY8L3A+CjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciBhIGxpbmsgdG8gYSBkZXRhaWxlZCBwYWdlIHdoZW4gaW4gc3VtbWFyeSBtb2RlLjwvcD4KPHA+U3BsaXQgdGhlIGRlZmF1bHQgYWN0aW9uIGFuZCBkZWZhdWx0YWRtaW4gYWN0aW9ucyBpbnRvIHNlcGFyYXRlIGZpbGVzLCBmb3IgYSBiaXQgb2YgbWVtb3J5IGltcHJvdmVtZW50LCBob3BlZnVsbHk8L3A+CjxwPkFkZCB0aGUgYWJpbGl0eSB0byByZWRpcmVjdCB0byBhbm90aGVyIHBhZ2UgYWZ0ZXIgYSBmcm9udGVuZCB1c2VyIHVwbG9hZGVkIGEgZmlsZTwvcD4KPC9saT4KPGxpPgo8cD5WZXJzaW9uIDEuMS4xMi4gLSBNYXJjaCwgMjAwNjwvcD4KPHA+QWRkZWQgdGhlIHNpbmdsZXN1bW1hcnkgbW9kZSB0byBkaXNwbGF5IGEgc2luZ2xlIHVwbG9hZCBpbiBzdW1tYXJ5IG1vZGU8L1A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjEuMTMuIC0gQXByaWwsIDIwMDY8L3A+CjxwPkFkZGVkIG9wdGlvbmFsIGZpbHRlcmluZyBvbiB0aGUgZnJvbnRlbmQsIGFuZCBhIGNvdXBsZSBvZiBleHRyYSBwYXJhbWV0ZXJzIHRvIGdvIHdpdGggaXQ8L3A+CjxwPkZpeGVkIGEgcHJvYmxlbSB3aGVyZSBpdCB3b3VsZCBhbGxvdyB5b3UgdG8gZW50ZXIgYSBibGFuayBwYXRoIHdoZW4gY3JlYXRpbmcgYSBjYXRlZ29yeTwvcD4KPHA+U3BsaXQgc3R1ZmYgaW50byAoc29tZSkgc2VwYXJhdGUgYWN0aW9uIGZpbGVzIGZvciBzb21lIGhvcGVmdWwgcGVyZm9ybWFuY2UgaW5jcmVhc2VzPC9wPgo8cD5BZGRlZCBjb3B5cmlnaHQgbm90aWNlczwvcD4KPHA+Q2hhbmdlZCAob3B0aW9uYWwpIGRlcGVuZGVuY3kgZnJvbSBVc2VySUQgdG8gRnJvbnRFbmRVc2VycyBNb2R1bGUuPC9wPgo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4yLjEgLSBBcHJpbCwgMjAwNjwvcD4KPHA+Q2hhbmdlZCBfc2NhbkRpcmVjdG9yeSB0byBhbiBBUEkgZnVuY3Rpb24gU2NhbkRpcmVjdG9yeSBhbmQgdGhlbiBhZGRlZCBTbWFydFNjYW5EaXJlY3RvcnkgdG8gc2NhbiB0aGUgZGlyZWN0b3J5IGJlZm9yZSBkaXNwbGF5aW5nIHRoZSBzdW1tYXJ5IG9yIGRldGFpbCBsaXN0aW5nIHRvIGhhbmRsZSB0aGUKY2FzZSB3aGVyZSBzb21lYm9keSB1cGxvYWRlZCBmaWxlcyB2aWEgRlRQIG9yIHNvbWV0aGluZyBhbmQgZGlkIG5vdCBnbyBpbnRvIHRoZSBhZG1pbiBzZWN0aW9uIHRvIHVwZGF0ZSB0aGUgY2F0ZWdvcmllcy48L3A+CjxwPkNvcnJlY3Rpb24gdG8gYWxsIGRiIGFjY2VzcyBzdHVmZi4gSG9wZWZ1bGx5IHByb3ZpZGVzIGEgcGVyZm9ybWFuY2UgaW5jcmVhc2UuPC9wPgo8cD5GaXhlcyB0byB0aGUgYWJvdXQgc3R1ZmYsIG5vdyB1c2UgQ3JlYXRlUGFyYW1ldGVyPC9wPgo8cD5BZGRlZCB0aGUgdXBsb2FkX3RlbXBsYXRlLCBzdW1tYXJ5X3RlbXBsYXRlLCBhbmQgZGV0YWlsX3RlbXBsYXRlIChvcHRpb25hbCkgcGFyYW1ldGVyPC9wPgo8cD5BZGRlZCB0aGUgbm9hdXRob3IgcGFyYW1ldGVyLCBhbmQgdGhlIGtleSBwYXJhbWV0ZXIuICBUaGUga2V5IHBhcmFtZXRlciBhbGxvd3MgdGhlIHVwbG9hZHMgbW9kdWxlIHRvIGJlIGVtYmVkZGVkIGludG8gb3RoZXIgbW9kdWxlczwvcD4KPHA+TW92ZWQgdG8gdW5kZXIgdGhlIGNvbnRlbnQgbWVudSwgYW5kIGVudGl0bGVkIFwnRmlsZXMgKFVwbG9hZCBNb2R1bGUpXCc8L3A+Owo8L2xpPgo8bGk+CjxwPlZlcnNpb24gMS4yLjIgLSBKdW5lLCAyMDA2CjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGhhdmUgbXVsdGlwbGUgZGF0YWJhc2UgdGVtcGxhdGVzLCBhbmQgdG8gc2VsZWN0IG9uZSBvbiB0aGUgdGFnIHdpdGggdGhlIHRlbXBsYXRlIHBhcmFtZXRlci48L3A+CjxwPkZpeGVkIGFuIGlzc3VlIHdoZXJlIGZpbGVzIHdlcmUgZ2V0dGluZyBjb3JydXB0ZWQgb24gZG93bmxvYWQ8L3A+CjwvbGk+CjxsaT4KPHA+VmVyc2lvbiAxLjIuMyAtIEp1bmUsIDIwMDYKPHA+Rml4ZXMgdG8gdXNlIGFkb2RiLWxpdGUgcHJvcGVyLCByYXRoZXIgdGhhbiB0ZWRzIGhhY2s8L3A+CjxwPkRldGFpbCBsaW5rIG5vdyBkaXNwbGF5cyBpbmxpbmU8L3A+CjxwPk90aGVyIG1pbm9yIHR3ZWFrcyB0aGF0IEkgY2FudCByZW1lbWJlcjwvcD4KPC9saT4KPGxpPlZlcnNpb24gMS4zLjAgLSBTZXB0ZW1iZXIsIDIwMDcKPHVsPgo8bGk+Rml4ZXMgdG8gdGhlIERUIGZpZWxkIHR5cGU8L2xpPgo8bGk+VXNlIHRoZSBGRVUgdXNlcm5hbWUgKG9wdGlvbmFsbHkpIHNvIHRoYXQgd2UgY2FuIHRyYWNrIHdoZW4gYSBsb2dnZWQgaW4gdXNlciB1cGxvYWRzIGEgZmlsZTwvbGk+CjxsaT5BZGQgZmlsZXR5cGUgY2FwYWJpbGl0aWVzIHRvIGFzc29jaWF0ZSBhbiBpY29uIHdpdGggYSBwYXJ0aWN1bGFyIHVwbG9hZC4gIEFsc28gc3VwcG9ydCBhbiB1bmtub3duIGZpbGUgdHlwZSBmb3IgYW55dGhpbmcgdGhhdCBkb2VzIG5vdCBtYXRjaC48L2xpPgo8bGk+Q29tcGxldGVseSByZS13b3JrZWQgdGhlIG11bHRpcGxlIGRhdGFiYXNlIHRlbXBsYXRlIHN0dWZmLjwvbGk+CjxsaT5BZGp1c3RtZW50cyB0byB0aGUgZGVmYXVsdCB0ZW1wbGF0ZXM8L2xpPgo8bGk+Rml4ZXMgdG8gdXNpbmcgY2F0ZWdvcnk9ImFsbCI8L2xpPgo8bGk+R2VuZXJhdGUgdGh1bWJuYWlscyBhdXRvbWF0aWNhbGx5IChvcHRpb25hbGx5KSBmb3IgY2VydGFpbiBmaWxlIHR5cGVzLCBvbiB1cGxvYWQsIGFuZCBvbiBzY2FuLjwvbGk+CjxsaT5BZGQgY2FwdGNoYSBzdXBwb3J0IHRvIHRoZSB1cGxvYWQgZm9ybTwvbGk+CjxsaT5BZGQgYSBzYWZlIG1vZGUgd2FybmluZyBpbiB0aGUgYWRtaW4gcGFuZWw8L2xpPgo8bGk+VXNlcyBjaHVua2VkIGRvd25sb2Fkcy48L2xpPgo8bGk+QWRkcyBwcmVmaXggYW5kIHByZWZpeF9mZXUgY2FwYWJpbGl0eSB0byB1cGxvYWRlZCBmaWxlcy48L2xpPgo8bGk+QWRkZWQgdGhlIGRldGFpbHBhZ2UgcGFyYW0uPC9saT4KPGxpPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGRpc3BsYXkgYW4gaW1hZ2UgaW4gZnVsbCBzaXplIChvciB3aGF0ZXZlciBzaXplIHdlIHdhbnQpLCBzbyB0aGF0IHRoZSB1cGxvYWRzIG1vZHVsZSBjYW4gYmUgdXNlZCBhcyBhIGdhbGxlcnkuPC9saT4KPGxpPkFkZGVkIHNlY3VyaXR5ICh2aWEgdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlKSB0byBjYXRlZ29yaWVzPC9saT4KPGxpPkFkZGVkIGEgc2VsZWN0IG1vZGUgdG8gZ2VuZXJhdGUgYSBwdWxsZG93biBvZiBmaWxlcyBpbiBhIGNhdGVnb3J5LCBmb3IgdXNlIHdoZW4gYXR0YWNoaW5nIHVwbG9hZHMgbW9kdWxlIHRvIHNvbWUgb3RoZXIgbW9kdWxlLjwvbGk+CjxsaT5BZGRzIGEgY2F0ZWdvcnkgYnJvd3NlciwgZml4ZXMgYSByZXcgbWlub3IgaXNzdWVzLCBhbmQgdHdlYWtzIHRoZSBhdmFpbGFibGUgZmlsZSB0eXBlIGljb25zPC9saT4KPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuNCAtIE5vdmVtYmVyIDIwMDgKPHVsPgo8bGk+TWFqb3IgY2xlYW51cCBvZiB0aGUgZGVmYXVsdCBhY3Rpb248L2xpPgo8bGk+QWRkcyBwYWdpbmF0aW9uIHRvIHN1bW1hcnkgdmlldzwvbGk+CjxsaT5BZGRzIHByZXR0eSB1cmxzIGZvciBmaWxlIGxpbmtzPC9saT4KPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gcmVwbGFjZSB0aHVtYm5haWxzIGFmdGVyIHRoZSBmaWxlIGlzIHVwbG9hZWQuPC9saT4KPGxpPkNoYW5nZSB0aHVtYm5haWxzIGZyb20gdXNpbmcgYSAudGh1bWJzIGRpcmVjdG9yeSB0byB1c2luZyBhIHN0YW5kYXJkIHRodW1iXyBwcmVmaXguPC9saT4KPGxpPk51bWVyb3VzIEJ1Z2ZpeGVzPC9saT4KPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuNCAtIEZlYnJ1YXJ5IDIwMDkKICA8dWw+CiAgICAgPGxpPkZpeCBwcm9ibGVtIHdpdGggc2Nhbm5pbmcgZGlyZWN0b3JpZXMsIGFuZCBjcmVhdGluZyB0aHVtYm5haWxzLjwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuNS4xIC0gTWF5IDIwMDkKICA8dWw+CiAgICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIGZpbGVzIGZyb20gdGhlIGZyb250ZW5kLjwvbGk+CiAgICAgPGxpPkZpeGVzIHByb2JsZW0gd2l0aCBzY2FuIGRpcmVjdG9yeSB3aGVuIG5vdCBhbHNvIGxvZ2dlZCBpbiB0byB0aGUgYWRtaW4gcGFuZWwgaW4gdGhlIHNhbWUgYnJvd3NlciBzZXNzaW9uLjwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuNiAtIEZlYnJ1YXJ5IDIwMDkKICA8dWw+CiAgICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gZGlzcGxheSBhIGZvcm0gdG8gc2VuZCBhbiBlbWFpbCB0byBzZWxlY3RlZCBwZW9wbGUgd2l0aCBkZXRhaWxzIGFib3V0IGEgZmlsZS48L2xpPgogICAgIDxsaT5BZGRzIHRoZSB5b3VzZW5kaXQgY2FwYWJpbGl0eSB0byB1cGxvYWQgYSBmaWxlIGFuZCBzaW11bHRhbm9lb3VzbHkgc2VuZCBkZXRhaWxzIHRvIHNlbGVjdGVkIHBlb3BsZS48L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjcgLSBKdWx5IDIwMDkKICA8dWw+CiAgICAgPGxpPk5vdyBkZXBlbmRzIG9uIENHRXh0ZW5zaW9ucyBmb3IgdGVtcGxhdGluZzwvbGk+CiAgICAgPGxpPkFkZHMgdGltZSBsaW1pdGVkIFVSTFM8L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjcuMSAtIEp1bHkgMjAwOQogIDx1bD4KICAgICA8bGk+TWlub3IgYnVnIGZpeGVzLjwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuOCAtIEp1bHkgMjAwOQogIDx1bD4KICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICAgIDxsaT5BZGQgYSBjYXRlZ29yeSBzZWxlY3QgY29udGVudCBibG9jayBmb3IgQ01TIDEuNy48L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjkgLSBKdWx5IDIwMDkKICA8dWw+CiAgICA8bGk+VXBkYXRlcyBmb3IgQ01TIDEuNzwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuOS4xIC0gU2VwdGVtYmVyIDIwMDkKICA8dWw+CiAgICA8bGk+TWlub3IgYnVnIGZpeGVzLjwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuOS4yIC0gU2VwdGVtYmVyIDIwMDkKICA8dWw+CiAgICA8bGk+TWlub3IgYnVnIGZpeGVzLjwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuOS4zIC0gT2N0b2JlciAyMDA5CiAgPHVsPgogICAgPGxpPk9uZSBtaW5vciBidWcgZml4LjwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuOS40IC0gT2N0b2JlciAyMDA5CiAgPHVsPgogICAgPGxpPm1pbm9yIGJ1ZyBmaXhlczwvbGk+CiAgPC91bD4KPC9saT4KCjxsaT5WZXJzaW9uIDEuMTAgLSBPY3RvYmVyIDIwMDkKICA8dWw+CiAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBhdXRvIGRlbGV0ZSBmaWxlcyBiZXNlZCBvbiBhIG1heCBhZ2Ugc3BlY2lmaWVkIGluIHRoZSBjYXRlZ29yeTwvbGk+CiAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBhZGQgYSB0aW1lIGxpbWl0ZWQga2V5LCBhbmQgc2VuZCBhbiBlbWFpbCBhdXRvbWF0aWNhbGx5IG9uIHVwbG9hZCBpbiB0aGUgYWRtaW4uPC9saT4KICA8L3VsPgo8L2xpPgoKPGxpPlZlcnNpb24gMS4xMC4xIC0gT2N0b2JlciAyMDA5CiAgPHVsPgogICA8bGk+Rml4ZXMgYnVnIHdpdGggZGVsZXRlaW5nIGZpbGVzLiAtIHRoZSBkZWxldGUgdXJsIGlzIHN0aWxsIG5vdCBpbiB0aGUgZGVmYXVsdCBzdW1tYXJ5IHRlbXBsYXRlIChpbnRlbnRvbmFsbHkpPC9saT4KICA8L3VsPgo8L2xpPgoKPGxpPlZlcnNpb24gMS4xMC4yIC0gT2N0b2JlciAyMDA5CiAgPHVsPgogICA8bGk+QWRkcyBhIG5ldyBwZXJtaXNzaW9uIHRoYXQgYWxsb3dzIG9ubHkgYWNjZXNzIHRvIHRoZSBmdW5jdGlvbmFsaXR5IG9uIHRoZSBmaWxlcyB0YWIuPC9saT4KICA8L3VsPgo8L2xpPgoKPGxpPlZlcnNpb24gMS4xMC4zIC0gT2N0b2JlciAyMDA5CiAgPHVsPgogICA8bGk+TWlub3IgQnVnIEZpeGVzPC9saT4KICA8L3VsPgo8L2xpPgoKPGxpPlZlcnNpb24gMS4xMC40IC0gT2N0b2JlciAyMDA5CiAgPHVsPgogICA8bGk+TWlub3IgQnVnIEZpeGVzPC9saT4KICA8L3VsPgo8L2xpPgoKPGxpPlZlcnNpb24gMS4xMSAtIE1hcmNoLCAyMDEwCiAgPHVsPgogICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBvcHRpb25hbGx5IGRpc2FibGUgc2Nhbm5pbmcgb2YgY2F0ZWdvcmllcy48L2xpPgogIDwvdWw+CjwvbGk+Cgo8bGk+VmVyc2lvbiAxLjExLjEgLSBNYXJjaCwgMjAxMAogIDx1bD4KICAgPGxpPkZpeCBtaW5vciBpc3N1ZXMuPC9saT4KICA8L3VsPgo8L2xpPgoKPGxpPlZlcnNpb24gMS4xMS4yIC0gTWFyY2gsIDIwMTAKICA8dWw+CiAgIDxsaT5GaXggbWlub3IgaXNzdWVzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xMS4zIC0gQXByaWwsIDIwMTAKICA8dWw+CiAgIDxsaT5GaXggbWlub3IgaXNzdWVzLjwvbGk+CiAgIDxsaT5JbXByb3ZlbWVudHMgdG8gQ29weSBQcm9kdWN0IChUZWQpPC9saT4KICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIHN1bW1hcnkgbGlzdCBieSBhZGRpdGlvbmFsIGZpZWxkcy4gKFRlZCk8L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTEuNCAtIEp1bHksIDIwMTAKICA8dWw+CiAgIDxsaT5GaXggbWlub3IgaXNzdWVzIHdpdGggY2F0ZWdvcnk9YWxsPC9saT4KICAgPGxpPkZpeGVzIHByb2JsZW0gd2l0aCBzZWFyY2ggaW5kZXhpbmcuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjExLjUgLSBTZXB0LCAyMDEwCiAgPHVsPgogICA8bGk+Rml4IG1pbm9yIGNvbXBhdGliaWxpdHkgaXNzdWUuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjExLjYgLSBKYW4sIDIwMTEKIDx1bD4KICA8bGk+Rml4ZXMgc2xvdyBxdWVyaWVzIGluIGRlZmF1bHQgbW9kZSB3aGVuIHRoZXJlIGFyZSBtYW55IGRvd25sb2FkcyB0byBnYXRoZXIgc3RhdGlzdGljcyBmb3IuPC9saT4KICA8bGk+TWlub3IgZml4ZXMgcmVsYXRlZCB0byBFX1NUUklDVC48L2xpPgogIDxsaT5NaW5vciB1cGRhdGVzIHRvIGhlbHAuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTIgLSBNYXksIDIwMTEKICA8dWw+CiAgICAgPGxpPkFkZHMgc29tZSBuZXcgQVBJIGNsYXNzZXMsIGFuZCBtaW5vciBvcHRpbWl6YXRpb25zLjwvbGk+CiAgICAgPGxpPkFkZHMgYSBzbWFydHkgcGx1Z2luIGZvciBjb3B5aW5nIGFueSBmaWxlIGludG8gdGhlIHVwbG9hZHMgbW9kdWxlIGFuZCBnZW5lcmF0aW5nIGEgdGltZSBsaW1pdGVkIFVSTDwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xMyAtIE1heSwgMjAxMQogIDx1bD4KICAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byB2aWV3IHRoZSB1cGxvYWRlZCBmaWxlcyBmcm9tIHdpdGhpbiB0aGUgYWRtaW4gaW50ZXJmYWNlLjwvbGk+CiAgICAgPGxpPkFkZHMgYWRtaW4gcGFnaW5hdGlvbi48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTQgLSBBdWd1c3QsIDIwMTEKICA8dWw+CiAgICAgPGxpPkFkZHMgcHJldHR5IHVybCBzdXBwb3J0IGZvciBkZXRhaWwgdXJscy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTQuMyAtIEphbnVhcnksIDIwMTEKICA8dWw+CiAgICA8bGk+TWlub3IgZW5oYW5jZW1lbnRzIGFuZCBidWcgZml4ZXMuPC9saT4KICAgIDxsaT5Nb3ZlcyBoZWxwIGV4dGVybmFsLjwvbGk+CiAgICA8bGk+TWlub3Igb3B0aW1pemF0aW9ucyBmb3IgMS4xMS54PC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE2LngKICA8dWw+CiAgICA8bGk+TnVtZXJvdXMgbWlub3IgZW5oYW5jZW1lbnRzIGFuZCBidWcgZml4ZXMuPC9saT4KICAgIDxsaT5BZGRzIHJlcG9ydGluZyBvcHRpb25zLjwvbGk+CiAgICA8bGk+UGVyZm9ybWFuY2UgaW1wcm92ZW1udHMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE3LngKICA8dWw+CiAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byAob3B0aW9uYWxsKSBjaGFuZ2UgdGhlIHVwbG9hZCBkYXRlIG9mIGEgZmlsZS48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMTgueAogIDx1bD4KCTxsaT5TaWduaWZpY2FudCBjbGVhbnVwIGFuZCBtZW1vcnkgb3B0aW1pemF0aW9uLjwvbGk+Cgk8bGk+QWRkcyBhYmlsaXR5IHRvIGluZGV4IHRleHQgYW5kIFBERiBmaWxlcy48L2xpPgoJPGxpPkNsZWFuIHVwIGVudGl0aWVzIGluIHRoZSBkZWZhdWx0LCBhZGQgY2F0ZWdvcnkgYW5kIGVkaXQgY2F0ZWdvcnkgYWN0aW9ucy48L2xpPgoJPGxpPkNsZWFuIHVwIGVudGl0aWVzIGFuZCBzYW5pdGl6ZSBpbnB1dCBpbiB0aGUgZGVmYXVsdCB1cGxvYWQgbW9kZS48L2xpPgoJPGxpPkFkZHMgYSBjbGFzcyBmb3IgbWFuYWdpbmcgY2F0ZWdvcmllcy4uLigxLjE4LjUpPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE5Cgk8dWw+Cgk8bGk+QWRkcyB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiBhbmQgYXNzb2NpYXRlZCBwYXJhbWV0ZXJzLiAgUmVtb3ZlcyB0aGUgYnJva2VuIGNhdGVnb3J5c3VtbWFyeSB2aWV3LjwvbGk+Cgk8bGk+Q29udmVydHMgbW9zdCBzdW1tYXJ5IHZpZXdzLCBhbmQgdGhlIGRldGFpbCBhY3Rpb24gdG8gdXNlIHRoZSBzbWFydHkgdGVtcGxhdGUgb2JqZWN0IGluc3RlYWQgb2YgdGhlIGdsb2JhbCBzbWFydHkgb2JqZWN0LjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjE5LjEKIAk8dWw+Cgk8bGk+TWlub3IgYnVnIGZpeC48L2xpPgoJPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4xOS4zCiAJPHVsPgoJPGxpPkNyZWF0ZXMgc3RhcnQgb2YgbmV3IFVwbG9hZCBvYmplY3QuPC9saT4KICAgICAgICA8bGk+Y29udmVydCBzZW5kZmlsZSBhbmQgeW91c2VuZGl0IGFjdGlvbnMgdG8gdXNlIG5ldyBzbWFydHkgdGVtcGxhdGUgb2JqZWN0IGluc3RlYWQgb2YgZ2xvYmFsIHNtYXJ0eSBvYmplY3QuPC9saT4KCTwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMjAKICAgICAgICA8ZGl2IGNsYXNzPSJ3YXJuaW5nIj48c3Ryb25nPldhcm5pbmc6PC9zdHJvbmc+IFRoZXJlIHdpbGwgcHJvYmFibHkgYmUgY29tcGF0aWJpbGl0eSBpc3N1ZXMgZm9yIHRob3NlIHBlb3BsZSB1cGdyYWRpbmcgdG8gdGhpcyBzZXJpZXMuPGJyLz4KICAgICAgICAgICAgIFRoaXMgdmVyc2lvbiBiZWdpbnMgdGhlIGNsZWFudXAgcHJvY2VzcyBvZiB0aGUgVXBsb2FkcyBtb2R1bGUuICBNYW55IG1vZGVzIGhhdmUgYmVlbiByZW1vdmVkLCBhbmQgdGVtcGxhdGVzIGNoYW5nZWQuCiAgICAgICAgICAgICBZb3UgbWF5IG5lZWQgdG8gcmVzZXQgeW91ciB0ZW1wbGF0ZXMgYmFjayB0byBmYWN0b3J5IGRlZmF1bHQgc2V0dGluZ3MsIGFuZCByZS1idWlsZCB0aGVtLCAgYW5kIGFkanVzdCBtYW55IG9mIHlvdXIgY2FsbHMgdG8gdGhlIFVwbG9hZHMgbW9kdWxlLmkKICAgICAgICAgICAgIEFzIHdlbGwsIHRoaXMgdmVyc2lvbiByZW1vdmVzIHRoZSBhdXRvbWF0aWMgdGh1bWJuYWlsaW5nIGFuZCB3YXRlcm1hcmtpbmcgZnVuY3Rpb25hbGl0eS48L2Rpdj4KIAk8dWw+Cgk8bGk+UmVtb3ZlIHRoZSBsaW5rLCBzZWxlY3QsIGFuZCB2YXJpb3VzIGRldGFpbGVkICdtb2RlcycgdG8gYmUgbW9yZSBpbmxpbmUgd2l0aCB0aGUgb3RoZXIgbW9kdWxlcy48L2xpPgoJPGxpPkFkZHMgdGFibGVzb3J0ZXIgdG8gdGhlIGNhdGVnb3JpZXMgdGFiLjwvbGk+Cgk8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byB1cGxvYWQgZmlsZXMgYXMgdW5pcXVlbHkgZ2VuZXJhdGVkLCBhdXRvLWluY3JlbWVudGluZyBmaWxlbmFtZXMuPC9saT4KCTxsaT5SZW1vdmVzIGF1dG9tYXRpYyB0aHVtYm5haWxpbmcgYW5kIHdhdGVybWFya2luZyBmcm9tIHVwbG9hZGVkIGltYWdlcy48L2xpPgoJPGxpPlNlcGFyYXRlIHRodW1ibmFpbCBmdW5jdGlvbmFsaXR5LCBhbmQgZmlsZSB0eXBlIGZ1bmN0aW9uYWxpdHkgaXMgbm93IGRlcHJlY2F0ZWQgKGJlbG9uZ3MgZWxzZXdoZXJlKS48L2xpPgoJPGxpPlJld3JpdGVzIHRoZSB1cGxvYWQgaGFuZGxlciAoZnJvbnRlbmQgYW5kIGFkbWluKSB0byBiZSBjbGVhbmVyLjwvbGk+Cgk8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjIwLjEKIAk8dWw+Cgk8bGk+Rml4IG1pbm9yIHVzYWdlIG9mIGRlcHJlY2F0ZWQgZXJlZyBmdW5jdGlvbi48L2xpPgoJPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4yMQogCTx1bD4KCTxsaT5GaXhlcyB0byBzdWJuZXQgZXhjbHVzaW9uIHN0dWZmLjwvbGk+Cgk8bGk+UmUtZnJhY3RvciB0aGUgaW5wdXRfYXV0aG9yIHN0dWZmIGluIHRoZSB1cGxvYWQgZm9ybS4uLi4gdGVtcGxhdGVzIGRpZCBjaGFuZ2UsIHlvdSBtYXkgZXhwZXJpZW5jZSBjb21wYXRpYmlsaXR5IGlzc3VlcyB1bnRpbCB5b3UgcmUtc2V0IHlvdXIgdXBsb2FkIGZvcm0gdGVtcGxhdGUuPC9saT4KCTxsaT5SZW1vdmUgdGhlIG5vYXV0aG9yIHBhcmFtZXRlci48L2xpPgoJPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4yMgogCTx1bD4KCTxsaT5Db21wbGV0ZWx5IHJld3JpdGVzIHRoZSB5b3VzZW5kaXQgYWN0aW9uLgoJICAgPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBZb3VyIHlvdXNlbmRpdCB0ZW1wbGF0ZXMgd2lsbCBubyBsb25nZXIgZnVuY3Rpb24gYW5kIG11c3QgYmUgcmUtY3JlYXRlZCBmcm9tIGZhY3RvcnkgZGVmYXVsdHMuPC9wPgoJICAgPHA+VGhpcyBhY3Rpb24gbm93IHVzZXMgdGhlIGpxdWVyeSBmaWxlIHVwbG9hZGVyIHRvIGFsbG93IHVwbG9hZGluZyBhbnkgc2l6ZSBvZiBmaWxlcy4gIEFkZGl0aW9uYWxseSwgdGhlIHNlbmRmaWxlX3RvIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBmaXggdGhlIGRlc3RpbmF0aW9uIGJ5IGFkbWluIHVzZXIgbmFtZSBvciBlbWFpbCBhZGRyZXNzLiAgVGhlIGpxdWVyeSBmaWxlIHVwbG9hZCBwbHVnaW4gdXNlZCB0byBpbXBsZW1lbnQgdGhlIHlvdXNlbmRpdCBmdW5jdGlvbmFsaXR5IGNhbiBlaXRoZXIgYmUgaW5jbHVkZWQgZXh0ZXJuYWxseSwgb3IgZm91bmQgaW4gSlF1ZXJ5VG9vbHMgMS4zLjkrPC9wPgoJPC9saT4KCTxsaT5SZWZhY3RvciBzb21lIHRlbXBsYXRlIGZvcm1zLjwvbGk+Cgk8bGk+UmVmYWN0b3IgdGhlIHVwbG9hZCBjbGFzcywgYW5kIG5vdyBhZGQgYW4gdXBsb2FkX2hlbHBlciBmb3IgdXNlIGluIGRpc3BsYXlzLjwvbGk+Cgk8bGk+QWRkcyBhbiBleHBlcmltZW50YWwgYWpheHkgY2FwdGNoYSBjaGVja2luZyBhY3Rpb24uPC9saT4KCTwvdWw+Cgk8L2xpPgo8bGk+VmVyc2lvbiAxLjIzCiAgICA8cCBjbGFzcz0iV2FybmluZyI+SW4gYWxsIGxpa2VseWhvb2QgdGhpcyB3aWxsIGJlIHRoZSBsYXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUgdGhhdCBzdXBwb3J0cyBDTVNNUyAxLng8L3A+Cgk8dWw+Cgk8bGk+QnVnIGZpeGVzLjwvbGk+Cgk8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBzb3J0IGJ5IGEgZmllbGQgaW4gc3VtbWFyeSB2aWV3LiAgaS5lOiAgc29ydG9yZGVyPWZpZWxkOm5hbWUgb3Igc29ydG9yZGVyOmRlc2M6bmFtZTwvbGk+Cgk8L3VsPgoJPC9saT4KPGxpPlZlcnNpb24gMS4yNAogICA8dWw+CiAgICAgPGxpPkFkZHMgYSBzaW1wbGUgcmV0dXJudG8gbWV0aG9kIHNvIHRoYXQgb3RoZXIgbW9kdWxlcyBjYW4gdXNlIHRoZSBVcGxvYWRzJyBtb2R1bGUncyBmb3Jtcy48L2xpPgogICAgIDxsaT5OdW1lcm91cyBtaW5vciBvcHRpbWl6YXRpb25zLjwvbGk+CiAgICAgPGxpPlJlbW92ZXMgZmluYWxseSwgdGhlICdtb2RlJyBwYXJhbWV0ZXIuICBUaGlzIG1vZHVsZSBpcyBub3cgaW5saW5lIHdpdGggYWxsIG90aGVyIG1vZHVsZXMsIGFuZCB1c2VzIHRoZSAnYWN0aW9uJyBwYXJhbWV0ZXIgdG8gc3BlY2lmeSBpdHMgYWx0ZXJuYXRlIGZ1bmN0aW9uYWxpdHkuPC9saT4KICAgPC91bD4KICAsPC9saT4KPC91bD4KPGxpPlZlcnNpb24gMS4yNQogICA8dWw+CiAgICAgPGxpPkJ1ZyBmaXhlczwvbGk+CiAgICAgPGxpPkltcHJvdmVtZW50cyB0byB0aGUgdXBsb2FkYXNzaXN0YW50IGNsYXNzLjwvbGk+CiAgICAgPGxpPk1pbm9yIHZpc3VhbCBpbXByb3ZlbWVudHMuPC9saT4KICAgICA8bGk+Rml4ZWQgYSBidWcgd2hlcmUgbm9uIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzIHdvdWxkIGdldCBzdHJpcHBlZCBvbiB1cGxvYWQuICBUaGlzIGhhcyBleGlzdGVkIHNpbmNlIGF0IGxlYXN0IDIwMDUuPC9saT4KICAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMS4yNgogICA8dWw+CiAgICAgIDxsaT5SZW1vdmUgdGhlIHNtYWxvdCBwZGYgcGFyc2VyLCBpbiBleGNoYW5nZSBmb3Igc2hlbGxfZXhlYyBhbmQgZ2hvc3RzY3JpcHQgd2hpY2ggaXMgZmFzdGVyIGFuZCBzaW1wbGVyLi4gYnV0IGludHJvZHVjZXMgZGVwZW5kZW5jaWVzLjwvbGk+CiAgICAgIDxsaT5jb2RlIGNsZWFudXAuPC9saT4KICAgPC91bD4KPC9saT4K]]></data>
	</file>
	<file>
	  <filename>/function.admin_categoriestab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24gKCdNYW5hZ2UgVXBsb2FkcycpKSByZXR1cm47Cgokcm93YXJyYXkgPSBhcnJheSAoKTsKJHF1ZXJ5ID0gJyc7CiRkYnJlc3VsdCA9ICcnOwokdGhlbWUgPSBjbXNfdXRpbHM6OmdldF90aGVtZV9vYmplY3QoKTsKCnRyeSB7CgkkY2F0ZWdvcmllcyA9IHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yaWVzKCk7Cgkkcm93Y2xhc3MgPSAncm93MSc7CgoJaWYoIGlzX2FycmF5KCRjYXRlZ29yaWVzKSAmJiBjb3VudCgkY2F0ZWdvcmllcykgKSB7CgkJZm9yZWFjaCggJGNhdGVnb3JpZXMgYXMgJHJvdyApIHsKCQkJJG9uZXJvdyA9IG5ldyBzdGRDbGFzcyAoKTsKCQkJJG9uZXJvdy0+ZXJyb3IgPSAwOwoJCQkkb25lcm93LT5pZCA9ICRyb3dbInVwbG9hZF9jYXRlZ29yeV9pZCJdOwoJCQkkb25lcm93LT5uYW1lID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgJ2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCwKCQkJCQkJCQkJCQkJCQkJCQkJCQkgJHJvd1sidXBsb2FkX2NhdGVnb3J5X25hbWUiXSwKCQkJCQkJCQkJCQkJCQkJCQkJCQkgYXJyYXkoJ2NhdGVnb3J5X2lkJz0+JHJvd1sndXBsb2FkX2NhdGVnb3J5X2lkJ10pKTsKCgkJCSRvbmVyb3ctPmRlc2NyaXB0aW9uID0gJHJvd1sidXBsb2FkX2NhdGVnb3J5X2Rlc2NyaXB0aW9uIl07CgkJCSRvbmVyb3ctPnBhdGggPSAkcm93WyJ1cGxvYWRfY2F0ZWdvcnlfcGF0aCJdOwoJCQkkdG1wID0gJHRoaXMtPl9jYXRlZ29yeVBhdGgoJG9uZXJvdy0+cGF0aCk7CgkJCWlmKCAhaXNfZGlyKCR0bXApIHx8ICFpc193cml0YWJsZSgkdG1wKSApICRvbmVyb3ctPmVycm9yID0gMTsKCQkJJG9uZXJvdy0+cm93Y2xhc3MgPSAkcm93Y2xhc3M7CgoJCQkkb25lcm93LT5jb3B5bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdhZG1pbl9jb3B5Y2F0ZWdvcnknLCAkcmV0dXJuaWQsCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkgJHRoZW1lLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vY29weS5naWYnLAoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkgJHRoaXMtPkxhbmcgKCdjb3B5JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSBhcnJheSAoJ2NhdGVnb3J5X2lkJyA9PiAkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSkpOwoJCQkkb25lcm93LT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rICgkaWQsICdlZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQsCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkgJHRoZW1lLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLAoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkgJHRoaXMtPkxhbmcgKCdlZGl0JyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSBhcnJheSAoJ2NhdGVnb3J5X2lkJyA9PiAkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSkpOwoJCQkkb25lcm93LT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ2RlbGV0ZWNhdGVnb3J5JywgJHJldHVybmlkLAoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSAkdGhlbWUtPkRpc3BsYXlJbWFnZSAoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCSAkdGhpcy0+TGFuZyAoJ2RlbGV0ZScpLCAnJywgJycsICdzeXN0ZW1pY29uJyksCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJIGFycmF5ICgnY2F0ZWdvcnlfaWQnID0+ICRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9pZCddKSwKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkgJHRoaXMtPkxhbmcgKCdhcmV5b3VzdXJlX2RlbGV0ZWNhdGVnb3J5JykpOwoKCQkJJHJvd2FycmF5W10gPSAkb25lcm93OwoJCQkoJHJvd2NsYXNzID09ICJyb3cxIiA/ICRyb3djbGFzcyA9ICJyb3cyIiA6ICRyb3djbGFzcyA9ICJyb3cxIik7CgkJfQoJfQp9CmNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CgkvLyBub3RoaW5nIGhlcmUKfQoKJHNtYXJ0eS0+YXNzaWduICgnY2F0ZWdvcnl0ZXh0JywgJHRoaXMtPkxhbmcgKCdjYXRlZ29yeScpKTsKJHNtYXJ0eS0+YXNzaWduICgnbmFtZXRleHQnLCAkdGhpcy0+TGFuZyAoJ25hbWUnKSk7CiRzbWFydHktPmFzc2lnbiAoJ3BhdGh0ZXh0JywgJHRoaXMtPkxhbmcgKCdwYXRoJykpOwokc21hcnR5LT5hc3NpZ24gKCdpdGVtcycsICRyb3dhcnJheSk7CiRzbWFydHktPmFzc2lnbiAoJ2l0ZW1jb3VudCcsIGNvdW50ICgkcm93YXJyYXkpKTsKJHNtYXJ0eS0+YXNzaWduICgnYWRkbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGNhdGVnb3J5JywKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkkcmV0dXJuaWQsCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJJHRoZW1lLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJICR0aGlzLT5MYW5nKCdhZGRjYXRlZ29yeScpLCcnLCcnLCdzeXN0ZW1pY29uJyksCgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJycpIC4nICcuCgkJCQkJCQkJICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGNhdGVnb3J5JywKCQkJCQkJCQkJCQkJCQkJCQkgJHJldHVybmlkLCAkdGhpcy0+TGFuZygnYWRkY2F0ZWdvcnknKSwKCQkJCQkJCQkJCQkJCQkJCQkgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkJCQkJCQkkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9tdWx0aWNhdGVnb3J5JywkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYXRfbXVsdGlhY3Rpb25zJywKCQkJCQkJCQlhcnJheSgnZGVsZXRlJz0+JHRoaXMtPkxhbmcoJ2RlbGV0ZScpLAoJCQkJCQkJCQkJCSdjb3B5Jz0+JHRoaXMtPkxhbmcoJ2NvcHknKSkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlICgnY2F0ZWdvcnlsaXN0LnRwbCcpOwoKLy8gRU9GCg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_email_template_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCiR0cGwgPSAkdGhpcy0+Q3JlYXRlU21hcnR5VGVtcGxhdGUoJ2FkbWluX2VtYWlsX3RlbXBsYXRlX3RhYi50cGwnKTsKJHRwbC0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3VwZGF0ZV9lbWFpbF90ZW1wbGF0ZXMnKSk7CiR0cGwtPmFzc2lnbigndXBsb2FkX2VtYWlsdGVtcGxhdGUnLCR0aGlzLT5HZXRUZW1wbGF0ZSgndXBsb2FkX2VtYWlsdGVtcGxhdGUnKSk7CiR0cGwtPmFzc2lnbigneW91c2VuZGl0X2VtYWlsJywkdGhpcy0+R2V0VGVtcGxhdGUoJ3lvdXNlbmRpdF9lbWFpbCcpKTsKJHRwbC0+YXNzaWduKCd1cGxvYWRfc2VuZGZpbGVycHQnLCR0aGlzLT5HZXRUZW1wbGF0ZSgndXBsb2FkX3NlbmRmaWxlcnB0JykpOwokdHBsLT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdHBsLT5kaXNwbGF5KCk7Cg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_fielddefstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEluaXRpYWxpemUKIwokdHlwZXMgPSBhcnJheSgndGV4dGlucHV0Jz0+JHRoaXMtPkxhbmcoJ2ZpZWxkdHlwZV90ZXh0aW5wdXQnKSwKCSAgICAgICAndGV4dGFyZWEnPT4kdGhpcy0+TGFuZygnZmllbGR0eXBlX3RleHRhcmVhJyksCgkgICAgICAgJ2NoZWNrYm94Jz0+JHRoaXMtPkxhbmcoJ2ZpZWxkdHlwZV9jaGVja2JveCcpLAoJICAgICAgICdkcm9wZG93bic9PiR0aGlzLT5MYW5nKCdmaWVsZHR5cGVfZHJvcGRvd24nKSwKCSAgICAgICAnbXVsdGlzZWxlY3QnPT4kdGhpcy0+TGFuZygnZmllbGR0eXBlX211bHRpc2VsZWN0JykpOwoKIwojIEdldCB0aGUgZGF0YQojCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZGRlZnMgT1JERVIgQlkgaW9yZGVyIEFTQyc7CiRkYXRhID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoKIwojIEdpdmUgRXZlcnl0aGluZyB0byBTbWFydHkKIwokc21hcnR5LT5hc3NpZ24oJ2ZpZWxkdHlwZXMnLCR0eXBlcyk7CmlmKCBpc19hcnJheSgkZGF0YSkgJiYgY291bnQoJGRhdGEpID4gMCApIHsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRkYXRhKTsgJGkrKyApIHsKCQkJJGVkaXRfdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCAnYWRtaW5fZWRpdF9maWVsZCcsICRyZXR1cm5pZCwgWydmaWQnPT4kZGF0YVskaV1bJ2lkJ11dICk7CgkJCSRkZWxldGVfdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCAnYWRtaW5fZGVsX2ZpZWxkJywgJHJldHVybmlkLCBbJ2ZpZCc9PiRkYXRhWyRpXVsnaWQnXV0gKTsKCQkJaWYoICRpID4gMCApIHsKCQkJCSRtb3ZldXBfdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdhZG1pbl9vcmRlcl9maWVsZCcsICRyZXR1cm5pZCwKCQkJCQkJCQkJCQkJCQkJCQkJCQkJWydmaWQnPT4kZGF0YVskaV1bJ2lkJ10sICdkaXInPT4ndXAnLCAnY3VyJz0+JGRhdGFbJGldWydpb3JkZXInXV0gKTsKCQkJCSRkYXRhWyRpXVsnbW92ZXVwX3VybCddID0gJG1vdmV1cF91cmw7CgkJCX0KCQkJaWYoICRpIDwgKGNvdW50KCRkYXRhKSAtIDEpICkgewoJCQkJJG1vdmVkb3duX3VybCA9ICR0aGlzLT5jcmVhdGVfdXJsKCRpZCwnYWRtaW5fb3JkZXJfZmllbGQnLCAkcmV0dXJuaWQsCgkJCQkJCQkJCQkJCQkJCQkJCQkJCVsnZmlkJz0+JGRhdGFbJGldWydpZCddLCAnZGlyJz0+J2Rvd24nLCAnY3VyJz0+JGRhdGFbJGldWydpb3JkZXInXV0gKTsKCQkJCSRkYXRhWyRpXVsnbW92ZWRvd25fdXJsJ10gPSAkbW92ZWRvd25fdXJsOwoJCQl9CgkJCSRkYXRhWyRpXVsnZWRpdF91cmwnXSA9ICRlZGl0X3VybDsKCQkJJGRhdGFbJGldWydkZWxldGVfdXJsJ10gPSAkZGVsZXRlX3VybDsKCQl9CiAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpZWxkcycsJGRhdGEpOwp9CiRzbWFydHktPmFzc2lnbignYWRkZmllbGRfbGluaycsCgkJJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhZG1pbl9hZGRfZmllbGQnLCRyZXR1cm5pZCwKCQkJCSAgY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCktPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYnLAoJCQkJCQkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF9hZGRfZmllbGQnKSwnJywnJywnc3lzdGVtaWNvbicpLAoJCQkJICBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykuJyAnLgoJCSR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnYWRtaW5fYWRkX2ZpZWxkJywkcmV0dXJuaWQsCgkJCQkgICR0aGlzLT5MYW5nKCdwcm9tcHRfYWRkX2ZpZWxkJyksCgkJCQkgIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJykpOwoKIwojIFByb2Nlc3Mgb3V0cHV0CiMKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9maWVsZHNfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_filestab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uICgnTWFuYWdlIFVwbG9hZHMnKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXBsb2FkIEZpbGVzIHRvIFVwbG9hZHMnKSkgcmV0dXJuOwoKJGN1cnBhZ2UgPSAxOwppZiggaXNzZXQoJHBhcmFtc1snZmlsZXNwYWdlJ10pICkgICRjdXJwYWdlID0gKGludCkkcGFyYW1zWydmaWxlc3BhZ2UnXTsKCi8vIGdldCB0aGUgY3VycmVudCBjYXRlZ29yeSBmb3IgdGhlIGZpbHRlcgppZiAoaXNzZXQgKCRwYXJhbXNbJ3N1Ym1pdGZpbHRlciddKSkgewogIHNldF9wcmVmZXJlbmNlKGdldF91c2VyaWQoRkFMU0UpLCd1cGxvYWRzX2NhdGVnb3J5JywgKGlzc2V0ICgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeSddKSA/ICRwYXJhbXNbJ2lucHV0X2NhdGVnb3J5J10gOiAnJykpOwogIHNldF9wcmVmZXJlbmNlKGdldF91c2VyaWQoRkFMU0UpLCd1cGxvYWRzX3BhZ2VsaW1pdCcsKGludCkkcGFyYW1zWydpbnB1dF9wYWdlbGltaXQnXSk7Cn0KJGN1cmNhdGVnb3J5ID0gZ2V0X3ByZWZlcmVuY2UoZ2V0X3VzZXJpZChGQUxTRSksJ3VwbG9hZHNfY2F0ZWdvcnknLCcnKTsKJHBhZ2VsaW1pdCA9IGdldF9wcmVmZXJlbmNlKGdldF91c2VyaWQoRkFMU0UpLCd1cGxvYWRzX3BhZ2VsaW1pdCcsNTApOwokb2Zmc2V0ID0gLTE7CgovLyBnZXQgdGhlIGNhdGVnb3JpZXMgZm9yIHRoZSBmaWx0ZXIKJGNhdGVnb3JpZXMgPSBcdXBsb2Fkc191dGlsczo6Z2V0X2NhdGVnb3JpZXMoKTsKJGNhdGVnb3J5bGlzdCA9IFx1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnlfbGlzdCgpOwppZiggIWVtcHR5KCRjYXRlZ29yeWxpc3QpICkgewogICRlcnJvcnMgPSBhcnJheSgpOwoJZm9yZWFjaCggJGNhdGVnb3JpZXMgYXMgJHJvdyApIHsKICAgICRwYXRoID0gJHRoaXMtPl9jYXRlZ29yeVBhdGgoJHJvd1sndXBsb2FkX2NhdGVnb3J5X3BhdGgnXSk7CiAgICBpZiggIWlzX2RpcigkcGF0aCkgfHwgIWlzX3dyaXRhYmxlKCRwYXRoKSApIHsKICAgICAgJGVycm9yc1tdID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2NhdGVnb3J5X3Byb2JsZW0nLCRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9uYW1lJ10pOwogICAgICBjb250aW51ZTsKICAgIH0KICAgIGlmKCAhJGN1cmNhdGVnb3J5ICkgJGN1cmNhdGVnb3J5ID0gJHJvd1sndXBsb2FkX2NhdGVnb3J5X2lkJ107CiAgICAkY2F0ZWdvcnlsaXN0WyRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9pZCddXSA9ICRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9uYW1lJ10uJyAoJy4kcm93Wyd1cGxvYWRfY2F0ZWdvcnlfcGF0aCddLicpJzsKICB9CiAgaWYoIGNvdW50KCRlcnJvcnMpICkgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKICB1bnNldCgkZXJyb3JzKTsKfQplbHNlIHsKICAvLyBpZiB0aGVyZSBhcmUgbm8gY2F0ZWdvcmllcywgcHV0IGEgbWVzc2FnZSBvdXQsIGFuZAogIC8vIG5vdGhpbmcgZWxzZQogICRzbWFydHktPmFzc2lnbignZXJyb3InLDEpOwogICRzbWFydHktPmFzc2lnbignbm9mb3JtJywxKTsKICAkc21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCR0aGlzLT5MYW5nKCdlcnJvcl9ub2NhdGVnb3JpZXMnKSk7CiAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCd1cGxvYWRsaXN0LnRwbCcpOwogIHJldHVybjsKfQoKJHNtYXJ0eS0+YXNzaWduKCdlcnJvcicsIiIpOwokc21hcnR5LT5hc3NpZ24oJ25vZm9ybScsIiIpOwokc21hcnR5LT5hc3NpZ24oJ21lc3NhZ2UnLCIiKTsKCi8vIHNldHVwIHRoZSBmb3JtIHBhcnQgb2YgdGhlIHRlbXBsYXRlCiRzbWFydHktPmFzc2lnbiAoJ2xlZ2VuZF91cGxvYWRmb3JtJywkdGhpcy0+TGFuZygnbGVnZW5kX3VwbG9hZGZvcm0nKSk7CiRzbWFydHktPmFzc2lnbiAoJ3N0YXJ0Zm9ybScsJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokc21hcnR5LT5hc3NpZ24gKCdjYXRlZ29yeScsICR0aGlzLT5MYW5nICgnY2F0ZWdvcnknKSk7CiRzbWFydHktPmFzc2lnbiAoJ2NhdGVnb3J5bGlzdCcsJGNhdGVnb3J5bGlzdCk7CiRzbWFydHktPmFzc2lnbiAoJ2N1cl9jYXRlZ29yeScsJGN1cmNhdGVnb3J5KTsKJHNtYXJ0eS0+YXNzaWduICgnaW5wdXRfY2F0ZWdvcnknLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wRG93biAoJGlkLCAiaW5wdXRfY2F0ZWdvcnkiLCBhcnJheV9mbGlwKCRjYXRlZ29yeWxpc3QpLCAtMSwgJGN1cmNhdGVnb3J5KSk7CiRzbWFydHktPmFzc2lnbiAoJ2lucHV0X3NlbGVjdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0ZmlsdGVyJywgJHRoaXMtPkxhbmcoJ3NlbGVjdGNhdGVnb3J5JykpKTsKJHNtYXJ0eS0+YXNzaWduICgnaW5wdXRfaGlkZGVuJywgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuICgkaWQsICdjdXJjYXRlZ29yeScsICRjdXJjYXRlZ29yeSkpOwoKJG9wdHMgPSBhcnJheSgpOwokb3B0c1s1XSA9IDU7CiRvcHRzWzI1XSA9IDI1Owokb3B0c1s1MF0gPSA1MDsKJG9wdHNbMTAwXSA9IDEwMDsKJG9wdHNbMjUwXSA9IDI1MDsKJG9wdHNbNTAwXSA9IDUwMDsKJG9wdHNbMTAwMF0gPSAxMDAwOwokc21hcnR5LT5hc3NpZ24oJ3BhZ2VsaW1pdHMnLCRvcHRzKTsKCiRzbWFydHktPmFzc2lnbiAoJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7CiRucm93cyA9ICcnOwokZGJyZXN1bHQgPSAnJzsKJHJvd2FycmF5ID0gYXJyYXkgKCk7CmlmICgkY3VyY2F0ZWdvcnkgPT0gJycpCiAgewogICAgJGNxdWVyeSA9ICdTRUxFQ1QgY291bnQodXBsb2FkX2lkKSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkcyc7CiAgICAkbnJvd3MgPSAkZGItPkdldE9uZSgkY3F1ZXJ5KTsKCiAgICAkbnBhZ2VzID0gKGludCkoJG5yb3dzIC8gJHBhZ2VsaW1pdCk7CiAgICBpZiggJG5yb3dzICUgJHBhZ2VsaW1pdCAhPSAwICkgJG5wYWdlcysrOwogICAgJGN1cnBhZ2UgPSBtYXgoMSwkY3VycGFnZSk7CiAgICAkY3VycGFnZSA9IG1pbigkY3VycGFnZSwkbnBhZ2VzKTsKICAgICRvZmZzZXQgPSAoJGN1cnBhZ2UgLSAxKSokcGFnZWxpbWl0OwoKICAgICRxdWVyeSA9ICJTRUxFQ1QgdS4qLEQubnVtIEFTIGRvd25sb2FkcyBGUk9NICIuY21zX2RiX3ByZWZpeCAoKS4ibW9kdWxlX3VwbG9hZHMgdQogICAgICAgICAgICAgIExFRlQgSk9JTiAoU0VMRUNUIENPVU5UKGRvd25sb2FkX2lkKSBBUyBudW0sZmlsZV9pZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19kb3dubG9hZHMgR1JPVVAgQlkgZmlsZV9pZCkgQVMgRAogICAgICAgICAgICAgIE9OIHUudXBsb2FkX2lkID0gRC5maWxlX2lkIE9SREVSIEJZIHVwbG9hZF9kYXRlIERFU0MiOwogICAgJGRicmVzdWx0ID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnksJHBhZ2VsaW1pdCwkb2Zmc2V0KTsKICB9CiBlbHNlCiAgIHsKICAgICAkY3F1ZXJ5ID0gJ1NFTEVDVCBjb3VudCh1cGxvYWRfaWQpIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzIFdIRVJFIHVwbG9hZF9jYXRlZ29yeV9pZCA9ID8nOwogICAgICRucm93cyA9ICRkYi0+R2V0T25lKCRjcXVlcnksYXJyYXkoJGN1cmNhdGVnb3J5KSk7CgogICAgICRucGFnZXMgPSAoaW50KSgkbnJvd3MgLyAkcGFnZWxpbWl0KTsKICAgICBpZiggJG5yb3dzICUgJHBhZ2VsaW1pdCAhPSAwICkgJG5wYWdlcysrOwogICAgICRjdXJwYWdlID0gbWF4KDEsJGN1cnBhZ2UpOwogICAgICRjdXJwYWdlID0gbWluKCRjdXJwYWdlLCRucGFnZXMpOwogICAgICRvZmZzZXQgPSAoJGN1cnBhZ2UgLSAxKSokcGFnZWxpbWl0OwoKICAgICAkcXVlcnkgPQogICAgICAgIlNFTEVDVCB1LiosRC5udW0gQVMgZG93bmxvYWRzIEZST00gIi5jbXNfZGJfcHJlZml4ICgpLiJtb2R1bGVfdXBsb2FkcyB1CiAgICAgICAgTEVGVCBKT0lOIChTRUxFQ1QgQ09VTlQoZG93bmxvYWRfaWQpIEFTIG51bSxmaWxlX2lkIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2Rvd25sb2FkcyBHUk9VUCBCWSBmaWxlX2lkKSBBUyBECiAgICAgICAgT04gdS51cGxvYWRfaWQgPSBELmZpbGVfaWQgV0hFUkUgdXBsb2FkX2NhdGVnb3J5X2lkID0gPyBPUkRFUiBCWSB1cGxvYWRfZGF0ZSBERVNDIjsKICAgICAkZGJyZXN1bHQgPSAkZGItPlNlbGVjdExpbWl0KCRxdWVyeSwkcGFnZWxpbWl0LCRvZmZzZXQsYXJyYXkoJGN1cmNhdGVnb3J5KSk7CiAgIH0KCgovLyBub3cgc2V0dXAgdGhlIHJlc3QKJHJvd2NsYXNzID0gJ3JvdzEnOwoKJHRoZW1lID0gY21zX3V0aWxzOjpnZXRfdGhlbWVfb2JqZWN0KCk7CmlmICgkZGJyZXN1bHQpIHsKICAkc21hcnR5LT5hc3NpZ24oJ2lkdGV4dCcsJHRoaXMtPkxhbmcoJ25hbWUnKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCd0aXRsZXRleHQnLCR0aGlzLT5MYW5nKCduYW1lJykpOwogICRzbWFydHktPmFzc2lnbignc3VtbWFyeXRleHQnLCR0aGlzLT5MYW5nKCdzdW1tYXJ5JykpOwogICRzbWFydHktPmFzc2lnbignZGVzY3RleHQnLCR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbicpKTsKICAkc21hcnR5LT5hc3NpZ24oJ3NpemV0ZXh0JywkdGhpcy0+TGFuZygnc2l6ZWtiJykpOwogICRzbWFydHktPmFzc2lnbignYXV0aG9ydGV4dCcsJHRoaXMtPkxhbmcoJ2F1dGhvcicpKTsKICAkc21hcnR5LT5hc3NpZ24oJ2lwdGV4dCcsJHRoaXMtPkxhbmcoJ2lwX2FkZHJlc3MnKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdkbHRleHQnLCR0aGlzLT5MYW5nKCdkb3dubG9hZHMnKSk7CiAgJHNtYXJ0eS0+YXNzaWduKCdwb3N0ZGF0ZXRleHQnLCR0aGlzLT5MYW5nKCdkYXRlJykpOwogICRpbWdwYXRoID0gJHRoaXMtPkdldE1vZHVsZVVybFBhdGgoKS4nL2ltYWdlcy8nOwogIHdoaWxlICgkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdyAoKSkgewogICAgJG9uZXJvdyA9IG5ldyBzdGRDbGFzcyAoKTsKICAgICRvbmVyb3ctPmlkID0gJHJvd1sndXBsb2FkX2lkJ107CiAgICAkdHlwZSA9ICR0aGlzLT5fR2V0RmlsZVR5cGUoICRyb3dbJ3VwbG9hZF9uYW1lJ10gKTsKICAgIGlmKCAkdHlwZSAhPSBmYWxzZSApIHsKICAgICAgJG9uZXJvdy0+aWNvbiA9ICRpbWdwYXRoLiR0eXBlWydpbWFnZSddOwogICAgfQogICAgZWxzZSB7CiAgICAgICRvbmVyb3ctPmljb24gPSAkaW1ncGF0aC4ndW5rbm93bi5wbmcnOwogICAgfQogICAgJG9uZXJvdy0+ZmlsZV9sb2NhdGlvbiA9ICR0aGlzLT5fdXBsb2FkUGF0aCggJHRoaXMtPmdldENhdGVnb3J5UGF0aEZyb21JZCgkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSksICRyb3dbJ3VwbG9hZF9uYW1lJ10gKTsKICAgICRvbmVyb3ctPm1pc3NpbmcgPSAwOwogICAgaWYoICFmaWxlX2V4aXN0cygkb25lcm93LT5maWxlX2xvY2F0aW9uKSApICRvbmVyb3ctPm1pc3NpbmcgPSAxOwogICAgJG9uZXJvdy0+bmFtZSA9ICRyb3dbJ3VwbG9hZF9uYW1lJ107CiAgICAkb25lcm93LT5zaXplID0gaW50dmFsKCRyb3dbJ3VwbG9hZF9zaXplJ10gLyAxMDI0LjAgKyAwLjUpOwogICAgJG9uZXJvdy0+YXV0aG9yID0gJHJvd1sndXBsb2FkX2F1dGhvciddOwogICAgJG9uZXJvdy0+aXAgPSAkcm93Wyd1cGxvYWRfaXAnXTsKICAgICRvbmVyb3ctPnN1bW1hcnkgPSAkcm93Wyd1cGxvYWRfc3VtbWFyeSddOwogICAgJG9uZXJvdy0+ZGVzY3JpcHRpb24gPSAkcm93Wyd1cGxvYWRfZGVzY3JpcHRpb24nXTsKICAgICRvbmVyb3ctPmRhdGUgPSAkcm93Wyd1cGxvYWRfZGF0ZSddOwogICAgJG9uZXJvdy0+ZG93bmxvYWRzID0gJHJvd1snZG93bmxvYWRzJ107CiAgICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKICAgICRvbmVyb3ctPmVkaXR1cmwgPQogICAgICAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCAnZWRpdHVwbG9hZCcsICRyZXR1cm5pZCwgJycsIGFycmF5ICgndXBsb2FkX2lkJyA9PiAkcm93Wyd1cGxvYWRfaWQnXSwKCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJJ2NhdGVnb3J5X2lkJyA9PiAkY3VyY2F0ZWdvcnkpLCAnJywgdHJ1ZSApOwoKCiAgICAkb25lcm93LT5kZWxldGVfdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdkb19kZWxldGV1cGxvYWQnLCRyZXR1cm5pZCwgWyAndXBsb2FkX2lkJz0+JHJvd1sndXBsb2FkX2lkJ10sICdjYXRlZ29yeV9pZCc9PiRjdXJjYXRlZ29yeSBdKTsKICAgICRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluayAoJGlkLCdkb19kZWxldGV1cGxvYWQnLCRyZXR1cm5pZCwKCQkJCQkgICAgICR0aGVtZS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsICR0aGlzLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCQkgICAgIGFycmF5ICgndXBsb2FkX2lkJyA9PiAkcm93Wyd1cGxvYWRfaWQnXSwnY2F0ZWdvcnlfaWQnID0+ICRjdXJjYXRlZ29yeSksCgkJCQkJICAgICAkdGhpcy0+TGFuZyAoJ2FyZXlvdXN1cmUnKSk7CgogICAgJHJvd2FycmF5W10gPSAkb25lcm93OwogICAgKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwogIH0KICBpZiggJGRicmVzdWx0ICkgJGRicmVzdWx0LT5DbG9zZSgpOwoKICBpZiggJG5wYWdlcyA+IDEgKSB7CiAgICAvLyBvdXRwdXQgcGFnaW5hdGlvbiBzdHVmZi4KICAgICRzbWFydHktPmFzc2lnbignbnBhZ2VzJywkbnBhZ2VzKTsKICAgICRzbWFydHktPmFzc2lnbignY3VycGFnZScsJGN1cnBhZ2UpOwogICAgaWYoICRjdXJwYWdlID4gMSApIHsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2VfdXJsJywgJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgYXJyYXkoJ2ZpbGVzcGFnZSc9PjEpKSk7CiAgICAgICRzbWFydHktPmFzc2lnbigncHJldnBhZ2VfdXJsJywgJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwgYXJyYXkoJ2ZpbGVzcGFnZSc9PiRjdXJwYWdlLTEpKSk7CiAgICB9CiAgICBpZiggJGN1cnBhZ2UgPCAkbnBhZ2VzICkgewogICAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRwYWdlX3VybCcsICR0aGlzLT5jcmVhdGVfdXJsKCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsIGFycmF5KCdmaWxlc3BhZ2UnPT4kY3VycGFnZSsxKSkpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlX3VybCcsICR0aGlzLT5jcmVhdGVfdXJsKCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsIGFycmF5KCdmaWxlc3BhZ2UnPT4kbnBhZ2VzKSkpOwogICAgfQogIH0KfQoKJHNtYXJ0eS0+YXNzaWduKCdwYWdlbGltaXQnLCRwYWdlbGltaXQpOwokc21hcnR5LT5hc3NpZ24oJ21pc3NpbmdfaWNvbicsJHRoaXMtPkdldE1vZHVsZVVSTFBhdGgoKS4nL2ltYWdlcy9taXNzaW5nLmdpZicpOwokc21hcnR5LT5hc3NpZ24gKCdpdGVtcycsICRyb3dhcnJheSk7CiRzbWFydHktPmFzc2lnbiAoJ2l0ZW1jb3VudCcsIGNvdW50ICgkcm93YXJyYXkpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlICgndXBsb2FkbGlzdC50cGwnKTsKCi8vIEVPRgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_filetypestab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFVwbG9hZHMnKSApIHJldHVybjsKCmlmKCBpc3NldCgkcGFyYW1zWydkaXJlY3Rpb24nXSkgJiYgaXNzZXQoJHBhcmFtc1sncm93aWQnXSkgKSB7CiAgICBzd2l0Y2goICRwYXJhbXNbJ2RpcmVjdGlvbiddICkgewogICAgY2FzZSAndXAnOgogICAgICAgICRxID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfZmlsZXR5cGVzIFNFVCBzb3J0b3JkZXIgPSAoc29ydG9yZGVyICsgMSkgV0hFUkUgc29ydG9yZGVyID0gPyI7CiAgICAgICAgJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRwYXJhbXNbJ3NvcnRvcmRlciddIC0gMSApICk7CiAgICAgICAgJHEgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19maWxldHlwZXMgU0VUIHNvcnRvcmRlciA9IChzb3J0b3JkZXIgLSAxKSBXSEVSRSBpZCA9ID8iOwogICAgICAgICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkcGFyYW1zWydyb3dpZCddICkgKTsKICAgICAgICBicmVhazsKCiAgICAgIGNhc2UgJ2Rvd24nOgogICAgICAgICAgJHEgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19maWxldHlwZXMgU0VUIHNvcnRvcmRlciA9IChzb3J0b3JkZXIgLSAxKSBXSEVSRSBzb3J0b3JkZXIgPSA/IjsKICAgICAgICAgICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkcGFyYW1zWydzb3J0b3JkZXInXSArIDEgKSApOwogICAgICAgICAgJHEgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19maWxldHlwZXMgU0VUIHNvcnRvcmRlciA9IChzb3J0b3JkZXIgKyAxKSBXSEVSRSBpZCA9ID8iOwogICAgICAgICAgJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRwYXJhbXNbJ3Jvd2lkJ10gKSApOwogICAgICAgICAgYnJlYWs7CiAgICB9Cn0KCiRkYiA9IGNtc21zKCktPkdldERiKCk7CiRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19maWxldHlwZXMgT1JERVIgQlkgc29ydG9yZGVyIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnkgKTsKCiR0aGVtZU9iamVjdCA9IGNtc191dGlsczo6Z2V0X3RoZW1lX29iamVjdCgpOwokZG93bkltZyA9ICR0aGVtZU9iamVjdC0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctZC5naWYnLCBsYW5nKCdkb3duJyksJycsJycsJ3N5c3RlbWljb24nKTsKJHVwSW1nID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9hcnJvdy11LmdpZicsIGxhbmcoJ3VwJyksJycsJycsJ3N5c3RlbWljb24nKTsKJGVkaXRJbWcgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgbGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyk7CiRkZWxldGVJbWcgPSAkdGhlbWVPYmplY3QtPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCBsYW5nKCdkZWxldGUnKSwnJywnJywnc3lzdGVtaWNvbicpOwokbmV3T2JqZWN0ID0gJHRoZW1lT2JqZWN0LT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmJywkdGhpcy0+TGFuZygnYWRkZmlsZXR5cGUnKSwnJywnJywnc3lzdGVtaWNvbicpOwoKCiRyb3djbGFzcyA9ICdyb3cxJzsKJGVudHJpZXMgPSBhcnJheSgpOwokY291bnQgPSAwOwp3aGlsZSggJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7CiAgICAkb2JqID0gbmV3IFN0ZENsYXNzKCk7CiAgICBmb3JlYWNoKCAkcm93IGFzICRrZXk9PiR2YWx1ZSApIHsKICAgICAgICAkb2JqLT4ka2V5ID0gJHZhbHVlOwogICAgfQoKICAgICRvYmotPmljb24gPSAnPGltZyBzcmM9IicuJHRoaXMtPkdldE1vZHVsZVVSTFBhdGgoKS4nL2ltYWdlcy8nLiRvYmotPmltYWdlLiciIGFsdD0iJy4kb2JqLT5uYW1lLiciLz4nOwogICAgaWYoICRjb3VudCAhPSAwICkgewogICAgICAgICRvYmotPnVwbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsJHVwSW1nLAogICAgICAgIGFycmF5KCdhY3RpdmVfdGFiJz0+J2ZpbGVfdHlwZXMnLCAnZGlyZWN0aW9uJz0+J3VwJywgJ3NvcnRvcmRlcic9PiRyb3dbJ3NvcnRvcmRlciddLCAncm93aWQnPT4kcm93WydpZCddKSk7CiAgICB9CiAgICBpZiggJGNvdW50IDwgKCRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSAtIDEpICkgewogICAgICAgICRvYmotPmRvd25saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwkZG93bkltZywKICAgICAgICBhcnJheSgnYWN0aXZlX3RhYic9PidmaWxlX3R5cGVzJywgJ2RpcmVjdGlvbic9Pidkb3duJywgJ3NvcnRvcmRlcic9PiRyb3dbJ3NvcnRvcmRlciddLCAncm93aWQnPT4kcm93WydpZCddKSk7CiAgICB9CiAgICAkb2JqLT5lZGl0bGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnYWRkZmlsZXR5cGUnLCRyZXR1cm5pZCwkZWRpdEltZywgYXJyYXkoJ2FjdGl2ZV90YWInPT4nZmlsZV90eXBlcycsICd0eXBlaWQnPT4kcm93WydpZCddKSk7CiAgICAkb2JqLT5kZWxldGVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWxldGV0eXBlJywkcmV0dXJuaWQsJGRlbGV0ZUltZywgYXJyYXkoJ2FjdGl2ZV90YWInPT4nZmlsZV90eXBlcycsICd0eXBlaWQnPT4kcm93WydpZCddKSk7CiAgICAkb2JqLT5yb3djbGFzcyA9ICRyb3djbGFzczsKICAgICRjb3VudCsrOwogICAgJHJvd2NsYXNzID0gKCRyb3djbGFzcyA9PSAncm93MScpID8gJ3JvdzInIDogJ3JvdzEnOwogICAgJGVudHJpZXNbXSA9ICRvYmo7Cn0KCi8vIHRoZSB1bmtub3duIHJvdwokb2JqID0gbmV3IFN0ZENsYXNzKCk7CiRvYmotPm5hbWUgPSAkdGhpcy0+TGFuZygnbmFtZV91bmtub3duJyk7CiRvYmotPmRlc2NyaXB0aW9uID0gJzxlbT4nLiR0aGlzLT5MYW5nKCdkZXNjcmlwdGlvbl91bmtub3duJykuJzwvZW0+JzsKJG9iai0+cm93Y2xhc3MgPSAncm93Myc7CiRvYmotPmljb24gPSAnPGltZyBzcmM9IicuJHRoaXMtPkdldE1vZHVsZVVSTFBhdGgoKS4nL2ltYWdlcy91bmtub3duLnBuZyIgYWx0PSInLiRvYmotPm5hbWUuJyIvPic7CiRlbnRyaWVzW10gPSAkb2JqOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywkZW50cmllcyk7CiRzbWFydHktPmFzc2lnbignaXRlbWNvdW50Jyxjb3VudCgkZW50cmllcykpOwoKJHNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywKICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhZGRmaWxldHlwZScsJHJldHVybmlkLCRuZXdPYmplY3QsIGFycmF5KCdhY3RpdmVfdGFiJz0+J2ZpbGVfdHlwZXMnKSkuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhZGRmaWxldHlwZScsJHJldHVybmlkLCR0aGlzLT5MYW5nKCdhZGRmaWxldHlwZScpLCBhcnJheSgnYWN0aXZlX3RhYic9PidmaWxlX3R5cGVzJykpKTsKCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ3VwbG9hZGljb24nLCRyZXR1cm5pZCwncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnLGZhbHNlLCcnLCBhcnJheSgnYWN0aXZlX3RhYic9PidmaWxlX3R5cGVzJykpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbigncHJvbXB0X3VwbG9hZF9pY29uJywgJHRoaXMtPkxhbmcoJ3Byb21wdF91cGxvYWRfaWNvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF91cGxvYWRfaWNvbicsICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdpbnB1dF91cGxvYWRfaWNvbicsJycsNTApKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2ZpbGV0eXBlcy50cGwnKTsKCi8vIEVPRgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_prefstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uICgnTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSkgcmV0dXJuOwoKLy8gQ3JlYXRlRm9ybVN0YXJ0IHNldHMgdXAgYSBwcm9wZXIgZm9ybSB0YWcgdGhhdCB3aWxsIGNhdXNlIHRoZSBzdWJtaXQgdG8KLy8gcmV0dXJuIGNvbnRyb2wgdG8gdGhpcyBtb2R1bGUgZm9yIHByb2Nlc3NpbmcuCiRzbWFydHktPmFzc2lnbiAoJ3N0YXJ0Zm9ybScsICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ3NhdmVfYWRtaW5fcHJlZnMnLCAkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduICgnZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kICgpKTsKJHNtYXJ0eS0+YXNzaWduICgnc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXQnLCAkdGhpcy0+TGFuZygnc3VibWl0JyksICcnLCcnLCAkdGhpcy0+TGFuZygnY29uZmlybV9wcmVmZXJlbmNlcycpKSk7CiRzbWFydHktPmFzc2lnbigndXNlX2F1dG9nZW5fZmlsZW5hbWVzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2F1dG9nZW5fZmlsZW5hbWVzJywwKSk7CgovLyBpdCdzIGdvb2QgcHJhY3RpY2UgdG8gc2V0IGV2ZW4gc3RhdGljIHRpdGxlcyB1c2luZyBzbWFydHksCi8vIHNvIGxvY2FsaXphdGlvbiBpcyBlYXNpZXIuCgokc21hcnR5LT5hc3NpZ24gKCd0aXRsZV92YWxpZF91cGxvYWRleHRlbnNpb25zJywgJHRoaXMtPkxhbmcgKCd0aXRsZV92YWxpZF91cGxvYWRleHRlbnNpb25zJykpOwokc21hcnR5LT5hc3NpZ24gKCd0aXRsZV9zdWJuZXRfZXhjbHVzaW9ucycsICR0aGlzLT5MYW5nICgndGl0bGVfc3VibmV0X2V4Y2x1c2lvbnMnKSk7CiRzbWFydHktPmFzc2lnbiAoJ3RpdGxlX3NlY3Rpb24nLCAkdGhpcy0+TGFuZyAoJ3RpdGxlX21vZF9wcmVmcycpKTsKJHNtYXJ0eS0+YXNzaWduICgndGl0bGVfZHVtbXlfaW5kZXhfaHRtbCcsICR0aGlzLT5MYW5nICgndGl0bGVfZHVtbXlfaW5kZXhfaHRtbCcpKTsKJHNtYXJ0eS0+YXNzaWduICgndGl0bGVfZW1haWxfb25fdXBsb2FkJywgJHRoaXMtPkxhbmcgKCd0aXRsZV9lbWFpbF9vbl91cGxvYWQnKSk7CiRzbWFydHktPmFzc2lnbiAoJ3RpdGxlX3JlZGlyZWN0X29uX3VwbG9hZCcsICR0aGlzLT5MYW5nKCd0aXRsZV9yZWRpcmVjdG9udXBsb2FkJykpOwokc21hcnR5LT5hc3NpZ24gKCd0aXRsZV9kb3dubG9hZF9jaHVua3NpemUnLCAkdGhpcy0+TGFuZygndGl0bGVfZG93bmxvYWRfY2h1bmtzaXplJykpOwokc21hcnR5LT5hc3NpZ24gKCdpbmZvX2Rvd25sb2FkX2NodW5rc2l6ZScsICR0aGlzLT5MYW5nKCdpbmZvX2Rvd25sb2FkX2NodW5rc2l6ZScpKTsKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV9hbGxvd19kZWxldGUnLCR0aGlzLT5MYW5nKCd0aXRsZV9hbGxvd19kZWxldGUnKSk7CgokY29udGVudG9wcyA9ICRnQ21zLT5HZXRDb250ZW50T3BlcmF0aW9ucygpOwokc21hcnR5LT5hc3NpZ24oJ3RpdGxlX3NlbmRmaWxlcGFnZScsJHRoaXMtPkxhbmcoJ3RpdGxlX3NlbmRmaWxlcGFnZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zZW5kZmlsZXBhZ2UnLAoJCSRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zZW5kZmlsZXBhZ2UnLC0xKSwgJGlkLidkZWZhdWx0X3NlbmRmaWxlcGFnZScsMSkpOwoKJHNtYXJ0eS0+YXNzaWduKCd0aXRsZV9yZWRpcmVjdF9vbl9zZW5kZmlsZScsJHRoaXMtPkxhbmcoJ3RpdGxlX3JlZGlyZWN0X29uX3NlbmRmaWxlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlZGlyZWN0X29uX3NlbmRmaWxlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdyZWRpcmVjdF9vbl9zZW5kZmlsZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3JlZGlyZWN0X29uX3NlbmRmaWxlJywnJyksMzAsODApKTsKCi8vIHlvdSdsbCBvZnRlbiB3YW50IHRvIGRvIHRoaW5ncyBsaWtlIHRoaXMgdG8gcHJvdmlkZSBmZWVkYmFjazoKJHNtYXJ0eS0+YXNzaWduICgnaW5wdXRfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucycsCgkJICR0aGlzLT5DcmVhdGVJbnB1dFRleHQgKCRpZCwgJ3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnLAoJCQkJCSAkdGhpcy0+R2V0UHJlZmVyZW5jZSAoJ3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnLCAiemlwLGd6LHRhciIpLCAnMzAnLCAnMjU1JykpOwoKJHNtYXJ0eS0+YXNzaWduICgnaW5wdXRfc3VibmV0X2V4Y2x1c2lvbnMnLAoJCSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdzdWJuZXRfZXhjbHVzaW9ucycsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdWJuZXRfZXhjbHVzaW9ucycsIiIpLDUwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24gKCdpbnB1dF9lbWFpbF9vbl91cGxvYWQnLAoJCSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdlbWFpbF9vbl91cGxvYWQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VuZF91cGxvYWRfbm90aWZpY2F0aW9uc190bycpLCA0MCwgMjU1ICkpOwokc21hcnR5LT5hc3NpZ24gKCdpbnB1dF9yZWRpcmVjdF9vbl91cGxvYWQnLAoJCSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdyZWRpcmVjdF9vbl91cGxvYWQnLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVkaXJlY3Rfb25fdXBsb2FkJywnJyksMzAsODApKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfZG93bmxvYWRfY2h1bmtzaXplJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnZG93bmxvYWRfY2h1bmtzaXplJywgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2Rvd25sb2FkX2NodW5rc2l6ZScsOCksNSw1KSk7Cgokc21hcnR5LT5hc3NpZ24oJ3RpbWVsaW1pdGVkX2hvdXJzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGltZWxpbWl0ZWRfaG91cnMnLDcyKSk7CiRzbWFydHktPmFzc2lnbigndGltZWxpbWl0ZWRfZG93bmxvYWRzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgndGltZWxpbWl0ZWRfZG93bmxvYWRzJywwKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZ2V0ZmlsZV9yZXN1bHRwYWdlJywKCQkkY29udGVudG9wcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2dldGZpbGVfcmVzdWx0cGFnZScpLCAkaWQuJ2dldGZpbGVfcmVzdWx0cGFnZScsMSkpOwokc21hcnR5LT5hc3NpZ24oJ3RpbWVsaW1pdGVkX2F1dG9kZWxldGUnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCd0aW1lbGltaXRlZF9hdXRvZGVsZXRlJywwKSk7CiRzbWFydHktPmFzc2lnbigndGltZWxpbWl0ZWRfc3ViamVjdCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3RpbWVsaW1pdGVkX3N1YmplY3QnLCAkdGhpcy0+TGFuZygnZGZsdF90aW1lbGltaXRlZF9zdWJqZWN0JykpKTsKCiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnlfZXhwaXJ5JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2F0ZWdvcnlfZXhwaXJ5JywwKSk7CiRzbWFydHktPmFzc2lnbignYWxsb3dfdXBsb2FkX3NlbmRmaWxlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfdXBsb2FkX3NlbmRmaWxlJywwKSk7CiRzbWFydHktPmFzc2lnbignZnJpZW5kbHluYW1lJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZnJpZW5kbHluYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ2FsbG93X2NoYW5nZWRhdGUnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd19jaGFuZ2VkYXRlJywwKSk7CiRzbWFydHktPmFzc2lnbignaW5kZXhfdHh0ZmlsZXMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbmRleF90eHRmaWxlcycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbmRleF91bmlxdWV3b3JkcycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2luZGV4X3VuaXF1ZXdvcmRzJykpOwokc21hcnR5LT5hc3NpZ24oJ3NlbmRmaWxlX2FmdGVybXNnJywkdGhpcy0+R2V0VGVtcGxhdGUoJ3NlbmRmaWxlX2FmdGVybXNnJykpOwoKLy8gRGlzcGxheSB0aGUgcG9wdWxhdGVkIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSAoJ2FkbWlucHJlZnMudHBsJyk7CgovLyBFT0YKPz4=]]></data>
	</file>
	<file>
	  <filename>/function.admin_reportstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdDcmVhdGUgVXBsb2FkcyBSZXBvcnRzJykgKSByZXR1cm47CgoKJGxpbmtzID0gYXJyYXkoKTsKJGxpbmtzW10gPSBhcnJheSgndGl0bGUnPT4kdGhpcy0+TGFuZygndGl0bGVfcmVwb3J0X2Rvd25sb2Fkc2J5dXNlcicpLAoJCQkJCQkJCSAndXJsJz0+JHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdhZG1pbl9yZXBvcnRfZG93bmxvYWRzYnl1c2VyJywkcmV0dXJuaWQpKTsKJGxpbmtzW10gPSBhcnJheSgndGl0bGUnPT4kdGhpcy0+TGFuZygndGl0bGVfcmVwb3J0X2Rvd25sb2Fkc2J5ZmlsZScpLAoJCQkJCQkJCSAndXJsJz0+JHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdhZG1pbl9yZXBvcnRfZG93bmxvYWRzYnlmaWxlJywkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdsaW5rcycsJGxpbmtzKTsKCiR0bXAgPSAkdGhpcy0+R2V0TW9kdWxlVVJMUGF0aCgpLicvaW1hZ2VzL2ZpbGUtcmVwb3J0LWljb24ucG5nJzsKJHJlcG9ydF9pY29uID0gc3ByaW50ZignPGltZyBzcmM9IiVzIiBhbHQ9IiVzIiB3aWR0aD0iMzIiIGhlaWdodD0iMzIiLz4nLCAkdG1wLCAkdGhpcy0+TGFuZygnaWNvbicpKTsKJHNtYXJ0eS0+YXNzaWduKCdyZXBvcnRfaWNvbicsJHJlcG9ydF9pY29uKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fcmVwb3J0c3RhYi50cGwnKTsKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/functions.admin_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmdW5jdGlvbiBfdXBsb2Fkc19BZG1pbkRvRGVsZXRlVXBsb2FkICgmJG1vZHVsZSwgJHVwbG9hZF9pZCwkdW5saW5rX2ZpbGUgPSBGQUxTRSkKewoJLyoKICAvLyBnZXQgdGhlIGluZm8gYWJvdXQgdGhlIHVwbG9hZCB3ZSdyZSBnb25uYSBkZWxldGUKICAkZGIgPSAkbW9kdWxlLT5HZXREYigpOwogICRxdWVyeSA9ICJTRUxFQ1QgdXBsb2FkX2lkLCB1cGxvYWRfY2F0ZWdvcnlfaWQsIHVwbG9hZF9uYW1lLCB1cGxvYWRfdGh1bWJuYWlsIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzIFdIRVJFIHVwbG9hZF9pZCA9ID8iOwoJJHVwbG9hZHJvdyA9ICRkYi0+R2V0Um93KCAkcXVlcnksIGFycmF5KCAkdXBsb2FkX2lkICkgKTsKICBpZiggISR1cGxvYWRyb3cgKSByZXR1cm4gJG1vZHVsZS0+TGFuZygnZXJyb3JfZGJlcnJvcicpOwoKCWlmKCAkdW5saW5rX2ZpbGUgKSB7CgkJLy8gYW5kIHRoZSBpbmZvIGFib3V0IGl0J3MgY2F0ZWdvcnkKCQkkY2F0ZWdvcnlyb3cgPSB1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnkoJHVwbG9hZHJvd1sndXBsb2FkX2NhdGVnb3J5X2lkJ10pOwoKCQkvLyBub3cgYnVpbGQgdGhlIHBhdGgKCQkkZmlsZSA9ICRtb2R1bGUtPl91cGxvYWRQYXRoKCAkY2F0ZWdvcnlyb3dbJ3VwbG9hZF9jYXRlZ29yeV9wYXRoJ10sICR1cGxvYWRyb3dbJ3VwbG9hZF9uYW1lJ10gKTsKCgkJLy8gYW5kIGRlbGV0ZSB0aGUgZmlsZQoJCUB1bmxpbmsoICRmaWxlICk7CgoJCS8vIGFuZCB0aGUgdGh1bWJuYWlsIGlmIG9uZSBleGlzdHMKCQlpZiggIWVtcHR5KCR1cGxvYWRyb3dbJ3VwbG9hZF90aHVtYm5haWwnXSkgKSB7CgkJCSR0bmZpbGUgPSAkbW9kdWxlLT5fY2F0ZWdvcnlQYXRoKCAkY2F0ZWdvcnlyb3dbJ3VwbG9hZF9jYXRlZ29yeV9wYXRoJ10gKS5ESVJFQ1RPUllfU0VQQVJBVE9SOwoJCQkkdG5maWxlIC49ICR1cGxvYWRyb3dbJ3VwbG9hZF90aHVtYm5haWwnXTsKCQkJQHVubGluayggJHRuZmlsZSApOwoJCX0KCX0KCgkvLyBhbmQgYW55IHRpbWUgbGltaXRlZCB1cmxzCgkkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX3RpbWVsaW1pdCBXSEVSRSB1cGxvYWRfaWQgPSA/JzsKICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICR1cGxvYWRyb3dbJ3VwbG9hZF9pZCddICkgKTsKCiAgLy8gYW5kIHRoZSBmaWVsZCB2YWx1ZXMKICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2ZpZWxkdmFscyBXSEVSRSB1cGxvYWRfaWQgPSA/JzsKICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICR1cGxvYWRyb3dbJ3VwbG9hZF9pZCddICkgKTsKCiAgLy8gYW5kIHRoZSBkb3dubG9hZHMKICAkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2Rvd25sb2FkcyBXSEVSRSBmaWxlX2lkID0gPyI7CiAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAkdXBsb2Fkcm93Wyd1cGxvYWRfaWQnXSApICk7CgogIC8vIGFuZCB0aGUgcmVjb3JkIGl0c2VsZi4KICAkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzIFdIRVJFIHVwbG9hZF9pZCA9ID8iOwogICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJHVwbG9hZHJvd1sndXBsb2FkX2lkJ10gKSApOwoJKi8KCgkkdXBsb2FkID0gXFVwbG9hZHNcdXBsb2FkOjpsb2FkKCR1cGxvYWRfaWQpOwoKICAvLyBkZWxldGUgdGhlIHNlYXJjaCBzdHVmZgogICRzZWFyY2ggPSAkbW9kdWxlLT5HZXRNb2R1bGVJbnN0YW5jZSgnU2VhcmNoJyk7CiAgaWYgKCRzZWFyY2ggIT0gRkFMU0UpICRzZWFyY2gtPkRlbGV0ZVdvcmRzKCRtb2R1bGUtPkdldE5hbWUoKSwgJHVwbG9hZF9pZCwgJ3VwbG9hZCcpOwoKICAkcGFybXMgPSBhcnJheSgpOwogICRwYXJtc1snaWQnXSA9ICR1cGxvYWQtPmlkOwogICRwYXJtc1snbmFtZSddID0gJHVwbG9hZC0+bmFtZTsKICAkcGFybXNbJ2NhdGVnb3J5X2lkJ10gPSAkdXBsb2FkLT5jYXRlZ29yeTsKCgkkdXBsb2FkLT5kZWxldGUoKTsKCiAgLy8gc2VuZCBhbiBldmVudAogICRtb2R1bGUtPlNlbmRFdmVudCgnT25SZW1vdmUnLCAkcGFybXMgKTsKCiAgLy8gYW5kIHdlJ3JlIGRvbmUKICBhdWRpdCggJycsICRtb2R1bGUtPkdldE5hbWUoKSwgJ0RlbGV0ZWQgJy4kcGFybXNbJ25hbWUnXSk7CgoJcmV0dXJuIGZhbHNlOwp9CgoKZnVuY3Rpb24gX3VwbG9hZHNfQWRtaW5Eb0RlbGV0ZUNhdGVnb3J5ICgmJG1vZHVsZSwgJGNhdGVnb3J5X2lkKQp7Cgl0cnkgewoJCSRjYXRlZ29yeSA9IFxVcGxvYWRzXGNhdGVnb3J5Ojpsb2FkX2J5X2lkKCRjYXRlZ29yeV9pZCk7CgkJJGNhdGVnb3J5LT5kZWxldGUoKTsKCgkJLy8gc2VuZCBhbiBldmVudAoJCSRwYXJtc1tdID0gYXJyYXkoKTsKCQkkcGFybXNbJ2lkJ10gPSAkY2F0ZWdvcnktPmlkOwoJCSRwYXJtc1snbmFtZSddID0gJGNhdGVnb3J5LT5uYW1lOwoJCSRwYXJtc1sncGF0aCddID0gJGNhdGVnb3J5LT5wYXRoOwoJCSRtb2R1bGUtPlNlbmRFdmVudCgnT25EZWxldGVDYXRlZ29yeScsJHBhcm1zKTsKCQlyZXR1cm4gRkFMU0U7Cgl9CgljYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKCQlyZXR1cm4gJGUtPkdldE1lc3NhZ2UoKTsKCX0KCgkvKgoJLy8gZ2V0IHRoZSBjYXRlZ29yeSBkZXRhaWxzCgkkY2F0ZWdvcnkgPSAkbW9kdWxlLT5fZ2V0VXBsb2FkQ2F0ZWdvcnlEZXRhaWxzKCAkY2F0ZWdvcnlfaWQgKTsKCWlmKCAhJGNhdGVnb3J5ICkgcmV0dXJuICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2NhdGVnb3J5bm90Zm91bmQnKTsKCgkvLyBnZXQgdGhlIGZpbGVzIGZyb20gdGhlIGNhdGVnb3J5CgkkcXVlcnkgPSAnU0VMRUNUIHVwbG9hZF9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcwogICAgICAgICAgICBXSEVSRSB1cGxvYWRfY2F0ZWdvcnlfaWQgPSA/JzsKCSRkYiA9ICRtb2R1bGUtPkdldERiKCk7CgkkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRjYXRlZ29yeV9pZCkgKTsKCWlmKCAkdG1wICkgcmV0dXJuICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2NhdGVnb3J5bm90ZW1wdHknKTsKCgkkZGlyID0gJG1vZHVsZS0+X2NhdGVnb3J5UGF0aCggJGNhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfcGF0aCddICk7CgljZ2VfZGlyOjpyZWN1cnNpdmVfcm1kaXIoJGRpcik7CgoJaWYoIGZpbGVfZXhpc3RzKCRkaXIpICkJcmV0dXJuICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2RlbGV0ZScsJGRpcik7CgoJLy8gZGVsZXRlIHRoZSBjYXRlZ29yeSBmcm9tIHRoZSBkYgoJJGRiID0gJG1vZHVsZS0+R2V0RGIoKTsKCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllcyBXSEVSRSB1cGxvYWRfY2F0ZWdvcnlfaWQgPSA/IjsKCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJGNhdGVnb3J5X2lkICkgKTsKCgkvLyBzZW5kIGFuIGV2ZW50CgkkcGFybXNbXSA9IGFycmF5KCk7CgkkcGFybXNbJ25hbWUnXSA9ICRjYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X25hbWUnXTsKCSRwYXJtc1sncGF0aCddID0gJGNhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfcGF0aCddOwoJJG1vZHVsZS0+U2VuZEV2ZW50KCdPbkRlbGV0ZUNhdGVnb3J5JywkcGFybXMpOwoKCS8vIGFuZCB3ZSdyZSBkb25lCglyZXR1cm4gRkFMU0U7CgkqLwp9CgoKZnVuY3Rpb24gX3VwbG9hZHNfQ29weUNhdGVnb3J5KCYkbW9kdWxlLCRvcmlnX2NhdGVnb3J5X2lkLCRkZXN0X25hbWUsJGRlc3RfcGF0aCwKCQkJCQkJCQkJCQkJCQkJICRkZXN0X2Rlc2MsJGNvcHlmaWxlcywkZWRpdF9kZXNjID0gdHJ1ZSkKewoJJGdDbXMgPSBjbXNtcygpOwoJJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCgkvLyBnZXQgdGhlIG9yaWdpbmFsIGNhdGVnb3J5Cgkkb3JpZ19jYXRlZ29yeSA9IHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yeSgkb3JpZ19jYXRlZ29yeV9pZCk7CglpZiggISRvcmlnX2NhdGVnb3J5ICkJcmV0dXJuICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2NhdGVnb3J5bm90Zm91bmQnKTsKCSRkZXN0X2NhdGVnb3J5ID0gJG9yaWdfY2F0ZWdvcnk7CgoJaWYoIGVtcHR5KCRkZXN0X25hbWUpICkJcmV0dXJuICRtb2R1bGUtPkxhbmcoJ2Vycm9yX21pc3NpbmdfaW52YWxpZCcsJ25hbWUnKTsKCWlmKCBlbXB0eSgkZGVzdF9wYXRoKSApIHJldHVybiAkbW9kdWxlLT5MYW5nKCdlcnJvcl9taXNzaW5nX2ludmFsaWQnLCdwYXRoJyk7Cgl0cnkgewoJCSR0bXAgPSB1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnkoJGRlc3RfbmFtZSk7CgkJaWYoIGlzX2FycmF5KCR0bXApICkgcmV0dXJuICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2NhdGVnb3J5ZXhpc3RzMicsJGRlc3RfbmFtZSk7Cgl9CgljYXRjaCggXEV4Y2VwdGlvbiAkZSApIHsKCQkvLyBkbyBub3RoaW5nLgoJfQoJJHRtcDIgPSBVcGxvYWRzOjpjYXRlZ29yeV9wYXRoX2luX3VzZSgkZGVzdF9wYXRoKTsKCWlmKCAkdG1wMiApCXJldHVybiAkbW9kdWxlLT5MYW5nKCdlcnJvcl9wYXRoaW51c2UyJywkZGVzdF9wYXRoKTsKCgkkc3JjZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkb3JpZ19jYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X3BhdGgnXSk7CgkkZGVzdGRpciA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJGRlc3RfcGF0aCk7CglpZiggZmlsZV9leGlzdHMoJGRlc3RkaXIpICkJcmV0dXJuICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2ZpbGVleGlzdHMnLCRkZXN0ZGlyKTsKCWlmKCAhZmlsZV9leGlzdHMoJHNyY2RpcikgKQlyZXR1cm4gJG1vZHVsZS0+TGFuZygnZXJyb3JfZmlsZW5vdGZvdW5kJywkc3JjZGlyKTsKCgkkZGVzdF9jYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X25hbWUnXSA9ICRkZXN0X25hbWU7CgkkZGVzdF9jYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X3BhdGgnXSA9ICRkZXN0X3BhdGg7CglpZiggJGVkaXRfZGVzYyApICRkZXN0X2NhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfZGVzY3JpcHRpb24nXSA9ICRkZXN0X2Rlc2M7CgoJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCSRjYXRpZCA9ICRkYi0+R2VuSUQgKGNtc19kYl9wcmVmaXggKCkuIm1vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXNfc2VxIik7CgoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzCiAgICAgICAgICAgICh1cGxvYWRfY2F0ZWdvcnlfaWQsdXBsb2FkX2NhdGVnb3J5X25hbWUsCiAgICAgICAgICAgICB1cGxvYWRfY2F0ZWdvcnlfZGVzY3JpcHRpb24sdXBsb2FkX2NhdGVnb3J5X3BhdGgsCiAgICAgICAgICAgICB1cGxvYWRfY2F0ZWdvcnlfbGlzdGFibGUsdXBsb2FkX2NhdGVnb3J5X2dyb3VwcywKICAgICAgICAgICAgIHVwbG9hZF9jYXRlZ29yeV9kZWxldGFibGUpCiAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPyw/LD8sPyknOwoJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksCgkJCQkJCQkJCQkJYXJyYXkoJGNhdGlkLAoJCQkJCQkJCQkJCQkJCSRkZXN0X2NhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfbmFtZSddLAoJCQkJCQkJCQkJCQkJCSRkZXN0X2NhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfZGVzY3JpcHRpb24nXSwKCQkJCQkJCQkJCQkJCQkkZGVzdF9jYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X3BhdGgnXSwKCQkJCQkJCQkJCQkJCQkkZGVzdF9jYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X2xpc3RhYmxlJ10sCgkJCQkJCQkJCQkJCQkJJGRlc3RfY2F0ZWdvcnlbJ3VwbG9hZF9jYXRlZ29yeV9ncm91cHMnXSwKCQkJCQkJCQkJCQkJCQkkZGVzdF9jYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X2RlbGV0YWJsZSddKSk7CgoJaWYoICEkZGJyICkJcmV0dXJuICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2RiZXJyb3InKTsKCglAbWtkaXIoJGRlc3RkaXIsIDA3NzcsIHRydWUpOwoJaWYoICFmaWxlX2V4aXN0cygkZGVzdGRpcikgKSB7CgkJJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzCiAgICAgICAgICAgICAgV0hFUkUgdXBsb2FkX2NhdGVnb3J5X2lkID0gPyc7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKCQlyZXR1cm4gJG1vZHVsZS0+TGFuZygnZXJyb3JfY2FudGNyZWF0ZWRpcmVjdG9yeScuJzogJy4kZGVzdGRpcik7Cgl9CglpZiggJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnY3JlYXRlX2R1bW15X2luZGV4X2h0bWwnKSApIHsKCQlAdG91Y2goICRkZXN0ZGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuImluZGV4Lmh0bWwiICk7Cgl9CgoJLy8gc2VuZCBhbiBldmVudAoJJHBhcm1zID0gYXJyYXkoKTsKCSRwYXJtc1snbmFtZSddID0gJGRlc3RfY2F0ZWdvcnlbJ3VwbG9hZF9jYXRlZ29yeV9uYW1lJ107CgkkcGFybXNbJ2Rlc2NyaXB0aW9uJ10gPSAkZGVzdF9jYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X2Rlc2NyaXB0aW9uJ107CgkkcGFybXNbJ3BhdGgnXSA9ICRkZXN0X2NhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfcGF0aCddOwoJJHBhcm1zWydsaXN0YWJsZSddID0gJGRlc3RfY2F0ZWdvcnlbJ3VwbG9hZF9jYXRlZ29yeV9saXN0YWJsZSddOwoJJHBhcm1zWydkZWxldGFibGUnXSA9ICRkZXN0X2NhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfZGVsZXRhYmxlJ107CgkkbW9kdWxlLT5TZW5kRXZlbnQoICdPbkNyZWF0ZUNhdGVnb3J5JywgJHBhcm1zICk7CgoJJGVycm9yID0gYXJyYXkoKTsKCWlmKCAkY29weWZpbGVzICkgewoJCS8vIG5vdyBjb3B5IHRoZSBmaWxlcy4KCQkkYXV0aG9yID0gJF9TRVNTSU9OWydjbXNfYWRtaW5fdXNlcm5hbWUnXTsKCQkkbm93ID0gJGRiLT5EYlRpbWVTVGFtcCh0aW1lKCkpOwoJCSRmaWxlX3JlY29yZHMgPSBVcGxvYWRzOjpnZXRfY2F0ZWdvcnlfZmlsZV9saXN0KCAkb3JpZ19jYXRlZ29yeV9pZCApOwoJCSRpcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzCiAgICAgICAgICAgICAgICh1cGxvYWRfaWQsdXBsb2FkX2NhdGVnb3J5X2lkLHVwbG9hZF9uYW1lLAogICAgICAgICAgICAgICAgdXBsb2FkX2F1dGhvcix1cGxvYWRfc3VtbWFyeSx1cGxvYWRfZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICB1cGxvYWRfaXAsdXBsb2FkX3NpemUsdXBsb2FkX2RhdGUsCiAgICAgICAgICAgICAgICB1cGxvYWRfa2V5LHVwbG9hZF90aHVtYm5haWwpCiAgICAgICAgICAgICAgIFZBTFVFUyg/LD8sPyw/LD8sPyw/LD8sJG5vdyw/LD8pIjsKCgkJaWYoIGlzX2FycmF5KCRmaWxlX3JlY29yZHMpICkgewoJCQlmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZmlsZV9yZWNvcmRzKTsgJGkrKyApIHsKCQkJCWlmKCAhZW1wdHkoJGVycm9yKSApIGJyZWFrOwoKCQkJCSRkaWRfY29weV90aHVtYiA9IGZhbHNlOwoJCQkJJGRlc3R0aHVtYiA9ICcnOwoJCQkJJG9uZXJlYyA9JiAkZmlsZV9yZWNvcmRzWyRpXTsKCgkJCQkvLyBnZXQgdGhlIGZpbGUgcGF0aAoJCQkJJHNyY2ZpbGUgPSBjbXNfam9pbl9wYXRoKCRzcmNkaXIsJG9uZXJlY1sndXBsb2FkX25hbWUnXSk7CgkJCQkkZGVzdGZpbGUgPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCRvbmVyZWNbJ3VwbG9hZF9uYW1lJ10pOwoKCQkJCS8vIGNvcHkgdGhlIGZpbGUKCQkJCWNvcHkoJHNyY2ZpbGUsJGRlc3RmaWxlKTsKCgkJCQkvLyBjaGVjayBmb3IgYSB0aHVtYm5haWwKCQkJCSRzcmN0aHVtYiA9IGNtc19qb2luX3BhdGgoJHNyY2RpciwndGh1bWJfJy4kb25lcmVjWyd1cGxvYWRfbmFtZSddKTsKCQkJCSRkZXN0dGh1bWIgPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCd0aHVtYl8nLiRvbmVyZWNbJ3VwbG9hZF9uYW1lJ10pOwoJCQkJaWYoIGZpbGVfZXhpc3RzKCRzcmNkaXIpICkgewoJCQkJCS8vIGNvcHkgaXQKCQkJCQkkZGVzdHRodW1iID0gY21zX2pvaW5fcGF0aCgkZGVzdGRpciwndGh1bWJfJy4kb25lcmVjWyd1cGxvYWRfbmFtZSddKTsKCQkJCQljb3B5KCRzcmN0aHVtYiwkZGVzdHRodW1iKTsKCQkJCQkkZGlkX2NvcHlfdGh1bWIgPSB0cnVlOwoJCQkJfQoKCQkJCS8vIGdlbmVyYXRlIGEgbmV3IGZpbGUgaWQKCQkJCSRmaWxlX2lkID0gJGRiLT5HZW5JRCAoY21zX2RiX3ByZWZpeCAoKS4ibW9kdWxlX3VwbG9hZHNfc2VxIik7CgoJCQkJLy8gYWx0ZXIgdGhlIHJlY29yZAoJCQkJJG9uZXJlY1sndXBsb2FkX2lkJ10gPSAkZmlsZV9pZDsKCQkJCSRvbmVyZWNbJ3VwbG9hZF9jYXRlZ29yeV9pZCddID0gJGNhdGlkOwoJCQkJJG9uZXJlY1sndXBsb2FkX2F1dGhvciddID0gJGF1dGhvcjsKCQkJCSRvbmVyZWNbJ3VwbG9hZF9pcCddID0gbnVsbDsKCgkJCQkvLyBpbnNlcnQgaXQuCgkJCQkkZGJyID0gJGRiLT5FeGVjdXRlKCRpcXVlcnksCgkJCQkJCQkJCQkJCQkJYXJyYXkoJGZpbGVfaWQsCgkJCQkJCQkJCQkJCQkJCQkJJG9uZXJlY1sndXBsb2FkX2NhdGVnb3J5X2lkJ10sCgkJCQkJCQkJCQkJCQkJCQkJJG9uZXJlY1sndXBsb2FkX25hbWUnXSwKCQkJCQkJCQkJCQkJCQkJCQkkb25lcmVjWyd1cGxvYWRfYXV0aG9yJ10sCgkJCQkJCQkJCQkJCQkJCQkJJG9uZXJlY1sndXBsb2FkX3N1bW1hcnknXSwKCQkJCQkJCQkJCQkJCQkJCQkkb25lcmVjWyd1cGxvYWRfZGVzY3JpcHRpb24nXSwKCQkJCQkJCQkJCQkJCQkJCQkkb25lcmVjWyd1cGxvYWRfaXAnXSwKCQkJCQkJCQkJCQkJCQkJCQkkb25lcmVjWyd1cGxvYWRfc2l6ZSddLAoJCQkJCQkJCQkJCQkJCQkJCSRvbmVyZWNbJ3VwbG9hZF9rZXknXSwKCQkJCQkJCQkJCQkJCQkJCQkkb25lcmVjWyd1cGxvYWRfdGh1bWJuYWlsJ10pKTsKCgkJCQkvLyBvbiBlcnJvciBkZWxldGUgZmlsZXMuCgkJCQlpZiggISRkYnIgKSB7CgkJCQkJQHVubGluaygkZGVzdGZpbGUpOwoJCQkJCUB1bmxpbmsoJGRlc3R0aHVtYik7CgkJCQkJaWYoICFpc19hcnJheSgkZXJyb3IpICkJJGVycm9yID0gYXJyYXkoKTsKCQkJCQkkZXJyb3JbXSA9ICRtb2R1bGUtPkxhbmcoJ2Vycm9yX2RiZXJyb3InKTsKCQkJCX0KCQkJfQoJCX0KCX0gLy8gY29weSBmaWxlcwoKCWlmKCAhJGVycm9yICkJcmV0dXJuICRlcnJvcjsKCXJldHVybiBGQUxTRTsKfQoKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/functions.common_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmdW5jdGlvbiBfdXBsb2Fkc19BdHRlbXB0VXBsb2FkICgmJG1vZCwgJGlkLCAmJHBhcmFtcywgJHJldHVybmlkKQp7CiAgICAkZGIgPSAkbW9kLT5HZXREYigpOwogICAgJGZpZWxkbmFtZSA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnZmllbGRfbmFtZScsJGZpZWxkbmFtZSA9ICRpZC4naW5wdXRfYnJvd3NlJyk7CgogICAgLy8gY2hlY2sgZm9yIHRoZSBmaWxldHlwZXMgcGFyYW0KICAgIGlmIChpc3NldCggJHBhcmFtc1snZmlsZV9leHRlbnNpb25zJ10gKSApICRtb2QtPnVwbG9hZF9leHRlbnNpb25zID0gJHBhcmFtc1snZmlsZV9leHRlbnNpb25zJ107CgogICAgLy8gY2hlY2sgdGhlIGF1dGhvcgogICAgaWYgKCFpc3NldCAoJHBhcmFtc1snaW5wdXRfYXV0aG9yJ10pICkgcmV0dXJuIGFycmF5KCBGQUxTRSwgJG1vZC0+TGFuZygnZXJyb3JfaW52YWxpZGF1dGhvcicpICk7CgogICAgLy8gY2xlYW4gdXAgYXV0aG9yCiAgICAkcGFyYW1zWydpbnB1dF9hdXRob3InXSA9IHRyaW0oc3RyaXBfdGFncyhjbXNfaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJ2lucHV0X2F1dGhvciddKSkpOwogICAgaWYoICEkcGFyYW1zWydpbnB1dF9hdXRob3InXSApIHJldHVybiBhcnJheSggRkFMU0UsICRtb2QtPkxhbmcoJ2Vycm9yX2ludmFsaWRhdXRob3InKSApOwoKICAgIC8vIHNlZSBpZiB0aGVyZSdzIGEga2V5CiAgICAkdWtleSA9IFxjZ2VfcGFyYW06OmdldF9zdHJpbmcoJHBhcmFtcywnaW5wdXRfa2V5Jyk7CgogICAgLy8gdmFsaWRhdGUgdGhlIHVwbG9hZCBuYW1lCiAgICBpZiggIWlzc2V0KCRfRklMRVNbJGZpZWxkbmFtZV0pICkgcmV0dXJuIGFycmF5KEZBTFNFLCRtb2QtPkxhbmcoJ2Vycm9yX25vZmlsZXN1cGxvYWRlZCcpKTsKCiAgICAvLyBoYW5kbGUgZmlsZW5hbWUgcHJlZml4CiAgICAkZmlsZVByZWZpeCA9ICcnOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3ByZWZpeCddKSAmJiAkcGFyYW1zWydwcmVmaXgnXSA9PSAxICkgewogICAgICAgICRmaWxlUHJlZml4ID0gZGVjaGV4KHRpbWUoKSkgLiAiXyI7CiAgICAgICAgaWYgKGlzc2V0KCRwYXJhbXNbJ3ByZWZpeF9mZXUnXSkgJiYgJHBhcmFtc1sncHJlZml4X2ZldSddID09IDEpICRmaWxlUHJlZml4ID0gJHBhcmFtc1snaW5wdXRfYXV0aG9yJ10gLiAiXyI7CiAgICB9CgogICAgJHJlcGxhY2VfZXhpc3RpbmcgPSBmYWxzZTsKICAgIGlmKCAhJG1vZC0+R2V0UHJlZmVyZW5jZSgndXNlX2F1dG9nZW5fZmlsZW5hbWVzJykgKSB7CiAgICAgICAgLy8gaGFuZGxlIGRlc3RpbmF0aW9uIG5hbWUKICAgICAgICAkZGVzdG5hbWUgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2lucHV0X2Rlc3RuYW1lJyk7CiAgICAgICAgJGRlc3RuYW1lID0gdHJpbShiYXNlbmFtZSgkZGVzdG5hbWUpKTsKCiAgICAgICAgLy8gaGFuZGxlIHJlcGxhY2UgZXhpc3RpbmcKICAgICAgICAkcmVwbGFjZV9leGlzdGluZyA9IFxjZ2VfcGFyYW06OmdldF9ib29sKCRwYXJhbXMsJ2lucHV0X3JlcGxhY2UnKTsKICAgIH0gZWxzZSB7CiAgICAgICAgJHNxbCA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfc2VxJzsKICAgICAgICAkZXh0ID0gc3RydG9sb3dlcihzdHJyY2hyKCRfRklMRVNbJGZpZWxkbmFtZV1bJ25hbWUnXSwnLicpKTsKICAgICAgICAkZGVzdG5hbWUgPSBzcHJpbnRmKCclMDdkJywoaW50KSAkZGItPkdldE9uZSgkc3FsKSsxKS4kZXh0OwogICAgfQoKICAgIC8vIGNoZWNrIHRoZSBzdW1tYXJ5CiAgICAkcGFyYW1zWydpbnB1dF9zdW1tYXJ5J10gPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2lucHV0X3N1bW1hcnknKTsKICAgIGlmKCAhJHBhcmFtc1snaW5wdXRfc3VtbWFyeSddICkgewogICAgICAgICRwID0gc3RycG9zKCAkZGVzdG5hbWUsICcuJyApOwogICAgICAgIGlmKCAkcCApIHsKICAgICAgICAgICAgJHBhcmFtc1snaW5wdXRfc3VtbWFyeSddID0gc3Vic3RyKCAkZGVzdG5hbWUsIDAsICRwICk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkcGFyYW1zWydpbnB1dF9zdW1tYXJ5J10gPSAkZGVzdG5hbWU7CiAgICAgICAgfQogICAgfQoKICAgIC8vIGNoZWNrIHRoZSBjYXRlZ29yeQogICAgJGRicmVzdWx0ID0gIiI7CiAgICAkcm93ID0gYXJyYXkoKTsKICAgICR0bXAgPSBcY2dlX3BhcmFtOjpnZXRfc3RyaW5nKCRwYXJhbXMsJ2NhdGVnb3J5Jyk7CiAgICAkdG1wID0gXGNnZV9wYXJhbTo6Z2V0X2ludCgkcGFyYW1zLCdjYXRlZ29yeV9pZCcsKGludCkkdG1wKTsKICAgIGlmKCAkdG1wICkgJHJvdyA9IHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yeSgkdG1wKTsKICAgIGlmICghJHJvdykgcmV0dXJuIGFycmF5KCBGQUxTRSwgJG1vZC0+TGFuZygnZXJyb3JfaW52YWxpZGNhdGVnb3J5JykgKTsKICAgICRjYXRlZ29yeV9pZCA9ICRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9pZCddOwogICAgJGNhdGVnb3J5X25hbWUgPSAkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfbmFtZSddOwoKICAgIC8vIG5vdyBkbyB0aGUgdXBsb2FkLCBob3BlZnVsbHkKICAgIC8vIGZpcnN0IHRoZSBmaWxlIGl0c2VsZi4KICAgICRkaXIgPSAkbW9kLT5fY2F0ZWdvcnlQYXRoKCRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9wYXRoJ10pOwogICAgJHJlc3VsdCA9ICRtb2QtPl9oYW5kbGVVcGxvYWQgKCRkaXIsJGZpZWxkbmFtZSxmYWxzZSwkZGVzdG5hbWUsIHRydWUsJHJlcGxhY2VfZXhpc3RpbmcsJGZpbGVQcmVmaXgpOwogICAgaWYgKCEkcmVzdWx0WzBdKSByZXR1cm4gYXJyYXkoIEZBTFNFLCAkcmVzdWx0WzFdICk7CiAgICAkZGVzdG5hbWUgPSAkcmVzdWx0WzFdWyduYW1lJ107CgogICAgLy8gY2hlY2sgZm9yIGFuIGV4aXN0aW5nIGRhdGFiYXNlIGVudHJ5CiAgICAkcXVlcnkgPSAiU0VMRUNUIHVwbG9hZF9pZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2FkcyBXSEVSRSB1cGxvYWRfbmFtZSA9ID8gQU5ECXVwbG9hZF9jYXRlZ29yeV9pZCA9ID8iOwogICAgJHRtcF9pZCA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoICRkZXN0bmFtZSwgJGNhdGVnb3J5X2lkICkgKTsKCiAgICAkZmlsZWlkID0gJyc7CiAgICBpZiggJHJlcGxhY2VfZXhpc3RpbmcgPT09IGZhbHNlICYmICR0bXBfaWQgKSB7CiAgICAgICAgcmV0dXJuIGFycmF5KCBGQUxTRSwgJG1vZC0+TGFuZygnZXJyb3JfZmlsZWV4aXN0cycpICk7CiAgICB9CiAgICBlbHNlIGlmICgkdG1wX2lkKSB7CiAgICAgICAgLy8gd2UncmUgYWxsb3dpbmcgb3ZlcndyaXRlCiAgICAgICAgJGZpbGVpZCA9ICR0bXBfaWQ7CiAgICAgICAgJHJlcGxhY2VfZXhpc3RpbmcgPSB0cnVlOwoKICAgICAgICAvLyBkZWxldGUgZmllbGQgZGVmaW5pdGlvbnMuCiAgICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZHZhbHMgV0hFUkUgdXBsb2FkX2lkID0gPyc7CiAgICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdG1wX2lkKSk7CiAgICB9CgogICAgLy8gY3JlYXRlIGEgbmV3IHVwbG9hZCBpZCBoZXJlLgogICAgaWYoICRmaWxlaWQgPT0gJycgKSAkbmV3aWQgPSAkZGItPkdlbklEIChjbXNfZGJfcHJlZml4ICgpLiJtb2R1bGVfdXBsb2Fkc19zZXEiKTsKCiAgICAvLyBhbmQgdGhlbiBtYXliZSB0aGUgdGh1bWJuYWlsCiAgICAkdGh1bWJfbmFtZSA9ICcnOwogICAgaWYoIGlzc2V0KCAkX0ZJTEVTWyRpZC4naW5wdXRfdGh1bWJuYWlsJ11bJ25hbWUnXSApICYmICRfRklMRVNbJGlkLidpbnB1dF90aHVtYm5haWwnXVsnbmFtZSddICE9ICcnICYmCiAgICAgICAgJF9GSUxFU1skaWQuJ2lucHV0X3RodW1ibmFpbCddWydzaXplJ10gPiAwKSB7CiAgICAgICAgLy8gYnVpbGQgdGhlIHRodW1ibmFpbCBuYW1lCiAgICAgICAgJHRodW1iX2V4dGVuc2lvbiA9IHN0cnRvbG93ZXIoc3RycmNocigkX0ZJTEVTWyRpZC4naW5wdXRfdGh1bWJuYWlsJ11bJ25hbWUnXSwnLicpKTsKICAgICAgICAkZmlsZWV4dGVuc2lvbiA9IHN0cnRvbG93ZXIoc3RycmNocigkZGVzdG5hbWUsJy4nKSk7CiAgICAgICAgJGZpbGVuYW1ld29leHQgPSBzdWJzdHIoJGRlc3RuYW1lLDAsc3RybGVuKCRkZXN0bmFtZSktc3RybGVuKCRmaWxlZXh0ZW5zaW9uKSk7CiAgICAgICAgJHRodW1iX25hbWUgPSAndGh1bWJfJy4kZmlsZW5hbWV3b2V4dC4kdGh1bWJfZXh0ZW5zaW9uOwoKICAgICAgICAkZmlkID0gJGZpbGVpZDsKICAgICAgICBpZiggJGZpZCA9PSAnJyApIHsKICAgICAgICAgICAgJGZpZCA9ICRuZXdpZDsKICAgICAgICB9CiAgICAgICAgJHJlc3VsdDIgPSAkbW9kLT5faGFuZGxlVXBsb2FkICgkZGlyLCAkaWQuJ2lucHV0X3RodW1ibmFpbCcsZmFsc2UsJHRodW1iX25hbWUsIGZhbHNlLCRyZXBsYWNlX2V4aXN0aW5nLCRmaWxlUHJlZml4KTsKICAgICAgICBpZiAoISRyZXN1bHQyWzBdKSB7CiAgICAgICAgICAgIC8vIHVoLW9oLCB0aGUgc2Vjb25kIHVwbG9hZCBmYWlsZWQuLi4uIG5vdyB3ZSd2ZSBnb3R0YQogICAgICAgICAgICAvLyBkZWxldGUgdGhlIGZpcnN0IGZpbGUgdG8gYXZvaWQgYW55IGNvcnJ1cHRpb24KICAgICAgICAgICAgLy8gdG9kbwogICAgICAgICAgICB1bmxpbmsoICRyZXN1bHRbMV1bJ2RpciddLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHJlc3VsdFsxXVsnbmFtZSddICk7CiAgICAgICAgICAgIHJldHVybiBhcnJheSggRkFMU0UsICRyZXN1bHQyWzFdICk7CiAgICAgICAgfQogICAgfQoKICAgIC8vIGNsZWFuIGlucHV0IHZhbHVlcwogICAgJHBhcmFtc1snaW5wdXRfc3VtbWFyeSddID0gc3RyaXBfdGFncyhjbXNfaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbJ2lucHV0X3N1bW1hcnknXSkpOwoKICAgIC8vIGFwcGFyZW50bHkgdGhlIHVwbG9hZCBzdWNjZWVkZWQsIG5vdyB3ZSBoYXZlIHRvIGxvZyBpdCBpbnRvIHRoZSBkYXRhYmFzZQogICAgJGRlc2MgPSAiIjsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZGVzY3JpcHRpb24nXSApICkgJGRlc2MgPSAkcGFyYW1zWydpbnB1dF9kZXNjcmlwdGlvbiddOwogICAgJGRlc2MgPSBjZ2VfdXRpbHM6OmNsZWFuX2lucHV0X2h0bWwoY21zX2h0bWxfZW50aXR5X2RlY29kZSgkZGVzYykpOwoKICAgICR1c2VycGVybXMgPSAnJzsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF91c2VycGVybXMnXSkgJiYgaXNfYXJyYXkoJHBhcmFtc1snaW5wdXRfdXNlcnBlcm1zJ10pICkgJHVzZXJwZXJtcyA9IGltcGxvZGUoJywnLCRwYXJhbXNbJ2lucHV0X3VzZXJwZXJtcyddKTsKICAgICRhdWRpdF9tc2cgPSAnJzsKICAgIGlmKCAkZmlsZWlkID09ICcnICkgewogICAgICAgICRxdWVyeSA9CiAgICAgICAgICAgICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXggKCkuIm1vZHVsZV91cGxvYWRzCiAgICAgICAgICAgKHVwbG9hZF9pZCx1cGxvYWRfY2F0ZWdvcnlfaWQsdXBsb2FkX25hbWUsdXBsb2FkX2F1dGhvciwKICAgICAgICAgICAgdXBsb2FkX3N1bW1hcnksdXBsb2FkX2Rlc2NyaXB0aW9uLHVwbG9hZF9pcCx1cGxvYWRfc2l6ZSwKICAgICAgICAgICAgdXBsb2FkX2RhdGUsIHVwbG9hZF9rZXksIHVwbG9hZF90aHVtYm5haWwsIHVwbG9hZF91c2VycGVybXMpCiAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPyw/LD8sPykiOwogICAgICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSAoJHF1ZXJ5LAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkgKCRuZXdpZCwkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSwkZGVzdG5hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBhcmFtc1snaW5wdXRfYXV0aG9yJ10sJHBhcmFtc1snaW5wdXRfc3VtbWFyeSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkZXNjLGdldGVudiAoIlJFTU9URV9BRERSIiksICRyZXN1bHRbMV1bJ3NpemUnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmltKCRkYi0+REJUaW1lU3RhbXAgKHRpbWUgKCkpLCInIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHVrZXksJHRodW1iX25hbWUsJHVzZXJwZXJtcykpOwogICAgICAgICRhdWRpdF9tc2cgPSAnVXNlciAnLiRwYXJhbXNbJ2lucHV0X2F1dGhvciddLicgdXBsb2FkZWQgJy4kZGVzdG5hbWU7CiAgICB9CiAgICBlbHNlIHsKICAgICAgICAkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2FkcwogICAgICAgICAgICAgIFNFVCB1cGxvYWRfbmFtZSA9ID8sIHVwbG9hZF9hdXRob3IgPSA/LAogICAgICAgICAgICAgICAgICB1cGxvYWRfc3VtbWFyeSA9ID8sIHVwbG9hZF9kZXNjcmlwdGlvbiA9ID8sCiAgICAgICAgICAgICAgICAgIHVwbG9hZF9pcCA9ID8sIHVwbG9hZF9zaXplID0gPywgdXBsb2FkX2RhdGUgPSA/LAogICAgICAgICAgICAgICAgICB1cGxvYWRfa2V5ID0gPywgdXBsb2FkX3RodW1ibmFpbCA9ID8sIHVwbG9hZF91c2VycGVybXMgPSA/CiAgICAgICAgICAgICAgV0hFUkUgdXBsb2FkX2lkID0gPyI7CiAgICAgICAgJGRicmVzdWx0ID0JJGRiLT5FeGVjdXRlKCAkcXVlcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheSggJGRlc3RuYW1lLCAkcGFyYW1zWydpbnB1dF9hdXRob3InXSwgJHBhcmFtc1snaW5wdXRfc3VtbWFyeSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkZXNjLCBnZXRlbnYoICJSRU1PVEVfQUREUiIgKSwgJHJlc3VsdFsxXVsnc2l6ZSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCInIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHVrZXksICR0aHVtYl9uYW1lLCAkdXNlcnBlcm1zLCAkZmlsZWlkKSk7CiAgICAgICAgJG5ld2lkID0gJGZpbGVpZDsKICAgICAgICAkYXVkaXRfbXNnID0gJ1VzZXIgJy4kcGFyYW1zWydpbnB1dF9hdXRob3InXS4nIHJlcGxhY2VkICcuJGRlc3RuYW1lOwogICAgfQogICAgaWYoICEkZGJyZXN1bHQgKSB7CiAgICAgICAgcmV0dXJuIGFycmF5KCBGQUxTRSwgJG1vZC0+TGFuZygnZXJyb3JfZGJlcnJvcicpICk7CiAgICB9CgogICAgLy8gZG8gY3VzdG9tIGZpZWxkcy4KICAgICRpcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2ZpZWxkdmFscyAodXBsb2FkX2lkLCBmbGRfaWQsIHZhbHVlKSBWQUxVRVMgKD8sPyw/KSc7CiAgICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICAgIGlmKCAhc3RhcnRzd2l0aCgka2V5LCdmaWVsZF8nKSApIGNvbnRpbnVlOwoKICAgICAgICAkZmllbGRfaWQgPSAoaW50KXN1YnN0cigka2V5LDYpOwogICAgICAgIGlmKCBpc19hcnJheSggJHZhbHVlICkgKSAkdmFsdWUgPSBpbXBsb2RlKCcsJywkdmFsdWUpOwogICAgICAgICR2YWx1ZSA9IGNnZV91dGlsczo6Y2xlYW5faW5wdXRfaHRtbChjbXNfaHRtbF9lbnRpdHlfZGVjb2RlKCR2YWx1ZSkpOwogICAgICAgICR2YWx1ZSA9IHRyaW0oJHZhbHVlKTsKICAgICAgICAkZGItPkV4ZWN1dGUoJGlxdWVyeSxhcnJheSgkbmV3aWQsJGZpZWxkX2lkLCR2YWx1ZSkpOwogICAgfQoKICAgICRtb2QtPkF1ZGl0KCcnLCAkbW9kLT5HZXROYW1lKCksJGF1ZGl0X21zZyApOwoKICAgIC8vIHRoYXQgc2hvdWxkIGRvIHRoZSB0cmljawogICAgLy8gbm93IG1heWJlIHdlJ2xsIHNlbmQgYW4gZW1haWwKICAgICR0b19hZGRyZXNzID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc2VuZF91cGxvYWRfbm90aWZpY2F0aW9uc190bycpOwogICAgaWYoICR0b19hZGRyZXNzICYmICR0b19hZGRyZXNzICE9ICcnICkgewogICAgICAgIC8vIGZpbGwgb3V0IHRoZSB0ZW1wbGF0ZSwgYW5kIHNlbmQgYW4gZW1haWwKICAgICAgICAkY21zbWFpbGVyID0gJG1vZC0+R2V0TW9kdWxlSW5zdGFuY2UoICdDTVNNYWlsZXInICk7CiAgICAgICAgaWYoICEkY21zbWFpbGVyICkgewogICAgICAgICAgICAvLyB3ZSdyZSBub3QgZ29ubmEgcmV0dXJuIGFuIGVycm9yLCBidXQgcHV0CiAgICAgICAgICAgIC8vIGEgbWVzc2FnZSBpbnRvIHRoZSBhZG1pbiBsb2cKICAgICAgICAgICAgJG1vZC0+QXVkaXQoICcnLCAkbW9kLT5HZXROYW1lKCksJ0NvdWxkIG5vdCBmaW5kIENNU01haWxlciBtb2R1bGUnKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICRtb2QtPnNtYXJ0eS0+YXNzaWduKCduYW1lJywgJGRlc3RuYW1lICk7CiAgICAgICAgICAgICRtb2QtPnNtYXJ0eS0+YXNzaWduKCdzaXplJywgJHJlc3VsdFsxXVsnc2l6ZSddICk7CiAgICAgICAgICAgICRtb2QtPnNtYXJ0eS0+YXNzaWduKCdzdW1tYXJ5JywgJHBhcmFtc1snaW5wdXRfc3VtbWFyeSddICk7CiAgICAgICAgICAgICRtb2QtPnNtYXJ0eS0+YXNzaWduKCdkZXNjcmlwdGlvbicsICRkZXNjICk7CiAgICAgICAgICAgICRtb2QtPnNtYXJ0eS0+YXNzaWduKCdhdXRob3InLCAkcGFyYW1zWydpbnB1dF9hdXRob3InXSApOwogICAgICAgICAgICAkbW9kLT5zbWFydHktPmFzc2lnbignaXBfYWRkcmVzcycsIGdldGVudiAoIlJFTU9URV9BRERSIikgKTsKICAgICAgICAgICAgJGJvZHkgPSAkbW9kLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3VwbG9hZF9lbWFpbHRlbXBsYXRlJyk7CiAgICAgICAgICAgICR0bXAgPSBleHBsb2RlKCcsJywkdG9fYWRkcmVzcyk7CiAgICAgICAgICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApIHsKICAgICAgICAgICAgICAgICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoICRvbmUgKTsKICAgICAgICAgICAgfQogICAgICAgICAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCAkYm9keSApOwogICAgICAgICAgICAkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7CiAgICAgICAgICAgICRjbXNtYWlsZXItPlNldFN1YmplY3QoJG1vZC0+TGFuZygndXBsb2FkX25vdGlmaWNhdGlvbicpKTsKICAgICAgICAgICAgJGNtc21haWxlci0+U2VuZCgpOwogICAgICAgIH0KICAgIH0KCiAgICAvLyB1cGRhdGUgc2VhcmNoIHdvcmRzCiAgICAkc2VhcmNoID0gY21zX3V0aWxzOjpnZXRfc2VhcmNoX21vZHVsZSgpOwogICAgaWYoICRzZWFyY2ggKSB1cGxvYWRzX3V0aWxzOjppbmRleF91cGxvYWQoJG5ld2lkLCRzZWFyY2gpOwoKICAgIC8vIHNlbmQgYW4gZXZlbnQKICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAkcGFybXNbJ3VwbG9hZF9pZCddID0gJG5ld2lkOwogICAgJHBhcm1zWydjYXRlZ29yeXBhdGgnXSA9ICRkaXI7CiAgICAkcGFybXNbJ2NhdGVnb3J5J10gPSAkY2F0ZWdvcnlfbmFtZTsKICAgICRwYXJtc1snbmFtZSddID0gJGRlc3RuYW1lOwogICAgJHBhcm1zWydzaXplJ10gPSAkcmVzdWx0WzFdWydzaXplJ107CiAgICAkcGFybXNbJ3N1bW1hcnknXSA9ICRwYXJhbXNbJ2lucHV0X3N1bW1hcnknXTsKICAgICRwYXJtc1snZGVzY3JpcHRpb24nXSA9ICRkZXNjOwogICAgJHBhcm1zWydhdXRob3InXSA9ICRwYXJhbXNbJ2lucHV0X2F1dGhvciddOwogICAgJHBhcm1zWydpcF9hZGRyZXNzJ10gPSBnZXRlbnYoIlJFTU9URV9BRERSIik7CiAgICAkbW9kLT5TZW5kRXZlbnQoICJPblVwbG9hZCIsICRwYXJtcyApOwoKICAgIGlmKCAkZmlsZWlkID09ICcnICkgcmV0dXJuIGFycmF5KCBUUlVFLCAkbmV3aWQsICRkZXN0bmFtZSApOwogICAgcmV0dXJuIGFycmF5KCBUUlVFLCAkZmlsZWlkLCAkZGVzdG5hbWUgKTsKfQoKCi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgX2hhbmRsZVVwbG9hZCggJGRlc3REaXIsIGZpZWxkTmFtZSwgJG5hbWVDYWxsYmFjICkKICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQoKICBUaGlzIG1ldGhvZCBoYW5kbGVzIHZhbGlkYXRpbmcgdGhlIHVwbG9hZCBwYXJhbWV0ZXJzLCBhbmQgY29weWluZwogIHRoZSBmaWxlIGZyb20gaXQncyB0ZW1wb3JhcnkgbG9jYXRpb24gdG8gaXQncyBwZXJtYW5lbnQgbG9jYXRpb24uCiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX3VwbG9hZHNfaGFuZGxlVXBsb2FkICgmJG1vZCwgJGRlc3REaXIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGZpZWxkTmFtZSA9ICdfdXBsb2FkJywgJG5hbWVDYWxsYmFjayA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRkZXN0bmFtZSA9ICcnLCRlbmZvcmNlZXh0ZW5zaW9uID0gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkcmVwbGFjZV9leGlzdGluZyA9IGZhbHNlLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmaWxlbmFtZVByZWZpeCkKewogICAgLy9tYWtlIHN1cmUgc29tZXRoaW5nIGlzIHRoZXJlCiAgICBpZiAoIWlzc2V0ICgkX0ZJTEVTWyRmaWVsZE5hbWVdKSB8fCAhaXNzZXQgKCRfRklMRVMpCiAgICAJfHwgIWlzX2FycmF5ICgkX0ZJTEVTWyRmaWVsZE5hbWVdKSB8fCAhJF9GSUxFU1skZmllbGROYW1lXVsnbmFtZSddKSB7CgkJcmV0dXJuIGFycmF5IChmYWxzZSwgJG1vZC0+TGFuZygnZXJyb3Jfbm9maWxlc3VwbG9hZGVkJykpOwoJfQoKICAgIC8vbm9ybWFsaXplIHRoZSBmaWxlIHZhcmlhYmxlCiAgICAkZmlsZSA9ICRfRklMRVNbJGZpZWxkTmFtZV07CiAgICBpZiAoIWlzc2V0ICgkZmlsZVsndHlwZSddKSkgJGZpbGVbJ3R5cGUnXSA9ICcnOwogICAgaWYgKCFpc3NldCAoJGZpbGVbJ3NpemUnXSkpICRmaWxlWydzaXplJ10gPSAnJzsKICAgIGlmICghaXNzZXQgKCRmaWxlWyd0bXBfbmFtZSddKSkgJGZpbGVbJ3RtcF9uYW1lJ10gPSAnJzsKICAgICRmaWxlWyduYW1lJ10gPSB0cmltKCRmaWxlWyduYW1lJ10pOwogICAgLy8kZmlsZVsnbmFtZSddID0gcHJlZ19yZXBsYWNlKCcvXltcLlwkXCVcJ1xgXC1cQFx7XH1cflwhXCNcKFwpXCZcX1xeXS8nLCAnJywgc3RyX3JlcGxhY2UgKGFycmF5ICgnICcsICclMjAnKSwgYXJyYXkgKCdfJywgJ18nKSwgJGZpbGVbJ25hbWUnXSkpOwogICAgJGZpbGVbJ25hbWUnXSA9IG1iX2VyZWdfcmVwbGFjZSgnW15cd1xzXGRcLlwtX34sOzpcJVxAXCRcJ1x7XH1cI1wmXFtcXVwoXCldJywgJycsIHN0cl9yZXBsYWNlIChhcnJheSAoJyAnLCAnJTIwJyksIGFycmF5ICgnXycsICdfJyksICRmaWxlWyduYW1lJ10pKTsKCiAgICAvLyB2YWxpZGF0ZSB0aGUgZmlsZW5hbWUKICAgIGlmICghJG1vZC0+X2lzVmFsaWRGaWxlbmFtZSAoJGZpbGVbJ25hbWUnXSkpIHJldHVybiBhcnJheSAoZmFsc2UsICRtb2QtPkxhbmcgKCdlcnJvcl9pbnZhbGlkdXBsb2FkZmlsZW5hbWUnLCRmaWxlWyduYW1lJ10pKTsKCiAgICAvL3dhcyBpdCB0byBiaWc/CgkkY29uZmlnID0gXGNtc19jb25maWc6OmdldF9pbnN0YW5jZSgpOwoJJG1heEZpbGVTaXplID0gKGludCkgJGNvbmZpZ1snbWF4X3VwbG9hZF9zaXplJ107CiAgICBpZiggJG1heEZpbGVTaXplICYmICRmaWxlWydzaXplJ10gPiAkbWF4RmlsZVNpemUgKSByZXR1cm4gYXJyYXkgKGZhbHNlLCAkbW9kLT5MYW5nICgnZXJyb3JfZmlsZXRvb2xhcmdlJykpOwoKICAgIC8vbm9ybWFsaXplIGRlc3REaXIKICAgIGlmIChzdHJsZW4gKCRkZXN0RGlyKSA+IDAgJiYgJGRlc3REaXJbc3RybGVuICgkZGVzdERpcikgLSAxXSAhPSAiLyIpICRkZXN0RGlyID0gJGRlc3REaXIuJy8nOwoKICAgIC8vIGdldCB0aGUgZGVzdGluYXRpb24gbmFtZSAoaWYgd2UgZG9uJ3QgYWxyZWFkeSBoYXZlIG9uZSkKICAgIGlmKCAhJGRlc3RuYW1lICkgJGRlc3RuYW1lID0gJGZpbGVbJ25hbWUnXTsKCgkvLyBhbmQgb3B0aW9uYWxseSBhZGQgYSBwcmVmaXgKCSRkZXN0bmFtZSA9ICRmaWxlbmFtZVByZWZpeC4kZGVzdG5hbWU7CgogICAgLy9zaG91bGQgd2UgY2hhbmdlIHRoZSBmaWxlbmFtZSB2aWEgYSBjYWxsYmFjaz8KICAgIGlmICgkbmFtZUNhbGxiYWNrKSAkZGVzdG5hbWUgPSBjYWxsX3VzZXJfZnVuY19hcnJheSAoJG5hbWVDYWxsYmFjaywgYXJyYXkgKCRmaWxlLCAkZGVzdERpcikpOwoKICAgIC8vIGFuZCBjbGVhbiBpdCB1cAogICAgJGRlc3RuYW1lID0gbWJfZXJlZ19yZXBsYWNlKCdbXlx3XHNcZFwuXC1ffiw7OlwlXEBcJFwnXHtcfVwjXCZcW1xdXChcKV0nLCAnJywgc3RyX3JlcGxhY2UgKGFycmF5ICgnICcsICclMjAnKSwgYXJyYXkgKCdfJywgJ18nKSwgJGRlc3RuYW1lKSk7CiAgICBpZiggJHJlcGxhY2VfZXhpc3RpbmcgPT0gZmFsc2UgKSB7CgkJaWYoIGZpbGVfZXhpc3RzKCAkZGVzdERpci4kZGVzdG5hbWUgKSAmJiAkcmVwbGFjZV9leGlzdGluZyA9PSBmYWxzZSApIHsKCQkJcmV0dXJuIGFycmF5KCBmYWxzZSwgJG1vZC0+TGFuZyggJ2Vycm9yX2ZpbGVleGlzdHMnLCAkZGVzdERpci4kZGVzdG5hbWUgKSk7CgkJfQoJfQogICAgZWxzZSB7CgkJLy8gcmVwbGFjaW5nIGFuIGV4aXN0aW5nIGZpbGUKCQkvLyBkZWxldGUgaXQgZmlyc3QsIHNvIHRoZSBjb3B5IHdpbGwgc3VjY2VlZC4KCQlAdW5saW5rKCRkZXN0RGlyLiRkZXN0bmFtZSk7Cgl9CgogICAgLy9hbmQgbm93IHRoZSBiaWcgbW9tZW50CiAgICBpZiAoIUBjb3B5ICgkZmlsZVsndG1wX25hbWUnXSwgJGRlc3REaXIuJGRlc3RuYW1lKSkgewoJCXJldHVybiBhcnJheSAoZmFsc2UsICRtb2QtPkxhbmcgKCdlcnJvcl9jb3VsZG5vdHdyaXRlJykuICc6Jm5ic3A7Jy4kZmlsZVsnbmFtZSddLiIgLT4gIi4kZGVzdERpciAuICRkZXN0bmFtZSAuICIgIi4gJG1vZC0+TGFuZyAoJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnKSk7Cgl9CiAgICBlbHNlIHsKCQlyZXR1cm4gYXJyYXkgKHRydWUsIGFycmF5KCduYW1lJyA9PiAkZGVzdG5hbWUsICdzaXplJyA9PiAkZmlsZVsnc2l6ZSddLAknZGlyJyA9PiAkZGVzdERpciApKTsKCX0KfQoKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPkl0IGlzIGEgbW9kdWxlIGZvciBhbGxvd2luZyBwZW9wbGUgdG8gdXBsb2FkIGFuZCBkb3dubG9hZCBmaWxlcyB0byBhbmQgZnJvbSB5b3VyIHNpdGUuICBJdCBrZWVwcyB0cmFjayBvZiB3aG8gdXBsb2FkZWQgYSBmaWxlLCBhbmQgd2hvIGhhcyBkb3dubG9hZGVkIGl0LiAgQXMgd2VsbCwgeW91IGNhbiBzb3J0IGZpbGVzIGludG8gY2F0ZWdvcmllcywgYW5kIG1hbmFnZSB0aGUgZmlsZXMgdGhhdCB3ZXJlIHVwbG9hZGVkIGxpa2UgZXZlcnkgYWRtaW5pc3RyYXRvciB3b3VsZCBkbzwvcD4KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+CjxwPlRvIHVzZSB0aGlzIG1vZHVsZSwgdG8gYWxsb3cgdXNlcnMgdG8gdXBsb2FkIGZpbGVzIHRvIHlvdXIgc2l0ZSwgeW91IHNob3VsZCBpbnN0YWxsIHRoZSBtb2R1bGUsIGFuZCB0aGVuIGNyZWF0ZSBvbmUgb3IgbW9yZSBjYXRlZ29yaWVzIChhLmsuYSkgZGlyZWN0b3JpZXMgZm9yIHRoZSB1cGxvYWRlZCBmaWxlcyB0byBnbyBpbnRvLiBUaGVuIGFkZCBhIHRhZyBpbnRvIGEgcGFnZSBvciB0ZW1wbGF0ZSBzb21ld2hlcmUgbGlrZSB7Y21zX21vZHVsZSBtb2R1bGU9IlVwbG9hZHMiIGNhdGVnb3J5PSJzb21lY2F0ZWdvcnkiIGFjdGlvbj0ic29tZXRoaW5nIn0uICBXaGVyZSB0aGUgYWN0aW9uIG1hdGNoZXMgb25lIG9mIHRoZSBhY3Rpb25zIGxpc3RlZCBiZWxvdy4gIFRoZSBvdXRwdXQgd2lsbCBkaWZmZXIgZGVwZW5kaW5nIHVwb24gd2hpY2ggYWN0aW9uIHlvdSBzZWxlY3QuPC9wPgo8cD5UaGlzIG1vZHVsZSBjYW4gdXNlIHRoZSBGcm9udGVuZFVzZXJzIG1vZHVsZSAob3B0aW9uYWwpIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCBhbnkgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VycyB0byBwYXJ0bHkgZmlsbCBpbiB0aGUgZm9ybSB3aGVuIHVwbG9hZGluZyBmaWxlczs8L3A+CjxoMz5QZXJtaXNzaW9uczwvaDM+Cjx1bD4KPGxpPjxlbT5NYW5hZ2UgVXBsb2FkczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIHRvIG1hbmFnZSBjYXRlZ29yaWVzLCBhbmQgdGhlIGZpbGVzIHdpdGhpbiB0aGVtLjwvbGk+CjxsaT48ZW0+TW9kaWZ5IFRlbXBsYXRlczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIGVkaXQgYW55IG9mIHRoZSB0ZW1wbGF0ZXMuPC9saT4KPGxpPjxlbT5Nb2RpZnkgU2l0ZSBQcmVmZXJlbmNlczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIGFueSBvZiB0aGUgZmlsZSBzZXR0aW5ncy48L2xpPgo8L3VsPgo8aDM+Q2F0ZWdvcnkgQnJvd3Npbmc8L2gzPgo8cD5QbGFjaW5nIGEgdGFnIGxpa2Uge2Ntc19tb2R1bGUgbW9kdWxlPSJVcGxvYWRzIiBhY3Rpb249ImNhdGVnb3J5c3VtbWFyeSIgdGVtcGxhdGU9InN1bW1hcnl0ZW1wbGF0ZSIgc29ydG9yZGVyPSJuYW1lX2FzYyIgbGlzdGluZ3RlbXBsYXRlPSJsaXN0dGVtcGxhdGUiIGxpc3Rpbmdzb3J0b3JkZXI9Imxpc3Rzb3J0b3JkZXIifQphbGxvd3MgeW91IHRvIGRpc3BsYXkgYW4gaW50ZXJhY3RpdmUgY2F0ZWdvcnkgYnJvd3Nlci4gc29ydG9yZGVyIGNhbiBiZTogbmFtZV9hc2MsIG5hbWVfZGVzYywgc3VtbV9hc2MsIHN1bW1fZGVzYywgb3IgcmFuZG9tLgpsaXN0aW5ndGVtcGxhdGUgYW5kIGxpc3Rpbmdzb3J0b3JkZXIgYXJlIGlkZW50aWNhbCB0byB0aGUgdGVtcGxhdGUgYW5kIHNvcnRvcmRlciBwYXJhbWV0ZXJzIGZvcgp0aGUgInN1bW1hcnkiIGFjdGlvbi48L3A+CjxoMz5BdXRvbWF0aWMgU2Nhbm5pbmc8L2gzPgo8cD5UaGlzIG1vZHVsZSB3aWxsIGF1dG9tYXRpY2FsbHkgc2NhbiBmb3IgbmV3IGZpbGVzIGluIGEgZGlyZWN0b3J5IHdoZW4gYSBzdW1tYXJ5IHZpZXcgZm9yIGEgc3BlY2lmaWMgY2F0ZWdvcnkgaXMgdXNlZCBvbiBhIENNU01TIHBhZ2UuICBpLmU6IDxjb2RlPntVcGxvYWRzIGNhdGVnb3J5PWNhdGVnb3J5X25hbWV9PC9jb2RlPiB3aWxsIHBlcmZvcm0gYSBzY2FuLiAgYnV0IDxjb2RlPntVcGxvYWRzIGNhdGVnb3J5PWFsbH08L2NvZGU+IHdpbGwgbm90LjwvcD4KCjxoMz5Zb3UgU2VuZCBJdDwvaDM+CjxwPkl0IGlzIHBvc3NpYmxlIHRvIGVuYWJsZSAmcXVvdDt5b3VzZW5kaXQmcXVvdDsgbGlrZSBmdW5jdGlvbmFsaXR5IHRvIGFsbG93IGF1dG9tYXRpY2FsbHkgZW1haWxpbmcgc2VsZWN0ZWQgcGVvcGxlIHdpdGggYSBsaW5rIHRvIGEgbmV3bHkgdXBsb2FkZWQgZmlsZS4gIFRoaXMgaXMgYWNjb21wbGlzaGVkIGJ5IHVzaW5nIGEgdGFnIGxpa2U6IDxjb2RlPntVcGxvYWRzIGFjdGlvbj15b3VzZW5kaXQgY2F0ZWdvcnk9Y2F0ZWdvcnluYW1lfTwvY29kZT4uICBUaGlzIHdpbGwgZGlzcGxheSBhIGZvcm0gYWxsb3dpbmcgdGhpcyBmdW5jdGlvbmFsaXR5LjwvcD4KPGgzPlRpbWUgTGltaXRlZCBBY2Nlc3M8L2gzPgo8cD5UaGlzIG1vZHVsZSBzdXBwb3J0cyB0aGUgbm90aW9uIG9mIHVuaXF1ZSBrZXlzIHRvIGFsbG93IHRpbWUgbGltaXRlZCBhY2Nlc3MgdG8gY2VydGFpbiBmaWxlcy4gIFRoZSBmdW5jdGlvbmFsaXR5IGFsbG93cyBzcGVjaWZ5aW5nIGEgdGltZSBsaW1pdCAoaW4gaG91cnMpIGZvciB3aGljaCB0aGUga2V5IGlzIHZhbGlkLCBhbmQgYSBtYXhpbXVtIG51bWJlciBvZiBkb3dubG9hZHMgb3IgZG93bmxvYWQgYXRlbXB0cy4gIEFuIGVtYWlsIGlzIHNlbnQgdG8gdGhlIGRlc2lyZWQgdXNlcnMgd2l0aCB0aGUgdW5pcXVlIFVSTC4gIEFmdGVyIHRoZSB0aW1lIGxpbWl0LCBvciB0aGUgbnVtYmVyIG9mIGRvd25sb2FkcyBoYXMgYmVlbiByZWFjaGVkLCB0aGUgVVJMIGlzIG5vIGxvbmdlciB2YWxpZC4gIFRoZXNlIHVuaXF1ZSB0aW1lIGxpbWl0ZWQga2V5cyBhcmUgYXV0b21hdGljYWxseSByZW1vdmVkIGZyb20gdGhlIGRhdGFiYXNlIGFmdGVyIGV4cGlyeS48L3A+CjxoMz5SZXN0cmljaW5nIEFjY2VzcyB3aXRoIEZFVTwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGNhcGFibGUgb2YgaW50ZWdyYXRpbmcgd2l0aCB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdG8gcmVzdHJpY3QgdGhlIHZpc2liaWxpdHkgb2YgY2F0ZWdvcmllcyAoZGlyZWN0b3JpZXMpIHRvIGNlcnRhaW4gYWxsb3dlZCBGRVUgZ3JvdXBzLiAgWW91ciB1c2VycyB3b3VsZCBoYXZlIHRvIGJlIGxvZ2dlZCBpbiB0byB5b3VyIHdlYnNpdGUgKHVzaW5nIEZFVSkgYW5kIGFsc28gYSBtZW1iZXIgb2Ygb25lIG9mIHRoZSBhbGxvd2VkIGdyb3VwcyB0byBvYnRhaW4gYWNjZXNzLiAgVGhpcyBpcyBhY2NvbXBsaXNoZWQgaW4gdGhlIGNhdGVnb3J5IGVkaXQgZm9ybS4gIFlvdSBjYW4gc2VsZWN0IGEgbGlzdCBvZiBGRVUgZ3JvdXBzIHdoaWNoIGFyZSBhbGxvd2VkIHRvIHZpZXcgZmlsZXMgaW4gdGhpcyBjYXRlZ29yeS48L3A+CjxwPlRoaXMgZnVuY3Rpb25hbGl0eSBhbHNvIGFwcGxpZXMgdG8gdGhlICZxdW90VGltZSBMaW1pdGVkIEFjY2VzcyZxdW90IGZ1bmN0aW9uYWxpdHkuICBBbGxvd2luZyB5b3UgdG8gc3BlY2lmeSB0aGF0IGNlcnRhaW4gcGVvcGxlLCB3aG8gYWxzbyBoYXZlIHRvIGJlIGxvZ2dlZCBpbiB0byB5b3VyIHdlYnNpdGUgY2FuIGhhdmUgYWNjZXNzIHRvIGNlcnRhaW4gZmlsZXMgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZS48L3A+CjxoMz5FbWFpbGluZzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGNhcGFibGUgb2Ygc2VuZGluZyBhbiBlbWFpbCB3aGVuZXZlciBhIGZpbGUgaXMgdXBsb2FkZWQsIHNlZSB0aGUgcHJlZmVyZW5jZXMgdGFiLiAgSG93ZXZlciwgdG8gZG8gdGhpcyB0aGUgPGI+Q01TTWFpbGVyPC9iPiBwYQpja2FnZSBtdXN0IGJlIGluc3RhbGxlZCBhbmQgY29uZmlndXJlZC4gIFRoaXMgaXMgYW4gPGVtPm9wdGlvbmFsPC9lbT4gc3RlcCwgYW5kIGlmIHRoZSBDTVNNYWlsZXIgbW9kdWxlIGlzIG5vdCBpbnN0YWxsZWQsIG5vdGhpbmcgd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIsIG9ubHkgYSBsb2cgbWVzc2FnZSB3aWxsIGJlIHBsYWNlZCBpbnRvIHRoZSBhZG1pbiBsb2c8L3A+CjxoMz5SZXBvcnRpbmc8L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIGZsZXhpYmxlIHJlcG9ydGluZyBtZWNoYW5pc20gZm9yIHZpZXdpbmcgc3RhdGlzdGNzIGFib3V0IGhvdyBhIGZpbGUgc2hhcmVkIHdpdGggdGhlIFVwbG9hZHMgbW9kdWxlIHdhcyBkb3dubG9hZGVkLiAgSXQgaW5jbHVkZXMgdGhlIGFiaWxpdHkgdG8gY3VzdG9taXplIHJlcG9ydCB0ZW1wbGF0ZXMsIG91dHB1dCBmaWVsZHMgYW5kIGZpbHRlcmluZy4gIEZpbHRlcmluZyBpcyBwZXJtaXR0ZWQgYnkgVXBsb2FkcyBjYXRlZ29yeSwgZmlsZW5hbWUsIGRvd25sb2FkIHVzZXIgbmFtZSwgb3IgdXNlcm5hbWUgcGF0dGVybiwgYW5kIGJ5IGRhdGUuICBIVE1MIHJlcG9ydHMgY2FuIGJlIGdlbmVyYXRlZCBpbiB0aGUgYnJvd3NlciB3aW5kb3csIG9yIGVtYWlsbGVkLiAgQWRkaXRpb25hbGx5IHRoZSByZXBvcnRpbmcgZnVuY3Rpb25hbGl0eSBzdXBwb3J0cyBDU1YgZXhwb3J0LjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBJdCBpcyBpbXBvcnRhbnQgdG8gbm90ZSB0aGF0IHRoZSBhYmlsaXR5IHRvIHNlbGVjdCBvdXRwdXQgZmllbGRzIGluIHRoZSByZXBvcnRzIG1heSBnZW5lcmF0ZSBzb21lIGNvbmZ1c2luZyBvdXRwdXQgZGVwZW5kaW5nIHVwb24gdGhlIGZpZWxkcyBjaG9zZW4gYW5kIHRoZSByZXBvcnQgdHlwZS4gIGkuZTogaW4gYSBzdW1tYXJ5IHJlcG9ydCBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvIGRpc3BsYXkgZmllbGRzIGxpa2UgZG93bmxvYWQgdXNlcm5hbWUuICBXaGVyZWFzIGluIGEgZGV0YWlsIHJlcG9ydCBpdCBkb2VzIG5vdCB1c3VhbGx5IG1ha2Ugc2Vuc2UgdG8gZGlzcGxheSB0aGUgbnVtYmVyIG9mIGRvd25sb2Fkcy4gIFVzZSBjYXV0aW9uIHdoZW4gZ2VuZXJhdGluZyByZXBvcnRzLjwvcD4KPHVsPgogIDxsaT5Eb3dubG9hZHMgYnkgVXNlcgogICAgPHVsPgogICAgICA8bGk+U3VtbWFyeQogICAgICAgIDxwPlRoaXMgcmVwb3J0IGdlbmVyYXRlcyBvbmUgbGluZSBwZXIgbWF0Y2hpbmcgdXNlciAodXNlciB3aG8gZG93bmxvYWRlZCBzb21ldGhpbmcpLiAgSXQgaXMgZ3JlYXQgZm9yIGRpc3BsYXlpbmcgaG93IG11Y2ggYSB1c2VyIGRvd25sb2FkZWQsIGFuZCB0aGUgbGFzdCB0aW1lIHRoZXkgZG93bmxvYWRlZCBhbnl0aGluZy48L3A+CiAgICAgIDwvbGk+CiAgICAgIDxsaT5EZXRhaWwKICAgICAgICA8cD5UaGlzIHJlcG9ydCBnZW5lcmF0ZXMgb25lIGxpbmUgcGVyIGRvd25sb2FkLiAgSXQgZGV0YWlscyB3aGF0IHRoZSBzZWxlY3RlZCB1c2VycyBkb3dubG9hZGVkLCBhbmQgd2hlbi48L3A+CiAgICAgIDwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPkRvd25sb2FkcyBieSBGaWxlCiAgICA8dWw+CiAgICAgIDxsaT5TdW1tYXJ5CiAgICAgICAgPHA+VGhpcyByZXBvcnQgZ2VuZXJhdGVzIG9uZSBsaW5lIHBlciBtYXRjaGluZyBmaWxlLiAgSXQgZ3JvdXBzIGV2ZXJ5dGhpbmcgYnkgdGhlIGZpbGUuICBJdCBpcyB1c2VkIGZvciBkaXNwbGF5aW5nIGhvdyBtYW55IHRpbWVzIGEgZmlsZSB3YXMgZG93bmxvYWRlZC48L3A+CiAgICAgIDwvbGk+CiAgICAgIDxsaT5EZXRhaWwKICAgICAgICA8cD5UaGlzIHJlcG9ydCBnZW5lcmF0ZXMgb25lIGxpbmUgcGVyIGRvd25sb2FkLiAgSXQgZGV0YWlscyB3aG8gZG93bmxvYWRlZCB0aGUgc2VsZWN0ZWQgZmlsZXMsIGFuZCB3aGVuLjwvcD4KICAgICAgPC9saT4KICAgIDwvdWw+CiAgPC9saT4KPC91bD4KPGgzPkZpbGUgSW5kZXhpbmc6PC9oMz4KPHA+VGhpcyBtb2R1bGUgc3VwcG9ydHMgaW5kZXhpbmcgdGhlIHdvcmRzIG91dCBvZiB0ZXh0IGFuZCBQREYgZG9jdW1lbnRzIGFuZCBhZGRpbmcgdGhlIHdvcmRzIHRvIHRoZSBzZWFyY2ggaW5kZXggb2YgdGhlIGN1cnJlbnQgc2VhcmNoIG1vZHVsZS4gIEluZGV4aW5nIHRleHQgYW5kIFBERiBmaWxlcyBjYW4gYmUgYSB0aW1lIGNvbnN1bWluZyBhbmQgbWVtb3J5IGludGVuc2l2ZSBvcGVyYXRpbiAocGFydGljdWxhcmx5IGZvciBsYXJnZSBmaWxlcykgc28gc29tZSBzcGVjaWFsIGJlaGF2aW9yIGhhcyBiZWVuIGFkZGVkIHRvIGhvcGVmdWxseSBhY2NvbW9kYXRlIG1vc3Qgc2l0ZXM8L3A+Cjx1bD4KICA8bGk+RG9jdW1lbnRzIHdpbGwgbm90IGJlIGFkZGVkIHRvIHRoZSBzZWFyY2ggaW5kZXggdmlhIHRoZSBhdXRvbWF0aWMgc2Nhbm5pbmcgcHJvY2Vzcy4gIFRoZXJlZm9yZSB1cGxvYWRpbmcgZmlsZXMgdmlhIEZUUCB0byB0aGUgY2F0ZWdvcnkgZGlyZWN0b3J5IHdpbGwgYWxsb3cgdGhlIGZpbGUgdG8gYmUgZG93bmxvYWRlZCBhbmQgc2VudCBieSBjdXN0b21lcnMsIGJ1dCB0aGUgZmlsZSB3aWxsIG5vdCBiZSBpbmRleGVkIGJ5IHRoZSBzZWFyY2ggZW5naW5lLjwvbGk+CiAgPGxpPlRoZSBpbmRleGluZyBwcm9jZXNzIGZvciBUZXh0IGZpbGVzIGlzIGxpbWl0ZWQgdG8gdGhlIGZpcnN0IDEwLDAwMCB3b3JkcywgNTAwMCBsaW5lcywgb3IgMTUgc2Vjb25kcyBvZiBwcm9jZXNzaW5nICh3aGljaGV2ZXIgb2NjdXJzIGZpcnN0KS48L2xpPgogIDxsaT5UaGUgaW5kZXhpbmcgcHJvY2VzcyBmb3IgUERGIGZpbGVzIGlzIGxpbWl0ZWQgdG8gdGhlIGZpcnN0IDEwLDAwMCB3b3JkcywgMTAwIHBhZ2VzLCBvciAxNSBzZWNvbmRzIG9mIHByb2Nlc3NpbmcgKHdoaWNoZXZlciBvY2N1cnMgZmlyc3QpLjwvbGk+CiAgPGxpPkVkaXRpbmcgdGhlIHVwbG9hZCB3aWxsIGFsbG93IHRoZSB0ZXh0IGFuZCBwZGYgZmlsZXMgdG8gYmUgaW5kZXhlZC48L2xpPgogIDxsaT5UaGUgc2NhbiBidXR0b24gaW4gdGhlIGFkZC9lZGl0IGNhdGVnb3J5IHBhbmVscyB3aWxsIGFsbG93IHRoZSB0ZXh0IGFuZCBQREYgZmlsZXMgdG8gYmUgaW5kZXhlZC4gIFRoaXMgb3BlcmF0aW9uIGNvdWxkIHRha2UgYSBjb25zaWRlcmFibGUgYW1vdW50IG9mIHRpbWUgYW5kIHNlcnZlciByZXNvdXJjZXMuPC9saT4KICA8bGk+VGhpcyBtb2R1bGUgaW1wbGVtZW50cyBpbmRleGluZyBvZiB0ZXh0IGFuZCBwZGYgZmlsZXMgd2hlbiByZS1pbmRleGluZyBhbGwgY29udGVudC4gIFRoaXMgb3BlcmF0aW9uIGNvdWxkIHRha2UgYSBncmVhdCBkZWFsIG9mIHRpbWUgKG1pbnV0ZXMgb3IgaG91cnMpIGFuZCBzZXJ2ZXIgcmVzb3VyY2VzIGRlcGVuZGluZyB1cG9uIHRoZSBhbW91bnQgb2YgZmlsZXMgc3RvcmVkIHdpdGhpbiB0aGUgVXBsb2FkcyBtb2R1bGUsIHRoZWlyIHNpemUsIGFuZCB0aGUgdmFyaW91cyBvcHRpb25zLjwvbGk+CjwvdWw+CjxwPlRoZSB3b3JkLCBsaW5lLCBwYWdlLCBhbmQgdGltZSBsaW1pdHMgZGVzY3JpYmVkIGFib3ZlIHNob3VsZCBiZSBlbm91Z2ggdG8gZ2V0IG1vc3Qgb2YgdGhlIGltcG9ydGFudCB3b3JkcyBvdXQgb2YgdGhlIGZpbGUuPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgZnVuY3Rpb25hbGl0eSBleHRyYWN0cyB0aGUgY29udGVudHMgb2YgdGhlIFBERiBkb2N1bWVudHMsIHNwbGl0cyB0aGVtIGludG8gJ3dvcmRzJyBhbmQgYXBwbGllcyBzb21lIGNsZWFuaW5nIHRvIHRoZSB3b3JkcyBiZWZvcmUgcHJvdmlkaW5nIHRoZW0gdG8gdGhlIHNlYXJjaCBtb2R1bGUuICBGdWxsIHRleHQgaW5kZXhpbmcgaXMgbm90IHByb3ZpZGVkLCB0aGVyZWZvcmUgcGhyYXNlIHNlYXJjaGluZyBpcyBub3QgcG9zc2libGUuICAgQWRkaXRpb25hbGx5LCB0aGUgU2VhcmNoIG1vZHVsZSBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIGxpbWl0aW5nIGFuZCBjbGVhbmluZyB0byB0aGUgd29yZHMgZXh0cmFjdGVkIGZyb20gZmlsZXMuPC9wPgo8cD48c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgZnVuY3Rpb25hbGl0eSBkb2VzIG5vdCBwZXJmb3JtIE9DUiB0aGVyZWZvcmUgdGV4dCBlbWJlZGRlZCBpbnNpZGUgaW1hZ2VzIHdoaWNoIGFyZSBlbWJlZGRlZCBpbnNpZGUgUERGIGRvY3VtZW50cyB3aWxsIG5vdCBiZSBpbmRleGVkLjwvcD4KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGlzIGZ1bmN0aW9uYWxpdHkgdXNlcyB0aGUgc2hlbGxfZXhlYyBwaHAgZnVuY3Rpb24gYW5kIGdob3N0c2NyaXB0LiAgVGhpcyBmdW5jdGlvbmFsaXR5IG11c3QgYmUgZW5hYmxlZCBvbiB5b3VyIHNlcnZlci48L3A+Cgo8aDM+U21hcnR5IFBsdWdpbnM6PC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgc29tZSBhY2Nlc3Nvcnkgc21hcnR5IHBsdWdpbnMgdGhhdCBhcmUgdXNlZnVsIGZvciB2YXJpb3VzIHB1cnBvc2VzIHdoZW4gd29ya2luZyB3aXRoIGZpbGVzLjwvcD4KPGgzPkNvbnRlbnQgQmxvY2tzIDxlbT4oQ01TTVMgMS43KyBPbmx5KTwvZW0+PC9oMz4KPHVsPgogIDxsaT48c3Ryb25nPnt1cGxvYWRzX2NyZWF0ZV90bF9maWxlfTwvc3Ryb25nPgogICAgPHA+Q29weSBhbiBleGlzdGluZyBzZXJ2ZXIgZmlsZSBpbnRvIHRoZSB1cGxvYWRzIG1vZHVsZSBhbmQgZ2VuZXJhdGUgYSB0aW1lIGxpbWl0ZWQgVVJMIGZvciBpdC48L3A+CiAgICA8cD5QYXJhbWV0ZXJzOjwvcD4KICAgIDx1bD4KICAgICAgPGxpPjxzdHJvbmc+c3JjPC9zdHJvbmc+IC0gc3RyaW5nIC0gcmVxdWlyZWQgLSBUaGUgYWJzb2x1dGUgc2VydmVyIGZpbGUgc3BlY2lmaWNhdGlvbiB0byB0aGUgc291cmNlIGZpbGUuPC9saT4KICAgICAgPGxpPjxzdHJvbmc+Y2F0ZWdvcnk8L3N0cm9uZz4gLSBtaXhlZCAtIHJlcXVpcmVkIC0gVGhlIGNhdGVnb3J5IG5hbWUgKHN0cmluZykgb3IgaWQgKGludGVnZXIpIHRvIHRoZSBkZXN0aW5hdGlvbiBVcGxvYWRzIGNhdGVnb3J5LjwvbGk+CiAgICAgIDxsaT5wcmVmaXggLSBib29sZWFuIC0gb3B0aW9uc2wgLSBJbmRpY2F0ZXMgd2V0aGVyIGZpbGVzIHNob3VsZCBiZSBwcmVmaXhlZCB3aXRoIGEgc3RyaW5nIHRoYXQgZGVwZW5kcyBvbiB0aGUgc2VydmVyIHRpbWUgKGRlZmF1bHQgaXMgRkFMU0UpPC9saT4KICAgICAgPGxpPmVtYWlsIC0gc3RyaW5nIC0gb3B0aW9uYWwgLSBUaWUgdGhlIGdlbmVyYXRlZCB1cmwgdG8gdGhlIHN1cHBsaWVkIGVtYWlsIGFkZHJlc3MgKHdvcmsgaW4gcHJvZ3Jlc3MpPC9saT4KICAgICAgPGxpPmhvdXJzIC0gaW50ZWdlciAtIG9wdGlvbmFsIC0gVGhlIG51bWJlciBvZiBob3VycyB0aGlzIFVSTCB3aWxsIGJlIHZhbGlkIGZvciwgaWYgbm90IHNwZWNpZmllZCB0aGUgbW9kdWxlIHByZWZlcmVuY2Ugd2lsbCBiZSB1c2VkLjwvbGk+CiAgICAgIDxsaT5kb3dubG9hZHMgLSBpbnRlZ2VyIC0gb3B0aW9uYWwgLSBUaGUgbWF4aW11bSBudW1iZXIgb2YgdGltZXMgdGhlIGZpbGUgY2FuIGJlIGRvd25sb2FkZWQgdXNpbmcgdGhpcyB1cmwuICBJZiBub3Qgc3BlY2lmaWVkLCB0aGUgbW9kdWxlIHByZWZlcmVuY2Ugd2lsbCBiZSB1c2VkLjwvbGk+CiAgICAgIDxsaT5hc3NpZ24gLSBzdHJpbmcgLSBvcHRpb25hbCAtIEEgc21hcnR5IHZhcmlhYmxlIG5hbWUgdG8gYXNzaWduIHRoZSBvdXRwdXQgdG8uPC9saT4KICAgIDwvdWw+CiAgICA8cD5FeGFtcGxlOjxici8+CiAgICA8cHJlPnt1cGxvYWRzX2NyZWF0ZV90bF9maWxlIHNyYz0mcXVvdDsvdGhlL2NvbXBsZXRlL3BhdGgvdG8vdGhlL2ZpbGUuanBnJnF1b3Q7IHByZWZpeD10cnVlIGRvd25sb2Fkcz01IGhvdXJzPTcyIGNhdGVnb3J5PSZxdW90O3NvbWUgY2F0ZWdvcnkmcXVvdDsgYXNzaWduPSZxdW90O3RoZV91cmwmcXVvdDt9PC9wcmU+CiAgICA8L3A+CiAgPC9saT4KPC91bD4KPHA+Rm9yIENNU01TIDEuNyB0aGlzIG1vZHVsZSBpcyBjYXBhYmxlIG9mIGludGVyZmFjaW5nIHdpdGggdGhlIGNvbnRlbnQgZWRpdG9yIGFuZCBleHBvcnRpbmcgYSBjb250ZW50IGJsb2NrIHRoYXQgYWxsb3dzIHNlbGVjdGluZyBhbiB1cGxvYWRzIGNhdGVnb3J5IHdpdGhpbiB0aGUgZWRpdCBjb250ZW50IHBhZ2UsIGZvciBsYXRlciB1c2Ugd2l0aGluIHRoZSB0ZW1wbGF0ZS48L3A+CjxwPmkuZTogcGxhY2luZyB0aGUgZm9sbG93aW5nIHRhZyB3aXRoaW4gYSBwYWdlIHRlbXBsYXRlIDxjb2RlPntjb250ZW50X21vZHVsZSBtb2R1bGU9JnF1b3Q7VXBsb2FkcyZxdW90OyBibG9jaz0mcXVvdDt1cGxvYWRzX2NhdGVnb3J5JnF1b3Q7IHNlbGVjdHR5cGU9JnF1b3Q7Y2F0ZWdvcnlzZWxlY3QmcXVvdDt9PC9jb2RlPiwgd2lsbCBhZGQgYSBkcm9wZG93biBib3ggaW4gdGhlIGVkaXQgY29udGVudCB2aWV3IG9mIGFueSBwYWdlIHV0aWxpemluZyB0aGF0IHBhZ2UgdGVtcGxhdGUuPC9wPgo8cD5UaGlzIGNvbnRlbnQgYmxvY2sgYWxzbyBhY2NlcHRzIHNvbWUgb3B0aW9uYWwgcGFyYW1ldGVyczo8L3A+Cjx1bD4KICA8bGk+PHU+c2VsZWN0b25lPC91PgogICAgPHA+VGhpcyBwYXJhbWV0ZXIgaW5zZXJ0cyBhICZxdW90O1NlbGVjdCBPbmUmcXVvdDsgaXRlbSBpbnRvIHRoZSBsaXN0IG9mIGNhdGVnb3JpZXMsIHJlcXVpcmluZyB0aGUgdXNlciB0byBzZWxlY3QgYSB2YWxpZCBjYXRlZ29yeSB3aGVuIHRoZSBjb250ZW50IHBhZ2UgaXMgc2F2ZWQuPC9wPgogIDwvbGk+CiAgPGxpPjx1PmFsbG93YWxsPC91PgogICAgPHA+VGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHRoZSBjb250ZW50IGVkaXRvciB0byBzZWxlY3QgJnF1b3Q7QWxsJnF1b3Q7IGFzIGEgY2F0ZWdvcnkgZm9yIHRoZSB1cGxvYWRzIGRpc3BsYXkuPC9wPgogIDwvbGk+CjwvdWw+CjxoND5Ib3cgd291bGQgSSB1c2UgaXQ/PC9oND4KPHA+SGVyZSBpcyBzb21lIGV4YW1wbGUgY29kZTo8L3A+CjxwcmU+Cntjb250ZW50X21vZHVsZSBtb2R1bGU9JnF1b3Q7VXBsb2FkcyZxdW90OyBibG9jaz0mcXVvdDtjYXRlZ29yeXNlbGVjdCZxdW90OyBsYWJlbD0mcXVvdDtTZWxlY3QgYW4gdXBsb2FkcyBjYXRlZ29yeSZxdW90OyBzZWxlY3RvbmU9MSBhc3NpZ249JnF1b3Q7dG1wJnF1b3Q7fQp7VXBsb2FkcyBjYXRlZ29yeT0kdG1wfQo8L3ByZT4KPGgzPlN5c3RlbSBTZXR0aW5nczwvaDM+CjxwPjxiPk5vdGU6PC9iPiBUaGlzIG1vZHVsZSBkb2VzIG5vdCBieXBhc3Mgb3IgZ2V0IHBhc3QgYW55IGZpbGUgc2l6ZSBsaW1pdGF0aW9ucyBpbiBwaHAuICBJdCB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZW0uICBUaGVyZWZvcmUgeW91IG1heSBuZWVkIHRvIG1vZGlmeSB5b3VyIHBocC5pbmkgZmlsZSwgeW91ciBDTVNNUyBjb25maWcucGhwIGZpbGUgYW5kL29yIHlvdXIgaHR0cGQuY29uZiBmaWxlKHMpIHRvIGFsbG93IHlvdSB0byB1cGxvYWQgZmlsZXMgYXMgbGFyZ2UgYXMgd2hhdCB5b3UgaGF2ZSBzZXQgaW4gdGhlIHVwbG9hZHMgbW9kdWxlIHByZWZlcmVuY2VzLjwvcD4KPGgzPkFwYWNoZSBOb3RlczwvaDM+CjxwPkluIG9yZGVyIHRvIGFsbG93IGxhcmdlIGZpbGUgdXBsb2FkcywgeW91IG1heSBuZWVkIHRvIG1vZGlmeSB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBwYXJhbWV0ZXIgaW4geW91ciBwaHAuaW5pICBJbiBhZGRpdGlvbiwgdGhlIExpbWl0UmVxdWVzdEJvZHkgcGFyYW1ldGVyIGluIHlvdXIgYXBhY2hlIGNvbmZpZ3VyYXRpb24sIG1heSBuZWVkIHRvIGJlIGFkanVzdGVkIHRvIG1hdGNoIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIHBhcmFtZXRlcjwvcD4KPHA+Tm90ZTogIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIHBhcmFtZXRlciBjYW4gYmUgc3BlY2lmaWVkIGluIGJ5dGVzLCBraWxvYnl0ZXMsIG9yIG1lZ2FieXRlcywgaG93ZXZlciB0aGUgTGltaXRSZXF1ZXRCb2R5IHBhcmFtZXRlciBpcyBvbmx5IHNwZWNpZmllZCBpbiBieXRlczwvcD4KPHA+PHN0cm9uZyBzdHlsZT0iY29sb3I6IHJlZDsiPldhcm5pbmc8L3N0cm9uZz4gLSBUaGUgcHJvcGVyIGJlaGF2aW91ciBvZiB0aGlzIG1vZHVsZSBkZXBlbmRzIG9uIG51bWVyb3VzIHBocCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy4gIFRoZXNlIGluY2x1ZGUgPGVtPihidXQgYXJlIG5vdCBsaW1pdGVkIHRvKTwvZW0+LCBwaHAncyBtZW1vcnlfbGltaXQsIHNhZmVfbW9kZSwgZmlsZV91cGxvYWRzLCB1cGxvYWRzX21heF9maWxlc2l6ZSwgYW5kIG1heF9leGVjdXRpb25fdGltZS4gIFRoZXNlIHZhcmlhYmxlcyBtYXkgbmVlZCBhZGp1c3RtZW50IGZvciB0aGlzIG1vZHVsZSB0byB3b3JrIHByb3Blcmx5IG9uIHlvdXIgc2l0ZS4gIEl0IGlzIGFkdmlzZWQgdGhhdCB5b3Ugd29yayB3aXRoIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3Igb3IgaG9zdCBwcm92aWRlciB0byB0dW5lIHRoZXNlIHNldHRpbmdzIGZvciB5b3VyIHJlcXVpcmVtZW50cy48L3A+CjxwPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiByZWQ7Ij5XYXJuaW5nPC9zdHJvbmc+IC0gVXNpbmcgdGhpcyBtb2R1bGUgdG8gYWxsb3cgc2l0ZSB2aXNpdG9ycyB0byBzZW5kIGZpbGVzIChlaXRoZXIgdXNpbmcgdGhlIHN0YW5kYXJkIG1lY2hhbmlzbSBvciB0aGUgeW91c2VuZGl0IG1lY2hhbmlzbSkgbWF5IG5vdCB3b3JrIHdpdGggb3V0cHV0IGNvbXByZXNzaW9uIGVuYWJsZWQuICBQbGVhc2UgZW5zdXJlIHRoYXQgb3V0cHV0X2NvbXByZXNzaW9uIGlzIHNldCB0byBmYWxzZSBpbiB0aGUgY29uZmlnLnBocC48L3A+Cgo8aDM+U3VwcG9ydDwvaDM+CjxwPlRoZSBtb2R1bGUgYXV0aG9yIGlzIGluIG5vIHdheSBvYmxpZ2F0ZWQgdG8gcHJvdmlkZSBzdXBwb3J0IGZvciB0aGlzIGNvZGUgaW4gYW55IGZhc2hpb24uICBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4KPHVsPgo8bGk+QSBidWcgdHJhY2tpbmcgYW5kIGZlYXR1cmUgcmVxdWVzdCBzeXN0ZW0gaGFzIGJlZW4gY3JlYXRlZCBmb3IgdGhpcyBtb2R1bGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy91cGxvYWRzIj5oZXJlPC9hPi4gIFBsZWFzZSBiZSB2ZXJib3NlIGFuZCBkZXNjcmlwdGl2ZSB3aGVuIHN1Ym1pdHRpbmcgYnVnIHJlcG9ydHMgYW5kIGZlYXR1cmUgcmVxdWVzdHMsIGFuZCBmb3IgYnVnIHJlcG9ydHMgZW5zdXJlIHRoYXQgeW91IGhhdmUgcHJvdmlkZWQgc3VmZmljaWVudCBpbmZvcm1hdGlvbiB0byByZWxpYWJseSByZXByb2R1Y2UgdGhlIGlzc3VlLjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uICBXaGVuIGRlc2NyaWJpbmcgYW4gaXNzdWUgcGxlYXNlIG1ha2UgYW4gZWZmb3J0IHRvIHByb3ZpZGUgYWxsIHJlbGF2YW50IGluZm9ybWF0aW9uLCBhIHRob3JvdWdoIGRlc2NyaXB0aW9uIG9mIHlvdXIgaXNzdWUsIGFuZCBzdGVwcyB0byByZXByb2R1Y2UgaXQgb3IgeW91ciBkaXNjdXNzaW9uIG1heSBiZSBpZ25vcmVkLjwvbGk+CjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuICBIb3dldmVyLCBwbGVhc2UgdXNlIHRoaXMgYXMgYSBsYXN0IHJlc29ydCwgYW5kIGVuc3VyZSB0aGF0IHlvdSBoYXZlIGZvbGxvd2VkIGFsbCBhcHBsaWNhYmxlIGluc3RydWN0aW9ucyBvbiB0aGUgZm9yZ2UsIGluIHRoZSBmb3J1bXMsIGV0Yy48L2xpPgo8L3VsPgoKPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+CjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+CjxwPkhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwpNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/clock_link.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAANTSURBVDjLTZJtTFNXGMdvlpgl27Jvi5/2meyLWZbFGBdBBqJpi0njEtzEJUZa7LBGrARwTkvZFFpqodmKMC0CCrG1jSJqfCktl65YkUKtIFVKl6KzlVZa2vJShP/OOXHNbvK7ee5znv/v3HtyOQBc6hb3AUFJ8BIeET6k/f9Dehvfr7sJOf/1uXkrt4GgTo3se5mJ2pEYKY24+4qdxx9kHITYexwP+8T8wpgsujh5Mkbm3YTPmSDSy/2ccO9/tRK+hbnhA/OPTVuTDc4ofh+J4OL4awatz/EzGDd9lY776tLJccUbkhslbOBmL3G/LHhPxsJDB+Zdl7eu6odDuOr9Bz383zBYJ6A3T+CSbQY9Yy9hHLTjWd/OtcVZ87vw9S/8JJvDBdq4bVPtH/n/urAprbbPoNcdgtUexPRsAtFEEnOJFPyhBLrvTcM4FMTVG03w9mxZnmz/1EOyOewgjl+8qam2+NDuDMJEdqPX23gcz1+9xhKpKcl14Hz/NAyOFzhl4vFTh+s3dgb0tq9t1FF1zYfzd/yYJDunV9eRTKfxh7EDESJaWF6G5e4A+OdxnDU9AZ2lmazgu2Y+VtnjQeMVLyKLGbxdXsMKWahV1uGy9QaqT9fhnssNXzyDYwY36CzNZAW7z96JSS+4oewYQyiZIZI1zMYX8GuTloX5sSeYWwUeRzOQNw+DztJMVrDr1DXHXp0ddd2juP80DMvt+9CQsNFoREOjGqOBIJ6GE6hv0LCe6kwjflA0BnJzcz9mgvyqTqVAeR1H2oZwqFqLlpYWhMNhBAIBDA4OQkeeDe1/YnLKz3pOp5PNiEQiNRN8Izd8TZjYLtVAUVUDj8+HE6frUVxcDIlEAr1ej9raWlYLRSKI9x9KUolCoYhn//XNkqZy4V5JRqmqZ4KjzTbkF+yAzWaDx+MBz/OwWCzI/7YQWw6ekVOBSqVaygpcLle+TqfDYbmcCQTfy8hwAYqKiiAWixm0LiwsRGlp6SMqKC8vn2fh/v7+zwjJgYEBuvhOrWla6r7Su2q1WtHa2orKykrU1NSwmvbMZjO0Wm2CfOIzJujq6vqEMNXZ2bkik8n2CASCYFlZWaqiomKJsFJSUvIjoYDUKTl5Q6lUui4UCkN5eXlf/gvG8MXqEEqGrAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/file-report-icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAJpklEQVR42tWbW2wT6RWAz4w9jmOTG0mcO7mQ+4UA4bpZQGW3kZD2gV11pX1gRZ+Q2qc8Va0qpIIqtS88rIQqJIpaJIRUaLvRFlDZZbUlhBACuUAI5B5yBRIgVzv2XHv+ydgxTjLj+CcxPtLR2P/M2HO+Oef8/zljMxCkvHnzJh03+agMSrCnvTfxeDwwPj4OLS0tEydOnHj2vj43KEvQ+N/h5o+o7IZbHiCnT592oRw5f/58/YYA0O78CItiMpnCbT+cOnUKOjo6Zsxmc82NGzeaNwLAIdz8jxgvSVK47YczZ87AkydPgOf5GbymmuvXr1NBCBpAuA33ytmzZ6Grq4sA8EGoq6sLGULEAcDYh97eXhAEQYWA2xmMzpqrV6+GBCHiAFy8eBH6+/tBFEUVgqYqhMuXL68ZgiGA169fH8Jp74MBgEbC4OCgmo/8IeBrFQICWhOEiANw5coVGBoaUgF4IXjV6wkXLlwIGkJQAGBZCCgAT84C6xoGU0zyhgL4V5sVBicVkGXZB8EfBIFAEuO5c+eCgmAIYHJycpkHMPNDIN86BtGFH4M4NbahAJrHkuDe5FYVgFdX8IaZ9PT0mpMnTxpCCAkATPeA8MNxUISFDTWeiKyw0OT+CAaFXJBkBkyKW4VgiUkFmeGArFcURQEMhZmSkpKf1dTUtFEDgMAQQADua7/YcOP1xPrZPwHiC98Zm52drd26des3VAAmJiaWeYCCAJx1X4Tb5nfEfvTfwAQAwLCoTU1NpQcAAR6gTPXA7Lefh9vmdyT282+BSSgMHK51OBx0AF69erXMA+Spbpi+ejTcNr8j8V/WAZtQ9M4Y5oLalJQUegAQ4AGM+zVMXDxIviHcdmsXxILjeD0o1sTAPfQAXr58uQwAybTC6F0Q3/aH23RVuMR8MGd8tFK1Sp8DXrx4seJKMBxdIT1RVvBGEgJpaWn0AOADKobWKPQAxsfHIxoArgjpAIyNjX1QxdBahIRARkYGHYDR0VFDAPJMDzDCDCZjDmYnsTZQZDBH2cAen4wvBZCBxSlqGwC71FP08FjCGrTYSJ6xWaNoGLwfAGAQAp7Oc3ixaCRng+7WBhD5BYhLyoCswkqQRRfeCQlMGZ9i5ZjjO+e7nxpVCEZSU70L4jbZQwaQmZlJB2BkZMQQwMKjM2Di7MCao6H97vfgds5BUkYuFFTsQQBYrAhOMG85Aqa4At851243gdvDBwUg1m4LGUBWVhYdgOHhYcMQcLX+Ce8+AWCFxh++A+fMNKTnFED57o9BljwIYQG47M/AHL+0UiOTlhLEQoqlmG5JDtiyZQsdgKGhIUMAzgd/UN2fABgbeg6zU28hPskB6VnZPgCW3C/AnFASsjGhAsjOzqYD8Pz5c0MA802/Vd2fNUUBYzLjp5rUZbKiiKBIvBoGUflfgXlz+YYDyMnJoQMwODhoDODeb2Ayaj9WjpOQmJQMFs4MyWKbBkBQvcBadByXrJW+c/7b8AAWgsgBerKnoggyHEm6AHJzc+kADAwMGAO4/3u4PbEHHj5ohtLyCkiIi4H9sT+p2V+RRbwSCaLLfoUeUOE758adZuAFkQpAVWkBZKXq9iTpAfT39xsCkIbrQMASeTG1gboOUPCue8VkTwdLwS/xxdKcLkgyiCLdo7boKMvSd64CIC8vjw5AX19fUCtBll39wTHp2YVJ6Ftivb29EbsUJgDy8/PpAPT09EQsAJIECwsL6QB0d3frAmjvHghqRbcekpa8GbLTHLoAioqK6AB0dXXpAvj+XpthUbNekuFIhMrCXF0AxcXFdACePXumC2BqzgUekW46C1Vioq1gt1p0AZSUlNABePr0aUQ3REpLS+kAdHZ2RjSAsrIyOgAdHR2Gs4BJnAYLK6rtad41B2Rxwpo4tSlCFkUkRwicw+ir1gVAeXk5HYDHjx8bArBP/AdXOx4siGzQ234Xix8PxCSmQcbWCrUSJGBcsXtAjkrxndPyrN+wFiAdoZ3FedqKb+1CcsC2bdvoADx69MgQQPTw3xb7AVgSd9y7BW7XPCSlZUNe+W4VgCy4wJ1QDbItx3fO7danQc0ee8ryIcYWHTKAyspKOgDt7e2GOSB6+K9aR8gKTT9eA9fcNKRuKYCyKjRaci8C2HwIJD8AosKAGMQSOdpMHneHvJSu3b59Ox2A1tZWYw8Y/IvWEImCzraHMDX5ClKzciC/dJvWD1gAT9InCCAvVENCBrBjxw46AC0tLYYArH1n1PhnEADDmhc/Vi3SJF9DxOM4AvKmAqOve69CQqCqqooOwMOHDw1DwNr7Z5DjdwDPS2CxWvFDFeBcfTgBkH4AryZFPu0oAljqCXYNjQNPWQ7npCZBrF03P9Tu2rWLDkBzc7NxCAx8A9f6i6GhoR527qyCpGQHfJLStNgQkQT12YCQ+RXIMUs9wXtP+kCiLJMLMlMgZXOcLoDdu3fTAbh//77xNDj2d1gQWCyKPGCxWIBRRIjiR8DbrGAwPPi8X4PExvjO4RWWuoawcSZ1nbGakBDYu3cvHYCmpibDEOAwU3Om1S9EUkzg4cNSL9Tu27ePDkBjY2PE9gMIgP3799MBaGhoiGgA1dXVdADu3LmjGwKTM/MgUGbzUCXGZsWSWPfhae2BAwfWF0Bb3whm8/D8Vigx1g65qYl6h6w/gKkFETyC8VPe9RBy9+2c7t+Y1h+A2WyGcP2XiPxM3qDlTg+gvr4+YpMgWQccPHiQDsDNmzeLbDZbV7iNCUXQQ74+fPjwpTUDuHTpEhln0LUZjuOYhISEf+AK78P6cbCBSJLUOTU1VY0Q5nmeV3+OcOzYsWXZmtEMJiVcVIBaUTlUG4bAJvSCnyMQ8h9Ci7bPFADQpI1bIAjPClGIAaSN5CY2BoxL2jiPrj/rdDpvYH54g+9dqIK2z+OvCERk0HhiZBZqMWomKplX4lHjNIPID3Q2+RlMxmwaHH9D2QAA7xuCEgBADtgnaMa6/YDMozq1sRnUaVQCZRSVhPUIAUCM2Yn6KSqpVx2a8XY/g8yawayfMn5bf2NXMj4UIF6D9ca872W/rVcJENEPmFODMIFKHmXfQm1lNPdPg8U/RhMX36wBiNWUACAhEaNtvcZwGiS9Ox6qV+jd7ZWOcWoGe8eIi89pW7J/VlMC4C3qOGof6gtvDmC1i/QqB0t5wKyN2WHJ7RltLNYPykrCacfYYO1/vCZGu7QLX22l5TV2VjPUC0DQoPCaF3jjX9DGVMUcIK96R7wzgfbW3939765phXEIOIbTIIYSAqJ20bLOMWSfBMtzgjcs1PcrzQBE/g9gR5xU77TpywAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/image.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAG2klEQVR42mL8//8/Q35+/gUFBUW133/+/AFyEQDEYYRQMC4IMDKCeVBBOAuv2H8owQgE/////f/82bMrU6ZMsQIIIBaQOBMjI3thYQEnA53Ay/ffGRqqCrlAbIAAYkFyN8Pa478ZTFWYGHg4GRluv/jNIMTNxPDkzW+GP//+M/z++59BUoCF4f6rnwybz3xi+PnnL1js128gDWT/+vOf4efff2A2MBwhckD+rz//IDRQ3c9ffxj+MTIzXO/TY2CE2gkQQCzILgNpevzmLwMTE9AwoCHX3/9i+AcMd2ag6p9Agx6//QUWZ2NhBIozQqMFRDPC4wYEmWDRBOUzgmiQuv9MDP8ZmaBRCAEAAcSCHE8OOqwM/4C+/QvEIEW//zIzwIz/C3QIKA0wA003VeYEOwyUfkDqwfj/P4QYiAaLMUDlQGr+gc1lZmZh4OdkBsuBAEAAsSAnLgkBJN+AATOemPyPFHn/kISg4v9AJBQipWImJiZglCDsAAggFlIT0H+oL0GYkRERDTBL/kG9ho0PCgVgDmBgZWWFmwcQQDgd8OvXL7AGNjY2sKthAByfUIt//vzJ8OXLF7hlMIchOxYUDhBH/Gfg5OQEmsUM1w8CAAGE4oAfP34wvHnzhuH8+fMMFy5cAKbmPwzy8vIMDg4OYIegG/7u3TsGdnZ2qE//ofgUlIj+g2hwsAMT7b+/DG/ffWTQ09OF6wEBgABCccCNGzcYhIWFGTQ0NBjU1dXBhoEc8fv3bzANCUKIL0FiIEdxcXGBQwjkK1CIgIIXJP7nz29gImZgeP+djeHjL2aGL18/MzB8f8rw9etXBl5eXridAAGE4gAeHh4GWVlZsAWgKABZAsIgg2GO+Pv3L8P379/BQS8iIsIgKirKwMHBAXYcSM3r168Znjx5wvDv7x8GDh4hhlWnvjCce/iLQU/sN4O7EiM4NJABQAChOICFhQUenMi+hcU7OAUDHfb582cGTU1NBiEhIXA0PH78GGw5MzMzg5iYGIOKigrDwwcPGP7++sYQYMTD4GPAysDFAixH7j1By2UMDAABhFoQAQ15+/YtOC3AfA/zNchiEP3t2zcGLS0tBgEBAYarV6+CfQxyJCiUQPK3bt0CpxsxcXGwIwT5WcDR8gdYQv4Floiw6IIBgABCccDHjx8Z7ty5AzcMhkE+AwU7zHJQsN+7dw+s7iswbhfMn8fw4sVLBjs7GwYTU0uGa9eugUOQj4+P4e37D+B09efvP3guQgYAAcSEK48jY1iUgByipKQEDhVwiADpvLxihruvBRmktEMZ+qetZjh4YB84lT9//hysF+QBUEiilx0wABBAKCGAHvcwPsxxoOADxfunT5/AvtqxdR3DvU+yDAmB0xgkxDgYZJ/wMuzbP4nB0ckZHFqwaIOVFaCoRS5TQAAggLA6AB3DfAJLJyAxUILl5OJh4OEA5hLmbwzf2DgYODi/M3BzccGDGqQOVK6A0gWIDQo5d3d3FAcABBCKA2B5HR3DQgCWzUAp/f379wye3gEMV6/dYvj6cAYDx18FBk3O8wy2MdHAtPGLgZubG2weKLRA6QdWiKFHAUAA4YwCdBrmgLt37zJISEiADQcVraVl5QzXrlxk+Ay0yDkmDFzn//4NcQCo0AGFACjtgNTDsjIyAAggFvREiO4IWAiAaJBmUHBKSUmBcwKoDABFhbKqBjjOQaECjGmg5VxgS0E5BeQImKXYEiFAAKE4BznrYcMgR4Cy3sGDB8GlHagEBCUskMWghAayCFQ0gywBWf4AWA7APALSj80BAAHEgi0bwuIKZCDIJyAxGA0r848ePQrOkuLAAgc59ECl5IsXL8BpBeRAmO9BIQVyBHpBBBBALMh1N6gE09PTA8c1zMfIvof5ApaiYfEKq7pBloBKyIsXL8ItgkUnzNLZs2fDchTYUoAAwkiEoEQDy3YgC2BsZMuRHYScc2CFDkgM2NQHJ0TkUAUVUKDStqam5u3MmTMjZsyYwQAQQCgOAIUAKNH8R+kcMKA0RpBDDBd4+PAhOARgwQ8LDVB6qaurewvsDzgBhW+C5AACCKM25Ofnp6jND7IIlF5A0QKrXUE+B6WbysrKt5MmTXIGCl2CqQcIIBZsbT5KAawhA3IEqHECSpj19fUgy12A0heR1QIEEAutej+wohuUPVtaWt5OnjzZGd1yEAAIIBZscUxpFIAb9MBoAPm8u7sbp+UgABBAKA4AaaIGACU6kM8nTpwIS3CXcKkFCCBGUHzl5uZeU1NT00RvVpMbAqBiGVhSvp06daojUOgyvrQCEEBgBwBTvgqwpeoIjDcmUO+ZwgQIjgNgaXgUSF0hlFgBAgwAfCHGv3udsccAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/missing.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhEAAQAPfdAAAAAFJSUpeYmJ+foJ+goKCgoKGhoaGhoaGioqKioqKioqKioqKjo5ubm1JTU5CQkNHR0oGBgdna2uPk5OTl5ebn5+fo6Ojp6enq6urq6urr6+rr6+vs7OHi4oSEhNbW1tfX14SEhODh4evs7O3u7u7v7/Dx8fHy8vLz8/P09PT09PT09PX19erq6oiIiNzc3NjY2IWFheLj4+3u7u/w8PHy8+7u7uzo6O3r6/Ly8vb4+Pb39/f39+zs7ImJid3d3dnZ2YaGhuTl5fDw8PDy8uHNzdSXl9eVlNiZmdWameXQ0Pn5+fr6+u/v74mJid/f39ra2oaGhubm5vL09N/NzMdzcMl2dNOenMuPjsBcWsNta+XS0fz9/fDw8IqKit/f39rb24eHh+jo6O/v78SGgr1qZeTV1PLz89Gbl7tOSrFJRMSFgfn4+PHx8YqKiuDg4Nvb24eHh+nq6uji4rBaVMaTj/Hx8dedmMtIQ8BrZrRybahPSfHq6vP09IuLi+Dg4Nzc3IeIiOvs7Onk455AOLR5c8h7dc0cFsVbVOjf3r6FgJs6MfHs6/T09IuLi+Hh4dzc3IiIiOvs7PT09LBuZp8bEL8PCcRPSOfe3Obb2aY8MrFsZfb39/Dw8IqKit/f393d3YiIiOzs7Pr7+93Qzas6MbUTCMF1bNWVjrdANac9MdbHxfDx8ePj44CAgM7Ozt3d3YiIiOzt7fr6+vv8/N/Rz710asJKPsJJPbpuZc2/vd3e3tjY2K6urioqKlpaWt3d3YiJie3t7fr6+vv7+/3+/vj6+u/t7Ovp6Ors7Nvc3eDg4LGxsUFBQbi4uAAAAN7e3oiJie7u7vv7+/z8/P39/f////////n5+evr7NPT1LOzs05OTv///wAAAAAAANTU1IGBgePj4/Dw8PDw8PHx8fPz8/Pz8+3t7eDg4K6urkZGRv///wAAAAAAAAAAAHh4eEFBQYKCgoqKioqKiouLi4uLi4uLi4qKioGBgUdHR6ampgAAAAAAAAAAAAAAACH5BAEAAAAALAAAAAAQABAAAAj+AAEEEDCAQAEDBxAkULCAQQMHDyBEkDCBQgULFzBk0LCBQwcPH0CEEDGCRAkTJ1CkULGCRQsXL2DEkDGDRg0bN3Dk0LGDRw8fP4AEETKESBEjR5AkUbKESRMnT6BEkTKFShUrV7Bk0bKFSxcvX8CEETOGTBkzZ9CkUbOGTRs3b+DEkTOHTh07d/Dk0bOHTx8/fwAFEjSIUCFDhxAlUrSIUSNHjyBFkjSJUiVLlzBl0rSJUydPn0CFEjWKVClTp1ClUrWKVStXr2DFkjWLVi1bt3Dl0rWLVy9fv4AFEzaMWDFjx5AlU7aMWTNnz6BFkzaNWjVr17Bl07aNWzdv38AlhRM3jlw5c+fQpVO3jl07d+/gxZM3j149e/fw5dO3j18/f/8EBAA7]]></data>
	</file>
	<file>
	  <filename>/images/pdf.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHDUlEQVR42mL8//8/Q35+/gVFBQW1P79//2EA8sEASkN5qOD/fww+ssh/XOqAgBEI/gAtffb8+eUpU6ZYAwQQC1iQiYm9IDmZk+HXLwYGJiYGhr9/IapBfHZ2BoZXrxgYvn+HGPjvHyoGqQXRaA4H2oTd4SwsDD91dRnyq6u5QEIAAcQCd/GfPwwMFy4wMDAzMzC8f8/A8OEDA4O2NgPD/fsMDEuXMjC8fg1R8+MHxDEgGhmDHEEM4OFh+H/vHtyBAAHEghQ2DAx37zIw3LzJwAB0IQMHBwPDiRMMDDduMDD8/Anhg2iYz0G+gWEQ+P0ba5CjAFBoAUMAbBdULUAAscCDhp+fgcHNDYJBfJBikKEgPgjALAXS///9BYYaKKqASQao5j9Q7B8seoD0P6Qg/wd1JMg6kDpWUJRycsIdABBACAeA4l5RkWAI/ofh378gUcfKxvAXXQ5mIYiGYZDDQf4A2sMK8hgUAAQQCwMJAGQQKPj+nznC8K8ug+GPuAzD756lDBz8Agz/gaHBALUMnh5gUYTE/wNks4CiEwoAAoiJFMv/gywHGvB3SjPDnyfAhHThBMPn6xcZ/gJ9BfMpA5LvGZBCA8b+C4xaRqQcAhBATAwkgv+ghAjKIfyCDIzABPX/+1egB/8jfI8eYkjgDzAX/UPLLQABxERyFIASkJIKA9OLZ5AEyQ5KUP/g2eo/FodA0vA/YJr+jeJ7EAAIICaigx8pLhmtXCCGcnEz/OcXZmBEshQl6JEwyHIQzcSEaiVAALGQ5HtYKrf3YmCUV2b4w8LGwCSIcAC6IxDZ/y8YMwMLOXQHAAQQE9G+hxn8B5jpRMUZ/pvYMbA+usvA9Pguwz8WVkyHQvWBLAbFPchiUPCjRwFAAJGWC8A5AVrqvXrOwPrpFwP7qlkMP4AJkxGaE9DjHWQ5zGJsDgAIICZCloIMQTb4PyPQorevGP4Dff5TXZmB+8Amhp/H9jL8ARZIyL6H+RzdcnQHAAQQEzFBj1LtMgENuHWZ4f/XLwzvsuoZGDm5GTjndjF8e/+BgQkYFbDUDsvvhBwAEEBMRCU8WPDD6q3Thxh+AcuBf/beDP8TChl4jh5i+L9mDsN3YOj8hVbluCxHdwRAADEhW/blyxdgE+AXPNjRXQuuL0AF0fG9DN/1LRlYObkY/kZmMvw1N2fgm9XK8P3sUYb/fMACiocPWO3yAUOHC5g28IcAQAChZEOQ5SAMyy4gxcjZ5j8bOwMjMPiZ799i+BqezcDz/y/DLz4BBqammQxcia4MfL3lDL9SKxi43r5gYPj2leGvmg7DXwNLYHAgGiroDgAIIBZUDzKhJKL/6JpY2RnYdm1g+CEiwfDXwpkBVKUwAaOD+egehj/8QgwcV84xcJREMfxU02Vg+v2TgfXlM4aPM7cz8KppAbPvb6wOAAggFpiFIAmQz7EVo+DEB8rrwHKf5cgOhk/6VgwCe9YycOzfyPDrzUuGz2r6DL8yahl43r9m4J5az8D88gkDo4gkwzd1fYafwCjhh0UfkidhACCAWNAajAxYWpEM/zk4waHItHMLOAfwvnvD8OPVE4bXDv4M/23cGNil5Bj4gA0NkP5fOkYMTLvWMXwDtm8/BSQwCIqJA5sukJoUmx0AAYTXAf/Z2MAuZz26m4Fx5SwGpsM7GT5buzN8iStiYNPSBzbv+BhY//0Gt57+//wOduw/QyuGuacuQXLDgSMMDPsPoYQqKJR/ghIytCkKEEA4HfAfWNEwP7zNwDyxjuH7y+cMjF8/M7Dy8DK8Bwa1iK4xA/tfYG75/QNFL1j/zx8Mf4EJOTEpiYELWHMiV7+cQP4rYAu7oaHh5cyZM4NnzJjBABBATOgOABsCtJxl3yYGpqwAhrfi8gyfk8sYWH79YHidUsnAo6zOwAG0HNQwwZfHWYA+BfmWlZUV2LJnB1v+8eNHhqamppfTp0+3ASq5D1IHEECYIQCMb6aD2xn+A5tcr/NaGdiBcSpSk8jw2jGA4X9AHAM/Oxv2MgKqH5bIQNkZxubi4gK29N8z1NTUvJw2bZotUOgOTA9AAKGFABO4XcF49jC4shHYspSBrySS4Y2FOwNDUjGDOA8XqC1MVCkHSgOwMuXly5fIlt9GthMggNBCAFTTARuX8QXAFrI6wz+gIz4aWDGw65ky8LCyQBokIEtwFN3IoQKqiDiAjU9QnHd2doIst0H2OQwABBBmgwTY5mcQEGZgCooHFzScoFYMlrYcIcACbC+CfD5hwoQX6MGODAACCMUBbKBsh6UcAKYkkiwHBfvbt28ZJk+e/AKY4HBaDgIAAcQISlC5ubnXVFRUNIHx9p+BQgCKhm/fvjE+ffoUZLkdepyj17YAAQR2AD8/vzIPD4890AGMuHrkpLgB5JE3b94cxmc5zAEAAQYABPJ6/Je6JoMAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/presentation.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAMAAABEpIrGAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADJUExURXabzPjOtNBwTcnW6JxKNLK4yvi8oOpiJbheP/voy6GktOnq/PvbwJKr0y1MXlgTFIGn7PX+/v37/vaud2d3ivf06PWETLXJ8tvy+v70/f/s9snH4e3+/srq+IQsHvP1/7TF1fGQdtvs/kNOcf388tPl/PL79daXbtPo7KO03NLe9Of8/v/e/C8/ZuX59Mrh5v+jXNzp8uXy/oiax9Du9P/18+v18d/g/NaBYeLx8/jd2+7x/9vi6r7f/qt/V+99N4GV7pTC0gAAAKF5LHMAAABDdFJOU////////////////////////////////////////////////////////////////////////////////////////wBBYgTvAAACgElEQVR42nyTfZtqQBjGo/E6WiHylkEonE20NiHK9/9QZzrRtv+ce8Z1YX7zPPc8MzMbhuG02m4//+lj1Ofje7vFY8MMP9TcWlsxFr981+rzBUjJPklC3fdDP8RKws11fb0uf4Dcvly+0/0+h3ne5kmb6Os028w+fiLAxErWMR/fFqfFbXlbrk7zbH778ZAjCJEEYfH10GazKRIYhhOwU3ZaRZIkIFmWBQD48AxDn/i63kYPnkJ7inLE0jStZ8B9dprxi+x8WY4eKlo1DamAZVnK57pjESpgE+6T+QTsFGG3q6pKY0HXCUcnTPQi36Qwv40AqQRSoJothwNZHAPidXw6xRnMpzpUioQI1tl2dF2qQu8YpoFTXN48HBEB/hxEx9nVIsE4jQnTxk/hCyCPKlubgUhqJFFznRPHizsf7+H3cqxDdwwA63XA6x1axLkMubaRfoBFPEXQZCAoCukdHU7lWCdSDSQ1zeGyGAFWa7vOUzxSA7RIs07x3RTtGdp6PK6C7UsO4EpoDi3UAhBd18L9XOjx6AH0NSdUDuhoAgs4adrgUjaRP0VgesRlpkDUAiFwNCvaUYkiJEeHySTwBK6uM0EQaEKggXj5NstDg6IvdzLJ9JXG9HizSZZhGdG2ZVlC6PLysMLHgHUeEv8p27TItWLKjd8OrSTJBm629GiSzK+wth+rF5DhEyhbljV38VuWwcXcdalnhieA5+H5OLWUprquS3e/uF6f408giiKEd9nAhPTIwePr4QxvQCAHpamaqhoEQRREMiW14/wJkPBfwzBKFVOtiqj5avgFFHb6WAdOkqY4D+L54RewsCiXpyjqfn90norvw2/gv/orwACBnpaqvpTKMAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/sound.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHFElEQVR42mL8//8/Q35+/gUFRUW137///AFyoeA/nIILgbhABYyMDCgAv57/CBJIMALBv7+//7948eLylClTrAEC8DQGKQDCMBDcxIDoA/yCXxO8CJ48+G21UlOTFHraZFlmxHsm6pd1G+4EaKkSNknKJX5hIGulihCeV3GlL8S+VWdrTbWMHqWxWtrBHWOeCOexj+7+BRALzHV/gbrvvfjLwMPxn+HVx79Ay/8xiPIxMdx8+otBS5aVgZ2NieHd578MLz78ZvgOdMCWsx8Yfv76y/Ab6MjfQM0g9SD61x+YGBAD2b/AciCxf0B9fxm4OdgZLnRowMMHIIBYYAxQqH76AXItRDMzMJyfvP3LIMrPzHDjyW8GDjYGcNCzMDMyvP38BxRqDKws0LgAsoERAwpesEmMECGoqSCSCRyiILPZWZmgwozgWAEIIBZYPHGxMzDoybEAQwIUtMxAA/4DffOfgZUZFBWgoP0HcTGQryHNxuBhwAMP1n9QGsT/+x9Co8r9A4pDzGBnY2PgAoYmDAAEEAssEYEcJcIH4jEzkAdAEf0XlBigiRCSZmCOAVkC8jIz0AffQT6CAoAAYiHVGpAvPn36xPDu3TuGr1+/gg3n5ORk4OfnZxAQEGBgZWVl+PX7F1jdf2j2gIUeOAf9/geNKggACCCiHfD9+3eG69evMzx//pzh9+/fDExMTAzMzMxwC/78+QMWExcXZ9DU1GTg4eFh+PnzJzTbMkKjBGI5TB8IAAQQUQ64c+cOw8mTJxlERETAmkGOePjwIcOXL1/ABnNzczPIycmB8cePHxnWrVvHoKOjw2BoaAh3BMwBLCwsKCEAEEAEHXDhwgWGq1evMmhoaDCcO3cOzAYZCgpqGPj8+TNY3ZUrVxh0dXUZTE1NGW7evAl2jL29PcOPHz9QQgAZAAQQXgeAfAmy1MLCgmHLli3geAfFM8iQv3//gjE42QJDBYRBlty/f5/h9evXDH5+fgwXL15kuHTpEjg0vn37Bs2xqA4ACCC8Djh8+DCDvr4+2Gcgw0HxC4tzISEhMB8U7yAL37x5A49vUHo4ffo0g6WlJcPx48cZFBUVweLoloMAQADhdMCzZ8/AQcfOzg4OYlFRUbgF2traYAySAyVIUFoA+RyUSEGhAlIDEgc5hIuLi+Hu3bvghAkSQ3cEQADhdMDTp0/BmkGGgFI0KPGAfA5KiCAfgRwHClaQo0DZkpeXl0FBQQEcGqBQAVkGUgOKMmDFA44GkFmwHAEDAAGE0wEgX4N8wwYsuQQFBcGGgisuIA1KG8gGgRzy69cvsBhILQiA9HJwcIBpmM9hGNkBAAGE0wF8fHzgBAQCwsLC8BQM8g0oepDLAFiCBIWYvLw83AyQ41+9egWOPpDDsaUDgADC6QBQnn7//j04z6uqqoKDE2QpyKJ79+6BsyLMETAfmpmZgRMnLORAlj958oTB2NgY7gF0BwAEEIoDQJaA4hpksJiYGDhOjx07BmbLyMiA4xAUpyDDT506xfDy5Ut4jgDlfRUVFbAFIN+CcgVIDShtKCkpgfViAwABqCiDGwCgCIZ2G6OINWxkGXebGOWnkh6+q0OLV58BOhcoFHF3VBW6GxEBM7sHREGmgJzwnoSUidAQ3NDMYHeRmdcTI2JJ9QQQigNAkrBiE6QBlM/j4uIY5syZw7B06VIGAwMDcPEKChlQAgOlDRgAqX/8+DG44AKlHVApGB4eDi5BQY6CBT16FAAEENY0AFMEimctLS2GlJQUhsWLFzNs3boVXMCAogPkOFBCBQFQOQBKmKD4BmVJUJSFhIQwmJiYwH2ObjYMAAQQC6yaxCYJC1KQZVFRUQyTJ08GWwTKCbDgBOkFpRlQSgdFESjuAwICwI4DOQwUPcjZDql2BFsGEEAs2HyOLgbSBMrfiYmJDCtXrgQHr5SUFIOysjK4hJOUlASrBQW9mpoaw86dO+EOg+mHOQKUyEHtCFAOBhEAAUTQASAASsmgBArK46BEBUrdoCwKK7BAwQ5yFCjrSktLM5w9e5YhPT0dnE5gjREQAPFBCbO9vf3JrFmz/GfMmMEAEEBEtQdAQQ1K+aA0ATIE5GOQhSCfgBwGSuWgohaUc2ANFRCNjkFlSkdHB8hyC1BpDzIbIICICgFkH4AsAwUnKFSQ4xbW0oEVNsiJD9RgAeWQlpaWx1DLn8H0AQQQSQ6AqYElQGT1yE0vEIY10UDFM6hc6OzsfIJuOQgABBALAwUAOQTQAcgBoMYqqJru7+/HajkIAAQQySFAKHRgAFRigmpNYNZFiXN0ABBAKA5Abq1SAkBZDVQoAVM5XstBACCAGEHBmJOTcwXYyNAGpmhgxwZPuBIXCozAJjwjMMU/mzlzpiVQ6Am+KAQIIEZo4hEB8nWg3aL/FAYAI9SMG9jiHN0BAAEGAFSDxYXqY3MTAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/spreadsheet.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAGQklEQVR42mL8//8/Q35+/gV5RUW1H7///GFkYGAAYRD4Dyb+M2AF/6HyWAX+I5EMKAoZgeD/vz//nz19enXq1KmWAAHEAhJkZmRkD8wp4Hz3m4FBno2B4cUvBobnPxkYmJAN+I/GJsRHsxgGmICG6vL9ZqgtyeUE8QECiAWm8t8/Boat7xkYiiQYGJa9YGBovwc1ACjO8BeK/yHhP0jif/GoQwskdlYGhocx/+GhDBBALDA5kNrL3xgYNrxlYDj9mQHsfWZsvoLxmVE9yciIxGeE8hlRtf0DcphZUN0EEEAsMMvlgEGfKQ7UA1RULc/A0KiAIzhBUQ00CZR2EOx/8ND6BxL/B/E6RBih9h9QgJWFhYGXlRHsGBAACCAWWDpjB9JOvAxEAuSkygAJLnh4gyxjhBgKTcD//v5n+Pv7N9gxTIz/GP4yssF1AgQQCzbjf/z4wfDw4UNggoEnQ4Y/f/4wMDMzgzEI/P37FywGUsPKygr25W+gJSBxmDqYGA8PD4OwsDAwYICW//3DwMWFcABAALbJFQdgAIShZPc/JQLC1+GXVk0MCW15ps8fwN3J7jIMATBWFcG6W8yMOuxwV1WJCALBh+fuLjNDb2aifgSC5juvAMLqAJBibm5uBl5eXjgG+YKPjw9sIQiD2CA1IPHv37+DHQtSx8XFBRYDWcYCjG8QG0TDQvHfP9SsARBALLhiGeT6X79+wR305MkTsO85ODjABt68eZPh27dv4CiQlpYGqwHp+fLlC5gWFBSEmwNOB0CLQQ4HqWdkRKQfgADC6QCQb0AWgRwhKioKtlxPT4+Bn58fbBjIEFDQS0lJMXBygssUsINA6uTl5eFqQGKg9ASyHBQqyOkKBAACiAVXFLCzs4MVgzSCLADxQUEOswwEQKHBxsYGToQgAFID4sOCHCYGcgwswaI7ACCAsDoA5Ovr16/DU+779+/BQQtKfCBLYT4BJTyQA0GWgsDPnz8ZPn78CJaHhQAo4YLMA6lHj38QAAggnA4QEREBJyCQoZKSkgwfPnwABzeyA0By4uLi8FABJUaQ70FpApQoQQ4AiYFyFXLoIgOAAMIZBTCLQBjEBmUtkOEgDHMAshjYMCANKwNAZoAwSAyW8LBFAUAAYXUAKEhBQS4kJAT2HShPg/iPHz8Gy8EcAEpwoLiFRQEo5EBRAEv1sCiApX6YGDIACCCsDgAlKgkJCbCBIM2ysrLgQkdGRgbsIJgDQJaDogc5CkCJDjkXgMRu374NDxF0BwAEENwBIENhBoA0Q4pNREkIS1ggMVjUgDCID8Kw4hmEYepAlsHkcDkAIIBY0OsAkIWgRANK+aA8DwoNUFEKigJQVCBHAajYBbHRowAU78hRAMuCILXoDgAIIBbU1gqilALlApBGkKGgoAdFASgqQAkSXr8DLQFFFUwMZBmIDVKH7ClQFCCHAjIACCAWWPCDJGCpF1YAgTDIEaDsBnMMzCcgGsSHicHKARAfpBYWBSAxmOeQaRgACCAW9OwHw6CgBEUBKDhhZTwoFJCjAKQG5GjkgghUXoDSEcxToHSFHgXIoQAQQDgdACpgQBaAfKKiogJOB6ACBjkKQHIgdehRsHnzZnjZD4omkMP27dsHDwFolQxurQAEEFYHwCoWmKs/f/4M9glIDJYjQHLIYjAHgPggC2NjY8F1B8zXsMQKSuA1NTVvZ86cGTljxgwGgADCGQKgoATV+bACBxQFoLIfFgUgNaCcgi0XgHwPyj2wSgqWuEEOq6urezt58mRnoPANkBxAAOF0ACjlgywGBbOGhgbYckVFRZQoAKUP9CgApRdQGgA5BlZEg/ggyysrK99NmjTJBSh0EWYGQADhjAJQsMPaf58+fSI6CkBBDGsvghwBCh2QWfX19TDLLyDbCRBAGA4AAVAtCGrRwBwAsgBUL4CiBSUFA32ILgbSA2ucggAo6lpbW0GWO6NbDgIAAYRRF8DiFBTc2OTQHYwsBgtBUNyDHAKyvKurCxTnLtgsBwGAAGJBrwWpAUDRA4qa/v7+t1OmTHFGjnN0ABBAjCAf5ObmXlNXV9eEBRslANYOfPr0KchyJ6DQJVxqQXYDBBDYAcDspgrEjkAHgHvPlDgAaB44Qbx48eIYqLtJQC0DQIABAAtA57jciQkeAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/tar.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAIOElEQVR42mL8//8/Q35+/kUFRUXV37///mVg+A9GDIxACkSDmEA2iAPlggFEDiGCxmWAq0YRAxsLxP8Znzx5fGXq1KkWAAHEApJgYmRkz8wp4Pz5i4Hhz9//DP+AYr///GfgYGNk+PHrP8P3X//AFoIc+w9I/wM5BsoGi4MgUNM/Bqj4P5gaqB4GBiRxBgY1CVaG5ppCLpDdAAGYIHcTAIEgiI5wRYipNmCplmQFBmJygWBgC+rdfnQ8EAwWdhh2ebzwwYkC86YEMHRNQNwFbR0wrRfG5aCFm1COZI6sxt2QmJWgYv+OI1aymJcu8+d7k8RxChCHnhaq4uYRQDAHgIPm9Yd/DHzcDAzXH/9mYGZiYLhw/yfD1x//GDiBIfHnH8hHjAx/QQH4HxQ/EJoRFq7ggIUEMCNIHAQZGcEOZ2RkggY9IhpgACCAWGBxw8PBwGCtzQYMpn/gaGACqvr7j4WBCegQex0uaHD+gwTnv/+QIGZgAVrKxPDvz0+Gv0BfgkT+gRwKxH+RownM/wemGYDqhXlYwPpBACCAWJAcwyDGB04RDMSCf58fM/x6d4+BXcaSgZEZ6IP/fyC++Q9xICwVgxPkPwjNxAQKRQQACCBICPz/z0AK+PP9I8OXO9sY/ny6ycDAwszw4elVBiGTZKAjWBn+/v7FADMTZi6MDcMcHMxwswACiIkUi/8Dg/rLrW0MH89PYGDjZ2QQ0PdkEDGNZOAEBt2zQxMY/vz4wsDEwo7XQ6AoRgYAAUScA4Dx9/3xMYb3p3qAnGcMQmZhDFxyjgx/f3xj+PvzEwO/iguDoLIyw6P9vQw/P71kYGblwPA1JBv+w3AcQACx4Lf3D8OP5+cYvj85xMDKycAgoOfIwMQjBkydP4Feec/w+8sbBmY2NgYGtrcM/Ip64AT7YH8fg5RlJgOPmALDn5/fkAqu/+CEysSE6meAAMLpgL9fXjJ8vDQHmCQ/MnBLajKw8kkw/P30jOHP23uQZAV03M/XzxhY/n9jYPkrwcAA9DWvtDyDMtMfhhsHJzJImKUwCMvrMPwGRguy7yFZE5ERAQIIpwN+vDjPwMrLxsAr787AAHTM/5/vGUCK/7NANDMyczFwsgPLjqMLGX4xAbMPtzgwXUgw8IvLMijqqTLcODSZ4YdRLIOEminDn98/wZaDfI8eAgABhDsKmJiBwQvMWqxAW4Dhz/jlBbTAgrqehYXhzxdg0CvoA7MVK8P3L98Yfnx4wfDs7SsGNm5+BjllCYbLOzqBlhcySGpZMTD++wGtVxhRrAEIINwOACr8D4rrXx/AWY2BnYeB4f1DSLEFKnz+/WX49+s7A7+kHDA0mBkExWE1F9CHwOhhYPzJ8FKUjeHj6xcM0kBf/8VhDUAAseBJ+MAMD6qdvgPxT4gjeEUYGN7cBlvwF1i2M/39wcD4/Q0DuJZhAhoFCt5/wML+P9A6bh6gpcyguIIXy9hCACCAcDrgH6g8/wt0wN9vEIeADAVVEAIyDAyvrjH8+fiOgR1Y8ADDHWgxK8TFYDWgXMEFpv/9h1rOxIhhMQwABBDuEADlXVgIgBwCrm//MoArCREFBiZg3c3KAPTtH2Dc/vsKCQE2bkiaYQE6goUVGFmMkBhDSvnoiRAggFB4P378YPj9+zc8BP6DLP7zDYFBofH7E9DEfwzsEsoMTL8+A9PIF0i8s0AtBoUKKBSAGBQFoNhhxFPWAAQQSgiACoo/f4Btgv8sDD9//mZgBwUpOApAjoIGMSwUfvyCWswBtxBsOROUZgFFAaQaRs5+6CEAEEAoDgBJQspqUCuGheHb+/cMgmLckCgAi/+DpnBoCwJkKSj+WVihlkNpKAbVvsygEGDCnQgBAogJvTZkZIQEPb+iBcM3VgOGx9fuAaMfVPQC08Lvb5A0AaJBaQIc12wIS2EOAZaKDOzAsuHbN2CI/gUHGCwdoJeEAAHEhJr1oQqAIcAMTEyydjkM33k9GK5ffAXMCECL/3+HZsvv0BTPjgh+sGOAfB5uhh8/fzIc33ya4cMPcQZZTV2G379+g0MWhEHRjNQIYwAIIBZ0ByCywV9wU0rJIY7h2RUVhkvnpjNoqfxk4GABRsFfUNjyoiY6Tk6gRf8Zrh27wbDxDDsDC5ckAxe/IMOmnfuAgbUb3jhmBhZav379AoU6uF4GCCDcDoC2Zf4CfSOtYwX0LC/DuUN9DHoKrxl4uH5BWj8swPzOzg5ObHcuPWK4/ZiNQVzLh4FX/DZDRmYWAysLM0r9zwasOd8D01VNTc3rmTNnhs6YMYMBIICIag/8ATpCUlWXQdm1juHMHRmGt++AwcgBaloxMTy485Jh7/7XDG9ZHBlsYtoYTFx8wIn5D7RlBGKDfA2y/PPnzwx1dXWvp02bZg+Uug2SBwggAiGA5AhgsInJKTKwBjQwnN/YwSD0+gHD26//GdjFbRkMQ30ZRCQkwE16UDYGJWpQMMOyHCcwekA+r62tfQXsjIAsvwEzFyCAWEhpkv0GGiooLsFgElzNcPvsYQYjQ2sGIVFxYOsZYiEsjkEOADkEJMYOjKI3b94wNDU1vUa3HAQAAgijHCDUQP0LNJhXUJjBxC0I3AQHWYRcwMBokDgHBwfY5+3t7VgtBwGAACIpBJAbluiNS3TAysrK8Pz5c4YpU6bALL+OTR1AALEg50lQ8FEDsAAbK7du3fq7aNGiZ7Nnz3bD5nMYAAggRlCQ5+TkXJaVldUC+grYnyCxk4DekAL2PL5//w7y/ROg5eZAoVf4alyAAGKENhSFgXwNUCCgdqjJAoyQSgPs6zd4W91AuwECDAB5pb2L+BJ+bgAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/template.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhGAAYAO4AAP///+/v78zMzN7e3ubm5sXFxdbW1vf3983S1fbl4Pjv7/fn59V0T95yMM46C9prMfHc28YwCdxLIOZ+Ne7QzM5qTL6+vt1kIcxGFOJtTKSkpNNWG8ldQGZmZs8xCOeGL+x5KuKvodVYG9ZXKtyAVdRVJ9+mlri6uu72+dKBa/Hc2OShg+e+ttFzV8bKz96GYuSxpNpnK+aokevIwOSuniUlJclXNclwTM1iQu7Qya6urep4KtSZgeaqkuW2q+rEustJGeOAOO97Jce+v8eEa9uUfwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACH5BAEHAAAALAMAAgATABYAAAf7gAAABwaChocAAQOIBBYBiIcCBYgDAwKQgpWXh5UEhZACB5OHBJcCj4cIBAGbhwUBrIesBwiLlAaEqACnAaOIoqubngEGn6ADxIuvBK+YiQXBtQSWzoIFAwSNAcwE1QCWARodAszeghYGHTUa19ULFAooJzonAggA7wqHCisTHxM8XBSwN6TfhyA9DL0A0YBEAxBEUABAcENIwwY7ZABgceEBBAAQHlxYAIBCx48hY6goIoKBIQYbZgCg0fLlBh8wMIxIACBBCQwqAPzQydMnkBwHcDiQkEGCgwqCDthY2tRBC0EJOETwEKECSaxauXo1pMBEihCQyp41FAgAOw==]]></data>
	</file>
	<file>
	  <filename>/images/txt.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH1AccDAgsHo/fIQAABG9JREFUeNq9l89vVFUUxz/3/epMp9BO27G1VkIBIaQEFTH+CgYxopu6EBe4MHGjYcHehf+DKwMdSYyNCbIxEZCYGBYksyBhIz+MiNGIUKBk6M/pzHt99717XAwzdPqm7bQqJ3l5M2fOe9/v+Z5zz72jRIR8Pi88Zjt27Ji6cuUKiAijo6PyOG10dFSALSKCs5jVNxdCtj+puHE34vVhl+8ulnl2yOXibz5hZAhjg46qV+1zGBl0vOS+XGxsuHn8pQYlrKXSVEKhd6PiVjEi7SnmffO/lqJBgYPPORiplkUEhvocROD5obaqH8EIGGMwRoiNQWrfH95jI4gIRpr/viKBvi5rVcZVctULo4knL8PGneCkH/mXxC32r0hgrWZd/wgd7WGmcJKpcZ/Bw5/hZfuXBWzmWxOBhmzKf0D3DVKpDfRv/ZRev8yvx48ydPRLnI5sMr6VHlgNfLGp25+j+q7BPQ9K7+CYQ2wZ7qMy8RcdW7sS8SJCHMdJFdejAOEDVMdliDtg8iqIB9fPMVOcY8O2Pcn4h6a1Xh+BRPZ/f4HKXIPp3VXH/CAm/QTsPNRUchEhiqLmfbTm+kc+yrsAIjAzAW1b4dY9iqVOul8eadovNfmVUmsnkMj+zhiq8xaU9oFZAL0DSXcT9L8BqKbZa61RSq2PQGM2Biv+CdAwF4HXB3enmApz9B74MBFvjCGKojr4mgksraeaOIvqnoPgFYhKoHaBm2HGHUa5bYlBVJN93QSWErHmvwe7AqV2cDqh6DMX5ci9/UlDfBzHTcHXRCDRzdOXUDkL9E7QU+DsArEolrpwOrJ1yeM4RkSagq9KIAzDpk0kIliTJ8Gdh/lesDIwp/DJkX3z47rctc1mOfBmBBomYRAEBEGA4zjYto1lWdVs/JtYPe0QD0I4Cd520CUmxiN6XhusT7ilAL6/QKUSICJksxuxbWtlArUX1GpYs9Sdr2BTDLP9YIUQZNC2S2rv/gSoMYZKJaBSCTDmkZqzs/P09HSuYy/Q0zjdHSCAngXvaZiLmPjzAV3v7Vk0ZiPKZZ+FBd1089E6IggW8DxvdQUaAornUAObYcEHaxyiHozjozYPo5QiCELKZR+toxXfU+2xCNu210ZAmQpE+8FcBScHvuH+73dx931AsThdl3nxs+fP/7i+I1lTAkrA8qBtL3gRtwvfMuNtp70crPjikZERHMd5eHwziAiu62KM4fTp0wDllghoX6hV7ebZr5nf8AyZ3W+tmlkul8N13YQ/n89z5MiRARG531ITlmZjLhV+YWCiQLzpVdq3vbhsbCrlkcmk60u6tpJqjXfixIka+L2WS7DgC+Wff4ADh0kP7EhOMkuRTqfIZNIN61xrXZc9DEPGxsYS4C0RaOvcxK53D+L0PNUwnm3bpr09RTrd1rx0WmPbNmEYcurUqabgLZUg+8L76zsxWxaVSoUzZ84sC54g4LruiifY1UwpVd8PisUihUJhRfAEAd/3/zWBWjlaAW8gkM/n/9P/fK2AA/wDBrxkMKMQfQgAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/images/unknown.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAADPElEQVR42mL8//8/w8yZM/8z0BlUVlbKvXv37jFAALHABNLT0+lmOdDDDKysrNJA5mOAAGJBlli6l4EBGCAMv/8wMPwC4b9A9m8Ghr9/oew/CPwLSv8BiQPxnz8QvfjAv39AO6ohbEbGP2DVAAGE4gCQyL//EIPgmAFK/0MVQ9aDrB4nYETVBwMAAYTiADN1iCEgR/wD+uovjP0PiqHsP0AJEPsvkADx/4LV/gM7Euasf/9gzgOZ+R8aAiCaA8UBAAGE4gA1GWJiEBxOyP5HYHhQ/IN4BKTuH8QBMAxzwO/frGAaIIBYSE1AEDsYwYZBfAQNNSQ2TB5BQ+IARLNxQsxhhdjPABBATKRZ/h/NNwwobGxqkfn//v3DUAcQQEzkZCNsjsAmjiwHAn9AWQUNAAQQE7mWYrMAl+Uw3/8G5WkogLEBAoiJ0kIFW1RgY4N8jy2qAAKIiZy4JzYdIAqgf8Cs+peBiQnTOoAAYiE36AmFBAzDgp6RkRGM0QFAALEQYzmxIYGuB2Q5KOixWQwDAAHEQko8EwoRZDFQkMNSPT4HAAQQC6mJDFvco2OQxSDf47MYBgACiIWY4CclHcBSOzGWgwBAAKE4AJRYWGFlJAmJE5bKYSUdsZaDAEAAoTjgy5cvDMzMzAwsLCzgLIOcbbClbpClyCFDisUwABBAKA4AGQAy+OfPn3DD0A3FFg3kWAwDAAHEgs0gfAZSYhkIgDyHDAACiIWahsOLV2DU4TILFMWQ6hiS1gACiAVdklBKJwYsXbqUmEQMdiFAAFE1BED6QQkTBHx9fcGJGZSmQBjkMZCvQezGxsZdr169ugdSBxBAVHcAzAxRUVGsWbq+vn7PjBkzkoHMVyA+QADRzAE/fvyAhwYbGxuYrq2t3dPW1pYIZD6B6QEIICYGGgFQofbr1y9w0IPo6upqDMtBACCAaBYCIAeAEjXI8tbW1j3d3d0YloMAQABR3QGw0hNEf/v2jaGnp2dPX18fVstBACCAUBwASrWUZENYSQoCr1+/Zqirq1uwdu3aGiD3KS49AAGE4oDv379T7ABYKBYWFk7ctWtXBSg94tMDEEAsyD1WagKg5bWELAcBgAADAJLuk5yS/dPUAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/user-report-icon.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAJK0lEQVR42tWbaUxb2RXHj1fAZgmB2Oz7TlYgEwgl00YUKVJnlKmm0kTNKB+mk2+V3OXDtFVGTVR12khpGwmpqdJUg5pGmiSdoZOENpmM2gGGEIY17IsxZnEIhLAEg/H2eu/jmtjGPL/nCzYc6ej5nfcw/v/eOefde/0sAp42MzMThzYZyEXI+P7ZptnKygoYDAZoaWmZOnv2bO9mvS8vJUj8L9DmN8jFflfuZhcuXFhCduLq1au1fgFArvyYGJlEIgm0fjh//jx0dnbOS6XSipqamiZ/AHgdbf6HxdtstkDrh0uXLkFXVxeYzeZ59Jkq7t27RwWBN4BAC3dYZWUl9PX1YQBrEKqrq32GsOMAoNqHwcFBsFgsLAS0nUfVWXHr1i2fIOw4AFVVVaDVasFqtbIQiLMQbty4IRiCVwDPnz9/Hd32tg0AJBJ0Oh3bj5whoNcsBARIEIQdB+DmzZug1+tZAA4IDndkwrVr13hD4AUA1pUAA9BVCeKlUZCE7fErgH+2BYNumgG73b4GwRkEhoAb45UrV3hB8Apgenp6XQaIFvVgf3gaQrK+BdbZCb8CaJqIhkfT6SwAh3vIhvm4uLiKc+fOeYXgEwCYGwDLF2eAsSz7VTw2OyOGRtNR0FlSwWYXgYQxsRDkYTFgF8kAj1cYhgFUCvO5ubnfqaioaKMGAO4lgACY7r7td/FcFvy92wC7slxiCwsLmvT09MtUAKamptZlAIMAGKu/H2jNLqY8+SmI3ACgstDExMTQAwC3DGBmB2Dhs7cCrdnFwt/6DESRWe5hjUqlogPw7NmzdRlgn+2HuVsnA63ZxXb9oBrEkdkuMdQLNGq1mh4AuGWAyPQcpqqO4f8QaN3kA4lBdaYWmOAo9yP0ACYnJ9cBwJ3WMv41WF9oAy2dNVlUBkjjj3qardL3gKdPn3ocCQZiVYjLGA/ZiEsgNjaWHgBso8mQQKMHYDAYdjQANCKkAzAxMSF4MmRH2fjk2SL75vvUoSAOULXgEoiPj6cDMD4+LgiADYn/8MEANOumcaOAkrQ98GF55joIK2Y0hfWyxIb7jCI4iIbB5gAAASVQNzIHv77bwU4YV0UAnH/jIJQmR7ic9/l/G1gI3qyitAgiQpU+A0hISKADMDY2JgjA378Zg48bhlxiPyrLhFMFCS6xu181gmnFzAtAuFLhM4DExEQ6AKOjo4JKoHHkBfzy0xaX2MW3i6AoKdIlhhOE4TGQElPcbnEPSEpKogOg1+sFARCJxfCHBz1wp22E3X+zIAV+Up7LS+xmGwaQnJxMB2BkZIQ3gBUrA5UPe+BQSjTsS1i94j2GORieWoAzpRl+vxtgACkpKXQAdDodLwBY/I8/roWhyTkIkkngL+8fh9AgGZz58xdgNFmgMF0Nv3unGCTkP/6n/htY5tEDuOy1fdkQr4rmBJCamkoHYHh4mBeAf7ePwcV/vVqBSooOB1WEApq1k2uxj35YBsUZKvZ1TV0TmC1WKgCFeZmQGMO5JkkPQKvV8gIwNrMEP/vbl2DaQFS4Igguv18OUUo5u2+x2cFqpfuqLSQIvxdnb9GkpaXRARgaGuLdA/AscaNJEm6CAfhukX5JbHBwcFt9LyAUQEZGBh2AgYGBHQsAN8GsrCw6AP39/ZwA2vuHeY3otsJi9+yG5FgVJ4Ds7Gw6AH19fZwAHjxq8zqp2SqLV0XBgaxUTgA5OTl0AHp7ezkBzL5cQmMAutuZrxYWEgzKYDkngNzcXDoAPT09O3pBJC8vjw5Ad3e3YABiNB+wgISdCkvs1oDMAxwA8vPz6QB0dnYKugvgscAd7SLc7lj90vSdgkQ4kaII1PNFmr1799IBePLkiSAAukWAD+50g81uJ0DEcPGNfEh2W9No6dV6nQvgQVVBThoZ8Qk33AP2799PB6Cjo0MQgDuDC1DVqHOJvXc0DU6kh7nEvmrt4XX3eC0/A8IUIT4DOHDgAB2A9vZ2QT2gYWIZ/vhln0vs5+U5cCTOVYSVEYGVZAmXhUjx193ez9vANAcPHqQD0NraKmwkKJHBB5/3gHZqnt3NVEfAR2/mAWP1vv63BaY5dOgQHYCWlhbeAKRSKTSOvoQENBXWEwDJqgh4aVyG7Cg5+yCDPw2XQGFhIR2A5uZmXiUglcngr1+PQE27HmJ2KeFPpw6DFL37Tz9pQVPlRXi3LBtO7lOxj7Bg69MbwEw5HU6JiYZwJWd/0BQVFdEBaGpq4pUB7YYl+G1189p+cVYcJOwOhduNA2ux358qgdRIGfv6UdfQ2p3CV8tMUIN6dwTXKZrDhw/TAXj8+DEvAIMzZvjVP+o3PI5Xdy+/921QK1b/pZkRU88hFDIJyvONIeISOHLkCB2AxsZGfiWA6n/WZIcVi2dRiiAphEoZf/cBTXFxMR2AhoaGHbsegAGUlJTQAaivr9/RAEpLS+kA1NXVcZbA9PwiWCi7ua8WpghGU2LOL081ZWVlWwugbWgMdfPAzPaiwpWQGhPFdcrWA5hdtqLGF5BRHnv1lTLOnzFtPQDc/QP1WyL8mLyXuwo9gNra2h3bBPE44NixY3QA7t+/n61QKPq8nbcdDWXIu8ePH78uGMD169dxXIRSWySTyUSRkZGfyOXy7fVwsBez2Wzds7OzpQjCotlsZh9HOH369LpuLSKCpWgT5ObByPHAXYFKIBRlwXcREPwbQjk5JnEDKCFxOfDILB8NC8DLSCas0S1uI3EzSv0Fo9FYg/rDDNpfQm4hx1acHQGxipB4LDIReQ5y/BwLvq/sQh5BBOHFrFAnwTimIHCchYrdAGw2BMYNgN3tmIWINTkBWURuJDE8P59DjqGMI8dlPYYBYDEFyMuR46eNVUS80kmQlAgWO7nIaess1pN4X4A4BHPFHPt2p63DMRCrEzAjgTCFvB/5Q+StIpL+sbD6w2ic4rsJgHDiGAAuiTCydYiREUhcV9zXrOC62p7OMRLBjhhO8Zdki48vEMcAXiA3IMdPcj119AAx+ZAOl8GrPiAlMSW8SnsRiYU7QfFkMnKOAoT/8BqLXiIffKORlkPsAhHqAGAhUMwkCxz1byEx1lEPsG94RRx3ArLrnO7OV1fiIQ5u58gIRF9KwEo+tJ3jHHzMBut7gqMs2H1PdwBs/we+9ztU60SvBAAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/video.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAHYklEQVR42mL8//8/Q35+/gUFBQXV379//wXxQRgG0NmMjIwMyABZHh1gkwPqZwSK/3/+/PnlKVOmWAMEYHSMUgCGQRgadDDoUTxZr+F99VuQVoZl+19+Eh4h5HrhPecc7v6VQESICDAzMvPwzmaGtRb23qiq43/Vh3pXRKCqo9kjgFhgEiBDr1+/zsDNzQ228NOnT2DDJSQkGM6ePQuWf/fuHcPDhw8Ztm3bBrb869evDD9//mQgBbCysjLcv38fzgcIIBYYA2QgyAKQoSAsJCTE8Pr1a7AcyDEcHBwMoqKiDOfOnWPg5ORkAEYX3PcgvfiiCCYGUs/CwoKiBiCA4CHAy8vLYG1tDVYE4oMUqqqqgoNMX18fbCGIDVIDokHqYGqRHYBsMYwPY4PUsbGxMfDz88PlAAIIHgIgQ2VkZBioDdAdAbIHFMUwcYAAYiHHQGTfgRLmxYsXGUAJ2NbWFhy8oPQCk0cOHVh0gEIXBgACiIkc38ByCsjyTZs2Mdjb2zM4OzszNDQ0gA2HWYCeJkB89FwDEEBkhQDIUBBev349Q2xsLIOenh6DibERw6SJE8G5oqOjA5zaYUGNnAbQAUAAsZAa9DDL161bx5CYmMigra3N4Ofry2BgasOgqWfEUFKQw3Dt2jWGpUuXMvDx8YHLEmTfgxyGDAACiIlcn6elpTGoqakx2NpYMUgpaTPI6tow+IYnMcyZvxhYbpxhCA4OZvj8+TM4+yL7Hj2bAgQQEyklGEjzhg0bGLKyssA5Rltbi0FZ25zB0M6bgYWZkeH3HwYGN99ghh279zM8f/6MISAggOHLly9gX4N8j245CAAEEBOxPgeBFStWMBQUFDAICwszSIiLMfwFpnZ5dS1g6cnMwAj0IEjVr98MDOo62gxbtu0AFtuvGQIDA8GOAIUELASQHQIQQAQdAFPc0tLCUFxcDC6Qvn79zGBu68LgG5bIcO7QDoZXj58wgMxnYoQ4AhTtSooKDLt37QaXrjExMeC0gF4KggBAABEVBSDLFyxYACyCORiePXvGYO3gwZCSW8Lg5OnCYGHrzHBy30aGd69eMrCygRwMLBuApn79/odBUkqKYcaMGQyHDh0CJ0x2dnYMBwAEEAuhKhVk+ZIlSxh+/PjB8PTpUwYnN1+Glt5pDKwswNryKwODnrExAxfQYVdO7mPgtHVnEBETYvj59QsDE+s/hi9/mcBlA6j4BuUWUAEFSkvIACCA8GbD5uZmhlWrVjF8+/YNmKieg2vKf/+A5f8/kEHM4CD/A6ypVbW0Gbi4OBke3DzP8OurHAM3BwvDb2DCA5URoCgDJVweHh5wuQAqvJABQAAxISc2UCECK6lAlq9duxaclR4/fsxQ19zOcPfZBwYpKQmG5MhAhs+fvjJwsEPi/C8w9cspKYEt+frhNcN3oIOjo6PBZoFKSlDlA2tToAOAAEIJD5AGUBCBChGQz0EJB1T/d3R2M9RXlTHw87IwTJk1h0FWTp4hLz2R4d2nbwzsnAzgBHj/1k1glHxmeA1ssIAsB/l048aN4MIIZDnIXBhGBgABhMKD5XUQBoUGiB8VFcVQXlbC8AsYMMBkAPQxI0P35KkM0sAEVlOcw/Dw2WeGvTv3Mlw9d4Lh5cuXDLm5eQxiYmIMa9asgVsOMxM9C4IAQABhpAGQr8PDw8Gto5UrV4ITzunTZxhMTU0YvjNC8vl/RiaGus4JDN1NtQx58X4MXz59ZBAQ4Ge4e/cuQ1BQEENvby84SmGWY8vWMAAQQEzYJEFRAUoDIIecPHmSob+/n+HU+cvgoAZlmD9AR7AAi3QFJRWGv7++A33Kw3D+/HmG0NBQsFpQsYtc5+MrXwACiAVdEIRBBoBSL8gRIEMWLlzIwMnByRAWm8RgYmXFAMwIDDs2bmE4uncTg4SkJMPx4yfAdUNXVxdY3/Tp01FqPvT2Ayh6gfJgAYAAwuoAWEMCZBioHACxQY74DcxzP37/BUfTkd0bGHh5eBn27tsHLulAlsNayiAcFxcHzhXIDgEVx69evQKVDS9mzZoVNHPmTAaAAMJbDoA0g9JAW1sb2OWTJk0C8n8zKAOzHC8vDzB/bwRHU3d3N9hykFqYB5BTPQx/+PAB1Bx/CQwhW6CSByB1AAEEDpqcnJzroCAB+vg/MHgwMEgcBIAl4n9JScn/7u7u/5WUlP6XlpaCxYEWw9UC4/5/X1/ff6BP/wMrITAGmQ1sYf8H1qLPgXaqIEcNQAAxYYsCdAzrN4DyN6hsBxXLKSkpDJ2dnfBgR89mIHFQFIJCDlSK1tXVvZg2bZoNUOoOsp0AAURSiwjkCF9g68fHxwccpMiNT3QAK/dfvHgBSh8voMF+F10dQACxYPM9oXQBUgMrsnHlc1AjBGT5hAkTQJbbYLMcBAACiAW9JEQvKskBoHof1EwHdj5x+hwGAAII1FNlyM7OvqKoqKgN9B2od/yfEstBvV9gYmQEthteAdOLLXqco0crQAAxQptcIkC+DqicAIlToUPECLX4IaF0BRBgAG4Y+/r2qXM2AAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/images/wordprocessing.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAAB6JQAAgIMAAPn/AACA6QAAdTAAAOpgAAA6mAAAF2+SX8VGAAAH+UlEQVR42mL8//8/Q35+/gUFBUW133/+/AFyGRgZGRhA4iAApcBiDFD2fyQSREFZeMX+QwlGIPj//+//58+eXZkyZYoVQACxgMSZGBnZ07MLOD99Y2BgA4r8+P0fTP8E0iCLQXZ//fkP7CiQQf/+QWkg/98/kLlACBT7B7IDREMdAJIH6QHzoWpBhqmJszA0VBVygewGCEADlRsBCMMwcbABJTswKmsxQqhoqJgA4i8oQNxYJ8k+2UNLpw6sm2IaAfeCS+NXCvZTkI6bwQLGbdmC/oCwCwfVnJg8uYr5R+oF0jz++bIYouuRlvk9qtYjAE1krAMgEMLQtrCYOPj//+eqi+PdIZwnCQOFhPTVf1Al9GC+I86r4diJ+xmQgH1zmAueLjg4qYhYdAKWgzTATlhqzQIqR3Nf99lRuQpBfXGuegWgkYxSAIRhGBrsWLuJ+CfiHbz/xTZ0zoq1YL5K8xNeEv6eJgH2rfidFkUSxjp2x6iq5kWknFFLxXk1Q0oWKjijdjTcqp5oIELvHcKCyOz/b0eP8VejRxQwJ/JaPr0CEEnGOgjCABB9ajvQgiN1cGDp/3+UJA6g2LQTtEpLInzAJe/enfgfrVCl8MB9HEpV/GLFOcaS5DUOGGO4tR399CS8R6SUG5AQF+bTArm19x5d13mmBXu3NFfNtwDs58xmstI5HQpWAcTCgAS+AX3CxsEJiQpgXDECw/PTp/cM7BzcDD9+/mG4d/8Rw8+fPxk4ufkYfvz4wfD1+y+wb0FBrK2tDXQ4Fzi0QAkOJPbtx2+k3PQfyv7LwMbGBrcTIIBQHGBsbAxng4IMZAjMAEZoxP0DJ2UEgFkI8hlIDQswWkBqQGLMwOhAdgBI/A8oVJEAQACqyBgHACACgldS7v8/qdGoZCQuoUIWgwMQEbMZjdx9TkoRPs2wqvoQ6HaYmb3MHCDeQ54a4gVHJ+kAtADCcMD379/BmniAcQnS9O7dOwZubm4wBlkOCnKYQ0C+BvkIZDlIHOQAWJTAMChEQBaDxEFYSEgIxQEAAaiiYxQAABCGgf//tdwQqC4KSo31AbgeIXH0Ls9SSwgBMQcQaI5Y5re5IuvT2bqXFCeAUBygoaEBDnY+Pj54vLEDsxLMQFAiA7FBNAjw8vKC+U+fPgU78MuXL2AHfvv2DRw6/Pz84FABJVwYHxaVMAAQQCgOAAURzJf///8DF07A+gFsCD8fPzDv/oMUjkDHfPyISC8fP34ERx8oNEAOBvkW5BgQBoUgKFpBjgaZDeIjA4AAQuGBFDx/+Ybh3aev8FoIlI9BFr37+A0SfFDxX79+MMjJSoMtAxkKCgGQA0COBQEQH5Q+QNEIUgMKAZB+kBhyKAAEEKoDgPj560/A0uw7vCYEhcTfP8A0wfoL5BwGmBtYGP8yyMsywLMVKJhBoQGKFpAYyNeg3AAKBRANcgQoFNCjACCAUBwACnJ+HnYGVmhBAS5CwQmNAVgYscNDAFzT/f0NrvlAvoelGZjPQVEJSpCwwgfkAJAYyHGgkEAGAAGE6gCgD1SVZIAK+aAWgbLPH3D5z8/PB04D4EIHWKGA4v3fv7/g8h5UTMMKGliCZUSqcWAFFShkkMVBACCAUBwACjZQLvj/H9Eg+fsXlAi/MTAyIQodkCFfgSkdlKrBlQy0sEHPYjCL/0MrNGwAIIBQHPAPWG+Dgo6NjRVsCcinoNoM1ADhAeYMcAgA2SDHgBwG8zEoG4LiFsYHeQRWNINCChT3oDQiLS3NICsrCy/MQAAggFDzBNDgZ8Bc8PbDF2h8M4At/fnzB8Prd5/g8Q9KLX9+/wQmQil4IQMK3k+fPsGzHSh0YGUCKHeA0sGLFy/AJSEoq8IAQACxoAQdkH755jOwFvyBFI6gXPCbgeXTH5T2HQvjP3AuADkAlE1BloIwqCQVEBAAR+VfcOhB0gTI0vfv32MkQoAAQgkBkKQgHycwF7Cj1Irfv30F5gI2RAsV7K6/8MQmKioKDgFYigflBBEREXi+h9UHoFCBlawwABBAGLlASV4SnF1giQ0UX+/ff2AQA1oC0whyKCi4YSEnISEB1w8SmzFjBkrCRE6cIL3QNAAWBAggFAeAXAoqOD5//gLXBEv5n798QWkbgIpoLmAcgwxEbyOAfB0XFwct0hEOAPkeZH5NTc3bmTNnRoAcChBAKA4ABR8okcB8D/MRMo1c28HiE7kRAhMHiYHMg/kallbq6ureAvsDTkDhmyA5gABiQc6zFy5cALseFkygLAlKUCDNX6AhALIIFPxSUlJgPihhgcp7UGkISvGghAiqD0DmgLIezOcgdmVl5dtJkyY5A4UuwewFCCAm9IIDZBDIAWJiYuC8DTIMlJdBCQjkIxAflK9BqRyUvUCJDWQ4yIGw1hAIgxwAkgcBkFqo5S5A7kVkOwECCCUKQBpAjoA1SBCl4V+Gt2/fgh0HK2xAGFbZwBomIIfDqmhYIgTJt7S0vJ08ebIzuuUgABBAGGkAFOyw5hjIEJClr169glugpqbG8Pr1a3BWAwUtrHqF1XSwFhIoDYB83t3djdNyEAAIIBbkLAhKtSBHwJpRsAYKyHCQRaB4B6kBFan4wM6dO8HpZOLEibAEdwmXWoAAYgRZkJubew3oM03kJjR6+YAuhtNAUH8AmBifPHnydurUqY5Aocu41ILMBAggRmgJpQIsfByBQc4E6j0zUACA5oHrW2C5fxRIXSGglgEgwAAnIungv6dsbwAAAABJRU5ErkJggg==]]></data>
	</file>
	<file>
	  <filename>/images/zip.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABGdBTUEAAK/INwWK6QAAAZxJREFUeJzt1r9LVWEcx/H3Oc9zO5pYgSKCk1BERD9GhxxcIiHFhGthDUqLk9fBazfScPJG/QElbQ7heAVncQgR7yCCdRGx5YIhkXJ/1dXjc74tqTSYQzxn6bzWB573Z/zCKXoZTTVz5dpp71b1M/o6U7cqjbR0hh6Pk0jnB0uy8mBTLtB8L9R4n0qkt57siiyKfOz5bMIYoI/jtYn0VO/LVFN7DaXcT4JKgLJd/z1ADTSm0lPxiWTD1RjVgo8uKjzluaAc6wPu8Gi4qzWe3ChucZD1BXHQh9rJf9sxBiO2Bzgx6m6AuW4wDqijoAMEAdUlIG97RCQSiUQikf+b9ZOrg4d3+72RzqoqHV9X2tdO2T9Ub3n+3nafbmfwzV7qQAofKrI3U5YfM/uyfvOr9DCUg9gtffYX/0bOUcUI5rshhmZ7ucz4p8lshukEsGZ9gFsD/m6ADmD7S4Wx+fHsnJkeBpYBXNsD0C71lz2KxvBsYSI755/EQxng1Wu3JIbk7IuVTOHdH/FQ3L/09NXjprEc0BZq+Mh5Lt7+W/wXG9yT6kNdK40AAAAASUVORK5CYII=]]></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[PD9waHAKJGxhbmdbJ3BhcmFtX3NlbmRmaWxlX3RvJ10gPSAnQXBwbGljYWJsZSB0byB0aGUgeW91c2VuZGl0IGFjdGlvbiBhbGxvd3Mgc3BlY2lmeWluZyBhbiBhZG1pbiB1c2VybmFtZSwgb3IgYW4gZW1haWwgYWRkcmVzcyB0byByZWNlaXZlIHRoZSBub3RpZmljYXRpb24uICBJZiBub3Qgc3BlY2lmaWVkIGFuIGlucHV0IGZpZWxkIHdpbGwgYmUgcHJvdmlkZWQgaW4gdGhlIHlvdXNlbmRpdCBmb3JtJzsKJGxhbmdbJ3BhcmFtX3NlbmRmaWxlX292ZXJ3cml0ZSddID0gJ0FwcGxpY2FibGUgdG8gdGhlIHlvdXNlbmRpdCBhY3Rpb24sIGluZGljYXRlcyB0aGF0IHRoZSB1cGxvYWRlZCBmaWxlIHNob3VsZCBiZSBhbGxvd2VkIHRvIG92ZXJ3cml0ZSBhbiBleGlzdGluZyBmaWxlIGJ5IHRoZSBzYW1lIG5hbWUnOwokbGFuZ1sncGhfY2FwdGNoYSddID0gJ0VudGVyIHRoZSB0ZXh0IGZyb20gdGhlIGltYWdlIGFib3ZlIHRvIGNvbmZpcm0gdGhhdCB5b3UgYXJlIG5vdCBhIGJvdCc7CiRsYW5nWydoZHJfYm90X3NlY3VyaXR5J10gPSAnQXJlIHlvdSBhIGh1bWFuPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9maWxlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGZpbGU/JzsKJGxhbmdbJ21zZ190ZW1wbGF0ZXNhdmVkJ10gPSAnVGVtcGxhdGUocykgc2F2ZWQnOwokbGFuZ1snbXNnX3RlbXBsYXRlcmVzZXQnXSA9ICdUZW1wbGF0ZSByZXNldCc7CiRsYW5nWydzZW5kZmlsZV9zZXR0aW5ncyddID0gJ1NlbmRmaWxlIC8gWW91c2VuZGl0IFNldHRpbmdzJzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVzZXQnOwokbGFuZ1sncHJvbXB0X3NlbmRmaWxlX2FmdGVybXNnJ10gPSAnVGV4dCB0byBkaXNwbGF5IGFmdGVyIGEgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZCB2aWEgdGhlIHlvdXNlbmRpdC9zZW5kZmlsZSBtZWNoYW5pc20nOwokbGFuZ1snbXNnX3BsZWFzZXNlbGVjdGZpbGUnXSA9ICdZb3UgaGF2ZSBub3QgeWV0IHNlbGVjdGVkIGEgZmlsZSc7CiRsYW5nWyd5b3VzZW5kaXRmaWxlZG9uZSddID0gJ1lvdXIgZmlsZSB1cGxvYWQgaGFzIGJlZW4gc2VudCc7CiRsYW5nWydoZHJfeW91c2VuZGl0J10gPSAnU2VuZCBhIEZpbGUnOwokbGFuZ1snaW5mb195b3VzZW5kaXQnXSA9ICdUaGlzIGZvcm0gYWxsb3dzIHlvdSB0byB1cGxvYWQgYSBzaW5nbGUgZmlsZSBvZiBhbnkgc2l6ZSBhbmQgbWFrZSBpdCBhdmFpbGFibGUgdG8gYW5vdGhlciB1c2VyIHRvIGRvd25sb2FkLiAgUmVjaXBpZW50cyB3aWxsIHJlY2VpdmUgYW4gZW1haWwgd2l0aCBpbnN0cnVjdGlvbnMgYXMgdG8gaG93IHRvIGRvd25sb2FkIHRoZSBmaWxlLiAgVGhpcyBpcyB1c2VmdWwgZm9yIHNlbmRpbmcgZmlsZXMgbGFyZ2VyIHRoYW4gd2hhdCB5b3VyIGVtYWlsIHNlcnZlciBhY2NlcHRzLiAgU2VydmVyIGFkbWluaXN0cmF0b3JzIHJlc2VydmUgdGhlIHJpZ2h0IHRvIGF1dG9tYXRpY2FsbHkgcmVtb3ZlIGZpbGVzIGFmdGVyIGEgcGVyaW9kIG9mIHRpbWUuJzsKJGxhbmdbJ3JlbW92ZSddID0gJ1JlbW92ZSc7CiRsYW5nWydwaF95c2lfZnJvbSddID0gJ0VudGVyIHlvdXIgZW1haWwgYWRkcmVzcyc7CiRsYW5nWydwaF95c2lfc3VtbWFyeSddID0gJ0VudGVyIGEgYnJpZWYgc3VtbWFyeSBmb3IgdGhpcyBmaWxlJzsKJGxhbmdbJ3BoX3lzaV9kZXNjJ10gPSAnT3B0aW9uYWxseSBlbnRlciBhIG1vcmUgZGV0YWlsZWQgZGVzY3JpcHRpb24gb2YgdGhpcyBmaWxlJzsKJGxhbmdbJ3BoX3lzaV90byddID0gJ0VudGVyIHRoZSBlbWFpbCBhZGRyZXNzIG9mIHRoZSByZWNpcGllbnQuJzsKJGxhbmdbJ3BoX3lzaV9zdWJqZWN0J10gPSAnRW50ZXIgYSBzdWJqZWN0IGZvciB0aGUgZW1haWwnOwokbGFuZ1sncGhfeXNpX25vdGVzJ10gPSAnRW50ZXIgc29tZSB0ZXh0IHRvIHRlbGwgdGhlIHJlY2lwaWVudCBvZiB0aGlzIGVtYWlsJzsKJGxhbmdbJ2VtYWlsX2RldGFpbHMnXSA9ICdFbWFpbCBEZXRhaWxzJzsKJGxhbmdbJ2Zyb20nXSA9ICdGcm9tJzsKJGxhbmdbJ2ZpbGVfZGV0YWlscyddID0gJ0ZpbGUgRGV0YWlscyc7CiRsYW5nWydlcnJvcl9ub3NlbmRlciddID0gJ1NvcnJ5LiAgWW91IG11c3Qgc3BlY2lmeSB5b3VyIGVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZWRpdF90aGlzX2ZpZWxkJ10gPSAnRWRpdCB0aGlzIGZpZWxkJzsKJGxhbmdbJ2RlbGV0ZV90aGlzX2ZpZWxkJ10gPSAnRGVsZXRlIHRoaXMgZmllbGQnOwokbGFuZ1snbW92ZV91cCddID0gJ01vdmUgVXAnOwokbGFuZ1snbW92ZV9kb3duJ10gPSAnTW92ZSBEb3duJzsKJGxhbmdbJ3N1Y2Nlc3NmdWxfdXBsb2FkJ10gPSAnWW91ciBmaWxlIHdhcyBzdWNjZXNzZnVsbHkgdXBsb2FkZWQuICBJbiB0aGUgZW5kLCB0aGUgZmlsZW5hbWUgd2UgdXNlZCB3YXMgJXMnOwokbGFuZ1sncHJvbXB0X3VzZV9hdXRvZ2VuX2ZpbGVuYW1lcyddID0gJ1VzZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCBmaWxlbmFtZXMnOwokbGFuZ1snaW5mb19hdXRvZ2VuX2ZpbGVuYW1lcyddID0gJ1doZW4gZW5hYmxlZCwgdGhlIGZpbGVuYW1lIG9mIHVwbG9hZGVkIGZpbGVzIHdpbGwgYXV0b21hdGljYWxseSBiZSByZW5hbWVkIHRvIGFuIGF1dG8tZ2VuZXJhdGVkIHZhbHVlLiAgVGhlIGZpbGUgZXh0ZW5zaW9uIHdpbGwgYmUgcHJlc2VydmVkJzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnlwYWdlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uIHRoaXMgcGFyYW1ldGVyIGFjY2VwdHMgYSBwYWdlIGFsaWFzIG9yIGlkIG9mIHRoZSBwYWdlIHRvIGxpbmsgdG8gZm9yIHNwZWNpZmljIGNhdGVnb3J5IHN1bW1hcnkgdmlld3MuJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhY2NlcHRzIHRoZSBuYW1lIG9mIGEgbm9uIGRlZmF1bHQgY2F0ZWdvcnkgbGlzdCB0ZW1wbGF0ZSB0byB2aWV3Lic7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfdGVtcGxhdGUnXSA9ICdBZGQvRWRpdCBhIENhdGVnb3J5IExpc3QgVmlldyBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3Rfc3lzZGVmYXVsdCddID0gJ1Byb3RvdHlwZSBDYXRlZ29yeSBMaXN0IFZpZXcgVGVtcGxhdGUnOwokbGFuZ1snY2F0ZWdvcnlsaXN0X3RlbXBsYXRlcyddID0gJ0NhdGVnb3J5IExpc3QgVmlldyBUZW1wbGF0ZXMnOwokbGFuZ1snaW5kZXhfdW5pcXVld29yZHMnXSA9ICdJbmRleCBvbmx5IHVuaXF1ZSB3b3Jkcyc7CiRsYW5nWydyZWluZGV4J10gPSAnUmVpbmRleCc7CiRsYW5nWydpbmRleGluZ19zZXR0aW5ncyddID0gJ1NlYXJjaCBJbmRleGluZyBTZXR0aW5ncyc7CiRsYW5nWydpbmRleF90eHRmaWxlcyddID0gJ0luZGV4IFRleHQgZmlsZXMnOwokbGFuZ1snaW5kZXhfcGRmZmlsZXMnXSA9ICdJbmRleCBQREYgRmlsZXMnOwokbGFuZ1snYWxsb3dfY2hhbmdlZGF0ZSddID0gJ0FsbG93IHRoZSBhZG1pbmlzdHJhdG9yIHRvIGNoYW5nZSB0aGUgdXBsb2FkIGRhdGUnOwokbGFuZ1snbWlzc2luZyddID0gJ0ZpbGUgTWlzc2luZyEhISc7CiRsYW5nWydtaXNzaW5nX2ZpbGUnXSA9ICdUaGlzIGZpbGUgaXMgbWlzc2luZyc7CiRsYW5nWydwcm9tcHRfZnJpZW5kbHluYW1lJ10gPSAnRnJpZW5kbHkgbmFtZSBmb3IgdGhpcyBtb2R1bGUnOwokbGFuZ1snaW5mb19mcmllbmRseW5hbWUnXSA9ICdTcGVjaWZ5IGEgbmFtZSBmb3IgZm9yIHRoaXMgbW9kdWxlIGluIHRoZSBhZG1pbiBuYXZpZ2F0aW9uLiAgSXQgbWF5IGJlIG5lY2Vzc2FyeSB0byBjbGVhciB0aGUgQ01TTVMgY2FjaGUgZm9yIHRoaXMgdG8gdGFrZSBlZmZlY3QnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlfcHJvYmxlbV9zJ10gPSAnQSBwYXRoIG9yIHBlcm1pc3Npb24gcHJvYmxlbSBleGlzdHMgd2l0aCB0aGlzIGNhdGVnb3J5JzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5X3Byb2JsZW0nXSA9ICdBIHBhdGggb3IgcGVybWlzc2lvbiBwcm9ibGVtIGV4aXN0cyB3aXRoIGNhdGVnb3J5ICVzJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdHJlbmFtZSddID0gJ0Vycm9yIHJlbmFtaW5nIGZpbGUnOwokbGFuZ1snZmllbGRfdXBsb2FkX3N1bW1hcnknXSA9ICdTdW1tYXJ5JzsKJGxhbmdbJ2ZpZWxkX2NhdGVnb3J5X2lkJ10gPSAnQ2F0ZWdvcnkgSUQnOwokbGFuZ1snZmllbGRfY2F0ZWdvcnlfbmFtZSddID0gJ0NhdGVnb3J5IE5hbWUnOwokbGFuZ1snZmllbGRfY2F0ZWdvcnlfcGF0aCddID0gJ0NhdGVnb3J5IFBhdGgnOwokbGFuZ1snZmllbGRfYXV0aG9yJ10gPSAnQXV0aG9yJzsKJGxhbmdbJ2ZpZWxkX2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snbm91c2VyaW5mbyddID0gJ05vIHVzZXIgaW5mb3JtYXRpb24gYXZhaWxhYmxlJzsKJGxhbmdbJ2Vycm9yX21hdGNoaW5ncmVjb3JkcyddID0gJ05vIHJlY29yZHMgbWF0Y2hpbmcgeW91ciBjcml0ZXJhIHdlcmUgZm91bmQnOwokbGFuZ1snbXNnX3JlcG9ydF9zZW50J10gPSAnUmVwb3J0IFNlbnQnOwokbGFuZ1snZ2VuZXJhdGVkX2J5J10gPSAnR2VuZXJhdGVkIEJ5JzsKJGxhbmdbJ2dlbmVyYXRlZF9vbiddID0gJ0dlbmVyYXRlZCBPbic7CiRsYW5nWydzdGFydF9kYXRlJ10gPSAnU3RhcnQgRGF0ZSc7CiRsYW5nWydlbmRfZGF0ZSddID0gJ0VuZCBEYXRlJzsKJGxhbmdbJ3VwbG9hZF9jYXRlZ29yeV9uYW1lJ10gPSAnQ2F0ZWdvcnkgTmFtZSc7CiRsYW5nWydpbmZvX2ZpZWxkX2ZpbGVzJ10gPSAnVGhpcyBpcyBhbiBhdXRvY29tcGxldGUgZmllbGQsIHlvdSBjYW4gZW50ZXIgcGFydGlhbCBmaWxlbmFtZXMgZm9yIHRoZW0gdG8gYmUgYXV0byBjb21wbGV0ZWQuICBZb3UgY2FuIGFsc28gZW50ZXIgZmlsZW5hbWUgcGF0dGVybnMgaS5lOiAgZm9vKmpwZy4gIFRoaXMgbGlzdCB3aWxsIGJlIGNsZWFuZWQgYW5kIGNoZWNrIGZvciB2YWxpZGl0eSB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCc7CiRsYW5nWydwcm9tcHRfZmlsZXMnXSA9ICdGaWxlcyc7CiRsYW5nWydyZXBvcnRfZG93bmxvYWRzYnl1c2VyJ10gPSAnRG93bmxvYWRzIEJ5IFVzZXInOwokbGFuZ1sncmVwb3J0X2Rvd25sb2Fkc2J5ZmlsZSddID0gJ0Rvd25sb2FkcyBCeSBGaWxlJzsKJGxhbmdbJ3Byb21wdF9vdXRwdXRfdGVtcGxhdGUnXSA9ICdPdXRwdXQgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfZG93bmxvYWRzYnlmaWxlX3RwbCddID0gJ0Rvd25sb2FkcyBCeSBGaWxlIFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9kb3dubG9hZHNieXVzZXJfdHBsJ10gPSAnRG93bmxvYWRzIEJ5IFVzZXIgUmVwb3J0IFRlbXBsYXRlJzsKJGxhbmdbJ3JwdF9kb3dubG9hZHNieWZpbGVfdHBsJ10gPSAnRG93bmxvYWRzIEJ5IEZpbGUgUmVwb3J0cyc7CiRsYW5nWydycHRfZG93bmxvYWRzYnl1c2VyX3RwbCddID0gJ0Rvd25sb2FkcyBCeSBVc2VyIFJlcG9ydHMnOwokbGFuZ1sndXNlcnByb3AnXSA9ICdQcm9wZXJ0eSc7CiRsYW5nWydmaWVsZF9sYXRlc3RfZG93bmxvYWQnXSA9ICdMYXRlc3QgRG93bmxvYWQnOwokbGFuZ1snZmllbGQnXSA9ICdGaWVsZCc7CiRsYW5nWydjbG9zZSddID0gJ0Nsb3NlJzsKJGxhbmdbJ2Vycm9yX2ludGVybmFsJ10gPSAnQW4gaW50ZXJuYWwgZXJyb3Igb2NjdXJyZWQnOwokbGFuZ1snZXJyb3Jfbm9wcm9maWxlJ10gPSAnTm8gcmVwb3J0IHByb2ZpbGUgZGV0ZWN0ZWQnOwokbGFuZ1snZXhwb3J0X2h0bWxlbWFpbCddID0gJ0hUTUwgUmVwb3J0ICh2aWEgZW1haWwpJzsKJGxhbmdbJ2V4cG9ydF9odG1sJ10gPSAnSFRNTCBSZXBvcnQgKG5ldyB3aW5kb3cpJzsKJGxhbmdbJ2V4cG9ydF9jc3YnXSA9ICdBU0NJSSAoY3N2KSBmaWxlJzsKJGxhbmdbJ3Byb21wdF9vdXRwdXQnXSA9ICdPdXRwdXQgRm9ybWF0JzsKJGxhbmdbJ3Byb21wdF9yZXBvcnRfdHlwZSddID0gJ1JlcG9ydCBUeXBlJzsKJGxhbmdbJ3JlcG9ydF9zdW1tYXJ5J10gPSAnU3VtbWFyeSc7CiRsYW5nWydyZXBvcnRfZGV0YWlsJ10gPSAnRGV0YWlsZWQnOwokbGFuZ1snaW5mb19mZXVfdXNlcnMnXSA9ICdUaGlzIGlzIGFuIGF1dG9jb21wbGV0ZSBmaWVsZCwgeW91IGNhbiBlbnRlciBwYXJ0aWFsIHVzZXJuYW1lcyBmb3IgdGhlbSB0byBiZSBhdXRvIGNvbXBsZXRlZC4gIFlvdSBjYW4gYWxzbyBlbnRlciB1c2VybmFtZSBwYXR0ZXJucyBpLmU6ICZxdW90O2dlb3JnKiZxdW90Oy4gVGhpcyBsaXN0IHdpbGwgYmUgY2xlYW5lZCBhbmQgY2hlY2sgZm9yIHZhbGlkaXR5IHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkJzsKJGxhbmdbJ3Byb21wdF9zdGFydF9kYXRlJ10gPSAnU3RhcnQgRGF0ZSc7CiRsYW5nWydwcm9tcHRfZW5kX2RhdGUnXSA9ICdFbmQgRGF0ZSc7CiRsYW5nWydwcm9tcHRfYXNjZW5kaW5nJ10gPSAnQXNjZW5kaW5nJzsKJGxhbmdbJ3Byb21wdF9kZXNjZW5kaW5nJ10gPSAnRGVzY2VuZGluZyc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdCddID0gJ0RlZmF1bHQnOwokbGFuZ1sncHJvbXB0X3NvcnRvcmRlciddID0gJ1NvcnQgT3JkZXInOwokbGFuZ1snZmllbGRfZG93bmxvYWRfZGF0ZSddID0gJ0Rvd25sb2FkIERhdGUnOwokbGFuZ1snZmllbGRfZG93bmxvYWRfdXNlciddID0gJ0Rvd25sb2FkIFVzZXInOwokbGFuZ1snZmllbGRfdXBsb2FkX2lkJ10gPSAnVXBsb2FkIElkJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9jYXRlZ29yeV9pZCddID0gJ0NhdGVnb3J5IElkJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9jYXRlZ29yeV9uYW1lJ10gPSAnQ2F0ZWdvcnkgTmFtZSc7CiRsYW5nWydmaWVsZF91cGxvYWRfY2F0ZWdvcnlfcGF0aCddID0gJ0NhdGVnb3J5IFBhdGgnOwokbGFuZ1snZmllbGRfdXBsb2FkX25hbWUnXSA9ICdGaWxlbmFtZSc7CiRsYW5nWydmaWVsZF91cGxvYWRfYXV0aG9yJ10gPSAnQXV0aG9yJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9kZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9pcCddID0gJ1VwbG9hZCBJUCBBZGRyZXNzJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9zaXplJ10gPSAnRmlsZSBTaXplJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9kYXRlJ10gPSAnVXBsb2FkIERhdGUnOwokbGFuZ1snZmllbGRfZG93bmxvYWRzJ10gPSAnTnVtYmVyIG9mIERvd25sb2Fkcyc7CiRsYW5nWydwcm9tcHRfZmllbGRsaXN0J10gPSAnU2VsZWN0IE91dHB1dCBGaWVsZHMnOwokbGFuZ1sncHJvbXB0X3NvcnRpbmcnXSA9ICdTb3J0IEJ5JzsKJGxhbmdbJ2Vycm9yX25vdXNlcnNmb3VuZCddID0gJ0FmdGVyIHZhbGlkYXRpbmcgdGhlIGlucHV0LCBubyBtYXRjaGluZyB1c2VycyBjb3VsZCBiZSBmb3VuZCc7CiRsYW5nWydvciddID0gJ09yJzsKJGxhbmdbJ3Byb21wdF9mZXVfdXNlcnMnXSA9ICdGRVUgVXNlcnMnOwokbGFuZ1sncHJvbXB0X2ZldV9ncm91cHMnXSA9ICdGRVUgR3JvdXBzJzsKJGxhbmdbJ291dHB1dCddID0gJ091dHB1dCc7CiRsYW5nWydlcnJvcl9ub2ZldSddID0gJ1RoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSAodmVyc2lvbiAxLjIxLjE1IG9yIGdyZWF0ZXIpIGlzIHJlcXVpcmVkIGZvciB0aGlzIG9wZXJhdGlvbic7CiRsYW5nWyd0aXRsZV9yZXBvcnRfZG93bmxvYWRzYnl1c2VyMiddID0gJ0Rvd25sb2FkcyBCeSBVc2VyIFJlcG9ydCc7CiRsYW5nWyd0aXRsZV9yZXBvcnRfZG93bmxvYWRzYnl1c2VyJ10gPSAnRG93bmxvYWRzIEJ5IFVzZXInOwokbGFuZ1sndGl0bGVfcmVwb3J0X2Rvd25sb2Fkc2J5ZmlsZTInXSA9ICdEb3dubG9hZHMgQnkgRmlsZSBSZXBvcnQnOwokbGFuZ1sndGl0bGVfcmVwb3J0X2Rvd25sb2Fkc2J5ZmlsZSddID0gJ0Rvd25sb2FkcyBCeSBGaWxlJzsKJGxhbmdbJ3JlcG9ydHMnXSA9ICdSZXBvcnRzJzsKJGxhbmdbJ3Byb21wdF9kb3dubG9hZHMnXSA9ICdEb3dubG9hZHMnOwokbGFuZ1sncHJvbXB0X3Blcm1pc3Npb25zJ10gPSAnUGVybWlzc2lvbnMnOwokbGFuZ1sncHJvbXB0X2ZpZWxkcyddID0gJ0ZpZWxkcyc7CiRsYW5nWydwcm9tcHRfc2VuZGZpbGUnXSA9ICdTZW5kIEZpbGUnOwokbGFuZ1snaW5mb19jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJ10gPSAnU2VsZWN0IHRoZSBGRVUgdXNlciBncm91cHMgdGhhdCBjYW4gdmlldyBuZXdseSB1cGxvYWRlZCBvciBzY2FubmVkIGZpbGVzLiAgVGhpcyB3aWxsIG5vdCBlZmZlY3QgdGhlIHBlcm1pc3Npb25zIG9mIGV4aXN0aW5nIGZpbGVzLiAgIEFkbWluaXN0cmF0b3JzIGNhbiBlZGl0IHRoZSBwZXJtaXNzaW9zbiBvZiBlYWNoIGZpbGUgd2hlbiBlZGl0aW5nIHRoZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdXBsb2FkZWQgZmlsZSc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcyddID0gJ0dyb3VwcyB0aGF0IGNhbiB2aWV3IG5ld2x5IHVwbG9hZGVkIG9yIHNjYW5uZWQgZmlsZXMnOwokbGFuZ1snaW5mb19jYXRlZ29yeV91c2VycGVybXMnXSA9ICdJZiB0aGlzIGlzIGVuYWJsZWQsIHlvdSBjYW4gY29udHJvbCB3aGF0IEZFVSBVc2VyIEdyb3VwcyBjYW4gdmlldyBpbmRpdmlkdWFsIGZpbGVzIHdpdGhpbiB0aGUgY2F0ZWdvcnknOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X3VzZXJwZXJtcyddID0gJ0NhbiB2aXNpYmlsaXR5IGJlIGNvbnRyb2xsZWQgYXQgdGhlIGZpbGUgbGV2ZWwgZm9yIHRoaXMgY2F0ZWdvcnknOwokbGFuZ1sncHJvbXB0X21vZGlmeWluZyddID0gJ01vZGlmeWluZyc7CiRsYW5nWydwcm9tcHRfdmlld2luZyddID0gJ1ZpZXdpbmcnOwokbGFuZ1sncHJvbXB0X2dlbmVyYWwnXSA9ICdHZW5lcmFsJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlsaXN0YWJsZSddID0gJ0NhbiBmaWxlcyBpbiB0aGlzIGNhdGVnb3J5IGJlIGxpc3RlZCc7CiRsYW5nWydlcnJvcl9taXNzaW5ndmFsdWUnXSA9ICdBIHJlcXVpcmVkIHZhbHVlIGlzIG1pc3NpbmcnOwokbGFuZ1snZWRpdGVkJ10gPSAnRWRpdGVkICVzJzsKJGxhbmdbJ21vdmVkZmlsZSddID0gJ01vdmVkIEZpbGUgJXMgdG8gJXMnOwokbGFuZ1sncGFnZWxpbWl0J10gPSAnRmlsZXMgUGVyIFBhZ2UnOwokbGFuZ1sndmlldyddID0gJ1ZpZXcnOwokbGFuZ1snZWRpdF90aGlzX2ZpbGUnXSA9ICdFZGl0IFRoaXMgRmlsZSc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlfc2Nhbm5hYmxlJ10gPSAnQXV0b21hdGljYWxseSBzY2FuIHRoaXMgY2F0ZWdvcnkgZm9yIG5ldyBmaWxlcz8nOwokbGFuZ1snaW5mb19jYXRlZ29yeV9zY2FubmFibGUnXSA9ICdXaGVuIGFjY2Vzc2VkIGZyb20gdGhlIGZyb250IGVuZCB0aGlzIGNhdGVnb3J5IGlzIGF1dG9tYXRpY2FsbHkgc2Nhbm5lZCBmb3IgbmV3IGZpbGVzJzsKJGxhbmdbJ3Byb21wdF90bF9hY2Nlc3MnXSA9ICdUaW1lIExpbWl0ZWQgQWNjZXNzJzsKJGxhbmdbJ3Byb21wdF9hbGxvd191cGxvYWRfc2VuZGZpbGUnXSA9ICdBbGxvdyBzZW5kaW5nIGZpbGVzIGltbWVkaWF0ZWx5IG9uIGFkbWluIHVwbG9hZCc7CiRsYW5nWydtc2dfYXV0b19kZWxldGVfZmlsZSddID0gJ0F1dG9tYXRpY2FsbHkgZGVsZXRlZCBleHBpcmVkIGZpbGU6ICVzJzsKJGxhbmdbJ21zZ19hdXRvX2RlbGV0ZV9maWxlX2ZhaWxlZCddID0gJ1Blcm1pc3Npb25zIHByb2JsZW0sIGF1dG8gZGVsZXRlIG9mICVzIGZhaWxlZCc7CiRsYW5nWydpbmZvX2NhdGVnb3J5X2V4cGlyZXNfaHJzJ10gPSAnU3BlY2lmeSBhIG51bWJlciBvZiBob3VycyBiZWZvcmUgZmlsZXMgaW4gdGhpcyBjYXRlZ29yeSBjYW4gYmUgZGVsZXRlZC4gIFVzZSBhIHZhbHVlIG9mIDAgdG8gaW5kaWNhdGUgdGhhdCBmaWxlcyBzaG91bGQgbm90IGJlIGRlbGV0ZWQnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X2V4cGlyZXNfaHJzJ10gPSAnTnVtYmVyIG9mIGhvdXJzIHVudGlsIGZpbGVzIGluIHRoaXMgY2F0ZWdvcnkgYXJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZCc7CiRsYW5nWydpbmZvX2RmbHRfY2F0ZWdvcnlfZXhwaXJ5J10gPSAnVGhlIGRlZmF1bHQgdmFsdWUgZm9yIG5ldyBjYXRlZ29yaWVzIHRoYXQgc3BlY2lmaWVzIGhvdyBsb25nIGZpbGVzIGluIHRoaXMgY2F0ZWdvcnkgZXhpc3QgYmVmb3JlIHRoZXkgYXJlIGF1dG9tYXRpY2FsbHkgZGVsZXRlZC4gIFVzZSBhIHZhbHVlIG9mIDAgdG8gaW5kaWNhdGUgbm8gZGVsZXRpb24nOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlfZXhwaXJ5J10gPSAnQ2F0ZWdvcnkgZXhwaXJ5IHBlcmlvZCA8ZW0+KGhycyk8L2VtPic7CiRsYW5nWydpbmZvX2NhdGVnb3J5ZGVsZXRhYmxlJ10gPSAnQXV0aG9yaXplZCB1c2VycyB3aWxsIGhhdmUgcGVybWlzc2lvbiB0byBkZWxldGUgdGhlc2UgZmlsZXMuICBUaGlzIG1lYW5zIHRoYXQgYSB1cmwgd2lsbCBiZSBwcm92aWRlZCBpbiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGVzIHRvIGFsbG93IGRlbGV0aW5nIG9mIHRoZSBmaWxlLiAgQSB3ZWJzaXRlIGRldmVsb3BlciBjYW4gdXNlIGFwcHJvcHJpYXRlIHNtYXJ0eSBsb2dpYyB0byBzaG93IGEgbGluayB0byBhdXRob3JpemVkIHVzZXJzLic7CiRsYW5nWydjb3B5X2ZpbGVzJ10gPSAnQ29weSBGaWxlcyc7CiRsYW5nWydlcnJvcl9maWxldG9vbGFyZ2UnXSA9ICdUaGUgZmlsZSB5b3UgYXR0ZW1wdGVkIHRvIHVwbG9hZGUgaXMgbGFyZ2VyIHRoYW4gdGhlIENNU01TIG1heGltdW0gdXBsb2FkIGZpbGUgc2l6ZSc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWNhdGVnb3J5J10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGNhdGVnb3J5Pyc7CiRsYW5nWydlcnJvcl9kZWxldGUnXSA9ICdBbiBpdGVtIGNvdW5kIG5vdCBiZSBkZWxldGVkICglcyknOwokbGFuZ1snY29uZmlybV9jYXRfbXVsdGlhY3Rpb24nXSA9ICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcGVyZm9ybSB0aGlzIGFjdGlvbiBvbiB0aGUgc2VsZWN0ZWQgY2F0ZWdvcmllcz8iOwokbGFuZ1snZXJyb3Jfbm90aGluZ19zZWxlY3RlZCddID0gJ0Vycm9yOiBOb3RoaW5nIHNlbGVjdGVkJzsKJGxhbmdbJ3dpdGhfc2VsZWN0ZWQnXSA9ICdXaXRoIFNlbGVjdGVkOic7CiRsYW5nWydlcnJvcl9yZXBsYWNlX21pc21hdGNoZWRfZmlsZWV4dCddID0gJ1doZW4gcmVwbGFjaW5nIGEgZmlsZSwgeW91IG11c3QgdXBsb2FkIGEgZmlsZSBvZiB0aGUgc2FtZSBleGFjdCB0eXBlIChieSBmaWxlIGV4dGVuc2lvbikuICBUaGUgZmlsZSB5b3Ugc2VsZWN0ZWQgZG9lcyBub3QgbWF0Y2ggdGhhdCBvZiB0aGUgb3JpZ2luYWwgZmlsZS4nOwokbGFuZ1sncmVwbGFjZSddID0gJ1JlcGxhY2UnOwokbGFuZ1snaW5mb19yZXBsYWNlZmlsZSddID0gJ1lvdSBtYXkgdXBsb2FkIGEgcmVwbGFjZW1lbnQgZmlsZS4gPHN0cm9uZz5XYXJuaW5nPC9zdHJvbmc+IGlmIGhhdmUgbm90IHNwZWNpZmllZCBhIHJlcGxhY2VtZW50IHRodW1ibmFpbCwgYSBuZXcgb25lIHdpbGwgbm90IGJlIGdlbnJlcmF0ZWQuJzsKJGxhbmdbJ3Byb21wdF9yZXBsYWNlZmlsZSddID0gJ1VwbG9hZCByZXBsYWNlbWVudCBmaWxlJzsKJGxhbmdbJ3RpdGxlX2ZpeHNwYWNlcyddID0gJ0ZpeCBzcGFjZXMgaW4gdGhlIGZpbGVuYW1lJzsKJGxhbmdbJ2NhdGVnb3J5X2NvcGllZCddID0gJ0NhdGVnb3J5IHN1Y2Nlc3NmdWxseSBjb3BpZWQnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlcGF0aCddID0gJ1BsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG5hbWUgdGhhdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc291cmNlLCBhbmQgaXMgbm90IGFscmVhZHkgaW4gdXNlJzsKJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdPcGVyYXRpb24gQ2FuY2VsbGVkJzsKJGxhbmdbJ3NvdXJjZSddID0gJ1NvdXJjZSc7CiRsYW5nWydkZXN0aW5hdGlvbiddID0gJ0Rlc3RpbmF0aW9uJzsKJGxhbmdbJ3Byb21wdF9jb3B5X2ZpbGVzJ10gPSAnQ29weSBjYXRlZ29yeSBGaWxlcyc7CiRsYW5nWydpbmZvX2NvcHlfZmlsZXMnXSA9ICdDb3B5IHRoZSBmaWxlcyBmcm9tIHRoZSBzb3VyY2UgY2F0ZWdvcnkgdG8gdGhlIGRlc3RpbmF0aW9uIGNhdGVnb3J5JzsKJGxhbmdbJ2V4dHJhJ10gPSAnRXh0cmEnOwokbGFuZ1snY29weSddID0gJ0NvcHknOwokbGFuZ1snc2VsZWN0b25lJ10gPSAnU2VsZWN0IE9uZSc7CiRsYW5nWydpbWFnZV9zZXR0aW5ncyddID0gJ0ltYWdlIFNldHRpbmdzJzsKJGxhbmdbJ3Byb21wdF9nZXRmaWxlX3Jlc3VsdHBhZ2UnXSA9ICdQYWdlIHRvIHVzZSBmb3IgZXJyb3JzIG9yIG90aGVyIG1lc3NhZ2VzIHJlbGF0ZWQgdG8gZmlsZSBkb3dubG9hZGluZyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2tleSddID0gJ1RoZSB1cGxvYWQga2V5IHNwZWNpZmllZCBpcyBpbnZhbGlkIChtYXliZSBpdCBoYXMgcmVhY2hlZCBpdHMgbWF4aW11bSBkb3dubG9hZCBjYXBhY2l0eSBvciBoYXMgZXhwaXJlZCknOwokbGFuZ1snZGZsdF90aW1lbGltaXRlZF9zdWJqZWN0J10gPSAneyRzaXRlbmFtZX0gLSBZb3UgaGF2ZSBiZWVuIGdyYW50ZWQgYWNjZXNzIHRvIHskZW50cnktPm5hbWV8c3RyaXBfdGFnc30gZm9yIGEgbGltaXRlZCB0aW1lJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9zdWJqZWN0J10gPSAnU3ViamVjdCBmb3IgZW1haWwgY3JlYXRlZCB3aGVuIHNlbmRpbmcgYSB0aW1lIGxpbWl0ZWQgVVJMJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9hdXRvZGVsZXRlJ10gPSAnQXV0byBkZWxldGUgZXhwaXJlZCBlbnRyaWVzIGFmdGVyIE4gaG91cnMgPGVtPihzcGVjaWZ5IDAgdG8gZGlzYWJsZSBhdXRvZGVsZXRlKTwvZW0+Oic7CiRsYW5nWydwcm9tcHRfdGltZWxpbWl0ZWRfc2VuZGl0J10gPSAnU2VuZCB0aGlzIHVybCB0byB0aGUgZGVzaWduYXRlZCBlbWFpbCBhZGRyZXNzPyc7CiRsYW5nWyd1cmxfa2V5J10gPSAnVVJMIEtleSc7CiRsYW5nWydjcmVhdGVkJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydleHBpcmVzJ10gPSAnRXhwaXJlcyc7CiRsYW5nWydhZGRlZGl0X3RpbWVsaW1pdGVkX2tleSddID0gJ0FkZC9FZGl0IFRpbWUgTGltaXRlZCBLZXknOwokbGFuZ1sndGltZV9saW1pdGVkX2tleV9hZGRlZCddID0gJ1RpbWUgTGltaXRlZCBLZXkgQWRkZWQnOwokbGFuZ1snbnVtX2hvdXJzJ10gPSAnTnVtYmVyIG9mIEhvdXJzJzsKJGxhbmdbJ251bV9kb3dubG9hZHMnXSA9ICdOdW1iZXIgb2YgRG93bmxvYWRzJzsKJGxhbmdbJ2VtYWlsX2FkZHJlc3MnXSA9ICdFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfaW52YWxpZCddID0gJ0EgcmVxdWlyZWQgdmFsdWUgaXMgbWlzc2luZyBvciBpbnZhbGlkOiAlcyc7CiRsYW5nWydhZGRfdGltZWxpbWl0ZWRfa2V5J10gPSAnQWRkIFRpbWUgTGltaXRlZCBLZXknOwokbGFuZ1snZmlsZV9pbmZvMiddID0gJ0ZpbGUgJXMgKGlkPSVkKSc7CiRsYW5nWydpbmZvX3RpbWVsaW1pdGVkX2Rvd25sb2FkcyddPSAnU3BlY2lmeSB0aGUgZGVmYXVsdCBudW1iZXIgb2YgdGltZXMgdGhhdCBhIGZpbGUgaWRlbnRpZmllZCBieSBhIHBhcnRpY3VsYXIga2V5IGNhbiBiZSBkb3dubG9hZGVkJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9kb3dubG9hZHMnXSA9ICdEZWZhdWx0IE51bWJlciBvZiBEb3dubG9hZHMnOwokbGFuZ1snaW5mb190aW1lbGltaXRlZF9ob3VycyddID0gJ1NwZWNpZnkgdGhlIGRlZmF1bHQgbnVtYmVyIG9mIGhvdXJzIHRoYXQgYSB0aW1lIGxpbWl0ZWQga2V5IGlzIHZhbGlkIGZvci4gIFNwZWNpZnkgMCBmb3IgdW5saW1pdGVkJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9ob3VycyddID0gJ051bWJlciBvZiBob3VycyBhIFRpbWUgTGltaXRlZCBLZXkgaXMgdmFsaWQgZm9yJzsKJGxhbmdbJ3RpbWVsaW1pdGVkX3VybF9zZXR0aW5ncyddID0gJ1RpbWUgTGltaXRlZCBLZXkgU2V0dGluZ3MnOwokbGFuZ1snbWFuYWdlX3RpbWVsaW1pdGVkJ10gPSAnTWFuYWdlIFRpbWUgTGltaXRlZCBBY2Nlc3MnOwokbGFuZ1sndXBsb2FkaW5nX3NldHRpbmdzJ10gPSAnRmlsZSBVcGxvYWQgU2V0dGluZ3MnOwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ0dlbmVyYWwgU2V0dGluZ3MnOwokbGFuZ1sndGh1bWJuYWlsX3NldHRpbmdzJ10gPSAnVGh1bWJuYWlsIEdlbmVyYXRpb24nOwokbGFuZ1sndGl0bGVfcmVkaXJlY3Rfb25fc2VuZGZpbGUnXSA9ICdQYWdlIHRvIHJlZGlyZWN0IHRvIGFmdGVyIHNlbmRpbmcgYSBmaWxlJzsKJGxhbmdbJ2xibF9iYWNrJ10gPSAnQmFjayc7CiRsYW5nWydsYmxfdGVtcGxhdGVzJ10gPSAnTW9kaWZ5IFRlbXBsYXRlcyc7CiRsYW5nWydwcm9tcHRfcHVibGljX2ZpZWxkJ10gPSAnRmllbGQgaXMgcHVibGljIDxlbT4oY2FuIGJlIHZpZXdlZCBieSBzaXRlIHZpc2l0b3JzKTwvZW0+JzsKJGxhbmdbJ3VwbG9hZF9lZGl0ZWQnXSA9ICdGaWxlIERldGFpbHMgRWRpdGVkIG9uICVzJzsKJGxhbmdbJ2luZm9fdGh1bWJuYWlsJ10gPSAnVXNlIHRoaXMgZmllbGQgdG8gdXBsb2FkIGEgdGh1bWJuYWlsIHRvIGFzc29jaWF0ZSB3aXRoIHRoaXMgZmlsZS4gIFRoaXMgY2FuIGJlIGhhbmR5IGlmIHVwbG9hZGluZyBmaWxlcyBvdGhlciB0aGFuIGltYWdlcyB0aGF0IHRodW1ibmFpbHMgY2Fubm90IGJlIGdlbmVyYXRlZCBmcm9tIGF1dG9tYXRpY2FsbHknOwokbGFuZ1sndXBsb2FkX2ZpbGUnXSA9ICdVcGxvYWQgYSBuZXcgZmlsZSc7CiRsYW5nWydtc2dfZmllbGRfZGVsZXRlZCddID0gJ0ZpZWxkIGRlbGV0ZWQnOwokbGFuZ1snYXNrX2RlbGV0ZV9maWVsZCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBmaWVsZCBkZWZpbml0aW9uIGFuZCBhbGwgYXNzb2NpYXRlZCB2YWx1ZXM/JzsKJGxhbmdbJ3llcyddID0gJ1llcyc7CiRsYW5nWydubyddID0gJ05vJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ2ZpZWxkdHlwZV9tdWx0aXNlbGVjdCddID0gJ011bHRpc2VsZWN0IExpc3QnOwokbGFuZ1snZmllbGR0eXBlX2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24gTGlzdCc7CiRsYW5nWydmaWVsZHR5cGVfY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydmaWVsZHR5cGVfdGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1snZmllbGR0eXBlX3RleHRpbnB1dCddID0gJ1RleHQgSW5wdXQnOwokbGFuZ1sncHJvbXB0X3VzZV93eXNpd3lnJ10gPSAnVXNlIHRoZSB3eXNpd3lnIHdoZW4gZWRpdGluZyB0aGUgdmFsdWUgZm9yIHRoaXMgZmllbGQnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfY29udGVudCddID0gJ0RlZmF1bHQgY29udGVudCBmb3IgdGV4dCBhcmVhJzsKJGxhbmdbJ3Byb21wdF9kcm9wZG93bl9vcHRpb25zJ10gPSAnT3B0aW9ucyAob25lIGVudHJ5IHBlciBsaW5lKSc7CiRsYW5nWydwcm9tcHRfZmllbGRfbWF4bGVuZ3RoJ10gPSAnRmllbGQgTWF4aW11bSBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX2xlbmd0aCddID0gJ0ZpZWxkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfZmllbGRfdHlwZSddID0gJ0ZpZWxkIFR5cGUnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX25hbWUnXSA9ICdGaWVsZCBOYW1lJzsKJGxhbmdbJ3RpdGxlX2FkZF9maWVsZCddID0gJ0FkZCBvciBFZGl0IGEgRmllbGQgRGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZF9kZWZpbml0aW9ucyddID0gJ0ZpZWxkIERlZmluaXRpb25zJzsKJGxhbmdbJ3Byb21wdF9hZGRfZmllbGQnXSA9ICdBZGQgYSBGaWVsZCBEZWZpbml0aW9uJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gPDw8RU9UCjxwPlNwZWNpZmllcyB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUgdGFnLiAgUG9zc2libGUgdmFsdWVzIGFyZTo8L3A+Cjx1bD4KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgY2F0ZWdvcmllcyB0aGF0IHRoZSBjdXJyZW50IHVzZXIgaXMgYWJsZSB0byBicm93c2UgdG8uICBOb3RlOiBkdWUgdG8gdGhlIGZsZXhpYmlsaXR5IG9mIHBlcm1pc3Npb25zIGF2YWlsYWJsZSB0byBmaWxlcyBhbmQgY2F0ZWdvcmllcywgdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24gZG9lcyBOT1QgZGV0ZWN0IGlmIHRoZXJlIGFyZSB2aWV3YWJsZSBmaWxlcyBmb3IgdGhlIHNwZWNpZmljIGNhdGVnb3JpZXMsPC9saT4KICA8bGk+ZGVmYXVsdCAtIDxlbT4oZGVmYXVsdCk8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXIgdmlldyBvZiBhbGwgZmlsZXMgaW4gb25lLCBvciBhbGwgY2F0ZWdvcmllcy48L2xpPgogIDxsaT5kZXRhaWwgLSB0byBkaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgZmlsZSBiYXNlZCBvbiB0aGUgdXBsb2FkX2lkLjwvbGk+CiAgPGxpPnlvdXNlbmRpdCAtIHRvIGRpc3BsYXkgYSBmb3JtIHRvIGFsbG93IHVwbG9hZGluZyBhIGZpbGUsIGFuZCBzZW5kaW5nIGl0IHRvIG51bWVyb3VzIGFkZHJlc3NlcyBpbiBvbmUgc3RlcDwvbGk+CiAgPGxpPnVwbG9hZCAtIFRvIGRpc3BsYXkgYW4gdXBsb2FkIGZvcm0gYWxsb3dpbmcgdXNlcnMgdG8gdXBsb2FkIGZpbGVzIHRvIHlvdXIgd2Vic2l0ZS48L2xpPgo8L3VsPgpFT1Q7CiRsYW5nWydwYXJhbV9zZW5kZmlsZXBhZ2UnXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIGlkIG9yIGFsaWFzIG9mIGEgcGFnZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgc2VuZCBhIGZpbGUgZm9ybSc7CiRsYW5nWydmaWxlX3VwbG9hZGVkJ10gPSAnRmlsZSBTdWNjZXNzZnVsbHkgVXBsb2FkZWQnOwokbGFuZ1sndG8nXSA9ICdUbyc7CiRsYW5nWyd0aXRsZV95b3VzZW5kaXRmb3JtX3RlbXBsYXRlJ10gPSAnQWRkIG9yIEVkaXQgYSAmcXVvdDtZb3UgU2VuZCBJdCZxdW90OyBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ3lvdXNlbmRpdGZvcm1fdGVtcGxhdGUnXSA9ICdZb3VTZW5kSXQgRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1sndGl0bGVfeW91c2VuZGl0Zm9ybV9zeXNkZWZhdWx0J10gPSAnUHJvdG90eXBlICZxdW90O3lvdSBzZW5kIGl0JnF1b3Q7IHRlbXBsYXRlJzsKJGxhbmdbJ21zZ19maWxlX3NlbnQnXSA9ICdBIG1lc3NhZ2UgaGFzIGJlZW4gc2VudCB0byB0aGUgc2VsZWN0ZWQgYWRkcmVzc2VzIHRoYXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZpbGUgYW5kIGhvdyB0byByZXRyaWV2ZSBpdC4nOwokbGFuZ1snZXJyb3Jfbm9hZGRyZXNzZXMnXSA9ICdZb3UgbXVzdCBzdXBwbHkgYXQgbGVhc3Qgb25lIGRlc3RpbmF0aW9uIGFkZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9zdWJqZWN0J10gPSAnWW91IG11c3Qgc3VwcGx5IGEgc3ViamVjdCc7CiRsYW5nWydzdWJqZWN0J10gPSAnU3ViamVjdCc7CiRsYW5nWyd0aXRsZV9zZW5kZmlsZXBhZ2UnXSA9ICdQYWdlIHRvIHVzZSBmb3IgdGltZSBsaW1pdGVkIG9yICZxdW90O1lvdVNlbmRJdCZxdW90OyBVUkxTJzsKJGxhbmdbJ2ZpbGVfaW5mbyddID0gJ0ZpbGUgSW5mbyc7CiRsYW5nWydzZW5kJ10gPSAnU2VuZCc7CiRsYW5nWydub3RlcyddID0gJ05vdGVzJzsKJGxhbmdbJ2FkZHJlc3NlcyddID0gJ1NlbmQgaW5mb3JtYXRpb24gYWJvdXQgdGhpcyBmaWxlIHRvJzsKJGxhbmdbJ3Byb21wdF9zZW5kZmlsZV9lbWFpbF90ZW1wbGF0ZSddID0gJyZxdW90O1NlbmQgYSBGaWxlJnF1b3Q7IEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3NlbmRmaWxlZm9ybV90ZW1wbGF0ZSddID0gJ0FkZCBvciBFZGl0IGEgJnF1b3Q7U2VuZCBhIEZpbGUmcXVvdDsgRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydzZW5kZmlsZWZvcm1fdGVtcGxhdGUnXSA9ICcmcXVvdDtTZW5kIGEgRmlsZSZxdW90OyBGb3JtIFRlbXBsYXRlcyc7CiRsYW5nWydwcm9tcHRfbm90aWZ5X2VtYWlsX3RlbXBsYXRlJ10gPSAnRmlsZSB1cGxvYWQgbm90aWZpY2F0aW9uIGVtYWlsIHRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3NlbmRmaWxlZm9ybV9zeXNkZWZhdWx0J10gPSAnUHJvdG90eXBlICZxdW90O1NlbmQgYSBGaWxlJnF1b3Q7IGZvcm0gdGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5ZGVsZXRhYmxlJ10gPSAnRmlsZXMgaW4gdGhpcyBjYXRlZ29yeSBjYW4gYmUgZGVsZXRlZCc7CiRsYW5nWyd0aXRsZV9hbGxvd19kZWxldGUnXSA9ICdBbGxvdyBkZWxldGlvbiBvZiBmaWxlcyBmcm9tIHRoZSBmcm9udGVuZCc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlcyddID0gJ1Byb3RvdHlwZSBUZW1wbGF0ZXMnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnRmlyc3QgUGFnZSc7CiRsYW5nWydwcmV2cGFnZSddID0gJ1ByZXZpb3VzIFBhZ2UnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICdOZXh0IFBhZ2UnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICdMYXN0IFBhZ2UnOwokbGFuZ1snZmlyc3RwYWdlX2Fycm93J10gPSAnJmx0OyZsdDsnOwokbGFuZ1sncHJldnBhZ2VfYXJyb3cnXSA9ICcmbHQ7JzsKJGxhbmdbJ25leHRwYWdlX2Fycm93J10gPSAnJmd0Oyc7CiRsYW5nWydsYXN0cGFnZV9hcnJvdyddID0gJyZndDsmZ3Q7JzsKJGxhbmdbJ3BhZ2UnXSA9ICdQYWdlJzsKJGxhbmdbJ29mJ10gPSAnb2YnOwokbGFuZ1sncHJvbXB0X2dyb3VwbGlzdCddID0gJ0F1dGhvcml6ZWQgRkVVIEdyb3Vwcyc7CiRsYW5nWydpbmZvX2dyb3VwbGlzdCddID0gJ1NlbGVjdCB0aGUgRkVVIGdyb3VwcyB0aGF0IGFyZSBhbGxvd2VkIGFjY2VzcyB0byBmaWxlcyBpbiB0aGlzIGNhdGVnb3J5LiAgRGVzZWxlY3QgYWxsIGVudHJpZXMgdG8gYWxsb3cgYWxsIGFjY2Vzcyc7CiRsYW5nWyd0aXRsZV9zY2FuJ10gPSAnU2NhbiBmb3IgbmV3IGZpbGVzIGluIHRoaXMgY2F0ZWdvcnknOwokbGFuZ1sndGl0bGVfY3JlYXRlX3RodW1ibmFpbHMnXSA9ICdDcmVhdGUgbWlzc2luZyB0aHVtYm5haWxzIGZvciBmaWxlcyBpbiB0aGlzIGNhdGVnb3J5Lic7CiRsYW5nWydjcmVhdGVfdGh1bWJuYWlscyddID0gJ0NyZWF0ZSBUaHVtYm5haWxzJzsKJGxhbmdbJ3RpdGxlX2NyZWF0ZV90aHVtYm5haWwnXSA9ICcocmUpQ3JlYXRlIHRoZSB0aHVtYm5haWwgZm9yIHRoaXMgZmlsZSc7CiRsYW5nWydjcmVhdGVfdGh1bWJuYWlsJ10gPSAnQ3JlYXRlIFRodW1ibmFpbCc7CiRsYW5nWydlcnJvcl9wYXRoZXJyb3InXSA9ICdDb3VsZCBub3Qgb3BlbiBkaXJlY3RvcnkgKHBlcm1pc3Npb25zIHByb2JsZW0/KSc7CiRsYW5nWyd0aXRsZV9kb3dubG9hZF9jaHVua3NpemUnXSA9ICdTaXplIG9mIGVhY2ggZG93bmxvYWQgY2h1bmsnOwokbGFuZ1snaW5mb19kb3dubG9hZF9jaHVua3NpemUnXSA9ICdBZGp1c3RpbmcgdGhpcyBwYXJhbWV0ZXIgd2lsbCBlZmZlY3QgZG93bmxvYWQgc3BlZWQsIGFuZCBtYXkgaGVscCBpbiBsb3dlciBtZW1vcnkgZW52aXJvbm1lbnRzJzsKJGxhbmdbJ3dhcm5pbmdfc2FmZV9tb2RlJ10gPSAnUEhQXCdzIHNhZmUgbW9kZSBpcyBlbmFibGVkLiAgVGhpcyBtYXkgY2F1c2UgcHJvYmxlbXMgd2l0aCB1cGxvYWRpbmcgZmlsZXMgKHBlcm1pc3Npb25zKSwgYW5kIG1heSBhbHNvIGludGVyZmVyZSB3aXRoIHRoaXMgbW9kdWxlXCdzIGFiaWxpdHkgdG8gc2VuZCBzb21lIGZpbGVzIGR1ZSB0byBhbiBpbmFiaWxpdHkgdG8gb3ZlcnJpZGUgc29tZSBpbmkgc2V0dGluZ3MuICBZb3UgYXJlIGFkdmlzZWQgdG8gY29udGFjdCB5b3VyIHByb3ZpZGVyIHRvIHNlZSBhYm91dCBkaXNhYmxpbmcgc2FmZSBtb2RlLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnVXNlZnVsIGZvciBkaXNwbGF5aW5nIGEgZGV0YWlsIHJlcG9ydCB1c2luZyBhIGRpZmZlcmVudCBwYWdlIHRlbXBsYXRlLCB0aGlzIHBhcmFtZXRlciB0YWtlcyB0aGUgcGFnZSBpZCBvciBwYWdlIGFsaWFzIG9mIGEgcGFnZSB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQnOwokbGFuZ1sncGFyYW1fcHJlZml4J10gPSAnQSBib29sZWFuIHRoYXQgaW5kaWNhdGVzIHdldGhlciBmaWxlIG5hbWVzIHNob3VsZCBiZSBwcmVmaXhlZCc7CiRsYW5nWydwYXJhbV9wcmVmaXhfZmV1J10gPSAnQSBib29sZWFuIHBhcmFtZXRlciB0aGF0IGluZGljYXRlcyB0aGF0IHRoZSBwcmVmaXggc2hvdWxkIGJlIHRha2VuIGZyb20gdGhlIGN1cnJlbnQgYXV0aG9yLCBpZiBub3Qgc3BlY2lmaWVkLCB0aGUgcHJlZml4IGlzIHRoZSBjdXJyZW50IHRpbWUgKGluIGRlY2hleCBmb3JtYXQpJzsKJGxhbmdbJ3BhcmFtX25vY2FwdGNoYSddID0gJ0Rpc2FibGUgY2FwdGNoYSBzdXBwb3J0IChvbiBieSBkZWZhdWx0KSBpbiB0aGUgdXBsb2FkIGZvcm0nOwokbGFuZ1sndGl0bGVfdXBsb2FkZm9ybV90ZW1wbGF0ZSddID0gJ0VkaXQgVXBsb2FkIEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ0VudGVyIHRoZSB0ZXh0IGRpc3BsYXllZCBpbiB0aGlzIGltYWdlJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1RleHQgZW50ZXJlZCBkaWQgbm90IG1hdGNoIHRoZSBpbWFnZSBkaXNwbGF5ZWQnOwokbGFuZ1sncHJvbXB0X3VwbG9hZF9pY29uJ10gPSAnVXBsb2FkIEFuIEljb24nOwokbGFuZ1snaW5mb19zeXNkZWZhdWx0J10gPSAnVGhpcyB0ZXh0IGlzIHVzZWQgd2hlbiBjcmVhdGluZyBhIG5ldyB0ZW1wbGF0ZSBvZiB0aGlzIHR5cGUnOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3N5c2RlZmF1bHQnXSA9ICdQcm90b3R5cGUgRGV0YWlsIFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3N5c2RlZmF1bHQnXSA9ICdQcm90b3R5cGUgU3VtbWFyeSBSZXBvcnQgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfdXBsb2FkZm9ybV9zeXNkZWZhdWx0J10gPSAnUHJvdG90eXBlIFVwbG9hZCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1sncmVzZXR0b2RlZmF1bHQnXSA9ICdSZXNldCB0byBEZWZhdWx0cyc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3RlbXBsYXRlJ10gPSAnU3VtbWFyeSBSZXBvcnQgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3RlbXBsYXRlJ10gPSAnRGV0YWlsIFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05hbWUnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHQnXSA9ICdEZWZhdWx0JzsKJGxhbmdbJ2xlZ2VuZF91cGxvYWRmb3JtJ10gPSAnVXBsb2FkIEEgRmlsZSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdBIHJlcXVpcmVkIHBhcmFtZXRlciBpcyBtaXNzaW5nJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmduYW1lJ10gPSAnQSBuYW1lIGZvciB0aGUgZmlsZSB0eXBlIG11c3QgYmUgc3BlY2lmaWVkJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdleHRlbnNpb25zJ10gPSAnQXQgbGVhc3Qgb25lIGZpbGUgZXh0ZW5zaW9uIG11c3QgYmUgc3BlY2lmaWVkJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdpY29uJ10gPSAnQW4gaWNvbiBtdXN0IGJlIHNwZWNpZmllZCc7CiRsYW5nWydlcnJvcl9ub3N1Y2hyb3cnXSA9ICdUaGUgc3BlY2lmaWVkIHJvdyBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snbmFtZV91bmtub3duJ10gPSAnVW5rbm93bic7CiRsYW5nWydkZXNjcmlwdGlvbl91bmtub3duJ10gPSAnRmlsZSB0eXBlIGRlc2NyaXB0aW9uIGZvciB1bm1hdGNoZWQgZmlsZXMnOwokbGFuZ1snaW1hZ2UnXSA9ICdJbWFnZSc7CiRsYW5nWydpY29uJ10gPSAnSWNvbic7CiRsYW5nWydleHRlbnNpb25zJ10gPSAnRmlsZSBFeHRlbnNpb25zJzsKJGxhbmdbJ2FkZGZpbGV0eXBlJ10gPSAnQWRkIE5ldyBGaWxlIFR5cGUnOwokbGFuZ1snZmlsZV90eXBlcyddID0gJ0ZpbGUgVHlwZXMnOwokbGFuZ1snZXJyb3Jfbm9jYXRlZ29yeWlkJ10gPSAnTm8gQ2F0ZWdvcnkgaWQgd2FzIHN1cHBsaWVkJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcnknXSA9ICdObyBDYXRlZ29yeSBpZCB3YXMgc3VwcGxpZWQnOwokbGFuZ1snZXJyb3JfdGVtcGxhdGVuYW1lZXhpc3RzJ10gPSAnQSB0ZW1wbGF0ZSBieSB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlbmFtZSddID0gJ1RlbXBsYXRlIE5hbWUnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X25ld3RlbXBsYXRlJ10gPSAnQ3JlYXRlIGEgbmV3IHRlbXBsYXRlJzsKJGxhbmdbJ2hlbHBfT25Eb3dubG9hZCddID0gJwo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZmluaXNoZXMgZG93bmxvYWRpbmcgYSBmaWxlPC9wPgo8aDQ+UGFyYW1ldGVyczwvaDQ+Cjx1bD4KPGxpPjxlbT5pZDwvZW0+IC0gVXBsb2FkIElEPC9saT4KPGxpPjxlbT5uYW1lPC9lbT4gLSBGaWxlIG5hbWU8L2xpPgo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgSVAgQWRkcmVzcyBvZiB0aGUgZG93bmxvYWRlcjwvbGk+CjwvdWw+Cic7CiRsYW5nWydoZWxwX09uRGVsZXRlQ2F0ZWdvcnknXSA9ICcKPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBjYXRlZ29yeSBpcyBEZWxldGVkPC9wPgo8aDQ+UGFyYW1ldGVyczwvaDQ+Cjx1bD4KPGxpPjxlbT5uYW1lPC9lbT4gLSBDYXRlZ29yeSBuYW1lPC9saT4KPGxpPjxlbT5wYXRoPC9lbT4gLSBDYXRlZ29yeSBwYXRoPC9saT4KPC91bD4KJzsKJGxhbmdbJ2hlbHBfT25DcmVhdGVDYXRlZ29yeSddID0gJwo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGNhdGVnb3J5IGlzIENyZWF0ZWQ8L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBjYXRlZ29yeTwvbGk+CjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBjYXRlZ29yeSBkZXNjcmlwdGlvbjwvbGk+CjxsaT48ZW0+cGF0aDwvZW0+IC0gVGhlIGNhdGVnb3J5IHBhdGg8L2xpPgo8bGk+PGVtPmxpc3RhYmxlPC9lbT4gLSBBIGZsYWcgaW5kaWNhdGluZyBpZiB0aGUgY2F0ZWdvcnkgaXMgbGlzdGFibGU8L2xpPgo8bGk+PGVtPmRlbGV0YWJsZTwvZW0+IC0gQSBmbGFnIGluZGljYXRpbmcgaWYgZmlsZXMgaW4gdGhlIGNhdGVnb3J5IGFyZSBkZWxldGFibGU8L2xpPgo8L3VsPgonOwokbGFuZ1snaGVscF9PblJlbW92ZSddID0gJwo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGZpbGUgaXMgcmVtb3ZlZCB2aWEgdGhlIGFkbWluIG9yIGZyb250ZW5kIGludGVyZmFjZXM8L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSByZW1vdmVkIGZpbGU8L2xpPgo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgaWQgb2YgdGhlIHJlbW92ZWQgZmlsZTwvbGk+CjxsaT48ZW0+Y2F0ZWdvcnlfaWQ8L2VtPiAtIFRoZSBpZCBvZiB0aGUgY2F0ZWdvcnk8L2xpPgo8L3VsPgonOwokbGFuZ1snaGVscF9PblVwbG9hZCddID0gJwo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIG5ldyBmaWxlIGlzIHVwbG9hZGVkIHZpYSB0aGUgYWRtaW4gb3IgZnJvbnRlbmQgaW50ZXJmYWNlczwvcD4KPGg0PlBhcmFtZXRlcnM8L2g0Pgo8dWw+CjxsaT48ZW0+dXBsb2FkX2lkPC9lbT4gLSBUaGUgdXBsb2FkIGlkPC9saT4KPGxpPjxlbT5jYXRlZ29yeTwvZW0+IC0gVGhlIGNhdGVnb3J5IG5hbWU8L2xpPgo8bGk+PGVtPmNhdGVnb3J5cGF0aDwvZW0+IC0gVGhlIGNhdGVnb3J5IHBhdGg8L2xpPgo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSB1cGxvYWRlZCBmaWxlPC9saT4KPGxpPjxlbT5zaXplPC9lbT4gLSBUaGUgc2l6ZSBvZiB0aGUgdXBsb2FkZWQgZmlsZTwvbGk+CjxsaT48ZW0+c3VtbWFyeTwvZW0+IC0gVGhlIHNob3J0IGRlc2NyaXB0aW9uIGZvciB0aGUgdXBsb2FkZWQgZmlsZSAobWF5IGJlIGVtcHR5KTwvZW0+PC9saT4KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gVGhlIGxvbmcgZGVzY3JpcHRpb24gZm9yIHRoZSB1cGxvYWRlZCBmaWxlIChtYXkgYmUgZW1wdHkpPC9lbT48L2xpPgo8bGk+PGVtPmF1dGhvcjwvZW0+IC0gVGhlIGF1dGhvciBvZiB0aGUgdXBsb2FkZWQgZmlsZSAoaWYgYXZhaWxhYmxlKTwvZW0+PC9saT4KPGxpPjxlbT5pcF9hZGRyZXNzPC9lbT4gLSBUaGUgaW50ZXJuZXQgYWRkcmVzcyBvZiB0aGUgY2xpZW50IHRoYXQgdXBsb2FkZWQgdGhlIGZpbGU8L2xpPgo8L3VsPgonOwokbGFuZ1snaW5mb19ldmVudF9vbmRlbGV0ZWNhdGVnb3J5J10gPSAnRXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBjYXRlZ29yeSBpcyBkZWxldGVkJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25jcmVhdGVjYXRlZ29yeSddID0gJ0V2ZW50IGdlbmVyYXRlZCB3aGVuIGEgY2F0ZWdvcnkgaXMgY3JlYXRlZCc7CiRsYW5nWydpbmZvX2V2ZW50X29uZG93bmxvYWQnXSA9ICdFdmVudCBnZW5lcmF0ZWQgd2hlbiBhIGZpbGUgaXMgZG93bmxvYWRlZCc7CiRsYW5nWydpbmZvX2V2ZW50X29udXBsb2FkJ10gPSAnRXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBuZXcgZmlsZSBpcyB1cGxvYWRlZCc7CiRsYW5nWydpbmZvX2V2ZW50X29ucmVtb3ZlJ10gPSAnRXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBmaWxlIGlzIHJlbW92ZWQnOwokbGFuZ1sndGl0bGVfdXNlcnRhZ19vbnVwbG9hZCddID0gJ1VzZXIgZGVmaW5lZCB0YWcgdG8gY2FsbCBhZnRlciB1cGxvYWQgaXMgY29tcGxldGUnOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwokbGFuZ1snbWF0Y2hlc2ZvdW5kJ10gPSAnTWF0Y2hlcyBmb3VuZCc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOwokbGFuZ1sndGl0bGVfcmVkaXJlY3RvbnVwbG9hZCddID0gJ1JlZGlyZWN0IHRvIHBhZ2UgaWQvYWxpYXMgb24gdXNlciB1cGxvYWQnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMnOwokbGFuZ1snY29uZmlybV9wcmVmZXJlbmNlcyddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBhZGp1c3QgdGhlIHByZWZlcmVuY2VzPyc7CiRsYW5nWydlcnJvcl9ub2ZpbGVzdXBsb2FkZWQnXSA9ICdObyBmaWxlcyB3ZXJlIHVwbG9hZGVkLic7CiRsYW5nWydwcm9tcHRfcmVwbGFjZSddID0gJ0FsbG93IE92ZXJ3cml0ZSc7CiRsYW5nWydpbmZvX3JlcGxhY2UnXSA9ICdSZXBsYWNlIGFueSBmaWxlIHdpdGggdGhlIHNhbWUgbmFtZSAoZG9lcyBub3QgY2hhbmdlIGlkKSc7CiRsYW5nWydwYXJhbV9ub19pbml0aWFsJ10gPSAnRG8gbm90IGRpc3BsYXkgYW55IGluaXRpYWwgcmVzdWx0cyB3aGVuIHRoZSBmaWx0ZXIgaXMgb24nOwokbGFuZ1sncGFyYW1fa2V5J10gPSAnUHJvdmlkZSBhbiBhZGRpdGlvbmFsIGtleSB0byB0aGUgbW9kdWxlIGZvciBmdXJ0aGVyIG9yZ2FuaXppbmcgdXBsb2Fkcy4gIFRoaXMga2V5IGNvdWxkIGJlIGFuIGVuY29kZWQgc3RyaW5nIGxpa2U6IFwnZmV1c2Vyczp1aWRcJywgZXRjLiAgVGhpcyBwYXJhbWV0ZXIgaXMgdXN1YWxseSBvbmx5IG5lZWRlZCB3aGVuIGVtYmVkZGluZyB0aGUgdXBsb2FkcyBtb2R1bGUgaW50byBhbm90aGVyIG1vZHVsZSc7CiRsYW5nWydwYXJhbV91cGxvYWRfaWQnXSA9ICcKdXBsb2FkX2lkPSJpZCIgLSBzcGVjaWZ5IGEgc2luZ2xlIGZpbGUgZm9yIHRoZSB1cmwvbGluayxkZXRhaWxlZCBvciBzaW5nbGUgYWN0aW9ucyAoYWJvdmUpJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVXNlIGEgdGVtcGxhdGUgd2l0aCB0aGlzIG5hbWUgZm9yIHRoZSBkZXRhaWwgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV90ZW1wbGF0ZSddID0gJ1VzZSBhIHRlbXBsYXRlIHdpdGggdGhpcyBuYW1lIGZvciB0aGlzIHJlcG9ydCBvciBmb3JtLiAgVGhlIHBhcmFtZXRlciBpcyB1c2VkIHRvIGRldGVybWluZSB3aGF0IHR5cGUgb2YgdGVtcGxhdGUgaXMgcmVxdWlyZXJkLCBhbmQgdGhlbiBhIG5hbWUgbWF0Y2ggaXMgcGVyZm9ybWVkIHdpdGhpbiB0aGF0IHR5cGUuJzsKJGxhbmdbJ3BhcmFtX2ZpZWxkbmFtZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIGEgZmllbGQgdG8gZmlsdGVyIHRoZSByZXN1bHRzIGJ5LiAgTXVzdCBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGZpZWxkdmFsIHBhcmFtZXRlci4nOwokbGFuZ1sncGFyYW1fZmllbGR2YWwnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZmllbGRuYW1lIHBhcmFtZXRlciB0byBzcGVjaWZ5IHRoZSB2YWx1ZSBvZiBhIGZpZWxkIHRvIGZpbHRlciB0aGUgcmVzdWx0cyBieS4gIEEgc3Vic3RyaW5nIG1hdGNoIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2ZpZWxkbmFtZTInXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiBhIGZpZWxkIHRvIGZpbHRlciB0aGUgcmVzdWx0cyBieS4gIE11c3QgYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBmaWVsZHZhbDIgcGFyYW1ldGVyLiAgV2hlbiBmaWVsZG5hbWUyLCBmaWVsZHZhbDIsIGZpZWxkbmFtZSwgYW5kIGZpZWxkdmFsIHBhcmFtZXRlcnMgYXJlIHVzZWQgZWFjaCBmaWxlIG11c3QgbWF0Y2ggYm90aCBjb25kaXRpb25zLic7CiRsYW5nWydwYXJhbV9maWVsZHZhbDInXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgZmllbGRuYW1lMiBwYXJhbWV0ZXIgdG8gc3BlY2lmeSB0aGUgdmFsdWUgb2YgYSBmaWVsZCB0byBmaWx0ZXIgdGhlIHJlc3VsdHMgYnkuICBXaGVuIGZpZWxkbmFtZTIsIGZpZWxkdmFsMiwgZmllbGRuYW1lLCBhbmQgZmllbGR2YWwgcGFyYW1ldGVycyBhcmUgdXNlZCBlYWNoIGZpbGUgbXVzdCBtYXRjaCBib3RoIGNvbmRpdGlvbnMuICBBIHN1YnN0cmluZyBtYXRjaCBpcyB1c2VkJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlciddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciB3aWxsIGVuYWJsZSBkaXNwbGF5IG9mIHRoZSBmaWx0ZXJpbmcgZm9ybS4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhbnkgdmFsdWUgPGVtPihhbmQgdGhlIGZpZWxkcyBzdGlsbCBhcHBlYXIgaW4gdGhlIHN1bW1hcnkgdGVtcGxhdGUpPC9lbT4nOwokbGFuZ1sncGFyYW1fbm9faW50aXRpYWwnXSA9ICdPbmx5IHVzZWZ1bCB3aGVuIHRoZSBmaWx0ZXIgcGFyYW1ldGVyIGlzIHN1cHBsaWVkLCBvciBvbiBieSBkZWZhdWx0LCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2V0aGVyIGluaXRpYWwgcmVzdWx0cyBzaG91bGQgYmUgcmV0dXJuZWQnOwokbGFuZ1sncGFyYW1fZmlsZXR5cGVzJ10gPSAnRGlzcGxheSBvbmx5IGZpbGVzIHdob3NlIHR5cGUgbWF0Y2hlcyB0aGlzIGNvbW1hIHNlcGFyYXRlZCBsaXN0JzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJwogIDxwPlNvcnQgT3JkZXJzCiAgPHVsPgogIDxsaT48ZW0+ZGF0ZV9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGRhdGU8L2xpPgogIDxsaT48ZW0+ZGF0ZV9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgZGF0ZTwvbGk+CiAgPGxpPjxlbT5uYW1lX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgbmFtZTwvbGk+CiAgPGxpPjxlbT5uYW1lX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBuYW1lPC9saT4KICA8bGk+PGVtPnN1bW1fYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBzdW1tYXJ5PC9saT4KICA8bGk+PGVtPnN1bW1fZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGRlc2NyaXB0aW9uPC9saT4KICA8bGk+PGVtPnNpemVfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBzaXplPC9saT4KICA8bGk+PGVtPnNpemVfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIHNpemU8L2xpPgogIDxsaT48ZW0+YXV0aG9yX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgYXV0aG9yPC9saT4KICA8bGk+PGVtPmF1dGhvcl9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgYXV0aG9yPC9saT4KICA8bGk+PGVtPmlwX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgaXAgYWRkcmVzczwvbGk+CiAgPGxpPjxlbT5pcF9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgaXAgYWRkcmVzczwvbGk+CiAgPGxpPjxlbT5kZXNjX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgZGVzY3JpcHRpb248L2xpPgogIDxsaT48ZW0+ZGVzY19kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgZGVzY3JpcHRpb248L2xpPgogIDxsaT48ZW0+ZG93bmxvYWRzX2FzYzwvZW0+IC0gU29ydCBieSBkb3dubG9hZCBjb3VudCBpbiBhc2NlbmRpbmcgb3JkZXIuPC9saT4KICA8bGk+PGVtPmRvd25sb2Fkc19kZXNjPC9lbT4gLSBTb3J0IGJ5IGRvd25sb2FkIGNvdW50IGluIGRlc2NlbmRpbmcgb3JkZXIuPC9saT4KICA8bGk+PGVtPnJhbmRvbTwvZW0+IC0gUmFuZG9tIHNvcnQgb3JkZXI8L2xpPgogIDxsaT48ZW0+ZmllbGQ6W2Rlc2M6XW5hbWU8L2VtPiAtIFNvcnQgYnkgdGhlIHZhbHVlIG9mIGEgY3VzdG9tIGZpZWxkLiAgU3BlY2lmeSB0aGUgbmFtZSBvZiB0aGUgY3VzdG9tIGZpZWxkIGFuZCBvcHRpb25hbGx5IGluZGljYXRlIHRvIHNvcnQgaW4gZGVzY2VuZGluZyBvcmRlci4gIGkuZTogIHNvcnRvcmRlcj1maWVsZDpkZXNjOmFnZSBvciBzb3J0b3JkZXI9ZmllbGQ6YWdlLiAgVGhpcyBzb3J0aW5nIG1ldGhvZCBvbmx5IHdvcmtzIGluIHRoZSBzdW1tYXJ5IHZpZXcuPC9saT4KICA8L3VsPgogIDwvcD4nOwokbGFuZ1sncGFyYW1fbGlzdGluZ3RlbXBsYXRlJ109J1RlbXBsYXRlIHRvIHVzZSBmb3IgY2F0ZWdvcnkgbGlzdGluZ3MgYWZ0ZXIgY2xpY2t0aHJvdWdoIGZyb20gQ2F0ZWdvcnkgU3VtbWFyeSBwYWdlJzsKJGxhbmdbJ3BhcmFtX2xpc3Rpbmdzb3J0b3JkZXInXT0nU29ydCBvcmRlciAoYWxhIHBhcmFtX3NvcnRvcmRlcikgdG8gdXNlIGZvciBjYXRlZ29yeSBsaXN0aW5ncyc7CiRsYW5nWydwYXJhbV9maWxlZXh0ZW5zaW9ucyddID0gJwpmaWxlX2V4dGVuc2lvbnM9ImV4dDEsZXh0MixleHQzIgo8cD52YWxpZCBvbmx5IHdoZW4gYWN0aW9uPXVwbG9hZCwgdGhpcyBwYXJhbWV0ZXIgbGltaXRzIHRoZSB0eXBlcyBvZiBmaWxlcyB0aGF0IGNhbiBiZSB1cGxvYWRlZC4gIEl0IG92ZXJyaWRlcyBhbnkgc2V0dGluZ3MgaW4gdGhlIG1vZHVsZSBwcmVmZXJlbmNlcy48L3A+JzsKJGxhbmdbJ3BhcmFtX2NvdW50J10gPSAnY291bnQ9Ik4iIDxwPkEgcGFyYW1ldGVyIHRvIGxpbWl0IHRoZSByZXN1bHRzIHRvIE4gZW50cmllcyBwZXIgcGFnZS48L3A+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnCmNhdGVnb3J5PSJuYW1lIgo8cD48Yj5Ob3RlOjwvYj4gQ2F0ZWdvcnkgY2FuIGJlICJhbGwiLCB3aGljaCB3aWxsIGxpc3QgYWxsIG9mIHRoZSB1cGxvYWRzIGZyb20gYWxsIDxlbT5saXN0YWJsZTwvZW0+IGNhdGVnb3JpZXM8L3A+JzsKJGxhbmdbJ3JldHVybnRvbW9kdWxlJ10gPSAnUmV0dXJuIHRvIG1vZHVsZSBwYW5lbCc7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3JpZXMnXSA9ICdUaGVyZSBhcmUgbm8gZGVmaW5lZCBjYXRlZ29yaWVzJzsKJGxhbmdbJ3RpdGxlX2VuZm9yY2VleHRlbnNpb25zJ10gPSAnUmVxdWlyZSBleHRlbnNpb25zIG9uIGFsbCB1cGxvYWRlZCBmaWxlcyc7CiRsYW5nWydyZXN0b3JlZGVmYXVsdHNjb25maXJtJ10gPSAnVGhpcyBvcGVyYXRpb24gd2lsbCByZXN0b3JlIHRoZSB0ZW1wbGF0ZSB0byBzeXN0ZW0gZGVmYXVsdHMuICBBbnkgY2hhbmdlcyB5b3UgaGF2ZSBtYWRlIHdpbGwgYmUgbG9zdC4gIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBwcm9jZWVkPyc7CiRsYW5nWydpbmZvX3RodW1ibmFpbCddID0gJ0FuIG9wdGlvbmFsIHRodW1ibmFpbCBmaWxlJzsKJGxhbmdbJ3RodW1ibmFpbCddID0gJ1RodW1ibmFpbCc7CiRsYW5nWyduZXd0aHVtYm5haWwnXSA9ICdVcGxvYWQgYSBuZXcgdGh1bWJuYWlsJzsKJGxhbmdbJ2luZm9fc3VtbWFyeSddID0gJ0EgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGZpbGUgKGlmIGVtcHR5LCB0aGUgZmlsZSBuYW1lIGlzIHVzZWQgd2l0aG91dCB0aGUgZXh0ZW5zaW9uKSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5bmFtZSddID0gJ0EgYnJpZWYgbmFtZSBmb3IgeW91ciBjYXRlZ29yeSAoaHVtYW4gcmVhZGFibGUpJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlkZXNjJ10gPSAnQSBkZXNjcmlwdGlvbiBmb3IgeW91ciBjYXRlZ29yeSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5cGF0aCddID0gJ1RoZSBkaXJlY3RvcnkgbmFtZSBpbnNpZGUgdGhlIHVwbG9hZHMgZGlyZWN0b3J5IHRoYXQgd2lsbCBiZSB1c2VkIHRvIHN0b3JlIGZpbGVzIGluIHRoaXMgY2F0ZWdvcnkuICBJZiB0aGUgZGlyZWN0b3J5IG9mIHRoaXMgbmFtZSBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LCBpdCBtYXkgYmUgY3JlYXRlZC48YnIvPlJlbWVtYmVyOiBEaXJlY3RvcnkgbmFtZXMgc3RhcnRpbmcgd2l0aCBfIGFyZSBpZ25vcmVkIGJ5IGZpbGUgbWFuYWdlci4nOwokbGFuZ1snaW5mb19kZXN0bmFtZSddID0gJ1VzZSB0aGUgXCdVcGxvYWQgQXNcJyBmaWVsZCB0byBjaGFuZ2UgdGhlIG5hbWUgb2YgdGhlIGZpbGUgb24gdXBsb2FkLiAgTGVhdmUgYmxhbmsgdG8gcHJlc2VydmUgdGhlIGZpbGVuYW1lIGFzLWlzLic7CiRsYW5nWydlcnJvcl9jYW50Y3JlYXRlZGlyZWN0b3J5J10gPSAnQ291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnknOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdUaGUgQ01TTWFpbGVyIG1vZHVsZSBjb3VsZCBub3QgYmUgaW5zdGFudGlhdGVkJzsKJGxhbmdbJ3VwbG9hZF9ub3RpZmljYXRpb24nXSA9ICdBIG5ldyBmaWxlIGhhcyBiZWVuIHVwbG9hZGVkJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX29uX3VwbG9hZCddID0gJ1NlbmQgdXBsb2FkIG5vdGlmaWNhdGlvbiB0byc7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZSddID0gJ0VtYWlsIFRlbXBsYXRlcyc7CiRsYW5nWyd0aXRsZV9kdW1teV9pbmRleF9odG1sJ10gPSAnQ3JlYXRlIGR1bW15IGluZGV4Lmh0bWwgZmlsZXMgaW4gZWFjaCBkaXJlY3Rvcnk/PGJyLz48ZW0+QW55IGV4aXN0aW5nIGluZGV4Lmh0bWwgZmlsZXMgd2lsbCByZW1haW48L2VtPic7CiRsYW5nWydhYm91dCddID0gJ0Fib3V0JzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnXSA9ICdBY2Nlc3MgRGVuaWVkLiBQbGVhc2UgY2hlY2sgeW91ciBwZXJtaXNzaW9ucy4nOwokbGFuZ1snZXJyb3JfY291bGRub3R3cml0ZSddID0gJ0NvdWxkIG5vdCB3cml0ZSc7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0FkZCBDYXRlZ29yeSc7CiRsYW5nWydhbGwnXSA9ICdBbGwnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSBZb3UgU3VyZT8nOwokbGFuZ1snYXV0aG9yJ10gPSAnQXV0aG9yJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydjYW5ub3Rtb2RpZnlwYXRoJ10gPSAnKFRoZSBwYXRoIGNhbm5vdCBiZSBtb2RpZmllZCknOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yeSc7CiRsYW5nWydtZXNzYWdlX2NhdGVnb3J5YWRkZWQnXSA9ICdDYXRlZ29yeSBzdWNjZXNzZnVsbHkgYWRkZWQnOwokbGFuZ1snZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1snZGF0ZXVwbG9hZGVkJ10gPSAnRGF0ZSBVcGxvYWRlZCc7CiRsYW5nWydkZWZhdWx0J10gPSAnRGVmYXVsdHMnOwokbGFuZ1snZGVsZXRlJ10gPSAnRGVsZXRlJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZGVzdG5hbWUnXSA9ICdVcGxvYWQgQXMnOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlJ10gPSAnRGV0YWlsIFRlbXBsYXRlcyc7CiRsYW5nWydkb3dubG9hZGVkJ10gPSAnRmlsZSAlcyB3YXMgZG93bmxvYWRlZC4nOwokbGFuZ1snZG93bmxvYWRzJ10gPSAnRG93bmxvYWRzJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ2VkaXRjYXRlZ29yeSddID0gJ0VkaXQgQ2F0ZWdvcnknOwokbGFuZ1snZWRpdHVwbG9hZCddID0gJ0VkaXQgVXBsb2FkJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3IhJzsKJGxhbmdbJ2Vycm9yX3BhdGhpbnVzZTInXSA9ICdBIGNhdGVnb3J5IHVzaW5nIHRoZSBwYXRoICglcykgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlJ10gPSAnQSBjYXRlZ29yeSB1c2luZyB0aGF0IHBhdGggYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlleGlzdHMyJ10gPSAnRXJyb3I6IENhdGVnb3J5IG5hbWVkICVzIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5ZXhpc3RzJ10gPSAnRXJyb3I6IENhdGVnb3J5IGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90ZW1wdHknXSA9ICdFcnJvciEgQ2Fubm90IGRlbGV0ZSBhIGNhdGVnb3J5IHRoYXQgaXMgbm90IGVtcHR5JzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90Zm91bmQnXSA9ICdFcnJvcjogQ2F0ZWdvcnkgbm90IGZvdW5kISc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRXJyb3I6IERhdGFiYXNlIGVycm9yISc7CiRsYW5nWydlcnJvcl9lbXB0eWNhdGVnb3J5J10gPSAnRXJyb3I6IEVtcHR5IENhdGVnb3J5ISc7CiRsYW5nWydlcnJvcl9lbXB0eXBhdGgnXSA9ICdFcnJvcjogRW1wdHkgUGF0aCEnOwokbGFuZ1snZXJyb3JfZmllbGRub3Rmb3VuZCddID0gJ0ZpZWxkIG5vdCBmb3VuZCc7CiRsYW5nWydlcnJvcl9maWxlZXhpc3RzJ10gPSAnRXJyb3IhIEZpbGUgJXMgYWxyZWFkeSBleGlzdHMuJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0Vycm9yISBGaWxlICVzIHdhcyBub3QgZm91bmQuJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ0Vycm9yOiBJbnN1ZmZpY2llbnQgcGFyYW1ldGVycyBzdXBwbGllZCB0byBtb2R1bGUhPGJyLz5NaXNzaW5nIHBhcmFtIGlzOiAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkYXV0aG9yJ10gPSAnRXJyb3I6IEludmFsaWQgKG9yIGVtcHR5KSBhdXRob3IuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjYXRlZ29yeSddID0gJ0Vycm9yOiBJbnZhbGlkIChvciBlbXB0eSkgY2F0ZWdvcnkuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRkZXNjcmlwdGlvbiddID0gJ0Vycm9yOiBJbnZhbGlkIChvciBlbXB0eSkgZGVzY3JpcHRpb24uJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRmaWxlJ10gPSAnRXJyb3I6IEludmFsaWQgKG9yIGVtcHR5KSBmaWxlbmFtZS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVwbG9hZGZpbGVuYW1lJ10gPSAnRXJyb3I6IEZpbGVzIHdpdGggdGhhdCBuYW1lIChwcm9iYWJseSBleHRlbnNpb24pIGFyZSBub3QgYWxsb3dlZCAoJXMpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkaWQnXSA9ICdFcnJvcjogSW52YWxpZCB1cGxvYWQgaWQnOwokbGFuZ1snZXJyb3Jfbm9maWxlcyddID0gJ0Vycm9yOiBObyBNYXRjaGluZyBGaWxlcyEnOwokbGFuZ1snZmlsZXMnXSA9ICdGaWxlcyc7CiRsYW5nWydmaXhtZSddID0gJ0ZpeCBTcGFjZXMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnTWFuYWdlIFVzZXIgVXBsb2Fkcyc7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1snaXBfYWRkcmVzcyddID0gJ0lQIEFkZHJlc3MnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSB0aGF0IGFsbG93cyB1c2VycyB0byB1cGxvYWQgZmlsZXMsIGFuZCBhbGxvd3MgeW91IHRvIG1hbmFnZSB0aGVtLic7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydyZW5hbWVtZXNzYWdlJ10gPSAnQ2hhbmdlIHRoZSBuYW1lIGhlcmUgdG8gZXhlY3V0ZSBhIHJlbmFtZSc7CiRsYW5nWydwYXRoJ10gPSAnUGF0aCc7CiRsYW5nWydwYXRobWVzc2FnZSddID0gJ0NoYW5nZSB0aGUgY2F0ZWdvcnkgaGVyZSB0byBtb3ZlIHRoZSBmaWxlIHRvIGFub3RoZXIgZGlyZWN0b3J5JzsKJGxhbmdbJ3BhdGhpbnVwbG9hZHMnXSA9ICcoUmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyZWN0b3J5KSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJzxwPlRoZSB1cGxvYWRzIG1vZHVsZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkLiBCZSBzdXJlIHRvIHNldCAiTWFuYWdlIFVwbG9hZHMiIHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSE8L3A+CjxwPjxzdHJvbmc+V2FybmluZzwvc3Ryb25nPiAtIFRoZSBwcm9wZXIgYmVoYXZpb3VyIG9mIHRoaXMgbW9kdWxlIGRlcGVuZHMgb24gbnVtZXJvdXMgcGhwIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzLiAgVGhlc2UgaW5jbHVkZSA8ZW0+KGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG8pPC9lbT4sIHBocFwncyBtZW1vcnlfbGltaXQsIHNhZmVfbW9kZSwgZmlsZV91cGxvYWRzLCB1cGxvYWRzX21heF9maWxlc2l6ZSwgYW5kIG1heF9leGVjdXRpb25fdGltZS4gIFRoZXNlIHZhcmlhYmxlcyBtYXkgbmVlZCBhZGp1c3RtZW50IGZvciB0aGlzIG1vZHVsZSB0byB3b3JrIHByb3Blcmx5IG9uIHlvdXIgc2l0ZS4gIEl0IGlzIGFkdmlzZWQgdGhhdCB5b3Ugd29yayB3aXRoIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3Igb3IgaG9zdCBwcm92aWRlciB0byB0dW5lIHRoZXNlIHNldHRpbmdzIGZvciB5b3VyIHJlcXVpcmVtZW50cy48L3A+JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgVXBsb2FkcyBtb2R1bGUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuICBObyBmaWxlcyBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHlvdXIgdXBsb2FkcyBkaXJlY3RvcnksIGFuZCBmaWxlIGludGVncml0eSBpcyBpbnRhY3QnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGUgcHJlZmVyZW5jZXMgdXBkYXRlZC4nOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5ZGVzYyddID0gJ0Rlc2NyaXB0aW9uJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeWxpc3RhYmxlJ10gPSAnRmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgY2FuIGJlIGxpc3RlZCc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnluYW1lJ10gPSAnQ2F0ZWdvcnkgTmFtZSc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlwYXRoJ10gPSAnU2VydmVyIFBhdGgnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZWRpcmVjdG9yeSddID0gJ0RlbGV0ZSBjYXRlZ29yeSBkaXJlY3Rvcnk/JzsKJGxhbmdbJ3Byb21wdF9tYXhfdXBsb2Fkc2l6ZSddID0gJ01heGltdW0gZmlsZSBzaXplIGFsbG93ZWQgKEtiKSc7CiRsYW5nWydwcm9tcHRfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ1ZhbGlkIHVwbG9hZCBleHRlbnNpb25zJzsKJGxhbmdbJ3NjYW4nXSA9ICdTY2FuJzsKJGxhbmdbJ3NlbGVjdGNhdGVnb3J5J10gPSAnU2VsZWN0IENhdGVnb3J5JzsKJGxhbmdbJ3NpemUnXSA9ICdTaXplJzsKJGxhbmdbJ3NpemVrYiddID0gJ1NpemUgKEtiKSc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N1bW1hcnkgVGVtcGxhdGVzJzsKJGxhbmdbJ3N1bW1hcnknXSA9ICdTdW1tYXJ5JzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnVXBsb2FkcyBNb2R1bGUnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlIEFkbWluIFBhbmVsJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZSBQcmVmZXJlbmNlcyc7CiRsYW5nWyd0aXRsZV9zdWJuZXRfZXhjbHVzaW9ucyddID0gJ0V4Y2x1ZGUgc3VibmV0cyBmcm9tIHN0YXRpc3RpY3MnOwokbGFuZ1sndGl0bGVfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ1ZhbGlkIEV4dGVuc2lvbnMnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3VwbG9hZCddID0gJ1VwbG9hZCc7CiRsYW5nWyd1cGxvYWRlZCddID0gJ0ZpbGUgJXMgd2FzIHVwbG9hZGVkIGJ5ICVzLic7CiRsYW5nWydyZXBsYWNlZCddID0gJ0ZpbGUgJXMgd2FzIHJlcGxhY2VkIGJ5ICVzLic7CiRsYW5nWydkZWxldGVkJ10gPSAnRmlsZSAlcyB3YXMgZGVsZXRlZC4nOwokbGFuZ1sndXBsb2FkZm9ybV90ZW1wbGF0ZSddID0gJ1VwbG9hZCBUZW1wbGF0ZXMnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWyd3YXJuaW5nX2RlbGV0ZWNhdGVnb3J5J10gPSAnV0FSTklORzogVXNlIGNhdXRpb24gd2hlbiBkZWxldGluZyBjYXRlZ29yaWVzLiAgRmlsZXMgbWF5IGJlIGxvc3QnOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF9ncm91cGxpc3QnXSA9ICdBdXRob3Jpem92YW4mZWFjdXRlOyBGRVUgU2t1cGlueSc7CiRsYW5nWydpbmZvX2dyb3VwbGlzdCddID0gJ1Z5YmVybnRlIEZFVSBTa3VwaW55LCBrdGVyJmVhY3V0ZTsgbWFqJmlhY3V0ZTsgcG92b2xlbiBwxZkmaWFjdXRlO3N0dXAgayBzb3Vib3LFr20gdiB0JmVhY3V0ZTt0byBrYXRlZ29yaWkuICBacnUmc2Nhcm9uO2VuJmlhY3V0ZTttIHYmeWFjdXRlO2LEm3J1IHYmc2Nhcm9uO2VjaCBwb2xvxb5layBkb3ZvbCZpYWN1dGU7dGUgcMWZJmlhY3V0ZTtzdHVwIHYmc2Nhcm9uO2VtJzsKJGxhbmdbJ3RpdGxlX3NjYW4nXSA9ICdWeWhsZWRhdCBub3YmZWFjdXRlOyBzb3Vib3J5IHYgdCZlYWN1dGU7dG8ga2F0ZWdvcmlpJzsKJGxhbmdbJ3RpdGxlX2NyZWF0ZV90aHVtYm5haWxzJ10gPSAnVnl0dm/FmWl0IHNjaCZhYWN1dGU7emVqJmlhY3V0ZTtjJmlhY3V0ZTsgbiZhYWN1dGU7aGxlZHkgayBzb3Vib3J1bSB2IHQmZWFjdXRlO3RvIGthdGVnb3JpaS4nOwokbGFuZ1snY3JlYXRlX3RodW1ibmFpbHMnXSA9ICdWeXR2b8WZaXQgbiZhYWN1dGU7aGxlZHknOwokbGFuZ1sndGl0bGVfY3JlYXRlX3RodW1ibmFpbCddID0gJyh6bm92dSlWeXR2b8WZaXQgbiZhYWN1dGU7aGxlZCBwcm8gdGVudG8gc291Ym9yJzsKJGxhbmdbJ2NyZWF0ZV90aHVtYm5haWwnXSA9ICdWeXR2b8WZaXQgbiZhYWN1dGU7aGxlZCc7CiRsYW5nWydlcnJvcl9wYXRoZXJyb3InXSA9ICdOZW1vxb5ub3N0IG90ZXbFmWVuJmlhY3V0ZTsgYWRyZXMmYWFjdXRlO8WZZSAocHJvYmwmZWFjdXRlO20gcyBvcHImYWFjdXRlO3ZuxJtuJmlhY3V0ZTttPyknOwokbGFuZ1sndGl0bGVfZG93bmxvYWRfY2h1bmtzaXplJ10gPSAnU2l6ZSBvZiBlYWNoIGRvd25sb2FkIGNodW5rJzsKJGxhbmdbJ2luZm9fZG93bmxvYWRfY2h1bmtzaXplJ10gPSAnVXByYXZlbiZpYWN1dGU7IHRvaG90byBwYXJhbWV0cnUgYnVkZSBtJmlhY3V0ZTt0ICZ1YWN1dGU7xI1pbmVrIG5hIHJ5Y2hsb3N0aSBzdGFob3YmYWFjdXRlO24maWFjdXRlOyBhIG3Fr8W+ZSBwb21vY3QgbmEgc3lzdCZlYWN1dGU7bWVjaCBzIG0mZWFjdXRlO27EmyBwYW3Em3RpJzsKJGxhbmdbJ3dhcm5pbmdfc2FmZV9tb2RlJ10gPSAnUEhQJiMwMzk7cyBzYWZlIG1vZGUgamUgYWt0aXZuJmlhY3V0ZTsuICBNxa/FvmUgcMWvc29iaXQgcHJvYmwmZWFjdXRlO215IHMgbmFociZhYWN1dGU7diZhYWN1dGU7biZpYWN1dGU7bSBzb3Vib3LFryAob3ByJmFhY3V0ZTt2bsSbbiZpYWN1dGU7bSkgYSBtxa/FvmUgdGFreSBwxa9zb2JpdCBwcm9ibCZlYWN1dGU7bXkgcyBvZGVzJmlhY3V0ZTtsJmFhY3V0ZTtuJmlhY3V0ZTttIHNvdWJvcsWvLiBKZSBkb3BvcnXEjWVubyBhYnkganN0ZSBuZXBvdcW+JmlhY3V0ZTt2YWxpIHNhZmUgbW9kLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnVXNlZnVsIGZvciBkaXNwbGF5aW5nIGEgZGV0YWlsIHJlcG9ydCB1c2luZyBhIGRpZmZlcmVudCBwYWdlIHRlbXBsYXRlLCB0aGlzIHBhcmFtZXRlciB0YWtlcyB0aGUgcGFnZSBpZCBvciBwYWdlIGFsaWFzIG9mIGEgcGFnZSB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQnOwokbGFuZ1sncGFyYW1fcHJlZml4J10gPSAnQm9vbGVhbiwga3RlciZ5YWN1dGU7bSBuYXN0YXZ1amV0ZSB6ZGEgbSZhYWN1dGU7IG0maWFjdXRlO3Qgc291Ym9yIHByZWZpeCc7CiRsYW5nWydwYXJhbV9wcmVmaXhfZmV1J10gPSAnQSBib29sZWFuIHBhcmFtZXRlciB0aGF0IGluZGljYXRlcyB0aGF0IHRoZSBwcmVmaXggc2hvdWxkIGJlIHRha2VuIGZyb20gdGhlIGN1cnJlbnQgYXV0aG9yLCBpZiBub3Qgc3BlY2lmaWVkLCB0aGUgcHJlZml4IGlzIHRoZSBjdXJyZW50IHRpbWUgKGluIGRlY2hleCBmb3JtYXQpJzsKJGxhbmdbJ3BhcmFtX25vY2FwdGNoYSddID0gJ1Z5cG5vdXQgcG9kcG9ydSBDQVRDSHkgdiBuYWhyJmFhY3V0ZTt2YWMmaWFjdXRlO20gZm9ybXVsJmFhY3V0ZTvFmWkgKHZlIHYmeWFjdXRlO2Nob3omaWFjdXRlO20gc3RhdnUgemFwbnV0byknOwokbGFuZ1sndGl0bGVfdXBsb2FkZm9ybV90ZW1wbGF0ZSddID0gJ1VwcmF2aXQgJnNjYXJvbjthYmxvbnUgbmFociZhYWN1dGU7dmFjJmlhY3V0ZTtobyBmb3JtdWwmYWFjdXRlO8WZZSc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnVmxvxb50ZSB0ZXh0IHpvYnJhemVuJnlhY3V0ZTsgdiB0b210byBvYnImYWFjdXRlO3prdSc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUZXh0IGt0ZXImeWFjdXRlOyBqc3RlIHZsb8W+aWxpIHNlIG5lc2Nob2R1amUgcyB0ZXh0ZW0geiBvYnImYWFjdXRlO3prdSc7CiRsYW5nWyd0aXRsZV9hdXRvdGh1bWJuYWlsX2V4dGVuc2lvbnMnXSA9ICdWeXR2JmFhY3V0ZTvFmWV0IG4mYWFjdXRlO2hsZWR5IHBybyBzb3Vib3J5IHMgdMSbbWl0byBwxZkmaWFjdXRlO3BvbmFtaSc7CiRsYW5nWyd0aXRsZV9hdXRvdGh1bWJuYWlsX3NpemUnXSA9ICdNYXhpbSZhYWN1dGU7bG4maWFjdXRlOyB2ZWxpa29zdCAodiBwaXhlbGVjaCkgZ2VuZXJvdmFuJnlhY3V0ZTtjaCBuJmFhY3V0ZTtobGVkxa8nOwokbGFuZ1sncHJvbXB0X3VwbG9hZF9pY29uJ10gPSAnTmFociZhYWN1dGU7dCBpa29udSc7CiRsYW5nWydpbmZvX3N5c2RlZmF1bHQnXSA9ICdUZW50byB0ZXh0IGplIHBvdcW+aXQgcMWZaSB2eXR2JmFhY3V0ZTvFmWVuJmlhY3V0ZTsgbm92JmVhY3V0ZTsgJnNjYXJvbjthYmxvbnkgdG9ob3RvIHR5cHUnOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3N5c2RlZmF1bHQnXSA9ICdWJnlhY3V0ZTtjaG96JmlhY3V0ZTsgc3lzdCZlYWN1dGU7bW92JmFhY3V0ZTsgJnNjYXJvbjthYmxvbmEgZGVhaWxuJmlhY3V0ZTtobyB6b2JyYXplbiZpYWN1dGU7JzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlycHRfc3lzZGVmYXVsdCddID0gJ1YmeWFjdXRlO2Nob3omaWFjdXRlOyBzeXN0JmVhY3V0ZTttb3YmYWFjdXRlOyAmc2Nhcm9uO2FibG9uYSBzaHJudWomaWFjdXRlO2MmaWFjdXRlO2hvIHpvYnJhemVuJmlhY3V0ZTsnOwokbGFuZ1sndGl0bGVfdXBsb2FkZm9ybV9zeXNkZWZhdWx0J10gPSAnViZ5YWN1dGU7Y2hveiZpYWN1dGU7IHN5c3QmZWFjdXRlO21vdiZhYWN1dGU7ICZzY2Fyb247YWJsb25hIG5haHImYWFjdXRlO3ZhYyZpYWN1dGU7aG8gZm9ybXVsJmFhY3V0ZTvFmWUnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSc7CiRsYW5nWydyZXNldHRvZGVmYXVsdCddID0gJ1Jlc2V0b3ZhdCBuYSB2JnlhY3V0ZTtjaG96JmlhY3V0ZTsnOwokbGFuZ1sndGl0bGVfc3VtbWFyeXJwdF90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIHNocm51aiZpYWN1dGU7YyZpYWN1dGU7aG8gem9icmF6ZW4maWFjdXRlOyc7CiRsYW5nWyd0aXRsZV9kZXRhaWxycHRfdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSBkZXRhaWxuJmlhY3V0ZTtobyB6b2JyYXplbiZpYWN1dGU7JzsKJGxhbmdbJ3Byb21wdF9uYW1lJ10gPSAnSm0mZWFjdXRlO25vJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0J10gPSAnViZ5YWN1dGU7Y2hveiZpYWN1dGU7JzsKJGxhbmdbJ2xlZ2VuZF91cGxvYWRmb3JtJ10gPSAnTmFociZhYWN1dGU7dCBzb3Vib3InOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnUG90xZllYm4meWFjdXRlOyBwYXJhbWV0ciBjaHliJmlhY3V0ZTsnOwokbGFuZ1snZXJyb3JfbWlzc2luZ25hbWUnXSA9ICdKbSZlYWN1dGU7bm8gcHJvIHRlbnRvIHNvdWJvciZ5YWN1dGU7IHR5cCBtdXMmaWFjdXRlOyBiJnlhY3V0ZTt0IHNwZWNpZmlrb3YmYWFjdXRlO25vJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdleHRlbnNpb25zJ10gPSAnTWluaW0mYWFjdXRlO2xuxJsgamVkbmEgcMWZJmlhY3V0ZTtwb25hIG11cyZpYWN1dGU7IGImeWFjdXRlO3Qgc3BlY2lmaWtvdiZhYWN1dGU7bm8nOwokbGFuZ1snZXJyb3JfbWlzc2luZ2ljb24nXSA9ICdJa29uYSBtdXMmaWFjdXRlOyBiJnlhY3V0ZTt0IHNwZWNpZmlrb3YmYWFjdXRlO25hJzsKJGxhbmdbJ2Vycm9yX25vc3VjaHJvdyddID0gJ1VyxI1lbiZhYWN1dGU7IMWZYWRhIG5lbcWvxb5lIGImeWFjdXRlO3QgbmFsZXplbmEnOwokbGFuZ1snbmFtZV91bmtub3duJ10gPSAnTmV6biZhYWN1dGU7bSZ5YWN1dGU7JzsKJGxhbmdbJ2Rlc2NyaXB0aW9uX3Vua25vd24nXSA9ICdQb3Bpc2VrIHR5cHUgc291Ym9yxa8gcHJvIG5lemppJnNjYXJvbjt0xJtuJnlhY3V0ZTsgdHlwJzsKJGxhbmdbJ2ltYWdlJ10gPSAnT2JyJmFhY3V0ZTt6ZWsnOwokbGFuZ1snaWNvbiddID0gJ0lrb25hJzsKJGxhbmdbJ2V4dGVuc2lvbnMnXSA9ICdQxZkmaWFjdXRlO3Bvbnkgc291Ym9yxa8nOwokbGFuZ1snYWRkZmlsZXR5cGUnXSA9ICdQxZlpZGF0IG5vdiZ5YWN1dGU7IHR5cCBzb3Vib3J1JzsKJGxhbmdbJ2ZpbGVfdHlwZXMnXSA9ICdUeXB5IHNvdWJvcsWvJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcnlpZCddID0gJ05lYnlsbyB6YWQmYWFjdXRlO25vIElEIGthdGVnb3JpZSc7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3J5J10gPSAnTmVieWxvIHphZCZhYWN1dGU7bm8gSUQga2F0ZWdvcmllJzsKJGxhbmdbJ2Vycm9yX3RlbXBsYXRlbmFtZWV4aXN0cyddID0gJyZTY2Fyb247YWJsb25hIHRvaG90byBqbSZlYWN1dGU7bmEgamnFviBleGlzdHVqZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGVuYW1lJ10gPSAnSm0mZWFjdXRlO25vICZTY2Fyb247YWJsb255JzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hJzsKJGxhbmdbJ3Byb21wdF9uZXd0ZW1wbGF0ZSddID0gJ1Z5dHZvxZlpdCBub3ZvdSAmc2Nhcm9uO2FibG9udSc7CiRsYW5nWydoZWxwX09uRG93bmxvYWQnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZmluaXNoZXMgZG93bmxvYWRpbmcgYSBmaWxlPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5pZDwvZW0+IC0gVXBsb2FkIElEPC9saT4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRmlsZSBuYW1lPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIFRoZSBJUCBBZGRyZXNzIG9mIHRoZSBkb3dubG9hZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfT25EZWxldGVDYXRlZ29yeSddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgY2F0ZWdvcnkgaXMgRGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gQ2F0ZWdvcnkgbmFtZTwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIENhdGVnb3J5IHBhdGg8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9PbkNyZWF0ZUNhdGVnb3J5J10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBjYXRlZ29yeSBpcyBDcmVhdGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgY2F0ZWdvcnk8L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gVGhlIGNhdGVnb3J5IGRlc2NyaXB0aW9uPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gVGhlIGNhdGVnb3J5IHBhdGg8L2xpPg0KPGxpPjxlbT5wYXRoPC9lbT4gLSBBIGZsYWcgaW5kaWNhdGluZyBpZiB0aGUgY2F0ZWdvcnkgaXMgbGlzdGFibGU8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9PblJlbW92ZSddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZmlsZSBpcyByZW1vdmVkIHZpYSB0aGUgYWRtaW4gb3IgZnJvbnRlbmQgaW50ZXJmYWNlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIHJlbW92ZWQgZmlsZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgaWQgb2YgdGhlIHJlbW92ZWQgZmlsZTwvbGk+DQo8bGk+PGVtPmNhdGVnb3J5X2lkPC9lbT4gLSBUaGUgaWQgb2YgdGhlIGNhdGVnb3J5PC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfT25VcGxvYWQnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIG5ldyBmaWxlIGlzIHVwbG9hZGVkIHZpYSB0aGUgYWRtaW4gb3IgZnJvbnRlbmQgaW50ZXJmYWNlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+Y2F0ZWdvcnk8L2VtPiAtIFRoZSBjYXRlZ29yeSBuYW1lPC9saT4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIHVwbG9hZGVkIGZpbGU8L2xpPg0KPGxpPjxlbT5zaXplPC9lbT4gLSBUaGUgc2l6ZSBvZiB0aGUgdXBsb2FkZWQgZmlsZTwvbGk+DQo8bGk+PGVtPnN1bW1hcnk8L2VtPiAtIFRoZSBzaG9ydCBkZXNjcmlwdGlvbiBmb3IgdGhlIHVwbG9hZGVkIGZpbGUgKG1heSBiZSBlbXB0eSk8L2VtPjwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgbG9uZyBkZXNjcmlwdGlvbiBmb3IgdGhlIHVwbG9hZGVkIGZpbGUgKG1heSBiZSBlbXB0eSk8L2VtPjwvbGk+DQo8bGk+PGVtPmF1dGhvcjwvZW0+IC0gVGhlIGF1dGhvciBvZiB0aGUgdXBsb2FkZWQgZmlsZSAoaWYgYXZhaWxhYmxlKTwvZW0+PC9saT4NCjxsaT48ZW0+aXBfYWRkcmVzczwvZW0+IC0gVGhlIGludGVybmV0IGFkZHJlc3Mgb2YgdGhlIGNsaWVudCB0aGF0IHVwbG9hZGVkIHRoZSBmaWxlPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2luZm9fZXZlbnRfb25kZWxldGVjYXRlZ29yeSddID0gJ1VkJmFhY3V0ZTtsb3N0IGdlbmVyb3ZhbiZhYWN1dGU7IGtkecW+IGplIHNtYXomYWFjdXRlO25hIGthdGVnb3JpZSc7CiRsYW5nWydpbmZvX2V2ZW50X29uY3JlYXRlY2F0ZWdvcnknXSA9ICdVZCZhYWN1dGU7bG9zdCBnZW5lcm92YW4mYWFjdXRlOywga2R5xb4gamUgdnl0dm/FmWVuYSBrYXRlZ29yaWUnOwokbGFuZ1snaW5mb19ldmVudF9vbmRvd25sb2FkJ10gPSAnVWQmYWFjdXRlO2xvc3QgZ2VuZXJvdmFuJmFhY3V0ZTssIGtkecW+IGplIHN0YcW+ZW4gc291Ym9yJzsKJGxhbmdbJ2luZm9fZXZlbnRfb251cGxvYWQnXSA9ICdVZCZhYWN1dGU7bG9zdCBnZW5lcm92YW4mYWFjdXRlOywga2R5xb4gamUgbmFociZhYWN1dGU7biBub3YmeWFjdXRlOyBzb3Vib3InOwokbGFuZ1snaW5mb19ldmVudF9vbnJlbW92ZSddID0gJ1VkJmFhY3V0ZTtsb3N0IGdlbmVyb3ZhbiZhYWN1dGU7LCBrZHnFviBqZSBvZGViciZhYWN1dGU7biBzb3Vib3InOwokbGFuZ1sndGl0bGVfdXNlcnRhZ19vbnVwbG9hZCddID0gJ1XFvml2YXRlbHNrJnlhY3V0ZTsgdGFnLCBrdGVyJnlhY3V0ZTsgbSZhYWN1dGU7IGImeWFjdXRlO3Qgdm9sJmFhY3V0ZTtuIHBvIGRva29uxI1lbiZpYWN1dGU7IG5haHImYWFjdXRlO24maWFjdXRlOyc7CiRsYW5nWydub25lJ10gPSAnxb0mYWFjdXRlO2RuJnlhY3V0ZTsnOwokbGFuZ1snbWF0Y2hlc2ZvdW5kJ10gPSAnWiZhYWN1dGU7em5hbXkgbmFsZXplbnknOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdHInOwokbGFuZ1sndGl0bGVfcmVkaXJlY3RvbnVwbG9hZCddID0gJ1DFmWVzbcSbcm92YXQgbmEgc3RyJmFhY3V0ZTtua3UgaWQvYWxpYXMgcG8gdcW+aXZhdGVsc2smZWFjdXRlO20gdXBsb2FkdSc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0YWlseSc7CiRsYW5nWydjb25maXJtX3ByZWZlcmVuY2VzJ10gPSAnSnN0ZSBzaSBqaXN0aSAmdWFjdXRlO3ByYXZvdSBwcmVmZXJlbmMmaWFjdXRlOz8nOwokbGFuZ1snZXJyb3Jfbm9maWxlc3VwbG9hZGVkJ10gPSAnxb0mYWFjdXRlO2RuJmVhY3V0ZTsgc291Ym9yeSBuZWJ5bHkgbmFociZhYWN1dGU7bnkuJzsKJGxhbmdbJ3Byb21wdF9yZXBsYWNlJ10gPSAnUG92b2xpdCBwxZllcHMmYWFjdXRlO24maWFjdXRlOyc7CiRsYW5nWydpbmZvX3JlcGxhY2UnXSA9ICdSZXBsYWNlIGFueSBmaWxlIHdpdGggdGhlIHNhbWUgbmFtZSAoZG9lcyBub3QgY2hhbmdlIGlkKSc7CiRsYW5nWydwYXJhbV9ub19pbml0aWFsJ10gPSAnRG8gbm90IGRpc3BsYXkgYW55IGluaXRpYWwgcmVzdWx0cyB3aGVuIHRoZSBmaWx0ZXIgaXMgb24nOwokbGFuZ1sncGFyYW1fa2V5J10gPSAnUHJvdmlkZSBhbiBhZGRpdGlvbmFsIGtleSB0byB0aGUgbW9kdWxlIGZvciBmdXJ0aGVyIG9yZ2FuaXppbmcgdXBsb2Fkcy4gIFRoaXMga2V5IGNvdWxkIGJlIGFuIGVuY29kZWQgc3RyaW5nIGxpa2U6ICYjMDM5O2ZldXNlcnM6dWlkJiMwMzk7LCBldGMuICBUaGlzIHBhcmFtZXRlciBpcyB1c3VhbGx5IG9ubHkgbmVlZGVkIHdoZW4gZW1iZWRkaW5nIHRoZSB1cGxvYWRzIG1vZHVsZSBpbnRvIGFub3RoZXIgbW9kdWxlJzsKJGxhbmdbJ3BhcmFtX25vYXV0aG9yJ10gPSAnSGlkZSB0aGUgYXV0aG9yIGZpZWxkIGZyb20gdGhlIHVwbG9hZCBmb3JtLiAgVGhpcyBwYXJhbWV0ZXIgaXMgb25seSB2YWxpZCB3aGVuIG1vZGU9JiMwMzk7dXBsb2FkJiMwMzk7LiAgSWYgVGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlIGlzIHByZXNlbnQsIGFuZCBhIHVzZXIgaXMgY3VycmVudGx5IGxvZ2dlZCBpbiwgYSBoaWRkZW4gZmllbGQgd2lsbCBob2xkIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXJuYW1lJzsKJGxhbmdbJ3BhcmFtX3VwbG9hZF9pZCddID0gJ3VwbG9hZF9pZD0mcXVvdDtpZCZxdW90OyAtIHNwZWNpZnkgYSBzaW5nbGUgZmlsZSBmb3IgdGhlIHVybC9saW5rIG9yIHNpbmdsZSBtb2RlcyAoYWJvdmUpJzsKJGxhbmdbJ3BhcmFtX3VzZV9zdHJpY3RfcmVnZXhwJ10gPSAnVGhlIGZpbHRlciBmaWVsZCBpcyB1c2VkIGFzIGEgc3RyaWN0IHJlZ2V4cCB3aXRob3V0IHByZXByb2Nlc3Npbmcgb2Ygc3BhY2VzJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVXNlIGEgdGVtcGxhdGUgd2l0aCB0aGlzIG5hbWUgZm9yIHRoZSBkZXRhaWxlZCByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX3RlbXBsYXRlJ10gPSAnVXNlIGEgdGVtcGxhdGUgd2l0aCB0aGlzIG5hbWUgZm9yIHRoaXMgcmVwb3J0IG9yIGZvcm0uICBUaGUgbW9kZSBpcyB1c2VkIHRvIGRldGVybWluZSB3aGF0IHR5cGUgb2YgdGVtcGxhdGUgaXMgcmVxdWlyZXJkLCBhbmQgdGhlbiBhIG5hbWUgbWF0Y2ggaXMgcGVyZm9ybWVkIHdpdGhpbiB0aGF0IHR5cGUuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlciddID0gJ1pvYnJheml0IGZpbHRyb3ZhYyZpYWN1dGU7IGZvcm11bCZhYWN1dGU7xZknOwokbGFuZ1sncGFyYW1fbm9faW50aXRpYWwnXSA9ICdPbmx5IHVzZWZ1bCB3aGVuIHRoZSBmaWx0ZXIgcGFyYW1ldGVyIGlzIHN1cHBsaWVkLCBvciBvbiBieSBkZWZhdWx0LCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2V0aGVyIGluaXRpYWwgcmVzdWx0cyBzaG91bGQgYmUgcmV0dXJuZWQnOwokbGFuZ1sncGFyYW1fZmlsZXR5cGVzJ10gPSAnWm9icmF6aXQgcG91emUgc291Ym9yeSwgamVqaWNoxb4gdHlwIGplIG9ic2HFvmVuIHYgc2V6bmFtdSwgb2RkxJtsb3ZhbiZlYWN1dGU7bSDEjSZhYWN1dGU7cmthbWknOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnICA8cD5Tb3J0IE9yZGVycw0KICA8dWw+DQogIDxsaT48ZW0+ZGF0ZV9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGRhdGU8L2xpPg0KICA8bGk+PGVtPmRhdGVfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGRhdGU8L2xpPg0KICA8bGk+PGVtPm5hbWVfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBuYW1lPC9saT4NCiAgPGxpPjxlbT5uYW1lX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBuYW1lPC9saT4NCiAgPGxpPjxlbT5zaXplX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgc2l6ZTwvbGk+DQogIDxsaT48ZW0+c2l6ZV9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgc2l6ZTwvbGk+DQogIDxsaT48ZW0+ZGVzY19hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGRlc2NyaXB0aW9uPC9saT4NCiAgPGxpPjxlbT5kZXNjX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBkZXNjcmlwdGlvbjwvbGk+DQogIDxsaT48ZW0+YXV0aG9yX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgYXV0aG9yPC9saT4NCiAgPGxpPjxlbT5hdXRob3JfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGF1dGhvcjwvbGk+DQogIDxsaT48ZW0+aXBfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBpcCBhZGRyZXNzPC9saT4NCiAgPGxpPjxlbT5pcF9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgaXAgYWRkcmVzczwvbGk+DQogIDxsaT48ZW0+cmFuZG9tPC9lbT4gLSBSYW5kb20gc29ydCBvcmRlcjwvbGk+DQogIDwvdWw+DQogIDwvcD4nOwokbGFuZ1sncGFyYW1fbGlzdGluZ3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmxvbmEsIGplxb4gYnVkZSBwb3XFvml0YSBwcm8gem9icmF6ZW4maWFjdXRlOyBzZXpuYW11IHNvdWJvcsWvLCBqZXN0bGnFvmUgamUgdGF0byB6b2JyYXplbmEgcG8ga2xpa251dCZpYWN1dGU7IG5hIGthdGVnb3JpaSB2IHDFmWVobGVkdSBrYXRlZ29yaSZpYWN1dGU7JzsKJGxhbmdbJ3BhcmFtX2xpc3Rpbmdzb3J0b3JkZXInXSA9ICdacMWvc29iLCBrdGVyJnlhY3V0ZTttIGJ1ZGUgxZlhemVuIG9ic2FoIGthdGVnb3JpZSBwbyBwxZllY2hvZHUgeiBwxZllaGxlZHUga2F0ZWdvcmkmaWFjdXRlOyAoYWxhIHBhcmFtX3NvcnRvcmRlcikuJzsKJGxhbmdbJ3BhcmFtX2ZpbGVleHRlbnNpb25zJ10gPSAnIA0KZmlsZV9leHRlbnNpb25zPSZxdW90O2V4dDEsZXh0MixleHQzJnF1b3Q7DQo8cD52YWxpZCBvbmx5IHdoZW4gbW9kZT11cGxvYWQsIHRoaXMgcGFyYW1ldGVyIGxpbWl0cyB0aGUgdHlwZXMgb2YgZmlsZXMgdGhhdCBjYW4gYmUgdXBsb2FkZWQuICBJdCBvdmVycmlkZXMgYW55IHNldHRpbmdzIGluIHRoZSBtb2R1bGUgcHJlZmVyZW5jZXMuPC9wPm1vZHVsZSBwcmVmZXJlbmNlcy48L3A+JzsKJGxhbmdbJ3BhcmFtX2NvdW50J10gPSAnY291bnQ9JnF1b3Q7TiZxdW90Ow0KPHA+QSBwYXJhbWV0ZXIgdG8gbGlzdCBvbmx5IHRoZSBmaXJzdCBOIHJlc3VsdHMgb2YgdGhlIHF1ZXJ5LiAgUGFnaW5hdGlvbiB3b3VsZCBiZSBiZXR0ZXIsIGJ1dCB0aGlzIHdpbGwgZG8gdGhlIHRyaWNrIGZvciBub3c8L3A+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnY2F0ZWdvcnk9JnF1b3Q7bmFtZSZxdW90Ow0KPHA+PGI+Tm90ZTo8L2I+IENhdGVnb3J5IGNhbiBiZSAmcXVvdDthbGwmcXVvdDssIHdoaWNoIHdpbGwgbGlzdCBhbGwgb2YgdGhlIHVwbG9hZHMgZnJvbSBhbGwgPGVtPmxpc3RhYmxlPC9lbT4gY2F0ZWdvcmllczwvcD4nOwokbGFuZ1sncGFyYW1fbW9kZSddID0gJyAgPHVsPg0KICA8bGk+PGVtPmRldGFpbGVkPC9lbT4gLSBEaXNwbGF5IGEgZGV0YWlsZWQgbGlzdCBvZiBhbGwgZmlsZXMgaW4gdGhlIGNhdGVnb3J5PC9saT4NCiAgPGxpPjxlbT51cGxvYWQ8L2VtPiAtIERpc3BsYXkgYSBmb3JtIHRvIGFsbG93IGEgZnJvbnRlbmQgdXNlciB0byB1cGxvYWQgYSBmaWxlPC9saT4NCiAgPGxpPjxlbT51cmwgPGk+b3I8L2k+IGxpbms8L2VtPiAtIERpc3BsYXkgYSBsaW5rIHRvIGEgZmlsZTwvbGk+DQogIDxsaT48ZW0+c3VtbWFyeTwvZW0+IC0gRGlzcGxheSBhIHN1bW1hcml6ZWQgbGlzdCBvZiBhbGwgZmlsZXMgaW4gdGhlIGNhdGVnb3J5PC9saT4NCiAgPGxpPjxlbT5zaW5nbGU8L2VtPiAtIERpc3BsYXkgYSBkZXRhaWxlZCByZXBvcnQgYWJvdXQgYSBzaW5nbGUgdXBsb2FkPC9saT4NCiAgPGxpPjxlbT5zaW5nbGVzdW1tYXJ5PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyaXplZCByZXBvcnQgYWJvdXQgYSBzaW5nbGUgdXBsb2FkL2xpPg0KICA8L3VsPic7CiRsYW5nWydwYXJhbV9zZWxlY3Rmb3JtJ10gPSAnV2hlbiB1c2luZyB0aGUgJiMwMzk7c2VsZWN0JiMwMzk7IG1vZGUsIHRoaXMgcGFyYW1ldGVyIGlzIHRoZSBmb3JtaWQgb2YgdGhlIHBhcmVudCBmb3JtLiAgVXNlZCB0byBoYW5kbGUgcGFyYW1ldGVyIHBhc3NpbmcnOwokbGFuZ1sncGFyYW1fc2VsZWN0bmFtZSddID0gJ3doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGZpZWxkJzsKJGxhbmdbJ3BhcmFtX3NlbGVjdHZhbHVlJ10gPSAnV2hlbiB1c2luZyB0aGUgJiMwMzk7c2VsZWN0JiMwMzk7IG1vZGUsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgZGVmYXVsdCBmaWVsZCB2YWx1ZSc7CiRsYW5nWydwYXJhbV9zZWxlY3Rub25lJ10gPSAnV2hlbiB1c2luZyB0aGUgJiMwMzk7c2VsZWN0JiMwMzk7IG1vZGUsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB3ZXRoZXIgJiMwMzk7bm9uZSYjMDM5OyBpcyBhIHZhbGlkIGNob2ljZS4nOwokbGFuZ1sncmV0dXJudG9tb2R1bGUnXSA9ICdWciZhYWN1dGU7dGl0IHNlIG5hIHBhbmVsIG1vZHVsdSc7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3JpZXMnXSA9ICdOZWpzb3Ugxb4mYWFjdXRlO2RuJmVhY3V0ZTsgbmFkZWZpbm92YW4mZWFjdXRlOyBrYXRlZ29yaWUnOwokbGFuZ1sndGl0bGVfZW5mb3JjZWV4dGVuc2lvbnMnXSA9ICdQb8W+YWRvdmF0IHDFmSZpYWN1dGU7cG9ueSB1IHYmc2Nhcm9uO2VjaCBuYWhyJmFhY3V0ZTt2YW4meWFjdXRlO2NoIHNvdWJvcsWvJzsKJGxhbmdbJ3Jlc3RvcmVkZWZhdWx0c2NvbmZpcm0nXSA9ICdUaGlzIG9wZXJhdGlvbiB3aWxsIHJlc3RvcmUgdGhlIHRlbXBsYXRlIHRvIHN5c3RlbSBkZWZhdWx0cy4gIEFueSBjaGFuZ2VzIHlvdSBoYXZlIG1hZGUgd2lsbCBiZSBsb3N0LiAgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHByb2NlZWQ/JzsKJGxhbmdbJ2luZm9fdGh1bWJuYWlsJ10gPSAnSmluJnlhY3V0ZTsgbiZhYWN1dGU7aGxlZG92JnlhY3V0ZTsgc291Ym9yLic7CiRsYW5nWyd0aHVtYm5haWwnXSA9ICdOJmFhY3V0ZTtobGVkJzsKJGxhbmdbJ25ld3RodW1ibmFpbCddID0gJ05haHImYWFjdXRlO3Qgbm92JnlhY3V0ZTsgbiZhYWN1dGU7aGxlZCc7CiRsYW5nWydpbmZvX3N1bW1hcnknXSA9ICdBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBmaWxlIChpZiBlbXB0eSwgdGhlIGZpbGUgbmFtZSBpcyB1c2VkIHdpdGhvdXQgdGhlIGV4dGVuc2lvbiknOwokbGFuZ1snaW5mb19jYXRlZ29yeW5hbWUnXSA9ICdLciZhYWN1dGU7dGsmZWFjdXRlOyBqbSZlYWN1dGU7bm8gcHJvIGthdGVnb3JpaSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5ZGVzYyddID0gJ1BvcGlzIGthdGVnb3JpZSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5cGF0aCddID0gJ0ptJmVhY3V0ZTtubyBhZHJlcyZhYWN1dGU7xZllLCBrdGVyJmVhY3V0ZTsgYnVkZSBwb3XFvml0byBwcm8gdWtsJmFhY3V0ZTtkJmFhY3V0ZTtuJmlhY3V0ZTsgc291Ym9yxa8gcHJvIHR1dG8ga2F0ZWdvcmlpKGFkcmVzJmFhY3V0ZTvFmSBidWRlIHYgdXBsb2FkcykuIFBva3VkIGFkcmVzJmFhY3V0ZTvFmSBzdGVqbiZlYWN1dGU7aG8gam0mZWFjdXRlO25hIG5lZXhpc3R1amUgYnVkZSB2eXR2b8WZZW4uJzsKJGxhbmdbJ2luZm9fZGVzdG5hbWUnXSA9ICdQb3XFviZpYWN1dGU7dmVqdGUgJiMwMzk7TmFociZhYWN1dGU7dCBqYWtvJiMwMzk7IGplbm9tIHYgcMWZJmlhY3V0ZTtwYWTEmywgxb5lIGNoY2V0ZSB6bcSbbml0IG4mYWFjdXRlO3pldiBzb3Vib3J1LiBOZWNodGUgcHImYWFjdXRlO3pkbiZlYWN1dGU7IHBva3VkIGNoY2V0ZSBuZWNoYXQgbiZhYWN1dGU7emV2IHNvdWJvcnUsIHRhayBqYWsgamUuJzsKJGxhbmdbJ2Vycm9yX2NhbnRjcmVhdGVkaXJlY3RvcnknXSA9ICdOZW1vaHUgdnl0dm/FmWl0IGFkcmVzJmFhY3V0ZTvFmSc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ1RoZSBDTVNNYWlsZXIgbW9kdWxlIGNvdWxkIG5vdCBiZSBpbnN0YW50aWF0ZWQnOwokbGFuZ1sndXBsb2FkX25vdGlmaWNhdGlvbiddID0gJ05vdiZ5YWN1dGU7IHNvdWJvciBieWwgbmFociZhYWN1dGU7bic7CiRsYW5nWyd0aXRsZV9lbWFpbF9vbl91cGxvYWQnXSA9ICdPZGVzbGF0IG96biZhYWN1dGU7bWVuJmlhY3V0ZTsgbyBuYWhyJmFhY3V0ZTtuJmlhY3V0ZTsgc291Ym9ydSBuYTonOwokbGFuZ1snZW1haWxfdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSBlLW1haWx1JzsKJGxhbmdbJ3RpdGxlX2R1bW15X2luZGV4X2h0bWwnXSA9ICdWeXR2JmFhY3V0ZTvFmWV0IGluZGV4Lmh0bWwgc291Ym9yeSB2IGthxb5kJmVhY3V0ZTttIGFkcmVzJmFhY3V0ZTvFmWk/PGJyLz48ZW0+SmnFviBleGlzdHVqJmlhY3V0ZTtjJmlhY3V0ZTsgaW5kZXguaHRtbCBzb3Vib3J5IGJ1ZG91IHphY2hvdiZhYWN1dGU7bnkuPC9lbT4nOwokbGFuZ1snYWJvdXQnXSA9ICdPIHBvbG/FvmNlJzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnXSA9ICdQxZkmaWFjdXRlO3N0dXAgemFtJmlhY3V0ZTt0bnV0LiBQcm9zJmlhY3V0ZTttIHprb250cm9sdWp0ZSBWYSZzY2Fyb247ZSBvcHImYWFjdXRlO3ZuxJtuJmlhY3V0ZTsuJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90d3JpdGUnXSA9ICdOZXBvZGHFmWlsbyBzZSB6YXBzYXQnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdQxZlpZGF0IGthdGVnb3JpaSc7CiRsYW5nWydhbGwnXSA9ICdWJnNjYXJvbjtlJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdKc3RlIHNpIGppc3RpPyc7CiRsYW5nWydhdXRob3InXSA9ICdBdXRvcic7CiRsYW5nWydjYW5jZWwnXSA9ICdacnUmc2Nhcm9uO2l0JzsKJGxhbmdbJ2Nhbm5vdG1vZGlmeXBhdGgnXSA9ICcoQ2VzdGEgbmVtxa/FvmUgYiZ5YWN1dGU7dCB1cHJhdmVuYSknOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0thdGVnb3JpZSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpZSc7CiRsYW5nWydtZXNzYWdlX2NhdGVnb3J5YWRkZWQnXSA9ICdLYXRlZ29yaWUgYnlsYSAmdWFjdXRlO3NwxJsmc2Nhcm9uO27EmyBwxZlpZCZhYWN1dGU7bmEnOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjAuIC0gU2VwdGVtYmVyIDIwMDUuPC9wPg0KPHA+IEluaXRpYWwgUmVsZWFzZS48L3A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjAxLiAtIFNlcHRlbWJlciAyMDA1PC9wPg0KPHA+TWlub3IgZml4ZXMuPC9wPjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMDIuIC0gU2VwdGVtYmVyIDIwMDU8L3A+DQo8cD5BZGRlZCBhYmlsaXR5IHRvIHNwZWNpZnkgc29ydCBvcmRlcjwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMDMuIC0gU2VwdGVtYmVyIDIwMDU8L3A+DQo8cD5GaXggcmVnYXJkaW5nIGNvbmZsaWN0IGluIHRlbXBsYXRlIG5hbWVzPC9wPg0KPC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4wNC4gLSBTZXB0ZW1iZXIgMjAwNTwvcD4NCjxwPkFkZGVkIGFiaWxpdHkgdG8gcmUtc2NhbiBhIGRpcmVjdG9yeSwgYW5kIHRvIHVwbG9hZCBmaWxlcyBmcm9tIHRoZSBhZG1pbiBwYWdlPC9wPg0KPC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4wNS4gLSBTZXB0ZW1iZXIgMjAwNTwvcD4NCjxwPkZpeGVkIHNvbWUgUEhQIHZhcmlhYmxlIGlzc3VlczwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMDYuIC0gU2VwdGVtYmVyIDIwMDU8L3A+DQo8cD5BZGRlZCBhdXRob3IgZmllbGQgdG8gdGhlIGFkbWluIHBhbmVsIHVwbG9hZCBmb3JtLCBhZGRlZCBhIHN1bW1hcnkgZmllbGQsIGFuZCBtYWRlIGRlc2NyaXB0aW9uIGEgdGV4dCBhcmVhLCBhbmQgYWxsb3cgdGhlIHVzZXIgdG8gc3BlY2lmeSBhIGRlc3RpbmF0aW9uIGZpbGUgbmFtZTwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMDcuIC0gU2VwdGVtYmVyIDIwMDU8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byByZW5hbWUgZmlsZXMgYW5kIGZpeGVkIGEgc2NhbiBlcnJvcjwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMDguIC0gU2VwdGVtYmVyIDIwMDU8L3A+DQo8cD5CZXR0ZXIgaGFuZGxpbmcgb2YgbmFtZXMgd2l0aCBzcGFjZXMsIGFuZCBhIGZldyBtaW5vciBlcnJvcnMgZml4ZWQuICBBZGRlZCBzd2VkaXNoIHRyYW5zbGF0aW9uICh0aGFua3Mgd2VzdGlzKTwvcD48L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjEuMC4gLSBPY3RvYmVyIDIwMDU8L3A+DQogPHVsPg0KICAgPGxpPk1vZGlmaWVkIEF0dGVtcHRVcGxvYWQgZnVuY3Rpb24gc28gaXQgY291bGQgYmUgY2FsbGVkIGV4dGVybmFsbHk8L2xpPg0KICAgPGxpPkFkZGVkIEdldFVwbG9hZERldGFpbHMgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGFsbCBvZiB0aGUgZGV0YWlscyBhYm91dCBhIG1vZHVsZSwgaW5jbHVkaW5nIGEgbGluazwvbGk+DQogICA8bGk+QWRkZWQgUmVkaXJlY3RzIHNvIHRoYXQgd29ya2luZyB3aXRoIHRoZSBtb2R1bGUgaXMgYWxvdCBuaWNlciwgaXQgcmV0dXJucyB0byB0aGUgcmlnaHQgdGFiPC9saT4NCiAgIDxsaT5DaGFuZ2VkIHRoZSBmcm9udCB0ZW1wbGF0ZSB0byBsb29rIGEgbGl0dGxlIGJldHRlciBhbmQgbWFrZSBtb3JlIHNlbnNlPC9saT4NCiAgIDxsaT5GaXhlcyB0byB0aGUgdXBsb2FkcyBzdHVmZiBzbyB0aGF0IHRoZSBkZXNjcmlwdGlvbiBpcyBzZXQsIGFuZCBuYW1lIGFuZCBzdW1tYXJ5IGFyZSBwdXQgaW4gdGhlIHJpZ2h0IHBsYWNlPC9saT4NCiAgIDxsaT5GaXhlcyB0byBldmVuIGJldHRlciBoYW5kbGUgc3BhY2VzIGluIG5hbWVzPC9saT4NCiAgIDxsaT5PcHRpb25hbHkgcGxhY2UgZHVtbXkgaW5kZXguaHRtbCBmaWxlcyBpbiBlYWNoIHVwbG9hZCBkaXJlY3Rvcnk8L2xpPg0KICAgPGxpPklmIHNwZWNpZnlpbmcgYSBkZXN0aW5hdGlvbiBuYW1lLCBhbmQgbm8gZXh0ZW5zaW9uIGlzIGdpdmVuLCB0aGUgZXh0ZW5zaW9uIG9mIHRoZSBvcmlnaW5hdGluZyBmaWxlIChpZiBhbnkgZXhpc3RzIGlzIHVzZWQ8L2xpPg0KIDwvdWw+DQogPHA+PGVtPjxiPkltcG9ydGFudCE8L2I+PC9lbT48YnIvPkl0IGlzIG5vdCBwb3NzaWJsZSB0byB1cGdyYWRlIGZyb20gYW55IG90aGVyIHZlcnNpb24gb2YgdGhlIFVwbG9hZHMgbW9kdWxlIHRvIDEuMS4wLiAgVGhpcyBpcyBkdWUgdG8gc29tZSBlcnJvcnMgdGhhdCB3ZXJlIG1hZGUgaW4gdGhlIGRhdGFiYXNlIHJvdXRpbmVzLCBhbmQgZXZlbiBpbiB0aGUgdXBncmFkZSByb3V0aW5lIGluIDEuMC42LiAgWW91IG11c3QgZGUtaW5zdGFsbCB0aGUgb2xkIHZlcnNpb24sIGFuZCB0aGVuIHJlLWluc3RhbGwgdGhlIG5ldyB2ZXJlc2lvbi4gVGhpcyB3aWxsIGNhdXNlIHNpZ25pZmljYW50IGRpZmZpY3VsdHkgaWYgeW91IGhhdmUgZHNjcmlwdGlvbnMsIGV0YywgaW4geW91ciB0YWJsZXM8L3A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjEuMS4gLSBPY3RvYmVyLCAyMDA1PC9wPg0KPHA+Rml4ZWQgYSBjb3VwbGUgb2YgbWlub3IgYnVncyBpbiB0aGUgR2V0VXBsb2FkRGV0YWlscyBhbmQgYWRkZWQgYW5vdGhlciBsaW5rIChvciBhIHVybCkgdG8gdGhlIHVwbG9hZGVkIGZpbGUuPC9wPg0KPC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4xLjIuIC0gT2N0b2JlciwgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSBVUkwgZmllbGQgaW4gR2V0VXBsb2FkRGV0YWlscyB0byByZXR1cm4gYSBkb3dubG9hZCBsaW5rIGFuZCBhZGRlZCBhbiBhYnN1cmwgZmllbGQgd2hpY2ggcmV0dXJucyB0aGUgYWJzb2x1dGUgcGF0aCB0byB0aGUgZmlsZSBvbiB0aGUgd2Vic2VydmVyLiAgQ2xpY2tzIG9uIHRoaXMgbGluayB3aWxsIG5vdCBiZSBjb3VudGVkPC9wPg0KPC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4xLjMuIC0gT2N0b2JlciwgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSB1cGdyYWRlIHByb2JsZW0gZnJvbSB0aGUgMS4wLnggc2VyaWVzLiAgVXNlcnMgb2YgdGhlIDEuMC54IHNlcmllcyBzaG91bGQgYmUgYWJsZSB0byB1cGdyYWRlIHRvIDEuMS4zIG5vdyB3aXRoIG5vIGRpZmZpY3VsdHkuIDxiPlRob3NlIGFyZSBmYW1vdXMgbGFzdCB3b3JkcywgcGxlYXNlIGJhY2t1cCBmaXJzdDwvYj4uIEZpeGVkIHRoZSBjb250ZW50IHJlZGlyZWN0IHRoaW5ncyB0aGF0IHdlcmUgaXJyaXRhdGluZyBtZS4gIEFsc28gYWRkZWQgY2F0ZWdvcnk9YWxsIHRvIGxpc3QgYWxsIG9mIHRoZSB1cGxvYWRzIGluIGFsbCBsaXN0YWJsZSBjYXRlZ29yaWVzIDxlbT4obGV0cyBhbGwgaG9wZSBJIGdvdCB0aGUgc3FsIGZpZ3VyZWQgb3V0IHByb3Blcmx5KTwvZW0+LjwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMS40LiAtIE9jdG9iZXIsIDIwMDU8L3A+DQo8cD5BZGRlZCB0aGUgY291bnQgcGFyYW1ldGVyIHRvIGxpc3Qgb25seSB0aGUgZmlyc3QgTiByZWNvcmRzLCBhbmQgYWRkZWQgJnF1b3Q7c3VtbWFyeWxpbmsmcXVvdDssIGFuZCAmcXVvdDtjYXRlZ29yeSZxdW90OyB0byB0aGUgdGVtcGxhdGVzIGZvciB3ZXN0aXMuICBGb3IgZXhhbXBsZXMgb24gaG93IHRvIHVzZSB0aGVtIHJlc2V0IHlvdXIgdGVtcGxhdGVzIGJhY2sgdG8gZGVmYXVsdC48L3A+PC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4xLjUuIC0gTm92ZW1iZXIsIDIwMDU8L3A+DQo8cD5BZGRlZCBlbWFpbCBub3RpZmljYXRpb24gYW5kIHNvbWUgYnVnIGZpeGVzPC9wPg0KPC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4xLjYuIC0gTm92ZW1iZXIsIDIwMDU8L3A+DQo8cD5BZGRlZCBhbiBhcGkgZnVuY3Rpb24gYW5kIGZpeGVkIHNvbWUgcmVkaXJlY3Rpb24gc3R1ZmY8L3A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjEuNy4gLSBOb3ZlbWJlciwgMjAwNTwvcD4NCjxwPk1vcmUgQVBJIGZ1bmN0aW9ucywgYW5kIG5vdyBpZ25vcmUgZG90IGZpbGVzIHdoZW4gc2Nhbm5pbmcuICBFbWFpbCBub3RpZmljYXRpb24gaXMgbm93IGluLjwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMS44LiAtIEphbnVhcnksIDIwMDY8L3A+DQo8cD4qIEltcHJvdmVkIGRvY3Mgd3J0IGFwYWNoZSBhbmQgcGhwIGNvbmZpZ3MuPC9wPg0KPHA+KiBGaXhlZCBwcm9ibGVtIHdoZXJlIGZpbGVzaXplIHdhcyBzaG93aW5nIHVwIGFzIDAuPC9wPg0KPHA+KiBNb2RpZmllZCBwZXJtaXNzaW9ucyB0byBiZSBtb3JlIGdyYW51bGFyPC9wPg0KPHA+KiBBZGRlZCBzb21lIGNvbW1lbnRzIGFuZCB2ZXJib3NpdHkgdG8gdGhlIGNhdGVnb3J5IGFuZCB1cGxvYWRzIGZvcm1zIGluIHRoZSBhZG1pbiBzZWN0aW9uPC9wPg0KPHA+KiBBZGRlZCAmcXVvdDtyYW5kb20mcXVvdDsgc29ydCBvcmRlcjwvcD4NCjxwPiogU29tZSBQSFA1IGZpeGVzPC9wPg0KPC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4xLjkuIC0gSmFudWFyeSwgMjAwNjwvcD4NCjxwPiogQWRkZWQgdGhlIGFiaWxpdHkgdG8gdXBsb2FkIGEgdGh1bWJuYWlsIGltYWdlPC9wPg0KPHA+KiBTb21lIGltcHJvdmVkIGF1ZGl0aW5nPC9wPg0KPHA+KiB4bWwgbm93IGFkZGVkIHRvIHRoZSBkZWZhdWx0IGZpbGUgdHlwZXMgKG5ldyBpbnN0YWxscyBvbmx5KTwvcD4NCjxwPiogQWRkZWQgYSBjb25maXJtYXRpb24gbWVzc2FnZSB0byB0aGUgcmVzZXQgdG8gZGVmYXVsdHMgYnV0dG9ucyBvZiB0aGUgdGVtcGxhdGUgcGFnZXMuPC9wPg0KPHA+KiBBZGRlZCB0aGUgZmlsZV9leHRlbnNpb25zIHBhcmFtZXRlciBmb3IgdGhlIHVwbG9hZCBmb3JtPC9wPg0KPHA+KiBUaGUgY3VycmVudCBjYXRlZ29yeSBzZWxlY3RlZCBpbiB0aGUgZmlsZXMgZmlsdGVyIGlzIHN0aWNreS4NCjxwPiogQWRkZWQgYSBwcmVmZXJlbmNlIHRvIGVuZm9yaWNlIGZpbGVuYW1lIGV4dGVuc2lvbnMgKGRlZmF1bHRzIHRvIG9uKTwvcD4NCjxwPiogQWRkZWQgYSBsaW5rIHRvIHRoZSBlZGl0IHBhZ2UsIGluIHRoZSBuYW1lIGNvbHVtbiBvZiB0aGUgZmlsZXMgbGlzdC48L3A+DQo8cD4qIE1pbm9yIGNoYW5nZXMgdG8gdGhlIGxheW91dCBhbmQgdGV4dCB0byBhZGQgY2xhcml0eS48L3A+DQo8cD4qIEFkZGVkIGRvd25sb2FkX3VybCBhcyBhbiBhdmFpbGFibGUgc21hcnR5IHRhZyBpbiB0aGUgdGVtcGxhdGVzPC9wPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjEuMTAuIC0gRmVicnVhcnksIDIwMDY8L3A+DQo8cD4qIFN1bW1hcnkgbm93IGRlZmF1bHRzIHRvIHRoZSBmaWxlbmFtZSAod2l0aG91dCB0aGUgZXh0ZW5zaW9uKSBpZiBub25lIGlzIHNwZWNpZmllZDwvcD4NCjxwPiogTm93IGNvcnJlY3RseSBoYW5kbGUgaWYgdGhlIHRodW1ibmFpbCBleHRlbnNpb24gaXMgbm90IGluIHRoZSBhY2NlcHRlZCBleHRlbnNpb24gbGlzdDwvcD4NCjxwPiogTm8gbG9uZ2VyIGRpc3BsYXkgYW55IGNvbnRlbnQgaW4gdGhlIGZpbGVzIHRhYiBpZiB0aGVyZSBhcmUgbm8gY2F0ZWdvcmllcyBkZWZpbmVkPC9wPg0KPHA+KiBEaXNwbGF5IGEgbGluayBpbiB0aGUgZXJyb3IgcGFnZSB0aGF0IHRha2VzIHlvdSBiYWNrIHRvIHRoZSBtYWluIGFkbWluIHBhbmVsPC9wPg0KPHA+KiBBbGxvdyBmb3IgcmVwbGFjaW5nIG9mIHVwbG9hZGVkIGZpbGVzPC9wPg0KPC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4xLjExLiAtIE1hcmNoLCAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIGEgbGluayB0byBhIGRldGFpbGVkIHBhZ2Ugd2hlbiBpbiBzdW1tYXJ5IG1vZGUuPC9wPg0KPHA+U3BsaXQgdGhlIGRlZmF1bHQgYWN0aW9uIGFuZCBkZWZhdWx0YWRtaW4gYWN0aW9ucyBpbnRvIHNlcGFyYXRlIGZpbGVzLCBmb3IgYSBiaXQgb2YgbWVtb3J5IGltcHJvdmVtZW50LCBob3BlZnVsbHk8L3A+DQo8cD5BZGQgdGhlIGFiaWxpdHkgdG8gcmVkaXJlY3QgdG8gYW5vdGhlciBwYWdlIGFmdGVyIGEgZnJvbnRlbmQgdXNlciB1cGxvYWRlZCBhIGZpbGU8L3A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjEuMTIuIC0gTWFyY2gsIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgc2luZ2xlc3VtbWFyeSBtb2RlIHRvIGRpc3BsYXkgYSBzaW5nbGUgdXBsb2FkIGluIHN1bW1hcnkgbW9kZTwvUD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMS4xMy4gLSBBcHJpbCwgMjAwNjwvcD4NCjxwPkFkZGVkIG9wdGlvbmFsIGZpbHRlcmluZyBvbiB0aGUgZnJvbnRlbmQsIGFuZCBhIGNvdXBsZSBvZiBleHRyYSBwYXJhbWV0ZXJzIHRvIGdvIHdpdGggaXQ8L3A+DQo8cD5GaXhlZCBhIHByb2JsZW0gd2hlcmUgaXQgd291bGQgYWxsb3cgeW91IHRvIGVudGVyIGEgYmxhbmsgcGF0aCB3aGVuIGNyZWF0aW5nIGEgY2F0ZWdvcnk8L3A+DQo8cD5TcGxpdCBzdHVmZiBpbnRvIChzb21lKSBzZXBhcmF0ZSBhY3Rpb24gZmlsZXMgZm9yIHNvbWUgaG9wZWZ1bCBwZXJmb3JtYW5jZSBpbmNyZWFzZXM8L3A+DQo8cD5BZGRlZCBjb3B5cmlnaHQgbm90aWNlczwvcD4NCjxwPkNoYW5nZWQgKG9wdGlvbmFsKSBkZXBlbmRlbmN5IGZyb20gVXNlcklEIHRvIEZyb250RW5kVXNlcnMgTW9kdWxlLjwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMi4xIC0gQXByaWwsIDIwMDY8L3A+DQo8cD5DaGFuZ2VkIF9zY2FuRGlyZWN0b3J5IHRvIGFuIEFQSSBmdW5jdGlvbiBTY2FuRGlyZWN0b3J5IGFuZCB0aGVuIGFkZGVkIFNtYXJ0U2NhbkRpcmVjdG9yeSB0byBzY2FuIHRoZSBkaXJlY3RvcnkgYmVmb3JlIGRpc3BsYXlpbmcgdGhlIHN1bW1hcnkgb3IgZGV0YWlsIGxpc3RpbmcgdG8gaGFuZGxlIHRoZQ0KY2FzZSB3aGVyZSBzb21lYm9keSB1cGxvYWRlZCBmaWxlcyB2aWEgRlRQIG9yIHNvbWV0aGluZyBhbmQgZGlkIG5vdCBnbyBpbnRvIHRoZSBhZG1pbiBzZWN0aW9uIHRvIHVwZGF0ZSB0aGUgY2F0ZWdvcmllcy48L3A+DQo8cD5Db3JyZWN0aW9uIHRvIGFsbCBkYiBhY2Nlc3Mgc3R1ZmYuIEhvcGVmdWxseSBwcm92aWRlcyBhIHBlcmZvcm1hbmNlIGluY3JlYXNlLjwvcD4NCjxwPkZpeGVzIHRvIHRoZSBhYm91dCBzdHVmZiwgbm93IHVzZSBDcmVhdGVQYXJhbWV0ZXI8L3A+DQo8cD5BZGRlZCB0aGUgdXBsb2FkX3RlbXBsYXRlLCBzdW1tYXJ5X3RlbXBsYXRlLCBhbmQgZGV0YWlsX3RlbXBsYXRlIChvcHRpb25hbCkgcGFyYW1ldGVyPC9wPg0KPHA+QWRkZWQgdGhlIG5vYXV0aG9yIHBhcmFtZXRlciwgYW5kIHRoZSBrZXkgcGFyYW1ldGVyLiAgVGhlIGtleSBwYXJhbWV0ZXIgYWxsb3dzIHRoZSB1cGxvYWRzIG1vZHVsZSB0byBiZSBlbWJlZGRlZCBpbnRvIG90aGVyIG1vZHVsZXM8L3A+DQo8cD5Nb3ZlZCB0byB1bmRlciB0aGUgY29udGVudCBtZW51LCBhbmQgZW50aXRsZWQgJiMwMzk7RmlsZXMgKFVwbG9hZCBNb2R1bGUpJiMwMzk7PC9wPjsNCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMi4yIC0gSnVuZSwgMjAwNg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gaGF2ZSBtdWx0aXBsZSBkYXRhYmFzZSB0ZW1wbGF0ZXMsIGFuZCB0byBzZWxlY3Qgb25lIG9uIHRoZSB0YWcgd2l0aCB0aGUgdGVtcGxhdGUgcGFyYW1ldGVyLjwvcD4NCjxwPkZpeGVkIGFuIGlzc3VlIHdoZXJlIGZpbGVzIHdlcmUgZ2V0dGluZyBjb3JydXB0ZWQgb24gZG93bmxvYWQ8L3A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjIuMyAtIEp1bmUsIDIwMDYNCjxwPkZpeGVzIHRvIHVzZSBhZG9kYi1saXRlIHByb3BlciwgcmF0aGVyIHRoYW4gdGVkcyBoYWNrPC9wPg0KPHA+RGV0YWlsIGxpbmsgbm93IGRpc3BsYXlzIGlubGluZTwvcD4NCjxwPk90aGVyIG1pbm9yIHR3ZWFrcyB0aGF0IEkgY2FudCByZW1lbWJlcjwvcD4NCjwvbGk+DQo8bGk+VmVyc2lvbiAxLjMuMCAtIFNlcHRlbWJlciwgMjAwNw0KPHA+Rml4ZXMgdG8gdGhlIERUIGZpZWxkIHR5cGU8L3A+DQo8cD5Vc2UgdGhlIEZFVSB1c2VybmFtZSAob3B0aW9uYWxseSkgc28gdGhhdCB3ZSBjYW4gdHJhY2sgd2hlbiBhIGxvZ2dlZCBpbiB1c2VyIHVwbG9hZHMgYSBmaWxlPC9wPg0KPHA+QWRkIGZpbGV0eXBlIGNhcGFiaWxpdGllcyB0byBhc3NvY2lhdGUgYW4gaWNvbiB3aXRoIGEgcGFydGljdWxhciB1cGxvYWQuICBBbHNvIHN1cHBvcnQgYW4gdW5rbm93biBmaWxlIHR5cGUgZm9yIGFueXRoaW5nIHRoYXQgZG9lcyBub3QgbWF0Y2guPC9wPg0KPHA+Q29tcGxldGVseSByZS13b3JrZWQgdGhlIG11bHRpcGxlIGRhdGFiYXNlIHRlbXBsYXRlIHN0dWZmLjwvcD4NCjxwPkFkanVzdG1lbnRzIHRvIHRoZSBkZWZhdWx0IHRlbXBsYXRlczwvcD4NCjxwPkZpeGVzIHRvIHVzaW5nIGNhdGVnb3J5PSZxdW90O2FsbCZxdW90OzwvcD4NCjxwPkdlbmVyYXRlIHRodW1ibmFpbHMgYXV0b21hdGljYWxseSAob3B0aW9uYWxseSkgZm9yIGNlcnRhaW4gZmlsZSB0eXBlcywgb24gdXBsb2FkLCBhbmQgb24gc2Nhbi48L3A+DQo8cD5BZGQgY2FwdGNoYSBzdXBwb3J0IHRvIHRoZSB1cGxvYWQgZm9ybTwvcD4NCjxwPkFkZCBhIHNhZmUgbW9kZSB3YXJuaW5nIGluIHRoZSBhZG1pbiBwYW5lbDwvcD4NCjxwPlVzZXMgY2h1bmtlZCBkb3dubG9hZHMuPC9wPg0KPHA+QWRkcyBwcmVmaXggYW5kIHByZWZpeF9mZXUgY2FwYWJpbGl0eSB0byB1cGxvYWRlZCBmaWxlcy48L3A+DQo8cD5BZGRlZCB0aGUgZGV0YWlscGFnZSBwYXJhbS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBkaXNwbGF5IGFuIGltYWdlIGluIGZ1bGwgc2l6ZSAob3Igd2hhdGV2ZXIgc2l6ZSB3ZSB3YW50KSwgc28gdGhhdCB0aGUgdXBsb2FkcyBtb2R1bGUgY2FuIGJlIHVzZWQgYXMgYSBnYWxsZXJ5LjwvcD4NCjxwPkFkZGVkIHNlY3VyaXR5ICh2aWEgdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlKSB0byBjYXRlZ29yaWVzPC9wPg0KPHA+QWRkZWQgYSBzZWxlY3QgbW9kZSB0byBnZW5lcmF0ZSBhIHB1bGxkb3duIG9mIGZpbGVzIGluIGEgY2F0ZWdvcnksIGZvciB1c2Ugd2hlbiBhdHRhY2hpbmcgdXBsb2FkcyBtb2R1bGUgdG8gc29tZSBvdGhlciBtb2R1bGUuPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2RhdGUnXSA9ICdEYXR1bSc7CiRsYW5nWydkYXRldXBsb2FkZWQnXSA9ICdEYXR1bSBuYWhyJmFhY3V0ZTtuJmlhY3V0ZTsnOwokbGFuZ1snZGVmYXVsdCddID0gJ1YmeWFjdXRlO2Nob3omaWFjdXRlOyc7CiRsYW5nWydkZWxldGUnXSA9ICdTbWF6YXQnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdQb3Bpcyc7CiRsYW5nWydkZXN0bmFtZSddID0gJ05haHImYWFjdXRlO3QgamFrbyc7CiRsYW5nWydkZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1snZG93bmxvYWRlZCddID0gJ1NvdWJvciAlcyBieWwgc3Rhxb5lbi4nOwokbGFuZ1snZG93bmxvYWRzJ10gPSAnU3QmYWFjdXRlO2hudXQmaWFjdXRlOyc7CiRsYW5nWydlZGl0J10gPSAnVXByYXZpdCc7CiRsYW5nWydlZGl0Y2F0ZWdvcnknXSA9ICdVcHJhdml0IGthdGVnb3JpaSc7CiRsYW5nWydlZGl0dXBsb2FkJ10gPSAnVXByYXZpdCBVcGxvYWQnOwokbGFuZ1snZXJyb3InXSA9ICdDaHliYSEnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlJ10gPSAnS2F0ZWdvcmllIHBvdcW+JmlhY3V0ZTt2YWomaWFjdXRlO2MmaWFjdXRlOyB0dXRvIGNlc3R1IHXFviBleGlzdHVqZSc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeWV4aXN0cyddID0gJ0NoeWJhOiBLYXRlZ29yaWUgdcW+IGV4aXN0dWplJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90ZW1wdHknXSA9ICdDaHliYSEgTmVtxa/FvnUgc21hemF0IGthdGVnb3JpaSwgcHJvdG/FvmUgbmVuJmlhY3V0ZTsgcHImYWFjdXRlO3pkbiZhYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90Zm91bmQnXSA9ICdDaHliYTogS2F0ZWdvcmllIG5lbmFsZXplbmEhJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdDaHliYTogQ2h5YmEgZGF0YWImYWFjdXRlO3plISc7CiRsYW5nWydlcnJvcl9lbXB0eWNhdGVnb3J5J10gPSAnQ2h5YmE6IFByJmFhY3V0ZTt6ZG4mYWFjdXRlOyBrYXRlZ29yaWUhJzsKJGxhbmdbJ2Vycm9yX2VtcHR5cGF0aCddID0gJ0NoeWJhOiBQciZhYWN1dGU7emRuJmFhY3V0ZTsgY2VzdGEhJzsKJGxhbmdbJ2Vycm9yX2ZpbGVleGlzdHMnXSA9ICdDaHliYSEgU291Ym9yICVzIGppxb4gZXhpc3R1amUuJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0NoeWJhISBTb3Vib3IgJXMgbmVieWwgbmFsZXplbi4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnQ2h5YmE6IE5lZG9zdGF0ZWsgcGFyYW1ldHLFryBwcm8gYsSbaCBtb2R1bHUhJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRhdXRob3InXSA9ICdDaHliYTogJlNjYXJvbjtwYXRuJnlhY3V0ZTsgKG5lYm8gcHImYWFjdXRlO3pkbiZ5YWN1dGU7KSBhdXRvci4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNhdGVnb3J5J10gPSAnQ2h5YmE6ICZTY2Fyb247cGF0biZhYWN1dGU7IChuZWJvIHByJmFhY3V0ZTt6ZG4mYWFjdXRlOykga2F0ZWdvcmllLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkZGVzY3JpcHRpb24nXSA9ICdDaHliYTogJlNjYXJvbjtwYXRuJnlhY3V0ZTsgKG5lYm8gcHImYWFjdXRlO3pkbiZ5YWN1dGU7KSBwb3Bpcy4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGZpbGUnXSA9ICdDaHliYTogJlNjYXJvbjtwYXRuJmVhY3V0ZTsgKG5lYm8gcHImYWFjdXRlO3pkbiZlYWN1dGU7KSBqbSZlYWN1dGU7bm8gc291Ym9ydS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVwbG9hZGZpbGVuYW1lJ10gPSAnQ2h5YmE6IFNvdWJvcnkgcyB0JmlhY3V0ZTttdG8gam0mZWFjdXRlO25lbSAocHJhdmTEm3BvZG9ibsSbIHDFmSZpYWN1dGU7cG9ub3UpIG5lanNvdSBwb3ZvbGVueSAoJXMpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkaWQnXSA9ICdDaHliYTogJlNjYXJvbjtwYXRuJmVhY3V0ZTsgdXBsb2FkIGlkJzsKJGxhbmdbJ2Vycm9yX25vZmlsZXMnXSA9ICdDaHliYTogTm8gTWF0Y2hpbmcgRmlsZXMhJzsKJGxhbmdbJ2ZpbGVzJ10gPSAnU291Ym9yeSc7CiRsYW5nWydmaXhtZSddID0gJ09wcmF2aXQgbWV6ZXJ5JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1VwbG9hZCBNb2R1bGUnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+SXQgaXMgYSBtb2R1bGUgZm9yIGFsbG93aW5nIHBlb3BsZSB0byB1cGxvYWQgYW5kIGRvd25sb2FkIGZpbGVzIHRvIGFuZCBmcm9tIHlvdXIgc2l0ZS4gIEl0IGtlZXBzIHRyYWNrIG9mIHdobyB1cGxvYWRlZCBhIGZpbGUsIGFuZCB3aG8gaGFzIGRvd25sb2FkZWQgaXQuICBBcyB3ZWxsLCB5b3UgY2FuIHNvcnQgZmlsZXMgaW50byBjYXRlZ29yaWVzLCBhbmQgbWFuYWdlIHRoZSBmaWxlcyB0aGF0IHdlcmUgdXBsb2FkZWQgbGlrZSBldmVyeSBhZG1pbmlzdHJhdG9yIHdvdWxkIGRvPC9wPiANCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+VG8gdXNlIHRoaXMgbW9kdWxlLCB0byBhbGxvdyB1c2VycyB0byB1cGxvYWQgZmlsZXMgdG8geW91ciBzaXRlLCB5b3Ugc2hvdWxkIGluc3RhbGwgdGhlIG1vZHVsZSwgYW5kIHRoZW4gY3JlYXRlIG9uZSBvciBtb3JlIGNhdGVnb3JpZXMgKGEuay5hKSBkaXJlY3RvcmllcyBmb3IgdGhlIHVwbG9hZGVkIGZpbGVzIHRvIGdvIGludG8uIFRoZW4gYWRkIGEgdGFnIGludG8gYSBwYWdlIG9yIHRlbXBsYXRlIHNvbWV3aGVyZSBsaWtlIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtVcGxvYWRzJnF1b3Q7IGNhdGVnb3J5PSZxdW90O3NvbWVjYXRlZ29yeSZxdW90OyBtb2RlPSZxdW90O3NvbWVtb2RlJnF1b3Q7fS4gIFdoZXJlIG1vZGUgbWF0Y2hlcyBvbmUgb2YgdGhlIG1vZGVzIGxpc3RlZCBiZWxvdy4gIFRoZSBvdXRwdXQgd2lsbCBkaWZmZXIgZGVwZW5kaW5nIHVwb24gd2hpY2ggbW9kZSB5b3Ugc2VsZWN0LjwvcD4NCjxwPlRoaXMgbW9kdWxlIGNhbiB1c2UgdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlIChvcHRpb25hbCkgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IGFueSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXJzIHRvIHBhcnRseSBmaWxsIGluIHRoZSBmb3JtIHdoZW4gdXBsb2FkaW5nIGZpbGVzOzwvcD4NCjxoMz5QZXJtaXNzaW9uczwvaDM+DQo8dWw+DQo8bGk+PGVtPk1hbmFnZSBVcGxvYWRzPC9lbT4gcGVybWlzc2lvbiBpcyBuZWVkZWQgdG8gbWFuYWdlIGNhdGVnb3JpZXMsIGFuZCB0aGUgZmlsZXMgd2l0aGluIHRoZW0uPC9saT4NCjxsaT48ZW0+TW9kaWZ5IFRlbXBsYXRlczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIGVkaXQgYW55IG9mIHRoZSB0ZW1wbGF0ZXMuPC9saT4NCjxsaT48ZW0+TW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIGFueSBvZiB0aGUgZmlsZSBzZXR0aW5ncy48L2xpPg0KPC91bD4NCjxoMz5FbWFpbGluZzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBjYXBhYmxlIG9mIHNlbmRpbmcgYW4gZW1haWwgd2hlbmV2ZXIgYSBmaWxlIGlzIHVwbG9hZGVkLCBzZWUgdGhlIHByZWZlcmVuY2VzIHRhYi4gIEhvd2V2ZXIsIHRvIGRvIHRoaXMgdGhlIDxiPkNNU01haWxlcjwvYj4gcGFja2FnZSBtdXN0IGJlIGluc3RhbGxlZCBhbmQgY29uZmlndXJlZC4gIFRoaXMgaXMgYW4gPGVtPm9wdGlvbmFsPC9lbT4gc3RlcCwgYW5kIGlmIHRoZSBDTVNNYWlsZXIgbW9kdWxlIGlzIG5vdCBpbnN0YWxsZWQsIG5vdGhpbmcgd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIsIG9ubHkgYSBsb2cgbWVzc2FnZSB3aWxsIGJlIHBsYWNlZCBpbnRvIHRoZSBhZG1pbiBsb2c8L3A+DQo8aDM+U3lzdGVtIFNldHRpbmdzPC9oMz4NCjxwPjxiPk5vdGU6PC9iPiBUaGlzIG1vZHVsZSBkb2VzIG5vdCBieXBhc3Mgb3IgZ2V0IHBhc3QgYW55IGZpbGUgc2l6ZSBsaW1pdGF0aW9ucyBpbiBwaHAuICBJdCB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZW0uICBUaGVyZWZvcmUgeW91IG1heSBuZWVkIHRvIG1vZGlmeSB5b3VyIHBocC5pbmkgZmlsZSBhbmQvb3IgeW91ciBodHRwZC5jb25mIGZpbGUocykgdG8gYWxsb3cgeW91IHRvIHVwbG9hZCBmaWxlcyBhcyBsYXJnZSBhcyB3aGF0IHlvdSBoYXZlIHNldCBpbiB0aGUgdXBsb2FkcyBtb2R1bGUgcHJlZmVyZW5jZXMuPC9wPg0KPGgzPkFwYWNoZSBOb3RlczwvaDM+DQo8cD5JbiBvcmRlciB0byBhbGxvdyBsYXJnZSBmaWxlIHVwbG9hZHMsIHlvdSBtYXkgbmVlZCB0byBtb2RpZnkgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgcGFyYW1ldGVyIGluIHlvdXIgcGhwLmluaSAgSW4gYWRkaXRpb24sIHRoZSBMaW1pdFJlcXVlc3RCb2R5IHBhcmFtZXRlciBpbiB5b3VyIGFwYWNoZSBjb25maWd1cmF0aW9uLCBtYXkgbmVlZCB0byBiZSBhZGp1c3RlZCB0byBtYXRjaCB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBwYXJhbWV0ZXI8L3A+DQo8cD5Ob3RlOiAgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgcGFyYW1ldGVyIGNhbiBiZSBzcGVjaWZpZWQgaW4gYnl0ZXMsIGtpbG9ieXRlcywgb3IgbWVnYWJ5dGVzLCBob3dldmVyIHRoZSBMaW1pdFJlcXVldEJvZHkgcGFyYW1ldGVyIGlzIG9ubHkgc3BlY2lmaWVkIGluIGJ5dGVzPC9wPg0KJzsKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyemUgJXMgbmFpbnN0YWxvdiZhYWN1dGU7bi4nOwokbGFuZ1snaXBfYWRkcmVzcyddID0gJ0lQIEFkZHJlc2EnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1bCwga3RlciZ5YWN1dGU7IGRvdm9sdWplIHXFvml2YXRlbMWvbSBuYWhyJmFhY3V0ZTt2YXQgc291Ym9yeS4gQSB2JmFhY3V0ZTttIGplIGRvdm9sdWplIHNwcmF2b3ZhdC4nOwokbGFuZ1snbmFtZSddID0gJ0ptJmVhY3V0ZTtubyc7CiRsYW5nWydyZW5hbWVtZXNzYWdlJ10gPSAnWm3Em8WIdGUgam0mZWFjdXRlO25vIGsgcHJvdmVkZW4maWFjdXRlOyBwxZllam1lbm92JmFhY3V0ZTtuJmlhY3V0ZTsnOwokbGFuZ1sncGF0aCddID0gJ0Nlc3RhJzsKJGxhbmdbJ3BhdGhtZXNzYWdlJ10gPSAnWm3Em8WIdGUgemRlIGptJmVhY3V0ZTtubyBrYXRlZ29yaWUgcHJvIHDFmWVzdW4gc291Ym9ydSBkbyBqaW4mZWFjdXRlO2hvIGFkcmVzJmFhY3V0ZTvFmWUnOwokbGFuZ1sncGF0aGludXBsb2FkcyddID0gJyhSZWxhdGl2biZpYWN1dGU7IGsgdXBsb2FkIGFkcmVzJmFhY3V0ZTvFmWkpJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnPHA+VGhlIHVwbG9hZHMgbW9kdWxlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuIEJlIHN1cmUgdG8gc2V0ICZxdW90O01hbmFnZSBVcGxvYWRzJnF1b3Q7IHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSE8L3A+DQo8cD48c3Ryb25nPldhcm5pbmc8L3N0cm9uZz4gLSBUaGUgcHJvcGVyIGJlaGF2aW91ciBvZiB0aGlzIG1vZHVsZSBkZXBlbmRzIG9uIG51bWVyb3VzIHBocCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy4gIFRoZXNlIGluY2x1ZGUgPGVtPihidXQgYXJlIG5vdCBsaW1pdGVkIHRvKTwvZW0+LCBwaHAmIzAzOTtzIG1lbW9yeV9saW1pdCwgc2FmZV9tb2RlLCBmaWxlX3VwbG9hZHMsIHVwbG9hZHNfbWF4X2ZpbGVzaXplLCBhbmQgbWF4X2V4ZWN1dGlvbl90aW1lLiAgVGhlc2UgdmFyaWFibGVzIG1heSBuZWVkIGFkanVzdG1lbnQgZm9yIHRoaXMgbW9kdWxlIHRvIHdvcmsgcHJvcGVybHkgb24geW91ciBzaXRlLiAgSXQgaXMgYWR2aXNlZCB0aGF0IHlvdSB3b3JrIHdpdGggeW91ciBzeXN0ZW0gYWRtaW5pc3RyYXRvciBvciBob3N0IHByb3ZpZGVyIHRvIHR1bmUgdGhlc2Ugc2V0dGluZ3MgZm9yIHlvdXIgcmVxdWlyZW1lbnRzLjwvcD4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1VwbG9hZHMgbW9kdWxlIGJ5bCAmdWFjdXRlO3NwxJsmc2Nhcm9uO27EmyBvZHRyYW7Em24uIMW9JmFhY3V0ZTtkbiZlYWN1dGU7IHNvdWJvcnkgbmVieWx5IHNtYXomYWFjdXRlO255JzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUMWZZWR2b2xieSc7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdQxZllZHZvbGJ5IG1vZHVsdSBieWx5IGFrdHVhbGl6b3YmYWFjdXRlO255JzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeWRlc2MnXSA9ICdQb3Bpcyc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlsaXN0YWJsZSddID0gJ1NvdWJvcnkgdiB0b210byBhZHJlcyZhYWN1dGU7xZlpIG1vaG91IGImeWFjdXRlO3QgdXZlZGVueSc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnluYW1lJ10gPSAnSm0mZWFjdXRlO25vIGthdGVnb3JpZSc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlwYXRoJ10gPSAnQ2VzdGEgbmEgc2VydmVydSc7CiRsYW5nWydwcm9tcHRfZGVsZXRlZGlyZWN0b3J5J10gPSAnU21hemF0IGFkcmVzJmFhY3V0ZTvFmSBrYXRlZ29yaWU/JzsKJGxhbmdbJ3Byb21wdF9tYXhfdXBsb2Fkc2l6ZSddID0gJ01heGltJmFhY3V0ZTtsbiZpYWN1dGU7IHBvdm9sZW4mYWFjdXRlOyB2ZWxpa29zdCBzb3Vib3J1IChLYiknOwokbGFuZ1sncHJvbXB0X3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnXSA9ICdQb3ZvbGVuJmVhY3V0ZTsgbmFociZhYWN1dGU7dmFuJmVhY3V0ZTsgcMWZaXBvbnknOwokbGFuZ1snc2NhbiddID0gJ1Byb2hsZWRhdCc7CiRsYW5nWydzZWxlY3RjYXRlZ29yeSddID0gJ1Z5YnJhdCBrYXRlZ29yaWknOwokbGFuZ1snc2l6ZSddID0gJ1ZlbGlrb3N0JzsKJGxhbmdbJ3NpemVrYiddID0gJ1ZlbGlrb3N0IChLYiknOwokbGFuZ1snc3VibWl0J10gPSAnT2Rlc2xhdCc7CiRsYW5nWydzdW1tYXJ5X3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmxvbmEgc2hybnV0JmlhY3V0ZTsnOwokbGFuZ1snc3VtbWFyeSddID0gJ1Nocm51dCZpYWN1dGU7JzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnVXBsb2FkcyBNb2R1bGUnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlIEFkbWluIFBhbmVsJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1DFmWVkdm9sYnkgbW9kdWx1JzsKJGxhbmdbJ3RpdGxlX3NpbmdfbG91ZGx5J10gPSAnU2luZyBMb3VkbHk/JzsKJGxhbmdbJ3RpdGxlX3N1Ym5ldF9leGNsdXNpb25zJ10gPSAnVnluZWNoYXQgc3VicyZpYWN1dGU7dMSbIHplIHN0YXRpc3Rpa3knOwokbGFuZ1sndGl0bGVfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ1Bvdm9sZW4mZWFjdXRlOyBwxZkmaWFjdXRlO3BvbnknOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bCBvZGluc3RhbG92JmFhY3V0ZTtuLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIHVwZ3JhZG92JmFhY3V0ZTtuIG5hIHZlcnppICVzLic7CiRsYW5nWyd1cGxvYWQnXSA9ICdOYWhyJmFhY3V0ZTt0JzsKJGxhbmdbJ3VwbG9hZGVkJ10gPSAnU291Ym9yICVzIGJ5bCBuYWhyJmFhY3V0ZTtuICVzLic7CiRsYW5nWydyZXBsYWNlZCddID0gJ1NvdWJvciAlcyBieWwgbmFocmF6ZW4gJXMuJzsKJGxhbmdbJ2RlbGV0ZWQnXSA9ICdTb3Vicm8gJXMgYnlsIHNtYXomYWFjdXRlO24uJzsKJGxhbmdbJ3VwbG9hZGZvcm1fdGVtcGxhdGUnXSA9ICdVcGxvYWQgVGVtcGxhdGUnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVxb5pdmF0ZWxzayZlYWN1dGU7IGptJmVhY3V0ZTtubyc7CiRsYW5nWyd3YXJuaW5nX2RlbGV0ZWNhdGVnb3J5J10gPSAnVkFST1YmQWFjdXRlO04mSWFjdXRlOzogT3BhdHJuxJsgcMWZaSBtYXomYWFjdXRlO24maWFjdXRlOyBrYXRlZ29yaSZpYWN1dGU7LiBTb3Vib3J5IG1vaG91IGImeWFjdXRlO3Qgc3RyYWNlbnknOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+V2VsY29tZSB0byB0aGUgVXBsb2FkcyBNb2R1bGUgYWRtaW4gc2VjdGlvbi4gU29tZXRoaW5nIGVsc2Ugd291bGQgcHJvYmFibHkgZ28gaGVyZSBpZiB0aGUgbW9kdWxlIGFjdHVhbGx5IGRpZCBzb21ldGhpbmcuPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjIyMTc4OTY4NTI2NDYzMjM1MDAuMTIxNzE5MDEzOC4xMjE4OTYzNTk2LjEyMTg5NzYyNjcuMTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjE4OTYzNTk2LjEyLjUudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWRldi5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L3x1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FsbG93X2NoYW5nZWRhdGUnXSA9ICdEZW0gQWRtaW5zdHJhdG9yIGVybGF1YmVuLCBkYXMgSG9jaGxhZGVkYXR1bSB6dSAmYXVtbDtuZGVybic7CiRsYW5nWydtaXNzaW5nJ10gPSAnRGF0ZWkgZmVobHQnOwokbGFuZ1snbWlzc2luZ19maWxlJ10gPSAnRGllIERhdGVpIGZlaGx0JzsKJGxhbmdbJ3Byb21wdF9mcmllbmRseW5hbWUnXSA9ICdCZW51dHplcmRlZmluaWVydGVyIE5hbWUgZiZ1dW1sO3IgZGllc2VzIE1vZHVsJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5X3Byb2JsZW1fcyddID0gJ0VzIGdpYnQgZWluIFByb2JsZW0gbWl0IGRlbSBQZmFkIG9kZXIgbWl0IEJlcmVjaHRpZ3VuZ2VuIGJlaSBkaWVzZXIgS2F0ZWdvcmllJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5X3Byb2JsZW0nXSA9ICdFcyBnaWJ0IGVpbiBQcm9ibGVtIG1pdCBkZW0gUGZhZCBvZGVyIG1pdCBCZXJlY2h0aWd1bmdlbiBiZWkgS2F0ZWdvcmllICVzJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdHJlbmFtZSddID0gJ0JlaW0gVW1iZW5lbm5lbiBkZXIgRGF0ZWkgZ2lidCBlcyBlaW5lbiBGZWhsZXInOwokbGFuZ1snZmllbGRfdXBsb2FkX3N1bW1hcnknXSA9ICdadXNhbW1lbmZhc3N1bmcnOwokbGFuZ1snZmllbGRfY2F0ZWdvcnlfaWQnXSA9ICdLYXRlZ29yaWUtSUQnOwokbGFuZ1snZmllbGRfY2F0ZWdvcnlfbmFtZSddID0gJ0thdGVnb3JpZW5hbWUnOwokbGFuZ1snZmllbGRfY2F0ZWdvcnlfcGF0aCddID0gJ0thdGVnb3JpZXBmYWQnOwokbGFuZ1snZmllbGRfYXV0aG9yJ10gPSAnQXV0b3InOwokbGFuZ1snZmllbGRfZGVzY3JpcHRpb24nXSA9ICdCZXNjaHJlaWJ1bmcnOwokbGFuZ1snbm91c2VyaW5mbyddID0gJ0tlaW5lIEJlbnV0emVyaW5mb3JtYXRpb25lbiB2ZXJmJnV1bWw7Z2Jhcic7CiRsYW5nWydlcnJvcl9tYXRjaGluZ3JlY29yZHMnXSA9ICdFcyB3dXJkZW4ga2VpbmUgRWludHImYXVtbDtnZSBnZWZ1bmRlbiwgZGllIGRlbiBLcml0ZXJpZW4gZW50c3ByZWNoZW4nOwokbGFuZ1snbXNnX3JlcG9ydF9zZW50J10gPSAnQmVyaWNodCBnZXNlbmRldCc7CiRsYW5nWydnZW5lcmF0ZWRfYnknXSA9ICdFcnN0ZWxsdCB2b24nOwokbGFuZ1snZ2VuZXJhdGVkX29uJ10gPSAnRXJzdGVsbHQgYW0nOwokbGFuZ1snc3RhcnRfZGF0ZSddID0gJ0JlZ2lubic7CiRsYW5nWydlbmRfZGF0ZSddID0gJ0VuZGUnOwokbGFuZ1sndXBsb2FkX2NhdGVnb3J5X25hbWUnXSA9ICdLYXRlZ29yaWVuYW1lJzsKJGxhbmdbJ3Byb21wdF9maWxlcyddID0gJ0RhdGVpZW4nOwokbGFuZ1sncmVwb3J0X2Rvd25sb2Fkc2J5dXNlciddID0gJ0Rvd25sb2FkcyBuYWNoIEJlbnV0emVyJzsKJGxhbmdbJ3JlcG9ydF9kb3dubG9hZHNieWZpbGUnXSA9ICdEb3dubG9hZHMgbmFjaCBEYXRlaSc7CiRsYW5nWydwcm9tcHRfb3V0cHV0X3RlbXBsYXRlJ10gPSAnQXVzZ2FiZXZvcmxhZ2UnOwokbGFuZ1sndXNlcnByb3AnXSA9ICdFaWdlbnNjaGFmdCc7CiRsYW5nWydmaWVsZF9sYXRlc3RfZG93bmxvYWQnXSA9ICdMZXR6dGVyIERvd25sb2FkJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnRmVsZCc7CiRsYW5nWydjbG9zZSddID0gJ1NjaGxpZSZzemxpZztlbic7CiRsYW5nWydlcnJvcl9pbnRlcm5hbCddID0gJ0VzIGlzdCBlaW4gaW50ZXJuZXIgRmVobGVyIGF1ZmdldHJldGVuJzsKJGxhbmdbJ2V4cG9ydF9odG1sZW1haWwnXSA9ICdIVE1MLUJlcmljaHQgKHBlciBFLU1haWwpJzsKJGxhbmdbJ2V4cG9ydF9odG1sJ10gPSAnSFRNTC1CZXJpY2h0IChpbiBuZXVlbSBGZW5zdGVyKSc7CiRsYW5nWydleHBvcnRfY3N2J10gPSAnQ1NWLURhdGVpJzsKJGxhbmdbJ3Byb21wdF9vdXRwdXQnXSA9ICdBdXNnYWJlZm9ybWF0JzsKJGxhbmdbJ3Byb21wdF9yZXBvcnRfdHlwZSddID0gJ0FydCBkZXMgQmVyaWNodHMnOwokbGFuZ1sncmVwb3J0X3N1bW1hcnknXSA9ICdadXNhbW1lbmZhc3N1bmcnOwokbGFuZ1sncmVwb3J0X2RldGFpbCddID0gJ0RldGFpbHMnOwokbGFuZ1sncHJvbXB0X3N0YXJ0X2RhdGUnXSA9ICdCZWdpbm4nOwokbGFuZ1sncHJvbXB0X2VuZF9kYXRlJ10gPSAnRW5kZSc7CiRsYW5nWydwcm9tcHRfYXNjZW5kaW5nJ10gPSAnYXVmc3RlaWdlbmQnOwokbGFuZ1sncHJvbXB0X2Rlc2NlbmRpbmcnXSA9ICdhYnN0ZWlnZW5kJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0J10gPSAnU3RhbmRhcmQnOwokbGFuZ1sncHJvbXB0X3NvcnRvcmRlciddID0gJ1NvcnRpZXJ1bmcnOwokbGFuZ1snZmllbGRfZG93bmxvYWRfZGF0ZSddID0gJ0Rvd25sb2FkLURhdHVtJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9pZCddID0gJ1VwbG9hZC1JRCc7CiRsYW5nWydmaWVsZF91cGxvYWRfY2F0ZWdvcnlfaWQnXSA9ICdLYXRlZ29yaWUtSUQnOwokbGFuZ1snZmllbGRfdXBsb2FkX2NhdGVnb3J5X25hbWUnXSA9ICdLYXRlZ29yaWVuYW1lJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9jYXRlZ29yeV9wYXRoJ10gPSAnS2F0ZWdvcmllcGZhZCc7CiRsYW5nWydmaWVsZF91cGxvYWRfbmFtZSddID0gJ0RhdGVpbmFtZSc7CiRsYW5nWydmaWVsZF91cGxvYWRfYXV0aG9yJ10gPSAnQXV0b3InOwokbGFuZ1snZmllbGRfdXBsb2FkX2Rlc2NyaXB0aW9uJ10gPSAnQmVzY2hyZWlidW5nJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9pcCddID0gJ1VwbG9hZC1JUC1BZHJlc3NlJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9zaXplJ10gPSAnRGF0ZWlnciZvdW1sOyZzemxpZztlJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9kYXRlJ10gPSAnSG9jaGxhZGVkYXR1bSc7CiRsYW5nWydmaWVsZF9kb3dubG9hZHMnXSA9ICdBbnphaGwgaGVydW50ZXJnZWxhZGVuJzsKJGxhbmdbJ3Byb21wdF9maWVsZGxpc3QnXSA9ICdBdXNnYWJlZmVsZGVyIGF1c3cmYXVtbDtobGVuJzsKJGxhbmdbJ3Byb21wdF9zb3J0aW5nJ10gPSAnU29ydGllcmVuIG5hY2gnOwokbGFuZ1snb3InXSA9ICdvZGVyJzsKJGxhbmdbJ3Byb21wdF9mZXVfdXNlcnMnXSA9ICdGRVUtQmVudXR6ZXInOwokbGFuZ1sncHJvbXB0X2ZldV9ncm91cHMnXSA9ICdGRVUtR3J1cHBlbic7CiRsYW5nWydvdXRwdXQnXSA9ICdBdXNnYWJlJzsKJGxhbmdbJ2Vycm9yX25vZmV1J10gPSAnRGFzIE1vZHVsICZiZHF1bztGcm9udEVuZFVzZXJzJmxkcXVvOywgVmVyc2lvbiAxLjIxLjE1IG9kZXIgaCZvdW1sO2hlciB3aXJkIGYmdXVtbDtyIGRpZXNlIEFrdGlvbiBiZW4mb3VtbDt0aWd0JzsKJGxhbmdbJ3RpdGxlX3JlcG9ydF9kb3dubG9hZHNieXVzZXIyJ10gPSAnQmVyaWNodCAmYmRxdW87RG93bmxvYWRzIHZvbiBCZW51dHplciZsZHF1bzsnOwokbGFuZ1sndGl0bGVfcmVwb3J0X2Rvd25sb2Fkc2J5dXNlciddID0gJ0Rvd25sb2FkcyB2b24gQmVudXR6ZXInOwokbGFuZ1sndGl0bGVfcmVwb3J0X2Rvd25sb2Fkc2J5ZmlsZTInXSA9ICdCZXJpY2h0ICZiZHF1bztEb3dubG9hZHMgdm9uIERhdGVpZW4mbGRxdW87JzsKJGxhbmdbJ3RpdGxlX3JlcG9ydF9kb3dubG9hZHNieWZpbGUnXSA9ICdEb3dubG9hZHMgdm9uIERhdGVpZW4nOwokbGFuZ1sncmVwb3J0cyddID0gJ0JlcmljaHRlJzsKJGxhbmdbJ3Byb21wdF9kb3dubG9hZHMnXSA9ICdEb3dubG9hZHMnOwokbGFuZ1sncHJvbXB0X3Blcm1pc3Npb25zJ10gPSAnQmVyZWNodGlndW5nZW4nOwokbGFuZ1sncHJvbXB0X2ZpZWxkcyddID0gJ0ZlbGRlcic7CiRsYW5nWydwcm9tcHRfc2VuZGZpbGUnXSA9ICdEYXRlaSBzZW5kZW4nOwokbGFuZ1sncHJvbXB0X21vZGlmeWluZyddID0gJ0JlYXJiZWl0dW5nJzsKJGxhbmdbJ3Byb21wdF92aWV3aW5nJ10gPSAnQW56ZWlnZSc7CiRsYW5nWydwcm9tcHRfZ2VuZXJhbCddID0gJ0FsbGdlbWVpbic7CiRsYW5nWydpbmZvX2NhdGVnb3J5bGlzdGFibGUnXSA9ICdEJnV1bWw7cmZlbiBEYXRlaWVuIGluIGRpZXNlciBLYXRlZ29yaWUgYW5nZXplaWd0IHdlcmRlbj8nOwokbGFuZ1snZXJyb3JfbWlzc2luZ3ZhbHVlJ10gPSAnRWluIGVyZm9yZGVybGljaGVyIFdlcnQgZmVobHQnOwokbGFuZ1snZWRpdGVkJ10gPSAnJXMgYmVhcmJlaXRldCc7CiRsYW5nWydtb3ZlZGZpbGUnXSA9ICdEYXRlaSB3dXJkZSB2b24gJXMgbmFjaCAlcyB2ZXJzY2hvYmVuJzsKJGxhbmdbJ3BhZ2VsaW1pdCddID0gJ0RhdGVpZW4gcHJvIFNlaXRlJzsKJGxhbmdbJ3ZpZXcnXSA9ICdEaWVzZSBEYXRlaSBhbnplaWdlbic7CiRsYW5nWydlZGl0X3RoaXNfZmlsZSddID0gJ0RpZXNlcyBGZWxkIGJlYXJiZWl0ZW4nOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X3NjYW5uYWJsZSddID0gJ0RpZXNlIEthdGVnb3JpZSBhdXRvbWF0aXNjaCBhdWYgbmV1ZSBEYXRlaWVuIHByJnV1bWw7ZmVuPyc7CiRsYW5nWydpbmZvX2NhdGVnb3J5X3NjYW5uYWJsZSddID0gJ0RpZXNlIEthdGVnb3JpZSB3aXJkIGF1dG9tYXRpc2NoIGF1ZiBuZXVlIERhdGVpZW4gZ2VwciZ1dW1sO2Z0LCB3ZW5uIHZvbiBkZXIgV2Vic2VpdGUgYXVzIGRhcmF1ZiB6dWdlZ3JpZmZlbiB3aXJkJzsKJGxhbmdbJ3Byb21wdF90bF9hY2Nlc3MnXSA9ICdaZWl0YmVzY2hyJmF1bWw7bmt0ZXIgWnVncmlmZic7CiRsYW5nWydwcm9tcHRfYWxsb3dfdXBsb2FkX3NlbmRmaWxlJ10gPSAnQWxsb3cgc2VuZGluZyBmaWxlcyBpbW1lZGlhdGVseSBvbiBhZG1pbiB1cGxvYWQnOwokbGFuZ1snbXNnX2F1dG9fZGVsZXRlX2ZpbGUnXSA9ICdEaWUgRGF0ZWkgJXMgd3VyZGUgbmFjaCBaZWl0YWJsYXVmIGF1dG9tYXRpc2NoIGdlbCZvdW1sO3NjaHQnOwokbGFuZ1snbXNnX2F1dG9fZGVsZXRlX2ZpbGVfZmFpbGVkJ10gPSAnQmVyZWNodGlndW5nc3Byb2JsZW0sIGRhcyBhdXRvbWF0aXNjaGUgTCZvdW1sO3NjaGVuIHZvbiAlcyBpc3QgZmVobGdlc2NobGFnZW4nOwokbGFuZ1snaW5mb19jYXRlZ29yeV9leHBpcmVzX2hycyddID0gJ0dlYmVuIFNpZSBoaWVyIGRpZSBBbnphaGwgZGVyIFN0dW5kZW4gYW4sIG5hY2ggZGVuZW4gZGllIERhdGVpZW4gZGllc2VyIEthdGVnb3JpZSBnZWwmb3VtbDtzY2h0IHdlcmRlbiBrJm91bWw7bm5lbi4gU29sbGVuIGRpZSBEYXRlaWVuIG5pY2h0IGdlbCZvdW1sO3NjaHQgd2VyZGVuLCBzZXR6ZW4gU2llIGRpZXNlbiBXZXJ0IGF1ZiAwLic7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlfZXhwaXJlc19ocnMnXSA9ICdBbnphaGwgZGVyIFN0dW5kZW4sIGJpcyBkaWUgRGF0ZWllbiBpbiBkaWVzZXIgS2F0ZWdvcmllIGF1dG9tYXRpc2NoIGdlbCZvdW1sO3NjaHQgd2VyZGVuJzsKJGxhbmdbJ2luZm9fZGZsdF9jYXRlZ29yeV9leHBpcnknXSA9ICdEZXIgdm9yZWluZ2VzdGVsbHRlIFdlcnQgZiZ1dW1sO3IgbmV1ZSBLYXRlZ29yaWVuLCBtaXQgZGVtIGZlc3RnZWxlZ3Qgd2lyZCwgd2llIGxhbmdlIGRpZSBEYXRlaWVuIGluIGRpZXNlciBLYXRlZ29yaWUgdmVyZiZ1dW1sO2diYXIgc2VpbiBzb2xsZW4sIGJldm9yIHNpZSBhdXRvbWF0aXNjaCBnZWwmb3VtbDtzY2h0IHdlcmRlbi4gU29sbGVuIGRpZSBEYXRlaWVuIG5pY2h0IGdlbCZvdW1sO3NjaHQgd2VyZGVuLCBzZXR6ZW4gU2llIGRpZXNlbiBXZXJ0IGF1ZiAwLic7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeV9leHBpcnknXSA9ICdWZXJmJnV1bWw7Z2JhcmtlaXRzZGF1ZXIgZiZ1dW1sO3IgZGllc2UgS2F0ZWdvcmllIDxlbT4oU3R1bmRlbik8L2VtPic7CiRsYW5nWydpbmZvX2NhdGVnb3J5ZGVsZXRhYmxlJ10gPSAnQmVyZWNodGlndGUgQmVudXR6ZXIgaGFiZW4gZGllIEJlcmVjaHRpZ3VuZywgZGllc2UgRGF0ZWllbiB6dSBsJm91bWw7c2NoZW4uIERhcyBiZWRldXRldCwgZGFzcyBpbiBkZW4gZW50c3ByZWNoZW5kZW4gVGVtcGxhdGVzIGVpbiBMaW5rIHp1bSBMJm91bWw7c2NoZW4gZGVyIERhdGVpIGFuZ2V6ZWlndCB3aXJkLiAgRWluIFdlYnNlaXRlbi1FbnR3aWNrbGVyIGthbm4gYXVjaCBkaWUgZW50c3ByZWNoZW5kZSBTbWFydHktTG9naWsgdmVyd2VuZGVuLCB1bSBmJnV1bWw7ciBiZXJlY2h0aWd0ZSBCZW51dHplciBlaW5lbiBMaW5rIGFuenV6ZWlnZW4uJzsKJGxhbmdbJ2NvcHlfZmlsZXMnXSA9ICdEYXRlaWVuIGtvcGllcmVuJzsKJGxhbmdbJ2Vycm9yX2ZpbGV0b29sYXJnZSddID0gJ1RoZSBmaWxlIHlvdSBhdHRlbXB0ZWQgdG8gdXBsb2FkZSBpcyBsYXJnZXIgdGhhbiB0aGUgQ01TTVMgbWF4aW11bSB1cGxvYWQgZmlsZSBzaXplJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlY2F0ZWdvcnknXSA9ICdXb2xsZW4gU2llIHdpcmtsaWNoIGRpZXNlIEthdGVnb3JpZSBsJm91bWw7c2NoZW4/JzsKJGxhbmdbJ2Vycm9yX2RlbGV0ZSddID0gJ0VpbiBFaW50cmFnIGtvbm50ZSBuaWNodCBnZWwmb3VtbDtzY2h0IHdlcmRlbiAoJXMpJzsKJGxhbmdbJ2NvbmZpcm1fY2F0X211bHRpYWN0aW9uJ10gPSAnV29sbGVuIFNpZSB3aXJrbGljaCBkaWVzZSBBa3Rpb24gbWl0IGRlbiBhdXNnZXcmYXVtbDtobHRlbiBLYXRlZ29yaWVuIGF1c2YmdXVtbDtocmVuPyc7CiRsYW5nWydlcnJvcl9ub3RoaW5nX3NlbGVjdGVkJ10gPSAnRmVobGVyOiBFcyB3dXJkZSBuaWNodHMgYXVzZ2V3JmF1bWw7aGx0JzsKJGxhbmdbJ3dpdGhfc2VsZWN0ZWQnXSA9ICdBdXNnZXcmYXVtbDtobHRlJzsKJGxhbmdbJ2Vycm9yX3JlcGxhY2VfbWlzbWF0Y2hlZF9maWxlZXh0J10gPSAnV2hlbiByZXBsYWNpbmcgYSBmaWxlLCB5b3UgbXVzdCB1cGxvYWQgYSBmaWxlIG9mIHRoZSBzYW1lIGV4YWN0IHR5cGUgKGJ5IGZpbGUgZXh0ZW5zaW9uKS4gIFRoZSBmaWxlIHlvdSBzZWxlY3RlZCBkb2VzIG5vdCBtYXRjaCB0aGF0IG9mIHRoZSBvcmlnaW5hbCBmaWxlLic7CiRsYW5nWydyZXBsYWNlJ10gPSAnRXJzZXR6ZW4nOwokbGFuZ1snaW5mb19yZXBsYWNlZmlsZSddID0gJ1lvdSBtYXkgdXBsb2FkIGEgcmVwbGFjZW1lbnQgZmlsZSwgaWYgdGhlIGZpbGUgaXMgYW4gaW1hZ2UgdHlwZSwgYW5kIHlvdSBoYXZlIG5vdCBzcGVjaWZpZWQgYSByZXBsYWNlbWVudCB0aHVtYm5haWwsIGEgbmV3IHRodW1ibmFpbCB3aWxsIGJlIGdlbmVyYXRlZCc7CiRsYW5nWydwcm9tcHRfcmVwbGFjZWZpbGUnXSA9ICdFcnNhdHpkYXRlaSBob2NobGFkZW4nOwokbGFuZ1sndGl0bGVfZml4c3BhY2VzJ10gPSAnTGVlcnplaWNoZW4gaW4gRGF0ZWluYW1lbiBlcnNldHplbic7CiRsYW5nWydjYXRlZ29yeV9jb3BpZWQnXSA9ICdEaWUgS2F0ZWdvcmllIHd1cmRlIGVyZm9sZ3JlaWNoIGtvcGllcnQnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlcGF0aCddID0gJ1BsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG5hbWUgdGhhdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc291cmNlLCBhbmQgaXMgbm90IGFscmVhZHkgaW4gdXNlJzsKJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdPcGVyYXRpb24gYWJnZWJyb2NoZW4nOwokbGFuZ1snc291cmNlJ10gPSAnUXVlbGxlJzsKJGxhbmdbJ2Rlc3RpbmF0aW9uJ10gPSAnWmllbCc7CiRsYW5nWydwcm9tcHRfY29weV9maWxlcyddID0gJ0RpZSBEYXRlaWVuIGRlciBLYXRlZ29yaWUga29waWVyZW4nOwokbGFuZ1snaW5mb19jb3B5X2ZpbGVzJ10gPSAnQ29weSB0aGUgZmlsZXMgZnJvbSB0aGUgc291cmNlIGNhdGVnb3J5IHRvIHRoZSBkZXN0aW5hdGlvbiBjYXRlZ29yeSc7CiRsYW5nWydleHRyYSddID0gJ0V4dHJhcyc7CiRsYW5nWydjb3B5J10gPSAnS29waWVyZW4nOwokbGFuZ1snc2VsZWN0b25lJ10gPSAnSWhyZSBBdXN3YWhsJzsKJGxhbmdbJ2F1dG93YXRlcm1hcmsnXSA9ICdBdXRvbWF0aXNjaCBXYXNzZXJ6ZWljaGVuIGF1ZiBkZW4gQmlsZGVybiBlaW5mJnV1bWw7Z2VuJzsKJGxhbmdbJ2ltYWdlX3NldHRpbmdzJ10gPSAnQmlsZGVpbnN0ZWxsdW5nZW4nOwokbGFuZ1sncHJvbXB0X2dldGZpbGVfcmVzdWx0cGFnZSddID0gJ1NlaXRlLCBkaWUgZiZ1dW1sO3IgZGllIEFuemVpZ2Ugdm9uIEZlaGxlcm4gb2RlciBhbmRlcmVuLCBkZW4gRG93bmxvYWQgYmV0cmVmZmVuZGVuIE5hY2hyaWNodGVuIHZlcndlbmRldCB3ZXJkZW4gc29sbCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2tleSddID0gJ1RoZSB1cGxvYWQga2V5IHNwZWNpZmllZCBpcyBpbnZhbGlkIChtYXliZSBpdCBoYXMgcmVhY2hlZCBpdHMgbWF4aW11bSBkb3dubG9hZCBjYXBhY2l0eSBvciBoYXMgZXhwaXJlZCknOwokbGFuZ1snZGZsdF90aW1lbGltaXRlZF9zdWJqZWN0J10gPSAneyRzaXRlbmFtZX0gJm5kYXNoOyBJaG5lbiB3dXJkZSBmJnV1bWw7ciBlaW5lIGJlZ3Jlbnp0ZSBaZWl0IFp1Z2FuZyB6dSB7JGVudHJ5LT51cGxvYWRfbmFtZXxzdHJpcF90YWdzfSBnZXcmYXVtbDtocnQnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX3N1YmplY3QnXSA9ICdCZXRyZWZmIGYmdXVtbDtyIGRpZSBFLU1haWwsIGRpZSBnZXNlbmRldCB3aXJkLCB3ZW5uIGVpbmUgRGF0ZWkgbWl0IFplaXRiZWdyZW56dW5nIGdlc2VuZGV0IHdpcmQnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2F1dG9kZWxldGUnXSA9ICdBdXRvIGRlbGV0ZSBleHBpcmVkIGVudHJpZXMgYWZ0ZXIgTiBob3VycyA8ZW0+KHNwZWNpZnkgMCB0byBkaXNhYmxlIGF1dG9kZWxldGUpPC9lbT46JzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9zZW5kaXQnXSA9ICdTZW5kIHRoaXMgdXJsIHRvIHRoZSBkZXNpZ25hdGVkIGVtYWlsIGFkZHJlc3M/JzsKJGxhbmdbJ3VybF9rZXknXSA9ICdVUkwtU2NobCZ1dW1sO3NzZWwnOwokbGFuZ1snY3JlYXRlZCddID0gJ0Vyc3RlbGx0JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdBYmxhdWZkYXR1bSc7CiRsYW5nWydhZGRlZGl0X3RpbWVsaW1pdGVkX2tleSddID0gJ0FkZC9FZGl0IFRpbWUgTGltaXRlZCBLZXknOwokbGFuZ1sndGltZV9saW1pdGVkX2tleV9hZGRlZCddID0gJ1RpbWUgTGltaXRlZCBLZXkgQWRkZWQnOwokbGFuZ1snbnVtX2hvdXJzJ10gPSAnQW56YWhsIGRlciBTdHVuZGVuJzsKJGxhbmdbJ251bV9kb3dubG9hZHMnXSA9ICdBbnphaGwgZGVyIERvd25sb2Fkcyc7CiRsYW5nWydlbWFpbF9hZGRyZXNzJ10gPSAnRS1NYWlsLUFkcmVzc2UnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19pbnZhbGlkJ10gPSAnRWluIGVyZm9yZGVybGljaGVyIFdlcnQgZmVobHQgb2RlciBpc3QgdW5nJnV1bWw7bHRpZzogJXMnOwokbGFuZ1snYWRkX3RpbWVsaW1pdGVkX2tleSddID0gJ0VpbmVuIHplaXRiZXNjaHImYXVtbDtua3RlbiBTY2hsJnV1bWw7c3NlbCBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snZmlsZV9pbmZvMiddID0gJ0RhdGVpICVzIChpZD0lZCknOwokbGFuZ1snaW5mb190aW1lbGltaXRlZF9kb3dubG9hZHMnXSA9ICdTcGVjaWZ5IHRoZSBkZWZhdWx0IG51bWJlciBvZiB0aW1lcyB0aGF0IGEgZmlsZSBpZGVudGlmaWVkIGJ5IGEgcGFydGljdWxhciBrZXkgY2FuIGJlIGRvd25sb2FkZWQnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2Rvd25sb2FkcyddID0gJ1ZvcmVpbmdlc3RlbGx0ZSBBbnphaGwgdm9uIERvd25sb2Fkcyc7CiRsYW5nWydpbmZvX3RpbWVsaW1pdGVkX2hvdXJzJ10gPSAnU3BlY2lmeSB0aGUgZGVmYXVsdCBudW1iZXIgb2YgaG91cnMgdGhhdCBhIHRpbWUgbGltaXRlZCBrZXkgaXMgdmFsaWQgZm9yLiAgU3BlY2lmeSAwIGZvciB1bmxpbWl0ZWQnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2hvdXJzJ10gPSAnTnVtYmVyIG9mIGhvdXJzIGEgVGltZSBMaW1pdGVkIEtleSBpcyB2YWxpZCBmb3InOwokbGFuZ1sndGltZWxpbWl0ZWRfdXJsX3NldHRpbmdzJ10gPSAnVGltZSBMaW1pdGVkIEtleSBTZXR0aW5ncyc7CiRsYW5nWydtYW5hZ2VfdGltZWxpbWl0ZWQnXSA9ICdaZWl0YmVzY2hyJmF1bWw7bmt0ZW4gWnVncmlmZiB2ZXJ3YWx0ZW4nOwokbGFuZ1sndXBsb2FkaW5nX3NldHRpbmdzJ10gPSAnRWluc3RlbGx1bmdlbiBmJnV1bWw7ciBkYXMgSG9jaGxhZGVuIHZvbiBEYXRlaWVuJzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdBbGxnZW1laW5lIEVpbnN0ZWxsdW5nZW4nOwokbGFuZ1sndGh1bWJuYWlsX3NldHRpbmdzJ10gPSAnRXJzdGVsbHVuZyBkZXIgVm9yc2NoYXViaWxkZXInOwokbGFuZ1sndGl0bGVfcmVkaXJlY3Rfb25fc2VuZGZpbGUnXSA9ICdTZWl0ZSwgYXVmIGRpZSBkZXIgQmVzdWNoZXIgbmFjaCBkZXIgRWluc2VuZHVuZyBlaW5lciBEYXRlaSB3ZWl0ZXJnZWxlaXRldCB3aXJkJzsKJGxhbmdbJ2xibF9iYWNrJ10gPSAnWnVyJnV1bWw7Y2snOwokbGFuZ1snbGJsX3RlbXBsYXRlcyddID0gJ1ZvcmxhZ2VuIGJlYXJiZWl0ZW4nOwokbGFuZ1sncHJvbXB0X3B1YmxpY19maWVsZCddID0gJ0RhcyBGZWxkIGlzdCAmb3VtbDtmZmVudGxpY2ggPGVtPihrYW5uIHZvbiBkZW4gQmVzdWNoZXJuIGRpZXNlciBXZWJzZWl0ZSBnZXNlaGVuIHdlcmRlbik8L2VtPic7CiRsYW5nWyd1cGxvYWRfZWRpdGVkJ10gPSAnRGF0ZWlkZXRhaWxzIGJlYXJiZWl0ZXQgYW0gJXMnOwokbGFuZ1snaW5mb190aHVtYm5haWwnXSA9ICdFaW4gb3B0aW9uYWxlcyBWb3JzY2hhdWJpbGQnOwokbGFuZ1sndXBsb2FkX2ZpbGUnXSA9ICdFaW5lIG5ldWUgRGF0ZWkgaG9jaGxhZGVuJzsKJGxhbmdbJ21zZ19maWVsZF9kZWxldGVkJ10gPSAnRGFzIEZlbGQgd3VyZGUgZ2VsJm91bWw7c2NodCc7CiRsYW5nWydhc2tfZGVsZXRlX2ZpZWxkJ10gPSAnV29sbGVuIFNpZSB3aXJrbGljaCBkaWVzZSBGZWxkZGVmaW5pdGlvbmVuIHVuZCBhbGxlIGRhbWl0IHZlcmJ1bmRlbmVuIFdlcnRlIGwmb3VtbDtzY2hlbj8nOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1snbm8nXSA9ICdOZWluJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXAnOwokbGFuZ1snZmllbGR0eXBlX211bHRpc2VsZWN0J10gPSAnTWVocmZhY2hhdXN3YWhsJzsKJGxhbmdbJ2ZpZWxkdHlwZV9kcm9wZG93biddID0gJ0F1c3dhaGxsaXN0ZSc7CiRsYW5nWydmaWVsZHR5cGVfY2hlY2tib3gnXSA9ICdLb250cm9sbGsmYXVtbDtzdGNoZW4nOwokbGFuZ1snZmllbGR0eXBlX3RleHRhcmVhJ10gPSAnVGV4dGJlcmVpY2gnOwokbGFuZ1snZmllbGR0eXBlX3RleHRpbnB1dCddID0gJ1RleHRmZWxkJzsKJGxhbmdbJ3Byb21wdF91c2Vfd3lzaXd5ZyddID0gJ1p1bSBCZWFyYmVpdGVuIGRpZXNlcyBGZWxkcyBkZW4gdm9yZWluZ2VzdGVsbHRlbiBXWVNJV1lHLUVkaXRvciB2ZXJ3ZW5kZW4nOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfY29udGVudCddID0gJ1ZvcmVpbmdlc3RlbGx0ZXIgSW5oYWx0IGYmdXVtbDtyIGRlbiBUZXh0YmVyZWljaCc7CiRsYW5nWydwcm9tcHRfZHJvcGRvd25fb3B0aW9ucyddID0gJ09wdGlvbmVuIChlaW4gRWludHJhZyBwcm8gWmVpbGUpJzsKJGxhbmdbJ3Byb21wdF9maWVsZF9tYXhsZW5ndGgnXSA9ICdNYXhpbWFsZSBGZWxkbCZhdW1sO25nZSc7CiRsYW5nWydwcm9tcHRfZmllbGRfbGVuZ3RoJ10gPSAnRmVsZGwmYXVtbDtuZ2UnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX3R5cGUnXSA9ICdGZWxkdHlwJzsKJGxhbmdbJ3Byb21wdF9maWVsZF9uYW1lJ10gPSAnRmVsZG5hbWUnOwokbGFuZ1sndGl0bGVfYWRkX2ZpZWxkJ10gPSAnRWluZSBGZWxkZGVmaW5pdGlvbiBoaW56dWYmdXVtbDtnZW4gb2RlciBiZWFyYmVpdGVuJzsKJGxhbmdbJ2ZpZWxkX2RlZmluaXRpb25zJ10gPSAnRmVsZGRlZmluaXRpb25lbic7CiRsYW5nWydwcm9tcHRfYWRkX2ZpZWxkJ10gPSAnRWluZSBGZWxkZGVmaW5pdGlvbiBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmaWVzIHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZSB0YWcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOiBkZWZhdWx0IC0gKHRoZSBkZWZhZmF1bHQgYmVoYXZpb3IpLCBkZXRhaWwgLSB0byBkaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgZmlsZSBiYXNlZCBvbiB0aGUgdXBsb2FkX2lkLCBhbmQgeW91c2VuZGl0IC0gdG8gZGlzcGxheSBhIGZvcm0gdG8gYWxsb3cgdXBsb2FkaW5nIGEgZmlsZSwgYW5kIHNlbmRpbmcgaXQgdG8gbnVtZXJvdXMgYWRkcmVzc2VzIGluIG9uZSBzdGVwJzsKJGxhbmdbJ3BhcmFtX3NlbmRmaWxlcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBzZW5kIGEgZmlsZSBmb3JtJzsKJGxhbmdbJ2ZpbGVfdXBsb2FkZWQnXSA9ICdEYXRlaSB3dXJkZSBlcmZvbGdyZWljaCBob2NoZ2VsYWRlbic7CiRsYW5nWyd0byddID0gJ0FuJzsKJGxhbmdbJ3RpdGxlX3lvdXNlbmRpdGZvcm1fdGVtcGxhdGUnXSA9ICdBZGQgb3IgRWRpdCBhICZxdW90O1lvdSBTZW5kIEl0JnF1b3Q7IEZvcm0gVGVtcGxhdGUnOwokbGFuZ1sneW91c2VuZGl0Zm9ybV90ZW1wbGF0ZSddID0gJ1lvdVNlbmRJdCBGb3JtIFRlbXBsYXRlcyc7CiRsYW5nWyd0aXRsZV95b3VzZW5kaXRmb3JtX3N5c2RlZmF1bHQnXSA9ICdTeXN0ZW0gZGVmYXVsdCAmcXVvdDt5b3Ugc2VuZCBpdCZxdW90OyB0ZW1wbGF0ZSc7CiRsYW5nWydtc2dfZmlsZV9zZW50J10gPSAnQSBtZXNzYWdlIGhhcyBiZWVuIHNlbnQgdG8gdGhlIHNlbGVjdGVkIGFkZHJlc3NlcyB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaWxlIGFuZCBob3cgdG8gcmV0cmlldmUgaXQuJzsKJGxhbmdbJ2Vycm9yX25vYWRkcmVzc2VzJ10gPSAnU2llIG0mdXVtbDtzc2VuIG1pbmRlc3RlbnMgZWluZSBaaWVsYWRyZXNzZSBhbmdlYmVuJzsKJGxhbmdbJ2Vycm9yX25vc3ViamVjdCddID0gJ1NpZSBtJnV1bWw7c3NlbiBlaW5lbiBCZXRyZWZmIGFuZ2ViZW4nOwokbGFuZ1snc3ViamVjdCddID0gJ0JldHJlZmYnOwokbGFuZ1sndGl0bGVfc2VuZGZpbGVwYWdlJ10gPSAnU2VpdGUgZiZ1dW1sO3IgZGFzICZiZHF1bztEYXRlaSBzZW5kZW4mbGRxdW87LUZvcm11bGFyJzsKJGxhbmdbJ2ZpbGVfaW5mbyddID0gJ0RhdGVpaW5mb3JtYXRpb25lbic7CiRsYW5nWydzZW5kJ10gPSAnQWJzZW5kZW4nOwokbGFuZ1snbm90ZXMnXSA9ICdOb3RpemVuJzsKJGxhbmdbJ2FkZHJlc3NlZXMnXSA9ICdJbmZvcm1hdGlvbmVuICZ1dW1sO2JlciBkaWVzZSBEYXRlaSBzZW5kZW4gYW4nOwokbGFuZ1sncHJvbXB0X3NlbmRmaWxlX2VtYWlsX3RlbXBsYXRlJ10gPSAnRS1NYWlsLVZvcmxhZ2UgJmJkcXVvO0RhdGVpIHNlbmRlbiZsZHF1bzsnOwokbGFuZ1sndGl0bGVfc2VuZGZpbGVmb3JtX3RlbXBsYXRlJ10gPSAnQWRkIG9yIEVkaXQgYSAmcXVvdDtTZW5kIGEgRmlsZSZxdW90OyBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ3NlbmRmaWxlZm9ybV90ZW1wbGF0ZSddID0gJ0Zvcm11bGFydm9ybGFnZSAmYmRxdW87RGF0ZWkgc2VuZGVuJmxkcXVvOyc7CiRsYW5nWydwcm9tcHRfbm90aWZ5X2VtYWlsX3RlbXBsYXRlJ10gPSAnRmlsZSB1cGxvYWQgbm90aWZpY2F0aW9uIGVtYWlsIHRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3NlbmRmaWxlZm9ybV9zeXNkZWZhdWx0J10gPSAnU3lzdGVtIGRlZmF1bHQgJnF1b3Q7U2VuZCBhIEZpbGUmcXVvdDsgZm9ybSB0ZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlkZWxldGFibGUnXSA9ICdEYXRlaWVuIGluIGRpZXNlciBLYXRlZ29yaWUgayZvdW1sO25uZW4gZ2VsJm91bWw7c2NodCB3ZXJkZW4nOwokbGFuZ1sndGl0bGVfYWxsb3dfZGVsZXRlJ10gPSAnRGFzIEwmb3VtbDtzY2hlbiB2b24gRGF0ZWllbiBpbSBGcm9udGVuZCBlcmxhdWJlbic7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlcyddID0gJ1N0YW5kYXJkLVRlbXBsYXRlcyc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICdFcnN0ZSBTZWl0ZSc7CiRsYW5nWydwcmV2cGFnZSddID0gJ1ZvcmhlcmlnZSBTZWl0ZSc7CiRsYW5nWyduZXh0cGFnZSddID0gJ04mYXVtbDtjaHN0ZSBTZWl0ZSc7CiRsYW5nWydsYXN0cGFnZSddID0gJ0xldHp0ZSBTZWl0ZSc7CiRsYW5nWydmaXJzdHBhZ2VfYXJyb3cnXSA9ICcmbGFxdW87JzsKJGxhbmdbJ3ByZXZwYWdlX2Fycm93J10gPSAnJmxzYXF1bzsnOwokbGFuZ1snbmV4dHBhZ2VfYXJyb3cnXSA9ICcmcnNhcXVvOyc7CiRsYW5nWydsYXN0cGFnZV9hcnJvdyddID0gJyZyYXF1bzsnOwokbGFuZ1sncGFnZSddID0gJ1NlaXRlJzsKJGxhbmdbJ29mJ10gPSAndm9uJzsKJGxhbmdbJ3Byb21wdF9ncm91cGxpc3QnXSA9ICdBdXRvcmlzaWVydGUgRkVVLUdydXBwZW4nOwokbGFuZ1snaW5mb19ncm91cGxpc3QnXSA9ICdXJmF1bWw7aGxlbiBTaWUgZGllIEdydXBwZW4gZGVzIEZyb250ZW5kVXNlcnMtTW9kdWxzLCBkZW5lbiBkZXIgWnVncmlmZiBhdWYgZGllc2UgS2F0ZWdvcmllIGVybGF1YnQgaXN0LiBXZW5uIFNpZSBhbGxlIEVpbnRyJmF1bWw7Z2UgYWJ3JmF1bWw7aGxlbiwgZXJsYXViZW4gU2llIGFsbGVuIGRlbiBadWdyaWZmLic7CiRsYW5nWyd0aXRsZV9zY2FuJ10gPSAnRGllc2UgS2F0ZWdvcmllIGF1ZiBuZXVlIERhdGVpZW4gcHImdXVtbDtmZW4nOwokbGFuZ1sndGl0bGVfY3JlYXRlX3RodW1ibmFpbHMnXSA9ICdGZWhsZW5kZSBWb3JzY2hhdWJpbGRlciBmJnV1bWw7ciBkaWUgRGF0ZWllbiBkaWVzZXIgS2F0ZWdvcmllIGVyemV1Z2VuLic7CiRsYW5nWydjcmVhdGVfdGh1bWJuYWlscyddID0gJ1ZvcnNjaGF1YmlsZGVyIGVyemV1Z2VuJzsKJGxhbmdbJ3RpdGxlX2NyZWF0ZV90aHVtYm5haWwnXSA9ICdFaW4gVm9yc2NoYXViaWxkIGYmdXVtbDtyIGRpZXNlIERhdGVpIGVyemV1Z2VuJzsKJGxhbmdbJ2NyZWF0ZV90aHVtYm5haWwnXSA9ICdFaW4gVm9yc2NoYXViaWxkIGVyemV1Z2VuJzsKJGxhbmdbJ2Vycm9yX3BhdGhlcnJvciddID0gJ0tvbm50ZSBkYXMgVmVyemVpY2huaXMgbmljaHQgJm91bWw7ZmZuZW4gKEJlcmVjaHRpZ3VuZ3MtUHJvYmxlbT8pJzsKJGxhbmdbJ3RpdGxlX2Rvd25sb2FkX2NodW5rc2l6ZSddID0gJ0dyJm91bWw7JnN6bGlnO2UgZGVzIERvd25sb2Fkcyc7CiRsYW5nWydpbmZvX2Rvd25sb2FkX2NodW5rc2l6ZSddID0gJ0RpZSBWZXJ3ZW5kdW5nIGRpZXNlcyBQYXJhbWV0ZXJzIGhhdCBBdXN3aXJrdW5nZW4gYXVmIGRpZSBHZXNjaHdpbmRpZ2tlaXQgYmVpbSBIZXJ1bnRlcmxhZGVuIHVuZCBrYW5uIGhlbGZlbiwgZmFsbHMgbnVyIHdlbmlnIFNwZWljaGVyIHp1ciBWZXJmJnV1bWw7Z3VuZyBzdGVodC4nOwokbGFuZ1snd2FybmluZ19zYWZlX21vZGUnXSA9ICdEZXIgUEhQLVNhZmUtTW9kdXMgaXN0IGFrdGl2aWVydC4gQXVmZ3J1bmQgZGVzc2VuIGthbm4gZXMgYmVpbSBIb2NobGFkZW4gdm9uIERhdGVpZW4genUgUHJvYmxlbWVuIGtvbW1lbiAoQmVyZWNodGlndW5nZW4pLiBBdSZzemxpZztlcmRlbSBrYW5uIGVzIG1pdCBkZXIgRiZhdW1sO2hpZ2tlaXQgZGVzIE1vZHVscywgZWluaWdlIEVpbnN0ZWxsdW5nZW4gaW4gZGVyIGluaS1EYXRlaSAmdXVtbDtiZXJzY2hyZWliZW4genUgayZvdW1sO25uZW4sIHp1IHVuZXJ3JnV1bWw7bnNjaHRlbiAmVXVtbDtiZXJzY2huZWlkdW5nZW4ga29tbWVuLiBTaWUgc29sbHRlbiBzaWNoIGRhaGVyIG1pdCBJaHJlbSBQcm92aWRlciBpbiBWZXJiaW5kdW5nIHNldHplbiwgb2IgZXIgZGVuIFNhZmUtTW9kdXMgZGVha3RpdmllcmVuIGthbm4uJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdEaWVzIGlzdCBpbnNiZXNvbmRlcmUgZGFubiBuJnV1bWw7dHpsaWNoLCB3ZW5uIGRpZSBEZXRhaWxzIG1pdCBlaW5lbSBhbmRlcmVuIFNlaXRlbi1UZW1wbGF0ZSBhbmdlemVpZ3Qgd2VyZGVuIHNvbGxlbi4gRGllc2VyIFBhcmFtZXRlciBiZW4mb3VtbDt0aWd0IGVudHdlZGVyIGRpZSBJRCBvZGVyIGRlbiBBbGlhcyBkZXIgU2VpdGUsIGRpZSB6dXIgQW56ZWlnZSBkZXIgRGV0YWlscyB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGwuJzsKJGxhbmdbJ3BhcmFtX3ByZWZpeCddID0gJ0VpbiBib29sc2NoZXIgV2VydCwgZGVyIGFuemVpZ3QsIG1pdCB3ZWxjaGVtIFByZWZpeCBkaWUgRGF0ZWllbiBnZWtlbm56ZWljaG5ldCB3ZXJkZW4gc29sbGVuJzsKJGxhbmdbJ3BhcmFtX3ByZWZpeF9mZXUnXSA9ICdFaW4gYm9vbHNjaGVyIFdlcnQsIGRlciBhbnplaWd0LCBtaXQgd2VsY2hlbSBQcmVmaXggZGllIERhdGVpZW4gZGVzIGFrdHVlbGxlbiBBdXRvcnMgZ2VrZW5uemVpY2huZXQgd2VyZGVuIHNvbGxlbi4gT2huZSBWb3JnYWJlIHdpcmQgZGllIGFrdHVlbGxlIFplaXQgYWxzIFByZWZpeCB2ZXJ3ZW5kZXQgKGltIGRlY2hleC1Gb3JtYXQpJzsKJGxhbmdbJ3BhcmFtX25vY2FwdGNoYSddID0gJ0NhcHRjaGEtU3VwcG9ydCAoc3RhbmRhcmRtYSZzemxpZztpZyBha3RpdmllcnQpIGJlaW0gSG9jaGxhZGVuIGRlYWt0aXZpZXJlbic7CiRsYW5nWyd0aXRsZV91cGxvYWRmb3JtX3RlbXBsYXRlJ10gPSAnVm9ybGFnZSBmJnV1bWw7ciBkYXMgRm9ybXVsYXIgenVtIEhvY2hsYWRlbiB2b24gRGF0ZWllbiBiZWFyYmVpdGVuJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdCaXR0ZSBnZWJlbiBTaWUgZGVuIFRleHQgZWluLCBkZXIgaW4gZGllc2VtIEJpbGQgYW5nZXplaWd0IHdpcmQnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnRGVyIFRleHQsIGRlbiBTaWUgZWluZ2VnZWJlbiBoYWJlbiwgZW50c3ByaWNodCBuaWNodCBkZW0gYW5nZXplaWd0ZW4gQmlsZCc7CiRsYW5nWyd0aXRsZV9hdXRvdGh1bWJuYWlsX2V4dGVuc2lvbnMnXSA9ICdGJnV1bWw7ciBEYXRlaWVuIG1pdCBkaWVzZXIgTmFtZW5zZXJ3ZWl0ZXJ1bmcgVm9yc2NoYXViaWxkZXIgZXJ6ZXVnZW4nOwokbGFuZ1sndGl0bGVfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWF4aW1hbGUgR3Imb3VtbDsmc3psaWc7ZSBmJnV1bWw7ciBkaWUgZXJ6ZXVndGVuIFZvcnNjaGF1YmlsZGVyIChpbiBQaXhlbCknOwokbGFuZ1sncHJvbXB0X3VwbG9hZF9pY29uJ10gPSAnRWluIFBpa3RvZ3JhbW0gaG9jaGxhZGVuJzsKJGxhbmdbJ2luZm9fc3lzZGVmYXVsdCddID0gJ0RpZXNlciBUZXh0IHdpcmQgdmVyd2VuZGV0LCB3ZW5uIGVpbiBuZXVlcyBUZW1wbGF0ZSBkaWVzZXMgVHlwcyBlcnN0ZWxsdCB3aXJkJzsKJGxhbmdbJ3RpdGxlX2RldGFpbHJwdF9zeXNkZWZhdWx0J10gPSAnU3RhbmRhcmR2b3JsYWdlIGYmdXVtbDtyIGRlbiBkZXRhaWxpZXJ0ZW4gQmVyaWNodCc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3N5c2RlZmF1bHQnXSA9ICdTdGFuZGFyZHZvcmxhZ2UgZiZ1dW1sO3IgZGVuIEt1cnpiZXJpY2h0JzsKJGxhbmdbJ3RpdGxlX3VwbG9hZGZvcm1fc3lzZGVmYXVsdCddID0gJ1N0YW5kYXJkdm9ybGFnZSBmJnV1bWw7ciBkYXMgSG9jaGxhZGVuIHZvbiBEYXRlaWVuJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnVm9ybGFnZSc7CiRsYW5nWydyZXNldHRvZGVmYXVsdCddID0gJ0F1ZiBkaWUgcHJvZ3JhbW1zZWl0aWdlbiBWb3JlaW5zdGVsbHVuZ2VuIHp1ciZ1dW1sO2Nrc2V0emVuJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlycHRfdGVtcGxhdGUnXSA9ICdWb3JsYWdlIGYmdXVtbDtyIGRlbiBLdXJ6YmVyaWNodCc7CiRsYW5nWyd0aXRsZV9kZXRhaWxycHRfdGVtcGxhdGUnXSA9ICdWb3JsYWdlIGYmdXVtbDtyIGRlbiBkZXRhaWxpZXJ0ZW4gQmVyaWNodCc7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05hbWUnOwokbGFuZ1snbGVnZW5kX3VwbG9hZGZvcm0nXSA9ICdFaW5lIERhdGVpIGhvY2hsYWRlbic7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdFcyBmZWhsdCBlaW4gZXJmb3JkZXJsaWNoZXIgUGFyYW1ldGVyJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmduYW1lJ10gPSAnRiZ1dW1sO3IgZGVuIERhdGVpdHlwZW4gbXVzcyBlaW4gTmFtZSBlaW5nZWdlYmVuIHdlcmRlbic7CiRsYW5nWydlcnJvcl9taXNzaW5nZXh0ZW5zaW9ucyddID0gJ0VzIG11c3MgbWluZGVzdGVucyBlaW5lIERhdGVpbmFtZW5zZXJ3ZWl0ZXJ1bmcgZmVzdGdlbGVndCB3ZXJkZW4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ2ljb24nXSA9ICdEYWYmdXVtbDtyIG11c3MgZWluIFBpa3RvZ3JhbW0gZmVzdGdlbGVndCB3ZXJkZW4nOwokbGFuZ1snZXJyb3Jfbm9zdWNocm93J10gPSAnRGllIGZlc3RnZWxlZ3RlIFplaWxlIGtvbm50ZSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4nOwokbGFuZ1snbmFtZV91bmtub3duJ10gPSAnVW5iZWthbm50JzsKJGxhbmdbJ2Rlc2NyaXB0aW9uX3Vua25vd24nXSA9ICdCZXNjaHJlaWJ1bmcgZGVyIERhdGVpdHlwZW4gZiZ1dW1sO3IgbmljaHQgJnV1bWw7YmVyZWluc3RpbW1lbmRlIERhdGVpZW4nOwokbGFuZ1snaW1hZ2UnXSA9ICdCaWxkJzsKJGxhbmdbJ2ljb24nXSA9ICdQaWt0b2dyYW1tJzsKJGxhbmdbJ2V4dGVuc2lvbnMnXSA9ICdEYXRlaW5hbWVuc2Vyd2VpdGVydW5nZW4nOwokbGFuZ1snYWRkZmlsZXR5cGUnXSA9ICdFaW5lbiBuZXVlbiBEYXRlaXR5cGVuIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydmaWxlX3R5cGVzJ10gPSAnRGF0ZWl0eXBlbic7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3J5aWQnXSA9ICdFcyB3dXJkZSBrZWluZSBLYXRlZ29yaWUtSUQgZWluZ2VnZWJlbic7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3J5J10gPSAnRXMgd3VyZGUga2VpbmUgS2F0ZWdvcmllLUlEIGVpbmdlZ2ViZW4nOwokbGFuZ1snZXJyb3JfdGVtcGxhdGVuYW1lZXhpc3RzJ10gPSAnRXMgZXhpc3RpZXJ0IGJlcmVpdHMgZWluZSBWb3JsYWdlIG1pdCBkaWVzZW0gTmFtZW4uJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZW5hbWUnXSA9ICdWb3JsYWdlbm5hbWUnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnVm9ybGFnZSc7CiRsYW5nWydwcm9tcHRfbmV3dGVtcGxhdGUnXSA9ICdFaW5lIG5ldWUgVm9ybGFnZSBlcnN0ZWxsZW4nOwokbGFuZ1snaGVscF9PbkRvd25sb2FkJ10gPSAnPHA+RWluIEVyZWlnbmlzLCB3ZW5uIGVpbiBVc2VyIGVpbmUgRGF0ZWkgaGVydW50ZXJnZWxhZGVuIGhhdDwvcD4NCjxoND5QYXJhbWV0ZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT5pZDwvZW0+IC0gSUQgZGVyIGhvY2hnZWxhZGVuZW4gRGF0ZWk8L2xpPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBEYXRlaW5hbWU8L2xpPg0KPGxpPjxlbT5pcDwvZW0+IC0gSVAtQWRyZXNzZSBkZXMgaGVydW50ZXJsYWRlbmRlbiBVc2VyczwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX09uRGVsZXRlQ2F0ZWdvcnknXSA9ICc8cD5FaW4gRXJlaWduaXMsIHdlbm4gZWluZSBLYXRlZ29yaWUgZ2VsJm91bWw7c2NodCB3dXJkZTwvcD4NCjxoND5QYXJhbWV0ZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBOYW1lIGRlciBLYXRlZ29yaWU8L2xpPg0KPGxpPjxlbT5wYXRoPC9lbT4gLSBQZmFkIGRlciBLYXRlZ29yaWU8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9PbkNyZWF0ZUNhdGVnb3J5J10gPSAnPHA+RWluIEVyZWlnbmlzLCB3ZW5uIGVpbmUgS2F0ZWdvcmllIGVyc3RlbGx0IHd1cmRlPC9wPg0KPGg0PlBhcmFtZXRlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIE5hbWUgZGVyIEthdGVnb3JpZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBCZXNjaHJlaWJ1bmcgZGVyIEthdGVnb3JpZTwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIEthdGVnb3JpZXBmYWQ8L2xpPg0KPGxpPjxlbT5wYXRoPC9lbT4gLSBFaW4gRmxhZywgZGVyIGFuemVpZ3QsIG9iIGRpZSBLYXRlZ29yaWUgZ2VsaXN0ZXQgd2VyZGVuIHNvbGw8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9PblJlbW92ZSddID0gJzxwPkVpbiBFcmVpZ25pcywgd2VubiBlaW5lIERhdGVpICZ1dW1sO2JlciBkaWUgQWRtaW5pc3RyYXRpb24gb2RlciBkYXMgRnJvbnRlbmQgZW50ZmVybnQgd3VyZGU8L3A+DQo8aDQ+UGFyYW1ldGVyPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gTmFtZSBkZXIgZW50ZmVybnRlbiBEYXRlaTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBJRCBkZXIgZW50ZmVybnRlbiBEYXRlaTwvbGk+DQo8bGk+PGVtPmNhdGVnb3J5X2lkPC9lbT4gLSBJRCBkZXIgS2F0ZWdvcmllPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfT25VcGxvYWQnXSA9ICc8cD5FaW4gRXJlaWduaXMsIHdlbm4gZWluZSBEYXRlaSAmdXVtbDtiZXIgZGllIEFkbWluaXN0cmF0aW9uIG9kZXIgZGFzIEZyb250ZW5kIGhvY2hnZWxhZGVuIHd1cmRlPC9wPg0KPGg0PlBhcmFtZXRlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPmNhdGVnb3J5PC9lbT4gLSBOYW1lIGRlciBLYXRlZ29yaWU8L2xpPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBOYW1lIGRlciBob2NoZ2VsYWRlbmVuIERhdGVpPC9saT4NCjxsaT48ZW0+c2l6ZTwvZW0+IC0gR3Imb3VtbDsmc3psaWc7ZSBkZXIgaG9jaGdlbGFkZW5lbiBEYXRlaTwvbGk+DQo8bGk+PGVtPnN1bW1hcnk8L2VtPiAtIEt1cnpiZXNjaHJlaWJ1bmcgZGVyIGhvY2hnZWxhZGVuZW4gRGF0ZWkgKGthbm4gbGVlciBzZWluKTwvZW0+PC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIGRpZSBsYW5nZSBCZXNjaHJlaWJ1bmcgZGVyIGhvY2hnZWxhZGVuZW4gRGF0ZWkgKGthbm4gbGVlciBzZWluKTwvZW0+PC9saT4NCjxsaT48ZW0+YXV0aG9yPC9lbT4gLSBBdXRvciBkZXIgaG9jaGdlbGFkZW5lbiBEYXRlaSAoZmFsbHMgdmVyZiZ1dW1sO2diYXIpPC9lbT48L2xpPg0KPGxpPjxlbT5pcF9hZGRyZXNzPC9lbT4gLSBJbnRlcm5ldC1BZHJlc3NlIGRlcyBDbGllbnRzLCBkZXIgZGllIERhdGVpIGhvY2hnZWxhZGVuIGhhdDwvbGk+DQo8L3VsPic7CiRsYW5nWydpbmZvX2V2ZW50X29uZGVsZXRlY2F0ZWdvcnknXSA9ICdFcmVpZ25pcywgd2VubiBlaW5lIEthdGVnb3JpZSBnZWwmb3VtbDtzY2h0IHd1cmRlJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25jcmVhdGVjYXRlZ29yeSddID0gJ0VyZWlnbmlzLCB3ZW5uIGVpbmUgS2F0ZWdvcmllIGVyc3RlbGx0IHd1cmRlJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25kb3dubG9hZCddID0gJ0VyZWlnbmlzLCB3ZW5uIGVpbmUgRGF0ZWkgaGVydW50ZXIgZ2VsYWRlbiB3dXJkZSc7CiRsYW5nWydpbmZvX2V2ZW50X29udXBsb2FkJ10gPSAnRXJlaWduaXMsIHdlbm4gZWluZSBuZXVlIERhdGVpIGhvY2hnZWxhZGVuIHd1cmRlJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25yZW1vdmUnXSA9ICdFcmVpZ25pcywgd2VubiBlaW5lIERhdGVpIGVudGZlcm50IHd1cmRlJzsKJGxhbmdbJ3RpdGxlX3VzZXJ0YWdfb251cGxvYWQnXSA9ICdCZW51dHplcmRlZmluaWVydGVyIFRhZywgZGVyIGF1ZmdlcnVmZW4gd2lyZCwgd2VubiBkaWUgRGF0ZWkgdm9sbHN0JmF1bWw7bmRpZyBob2NoZ2VsYWRlbiBpc3QnOwokbGFuZ1snbm9uZSddID0gJ05pY2h0cyc7CiRsYW5nWydtYXRjaGVzZm91bmQnXSA9ICcmVXVtbDtiZXJlaW5zdGltbXVuZ2VuIGdlZnVuZGVuJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd0aXRsZV9yZWRpcmVjdG9udXBsb2FkJ10gPSAnRGVuIEJlbnV0emVyIG5hY2ggZGVtIEhvY2hsYWRlbiBlaW5lciBEYXRlaSBhdWYgZGllc2UgU2VpdGUgd2VpdGVybGVpdGVuIChJRC9BbGlhcyknOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMnOwokbGFuZ1snY29uZmlybV9wcmVmZXJlbmNlcyddID0gJ1dvbGxlbiBTaWUgd2lya2xpY2ggZGllIEVpbnN0ZWxsdW5nZW4gJmF1bWw7bmRlcm4/JzsKJGxhbmdbJ2Vycm9yX25vZmlsZXN1cGxvYWRlZCddID0gJ0VzIHd1cmRlbiBrZWluZSBEYXRlaWVuIGhvY2hnZWxhZGVuLic7CiRsYW5nWydwcm9tcHRfcmVwbGFjZSddID0gJyZVdW1sO2JlcnNjaHJlaWJlbiBlcmxhdWJlbic7CiRsYW5nWydpbmZvX3JlcGxhY2UnXSA9ICdEYXRlaWVuIG1pdCBkZW0gZ2xlaWNoZW4gTmFtZW4gZXJzZXR6ZW4gKG9obmUgJkF1bWw7bmRlcnVuZyBkZXIgSUQpJzsKJGxhbmdbJ3BhcmFtX25vX2luaXRpYWwnXSA9ICdLZWluZSBlaW5sZWl0ZW5kZW4gRXJnZWJuaXNzZSBhbnplaWdlbiwgd2VubiBkZXIgRmlsdGVyIGFrdGl2aWVydCBpc3QnOwokbGFuZ1sncGFyYW1fa2V5J10gPSAnRWluIHp1cyZhdW1sO3R6bGljaGVyIFNjaGwmdXVtbDtzc2VsIGYmdXVtbDtyIGRpZSBrJnV1bWw7bmZ0aWdlIFZlcndhbHR1bmcgdm9uIGhvY2hnZWxhZGVuZW4gRGF0ZWllbi4gRGllc2VyIFNjaGwmdXVtbDtzc2VsIGthbm4gZWluIGtvZGllcnRlciBTdHJpbmcgd2llIGV0d2E6ICYjMDM5O2ZldXNlcnM6dWlkJiMwMzk7IG9kZXIgJmF1bWw7aG5saWNoIHNlaW4ga2Fubi4gIERpZXNlciBQYXJhbWV0ZXIgd2lyZCBudXIgYmVuJm91bWw7dGlndCwgd2VubiBkYXMgVXBsb2Fkcy1Nb2R1bCBpbiBlaW5lbSBhbmRlcmVuIE1vZHVsIGVpbmdlYmV0dGV0IHdpcmQnOwokbGFuZ1sncGFyYW1fbm9hdXRob3InXSA9ICdWZXJiaXJndCBkYXMgRmVsZCBBdXRvciBpbSBGb3JtdWxhciB6dW0gSG9jaGxhZGVuLiBEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgbSZvdW1sO2dsaWNoLCB3ZW5uIGRlciBNb2R1cyAmIzAzOTt1cGxvYWQmIzAzOTsgaXN0LiBXZW5uIGRhcyBGcm9udGVuZFVzZXJzLU1vZHVsIGluc3RhbGxpZXJ0IHVuZCBlaW4gQmVudXR6ZXIgYWt0dWVsbCBhbmdlbWVsZGV0IGlzdCwgZW50aCZhdW1sO2x0IGRhcyB2ZXJib3JnZW5lIEZlbGQgZGVzc2VuIE5hbWVuJzsKJGxhbmdbJ3BhcmFtX3VwbG9hZF9pZCddID0gJ3VwbG9hZF9pZD0mcXVvdDtpZCZxdW90OyAtIGRlZmluaWVydCBlaW5lIGVpbnplbG5lIERhdGVpIGYmdXVtbDtyIGVpbmVuIExpbmsgb2RlciBmJnV1bWw7ciBkZW4gU2luZ2xlLU1vZHVzPC9saT4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdEaWUgVm9ybGFnZSBtaXQgZGllc2VtIE5hbWVuIGYmdXVtbDtyIGRlbiBkZXRhaWxpZXJ0ZW4gQmVyaWNodCB2ZXJ3ZW5kZW4uJzsKJGxhbmdbJ3BhcmFtX3RlbXBsYXRlJ10gPSAnVmVyd2VuZGV0IGRpZSBWb3JsYWdlIG1pdCBkaWVzZW0gTmFtZW4gZiZ1dW1sO3IgZGllc2VuIEJlcmljaHQgYnp3LiBkYXMgRm9ybXVsYXIuIERpZXNlcyBUZW1wbGF0ZSBydWZ0IGVudHNwcmVjaGVuZCBkZW0gZmVzdGdlbGVndGVuIE1vZHVzIGF1dG9tYXRpc2NoIGVpbiB3ZWl0ZXJlcyBUZW1wbGF0ZSBtaXQgZGVtIHZvcmdlZ2ViZW5lbiBOYW1lbiBhdWYnOwokbGFuZ1sncGFyYW1fZmlsdGVyJ10gPSAnRGFzIEZpbHRlci1Gb3JtdWxhciBhbnplaWdlbiAoZmFsbHMgZGllc2VyIFBhcmFtZXRlciBhdWYgaXJnZW5kIGVpbmVuIFdlcnQgZ2VzZXR6dCB3dXJkZSknOwokbGFuZ1sncGFyYW1fbm9faW50aXRpYWwnXSA9ICdJc3QgbnVyIG4mdXVtbDt0emxpY2gsIHdlbm4gZGVyIEZpbHRlci1QYXJhbWV0ZXIgZ2VzZXR6dCB3dXJkZS4gU3RhbmRhcmRtJmF1bWw7JnN6bGlnO2lnIHplaWd0IGRpZXNlciBQYXJhbWV0ZXIgYW4sIHdlbGNoZSBlaW5sZWl0ZW5kZW4gRXJnZWJuaXNzZSB6dXImdXVtbDtja2dlZ2ViZW4gd2VyZGVuIHNvbGxlbi4nOwokbGFuZ1sncGFyYW1fZmlsZXR5cGVzJ10gPSAnWmVpZ3QgbnVyIERhdGVpZW4gYW4sIGRlcmVuIFR5cCBpbiBkZXIgbWl0IEtvbW1hdGEgZ2V0cmVubnRlbiBMaXN0ZSBhdWZnZWYmdXVtbDtocnQgaXN0JzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJzxwPlNvcnRpZXJyZWloZW5mb2xnZQ0KICA8dWw+DQogIDxsaT48ZW0+ZGF0ZV9hc2M8L2VtPiAtIHNvcnRpZXJ0IGF1ZnN0ZWlnZW5kIG5hY2ggRGF0dW08L2xpPg0KICA8bGk+PGVtPmRhdGVfZGVzYzwvZW0+IC0gc29ydGllcnQgYWJzdGVpZ2VuZCBuYWNoIERhdHVtPC9saT4NCiAgPGxpPjxlbT5uYW1lX2FzYzwvZW0+IC0gc29ydGllcnQgYXVmc3RlaWdlbmQgbmFjaCBOYW1lPC9saT4NCiAgPGxpPjxlbT5uYW1lX2Rlc2M8L2VtPiAtIHNvcnRpZXJ0IGFic3RlaWdlbmQgbmFjaCBOYW1lPC9saT4NCiAgPGxpPjxlbT5zaXplX2FzYzwvZW0+IC0gc29ydGllcnQgYXVmc3RlaWdlbmQgbmFjaCBHciZvdW1sOyZzemxpZztlPC9saT4NCiAgPGxpPjxlbT5zaXplX2Rlc2M8L2VtPiAtIHNvcnRpZXJ0IGFic3RlaWdlbmQgbmFjaCBHciZvdW1sOyZzemxpZztlPC9saT4NCiAgPGxpPjxlbT5hdXRob3JfYXNjPC9lbT4gLSBzb3J0aWVydCBhdWZzdGVpZ2VuZCBuYWNoIEF1dG9yPC9saT4NCiAgPGxpPjxlbT5hdXRob3JfZGVzYzwvZW0+IC0gc29ydGllcnQgYWJzdGVpZ2VuZCBuYWNoIEF1dG9yPC9saT4NCiAgPGxpPjxlbT5pcF9hc2M8L2VtPiAtICBzb3J0aWVydCBhdWZzdGVpZ2VuZCBuYWNoIGRlciBJUC1BZHJlc3NlPC9saT4NCiAgPGxpPjxlbT5pcF9kZXNjPC9lbT4gLSBzb3J0aWVydCBhYnN0ZWlnZW5kIG5hY2ggZGVyIElQLUFkcmVzc2U8L2xpPg0KICA8bGk+PGVtPmRlc2NfYXNjPC9lbT4gLSBzb3J0aWVydCBhdWZzdGVpZ2VuZCBuYWNoIEJlc2NocmVpYnVuZzwvbGk+DQogIDxsaT48ZW0+ZGVzY19kZXNjPC9lbT4gLSBzb3J0aWVydCBhYnN0ZWlnZW5kIG5hY2ggQmVzY2hyZWlidW5nPC9saT4NCiAgPGxpPjxlbT5kb3dubG9hZHNfYXNjPC9lbT4gLSBzb3J0aWVydCBhdWZzdGVpZ2VuZCBuYWNoIERvd25sb2FkLVomYXVtbDtobGVyLjwvbGk+DQogIDxsaT48ZW0+ZG93bmxvYWRzX2Rlc2M8L2VtPiAtIHNvcnRpZXJ0IGFic3RlaWdlbmQgbmFjaCBEb3dubG9hZC1aJmF1bWw7aGxlci48L2xpPg0KICA8bGk+PGVtPnJhbmRvbTwvZW0+IC0genVmJmF1bWw7bGxpZ2UgUmVpaGVuZm9sZ2U8L2xpPg0KICA8L3VsPg0KICA8L3A+JzsKJGxhbmdbJ3BhcmFtX2xpc3Rpbmd0ZW1wbGF0ZSddID0gJ0RhcyBUZW1wbGF0ZSwgd2VsY2hlcyBmJnV1bWw7ciBkaWUgS2F0ZWdvcmllbGlzdGUgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLCBuYWNoZGVtIGRpZSBLYXRlZ29yaWUtWnVzYW1tZW5mYXNzdW5nc3NlaXRlIGdla2xpY2t0IHd1cmRlJzsKJGxhbmdbJ3BhcmFtX2xpc3Rpbmdzb3J0b3JkZXInXSA9ICdEaWUgU29ydGllcnJlaWhlbmZvbGdlIChzaWVoZSBwYXJhbV9zb3J0b3JkZXIpLCBkaWUgZiZ1dW1sO3IgZGllIEthdGVnb3JpZWxpc3RlIHZlcndlbmRldCB3ZXJkZW4gc29sbCwgbmFjaGRlbSBkaWUgS2F0ZWdvcmllbi1adXNhbW1lbmZhc3N1bmdzc2VpdGUgZ2VrbGlja3Qgd3VyZGUnOwokbGFuZ1sncGFyYW1fZmlsZWV4dGVuc2lvbnMnXSA9ICdmaWxlX2V4dGVuc2lvbnM9JnF1b3Q7ZXh0MSxleHQyLGV4dDMmcXVvdDsNCjxwPklzdCBudXIgZyZ1dW1sO2x0aWcsIHdlbm4gZGVyIFBhcmFtZXRlciBtb2RlPXVwbG9hZCBpc3QuIERpZXNlciBQYXJhbWV0ZXIgbGVndCBkaWUgRGF0ZWl0eXBlbiBmZXN0LCBkaWUgaG9jaGdlbGFkZW4gd2VyZGVuIGQmdXVtbDtyZmVuLiAgRGllIFZvcmVpbnN0ZWxsdW5nZW4gZGVzIE1vZHVscyB3ZXJkZW4gZGFiZWkgJnV1bWw7YmVyc2NocmllYmVuLjwvcD4nOwokbGFuZ1sncGFyYW1fY291bnQnXSA9ICdjb3VudD0mcXVvdDtOJnF1b3Q7DQo8cD5FaW4gUGFyYW1ldGVyLCB1bSBudXIgZGllIGVyc3RlbiAmcXVvdDtOJnF1b3Q7IEVyZ2Vibmlzc2UgZWluZXIgQWJmcmFnZSBhdWZ6dWxpc3Rlbi4gRWluIFNlaXRlbnVtYnJ1Y2ggdyZhdW1sO3JlIHp3YXIgYmVzc2VyLCBhYmVyIGJpcyBkYWhpbiBnaWJ0cyBkaWVzZW4gVHJpY2suPC9wPic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ2NhdGVnb3J5PSZxdW90O25hbWUmcXVvdDsNCjxwPjxiPkhpbndlaXM6PC9iPiBjYXRlZ29yeSBrYW5uIGF1Y2ggZGVuIFdlcnQgJnF1b3Q7YWxsJnF1b3Q7IGhhYmVuLiBEYW5uIHdlcmRlbiBhbGxlIGhvY2hnZWxhZGVuZW4gRGF0ZWllbiBpbiBhbGxlbiA8ZW0+Z2VsaXN0ZXRlbjwvZW0+IEthdGVnb3JpZW4gYW5nZXplaWd0LjwvcD4nOwokbGFuZ1sncGFyYW1fbW9kZSddID0gJzx1bD4NCiAgPGxpPjxlbT5kZXRhaWxlZDwvZW0+IC0gemVpZ3QgZWluZSBkZXRhaWxsaWVydGUgTGlzdGUgYWxsZXIgRGF0ZWllbiBkaWVzZXIgS2F0ZWdvcmllPC9saT4NCiAgPGxpPjxlbT5zaW5nbGU8L2VtPiAtIHplaWd0IGVpbmVuIGRldGFpbGxpZXJ0ZW4gQmVyaWNodCAmdXVtbDtiZXIgZWluZSBiZXN0aW1tdGUsIGhvY2hnZWxhZGVuZSBEYXRlaTwvbGk+DQogIDxsaT48ZW0+dXBsb2FkPC9lbT4gLSB6ZWlndCBkZW4gQmVzdWNoZXJuIGRlciBXZWJzZWl0ZSBlaW4gRm9ybXVsYXIgenVtIEhvY2hsYWRlbiBlaW5lciBEYXRlaTwvbGk+DQogIDxsaT48ZW0+dXJsIDxpPm9kZXI8L2k+IGxpbms8L2VtPiAtIHplaWd0IGVpbmVuIExpbmsgenUgZWluZXIgRGF0ZWk8L2xpPg0KICA8bGk+PGVtPnN1bW1hcnk8L2VtPiAtIHplaWd0IGVpbmUgenVzYW1tZW5nZWZhc3N0ZSBMaXN0ZSBhbGxlciBEYXRlaWVuIGluIGRlciBhbmdlZ2ViZW5lbiBLYXRlZ29yaWU8L2xpPg0KICA8L3VsPic7CiRsYW5nWydwYXJhbV9zZWxlY3Rmb3JtJ10gPSAnSW0gJiMwMzk7c2VsZWN0JiMwMzk7LU1vZHVzIGVudGgmYXVtbDtsdCBkaWVzZXIgUGFyYW1ldGVyIGRpZSBGb3JtdWxhci1JRCBkZXMgJnV1bWw7YmVyZ2VvcmRuZXRlbiBGb3JtdWxhcnMuIEthbm4gdmVyd2VuZGV0IHdlcmRlbiwgdW0gYmVzdGltbXRlIFBhcmFtZXRlciB3ZWl0ZXJ6dWdlYmVuLic7CiRsYW5nWydwYXJhbV9zZWxlY3RuYW1lJ10gPSAnSW0gJiMwMzk7c2VsZWN0JiMwMzk7LU1vZHVzIGthbm4gbWl0IGRpZXNlbSBQYXJhbWV0ZXIgZGVyIE5hbWVzIGRlcyBGZWxkZXMgZmVzdGdlbGVndCB3ZXJkZW4uJzsKJGxhbmdbJ3BhcmFtX3NlbGVjdHZhbHVlJ10gPSAnSW0gJiMwMzk7c2VsZWN0JiMwMzk7LU1vZHVzIGthbm4gbWl0IGRpZXNlbSBQYXJhbWV0ZXIgZGVyIHZvcmVpbmdlc3RlbGx0ZSBXZXJ0IGRlcyBGZWxkZXMgZmVzdGdlbGVndCB3ZXJkZW4uJzsKJGxhbmdbJ3BhcmFtX3NlbGVjdG5vbmUnXSA9ICdJbSAmIzAzOTtzZWxlY3QmIzAzOTstTW9kdXMga2FubiBtaXQgZGllc2VtIFBhcmFtZXRlciBmZXN0Z2VsZWd0IHdlcmRlbiwgb2IgJiMwMzk7bm9uZSYjMDM5OyBlaW5lIGcmdXVtbDtsdGlnZSBBdXN3YWhsIGlzdC4nOwokbGFuZ1sncmV0dXJudG9tb2R1bGUnXSA9ICdadXImdXVtbDtjayB6dXIgTW9kdWxvYmVyZmwmYXVtbDtjaGUnOwokbGFuZ1snZXJyb3Jfbm9jYXRlZ29yaWVzJ10gPSAnRXMgd3VyZGVuIGtlaW5lIEthdGVnb3JpZW4gZGVmaW5pZXJ0Lic7CiRsYW5nWyd0aXRsZV9lbmZvcmNlZXh0ZW5zaW9ucyddID0gJ0VyZm9yZGVydCBOYW1lbnNlcndlaXRlcnVuZ2VuIGYmdXVtbDtyIGFsbGUgaG9jaGdlbGFkZW5lbiBEYXRlaWVuJzsKJGxhbmdbJ3Jlc3RvcmVkZWZhdWx0c2NvbmZpcm0nXSA9ICdEaWVzIHNldHp0IGRhcyBUZW1wbGF0ZSBhdWYgZGllIHByb2dyYW1tc2VpdGlnZSBWb3JlaW5zdGVsbHVuZyB6dXImdXVtbDtjay4gQWxsZSAmQXVtbDtuZGVydW5nZW4gZ2VoZW4gZGFiZWkgdmVybG9yZW4uIFdvbGxlbiBTaWUgZGFzIHdpcmtsaWNoPyc7CiRsYW5nWyd0aHVtYm5haWwnXSA9ICdWb3JzY2hhdWJpbGQnOwokbGFuZ1snbmV3dGh1bWJuYWlsJ10gPSAnRWluIG5ldWVzIFZvcnNjaGF1YmlsZCBob2NobGFkZW4nOwokbGFuZ1snaW5mb19zdW1tYXJ5J10gPSAnRWluZSBrdXJ6ZSBCZXNjaHJlaWJ1bmcgZGVyIERhdGVpICh3aXJkIGRpZXMgbGVlciBnZWxhc3Nlbiwgd2lyZCBkZXIgRGF0ZWluYW1lIG9obmUgRXJ3ZWl0ZXJ1bmcgdmVyd2VuZGV0KSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5bmFtZSddID0gJ0VpbiBrdXJ6ZXIgTmFtZSBmJnV1bWw7ciBJaHJlIEthdGVnb3JpZSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5ZGVzYyddID0gJ0VpbmUgQmVzY2hyZWlidW5nIElocmVyIEthdGVnb3JpZSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5cGF0aCddID0gJ0RhcyBVbnRlcnZlcnplaWNobmlzIGltIFZlcnplaWNobmlzIC91cGxvYWRzLCB3ZWxjaGVzIGYmdXVtbDtyIGRpZSBTcGVpY2hlcnVuZyBkZXIgRGF0ZWllbiBkaWVzZXIgS2F0ZWdvcmllIHZlcndlbmRldCB3ZXJkZW4gc29sbC4gRmFsbHMgZGllc2VzIFZlcnplaWNobmlzIG5vY2ggbmljaHQgZXhpc3RpZXJ0LCB3aXJkIGVzIGVyemV1Z3QuJzsKJGxhbmdbJ2luZm9fZGVzdG5hbWUnXSA9ICdWZXJ3ZW5kZW4gU2llIGRhcyBGZWxkICZiZHF1bztIb2NobGFkZW4gYWxzJmxkcXVvOywgdW0gZGVuIE5hbWVuIGRlciBob2NoZ2VsYWRlbmVuIERhdGVpIHp1IHZlciZhdW1sO25kZXJuLiBPaG5lIFZvcmdhYmUgd2lyZCBkZXIgRGF0ZWluYW1lIG5pY2h0IHZlciZhdW1sO25kZXJ0Lic7CiRsYW5nWydlcnJvcl9jYW50Y3JlYXRlZGlyZWN0b3J5J10gPSAnRGFzIFZlcnplaWNobmlzIGtvbm50ZSBuaWNodCBlcnN0ZWxsdCB3ZXJkZW4uJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnRGllIFZlcmJpbmR1bmcgenVtIENNU01haWxlci1Nb2R1bCBrb25udGUgbmljaHQgaGVyZ2VzdGVsbHQgd2VyZGVuLic7CiRsYW5nWyd1cGxvYWRfbm90aWZpY2F0aW9uJ10gPSAnRXMgd3VyZGUgZWluZSBuZXVlIERhdGVpIGhvY2hnZWxhZGVuLic7CiRsYW5nWyd0aXRsZV9lbWFpbF9vbl91cGxvYWQnXSA9ICdEaWUgQmVuYWNocmljaHRpZ3VuZyAmdXVtbDtiZXIgZWluZSBob2NoZ2VsYWRlbmUgRGF0ZWkgc2VuZGVuIGFuOic7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZSddID0gJ0UtTWFpbC1Wb3JsYWdlJzsKJGxhbmdbJ3RpdGxlX2R1bW15X2luZGV4X2h0bWwnXSA9ICdTb2xsIGluIGplZGVtIFZlcnplaWNobmlzIGVpbmUgRHVtbXktaW5kZXguaHRtbC1EYXRlaSBlcnN0ZWxsdCB3ZXJkZW4/PGJyLz48ZW0+QmVyZWl0cyBleGlzdGllcmVuZGUgaW5kZXguaHRtbC1EYXRlaWVuIGJsZWliZW4gZXJoYWx0ZW48L2VtPic7CiRsYW5nWydhYm91dCddID0gJyZVdW1sO2Jlcic7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnWnVncmlmZiB2ZXJ3ZWlnZXJ0LiBCaXR0ZSBwciZ1dW1sO2ZlbiBTaWUgSWhyZSBCZXJlY2h0aWd1bmdlbi4nOwokbGFuZ1snZXJyb3JfY291bGRub3R3cml0ZSddID0gJ0tvbm50ZSBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4nOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdLYXRlZ29yaWUgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FsbCddID0gJ0FsbGUnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1dvbGxlbiBTaWUgZGFzIHdpcmtsaWNoPyc7CiRsYW5nWydhdXRob3InXSA9ICdBdXRvcic7CiRsYW5nWydjYW5jZWwnXSA9ICdBYmJyZWNoZW4nOwokbGFuZ1snY2Fubm90bW9kaWZ5cGF0aCddID0gJyhEZXIgUGZhZCBrb25udGUgbmljaHQgZ2UmYXVtbDtuZGVydCB3ZXJkZW4uKSc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvcmllbic7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpZSc7CiRsYW5nWydtZXNzYWdlX2NhdGVnb3J5YWRkZWQnXSA9ICdEaWUgS2F0ZWdvcmllIHd1cmRlIGVyZm9sZ3JlaWNoIGhpbnp1Z2VmJnV1bWw7Z3QuJzsKJGxhbmdbJ2RhdGUnXSA9ICdEYXR1bSc7CiRsYW5nWydkYXRldXBsb2FkZWQnXSA9ICdIb2NoZ2VsYWRlbiBhbSc7CiRsYW5nWydkZWZhdWx0J10gPSAnVm9yZWluc3RlbGx1bmdlbic7CiRsYW5nWydkZWxldGUnXSA9ICdMJm91bWw7c2NoZW4nOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdCZXNjaHJlaWJ1bmcnOwokbGFuZ1snZGVzdG5hbWUnXSA9ICdIb2NobGFkZW4gYWxzJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbHZvcmxhZ2VuJzsKJGxhbmdbJ2Rvd25sb2FkZWQnXSA9ICdEaWUgRGF0ZWkgJXMgd3VyZGUgaGVydW50ZXJnZWxhZGVuLic7CiRsYW5nWydkb3dubG9hZHMnXSA9ICdBbnphaGwgaGVydW50ZXJnZWxhZGVuJzsKJGxhbmdbJ2VkaXQnXSA9ICdCZWFyYmVpdGVuJzsKJGxhbmdbJ2VkaXRjYXRlZ29yeSddID0gJ0thdGVnb3JpZSBiZWFyYmVpdGVuJzsKJGxhbmdbJ2VkaXR1cGxvYWQnXSA9ICdIb2NoZ2VsYWRlbmUgRGF0ZWkgYmVhcmJlaXRlbic7CiRsYW5nWydlcnJvciddID0gJ0ZlaGxlciEnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlMiddID0gJ0VzIGV4aXN0aWVydCBiZXJlaXRzIGVpbmUgS2F0ZWdvcmllLCBkaWUgZGllc2VuIFBmYWQgKCVzKSB2ZXJ3ZW5kZXQnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlJ10gPSAnRXMgZXhpc3RpZXJ0IGJlcmVpdHMgZWluZSBLYXRlZ29yaWUgbWl0IGRpZXNlbSBQZmFkLic7CiRsYW5nWydlcnJvcl9jYXRlZ29yeWV4aXN0czInXSA9ICdGZWhsZXI6IEVpbmUgS2F0ZWdvcmllIG1pdCBkZW0gTmFtZW4gJXMgZXhpc3RpZXJ0IGJlcmVpdHMnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlleGlzdHMnXSA9ICdGZWhsZXI6IERpZSBLYXRlZ29yaWUgZXhpc3RpZXJ0IGJlcmVpdHMnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlub3RlbXB0eSddID0gJ0ZlaGxlcjogRGllIEthdGVnb3JpZSBrYW5uIG5pY2h0IGdlbCZvdW1sO3NjaHQgd2VyZGVuLCBkYSBzaWUgbmljaHQgbGVlciBpc3QhJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90Zm91bmQnXSA9ICdGZWhsZXI6IEthdGVnb3JpZSB3dXJkZSBuaWNodCBnZWZ1bmRlbiEnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGVuYmFua2ZlaGxlcic7CiRsYW5nWydlcnJvcl9lbXB0eWNhdGVnb3J5J10gPSAnRmVobGVyOiBLYXRlZ29yaWUtRmVsZCBpc3QgbGVlciEnOwokbGFuZ1snZXJyb3JfZW1wdHlwYXRoJ10gPSAnRmVobGVyOiBQZmFkIGlzdCBsZWVyISc7CiRsYW5nWydlcnJvcl9maWxlZXhpc3RzJ10gPSAnRmVobGVyOiBEaWUgRGF0ZWkgJXMgZXhpc3RpZXJ0IGJlcmVpdHMuJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0ZlaGxlcjogRGllIERhdGVpICVzIHd1cmRlIG5pY2h0IGdlZnVuZGVuLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdGZWhsZXI6IERhcyBNb2R1bCB3dXJkZSBtaXQgbmljaHQgYXVzcmVpY2hlbmRlbiBQYXJhbWV0ZXJuIGF1ZmdlcnVmZW4hIDxici8+RGVyIGZlaGxlbmRlIFBhcmFtZXRlciBpc3Q6ICVzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRhdXRob3InXSA9ICdGZWhsZXI6IEF1dG9yIGlzdCB1bmcmdXVtbDtsdGlnIChvZGVyIGxlZXIpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkY2F0ZWdvcnknXSA9ICdGZWhsZXI6IEthdGVnb3JpZSBpc3QgdW5nJnV1bWw7bHRpZyAob2RlciBsZWVyKS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGRlc2NyaXB0aW9uJ10gPSAnRmVobGVyOiBCZXNjaHJlaWJ1bmcgaXN0IHVuZyZ1dW1sO2x0aWcgKG9kZXIgbGVlcikuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRmaWxlJ10gPSAnRmVobGVyOiBEYXRlaW5hbWUgaXN0IHVuZyZ1dW1sO2x0aWcgKG9kZXIgbGVlcikuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1cGxvYWRmaWxlbmFtZSddID0gJ0ZlaGxlcjogRGF0ZWllbiBtaXQgZGllc2VyIE5hbWVuc2Vyd2VpdGVydW5nIHNpbmQgbmljaHQgZXJsYXVidCAoJXMpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkaWQnXSA9ICdGZWhsZXI6IFVuZyZ1dW1sO2x0aWdlIElEJzsKJGxhbmdbJ2Vycm9yX25vZmlsZXMnXSA9ICdGZWhsZXI6IEtlaW5lIGVudHNwcmVjaGVuZGVuIERhdGVpZW4hJzsKJGxhbmdbJ2ZpbGVzJ10gPSAnRGF0ZWllbic7CiRsYW5nWydmaXhtZSddID0gJ0xlZXJ6ZWljaGVuIGVudGZlcm5lbic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdEYXRlaWVuIChVcGxvYWRzLU1vZHVsKSc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsIHd1cmRlIGluIFZlcnNpb24gJXMgd3VyZGUgaW5zdGFsbGllcnQuJzsKJGxhbmdbJ2lwX2FkZHJlc3MnXSA9ICdJUC1BZHJlc3NlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRWluIE1vZHVsLCB3ZWxjaGVzIGRlbiBCZW51dHplcm4gZGFzIEhvY2hsYWRlbiB1bmQgZGFzIFZlcndhbHRlbiB2b24gRGF0ZWllbiBlcm0mb3VtbDtnbGljaHQuJzsKJGxhbmdbJ25hbWUnXSA9ICdOYW1lJzsKJGxhbmdbJ3JlbmFtZW1lc3NhZ2UnXSA9ICcmQXVtbDtuZGVybiBTaWUgaGllciBkZW4gTmFtZW4sIHVtIGRpZSBEYXRlaSB1bXp1YmVuZW5uZW4nOwokbGFuZ1sncGF0aCddID0gJ1BmYWQnOwokbGFuZ1sncGF0aG1lc3NhZ2UnXSA9ICcmQXVtbDtuZGVybiBTaWUgaGllciBkaWUgS2F0ZWdvcmllLCB1bSBkaWUgRGF0ZWkgaW4gZWluIGFuZGVyZXMgVmVyemVpY2huaXMgenUgdmVyc2NoaWViZW4uJzsKJGxhbmdbJ3BhdGhpbnVwbG9hZHMnXSA9ICcocmVsYXRpdiB6dW0gL3VwbG9hZHMgVmVyemVpY2huaXMpJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnPHA+RGFzIFVwbG9hZHMtTW9kdWwgd3VyZGUgZXJmb2xncmVpY2ggaW5zdGFsbGllcnQuIFN0ZWxsZW4gU2llIHNpY2hlciwgZGFzcyB6dXIgVmVyd2VuZHVuZyBkaWVzZXMgTW9kdWxzIGRpZSBCZXJlY2h0aWd1bmcgJnF1b3Q7TWFuYWdlIFVwbG9hZHMmcXVvdDsgZ2VzZXR6dCB3dXJkZSE8L3A+DQo8cD48c3Ryb25nPkFjaHR1bmc8L3N0cm9uZz4gLSBEaWUgRnVua3Rpb25zZiZhdW1sO2hpZ2tlaXQgZGllc2VzIE1vZHVscyBpc3Qgdm9uIHZlcnNjaGllZGVuZW4gV2VydGVuIElocmVyIFBIUC1Lb25maWd1cmF0aW9uIHdpZSB6dW0gQmVpc3BpZWwgcGhwJiMwMzk7cyBtZW1vcnlfbGltaXQsIHNhZmVfbW9kZSwgZmlsZV91cGxvYWRzLCB1cGxvYWRzX21heF9maWxlc2l6ZSB1bmQgbWF4X2V4ZWN1dGlvbl90aW1lIGFiaCZhdW1sO25naWcuIFVudGVyIFVtc3QmYXVtbDtuZGVuIG0mdXVtbDtzc2VuIGRpZXNlIFdlcnRlIGYmdXVtbDtyIGRpZSBGdW5rdGlvbnNmJmF1bWw7aGlna2VpdCBkaWVzZXMgTW9kdWxzIGFuZ2VwYXNzdCB3ZXJkZW4uIFNpZSBzb2xsdGVuIGRhaGVyIGdlZ2ViZW5lbmZhbGxzIEtvbnRha3QgbWl0IElocmVtIFByb3ZpZGVyIGF1Zm5laG1lbiwgdW0gZGllc2UgRWluc3RlbGx1bmdlbiBlbnRzcHJlY2hlbmQgSWhyZW4gQmVkJnV1bWw7cmZuaXNzZW4gYW56dXBhc3Nlbi48L3A+JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdEYXMgVXBsb2Fkcy1Nb2R1bCB3dXJkZSBlbnRmZXJudC4gRXMgd3VyZGVuIGtlaW5lIERhdGVpZW4gYXVzIGRlbSAvdXBsb2Fkcy1WZXJ6ZWljaG5pcyBlbnRmZXJudCBvZGVyIGJlc2NoJmF1bWw7ZGlndC4nOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdFaW5zdGVsbHVuZ2VuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ0RpZSBNb2R1bGVpbnN0ZWxsdW5nZW4gd3VyZGVuIGFrdHVhbGlzaWVydC4nOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5ZGVzYyddID0gJ0Jlc2NocmVpYnVuZyc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlsaXN0YWJsZSddID0gJ0RpZSBEYXRlaWVuIGluIGRpZXNlbSBWZXJ6ZWljaG5pcyBrJm91bWw7bm5lbiBhbmdlemVpZ3Qgd2VyZGVuJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeW5hbWUnXSA9ICdOYW1lIGRlciBLYXRlZ29yaWUnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5cGF0aCddID0gJ1NlcnZlcnBmYWQnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZWRpcmVjdG9yeSddID0gJ0thdGVnb3JpZXZlcnplaWNobmlzIGwmb3VtbDtzY2hlbj8nOwokbGFuZ1sncHJvbXB0X21heF91cGxvYWRzaXplJ10gPSAnTWF4aW1hbCBlcmxhdWJ0ZSBEYXRlaWdyJm91bWw7JnN6bGlnO2UgKEtCKSc7CiRsYW5nWydwcm9tcHRfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ0cmdXVtbDtsdGlnZSBEYXRlaWVuZHVuZ2VuJzsKJGxhbmdbJ3NjYW4nXSA9ICdQciZ1dW1sO2Zlbic7CiRsYW5nWydzZWxlY3RjYXRlZ29yeSddID0gJ0thdGVnb3JpZSBhdXN3JmF1bWw7aGxlbic7CiRsYW5nWydzaXplJ10gPSAnR3Imb3VtbDsmc3psaWc7ZSc7CiRsYW5nWydzaXpla2InXSA9ICdHciZvdW1sOyZzemxpZztlIChLQiknOwokbGFuZ1snc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1snc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1p1c2FtbWVuZmFzc3VuZ3N2b3JsYWdlbic7CiRsYW5nWydzdW1tYXJ5J10gPSAnWnVzYW1tZW5mYXNzdW5nJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnVXBsb2Fkcy1Nb2R1bCc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bC1BZG1pbmlzdHJhdGlvbic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGVpbnN0ZWxsdW5nZW4nOwokbGFuZ1sndGl0bGVfc3VibmV0X2V4Y2x1c2lvbnMnXSA9ICdTdWJuZXRzIHZvbiBkZXIgU3RhdGlzdGlrIGF1c3NjaGxpZSZzemxpZztlbic7CiRsYW5nWyd0aXRsZV92YWxpZF91cGxvYWRleHRlbnNpb25zJ10gPSAnRyZ1dW1sO2x0aWdlIE5hbWVuc2Vyd2VpdGVydW5nZW4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bCB3dXJkZSBkZWluc3RhbGxpZXJ0Lic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIHd1cmRlIGF1ZiBWZXJzaW9uICVzIGFrdHVhbGlzaWVydC4nOwokbGFuZ1sndXBsb2FkJ10gPSAnSG9jaGxhZGVuJzsKJGxhbmdbJ3VwbG9hZGVkJ10gPSAnRGllIERhdGVpICVzIHd1cmRlIHZvbiAlcyBob2NoZ2VsYWRlbi4nOwokbGFuZ1sncmVwbGFjZWQnXSA9ICdEaWUgRGF0ZWkgJXMgd3VyZGUgZHVyY2ggJXMgZXJzZXR6dC4nOwokbGFuZ1snZGVsZXRlZCddID0gJ0RpZSBEYXRlaSAlcyB3dXJkZSBnZWwmb3VtbDtzY2h0Lic7CiRsYW5nWyd1cGxvYWRmb3JtX3RlbXBsYXRlJ10gPSAnVXBsb2FkLVZvcmxhZ2VuJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQmVudXR6ZXJuYW1lJzsKJGxhbmdbJ3dhcm5pbmdfZGVsZXRlY2F0ZWdvcnknXSA9ICdXQVJOVU5HOiBTZWllbiBTaWUgdm9yc2ljaHRpZywgd2VubiBTaWUgS2F0ZWdvcmllbiBsJm91bWw7c2NoZW4uIERpZSBEYXRlaWVuIGsmb3VtbDtubmVuIGRhYmVpIHZlcmxvcmVuIGdlaGVuLic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4MjA0MzI0NzkuMTM5MjI3ODgyMi4xMzkyMjc4ODIyLjEzOTI3MjYzMDguMic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzOTIyNzg4MjIuMS4xLnV0bWNzcj0oZGlyZWN0KXx1dG1jY249KGRpcmVjdCl8dXRtY21kPShub25lKSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2luZm9fY2F0ZWdvcnlkZWxldGFibGUnXSA9ICdBdXRob3JpemVkIHVzZXJzIHdpbGwgaGF2ZSBwZXJtaXNzaW9uIHRvIGRlbGV0ZSB0aGVzZSBmaWxlcy4gIFRoaXMgbWVhbnMgdGhhdCBhIHVybCB3aWxsIGJlIHByb3ZpZGVkIGluIHRoZSBhcHByb3ByaWF0ZSB0ZW1wbGF0ZXMgdG8gYWxsb3cgZGVsZXRpbmcgb2YgdGhlIGZpbGUuICBBIHdlYnNpdGUgZGV2ZWxvcGVyIGNhbiB1c2UgYXBwcm9wcmlhdGUgc21hcnR5IGxvZ2ljIHRvIHNob3cgYSBsaW5rIHRvIGF1dGhvcml6ZWQgdXNlcnMuJzsKJGxhbmdbJ2NvcHlfZmlsZXMnXSA9ICdDb3B5IEZpbGVzJzsKJGxhbmdbJ2Vycm9yX2ZpbGV0b29sYXJnZSddID0gJ1RoZSBmaWxlIHlvdSBhdHRlbXB0ZWQgdG8gdXBsb2FkZSBpcyBsYXJnZXIgdGhhbiB0aGUgQ01TTVMgbWF4aW11bSB1cGxvYWQgZmlsZSBzaXplJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlY2F0ZWdvcnknXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgY2F0ZWdvcnk/JzsKJGxhbmdbJ2Vycm9yX2RlbGV0ZSddID0gJ0FuIGl0ZW0gY291bmQgbm90IGJlIGRlbGV0ZWQgKCVzKSc7CiRsYW5nWydjb25maXJtX2NhdF9tdWx0aWFjdGlvbiddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBwZXJmb3JtIHRoaXMgYWN0aW9uIG9uIHRoZSBzZWxlY3RlZCBjYXRlZ29yaWVzPyc7CiRsYW5nWydlcnJvcl9ub3RoaW5nX3NlbGVjdGVkJ10gPSAnRXJyb3I6IE5vdGhpbmcgc2VsZWN0ZWQnOwokbGFuZ1snd2l0aF9zZWxlY3RlZCddID0gJ1dpdGggU2VsZWN0ZWQ6JzsKJGxhbmdbJ2Vycm9yX3JlcGxhY2VfbWlzbWF0Y2hlZF9maWxlZXh0J10gPSAnV2hlbiByZXBsYWNpbmcgYSBmaWxlLCB5b3UgbXVzdCB1cGxvYWQgYSBmaWxlIG9mIHRoZSBzYW1lIGV4YWN0IHR5cGUgKGJ5IGZpbGUgZXh0ZW5zaW9uKS4gIFRoZSBmaWxlIHlvdSBzZWxlY3RlZCBkb2VzIG5vdCBtYXRjaCB0aGF0IG9mIHRoZSBvcmlnaW5hbCBmaWxlLic7CiRsYW5nWydyZXBsYWNlJ10gPSAnUmVwbGFjZSc7CiRsYW5nWydpbmZvX3JlcGxhY2VmaWxlJ10gPSAnWW91IG1heSB1cGxvYWQgYSByZXBsYWNlbWVudCBmaWxlLCBpZiB0aGUgZmlsZSBpcyBhbiBpbWFnZSB0eXBlLCBhbmQgeW91IGhhdmUgbm90IHNwZWNpZmllZCBhIHJlcGxhY2VtZW50IHRodW1ibmFpbCwgYSBuZXcgdGh1bWJuYWlsIHdpbGwgYmUgZ2VuZXJhdGVkJzsKJGxhbmdbJ3Byb21wdF9yZXBsYWNlZmlsZSddID0gJ1VwbG9hZCByZXBsYWNlbWVudCBmaWxlJzsKJGxhbmdbJ3RpdGxlX2ZpeHNwYWNlcyddID0gJ0ZpeCBzcGFjZXMgaW4gdGhlIGZpbGVuYW1lJzsKJGxhbmdbJ2NhdGVnb3J5X2NvcGllZCddID0gJ0NhdGVnb3J5IHN1Y2Nlc3NmdWxseSBjb3BpZWQnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlcGF0aCddID0gJ1BsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG5hbWUgdGhhdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc291cmNlLCBhbmQgaXMgbm90IGFscmVhZHkgaW4gdXNlJzsKJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdPcGVyYXRpb24gQ2FuY2VsbGVkJzsKJGxhbmdbJ3NvdXJjZSddID0gJ1NvdXJjZSc7CiRsYW5nWydkZXN0aW5hdGlvbiddID0gJ0Rlc3RpbmF0aW9uJzsKJGxhbmdbJ3Byb21wdF9jb3B5X2ZpbGVzJ10gPSAnQ29weSBjYXRlZ29yeSBGaWxlcyc7CiRsYW5nWydpbmZvX2NvcHlfZmlsZXMnXSA9ICdDb3B5IHRoZSBmaWxlcyBmcm9tIHRoZSBzb3VyY2UgY2F0ZWdvcnkgdG8gdGhlIGRlc3RpbmF0aW9uIGNhdGVnb3J5JzsKJGxhbmdbJ2V4dHJhJ10gPSAnRXh0cmEnOwokbGFuZ1snY29weSddID0gJ0NvcHknOwokbGFuZ1snc2VsZWN0b25lJ10gPSAnU2VsZWN0IE9uZSc7CiRsYW5nWydhdXRvd2F0ZXJtYXJrJ10gPSAnQXV0b21hdGljYWxsIHBsYWNlIHdhdGVybWFya3Mgb24gaW1hZ2VzJzsKJGxhbmdbJ2ltYWdlX3NldHRpbmdzJ10gPSAnSW1hZ2UgU2V0dGluZ3MnOwokbGFuZ1sncHJvbXB0X2dldGZpbGVfcmVzdWx0cGFnZSddID0gJ1BhZ2UgdG8gdXNlIGZvciBlcnJvcnMgb3Igb3RoZXIgbWVzc2FnZXMgcmVsYXRlZCB0byBmaWxlIGRvd25sb2FkaW5nJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfa2V5J10gPSAnVGhlIHVwbG9hZCBrZXkgc3BlY2lmaWVkIGlzIGludmFsaWQgKG1heWJlIGl0IGhhcyByZWFjaGVkIGl0cyBtYXhpbXVtIGRvd25sb2FkIGNhcGFjaXR5IG9yIGhhcyBleHBpcmVkKSc7CiRsYW5nWydkZmx0X3RpbWVsaW1pdGVkX3N1YmplY3QnXSA9ICd7JHNpdGVuYW1lfSAtIFlvdSBoYXZlIGJlZW4gZ3JhbnRlZCBhY2Nlc3MgdG8geyRlbnRyeS0+dXBsb2FkX25hbWV8c3RyaXBfdGFnc30gZm9yIGEgbGltaXRlZCB0aW1lJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9zdWJqZWN0J10gPSAnU3ViamVjdCBmb3IgZW1haWwgY3JlYXRlZCB3aGVuIHNlbmRpbmcgYSB0aW1lIGxpbWl0ZWQgVVJMJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9hdXRvZGVsZXRlJ10gPSAnQXV0byBkZWxldGUgZXhwaXJlZCBlbnRyaWVzIGFmdGVyIE4gaG91cnMgPGVtPihzcGVjaWZ5IDAgdG8gZGlzYWJsZSBhdXRvZGVsZXRlKTwvZW0+Oic7CiRsYW5nWydwcm9tcHRfdGltZWxpbWl0ZWRfc2VuZGl0J10gPSAnU2VuZCB0aGlzIHVybCB0byB0aGUgZGVzaWduYXRlZCBlbWFpbCBhZGRyZXNzPyc7CiRsYW5nWyd1cmxfa2V5J10gPSAnVVJMIEtleSc7CiRsYW5nWydjcmVhdGVkJ10gPSAnQ3JlYXRlZCc7CiRsYW5nWydleHBpcmVzJ10gPSAnRXhwaXJlcyc7CiRsYW5nWydhZGRlZGl0X3RpbWVsaW1pdGVkX2tleSddID0gJ0FkZC9FZGl0IFRpbWUgTGltaXRlZCBLZXknOwokbGFuZ1sndGltZV9saW1pdGVkX2tleV9hZGRlZCddID0gJ1RpbWUgTGltaXRlZCBLZXkgQWRkZWQnOwokbGFuZ1snbnVtX2hvdXJzJ10gPSAnTnVtYmVyIG9mIEhvdXJzJzsKJGxhbmdbJ251bV9kb3dubG9hZHMnXSA9ICdOdW1iZXIgb2YgRG93bmxvYWRzJzsKJGxhbmdbJ2VtYWlsX2FkZHJlc3MnXSA9ICdFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfaW52YWxpZCddID0gJ0EgcmVxdWlyZWQgdmFsdWUgaXMgbWlzc2luZyBvciBpbnZhbGlkOiAlcyc7CiRsYW5nWydhZGRfdGltZWxpbWl0ZWRfa2V5J10gPSAnQWRkIFRpbWUgTGltaXRlZCBLZXknOwokbGFuZ1snZmlsZV9pbmZvMiddID0gJ0ZpbGUgJXMgKGlkPSVkKSc7CiRsYW5nWydpbmZvX3RpbWVsaW1pdGVkX2Rvd25sb2FkcyddID0gJ1NwZWNpZnkgdGhlIGRlZmF1bHQgbnVtYmVyIG9mIHRpbWVzIHRoYXQgYSBmaWxlIGlkZW50aWZpZWQgYnkgYSBwYXJ0aWN1bGFyIGtleSBjYW4gYmUgZG93bmxvYWRlZCc7CiRsYW5nWydwcm9tcHRfdGltZWxpbWl0ZWRfZG93bmxvYWRzJ10gPSAnRGVmYXVsdCBOdW1iZXIgb2YgRG93bmxvYWRzJzsKJGxhbmdbJ2luZm9fdGltZWxpbWl0ZWRfaG91cnMnXSA9ICdTcGVjaWZ5IHRoZSBkZWZhdWx0IG51bWJlciBvZiBob3VycyB0aGF0IGEgdGltZSBsaW1pdGVkIGtleSBpcyB2YWxpZCBmb3IuICBTcGVjaWZ5IDAgZm9yIHVubGltaXRlZCc7CiRsYW5nWydwcm9tcHRfdGltZWxpbWl0ZWRfaG91cnMnXSA9ICdOdW1iZXIgb2YgaG91cnMgYSBUaW1lIExpbWl0ZWQgS2V5IGlzIHZhbGlkIGZvcic7CiRsYW5nWyd0aW1lbGltaXRlZF91cmxfc2V0dGluZ3MnXSA9ICdUaW1lIExpbWl0ZWQgS2V5IFNldHRpbmdzJzsKJGxhbmdbJ21hbmFnZV90aW1lbGltaXRlZCddID0gJ01hbmFnZSBUaW1lIExpbWl0ZWQgQWNjZXNzJzsKJGxhbmdbJ3VwbG9hZGluZ19zZXR0aW5ncyddID0gJ0ZpbGUgVXBsb2FkIFNldHRpbmdzJzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdHZW5lcmFsIFNldHRpbmdzJzsKJGxhbmdbJ3RodW1ibmFpbF9zZXR0aW5ncyddID0gJ1RodW1ibmFpbCBHZW5lcmF0aW9uJzsKJGxhbmdbJ3RpdGxlX3JlZGlyZWN0X29uX3NlbmRmaWxlJ10gPSAnUGFnZSB0byByZWRpcmVjdCB0byBhZnRlciBzZW5kaW5nIGEgZmlsZSc7CiRsYW5nWydsYmxfYmFjayddID0gJ1RhZ2FzaSc7CiRsYW5nWydsYmxfdGVtcGxhdGVzJ10gPSAnTW9kaWZ5IFRlbXBsYXRlcyc7CiRsYW5nWydwcm9tcHRfcHVibGljX2ZpZWxkJ10gPSAnRmllbGQgaXMgcHVibGljIDxlbT4oY2FuIGJlIHZpZXdlZCBieSBzaXRlIHZpc2l0b3JzKTwvZW0+JzsKJGxhbmdbJ3VwbG9hZF9lZGl0ZWQnXSA9ICdGaWxlIERldGFpbHMgRWRpdGVkIG9uICVzJzsKJGxhbmdbJ2luZm9fdGh1bWJuYWlsJ10gPSAnVmFsaWt1bGluZSBwaXNpcGlsZGkgZmFpbCc7CiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ0xhZSB1dXMgZmFpbCAmdXVtbDtsZXMnOwokbGFuZ1snbXNnX2ZpZWxkX2RlbGV0ZWQnXSA9ICdWJmF1bWw7bGkga3VzdHV0YXR1ZCc7CiRsYW5nWydhc2tfZGVsZXRlX2ZpZWxkJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGZpZWxkIGRlZmluaXRpb24gYW5kIGFsbCBhc3NvY2lhdGVkIHZhbHVlcz8nOwokbGFuZ1sneWVzJ10gPSAnSmFoJzsKJGxhbmdbJ25vJ10gPSAnRWknOwokbGFuZ1sndHlwZSddID0gJ1QmdXVtbDsmdXVtbDtwJzsKJGxhbmdbJ2ZpZWxkdHlwZV9tdWx0aXNlbGVjdCddID0gJ011bHRpc2VsZWN0IExpc3QnOwokbGFuZ1snZmllbGR0eXBlX2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24gTGlzdCc7CiRsYW5nWydmaWVsZHR5cGVfY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydmaWVsZHR5cGVfdGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1snZmllbGR0eXBlX3RleHRpbnB1dCddID0gJ1RleHQgSW5wdXQnOwokbGFuZ1sncHJvbXB0X3VzZV93eXNpd3lnJ10gPSAnVXNlIHRoZSB3eXNpd3lnIHdoZW4gZWRpdGluZyB0aGUgdmFsdWUgZm9yIHRoaXMgZmllbGQnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfY29udGVudCddID0gJ0RlZmF1bHQgY29udGVudCBmb3IgdGV4dCBhcmVhJzsKJGxhbmdbJ3Byb21wdF9kcm9wZG93bl9vcHRpb25zJ10gPSAnT3B0aW9ucyAob25lIGVudHJ5IHBlciBsaW5lKSc7CiRsYW5nWydwcm9tcHRfZmllbGRfbWF4bGVuZ3RoJ10gPSAnViZhdW1sO2xqYSBtYWtzaW1hYWxuZSBwaWtrdXMnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX2xlbmd0aCddID0gJ1YmYXVtbDtsamEgcGlra3VzJzsKJGxhbmdbJ3Byb21wdF9maWVsZF90eXBlJ10gPSAnViZhdW1sO2xqYSB0JnV1bWw7JnV1bWw7cCc7CiRsYW5nWydwcm9tcHRfZmllbGRfbmFtZSddID0gJ1YmYXVtbDtsamEgbmltaSc7CiRsYW5nWyd0aXRsZV9hZGRfZmllbGQnXSA9ICdMaXNhIHYmb3RpbGRlO2kgbXV1ZGEgdiZhdW1sO2xqYSBkZWZpbml0c2lvb25pJzsKJGxhbmdbJ2ZpZWxkX2RlZmluaXRpb25zJ10gPSAnViZhdW1sO2xqYSBkZWZpbml0c2lvb24nOwokbGFuZ1sncHJvbXB0X2FkZF9maWVsZCddID0gJ0xpc2EgdiZhdW1sO2xqYSBkZWZpbml0c2lvb24nOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmaWVzIHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZSB0YWcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOiBkZWZhdWx0IC0gKHRoZSBkZWZhZmF1bHQgYmVoYXZpb3IpLCBkZXRhaWwgLSB0byBkaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgZmlsZSBiYXNlZCBvbiB0aGUgdXBsb2FkX2lkLCBhbmQgeW91c2VuZGl0IC0gdG8gZGlzcGxheSBhIGZvcm0gdG8gYWxsb3cgdXBsb2FkaW5nIGEgZmlsZSwgYW5kIHNlbmRpbmcgaXQgdG8gbnVtZXJvdXMgYWRkcmVzc2VzIGluIG9uZSBzdGVwJzsKJGxhbmdbJ3BhcmFtX3NlbmRmaWxlcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBzZW5kIGEgZmlsZSBmb3JtJzsKJGxhbmdbJ2ZpbGVfdXBsb2FkZWQnXSA9ICdGYWlsIGVkdWthbHQgJnV1bWw7bGVzIGxhZXR1ZCc7CiRsYW5nWyd0byddID0gJ1RvJzsKJGxhbmdbJ3RpdGxlX3lvdXNlbmRpdGZvcm1fdGVtcGxhdGUnXSA9ICdBZGQgb3IgRWRpdCBhICZxdW90O1lvdSBTZW5kIEl0JnF1b3Q7IEZvcm0gVGVtcGxhdGUnOwokbGFuZ1sneW91c2VuZGl0Zm9ybV90ZW1wbGF0ZSddID0gJ1lvdVNlbmRJdCBGb3JtIFRlbXBsYXRlcyc7CiRsYW5nWyd0aXRsZV95b3VzZW5kaXRmb3JtX3N5c2RlZmF1bHQnXSA9ICdTeXN0ZW0gZGVmYXVsdCAmcXVvdDt5b3Ugc2VuZCBpdCZxdW90OyB0ZW1wbGF0ZSc7CiRsYW5nWydtc2dfZmlsZV9zZW50J10gPSAnQSBtZXNzYWdlIGhhcyBiZWVuIHNlbnQgdG8gdGhlIHNlbGVjdGVkIGFkZHJlc3NlcyB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaWxlIGFuZCBob3cgdG8gcmV0cmlldmUgaXQuJzsKJGxhbmdbJ2Vycm9yX25vYWRkcmVzc2VzJ10gPSAnWW91IG11c3Qgc3VwcGx5IGF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiBhZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX25vc3ViamVjdCddID0gJ1lvdSBtdXN0IHN1cHBseSBhIHN1YmplY3QnOwokbGFuZ1snc3ViamVjdCddID0gJ1N1YmplY3QnOwokbGFuZ1sndGl0bGVfc2VuZGZpbGVwYWdlJ10gPSAnUGFnZSBmb3IgJnF1b3Q7U2VuZCBhIEZpbGUmcXVvdDsgZm9ybSc7CiRsYW5nWydmaWxlX2luZm8nXSA9ICdGaWxlIEluZm8nOwokbGFuZ1snc2VuZCddID0gJ1NlbmQnOwokbGFuZ1snbm90ZXMnXSA9ICdOb3Rlcyc7CiRsYW5nWydhZGRyZXNzZWVzJ10gPSAnU2VuZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGZpbGUgdG8nOwokbGFuZ1sncHJvbXB0X3NlbmRmaWxlX2VtYWlsX3RlbXBsYXRlJ10gPSAnJnF1b3Q7U2VuZCBhIEZpbGUmcXVvdDsgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGZpbGVmb3JtX3RlbXBsYXRlJ10gPSAnQWRkIG9yIEVkaXQgYSAmcXVvdDtTZW5kIGEgRmlsZSZxdW90OyBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ3NlbmRmaWxlZm9ybV90ZW1wbGF0ZSddID0gJyZxdW90O1NlbmQgYSBGaWxlJnF1b3Q7IEZvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ3Byb21wdF9ub3RpZnlfZW1haWxfdGVtcGxhdGUnXSA9ICdGaWxlIHVwbG9hZCBub3RpZmljYXRpb24gZW1haWwgdGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGZpbGVmb3JtX3N5c2RlZmF1bHQnXSA9ICdTeXN0ZW0gZGVmYXVsdCAmcXVvdDtTZW5kIGEgRmlsZSZxdW90OyBmb3JtIHRlbXBsYXRlJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeWRlbGV0YWJsZSddID0gJ0ZpbGVzIGluIHRoaXMgY2F0ZWdvcnkgY2FuIGJlIGRlbGV0ZWQnOwokbGFuZ1sndGl0bGVfYWxsb3dfZGVsZXRlJ10gPSAnQWxsb3cgZGVsZXRpb24gb2YgZmlsZXMgZnJvbSB0aGUgZnJvbnRlbmQnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdEZWZhdWx0IFRlbXBsYXRlcyc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICdFc2ltZW5lIGxlaHQnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICdFZWxtaW5lIGxlaHQnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICdKJmF1bWw7cmdtaW5lIGxlaHQnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICdWaWltYW5lIGxlaHQnOwokbGFuZ1snZmlyc3RwYWdlX2Fycm93J10gPSAnPDwnOwokbGFuZ1sncHJldnBhZ2VfYXJyb3cnXSA9ICc8JzsKJGxhbmdbJ25leHRwYWdlX2Fycm93J10gPSAnPic7CiRsYW5nWydsYXN0cGFnZV9hcnJvdyddID0gJz4+JzsKJGxhbmdbJ3BhZ2UnXSA9ICdMZWh0JzsKJGxhbmdbJ29mJ10gPSAnb2YnOwokbGFuZ1sncHJvbXB0X2dyb3VwbGlzdCddID0gJ0F1dGhvcml6ZWQgRkVVIEdyb3Vwcyc7CiRsYW5nWydpbmZvX2dyb3VwbGlzdCddID0gJ1NlbGVjdCB0aGUgRkVVIGdyb3VwcyB0aGF0IGFyZSBhbGxvd2VkIGFjY2VzcyB0byBmaWxlcyBpbiB0aGlzIGNhdGVnb3J5LiAgRGVzZWxlY3QgYWxsIGVudHJpZXMgdG8gYWxsb3cgYWxsIGFjY2Vzcyc7CiRsYW5nWyd0aXRsZV9zY2FuJ10gPSAnU2NhbiBmb3IgbmV3IGZpbGVzIGluIHRoaXMgY2F0ZWdvcnknOwokbGFuZ1sndGl0bGVfY3JlYXRlX3RodW1ibmFpbHMnXSA9ICdDcmVhdGUgbWlzc2luZyB0aHVtYm5haWxzIGZvciBmaWxlcyBpbiB0aGlzIGNhdGVnb3J5Lic7CiRsYW5nWydjcmVhdGVfdGh1bWJuYWlscyddID0gJ0xvbyBwaXNpcGlsZGlkJzsKJGxhbmdbJ3RpdGxlX2NyZWF0ZV90aHVtYm5haWwnXSA9ICcocmUpQ3JlYXRlIHRoZSB0aHVtYm5haWwgZm9yIHRoaXMgZmlsZSc7CiRsYW5nWydjcmVhdGVfdGh1bWJuYWlsJ10gPSAnTG9vIHBpc2lwaWx0JzsKJGxhbmdbJ2Vycm9yX3BhdGhlcnJvciddID0gJ0NvdWxkIG5vdCBvcGVuIGRpcmVjdG9yeSAocGVybWlzc2lvbnMgcHJvYmxlbT8pJzsKJGxhbmdbJ3RpdGxlX2Rvd25sb2FkX2NodW5rc2l6ZSddID0gJ1NpemUgb2YgZWFjaCBkb3dubG9hZCBjaHVuayc7CiRsYW5nWydpbmZvX2Rvd25sb2FkX2NodW5rc2l6ZSddID0gJ0FkanVzdGluZyB0aGlzIHBhcmFtZXRlciB3aWxsIGVmZmVjdCBkb3dubG9hZCBzcGVlZCwgYW5kIG1heSBoZWxwIGluIGxvd2VyIG1lbW9yeSBlbnZpcm9ubWVudHMnOwokbGFuZ1snd2FybmluZ19zYWZlX21vZGUnXSA9ICdQSFAmIzAzOTtzIHNhZmUgbW9kZSBpcyBlbmFibGVkLiAgVGhpcyBtYXkgY2F1c2UgcHJvYmxlbXMgd2l0aCB1cGxvYWRpbmcgZmlsZXMgKHBlcm1pc3Npb25zKSwgYW5kIG1heSBhbHNvIGludGVyZmVyZSB3aXRoIHRoaXMgbW9kdWxlJiMwMzk7cyBhYmlsaXR5IHRvIHNlbmQgc29tZSBmaWxlcyBkdWUgdG8gYW4gaW5hYmlsaXR5IHRvIG92ZXJyaWRlIHNvbWUgaW5pIHNldHRpbmdzLiAgWW91IGFyZSBhZHZpc2VkIHRvIGNvbnRhY3QgeW91ciBwcm92aWRlciB0byBzZWUgYWJvdXQgZGlzYWJsaW5nIHNhZmUgbW9kZS4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ1VzZWZ1bCBmb3IgZGlzcGxheWluZyBhIGRldGFpbCByZXBvcnQgdXNpbmcgYSBkaWZmZXJlbnQgcGFnZSB0ZW1wbGF0ZSwgdGhpcyBwYXJhbWV0ZXIgdGFrZXMgdGhlIHBhZ2UgaWQgb3IgcGFnZSBhbGlhcyBvZiBhIHBhZ2UgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkaXNwbGF5IHRoZSBkZXRhaWwgcmVwb3J0JzsKJGxhbmdbJ3BhcmFtX3ByZWZpeCddID0gJ0EgYm9vbGVhbiB0aGF0IGluZGljYXRlcyB3ZXRoZXIgZmlsZSBuYW1lcyBzaG91bGQgYmUgcHJlZml4ZWQnOwokbGFuZ1sncGFyYW1fcHJlZml4X2ZldSddID0gJ0EgYm9vbGVhbiBwYXJhbWV0ZXIgdGhhdCBpbmRpY2F0ZXMgdGhhdCB0aGUgcHJlZml4IHNob3VsZCBiZSB0YWtlbiBmcm9tIHRoZSBjdXJyZW50IGF1dGhvciwgaWYgbm90IHNwZWNpZmllZCwgdGhlIHByZWZpeCBpcyB0aGUgY3VycmVudCB0aW1lIChpbiBkZWNoZXggZm9ybWF0KSc7CiRsYW5nWydwYXJhbV9ub2NhcHRjaGEnXSA9ICdEaXNhYmxlIGNhcHRjaGEgc3VwcG9ydCAob24gYnkgZGVmYXVsdCkgaW4gdGhlIHVwbG9hZCBmb3JtJzsKJGxhbmdbJ3RpdGxlX3VwbG9hZGZvcm1fdGVtcGxhdGUnXSA9ICdFZGl0IFVwbG9hZCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdFbnRlciB0aGUgdGV4dCBkaXNwbGF5ZWQgaW4gdGhpcyBpbWFnZSc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdUZXh0IGVudGVyZWQgZGlkIG5vdCBtYXRjaCB0aGUgaW1hZ2UgZGlzcGxheWVkJzsKJGxhbmdbJ3RpdGxlX2F1dG90aHVtYm5haWxfZXh0ZW5zaW9ucyddID0gJ0NyZWF0ZSB0aHVtYm5haWxzIGZvciBmaWxlcyB3aXRoIHRoZXNlIGV4dGVuc2lvbnMnOwokbGFuZ1sndGl0bGVfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWF4aW11bSBzaXplIChwaXhlbHMpIG9mIHRoZSBnZW5lcmF0ZWQgdGh1bWJuYWlsJzsKJGxhbmdbJ3Byb21wdF91cGxvYWRfaWNvbiddID0gJ1VwbG9hZCBBbiBJY29uJzsKJGxhbmdbJ2luZm9fc3lzZGVmYXVsdCddID0gJ1RoaXMgdGV4dCBpcyB1c2VkIHdoZW4gY3JlYXRpbmcgYSBuZXcgdGVtcGxhdGUgb2YgdGhpcyB0eXBlJzsKJGxhbmdbJ3RpdGxlX2RldGFpbHJwdF9zeXNkZWZhdWx0J10gPSAnU3lzdGVtIERlZmF1bHQgRGV0YWlsIFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3N5c2RlZmF1bHQnXSA9ICdTeXN0ZW0gRGVmYXVsdCBTdW1tYXJ5IFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV91cGxvYWRmb3JtX3N5c2RlZmF1bHQnXSA9ICdTeXN0ZW0gRGVmYXVsdCBVcGxvYWQgRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlJzsKJGxhbmdbJ3Jlc2V0dG9kZWZhdWx0J10gPSAnUmVzZXQgdG8gRGVmYXVsdHMnOwokbGFuZ1sndGl0bGVfc3VtbWFyeXJwdF90ZW1wbGF0ZSddID0gJ1N1bW1hcnkgUmVwb3J0IFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2RldGFpbHJwdF90ZW1wbGF0ZSddID0gJ0RldGFpbCBSZXBvcnQgVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdOaW1pJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0J10gPSAnVmFpa2ltaXNpJzsKJGxhbmdbJ2xlZ2VuZF91cGxvYWRmb3JtJ10gPSAnTGFlIGZhaWwgJnV1bWw7bGVzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ04mb3RpbGRlO3V0dWQgcGFyYW1lZXRlciBwdXVkdWInOwokbGFuZ1snZXJyb3JfbWlzc2luZ25hbWUnXSA9ICdBIG5hbWUgZm9yIHRoZSBmaWxlIHR5cGUgbXVzdCBiZSBzcGVjaWZpZWQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ2V4dGVuc2lvbnMnXSA9ICdBdCBsZWFzdCBvbmUgZmlsZSBleHRlbnNpb24gbXVzdCBiZSBzcGVjaWZpZWQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ2ljb24nXSA9ICdBbiBpY29uIG11c3QgYmUgc3BlY2lmaWVkJzsKJGxhbmdbJ2Vycm9yX25vc3VjaHJvdyddID0gJ1RoZSBzcGVjaWZpZWQgcm93IGNvdWxkIG5vdCBiZSBmb3VuZCc7CiRsYW5nWyduYW1lX3Vua25vd24nXSA9ICdVbmtub3duJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uX3Vua25vd24nXSA9ICdGaWxlIHR5cGUgZGVzY3JpcHRpb24gZm9yIHVubWF0Y2hlZCBmaWxlcyc7CiRsYW5nWydpbWFnZSddID0gJ0ltYWdlJzsKJGxhbmdbJ2ljb24nXSA9ICdJY29uJzsKJGxhbmdbJ2V4dGVuc2lvbnMnXSA9ICdGaWxlIEV4dGVuc2lvbnMnOwokbGFuZ1snYWRkZmlsZXR5cGUnXSA9ICdBZGQgTmV3IEZpbGUgVHlwZSc7CiRsYW5nWydmaWxlX3R5cGVzJ10gPSAnRmlsZSBUeXBlcyc7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3J5aWQnXSA9ICdObyBDYXRlZ29yeSBpZCB3YXMgc3VwcGxpZWQnOwokbGFuZ1snZXJyb3Jfbm9jYXRlZ29yeSddID0gJ05vIENhdGVnb3J5IGlkIHdhcyBzdXBwbGllZCc7CiRsYW5nWydlcnJvcl90ZW1wbGF0ZW5hbWVleGlzdHMnXSA9ICdBIHRlbXBsYXRlIGJ5IHRoYXQgbmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGVuYW1lJ10gPSAnVGVtcGxhdGUgTmFtZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfbmV3dGVtcGxhdGUnXSA9ICdDcmVhdGUgYSBuZXcgdGVtcGxhdGUnOwokbGFuZ1snaGVscF9PbkRvd25sb2FkJ10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSB1c2VyIGZpbmlzaGVzIGRvd25sb2FkaW5nIGEgZmlsZTwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+aWQ8L2VtPiAtIFVwbG9hZCBJRDwvbGk+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIEZpbGUgbmFtZTwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBUaGUgSVAgQWRkcmVzcyBvZiB0aGUgZG93bmxvYWRlcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfT25EZWxldGVDYXRlZ29yeSddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgY2F0ZWdvcnkgaXMgRGVsZXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gQ2F0ZWdvcnkgbmFtZTwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIENhdGVnb3J5IHBhdGg8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX09uQ3JlYXRlQ2F0ZWdvcnknXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGNhdGVnb3J5IGlzIENyZWF0ZWQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSBjYXRlZ29yeTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgY2F0ZWdvcnkgZGVzY3JpcHRpb248L2xpPg0KPGxpPjxlbT5wYXRoPC9lbT4gLSBUaGUgY2F0ZWdvcnkgcGF0aDwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIEEgZmxhZyBpbmRpY2F0aW5nIGlmIHRoZSBjYXRlZ29yeSBpcyBsaXN0YWJsZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfT25SZW1vdmUnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGZpbGUgaXMgcmVtb3ZlZCB2aWEgdGhlIGFkbWluIG9yIGZyb250ZW5kIGludGVyZmFjZXM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSByZW1vdmVkIGZpbGU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGlkIG9mIHRoZSByZW1vdmVkIGZpbGU8L2xpPg0KPGxpPjxlbT5jYXRlZ29yeV9pZDwvZW0+IC0gVGhlIGlkIG9mIHRoZSBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfT25VcGxvYWQnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIG5ldyBmaWxlIGlzIHVwbG9hZGVkIHZpYSB0aGUgYWRtaW4gb3IgZnJvbnRlbmQgaW50ZXJmYWNlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+Y2F0ZWdvcnk8L2VtPiAtIFRoZSBjYXRlZ29yeSBuYW1lPC9saT4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIHVwbG9hZGVkIGZpbGU8L2xpPg0KPGxpPjxlbT5zaXplPC9lbT4gLSBUaGUgc2l6ZSBvZiB0aGUgdXBsb2FkZWQgZmlsZTwvbGk+DQo8bGk+PGVtPnN1bW1hcnk8L2VtPiAtIFRoZSBzaG9ydCBkZXNjcmlwdGlvbiBmb3IgdGhlIHVwbG9hZGVkIGZpbGUgKG1heSBiZSBlbXB0eSk8L2VtPjwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBUaGUgbG9uZyBkZXNjcmlwdGlvbiBmb3IgdGhlIHVwbG9hZGVkIGZpbGUgKG1heSBiZSBlbXB0eSk8L2VtPjwvbGk+DQo8bGk+PGVtPmF1dGhvcjwvZW0+IC0gVGhlIGF1dGhvciBvZiB0aGUgdXBsb2FkZWQgZmlsZSAoaWYgYXZhaWxhYmxlKTwvZW0+PC9saT4NCjxsaT48ZW0+aXBfYWRkcmVzczwvZW0+IC0gVGhlIGludGVybmV0IGFkZHJlc3Mgb2YgdGhlIGNsaWVudCB0aGF0IHVwbG9hZGVkIHRoZSBmaWxlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaW5mb19ldmVudF9vbmRlbGV0ZWNhdGVnb3J5J10gPSAnRXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBjYXRlZ29yeSBpcyBkZWxldGVkJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25jcmVhdGVjYXRlZ29yeSddID0gJ0V2ZW50IGdlbmVyYXRlZCB3aGVuIGEgY2F0ZWdvcnkgaXMgY3JlYXRlZCc7CiRsYW5nWydpbmZvX2V2ZW50X29uZG93bmxvYWQnXSA9ICdFdmVudCBnZW5lcmF0ZWQgd2hlbiBhIGZpbGUgaXMgZG93bmxvYWRlZCc7CiRsYW5nWydpbmZvX2V2ZW50X29udXBsb2FkJ10gPSAnRXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBuZXcgZmlsZSBpcyB1cGxvYWRlZCc7CiRsYW5nWydpbmZvX2V2ZW50X29ucmVtb3ZlJ10gPSAnRXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBmaWxlIGlzIHJlbW92ZWQnOwokbGFuZ1sndGl0bGVfdXNlcnRhZ19vbnVwbG9hZCddID0gJ1VzZXIgZGVmaW5lZCB0YWcgdG8gY2FsbCBhZnRlciB1cGxvYWQgaXMgY29tcGxldGUnOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwokbGFuZ1snbWF0Y2hlc2ZvdW5kJ10gPSAnTWF0Y2hlcyBmb3VuZCc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOwokbGFuZ1sndGl0bGVfcmVkaXJlY3RvbnVwbG9hZCddID0gJ1JlZGlyZWN0IHRvIHBhZ2UgaWQvYWxpYXMgb24gdXNlciB1cGxvYWQnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMnOwokbGFuZ1snY29uZmlybV9wcmVmZXJlbmNlcyddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBhZGp1c3QgdGhlIHByZWZlcmVuY2VzPyc7CiRsYW5nWydlcnJvcl9ub2ZpbGVzdXBsb2FkZWQnXSA9ICdObyBmaWxlcyB3ZXJlIHVwbG9hZGVkLic7CiRsYW5nWydwcm9tcHRfcmVwbGFjZSddID0gJ0FsbG93IE92ZXJ3cml0ZSc7CiRsYW5nWydpbmZvX3JlcGxhY2UnXSA9ICdSZXBsYWNlIGFueSBmaWxlIHdpdGggdGhlIHNhbWUgbmFtZSAoZG9lcyBub3QgY2hhbmdlIGlkKSc7CiRsYW5nWydwYXJhbV9ub19pbml0aWFsJ10gPSAnRG8gbm90IGRpc3BsYXkgYW55IGluaXRpYWwgcmVzdWx0cyB3aGVuIHRoZSBmaWx0ZXIgaXMgb24nOwokbGFuZ1sncGFyYW1fa2V5J10gPSAnUHJvdmlkZSBhbiBhZGRpdGlvbmFsIGtleSB0byB0aGUgbW9kdWxlIGZvciBmdXJ0aGVyIG9yZ2FuaXppbmcgdXBsb2Fkcy4gIFRoaXMga2V5IGNvdWxkIGJlIGFuIGVuY29kZWQgc3RyaW5nIGxpa2U6ICYjMDM5O2ZldXNlcnM6dWlkJiMwMzk7LCBldGMuICBUaGlzIHBhcmFtZXRlciBpcyB1c3VhbGx5IG9ubHkgbmVlZGVkIHdoZW4gZW1iZWRkaW5nIHRoZSB1cGxvYWRzIG1vZHVsZSBpbnRvIGFub3RoZXIgbW9kdWxlJzsKJGxhbmdbJ3BhcmFtX25vYXV0aG9yJ10gPSAnSGlkZSB0aGUgYXV0aG9yIGZpZWxkIGZyb20gdGhlIHVwbG9hZCBmb3JtLiAgVGhpcyBwYXJhbWV0ZXIgaXMgb25seSB2YWxpZCB3aGVuIG1vZGU9JiMwMzk7dXBsb2FkJiMwMzk7LiAgSWYgVGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlIGlzIHByZXNlbnQsIGFuZCBhIHVzZXIgaXMgY3VycmVudGx5IGxvZ2dlZCBpbiwgYSBoaWRkZW4gZmllbGQgd2lsbCBob2xkIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXJuYW1lJzsKJGxhbmdbJ3BhcmFtX3VwbG9hZF9pZCddID0gJ3VwbG9hZF9pZD0mcXVvdDtpZCZxdW90OyAtIHNwZWNpZnkgYSBzaW5nbGUgZmlsZSBmb3IgdGhlIHVybC9saW5rLGRldGFpbGVkIG9yIHNpbmdsZSBtb2RlcyAoYWJvdmUpJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVXNlIGEgdGVtcGxhdGUgd2l0aCB0aGlzIG5hbWUgZm9yIHRoZSBkZXRhaWwgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV90ZW1wbGF0ZSddID0gJ1VzZSBhIHRlbXBsYXRlIHdpdGggdGhpcyBuYW1lIGZvciB0aGlzIHJlcG9ydCBvciBmb3JtLiAgVGhlIG1vZGUgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hhdCB0eXBlIG9mIHRlbXBsYXRlIGlzIHJlcXVpcmVyZCwgYW5kIHRoZW4gYSBuYW1lIG1hdGNoIGlzIHBlcmZvcm1lZCB3aXRoaW4gdGhhdCB0eXBlLic7CiRsYW5nWydwYXJhbV9maWx0ZXInXSA9ICdEaXNwbGF5IHRoZSBmaWx0ZXJpbmcgZm9ybS4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhbnkgdmFsdWUnOwokbGFuZ1sncGFyYW1fbm9faW50aXRpYWwnXSA9ICdPbmx5IHVzZWZ1bCB3aGVuIHRoZSBmaWx0ZXIgcGFyYW1ldGVyIGlzIHN1cHBsaWVkLCBvciBvbiBieSBkZWZhdWx0LCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2V0aGVyIGluaXRpYWwgcmVzdWx0cyBzaG91bGQgYmUgcmV0dXJuZWQnOwokbGFuZ1sncGFyYW1fZmlsZXR5cGVzJ10gPSAnRGlzcGxheSBvbmx5IGZpbGVzIHdob3NlIHR5cGUgbWF0Y2hlcyB0aGlzIGNvbW1hIHNlcGFyYXRlZCBsaXN0JzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJyAgPHA+U29ydCBPcmRlcnMNCiAgPHVsPg0KICA8bGk+PGVtPmRhdGVfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBkYXRlPC9saT4NCiAgPGxpPjxlbT5kYXRlX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBkYXRlPC9saT4NCiAgPGxpPjxlbT5uYW1lX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgbmFtZTwvbGk+DQogIDxsaT48ZW0+bmFtZV9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgbmFtZTwvbGk+DQogIDxsaT48ZW0+c2l6ZV9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIHNpemU8L2xpPg0KICA8bGk+PGVtPnNpemVfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIHNpemU8L2xpPg0KICA8bGk+PGVtPmF1dGhvcl9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGF1dGhvcjwvbGk+DQogIDxsaT48ZW0+YXV0aG9yX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBhdXRob3I8L2xpPg0KICA8bGk+PGVtPmlwX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgaXAgYWRkcmVzczwvbGk+DQogIDxsaT48ZW0+aXBfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGlwIGFkZHJlc3M8L2xpPg0KICA8bGk+PGVtPmRlc2NfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBkZXNjcmlwdGlvbjwvbGk+DQogIDxsaT48ZW0+ZGVzY19kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgZGVzY3JpcHRpb248L2xpPg0KICA8bGk+PGVtPnJhbmRvbTwvZW0+IC0gUmFuZG9tIHNvcnQgb3JkZXI8L2xpPg0KICA8L3VsPg0KICA8L3A+JzsKJGxhbmdbJ3BhcmFtX2xpc3Rpbmd0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIHRvIHVzZSBmb3IgY2F0ZWdvcnkgbGlzdGluZ3MgYWZ0ZXIgY2xpY2t0aHJvdWdoIGZyb20gQ2F0ZWdvcnkgU3VtbWFyeSBwYWdlJzsKJGxhbmdbJ3BhcmFtX2xpc3Rpbmdzb3J0b3JkZXInXSA9ICdTb3J0IG9yZGVyIChhbGEgcGFyYW1fc29ydG9yZGVyKSB0byB1c2UgZm9yIGNhdGVnb3J5IGxpc3RpbmdzIGFmdGVyIGNsaWNrdGhyb3VnaCBmcm9tIENhdGVnb3J5IFN1bW1hcnkgcGFnZSc7CiRsYW5nWydwYXJhbV9maWxlZXh0ZW5zaW9ucyddID0gJyANCmZpbGVfZXh0ZW5zaW9ucz0mcXVvdDtleHQxLGV4dDIsZXh0MyZxdW90Ow0KPHA+dmFsaWQgb25seSB3aGVuIG1vZGU9dXBsb2FkLCB0aGlzIHBhcmFtZXRlciBsaW1pdHMgdGhlIHR5cGVzIG9mIGZpbGVzIHRoYXQgY2FuIGJlIHVwbG9hZGVkLiAgSXQgb3ZlcnJpZGVzIGFueSBzZXR0aW5ncyBpbiB0aGUgbW9kdWxlIHByZWZlcmVuY2VzLjwvcD4nOwokbGFuZ1sncGFyYW1fY291bnQnXSA9ICdjb3VudD0mcXVvdDtOJnF1b3Q7DQo8cD5BIHBhcmFtZXRlciB0byBsaXN0IG9ubHkgdGhlIGZpcnN0IE4gcmVzdWx0cyBvZiB0aGUgcXVlcnkuICBQYWdpbmF0aW9uIHdvdWxkIGJlIGJldHRlciwgYnV0IHRoaXMgd2lsbCBkbyB0aGUgdHJpY2sgZm9yIG5vdzwvcD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdjYXRlZ29yeT0mcXVvdDtuYW1lJnF1b3Q7DQo8cD48Yj5Ob3RlOjwvYj4gQ2F0ZWdvcnkgY2FuIGJlICZxdW90O2FsbCZxdW90Oywgd2hpY2ggd2lsbCBsaXN0IGFsbCBvZiB0aGUgdXBsb2FkcyBmcm9tIGFsbCA8ZW0+bGlzdGFibGU8L2VtPiBjYXRlZ29yaWVzPC9wPic7CiRsYW5nWydwYXJhbV9tb2RlJ10gPSAnICA8dWw+DQogIDxsaT48ZW0+ZGV0YWlsZWQ8L2VtPiAtIERpc3BsYXkgYSBkZXRhaWxlZCByZXBvcnQgZm9yIGEgc2luZ2xlIHVwbG9hZC48L2xpPg0KICA8bGk+PGVtPnNpbmdsZTwvZW0+IC0gQWxpYXMgZm9yIHRoZSBkZXRhaWxlZCBtb2RlLjwvbGk+DQogIDxsaT48ZW0+dXBsb2FkPC9lbT4gLSBEaXNwbGF5IGEgZm9ybSB0byBhbGxvdyBhIGZyb250ZW5kIHVzZXIgdG8gdXBsb2FkIGEgZmlsZTwvbGk+DQogIDxsaT48ZW0+dXJsIDxpPm9yPC9pPiBsaW5rPC9lbT4gLSBEaXNwbGF5IGEgbGluayB0byBhIGZpbGU8L2xpPg0KICA8bGk+PGVtPnN1bW1hcnk8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJpemVkIGxpc3Qgb2YgYWxsIGZpbGVzIGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnk8L2xpPg0KICA8L3VsPic7CiRsYW5nWydwYXJhbV9zZWxlY3Rmb3JtJ10gPSAnV2hlbiB1c2luZyB0aGUgJiMwMzk7c2VsZWN0JiMwMzk7IG1vZGUsIHRoaXMgcGFyYW1ldGVyIGlzIHRoZSBmb3JtaWQgb2YgdGhlIHBhcmVudCBmb3JtLiAgVXNlZCB0byBoYW5kbGUgcGFyYW1ldGVyIHBhc3NpbmcnOwokbGFuZ1sncGFyYW1fc2VsZWN0bmFtZSddID0gJ3doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGZpZWxkJzsKJGxhbmdbJ3BhcmFtX3NlbGVjdHZhbHVlJ10gPSAnV2hlbiB1c2luZyB0aGUgJiMwMzk7c2VsZWN0JiMwMzk7IG1vZGUsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgZGVmYXVsdCBmaWVsZCB2YWx1ZSc7CiRsYW5nWydwYXJhbV9zZWxlY3Rub25lJ10gPSAnV2hlbiB1c2luZyB0aGUgJiMwMzk7c2VsZWN0JiMwMzk7IG1vZGUsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB3ZXRoZXIgJiMwMzk7bm9uZSYjMDM5OyBpcyBhIHZhbGlkIGNob2ljZS4nOwokbGFuZ1sncmV0dXJudG9tb2R1bGUnXSA9ICdSZXR1cm4gdG8gbW9kdWxlIHBhbmVsJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcmllcyddID0gJ1RoZXJlIGFyZSBubyBkZWZpbmVkIGNhdGVnb3JpZXMnOwokbGFuZ1sndGl0bGVfZW5mb3JjZWV4dGVuc2lvbnMnXSA9ICdSZXF1aXJlIGV4dGVuc2lvbnMgb24gYWxsIHVwbG9hZGVkIGZpbGVzJzsKJGxhbmdbJ3Jlc3RvcmVkZWZhdWx0c2NvbmZpcm0nXSA9ICdUaGlzIG9wZXJhdGlvbiB3aWxsIHJlc3RvcmUgdGhlIHRlbXBsYXRlIHRvIHN5c3RlbSBkZWZhdWx0cy4gIEFueSBjaGFuZ2VzIHlvdSBoYXZlIG1hZGUgd2lsbCBiZSBsb3N0LiAgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHByb2NlZWQ/JzsKJGxhbmdbJ3RodW1ibmFpbCddID0gJ1Bpc2lwaWx0JzsKJGxhbmdbJ25ld3RodW1ibmFpbCddID0gJ0xhZSAmdXVtbDtsZXMgdXVzIHBpc2lwaWx0JzsKJGxhbmdbJ2luZm9fc3VtbWFyeSddID0gJ0EgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGZpbGUgKGlmIGVtcHR5LCB0aGUgZmlsZSBuYW1lIGlzIHVzZWQgd2l0aG91dCB0aGUgZXh0ZW5zaW9uKSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5bmFtZSddID0gJ0EgYnJpZWYgbmFtZSBmb3IgeW91ciBjYXRlZ29yeSAoaHVtYW4gcmVhZGFibGUpJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlkZXNjJ10gPSAnQSBkZXNjcmlwdGlvbiBmb3IgeW91ciBjYXRlZ29yeSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5cGF0aCddID0gJ1RoZSBkaXJlY3RvcnkgbmFtZSBpbnNpZGUgdGhlIHVwbG9hZHMgZGlyZWN0b3J5IHRoYXQgd2lsbCBiZSB1c2VkIHRvIHN0b3JlIGZpbGVzIGluIHRoaXMgY2F0ZWdvcnkuICBJZiB0aGUgZGlyZWN0b3J5IG9mIHRoaXMgbmFtZSBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LCBpdCBtYXkgYmUgY3JlYXRlZCc7CiRsYW5nWydpbmZvX2Rlc3RuYW1lJ10gPSAnS2FzdXRhIHNlZGEgdiZhdW1sO2xqYSBtdXV0bWFrcyBmYWlsaSBuaW1lICZ1dW1sO2xlc2xhYWRpbWlzZWwuIEomYXVtbDt0YSB0JnV1bWw7aGpha3MsIGV0IGomYXVtbDt0dGEgZmFsaW5pbWkgc2VsbGlzZWtzLCBuYWd1IHNlZSBvbi4nOwokbGFuZ1snZXJyb3JfY2FudGNyZWF0ZWRpcmVjdG9yeSddID0gJ0NvdWxkIG5vdCBjcmVhdGUgZGlyZWN0b3J5JzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnVGhlIENNU01haWxlciBtb2R1bGUgY291bGQgbm90IGJlIGluc3RhbnRpYXRlZCc7CiRsYW5nWyd1cGxvYWRfbm90aWZpY2F0aW9uJ10gPSAnQSBuZXcgZmlsZSBoYXMgYmVlbiB1cGxvYWRlZCc7CiRsYW5nWyd0aXRsZV9lbWFpbF9vbl91cGxvYWQnXSA9ICdTZW5kIHVwbG9hZCBub3RpZmljYXRpb24gdG8nOwokbGFuZ1snZW1haWxfdGVtcGxhdGUnXSA9ICdFbWFpbCBUZW1wbGF0ZXMnOwokbGFuZ1sndGl0bGVfZHVtbXlfaW5kZXhfaHRtbCddID0gJ0NyZWF0ZSBkdW1teSBpbmRleC5odG1sIGZpbGVzIGluIGVhY2ggZGlyZWN0b3J5Pzxici8+PGVtPkFueSBleGlzdGluZyBpbmRleC5odG1sIGZpbGVzIHdpbGwgcmVtYWluPC9lbT4nOwokbGFuZ1snYWJvdXQnXSA9ICdBYm91dCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90d3JpdGUnXSA9ICdDb3VsZCBub3Qgd3JpdGUnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdBZGQgQ2F0ZWdvcnknOwokbGFuZ1snYWxsJ10gPSAnQWxsJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgWW91IFN1cmU/JzsKJGxhbmdbJ2F1dGhvciddID0gJ0F1dG9yJzsKJGxhbmdbJ2NhbmNlbCddID0gJ1QmdXVtbDtoaXN0YSc7CiRsYW5nWydjYW5ub3Rtb2RpZnlwYXRoJ10gPSAnKFRoZSBwYXRoIGNhbm5vdCBiZSBtb2RpZmllZCknOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0thdGVnb29yaWFkJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWdvb3JpYSc7CiRsYW5nWydtZXNzYWdlX2NhdGVnb3J5YWRkZWQnXSA9ICdLYXRlZ29vcmlhIGVkdWthbHQgbGlzYXR1ZCc7CiRsYW5nWydkYXRlJ10gPSAnS3V1cCZhdW1sO2V2JzsKJGxhbmdbJ2RhdGV1cGxvYWRlZCddID0gJyZVdW1sO2xlc2xhYWRpbWlzZSBrdXVwJmF1bWw7ZXYnOwokbGFuZ1snZGVmYXVsdCddID0gJ1ZhaWtpbWlzaSB2JmF1bWw7JmF1bWw7cnR1c2VkJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0t1c3R1dGEnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdLaXJqZWxkdXMnOwokbGFuZ1snZGVzdG5hbWUnXSA9ICdMYWUgJnV1bWw7bGVzIG5pbWVnYSc7CiRsYW5nWydkZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgVGVtcGxhdGVzJzsKJGxhbmdbJ2Rvd25sb2FkZWQnXSA9ICdGaWxlICVzIHdhcyBkb3dubG9hZGVkLic7CiRsYW5nWydkb3dubG9hZHMnXSA9ICdEb3dubG9hZHMnOwokbGFuZ1snZWRpdCddID0gJ011dWRhJzsKJGxhbmdbJ2VkaXRjYXRlZ29yeSddID0gJ011dWRhIGthdGVnb29yaWEnOwokbGFuZ1snZWRpdHVwbG9hZCddID0gJ011dWRhICZ1dW1sO2xlc2xhYWRpbWlzdCc7CiRsYW5nWydlcnJvciddID0gJ1ZpZ2EhJzsKJGxhbmdbJ2Vycm9yX3BhdGhpbnVzZTInXSA9ICdLYXRlZ29vcmlhLCBtaXMga2FzdXRhYiB0ZWVkICglcyksIG9uIGp1YmEgb2xlbWFzJzsKJGxhbmdbJ2Vycm9yX3BhdGhpbnVzZSddID0gJ0thdGVnb29yaWEsIG1pcyBrYXN1dGFiIHNlZGEgdGVlZCwgb24ganViYSBvbGVtYXMnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlleGlzdHMyJ10gPSAnVmlnYTogS2F0ZWdvb3JpYSBuaW1lZ2EgJXMganViYSBla3Npc3RlZXJpYic7CiRsYW5nWydlcnJvcl9jYXRlZ29yeWV4aXN0cyddID0gJ1ZpZ2E6IEthdGVnb29yaWEganViYSBla2lzdGVlcmliJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90ZW1wdHknXSA9ICdWaWdhISBFaSBzYWEga3VzdHV0YWRhIGthdGVnb29yaWF0LCBtaXMgZWkgb2xlIHQmdXVtbDtoaSc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeW5vdGZvdW5kJ10gPSAnVmlnYTogS2F0ZWdvb3JpYXQgZWkgbGVpdHVkISc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnVmlnYTogQW5kbWViYWFzaSB2aWdhISc7CiRsYW5nWydlcnJvcl9lbXB0eWNhdGVnb3J5J10gPSAnVmlnYTogVCZ1dW1sO2hpIGthdGVnb29yaWEhJzsKJGxhbmdbJ2Vycm9yX2VtcHR5cGF0aCddID0gJ1ZpZ2E6IFQmdXVtbDtoaSB0ZWUhJzsKJGxhbmdbJ2Vycm9yX2ZpbGVleGlzdHMnXSA9ICdWaWdhISBGYWlsICVzIGp1YmEgZWtzaXN0ZWVyaWIuJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ1ZpZ2EhIEZhaWxpICVzIGVpIGxlaXR1ZC4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnVmlnYTogTW9vZHVsaWxlIGVpIGFudHVkIHBpaXNhdmFsdCBwYXJhbWVldHJlaWQhPGJyLz5QdXVkdXYgcGFyYW1lZXRlciBvbjogJXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZGF1dGhvciddID0gJ1ZpZ2E6IFZhbGUgKHYmb3RpbGRlO2kgdCZ1dW1sO2hpKSBhdXRvci4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNhdGVnb3J5J10gPSAnVmlnYTogVmFsZSAodiZvdGlsZGU7aSB0JnV1bWw7aGkpIGthdGVnb29yaWEuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRkZXNjcmlwdGlvbiddID0gJ1ZpZ2E6IFZhbGUgKHYmb3RpbGRlO2kgdCZ1dW1sO2hpKSBraXJqZWxkdXMuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRmaWxlJ10gPSAnVmlnYTogVmFsZSAodiZvdGlsZGU7aSB0JnV1bWw7aGkpIGZhaWxpbmltaS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVwbG9hZGZpbGVuYW1lJ10gPSAnVmlnYTogU2VsbGlzZSBuaW1lZ2EgZmFpbGlkICh0Jm90aWxkZTtlbiZhdW1sO29saXNlbHQgbGFpZW5kKSBlaSBvbGUgbHViYXR1ZCAoJXMpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkaWQnXSA9ICdWaWdhOiBWYWxlICZ1dW1sO2xlc2xhYWRpbWlzZSBpZCc7CiRsYW5nWydlcnJvcl9ub2ZpbGVzJ10gPSAnVmlnYTogRWkgbGVpdHVkIGZhaWxlISc7CiRsYW5nWydmaWxlcyddID0gJ0ZhaWxpZCc7CiRsYW5nWydmaXhtZSddID0gJ0ZpeCBTcGFjZXMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnQgRW5kIEZpbGUgTWFuYWdlbWVudCAoVXBsb2FkcyknOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+SXQgaXMgYSBtb2R1bGUgZm9yIGFsbG93aW5nIHBlb3BsZSB0byB1cGxvYWQgYW5kIGRvd25sb2FkIGZpbGVzIHRvIGFuZCBmcm9tIHlvdXIgc2l0ZS4gIEl0IGtlZXBzIHRyYWNrIG9mIHdobyB1cGxvYWRlZCBhIGZpbGUsIGFuZCB3aG8gaGFzIGRvd25sb2FkZWQgaXQuICBBcyB3ZWxsLCB5b3UgY2FuIHNvcnQgZmlsZXMgaW50byBjYXRlZ29yaWVzLCBhbmQgbWFuYWdlIHRoZSBmaWxlcyB0aGF0IHdlcmUgdXBsb2FkZWQgbGlrZSBldmVyeSBhZG1pbmlzdHJhdG9yIHdvdWxkIGRvPC9wPiANCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+PHN0cm9uZz5XYXJuaW5nPC9zdHJvbmc+IC0gVGhlIHByb3BlciBiZWhhdmlvdXIgb2YgdGhpcyBtb2R1bGUgZGVwZW5kcyBvbiBudW1lcm91cyBwaHAgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMuICBUaGVzZSBpbmNsdWRlIDxlbT4oYnV0IGFyZSBub3QgbGltaXRlZCB0byk8L2VtPiwgcGhwJiMwMzk7cyBtZW1vcnlfbGltaXQsIHNhZmVfbW9kZSwgZmlsZV91cGxvYWRzLCB1cGxvYWRzX21heF9maWxlc2l6ZSwgYW5kIG1heF9leGVjdXRpb25fdGltZS4gIFRoZXNlIHZhcmlhYmxlcyBtYXkgbmVlZCBhZGp1c3RtZW50IGZvciB0aGlzIG1vZHVsZSB0byB3b3JrIHByb3Blcmx5IG9uIHlvdXIgc2l0ZS4gIEl0IGlzIGFkdmlzZWQgdGhhdCB5b3Ugd29yayB3aXRoIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3Igb3IgaG9zdCBwcm92aWRlciB0byB0dW5lIHRoZXNlIHNldHRpbmdzIGZvciB5b3VyIHJlcXVpcmVtZW50cy48L3A+DQo8cD5UbyB1c2UgdGhpcyBtb2R1bGUsIHRvIGFsbG93IHVzZXJzIHRvIHVwbG9hZCBmaWxlcyB0byB5b3VyIHNpdGUsIHlvdSBzaG91bGQgaW5zdGFsbCB0aGUgbW9kdWxlLCBhbmQgdGhlbiBjcmVhdGUgb25lIG9yIG1vcmUgY2F0ZWdvcmllcyAoYS5rLmEpIGRpcmVjdG9yaWVzIGZvciB0aGUgdXBsb2FkZWQgZmlsZXMgdG8gZ28gaW50by4gVGhlbiBhZGQgYSB0YWcgaW50byBhIHBhZ2Ugb3IgdGVtcGxhdGUgc29tZXdoZXJlIGxpa2Uge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O1VwbG9hZHMmcXVvdDsgY2F0ZWdvcnk9JnF1b3Q7c29tZWNhdGVnb3J5JnF1b3Q7IG1vZGU9JnF1b3Q7c29tZW1vZGUmcXVvdDt9LiAgV2hlcmUgbW9kZSBtYXRjaGVzIG9uZSBvZiB0aGUgbW9kZXMgbGlzdGVkIGJlbG93LiAgVGhlIG91dHB1dCB3aWxsIGRpZmZlciBkZXBlbmRpbmcgdXBvbiB3aGljaCBtb2RlIHlvdSBzZWxlY3QuPC9wPg0KPHA+VGhpcyBtb2R1bGUgY2FuIHVzZSB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUgKG9wdGlvbmFsKSB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgYW55IGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlcnMgdG8gcGFydGx5IGZpbGwgaW4gdGhlIGZvcm0gd2hlbiB1cGxvYWRpbmcgZmlsZXM7PC9wPg0KPGgzPlBlcm1pc3Npb25zPC9oMz4NCjx1bD4NCjxsaT48ZW0+TWFuYWdlIFVwbG9hZHM8L2VtPiBwZXJtaXNzaW9uIGlzIG5lZWRlZCB0byBtYW5hZ2UgY2F0ZWdvcmllcywgYW5kIHRoZSBmaWxlcyB3aXRoaW4gdGhlbS48L2xpPg0KPGxpPjxlbT5Nb2RpZnkgVGVtcGxhdGVzPC9lbT4gcGVybWlzc2lvbiBpcyBuZWVkZWQgZWRpdCBhbnkgb2YgdGhlIHRlbXBsYXRlcy48L2xpPg0KPGxpPjxlbT5Nb2RpZnkgU2l0ZSBQcmVmZXJlbmNlczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIGFueSBvZiB0aGUgZmlsZSBzZXR0aW5ncy48L2xpPg0KPC91bD4NCjxoMz5DYXRlZ29yeSBCcm93c2luZzwvaDM+DQo8cD5QbGFjaW5nIGEgdGFnIGxpa2Uge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O1VwbG9hZHMmcXVvdDsgYWN0aW9uPSZxdW90O2NhdGVnb3J5c3VtbWFyeSZxdW90OyB0ZW1wbGF0ZT0mcXVvdDtzdW1tYXJ5dGVtcGxhdGUmcXVvdDsgc29ydG9yZGVyPSZxdW90O25hbWVfYXNjJnF1b3Q7IGxpc3Rpbmd0ZW1wbGF0ZT0mcXVvdDtsaXN0dGVtcGxhdGUmcXVvdDsgbGlzdGluZ3NvcnRvcmRlcj0mcXVvdDtsaXN0c29ydG9yZGVyJnF1b3Q7fQ0KYWxsb3dzIHlvdSB0byBkaXNwbGF5IGFuIGludGVyYWN0aXZlIGNhdGVnb3J5IGJyb3dzZXIuIHNvcnRvcmRlciBjYW4gYmU6IG5hbWVfYXNjLCBuYW1lX2Rlc2MsIHN1bW1fYXNjLCBzdW1tX2Rlc2MsIG9yIHJhbmRvbS4NCmxpc3Rpbmd0ZW1wbGF0ZSBhbmQgbGlzdGluZ3NvcnRvcmRlciBhcmUgaWRlbnRpY2FsIHRvIHRoZSB0ZW1wbGF0ZSBhbmQgc29ydG9yZGVyIHBhcmFtZXRlcnMgZm9yDQp0aGUgJnF1b3Q7c3VtbWFyeSZxdW90OyBtb2RlLjwvcD4NCjxoMz5BdXRvbWF0aWMgU2Nhbm5pbmc8L2gzPg0KPHA+VGhpcyBtb2R1bGUgd2lsbCBhdXRvbWF0aWNhbGx5IHNjYW4gZm9yIG5ldyBmaWxlcyBpbiBhIGRpcmVjdG9yeSB3aGVuIGEgc3VtbWFyeSBtb2RlIHRhZyBmb3IgYSBzcGVjaWZpYyBjYXRlZ29yeSBpcyB1c2VkIG9uIGEgQ01TTVMgcGFnZS4gIGkuZTogPGNvZGU+e1VwbG9hZHMgY2F0ZWdvcnk9Y2F0ZWdvcnlfbmFtZX08L2NvZGU+IHdpbGwgcGVyZm9ybSBhIHNjYW4uICBidXQgPGNvZGU+e1VwbG9hZHMgY2F0ZWdvcnk9YWxsfTwvY29kZT4gd2lsbCBub3QuPC9wPg0KPGgzPlRodW1ibmFpbCBHZW5lcmF0aW9uPC9oMz4NCjxwPlRoaXMgbW9kdWxlIGlzIGNhcGFibGUgb2YgZ2VuZXJhdGluZyB0aHVtYm5haWxzIGZvciBjZXJ0YWluIHR5cGVzIG9mIGZpbGVzLiAgVGhlcmUgYXJlIHByZWZlcmVuY2VzIGluIHRoZSBwcmVmZXJlbmNlcyB0YWIgb2YgdGhlIFVwbG9hZHMgbW9kdWxlIGFkbWluaXN0cmF0aW9uIHBhbmVsIHRvIHNwZWNpZnkgdGhlIHR5cGVzIG9mIGZpbGVzIHRoYXQgYWxsb3cgYXV0b21hdGljIHRodW1ibmFpbCBnZW5lcmF0aW9uLCBhbmQgdGhlIHNpemUgb2YgdGhlIGdlbmVyYXRlZCB0aHVtYm5haWwgKHByZXNlcnZpbmcgYXNwZWN0IHJhdGlvKS4gICBUaHVtYm5haWxzIGFyZSBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlZCB1cG9uIHVwbG9hZCwgYW5kIGNhbiBiZSBnZW5lcmF0ZWQgbWFudWFsbHkgYnkgc2VsZWN0aW5nIHRoZSAmcXVvdDtHZW5lcmF0ZSBUaHVtYm5haWxzJnF1b3Q7IG9wdGlvbiBpbiB0aGUgZWRpdCBjYXRlZ29yeSBmb3Jtcy4uLiBidXQgYXJlIG5vdCBnZW5lcmF0ZWQgd2hlbiBuZXcgZmlsZXMgYXJlIGRldGVjdGVkIGJ5IGF1dG9tYXRpYyBzY2FubmluZy48L3A+DQo8aDM+WW91IFNlbmQgSXQ8L2gzPg0KPHA+SXQgaXMgcG9zc2libGUgdG8gZW5hYmxlICZxdW90O3lvdXNlbmRpdCZxdW90OyBsaWtlIGZ1bmN0aW9uYWxpdHkgdG8gYWxsb3cgYXV0b21hdGljYWxseSBlbWFpbGluZyBzZWxlY3RlZCBwZW9wbGUgd2l0aCBhIGxpbmsgdG8gYSBuZXdseSB1cGxvYWRlZCBmaWxlLiAgVGhpcyBpcyBhY2NvbXBsaXNoZWQgYnkgdXNpbmcgYSB0YWcgbGlrZTogPGNvZGU+e1VwbG9hZHMgYWN0aW9uPXlvdXNlbmRpdCBjYXRlZ29yeT1jYXRlZ29yeW5hbWV9PC9jb2RlPi4gIFRoaXMgd2lsbCBkaXNwbGF5IGEgZm9ybSBhbGxvd2luZyB0aGlzIGZ1bmN0aW9uYWxpdHkuPC9wPg0KPGgzPlRpbWUgTGltaXRlZCBBY2Nlc3M8L2gzPg0KPHA+VGhpcyBtb2R1bGUgc3VwcG9ydHMgdGhlIG5vdGlvbiBvZiB1bmlxdWUga2V5cyB0byBhbGxvdyB0aW1lIGxpbWl0ZWQgYWNjZXNzIHRvIGNlcnRhaW4gZmlsZXMuICBUaGUgZnVuY3Rpb25hbGl0eSBhbGxvd3Mgc3BlY2lmeWluZyBhIHRpbWUgbGltaXQgKGluIGhvdXJzKSBmb3Igd2hpY2ggdGhlIGtleSBpcyB2YWxpZCwgYW5kIGEgbWF4aW11bSBudW1iZXIgb2YgZG93bmxvYWRzIG9yIGRvd25sb2FkIGF0ZW1wdHMuICBBbiBlbWFpbCBpcyBzZW50IHRvIHRoZSBkZXNpcmVkIHVzZXJzIHdpdGggdGhlIHVuaXF1ZSBVUkwuICBBZnRlciB0aGUgdGltZSBsaW1pdCwgb3IgdGhlIG51bWJlciBvZiBkb3dubG9hZHMgaGFzIGJlZW4gcmVhY2hlZCwgdGhlIFVSTCBpcyBubyBsb25nZXIgdmFsaWQuICBUaGVzZSB1bmlxdWUgdGltZSBsaW1pdGVkIGtleXMgYXJlIGF1dG9tYXRpY2FsbHkgcmVtb3ZlZCBmcm9tIHRoZSBkYXRhYmFzZSBhZnRlciBleHBpcnkuPC9wPg0KPGgzPlJlc3RyaWNpbmcgQWNjZXNzIHdpdGggRkVVPC9oMz4NCjxwPlRoaXMgbW9kdWxlIGlzIGNhcGFibGUgb2YgaW50ZWdyYXRpbmcgd2l0aCB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgdG8gcmVzdHJpY3QgdGhlIHZpc2liaWxpdHkgb2YgY2F0ZWdvcmllcyAoZGlyZWN0b3JpZXMpIHRvIGNlcnRhaW4gYWxsb3dlZCBGRVUgZ3JvdXBzLiAgWW91ciB1c2VycyB3b3VsZCBoYXZlIHRvIGJlIGxvZ2dlZCBpbiB0byB5b3VyIHdlYnNpdGUgKHVzaW5nIEZFVSkgYW5kIGFsc28gYSBtZW1iZXIgb2Ygb25lIG9mIHRoZSBhbGxvd2VkIGdyb3VwcyB0byBvYnRhaW4gYWNjZXNzLiAgVGhpcyBpcyBhY2NvbXBsaXNoZWQgaW4gdGhlIGNhdGVnb3J5IGVkaXQgZm9ybS4gIFlvdSBjYW4gc2VsZWN0IGEgbGlzdCBvZiBGRVUgZ3JvdXBzIHdoaWNoIGFyZSBhbGxvd2VkIHRvIHZpZXcgZmlsZXMgaW4gdGhpcyBjYXRlZ29yeS48L3A+DQo8cD5UaGlzIGZ1bmN0aW9uYWxpdHkgYWxzbyBhcHBsaWVzIHRvIHRoZSAmYW1wO3F1b3RUaW1lIExpbWl0ZWQgQWNjZXNzJnF1b3Q7IGZ1bmN0aW9uYWxpdHkuICBBbGxvd2luZyB5b3UgdG8gc3BlY2lmeSB0aGF0IGNlcnRhaW4gcGVvcGxlLCB3aG8gYWxzbyBoYXZlIHRvIGJlIGxvZ2dlZCBpbiB0byB5b3VyIHdlYnNpdGUgY2FuIGhhdmUgYWNjZXNzIHRvIGNlcnRhaW4gZmlsZXMgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZS48L3A+DQo8aDM+RW1haWxpbmc8L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgY2FwYWJsZSBvZiBzZW5kaW5nIGFuIGVtYWlsIHdoZW5ldmVyIGEgZmlsZSBpcyB1cGxvYWRlZCwgc2VlIHRoZSBwcmVmZXJlbmNlcyB0YWIuICBIb3dldmVyLCB0byBkbyB0aGlzIHRoZSA8Yj5DTVNNYWlsZXI8L2I+IHBhY2thZ2UgbXVzdCBiZSBpbnN0YWxsZWQgYW5kIGNvbmZpZ3VyZWQuICBUaGlzIGlzIGFuIDxlbT5vcHRpb25hbDwvZW0+IHN0ZXAsIGFuZCBpZiB0aGUgQ01TTWFpbGVyIG1vZHVsZSBpcyBub3QgaW5zdGFsbGVkLCBub3RoaW5nIHdpbGwgYmUgZGlzcGxheWVkIHRvIHRoZSB1c2VyLCBvbmx5IGEgbG9nIG1lc3NhZ2Ugd2lsbCBiZSBwbGFjZWQgaW50byB0aGUgYWRtaW4gbG9nPC9wPg0KPGgzPkNvbnRlbnQgQmxvY2tzIDxlbT4oQ01TTVMgMS43KyBPbmx5KTwvZW0+PC9oMz4NCjxwPkZvciBDTVNNUyAxLjcgdGhpcyBtb2R1bGUgaXMgY2FwYWJsZSBvZiBpbnRlcmZhY2luZyB3aXRoIHRoZSBjb250ZW50IGVkaXRvciBhbmQgZXhwb3J0aW5nIGEgY29udGVudCBibG9jayB0aGF0IGFsbG93cyBzZWxlY3RpbmcgYW4gdXBsb2FkcyBjYXRlZ29yeSB3aXRoaW4gdGhlIGVkaXQgY29udGVudCBwYWdlLCBmb3IgbGF0ZXIgdXNlIHdpdGhpbiB0aGUgdGVtcGxhdGUuPC9wPg0KPHA+aS5lOiBwbGFjaW5nIHRoZSBmb2xsb3dpbmcgdGFnIHdpdGhpbiBhIHBhZ2UgdGVtcGxhdGUgPGNvZGU+e2NvbnRlbnRfbW9kdWxlIG1vZHVsZT0mcXVvdDtVcGxvYWRzJnF1b3Q7IGJsb2NrPSZxdW90O3VwbG9hZHNfY2F0ZWdvcnkmcXVvdDsgdHlwZT0mcXVvdDtjYXRlZ29yeXNlbGVjdCZxdW90O308L2NvZGU+LCB3aWxsIGFkZCBhIGRyb3Bkb3duIGJveCBpbiB0aGUgZWRpdCBjb250ZW50IHZpZXcgb2YgYW55IHBhZ2UgdXRpbGl6aW5nIHRoYXQgcGFnZSB0ZW1wbGF0ZS48L3A+DQo8cD5UaGlzIGNvbnRlbnQgYmxvY2sgYWxzbyBhY2NlcHRzIHNvbWUgb3B0aW9uYWwgcGFyYW1ldGVyczo8L3A+DQo8dWw+DQogIDxsaT48dT5zZWxlY3RvbmU8L3U+DQogICAgPHA+VGhpcyBwYXJhbWV0ZXIgaW5zZXJ0cyBhICZxdW90O1NlbGVjdCBPbmUmcXVvdDsgaXRlbSBpbnRvIHRoZSBsaXN0IG9mIGNhdGVnb3JpZXMsIHJlcXVpcmluZyB0aGUgdXNlciB0byBzZWxlY3QgYSB2YWxpZCBjYXRlZ29yeSB3aGVuIHRoZSBjb250ZW50IHBhZ2UgaXMgc2F2ZWQuPC9wPg0KICA8L2xpPg0KICA8bGk+PHU+YWxsb3dhbGw8L3U+DQogICAgPHA+VGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHRoZSBjb250ZW50IGVkaXRvciB0byBzZWxlY3QgJnF1b3Q7QWxsJnF1b3Q7IGFzIGEgY2F0ZWdvcnkgZm9yIHRoZSB1cGxvYWRzIGRpc3BsYXkuPC9wPg0KICA8L2xpPg0KPC91bD4NCjxoND5Ib3cgd291bGQgSSB1c2UgaXQ/PC9oND4NCjxwPkhlcmUgaXMgc29tZSBleGFtcGxlIGNvZGU6PC9wPg0KPHByZT4NCntjb250ZW50X21vZHVsZSBtb2R1bGU9JnF1b3Q7VXBsb2FkcyZxdW90OyBibG9jaz0mcXVvdDtjYXRlZ29yeXNlbGVjdCZxdW90OyBsYWJlbD0mcXVvdDtTZWxlY3QgYW4gdXBsb2FkcyBjYXRlZ29yeSZxdW90OyBzZWxlY3RvbmU9MSBhc3NpZ249JnF1b3Q7dG1wJnF1b3Q7fQ0Ke1VwbG9hZHMgY2F0ZWdvcnk9JHRtcH0NCjwvcHJlPg0KDQo8aDM+U3lzdGVtIFNldHRpbmdzPC9oMz4NCjxwPjxiPk5vdGU6PC9iPiBUaGlzIG1vZHVsZSBkb2VzIG5vdCBieXBhc3Mgb3IgZ2V0IHBhc3QgYW55IGZpbGUgc2l6ZSBsaW1pdGF0aW9ucyBpbiBwaHAuICBJdCB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZW0uICBUaGVyZWZvcmUgeW91IG1heSBuZWVkIHRvIG1vZGlmeSB5b3VyIHBocC5pbmkgZmlsZSwgeW91ciBDTVNNUyBjb25maWcucGhwIGZpbGUgYW5kL29yIHlvdXIgaHR0cGQuY29uZiBmaWxlKHMpIHRvIGFsbG93IHlvdSB0byB1cGxvYWQgZmlsZXMgYXMgbGFyZ2UgYXMgd2hhdCB5b3UgaGF2ZSBzZXQgaW4gdGhlIHVwbG9hZHMgbW9kdWxlIHByZWZlcmVuY2VzLjwvcD4NCjxoMz5BcGFjaGUgTm90ZXM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gYWxsb3cgbGFyZ2UgZmlsZSB1cGxvYWRzLCB5b3UgbWF5IG5lZWQgdG8gbW9kaWZ5IHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIHBhcmFtZXRlciBpbiB5b3VyIHBocC5pbmkgIEluIGFkZGl0aW9uLCB0aGUgTGltaXRSZXF1ZXN0Qm9keSBwYXJhbWV0ZXIgaW4geW91ciBhcGFjaGUgY29uZmlndXJhdGlvbiwgbWF5IG5lZWQgdG8gYmUgYWRqdXN0ZWQgdG8gbWF0Y2ggdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgcGFyYW1ldGVyPC9wPg0KPHA+Tm90ZTogIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIHBhcmFtZXRlciBjYW4gYmUgc3BlY2lmaWVkIGluIGJ5dGVzLCBraWxvYnl0ZXMsIG9yIG1lZ2FieXRlcywgaG93ZXZlciB0aGUgTGltaXRSZXF1ZXRCb2R5IHBhcmFtZXRlciBpcyBvbmx5IHNwZWNpZmllZCBpbiBieXRlczwvcD4NCic7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1snaXBfYWRkcmVzcyddID0gJ0lQIEFkZHJlc3MnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSB0aGF0IGFsbG93cyB1c2VycyB0byB1cGxvYWQgZmlsZXMsIGFuZCBhbGxvd3MgeW91IHRvIG1hbmFnZSB0aGVtLic7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWydyZW5hbWVtZXNzYWdlJ10gPSAnQ2hhbmdlIHRoZSBuYW1lIGhlcmUgdG8gZXhlY3V0ZSBhIHJlbmFtZSc7CiRsYW5nWydwYXRoJ10gPSAnUGF0aCc7CiRsYW5nWydwYXRobWVzc2FnZSddID0gJ0NoYW5nZSB0aGUgY2F0ZWdvcnkgaGVyZSB0byBtb3ZlIHRoZSBmaWxlIHRvIGFub3RoZXIgZGlyZWN0b3J5JzsKJGxhbmdbJ3BhdGhpbnVwbG9hZHMnXSA9ICcoUmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyZWN0b3J5KSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJzxwPlRoZSB1cGxvYWRzIG1vZHVsZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkLiBCZSBzdXJlIHRvIHNldCAmcXVvdDtNYW5hZ2UgVXBsb2FkcyZxdW90OyBwZXJtaXNzaW9ucyB0byB1c2UgdGhpcyBtb2R1bGUhPC9wPg0KPHA+PHN0cm9uZz5XYXJuaW5nPC9zdHJvbmc+IC0gVGhlIHByb3BlciBiZWhhdmlvdXIgb2YgdGhpcyBtb2R1bGUgZGVwZW5kcyBvbiBudW1lcm91cyBwaHAgY29uZmlndXJhdGlvbiB2YXJpYWJsZXMuICBUaGVzZSBpbmNsdWRlIDxlbT4oYnV0IGFyZSBub3QgbGltaXRlZCB0byk8L2VtPiwgcGhwJiMwMzk7cyBtZW1vcnlfbGltaXQsIHNhZmVfbW9kZSwgZmlsZV91cGxvYWRzLCB1cGxvYWRzX21heF9maWxlc2l6ZSwgYW5kIG1heF9leGVjdXRpb25fdGltZS4gIFRoZXNlIHZhcmlhYmxlcyBtYXkgbmVlZCBhZGp1c3RtZW50IGZvciB0aGlzIG1vZHVsZSB0byB3b3JrIHByb3Blcmx5IG9uIHlvdXIgc2l0ZS4gIEl0IGlzIGFkdmlzZWQgdGhhdCB5b3Ugd29yayB3aXRoIHlvdXIgc3lzdGVtIGFkbWluaXN0cmF0b3Igb3IgaG9zdCBwcm92aWRlciB0byB0dW5lIHRoZXNlIHNldHRpbmdzIGZvciB5b3VyIHJlcXVpcmVtZW50cy48L3A+JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgVXBsb2FkcyBtb2R1bGUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuICBObyBmaWxlcyBoYXZlIGJlZW4gcmVtb3ZlZCBmcm9tIHlvdXIgdXBsb2FkcyBkaXJlY3RvcnksIGFuZCBmaWxlIGludGVncml0eSBpcyBpbnRhY3QnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbmNlcyc7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGUgcHJlZmVyZW5jZXMgdXBkYXRlZC4nOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5ZGVzYyddID0gJ0tpcmplbGR1cyc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlsaXN0YWJsZSddID0gJ0ZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGNhbiBiZSBsaXN0ZWQnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5bmFtZSddID0gJ0NhdGVnb3J5IE5hbWUnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5cGF0aCddID0gJ1NlcnZlciBQYXRoJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVkaXJlY3RvcnknXSA9ICdEZWxldGUgY2F0ZWdvcnkgZGlyZWN0b3J5Pyc7CiRsYW5nWydwcm9tcHRfbWF4X3VwbG9hZHNpemUnXSA9ICdNYXhpbXVtIGZpbGUgc2l6ZSBhbGxvd2VkIChLYiknOwokbGFuZ1sncHJvbXB0X3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnXSA9ICdWYWxpZCB1cGxvYWQgZXh0ZW5zaW9ucyc7CiRsYW5nWydzY2FuJ10gPSAnU2Nhbic7CiRsYW5nWydzZWxlY3RjYXRlZ29yeSddID0gJ1NlbGVjdCBDYXRlZ29yeSc7CiRsYW5nWydzaXplJ10gPSAnU2l6ZSc7CiRsYW5nWydzaXpla2InXSA9ICdTaXplIChLYiknOwokbGFuZ1snc3VibWl0J10gPSAnU2FhZGEnOwokbGFuZ1snc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N1bW1hcnkgVGVtcGxhdGVzJzsKJGxhbmdbJ3N1bW1hcnknXSA9ICdLb2trdXYmb3RpbGRlO3RlJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnVXBsb2FkcyBNb2R1bGUnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlIEFkbWluIFBhbmVsJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZSBQcmVmZXJlbmNlcyc7CiRsYW5nWyd0aXRsZV9zdWJuZXRfZXhjbHVzaW9ucyddID0gJ0V4Y2x1ZGUgc3VibmV0cyBmcm9tIHN0YXRpc3RpY3MnOwokbGFuZ1sndGl0bGVfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ1ZhbGlkIEV4dGVuc2lvbnMnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3VwbG9hZCddID0gJ0xhZSAmdXVtbDtsZXMnOwokbGFuZ1sndXBsb2FkZWQnXSA9ICdGaWxlICVzIHdhcyB1cGxvYWRlZCBieSAlcy4nOwokbGFuZ1sncmVwbGFjZWQnXSA9ICdGaWxlICVzIHdhcyByZXBsYWNlZCBieSAlcy4nOwokbGFuZ1snZGVsZXRlZCddID0gJ0ZpbGUgJXMgd2FzIGRlbGV0ZWQuJzsKJGxhbmdbJ3VwbG9hZGZvcm1fdGVtcGxhdGUnXSA9ICdVcGxvYWQgVGVtcGxhdGVzJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snd2FybmluZ19kZWxldGVjYXRlZ29yeSddID0gJ1dBUk5JTkc6IFVzZSBjYXV0aW9uIHdoZW4gZGVsZXRpbmcgY2F0ZWdvcmllcy4gIEZpbGVzIG1heSBiZSBsb3N0JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMzIxNTU0NTI2NjczMjAxOTAwMC4xMjQxMDkxNzg3LjEyNTMxODMxNjcuMTI1MzIwNjYwNS4xMTgnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjUzMTEyOTg2LjExNS4yNS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9pbmRleC5waHAvdG9waWMsMTUzMTguMC5odG1sfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWydxY2EnXSA9ICcxMjQwNjgzNjE1LTU4NDA5OTczLTc5OTE1MzAzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyNTMyMDY2MDUnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF9ncm91cGxpc3QnXSA9ICdBdXRvcmlzb2lkdXQgRkVVLXJ5aG0mYXVtbDt0JzsKJGxhbmdbJ2luZm9fZ3JvdXBsaXN0J10gPSAnVmFsaXRzZSBGRVUtcnlobSZhdW1sO3QsIGpvaWxsYSBvbiBvaWtldXMgdCZhdW1sO20mYXVtbDtuIGthdGVnb3JpYW4gdGllZG9zdG9paGluLiBKJmF1bWw7dCZhdW1sOyB2YWxpbnRhIHR5aGomYXVtbDtrc2kgYW50YWFrc2VzaSBvaWtldWRldCBrYWlraWxsZS4nOwokbGFuZ1sndGl0bGVfc2NhbiddID0gJ0V0c2kgdXVzaWEgdGllZG9zdG9qYSB0JmF1bWw7c3QmYXVtbDsga2F0ZWdvcmlhc3RhJzsKJGxhbmdbJ3RpdGxlX2NyZWF0ZV90aHVtYm5haWxzJ10gPSAnTHVvIHB1dXR0dXZhdCBwaWVub2lza3V2YXQgdCZhdW1sO20mYXVtbDtuIGthdGVnb3JpYW4gdGllZG9zdG9pbGxlJzsKJGxhbmdbJ2NyZWF0ZV90aHVtYm5haWxzJ10gPSAnTHVvIHBpZW5vaXNrdXZhdCc7CiRsYW5nWyd0aXRsZV9jcmVhdGVfdGh1bWJuYWlsJ10gPSAnKHV1ZGVsbGVlbilMdW8gcGllbm9pc2t1dmEgdCZhdW1sO2xsZSB0aWVkb3N0b2xsZSc7CiRsYW5nWydjcmVhdGVfdGh1bWJuYWlsJ10gPSAnTHVvIHBpZW5vaXNrdXZhJzsKJGxhbmdbJ2Vycm9yX3BhdGhlcnJvciddID0gJ0hha2VtaXN0b2EgZWkgdm9pZGEgbHVrZWEgKHRpZWRvc3RvLW9pa2V1c29uZ2VsbWE/KSc7CiRsYW5nWyd0aXRsZV9kb3dubG9hZF9jaHVua3NpemUnXSA9ICdMYWRhdHRhdmFuIHBhbGFuIGtva28nOwokbGFuZ1snaW5mb19kb3dubG9hZF9jaHVua3NpemUnXSA9ICdUJmF1bWw7bSZhdW1sOyBhc2V0dXMgdmFpa3V0dGFhIGxhdGF1a3NlbiBrb2tvb24gamEgc2FhdHRhYSBhdXR0YWEgbXVpc3RpbmsmYXVtbDt5dCZvdW1sO3NzJmF1bWw7JzsKJGxhbmdbJ3dhcm5pbmdfc2FmZV9tb2RlJ10gPSAnUEhQbiBTYWZlIE1vZGUgb24gayZhdW1sO3l0Jm91bWw7c3MmYXVtbDssIHQmYXVtbDttJmF1bWw7IHNhYXR0YWEgYWloZXV0dGFhIG9uZ2VsbWlhIHVwbG9hZGVpc3NhICh0aWVkb3N0byBvaWtldWRldCkgamEgc2FhdHRhYSBhaWhldXR0YWEgb25nZWxtaWEgbGF0YXVrc2lzc2EuIFN1b3NpdHRlbGVtbWUgb3R0YW1hYW4geWh0ZXl0dCZhdW1sOyBzZXJ2ZXJpbiB5bGwmYXVtbDtwaXQmYXVtbDtqJmF1bWw7JmF1bWw7biBqb3Mgb25nZWxtaWEgZXNpaW50eXkuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdVc2VmdWwgZm9yIGRpc3BsYXlpbmcgYSBkZXRhaWwgcmVwb3J0IHVzaW5nIGEgZGlmZmVyZW50IHBhZ2UgdGVtcGxhdGUsIHRoaXMgcGFyYW1ldGVyIHRha2VzIHRoZSBwYWdlIGlkIG9yIHBhZ2UgYWxpYXMgb2YgYSBwYWdlIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgZGV0YWlsIHJlcG9ydCc7CiRsYW5nWydwYXJhbV9wcmVmaXgnXSA9ICdBIGJvb2xlYW4gdGhhdCBpbmRpY2F0ZXMgd2V0aGVyIGZpbGUgbmFtZXMgc2hvdWxkIGJlIHByZWZpeGVkJzsKJGxhbmdbJ3BhcmFtX3ByZWZpeF9mZXUnXSA9ICdBIGJvb2xlYW4gcGFyYW1ldGVyIHRoYXQgaW5kaWNhdGVzIHRoYXQgdGhlIHByZWZpeCBzaG91bGQgYmUgdGFrZW4gZnJvbSB0aGUgY3VycmVudCBhdXRob3IsIGlmIG5vdCBzcGVjaWZpZWQsIHRoZSBwcmVmaXggaXMgdGhlIGN1cnJlbnQgdGltZSAoaW4gZGVjaGV4IGZvcm1hdCknOwokbGFuZ1sncGFyYW1fbm9jYXB0Y2hhJ10gPSAnUG9pc3RhIENhcGNoYSBrJmF1bWw7eXQmb3VtbDtzdCZhdW1sOyAob2xldHVrc2VuYSBwJmF1bWw7JmF1bWw7bGwmYXVtbDspIHVwbG9hZCBmb3JtaXNzYSc7CiRsYW5nWyd0aXRsZV91cGxvYWRmb3JtX3RlbXBsYXRlJ10gPSAnTXVva2thYSB1cGxvYWQtbG9tYWtldHRhJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdTeSZvdW1sO3QmYXVtbDsgdGFya2lzdGVrdXZhbiB0ZWtzdGknOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGFya2lzdGVrdXZhbiB0ZWtzdGkgZWkgdCZhdW1sO3NtJmF1bWw7JmF1bWw7JzsKJGxhbmdbJ3RpdGxlX2F1dG90aHVtYm5haWxfZXh0ZW5zaW9ucyddID0gJ0x1byBwaWtrdWt1dmF0IHRpZWRvc3RvaWxsZSwgam9pbGxhIG9uIG4mYXVtbDttJmF1bWw7IHAmYXVtbDsmYXVtbDt0dGVldCc7CiRsYW5nWyd0aXRsZV9hdXRvdGh1bWJuYWlsX3NpemUnXSA9ICdNYWtzaW1pIHBpZW5vaXNrdXZhbiBrb2tvIChwaWtzZWxlaW4mYXVtbDspJzsKJGxhbmdbJ3Byb21wdF91cGxvYWRfaWNvbiddID0gJ1NpaXJyJmF1bWw7IGlrb25pIHBhbHZlbGltZWxsZSc7CiRsYW5nWydpbmZvX3N5c2RlZmF1bHQnXSA9ICdUJmF1bWw7dCZhdW1sOyB0ZWtzdGkmYXVtbDsgayZhdW1sO3l0ZXQmYXVtbDsmYXVtbDtuIHV1ZGVuIHRlbXBsYXRlbiBsdW9ubmlzc2EnOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3N5c2RlZmF1bHQnXSA9ICdPbGV0dXMgeWtzaXR5aXNrb2h0YWlzZW4gcmFwb3J0aW4gcG9oamEnOwokbGFuZ1sndGl0bGVfc3VtbWFyeXJwdF9zeXNkZWZhdWx0J10gPSAnT2xldHVzIHlodGVlbnZldG9yYXBvcnRpbiBwb2hqYSc7CiRsYW5nWyd0aXRsZV91cGxvYWRmb3JtX3N5c2RlZmF1bHQnXSA9ICdPbGV0dXMgdXBsb2FkLWxvbWFrZXBvaGphJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnUG9oamEnOwokbGFuZ1sncmVzZXR0b2RlZmF1bHQnXSA9ICdQYWxhdXRhIG9sZXR1a3NldCc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3RlbXBsYXRlJ10gPSAnWWh0ZWVudmV0b3JhcG9ydGluIHBvaGphJzsKJGxhbmdbJ3RpdGxlX2RldGFpbHJwdF90ZW1wbGF0ZSddID0gJ1lrc2l0eWlza29odGFpc2VuIHJhcG9ydGluIHBvaGphJzsKJGxhbmdbJ3Byb21wdF9uYW1lJ10gPSAnTmltaSc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdCddID0gJ09sZXR1cyc7CiRsYW5nWydsZWdlbmRfdXBsb2FkZm9ybSddID0gJ0xhdGFhIHRpZWRvc3RvJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1ZhYWRpdHR1IHBhcmFtZXRyaSBwdXV0dHV1JzsKJGxhbmdbJ2Vycm9yX21pc3NpbmduYW1lJ10gPSAnVGllZG9zdG9uIG5pbWkgdHVsZWUgYW50YWEnOwokbGFuZ1snZXJyb3JfbWlzc2luZ2V4dGVuc2lvbnMnXSA9ICdUYXJ2aXRhYW4gdiZhdW1sO2hpbnQmYXVtbDsmYXVtbDtuIHlrc2kgdGllZG9zdG9wJmF1bWw7JmF1bWw7dGUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ2ljb24nXSA9ICdJa29uaSB0dWxlZSBtJmF1bWw7JmF1bWw7cml0dCZhdW1sOyZhdW1sOyc7CiRsYW5nWydlcnJvcl9ub3N1Y2hyb3cnXSA9ICdNJmF1bWw7JmF1bWw7cml0ZXR0eSZhdW1sOyByaXZpJmF1bWw7IGVpIGwmb3VtbDt5dHlueXQnOwokbGFuZ1snbmFtZV91bmtub3duJ10gPSAnVHVudGVtYXRvbic7CiRsYW5nWydkZXNjcmlwdGlvbl91bmtub3duJ10gPSAnVGllZG9zdG9uIHR5eXBwaSBrdXZhdXMgdHVudGVtYXR0b21pbGxlIHRpZWRvc3RvaWxsZSc7CiRsYW5nWydpbWFnZSddID0gJ0t1dmEnOwokbGFuZ1snaWNvbiddID0gJ0lrb25pJzsKJGxhbmdbJ2V4dGVuc2lvbnMnXSA9ICdUaWVkb3N0b3AmYXVtbDsmYXVtbDt0dGVldCc7CiRsYW5nWydhZGRmaWxldHlwZSddID0gJ0xpcyZhdW1sOyZhdW1sOyB1dXNpIHRpZWRvc3RvdHl5cHBpJzsKJGxhbmdbJ2ZpbGVfdHlwZXMnXSA9ICdUaWVkb3N0b3R5eXBpdCc7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3J5aWQnXSA9ICdLYXRlZ29yaWFuIElEdCZhdW1sOyBlaSBhbm5ldHR1JzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcnknXSA9ICdLYXRlZ29yaWFuIElEdCZhdW1sOyBlaSBhbm5ldHR1JzsKJGxhbmdbJ2Vycm9yX3RlbXBsYXRlbmFtZWV4aXN0cyddID0gJ1NhbWFsbGEgbmltZWxsJmF1bWw7IG9uIGpvIG9sZW1hc3NhIHBvaGphJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZW5hbWUnXSA9ICdQb2hqYW4gbmltaSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdQb2hqYSc7CiRsYW5nWydwcm9tcHRfbmV3dGVtcGxhdGUnXSA9ICdMdW8gdXVzaSBwb2hqYSc7CiRsYW5nWydoZWxwX09uRG93bmxvYWQnXSA9ICc8aDM+T25Eb3dubG9hZDwvaDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZmluaXNoZXMgZG93bmxvYWRpbmcgYSBmaWxlPC9wPg0KPHVsPg0KPGxpPjxlbT5pZDwvZW0+IC0gVXBsb2FkIElEPC9saT4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRmlsZSBuYW1lPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIFRoZSBJUCBBZGRyZXNzIG9mIHRoZSBkb3dubG9hZGVyPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PbkRlbGV0ZUNhdGVnb3J5J10gPSAnPGgzPk9uRGVsZXRlQ2F0ZWdvcnk8L2gzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBjYXRlZ29yeSBpcyBEZWxldGVkPC9wPg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBDYXRlZ29yeSBuYW1lPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gQ2F0ZWdvcnkgcGF0aDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfT25DcmVhdGVDYXRlZ29yeSddID0gJzxoMz5PbkNyZWF0ZUNhdGVnb3J5PC9oMz4NCjxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgY2F0ZWdvcnkgaXMgQ3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGNhdGVnb3J5PC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBjYXRlZ29yeSBkZXNjcmlwdGlvbjwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIFRoZSBjYXRlZ29yeSBwYXRoPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gQSBmbGFnIGluZGljYXRpbmcgaWYgdGhlIGNhdGVnb3J5IGlzIGxpc3RhYmxlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PblJlbW92ZSddID0gJzxoMz5PblJlbW92ZTwvaDM+DQo8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIGZpbGUgaXMgcmVtb3ZlZCB2aWEgdGhlIGFkbWluIG9yIGZyb250ZW5kIGludGVyZmFjZXM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSByZW1vdmVkIGZpbGU8L2xpPg0KPGxpPjxlbT5pZDwvZW0+IC0gVGhlIGlkIG9mIHRoZSByZW1vdmVkIGZpbGU8L2xpPg0KPGxpPjxlbT5jYXRlZ29yeV9pZDwvZW0+IC0gVGhlIGlkIG9mIHRoZSBjYXRlZ29yeTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfT25VcGxvYWQnXSA9ICc8aDM+T25VcGxvYWQ8L2gzPg0KPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBuZXcgZmlsZSBpcyB1cGxvYWRlZCB2aWEgdGhlIGFkbWluIG9yIGZyb250ZW5kIGludGVyZmFjZXM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPmNhdGVnb3J5PC9lbT4gLSBUaGUgY2F0ZWdvcnkgbmFtZTwvbGk+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSB1cGxvYWRlZCBmaWxlPC9saT4NCjxsaT48ZW0+c2l6ZTwvZW0+IC0gVGhlIHNpemUgb2YgdGhlIHVwbG9hZGVkIGZpbGU8L2xpPg0KPGxpPjxlbT5zdW1tYXJ5PC9lbT4gLSBUaGUgc2hvcnQgZGVzY3JpcHRpb24gZm9yIHRoZSB1cGxvYWRlZCBmaWxlIChtYXkgYmUgZW1wdHkpPC9lbT48L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gVGhlIGxvbmcgZGVzY3JpcHRpb24gZm9yIHRoZSB1cGxvYWRlZCBmaWxlIChtYXkgYmUgZW1wdHkpPC9lbT48L2xpPg0KPGxpPjxlbT5hdXRob3I8L2VtPiAtIFRoZSBhdXRob3Igb2YgdGhlIHVwbG9hZGVkIGZpbGUgKGlmIGF2YWlsYWJsZSk8L2VtPjwvbGk+DQo8bGk+PGVtPmlwX2FkZHJlc3M8L2VtPiAtIFRoZSBpbnRlcm5ldCBhZGRyZXNzIG9mIHRoZSBjbGllbnQgdGhhdCB1cGxvYWRlZCB0aGUgZmlsZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25kZWxldGVjYXRlZ29yeSddID0gJ0V2ZW50IGdlbmVyYXRlZCB3aGVuIGEgY2F0ZWdvcnkgaXMgZGVsZXRlZCc7CiRsYW5nWydpbmZvX2V2ZW50X29uY3JlYXRlY2F0ZWdvcnknXSA9ICdFdmVudCBnZW5lcmF0ZWQgd2hlbiBhIGNhdGVnb3J5IGlzIGNyZWF0ZWQnOwokbGFuZ1snaW5mb19ldmVudF9vbmRvd25sb2FkJ10gPSAnRXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBmaWxlIGlzIGRvd25sb2FkZWQnOwokbGFuZ1snaW5mb19ldmVudF9vbnVwbG9hZCddID0gJ0V2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IGZpbGUgaXMgdXBsb2FkZWQnOwokbGFuZ1snaW5mb19ldmVudF9vbnJlbW92ZSddID0gJ0V2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZmlsZSBpcyByZW1vdmVkJzsKJGxhbmdbJ3RpdGxlX3VzZXJ0YWdfb251cGxvYWQnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gbHVvbWEgdGFnaSwgam90YSBrdXRzdXRhYW4ga3VuIHNpaXJ0byBvbiB2YWxtaXMnOwokbGFuZ1snbm9uZSddID0gJ0VpIG1pdCZhdW1sOyZhdW1sO24nOwokbGFuZ1snbWF0Y2hlc2ZvdW5kJ10gPSAnT3N1bWFhIGwmb3VtbDt5ZGV0dHknOwokbGFuZ1snZmlsdGVyJ10gPSAnU3VvZGF0YSc7CiRsYW5nWyd0aXRsZV9yZWRpcmVjdG9udXBsb2FkJ10gPSAnT2hqYWEgc2l2dWxsZSAoaWQgLyBhbGlhcykgbGF0YXVrc2VuIGomYXVtbDtsa2Vlbic7CiRsYW5nWydkZXRhaWxzJ10gPSAnTGlzJmF1bWw7dGllZG90JzsKJGxhbmdbJ2NvbmZpcm1fcHJlZmVyZW5jZXMnXSA9ICdIYWx1YXRrbyB2YXJtYXN0aSBtdXV0dGFhIGFzZXR1a3NpYT8nOwokbGFuZ1snZXJyb3Jfbm9maWxlc3VwbG9hZGVkJ10gPSAnVGllZG9zdG9hIGVpIGxhZGF0dHUnOwokbGFuZ1sncHJvbXB0X3JlcGxhY2UnXSA9ICdTYWxsaSB5bGlraXJqb2l0dXMnOwokbGFuZ1snaW5mb19yZXBsYWNlJ10gPSAnS29ydmFhIHRpZWRvc3RvIHNhbWFubmltaXNlbGxhIChlaSB2YWloZGEgSUQ6dGEpJzsKJGxhbmdbJ3BhcmFtX25vX2luaXRpYWwnXSA9ICcmQXVtbDtsJmF1bWw7IG4mYXVtbDt5dCZhdW1sOyBhbHVzc2EgdHVsb2tzaWEsIGpvcyBzdW9kYXR1cyBvbiBwJmF1bWw7JmF1bWw7bGwmYXVtbDsnOwokbGFuZ1sncGFyYW1fa2V5J10gPSAnUHJvdmlkZSBhbiBhZGRpdGlvbmFsIGtleSB0byB0aGUgbW9kdWxlIGZvciBmdXJ0aGVyIG9yZ2FuaXppbmcgdXBsb2Fkcy4gIFRoaXMga2V5IGNvdWxkIGJlIGFuIGVuY29kZWQgc3RyaW5nIGxpa2U6ICYjMDM5O2ZldXNlcnM6dWlkJiMwMzk7LCBldGMuICBUaGlzIHBhcmFtZXRlciBpcyB1c3VhbGx5IG9ubHkgbmVlZGVkIHdoZW4gZW1iZWRkaW5nIHRoZSB1cGxvYWRzIG1vZHVsZSBpbnRvIGFub3RoZXIgbW9kdWxlJzsKJGxhbmdbJ3BhcmFtX25vYXV0aG9yJ10gPSAnSGlkZSB0aGUgYXV0aG9yIGZpZWxkIGZyb20gdGhlIHVwbG9hZCBmb3JtLiAgVGhpcyBwYXJhbWV0ZXIgaXMgb25seSB2YWxpZCB3aGVuIG1vZGU9JiMwMzk7dXBsb2FkJiMwMzk7LiAgSWYgVGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlIGlzIHByZXNlbnQsIGFuZCBhIHVzZXIgaXMgY3VycmVudGx5IGxvZ2dlZCBpbiwgYSBoaWRkZW4gZmllbGQgd2lsbCBob2xkIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXJuYW1lJzsKJGxhbmdbJ3BhcmFtX3VwbG9hZF9pZCddID0gJ3VwbG9hZF9pZD0mcXVvdDtpZCZxdW90OyAtIHNwZWNpZnkgYSBzaW5nbGUgZmlsZSBmb3IgdGhlIHVybC9saW5rIG9yIHNpbmdsZSBtb2RlcyAoYWJvdmUpJzsKJGxhbmdbJ3BhcmFtX3VzZV9zdHJpY3RfcmVnZXhwJ10gPSAnU3VvZGF0dXMgayZhdW1sO3l0dCZhdW1sOyZhdW1sOyB0aXVra2FhIHMmYXVtbDsmYXVtbDtubiZvdW1sO2xsaXN0JmF1bWw7IGxhdXNla2V0dGEnOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdLJmF1bWw7eXQmYXVtbDsgdCZhdW1sO20mYXVtbDtuIG5pbWlzdCZhdW1sOyBwb2hqYWEgeWtzaXR5aXNrb2h0YWlzZWVuIHJhcG9ydHRpaW4nOwokbGFuZ1sncGFyYW1fdGVtcGxhdGUnXSA9ICdVc2UgYSB0ZW1wbGF0ZSB3aXRoIHRoaXMgbmFtZSBmb3IgdGhpcyByZXBvcnQgb3IgZm9ybS4gIFRoZSBtb2RlIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoYXQgdHlwZSBvZiB0ZW1wbGF0ZSBpcyByZXF1aXJlcmQsIGFuZCB0aGVuIGEgbmFtZSBtYXRjaCBpcyBwZXJmb3JtZWQgd2l0aGluIHRoYXQgdHlwZS4nOwokbGFuZ1sncGFyYW1fZmlsdGVyJ10gPSAnTiZhdW1sO3l0JmF1bWw7IHN1b2RhdHVza2FhdmFrZSc7CiRsYW5nWydwYXJhbV9ub19pbnRpdGlhbCddID0gJ0smYXVtbDt5dCZhdW1sO25uJm91bWw7bGxpbmVuIHZhaW4gam9zIHN1b2RhdHVzcGFyYW1ldHJpIG9uIGFubmV0dHUsIFZhaWt1dHRhYSB0dWxva3NpaW4gaWxtYW4gc3VvZGF0dXN0YQ0KJzsKJGxhbmdbJ3BhcmFtX2ZpbGV0eXBlcyddID0gJ04mYXVtbDt5dCZhdW1sOyB2YWluIHRpZWRvc3RvdCwgam9pZGVuIHR5eXBwaSB2YXN0YWEgdCZhdW1sO3QmYXVtbDsgcGlsa3VsbGEgZXJvdGV0dHVhIGxpc3RhYSc7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICcgIDxwPlNvcnQgT3JkZXJzDQogIDx1bD4NCiAgPGxpPjxlbT5kYXRlX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgZGF0ZTwvbGk+DQogIDxsaT48ZW0+ZGF0ZV9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgZGF0ZTwvbGk+DQogIDxsaT48ZW0+bmFtZV9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIG5hbWU8L2xpPg0KICA8bGk+PGVtPm5hbWVfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIG5hbWU8L2xpPg0KICA8bGk+PGVtPnNpemVfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBzaXplPC9saT4NCiAgPGxpPjxlbT5zaXplX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBzaXplPC9saT4NCiAgPGxpPjxlbT5kZXNjX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgZGVzY3JpcHRpb248L2xpPg0KICA8bGk+PGVtPmRlc2NfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGRlc2NyaXB0aW9uPC9saT4NCiAgPGxpPjxlbT5hdXRob3JfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBhdXRob3I8L2xpPg0KICA8bGk+PGVtPmF1dGhvcl9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgYXV0aG9yPC9saT4NCiAgPGxpPjxlbT5pcF9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGlwIGFkZHJlc3M8L2xpPg0KICA8bGk+PGVtPmlwX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBpcCBhZGRyZXNzPC9saT4NCiAgPGxpPjxlbT5yYW5kb208L2VtPiAtIFJhbmRvbSBzb3J0IG9yZGVyPC9saT4NCiAgPC91bD4NCiAgPC9wPic7CiRsYW5nWydwYXJhbV9saXN0aW5ndGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB0byB1c2UgZm9yIGNhdGVnb3J5IGxpc3RpbmdzIGFmdGVyIGNsaWNrdGhyb3VnaCBmcm9tIENhdGVnb3J5IFN1bW1hcnkgcGFnZSc7CiRsYW5nWydwYXJhbV9saXN0aW5nc29ydG9yZGVyJ10gPSAnU29ydCBvcmRlciAoYWxhIHBhcmFtX3NvcnRvcmRlcikgdG8gdXNlIGZvciBjYXRlZ29yeSBsaXN0aW5ncyBhZnRlciBjbGlja3Rocm91Z2ggZnJvbSBDYXRlZ29yeSBTdW1tYXJ5IHBhZ2UnOwokbGFuZ1sncGFyYW1fZmlsZWV4dGVuc2lvbnMnXSA9ICcgDQpmaWxlX2V4dGVuc2lvbnM9JnF1b3Q7ZXh0MSxleHQyLGV4dDMmcXVvdDsNCjxwPk1pdCZhdW1sOyB0aWVkb3N0byBwJmF1bWw7JmF1bWw7dHRlaXQmYXVtbDsgdm9pZGFhbiBsYWRhdGEsIHZhYXRpaSBtb2RlPSZxdW90O3VwbG9hZCZxdW90OyBwYXJhbWV0cmluLiBZbGlraXJqb2l0dGFhIG1vZHVsaW4gcGVydXNhc2V0dWtzZXQ8L3A+JzsKJGxhbmdbJ3BhcmFtX2NvdW50J10gPSAnY291bnQ9JnF1b3Q7TiZxdW90Ow0KPHA+TiZhdW1sO3l0dCZhdW1sOyZhdW1sOyBOIGthcHBhbGV0dGEgdHVsb2tzaWE8L3A+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnY2F0ZWdvcnk9JnF1b3Q7bmFtZSZxdW90Ow0KPHA+PGI+SHVvbWFhOjwvYj4gVm9pIG9sbGEgbXkmb3VtbDtzICZxdW90O2FsbCZxdW90Oywgam9rYSBuJmF1bWw7eXR0JmF1bWw7JmF1bWw7IGthaWtraSA8ZW0+bGlzdGF0dGF2aXNzYSBvbGV2YXQ8L2VtPiBrYXRlZ29yaWF0PC9wPic7CiRsYW5nWydwYXJhbV9tb2RlJ10gPSAnICA8dWw+DQogIDxsaT48ZW0+ZGV0YWlsZWQ8L2VtPiAtIERpc3BsYXkgYSBkZXRhaWxlZCBsaXN0IG9mIGFsbCBmaWxlcyBpbiB0aGUgY2F0ZWdvcnk8L2xpPg0KICA8bGk+PGVtPnVwbG9hZDwvZW0+IC0gRGlzcGxheSBhIGZvcm0gdG8gYWxsb3cgYSBmcm9udGVuZCB1c2VyIHRvIHVwbG9hZCBhIGZpbGU8L2xpPg0KICA8bGk+PGVtPnVybCA8aT5vcjwvaT4gbGluazwvZW0+IC0gRGlzcGxheSBhIGxpbmsgdG8gYSBmaWxlPC9saT4NCiAgPGxpPjxlbT5zdW1tYXJ5PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyaXplZCBsaXN0IG9mIGFsbCBmaWxlcyBpbiB0aGUgY2F0ZWdvcnk8L2xpPg0KICA8bGk+PGVtPnNpbmdsZTwvZW0+IC0gRGlzcGxheSBhIGRldGFpbGVkIHJlcG9ydCBhYm91dCBhIHNpbmdsZSB1cGxvYWQ8L2xpPg0KICA8bGk+PGVtPnNpbmdsZXN1bW1hcnk8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJpemVkIHJlcG9ydCBhYm91dCBhIHNpbmdsZSB1cGxvYWQvbGk+DQogIDwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NlbGVjdGZvcm0nXSA9ICdXaGVuIHVzaW5nIHRoZSAmIzAzOTtzZWxlY3QmIzAzOTsgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgaXMgdGhlIGZvcm1pZCBvZiB0aGUgcGFyZW50IGZvcm0uICBVc2VkIHRvIGhhbmRsZSBwYXJhbWV0ZXIgcGFzc2luZyc7CiRsYW5nWydwYXJhbV9zZWxlY3RuYW1lJ10gPSAnd2hlbiB1c2luZyB0aGUgJiMwMzk7c2VsZWN0JiMwMzk7IG1vZGUsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZmllbGQnOwokbGFuZ1sncGFyYW1fc2VsZWN0dmFsdWUnXSA9ICdXaGVuIHVzaW5nIHRoZSAmIzAzOTtzZWxlY3QmIzAzOTsgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBkZWZhdWx0IGZpZWxkIHZhbHVlJzsKJGxhbmdbJ3BhcmFtX3NlbGVjdG5vbmUnXSA9ICdXaGVuIHVzaW5nIHRoZSAmIzAzOTtzZWxlY3QmIzAzOTsgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHdldGhlciAmIzAzOTtub25lJiMwMzk7IGlzIGEgdmFsaWQgY2hvaWNlLic7CiRsYW5nWydyZXR1cm50b21vZHVsZSddID0gJ1BhbGFhIG1vZHV1bGlpbic7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3JpZXMnXSA9ICdFaSB5aHQmYXVtbDsmYXVtbDtuIG0mYXVtbDsmYXVtbDtyaXRlbHR5JmF1bWw7IGthdGVnb3JpYWEnOwokbGFuZ1sndGl0bGVfZW5mb3JjZWV4dGVuc2lvbnMnXSA9ICdWYWFkaSBwJmF1bWw7JmF1bWw7dGUga2Fpa2lsbGUgbGFkYXR1aWxsZSB0aWVkb3N0b2lsbGUnOwokbGFuZ1sncmVzdG9yZWRlZmF1bHRzY29uZmlybSddID0gJ09sZXRrbyB2YXJtYSBldHQmYXVtbDsgaGFsdWF0IHBhbGF1dHRhYSBrYWlra2kgcG9oamF0IG9sZXR1cyBwb2hqaWtzaS4gS2Fpa2tpIG11dXRva3NldCBqb2l0YSBvbGV0IHRlaG55dCBoJmF1bWw7dmkmYXVtbDt2JmF1bWw7dCEnOwokbGFuZ1snaW5mb190aHVtYm5haWwnXSA9ICdWYWxpbm5haW5lbiBwaWVub3NrdXZhdGllZG9zdG8nOwokbGFuZ1sndGh1bWJuYWlsJ10gPSAnUGllbm9pc2t1dmEnOwokbGFuZ1snbmV3dGh1bWJuYWlsJ10gPSAnU2lpcnImYXVtbDsgdXVzaSBwaWVub2lza3V2YSc7CiRsYW5nWydpbmZvX3N1bW1hcnknXSA9ICdMeWh5dCBrdXZhdXMgdGllZG9zdG9zdGEnOwokbGFuZ1snaW5mb19jYXRlZ29yeW5hbWUnXSA9ICdMeWh5dCBrdXZhdXMga2F0ZWdvcmlhc3RhJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlkZXNjJ10gPSAnS3V2YXVzIGthdGVnb3JpYXN0YSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5cGF0aCddID0gJ1RoZSBkaXJlY3RvcnkgbmFtZSBpbnNpZGUgdGhlIHVwbG9hZHMgZGlyZWN0b3J5IHRoYXQgd2lsbCBiZSB1c2VkIHRvIHN0b3JlIGZpbGVzIGluIHRoaXMgY2F0ZWdvcnkuICBJZiB0aGUgZGlyZWN0b3J5IG9mIHRoaXMgbmFtZSBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LCBpdCBtYXkgYmUgY3JlYXRlZCc7CiRsYW5nWydpbmZvX2Rlc3RuYW1lJ10gPSAnVXNlIHRoZSAmIzAzOTtVcGxvYWQgQXMmIzAzOTsgZmllbGQgdG8gY2hhbmdlIHRoZSBuYW1lIG9mIHRoZSBmaWxlIG9uIHVwbG9hZC4gIExlYXZlIGJsYW5rIHRvIHByZXNlcnZlIHRoZSBmaWxlbmFtZSBhcy1pcy4nOwokbGFuZ1snZXJyb3JfY2FudGNyZWF0ZWRpcmVjdG9yeSddID0gJ0VpIHZvaWRhIGx1b2RhIGhha2VtaXN0b2EnOwokbGFuZ1snZXJyb3Jfbm9tYWlsZXJtb2R1bGUnXSA9ICdDTVNNYWlsZXIgbW9kdWxpYSBlaSB2b2l0dSBhbHVzdGFhJzsKJGxhbmdbJ3VwbG9hZF9ub3RpZmljYXRpb24nXSA9ICdVdXNpIHRpZWRvc3RvIG9uIHVwbG9hZGF0dHUnOwokbGFuZ1sndGl0bGVfZW1haWxfb25fdXBsb2FkJ10gPSAnTCZhdW1sO2hldCZhdW1sOyB1cGxvYWQgaWxtb2l0dXMgb3NvaXR0ZWVzZWVuOic7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZSddID0gJ0VtYWlsIHBvaGphJzsKJGxhbmdbJ3RpdGxlX2R1bW15X2luZGV4X2h0bWwnXSA9ICdDcmVhdGUgZHVtbXkgaW5kZXguaHRtbCBmaWxlcyBpbiBlYWNoIGRpcmVjdG9yeT88YnIvPjxlbT5BbnkgZXhpc3RpbmcgaW5kZXguaHRtbCBmaWxlcyB3aWxsIHJlbWFpbjwvZW0+JzsKJGxhbmdbJ2Fib3V0J10gPSAnVGlldG9qYSc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnUCZhdW1sOyZhdW1sO3N5IGV2JmF1bWw7dHR5LCB0YXJraXN0YSBvaWtldXRlc2kuJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90d3JpdGUnXSA9ICdFaSB2b2l0dSBraXJqb2l0dGFhJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnTGlzJmF1bWw7JmF1bWw7IGthdGVnb3JpYSc7CiRsYW5nWydhbGwnXSA9ICdLYWlra2knOwokbGFuZ1snYXJleW91c3VyZSddID0gJ09sZXRrbyB2YXJtYT8nOwokbGFuZ1snYXV0aG9yJ10gPSAnVGVraWomYXVtbDsnOwokbGFuZ1snY2FuY2VsJ10gPSAnUGVydXV0YSc7CiRsYW5nWydjYW5ub3Rtb2RpZnlwYXRoJ10gPSAnKFBvbGt1YSBlaSB2b2lkYSBtdXV0dGFhKSc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvcmlhdCc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpYSc7CiRsYW5nWydtZXNzYWdlX2NhdGVnb3J5YWRkZWQnXSA9ICdLYXRlZ29yaWEgbGlzJmF1bWw7dHR5JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT4NCjxwPlZlcnNpb24gMS4wLiAtIFNlcHRlbWJlciAyMDA1LjwvcD4NCjxwPiBJbml0aWFsIFJlbGVhc2UuPC9wPg0KPC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4wMS4gLSBTZXB0ZW1iZXIgMjAwNTwvcD4NCjxwPk1pbm9yIGZpeGVzLjwvcD48L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjAyLiAtIFNlcHRlbWJlciAyMDA1PC9wPg0KPHA+QWRkZWQgYWJpbGl0eSB0byBzcGVjaWZ5IHNvcnQgb3JkZXI8L3A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjAzLiAtIFNlcHRlbWJlciAyMDA1PC9wPg0KPHA+Rml4IHJlZ2FyZGluZyBjb25mbGljdCBpbiB0ZW1wbGF0ZSBuYW1lczwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMDQuIC0gU2VwdGVtYmVyIDIwMDU8L3A+DQo8cD5BZGRlZCBhYmlsaXR5IHRvIHJlLXNjYW4gYSBkaXJlY3RvcnksIGFuZCB0byB1cGxvYWQgZmlsZXMgZnJvbSB0aGUgYWRtaW4gcGFnZTwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMDUuIC0gU2VwdGVtYmVyIDIwMDU8L3A+DQo8cD5GaXhlZCBzb21lIFBIUCB2YXJpYWJsZSBpc3N1ZXM8L3A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjA2LiAtIFNlcHRlbWJlciAyMDA1PC9wPg0KPHA+QWRkZWQgYXV0aG9yIGZpZWxkIHRvIHRoZSBhZG1pbiBwYW5lbCB1cGxvYWQgZm9ybSwgYWRkZWQgYSBzdW1tYXJ5IGZpZWxkLCBhbmQgbWFkZSBkZXNjcmlwdGlvbiBhIHRleHQgYXJlYSwgYW5kIGFsbG93IHRoZSB1c2VyIHRvIHNwZWNpZnkgYSBkZXN0aW5hdGlvbiBmaWxlIG5hbWU8L3A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjA3LiAtIFNlcHRlbWJlciAyMDA1PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gcmVuYW1lIGZpbGVzIGFuZCBmaXhlZCBhIHNjYW4gZXJyb3I8L3A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjA4LiAtIFNlcHRlbWJlciAyMDA1PC9wPg0KPHA+QmV0dGVyIGhhbmRsaW5nIG9mIG5hbWVzIHdpdGggc3BhY2VzLCBhbmQgYSBmZXcgbWlub3IgZXJyb3JzIGZpeGVkLiAgQWRkZWQgc3dlZGlzaCB0cmFuc2xhdGlvbiAodGhhbmtzIHdlc3Rpcyk8L3A+PC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4xLjAuIC0gT2N0b2JlciAyMDA1PC9wPg0KIDx1bD4NCiAgIDxsaT5Nb2RpZmllZCBBdHRlbXB0VXBsb2FkIGZ1bmN0aW9uIHNvIGl0IGNvdWxkIGJlIGNhbGxlZCBleHRlcm5hbGx5PC9saT4NCiAgIDxsaT5BZGRlZCBHZXRVcGxvYWREZXRhaWxzIGZ1bmN0aW9uIHRoYXQgcmV0dXJucyBhbGwgb2YgdGhlIGRldGFpbHMgYWJvdXQgYSBtb2R1bGUsIGluY2x1ZGluZyBhIGxpbms8L2xpPg0KICAgPGxpPkFkZGVkIFJlZGlyZWN0cyBzbyB0aGF0IHdvcmtpbmcgd2l0aCB0aGUgbW9kdWxlIGlzIGFsb3QgbmljZXIsIGl0IHJldHVybnMgdG8gdGhlIHJpZ2h0IHRhYjwvbGk+DQogICA8bGk+Q2hhbmdlZCB0aGUgZnJvbnQgdGVtcGxhdGUgdG8gbG9vayBhIGxpdHRsZSBiZXR0ZXIgYW5kIG1ha2UgbW9yZSBzZW5zZTwvbGk+DQogICA8bGk+Rml4ZXMgdG8gdGhlIHVwbG9hZHMgc3R1ZmYgc28gdGhhdCB0aGUgZGVzY3JpcHRpb24gaXMgc2V0LCBhbmQgbmFtZSBhbmQgc3VtbWFyeSBhcmUgcHV0IGluIHRoZSByaWdodCBwbGFjZTwvbGk+DQogICA8bGk+Rml4ZXMgdG8gZXZlbiBiZXR0ZXIgaGFuZGxlIHNwYWNlcyBpbiBuYW1lczwvbGk+DQogICA8bGk+T3B0aW9uYWx5IHBsYWNlIGR1bW15IGluZGV4Lmh0bWwgZmlsZXMgaW4gZWFjaCB1cGxvYWQgZGlyZWN0b3J5PC9saT4NCiAgIDxsaT5JZiBzcGVjaWZ5aW5nIGEgZGVzdGluYXRpb24gbmFtZSwgYW5kIG5vIGV4dGVuc2lvbiBpcyBnaXZlbiwgdGhlIGV4dGVuc2lvbiBvZiB0aGUgb3JpZ2luYXRpbmcgZmlsZSAoaWYgYW55IGV4aXN0cyBpcyB1c2VkPC9saT4NCiA8L3VsPg0KIDxwPjxlbT48Yj5JbXBvcnRhbnQhPC9iPjwvZW0+PGJyLz5JdCBpcyBub3QgcG9zc2libGUgdG8gdXBncmFkZSBmcm9tIGFueSBvdGhlciB2ZXJzaW9uIG9mIHRoZSBVcGxvYWRzIG1vZHVsZSB0byAxLjEuMC4gIFRoaXMgaXMgZHVlIHRvIHNvbWUgZXJyb3JzIHRoYXQgd2VyZSBtYWRlIGluIHRoZSBkYXRhYmFzZSByb3V0aW5lcywgYW5kIGV2ZW4gaW4gdGhlIHVwZ3JhZGUgcm91dGluZSBpbiAxLjAuNi4gIFlvdSBtdXN0IGRlLWluc3RhbGwgdGhlIG9sZCB2ZXJzaW9uLCBhbmQgdGhlbiByZS1pbnN0YWxsIHRoZSBuZXcgdmVyZXNpb24uIFRoaXMgd2lsbCBjYXVzZSBzaWduaWZpY2FudCBkaWZmaWN1bHR5IGlmIHlvdSBoYXZlIGRzY3JpcHRpb25zLCBldGMsIGluIHlvdXIgdGFibGVzPC9wPg0KPC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4xLjEuIC0gT2N0b2JlciwgMjAwNTwvcD4NCjxwPkZpeGVkIGEgY291cGxlIG9mIG1pbm9yIGJ1Z3MgaW4gdGhlIEdldFVwbG9hZERldGFpbHMgYW5kIGFkZGVkIGFub3RoZXIgbGluayAob3IgYSB1cmwpIHRvIHRoZSB1cGxvYWRlZCBmaWxlLjwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMS4yLiAtIE9jdG9iZXIsIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgVVJMIGZpZWxkIGluIEdldFVwbG9hZERldGFpbHMgdG8gcmV0dXJuIGEgZG93bmxvYWQgbGluayBhbmQgYWRkZWQgYW4gYWJzdXJsIGZpZWxkIHdoaWNoIHJldHVybnMgdGhlIGFic29sdXRlIHBhdGggdG8gdGhlIGZpbGUgb24gdGhlIHdlYnNlcnZlci4gIENsaWNrcyBvbiB0aGlzIGxpbmsgd2lsbCBub3QgYmUgY291bnRlZDwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMS4zLiAtIE9jdG9iZXIsIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdXBncmFkZSBwcm9ibGVtIGZyb20gdGhlIDEuMC54IHNlcmllcy4gIFVzZXJzIG9mIHRoZSAxLjAueCBzZXJpZXMgc2hvdWxkIGJlIGFibGUgdG8gdXBncmFkZSB0byAxLjEuMyBub3cgd2l0aCBubyBkaWZmaWN1bHR5LiA8Yj5UaG9zZSBhcmUgZmFtb3VzIGxhc3Qgd29yZHMsIHBsZWFzZSBiYWNrdXAgZmlyc3Q8L2I+LiBGaXhlZCB0aGUgY29udGVudCByZWRpcmVjdCB0aGluZ3MgdGhhdCB3ZXJlIGlycml0YXRpbmcgbWUuICBBbHNvIGFkZGVkIGNhdGVnb3J5PWFsbCB0byBsaXN0IGFsbCBvZiB0aGUgdXBsb2FkcyBpbiBhbGwgbGlzdGFibGUgY2F0ZWdvcmllcyA8ZW0+KGxldHMgYWxsIGhvcGUgSSBnb3QgdGhlIHNxbCBmaWd1cmVkIG91dCBwcm9wZXJseSk8L2VtPi48L3A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjEuNC4gLSBPY3RvYmVyLCAyMDA1PC9wPg0KPHA+QWRkZWQgdGhlIGNvdW50IHBhcmFtZXRlciB0byBsaXN0IG9ubHkgdGhlIGZpcnN0IE4gcmVjb3JkcywgYW5kIGFkZGVkICZxdW90O3N1bW1hcnlsaW5rJnF1b3Q7LCBhbmQgJnF1b3Q7Y2F0ZWdvcnkmcXVvdDsgdG8gdGhlIHRlbXBsYXRlcyBmb3Igd2VzdGlzLiAgRm9yIGV4YW1wbGVzIG9uIGhvdyB0byB1c2UgdGhlbSByZXNldCB5b3VyIHRlbXBsYXRlcyBiYWNrIHRvIGRlZmF1bHQuPC9wPjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMS41LiAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KPHA+QWRkZWQgZW1haWwgbm90aWZpY2F0aW9uIGFuZCBzb21lIGJ1ZyBmaXhlczwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMS42LiAtIE5vdmVtYmVyLCAyMDA1PC9wPg0KPHA+QWRkZWQgYW4gYXBpIGZ1bmN0aW9uIGFuZCBmaXhlZCBzb21lIHJlZGlyZWN0aW9uIHN0dWZmPC9wPg0KPC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4xLjcuIC0gTm92ZW1iZXIsIDIwMDU8L3A+DQo8cD5Nb3JlIEFQSSBmdW5jdGlvbnMsIGFuZCBub3cgaWdub3JlIGRvdCBmaWxlcyB3aGVuIHNjYW5uaW5nLiAgRW1haWwgbm90aWZpY2F0aW9uIGlzIG5vdyBpbi48L3A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjEuOC4gLSBKYW51YXJ5LCAyMDA2PC9wPg0KPHA+KiBJbXByb3ZlZCBkb2NzIHdydCBhcGFjaGUgYW5kIHBocCBjb25maWdzLjwvcD4NCjxwPiogRml4ZWQgcHJvYmxlbSB3aGVyZSBmaWxlc2l6ZSB3YXMgc2hvd2luZyB1cCBhcyAwLjwvcD4NCjxwPiogTW9kaWZpZWQgcGVybWlzc2lvbnMgdG8gYmUgbW9yZSBncmFudWxhcjwvcD4NCjxwPiogQWRkZWQgc29tZSBjb21tZW50cyBhbmQgdmVyYm9zaXR5IHRvIHRoZSBjYXRlZ29yeSBhbmQgdXBsb2FkcyBmb3JtcyBpbiB0aGUgYWRtaW4gc2VjdGlvbjwvcD4NCjxwPiogQWRkZWQgJnF1b3Q7cmFuZG9tJnF1b3Q7IHNvcnQgb3JkZXI8L3A+DQo8cD4qIFNvbWUgUEhQNSBmaXhlczwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMS45LiAtIEphbnVhcnksIDIwMDY8L3A+DQo8cD4qIEFkZGVkIHRoZSBhYmlsaXR5IHRvIHVwbG9hZCBhIHRodW1ibmFpbCBpbWFnZTwvcD4NCjxwPiogU29tZSBpbXByb3ZlZCBhdWRpdGluZzwvcD4NCjxwPiogeG1sIG5vdyBhZGRlZCB0byB0aGUgZGVmYXVsdCBmaWxlIHR5cGVzIChuZXcgaW5zdGFsbHMgb25seSk8L3A+DQo8cD4qIEFkZGVkIGEgY29uZmlybWF0aW9uIG1lc3NhZ2UgdG8gdGhlIHJlc2V0IHRvIGRlZmF1bHRzIGJ1dHRvbnMgb2YgdGhlIHRlbXBsYXRlIHBhZ2VzLjwvcD4NCjxwPiogQWRkZWQgdGhlIGZpbGVfZXh0ZW5zaW9ucyBwYXJhbWV0ZXIgZm9yIHRoZSB1cGxvYWQgZm9ybTwvcD4NCjxwPiogVGhlIGN1cnJlbnQgY2F0ZWdvcnkgc2VsZWN0ZWQgaW4gdGhlIGZpbGVzIGZpbHRlciBpcyBzdGlja3kuDQo8cD4qIEFkZGVkIGEgcHJlZmVyZW5jZSB0byBlbmZvcmljZSBmaWxlbmFtZSBleHRlbnNpb25zIChkZWZhdWx0cyB0byBvbik8L3A+DQo8cD4qIEFkZGVkIGEgbGluayB0byB0aGUgZWRpdCBwYWdlLCBpbiB0aGUgbmFtZSBjb2x1bW4gb2YgdGhlIGZpbGVzIGxpc3QuPC9wPg0KPHA+KiBNaW5vciBjaGFuZ2VzIHRvIHRoZSBsYXlvdXQgYW5kIHRleHQgdG8gYWRkIGNsYXJpdHkuPC9wPg0KPHA+KiBBZGRlZCBkb3dubG9hZF91cmwgYXMgYW4gYXZhaWxhYmxlIHNtYXJ0eSB0YWcgaW4gdGhlIHRlbXBsYXRlczwvcD4NCjxsaT4NCjxwPlZlcnNpb24gMS4xLjEwLiAtIEZlYnJ1YXJ5LCAyMDA2PC9wPg0KPHA+KiBTdW1tYXJ5IG5vdyBkZWZhdWx0cyB0byB0aGUgZmlsZW5hbWUgKHdpdGhvdXQgdGhlIGV4dGVuc2lvbikgaWYgbm9uZSBpcyBzcGVjaWZpZWQ8L3A+DQo8cD4qIE5vdyBjb3JyZWN0bHkgaGFuZGxlIGlmIHRoZSB0aHVtYm5haWwgZXh0ZW5zaW9uIGlzIG5vdCBpbiB0aGUgYWNjZXB0ZWQgZXh0ZW5zaW9uIGxpc3Q8L3A+DQo8cD4qIE5vIGxvbmdlciBkaXNwbGF5IGFueSBjb250ZW50IGluIHRoZSBmaWxlcyB0YWIgaWYgdGhlcmUgYXJlIG5vIGNhdGVnb3JpZXMgZGVmaW5lZDwvcD4NCjxwPiogRGlzcGxheSBhIGxpbmsgaW4gdGhlIGVycm9yIHBhZ2UgdGhhdCB0YWtlcyB5b3UgYmFjayB0byB0aGUgbWFpbiBhZG1pbiBwYW5lbDwvcD4NCjxwPiogQWxsb3cgZm9yIHJlcGxhY2luZyBvZiB1cGxvYWRlZCBmaWxlczwvcD4NCjwvbGk+DQo8bGk+DQo8cD5WZXJzaW9uIDEuMS4xMS4gLSBNYXJjaCwgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciBhIGxpbmsgdG8gYSBkZXRhaWxlZCBwYWdlIHdoZW4gaW4gc3VtbWFyeSBtb2RlLjwvcD4NCjxwPlNwbGl0IHRoZSBkZWZhdWx0IGFjdGlvbiBhbmQgZGVmYXVsdGFkbWluIGFjdGlvbnMgaW50byBzZXBhcmF0ZSBmaWxlcywgZm9yIGEgYml0IG9mIG1lbW9yeSBpbXByb3ZlbWVudCwgaG9wZWZ1bGx5PC9wPg0KPHA+QWRkIHRoZSBhYmlsaXR5IHRvIHJlZGlyZWN0IHRvIGFub3RoZXIgcGFnZSBhZnRlciBhIGZyb250ZW5kIHVzZXIgdXBsb2FkZWQgYSBmaWxlPC9wPg0KPC9saT4NCjxsaT4NCjxwPlZlcnNpb24gMS4xLjEyLiAtIE1hcmNoLCAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIHNpbmdsZXN1bW1hcnkgbW9kZSB0byBkaXNwbGF5IGEgc2luZ2xlIHVwbG9hZCBpbiBzdW1tYXJ5IG1vZGU8L1A+DQo8L2xpPg0KPGxpPg0KPHA+VmVyc2lvbiAxLjEuMTMuIC0gQXByaWwsIDIwMDY8L3A+DQo8cD5BZGRlZCBvcHRpb25hbCBmaWx0ZXJpbmcgb24gdGhlIGZyb250ZW5kLCBhbmQgYSBjb3VwbGUgb2YgZXh0cmEgcGFyYW1ldGVycyB0byBnbyB3aXRoIGl0PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdoZXJlIGl0IHdvdWxkIGFsbG93IHlvdSB0byBlbnRlciBhIGJsYW5rIHBhdGggd2hlbiBjcmVhdGluZyBhIGNhdGVnb3J5PC9wPg0KPHA+U3BsaXQgc3R1ZmYgaW50byAoc29tZSkgc2VwYXJhdGUgYWN0aW9uIGZpbGVzIGZvciBzb21lIGhvcGVmdWwgcGVyZm9ybWFuY2UgaW5jcmVhc2VzPC9wPg0KPHA+QWRkZWQgY29weXJpZ2h0IG5vdGljZXM8L3A+DQo8cD5DaGFuZ2VkIChvcHRpb25hbCkgZGVwZW5kZW5jeSBmcm9tIFVzZXJJRCB0byBGcm9udEVuZFVzZXJzIE1vZHVsZS48L3A+DQo8cD5DaGFuZ2VkIF9zY2FuRGlyZWN0b3J5IHRvIGFuIEFQSSBmdW5jdGlvbiBTY2FuRGlyZWN0b3J5IGFuZCB0aGVuIGFkZGVkIFNtYXJ0U2NhbkRpcmVjdG9yeSB0byBzY2FuIHRoZSBkaXJlY3RvcnkgYmVmb3JlIGRpc3BsYXlpbmcgdGhlIHN1bW1hcnkgb3IgZGV0YWlsIGxpc3RpbmcgdG8gaGFuZGxlIHRoZQ0KY2FzZSB3aGVyZSBzb21lYm9keSB1cGxvYWRlZCBmaWxlcyB2aWEgRlRQIG9yIHNvbWV0aGluZyBhbmQgZGlkIG5vdCBnbyBpbnRvIHRoZSBhZG1pbiBzZWN0aW9uIHRvIHVwZGF0ZSB0aGUgY2F0ZWdvcmllcy48L3A+DQo8cD5Db3JyZWN0aW9uIHRvIGFsbCBkYiBhY2Nlc3Mgc3R1ZmYuIEhvcGVmdWxseSBwcm92aWRlcyBhIHBlcmZvcm1hbmNlIGluY3JlYXNlLjwvcD4NCjxwPkZpeGVzIHRvIHRoZSBhYm91dCBzdHVmZiwgbm93IHVzZSBDcmVhdGVQYXJhbWV0ZXI8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snZGF0ZSddID0gJ1AmYXVtbDtpdiZhdW1sO20mYXVtbDsmYXVtbDtyJmF1bWw7JzsKJGxhbmdbJ2RhdGV1cGxvYWRlZCddID0gJ0xpcyZhdW1sO3lzIHAmYXVtbDtpdiZhdW1sO20mYXVtbDsmYXVtbDtyJmF1bWw7JzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdPbGV0dWtzZXQnOwokbGFuZ1snZGVsZXRlJ10gPSAnUG9pc3RhJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnS3V2YXVzJzsKJGxhbmdbJ2Rlc3RuYW1lJ10gPSAnVXBsb2FkIEFzJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWydkb3dubG9hZGVkJ10gPSAnVGllZG9zdCAlcyBvbiBsYWRhdHR1Lic7CiRsYW5nWydkb3dubG9hZHMnXSA9ICdMYXRhdWtzZXQnOwokbGFuZ1snZWRpdCddID0gJ011b2trYWEnOwokbGFuZ1snZWRpdGNhdGVnb3J5J10gPSAnTXVra2FhIGthdGVnb3JpYWEnOwokbGFuZ1snZWRpdHVwbG9hZCddID0gJ011b2trYWEgdXBsb2FkaWEnOwokbGFuZ1snZXJyb3InXSA9ICdWaXJoZSEnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlJ10gPSAnS2F0ZWdvcmlhIHNhbWFsbGEgcG9sdWxsYSBvbiBqbyBvbGVtYXNzYS4nOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlleGlzdHMnXSA9ICdWaXJoZTogS2F0ZWdvcmlhIG9uIGpvIG9sZW1hc3NhISc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeW5vdGVtcHR5J10gPSAnVmlyaGU6IEVpIHZvaWRhIHR1aG90YSBrYXRlZ29yaWFhIGpva2EgZWkgb2xlIHR5aGomYXVtbDshJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90Zm91bmQnXSA9ICdWaXJoZTogS2F0ZWdvcmlhYSBlaSBsJm91bWw7eWR5ISc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnVmlyaGU6IFRpZXRva2FudGEgdmlyaGUhJzsKJGxhbmdbJ2Vycm9yX2VtcHR5Y2F0ZWdvcnknXSA9ICdWaXJoZTogVHloaiZhdW1sOyBrYXRlZ29yaWEhJzsKJGxhbmdbJ2Vycm9yX2VtcHR5cGF0aCddID0gJ1ZpcmhlOiBUeWhqJmF1bWw7IHBvbGt1ISc7CiRsYW5nWydlcnJvcl9maWxlZXhpc3RzJ10gPSAnVmlyaGU6IFRpZWRvc3RvICVzIG9uIGpvIG9sZW1hc3NhISc7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdWaXJoZTogVGllZG9zdG9hICVzIGVpIGwmb3VtbDt5ZHkhJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ1ZpcmhlOiBLYWlra2lhIHBhcmFtZXRyZWphIGVpIG9sZSBtJmF1bWw7JmF1bWw7cml0ZWx0eSBtb2R1bGkga3V0c3Vzc2EhJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRhdXRob3InXSA9ICdWaXJoZTogdmlyaGVlbGxpbmVuICh0YWkgdHloaiZhdW1sOykgdGVraWomYXVtbDsnOwokbGFuZ1snZXJyb3JfaW52YWxpZGNhdGVnb3J5J10gPSAnVmlyaGU6IHZpcmhlZWxsaW5lbiAodGFpIHR5aGomYXVtbDspIGthdGVnb3JpYSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkZGVzY3JpcHRpb24nXSA9ICdWaXJoZTogdmlyaGVlbGxpbmVuICh0YWkgdHloaiZhdW1sOykga3V2YXVzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRmaWxlJ10gPSAnVmlyaGU6IHZpcmhlZWxsaW5lbiAodGFpIHR5aGomYXVtbDspIHRpZWRvc3RvbmltaSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkZmlsZW5hbWUnXSA9ICdWaXJoZTogdmlyaGVlbGxpbmVuIHRpZWRvc3RvbmltaSAodGFpIHAmYXVtbDsmYXVtbDt0ZSkgKCVzKSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkaWQnXSA9ICdWaXJoZTogdmlyaGVlbGxpbmVuIGxhdGF1cyBpZCc7CiRsYW5nWydlcnJvcl9ub2ZpbGVzJ10gPSAnVmlyaGU6IGVpIHZhc3RhYXZpYSB0aWVkb3N0b2phISc7CiRsYW5nWydmaWxlcyddID0gJ1RpZWRvc3RvdCc7CiRsYW5nWydmaXhtZSddID0gJ0tvcmphYSB2JmF1bWw7bGlseSZvdW1sO25uaXQnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVGllZG9zdG90IChVcGxvYWRzIE1vZHVsZSknOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+SXQgaXMgYSBtb2R1bGUgZm9yIGFsbG93aW5nIHBlb3BsZSB0byB1cGxvYWQgYW5kIGRvd25sb2FkIGZpbGVzIHRvIGFuZCBmcm9tIHlvdXIgc2l0ZS4gIEl0IGtlZXBzIHRyYWNrIG9mIHdobyB1cGxvYWRlZCBhIGZpbGUsIGFuZCB3aG8gaGFzIGRvd25sb2FkZWQgaXQuICBBcyB3ZWxsLCB5b3UgY2FuIHNvcnQgZmlsZXMgaW50byBjYXRlZ29yaWVzLCBhbmQgbWFuYWdlIHRoZSBmaWxlcyB0aGF0IHdlcmUgdXBsb2FkZWQgbGlrZSBldmVyeSBhZG1pbmlzdHJhdG9yIHdvdWxkIGRvPC9wPiANCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+VG8gdXNlIHRoaXMgbW9kdWxlLCB0byBhbGxvdyB1c2VycyB0byB1cGxvYWQgZmlsZXMgdG8geW91ciBzaXRlLCB5b3Ugc2hvdWxkIGluc3RhbGwgdGhlIG1vZHVsZSwgYW5kIHRoZW4gY3JlYXRlIG9uZSBvciBtb3JlIGNhdGVnb3JpZXMgKGEuay5hKSBkaXJlY3RvcmllcyBmb3IgdGhlIHVwbG9hZGVkIGZpbGVzIHRvIGdvIGludG8uIFRoZW4gYWRkIGEgdGFnIGludG8gYSBwYWdlIG9yIHRlbXBsYXRlIHNvbWV3aGVyZSBsaWtlIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtVcGxvYWRzJnF1b3Q7IGNhdGVnb3J5PSZxdW90O3NvbWVjYXRlZ29yeSZxdW90OyBtb2RlPSZxdW90O3NvbWVtb2RlJnF1b3Q7fS4gIFdoZXJlIG1vZGUgbWF0Y2hlcyBvbmUgb2YgdGhlIG1vZGVzIGxpc3RlZCBiZWxvdy4gIFRoZSBvdXRwdXQgd2lsbCBkaWZmZXIgZGVwZW5kaW5nIHVwb24gd2hpY2ggbW9kZSB5b3Ugc2VsZWN0LjwvcD4NCjxwPlRoaXMgbW9kdWxlIGNhbiB1c2UgdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlIChvcHRpb25hbCkgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IGFueSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXJzIHRvIHBhcnRseSBmaWxsIGluIHRoZSBmb3JtIHdoZW4gdXBsb2FkaW5nIGZpbGVzOzwvcD4NCjxoMz5QZXJtaXNzaW9uczwvaDM+DQo8dWw+DQo8bGk+PGVtPk1hbmFnZSBVcGxvYWRzPC9lbT4gcGVybWlzc2lvbiBpcyBuZWVkZWQgdG8gbWFuYWdlIGNhdGVnb3JpZXMsIGFuZCB0aGUgZmlsZXMgd2l0aGluIHRoZW0uPC9saT4NCjxsaT48ZW0+TW9kaWZ5IFRlbXBsYXRlczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIGVkaXQgYW55IG9mIHRoZSB0ZW1wbGF0ZXMuPC9saT4NCjxsaT48ZW0+TW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIGFueSBvZiB0aGUgZmlsZSBzZXR0aW5ncy48L2xpPg0KPC91bD4NCjxoMz5FbWFpbGluZzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBjYXBhYmxlIG9mIHNlbmRpbmcgYW4gZW1haWwgd2hlbmV2ZXIgYSBmaWxlIGlzIHVwbG9hZGVkLCBzZWUgdGhlIHByZWZlcmVuY2VzIHRhYi4gIEhvd2V2ZXIsIHRvIGRvIHRoaXMgdGhlIDxiPkNNU01haWxlcjwvYj4gcGFja2FnZSBtdXN0IGJlIGluc3RhbGxlZCBhbmQgY29uZmlndXJlZC4gIFRoaXMgaXMgYW4gPGVtPm9wdGlvbmFsPC9lbT4gc3RlcCwgYW5kIGlmIHRoZSBDTVNNYWlsZXIgbW9kdWxlIGlzIG5vdCBpbnN0YWxsZWQsIG5vdGhpbmcgd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIsIG9ubHkgYSBsb2cgbWVzc2FnZSB3aWxsIGJlIHBsYWNlZCBpbnRvIHRoZSBhZG1pbiBsb2c8L3A+DQo8aDM+U3lzdGVtIFNldHRpbmdzPC9oMz4NCjxwPjxiPk5vdGU6PC9iPiBUaGlzIG1vZHVsZSBkb2VzIG5vdCBieXBhc3Mgb3IgZ2V0IHBhc3QgYW55IGZpbGUgc2l6ZSBsaW1pdGF0aW9ucyBpbiBwaHAuICBJdCB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZW0uICBUaGVyZWZvcmUgeW91IG1heSBuZWVkIHRvIG1vZGlmeSB5b3VyIHBocC5pbmkgZmlsZSBhbmQvb3IgeW91ciBodHRwZC5jb25mIGZpbGUocykgdG8gYWxsb3cgeW91IHRvIHVwbG9hZCBmaWxlcyBhcyBsYXJnZSBhcyB3aGF0IHlvdSBoYXZlIHNldCBpbiB0aGUgdXBsb2FkcyBtb2R1bGUgcHJlZmVyZW5jZXMuPC9wPg0KPGgzPkFwYWNoZSBOb3RlczwvaDM+DQo8cD5JbiBvcmRlciB0byBhbGxvdyBsYXJnZSBmaWxlIHVwbG9hZHMsIHlvdSBtYXkgbmVlZCB0byBtb2RpZnkgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgcGFyYW1ldGVyIGluIHlvdXIgcGhwLmluaSAgSW4gYWRkaXRpb24sIHRoZSBMaW1pdFJlcXVlc3RCb2R5IHBhcmFtZXRlciBpbiB5b3VyIGFwYWNoZSBjb25maWd1cmF0aW9uLCBtYXkgbmVlZCB0byBiZSBhZGp1c3RlZCB0byBtYXRjaCB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBwYXJhbWV0ZXI8L3A+DQo8cD5Ob3RlOiAgdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgcGFyYW1ldGVyIGNhbiBiZSBzcGVjaWZpZWQgaW4gYnl0ZXMsIGtpbG9ieXRlcywgb3IgbWVnYWJ5dGVzLCBob3dldmVyIHRoZSBMaW1pdFJlcXVldEJvZHkgcGFyYW1ldGVyIGlzIG9ubHkgc3BlY2lmaWVkIGluIGJ5dGVzPC9wPic7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHV1bGluIHZlcnNpbyAlcyBhc2VubmV0dHUuJzsKJGxhbmdbJ2lwX2FkZHJlc3MnXSA9ICdJUCBvc29pdGUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1dWxpLCBqb2thIHNhbGxpaSBrJmF1bWw7eXR0JmF1bWw7amllbiBsYWRhdGEgdGllZG9zdG9qYSBzaXZ1c3RvbGxlIGphIHlsbCZhdW1sO3BpdCZhdW1sO2omYXVtbDtuIGhhbGxpdGEgbiZhdW1sO2l0JmF1bWw7IHRpZWRvc3RvamEgJzsKJGxhbmdbJ25hbWUnXSA9ICdOaW1pJzsKJGxhbmdbJ3JlbmFtZW1lc3NhZ2UnXSA9ICdWYWloZGEgbmltaSB0YWkgdGVlIHV1ZGVsbGVlbm5pbWUmYXVtbDttaW5lbic7CiRsYW5nWydwYXRoJ10gPSAnUG9sa3UnOwokbGFuZ1sncGF0aG1lc3NhZ2UnXSA9ICdWYWloZGEga2F0ZWdvcmlhbiBuaW1pIHRhaSBzaWlyciZhdW1sOyB0aWVkb3N0byB0b2lzZWVuIGhha2VtaXN0b29uJzsKJGxhbmdbJ3BhdGhpbnVwbG9hZHMnXSA9ICcoU3VodGVlbGxpbmVuIHBvbGt1IHVwbG9hZHMtaGFrZW1pc3Rvb24gbiZhdW1sO2hkZW4pJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnUG9zdCBJbnN0YWxsIE1lc3NhZ2UsIGUuZy4sIEJlIHN1cmUgdG8gc2V0ICZxdW90O01hbmFnZSBVcGxvYWRzJnF1b3Q7IHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSEnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBVcGxvYWRzIG1vZHVsZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgcmVtb3ZlZC4gIE5vIGZpbGVzIGhhdmUgYmVlbiByZW1vdmVkIGZyb20geW91ciB1cGxvYWRzIGRpcmVjdG9yeSwgYW5kIGZpbGUgaW50ZWdyaXR5IGlzIGludGFjdCc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0FzZXR1a3NldCc7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGluIGFzZXR1a3NldCBwJmF1bWw7aXZpdGV0dHknOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5ZGVzYyddID0gJ0t1dmF1cyc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlsaXN0YWJsZSddID0gJ1RpZWRvc3RvdCB0JmF1bWw7c3MmYXVtbDsgaGFrZW1pc3Rvc3NhIHZvaWRhYW4gbGlzdGF0YSc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnluYW1lJ10gPSAnS2F0ZWdvcmlhbiBuaW1pJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeXBhdGgnXSA9ICdQYWx2ZWxpbWVuIHBvbGt1JzsKJGxhbmdbJ3Byb21wdF9kZWxldGVkaXJlY3RvcnknXSA9ICdUdWhvYSBrYXRlZ29yaWFuIGhha2VtaXN0bz8nOwokbGFuZ1sncHJvbXB0X21heF91cGxvYWRzaXplJ10gPSAnTWFrc2ltaSB0aWVkb3N0b2tva28gKEtiKSc7CiRsYW5nWydwcm9tcHRfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ0h5diZhdW1sO2tzeXR5dCB0aWVkb3N0b3AmYXVtbDsmYXVtbDt0dGVldCc7CiRsYW5nWydzY2FuJ10gPSAnU2thbm5hYSc7CiRsYW5nWydzZWxlY3RjYXRlZ29yeSddID0gJ1ZhbGl0c2Uga2F0ZWdvcmlhJzsKJGxhbmdbJ3NpemUnXSA9ICdLb2tvJzsKJGxhbmdbJ3NpemVrYiddID0gJ0tva28gKEtiKSc7CiRsYW5nWydzdWJtaXQnXSA9ICdMJmF1bWw7aGV0JmF1bWw7JzsKJGxhbmdbJ3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdLb29zdGUgcG9oamEnOwokbGFuZ1snc3VtbWFyeSddID0gJ0tvb3N0ZSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ1VwbG9hZHMgTW9kdWxlJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsaW4gaGFsbGludGFwYW5lZWxpJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsaW4gYXNldHVrc2V0JzsKJGxhbmdbJ3RpdGxlX3NpbmdfbG91ZGx5J10gPSAnU2luZyBMb3VkbHk/JzsKJGxhbmdbJ3RpdGxlX3N1Ym5ldF9leGNsdXNpb25zJ10gPSAnJkF1bWw7bCZhdW1sOyBrZXImYXVtbDsmYXVtbDsgc3RhdGlzdGlpa2thIGFsaXZlcmtvaXN0YSc7CiRsYW5nWyd0aXRsZV92YWxpZF91cGxvYWRleHRlbnNpb25zJ10gPSAnSHl2JmF1bWw7a3N5dHl0IHRpZWRvc3RvcCZhdW1sOyZhdW1sO3R0ZWV0JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxpIHBvaXN0ZXR0dSc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsaSBwJmF1bWw7aXZpdGV0dHkgdmVyc2lvb24gJXMuJzsKJGxhbmdbJ3VwbG9hZCddID0gJ0xhdGFhJzsKJGxhbmdbJ3VwbG9hZGVkJ10gPSAnVGllZG9zdG8gJXMgb24gdXBsb2FkYXR0dSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gJXMgdG9pbWVzdGEuJzsKJGxhbmdbJ3JlcGxhY2VkJ10gPSAnVGllZG9zdG8gJXMgb24ga29ydmF0dHUgdGllZG9zdG9sbGEgJXMuJzsKJGxhbmdbJ2RlbGV0ZWQnXSA9ICdUaWVkb3N0byAlcyBvbiBwb2lzdGV0dHUuJzsKJGxhbmdbJ3VwbG9hZGZvcm1fdGVtcGxhdGUnXSA9ICdVcGxvYWQgVGVtcGxhdGUnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO25pbWknOwokbGFuZ1snd2FybmluZ19kZWxldGVjYXRlZ29yeSddID0gJ1ZBUk9JVFVTOiBLYXRlZ29yaW9pZGVuIHR1aG9hbWluZW4gc2FhdHRhYSBrYWRvdHRhYSB0aWVkb3N0b2phJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldlbGNvbWUgdG8gdGhlIFVwbG9hZHMgTW9kdWxlIGFkbWluIHNlY3Rpb24uIFNvbWV0aGluZyBlbHNlIHdvdWxkIHByb2JhYmx5IGdvIGhlcmUgaWYgdGhlIG1vZHVsZSBhY3R1YWxseSBkaWQgc29tZXRoaW5nLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xOTU5NTQ3MTkzLjEyMTM4NjU3ODMuMTIxMzg3NzY0Ny4xMjEzODgxMzU3LjUnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMTM4ODEzNTcuNS4zLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9mb3J1bS9mb3J1bS5waHB8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3JlcG9ydF9kb3dubG9hZHNieXVzZXInXSA9ICdUw6lsw6ljaGFyZ2VtZW50cyBwYXIgdXRpbGlzYXRldXInOwokbGFuZ1sncmVwb3J0X2Rvd25sb2Fkc2J5ZmlsZSddID0gJ1TDqWzDqWNoYXJnZW1lbnQgcGFyIGZpY2hpZXInOwokbGFuZ1sncHJvbXB0X291dHB1dF90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgZGUgc29ydGllJzsKJGxhbmdbJ2ZpZWxkX2xhdGVzdF9kb3dubG9hZCddID0gJ0Rlcm5pZXIgdMOpbMOpY2hhcmdlbWVudCc7CiRsYW5nWydmaWVsZCddID0gJ0NoYW1wJzsKJGxhbmdbJ2Nsb3NlJ10gPSAnRmVybWVyJzsKJGxhbmdbJ3Byb21wdF9yZXBvcnRfdHlwZSddID0gJ1R5cGUgZGUgcmFwcG9ydCc7CiRsYW5nWydyZXBvcnRfc3VtbWFyeSddID0gJ1LDqXN1bcOpJzsKJGxhbmdbJ3JlcG9ydF9kZXRhaWwnXSA9ICdEw6l0YWlsbMOpJzsKJGxhbmdbJ3Byb21wdF9zdGFydF9kYXRlJ10gPSAnRGF0ZSBkZSBkw6lidXQnOwokbGFuZ1sncHJvbXB0X2VuZF9kYXRlJ10gPSAnRGF0ZSBkZSBmaW4nOwokbGFuZ1sncHJvbXB0X2FzY2VuZGluZyddID0gJ0FzY2VuZGFudCc7CiRsYW5nWydwcm9tcHRfZGVzY2VuZGluZyddID0gJ0Rlc2NlbmRhbnQnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHQnXSA9ICdQYXIgZMOpZmF1dCc7CiRsYW5nWydwcm9tcHRfc29ydG9yZGVyJ10gPSAnUsOpb3Jkb25uZXInOwokbGFuZ1snZmllbGRfZG93bmxvYWRfZGF0ZSddID0gJ0RhdGUgZGUgdMOpbMOpY2hhcmdlbWVudCc7CiRsYW5nWydmaWVsZF91cGxvYWRfaWQnXSA9ICdJRCBmaWNoaWVyJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9jYXRlZ29yeV9pZCddID0gJ0lEIGNhdMOpZ29yaWUnOwokbGFuZ1snZmllbGRfdXBsb2FkX2NhdGVnb3J5X25hbWUnXSA9ICdOb20gZGUgY2F0w6lnb3JpZSc7CiRsYW5nWydmaWVsZF91cGxvYWRfY2F0ZWdvcnlfcGF0aCddID0gJ0NoZW1pbiBkZSBjYXTDqWdvcmllJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9uYW1lJ10gPSAnTm9tIGRlIGZpY2hpZXInOwokbGFuZ1snZmllbGRfdXBsb2FkX2F1dGhvciddID0gJ0F1dGV1cic7CiRsYW5nWydmaWVsZF91cGxvYWRfZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydmaWVsZF91cGxvYWRfaXAnXSA9ICdBZHJlc3NlIElQIGRlIGxcJ2V4cMOpZGl0ZXVyJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9zaXplJ10gPSAnVGFpbGxlIGR1IGZpY2hpZXInOwokbGFuZ1snZmllbGRfdXBsb2FkX2RhdGUnXSA9ICdEYXRlIGRlIHTDqWzDqXZlcnNlbWVudCc7CiRsYW5nWydmaWVsZF9kb3dubG9hZHMnXSA9ICdOb21icmUgZGUgdMOpbMOpY2hhcmdlbWVudCc7CiRsYW5nWydwcm9tcHRfc29ydGluZyddID0gJ1RyaWVyIHBhcic7CiRsYW5nWydwcm9tcHRfZmV1X3VzZXJzJ10gPSAnVXRpbGlzYXRldXJzIGR1IHNpdGUnOwokbGFuZ1sncHJvbXB0X2ZldV9ncm91cHMnXSA9ICdHcm91cGVzIGRcJ3V0aWxpc2F0ZXVycyBkdSBzaXRlJzsKJGxhbmdbJ291dHB1dCddID0gJ1NvcnRpZSc7CiRsYW5nWyd0aXRsZV9yZXBvcnRfZG93bmxvYWRzYnl1c2VyJ10gPSAnVMOpbMOpY2hhcmdlbWVudHMgcGFyIHV0aWxpc2F0ZXVyJzsKJGxhbmdbJ3RpdGxlX3JlcG9ydF9kb3dubG9hZHNieWZpbGUnXSA9ICdUw6lsw6ljaGFyZ2VtZW50cyBwYXIgZmljaGllcic7CiRsYW5nWydyZXBvcnRzJ10gPSAnUmFwcG9ydHMnOwokbGFuZ1sncHJvbXB0X2Rvd25sb2FkcyddID0gJ1TDqWzDqWNoYXJnZW1lbnRzJzsKJGxhbmdbJ3Byb21wdF9wZXJtaXNzaW9ucyddID0gJ1Blcm1pc3Npb25zJzsKJGxhbmdbJ3Byb21wdF9maWVsZHMnXSA9ICdDaGFtcHMnOwokbGFuZ1sncHJvbXB0X3NlbmRmaWxlJ10gPSAnRW52b3llciB1biBmaWNoaWVyJzsKJGxhbmdbJ2Vycm9yX21pc3Npbmd2YWx1ZSddID0gJ1VuZSB2YWxldXIgcmVxdWlzZSBlc3QgbWFucXVhbnRlJzsKJGxhbmdbJ2VkaXRlZCddID0gJ01vZGlmacOpIGxlICVzJzsKJGxhbmdbJ21vdmVkZmlsZSddID0gJ0TDqXBsYWNlbWVudCBkdSBmaWNoaWVyICVzIHZlcnMgJXMnOwokbGFuZ1sncGFnZWxpbWl0J10gPSAnRmljaGllcnMgcGFyIHBhZ2UnOwokbGFuZ1sndmlldyddID0gJ1ZvaXIgY2UgZmljaGllcic7CiRsYW5nWydlZGl0X3RoaXNfZmlsZSddID0gJ0VkaXRlciBjZSBjaGFtcCc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlfc2Nhbm5hYmxlJ10gPSAnU2Nhbm5lciBhdXRvbWF0aXF1ZW1lbnQgbGEgY2F0w6lnb3JpZSBwb3VyIHRyb3V2ZXIgbGVzIG5vdXZlYXV4IGZpY2hpZXJzID8nOwokbGFuZ1snaW5mb19jYXRlZ29yeV9zY2FubmFibGUnXSA9ICdRdWFuZCBjZXR0ZSBjYXTDqWdvcmllIGVzdCB2dWUgZGVwdWlzIGxlIHNpdGUgKEZyb250RW5kKSwgZWxsZSBlc3QgYXV0b21hdGlxdWVtZW50IHNjYW5uw6llIMOgIGxhIHJlY2hlcmNoZSBkZSBub3V2ZWF1eCBmaWNoaWVycyc7CiRsYW5nWydwcm9tcHRfdGxfYWNjZXNzJ10gPSAnQWNjw6hzIHRlbXBvcmFpcmUnOwokbGFuZ1sncHJvbXB0X2FsbG93X3VwbG9hZF9zZW5kZmlsZSddID0gJ0F1dG9yaXNlIGxcJ2Vudm9pIGltbcOpZGlhdCBkZSBmaWNoaWVycyBwb3VyIGxcJ3VwbG9hZCBkXCdhZG1pbic7CiRsYW5nWydtc2dfYXV0b19kZWxldGVfZmlsZSddID0gJ0VmZmFjZXIgYXV0b21hdGlxdWVtZW50IGxlcyBmaWNoaWVycyBleHBpcsOpcyA6ICVzJzsKJGxhbmdbJ21zZ19hdXRvX2RlbGV0ZV9maWxlX2ZhaWxlZCddID0gJ0xcJ2F1dG8tZWZmYWNlbWVudCBkZSAlcyBhIMOpY2hvdcOpIChwcm9ibMOobWUgZGUgcGVybWlzc2lvbnMpJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlfZXhwaXJlc19ocnMnXSA9ICdJbmRpcXVlciB1biBub21icmUgZFwnaGV1cmVzIGF2YW50IHF1ZSBsZXMgZmljaGllcnMgZGUgY2V0dGUgY2F0w6lnb3JpZSBuZSBwdWlzc2Ugw6p0cmUgc3VwcHJpbcOpcy4gVXRpbGlzZXIgbGEgdmFsZXVyIDAgcG91ciBpbmRpcXVlciBxdWUgbGVzIGZpY2hpZXJzIG5lIGRvaXZlbnQgcGFzIMOqdHJlIHN1cHByaW3DqXMuJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeV9leHBpcmVzX2hycyddID0gJ05vbWJyZSBkXCdoZXVyZXMgYXZhbnQgcXVlIGxlcyBmaWNoaWVycyBkZSBjZXR0ZSBjYXTDqWdvcmllIG5lIHNvaWVudCBzdXBwcmltw6lzIGF1dG9tYXRpcXVlbWVudCc7CiRsYW5nWydpbmZvX2RmbHRfY2F0ZWdvcnlfZXhwaXJ5J10gPSAnTGEgdmFsZXVyIHBhciBkw6lmYXV0IHBvdXIgbGVzIG5vdXZlbGxlcyBjYXTDqWdvcmllcyBxdWkgc3DDqWNpZmllIGxlIG5vbWJyZSBkXCdoZXVyZXMgYXZhbnQgcXVlIGxlcyBmaWNoaWVycyBkZSBjZXR0ZSBjYXTDqWdvcmllIG5lIHNvaWVudCBzdXBwcmltw6lzIGF1dG9tYXRpcXVlbWVudC4gIFV0aWxpc2VyIGxhIHZhbGV1ciAwIHBvdXIgaW5kaXF1ZXIgYXVjdW5lIHN1cHByZXNzaW9uJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5X2V4cGlyeSddID0gJ1DDqXJpb2RlIGRcJ2V4cGlyYXRpb24gZGUgbGEgY2F0w6lnb3JpZTxlbT4oaHJzKTwvZW0+JzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlkZWxldGFibGUnXSA9ICdMZXMgdXRpbGlzYXRldXJzIGF1dG9yaXPDqXMgYXVyb250IGxhIHBlcm1pc3Npb24gZGUgc3VwcHJpbWVyIGNlcyBmaWNoaWVycy4gQ2VsYSBzaWduaWZpZSBxdVwndW4gdXJsIHNlcmEgZm91cm5pIGRhbnMgbGVzIGdhYmFyaXRzIGFwcHJvcHJpw6lzIHBvdXIgcGVybWV0dHJlIGxhIHN1cHByZXNzaW9uIGRlcyBmaWNoaWVycy4gVW4gZMOpdmVsb3BwZXVyIGRlIHNpdGUgd2ViIHBldXQgdXRpbGlzZXIgdW5lIGxvZ2lxdWUgU21hcnR5IGFwcHJvcHJpw6llIHBvdXIgYWZmaWNoZXIgdW4gbGllbiBhdXggdXRpbGlzYXRldXJzIGF1dG9yaXPDqXMuJzsKJGxhbmdbJ2NvcHlfZmlsZXMnXSA9ICdDb3BpZXIgbGVzIGZpY2hpZXJzJzsKJGxhbmdbJ2Vycm9yX2ZpbGV0b29sYXJnZSddID0gJ0xlIGZpY2hpZXIgcXVlIHZvdXMgYXZleiB0ZW50w6kgZFwnZW52b3llciBlc3QgcGx1cyBncm9zIHF1ZSBsYSB0YWlsbGUgbWF4aW1hbGUgYXV0b3Jpc8OpZSBwYXIgQ01TTVMnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVjYXRlZ29yeSddID0gJ0V0ZXMgdm91cyBzw7tyKGUpIGRlIHZvdWxvaXIgZWZmYWNlciBjZXR0ZSBjYXTDqWdvcmllID8nOwokbGFuZ1snZXJyb3JfZGVsZXRlJ10gPSAnVW4gw6lsw6ltZW50IG5lIHBldXQgcGFzIMOqdHJlIGVmZmFjw6kgKCVzKSc7CiRsYW5nWydjb25maXJtX2NhdF9tdWx0aWFjdGlvbiddID0gJ0V0ZXMgdm91cyBzw7tyKGUpIGRlIHZvdWxvaXIgZXjDqWN1dGVyIGNldHRlIGFjdGlvbiBzdXIgbGVzIGNhdMOpZ29yaWVzIHPDqWxlY3Rpb25uw6llcyA/JzsKJGxhbmdbJ2Vycm9yX25vdGhpbmdfc2VsZWN0ZWQnXSA9ICdFcnJldXIgOiB2b3VzIG5cJ2F2ZXogcmllbiBzw6lsZWN0aW9ubsOpJzsKJGxhbmdbJ3dpdGhfc2VsZWN0ZWQnXSA9ICdBdmVjIGxhIHPDqWxlY3Rpb24nOwokbGFuZ1snZXJyb3JfcmVwbGFjZV9taXNtYXRjaGVkX2ZpbGVleHQnXSA9ICdRdWFuZCB2b3VzIHJlbXBsYWNleiB1biBmaWNoaWVyLCBjZXV4LWNpIGRvaXZlbnQgYXZvaXIgbGEgbcOqbWUgZXh0ZW5zaW9uIChwYXIgZXggLnBkZikuIExhIG5vdXZlbGxlIHZlcnNpb24gZHUgZmljaGllciBuXCdhIHBhcyBsYSBtw6ptZSBleHRlbnNpb24gcXVlIGxlIGZpY2hpZXIgb3JpZ2luYWwuJzsKJGxhbmdbJ3JlcGxhY2UnXSA9ICdSZW1wbGFjZXInOwokbGFuZ1snaW5mb19yZXBsYWNlZmlsZSddID0gJ1ZvdXMgcG91dmV6IGVudm95ZXIgdW4gZmljaGllciBkZSByZW1wbGFjZW1lbnQuIFNpIGNlIGZpY2hpZXIgZXN0IHVuZSBpbWFnZSwgZXQgcXVlIHZvdXMgblwnYXZleiBwYXMgdHJhbnNtaXMgZGUgdmlnbmV0dGUgZGUgcmVtcGxhY2VtZW50LCB1bmUgdmlnbmV0dGUgc2VyYSBnw6luw6lyw6llIGF1dG9tYXRpcXVlbWVudCc7CiRsYW5nWydwcm9tcHRfcmVwbGFjZWZpbGUnXSA9ICdOb3V2ZWxsZSB2ZXJzaW9uIGR1IGZpY2hpZXInOwokbGFuZ1sndGl0bGVfZml4c3BhY2VzJ10gPSAnRW5sZXZleiBsZXMgZXNwYWNlcyBkYW5zIGxlIG5vbSBkdSBmaWNoaWVyJzsKJGxhbmdbJ2NhdGVnb3J5X2NvcGllZCddID0gJ0NhdMOpZ29yaWUgY29wacOpZSBhdmVjIHN1Y2PDqHMgISc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVwYXRoJ10gPSAnVmV1aWxsZXogc3DDqWNpZmllciB1biBub20gZGUgcsOpcGVydG9pcmUgZGlmZsOpcmVudCBkZSBsYSBzb3VyY2UgZXQgcXVpIG5cJ2VzdCBwYXMgZMOpasOgIHV0aWxpc8OpJzsKJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdPcMOpcmF0aW9uIGFubnVsw6llJzsKJGxhbmdbJ3NvdXJjZSddID0gJ1NvdXJjZSc7CiRsYW5nWydkZXN0aW5hdGlvbiddID0gJ0Rlc3RpbmF0aW9uJzsKJGxhbmdbJ3Byb21wdF9jb3B5X2ZpbGVzJ10gPSAnQ29waWVyIGxlcyBmaWNoaWVycyBkZSBsYSBjYXTDqWdvcmllJzsKJGxhbmdbJ2luZm9fY29weV9maWxlcyddID0gJ0NvcGllIGxlcyBmaWNoaWVycyBkZSBsYSBjYXTDqWdvcmllIHNvdXJjZSB2ZXJzIGxhIGNhdMOpZ29yaWUgZGUgZGVzdGluYXRpb24nOwokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSc7CiRsYW5nWydjb3B5J10gPSAnQ29waWVyJzsKJGxhbmdbJ3NlbGVjdG9uZSddID0gJ0Nob2lzaXNzZXogdW4nOwokbGFuZ1snaW1hZ2Vfc2V0dGluZ3MnXSA9ICdSw6lnbGFnZXMgZGVzIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfZ2V0ZmlsZV9yZXN1bHRwYWdlJ10gPSAnUGFnZSB1dGlsaXPDqWUgcG91ciBsZXMgZXJyZXVycyBvdSBsZXMgbWVzc2FnZXMgZW4gbGllbiBhdmVjIGxlIHTDqWzDqWNoYXJnZW1lbnQgZGUgZmljaGllcnMnOwokbGFuZ1snZXJyb3JfaW52YWxpZF9rZXknXSA9ICdMYSBjbMOpIHRlbXBvcmFpcmUgZGUgdMOpbMOpY2hhcmdlbWVudCBlc3QgaW52YWxpZGUgKHBldXQgw6p0cmUgcXVcJ2VsbGUgYSBhdHRlaW50IHNhIGNhcGFjaXTDqSBtYXhpbWFsZSBkZSB0w6lsw6ljaGFyZ2VtZW50IG91IHF1XCdlbGxlIGEgZXhwaXLDqSknOwokbGFuZ1snZGZsdF90aW1lbGltaXRlZF9zdWJqZWN0J10gPSAneyRzaXRlbmFtZX0gLSBWb3VzIGF2ZXogdW4gYWNjw6hzIHRlbXBvcmFpcmUgw6AgeyRlbnRyeS0+dXBsb2FkX25hbWV8c3RyaXBfdGFnc30nOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX3N1YmplY3QnXSA9ICdTdWpldCBwb3VyIGxcJ2VtYWlsIGNyw6nDqSBxdWFuZCBvbiBlbnZvaSB1bmUgVVJMIHRlbXBvcmFpcmUnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2F1dG9kZWxldGUnXSA9ICdFZmZhY2VyIGF1dG9tYXRpcXVlbWVudCBsZXMgZmljaGllcnMgZXhwaXLDqXMgYXByw6hzIE4gaGV1cmVzIDxlbT4obWV0dHJlIMOgIDAgcG91ciBuZSBwYXMgdXRpbGlzZXIgY2V0dGUgZm9uY3Rpb24pPC9lbT4gOic7CiRsYW5nWydwcm9tcHRfdGltZWxpbWl0ZWRfc2VuZGl0J10gPSAnRW52b3llciBjZXR0ZSB1cmwgw6AgbFwnYWRyZXNzZSBlbWFpbCBkw6lzaWduw6llID8nOwokbGFuZ1sndXJsX2tleSddID0gJ0Nsw6kgVVJMJzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdDcsOpw6knOwokbGFuZ1snZXhwaXJlcyddID0gJ0V4cGlyZSc7CiRsYW5nWydhZGRlZGl0X3RpbWVsaW1pdGVkX2tleSddID0gJ0Fqb3V0ZXIvbW9kaWZpZXIgdW5lIGNsw6kgdGVtcG9yYWlyZSc7CiRsYW5nWyd0aW1lX2xpbWl0ZWRfa2V5X2FkZGVkJ10gPSAnQ2zDqSBsaW1pdMOpZSBkYW5zIGxlIHRlbXBzIGFqb3V0w6llJzsKJGxhbmdbJ251bV9ob3VycyddID0gJ05vbWJyZSBkXCdoZXVyZXMnOwokbGFuZ1snbnVtX2Rvd25sb2FkcyddID0gJ05vbWJyZSBkZSB0w6lsw6ljaGFyZ2VtZW50cyc7CiRsYW5nWydlbWFpbF9hZGRyZXNzJ10gPSAnQWRyZXNzZSBlbWFpbCc7CiRsYW5nWydlcnJvcl9taXNzaW5nX2ludmFsaWQnXSA9ICdVbmUgdmFsZXVyIG7DqWNlc3NhaXJlIGVzdCBtYW5xdWFudGUgb3UgZXJyb27DqWUgOiAlcyc7CiRsYW5nWydhZGRfdGltZWxpbWl0ZWRfa2V5J10gPSAnQWpvdXRlciB1bmUgY2zDqSBsaW1pdMOpZSBkYW5zIGxlIHRlbXBzJzsKJGxhbmdbJ2ZpbGVfaW5mbzInXSA9ICdGaWNoaWVyICVzIChpZD0lZCknOwokbGFuZ1snaW5mb190aW1lbGltaXRlZF9kb3dubG9hZHMnXSA9ICdTcMOpY2lmaWV6IGxlIG5vbWJyZSBtYXhpbWFsIGRlIHTDqWzDqWNoYXJnZW1lbnQgcG91ciB1biBmaWNoaWVyIGlkZW50aWZpw6kgcGFyIHVuZSBjbMOpIHBhcnRpY3VsacOocmUnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2Rvd25sb2FkcyddID0gJ05vbWJyZSBkZSB0w6lsw6ljaGFyZ2VtZW50cyBwYXIgZMOpZmF1dCc7CiRsYW5nWydpbmZvX3RpbWVsaW1pdGVkX2hvdXJzJ10gPSAnU3DDqWNpZmllciBsZSBub21icmUgZFwnaGV1cmVzIHBhcyBkw6lmYXV0IHBvdXIgbGEgdmFsaWRpdMOpIGRcJ3VuZSBjbMOpIHRlbXBvcmFpcmUuIFNww6ljaWZpZXIgMCBwb3VyIHVuZSBjbMOpIHBlcm1hbmVudGUuJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9ob3VycyddID0gJ0R1csOpZSBlbiBoZXVyZXMgcG91ciB1bmUgY2zDqSB0ZW1wb3JhaXJlJzsKJGxhbmdbJ3RpbWVsaW1pdGVkX3VybF9zZXR0aW5ncyddID0gJ1LDqWdsYWdlcyBwb3VyIGxhIGNsw6kgdGVtcG9yYWlyZSc7CiRsYW5nWydtYW5hZ2VfdGltZWxpbWl0ZWQnXSA9ICdHw6lyZXIgbFwnYWNjw6hzIHZpYSBsYSBjbMOpIHRlbXBvcmFpcmUnOwokbGFuZ1sndXBsb2FkaW5nX3NldHRpbmdzJ10gPSAnUsOpZ2xhZ2VzIHBvdXIgbFwndXBsb2FkIGRlIGZpY2hpZXJzJzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdSw6lnbGFnZXMgR8OpbsOpcmF1eCc7CiRsYW5nWyd0aHVtYm5haWxfc2V0dGluZ3MnXSA9ICdHw6luw6lyYXRpb24gZGUgdmlnbmV0dGVzJzsKJGxhbmdbJ3RpdGxlX3JlZGlyZWN0X29uX3NlbmRmaWxlJ10gPSAnUGFnZSBvw7kgcmVkaXJpZ2VyIGFwcsOocyBhdm9pciBlbnZvecOpIHVuIGZpY2hpZXInOwokbGFuZ1snbGJsX2JhY2snXSA9ICdSZXRvdXInOwokbGFuZ1snbGJsX3RlbXBsYXRlcyddID0gJ01vZGlmaWVyIGxlcyBnYWJhcml0cyc7CiRsYW5nWydwcm9tcHRfcHVibGljX2ZpZWxkJ10gPSAnTGUgY2hhbXAgZXN0IHB1YmxpYyA8ZW0+KHZpc2libGUgcG91ciBsZXMgdmlzaXRldXJzKTwvZW0+JzsKJGxhbmdbJ3VwbG9hZF9lZGl0ZWQnXSA9ICdEw6l0YWlscyBkdSBmaWNoaWVycyDDqWRpdMOpcyBsZSAlcyc7CiRsYW5nWydpbmZvX3RodW1ibmFpbCddID0gJ1VuIGZpY2hpZXIgdmlnbmV0dGUgZmFjdWx0YXRpZic7CiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ0Vudm95ZXIgdW4gbm91dmVhdSBmaWNoaWVyJzsKJGxhbmdbJ21zZ19maWVsZF9kZWxldGVkJ10gPSAnQ2hhbXAgZWZmYWPDqSc7CiRsYW5nWydhc2tfZGVsZXRlX2ZpZWxkJ10gPSAnRXRlcyB2b3VzIHPDu3IoZSkgZGUgdm91bG9pciBlZmZhY2VyIGNldHRlIGTDqWZpbml0aW9uIGRlIGNoYW1wcyBldCB0b3V0ZXMgbGVzIGRvbm7DqWVzIGFzc29jacOpZXMgPyc7CiRsYW5nWyd5ZXMnXSA9ICdPdWknOwokbGFuZ1snbm8nXSA9ICdOb24nOwokbGFuZ1sndHlwZSddID0gJ1R5cGUnOwokbGFuZ1snZmllbGR0eXBlX211bHRpc2VsZWN0J10gPSAnTGlzdGUgYXZlYyBjaG9peCBtdWx0aXBsZXMnOwokbGFuZ1snZmllbGR0eXBlX2Ryb3Bkb3duJ10gPSAnTGlzdGUgZMOpcm91bGFudGUnOwokbGFuZ1snZmllbGR0eXBlX2NoZWNrYm94J10gPSAnQm/DrnRlIMOgIGNvY2hlcic7CiRsYW5nWydmaWVsZHR5cGVfdGV4dGFyZWEnXSA9ICdab25lIGRlIHRleHRlJzsKJGxhbmdbJ2ZpZWxkdHlwZV90ZXh0aW5wdXQnXSA9ICdFbnRyw6llIHRleHRlJzsKJGxhbmdbJ3Byb21wdF91c2Vfd3lzaXd5ZyddID0gJ1V0aWxpc2VyIGxcJ8OpZGl0ZXVyIFdZU0lXWUcgcG91ciBtb2RpZmllciBsZXMgdmFsZXVycyBkZSBjZSBjaGFtcCc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9jb250ZW50J10gPSAnQ29udGVudSBwYXIgZMOpZmF1dCBwb3VyIHVuZSB6b25lIGRlIHRleHRlJzsKJGxhbmdbJ3Byb21wdF9kcm9wZG93bl9vcHRpb25zJ10gPSAnT3B0aW9ucyAodW5lIHBhciBsaWduZSknOwokbGFuZ1sncHJvbXB0X2ZpZWxkX21heGxlbmd0aCddID0gJ0xvbmd1ZXVyIG1heGltYWxlIGR1IGNoYW1wJzsKJGxhbmdbJ3Byb21wdF9maWVsZF9sZW5ndGgnXSA9ICdMb25ndWV1ciBkdSBjaGFtcCc7CiRsYW5nWydwcm9tcHRfZmllbGRfdHlwZSddID0gJ1R5cGUgZGUgY2hhbXAnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX25hbWUnXSA9ICdOb20gZHUgY2hhbXAnOwokbGFuZ1sndGl0bGVfYWRkX2ZpZWxkJ10gPSAnQWpvdXRlciBvdSBtb2RpZmllciB1bmUgZMOpZmluaXRpb24gZGUgY2hhbXAnOwokbGFuZ1snZmllbGRfZGVmaW5pdGlvbnMnXSA9ICdEw6lmaW5pdGlvbnMgZGUgY2hhbXAnOwokbGFuZ1sncHJvbXB0X2FkZF9maWVsZCddID0gJ0Fqb3V0ZXIgdW5lIGTDqWZpbml0aW9uIGRlIGNoYW1wJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1Nww6ljaWZpZSBsZSBjb21wb3J0ZW1lbnQgZHUgbW9kdWxlLiBMZXMgdmFsZXVycyBwb3NzaWJsZXMgc29udCA6DQo8dWw+DQo8bGk+PGVtPmRlZmF1bHQ8L2VtPiA6IGZvbmN0aW9ubmVtZW50IHBhciBkw6lmYXV0PC9saT4NCjxsaT5kZXRhaWwgOiBhZmZpY2hlIGxlIGTDqXRhaWwgZFwndW4gZmljaGllciBlbiBmb25jdGlvbiBkdSBwYXJhbcOodHJlIDxlbT51cGxvYWRfaWQ8L2VtPjwvbGk+DQo8bGk+eW91c2VuZGl0IDogYWZmaWNoZSB1biBmb3JtdWxhaXJlIHBvdXIgbFwnZW52b2kgZFwndW4gZmljaGllciBldCBzb24gcGFydGFnZSB2ZXJzIGRpZmbDqXJlbnRlcyBhZHJlc3NlcyBlbiB1bmUgb3DDqXJhdGlvbjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zZW5kZmlsZXBhZ2UnXSA9ICdTcMOpY2lmaWUgbFwnSUQgb3UgbFwnYWxpYXMgZGUgbGEgcGFnZSBxdWkgZG9pdCDDqnRyZSB1dGlsaXPDqWUgcG91ciBsZSBmb3JtdWxhaXJlIGRcJ2Vudm9pIGRlIGZpY2hpZXInOwokbGFuZ1snZmlsZV91cGxvYWRlZCddID0gJ0ZpY2hpZXIgdXBsb2Fkw6kgYXZlYyBzdWNjw6hzJzsKJGxhbmdbJ3RvJ10gPSAnQSc7CiRsYW5nWyd0aXRsZV95b3VzZW5kaXRmb3JtX3RlbXBsYXRlJ10gPSAnQWpvdXQvTW9kaWZpY2F0aW9uIGRlIGdhYmFyaXQgZFwnZW52b2kgWW91U2VuZEl0JzsKJGxhbmdbJ3lvdXNlbmRpdGZvcm1fdGVtcGxhdGUnXSA9ICdHYWJhcml0cyBkXCdlbnZvaSBZb3VTZW5kSXQnOwokbGFuZ1sndGl0bGVfeW91c2VuZGl0Zm9ybV9zeXNkZWZhdWx0J10gPSAnR2FiYXJpdCAiWW91U2VuZEl0IiBwYXIgZMOpZmF1dCBkdSBzeXN0w6htZSc7CiRsYW5nWydtc2dfZmlsZV9zZW50J10gPSAnVW4gbWVzc2FnZSBhIMOpdMOpIGVudm95w6kgYXV4IGFkcmVzc2VzIHPDqWxlY3Rpb25uw6llcy4gSWwgY29udGllbnQgZGVzIGluZm9ybWF0aW9ucyDDoCBwcm9wb3MgZHUgZmljaGllciBzdXIgbGEgbWFuacOocmUgZGUgbGUgcsOpY3Vww6lyZXIuJzsKJGxhbmdbJ2Vycm9yX25vYWRkcmVzc2VzJ10gPSAnVm91cyBkZXZleiByZW50cmVyIGF1IG1vaW5zIHVuZSBhZHJlc3NlIGRlIGRlc3RpbmF0aW9uJzsKJGxhbmdbJ2Vycm9yX25vc3ViamVjdCddID0gJ1ZvdXMgZGV2ZXogZW50cmVyIHVuIHN1amV0JzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdTdWpldCc7CiRsYW5nWyd0aXRsZV9zZW5kZmlsZXBhZ2UnXSA9ICdQYWdlIHBvdXIgbGUgZm9ybXVsYWlyZSAiRW52b3llciB1biBmaWNoaWVyIic7CiRsYW5nWydmaWxlX2luZm8nXSA9ICdJbmZvcyBmaWNoaWVyJzsKJGxhbmdbJ3NlbmQnXSA9ICdFbnZvecOpJzsKJGxhbmdbJ25vdGVzJ10gPSAnTm90ZXMnOwokbGFuZ1sncHJvbXB0X3NlbmRmaWxlX2VtYWlsX3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBkXCdlbWFpbCBwb3VyICJFbnZveWVyIHVuIGZpY2hpZXIiJzsKJGxhbmdbJ3RpdGxlX3NlbmRmaWxlZm9ybV90ZW1wbGF0ZSddID0gJ0Fqb3V0ZXIgb3UgbW9kaWZpZXIgdW4gZ2FiYXJpdCBwb3VyIGxlIGZvcm11bGFpcmUgIkVudm95ZXIgdW4gZmljaGllciInOwokbGFuZ1snc2VuZGZpbGVmb3JtX3RlbXBsYXRlJ10gPSAnR2FiYXJpdCBkZSBmb3JtdWxhaXJlICJFbnZveWVyIHVuIGZpY2hpZXIiJzsKJGxhbmdbJ3Byb21wdF9ub3RpZnlfZW1haWxfdGVtcGxhdGUnXSA9ICdHYWJhcml0IGR1IGNvdXJyaWVsIGRlIG5vdGlmaWNhdGlvbiBsb3JzcXVcJ3VuIGZpY2hpZXIgYSDDqXTDqSB1cGxvYWTDqSc7CiRsYW5nWyd0aXRsZV9zZW5kZmlsZWZvcm1fc3lzZGVmYXVsdCddID0gJ0dhYmFyaXQgcGFyIGTDqWZhdXQgcG91ciBsZSBmb3JtdWxhaXJlICJFbnZveWVyIHVuIGZpY2hpZXIiJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeWRlbGV0YWJsZSddID0gJ0xlcyBmaWNoaWVycyBkZSBjZXR0ZSBjYXTDqWdvcmllIHBldXZlbnQgw6p0cmUgc3VwcHJpbcOpcyc7CiRsYW5nWyd0aXRsZV9hbGxvd19kZWxldGUnXSA9ICdBdXRvcmlzZXIgbGEgc3VwcHJlc3Npb24gZGUgZmljaGllcnMgZGVwdWlzIGxlIGZyb250ZW5kJzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVzJ10gPSAnTW9kw6hsZXMgcGFyIGTDqWZhdXQnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnUHJlbWnDqHJlIHBhZ2UnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICdQYWdlIHByw6ljw6lkZW50ZSc7CiRsYW5nWyduZXh0cGFnZSddID0gJ1BhZ2Ugc3VpdmFudGUnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICdEZXJuacOocmUgcGFnZSc7CiRsYW5nWydmaXJzdHBhZ2VfYXJyb3cnXSA9ICc8PCc7CiRsYW5nWydwcmV2cGFnZV9hcnJvdyddID0gJzwnOwokbGFuZ1snbmV4dHBhZ2VfYXJyb3cnXSA9ICc+JzsKJGxhbmdbJ2xhc3RwYWdlX2Fycm93J10gPSAnPj4nOwokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1snb2YnXSA9ICdEZSc7CiRsYW5nWydwcm9tcHRfZ3JvdXBsaXN0J10gPSAnR3JvdXBlcyBGRVUgYXV0b3Jpc8Opcyc7CiRsYW5nWydpbmZvX2dyb3VwbGlzdCddID0gJ1PDqWxlY3Rpb25uZXogbGVzIGdyb3VwZXMgRkVVIHF1aSBzb250IGF1dG9yaXPDqXMgw6AgYWNjw6lkZXIgYXV4IGZpY2hpZXJzIGRlIGNldHRlIGNhdMOpZ29yaWUuIETDqS1zw6lsZWN0aW9ubmV6IChDdHJsICsgY2xpYykgdG91dGVzIGxlcyBlbnRyw6llcyBwb3VyIHBlcm1ldHRyZSBsXCdhY2PDqHMgw6AgdG91cy4nOwokbGFuZ1sndGl0bGVfc2NhbiddID0gJ0JhbGF5YWdlIHBvdXIgbGVzIG5vdXZlYXV4IGZpY2hpZXJzIGRhbnMgY2V0dGUgY2F0w6lnb3JpZSc7CiRsYW5nWyd0aXRsZV9jcmVhdGVfdGh1bWJuYWlscyddID0gJ0Nyw6llciBsZXMgbWluaWF0dXJlcyBtYW5xdWFudGVzIGRlcyBmaWNoaWVycyBkZSBjZXR0ZSBjYXTDqWdvcmllJzsKJGxhbmdbJ2NyZWF0ZV90aHVtYm5haWxzJ10gPSAnQ3LDqWVyIGxlcyBtaW5pYXR1cmVzJzsKJGxhbmdbJ3RpdGxlX2NyZWF0ZV90aHVtYm5haWwnXSA9ICcoUmUpY3LDqWVyIGxhIG1pbmlhdHVyZSBwb3VyIGNlIGZpY2hpZXInOwokbGFuZ1snY3JlYXRlX3RodW1ibmFpbCddID0gJ0Nyw6llciBsYSBtaW5pYXR1cmUnOwokbGFuZ1snZXJyb3JfcGF0aGVycm9yJ10gPSAnUsOpcGVydG9pcmUgaW1wb3NzaWJsZSDDoCBvdXZyaXIgKHByb2Jsw6htZSBkZSBkcm9pdHMgPyknOwokbGFuZ1sndGl0bGVfZG93bmxvYWRfY2h1bmtzaXplJ10gPSAnVGFpbGxlIGRlIGNoYXF1ZSBtb3JjZWF1IHTDqWzDqWNoYXJnw6kmbmJzcDsnOwokbGFuZ1snaW5mb19kb3dubG9hZF9jaHVua3NpemUnXSA9ICdBanVzdGVyIGNlIHBhcmFtw6h0cmUgYWZmZWN0ZXJhIGxhIHZpdGVzc2UgZGUgdMOpbMOpY2hhcmdlbWVudCAoZG93bmxvYWQpIGV0IHBldXQgYWlkZXIgZGFucyBsZXMgZW52aXJvbm5lbWVudHMgw6AgZmFpYmxlIGNhcGFjaXTDqSBtw6ltb2lyZSc7CiRsYW5nWyd3YXJuaW5nX3NhZmVfbW9kZSddID0gJ0xlIFBIUCAic2FmZSBtb2RlIiBlc3QgYWN0aXbDqS4gQ2VsYSBwZXV0IHBvc2VyIHVuIHByb2Jsw6htZSBhdSB0w6lsw6ljaGFyZ2VtZW50IChwZXJtaXNzaW9ucykgZXQgcGV1dCBhdXNzaSBpbnRlcmbDqXJlciBhdmVjIGxhIGNhcGFjaXTDqSBkZSBjZSBtb2R1bGUgw6AgZW52b3llciBkZXMgZmljaGllcnMgcG91ciBjYXVzZSBkXCdpbXBvc3NpYmlsaXTDqSBkZSBtb2RpZmllciBkZXMgY29uZmlndXJhdGlvbnMgZGVzIGZpY2hpZXJzIGluaS4gVm91cyDDqnRlcyBpbnZpdMOpIMOgIGNvbnRhY3RlciB2b3RyZSBow6liZXJnZXVyIHBvdXIgcsOpc291ZHJlIGNlIHByb2Jsw6htZS4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ1V0aWxlIHBvdXIgbFwnYWZmaWNoYWdlIGRcJ3VuIHJhcHBvcnQgZMOpdGFpbGzDqSBlbiB1dGlsaXNhbnQgdW4gYXV0cmUgbW9kw6hsZSBkZSBwYWdlLCBjZSBwYXJhbcOodHJlIHByZW5kIGxcJ2lkZW50aWZpYW50IChpZCkgZGUgbGEgcGFnZSBvdSBsXCdhbGlhcyBkZSBsYSBwYWdlIGRcJ3VuZSBwYWdlIHF1aSBkb2l0IMOqdHJlIHV0aWxpc8OpIHBvdXIgYWZmaWNoZXIgbGUgZMOpdGFpbCBkZSByYXBwb3J0JzsKJGxhbmdbJ3BhcmFtX3ByZWZpeCddID0gJ1VuIGJvb2zDqWVuIHF1aSBpbmRpcXVlIHNpIGxlIG5vbSBkdSBmaWNoaWVyIGRvaXQgw6p0cmUgcHLDqWZpeMOpJzsKJGxhbmdbJ3BhcmFtX3ByZWZpeF9mZXUnXSA9ICdVbiBwYXJhbcOodHJlIGJvb2zDqWVuIHF1aSBpbmRpcXVlIHF1ZSBsZSBwcsOpZml4ZSBkb2l0IGNvcnJlc3BvbmRyZSDDoCBsXCdhdXRldXIsIG91IHNcJ2lsIG5cJ2VzdCBwYXMgc3DDqWNpZmnDqSDDoCBsXCdoZXVyZSBhY3R1ZWxsZSAoZGFucyBsZSBmb3JtYXQgZGVjaGV4KSc7CiRsYW5nWydwYXJhbV9ub2NhcHRjaGEnXSA9ICdEw6lzYWN0aXZlciBDYXB0Y2hhIChwYXIgZMOpZmF1dCkgZGFucyBsZSBmb3JtdWxhaXJlIGRcJ2Vudm9pJzsKJGxhbmdbJ3RpdGxlX3VwbG9hZGZvcm1fdGVtcGxhdGUnXSA9ICdNb2RpZmllciBsZSBnYWJhcml0IGRlIGZvcm11bGFpcmUgZFwnZW52b2knOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ1NhaXNpc3NleiBsZSB0ZXh0ZSBhIGFmZmljaGVyIGRhbnMgY2V0dGUgaW1hZ2UnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnTGUgdGV4dGUgZW50csOpIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGxcJ2ltYWdlIGFmZmljaMOpZSc7CiRsYW5nWydwcm9tcHRfdXBsb2FkX2ljb24nXSA9ICdVcGxvYWQgdW5lIGljw7RuZSc7CiRsYW5nWydpbmZvX3N5c2RlZmF1bHQnXSA9ICdDZSB0ZXh0ZSBlc3QgdXRpbGlzw6kgbG9ycyBkZSBsYSBjcsOpYXRpb24gZFwndW4gbm91dmVhdSBnYWJhcml0IGRlIGNlIHR5cGUnOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3N5c2RlZmF1bHQnXSA9ICdHYWJhcml0IHBhciBkw6lmYXV0IGR1IHJhcHBvcnQgZMOpdGFpbGzDqSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3N5c2RlZmF1bHQnXSA9ICdHYWJhcml0IHNvbW1haXJlIHBhciBkw6lmYXV0JzsKJGxhbmdbJ3RpdGxlX3VwbG9hZGZvcm1fc3lzZGVmYXVsdCddID0gJ0dhYmFyaXQgZGUgY2hhcmdlbWVudCBwYXIgZMOpZmF1dCc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ0dhYmFyaXQmbmJzcDsnOwokbGFuZ1sncmVzZXR0b2RlZmF1bHQnXSA9ICdSZXN0YXVyZXIgbGVzIHBhcmFtw6h0cmVzIHBhciBkw6lmYXV0JzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlycHRfdGVtcGxhdGUnXSA9ICdNb2TDqGxlIGRlIHJhcHBvcnQgcsOpc3Vtw6knOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3RlbXBsYXRlJ10gPSAnTW9kw6hsZSBkdSByYXBwb3J0IGRldGFpbGzDqSc7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05vbSc7CiRsYW5nWydsZWdlbmRfdXBsb2FkZm9ybSddID0gJ0Vudm95ZXIgdW4gZmljaGllcic7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdVbiBwYXJhbcOodHJlIHJlcXVpcyBlc3QgbWFucXVhbnQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ25hbWUnXSA9ICdVbiBub20gcG91ciBsZSB0eXBlIGRlIGZpY2hpZXIgZG9pdCDDqnRyZSBzcMOpY2lmacOpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdleHRlbnNpb25zJ10gPSAnQXUgbW9pbnMgdW5lIGV4dGVuc2lvbiBkZSBmaWNoaWVyIGRvaXQgw6p0cmUgc3DDqWNpZmnDqWUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ2ljb24nXSA9ICdVbmUgaWPDtG5lIGRvaXQgw6p0cmUgc3DDqWNpZmnDqWUnOwokbGFuZ1snZXJyb3Jfbm9zdWNocm93J10gPSAnTGEgbGlnbmUgc3DDqWNpZmnDqWUgblwnYSBwYXMgcHUgw6p0cmUgdHJvdXbDqWUnOwokbGFuZ1snbmFtZV91bmtub3duJ10gPSAnSW5jb25udSc7CiRsYW5nWydkZXNjcmlwdGlvbl91bmtub3duJ10gPSAnRGVzY3JpcHRpb24gZHUgdHlwZSBkZSBmaWNoaWVyIHBvdXIgbGVzIGZpY2hpZXJzIGRpZmbDqXJlbnRzJzsKJGxhbmdbJ2ltYWdlJ10gPSAnSW1hZ2UnOwokbGFuZ1snaWNvbiddID0gJ0ljw7RuZSc7CiRsYW5nWydleHRlbnNpb25zJ10gPSAnRXh0ZW5zaW9ucyBkZSBmaWNoaWVyJzsKJGxhbmdbJ2FkZGZpbGV0eXBlJ10gPSAnQWpvdXRlciB1biBub3V2ZWF1IHR5cGUgZGUgZmljaGllcic7CiRsYW5nWydmaWxlX3R5cGVzJ10gPSAnVHlwZXMgZGUgZmljaGllcnMnOwokbGFuZ1snZXJyb3Jfbm9jYXRlZ29yeWlkJ10gPSAnSWRlbnRpZmlhbnQgZGUgY2F0w6lnb3JpZSBub24gc3DDqWNpZsOpJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcnknXSA9ICdDYXTDqWdvcmllIG1hbnF1YW50ZSc7CiRsYW5nWydlcnJvcl90ZW1wbGF0ZW5hbWVleGlzdHMnXSA9ICdVbiBtb2TDqGxlIGRlIGNlIG5vbSBleGlzdGUgZMOpasOgJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZW5hbWUnXSA9ICdOb20gZHUgbW9kw6hsZSZuYnNwOyc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdOb20gZHUgbW9kw6hsZSZuYnNwOyc7CiRsYW5nWydwcm9tcHRfbmV3dGVtcGxhdGUnXSA9ICdDcsOpZXIgdW4gbm91dmVhdSBtb2TDqGxlJzsKJGxhbmdbJ2hlbHBfT25Eb3dubG9hZCddID0gJzxwPlVuIMOpdsOpbmVtZW50IGfDqW7DqXLDqSBsb3JzcXVcJ3VuIHV0aWxpc2F0ZXVyIHRlcm1pbmUgbGUgdMOpbMOpY2hhcmdlbWVudCBkXCd1biBmaWNoaWVyPC9wPg0KPGg0PlBhcmFtw6h0cmVzPC9oND4NCjx1bD4NCjxsaT48ZW0+aWQ8L2VtPiAtIFVwbG9hZCBJRDwvbGk+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIE5vbSBkdSBmaWNoaWVyPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIEFkcmVzc2UgSVAgZHUgdMOpbMOpY2hhcmdldXI8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9PbkRlbGV0ZUNhdGVnb3J5J10gPSAnPHA+VW4gw6l2w6luZW1lbnQgZ8OpbsOpcsOpIGxvcnNxdVwndW4gdXRpbGlzYXRldXIgc3VwcHJpbWUgdW5lIGNhdMOpZ29yaWU8L3A+DQo8aDQ+UGFyYW3DqHRyZXM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBOb20gZGUgbGEgY2F0w6lnb3JpZTwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIENoZW1pbiBkZSBsYSBjYXTDqWdvcmllPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfT25DcmVhdGVDYXRlZ29yeSddID0gJzxwPlVuIMOpdsOpbmVtZW50IGfDqW7DqXLDqSDDoCBsYSBjcsOpYXRpb24gZFwndW5lIGNhdMOpZ29yaWU8L3A+DQo8aDQ+UGFyYW3DqHRyZXM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBMZSBub20gZGUgbGEgY2F0w6lnb3JpZTwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBMYSBkZXNjcmlwdGlvbiBkZSBsYSBjYXTDqWdvcmllPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gTGUgY2hlbWluIGRlIGxhIGNhdMOpZ29yaWU8L2xpPg0KPGxpPjxlbT5wYXRoPC9lbT4gLSBVbiBmbGFnIHF1aSBpbmRpcXVlIHNpIGxhIGNhdMOpZ29yaWUgcGV1dCDDqnRyZSBsaXN0w6llPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfT25SZW1vdmUnXSA9ICc8cD5BbiDDqXbDqW5lbWVudCBnw6luw6lyw6kgbG9yc3F1XCd1biBmaWNoaWVyIGVzdCBzdXBwcmltw6kgdmlhIGxcJ2ludGVyZmFjZSBhZG1pbiBvdSAiZnJvbnRlbmQiPC9wPg0KPGg0PlBhcmFtw6h0cmVzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gTm9tIGR1IGZpY2hpZXIgc3VwcHJpbcOpPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIElkZW50aWZpYW50IGR1IGZpY2hpZXIgc3VwcHJpbcOpPC9saT4NCjxsaT48ZW0+Y2F0ZWdvcnlfaWQ8L2VtPiAtIElkZW50aWZpYW50IGRlIGxhIGNhdMOpZ29yaWU8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9PblVwbG9hZCddID0gJzxwPlVuIMOpdsOpbmVtZW50IGfDqW7DqXLDqSBsb3JzcXVcJ3VuIGZpY2hpZXIgZXN0IHTDqWzDqWNoYXJnw6kgdmlhIGxcJ2ludGVyZmFjZSBhZG1pbiBvdSBsXCdpbnRlcmZhY2UgImZyb250ZW5kIjwvcD4NCjxoND5QYXJhbcOodHJlczwvaDQ+DQo8dWw+DQo8bGk+PGVtPmNhdGVnb3J5PC9lbT4gLSBMZSBub20gZGUgbGEgY2F0w6lnb3JpZTwvbGk+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIExlIG5vbSBkdSBmaWNoaWVyIHTDqWzDqWNoYXJnw6kgPC9saT4NCjxsaT48ZW0+c2l6ZTwvZW0+IC0gTGEgdGFpbGxlIGR1IGZpY2hpZXIgdMOpbMOpY2hhcmfDqSA8L2xpPg0KPGxpPjxlbT5zdW1tYXJ5PC9lbT4gLSBMYSBkZXNjcmlwdGlvbiBjb3VydGUgZHUgZmljaGllciB0w6lsw6ljaGFyZ8OpIChwZXV0IMOqdHJlIHZpZGUpPC9lbT48L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gTGEgZGVzY3JpcHRpb24gbG9uZ3VlIGR1IGZpY2hpZXIgdMOpbMOpY2hhcmfDqSAocGV1dCDDqnRyZSB2aWRlKTwvZW0+PC9saT4NCjxsaT48ZW0+YXV0aG9yPC9lbT4gLSBMXCdhdXRldXIgZHUgZmljaGllciB0w6lsw6ljaGFyZ8OpIChzaSBkaXNwb25pYmxlKTwvZW0+PC9saT4NCjxsaT48ZW0+aXBfYWRkcmVzczwvZW0+IC0gIExcJ2FkcmVzc2UgSVAgZHUgY2xpZW50IHF1aSBhIHTDqWzDqWNoYXJnw6kgbGUgZmljaGllcjwvbGk+DQo8L3VsPic7CiRsYW5nWydpbmZvX2V2ZW50X29uZGVsZXRlY2F0ZWdvcnknXSA9ICdFdsOpbmVtZW50IGfDqW7DqXLDqSBsb3JzcXVcJ3VuZSBjYXTDqWdvcmllIGVzdCBzdXBwcmltw6llJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25jcmVhdGVjYXRlZ29yeSddID0gJ0V2w6luZW1lbnQgZ8OpbsOpcsOpIGxvcnNxdVwndW5lIGNhdMOpZ29yaWUgZXN0IGNyw6llJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25kb3dubG9hZCddID0gJ0V2w6luZW1lbnQgZ8OpbsOpcsOpIGxvcnNxdVwndW4gZmljaGllciBlc3QgdMOpbMOpY2hhcmfDqSc7CiRsYW5nWydpbmZvX2V2ZW50X29udXBsb2FkJ10gPSAnRXbDqW5lbWVudCBnw6luw6lyw6kgbG9yc3F1XCd1biBub3V2ZWF1IGZpY2hpZXIgZXN0IHTDqWzDqWNoYXJnw6knOwokbGFuZ1snaW5mb19ldmVudF9vbnJlbW92ZSddID0gJ0V2w6luZW1lbnQgZ8OpbsOpcsOpIGxvcnNxdVwndW4gZmljaGllciBlc3Qgc3VwcHJpbcOpJzsKJGxhbmdbJ3RpdGxlX3VzZXJ0YWdfb251cGxvYWQnXSA9ICdUYWcgZMOpZmluaSBwYXIgbFwndXRpbGlzYXRldXIgYSBhcHBlbGxlciBhcHLDqHMgdW4gdMOpbMOpY2hhcmdlbWVudCB0ZXJtaW7DqSZuYnNwOyc7CiRsYW5nWydub25lJ10gPSAnQXVjdW4nOwokbGFuZ1snbWF0Y2hlc2ZvdW5kJ10gPSAnUsOpc3VsdGF0cyB0cm91dsOpcyc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0cmUnOwokbGFuZ1sndGl0bGVfcmVkaXJlY3RvbnVwbG9hZCddID0gJ1JlZGlyaWdlciB2ZXJzIGxhIHBhZ2UgaWQvYWxpYXMgYXUgY2hhcmdlbWVudCBwYXIgbFwndXRpbGlzYXRldXImbmJzcDsnOwokbGFuZ1snZGV0YWlscyddID0gJ0TDqXRhaWxzJzsKJGxhbmdbJ2NvbmZpcm1fcHJlZmVyZW5jZXMnXSA9ICfDinRlcy12b3VzIHN1ciBkZSB2b3Vsb2lyIG1vZGlmaWVyIGxlcyBwcsOpZsOpcmVuY2VzID8nOwokbGFuZ1snZXJyb3Jfbm9maWxlc3VwbG9hZGVkJ10gPSAnUGFzIGRlIGZpY2hpZXIgdMOpbMOpY2hhcmfDqS4nOwokbGFuZ1sncHJvbXB0X3JlcGxhY2UnXSA9ICdBdXRvcmlzZXIgbFwnw6ljcmFzZW1lbnQgZGUgZmljaGllcic7CiRsYW5nWydpbmZvX3JlcGxhY2UnXSA9ICdSZW1wbGFjZXIgdG91dCBmaWNoaWVyIHBvcnRhbnQgbGUgbcOqbWUgbm9tIChsXCdpZGVudGlmaWFudCBuZSBjaGFuZ2UgcGFzKSc7CiRsYW5nWydwYXJhbV9ub19pbml0aWFsJ10gPSAnTmUgcGFzIGFmZmljaGVyIGxlcyBwcmVtaWVycyByw6lzdWx0YXRzIGxvcnNxdWUgbGUgZmlsdHJlIGVzdCBhY3RpZic7CiRsYW5nWydwYXJhbV9rZXknXSA9ICdGb3VybmkgdW5lIGNsZWYgYWRkaXRpb25uZWxsZSBhdSBtb2R1bGUgcG91ciBvcmdhbmlzZXIgbGVzIHVwbG9hZHMuIENldHRlIGNsZWYgcGV1dCDDqnRyZSB1bmUgY2hhw65uZSBkZSBjYXJhY3TDqHJlIGR1IHR5cGUgOiBcJ2ZldXNlcnM6dWlkXCcgZXRjLjxici8+DQpDZSBwYXJhbcOodHJlIGVzdCBoYWJpdHVlbGxlbWVudCBuw6ljZXNzYWlyZSB1bmlxdWVtZW50IGxvcnNxdWUgY2UgbW9kdWxlIGVzdCBlbWJhcnF1w6kgZGFucyB1biBhdXRyZSBtb2R1bGUuJzsKJGxhbmdbJ3BhcmFtX3VwbG9hZF9pZCddID0gJ1Nww6ljaWZpZSB1biBmaWNoaWVyIHVuaXF1ZSBwb3VyIGxcJ1VSTCBvdSBsZSBsaWVuIG91IGxlIG1vZGUgKGNmIGNpLWRlc3N1cyknOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdVdGlsaXNlciB1biBtb2TDqGxlIGRlIGNlIG5vbSBwb3VyIGxlIHJhcHBvcnQgZMOpdGFpbGzDqS4nOwokbGFuZ1sncGFyYW1fdGVtcGxhdGUnXSA9ICdVdGlsaXNlciB1biBtb2TDqGxlIGRlIGNlIG5vbSBwb3VyIGNlIHJhcHBvcnQgb3UgZm9ybXVsYWlyZS4gTGUgbW9kZSBlc3QgdXRpbGlzw6kgcG91ciBkw6l0ZXJtaW5lciBxdWVsIHR5cGUgZGUgbW9kw6hsZSBlc3QgcmVxdWlzLCBwdWlzIHVuIG5vbSBjb3JyZXNwb25kYW50IGVzdCBlZmZlY3R1w6kgYXUgc2VpbiBkZSBjZSB0eXBlLic7CiRsYW5nWydwYXJhbV9maWx0ZXInXSA9ICdBZmZpY2hlIGxlIGZvcm11bGFpcmUgZGUgZmlsdHJhZ2UnOwokbGFuZ1sncGFyYW1fbm9faW50aXRpYWwnXSA9ICdVdGlsZSB1bmlxdWVtZW50IGxvcnNxdWUgbGUgcGFyYW3DqHRyZSBmaWx0cmUgZXN0IGZvdXJuaSwgb3Ugbm9uIHBhciBkw6lmYXV0LCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2V0aGVyIGluaXRpYWwgcmVzdWx0cyBzaG91bGQgYmUgcmV0dXJuZWQnOwokbGFuZ1sncGFyYW1fZmlsZXR5cGVzJ10gPSAnQWZmaWNoZSB1bmlxdWVtZW50IGxlcyBmaWNoaWVycyBkb250IGxlIHR5cGUgY29ycmVzcG9uZCDDoCBjZXR0ZSBsaXN0ZSBzZXBhcsOpZSBwYXIgZGVzIHZpcmd1bGVzJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJzxwPk9yZHJlcyBkZSB0cmkNCiAgPHVsPg0KICA8bGk+PGVtPmRhdGVfYXNjPC9lbT4gLSBUcmnDqSBwYXIgZGF0ZSBjcm9pc3NhbnRlPC9saT4NCiAgPGxpPjxlbT5kYXRlX2Rlc2M8L2VtPiAtIFRyacOpIHBhciBkYXRlIGTDqWNyb2lzc2FudGU8L2xpPg0KICA8bGk+PGVtPm5hbWVfYXNjPC9lbT4gLSBUcmnDqSBhbHBoYWLDqXRpcXVlbWVudCBwYXIgb3JkcmUgY3JvaXNzYW50PC9saT4NCiAgPGxpPjxlbT5uYW1lX2Rlc2M8L2VtPiAtVHJpw6kgYWxwaGFiw6l0aXF1ZW1lbnQgcGFyIG9yZHJlIGTDqWNyb2lzc2FudDwvbGk+DQogIDxsaT48ZW0+c2l6ZV9hc2M8L2VtPiAtIFRyacOpIHBhciB0YWlsbGUgY3JvaXNzYW50ZTwvbGk+DQogIDxsaT48ZW0+c2l6ZV9kZXNjPC9lbT4gLSBUcmnDqSBwYXIgdGFpbGxlIGTDqWNyb2lzc2FudGU8L2xpPg0KICA8bGk+PGVtPmRlc2NfYXNjPC9lbT4gLSBUcmnDqSBwYXIgZGVzY3JpcHRpb24gY3JvaXNzYW50ZS9saT4NCiAgPGxpPjxlbT5kZXNjX2Rlc2M8L2VtPiAtIFRyacOpIHBhciBkZXNjcmlwdGlvbiBkw6ljcm9pc3NhbnRlPC9saT4NCiAgPGxpPjxlbT5hdXRob3JfYXNjPC9lbT4gLSBUcmnDqSBwYXIgYXV0ZXVyIGNyb2lzc2FudDwvbGk+DQogIDxsaT48ZW0+YXV0aG9yX2Rlc2M8L2VtPiAtIFRyacOpIHBhciBhdXRldXIgZMOpY3JvaXNzYW50PC9saT4NCiAgPGxpPjxlbT5pcF9hc2M8L2VtPiAtIFRyacOpIHBhciBhZHJlc3NlIElQIGNyb2lzc2FudGU8L2xpPg0KICA8bGk+PGVtPmlwX2Rlc2M8L2VtPiAtIFRyacOpIHBhciBhZHJlc3NlIElQIGTDqWNyb2lzc2FudGU8L2xpPg0KICA8bGk+PGVtPmRvd25sb2Fkc19hc2M8L2VtPiAtIFRyacOpIHBhciBub21icmUgZGUgdMOpbMOpY2hhcmdlbWVudCBjcm9pc3NhbnQ8L2xpPg0KICA8bGk+PGVtPmRvd25sb2Fkc19kZXNjPC9lbT4gLSBUcmnDqSBwYXIgbm9tYnJlIGRlIHTDqWzDqWNoYXJnZW1lbnQgZMOpY3JvaXNzYW50PC9saT4NCiAgPGxpPjxlbT5yYW5kb208L2VtPiAtIFRyaSBhbMOpYXRvaXJlPC9saT4NCiAgPC91bD4NCiAgPC9wPic7CiRsYW5nWydwYXJhbV9saXN0aW5ndGVtcGxhdGUnXSA9ICdNb2TDqGxlIMOgIHV0aWxpc2VyIHBvdXIgbGlzdGVyIGxlcyBjYXTDqWdvcmllcyBhcHLDqHMgdW4gY2xpcXVlIGRlcHVpcyBsYSBwYWdlIGRlIHLDqXN1bcOpIGRlcyBjYXTDqWdvcmllcyc7CiRsYW5nWydwYXJhbV9saXN0aW5nc29ydG9yZGVyJ10gPSAnT3JkcmUgZGUgdHJpIChmYcOnb24gcGFyYW1fc29ydG9yZGVyKSDDoCB1dGlsaXNlciBwb3VyIGxhIGxpc3RlIGRlcyBjYXTDqWdvcmllcyBhcHLDqHMgdW4gY2xpcXVlIGRlcHVpcyBsYSBwYWdlIGRlIHLDqXN1bcOpIGRlcyBjYXTDqWdvcmllcyc7CiRsYW5nWydwYXJhbV9maWxlZXh0ZW5zaW9ucyddID0gJ1ZhbGlkZSB1bmlxdWVtZW50IGxvcnNxdWUgbW9kZT0idXBsb2FkIiwgY2UgcGFyYW3DqHRyZSBsaW1pdGUgbGUgdHlwZSBkZSBmaWNoaWVycyBxdWkgcGV1dmVudCDDqnRyZSB0w6lsw6ljaGFyZ8Opcy4gSWwgc3VycGFzc2UgdG91dCByw6lnbGFnZSBkZXMgcHLDqWbDqXJlbmNlcyBkdSBtb2R1bGUuJzsKJGxhbmdbJ3BhcmFtX2NvdW50J10gPSAnUGVybWV0IGRlIGxpc3RlciBzZXVsZW1lbnQgbGVzIE4gcHJlbWllcnMgcsOpc3VsdGF0cyBkZSBsYSByZWNoZXJjaGUgKGNvdW50PSJOIikgZXQgZFwnYW3DqWxpb3JlciBhaW5zaSBsYSBtaXNlIGVuIHBhZ2UuJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnY2F0ZWdvcnk9Im5hbWUiDQo8cD48Yj5Ob3RlIDo8L2I+IENhdGVnb3J5IHBldXQgw6p0cmUgImFsbCIsIHBvdXIgYWZmaWNoZXIgdG91dGVzIGxlcyBjYXTDqWdvcmllcyA8ZW0+bGlzdGFibGVzPC9lbT48L3A+JzsKJGxhbmdbJ3JldHVybnRvbW9kdWxlJ10gPSAnUmV0b3VyIGF1IHBhbm5lYXUgZFwnYWRtaW5pc3RyYXRpb24gZHUgbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcmllcyddID0gJ0lsIG5cJ3kgYSBwYXMgZGUgY2F0w6lnb3JpZXMgZMOpZmluaWVzJzsKJGxhbmdbJ3RpdGxlX2VuZm9yY2VleHRlbnNpb25zJ10gPSAnRXhpZ2VyIGRlcyBleHRlbnNpb25zIHN1ciB0b3VzIGxlcyBmaWNoaWVycyBjaGFyZ8OpcyZuYnNwOyc7CiRsYW5nWydyZXN0b3JlZGVmYXVsdHNjb25maXJtJ10gPSAnQ2V0dGUgb3DDqXJhdGlvbiB2YSByZXN0YXVyZXIgbGVzIGdhYmFyaXRzIHBhciBkw6lmYXV0LiBUb3V0ZXMgbGVzIG1vZGlmaWNhdGlvbnMgZGUgdm9zIGdhYmFyaXRzIHNlcm9udCBwZXJkdWVzLiDDinRlcy12b3VzIHPDu3IoZSkgPyc7CiRsYW5nWyd0aHVtYm5haWwnXSA9ICdtaW5pYXR1cmUnOwokbGFuZ1snbmV3dGh1bWJuYWlsJ10gPSAnRW52b3llciB1bmUgbm91dmVsbGUgbWluaWF0dXJlJzsKJGxhbmdbJ2luZm9fc3VtbWFyeSddID0gJ1VuZSBkZXNjcmlwdGlvbiBicsOodmUgZHUgZmljaGllciAoc2kgdmlkZSwgbGUgbm9tIGR1IGZpY2hpZXIgc2FucyBsXCdleHRlbnNpb24gZXN0IHV0aWxpc8OpKSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5bmFtZSddID0gJ1VuIG5vbSBjb3VydCBkZSB2b3RyZSBjYXTDqWdvcmllIChodW1haW5lbWVudCBjb21wcsOpaGVuc2libGUpJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlkZXNjJ10gPSAnVW5lIGRlc2NyaXB0aW9uIGRlIHZvdHJlIGNhdMOpZ29yaWUnOwokbGFuZ1snaW5mb19jYXRlZ29yeXBhdGgnXSA9ICdMZSBub20gZGUgcsOpcGVydG9pcmUgw6AgbFwnaW50w6lyaWV1ciBkdSByw6lwZXJ0b2lyZSBkZSBjaGFyZ2VtZW50IHF1aSBzZXJhIHV0aWxpc8OpIHBvdXIgc3RvY2tlciBsZXMgZmljaGllcnMgZGFucyBjZXR0ZSBjYXTDqWdvcmllLiBTaSBsZSByw6lwZXJ0b2lyZSBuXCdleGlzdGUgcGFzIGTDqWrDoCwgaWwgcGV1dCDDqnRyZSBjcsOpw6kuJzsKJGxhbmdbJ2luZm9fZGVzdG5hbWUnXSA9ICdDXCdlc3QgbGUgbm91dmVhdSBub20gZHUgZmljaGllciBhcHLDqHMgdMOpbMOpY2hhcmdlbWVudCAocGVybWV0IGRlIHJlbm9tbWVyIGxlIGZpY2hpZXIgYXUgdMOpbMOpY2hhcmdlbWVudCkuIExhaXNzZXIgdmlkZSBwb3VyIGNvbnNlcnZlciBsZSBub20gZGUgZmljaGllciBvcmlnaW5hbC4nOwokbGFuZ1snZXJyb3JfY2FudGNyZWF0ZWRpcmVjdG9yeSddID0gJ0ltcG9zc2libGUgZGUgY3LDqWVyIGNlIHLDqXBlcnRvaXJlJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnTGUgbW9kdWxlIENNU21haWxlciBuZSBwZXV0IMOqdHJlIGNvbnRhY3TDqSc7CiRsYW5nWyd1cGxvYWRfbm90aWZpY2F0aW9uJ10gPSAnVW4gbm91dmVhdSBmaWNoaWVyIGEgw6l0w6kgY2hhcmfDqSAhJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX29uX3VwbG9hZCddID0gJ0Vudm95ZXIgbGVzIG5vdGlmaWNhdGlvbnMgZGUgY2hhcmdlbWVudCDDoCZuYnNwOyc7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZSddID0gJ0dhYmFyaXQgZGUgY291cnJpZWwnOwokbGFuZ1sndGl0bGVfZHVtbXlfaW5kZXhfaHRtbCddID0gJ0Nyw6llciB1biBmaWNoaWVyIGluZGV4Lmh0bWwgZGFucyBjaGFxdWUgcsOpcGVydG9pcmUgPzxici8+PGVtPk5lIHJlbXBsYWNlcmEgcGFzIGxlIGZpY2hpZXIgaW5kZXguaHRtbCBzXCdpbCBlbiBleGlzdGUgZMOpasOgIHVuPC9lbT4mbmJzcDsnOwokbGFuZ1snYWJvdXQnXSA9ICdBIHByb3BvcyBkZSc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnQWNjw6lzIHJlZnVzw6kuIFbDqXJpZmlleiB2b3MgZHJvaXRzLic7CiRsYW5nWydlcnJvcl9jb3VsZG5vdHdyaXRlJ10gPSAnSW1wb3NzaWJsZSBkXCfDqWNyaXJlJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnQWpvdXRlciB1bmUgY2F0w6lnb3JpZSc7CiRsYW5nWydhbGwnXSA9ICdUb3V0KGUpcyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnw4p0ZXMtdm91cyBzdXIoZSkgPyc7CiRsYW5nWydhdXRob3InXSA9ICdBdXRldXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlcic7CiRsYW5nWydjYW5ub3Rtb2RpZnlwYXRoJ10gPSAnKGxlIGNoZW1pbiBuZSBwZXV0IMOqdHJlIG1vZGlmacOpKSc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnQ2F0w6lnb3JpZXMnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXTDqWdvcmllJzsKJGxhbmdbJ21lc3NhZ2VfY2F0ZWdvcnlhZGRlZCddID0gJ0NhdMOpZ29yaWUgYWpvdXTDqWUnOwokbGFuZ1snZGF0ZSddID0gJ0RhdGUnOwokbGFuZ1snZGF0ZXVwbG9hZGVkJ10gPSAnRGF0ZSBkZSBjaGFyZ2VtZW50JzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdQYXIgZMOpZmF1dCc7CiRsYW5nWydkZWxldGUnXSA9ICdTdXBwcmltZXInOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydkZXN0bmFtZSddID0gJ1TDqWzDqWNoYXJnZXIgZW4gdGFudCBxdWUnOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlJ10gPSAnR2FiYXJpdHMgZGUgZMOpdGFpbCc7CiRsYW5nWydkb3dubG9hZGVkJ10gPSAnTGUgZmljaGllciAlcyBhIMOpdMOpIHTDqWzDqWNoYXJnw6kuJzsKJGxhbmdbJ2Rvd25sb2FkcyddID0gJ1TDqWzDqWNoYXJnZW1lbnRzJzsKJGxhbmdbJ2VkaXQnXSA9ICdNb2RpZmllcic7CiRsYW5nWydlZGl0Y2F0ZWdvcnknXSA9ICdNb2RpZmllciBsYSBjYXTDqWdvcmllJzsKJGxhbmdbJ2VkaXR1cGxvYWQnXSA9ICdNb2RpZmllciBsZSBmaWNoaWVyJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyZXVyICEnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlMiddID0gJ1VuZSBjYXTDqWdvcmllIGF2ZWMgY2UgY2hlbWluICglcykgZXhpc3RlIGTDqWrDoCc7CiRsYW5nWydlcnJvcl9wYXRoaW51c2UnXSA9ICdVbmUgY2F0w6lnb3JpZSB1dGlsaXNhbnQgY2UgY2hlbWluIGV4aXN0ZSBkw6lqw6AnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlleGlzdHMyJ10gPSAnRXJyZXVyIDogdW5lIGNhdMOpZ29yaWUgIiVzIiBleGlzdGUgZMOpasOgJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5ZXhpc3RzJ10gPSAnRXJyZXVyIDogY2V0dGUgY2F0w6lnb3JpZSBleGlzdGUgZMOpasOgJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90ZW1wdHknXSA9ICdFcnJldXIgOiBpbXBvc3NpYmxlIGRlIHN1cHByaW1lciB1bmUgY2F0w6lnb3JpZSBxdWkgblwnZXN0IHBhcyB2aWRlJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90Zm91bmQnXSA9ICdFcnJldXIgOiBjYXTDqWdvcmllIG5vbiB0cm91dsOpZSAhJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcnJldXIgOiBlcnJldXIgZGUgYmFzZSBkZSBkb25uw6llcyAhJzsKJGxhbmdbJ2Vycm9yX2VtcHR5Y2F0ZWdvcnknXSA9ICdFcnJldXIgOiBjYXTDqWdvcmllIHZpZGUgISc7CiRsYW5nWydlcnJvcl9lbXB0eXBhdGgnXSA9ICdFcnJldXIgOiBjaGVtaW4gdmlkZSAhJzsKJGxhbmdbJ2Vycm9yX2ZpbGVleGlzdHMnXSA9ICdFcnJldXIgOiBsZSBmaWNoaWVyICVzIGV4aXN0ZSBkw6lqw6AgISc7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdFcnJldXIgOiBsZSBmaWNoaWVyICVzIG5cJ2EgcGFzIMOpdMOpIHRyb3V2w6kgISc7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdFcnJldXIgOiBpbnN1ZmZpc2FuY2UgZGUgcGFyYW3DqHRyZXMgZm91cm5pcyBhdSBtb2R1bGUgISc7CiRsYW5nWydlcnJvcl9pbnZhbGlkYXV0aG9yJ10gPSAnRXJyZXVyIDogYXV0ZXVyIG5vbiB2YWxpZGUgKG91IHZpZGUpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkY2F0ZWdvcnknXSA9ICdFcnJldXIgOiBjYXTDqWdvcmllIG5vbiB2YWxpZGUgKG91IHZpZGUpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkZGVzY3JpcHRpb24nXSA9ICdFcnJldXIgOiBkZXNjcmlwdGlvbiBpbnZhbGlkZSAob3UgdmlkZSkuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRmaWxlJ10gPSAnRXJyZXVyIDogbm9tIGRlIGZpY2hpZXIgbm9uIHZhbGlkZSAob3UgdmlkZSkuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1cGxvYWRmaWxlbmFtZSddID0gJ0VycmV1ciA6IGxlcyBmaWNoaWVycyBhdmVjIGNlIG5vbSAocHJvYmFibGVtZW50IGV4dGVuc2lvbikgbmUgc29udCBwYXMgYXV0b3Jpc8OpZXMgKCVzKS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVwbG9hZGlkJ10gPSAnRXJyZXVyIDogaWRlbnRpZmlhbnQgZGUgY2hhcmdlbWVudCBpbnZhbGlkZSc7CiRsYW5nWydlcnJvcl9ub2ZpbGVzJ10gPSAnRXJyZXVyIDogcGFzIGRlIGZpY2hpZXJzIGNvcnJlc3BvbmRhbnQgISc7CiRsYW5nWydmaWxlcyddID0gJ0ZpY2hpZXJzJzsKJGxhbmdbJ2ZpeG1lJ10gPSAnRml4ZSBsZXMgZXNwYWNlcyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdHZXN0aW9uIGRlIGZpY2hpZXJzIHN1ciBsZSBzaXRlJzsKJGxhbmdbJ2lkJ10gPSAnSWRlbnRpZmlhbnQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnVmVyc2lvbiAlcyBkdSBtb2R1bGUgaW5zdGFsbMOpLic7CiRsYW5nWydpcF9hZGRyZXNzJ10gPSAnQWRyZXNzZSBJUCc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1VuIG1vZHVsZSBxdWkgcGVybWV0IGF1eCB1dGlsaXNhdGV1cnMgZGUgdHJhbnNmw6lyZXIgZGVzIGZpY2hpZXJzLCBldCB2b3VzIHBlcm1ldCBkZSBsZXMgZ8OpcmVyLic7CiRsYW5nWyduYW1lJ10gPSAnTm9tJzsKJGxhbmdbJ3JlbmFtZW1lc3NhZ2UnXSA9ICdDaGFuZ2VyIGxlIG5vbSBpY2kgcG91ciByZW5vbW1lciBsZSBmaWNoaWVyJzsKJGxhbmdbJ3BhdGgnXSA9ICdDaGVtaW4nOwokbGFuZ1sncGF0aG1lc3NhZ2UnXSA9ICdDaGFuZ2VyIGxhIGNhdMOpZ29yaWUgaWNpIHBvdXIgZMOpcGxhY2VyIGxlcyBmaWNoaWVycyBkYW5zIHVuIGF1dHJlIHLDqXBlcnRvaXJlJzsKJGxhbmdbJ3BhdGhpbnVwbG9hZHMnXSA9ICcoUGFyIHJhcHBvcnQgYXUgcsOpcGVydG9pcmUgInVwbG9hZHMvIiknOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICc8cD5MZSBtb2R1bGUgVXBsb2FkcyDDoCDDqXTDqSBpbnN0YWxsw6kgYXZlYyBzdWNjw6hzLiBBc3N1cmV6LXZvdXMgZGUgcsOpZ2xlciBsZXMgcGVybWlzc2lvbnMgIk1hbmFnZSBVcGxvYWRzIiBwb3VyIHV0aWxpc2VyIGNlIG1vZHVsZSAhPC9wPg0KPHA+PHN0cm9uZz5BdHRlbnRpb248L3N0cm9uZz4gLSBMYSBib25uZSBtYXJjaGUgZGUgY2UgbW9kdWxlIGTDqXBlbmQgZGUgcGx1c2lldXJzIHZhcmlhYmxlcyBwaHAuIENlbGEgaW5jbHVzIDxlbT4obWFpcyBwYXMgc2V1bGVtZW50KTwvZW0+IHBocFwncyBtZW1vcnlfbGltaXQsIHNhZmVfbW9kZSwgZmlsZV91cGxvYWRzLCB1cGxvYWRzX21heF9maWxlc2l6ZSBldCBtYXhfZXhlY3V0aW9uX3RpbWUuIENlcyB2YXJpYWJsZXMgZGV2cm9udCBwZXV0LcOqdHJlIMOqdHJlIGFqdXN0w6llcyBwb3VyIHF1ZSBsZSBtb2R1bGUgZm9uY3Rpb25uZSBjb3JyZWN0ZW1lbnQgc3VyIHZvdHJlIHNpdGUuIElsIHZvdXMgZXN0IGNvbnNlaWxsw6kgZGUgdHJhdmFpbGxlciBhdmVjIHZvdHJlIGjDqWJlcmdldXIgb3UgYWRtaW5pc3RyYXRldXIgcG91ciBjb25maWd1cmVyIGNlcyBwYXJhbcOodHJlcy48L3A+JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdMZSBtb2R1bGUgVXBsb2FkcyBhIMOpdMOpIHN1cHByaW3DqS4gQXVjdW4gZmljaGllciBuXCdhIMOpdMOpIHN1cHByaW3DqSBkZSB2b3RyZSByw6lwZXJ0b2lyZSBkZSB0w6lsw6ljaGFyZ2VtZW50IGV0IGxcJ2ludMOpZ3JpdMOpIGRlcyBmaWNoaWVycyBhIMOpdMOpIHByw6lzZXJ2w6llLic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1Byw6lmw6lyZW5jZXMnOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTGVzIHByw6lmw6lyZW5jZXMgZHUgbW9kdWxlIG9udCDDqXTDqSBtaXNlcyDDoCBqb3VyLic7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlkZXNjJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5bGlzdGFibGUnXSA9ICdMZXMgZmljaGllcnMgZGUgY2UgcsOpcGVydG9pcmUgcGV1dmVudCDDqnRyZSBsaXN0w6lzJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeW5hbWUnXSA9ICdOb20gZGUgbGEgY2F0w6lnb3JpZSc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlwYXRoJ10gPSAnQ2hlbWluIGR1IHNlcnZldXInOwokbGFuZ1sncHJvbXB0X2RlbGV0ZWRpcmVjdG9yeSddID0gJ1N1cHByaW1lciBsZSBkb3NzaWVyIGRlIGxhIGNhdMOpZ29yaWUnOwokbGFuZ1sncHJvbXB0X21heF91cGxvYWRzaXplJ10gPSAnVGFpbGxlIGRlIGZpY2hpZXIgbWF4aW1hbGUgYXV0b3Jpc8OpZSAoS28pJm5ic3A7JzsKJGxhbmdbJ3Byb21wdF92YWxpZF91cGxvYWRleHRlbnNpb25zJ10gPSAnRXh0ZW5zaW9ucyB2YWxpZGUgcG91ciBsXCd1cGxvYWQnOwokbGFuZ1snc2NhbiddID0gJ1BhcmNvdXJpcic7CiRsYW5nWydzZWxlY3RjYXRlZ29yeSddID0gJ0Nob2lzaXIgdW5lIGNhdMOpZ29yaWUnOwokbGFuZ1snc2l6ZSddID0gJ1RhaWxsZSc7CiRsYW5nWydzaXpla2InXSA9ICdUYWlsbGUgKEtiKSc7CiRsYW5nWydzdWJtaXQnXSA9ICdFbnZveWVyJzsKJGxhbmdbJ3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdHYWJhcml0cyBkZSBzb21tYWlyZSc7CiRsYW5nWydzdW1tYXJ5J10gPSAnVGl0cmUgLyByw6lzdW3DqSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ01vZHVsZSBkZSBjaGFyZ2VtZW50JzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ1Bhbm5lYXUgQWRtaW4gZHUgbW9kdWxlJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1Byw6lmw6lyZW5jZSBkdSBtb2R1bGUnOwokbGFuZ1sndGl0bGVfc3VibmV0X2V4Y2x1c2lvbnMnXSA9ICdFeGNsdXJlIHNvdXMtcsOpc2VhdXggZGVzIHN0YXRpc3RpcXVlcyZuYnNwOyc7CiRsYW5nWyd0aXRsZV92YWxpZF91cGxvYWRleHRlbnNpb25zJ10gPSAnRXh0ZW5zaW9ucyB2YWxpZGVzJm5ic3A7JzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIGTDqXNpbnN0YWxsw6kuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIG1pc2Ugw6Agam91ciB2ZXJzIGxhIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3VwbG9hZCddID0gJ1TDqWzDqWNoYXJnZW1lbnQnOwokbGFuZ1sndXBsb2FkZWQnXSA9ICdMZSBmaWNoaWVyICVzIMOgIMOpdMOpIGNoYXJnw6kgcGFyICVzLic7CiRsYW5nWydyZXBsYWNlZCddID0gJ0xlIGZpY2hpZXIgJXMgw6Agw6l0w6kgcmVtcGxhY8OpIHBhciAlcy4nOwokbGFuZ1snZGVsZXRlZCddID0gJ0xlIGZpY2hpZXIgJXMgw6Agw6l0w6kgc3VwcHJpbcOpLic7CiRsYW5nWyd1cGxvYWRmb3JtX3RlbXBsYXRlJ10gPSAnR2FiYXJpdHMgZFwndXBsb2FkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTm9tIGRcJ3V0aWxpc2F0ZXVyJzsKJGxhbmdbJ3dhcm5pbmdfZGVsZXRlY2F0ZWdvcnknXSA9ICdBVkVSVElTU0VNRU5UIDogc295ZXogcHJ1ZGVudCBsb3JzcXVlIHZvdXMgc3VwcHJpbWV6IGRlcyBjYXTDqWdvcmllcyA6IHZvdXMgcG91dmV6IHBlcmRyZSBkZXMgZmljaGllcnMuJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX21pc3Npbmd2YWx1ZSddID0gJ1VuIHZhbG9yZSByaWNoaWVzdG8gJmVncmF2ZTsgbWFuY2FudGUnOwokbGFuZ1snZWRpdGVkJ10gPSAnTW9kaWZpY2F0byAlcyc7CiRsYW5nWydtb3ZlZGZpbGUnXSA9ICdTcG9zdGF0byBGaWxlICVzIGluICVzJzsKJGxhbmdbJ3BhZ2VsaW1pdCddID0gJ0ZpbGUgUGVyIFBhZ2luYSc7CiRsYW5nWyd2aWV3J10gPSAnVmlzdWFsaXp6YSBGaWxlJzsKJGxhbmdbJ2VkaXRfdGhpc19maWxlJ10gPSAnTW9kaWZpY2EgQ2FtcG8nOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X3NjYW5uYWJsZSddID0gJ1NjYW5zaW9uZSBhdXRvbWF0aWNhIGRpIHF1ZXN0YSBjYXRlZ29yaWEgcGVyIG51b3ZpIGZpbGU/JzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlfc2Nhbm5hYmxlJ10gPSAnUXVlc3RhIGNhdGVnb3JpYSB2aWVuZSBzY2Fuc2lvbmF0YSBhdXRvbWF0aWNhbWVudGUgYWxsYSByaWNlcmNhIGRpIG51b3ZpIGZpbGUgcXVhbmRvIHZpZW5lIGVzZWd1aXRvIGwmIzAzOTthY2Nlc3NvIGRhIGludGVyZmFjY2lhIHV0ZW50ZSc7CiRsYW5nWydwcm9tcHRfdGxfYWNjZXNzJ10gPSAnQWNjZXNzbyBsaW1pdGF0byBuZWwgdGVtcG8nOwokbGFuZ1sncHJvbXB0X2FsbG93X3VwbG9hZF9zZW5kZmlsZSddID0gJ1Blcm1ldHRpIGwmIzAzOTtpbnZpbyBpbW1lZGlhdG8gZGkgZmlsZSBhbCBjYXJpY2FtZW50byBkYSBwYXJ0ZSBkaSB1biBhbW1pbmlzdHJhdG9yZSc7CiRsYW5nWydtc2dfYXV0b19kZWxldGVfZmlsZSddID0gJ0VsaW1pbmEgYXV0b21hdGljYW1lbnRlIGZpbGUgc2NhZHV0bzogJXMnOwokbGFuZ1snbXNnX2F1dG9fZGVsZXRlX2ZpbGVfZmFpbGVkJ10gPSAnUHJvYmxlbWkgZGkgcGVybWVzc2ksIGVsaW1pbmF6aW9uZSBhdXRvbWF0aWNhIGRpICVzIGZhbGxpdGEnOwokbGFuZ1snaW5mb19jYXRlZ29yeV9leHBpcmVzX2hycyddID0gJ1NwZWNpZmljYSB1biBudW1lcm8gZGkgb3JlIHByaW1hIGNoZSBpIGZpbGUgZGkgcXVlc3RhIGNhdGVnb3JpYSBwb3NzZW5vIGVzc2VyZSBlbGltaW5hdGkuIFVzYXRlIHVuIHZhbG9yZSBkaSAwIHBlciBpbmRpY2FyZSBjaGUgaSBmaWxlIG5vbiBkb3ZyZWJiZXJvIGVzc2VyZSBlbGltaW5hdGknOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X2V4cGlyZXNfaHJzJ10gPSAnTnVtZXJvIGRpIG9yZSBwcmltYSBjaGUgaSBmaWxlIGRpIHF1ZXN0YSBjYXRlZ29yaWEgdmVuZ2FubyBlbGltaW5hdGkgYXV0b21hdGljYW1lbnRlJzsKJGxhbmdbJ2luZm9fZGZsdF9jYXRlZ29yeV9leHBpcnknXSA9ICdJbCB2YWxvcmUgcHJlZGVmaW5pdG8gcGVyIG51b3ZlIGNhdGVnb3JpZSwgY2hlIGluZGljYSBwZXIgcXVhbnRvIHRlbXBvIGkgZmlsZSBhbCBzdW8gaW50ZXJubyBkZWJiYW5vIGVzaXN0ZXJlIHByaW1hIGRlbGwmIzAzOTtlbGltaW5hemlvbmUgYXV0b21hdGljYS4gVXRpbGl6emF0ZSAwIHBlciBpbmRpY2FyZSBsYSBub24gZWxpbWluYXppb25lJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5X2V4cGlyeSddID0gJ1BlcmlvZG8gZGkgc2NhZGVuemEgZGVsbGEgQ2F0ZWdvcmlhIDxlbT4ob3JlKTwvZW0+JzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlkZWxldGFibGUnXSA9ICdHbGkgdXRlbnRpIGF1dG9yaXp6YXRpIHBvdHJhbm5vIGVsaW1pbmFyZSBxdWVzdGkgZmlsZS4gU2lnbmlmaWNhIGNoZSB2ZXJyJmFncmF2ZTsgZm9ybml0byB1biB1cmwgbmVsbCYjMDM5O2FwcG9zaXRvIG1vZGVsbG8gcGVyIHBlcm1ldHRlcmUgbCYjMDM5O2VsaW1pbmF6aW9uZSBkZWwgZmlsZS4gVW5vIHN2aWx1cHBhdG9yZSBwdSZvZ3JhdmU7IHV0aWxpenphcmUgbGEgc2ludGFzc2kgc21hcnR5IGFkZWd1YXRhIHBlciBtb3N0cmFyZSBpbCBsaW5rIGFnbGkgdXRlbnRpIGF1dG9yaXp6YXRpLic7CiRsYW5nWydjb3B5X2ZpbGVzJ10gPSAnQ29waWEgZmlsZSc7CiRsYW5nWydlcnJvcl9maWxldG9vbGFyZ2UnXSA9ICdJbCBmaWxlIGNoZSBzdGF0ZSBjZXJjYW5kbyBkaSBjYXJpY2FyZSAmZWdyYXZlOyBwaSZ1Z3JhdmU7IGdyYW5kZSBkZWwgdmFsb3JlIG1hc3NpbW8gZGkgY2FyaWNhbWVudG8gY29uc2VudGl0byBkYSBDTVNNUyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWNhdGVnb3J5J10gPSAnU2lldGUgc2ljdXJpIGRpIHZvbGVyZSBlbGltaW5hcmUgcXVlc3RhIGNhdGVnb3JpYT8nOwokbGFuZ1snZXJyb3JfZGVsZXRlJ10gPSAnVW5vIGRlZ2xpIGVsZW1lbnRpIG5vbiBwdSZvZ3JhdmU7IGVzc2VyZSBlbGltaW5hdG8gKCVzKSc7CiRsYW5nWydjb25maXJtX2NhdF9tdWx0aWFjdGlvbiddID0gJ1NpZXRlIGNlcnRpIGRpIHZvbGVyZSBlc2VndWlyZSBxdWVzdGEgYXppb25lIHN1bGxlIGNhdGVnb3JpZSBzZWxlemlvbmF0ZT8nOwokbGFuZ1snZXJyb3Jfbm90aGluZ19zZWxlY3RlZCddID0gJ0Vycm9yZTogTmVzc3VuIGVsZW1lbnRvIHNlbGV6aW9uYXRvJzsKJGxhbmdbJ3dpdGhfc2VsZWN0ZWQnXSA9ICdDb24gU2VsZXppb25lOic7CiRsYW5nWydlcnJvcl9yZXBsYWNlX21pc21hdGNoZWRfZmlsZWV4dCddID0gJ1BlciBzb3N0aXR1aXJlIHVuIGZpbGUgJmVncmF2ZTsgbmVjZXNzYXJpbyBjYXJpY2FybmUgdW5vIGRlbGxvIHN0ZXNzbyB0aXBvIChlc3RlbnNpb25lIGRlbCBmaWxlKS4gSWwgZmlsZSBzZWxlemlvbmF0byBub24gY29ycmlzcG9uZGUgYSBxdWVsbG8gb3JpZ2luYWxlLic7CiRsYW5nWydyZXBsYWNlJ10gPSAnU29zdGl0dWlzY2knOwokbGFuZ1snaW5mb19yZXBsYWNlZmlsZSddID0gJ1BvdGV0ZSBjYXJpY2FyZSB1biBmaWxlIHNvc3RpdHV0aXZvLCBzZSBpbCBmaWxlICZlZ3JhdmU7IHVuJiMwMzk7aW1tYWdpbmUgZSBub24gYXZldGUgc2VsZXppb25hdG8gdW5hIG1pbmlhdHVyYSBzb3N0aXR1dGl2YSwgbmUgdmVyciZhZ3JhdmU7IGdlbmVyYXRhIHVuYSBudW92YSc7CiRsYW5nWydwcm9tcHRfcmVwbGFjZWZpbGUnXSA9ICdDYXJpY2EgZmlsZSBzb3N0aXR1dGl2byc7CiRsYW5nWyd0aXRsZV9maXhzcGFjZXMnXSA9ICdDb3JyZWdnaSBzcGF6aSBuZWwgbm9tZSBmaWxlJzsKJGxhbmdbJ2NhdGVnb3J5X2NvcGllZCddID0gJ0NhdGVnb3JpYSBjb3BpYXRhIGNvcnJldHRhbWVudGUnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlcGF0aCddID0gJ1NwZWNpZmljYXRlIHVuIG5vbWUgZGkgY2FydGVsbGEgY2hlIHNpYSBkaXZlcnNvIGRhbGwmIzAzOTtvcmlnaW5lIGUgbm9uIHNpYSBhdHR1YWxtZW50ZSBpbiB1c28nOwokbGFuZ1snb3BlcmF0aW9uX2NhbmNlbGxlZCddID0gJ09wZXJhemlvbmUgQW5udWxsYXRhJzsKJGxhbmdbJ3NvdXJjZSddID0gJ09yaWdpbmUnOwokbGFuZ1snZGVzdGluYXRpb24nXSA9ICdEZXN0aW5hemlvbmUnOwokbGFuZ1sncHJvbXB0X2NvcHlfZmlsZXMnXSA9ICdDb3BpYSBmaWxlIGRlbGxhIGNhdGVnb3JpYSc7CiRsYW5nWydpbmZvX2NvcHlfZmlsZXMnXSA9ICdDb3BpYSBpIGZpbGUgZGFsbGEgY2F0ZWdvcmlhIGRpIG9yaWdpbmUgYSBxdWVsbGEgZGkgZGVzdGluYXppb25lJzsKJGxhbmdbJ2V4dHJhJ10gPSAnRXh0cmEnOwokbGFuZ1snY29weSddID0gJ0NvcGlhJzsKJGxhbmdbJ3NlbGVjdG9uZSddID0gJ1NlbGV6aW9uYSB1bm8nOwokbGFuZ1snYXV0b3dhdGVybWFyayddID0gJ1Bvc2l6aW9uZSBhdXRvbWF0aWNhbWVudGUgd2F0ZXJtYXJrIHN1bGxlIGltbWFnaW5pJzsKJGxhbmdbJ2ltYWdlX3NldHRpbmdzJ10gPSAnSW1wb3N0YXppb25pIEltbWFnaW5lJzsKJGxhbmdbJ3Byb21wdF9nZXRmaWxlX3Jlc3VsdHBhZ2UnXSA9ICdQYWdpbmEgZGEgdXRpbGl6emFyZSBwZXIgZXJyb3JpIG8gYWx0cmkgbWVzc2FnZ2kgcmVsYXRpdmkgYWxsbyBzY2FyaWNhbWVudG8gZGVpIGZpbGUnOwokbGFuZ1snZXJyb3JfaW52YWxpZF9rZXknXSA9ICdMYSBjaGlhdmUgZGkgY2FyaWNhbWVudG8gaW5zZXJpdGEgbm9uICZlZ3JhdmU7IHZhbGlkYSAoZm9yc2UgaGEgcmFnZ2l1bnRvIGxhIGNhcGFjaXQmYWdyYXZlOyBtYXNzaW1hIGRpIHNjYXJpY2FtZW50byBvICZlZ3JhdmU7IHNjYWR1dGEpJzsKJGxhbmdbJ2RmbHRfdGltZWxpbWl0ZWRfc3ViamVjdCddID0gJ3skc2l0ZW5hbWV9IC0gQXZldGUgcmljZXZ1dG8gZGlyaXR0aSBkaSBhY2Nlc3NvIHRlbXBvcmFuZWkgYSB7JGVudHJ5LT5uYW1lfHN0cmlwX3RhZ3N9JzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9zdWJqZWN0J10gPSAnT2dnZXR0byBkZWxsJiMwMzk7ZW1haWwgY3JlYXRhIHF1YW5kbyBzaSBpbnZpYSB1biB1cmwgY29uIHNjYWRlbnphIGRpIHRlbXBvJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9hdXRvZGVsZXRlJ10gPSAnRWxpbWluYSBhdXRvbWF0aWNhbWVudGUgZWxlbWVudGkgc2NhZHV0aSBkb3BvIE4gb3JlIDxlbT4oc3BlY2lmaWNhdGUgMCBwZXIgZGlzYWJpbGl0YXJlIGwmIzAzOTtlbGltaW5hemlvbmUgYXV0b21hdGljYSk8L2VtPjonOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX3NlbmRpdCddID0gJ0ludmlhcmUgcXVlc3RvIHVybCBhZ2xpIGluZGlyaXp6aSBlbWFpbCBzcGVjaWZpY2F0aT8nOwokbGFuZ1sndXJsX2tleSddID0gJ0NoaWF2ZSBVUkwnOwokbGFuZ1snY3JlYXRlZCddID0gJ0NyZWF0byc7CiRsYW5nWydleHBpcmVzJ10gPSAnU2NhZGUnOwokbGFuZ1snYWRkZWRpdF90aW1lbGltaXRlZF9rZXknXSA9ICdBZ2dpdW5naS9Nb2RpZmljYSBDaGlhdmUgVGVtcG9yYW5lYSc7CiRsYW5nWyd0aW1lX2xpbWl0ZWRfa2V5X2FkZGVkJ10gPSAnQ2hpYXZlIFRlbXBvcmFuZWEgQWdnaXVudGEnOwokbGFuZ1snbnVtX2hvdXJzJ10gPSAnTnVtZXJvIGRpIG9yZSc7CiRsYW5nWydudW1fZG93bmxvYWRzJ10gPSAnTnVtZXJvIGRpIFNjYXJpY2FtZW50aSc7CiRsYW5nWydlbWFpbF9hZGRyZXNzJ10gPSAnSW5kaXJpenpvIEVtYWlsJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfaW52YWxpZCddID0gJ1ZhbG9yZSByaWNoaWVzdG8gbm9uIHByZXNlbnRlIG8gbm9uIHZhbGlkbzogJXMnOwokbGFuZ1snYWRkX3RpbWVsaW1pdGVkX2tleSddID0gJ0FnZ2l1bmdpIENoaWF2ZSBUZW1wb3JhbmVhJzsKJGxhbmdbJ2ZpbGVfaW5mbzInXSA9ICdGaWxlICVzIChpZD0lZCknOwokbGFuZ1snaW5mb190aW1lbGltaXRlZF9kb3dubG9hZHMnXSA9ICdTcGVjaWZpY2EgaWwgbnVtZXJvIHByZWRlZmluaXRvIGRpIHZvbHRlIGluIGN1aSB1biBmaWxlLCBpZGVudGlmaWNhdG8gZGEgdW5hIGNoaWF2ZSBzcGVjaWZpY2EsIHBvc3NhIGVzc2VyZSBzY2FyaWNhdG8nOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2Rvd25sb2FkcyddID0gJ051bWVybyBQcmVkZWZpbml0byBTY2FyaWNhbWVudGknOwokbGFuZ1snaW5mb190aW1lbGltaXRlZF9ob3VycyddID0gJ1NwZWNpZmljYSBpbCBudW1lcm8gcHJlZGVmaW5pdG8gZGkgb3JlIGRpIHZhbGlkaXQmYWdyYXZlOyBwZXIgdW5hIGNoaWF2ZSB0ZW1wb3JhbmVhLiAgU3BlY2lmaWNhdGUgMCBwZXIgb3JlIGlsbGltaXRhdGUnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2hvdXJzJ10gPSAnTnVtZXJvIGRpIG9yZSBkaSB2YWxpZGl0JmFncmF2ZTsgQ2hpYXZlIFRlbXBvcmFuZWEnOwokbGFuZ1sndGltZWxpbWl0ZWRfdXJsX3NldHRpbmdzJ10gPSAnSW1wb3N0YXppb25pIENoaWF2ZSBUZW1wb3JhbmVhJzsKJGxhbmdbJ21hbmFnZV90aW1lbGltaXRlZCddID0gJ0dlc3Rpc2NpIEFjY2Vzc28gVGVtcG9yYW5lbyc7CiRsYW5nWyd1cGxvYWRpbmdfc2V0dGluZ3MnXSA9ICdJbXBvc3RhemlvbmkgQ2FyaWNhbWVudG8gRmlsZSc7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnSW1wb3N0YXppb29uaSBHZW5lcmFsaSc7CiRsYW5nWyd0aHVtYm5haWxfc2V0dGluZ3MnXSA9ICdDcmVhemlvbmUgTWluaWF0dXJlJzsKJGxhbmdbJ3RpdGxlX3JlZGlyZWN0X29uX3NlbmRmaWxlJ10gPSAnUGFnaW5hIGEgY3VpIHJlaW5kaXJpenphcmUgZG9wbyBsJiMwMzk7aW52aW8gZGkgdW4gZmlsZSc7CiRsYW5nWydsYmxfYmFjayddID0gJ0luZGlldHJvJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdNb2RpZmljYSBNb2RlbGxpJzsKJGxhbmdbJ3Byb21wdF9wdWJsaWNfZmllbGQnXSA9ICdJbCBjYW1wbyAmZWdyYXZlOyBwdWJibGljbyA8ZW0+KHB1Jm9ncmF2ZTsgZXNzZXJlIHZpc3VhbGl6emF0byBkYWkgdmlzaXRhdG9yaSBkZWwgc2l0byk8L2VtPic7CiRsYW5nWyd1cGxvYWRfZWRpdGVkJ10gPSAnRGV0dGFnbGkgRmlsZSBNb2RpZmljYXRpIHBlciAlcyc7CiRsYW5nWydpbmZvX3RodW1ibmFpbCddID0gJ1VuIGZpbGUgbWluaWF0dXJhIG9wemlvbmFsZSc7CiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ0NhcmljYSBOdW92byBGaWxlJzsKJGxhbmdbJ21zZ19maWVsZF9kZWxldGVkJ10gPSAnQ2FtcG8gZWxpbWluYXRvJzsKJGxhbmdbJ2Fza19kZWxldGVfZmllbGQnXSA9ICdTaWV0ZSBjZXJ0aSBkaSB2b2xlcmUgZWxpbWluYXJlIHF1ZXN0YSBkZWZpbml6aW9uZSBkaSBjYW1wbyBlIHR1dHRpIGkgdmFsb3JpIGFzc29jaWF0aT8nOwokbGFuZ1sneWVzJ10gPSAnUyZpZ3JhdmU7JzsKJGxhbmdbJ25vJ10gPSAnTm8nOwokbGFuZ1sndHlwZSddID0gJ1RpcG8nOwokbGFuZ1snZmllbGR0eXBlX211bHRpc2VsZWN0J10gPSAnTGlzdGEgTXVsdGlzZWxlemlvbmUnOwokbGFuZ1snZmllbGR0eXBlX2Ryb3Bkb3duJ10gPSAnTGlzdGEgYSBEaXNjZXNhJzsKJGxhbmdbJ2ZpZWxkdHlwZV9jaGVja2JveCddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ2ZpZWxkdHlwZV90ZXh0YXJlYSddID0gJ0FyZWEgZGkgVGVzdG8nOwokbGFuZ1snZmllbGR0eXBlX3RleHRpbnB1dCddID0gJ0lucHV0IGRpIHRlc3RvJzsKJGxhbmdbJ3Byb21wdF91c2Vfd3lzaXd5ZyddID0gJ1VzYSBlZGl0b3Igd3lzaXd5ZyBwZXIgbGEgbW9kaWZpY2EgZGVpIHZhbG9yaSBkaSBxdWVyc3RvIGNhbXBvJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X2NvbnRlbnQnXSA9ICdDb250ZW51dG8gcHJlZGVmaW5pdG8gcGVyIGFyZWEgZGkgdGVzdG8nOwokbGFuZ1sncHJvbXB0X2Ryb3Bkb3duX29wdGlvbnMnXSA9ICdPcHppb25pICh1biB2YWxvcmUgcGVyIGxpbmVhKSc7CiRsYW5nWydwcm9tcHRfZmllbGRfbWF4bGVuZ3RoJ10gPSAnTHVuZ2hlenphIG1hc3NpbWEgZGVsIGNhbXBvJzsKJGxhbmdbJ3Byb21wdF9maWVsZF9sZW5ndGgnXSA9ICdMdW5naGV6emEgZGVsIGNhbXBvJzsKJGxhbmdbJ3Byb21wdF9maWVsZF90eXBlJ10gPSAnVGlwbyBkaSBjYW1wbyc7CiRsYW5nWydwcm9tcHRfZmllbGRfbmFtZSddID0gJ05vbWUgY2FtcG8nOwokbGFuZ1sndGl0bGVfYWRkX2ZpZWxkJ10gPSAnQWdnaXVuZ2kgbyBtb2RpZmljYSBEZWZpbml6aW9uZSBDYW1wbyc7CiRsYW5nWydmaWVsZF9kZWZpbml0aW9ucyddID0gJ0RlZmluaXppb25pIGRlbCBjYW1wbyc7CiRsYW5nWydwcm9tcHRfYWRkX2ZpZWxkJ10gPSAnQWdnaXVuZ2VyZSB1bmEgZGVmaW5pemlvbmUgZGVsIGNhbXBvJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZmljYSBpbCBjb21wb3J0YW1lbnRvIGRlbCBtb2R1bG8gdGFnLiBQb3NzaWJpbGkgdmFsb3JpIHNvbm86IGRlZmF1bHQgLSAoaWwgY29tcG9ydGFtcm50byBwcmVkZWZpbml0byksIGRldGFpbCAtIHBlciB2aXN1YWxpenphcmUgaWwgZGV0dGFnbGlvIGRpIHVuIHNpbmdvbG8gZmlsZSBiYXNhdG8gc3VsIHVwbG9hZF9pZCBlIHlvdXNlbmRpdCAtICBwZXIgdmlzdWFsaXp6YXJlIHVuIGZvcm0gcGVyIHBlcm1ldHRlciBsJiMwMzk7dXBsb2FkIGRpIHVuIGZpbGUgZSBzcGVkaXJsbyBhIG51bWVyb3NpIGluZGlyaXp6aSBpbiB1biBzaW5nb2xvIHBhc3NvJzsKJGxhbmdbJ3BhcmFtX3NlbmRmaWxlcGFnZSddID0gJ1NwZWNpZmljYSBsYSBwYWdpbmEgaWQgbyBhbGlhcyBkaSBwYWdpbmEgY2hlIGRvdnJlYmJlIGVzc2VyZSB1c2F0YSBwZXIgc3BlZGlyZSB1biBmaWxlJzsKJGxhbmdbJ2ZpbGVfdXBsb2FkZWQnXSA9ICdGaWxlIENhcmljYXRvIENvcnJldHRhbWVudGUnOwokbGFuZ1sndG8nXSA9ICdBJzsKJGxhbmdbJ3RpdGxlX3lvdXNlbmRpdGZvcm1fdGVtcGxhdGUnXSA9ICdBZ2dpdW5nZSBvIE1vZGlmaWNhIHVuIE1vZGVsbG8gZGkgTW9kdWxvIHBlciAmcXVvdDtZb3VTZW5kSXQmcXVvdDsnOwokbGFuZ1sneW91c2VuZGl0Zm9ybV90ZW1wbGF0ZSddID0gJ01vZGVsbGkgTW9kdWxvIFlvdVNlbmRJdCc7CiRsYW5nWyd0aXRsZV95b3VzZW5kaXRmb3JtX3N5c2RlZmF1bHQnXSA9ICdUZW1wbGF0ZSBwcmVkZWZpbml0byAmcXVvdDtZb3VTZW5kSXQmcXVvdDsnOwokbGFuZ1snbXNnX2ZpbGVfc2VudCddID0gJ1VuIG1lc3NhZ2dpbyAmZWdyYXZlOyBzdGF0byBzcGVkaXRvIGFnbGkgaW5kaXJpenppIHNlbGV6aW9uYXRpIGNoZSBjb250ZW5nb25vIGluZm9ybWF6aW9uaSBzdWwgZmlsZSBlIGNvbWUgcG90ZXJsbyByZWN1cGVyYXJlLic7CiRsYW5nWydlcnJvcl9ub2FkZHJlc3NlcyddID0gJ0luc2VyaXJlIGFsbWVubyB1biBpbmRpcml6em8gZGkgZGVzdGluYXppb25lJzsKJGxhbmdbJ2Vycm9yX25vc3ViamVjdCddID0gJ0luc2VyaXJlIHVuIG9nZ2V0dG8nOwokbGFuZ1snc3ViamVjdCddID0gJ09nZ2V0dG8nOwokbGFuZ1sndGl0bGVfc2VuZGZpbGVwYWdlJ10gPSAnUGFnaW5hIGRhIHV0aWxpenphcmUgcGVyIHVuIFVSTCB0ZW1wb3JhbmVvIG8gJnF1b3Q7WW91U2VuZEl0JnF1b3Q7JzsKJGxhbmdbJ2ZpbGVfaW5mbyddID0gJ0luZm9ybWF6aW9uaSBzdWwgRmlsZSc7CiRsYW5nWydzZW5kJ10gPSAnSW52aWEnOwokbGFuZ1snbm90ZXMnXSA9ICdOb3RlJzsKJGxhbmdbJ2FkZHJlc3NlZXMnXSA9ICdJbnZpYSBpbmZvcm1hemlvbmkgc3UgcXVlc3RvIGZpbGUgYSc7CiRsYW5nWydwcm9tcHRfc2VuZGZpbGVfZW1haWxfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIEVtYWlsICZxdW90O0ludmlhIHVuIEZpbGUmcXVvdDsnOwokbGFuZ1sndGl0bGVfc2VuZGZpbGVmb3JtX3RlbXBsYXRlJ10gPSAnQWdnaXVuZ2UgbyBNb2RpZmljYSB1biBNb2RlbGxvIE1vZHVsbyAmcXVvdDtJbnZpYSB1biBGaWxlJnF1b3Q7JzsKJGxhbmdbJ3NlbmRmaWxlZm9ybV90ZW1wbGF0ZSddID0gJ01vZGVsbG8gTW9kdWxvICZxdW90O0ludmlhIHVuIEZpbGUmcXVvdDsnOwokbGFuZ1sncHJvbXB0X25vdGlmeV9lbWFpbF90ZW1wbGF0ZSddID0gJ01vZGVsbG8gZW1haWwgbm90aWZpY2EgY2FyaWNhbWVudG8gZmlsZSc7CiRsYW5nWyd0aXRsZV9zZW5kZmlsZWZvcm1fc3lzZGVmYXVsdCddID0gJ01vZGVsbG8gTW9kdWxvIHByZWRlZmluaXRvICZxdW90O0ludmlhIHVuIEZpbGUmcXVvdDsnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5ZGVsZXRhYmxlJ10gPSAnSSBGaWxlIGluIHF1ZXN0YSBjYXRlZ29yaWEgcG9zc29ubyBlc3NlcmUgZWxpbWluYXRpJzsKJGxhbmdbJ3RpdGxlX2FsbG93X2RlbGV0ZSddID0gJ1Blcm1ldHRlIGwmIzAzOTtlbGltaW5hemlvbmUgZGkgZmlsZSBkYWwgZnJvbnRlbmQnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdNb2RlbGxpIFByZWRlZmluaXRpJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJ1ByaW1hIHBhZ2luYSc7CiRsYW5nWydwcmV2cGFnZSddID0gJ1BhZ2luYSBwcmVjZWRlbnRlJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnUGFnaW5hIHNlZ3VlbnRlJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnVWx0aW1hIHBhZ2luYSc7CiRsYW5nWydmaXJzdHBhZ2VfYXJyb3cnXSA9ICc8PCc7CiRsYW5nWydwcmV2cGFnZV9hcnJvdyddID0gJzwnOwokbGFuZ1snbmV4dHBhZ2VfYXJyb3cnXSA9ICc+JzsKJGxhbmdbJ2xhc3RwYWdlX2Fycm93J10gPSAnPj4nOwokbGFuZ1sncGFnZSddID0gJ1BhZ2luYSc7CiRsYW5nWydvZiddID0gJ2RpJzsKJGxhbmdbJ3Byb21wdF9ncm91cGxpc3QnXSA9ICdHcnVwcGkgRkVVIGF1dG9yaXp6YXRpJzsKJGxhbmdbJ2luZm9fZ3JvdXBsaXN0J10gPSAnU2VsZXppb25hIGlsIGdydXBwaSBGRVUgYXV0b3JpenphdGkgYWQgYWNjZWRlcmUgYWkgZmlsZSBpbiBxdWVzdGEgY2F0ZWdvcmlhLiBEZXNlbGV6aW9uYSB0dXR0byBwZXIgcGVybWV0dGVyZSBsJiMwMzk7YWNjZXNzbyBhIHR1dHRpJzsKJGxhbmdbJ3RpdGxlX3NjYW4nXSA9ICdDZXJjYSBudW92aSBmaWxlIGluIHF1ZXN0YSBjYXRlZ29yaWEnOwokbGFuZ1sndGl0bGVfY3JlYXRlX3RodW1ibmFpbHMnXSA9ICdDcmVhIG1pbmlhdHVyZSBtYW5jYW50aSBwZXIgaSBmaWxlIGluIHF1ZXN0YSBjYXRlZ29yaWEuJzsKJGxhbmdbJ2NyZWF0ZV90aHVtYm5haWxzJ10gPSAnQ3JlYSBNaW5pYXR1cmUnOwokbGFuZ1sndGl0bGVfY3JlYXRlX3RodW1ibmFpbCddID0gJyhyaSlDcmVhIGxhIE1pbmlhdHVyYSBwZXIgcXVlc3RvIGZpbGUnOwokbGFuZ1snY3JlYXRlX3RodW1ibmFpbCddID0gJ0NyZWEgTWluaWF0dXJhJzsKJGxhbmdbJ2Vycm9yX3BhdGhlcnJvciddID0gJ05vbiBwb3NzbyBhcHJpcmUgbGEgY2FydGVsbGEgKHByb2JsZW1pIGRpIHBlcm1lc3NpPyknOwokbGFuZ1sndGl0bGVfZG93bmxvYWRfY2h1bmtzaXplJ10gPSAnRGltZW5zaW9uZSBkaSBvZ25pIHNlZ21lbnRvIGRpIGRvd25sb2FkJzsKJGxhbmdbJ2luZm9fZG93bmxvYWRfY2h1bmtzaXplJ10gPSAnTGEgbW9kaWZpY2EgZGkgcXVlc3RvIHBhcmFtZXRybyBhdnImYWdyYXZlOyBlZmZldHRvIHN1bGxhIHZlbG9jaXQmYWdyYXZlOyBkaSBkb3dubG9hZCwgZSBwdSZvZ3JhdmU7IGFpdXRhcmUgaW4gdW4gYW1iaWVudGkgY29uIHBvY2EgbWVtb3JpYSc7CiRsYW5nWyd3YXJuaW5nX3NhZmVfbW9kZSddID0gJ1BIUCBzYWZlIG1vZGUgJmVncmF2ZTsgYWJpbGl0YXRvLiBRdWVzdG8gcHUmb2dyYXZlOyBjYXVzYXJlIHByb2JsZW1pIGNvbiB1cGxvYWRpbmcgKHBlcm1lc3NpKSwgZWQgaW50ZXJmZXJpcmUgY29uIGwmIzAzOTthYmlsaXQmYWdyYXZlOyBkaSBxdWVzdG8gbW9kdWxvIGRpIHNwZWRpcmUgZmlsZXMgcGVyIGxhIG5vbiBwb3NzaWJpbGl0JmFncmF2ZTsgZGkgc292cmFzY3JpdmVyZSBhbGN1bmkgc2V0dGFnZ2kuIFNpZXRlIGF2dmlzYXRpIGRpIGNvbnRhdHRhcmUgaWwgVm9zdHJvIHByb3ZpZGVyIHBlciB2ZWRlcmUgZGkgZGlzYWJpbGl0YXJlIGlsIHNhZmUgbW9kZS4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ1V0aWxlIHBlciB2aXN1YWxpenphcmUgdW4gcmVwb3J0IGRldHRhZ2xpYXRvIHVzYW5kbyB1bmEgcGFnaW5hIChldmVudHVhbG1lbnRlIGNvbiBhbHRybyBNb2RlbGxvKSBkaWZmZXJlbnRlLCBxdWVzdG8gcGFyYW1ldHJvIHByZW5kZSBpZCBvIGFsaWFzIGRpIHBhZ2luYSBjaGUgZG92cmViYmUgZXNzZXJlIHVzYXRhIHBlciB2aXN1YWxpenphcmUgaWwgcmVwb3J0IGRpIGRldHRhZ2xpbyc7CiRsYW5nWydwYXJhbV9wcmVmaXgnXSA9ICdVbiB2YWxvcmUgYm9vbGVhbm8gY2hlIGluZGljYSBzZSBpIG5vbWkgZGVpIGZpbGUgZGViYmFubyBlc3NlcmUgcHJlZmlzc2F0aSc7CiRsYW5nWydwYXJhbV9wcmVmaXhfZmV1J10gPSAnVW4gYm9vbGVhbm8gY2hlIGluZGljYSAgY2hlIGlsIHByZWZpc3NvIGRvdnJlYmJlIGVzc2VyZSBwcmVzbyBkYWxsJiMwMzk7YXV0b3JlIGNvcnJlbnRlLCBzZSBub24gc3BlY2lmaWNhdG8sIGlsIHByZWZpc3NvICZlZ3JhdmU7IGlsIHRlbXBvIGNvcnJlbnRlIChpbiBmb3JtYXRvIGRlY2hleCknOwokbGFuZ1sncGFyYW1fbm9jYXB0Y2hhJ10gPSAnRGlzYWJpbGl0YSBpbCBzdXBwb3J0byBjYXB0Y2hhIChhdHRpdm8gZGkgZGVmYXVsdCkgbmVsIG1vZHVsbyB1cGxvYWQnOwokbGFuZ1sndGl0bGVfdXBsb2FkZm9ybV90ZW1wbGF0ZSddID0gJ01vZGlmaWNhIGlsIE1vZGVsbG8gZGVsIE1vZHVsbyBkaSBVcGxvYWQnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ0luc2VyaXRlIGlsIHRlc3RvIGNvbnRlbnV0byBuZWxsJiMwMzk7aW1tYWdpbmUnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnSWwgdGVzdG8gaW5zZXJpdG8gbm9uIGNvcnJpc3BvbmRlIGNvbiBsJiMwMzk7aW1tYWdpbmUgdmlzdWFsaXp6YXRhJzsKJGxhbmdbJ3RpdGxlX2F1dG90aHVtYm5haWxfZXh0ZW5zaW9ucyddID0gJ0NyZWEgYW50ZXByaW1lIHBlciBpIGZpbGUgY29uIHF1ZXN0ZSBlc3RlbnNpb25pJzsKJGxhbmdbJ3RpdGxlX2F1dG90aHVtYm5haWxfc2l6ZSddID0gJ0RpbWVuc2lvbmUgbWFzc2ltYSAoaW4gcGl4ZWwpIGRlbGwmIzAzOTthbnRlcHJpbWEgZ2VuZXJhdGEnOwokbGFuZ1sncHJvbXB0X3VwbG9hZF9pY29uJ10gPSAnQ2FyaWNhIHVuIEljb25hJzsKJGxhbmdbJ2luZm9fc3lzZGVmYXVsdCddID0gJ1F1ZXN0byB0ZXN0byB2aWVuZSB1c2F0byBxdWFuZG8gc2kgY3JlYSB1biBudW92byBtb2RlbGxvIGRpIHF1ZXN0byB0aXBvJzsKJGxhbmdbJ3RpdGxlX2RldGFpbHJwdF9zeXNkZWZhdWx0J10gPSAnRGVmYXVsdCBkaSBTaXN0ZW1hIGRlbCBNb2RlbGxvIGRpIFJhcHBvcnRvIERldHRhZ2xpJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlycHRfc3lzZGVmYXVsdCddID0gJ0RlZmF1bHQgZGkgU2lzdGVtYSBkZWwgTW9kZWxsbyBkaSBSYXBwb3J0byBTb21tYXJpbyc7CiRsYW5nWyd0aXRsZV91cGxvYWRmb3JtX3N5c2RlZmF1bHQnXSA9ICdEZWZhdWx0IGRpIFNpc3RlbWEgZGVsIE1vZGVsbG8gZGVsIE1vZHVsbyBkaSB1cGxvYWQnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdNb2RlbGxvJzsKJGxhbmdbJ3Jlc2V0dG9kZWZhdWx0J10gPSAnUmlwcmlzdGluYSB2YWxvcmkgcHJlZGVmaW5pdGknOwokbGFuZ1sndGl0bGVfc3VtbWFyeXJwdF90ZW1wbGF0ZSddID0gJ01vZGVsbG8gZGkgUmFwcG9ydG8gU29tbWFyaW8nOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBkaSBSYXBwb3J0byBEZXR0YWdsaSc7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05vbWUnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHQnXSA9ICdQcmVkZWZpbml0byc7CiRsYW5nWydsZWdlbmRfdXBsb2FkZm9ybSddID0gJ0NhcmljYSB1biBGaWxlJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ01hbmNhIHVuIHBhcmFtZXRybyBlc3NlbnppYWxlJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmduYW1lJ10gPSAnRGV2ZSBlc3NlcmUgc3BlY2lmaWNhdG8gdW4gbm9tZSBwZXIgaWwgZmlsZSc7CiRsYW5nWydlcnJvcl9taXNzaW5nZXh0ZW5zaW9ucyddID0gJ0RldmUgZXNzZXJlIHNwZWNpZmljYXRhIGFsbWVubyB1biYjMDM5O2VzdGVuc2lvbmUgZGkgZmlsZSc7CiRsYW5nWydlcnJvcl9taXNzaW5naWNvbiddID0gJ0RldmUgZXNzZXJlIHNwZWNpZmljYXRhIHVuJiMwMzk7aWNvbmEnOwokbGFuZ1snZXJyb3Jfbm9zdWNocm93J10gPSAnTm9uICZlZ3JhdmU7IHBvc3NpYmlsaWUgdHJvdmFyZSBsYSByaWdhIHNwZWNpZmljYXRhICc7CiRsYW5nWyduYW1lX3Vua25vd24nXSA9ICdTY29ub3NjaXV0byc7CiRsYW5nWydkZXNjcmlwdGlvbl91bmtub3duJ10gPSAnRGVzY3JpemlvbmUgZGVsIHRpcG8gZGkgZmlsZSBwZXIgZmlsZSBub24gY29ycmlzcG9uZGVudGknOwokbGFuZ1snaW1hZ2UnXSA9ICdJbW1hZ2luZSc7CiRsYW5nWydpY29uJ10gPSAnSWNvbmEnOwokbGFuZ1snZXh0ZW5zaW9ucyddID0gJ0VzdGVuc2lvbmUgRmlsZSc7CiRsYW5nWydhZGRmaWxldHlwZSddID0gJ0FnZ2l1bmdpIHVuIE51b3ZvIFRpcG8gZGkgRmlsZSc7CiRsYW5nWydmaWxlX3R5cGVzJ10gPSAnVGlwaSBkaSBGaWxlJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcnlpZCddID0gJ05lc3N1biBJRCBkaSBDYXRlZ29yaWEgZm9ybml0byc7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3J5J10gPSAnTmVzc3VuIElEIGRpIENhdGVnb3JpYSBmb3JuaXRvJzsKJGxhbmdbJ2Vycm9yX3RlbXBsYXRlbmFtZWV4aXN0cyddID0gJ0VzaXN0ZSBnaSZhZ3JhdmU7IHVuIG1vZGVsbG8gY29uIGxvIHN0ZXNzbyBub21lJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZW5hbWUnXSA9ICdOb21lIE1vZGVsbG8nOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnTW9kZWxsbyc7CiRsYW5nWydwcm9tcHRfbmV3dGVtcGxhdGUnXSA9ICdDcmVhIHVuIG51b3ZvIE1vZGVsbG8nOwokbGFuZ1snaGVscF9PbkRvd25sb2FkJ10gPSAnPHA+VW4gZXZlbnRvIGdlbmVyYXRvIHFpYW5kbyB1biB1dGVudGUgdGVybWluYSBpbCBkb3dubG9hZCBkaSB1biBmaWxlPC9wPg0KPGg0PlBhcmFtZXRyaTwvaDQ+DQo8dWw+DQo8bGk+PGVtPmlkPC9lbT4gLSBJRCBkaSBVcGxvYWQ8L2xpPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBOb21lIGZpbGU8L2xpPg0KPGxpPjxlbT5pcDwvZW0+IC0gTCYjMDM5O2luZGlyaXp6byBJUCBkaSBjaGkgZWZmZXR0dWEgaWwgZG93bmxvYWQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX09uRGVsZXRlQ2F0ZWdvcnknXSA9ICc8cD5VbiBldmVudG8gZ2VuZXJhdG8gcXVhbmRvIHZpZW5lIGNhbmNlbGxhdGEgdW5hIENhdGVnb3JpYTwvcD4NCjxoND5QYXJhbWV0cmk8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBOb21lIENhdGVnb3JpYTwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIFBlcmNvcnNvIGRlbGxhIENhdGVnb3JpYTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfT25DcmVhdGVDYXRlZ29yeSddID0gJzxwPlVuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gdmllbmUgY3JlYXRhIHVuYSBDYXRlZ29yaWE8L3A+DQo8aDQ+UGFyYW1ldHJpPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gSWwgbm9tZSBkZWxsYSBjYXRlZ29yaWE8L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gTGEgZGVzY3JpemlvbmUgZGVsbGEgY2F0ZWdvcmlhPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gSWwgcGVyY29yc28gZGVsbGEgY2F0ZWdvcmlhPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gVW4gb3B6aW9uZSBjaGUgaW5kaWNhIHNlIGxhIGNhdGVnb3JpYSAmZWdyYXZlOyBlbGVuY2FiaWxlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PblJlbW92ZSddID0gJzxwPlVuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gdW4gZmlsZSB2aWVuZSByaW1vc3NvIHRyYW1pdGUgbCYjMDM5O2ludGVyZmFjY2lhIGFtbWluaXN0cmF0b3JlIG8gdXRlbnRlPC9wPg0KPGg0PlBhcmFtZXRyaTwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIElsIG5vbWUgZGVsIGZpbGUgcmltb3NzbzwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBMJiMwMzk7aWQgZGVsIGZpbGUgcmltb3NzbzwvbGk+DQo8bGk+PGVtPmNhdGVnb3J5X2lkPC9lbT4gLSBMJiMwMzk7aWQgZGVsbGEgY2F0ZWdvcmlhPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PblVwbG9hZCddID0gJzxwPlVuIGV2ZW50byBnZW5lcmF0byBxdWFuZG8gdW4gZmlsZSB2aWVuZSBjYXJpY2F0byB0cmFtaXRlIGwmIzAzOTtpbnRlcmZhY2NpYSBhbW1pbmlzdHJhdG9yZSBvIHV0ZW50ZTwvcD4NCjxoND5QYXJhbWV0cmk8L2g0Pg0KPHVsPg0KPGxpPjxlbT5jYXRlZ29yeTwvZW0+IC0gSWwgbm9tZSBkZWxsYSBjYXRlZ29yaWE8L2xpPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBJbCBub21lIGRlbCBmaWxlIGNhcmljYXRvPC9saT4NCjxsaT48ZW0+c2l6ZTwvZW0+IC0gTGEgZGltZW5zaW9uZSBkZWwgZmlsZSBjYXJpY2F0bzwvbGk+DQo8bGk+PGVtPnN1bW1hcnk8L2VtPiAtIExhIGRlc2NyaXppb25lIGJyZXZlIGRlbCBmaWxlIGNhcmljYXRvIChwdSZvZ3JhdmU7IGVzc2VyZSB2dW90YSk8L2VtPjwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBMYSBkZXNjcml6aW9uZSBjb21wbGV0YSBwZXIgaWwgZmlsZSBjYXJpY2F0byAocHUmb2dyYXZlOyBlc3NlcmUgdnVvdGEpPC9lbT48L2xpPg0KPGxpPjxlbT5hdXRob3I8L2VtPiAtIEwmIzAzOTthdXRvcmUgZGVsIGZpbGUgY2FyaWNhdG8gKHNlIGRpc3BvbmliaWxlKTwvZW0+PC9saT4NCjxsaT48ZW0+aXBfYWRkcmVzczwvZW0+IC0gTCYjMDM5O2luZGlyaXp6byBpbnRlcm5ldCBkZWwgY2xpZW50IGNoZSBoYSBjYXJpY2F0byBpbCBmaWxlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaW5mb19ldmVudF9vbmRlbGV0ZWNhdGVnb3J5J10gPSAnRXZlbnRvIGdlbmVyYXRvIGRvcG8gbGEgY2FuY2VsbGF6aW9uZSBkaSB1bmEgY2F0ZWdvcmlhJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25jcmVhdGVjYXRlZ29yeSddID0gJ0V2ZW50byBnZW5lcmF0byBkb3BvIGxhIGNyZWF6aW9uZSBkaSB1bmEgY2F0ZWdvcmlhJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25kb3dubG9hZCddID0gJ0V2ZW50byBnZW5lcmF0byBkb3BvIGxvIHNjYXJpY2FtZW50byBkaSB1biBmaWxlJzsKJGxhbmdbJ2luZm9fZXZlbnRfb251cGxvYWQnXSA9ICdFdmVudG8gZ2VuZXJhdG8gZG9wbyBpbCBjYXJpY2FtZW50byBkaSB1biBudW92byBmaWxlJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25yZW1vdmUnXSA9ICdFdmVudG8gZ2VuZXJhdG8gcXVhbmRvIHVuIGZpbGUgdmllbmUgcmltb3Nzbyc7CiRsYW5nWyd0aXRsZV91c2VydGFnX29udXBsb2FkJ10gPSAnVGFnIGRlZmluaXRvIGRhbGwmIzAzOTt1dGVudGUgZGEgaW52b2NhcmUgYWwgdGVybWluZSBkZWwgY2FyaWNhbWVudG8gZmlsZSc7CiRsYW5nWydub25lJ10gPSAnTmVzc3Vubyc7CiRsYW5nWydtYXRjaGVzZm91bmQnXSA9ICdDb3JyaXNwb25kZW56ZSB0cm92YXRlJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRybyc7CiRsYW5nWyd0aXRsZV9yZWRpcmVjdG9udXBsb2FkJ10gPSAnUmVkaXJlemlvbmEgYWxsJiMwMzk7IGlkL2FsaWFzIGRlbGxhIHBhZ2luYSBhbCBjYXJpY2FtZW50byBkZWxsJiMwMzk7dXRlbnRlJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXR0YWdsaSc7CiRsYW5nWydjb25maXJtX3ByZWZlcmVuY2VzJ10gPSAnU2lldGUgY2VydGkgZGkgdm9sZXJlIGNvcnJlZ2dlcmUgbGUgcHJlZmVyZW56ZT8nOwokbGFuZ1snZXJyb3Jfbm9maWxlc3VwbG9hZGVkJ10gPSAnTmVzc3VuIGZpbGUgY2FyaWNhdG8uJzsKJGxhbmdbJ3Byb21wdF9yZXBsYWNlJ10gPSAnUGVybWV0dGkgU292cmFzY3JpdHR1cmEnOwokbGFuZ1snaW5mb19yZXBsYWNlJ10gPSAnU29zdGl0dWlzY2kgcXVhbHNpYXNpIGZpbGUgY29uIGxvIHN0ZXNzbyBub21lIChub24gbW9kaWZpY2EgbCYjMDM5O0lEKSc7CiRsYW5nWydwYXJhbV9ub19pbml0aWFsJ10gPSAnTm9uIG1vc3RyYSBuZXNzdW4gcmlzdWx0YXRvIGluaXppYWxlIHF1YW5kbyBpbCBmaWx0cm8gJmVncmF2ZTsgYXR0aXZhdG8nOwokbGFuZ1sncGFyYW1fa2V5J10gPSAnRm9ybmlzY2UgdW5hIGNoaWF2ZSBhZ2dpdW50aXZhIGFsIG1vZHVsbyBwZXIgdW5hIHN1Y2Nlc3NpdmEgb3JnYW5penphemlvbmUgZGVnbGkgdXBsb2FkLiAgUXVlc3RhIGNoaWF2ZSBwdSZvZ3JhdmU7IGVzc2VyZSB1bmEgc3RyaW5nYSBjb2RpZmljYXRhIGNvbWU6ICYjMDM5O2ZldXNlcnM6dWlkJiMwMzk7LCBldGMuICBRdWVzdG8gcGFyYW1ldHJvIHNvbGl0YW1lbnRlICZlZ3JhdmU7IG5lY2Vzc2FyaW8gc29sbyBxdWFuZG8gdmllbmUgaW5jb3Jwb3JhdG8gaWwgbW9kdWxvIFVwbG9hZHMgaW4gdW4gYWx0cm8gbW9kdWxvJzsKJGxhbmdbJ3BhcmFtX25vYXV0aG9yJ10gPSAnTmFzY29uZGUgaWwgY2FtcG8gYXV0b3JlIGRhbCBtb2R1bG8gZGkgVXBsb2FkLiBRdWVzdG8gcGFyYW1ldHJvICZlZ3JhdmU7IHZhbGlkbyBzb2xvIHF1YW5kbyAmZWdyYXZlOyBpbXBvc3RhdG8gbW9kZT0mIzAzOTt1cGxvYWQmIzAzOTsuICBTZSBwcmVzZW50ZSBpbCBtb2R1bG8gRnJvbnRlbmRVc2VycyBlIHVuIHV0ZW50ZSAmZWdyYXZlOyBhdHR1YWxtZW50ZSBsb2dnYXRvLCBpbCBub21lIHV0ZW50ZSB2ZXJyJmFncmF2ZTsgY29uc2VydmF0byBpbiB1biBjYW1wbyBuYXNjb3N0byc7CiRsYW5nWydwYXJhbV91cGxvYWRfaWQnXSA9ICd1cGxvYWRfaWQ9JnF1b3Q7aWQmcXVvdDsgLSBzcGVjaWZpY2EgdW4gZmlsZSBzaW5nb2xvIHBlciBsZSBtb2RhbGl0JmFncmF2ZTsgdXJsL2xpbmsgbyBzaW5nb2xvIChzb3ByYSknOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdVdGlsaXp6YXJlIHVuIG1vZGVsbG8gY29uIHF1ZXN0byBub21lIHBlciBpbCByYXBwb3J0byBkZXR0YWdsaWF0by4nOwokbGFuZ1sncGFyYW1fdGVtcGxhdGUnXSA9ICdVdGlsaXp6YXJlIHVuIG1vZGVsbG8gY29uIHF1ZXN0byBub21lIHBlciBxdWVzdG8gcmFwcG9ydG8gbyBtb2R1bG8uIFF1ZXN0byBtb2RlbGxvIGluc2VyaXNjZSBhdXRvbWF0aWNhbWVudGUgdW4gbW9kZWxsbyBjb24gaWwgbm9tZSBjb3JyaXNwb25kZW50ZSBkYWxsYSBsaXN0YSBhcHByb3ByaWF0YSBiYXNhdGEgc3VsbGEgbW9kYWxpdCZhZ3JhdmU7IHNwZWNpZmljYXRhJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlciddID0gJ1Zpc3VhbGl6emEgaWwgbW9kdWxvIGRpIGZpbHRyYWdnaW8nOwokbGFuZ1sncGFyYW1fbm9faW50aXRpYWwnXSA9ICdFJiMwMzk7IHV0aWxlIHNvbG8gcXVhbmRvIGlsIHBhcmFtZXRybyBmaWx0cm8gdmllbmUgZm9ybml0bywgbyAmZWdyYXZlOyBhdHRpdm8gY29tZSB2YWxvcmUgcHJlZGVmaW5pdG8sIHF1ZXN0byBwYXJhbWV0cm8gaW5kaWNhIHNlIGRlYmJhbm5vIGVzc2VyZSByZXN0aXR1aXRpIGkgdmFsb3JpIGluaXppYWxpJzsKJGxhbmdbJ3BhcmFtX2ZpbGV0eXBlcyddID0gJ1Zpc3VhbGl6emEgc29sbyBpIGZpbGUgaWwgY3VpIHRpcG8gY29ycmlzcG9uZGUgY29uIHF1ZXN0YSBsaXN0YSBzZXBhcmF0YSBkYSB2aXJnb2xhJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJyAgPHA+VGlwaSBkaSBvcmRpbmFtZW50bw0KICA8dWw+DQogIDxsaT48ZW0+ZGF0ZV9hc2M8L2VtPiAtIE9yZGluYSBwZXIgZGF0YSBhc2NlbmRlbnRlPC9saT4NCiAgPGxpPjxlbT5kYXRlX2Rlc2M8L2VtPiAtIE9yZGluYSBwZXIgZGF0YSBkaXNjZW5kZXRlPC9saT4NCiAgPGxpPjxlbT5uYW1lX2FzYzwvZW0+IC0gT3JkaW5hIHBlciBub21lIGFzY2VuZGVudGU8L2xpPg0KICA8bGk+PGVtPm5hbWVfZGVzYzwvZW0+IC0gT3JkaW5hIHBlciBub21lIGRpc2NlbmRlbnRlPC9saT4NCiAgPGxpPjxlbT5zaXplX2FzYzwvZW0+IC0gT3JkaW5hIHBlciBkaW1lbnNpb25lIGFzY2VuZGVudGU8L2xpPg0KICA8bGk+PGVtPnNpemVfZGVzYzwvZW0+IC0gT3JkaW5hIHBlciBkaW1lbnNpb25lIGRpc2NlbmRlbnRlPC9saT4NCiAgPGxpPjxlbT5kZXNjX2FzYzwvZW0+IC0gT3JkaW5hIHBlciBkZXNjcml6aW9uZSBhc2NlbmRlbnRlPC9saT4NCiAgPGxpPjxlbT5kZXNjX2Rlc2M8L2VtPiAtIE9yZGluYSBwZXIgZGVzY3JpemlvbmUgZGlzY2VuZGVudGU8L2xpPg0KICA8bGk+PGVtPmF1dGhvcl9hc2M8L2VtPiAtIE9yZGluYSBwZXIgYXV0b3JlIGFzY2VuZGVudGU8L2xpPg0KICA8bGk+PGVtPmF1dGhvcl9kZXNjPC9lbT4gLSBPcmRpbmEgcGVyIGF1dG9yZSBkaXNjZW5kZW50ZTwvbGk+DQogIDxsaT48ZW0+aXBfYXNjPC9lbT4gLSBPcmRpbmEgcGVyIGluZGlyaXp6byBpcCBhc2NlbmRlbnRlPC9saT4NCiAgPGxpPjxlbT5pcF9kZXNjPC9lbT4gLSBPcmRpbmEgcGVyIGluZGlyaXp6byBpcCBkaXNjZW5kZW50ZTwvbGk+DQogIDxsaT48ZW0+cmFuZG9tPC9lbT4gLSBPcmRpbmUgY2FzdWFsZTwvbGk+DQogIDwvdWw+DQogIDwvcD4nOwokbGFuZ1sncGFyYW1fbGlzdGluZ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgdXNhdG8gcGVyIGxhIGxpc3RhIGRlbGxlIGNhdGVnb3JpZSBkb3BvIGxhIHBhZ2luYSBTb21tYXJpbyBDYXRlZ29yaWEnOwokbGFuZ1sncGFyYW1fbGlzdGluZ3NvcnRvcmRlciddID0gJ09yZGluYW1lbnRvIChjb21lIHBhcmFtX3NvcnRvcmRlcikgdXNhdG8gcGVyIGxhIGxpc3RhIGRlbGxlIGNhdGVnb3JpZSBkb3BvIGxhIHBhZ2luYSBTb21tYXJpbyBDYXRlZ29yaWEnOwokbGFuZ1sncGFyYW1fZmlsZWV4dGVuc2lvbnMnXSA9ICdmaWxlX2V4dGVuc2lvbnM9JnF1b3Q7ZXh0MSxleHQyLGV4dDMmcXVvdDsNCjxwPnZhbGlkbyBzb2xvIGNvbiBtb2RlPXVwbG9hZCwgcXVlc3RvIHBhcmFtZXRybyBsaW1pdGEgaSB0aXBpIGRpIGZpbGUgY2hlIHBvc3Nvbm8gZXNzZXJlIGNhcmljYXRpLiAgU292cmFzY3JpdmUgcXVhbHNpYXNpIGltcG9zdGF6aW9uZSBuZWxsZSBwcmVmZXJlbnplIGRlbCBtb2R1bG8uPC9wPic7CiRsYW5nWydwYXJhbV9jb3VudCddID0gJ2NvdW50PSZxdW90O04mcXVvdDsNCjxwPlVuIHBhcmFtZXRybyBwZXIgZWxlbmNhcmUgc29sbyBpIHByaW1pIE4gcmlzdWx0YXRpIGRlbGxhIHF1ZXJ5LiAgTCYjMDM5O2ltcGFnaW5hemlvbmUgc2FyZWJiZSBtaWdsaW9yZSwgbWEgcGVyIG9yYSBxdWVzdG8gcmlzb2x2ZXImYWdyYXZlOyBpbCBwcm9ibGVtYS48L3A+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnY2F0ZWdvcnk9JnF1b3Q7bmFtZSZxdW90Ow0KPHA+PGI+Tm90YTo8L2I+IExhIENhdGVnb3JpYSBwdSZvZ3JhdmU7IGVzc2VyZSAmcXVvdDthbGwmcXVvdDssIGNoZSBlbGVuY2hlciZhZ3JhdmU7IHR1dHRpIGdsaSB1cGxvYWQgZGEgdHV0dGUgbGUgY2F0ZWdpcmllIDxlbT5lbGVuY2FiaWxpPC9lbT48L3A+JzsKJGxhbmdbJ3BhcmFtX21vZGUnXSA9ICcgIDx1bD4NCiAgPGxpPjxlbT5kZXRhaWxlZDwvZW0+IC0gVmlzdWFsaXp6YSB1biBlbGVuY28gZGV0dGFnbGlhdG8gZGkgdHV0dGkgaSBmaWxlIG5lbGxhIGNhdGVnb3JpYTwvbGk+DQogIDxsaT48ZW0+dXBsb2FkPC9lbT4gLSBWaXN1YWxpenphIHVuIG1vZHVsbyBjaGUgcGVybWV0dGEgYWQgdW4gVXRlbnRlIEZyb250ZW5kIGRpIGNhcmljYXJlIHVuIGZpbGU8L2xpPg0KICA8bGk+PGVtPnVybCA8aT5vcjwvaT4gbGluazwvZW0+IC0gVmlzdWFsaXp6YSBpbCBsaW5rIGFkIHVuIGZpbGU8L2xpPg0KICA8bGk+PGVtPnN1bW1hcnk8L2VtPiAtIFZpc3VhbGl6emEgdW5hIGxpc3RhIGEgc29tbWFyaW8gZGkgdHV0dGkgaSBmaWxlIG5lbGxhIGNhdGVnb3JpYTwvbGk+DQogIDxsaT48ZW0+c2luZ2xlPC9lbT4gLSBWaXN1YWxpenphIHVuIHJhcHBvcnRvIGRldHRhZ2xpYXRvIHN1IHVuIHVwbG9hZCBzaW5nb2xvPC9saT4NCiAgPC91bD4nOwokbGFuZ1sncGFyYW1fc2VsZWN0Zm9ybSddID0gJ1doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBpcyB0aGUgZm9ybWlkIG9mIHRoZSBwYXJlbnQgZm9ybS4gIFVzZWQgdG8gaGFuZGxlIHBhcmFtZXRlciBwYXNzaW5nJzsKJGxhbmdbJ3BhcmFtX3NlbGVjdG5hbWUnXSA9ICd3aGVuIHVzaW5nIHRoZSAmIzAzOTtzZWxlY3QmIzAzOTsgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBmaWVsZCc7CiRsYW5nWydwYXJhbV9zZWxlY3R2YWx1ZSddID0gJ1doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGRlZmF1bHQgZmllbGQgdmFsdWUnOwokbGFuZ1sncGFyYW1fc2VsZWN0bm9uZSddID0gJ1doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2V0aGVyICYjMDM5O25vbmUmIzAzOTsgaXMgYSB2YWxpZCBjaG9pY2UuJzsKJGxhbmdbJ3JldHVybnRvbW9kdWxlJ10gPSAnVG9ybmEgYWwgcGFubmVsbG8gZGVsIG1vZHVsbyc7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3JpZXMnXSA9ICdOb24gY2kgc29ubyBjYXRlZ29yaWUgZGVmaW5pdGUnOwokbGFuZ1sndGl0bGVfZW5mb3JjZWV4dGVuc2lvbnMnXSA9ICdFc3RlbnNpb25lIG5lY2Vzc2FyaWEgcGVyIHR1dHRpIGkgZmlsZSBjYXJpY2F0aSc7CiRsYW5nWydyZXN0b3JlZGVmYXVsdHNjb25maXJtJ10gPSAnUXVlc3RhIG9wZXJhemlvbmUgcmlwcmlzdGluZXImYWdyYXZlOyBpbCBtb2RlbGxvIGFsIHByZWRlZmluaXRvIGRpIHNpc3RlbWEuIE9nbmkgbW9kaWZpY2EgZmF0dGEgdmVyciZhZ3JhdmU7IHBlcnNhLiAgU2lldGUgY2VydGkgZGkgdm9sZXJlIHByb2NlZGVyZT8nOwokbGFuZ1sndGh1bWJuYWlsJ10gPSAnQW50ZXByaW1hJzsKJGxhbmdbJ25ld3RodW1ibmFpbCddID0gJ1VwbG9hZCBudW92YSBNaW5pYXR1cmEnOwokbGFuZ1snaW5mb19zdW1tYXJ5J10gPSAnVW5hIGJyZXZlIGRlc2NyaXppb25lIGRlbCBmaWxlIChzZSB2dW90bywgaWwgbm9tZSBkZWwgZmlsZSB2aWVuZSB1dGlsaXp6YXRvIHNlbnphIGVzdGVuc2lvbmUpJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnluYW1lJ10gPSAnVW4gbm9tZSBicmV2ZSBwZXIgbGEgdm9zdHJhIGNhdGVnb3JpYSAobGVnZ2liaWxlKSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5ZGVzYyddID0gJ1VuYSBkZXNjcml6aW9uZSBwZXIgbGEgdm9zdHJhIGNhdGVnb3JpYSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5cGF0aCddID0gJ0lsIG5vbWUgZGVsbGEgY2FydGVsbGEgZGVudHJvIGxhIGNhcnRlbGxhIGRpIHVwbG9hZCBjaGUgdmVyciZhZ3JhdmU7IHV0aWxpenphdGEgcGVyIGNvbnRlbmVyZSBpIGZpbGUgZGkgcXVlc3RhIGNhdGVnb3JpYS4gU2UgbGEgY2FydGVsbGEgY29uIHF1ZXN0byBub21lIG5vbiBlc2lzdGUgcHUmb2dyYXZlOyBlc3NlcmUgY3JlYXRhLic7CiRsYW5nWydpbmZvX2Rlc3RuYW1lJ10gPSAnVXRpbGl6emEgaWwgY2FtcG8gJiMwMzk7VXBsb2FkIEFzJiMwMzk7IChDYXJpY2EgQ29tZSkgcGVyIG1vZGlmaWNhcmUgaWwgbm9tZSBkZWwgZmlsZSBuZWwgY2FyaWNhbWVudG8uICBMYXNjaWF0ZSB2dW90byBwZXIgbWFudGVuZXJlIGxvIHN0ZXNzbyBub21lIGRpIGZpbGUuJzsKJGxhbmdbJ2Vycm9yX2NhbnRjcmVhdGVkaXJlY3RvcnknXSA9ICdOb24gcG9zc28gY3JlYXJlIGxhIGNhcnRlbGxhJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnTm9uIHJpZXNjbyBhIGluaXppYWxpenphcmUgaWwgbW9kdWxvIENNU01haWxlcic7CiRsYW5nWyd1cGxvYWRfbm90aWZpY2F0aW9uJ10gPSAnRSYjMDM5OyBzdGF0byBjYXJpY2F0byB1biBudW92byBmaWxlJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX29uX3VwbG9hZCddID0gJ0ludmlhIG5vdGlmaWNhIGRpIHVwbG9hZCBhOic7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZSddID0gJ01vZGVsbG8gZGkgRS1tYWlsJzsKJGxhbmdbJ3RpdGxlX2R1bW15X2luZGV4X2h0bWwnXSA9ICdDcmVhcmUgdW4gZmlsZSBpbmRleC5odG1sIGluIG9nbmkgY2FydGVsbGE/Q3JlYXRlIGR1bW15IGluZGV4Lmh0bWwgZmlsZXMgaW4gZWFjaCBkaXJlY3Rvcnk/PGJyLz48ZW0+T2duaSBmaWxlIGluZGV4Lmh0bWwgZXNpc3RlbnRlIHZlcnImYWdyYXZlOyBjb25zZXJ2YXRvPC9lbT4nOwokbGFuZ1snYWJvdXQnXSA9ICdJbmZvcm1hemlvbmkgc3UnOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbmRlbmllZCddID0gJ0FjY2Vzc28gTmVnYXRvLiBWZXJpZmljYXRlIGkgdm9zdHJpIHBlcm1lc3NpLic7CiRsYW5nWydlcnJvcl9jb3VsZG5vdHdyaXRlJ10gPSAnTm9uIHBvc3NvIHNjcml2ZXJlJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnQWdnaXVuZ2kgQ2F0ZWdvcmlhJzsKJGxhbmdbJ2FsbCddID0gJ1R1dHRvJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdTaWV0ZSBTaWN1cmk/JzsKJGxhbmdbJ2F1dGhvciddID0gJ0F1dG9yZSc7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGxhJzsKJGxhbmdbJ2Nhbm5vdG1vZGlmeXBhdGgnXSA9ICcoSWwgcGVyY29yc28gbm9uIHB1Jm9ncmF2ZTsgZXNzZXJlIG1vZGlmaWNhdG8pJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWUnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yaWEnOwokbGFuZ1snbWVzc2FnZV9jYXRlZ29yeWFkZGVkJ10gPSAnQ2F0ZWdvcmlhIGFnZ2l1bnRhIGNvbiBzdWNjZXNzbyc7CiRsYW5nWydkYXRlJ10gPSAnRGF0YSc7CiRsYW5nWydkYXRldXBsb2FkZWQnXSA9ICdEYXRhIENhcmljYW1lbnRvJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdWYWxvcmkgcHJlZGVmaW5pdGknOwokbGFuZ1snZGVsZXRlJ10gPSAnRWxpbWluYSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXppb25lJzsKJGxhbmdbJ2Rlc3RuYW1lJ10gPSAnQ2FyaWNhIENvbWUnOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBEZXR0YWdsaSc7CiRsYW5nWydkb3dubG9hZGVkJ10gPSAnSWwgZmlsZSAlcyAmZWdyYXZlOyBzdGF0byBzY2FyaWNhdG8uJzsKJGxhbmdbJ2Rvd25sb2FkcyddID0gJ0Rvd25sb2FkJzsKJGxhbmdbJ2VkaXQnXSA9ICdNb2RpZmljYSc7CiRsYW5nWydlZGl0Y2F0ZWdvcnknXSA9ICdNb2RpZmljYSBDYXRlZ29yaWEnOwokbGFuZ1snZWRpdHVwbG9hZCddID0gJ01vZGlmaWNhIFVwbG9hZCc7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yZSEnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlMiddID0gJ0UmIzAzOTsgZ2kmYWdyYXZlOyBwcmVzZW50ZSB1bmEgY2F0ZWdvcmlhIGNoZSB1c2EgaWwgcGVycmNvcnNvIHNwZWNpZmljYXRvICglcyknOwokbGFuZ1snZXJyb3JfcGF0aGludXNlJ10gPSAnRSYjMDM5OyBnaSZhZ3JhdmU7IHByZXNlbnRlIHVuYSBjYXRlZ29yaWEgY2hlIHV0aWxpenphIHF1ZXN0byBwZXJjb3Jzbyc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeWV4aXN0czInXSA9ICdFcnJvcmU6IE5vbWUgQ2F0ZWdvcmlhICVzIGdpJmFncmF2ZTsgZXNpc3RlJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5ZXhpc3RzJ10gPSAnRXJyb3JlOiBsYSBDYXRlZ29yaWEgZXNpc3RlIGdpJmFncmF2ZTsnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlub3RlbXB0eSddID0gJ0Vycm9yZSEgTm9uIHBvc3NvIGVsaW1pbmFyZSB1bmEgY2F0ZWdvcmlhIGNoZSBub24gc2lhIHZ1b3RhJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90Zm91bmQnXSA9ICdFcnJvcmU6IENhdGVnb3JpYSBub24gdHJvdmF0YSEnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0Vycm9yZTogRXJyb3JlIGRlbCBEYXRhYmFzZSEnOwokbGFuZ1snZXJyb3JfZW1wdHljYXRlZ29yeSddID0gJ0Vycm9yZTogQ2F0Z29yaWEgdnVvdGEhJzsKJGxhbmdbJ2Vycm9yX2VtcHR5cGF0aCddID0gJ0Vycm9yZTogUGVyY29yc28gdnVvdG8hJzsKJGxhbmdbJ2Vycm9yX2ZpbGVleGlzdHMnXSA9ICdFcnJvcmUhIElsIGZpbGUgJXMgJmVncmF2ZTsgZ2kmYWdyYXZlOyBwcmVzZW50ZS4nOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnRXJyb3JlISBOb24gJmVncmF2ZTsgcG9zc2liaWxlIHRyb3ZhcmUgaWwgZmlsZSAlcy4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnRXJyb3JlOiBQYXJhbWV0cmkgaW5zdWZmaWNpZW50aSBwYXNzYXRpIGFsIG1vZHVsbyEnOwokbGFuZ1snZXJyb3JfaW52YWxpZGF1dGhvciddID0gJ0Vycm9yZTogQXV0b3JlIG5vbiB2YWxpZG8gKG8gdnVvdG8pLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkY2F0ZWdvcnknXSA9ICdFcnJvcmU6IENhdGVnb3JpYSBub24gdmFsaWRhIChvIHZ1b3RhKS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGRlc2NyaXB0aW9uJ10gPSAnRXJyb3JlOiBEZXNjcml6aW9uZSBub24gdmFsaWRhIChvIHZ1b3RhKS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGZpbGUnXSA9ICdFcnJvcmU6IE5vbWUgRmlsZSBub24gdmFsaWRvIChvIHZ1b3RvKS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVwbG9hZGZpbGVuYW1lJ10gPSAnRXJyb3JlOiBGaWxlIGNvbiBxdWVzdG8gbm9tZSAocHJvYmFiaWxtZW50ZSBsJiMwMzk7ZXN0ZW5zaW9uZSkgbm9uIHNvbm8gY29uc2VudGl0aSAoJXMpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkaWQnXSA9ICdFcnJvcmU6IGlkIGRpIGNhcmljYW1lbnRvIG5vbiB2YWxpZG8nOwokbGFuZ1snZXJyb3Jfbm9maWxlcyddID0gJ0Vycm9yZTogTmVzc3VuIEZpbGUgQ29ycmlzcG9uZGVudGUhJzsKJGxhbmdbJ2ZpbGVzJ10gPSAnRmlsZSc7CiRsYW5nWydmaXhtZSddID0gJ0NvcnJlZ2dpIFNwYXppJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0dlc3Rpb25lIGRpIEZyb250ZW5kIGRlaSBGaWxlIChNb2R1bG8gVXBsb2FkcyknOwokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdWZXJzaW9uZSAlcyBkZWwgTW9kdWxvIGluc3RhbGxhdGEuJzsKJGxhbmdbJ2lwX2FkZHJlc3MnXSA9ICdJbmRpcml6em8gSVAnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdVbiBtb2R1bG8gY2hlIHBlcm1ldHRlIGFnbGkgdXRlbnRpIGRpIGNhcmljYXJlIGZpbGUsIGUgcGVybWV0dGUgYSB2b2kgZGkgZ2VzdGlybGkuJzsKJGxhbmdbJ25hbWUnXSA9ICdOb21lJzsKJGxhbmdbJ3JlbmFtZW1lc3NhZ2UnXSA9ICdNb2RpZmljYSBpbCBub21lIHF1aSBwZXIgcmlub21pbmFybG8nOwokbGFuZ1sncGF0aCddID0gJ1BlcmNvcnNvJzsKJGxhbmdbJ3BhdGhtZXNzYWdlJ10gPSAnTW9kaWZpY2EgbGEgY2F0ZWdvcmlhIHF1aSBwZXIgc3Bvc3RhcmUgaWwgZmlsZSBpbiB1biYjMDM5O2FsdHJhIGNhcnRlbGxhJzsKJGxhbmdbJ3BhdGhpbnVwbG9hZHMnXSA9ICcoUmVsYXRpdm8gYWxsYSBjYXJ0ZWxsYSBkZWdsaSB1cGxvYWQpJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnPHA+VGhlIHVwbG9hZHMgbW9kdWxlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuIEJlIHN1cmUgdG8gc2V0ICZxdW90O01hbmFnZSBVcGxvYWRzJnF1b3Q7IHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSE8L3A+DQo8cD48c3Ryb25nPldhcm5pbmc8L3N0cm9uZz4gLSBUaGUgcHJvcGVyIGJlaGF2aW91ciBvZiB0aGlzIG1vZHVsZSBkZXBlbmRzIG9uIG51bWVyb3VzIHBocCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy4gIFRoZXNlIGluY2x1ZGUgPGVtPihidXQgYXJlIG5vdCBsaW1pdGVkIHRvKTwvZW0+LCBwaHAmIzAzOTtzIG1lbW9yeV9saW1pdCwgc2FmZV9tb2RlLCBmaWxlX3VwbG9hZHMsIHVwbG9hZHNfbWF4X2ZpbGVzaXplLCBhbmQgbWF4X2V4ZWN1dGlvbl90aW1lLiAgVGhlc2UgdmFyaWFibGVzIG1heSBuZWVkIGFkanVzdG1lbnQgZm9yIHRoaXMgbW9kdWxlIHRvIHdvcmsgcHJvcGVybHkgb24geW91ciBzaXRlLiAgSXQgaXMgYWR2aXNlZCB0aGF0IHlvdSB3b3JrIHdpdGggeW91ciBzeXN0ZW0gYWRtaW5pc3RyYXRvciBvciBob3N0IHByb3ZpZGVyIHRvIHR1bmUgdGhlc2Ugc2V0dGluZ3MgZm9yIHlvdXIgcmVxdWlyZW1lbnRzLjwvcD4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0lsIG1vZHVsbyBVcGxvYWRzICZlZ3JhdmU7IHN0YXRvIHJpbW9zc28gY29uIHN1Y2Nlc3NvLiAgTmVzc3VuIGZpbGUgJmVncmF2ZTsgc3RhdG8gcmltb3NzbyBkYWxsYSB2b3N0cmEgY2FydGVsbGEgZGkgdXBsb2FkIGUgbCYjMDM5O2ludGVncml0JmFncmF2ZTsgZGVpIGZpbGUgJmVncmF2ZTsgaW50YXR0YSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuemUnOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnUHJlZmVyZW56ZSBkZWwgbW9kdWxvIGFnZ2lvcm5hdGUuJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeWRlc2MnXSA9ICdEZXNjcml6aW9uZSc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlsaXN0YWJsZSddID0gJ0kgZmlsZSBpbiBxdWVzdGEgY2FydGVsbGEgcG9zc29ubyBlc3NlcmUgZWxlbmNhdGknOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5bmFtZSddID0gJ05vbWUgZGVsbGEgQ2F0ZWdvcmlhJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeXBhdGgnXSA9ICdQZXJjb3JzbyBkZWwgU2VydmVyJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVkaXJlY3RvcnknXSA9ICdFbGltaW5hcmUgY2FydGVsbGEgZGVsbGEgY2F0ZWdvcmlhPyc7CiRsYW5nWydwcm9tcHRfbWF4X3VwbG9hZHNpemUnXSA9ICdEaW1lbnNpb25lIG1hc3NpbWEgZGVsIGZpbGUgcGVybWVzc2EgKEtiKSc7CiRsYW5nWydwcm9tcHRfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ0VzdGVuc2lvbmkgdmFsaWRlIHBlciBsJiMwMzk7dXBsb2FkJzsKJGxhbmdbJ3NjYW4nXSA9ICdFc2FtaW5hJzsKJGxhbmdbJ3NlbGVjdGNhdGVnb3J5J10gPSAnU2VsZXppb25hIENhdGVnb3JpYSc7CiRsYW5nWydzaXplJ10gPSAnRGltZW5zaW9uZSc7CiRsYW5nWydzaXpla2InXSA9ICdEaW1lbnNpb25lIChLYiknOwokbGFuZ1snc3VibWl0J10gPSAnSW52aWEnOwokbGFuZ1snc3VtbWFyeV90ZW1wbGF0ZSddID0gJ01vZGVsbG8gZGVsIFNvbW1hcmlvJzsKJGxhbmdbJ3N1bW1hcnknXSA9ICdTb21tYXJpbyc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ01vZHVsbyBVcGxvYWRzJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ1Bhbm5lbGxvIGRpIEFtbWluaXN0cmF6aW9uZSBNb2R1bG8nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnUHJlZmVyZW56ZSBkZWwgTW9kdWxvJzsKJGxhbmdbJ3RpdGxlX3N1Ym5ldF9leGNsdXNpb25zJ10gPSAnRXNjbHVkZXJlIGxlIHNvdHRvcmV0aSBkYWxsYSBzdGF0aXN0aWNoZSc7CiRsYW5nWyd0aXRsZV92YWxpZF91cGxvYWRleHRlbnNpb25zJ10gPSAnRXN0ZW5zaW9uaSBWYWxpZGUnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bG8gRGlzaW5zdGFsbGF0by4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bG8gYWdnaW9ybmF0byBhbGxhIHZlcnNpb25lICVzLic7CiRsYW5nWyd1cGxvYWQnXSA9ICdDYXJpY2EnOwokbGFuZ1sndXBsb2FkZWQnXSA9ICdGaWxlICVzIGNhcmljYXRvIGRhICVzLic7CiRsYW5nWydyZXBsYWNlZCddID0gJ0ZpbGUgJXMgc29zdGl0dWl0byBkYSAlcy4nOwokbGFuZ1snZGVsZXRlZCddID0gJ0lsIEZpbGUgJXMgJmVncmF2ZTsgc3RhdG8gY2FuY2VsbGF0by4nOwokbGFuZ1sndXBsb2FkZm9ybV90ZW1wbGF0ZSddID0gJ01vZGVsbG8gZGkgVXBsb2FkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTm9tZSBVdGVudGUnOwokbGFuZ1snd2FybmluZ19kZWxldGVjYXRlZ29yeSddID0gJ0FUVEVOWklPTkU6IFVzYXRlIGNhdXRlbGEgcXVhbmRvIGNhbmNlbGxhdGUgY2F0ZWdvcmllLiBFJiMwMzk7IHBvc3NpYmlsZSBwZXJkZXJlIGZpbGUnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/lt_LT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2luZm9fY2F0ZWdvcnlkZWxldGFibGUnXSA9ICdBdXRvcml6dW90aSB2YXJ0b3RvamFpIGdhbMSXcyBpJnNjYXJvbjt0cmludGkgJnNjYXJvbjtpdW9zIGZhaWx1cy4gIFRhaSByZWkmc2Nhcm9uO2tpYSwga2FkIHVybCBidXMgZ2FsaW1hIHBlcmR1b3RpIGF0aXRpbmthbWllbXMgdGVtcGxlaXRhbXMsIGthZCBmYWlsYXMgYsWrdMWzIGkmc2Nhcm9uO3RyaW50YXMuIFB1c2xhcGlvIGFkbWluaXN0cmF0b3JpdXMgZ2FsaSBwZXIgc21hcnR5IGdhbGkgcGF0ZWlrdGkgbnVvcm9kxIUgYXV0b3JpenVvdGllbXMgdmFydG90b2phbXMuJzsKJGxhbmdbJ2NvcHlfZmlsZXMnXSA9ICdLb3BpanVvdGkgRmFpbHVzJzsKJGxhbmdbJ2Vycm9yX2ZpbGV0b29sYXJnZSddID0gJ0ZhaWxhcywga3VyxK8gasWrcyBiYW5kb3RlIGkmc2Nhcm9uO3NpxbNzdGksIHZpciZzY2Fyb247eWphIENNU01TIG51c3RhdHl0xIUgc2l1bsSNaWFtxbMgZmFpbMWzIGR5ZMW+aW8gbGltaXTEhS4nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVjYXRlZ29yeSddID0gJ0FyIHRpa3JhaSBub3JpdGUgaSZzY2Fyb247dHJpbnRpICZzY2Fyb247acSFIGthdGVnb3JpasSFPyc7CiRsYW5nWydlcnJvcl9kZWxldGUnXSA9ICdPYmpla3RvIG5lZ2FsaW1hIHBhJnNjYXJvbjthbGludGkgKCVzKSc7CiRsYW5nWydjb25maXJtX2NhdF9tdWx0aWFjdGlvbiddID0gJ0FyIHRpa3JhaSBub3JpdGUgYXRsaWt0aSAmc2Nhcm9uO8SvIHZlaWtzbcSFIHBhc2lyaW5rdG9tcyBrYXRlZ29yaWpvbXM/JzsKJGxhbmdbJ2Vycm9yX25vdGhpbmdfc2VsZWN0ZWQnXSA9ICdLbGFpZGE6IE5pZWtvIG5lcGFzaXJpbmt0YSc7CiRsYW5nWyd3aXRoX3NlbGVjdGVkJ10gPSAnU3UgcGFzaXJpbmt0YWlzOic7CiRsYW5nWydlcnJvcl9yZXBsYWNlX21pc21hdGNoZWRfZmlsZWV4dCddID0gJ1BlcnJhJnNjYXJvbjthbnQgZmFpbHVzLCBuYXVqbyBmYWlsbyBwbMSXdGlueXMgdHVyaSBixat0aSB0b2tzIHBhdCBrYWlwIGlyIGphdSBlZ3ppc3R1b2phbsSNaW8gZmFpbG8uJzsKJGxhbmdbJ3JlcGxhY2UnXSA9ICdQYWtlaXN0aSc7CiRsYW5nWydpbmZvX3JlcGxhY2VmaWxlJ10gPSAnSsWrcyBnYWxpdGUgZmFpbMSFIHXFvnJhJnNjYXJvbjt5dGkgYW50IHZpciZzY2Fyb247YXVzLCBqaWUgZmFpbGFzIHlyYSBwYXZlaWtzbMSXbGlzIGpvIGlrb27El2zElyBidXMgc3VrdXJ0YSBhdXRvbWF0aSZzY2Fyb247a2FpIGlyIHBhcGlsZG9tYWkgc2nFs3N0aSBqb3MgbmVyZWlraWEuJzsKJGxhbmdbJ3Byb21wdF9yZXBsYWNlZmlsZSddID0gJ1NpxbNzdGkgZmFpbMSFIHBha2VpdGltdWknOwokbGFuZ1sndGl0bGVfZml4c3BhY2VzJ10gPSAnSSZzY2Fyb247dGFpc3l0aSB0YXJwdXMgZmFpbG8gcGF2YWRpbmltZSc7CiRsYW5nWydjYXRlZ29yeV9jb3BpZWQnXSA9ICdLYXRlZ29yaWphIHPEl2ttaW5nYWkgbnVrb3BpanVvdGEnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlcGF0aCddID0gJ1ByYSZzY2Fyb247b20gbnVyb2R5dGkga2F0YWxvZ8SFIGtpdMSFIG5laSAmc2Nhcm9uO2FsdGluaW8sIHRhaXAgcGF0IGthdGFsb2dhcyBuZXR1csSXdMWzIGLFq3RpIG5hdWRvamFtYXMuJzsKJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdPcGVyYWNpamEgQXQmc2Nhcm9uO2F1a3RhJzsKJGxhbmdbJ3NvdXJjZSddID0gJyZTY2Fyb247YWx0aW5pcyc7CiRsYW5nWydkZXN0aW5hdGlvbiddID0gJ1Rpa3NsYXMnOwokbGFuZ1sncHJvbXB0X2NvcHlfZmlsZXMnXSA9ICdLb3BpanVvdGkga2F0ZWdvcmlqb3MgYnlsYXMnOwokbGFuZ1snaW5mb19jb3B5X2ZpbGVzJ10gPSAnS29waWp1b3RpIHBpcm1vcyBrYXRlZ29yaWpvcyBmYWlsdXMgxK8ga2l0xIUga2F0ZWdvcmlqxIUuJzsKJGxhbmdbJ2V4dHJhJ10gPSAnUGFwaWxkb21hJzsKJGxhbmdbJ2NvcHknXSA9ICdLb3BpanVvdGknOwokbGFuZ1snc2VsZWN0b25lJ10gPSAnUGFzaXJpbmtpdGUgVmllbsSFJzsKJGxhbmdbJ2F1dG93YXRlcm1hcmsnXSA9ICdBbnQgcGF2ZWlrc2xpdWtvIGF1dG9tYXRpJnNjYXJvbjtrYWkgZMSXdGkgdmFuZGVucyDFvmVua2zEhSc7CiRsYW5nWydpbWFnZV9zZXR0aW5ncyddID0gJ1BhdmVpa3NsxJdsaW8gTnVzdGF0eW1haSc7CiRsYW5nWydwcm9tcHRfZ2V0ZmlsZV9yZXN1bHRwYWdlJ10gPSAnUHVzbGFwaXMgbmF1ZG9qYW1hcyBrbGFpZG9tcyBpciBraXRvbXMgxb5pbXV0xJdtcywgc3VzaWp1c2lvbXMgc3UgZmFpbMWzIGF0c2lzaXV0aW11LCBwYXRlaWt0aSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2tleSddID0gJ0F0c3Npc2l1bnRpbW8gcmFrdGFzIG5lYmVnYWxpb2phIChwYXNpZWt0YXMgYXRzaXNpbnRpbcWzIGxpbWl0YXMpJzsKJGxhbmdbJ2RmbHRfdGltZWxpbWl0ZWRfc3ViamVjdCddID0gJ3skc2l0ZW5hbWV9IC0gSnVtcyBzdXRlaWt0YSBsYWlraW5hIHRlaXPElyBhdHNpc2nFs3N0aSBmYWlsxIUgeyRlbnRyeS0+dXBsb2FkX25hbWV8c3RyaXBfdGFnc30nOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX3N1YmplY3QnXSA9ICdFbC4gbGFpJnNjYXJvbjtrbyB0ZW1hLCBrdXJpcyBzdWt1cmlhbWFzIGthaSBzaXVuxI1pYW1hIGxhaWtvIHJpYm9qYW1hIG51b3JvZGEuJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9hdXRvZGVsZXRlJ10gPSAnQXV0b21hdGkmc2Nhcm9uO2thaSBpJnNjYXJvbjt0cmludGkgxK9yYSZzY2Fyb247dXMgcHJhxJdqdXMgTiB2YWxhbmTFsyA8ZW0+KG51cm9kxb5pdXMgIDAgxK9yYSZzY2Fyb247YWkgbmVidXMgdHJpbmFtaSk8L2VtPjonOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX3NlbmRpdCddID0gJ0kmc2Nhcm9uO3NpxatzdGkgJnNjYXJvbjtpxIUgbnVvcm9kxIUgYXRpdGlua2FtdSBlbC4gcGEmc2Nhcm9uO3R1Pyc7CiRsYW5nWyd1cmxfa2V5J10gPSAnVVJMIHJha3Rhcyc7CiRsYW5nWydjcmVhdGVkJ10gPSAnU3VrdXJ0YSc7CiRsYW5nWydleHBpcmVzJ10gPSAnQmFpZ2lhc2knOwokbGFuZ1snYWRkZWRpdF90aW1lbGltaXRlZF9rZXknXSA9ICdQcmlkxJd0aS9SZWRhZ3VvdGkgbGFpa2UgYXByaWJvdMSFIHJha3TEhSc7CiRsYW5nWyd0aW1lX2xpbWl0ZWRfa2V5X2FkZGVkJ10gPSAnTGFpa2UgYXByaWJvdGFzIHJha3RhcyBwcmlkxJd0YXMnOwokbGFuZ1snbnVtX2hvdXJzJ10gPSAnVmFsYW5kxbMgc2thacSNaXVzJzsKJGxhbmdbJ251bV9kb3dubG9hZHMnXSA9ICdBdGlzaXVudGltxbMgc2thacSNaXVzJzsKJGxhbmdbJ2VtYWlsX2FkZHJlc3MnXSA9ICdFbC4gcGEmc2Nhcm9uO3RvIGFkcmVzYWknOwokbGFuZ1snZXJyb3JfbWlzc2luZ19pbnZhbGlkJ10gPSAnVHUmc2Nhcm9uO3RpIGFyYmEgbmV0aW5rYW1haSB1xb5waWxkeXRpIHByaXZhbG9taSBsYXVrYWk6ICVzJzsKJGxhbmdbJ2FkZF90aW1lbGltaXRlZF9rZXknXSA9ICdQcmlkxJd0aSBsYWlrZSBhcHJpYm90xIUgcmFrdMSFJzsKJGxhbmdbJ2ZpbGVfaW5mbzInXSA9ICdGYWlsYXMgJXMgKGlkPSVkKSc7CiRsYW5nWydpbmZvX3RpbWVsaW1pdGVkX2Rvd25sb2FkcyddID0gJ051cm9keXRpIHNrYWnEjWnFsywga3VyaXMgbnVzdGF0eXMgxK9wcmFzdMSFIGF0c2lzaXVudGltxbMgbGltaXTEhSBzdSBhdGl0aW5rYW11IHJha3R1JzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9kb3dubG9hZHMnXSA9ICfErnByYXN0YXMgYXRzaXNpdW50aW3FsyBsaW1pdGFzJzsKJGxhbmdbJ2luZm9fdGltZWxpbWl0ZWRfaG91cnMnXSA9ICdOdXJvZHl0aSDEr3ByYXN0xIUgYXRzaXNpdW50aW1vIHJha3RvIGdhbGlvamltxIUgbGFpa8SFIHZhbGFuZG9taXMuICDErnZlZHVzIDAgYXByaWJvamltxbMgbmVidXMnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2hvdXJzJ10gPSAnQXRzaXNpdW50aW1vIHJha3RvIGdhbGlvamltbyBsYWlrYXMgdmFsYW5kb21pcyc7CiRsYW5nWyd0aW1lbGltaXRlZF91cmxfc2V0dGluZ3MnXSA9ICdMYWlrZSBhcHJpYm90byByYWt0byBudXN0YXR5bWFpJzsKJGxhbmdbJ21hbmFnZV90aW1lbGltaXRlZCddID0gJ1JlZGFndW90aSBsYWlrZSBhcHJpYm90xIUgcHJpZWVpZ8SFJzsKJGxhbmdbJ3VwbG9hZGluZ19zZXR0aW5ncyddID0gJ0ZhaWxvIEkmc2Nhcm9uO3NpdW50aW1vIE51c3RhdHltYWknOwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ0JlbmRyaSBOdXN0YXR5bWFpJzsKJGxhbmdbJ3RodW1ibmFpbF9zZXR0aW5ncyddID0gJ0lrb27El2xpxbMgR2VuZXJhdmltYXMnOwokbGFuZ1sndGl0bGVfcmVkaXJlY3Rfb25fc2VuZGZpbGUnXSA9ICdQdXNsYXBpcywgxK8ga3VyxK8gYnVzIG51a3JlaXB0YSBpJnNjYXJvbjtzaXVudHVzIGZhaWzEhSc7CiRsYW5nWydsYmxfYmFjayddID0gJ0F0Z2FsJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdSZWRhZ3VvdGkgJlNjYXJvbjthYmxvbnVzJzsKJGxhbmdbJ3Byb21wdF9wdWJsaWNfZmllbGQnXSA9ICdWaWUmc2Nhcm9uO2FzIGxhdWthcyA8ZW0+KG1hdG9tYXMgdmlzaWVtcyBsYW5reXRvamFtcyk8L2VtPic7CiRsYW5nWyd1cGxvYWRfZWRpdGVkJ10gPSAnRmFpbG8gxK9wYXR5YsSXcyByZWRhZ3VvdG9zICVzJzsKJGxhbmdbJ2luZm9fdGh1bWJuYWlsJ10gPSAnS2l0YXMgbWluaWF0acWrcm9zIGZhaWxhcyc7CiRsYW5nWyd1cGxvYWRfZmlsZSddID0gJ1NpxbNzdGkgbmF1asSFIGZhaWzEhSc7CiRsYW5nWydtc2dfZmllbGRfZGVsZXRlZCddID0gJ0xhdWtlbGlzIGkmc2Nhcm9uO3RyaW50YXMnOwokbGFuZ1snYXNrX2RlbGV0ZV9maWVsZCddID0gJ0FyIHRpa3JhaSBub3JpdGUgaSZzY2Fyb247dHJpbnRpICZzY2Fyb247xK8gbGF1a2VsxK8gaXIgc3UganVvIHN1c2lqdXNpanVzaWFzIHJlaWsmc2Nhcm9uO21lcz8nOwokbGFuZ1sneWVzJ10gPSAnVGFpcCc7CiRsYW5nWydubyddID0gJ05lJzsKJGxhbmdbJ3R5cGUnXSA9ICdUaXBhcyc7CiRsYW5nWydmaWVsZHR5cGVfbXVsdGlzZWxlY3QnXSA9ICdQYXNpcmlua2ltbyBzxIVyYSZzY2Fyb247YXMnOwokbGFuZ1snZmllbGR0eXBlX2Ryb3Bkb3duJ10gPSAnSSZzY2Fyb247a3JlbnRhbnRpcyBzxIVyYSZzY2Fyb247YXMnOwokbGFuZ1snZmllbGR0eXBlX2NoZWNrYm94J10gPSAnUGFzaXJpbmtpbW8gbGFuZ2VsaXMnOwokbGFuZ1snZmllbGR0eXBlX3RleHRhcmVhJ10gPSAnVGVrc3RvIHNyaXRpcyc7CiRsYW5nWydmaWVsZHR5cGVfdGV4dGlucHV0J10gPSAnVGVrc3RvIMSvdmVzdGlzJzsKJGxhbmdbJ3Byb21wdF91c2Vfd3lzaXd5ZyddID0gJ05hdWRvdGkgICZxdW90O3d5c2l3eWcmcXVvdDsgcmVkYWt0b3JpxbMga2VpxI1pYW50ICZzY2Fyb247aW8gbGF1a28gcmVpayZzY2Fyb247bWVzJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X2NvbnRlbnQnXSA9ICdOdW1hdHl0YXMgdHVyaW55cyB0ZWtzdG8gc3JpdHlqZSc7CiRsYW5nWydwcm9tcHRfZHJvcGRvd25fb3B0aW9ucyddID0gJ1ZhcmlhbnRhaSAocG8gdmllbsSFIGVpbHV0xJdqZSknOwokbGFuZ1sncHJvbXB0X2ZpZWxkX21heGxlbmd0aCddID0gJ0xhdWtlbGlvIE1ha3NpbWFsdXMgSWxnaXMnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX2xlbmd0aCddID0gJ0xhdWtlbGlvIElsZ2lzJzsKJGxhbmdbJ3Byb21wdF9maWVsZF90eXBlJ10gPSAnTGF1a2VsaW8gVGlwYXMnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX25hbWUnXSA9ICdMYXVrZWxpbyBQYXZhZGluaW1hcyc7CiRsYW5nWyd0aXRsZV9hZGRfZmllbGQnXSA9ICdQcmlkxJd0aSBhciBSZWRhZ3VvdGkgTGF1a2VsaW8gQXBpYnLEl8W+aW3EhSc7CiRsYW5nWydmaWVsZF9kZWZpbml0aW9ucyddID0gJ0xhdWtlbGlvIEFwaWJyxJfFvmltYXMnOwokbGFuZ1sncHJvbXB0X2FkZF9maWVsZCddID0gJ1ByaWTEl3RpIExhdWtlbGlvIEFwaWJyxJfFvmltxIUnOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnTnVzdGF0byBtb2R1bGlvIGRhcmJvIHLEl8W+aW3EhS4gIEdhbGltb3MgcmVpayZzY2Fyb247bcSXczogZGVmYXVsdCAtICjEr3ByYXN0YXMgdmVpa2ltYXMpLCBkZXRhaWwgLSBwYXJvZHl0aSB2aWVubyBmYWlsbyDEr3BhdHliZXMgcGFnYWwgcGF0ZWlrdMSFIHBhcmFtZXRyxIUgdXBsb2FkX2lkLCB5b3VzZW5kaXQgLSBwYXRlaWt0aSBmb3JtxIUgc3Uga3VyaWEgcGF0ZWlrdGFzIGZhaWxhcyBidXMgdmllbnUga2FydHUgaSZzY2Fyb247c2nFs3N0YXMga2VsaWVtcyBhZHJlc2F0YW1zJzsKJGxhbmdbJ3BhcmFtX3NlbmRmaWxlcGFnZSddID0gJ051cm9keXRpIHB1c2xhcG8gJnF1b3Q7aWQmcXVvdDsgYXIgJnF1b3Q7YWxpYXMmcXVvdDsga3VyaWFtZSBidXMgcGF0ZWlrdGEgJnF1b3Q7c2VuZCBhIGZpbGUmcXVvdDsgZm9ybWEnOwokbGFuZ1snZmlsZV91cGxvYWRlZCddID0gJ0ZhaWxhcyBzxJdrbWluZ2FpIGkmc2Nhcm9uO3NpxbNzdGFzJzsKJGxhbmdbJ3RvJ10gPSAnS2FtJzsKJGxhbmdbJ3RpdGxlX3lvdXNlbmRpdGZvcm1fdGVtcGxhdGUnXSA9ICdQcmlkxJd0aSBhciBSZWRhZ3VvdGkgJmFtcDtxdW90O1lvdSBTZW5kIEl0JmFtcDtxdW90OyBGb3Jtb3MgJlNjYXJvbjthYmxvbsSFJzsKJGxhbmdbJ3lvdXNlbmRpdGZvcm1fdGVtcGxhdGUnXSA9ICdZb3VTZW5kSXQgRm9ybW9zICZTY2Fyb247YWJsb25hcyc7CiRsYW5nWyd0aXRsZV95b3VzZW5kaXRmb3JtX3N5c2RlZmF1bHQnXSA9ICdGb3Jtb3MgJmFtcDtxdW90O3lvdSBzZW5kIGl0JmFtcDtxdW90OyBudW1hdHl0YXNpcyAmc2Nhcm9uO2FibG9uYXMnOwokbGFuZ1snbXNnX2ZpbGVfc2VudCddID0gJ1ByYW5lJnNjYXJvbjtpbWFzIGFwaWUgZmFpbMSFLCBpciBrYWlwIGrEryBwYXNpZWt0aSwgaSZzY2Fyb247c2nFs3N0YXMgcGFzaXJpbmt0aWVtcyBhZHJlc2F0YW1zLic7CiRsYW5nWydlcnJvcl9ub2FkZHJlc3NlcyddID0gJ1JlaWtpYSBwYXRlaWt0aSBiZW50IHZpZW7EhSBhZHJlc8SFJzsKJGxhbmdbJ2Vycm9yX25vc3ViamVjdCddID0gJ1JlaWtpYSBwYXRlaWt0aSB0ZW3EhSAnOwokbGFuZ1snc3ViamVjdCddID0gJ1RlbWEnOwokbGFuZ1sndGl0bGVfc2VuZGZpbGVwYWdlJ10gPSAnUHVzbGFwaXMgJmFtcDtxdW90O1NlbmQgYSBGaWxlJmFtcDtxdW90OyBmb3JtYWknOwokbGFuZ1snZmlsZV9pbmZvJ10gPSAnRmFpbG8gxK9wYXR5YsSXcyc7CiRsYW5nWydzZW5kJ10gPSAnRmFpbG8gxK9wYXR5YsSXcyc7CiRsYW5nWydub3RlcyddID0gJ1ByaWVyYSZzY2Fyb247YWknOwokbGFuZ1snYWRkcmVzc2VlcyddID0gJ1NpxbNzdGkgcHJhbmUmc2Nhcm9uO2ltxIUgaXIgYXBpZSAmc2Nhcm9uO8SvIGZhaWzEhSc7CiRsYW5nWydwcm9tcHRfc2VuZGZpbGVfZW1haWxfdGVtcGxhdGUnXSA9ICcmYW1wO3F1b3Q7U2VuZCBhIEZpbGUmYW1wO3F1b3Q7IEVsLiBsYWkmc2Nhcm9uO2tvICZzY2Fyb247YWJsb25hcyc7CiRsYW5nWyd0aXRsZV9zZW5kZmlsZWZvcm1fdGVtcGxhdGUnXSA9ICdQcmlkxJd0aSBhciBSZWRhZ3VvdGkgICZhbXA7cXVvdDtTZW5kIGEgRmlsZSZhbXA7cXVvdDsgRm9ybW9zICZzY2Fyb247YWJsb27EhSc7CiRsYW5nWydzZW5kZmlsZWZvcm1fdGVtcGxhdGUnXSA9ICcmYW1wO3F1b3Q7U2VuZCBhIEZpbGUmYW1wO3F1b3Q7IEZvcm1vcyAmU2Nhcm9uO2FibG9uYXMnOwokbGFuZ1sncHJvbXB0X25vdGlmeV9lbWFpbF90ZW1wbGF0ZSddID0gJ0VsLiBsYWkmc2Nhcm9uO2tvIGFwaWUgYXRzacWzc3R1cyBmYWlsdXMgJnNjYXJvbjthYmxvbmFzJzsKJGxhbmdbJ3RpdGxlX3NlbmRmaWxlZm9ybV9zeXNkZWZhdWx0J10gPSAnRm9ybW9zICZhbXA7cXVvdDtTZW5kIGEgRmlsZSZhbXA7cXVvdDsgbnVtYXR5dGFzaXMgJnNjYXJvbjthYmxvbmFzJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeWRlbGV0YWJsZSddID0gJyZTY2Fyb247aW9zIGthdGVnb3Jpam9zIGZhaWxhaSBnYWxpIGJ1dGkgdHJpbmFtaSc7CiRsYW5nWyd0aXRsZV9hbGxvd19kZWxldGUnXSA9ICdMZWlzdGkgdHJpbnRpIHB1c2xhcGlvIGxhbmt5dG9qYW1zIHRyaW50aSBmYWlsdXMnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdOdW1hdHl0aWVqaSAmc2Nhcm9uO2FibG9uYWknOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnUGlybWFzJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnQW5rc3Rlc25pcyc7CiRsYW5nWyduZXh0cGFnZSddID0gJ0tpdGFzJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnUGFza3V0aW5pcyc7CiRsYW5nWydmaXJzdHBhZ2VfYXJyb3cnXSA9ICc8PCc7CiRsYW5nWydwcmV2cGFnZV9hcnJvdyddID0gJzwnOwokbGFuZ1snbmV4dHBhZ2VfYXJyb3cnXSA9ICc+JzsKJGxhbmdbJ2xhc3RwYWdlX2Fycm93J10gPSAnPj4nOwokbGFuZ1sncGFnZSddID0gJ1B1c2xhcGlzJzsKJGxhbmdbJ29mJ10gPSAnaSZzY2Fyb247JzsKJGxhbmdbJ3Byb21wdF9ncm91cGxpc3QnXSA9ICdBdXRvcml6dW90xbMgbGFua3l0b2rFsyBncnVwxJdzIChGRVUgR3JvdXBzKSc7CiRsYW5nWydpbmZvX2dyb3VwbGlzdCddID0gJ1Bhc2lyaW5rdGkgbGFua3l0b2rFsyBncnVwZXMgKEZFVSBncm91cHMpLCBrdXJpb21zIGJ1cyBzdXRlaWt0YSBwcmllZWlnYSBwcmllICZzY2Fyb247aW9zIGthdGVnb3Jpam9zIGZhaWzFsy4gIE5lcGHFvnltxJdqdXMgbmVpIHZpZW5vcyBncnVwxJdzIHByaWVlaWdhIG5lYnVzIHJpYm9qYW1hJzsKJGxhbmdbJ3RpdGxlX3NjYW4nXSA9ICdTa2FudW90aSAmc2Nhcm9uO2nEhSBrYXRlZ29yaWrEhSBkxJdsIG5hdWrFsyBieWzFsyc7CiRsYW5nWyd0aXRsZV9jcmVhdGVfdGh1bWJuYWlscyddID0gJ1N1a3VydGkgdHLFq2tzdGFtYXMgaWtvbmFzICZzY2Fyb247aW9qZSBrYXRlZ29yaWpvamUuJzsKJGxhbmdbJ2NyZWF0ZV90aHVtYm5haWxzJ10gPSAnU3VrdXJ0aSBJa29uYXMnOwokbGFuZ1sndGl0bGVfY3JlYXRlX3RodW1ibmFpbCddID0gJyZTY2Fyb247aWFtIGZhaWx1aSBzdWt1cnRpIGlrb27EhSBpJnNjYXJvbjsgbmF1am8nOwokbGFuZ1snY3JlYXRlX3RodW1ibmFpbCddID0gJ1N1a3VydGkgSWtvbsSFJzsKJGxhbmdbJ2Vycm9yX3BhdGhlcnJvciddID0gJ05lcGF2eWtvIGF0dmVydGkga2F0YWxvZ28gKGFyIHRpa3JhaSBwYWthbmthIHRlaXNpxbM/JzsKJGxhbmdbJ3RpdGxlX2Rvd25sb2FkX2NodW5rc2l6ZSddID0gJ0tpZWt2aWVubyBzaXVuxI1pYW1vIGZhaWxvIGRhbGllcyBkeWRpcyc7CiRsYW5nWydpbmZvX2Rvd25sb2FkX2NodW5rc2l6ZSddID0gJ0tlacSNaWFudCAmc2Nhcm9uO8SvIHBhcmFtZXRyxIUgZ2FsaW1hIGtlaXN0aSBzaXVudGltbyBncmVpdMSvLCBnYWxpIGLFq3RpIG5hdWRpbmdhIGthaSB0csWra3N0YSBhdG1pbnRpZXMuJzsKJGxhbmdbJ3dhcm5pbmdfc2FmZV9tb2RlJ10gPSAnUEhQIHNhZmUgbW9kZSB5cmEgxK9qdW5ndGFzLiAgR2FsaSBraWx0aSBuZXNrbGFuZHVtxbMgc2l1bsSNaWFudCBmYWlsdXMsIHRhaXAgcGF0IGthaSBrdXJpxbMgZmFpbMWzIGdhbGkgbmVwYXZ5a3RpIGkmc2Nhcm9uO3NpxbNzdGksIG5lcyBuZWJ1cyBnYWxpbWEgcGFrZWlzdGkgbnVtYXR5dMWzasWzIHBocCBwYXJhbWV0csWzICAgUmVrb21lbmR1b2phbWEgc3VzaXNpZWt0aSBzdSBzZXJ2ZXJpbyBhZG1pbmlzdHJhdG9yaXVtaSwga2FkICZxdW90O3NhZmUgbW9kZSZxdW90OyByxJfFvmltYXMgYsWrdMWzIGkmc2Nhcm9uO2p1bmd0YXMuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdOYXVkaW5nYSBub3JpbnQgaSZzY2Fyb247c2FtxbMgZmFpbG8gYXByYSZzY2Fyb247xIUgcGF0ZWlrdGkgcHVzbGFweWplIHN1IGtpdHUgdGVtcGxlaXR1OyBSZWlrJnNjYXJvbjttxJdzIGdhbGkgYsWrdGkgZWd6aXN0dW9qbsSNaW8gcHVzbGFwaW8gJnF1b3Q7aWQmcXVvdDsgYXJiYSBwdXNsYXBpbyAmcXVvdDthbGlhcyZxdW90Oy4nOwokbGFuZ1sncGFyYW1fcHJlZml4J10gPSAnQSBib29sZWFuIHRoYXQgaW5kaWNhdGVzIHdldGhlciBmaWxlIG5hbWVzIHNob3VsZCBiZSBwcmVmaXhlZCc7CiRsYW5nWydwYXJhbV9wcmVmaXhfZmV1J10gPSAnQSBib29sZWFuIHBhcmFtZXRlciB0aGF0IGluZGljYXRlcyB0aGF0IHRoZSBwcmVmaXggc2hvdWxkIGJlIHRha2VuIGZyb20gdGhlIGN1cnJlbnQgYXV0aG9yLCBpZiBub3Qgc3BlY2lmaWVkLCB0aGUgcHJlZml4IGlzIHRoZSBjdXJyZW50IHRpbWUgKGluIGRlY2hleCBmb3JtYXQpJzsKJGxhbmdbJ3BhcmFtX25vY2FwdGNoYSddID0gJ0kmc2Nhcm9uO3NpdW50aW1vIGZvcm1vamUgbmVuYXVkb2phbXMgJnF1b3Q7Y2FwdGNoYSZxdW90OyAobmVuYXVkb2phbWFzIHBhZ2FsIG51dHlsxJdqaW3EhSkuJzsKJGxhbmdbJ3RpdGxlX3VwbG9hZGZvcm1fdGVtcGxhdGUnXSA9ICdSZWRhZ3VvdGkgRmFpbG8gSSZzY2Fyb247c2l1bnRpbW8gKFVwbG9hZCBGb3JtKSAmc2Nhcm9uO2FibG9uxIUnOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ8SudmVza2l0ZSB0ZWtzdMSFIGkmc2Nhcm9uOyBwYXZlaWtzbMSXbGlvJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1Rla3N0YXMgaSZzY2Fyb247IHBhdmVpa3NsxJdsaW8gxK92ZXN0YXMgbmV0ZWlzaW5nYWknOwokbGFuZ1sndGl0bGVfYXV0b3RodW1ibmFpbF9leHRlbnNpb25zJ10gPSAnRmFpbGFtcyBzdSAmc2Nhcm9uO2lhaXMgcGzEl3RpbmlhaXMgc3VrdXJ0aSBpa29uxJdsZXMnOwokbGFuZ1sndGl0bGVfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWFrc2ltYWx1cyBzdWt1cnRvcyBpa29uxJdsxJdzIGR5ZGlzIChwaWtzZWxpYWlzKS4nOwokbGFuZ1sncHJvbXB0X3VwbG9hZF9pY29uJ10gPSAnQXRzacWzc3RpIGlrb27El2zEmSc7CiRsYW5nWydpbmZvX3N5c2RlZmF1bHQnXSA9ICdQYXRlaWt0YXMgdGVrc3RhcyBidXMgbmF1ZG9qYW1hcyAga3VyaWFudCAmc2Nhcm9uO2lvIHRpcG8gdGVtcGxlaXR1cyc7CiRsYW5nWyd0aXRsZV9kZXRhaWxycHRfc3lzZGVmYXVsdCddID0gJ051bWF0eXRhc2lzIEkmc2Nhcm9uO3NhbWF1cyBGYWlsbyBBcHJhJnNjYXJvbjtvICZTY2Fyb247YWJsb25hcyc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3N5c2RlZmF1bHQnXSA9ICdOdW1hdHl0YXNpcyBGYWlsxbMgU2FudHJhdWtvcyAmU2Nhcm9uO2FibG9uYXMnOwokbGFuZ1sndGl0bGVfdXBsb2FkZm9ybV9zeXNkZWZhdWx0J10gPSAnTnVtYXR5dGFzaXMgRmFpbG8gSSZzY2Fyb247c2l1bnRpbW8gJlNjYXJvbjthYmxvbmFzJzsKJGxhbmdbJ3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmxvbmFzJzsKJGxhbmdbJ3Jlc2V0dG9kZWZhdWx0J10gPSAnQXRzdGF0eXRpIMSvIMSucHJhc3R1cyc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3RlbXBsYXRlJ10gPSAnRmFpbMWzIFNhbnRyYXVrb3MgJlNjYXJvbjthYmxvbmFzJzsKJGxhbmdbJ3RpdGxlX2RldGFpbHJwdF90ZW1wbGF0ZSddID0gJ0kmc2Nhcm9uO3NhbWF1cyBGYWlsbyBBcHJhJnNjYXJvbjtvICZTY2Fyb247YWJsb25hcyc7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ1BhdmFkaW5pbWFzJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0J10gPSAnxK5wcmFzdGFzJzsKJGxhbmdbJ2xlZ2VuZF91cGxvYWRmb3JtJ10gPSAnQXRzacWzc3RpIGJ5bMSFJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1Ryxatrc3RhIHByaXZhbG9tbyBwYXJhbWV0cm8nOwokbGFuZ1snZXJyb3JfbWlzc2luZ25hbWUnXSA9ICdUcsWra3N0YSBQYXZhZGluaW1vJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdleHRlbnNpb25zJ10gPSAnQXQgbGVhc3Qgb25lIGZpbGUgZXh0ZW5zaW9uIG11c3QgYmUgc3BlY2lmaWVkJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdpY29uJ10gPSAnQW4gaWNvbiBtdXN0IGJlIHNwZWNpZmllZCc7CiRsYW5nWydlcnJvcl9ub3N1Y2hyb3cnXSA9ICdUaGUgc3BlY2lmaWVkIHJvdyBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snbmFtZV91bmtub3duJ10gPSAnTmXFvmlub21hcyc7CiRsYW5nWydkZXNjcmlwdGlvbl91bmtub3duJ10gPSAnRmlsZSB0eXBlIGRlc2NyaXB0aW9uIGZvciB1bm1hdGNoZWQgZmlsZXMnOwokbGFuZ1snaW1hZ2UnXSA9ICdQYXZlaWtzbMSXbGlzJzsKJGxhbmdbJ2ljb24nXSA9ICdJa29uYSc7CiRsYW5nWydleHRlbnNpb25zJ10gPSAnRmlsZSBFeHRlbnNpb25zJzsKJGxhbmdbJ2FkZGZpbGV0eXBlJ10gPSAnQWRkIE5ldyBGaWxlIFR5cGUnOwokbGFuZ1snZmlsZV90eXBlcyddID0gJ0ZpbGUgVHlwZXMnOwokbGFuZ1snZXJyb3Jfbm9jYXRlZ29yeWlkJ10gPSAnTm8gQ2F0ZWdvcnkgaWQgd2FzIHN1cHBsaWVkJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcnknXSA9ICdObyBDYXRlZ29yeSBpZCB3YXMgc3VwcGxpZWQnOwokbGFuZ1snZXJyb3JfdGVtcGxhdGVuYW1lZXhpc3RzJ10gPSAnQSB0ZW1wbGF0ZSBieSB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlbmFtZSddID0gJ1RlbXBsYXRlIE5hbWUnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X25ld3RlbXBsYXRlJ10gPSAnQ3JlYXRlIGEgbmV3IHRlbXBsYXRlJzsKJGxhbmdbJ2hlbHBfT25Eb3dubG9hZCddID0gJzxwPlBvIGZhaWxvIHRhbHBpbmltbyA8L3A+DQo8aDQ+UGFyYW1ldHJhaTwvaDQ+DQo8dWw+DQo8bGk+PGVtPmlkPC9lbT4gLSBGYWlsbyAmcXVvdDtpZCZxdW90OzwvbGk+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIEZhaWxvIHBhdmFkaW5pbWFzPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtICBMYW5reXRvam8sIGF0aXNpdW50dXNpbyBmYWlsxIUgSVA8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX09uRGVsZXRlQ2F0ZWdvcnknXSA9ICc8cD5QbyBLYXRlZ29yaWpvcyB0cmluaW1vPC9wPg0KPGg0PlBhcmFtZXRyYWk8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBLYXRlZ29yaW9zIHBhdmFkaW5pbWFzPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gS2F0ZWdvcmlqYWkgcHJpa2xhdXNhbsSNaW8ga2F0YWxvZ28ga2VsaWFzPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfT25DcmVhdGVDYXRlZ29yeSddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgY2F0ZWdvcnkgaXMgQ3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGNhdGVnb3J5PC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBjYXRlZ29yeSBkZXNjcmlwdGlvbjwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIFRoZSBjYXRlZ29yeSBwYXRoPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gQSBmbGFnIGluZGljYXRpbmcgaWYgdGhlIGNhdGVnb3J5IGlzIGxpc3RhYmxlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PblJlbW92ZSddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZmlsZSBpcyByZW1vdmVkIHZpYSB0aGUgYWRtaW4gb3IgZnJvbnRlbmQgaW50ZXJmYWNlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIHJlbW92ZWQgZmlsZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgaWQgb2YgdGhlIHJlbW92ZWQgZmlsZTwvbGk+DQo8bGk+PGVtPmNhdGVnb3J5X2lkPC9lbT4gLSBUaGUgaWQgb2YgdGhlIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PblVwbG9hZCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IGZpbGUgaXMgdXBsb2FkZWQgdmlhIHRoZSBhZG1pbiBvciBmcm9udGVuZCBpbnRlcmZhY2VzPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5jYXRlZ29yeTwvZW0+IC0gVGhlIGNhdGVnb3J5IG5hbWU8L2xpPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgdXBsb2FkZWQgZmlsZTwvbGk+DQo8bGk+PGVtPnNpemU8L2VtPiAtIFRoZSBzaXplIG9mIHRoZSB1cGxvYWRlZCBmaWxlPC9saT4NCjxsaT48ZW0+c3VtbWFyeTwvZW0+IC0gVGhlIHNob3J0IGRlc2NyaXB0aW9uIGZvciB0aGUgdXBsb2FkZWQgZmlsZSAobWF5IGJlIGVtcHR5KTwvZW0+PC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBsb25nIGRlc2NyaXB0aW9uIGZvciB0aGUgdXBsb2FkZWQgZmlsZSAobWF5IGJlIGVtcHR5KTwvZW0+PC9saT4NCjxsaT48ZW0+YXV0aG9yPC9lbT4gLSBUaGUgYXV0aG9yIG9mIHRoZSB1cGxvYWRlZCBmaWxlIChpZiBhdmFpbGFibGUpPC9lbT48L2xpPg0KPGxpPjxlbT5pcF9hZGRyZXNzPC9lbT4gLSBUaGUgaW50ZXJuZXQgYWRkcmVzcyBvZiB0aGUgY2xpZW50IHRoYXQgdXBsb2FkZWQgdGhlIGZpbGU8L2xpPg0KPC91bD4NCic7CiRsYW5nWydpbmZvX2V2ZW50X29uZGVsZXRlY2F0ZWdvcnknXSA9ICdFdmVudCBnZW5lcmF0ZWQgd2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQnOwokbGFuZ1snaW5mb19ldmVudF9vbmNyZWF0ZWNhdGVnb3J5J10gPSAnRXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBjYXRlZ29yeSBpcyBjcmVhdGVkJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25kb3dubG9hZCddID0gJ0V2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZmlsZSBpcyBkb3dubG9hZGVkJzsKJGxhbmdbJ2luZm9fZXZlbnRfb251cGxvYWQnXSA9ICdFdmVudCBnZW5lcmF0ZWQgd2hlbiBhIG5ldyBmaWxlIGlzIHVwbG9hZGVkJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25yZW1vdmUnXSA9ICdFdmVudCBnZW5lcmF0ZWQgd2hlbiBhIGZpbGUgaXMgcmVtb3ZlZCc7CiRsYW5nWyd0aXRsZV91c2VydGFnX29udXBsb2FkJ10gPSAnVXNlciBkZWZpbmVkIHRhZyB0byBjYWxsIGFmdGVyIHVwbG9hZCBpcyBjb21wbGV0ZSc7CiRsYW5nWydub25lJ10gPSAnTm9uZSc7CiRsYW5nWydtYXRjaGVzZm91bmQnXSA9ICdNYXRjaGVzIGZvdW5kJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd0aXRsZV9yZWRpcmVjdG9udXBsb2FkJ10gPSAnUmVkaXJlY3QgdG8gcGFnZSBpZC9hbGlhcyBvbiB1c2VyIHVwbG9hZCc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0YWlscyc7CiRsYW5nWydjb25maXJtX3ByZWZlcmVuY2VzJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGFkanVzdCB0aGUgcHJlZmVyZW5jZXM/JzsKJGxhbmdbJ2Vycm9yX25vZmlsZXN1cGxvYWRlZCddID0gJ05vIGZpbGVzIHdlcmUgdXBsb2FkZWQuJzsKJGxhbmdbJ3Byb21wdF9yZXBsYWNlJ10gPSAnQWxsb3cgT3ZlcndyaXRlJzsKJGxhbmdbJ2luZm9fcmVwbGFjZSddID0gJ1JlcGxhY2UgYW55IGZpbGUgd2l0aCB0aGUgc2FtZSBuYW1lIChkb2VzIG5vdCBjaGFuZ2UgaWQpJzsKJGxhbmdbJ3BhcmFtX25vX2luaXRpYWwnXSA9ICdEbyBub3QgZGlzcGxheSBhbnkgaW5pdGlhbCByZXN1bHRzIHdoZW4gdGhlIGZpbHRlciBpcyBvbic7CiRsYW5nWydwYXJhbV9rZXknXSA9ICdQcm92aWRlIGFuIGFkZGl0aW9uYWwga2V5IHRvIHRoZSBtb2R1bGUgZm9yIGZ1cnRoZXIgb3JnYW5pemluZyB1cGxvYWRzLiAgVGhpcyBrZXkgY291bGQgYmUgYW4gZW5jb2RlZCBzdHJpbmcgbGlrZTogJiMwMzk7ZmV1c2Vyczp1aWQmIzAzOTssIGV0Yy4gIFRoaXMgcGFyYW1ldGVyIGlzIHVzdWFsbHkgb25seSBuZWVkZWQgd2hlbiBlbWJlZGRpbmcgdGhlIHVwbG9hZHMgbW9kdWxlIGludG8gYW5vdGhlciBtb2R1bGUnOwokbGFuZ1sncGFyYW1fbm9hdXRob3InXSA9ICdIaWRlIHRoZSBhdXRob3IgZmllbGQgZnJvbSB0aGUgdXBsb2FkIGZvcm0uICBUaGlzIHBhcmFtZXRlciBpcyBvbmx5IHZhbGlkIHdoZW4gbW9kZT0mIzAzOTt1cGxvYWQmIzAzOTsuICBJZiBUaGUgRnJvbnRlbmRVc2VycyBtb2R1bGUgaXMgcHJlc2VudCwgYW5kIGEgdXNlciBpcyBjdXJyZW50bHkgbG9nZ2VkIGluLCBhIGhpZGRlbiBmaWVsZCB3aWxsIGhvbGQgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlcm5hbWUnOwokbGFuZ1sncGFyYW1fdXBsb2FkX2lkJ10gPSAndXBsb2FkX2lkPSZxdW90O2lkJnF1b3Q7IC0gc3BlY2lmeSBhIHNpbmdsZSBmaWxlIGZvciB0aGUgdXJsL2xpbmsgb3Igc2luZ2xlIG1vZGVzIChhYm92ZSknOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdVc2UgYSB0ZW1wbGF0ZSB3aXRoIHRoaXMgbmFtZSBmb3IgdGhlIGRldGFpbGVkIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fdGVtcGxhdGUnXSA9ICdVc2UgYSB0ZW1wbGF0ZSB3aXRoIHRoaXMgbmFtZSBmb3IgdGhpcyByZXBvcnQgb3IgZm9ybS4gIFRoZSBtb2RlIGlzIHVzZWQgdG8gZGV0ZXJtaW5lIHdoYXQgdHlwZSBvZiB0ZW1wbGF0ZSBpcyByZXF1aXJlcmQsIGFuZCB0aGVuIGEgbmFtZSBtYXRjaCBpcyBwZXJmb3JtZWQgd2l0aGluIHRoYXQgdHlwZS4nOwokbGFuZ1sncGFyYW1fZmlsdGVyJ10gPSAnRGlzcGxheSB0aGUgZmlsdGVyaW5nIGZvcm0nOwokbGFuZ1sncGFyYW1fbm9faW50aXRpYWwnXSA9ICdPbmx5IHVzZWZ1bCB3aGVuIHRoZSBmaWx0ZXIgcGFyYW1ldGVyIGlzIHN1cHBsaWVkLCBvciBvbiBieSBkZWZhdWx0LCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2V0aGVyIGluaXRpYWwgcmVzdWx0cyBzaG91bGQgYmUgcmV0dXJuZWQnOwokbGFuZ1sncGFyYW1fZmlsZXR5cGVzJ10gPSAnRGlzcGxheSBvbmx5IGZpbGVzIHdob3NlIHR5cGUgbWF0Y2hlcyB0aGlzIGNvbW1hIHNlcGFyYXRlZCBsaXN0JzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJyAgPHA+U29ydCBPcmRlcnMNCiAgPHVsPg0KICA8bGk+PGVtPmRhdGVfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBkYXRlPC9saT4NCiAgPGxpPjxlbT5kYXRlX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBkYXRlPC9saT4NCiAgPGxpPjxlbT5uYW1lX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgbmFtZTwvbGk+DQogIDxsaT48ZW0+bmFtZV9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgbmFtZTwvbGk+DQogIDxsaT48ZW0+c2l6ZV9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIHNpemU8L2xpPg0KICA8bGk+PGVtPnNpemVfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIHNpemU8L2xpPg0KICA8bGk+PGVtPmRlc2NfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBkZXNjcmlwdGlvbjwvbGk+DQogIDxsaT48ZW0+ZGVzY19kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgZGVzY3JpcHRpb248L2xpPg0KICA8bGk+PGVtPmF1dGhvcl9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGF1dGhvcjwvbGk+DQogIDxsaT48ZW0+YXV0aG9yX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBhdXRob3I8L2xpPg0KICA8bGk+PGVtPmlwX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgaXAgYWRkcmVzczwvbGk+DQogIDxsaT48ZW0+aXBfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGlwIGFkZHJlc3M8L2xpPg0KICA8bGk+PGVtPnJhbmRvbTwvZW0+IC0gUmFuZG9tIHNvcnQgb3JkZXI8L2xpPg0KICA8L3VsPg0KICA8L3A+JzsKJGxhbmdbJ3BhcmFtX2xpc3Rpbmd0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIHRvIHVzZSBmb3IgY2F0ZWdvcnkgbGlzdGluZ3MgYWZ0ZXIgY2xpY2t0aHJvdWdoIGZyb20gQ2F0ZWdvcnkgU3VtbWFyeSBwYWdlJzsKJGxhbmdbJ3BhcmFtX2xpc3Rpbmdzb3J0b3JkZXInXSA9ICdTb3J0IG9yZGVyIChhbGEgcGFyYW1fc29ydG9yZGVyKSB0byB1c2UgZm9yIGNhdGVnb3J5IGxpc3RpbmdzIGFmdGVyIGNsaWNrdGhyb3VnaCBmcm9tIENhdGVnb3J5IFN1bW1hcnkgcGFnZSc7CiRsYW5nWydwYXJhbV9maWxlZXh0ZW5zaW9ucyddID0gJyANCmZpbGVfZXh0ZW5zaW9ucz0mcXVvdDtleHQxLGV4dDIsZXh0MyZxdW90Ow0KPHA+dmFsaWQgb25seSB3aGVuIG1vZGU9dXBsb2FkLCB0aGlzIHBhcmFtZXRlciBsaW1pdHMgdGhlIHR5cGVzIG9mIGZpbGVzIHRoYXQgY2FuIGJlIHVwbG9hZGVkLiAgSXQgb3ZlcnJpZGVzIGFueSBzZXR0aW5ncyBpbiB0aGUgbW9kdWxlIHByZWZlcmVuY2VzLjwvcD4nOwokbGFuZ1sncGFyYW1fY291bnQnXSA9ICdjb3VudD0mcXVvdDtOJnF1b3Q7DQo8cD5BIHBhcmFtZXRlciB0byBsaXN0IG9ubHkgdGhlIGZpcnN0IE4gcmVzdWx0cyBvZiB0aGUgcXVlcnkuICBQYWdpbmF0aW9uIHdvdWxkIGJlIGJldHRlciwgYnV0IHRoaXMgd2lsbCBkbyB0aGUgdHJpY2sgZm9yIG5vdzwvcD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdjYXRlZ29yeT0mcXVvdDtuYW1lJnF1b3Q7DQo8cD48Yj5Ob3RlOjwvYj4gQ2F0ZWdvcnkgY2FuIGJlICZxdW90O2FsbCZxdW90Oywgd2hpY2ggd2lsbCBsaXN0IGFsbCBvZiB0aGUgdXBsb2FkcyBmcm9tIGFsbCA8ZW0+bGlzdGFibGU8L2VtPiBjYXRlZ29yaWVzPC9wPic7CiRsYW5nWydwYXJhbV9tb2RlJ10gPSAnICA8dWw+DQogIDxsaT48ZW0+ZGV0YWlsZWQ8L2VtPiAtIERpc3BsYXkgYSBkZXRhaWxlZCBsaXN0IG9mIGFsbCBmaWxlcyBpbiB0aGUgY2F0ZWdvcnk8L2xpPg0KICA8bGk+PGVtPnVwbG9hZDwvZW0+IC0gRGlzcGxheSBhIGZvcm0gdG8gYWxsb3cgYSBmcm9udGVuZCB1c2VyIHRvIHVwbG9hZCBhIGZpbGU8L2xpPg0KICA8bGk+PGVtPnVybCA8aT5vcjwvaT4gbGluazwvZW0+IC0gRGlzcGxheSBhIGxpbmsgdG8gYSBmaWxlPC9saT4NCiAgPGxpPjxlbT5zdW1tYXJ5PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyaXplZCBsaXN0IG9mIGFsbCBmaWxlcyBpbiB0aGUgY2F0ZWdvcnk8L2xpPg0KICA8bGk+PGVtPnNpbmdsZTwvZW0+IC0gRGlzcGxheSBhIGRldGFpbGVkIHJlcG9ydCBhYm91dCBhIHNpbmdsZSB1cGxvYWQ8L2xpPg0KICA8bGk+PGVtPnNpbmdsZXN1bW1hcnk8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJpemVkIHJlcG9ydCBhYm91dCBhIHNpbmdsZSB1cGxvYWQ8L2xpPg0KICA8L3VsPic7CiRsYW5nWydwYXJhbV9zZWxlY3Rmb3JtJ10gPSAnV2hlbiB1c2luZyB0aGUgJiMwMzk7c2VsZWN0JiMwMzk7IG1vZGUsIHRoaXMgcGFyYW1ldGVyIGlzIHRoZSBmb3JtaWQgb2YgdGhlIHBhcmVudCBmb3JtLiAgVXNlZCB0byBoYW5kbGUgcGFyYW1ldGVyIHBhc3NpbmcnOwokbGFuZ1sncGFyYW1fc2VsZWN0bmFtZSddID0gJ3doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIG5hbWUgb2YgdGhlIGZpZWxkJzsKJGxhbmdbJ3BhcmFtX3NlbGVjdHZhbHVlJ10gPSAnV2hlbiB1c2luZyB0aGUgJiMwMzk7c2VsZWN0JiMwMzk7IG1vZGUsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgZGVmYXVsdCBmaWVsZCB2YWx1ZSc7CiRsYW5nWydwYXJhbV9zZWxlY3Rub25lJ10gPSAnV2hlbiB1c2luZyB0aGUgJiMwMzk7c2VsZWN0JiMwMzk7IG1vZGUsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB3ZXRoZXIgJiMwMzk7bm9uZSYjMDM5OyBpcyBhIHZhbGlkIGNob2ljZS4nOwokbGFuZ1sncmV0dXJudG9tb2R1bGUnXSA9ICdSZXR1cm4gdG8gbW9kdWxlIHBhbmVsJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcmllcyddID0gJ1RoZXJlIGFyZSBubyBkZWZpbmVkIGNhdGVnb3JpZXMnOwokbGFuZ1sndGl0bGVfZW5mb3JjZWV4dGVuc2lvbnMnXSA9ICdSZXF1aXJlIGV4dGVuc2lvbnMgb24gYWxsIHVwbG9hZGVkIGZpbGVzJzsKJGxhbmdbJ3Jlc3RvcmVkZWZhdWx0c2NvbmZpcm0nXSA9ICdUaGlzIG9wZXJhdGlvbiB3aWxsIHJlc3RvcmUgdGhlIHRlbXBsYXRlIHRvIHN5c3RlbSBkZWZhdWx0cy4gIEFueSBjaGFuZ2VzIHlvdSBoYXZlIG1hZGUgd2lsbCBiZSBsb3N0LiAgQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHByb2NlZWQ/JzsKJGxhbmdbJ3RodW1ibmFpbCddID0gJ1RodW1ibmFpbCc7CiRsYW5nWyduZXd0aHVtYm5haWwnXSA9ICdVcGxvZGEgbmV3IHRodW1ibmFpbCc7CiRsYW5nWydpbmZvX3N1bW1hcnknXSA9ICdBIGJyaWVmIGRlc2NyaXB0aW9uIG9mIHRoZSBmaWxlIChpZiBlbXB0eSwgdGhlIGZpbGUgbmFtZSBpcyB1c2VkIHdpdGhvdXQgdGhlIGV4dGVuc2lvbiknOwokbGFuZ1snaW5mb19jYXRlZ29yeW5hbWUnXSA9ICdBIGJyaWVmIG5hbWUgZm9yIHlvdXIgY2F0ZWdvcnkgKGh1bWFuIHJlYWRhYmxlKSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5ZGVzYyddID0gJ0EgZGVzY3JpcHRpb24gZm9yIHlvdXIgY2F0ZWdvcnknOwokbGFuZ1snaW5mb19jYXRlZ29yeXBhdGgnXSA9ICdUaGUgZGlyZWN0b3J5IG5hbWUgaW5zaWRlIHRoZSB1cGxvYWRzIGRpcmVjdG9yeSB0aGF0IHdpbGwgYmUgdXNlZCB0byBzdG9yZSBmaWxlcyBpbiB0aGlzIGNhdGVnb3J5LiAgSWYgdGhlIGRpcmVjdG9yeSBvZiB0aGlzIG5hbWUgZG9lcyBub3QgYWxyZWFkeSBleGlzdCwgaXQgbWF5IGJlIGNyZWF0ZWQnOwokbGFuZ1snaW5mb19kZXN0bmFtZSddID0gJ1VzZSB0aGUgJiMwMzk7VXBsb2FkIEFzJiMwMzk7IGZpZWxkIHRvIGNoYW5nZSB0aGUgbmFtZSBvZiB0aGUgZmlsZSBvbiB1cGxvYWQuICBMZWF2ZSBibGFuayB0byBwcmVzZXJ2ZSB0aGUgZmlsZW5hbWUgYXMtaXMuJzsKJGxhbmdbJ2Vycm9yX2NhbnRjcmVhdGVkaXJlY3RvcnknXSA9ICdDb3VsZCBub3QgY3JlYXRlIGRpcmVjdG9yeSc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ1RoZSBDTVNNYWlsZXIgbW9kdWxlIGNvdWxkIG5vdCBiZSBpbnN0YW50aWF0ZWQnOwokbGFuZ1sndXBsb2FkX25vdGlmaWNhdGlvbiddID0gJ0EgbmV3IGZpbGUgaGFzIGJlZW4gdXBsb2FkZWQnOwokbGFuZ1sndGl0bGVfZW1haWxfb25fdXBsb2FkJ10gPSAnU2VuZCB1cGxvYWQgbm90aWZpY2F0aW9uIHRvOic7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZSddID0gJ0VtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2R1bW15X2luZGV4X2h0bWwnXSA9ICdDcmVhdGUgZHVtbXkgaW5kZXguaHRtbCBmaWxlcyBpbiBlYWNoIGRpcmVjdG9yeT88YnIvPjxlbT5BbnkgZXhpc3RpbmcgaW5kZXguaHRtbCBmaWxlcyB3aWxsIHJlbWFpbjwvZW0+JzsKJGxhbmdbJ2Fib3V0J10gPSAnQWJvdXQnOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbmRlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvcl9jb3VsZG5vdHdyaXRlJ10gPSAnQ291bGQgbm90IHdyaXRlJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnQWRkIENhdGVnb3J5JzsKJGxhbmdbJ2FsbCddID0gJ0FsbCc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXJlIFlvdSBTdXJlPyc7CiRsYW5nWydhdXRob3InXSA9ICdBdXRob3InOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ2Nhbm5vdG1vZGlmeXBhdGgnXSA9ICcoVGhlIHBhdGggY2Fubm90IGJlIG1vZGlmaWVkKSc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnQ2F0ZWdvcmllcyc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0NhdGVnb3J5JzsKJGxhbmdbJ21lc3NhZ2VfY2F0ZWdvcnlhZGRlZCddID0gJ0NhdGVnb3J5IHN1Y2Nlc3NmdWxseSBhZGRlZCc7CiRsYW5nWydkYXRlJ10gPSAnRGF0ZSc7CiRsYW5nWydkYXRldXBsb2FkZWQnXSA9ICdEYXRlIFVwbG9hZGVkJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEZWZhdWx0cyc7CiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydkZXN0bmFtZSddID0gJ1VwbG9hZCBBcyc7CiRsYW5nWydkZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWwgVGVtcGxhdGVzJzsKJGxhbmdbJ2Rvd25sb2FkZWQnXSA9ICdGaWxlICVzIHdhcyBkb3dubG9hZGVkLic7CiRsYW5nWydkb3dubG9hZHMnXSA9ICdEb3dubG9hZHMnOwokbGFuZ1snZWRpdCddID0gJ0VkaXQnOwokbGFuZ1snZWRpdGNhdGVnb3J5J10gPSAnRWRpdCBDYXRlZ29yeSc7CiRsYW5nWydlZGl0dXBsb2FkJ10gPSAnRWRpdCBVcGxvYWQnOwokbGFuZ1snZXJyb3InXSA9ICdFcnJvciEnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlMiddID0gJ0EgY2F0ZWdvcnkgdXNpbmcgdGhlIHBhdGggKCVzKSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydlcnJvcl9wYXRoaW51c2UnXSA9ICdBIGNhdGVnb3J5IHVzaW5nIHRoYXQgcGF0aCBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeWV4aXN0czInXSA9ICdFcnJvcjogQ2F0ZWdvcnkgbmFtZWQgJXMgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlleGlzdHMnXSA9ICdFcnJvcjogQ2F0ZWdvcnkgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlub3RlbXB0eSddID0gJ0Vycm9yISBDYW5ub3QgZGVsZXRlIGEgY2F0ZWdvcnkgdGhhdCBpcyBub3QgZW1wdHknOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlub3Rmb3VuZCddID0gJ0Vycm9yOiBDYXRlZ29yeSBub3QgZm91bmQhJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcnJvcjogRGF0YWJhc2UgZXJyb3IhJzsKJGxhbmdbJ2Vycm9yX2VtcHR5Y2F0ZWdvcnknXSA9ICdFcnJvcjogRW1wdHkgQ2F0ZWdvcnkhJzsKJGxhbmdbJ2Vycm9yX2VtcHR5cGF0aCddID0gJ0Vycm9yOiBFbXB0eSBQYXRoISc7CiRsYW5nWydlcnJvcl9maWxlZXhpc3RzJ10gPSAnRXJyb3IhIEZpbGUgJXMgYWxyZWFkeSBleGlzdHMuJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0Vycm9yISBGaWxlICVzIHdhcyBub3QgZm91bmQuJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ0Vycm9yOiBJbnN1ZmZpY2llbnQgcGFyYW1ldGVycyBzdXBwbGllZCB0byBtb2R1bGUhJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRhdXRob3InXSA9ICdFcnJvcjogSW52YWxpZCAob3IgZW1wdHkpIGF1dGhvci4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNhdGVnb3J5J10gPSAnRXJyb3I6IEludmFsaWQgKG9yIGVtcHR5KSBjYXRlZ29yeS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGRlc2NyaXB0aW9uJ10gPSAnRXJyb3I6IEludmFsaWQgKG9yIGVtcHR5KSBkZXNjcmlwdGlvbi4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGZpbGUnXSA9ICdFcnJvcjogSW52YWxpZCAob3IgZW1wdHkpIGZpbGVuYW1lLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkZmlsZW5hbWUnXSA9ICdFcnJvcjogRmlsZXMgd2l0aCB0aGF0IG5hbWUgKHByb2JhYmx5IGV4dGVuc2lvbikgYXJlIG5vdCBhbGxvd2VkICglcykuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1cGxvYWRpZCddID0gJ0Vycm9yOiBJbnZhbGlkIHVwbG9hZCBpZCc7CiRsYW5nWydlcnJvcl9ub2ZpbGVzJ10gPSAnRXJyb3I6IE5vIE1hdGNoaW5nIEZpbGVzISc7CiRsYW5nWydmaWxlcyddID0gJ0ZpbGVzJzsKJGxhbmdbJ2ZpeG1lJ10gPSAnRml4IFNwYWNlcyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdGcm9udCBFbmQgRmlsZSBNYW5hZ2VtZW50IChVcGxvYWRzKSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5JdCBpcyBhIG1vZHVsZSBmb3IgYWxsb3dpbmcgcGVvcGxlIHRvIHVwbG9hZCBhbmQgZG93bmxvYWQgZmlsZXMgdG8gYW5kIGZyb20geW91ciBzaXRlLiAgSXQga2VlcHMgdHJhY2sgb2Ygd2hvIHVwbG9hZGVkIGEgZmlsZSwgYW5kIHdobyBoYXMgZG93bmxvYWRlZCBpdC4gIEFzIHdlbGwsIHlvdSBjYW4gc29ydCBmaWxlcyBpbnRvIGNhdGVnb3JpZXMsIGFuZCBtYW5hZ2UgdGhlIGZpbGVzIHRoYXQgd2VyZSB1cGxvYWRlZCBsaWtlIGV2ZXJ5IGFkbWluaXN0cmF0b3Igd291bGQgZG88L3A+IA0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD48c3Ryb25nPldhcm5pbmc8L3N0cm9uZz4gLSBUaGUgcHJvcGVyIGJlaGF2aW91ciBvZiB0aGlzIG1vZHVsZSBkZXBlbmRzIG9uIG51bWVyb3VzIHBocCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy4gIFRoZXNlIGluY2x1ZGUgPGVtPihidXQgYXJlIG5vdCBsaW1pdGVkIHRvKTwvZW0+LCBwaHAmIzAzOTtzIG1lbW9yeV9saW1pdCwgc2FmZV9tb2RlLCBmaWxlX3VwbG9hZHMsIHVwbG9hZHNfbWF4X2ZpbGVzaXplLCBhbmQgbWF4X2V4ZWN1dGlvbl90aW1lLiAgVGhlc2UgdmFyaWFibGVzIG1heSBuZWVkIGFkanVzdG1lbnQgZm9yIHRoaXMgbW9kdWxlIHRvIHdvcmsgcHJvcGVybHkgb24geW91ciBzaXRlLiAgSXQgaXMgYWR2aXNlZCB0aGF0IHlvdSB3b3JrIHdpdGggeW91ciBzeXN0ZW0gYWRtaW5pc3RyYXRvciBvciBob3N0IHByb3ZpZGVyIHRvIHR1bmUgdGhlc2Ugc2V0dGluZ3MgZm9yIHlvdXIgcmVxdWlyZW1lbnRzLjwvcD4NCjxwPlRvIHVzZSB0aGlzIG1vZHVsZSwgdG8gYWxsb3cgdXNlcnMgdG8gdXBsb2FkIGZpbGVzIHRvIHlvdXIgc2l0ZSwgeW91IHNob3VsZCBpbnN0YWxsIHRoZSBtb2R1bGUsIGFuZCB0aGVuIGNyZWF0ZSBvbmUgb3IgbW9yZSBjYXRlZ29yaWVzIChhLmsuYSkgZGlyZWN0b3JpZXMgZm9yIHRoZSB1cGxvYWRlZCBmaWxlcyB0byBnbyBpbnRvLiBUaGVuIGFkZCBhIHRhZyBpbnRvIGEgcGFnZSBvciB0ZW1wbGF0ZSBzb21ld2hlcmUgbGlrZSB7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7VXBsb2FkcyZxdW90OyBjYXRlZ29yeT0mcXVvdDtzb21lY2F0ZWdvcnkmcXVvdDsgbW9kZT0mcXVvdDtzb21lbW9kZSZxdW90O30uICBXaGVyZSBtb2RlIG1hdGNoZXMgb25lIG9mIHRoZSBtb2RlcyBsaXN0ZWQgYmVsb3cuICBUaGUgb3V0cHV0IHdpbGwgZGlmZmVyIGRlcGVuZGluZyB1cG9uIHdoaWNoIG1vZGUgeW91IHNlbGVjdC48L3A+DQo8cD5UaGlzIG1vZHVsZSBjYW4gdXNlIHRoZSBGcm9udGVuZFVzZXJzIG1vZHVsZSAob3B0aW9uYWwpIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCBhbnkgY3VycmVudGx5IGxvZ2dlZCBpbiB1c2VycyB0byBwYXJ0bHkgZmlsbCBpbiB0aGUgZm9ybSB3aGVuIHVwbG9hZGluZyBmaWxlczs8L3A+DQo8aDM+UGVybWlzc2lvbnM8L2gzPg0KPHVsPg0KPGxpPjxlbT5NYW5hZ2UgVXBsb2FkczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIHRvIG1hbmFnZSBjYXRlZ29yaWVzLCBhbmQgdGhlIGZpbGVzIHdpdGhpbiB0aGVtLjwvbGk+DQo8bGk+PGVtPk1vZGlmeSBUZW1wbGF0ZXM8L2VtPiBwZXJtaXNzaW9uIGlzIG5lZWRlZCBlZGl0IGFueSBvZiB0aGUgdGVtcGxhdGVzLjwvbGk+DQo8bGk+PGVtPk1vZGlmeSBTaXRlIFByZWZlcmVuY2VzPC9lbT4gcGVybWlzc2lvbiBpcyBuZWVkZWQgYW55IG9mIHRoZSBmaWxlIHNldHRpbmdzLjwvbGk+DQo8L3VsPg0KPGgzPkVtYWlsaW5nPC9oMz4NCjxwPlRoaXMgbW9kdWxlIGlzIGNhcGFibGUgb2Ygc2VuZGluZyBhbiBlbWFpbCB3aGVuZXZlciBhIGZpbGUgaXMgdXBsb2FkZWQsIHNlZSB0aGUgcHJlZmVyZW5jZXMgdGFiLiAgSG93ZXZlciwgdG8gZG8gdGhpcyB0aGUgPGI+Q01TTWFpbGVyPC9iPiBwYWNrYWdlIG11c3QgYmUgaW5zdGFsbGVkIGFuZCBjb25maWd1cmVkLiAgVGhpcyBpcyBhbiA8ZW0+b3B0aW9uYWw8L2VtPiBzdGVwLCBhbmQgaWYgdGhlIENNU01haWxlciBtb2R1bGUgaXMgbm90IGluc3RhbGxlZCwgbm90aGluZyB3aWxsIGJlIGRpc3BsYXllZCB0byB0aGUgdXNlciwgb25seSBhIGxvZyBtZXNzYWdlIHdpbGwgYmUgcGxhY2VkIGludG8gdGhlIGFkbWluIGxvZzwvcD4NCjxoMz5TeXN0ZW0gU2V0dGluZ3M8L2gzPg0KPHA+PGI+Tm90ZTo8L2I+IFRoaXMgbW9kdWxlIGRvZXMgbm90IGJ5cGFzcyBvciBnZXQgcGFzdCBhbnkgZmlsZSBzaXplIGxpbWl0YXRpb25zIGluIHBocC4gIEl0IHdvcmtzIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlbS4gIFRoZXJlZm9yZSB5b3UgbWF5IG5lZWQgdG8gbW9kaWZ5IHlvdXIgcGhwLmluaSBmaWxlIGFuZC9vciB5b3VyIGh0dHBkLmNvbmYgZmlsZShzKSB0byBhbGxvdyB5b3UgdG8gdXBsb2FkIGZpbGVzIGFzIGxhcmdlIGFzIHdoYXQgeW91IGhhdmUgc2V0IGluIHRoZSB1cGxvYWRzIG1vZHVsZSBwcmVmZXJlbmNlcy48L3A+DQo8aDM+QXBhY2hlIE5vdGVzPC9oMz4NCjxwPkluIG9yZGVyIHRvIGFsbG93IGxhcmdlIGZpbGUgdXBsb2FkcywgeW91IG1heSBuZWVkIHRvIG1vZGlmeSB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBwYXJhbWV0ZXIgaW4geW91ciBwaHAuaW5pICBJbiBhZGRpdGlvbiwgdGhlIExpbWl0UmVxdWVzdEJvZHkgcGFyYW1ldGVyIGluIHlvdXIgYXBhY2hlIGNvbmZpZ3VyYXRpb24sIG1heSBuZWVkIHRvIGJlIGFkanVzdGVkIHRvIG1hdGNoIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIHBhcmFtZXRlcjwvcD4NCjxwPk5vdGU6ICB0aGUgdXBsb2FkX21heF9maWxlc2l6ZSBwYXJhbWV0ZXIgY2FuIGJlIHNwZWNpZmllZCBpbiBieXRlcywga2lsb2J5dGVzLCBvciBtZWdhYnl0ZXMsIGhvd2V2ZXIgdGhlIExpbWl0UmVxdWV0Qm9keSBwYXJhbWV0ZXIgaXMgb25seSBzcGVjaWZpZWQgaW4gYnl0ZXM8L3A+DQonOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ2lwX2FkZHJlc3MnXSA9ICdJUCBBZGRyZXNzJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgdGhhdCBhbGxvd3MgdXNlcnMgdG8gdXBsb2FkIGZpbGVzLCBhbmQgYWxsb3dzIHlvdSB0byBtYW5hZ2UgdGhlbS4nOwokbGFuZ1snbmFtZSddID0gJ05hbWUnOwokbGFuZ1sncmVuYW1lbWVzc2FnZSddID0gJ0NoYW5nZSB0aGUgbmFtZSBoZXJlIHRvIGV4ZWN1dGUgYSByZW5hbWUnOwokbGFuZ1sncGF0aCddID0gJ1BhdGgnOwokbGFuZ1sncGF0aG1lc3NhZ2UnXSA9ICdDaGFuZ2UgdGhlIGNhdGVnb3J5IGhlcmUgdG8gbW92ZSB0aGUgZmlsZSB0byBhbm90aGVyIGRpcmVjdG9yeSc7CiRsYW5nWydwYXRoaW51cGxvYWRzJ10gPSAnKFJlbGF0aXZlIHRvIHRoZSB1cGxvYWRzIGRpcmVjdG9yeSknOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICc8cD5UaGUgdXBsb2FkcyBtb2R1bGUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZC4gQmUgc3VyZSB0byBzZXQgJnF1b3Q7TWFuYWdlIFVwbG9hZHMmcXVvdDsgcGVybWlzc2lvbnMgdG8gdXNlIHRoaXMgbW9kdWxlITwvcD4NCjxwPjxzdHJvbmc+V2FybmluZzwvc3Ryb25nPiAtIFRoZSBwcm9wZXIgYmVoYXZpb3VyIG9mIHRoaXMgbW9kdWxlIGRlcGVuZHMgb24gbnVtZXJvdXMgcGhwIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzLiAgVGhlc2UgaW5jbHVkZSA8ZW0+KGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG8pPC9lbT4sIHBocCYjMDM5O3MgbWVtb3J5X2xpbWl0LCBzYWZlX21vZGUsIGZpbGVfdXBsb2FkcywgdXBsb2Fkc19tYXhfZmlsZXNpemUsIGFuZCBtYXhfZXhlY3V0aW9uX3RpbWUuICBUaGVzZSB2YXJpYWJsZXMgbWF5IG5lZWQgYWRqdXN0bWVudCBmb3IgdGhpcyBtb2R1bGUgdG8gd29yayBwcm9wZXJseSBvbiB5b3VyIHNpdGUuICBJdCBpcyBhZHZpc2VkIHRoYXQgeW91IHdvcmsgd2l0aCB5b3VyIHN5c3RlbSBhZG1pbmlzdHJhdG9yIG9yIGhvc3QgcHJvdmlkZXIgdG8gdHVuZSB0aGVzZSBzZXR0aW5ncyBmb3IgeW91ciByZXF1aXJlbWVudHMuPC9wPic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIFVwbG9hZHMgbW9kdWxlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSByZW1vdmVkLiAgTm8gZmlsZXMgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB5b3VyIHVwbG9hZHMgZGlyZWN0b3J5LCBhbmQgZmlsZSBpbnRlZ3JpdHkgaXMgaW50YWN0JzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUHJlZmVyZW5jZXMnOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeWRlc2MnXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlsaXN0YWJsZSddID0gJ0ZpbGVzIGluIHRoaXMgZGlyZWN0b3J5IGNhbiBiZSBsaXN0ZWQnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5bmFtZSddID0gJ0NhdGVnb3J5IE5hbWUnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5cGF0aCddID0gJ1NlcnZlciBQYXRoJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVkaXJlY3RvcnknXSA9ICdEZWxldGUgY2F0ZWdvcnkgZGlyZWN0b3J5Pyc7CiRsYW5nWydwcm9tcHRfbWF4X3VwbG9hZHNpemUnXSA9ICdNYXhpbXVtIGZpbGUgc2l6ZSBhbGxvd2VkIChLYiknOwokbGFuZ1sncHJvbXB0X3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnXSA9ICdWYWxpZCB1cGxvYWQgZXh0ZW5zaW9ucyc7CiRsYW5nWydzY2FuJ10gPSAnU2Nhbic7CiRsYW5nWydzZWxlY3RjYXRlZ29yeSddID0gJ1NlbGVjdCBDYXRlZ29yeSc7CiRsYW5nWydzaXplJ10gPSAnU2l6ZSc7CiRsYW5nWydzaXpla2InXSA9ICdTaXplIChLYiknOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTdW1tYXJ5IFRlbXBsYXRlcyc7CiRsYW5nWydzdW1tYXJ5J10gPSAnU3VtbWFyeSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ1VwbG9hZHMgTW9kdWxlJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZSBBZG1pbiBQYW5lbCc7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGUgUHJlZmVyZW5jZXMnOwokbGFuZ1sndGl0bGVfc3VibmV0X2V4Y2x1c2lvbnMnXSA9ICdFeGNsdWRlIHN1Ym5ldHMgZnJvbSBzdGF0aXN0aWNzJzsKJGxhbmdbJ3RpdGxlX3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnXSA9ICdWYWxpZCBFeHRlbnNpb25zJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWyd1cGxvYWQnXSA9ICdVcGxvYWQnOwokbGFuZ1sndXBsb2FkZWQnXSA9ICdGaWxlICVzIHdhcyB1cGxvYWRlZCBieSAlcy4nOwokbGFuZ1sncmVwbGFjZWQnXSA9ICdGaWxlICVzIHdhcyByZXBsYWNlZCBieSAlcy4nOwokbGFuZ1snZGVsZXRlZCddID0gJ0ZpbGUgJXMgd2FzIGRlbGV0ZWQuJzsKJGxhbmdbJ3VwbG9hZGZvcm1fdGVtcGxhdGUnXSA9ICdVcGxvYWQgVGVtcGxhdGVzJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snd2FybmluZ19kZWxldGVjYXRlZ29yeSddID0gJ1dBUk5JTkc6IFVzZSBjYXV0aW9uIHdoZW4gZGVsZXRpbmcgY2F0ZWdvcmllcy4gIEZpbGVzIG1heSBiZSBsb3N0JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTE2ODMxMTMxMi4xMjQ4MDk3NTU4LjEyNTM5NjcxNzAuMTI1NDgzNjA4OC40JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTI1NDgzNjA4OC40LjMudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwL3RvcGljLDM1NzA3Lm1zZzE3OTUyMy5odG1sfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWydxY2EnXSA9ICdQMC01MTkwMzQ2MzEtMTI1MDYwNDg4NzQyOCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3BhcmFtX3NlbmRmaWxlX3RvJ10gPSAnR2plbGRlciB0aWwgWW91U2VuZEl0IGhhbmRsaW5nZW4gbGFyIHNwZXNpZmlzZXJlIGVuIGFkbWluIGJydWtlcm5hdm4sIGVsbGVyIGVuIGUtcG9zdGFkcmVzc2UgZm9yIMOlIG1vdHRhIHZhcnNsaW5nLiBIdmlzIGlra2Ugc3Blc2lmaXNlcnQgZW4gaW5wdXQtZmVsdGV0IHZpbCBibGkgZ2l0dCBpIFlvdVNlbmRJdCBza2plbWEnOwokbGFuZ1sncGFyYW1fc2VuZGZpbGVfb3ZlcndyaXRlJ10gPSAnR2plbGRlciB0aWwgWW91U2VuZEl0IGhhbmRsaW5nLCBpbmRpa2VyZXIgYXQgZGVuIG9wcGxhc3RlZGUgZmlsZW4gYsO4ciBmw6UgbG92IHRpbCDDpSBvdmVyc2tyaXZlIGVuIGVrc2lzdGVyZW5kZSBmaWwgbWVkIHNhbW1lIG5hdm4nOwokbGFuZ1sncGhfY2FwdGNoYSddID0gJ1Nrcml2IGlubiB0ZWtzdGVuIGZyYSBiaWxkZXQgb3ZlbmZvciBmb3Igw6UgYmVrcmVmdGUgYXQgZHUgaWtrZSBlciBlbiBib3QnOwokbGFuZ1snaGRyX2JvdF9zZWN1cml0eSddID0gJ0VyIGR1IGV0IG1lbm5lc2tlPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9maWxlJ10gPSAnRXIgZHUgc2lra2VyIHDDpSBhdCBkdSB2aWwgc2xldHRlIGRlbm5lIGZpbGVuPyc7CiRsYW5nWydtc2dfdGVtcGxhdGVzYXZlZCddID0gJ01hbCAoZXIpIGxhZ3JldCc7CiRsYW5nWydtc2dfdGVtcGxhdGVyZXNldCddID0gJ21hbCBudWxsc3RpbGxpbmcnOwokbGFuZ1snc2VuZGZpbGVfc2V0dGluZ3MnXSA9ICdTZW5kZmlsIC8gWW91U2VuZEl0IElubnN0aWxsaW5nZXInOwokbGFuZ1sncmVzZXQnXSA9ICdUaWxiYWtlc3RpbGwnOwokbGFuZ1sncHJvbXB0X3NlbmRmaWxlX2FmdGVybXNnJ10gPSAnVGVrc3Qgc29tIHNrYWwgdmlzZXMgZXR0ZXIgYXQgZW4gZmlsIGVyIGxhc3RldCBvcHAgdmlhIFlvdVNlbmRJdC9zZW5kZmlsIG1la2FuaXNtZSc7CiRsYW5nWydtc2dfcGxlYXNlc2VsZWN0ZmlsZSddID0gJ0R1IGhhciBlbm7DpSBpa2tlIHZhbGd0IGVuIGZpbCc7CiRsYW5nWyd5b3VzZW5kaXRmaWxlZG9uZSddID0gJ0RpbiBmaWxvcHBsYXN0aW5nIGhhciBibGl0dCBzZW5kdCc7CiRsYW5nWydoZHJfeW91c2VuZGl0J10gPSAnU2VuZCBlbiBGaWwnOwokbGFuZ1snaW5mb195b3VzZW5kaXQnXSA9ICdEZXR0ZSBza2plbWFldCBrYW4gZHUgbGFzdGUgb3BwIGVuIGVua2VsdCBmaWwgaSBhbGxlIHN0w7hycmVsc2VyIG9nIGdqw7hyZSBkZW4gdGlsZ2plbmdlbGlnIGZvciBhbmRyZSBicnVrZXJlIMOlIGxhc3RlIG5lZC4gTW90dGFrZXJuZSB2aWwgbW90dGEgZW4gZS1wb3N0IG1lZCBpbnN0cnVrc2pvbmVyIG9tIGh2b3JkYW4gZHUgbGFzdGVyIG5lZCBmaWxlbi4gRGV0dGUgZXIgbnl0dGlnIGZvciDDpSBzZW5kZSBmaWxlciBzdMO4cnJlIGVubiBodmEgZS1wb3N0c2VydmVyZW4gZ29kdGFyLiBTZXJ2ZXIgYWRtaW5pc3RyYXRvcmVyIGZvcmJlaG9sZGVyIHNlZyByZXR0ZW4gdGlsIMOlIGZqZXJuZSBmaWxlciBhdXRvbWF0aXNrIGV0dGVyIGVuIHZpc3MgdGlkLic7CiRsYW5nWydyZW1vdmUnXSA9ICdGamVybic7CiRsYW5nWydwaF95c2lfZnJvbSddID0gJ1Nrcml2IGlubiBkaW4gZXBvc3RhZHJlc3NlJzsKJGxhbmdbJ3BoX3lzaV9zdW1tYXJ5J10gPSAnU2tyaXYgZW4ga29ydCBvcHBzdW1tZXJpbmcgZm9yIGRlbm5lIGZpbGVuJzsKJGxhbmdbJ3BoX3lzaV9kZXNjJ10gPSAnRXZlbnR1ZWx0IHNrcml2IGVuIG1lciBkZXRhbGplcnQgYmVza3JpdmVsc2UgYXYgZGVubmUgZmlsZW4nOwokbGFuZ1sncGhfeXNpX3RvJ10gPSAnU2tyaXYgaW5uIGUtcG9zdGFkcmVzc2VuIHRpbCBtb3R0YWtlcmVuLic7CiRsYW5nWydwaF95c2lfc3ViamVjdCddID0gJ1Nrcml2IGlubiBldCBlbW5lIGZvciBlLXBvc3QnOwokbGFuZ1sncGhfeXNpX25vdGVzJ10gPSAnU2tyaXYgaW5uIHRla3N0IGZvciDDpSBmb3J0ZWxsZSBtb3R0YWtlcmVuIGF2IGRlbm5lIGUtcG9zdGVuJzsKJGxhbmdbJ2VtYWlsX2RldGFpbHMnXSA9ICdFLXBvc3QgRGV0YWxqZXInOwokbGFuZ1snZnJvbSddID0gJ0ZyYSc7CiRsYW5nWydmaWxlX2RldGFpbHMnXSA9ICdGaWwgRGV0YWxqZXInOwokbGFuZ1snZXJyb3Jfbm9zZW5kZXInXSA9ICdCZWtsYWdlci4gRHUgbcOlIG9wcGdpIGRpbiBlLXBvc3RhZHJlc3NlJzsKJGxhbmdbJ2VkaXRfdGhpc19maWVsZCddID0gJ1JlZGlnZXIgZGV0dGUgZmVsdGV0JzsKJGxhbmdbJ2RlbGV0ZV90aGlzX2ZpZWxkJ10gPSAnU2xldHQgZGV0dGUgZmVsdGV0JzsKJGxhbmdbJ21vdmVfdXAnXSA9ICdGbHl0dGUgT3BwJzsKJGxhbmdbJ21vdmVfZG93biddID0gJ0ZseXR0IE5lZCc7CiRsYW5nWydzdWNjZXNzZnVsX3VwbG9hZCddID0gJ0ZpbGVuIGRpbiBibGUgbGFzdGV0IG9wcC4gVGlsIHNsdXR0LCBmaWxuYXZuZXQgdmkgYnJ1a3RlIHZhciAlcyc7CiRsYW5nWydwcm9tcHRfdXNlX2F1dG9nZW5fZmlsZW5hbWVzJ10gPSAnQnJ1ayBhdXRvbWF0aXNrIGdlbmVyZXJ0ZSBmaWxuYXZuJzsKJGxhbmdbJ2luZm9fYXV0b2dlbl9maWxlbmFtZXMnXSA9ICdOw6VyIGRlbiBlciBha3RpdmVydCwgdmlsIGZpbG5hdm5ldCBww6Ugb3BwbGFzdGVkZSBmaWxlciBhdXRvbWF0aXNrIGJsaSBvbWTDuHB0IHRpbCBlbiBhdXRvbWF0aXNrIGdlbmVyZXJ0IHZlcmRpLiBGaWx0eXBlbiB2aWwgYmxpIGJldmFydCc7CiRsYW5nWydwYXJhbV9zdW1tYXJ5cGFnZSddID0gJ0dqZWxkZXIga3VuIHRpbCBjYXRlZ29yeWxpc3QgaGFuZGxpbmdlbiBkZW5uZSBwYXJhbWV0ZXJlbiBnb2R0YXIgZW4gc2lkZSBhbGlhcyBlbGxlciBpZCBww6Ugc2lkZW4gZm9yIMOlIGtvYmxlIHRpbCBmb3Igc3Blc2lmaWtrZSBrYXRlZ29yaSBzYW1tZW5kcmFnIHV0c2lrdC4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdHamVsZGVyIGt1biB0aWwgY2F0ZWdvcnlsaXN0IGhhbmRsaW5nLCBha3NlcHRlcmVyIGRlbm5lIHBhcmFtZXRlcmVuIG5hdm5ldCBww6UgZW4gaWtrZSBzdGFuZGFyZCBrYXRlZ29yaWxpc3RlIG1hbCBmb3Igw6UgdmlzZS4nOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlsaXN0X3RlbXBsYXRlJ10gPSAnTGVnZyB0aWwvUmVkaWdlciBlbiBrYXRlZ29yaSBMaXN0ZXZpc25pbmdzIE1hbCc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3Rfc3lzZGVmYXVsdCddID0gJ1Byb3RvdHlwZSBLYXRlZ29yaSBMaXN0ZXZpc25pbmdzIE1hbCc7CiRsYW5nWydjYXRlZ29yeWxpc3RfdGVtcGxhdGVzJ10gPSAnS2F0ZWdvcmkgTGlzdGV2aXNuaW5ncyBNYWxlcic7CiRsYW5nWydpbmRleF91bmlxdWV3b3JkcyddID0gJ0luZGVrcyBiYXJlIHVuaWtlIG9yZCc7CiRsYW5nWydyZWluZGV4J10gPSAnUmVpbmRleCc7CiRsYW5nWydpbmRleGluZ19zZXR0aW5ncyddID0gJ1PDuGsgaW5kZWtzZXJpbmcgSW5uc3RpbGxpbmdlcic7CiRsYW5nWydpbmRleF90eHRmaWxlcyddID0gJ0luZGVrc3Rla3N0ZmlsZXInOwokbGFuZ1snaW5kZXhfcGRmZmlsZXMnXSA9ICdJbmRleCBQREYtZmlsZXInOwokbGFuZ1snYWxsb3dfY2hhbmdlZGF0ZSddID0gJ0xhIGFkbWluaXN0cmF0b3IgZm9yIMOlIGVuZHJlIG9wcGxhc3RpbmdzZGF0byc7CiRsYW5nWydtaXNzaW5nJ10gPSAnRmlsIG1hbmdsZXIhISEnOwokbGFuZ1snbWlzc2luZ19maWxlJ10gPSAnRGVubmUgZmlsZW4gbWFuZ2xlcic7CiRsYW5nWydwcm9tcHRfZnJpZW5kbHluYW1lJ10gPSAnVmVubmxpZyBuYXZuIGZvciBkZW5uZSBtb2R1bGVuJzsKJGxhbmdbJ2luZm9fZnJpZW5kbHluYW1lJ10gPSAnQW5naSBldCBuYXZuIGZvciBkZW5uZSBtb2R1bGVuIGkgbmF2aWdhc2pvbnMgYWRtaW4uIERldCBrYW4gdsOmcmUgbsO4ZHZlbmRpZyDDpSB0w7htbWUgQ01TTVMgY2FjaGUgZm9yIGF0IGRldHRlIHNrYWwgdHJlIGkga3JhZnQnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlfcHJvYmxlbV9zJ10gPSAnRW4gc3RpIGVsbGVyIHRpbGxhdGVsc2UgcHJvYmxlbSBla3Npc3RlcmVyIG1lZCBkZW5uZSBrYXRlZ29yaWVuJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5X3Byb2JsZW0nXSA9ICdFbiBzdGkgZWxsZXIgdGlsbGF0ZWxzZSBwcm9ibGVtIGVrc2lzdGVyZXIgbWVkIGthdGVnb3JpZW4gJXMnOwokbGFuZ1snZXJyb3JfY2Fubm90cmVuYW1lJ10gPSAnRmVpbCB2ZWQgbmF2bmJ5dHRlJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9zdW1tYXJ5J10gPSAnU2FtbWVuZHJhZyc7CiRsYW5nWydmaWVsZF9jYXRlZ29yeV9pZCddID0gJ0thdGVnb3JpSUQnOwokbGFuZ1snZmllbGRfY2F0ZWdvcnlfbmFtZSddID0gJ0thdGVnb3J1bmF2bic7CiRsYW5nWydmaWVsZF9jYXRlZ29yeV9wYXRoJ10gPSAnS2F0ZWdvcmlzdGknOwokbGFuZ1snZmllbGRfYXV0aG9yJ10gPSAnRWllcic7CiRsYW5nWydmaWVsZF9kZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZlbHNlJzsKJGxhbmdbJ25vdXNlcmluZm8nXSA9ICdJbmdlbiBicnVrZXJpbmZvIHRpbGdqZW5nZWxpZyc7CiRsYW5nWydlcnJvcl9tYXRjaGluZ3JlY29yZHMnXSA9ICdJbmdlbiBwb3N0ZXIgYmxlIGZ1bm5ldCBzb20gcGFzc2VyIGRpbmUga3JpdGVyaWVyJzsKJGxhbmdbJ21zZ19yZXBvcnRfc2VudCddID0gJ1JhcHBvcnQgc2VuZHQnOwokbGFuZ1snZ2VuZXJhdGVkX2J5J10gPSAnR2VuZXJlcnQgYXYnOwokbGFuZ1snZ2VuZXJhdGVkX29uJ10gPSAnR2VuZXJlcnQgZGVuJzsKJGxhbmdbJ3N0YXJ0X2RhdGUnXSA9ICdTdGFydGRhdG8nOwokbGFuZ1snZW5kX2RhdGUnXSA9ICdTbHV0dGRhdG8nOwokbGFuZ1sndXBsb2FkX2NhdGVnb3J5X25hbWUnXSA9ICdLYXRlZ29yaW5hdm4nOwokbGFuZ1snaW5mb19maWVsZF9maWxlcyddID0gJ0RldHRlIGVyIGVuIGF1dG9mdWxsZsO4ciBmZWx0LCBkdSBrYW4gc2tyaXZlIGlubiBkZWx2aXNlIGZpbG5hdm4gZm9yIGF0IGRlIHNrYWwgYmxpIGF1dG9tYXRpc2sgZnVsbGbDuHJ0LiBEdSBrYW4gb2dzw6Ugc2tyaXZlIGlubiBmaWxuYXZubcO4bnN0ZXIgZHZzLjogZm9vKmpwZy4gRGVubmUgbGlzdGVuIHZpbCBibGkgcmVuc2V0IG9nIHNqZWtrZXQgZm9yIGd5bGRpZ2hldCBuw6VyIHNramVtYWV0IGVyIHNlbmR0JzsKJGxhbmdbJ3Byb21wdF9maWxlcyddID0gJ0ZpbGVyJzsKJGxhbmdbJ3JlcG9ydF9kb3dubG9hZHNieXVzZXInXSA9ICdOZWRsYXN0aW5nZXIgYXYgYnJ1a2VyJzsKJGxhbmdbJ3JlcG9ydF9kb3dubG9hZHNieWZpbGUnXSA9ICdOZWRsYXN0aW5nZXIgYXYgZmlsJzsKJGxhbmdbJ3Byb21wdF9vdXRwdXRfdGVtcGxhdGUnXSA9ICdVdGRhdGEgbWFsJzsKJGxhbmdbJ3RpdGxlX2Rvd25sb2Fkc2J5ZmlsZV90cGwnXSA9ICdOZWRsYXN0aW5nZXIgZXR0ZXIgZmlsIHJhcHBvcnRtYWwnOwokbGFuZ1sndGl0bGVfZG93bmxvYWRzYnl1c2VyX3RwbCddID0gJ05lZGxhc3RpbmdlciBldHRlciBicnVrZXIgcmFwcG9ydG1hbCc7CiRsYW5nWydycHRfZG93bmxvYWRzYnlmaWxlX3RwbCddID0gJ05lZGxhc3RpbmdlciBldHRlciBmaWwgcmFwcG9ydCc7CiRsYW5nWydycHRfZG93bmxvYWRzYnl1c2VyX3RwbCddID0gJ05lZGxhc3RpbmdlciBldHRlciBicnVrZXIgcmFwcG9ydCc7CiRsYW5nWyd1c2VycHJvcCddID0gJ0VnZW5za2FwJzsKJGxhbmdbJ2ZpZWxkX2xhdGVzdF9kb3dubG9hZCddID0gJ1Npc3RlIG5lZGxhc3RpbmcnOwokbGFuZ1snZmllbGQnXSA9ICdGZWx0JzsKJGxhbmdbJ2Nsb3NlJ10gPSAnTHVrayc7CiRsYW5nWydlcnJvcl9pbnRlcm5hbCddID0gJ0VuIGludGVybiBmZWlsIGhhciBvcHBzdMOldHQnOwokbGFuZ1snZXJyb3Jfbm9wcm9maWxlJ10gPSAnSW5nZW4gcmFwcG9ydHByb2ZpbCBvcHBkYWdldCc7CiRsYW5nWydleHBvcnRfaHRtbGVtYWlsJ10gPSAnSFRNTCByYXBwb3J0ICh2aWEgZS1wb3N0KSc7CiRsYW5nWydleHBvcnRfaHRtbCddID0gJ0hUTUwgcmFwcG9ydCAobnl0dCB2aW5kdSknOwokbGFuZ1snZXhwb3J0X2NzdiddID0gJ0FTQ0lJIChjc3YpIGZpbCc7CiRsYW5nWydwcm9tcHRfb3V0cHV0J10gPSAnVXRkYXRhIGZvcm1hdCc7CiRsYW5nWydwcm9tcHRfcmVwb3J0X3R5cGUnXSA9ICdSQXBwb3J0dHlwZSc7CiRsYW5nWydyZXBvcnRfc3VtbWFyeSddID0gJ1NhbW1lbmRyYWcnOwokbGFuZ1sncmVwb3J0X2RldGFpbCddID0gJ0RldGFsamVydCc7CiRsYW5nWydpbmZvX2ZldV91c2VycyddID0gJ0RldHRlIGVyIGV0IGF1dG9mdWxsZsO4ciBmZWx0LCBkdSBrYW4gc2tyaXZlIGlubiBkZWx2aXNlIGJydWtlcm5hdm4gb2cgZGUgYmxpciBhdXRvbWF0aXNrIGZ1bGxmw7hydC4gRGVubmUgbGlzdGVuIHZpbCBibGkgcmVuc2V0IG9nIHNqZWtrZXQgZm9yIGd5bGRpZ2hldCBuw6VyIHNramVtYWV0IGVyIHNlbmR0JzsKJGxhbmdbJ3Byb21wdF9zdGFydF9kYXRlJ10gPSAnU3RhcnRkYXRvJzsKJGxhbmdbJ3Byb21wdF9lbmRfZGF0ZSddID0gJ1NsdXR0ZGF0byc7CiRsYW5nWydwcm9tcHRfYXNjZW5kaW5nJ10gPSAnU3RpZ2VuZGUnOwokbGFuZ1sncHJvbXB0X2Rlc2NlbmRpbmcnXSA9ICdTeW5rZW5kZSc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdCddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ3Byb21wdF9zb3J0b3JkZXInXSA9ICdTb3J0ZXJpbmdzcmVra2Vmw7hsZ2UnOwokbGFuZ1snZmllbGRfZG93bmxvYWRfZGF0ZSddID0gJ05lZGxhc3RpbmcgZGF0byc7CiRsYW5nWydmaWVsZF9kb3dubG9hZF91c2VyJ10gPSAnTmVkbGFzdGluZyBicnVrZXInOwokbGFuZ1snZmllbGRfdXBsb2FkX2lkJ10gPSAnT3BwbGFzdGluZ3NJRCc7CiRsYW5nWydmaWVsZF91cGxvYWRfY2F0ZWdvcnlfaWQnXSA9ICdLYXRlZ29yaUlEJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9jYXRlZ29yeV9uYW1lJ10gPSAnS2F0ZWdvcmluYXZuJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9jYXRlZ29yeV9wYXRoJ10gPSAnS2F0ZWdvcmlzdGknOwokbGFuZ1snZmllbGRfdXBsb2FkX25hbWUnXSA9ICdGaWxuYXZuJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9hdXRob3InXSA9ICdFaWVyJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9kZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZlbHNlJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9pcCddID0gJ09wcGxhc3RpbmdzIElQIGFkcmVzc2UnOwokbGFuZ1snZmllbGRfdXBsb2FkX3NpemUnXSA9ICdGaWxzdMO4cnJlbHNlJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9kYXRlJ10gPSAnT3BwbGFzdGluZ3NkYXRvJzsKJGxhbmdbJ2ZpZWxkX2Rvd25sb2FkcyddID0gJ0FudGFsbCBuZWRsYXN0aW5nZXInOwokbGFuZ1sncHJvbXB0X2ZpZWxkbGlzdCddID0gJ1ZlbGcgdXRkYXRhIGZlbHRlcic7CiRsYW5nWydwcm9tcHRfc29ydGluZyddID0gJ1NvcnRlciBldHRlcic7CiRsYW5nWydlcnJvcl9ub3VzZXJzZm91bmQnXSA9ICdFdHRlciDDpSB2YWxpZGVyZSBpbm5kYXRhLCBpbmdlbiBwYXNzZW5kZSBicnVrZXJlIGJsZSBmdW5uZXQnOwokbGFuZ1snb3InXSA9ICdFbGxlcic7CiRsYW5nWydwcm9tcHRfZmV1X3VzZXJzJ10gPSAnRkVVIEJydWtlcmUnOwokbGFuZ1sncHJvbXB0X2ZldV9ncm91cHMnXSA9ICdGRVUgR3J1cHBlcic7CiRsYW5nWydvdXRwdXQnXSA9ICdVdGRhdGEnOwokbGFuZ1snZXJyb3Jfbm9mZXUnXSA9ICdGcm9udEVuZFVzZXJzIG1vZHVsICh2ZXJzaW9uIDEuMjEuMTUgZWxsZXIgc3TDuHJyZSkgZXIgcMOla3JldmQgZm9yIGRlbm5lIGhhbmRsaW5nZW4nOwokbGFuZ1sndGl0bGVfcmVwb3J0X2Rvd25sb2Fkc2J5dXNlcjInXSA9ICdOZWRsYXN0aW5nZXIgZXR0ZXIgYnJ1a2VycmFwcG9ydCc7CiRsYW5nWyd0aXRsZV9yZXBvcnRfZG93bmxvYWRzYnl1c2VyJ10gPSAnTmVkbGFzdGluZ2VyIGV0dGVyIGJydWtlcic7CiRsYW5nWyd0aXRsZV9yZXBvcnRfZG93bmxvYWRzYnlmaWxlMiddID0gJ05lZGxhc3RpbmdlciBldHRlciBmaWxyYXBwb3J0JzsKJGxhbmdbJ3RpdGxlX3JlcG9ydF9kb3dubG9hZHNieWZpbGUnXSA9ICdOZWRsYXN0aW5nZXIgZXR0ZXIgZmlsJzsKJGxhbmdbJ3JlcG9ydHMnXSA9ICdSYXBwb3J0ZXInOwokbGFuZ1sncHJvbXB0X2Rvd25sb2FkcyddID0gJ05lZGxhc3Rpbmdlcic7CiRsYW5nWydwcm9tcHRfcGVybWlzc2lvbnMnXSA9ICdUaWxsYXRlbHNlcic7CiRsYW5nWydwcm9tcHRfZmllbGRzJ10gPSAnRmVsdGVyJzsKJGxhbmdbJ3Byb21wdF9zZW5kZmlsZSddID0gJ1NlbmQgZmlsJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcyddID0gJ1ZlbGcgZGUgRkVVIGJydWtlcmdydXBwZW5lIHNvbSBrYW4gc2UgbnlsaWcgb3BwbGFzdGVkZSBlbGxlciBza2FubmVkZSBmaWxlci4gRGV0dGUgdmlsIGlra2UgaGEgZWZmZWt0IHDDpSB0aWxsYXRlbHNlbmUgdGlsIGVrc2lzdGVyZW5kZSBmaWxlci4gQWRtaW5pc3RyYXRvcmVyIGthbiByZWRpZ2VyZSB0aWxsYXRlbHNlbmUgZm9yIGh2ZXIgZmlsIHVuZGVyIHJlZGlnZXJpbmcgYXYgaW5mb3JtYXNqb25lbiBvbSBkZW4gb3BwbGFzdGVkZSBmaWxlbic7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcyddID0gJ0dydXBwZXIgc29tIGthbiBzZSBueWxpZ2Ugb3BwbGFzdGVkZSBlbGxlciBza2FubmVkZSBmaWxlcic7CiRsYW5nWydpbmZvX2NhdGVnb3J5X3VzZXJwZXJtcyddID0gJ09tIGRldHRlIGVyIHDDpXNsw6V0dCwgc8OlIGthbiBkdSBrb250cm9sbGVyZSBodmEgRkVVIGJydWtlcmdydXBwZXIga2FuIHNlIGF2IGluZGl2aWR1ZWxsZSBmaWxlciBpIGthdGVnb3JpZW4nOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X3VzZXJwZXJtcyddID0gJ0thbiBzeW5saWdoZXQgYmxpIGtvbnRyb2xsZXJ0IHDDpSBmaWxuaXbDpSBmb3IgZGVubmUga2F0ZWdvcmllbic7CiRsYW5nWydwcm9tcHRfbW9kaWZ5aW5nJ10gPSAnTW9kaWZpc2VyZXInOwokbGFuZ1sncHJvbXB0X3ZpZXdpbmcnXSA9ICdWaXNlcic7CiRsYW5nWydwcm9tcHRfZ2VuZXJhbCddID0gJ0dlbmVyZWx0JzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlsaXN0YWJsZSddID0gJ0thbiBmaWxlciBpIGRlbm5lIGthdGFnb3JpZW4gYmxpIGxpc3RldCc7CiRsYW5nWydlcnJvcl9taXNzaW5ndmFsdWUnXSA9ICdFbiBww6VrcmV2ZCB2ZXJkaSBtYW5nbGVyJzsKJGxhbmdbJ2VkaXRlZCddID0gJ1JlZGlnZXJ0ICVzJzsKJGxhbmdbJ21vdmVkZmlsZSddID0gJ0ZseXR0ZXQgZmlsICVzIHRpbCAlcyc7CiRsYW5nWydwYWdlbGltaXQnXSA9ICdGaWxlciBwZXIgc2lkZSc7CiRsYW5nWyd2aWV3J10gPSAnVmlzIGRlbm5lIGZpbGVuJzsKJGxhbmdbJ2VkaXRfdGhpc19maWxlJ10gPSAnUmVkaWdlciBkZXR0ZSBmZWx0ZXQnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X3NjYW5uYWJsZSddID0gJ1NrYWwgZGVubmUga2F0YWxvZ2VuIGF1dG9tYXRpc2sgc2thbm5lcyBmb3IgbnllIGZpbGVyPyc7CiRsYW5nWydpbmZvX2NhdGVnb3J5X3NjYW5uYWJsZSddID0gJ07DpXIgZGVubmUga2F0YWxvZ2VuIMOlcG5lcyBmcmEgZnJvbnQgZW5kIGJsaXIgZGV0IGF1dG9tYXRpc2sgc2thbm5ldCBmb3Igb20gZGV0IGZpbm5lcyBueWUgZmlsZXInOwokbGFuZ1sncHJvbXB0X3RsX2FjY2VzcyddID0gJ1RpZHNiZWdyZW5zZXQgdGlsZ2FuZyc7CiRsYW5nWydwcm9tcHRfYWxsb3dfdXBsb2FkX3NlbmRmaWxlJ10gPSAnVGlsbGF0IHNlbmRpbmcgYXYgZmlsZXIgbWVkIGRldCBzYW1tZSB2ZWQgYWRtaW4tb3BwbGFzdGluZyc7CiRsYW5nWydtc2dfYXV0b19kZWxldGVfZmlsZSddID0gJ1NsZXR0ZXQgYXV0b21hdGlzayBmb3JlbGRldCBmaWw6ICVzJzsKJGxhbmdbJ21zZ19hdXRvX2RlbGV0ZV9maWxlX2ZhaWxlZCddID0gJ1JldHRpZ2hldHNwcm9ibGVtLCBhdXRvc2xldHRpbmcgYXYgJXMgZmVpbGV0JzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlfZXhwaXJlc19ocnMnXSA9ICdTcGVzaWZpc2VyIGFudGFsbCB0aW1lciBzb20gc2thbCBnw6UgZsO4ciBmaWxlciBpIGRlbm5lIGthdGVnb3JpZW4ga2FuIHNsZXR0ZXMuIEJlbnl0dCB2ZXJkaWVuIDAgZm9yIMOlIGluZGlrZXJlIGF0IGZpbGVyIGlra2Ugc2thbCBzbGV0dGVzJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeV9leHBpcmVzX2hycyddID0gJ0FudGFsbCB0aW1lciBmw7hyIGZpbGVyIGkgZGVubmUga2F0ZWdvcmllbiBhdXRvbWF0aXNrIHZpbCBibGkgc2xldHRldCc7CiRsYW5nWydpbmZvX2RmbHRfY2F0ZWdvcnlfZXhwaXJ5J10gPSAnU3RhbmRhcmQgdmVyZGkgZm9yIG55ZSBrYXRlZ29yaWVyIHNvbSBzcGVzaWZpc2VyZXIgaHZvciBsZW5nZSBmaWxlciBpIGRlbm5lIGthdGVnb3JpZW4gZsOlciBsZXZlIGbDuHIgZGUgYXV0b21hdGlzayB2aWwgYmxpIHNsZXR0ZXQuIEJlbnl0dCB2ZXJkaWVuIDAgZm9yIMOlIGluZGlrZXJlIGluZ2VuIHNsZXR0aW5nJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5X2V4cGlyeSddID0gJ0thdGVnb3JpIGZvcmVsZGVsc2VzcGVyaW9kZSA8ZW0+KGhycyk8L2VtPic7CiRsYW5nWydpbmZvX2NhdGVnb3J5ZGVsZXRhYmxlJ10gPSAnQXV0b3Jpc2VydGUgYnJ1a2VyZSB2aWwgaGEgdGlsZ2FuZyB0aWwgw6Ugc2xldHRlIGRpc3NlIGZpbGVuZS4gRGV0dGUgYmV0eXIgYXQgZW4gbGVua2UgdmlsIHZpc2VzIGkgZGUgYWt0dWVsbGUgbWFsZW5lIGZvciDDpSB0aWxsYXRlIHNsZXR0aW5nIGF2IGZpbGVuLiBFbiBuZXR0c3RlZHN1dHZpa2xlciBrYW4gYmVueXR0ZSBwYXNzZW5kZSBzbWFydHlsb2dpa2sgZm9yIMOlIHZpc2UgZW4gbGVua2UgdGlsIGRlIGF1dG9yaXNlcnRlIGJydWtlcm5lLic7CiRsYW5nWydjb3B5X2ZpbGVzJ10gPSAnS29waWVyIGZpbGVyJzsKJGxhbmdbJ2Vycm9yX2ZpbGV0b29sYXJnZSddID0gJ0ZpbGVuIGR1IGZvcnPDuGt0ZSDDpSBsYXN0ZSBvcHAgZXIgc3TDuHJyZSBlbm4gZGV0IHNvbSBlciBzYXR0IGkgQ01TTVMgbWFrc2ltdW0gb3BwbGFzdGluZyBmaWxzdMO4cnJlbHNlJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlY2F0ZWdvcnknXSA9ICdFciBkdSBzaWtrZXIgcMOlIGF0IGR1IHZpbCBzbGV0dGUgZGVubmUga2F0YWdvcmllbj8nOwokbGFuZ1snZXJyb3JfZGVsZXRlJ10gPSAnRW4gZW5oZXQga3VubmUgaWtrZSBzbGV0dGVzICglcyknOwokbGFuZ1snY29uZmlybV9jYXRfbXVsdGlhY3Rpb24nXSA9ICdFciBkdSBzaWtrZXIgcMOlIGF0IGR1IHZpbCB1dGbDuHJlIGRlbiB2YWxndGUgaGFuZGxpbmdlbiBww6UgZGUgdmFsZ3RlIGthdGVnb3JpZW5lPyc7CiRsYW5nWydlcnJvcl9ub3RoaW5nX3NlbGVjdGVkJ10gPSAnRmVpbDogSW5nZW50aW5nIHZhbGd0JzsKJGxhbmdbJ3dpdGhfc2VsZWN0ZWQnXSA9ICdNZWQgdmFsZ3Q6JzsKJGxhbmdbJ2Vycm9yX3JlcGxhY2VfbWlzbWF0Y2hlZF9maWxlZXh0J10gPSAnVmVkIGVyc3RhdG5pbmcgYXYgZW4gZmlsIHPDpSBtw6UgZHUgbGFzdGUgb3BwIGVuIGZpbCBhdiBha2t1cmF0IHNhbW1lIHR5cGUgKHNhdHQgYXYgZmlsZW5kZWxzZW4pLiBGaWxlbiBkdSB2YWxndGUgcGFzc2VyIGlra2UgbWVkIGRlbiBvcmlnaW5hbGUgZmlsZW4uJzsKJGxhbmdbJ3JlcGxhY2UnXSA9ICdFcnN0YXR0JzsKJGxhbmdbJ2luZm9fcmVwbGFjZWZpbGUnXSA9ICdEdSBrYW4gbGFzdGUgb3BwIGVuIGVyc3RhdG5pbmdzZmlsLCBvbSBmaWxlbiBlciBldCBiaWxkZSwgb2cgZHUgaWtrZSBoYXIgc3Blc2lmaXNlcnQgZXQgZXJzdGF0bmluZ3NtaW5pYXR5cmJpbGRlLCB2aWwgZXQgbnl0dCBtaW5pYXR5cmJpbGRlIGJsaSBnZW5lcmVydCc7CiRsYW5nWydwcm9tcHRfcmVwbGFjZWZpbGUnXSA9ICdMYXN0IG9wcCBlcnN0YXRuaW5nc2ZpbCc7CiRsYW5nWyd0aXRsZV9maXhzcGFjZXMnXSA9ICdGaWtzIG1lbGxvbXJvbSBpIGZpbG5hdm5ldCc7CiRsYW5nWydjYXRlZ29yeV9jb3BpZWQnXSA9ICdLYXRlZ29yaWVuIGJsZSBrb3BpZXJ0JzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZXBhdGgnXSA9ICdWZW5ubGlnc3Qgc3Blc2lmaXNlciBldCBrYXRhbG9nbmF2biBzb20gZXIgZm9yc2tqZWxsaWcgZnJhIGtpbGRlbiwgb2cgc29tIGlra2UgYWxsZXJlZGUgZXIgaSBicnVrJzsKJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdIYW5kbGluZyBhdmJydXR0JzsKJGxhbmdbJ3NvdXJjZSddID0gJ0tpbGRlJzsKJGxhbmdbJ2Rlc3RpbmF0aW9uJ10gPSAnTcOlbCc7CiRsYW5nWydwcm9tcHRfY29weV9maWxlcyddID0gJ0tvcGllciBrYXRlZ29yaWZpbGVyJzsKJGxhbmdbJ2luZm9fY29weV9maWxlcyddID0gJ0tvcGllciBmaWxlbmUgZnJhIGtpbGRla2F0ZWdvcmllbiBvdmVyIHRpbCBtw6Vsa2F0ZWdvcmllbic7CiRsYW5nWydleHRyYSddID0gJ0Vrc3RyYSc7CiRsYW5nWydjb3B5J10gPSAnS29waWVyJzsKJGxhbmdbJ3NlbGVjdG9uZSddID0gJ1ZlbGcgZW4nOwokbGFuZ1snaW1hZ2Vfc2V0dGluZ3MnXSA9ICdCaWxkZWlubnN0aWxsaW5nZXInOwokbGFuZ1sncHJvbXB0X2dldGZpbGVfcmVzdWx0cGFnZSddID0gJ1NpZGUgw6UgYmVueXR0ZSBmb3IgZmVpbG1lbGRpbmdlciBvZyBhbmRyZSBtZWxkaW5nZXIgcmVsYXRlcnQgdGlsIGZpbG5lZGxhc3RpbmcnOwokbGFuZ1snZXJyb3JfaW52YWxpZF9rZXknXSA9ICdPcHBsYXN0aW5nc27DuGtrZWxlbiBzb20gYmxlIG9wcGdpdHQgZXIgdWd5bGRpZyAobXVsaWcgZGVuIGhhciBuw6VkZCBkZW5zIG1ha3NpbWFsZSBuZWRsYXN0aW5nc21lbmdkZSBlbGxlciBoYXIgdXRsw7hwdCknOwokbGFuZ1snZGZsdF90aW1lbGltaXRlZF9zdWJqZWN0J10gPSAneyRzaXRlbmFtZX0gLSBEdSBoYXIgZsOldHQgdGlsZ2FuZyB0aWwgeyRlbnRyeS0+dXBsb2FkX25hbWV8c3RyaXBfdGFnc30gZm9yIGVuIGJlZ3JlbnNldCBwZXJpb2RlJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9zdWJqZWN0J10gPSAnRW1uZSBmb3IgZS1wb3N0IHNvbSBvcHByZXR0ZXMgbsOlciBkZXQgc2VuZGVzIGVuIHRpZHNiZWdyZW5zZXQgVVJMJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9hdXRvZGVsZXRlJ10gPSAnU2xldHQgYXV0b21hdGlzayB1dGzDuHB0ZSBpbm5sZWdnIGV0dGVyIE4gdGltZXIgPGVtPihvcHBnaSAwIGZvciDDpSBzbMOlIGF2IGF1dG9zbGV0dGluZyk8L2VtPjonOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX3NlbmRpdCddID0gJ1NlbmQgZGVubmUgdXJsIHRpbCBkZW4gb3BwZ2l0dGUgZS1wb3N0YWRyZXNzZW4/JzsKJGxhbmdbJ3VybF9rZXknXSA9ICdVUkwtbsO4a2tlbCc7CiRsYW5nWydjcmVhdGVkJ10gPSAnT3BwcmV0dGV0JzsKJGxhbmdbJ2V4cGlyZXMnXSA9ICdVdGzDuHBlcic7CiRsYW5nWydhZGRlZGl0X3RpbWVsaW1pdGVkX2tleSddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgVGlkc2JlZ3JlbnNldCBuw7hra2VsJzsKJGxhbmdbJ3RpbWVfbGltaXRlZF9rZXlfYWRkZWQnXSA9ICdUaWRzYmVncmVuc2V0IG7DuGtrZWwgbGFndCB0aWwnOwokbGFuZ1snbnVtX2hvdXJzJ10gPSAnQW50YWxsIHRpbWVyJzsKJGxhbmdbJ251bV9kb3dubG9hZHMnXSA9ICdBbnRhbGwgbmVkbGFzdGluZ2VyJzsKJGxhbmdbJ2VtYWlsX2FkZHJlc3MnXSA9ICdFLXBvc3RhZHJlc3NlJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfaW52YWxpZCddID0gJ0VuIHDDpWtyZXZkIHZlcmRpIG1hbmdsZXIgZWxsZXIgZXIgdWd5bGRpZzogJXMnOwokbGFuZ1snYWRkX3RpbWVsaW1pdGVkX2tleSddID0gJ0xlZ2cgdGlsIFRpZHNiZWdyZW5zZXQgbsO4a2tlbCc7CiRsYW5nWydmaWxlX2luZm8yJ10gPSAnRmlsICVzIChpZD0lZCknOwokbGFuZ1snaW5mb190aW1lbGltaXRlZF9kb3dubG9hZHMnXSA9ICdTcGVzaWZpc2VyIHN0YW5kYXJkIGFudGFsbCBnYW5nZXIgc29tIGVuIGZpbCBpZGVudGlmaXNlcnQgbWVkIGVuIHNwZXNpZmlrIG7DuGtrZWwga2FuIGxhc3RlcyBuZWQnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2Rvd25sb2FkcyddID0gJ1N0YW5kYXJkIGFudGFsbCBuZWRsYXN0aW5nZXInOwokbGFuZ1snaW5mb190aW1lbGltaXRlZF9ob3VycyddID0gJ1NwZXNpZmlzZXIgc3RhbmRhcmQgYW50YWxsIHRpbWVyIHNvbSBlbiBUaWRzYmVncmVuc2V0IG7DuGtrZWwgZXIgZ3lsZGlnLiBPcHBnaSAwIGZvciB1YmVncmVuc2V0JzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9ob3VycyddID0gJ0FudGFsbCB0aW1lciBzb20gZW4gVGlkc2RiZWdyZW5zZXQgbsO4a2tlbCBlciBneWxkaWcnOwokbGFuZ1sndGltZWxpbWl0ZWRfdXJsX3NldHRpbmdzJ10gPSAnSW5uc3RpbGxpbmdlciBmb3IgVGlkc2JlZ3JlbnNldCBuw7hra2VsJzsKJGxhbmdbJ21hbmFnZV90aW1lbGltaXRlZCddID0gJ0JlaGFuZGxlIFRpZHNiZWdyZW5zZXQgYWRnYW5nJzsKJGxhbmdbJ3VwbG9hZGluZ19zZXR0aW5ncyddID0gJ0ZpbG9wcGxhc3RpbmdzIGlubnN0aWxsaW5nZXInOwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ0dlbmVyZWxsZSBpbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3RodW1ibmFpbF9zZXR0aW5ncyddID0gJ01pbmlhdHlyYmlsZGVnZW5lcmVyaW5nJzsKJGxhbmdbJ3RpdGxlX3JlZGlyZWN0X29uX3NlbmRmaWxlJ10gPSAnU2lkZSBzb20gZW4gc2thbCBzZW5kZXMgdGlsIGV0dGVyIHNlbmRpbmcgYXYgZW4gZmlsJzsKJGxhbmdbJ2xibF9iYWNrJ10gPSAnVGlsYmFrZSc7CiRsYW5nWydsYmxfdGVtcGxhdGVzJ10gPSAnRW5kcmUgbWFsZXInOwokbGFuZ1sncHJvbXB0X3B1YmxpY19maWVsZCddID0gJ0RldHRlIGZlbHRldCBlciBvZmZlbnRsaWcgPGVtPihrYW4gc2VlcyBhdiBuZXR0c3RlZHNiZXPDuGtlcm5lKTwvZW0+JzsKJGxhbmdbJ3VwbG9hZF9lZGl0ZWQnXSA9ICdGaWxkZXRhbGplciByZWRpZ2VydCBww6UgJXMnOwokbGFuZ1snaW5mb190aHVtYm5haWwnXSA9ICdFbiB2YWxnZnJpIG1pbmlhdHlyYmlsZGUgZmlsJzsKJGxhbmdbJ3VwbG9hZF9maWxlJ10gPSAnTGFzdCBvcHAgZW4gbnkgZmlsJzsKJGxhbmdbJ21zZ19maWVsZF9kZWxldGVkJ10gPSAnRmVsdCBzbGV0dGV0JzsKJGxhbmdbJ2Fza19kZWxldGVfZmllbGQnXSA9ICdFciBkdSBzaWtrZXIgcMOlIGF0IGR1IHZpbCBmamVybmUgZGVubmUgZmVsdGRlZmluaXNqb25lbiBvZyBhbGxlIGFzc29zaWVydGUgdmVyZGllcj8nOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1snbm8nXSA9ICdOZWknOwokbGFuZ1sndHlwZSddID0gJ1R5cGUnOwokbGFuZ1snZmllbGR0eXBlX211bHRpc2VsZWN0J10gPSAnRmxlcnZhbGdzbGlzdGUnOwokbGFuZ1snZmllbGR0eXBlX2Ryb3Bkb3duJ10gPSAnTmVkdHJla2tzbGlzdGUnOwokbGFuZ1snZmllbGR0eXBlX2NoZWNrYm94J10gPSAnQXZrcnlzbmluZ3Nib2tzJzsKJGxhbmdbJ2ZpZWxkdHlwZV90ZXh0YXJlYSddID0gJ1Rla3N0b21yw6VkZSc7CiRsYW5nWydmaWVsZHR5cGVfdGV4dGlucHV0J10gPSAnVGVrc3Rpbm5za3JpdmluZyc7CiRsYW5nWydwcm9tcHRfdXNlX3d5c2l3eWcnXSA9ICdCZW55dHQgd3lzaXd5ZyByZWRpZ2VyZXJlbiBuw6VyIGRldHRlIGZlbHRldHMgdmVyZGkgcmVkaWdlcmVzJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X2NvbnRlbnQnXSA9ICdTdGFuZGFyZCBpbm5ob2xkIGZvciBkZXR0ZSB0ZWtzdG9tcsOlZGV0JzsKJGxhbmdbJ3Byb21wdF9kcm9wZG93bl9vcHRpb25zJ10gPSAnVmFsZyAoZW4gdmVyZGkgcGVyIGxpbmplKSc7CiRsYW5nWydwcm9tcHRfZmllbGRfbWF4bGVuZ3RoJ10gPSAnTWFrc2ltdW0gZmVsdGxlbmdkZSc7CiRsYW5nWydwcm9tcHRfZmllbGRfbGVuZ3RoJ10gPSAnRmVsdGxlbmdkZSc7CiRsYW5nWydwcm9tcHRfZmllbGRfdHlwZSddID0gJ0ZlbHR0eXBlJzsKJGxhbmdbJ3Byb21wdF9maWVsZF9uYW1lJ10gPSAnRmVsdG5hdm4nOwokbGFuZ1sndGl0bGVfYWRkX2ZpZWxkJ10gPSAnTGVnZyB0aWwgZWxsZXIgcmVkaWdlciBlbiBmZWx0ZGVmaW5pc2pvbic7CiRsYW5nWydmaWVsZF9kZWZpbml0aW9ucyddID0gJ0ZlbHRkZWZpbmlzam9uZXInOwokbGFuZ1sncHJvbXB0X2FkZF9maWVsZCddID0gJ0xlZ2cgdGlsIGVuIGZlbHRkZWZpbmlzam9uJzsKJGxhbmdbJ3BhcmFtX3NlbmRmaWxlcGFnZSddID0gJ1NwZXNpZmlzZXIgc2lkZSBpZCBlbGxlciBhbGlhcyBmb3Igc2lkZW4gc29tIHNrYWwgYmVueXR0ZXMgZm9yIFNlbmQgZW4gZmlsIHNramVtYWV0JzsKJGxhbmdbJ2ZpbGVfdXBsb2FkZWQnXSA9ICdGaWxlbiBibGUgdmVsbHlra2V0IGxhc3RldCBvcHAnOwokbGFuZ1sndG8nXSA9ICdUaWwnOwokbGFuZ1sndGl0bGVfeW91c2VuZGl0Zm9ybV90ZW1wbGF0ZSddID0gJ0xlZ2cgdGlsIGVsbGVyIHJlZGlnZXIgZW4gIllvdSBTZW5kIEl0IiBza2plbWFtYWwnOwokbGFuZ1sneW91c2VuZGl0Zm9ybV90ZW1wbGF0ZSddID0gJ1lvdVNlbmRJdCBza2plbWFtYWwnOwokbGFuZ1sndGl0bGVfeW91c2VuZGl0Zm9ybV9zeXNkZWZhdWx0J10gPSAnU3lzdGVtc3RhbmRhcmQgInlvdSBzZW5kIGl0IiBtYWwnOwokbGFuZ1snbXNnX2ZpbGVfc2VudCddID0gJ0VuIG1lbGRpbmcgc29tIGlubmVob2xkZXIgaW5mb3JtYXNqb24gb20gZmlsZW4gb2cgaHZvcmRhbiBmw6UgdGFrIGkgZGVuIGhhciBibGl0dCBzZW5kdCB0aWwgZGUgdmFsZ3RlIGFkcmVzc2VuZS4nOwokbGFuZ1snZXJyb3Jfbm9hZGRyZXNzZXMnXSA9ICdEdSBtw6Ugb3BwZ2kgbWluc3QgZW4gbcOlbGFkcmVzc2UnOwokbGFuZ1snZXJyb3Jfbm9zdWJqZWN0J10gPSAnRHUgbcOlIG9wcGdpIGV0IGVtbmUnOwokbGFuZ1snc3ViamVjdCddID0gJ0VtbmUnOwokbGFuZ1sndGl0bGVfc2VuZGZpbGVwYWdlJ10gPSAnU2lkZSBmb3IgXCdTZW5kIGVuIGZpbFwnIHNramVtYSc7CiRsYW5nWydmaWxlX2luZm8nXSA9ICdGaWxpbmZvJzsKJGxhbmdbJ3NlbmQnXSA9ICdTZW5kJzsKJGxhbmdbJ25vdGVzJ10gPSAnTm90YXRlcic7CiRsYW5nWydhZGRyZXNzZXMnXSA9ICdTZW5kIGluZm9ybWFzam9uIG9tIGRlbm5lIGZpbGVuJzsKJGxhbmdbJ3Byb21wdF9zZW5kZmlsZV9lbWFpbF90ZW1wbGF0ZSddID0gJyJTZW5kIGVuIGZpbCIgZS1wb3N0bWFsJzsKJGxhbmdbJ3RpdGxlX3NlbmRmaWxlZm9ybV90ZW1wbGF0ZSddID0gJ0xlZ2cgdGlsIGVsbGVyIHJlZGlnZXIgZW4gIlNlbmQgZW4gZmlsIiBza2plbWFtYWwnOwokbGFuZ1snc2VuZGZpbGVmb3JtX3RlbXBsYXRlJ10gPSAnIlNlbmQgZW4gZmlsIiBza2plbWFtYWxlcic7CiRsYW5nWydwcm9tcHRfbm90aWZ5X2VtYWlsX3RlbXBsYXRlJ10gPSAnRmlsIGxhc3RldCBvcHAgdmFyc2xpbmcgZS1wb3N0bWFsJzsKJGxhbmdbJ3RpdGxlX3NlbmRmaWxlZm9ybV9zeXNkZWZhdWx0J10gPSAnU3lzdGVtc3RhbmRhcmQgIlNlbmQgZW4gZmlsIiBza2plbWFtYWwnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5ZGVsZXRhYmxlJ10gPSAnRmlsZXIgaSBkZW5uZSBrYXRlZ29yaWVuIGbDpXIgc2xldHRlcyc7CiRsYW5nWyd0aXRsZV9hbGxvd19kZWxldGUnXSA9ICdUaWxsYXQgc2xldHRpbmcgYXYgZmlsZXIgZnJhIGZvcnNpZGVuJzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVzJ10gPSAnU3RhbmRhcmQgbWFsZXInOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnRsO4cnN0ZSBzaWRlJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnRm9ycmlnZSBzaWRlJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnTmVzdGUgc2lkZSc7CiRsYW5nWydsYXN0cGFnZSddID0gJ1Npc3RlIHNpZGUnOwokbGFuZ1snZmlyc3RwYWdlX2Fycm93J10gPSAnPDwnOwokbGFuZ1sncHJldnBhZ2VfYXJyb3cnXSA9ICc8JzsKJGxhbmdbJ25leHRwYWdlX2Fycm93J10gPSAnPic7CiRsYW5nWydsYXN0cGFnZV9hcnJvdyddID0gJz4+JzsKJGxhbmdbJ3BhZ2UnXSA9ICdTaWRlJzsKJGxhbmdbJ29mJ10gPSAnYXYnOwokbGFuZ1sncHJvbXB0X2dyb3VwbGlzdCddID0gJ0F1dG9yaXNlcnRlIEZFVSBHcnVwcGVyJzsKJGxhbmdbJ2luZm9fZ3JvdXBsaXN0J10gPSAnVmVsZyBkZSBGRVUgZ3J1cHBlbmUgc29tIGdpcyB0aWxnYW5nIHRpbCBmaWxlciBpIGRlbm5lIGthdGVnb3JpZW4uIFZlbGcgYm9ydCBhbGxlIHZhbGcgZm9yIMOlIGdpIGFsbGUgdGlsZ2FuZyc7CiRsYW5nWyd0aXRsZV9zY2FuJ10gPSAnU2thbm4gZXR0ZXIgbnllIGZpbGVyIGkgZGVubmUga2F0ZWdvcmknOwokbGFuZ1sndGl0bGVfY3JlYXRlX3RodW1ibmFpbHMnXSA9ICdPcHByZXR0IG1hbmdsZW5kZSBtaW5pYXR5cmJpbGRlIGZvciBmaWxlciBpIGRlbm5lIGthdGFnb3JpZW4uJzsKJGxhbmdbJ2NyZWF0ZV90aHVtYm5haWxzJ10gPSAnT3BwcmV0dCBtaW5pYXR5cmJpbGRlcic7CiRsYW5nWyd0aXRsZV9jcmVhdGVfdGh1bWJuYWlsJ10gPSAnKGlnamVuKU9wcHJldHQgbWluaWF0eXJiaWxkZSBmb3IgZGVubmUgZmlsZW4nOwokbGFuZ1snY3JlYXRlX3RodW1ibmFpbCddID0gJ09wcHJldHQgbWluaWF0eXJiaWxkZSc7CiRsYW5nWydlcnJvcl9wYXRoZXJyb3InXSA9ICdLdW5uZSBpa2tlIMOlcG5lIGthdGFsb2dlbiAocmV0dGlnaGV0c3Byb2JsZW0/KSc7CiRsYW5nWyd0aXRsZV9kb3dubG9hZF9jaHVua3NpemUnXSA9ICdTdMO4cnJlbHNlIHDDpSBodmVyIG9wcGxhc3RpbmdzLWJvbGsnOwokbGFuZ1snaW5mb19kb3dubG9hZF9jaHVua3NpemUnXSA9ICfDhSBqdXN0ZXJlIGRlbm5lIHBhcmFtZXRlciB2aWwgdmlya2UgaW5uIHDDpSBuZWRsYXN0aW5nc2hhc3RpZ2hldGVuIG9nIGthbiBoamVscGUgaSBsYXYtbWlubmUgb21naXZlbHNlci4nOwokbGFuZ1snd2FybmluZ19zYWZlX21vZGUnXSA9ICdQSFBcJ3Mgc2FmZSBtb2RlIGVyIHNsw6V0dCBww6UuIERldHRlIGthbiBtZWRmw7hyZSBwcm9ibGVtZXIgbWVkIG9wcGxhc3RpbmcgYXYgZmlsZXIgKHRpbGxhdGVsc2VyKSwgb2cga2FuIG9nc8OlIGlubnZpcmtlIHDDpSBkZW5uZSBtb2R1bGVucyBtdWxpZ2hldCB0aWwgw6Ugc2VuZGUgZmlsZXIgZGEgZGVuIGlra2UgaGFyIG11bGlnaGV0IHRpbCDDpSBvdmVyc2tyaXZlIHZpc3NlIGluaSBpbm5zdGlsbGluZ2VyLiBEdSByw6VkZXMgdGlsIMOlIGtvbnRha3RlIGRpbiB0aWxieWRlciBmb3Igw6Ugc2Ugb20gc2FmZSBtb2RlIGthbiBzbMOlcyBhdi4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ055dHRpZyBmb3IgdmlzbmluZyBhdiBkZXRhbGpyYXBwb3J0IHZlZCDDpSBiZW55dHRlIGVuIGFubmVuIHNpZGVtYWwuIERlbm5lIHBhcmFtZXRlcmVuIHRhciBzaWRlIGlkIGVsbGVyIHNpZGUgYWxpYXMgZm9yIGVuIHNpZGUgc29tIHNrYWwgYmVueXR0ZXMgZm9yIMOlIHZpc2UgZGV0YWxqcmFwcG9ydGVuJzsKJGxhbmdbJ3BhcmFtX3ByZWZpeCddID0gJ0VuIGJvb2xlYW4gc29tIGluZGlrZXJlciBvbSBmaWxuYXZuIHNrYWwgaGEgZmlsZm9yc3RhdmVsc2UgKHByZWZpeCknOwokbGFuZ1sncGFyYW1fcHJlZml4X2ZldSddID0gJ0VuIGJvb2xlYW5zayBwYXJhbWV0ZXIgc29tIGluZGlrZXJlciBhdCBmaWwtZm9yc3RhdmVsc2VuIHNrYWwgb3BwZ2lzIGF2IG7DpXbDpnJlbmRlIG9wcGhhdnNtYW5uLCBvbSBpa2tlIHNwZXNpZmlzZXJ0LCBzw6UgZXIgZmlsLWZvcnN0YXZlbHNlbiBuw6V2w6ZyZW5kZSB0aWQgKGkgZGVjaGV4IGZvcm1hdCknOwokbGFuZ1sncGFyYW1fbm9jYXB0Y2hhJ10gPSAnU2zDpSBhdiBDYXB0Y2hhIHN0w7h0dGUgKGVyIHDDpSBzb20gc3RhbmRhcmQpIGkgb3BwbGFzdGluZyBza2plbWFldCc7CiRsYW5nWyd0aXRsZV91cGxvYWRmb3JtX3RlbXBsYXRlJ10gPSAnUmVkaWdlciBPcHBsYXN0aW5nc2tqZW1hbWFsJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdTa3JpdiBpbm4gdGVrc3RlbiBzb20gdmlzZXMgaSBkZXR0ZSBiaWxkZXQnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGVrc3RlbiBmcmEgYmlsZGV0IGJsZSBpa2tlIHNrcmV2ZXQgcmlrdGlnJzsKJGxhbmdbJ3Byb21wdF91cGxvYWRfaWNvbiddID0gJ0xhc3Qgb3BwIGV0IElrb24nOwokbGFuZ1snaW5mb19zeXNkZWZhdWx0J10gPSAnRGVubmUgdGVrc3RlbiBibGlyIGJydWt0IG7DpXIgZW4gbnkgbWFsIGF2IGRlbm5lIHR5cGUgb3BwcmV0dGVzJzsKJGxhbmdbJ3RpdGxlX2RldGFpbHJwdF9zeXNkZWZhdWx0J10gPSAnU3lzdGVtIHN0YW5kYXJkIERldGFsanJhcHBvcnRtYWwnOwokbGFuZ1sndGl0bGVfc3VtbWFyeXJwdF9zeXNkZWZhdWx0J10gPSAnU3lzdGVtIHN0YW5kYXJkIFNhbW1lbmRyYWdzcmFwcG9ydG1hbCc7CiRsYW5nWyd0aXRsZV91cGxvYWRmb3JtX3N5c2RlZmF1bHQnXSA9ICdTeXN0ZW0gc3RhbmRhcmQgb3BwbGFzdGluZ3NramVtYW1hbCc7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ01hbCc7CiRsYW5nWydyZXNldHRvZGVmYXVsdCddID0gJ1NldHQgdGlsIFN0YW5kYXJkJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlycHRfdGVtcGxhdGUnXSA9ICdTYW1tZW5kcmFnIFJhcHBvcnQgbWFsJzsKJGxhbmdbJ3RpdGxlX2RldGFpbHJwdF90ZW1wbGF0ZSddID0gJ0RldGFsaiBSYXBwb3J0IG1hbCc7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05hdm4nOwokbGFuZ1snbGVnZW5kX3VwbG9hZGZvcm0nXSA9ICdMYXN0IG9wcCBlbiBmaWwnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnRW4gbsO4ZHZlbmRpZyBwYXJhbWV0ZXIgbWFuZ2xlcic7CiRsYW5nWydlcnJvcl9taXNzaW5nbmFtZSddID0gJ0V0IG5hdm4gcMOlIGZpbHR5cGVuIG3DpSBzcGVzaWZpc2VyZXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ2V4dGVuc2lvbnMnXSA9ICdNaW5zdCBlbiBmaWxlbmRlbHNlIG3DpSBzcGVzaWZpc2VyZXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ2ljb24nXSA9ICdFdCBpa29uIG3DpSBzcGVzaWZpc2VyZXMnOwokbGFuZ1snZXJyb3Jfbm9zdWNocm93J10gPSAnRGVuIHNwZXNpZmlzZXJ0ZSByYWRlbiBibGUgaWtrZSBmdW5uZXQnOwokbGFuZ1snbmFtZV91bmtub3duJ10gPSAnVWtqZW50JzsKJGxhbmdbJ2Rlc2NyaXB0aW9uX3Vua25vd24nXSA9ICdCZXNrcml2ZWxzZSBmb3IgdWtqZW50ZSBmaWx0eXBlcic7CiRsYW5nWydpbWFnZSddID0gJ0JpbGRlJzsKJGxhbmdbJ2ljb24nXSA9ICdJa29uJzsKJGxhbmdbJ2V4dGVuc2lvbnMnXSA9ICdGaWxlbmRlbHNlcic7CiRsYW5nWydhZGRmaWxldHlwZSddID0gJ0xlZ2cgdGlsIG55IGZpbHR5cGUnOwokbGFuZ1snZmlsZV90eXBlcyddID0gJ0ZpbHR5cGVyJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcnlpZCddID0gJ0luZ2VuIGthdGVnb3JpIGlkIGJsZSBvcHBnaXR0JzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcnknXSA9ICdJbmdlbiBrYXRlZ29yaSBpZCBibGUgb3BwZ2l0dCc7CiRsYW5nWydlcnJvcl90ZW1wbGF0ZW5hbWVleGlzdHMnXSA9ICdFbiBtYWwgbWVkIGRldCBuYXZuZXQgZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGVuYW1lJ10gPSAnTWFsbmF2bic7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdNYWwnOwokbGFuZ1sncHJvbXB0X25ld3RlbXBsYXRlJ10gPSAnTGFnIGVuIG55IG1hbCc7CiRsYW5nWydoZWxwX09uRG93bmxvYWQnXSA9ICc8cD5FbiBoZW5kZWxzZSBnZW5lcmVydCBuw6VyIGVuIGJydWtlciBhdnNsdXR0ZXIgbmVkbGFzdGluZyBhdiBlbiBmaWw8L3A+DQo8aDQ+UGFyYW1ldGVyZTwvaDQ+DQo8dWw+DQo8bGk+PGVtPmlkPC9lbT4gLSBMYXN0LW9wcCBJRDwvbGk+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIEZpbG5hdm48L2xpPg0KPGxpPjxlbT5pcDwvZW0+IC0gSVAgQWRyZXNzZW4gdGlsIGRlbiBzb20gbGFzdGV0IG5lZDwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwX09uRGVsZXRlQ2F0ZWdvcnknXSA9ICc8cD5FbiBoZW5kZWxzZSBnZW5lcmVydCBuw6VyIGVuIGthdGVnb3JpIGVyIHNsZXR0ZXQ8L3A+DQo8aDQ+UGFyYW1ldGVyZTwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIEthdGVnb3JpIG5hdm48L2xpPg0KPGxpPjxlbT5wYXRoPC9lbT4gLSBLYXRlZ29yaSBzdGk8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9PbkNyZWF0ZUNhdGVnb3J5J10gPSAnPHA+RW4gaGVuZGVsc2UgZ2VuZXJlcnQgbsOlciBlbiBrYXRlZ29yaSBlciBvcHByZXR0ZXQ8L3A+DQo8aDQ+UGFyYW1ldGVyZTwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIE5hdm5ldCBww6Uga2F0ZWdvcmllbjwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBLYXRlZ29yaSBiZXNrcml2ZWxzZW48L2xpPg0KPGxpPjxlbT5wYXRoPC9lbT4gLSBLYXRlZ29yaSBzdGllbjwvbGk+DQo8bGk+PGVtPmxpc3RhYmxlPC9lbT4gLSBFdCBmbGFnZyBzb20gaW5kaWtlcmVyIG9tIGthdGVnb3JpZW4gZXIgdXRsaXN0YmFyPC9saT4NCjxsaT48ZW0+ZGVsZXRhYmxlPC9lbT4gLSBFdCBmbGFnZyBzb20gaW5kaWtlcmVyIG9tIGZpbGVyIGkga2F0ZWdvcmllbiBlciBsb3Ygw6Ugc2xldHRlPC9saT4NCg0KPC91bD4nOwokbGFuZ1snaGVscF9PblJlbW92ZSddID0gJzxwPkVuIGhlbmRlbHNlIGdlbmVyZXJ0IG7DpXIgZW4gZmlsIGVyIGZqZXJuZXQgdmlhIEFkbWluIGVsbGVyIEZyb250ZW5kIGdyZW5zZXNuaXR0ZW5lPC9wPg0KPGg0PlBhcmFtZXRlcmU8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBOYXZuZXQgcMOlIGRlbiBmamVybmVkZSBmaWxhPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIElEXCdlbiBww6UgZGVuIGZqZXJuZWRlIGZpbGE8L2xpPg0KPGxpPjxlbT5jYXRlZ29yaV9pZDwvZW0+IC0gSURcJ2VuIHDDpSBrYXRlZ29yaWVuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfT25VcGxvYWQnXSA9ICc8cD5FbiBoZW5kZWxzZSBnZW5lcmVydCBuw6VyIGVuIG55IGZpbCBlciBsYXN0ZXQgb3BwIHZpYSBhZG1pbiBlbGxlciBmcm9udGVuZCBncmVuc2Vzbml0dGV0PC9wPg0KPGg0PlBhcmFtZXRlcmU8L2g0Pg0KPHVsPg0KPGxpPjxlbT5jYXRlZ29yeTwvZW0+IC0gS2F0ZWdvcmkgbmF2bmV0PC9saT4NCjxsaT48ZW0+Y2F0ZWdvcnlwYXRoPC9lbT4gLSBLYXRlZ29yaSBzdGllbjwvbGk+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIE5hdm5ldCBww6UgZGVuIG9wcGxhc3RlZGUgZmlsYTwvbGk+DQo8bGk+PGVtPnNpemU8L2VtPiAtIFN0w7hycmVsc2VuIHDDpSBkZW4gb3BwbGFzdGVkZSBmaWxhPC9saT4NCjxsaT48ZW0+c3VtbWFyeTwvZW0+IC0gRGVuIGtvcnRlIGJlc2tyaXZlbHNlbiBmb3IgZGVuIG9wcGxhc3RlZGUgZmlsYSAoa2FuIHbDpnJlIGJsYW5rKTwvZW0+PC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIERlbiBmdWxsZSBiZXNrcml2ZWxzZW4gZm9yIGRlbiBvcHBsYXN0ZWRlIGZpbGEgKGthbiB2w6ZyZSBibGFuayk8L2VtPjwvbGk+DQo8bGk+PGVtPmF1dGhvcjwvZW0+IC0gT3BwaGF2c21hbm5lbiBmb3IgZGVuIG9wcGxhc3RlZGUgZmlsYSAoaWYgYXZhaWxhYmxlKTwvZW0+PC9saT4NCjxsaT48ZW0+aXBfYWRkcmVzczwvZW0+IC0gSW50ZXJuZXR0IGFkcmVzc2VuIGZvciBrbGllbnRlbiBzb20gbGFzdGV0IG9wcCBmaWxhPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2luZm9fZXZlbnRfb25kZWxldGVjYXRlZ29yeSddID0gJ0hlbmRlbHNlIGdlbmVyZXJ0IG7DpXIgZW4ga2F0ZWdvcmkgZXIgc2xldHRldCc7CiRsYW5nWydpbmZvX2V2ZW50X29uY3JlYXRlY2F0ZWdvcnknXSA9ICdIZW5kZWxzZSBnZW5lcmVydCBuw6VyIGVuIGthdGVnb3JpIGVyIGxhZ2V0JzsKJGxhbmdbJ2luZm9fZXZlbnRfb25kb3dubG9hZCddID0gJ0hlbmRlbHNlIGdlbmVyZXJ0IG7DpXIgZW4gZmlsIGVyIGxhc3RldCBuZWQnOwokbGFuZ1snaW5mb19ldmVudF9vbnVwbG9hZCddID0gJ0hlbmRlbHNlIGdlbmVyZXJ0IG7DpXIgZW4gbnkgZmlsIGVyIGxhc3RldCBvcHAnOwokbGFuZ1snaW5mb19ldmVudF9vbnJlbW92ZSddID0gJ0hlbmRlbHNlIGdlbmVyZXJ0IG7DpXIgZW4gZmlsIGVyIGZqZXJuZXQnOwokbGFuZ1sndGl0bGVfdXNlcnRhZ19vbnVwbG9hZCddID0gJ0JydWtlciBkZWZpbmVydCB0YWdnIMOlIGtqw7hyZSBldHRlciBvcHBsYXN0aW5nIGVyIGZlcmRpZyc7CiRsYW5nWydub25lJ10gPSAnSW5nZW4nOwokbGFuZ1snbWF0Y2hlc2ZvdW5kJ10gPSAnVHJlZmYgZnVubmV0JzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd0aXRsZV9yZWRpcmVjdG9udXBsb2FkJ10gPSAnVmlkZXJlc2VuZCB0aWwgc2lkZSBpZC9hbGlhcyB2ZWQgYnJ1a2VycyBvcHBsYXN0aW5nJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXRhbGplcic7CiRsYW5nWydjb25maXJtX3ByZWZlcmVuY2VzJ10gPSAnRXIgZHUgc2lra2VyIHDDpSBkdSB2aWwgZW5kcmUgaW5uc3RpbGxpbmdlbmUnOwokbGFuZ1snZXJyb3Jfbm9maWxlc3VwbG9hZGVkJ10gPSAnSW5nZW4gZmlsZXIgYmxlIGxhc3RldCBvcHAuJzsKJGxhbmdbJ3Byb21wdF9yZXBsYWNlJ10gPSAnVGlsbGF0IG92ZXJza3JpdmluZyc7CiRsYW5nWydpbmZvX3JlcGxhY2UnXSA9ICdFcnN0YXR0IGVuaHZlciBmaWwgbWVkIHNhbW1lIG5hdm4gKGVuZHJlciBpa2tlIGlkXCdlbiknOwokbGFuZ1sncGFyYW1fbm9faW5pdGlhbCddID0gJ0lra2UgdmlzIG5vZW4gaW5ubGVkZW5kZSByZXN1bHRhdGVyIG7DpXIgZmlsdGVyZXQgZXIgcMOlJzsKJGxhbmdbJ3BhcmFtX2tleSddID0gJ1RpbGbDuHkgZW4gZWtzdHJhIG7DuGtrZWwgdGlsIG1vZHVsZW4gZm9yIGVuZGEgYmVkcmUgb3JnYW5pc2VyaW5nIGF2IG9wcGxhc3Rpbmdlci4gRGVubmUgbsO4a2tlbCBrYW4gdsOmcmUgZW4ga29kZXQgc3RyZW5nIHNvbTogXCdmZXVzZXJzOnVpZFwnLCBvc3YuIERlbm5lIHBhcmFtZXRlciBlciB2YW5saWd2aXMga3VuIG7DuGR2ZW5kaWcgbsOlciBkdSBpbm5lc2x1dHRlciB1cGxvYWRzIG1vZHVsZW4gaSBlbiBhbm5lbiBtb2R1bCc7CiRsYW5nWydwYXJhbV91cGxvYWRfaWQnXSA9ICd1cGxvYWRfaWQ9ImlkIiAtIHNwZXNpZmlzZXJlciBlbiBlbmtlbHQgZmlsIGZvciB1cmxcJ2VuL2xpbmtlbiBlbGxlciBlbmtlbC1tb2R1cyAob3ZlcmZvciknOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdCcnVrIGVuIG1hbCBtZWQgZGV0dGUgbmF2bmV0IGZvciBkZW4gZGV0YWxqZXJ0ZSByYXBwb3J0ZW4uJzsKJGxhbmdbJ3BhcmFtX3RlbXBsYXRlJ10gPSAnQnJ1ayBlbiBtYWwgbWVkIGRldHRlIG5hdm4gZm9yIGRlbm5lIHJhcHBvcnQgZWxsZXIgc2tqZW1hLiBNb2R1c2VuIGVyIGJydWt0IGZvciDDpSBhdmdqw7hyZSBodmEgc2xhZ3MgbWFsIHNvbSBlciBrcmV2ZCwgb2cgc8OlIHV0ZsO4cmVzIGVuIGtvYmxpbmcvc2pla2sgYXYgbmF2bmV0IG1vdCBkZW5uZSB0eXBlIG1hbC4nOwokbGFuZ1sncGFyYW1fZmllbGRuYW1lJ10gPSAnR2plbGRlciBrdW4gZm9yIHNhbW1lbmRyYWdzdmlzbmluZywga2FuIGRlbm5lIHBhcmFtZXRlcmVuIGJydWtlcyB0aWwgw6Ugc3Blc2lmaXNlcmUgbmF2bmV0IHDDpSBldCBmZWx0IGZvciDDpSBmaWx0cmVyZSByZXN1bHRhdGVuZSBldHRlci4gTcOlIGJydWtlcyBzYW1tZW4gbWVkIGZlbHR2YWwgcGFyYW1ldGVyZW4uJzsKJGxhbmdbJ3BhcmFtX2ZpZWxkdmFsJ10gPSAnR2plbGRlciBrdW4gZm9yIHNhbW1lbmRyYWdzdmlzbmluZywga2FuIGRlbm5lIHBhcmFtZXRlcmVuIGJydWtlcyBzYW1tZW4gbWVkIGZlbHRuYXZuc3BhcmFtZXRlcmVuIGZvciDDpSBhbmdpIHZlcmRpZW4gYXYgZXQgZmVsdCBmb3Igw6UgZmlsdHJlcmUgcmVzdWx0YXRlbmUgZXR0ZXIuIEVuIGRlbHN0cmVuZyBicnVrZXMuJzsKJGxhbmdbJ3BhcmFtX2ZpZWxkbmFtZTInXSA9ICdHamVsZGVyIGt1biBmb3Igc2FtbWVuZHJhZ3N2aXNuaW5nLCBrYW4gZGVubmUgcGFyYW1ldGVyZW4gYnJ1a2VzIHRpbCDDpSBzcGVzaWZpc2VyZSBuYXZuZXQgcMOlIGV0IGZlbHQgZm9yIMOlIGZpbHRyZXJlIHJlc3VsdGF0ZW5lIGV0dGVyLiBNw6UgYnJ1a2VzIHNhbW1lbiBtZWQgZmVsdHZhbDItcGFyYW1ldGVyZW4uIE7DpXIgZmVsdG5hdm4yLCBmZWx0dmFsMiwgZmVsdG5hdm4gb2cgZmVsdHZhbCBwYXJhbWV0cmUgYnJ1a2VzLCBtw6UgaHZlciBmaWwgc2Ftc3ZhcmVyIG1lZCBiZWdnZSBmb3Job2xkZW5lLic7CiRsYW5nWydwYXJhbV9maWVsZHZhbDInXSA9ICdHamVsZGVyIGt1biBmb3Igc2FtbWVuZHJhZ3N2aXNuaW5nLCBrYW4gZGVubmUgcGFyYW1ldGVyZW4gYnJ1a2VzIGkgZm9yYmluZGVsc2UgbWVkIHBhcmFtZXRlcmVuIGZpZWxkbmFtZTIgZm9yIMOlIGFuZ2kgdmVyZGllbiBhdiBldCBmZWx0IGZvciDDpSBmaWx0cmVyZSByZXN1bHRhdGVuZSBtZWQuIE7DpXIgZmVsdG5hdm4yLCBmZWx0dmFsMiwgZmVsdG5hdm4gb2cgZmVsdHZhbCBwYXJhbWV0cmUgYnJ1a2VzLCBtw6UgaHZlciBmaWwgc2Ftc3ZhcmVyIG1lZCBiZWdnZSBmb3Job2xkZW5lLiBFbiBzdWJzdHJlbmdza2FtcCBicnVrZXMnOwokbGFuZ1sncGFyYW1fbm9faW50aXRpYWwnXSA9ICdLdW4gYnJ1a2VsaWcgbsOlciBmaWx0ZXIgcGFyYW1ldGVyIGVyIGdpdHQsIGVsbGVyIHDDpSBzb20gc3RhbmRhcmQsIGRlbm5lIHBhcmFtZXRlciBpbmRpa2VyZXIgb20gaW5ubGVkZW5kZSByZXN1bHRhdGVyIHNrYWwgdmlzZXMnOwokbGFuZ1sncGFyYW1fZmlsZXR5cGVzJ10gPSAnVmlzIGt1biBmaWxlciBzb20gc2Ftc3ZhcmVyIG1lZCBkZW5uZSBrb21tYXNlcGFyZXJ0ZSBsaXN0ZW4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnPHA+U29ydGVyaW5nc3Jla2tlZsO4bGdlcg0KICA8dWw+DQogIDxsaT48ZW0+ZGF0ZV9hc2M8L2VtPiAtIFNvcnRlciBkYXRvIHN0aWdlbmRlPC9saT4NCiAgPGxpPjxlbT5kYXRlX2Rlc2M8L2VtPiAtIFNvcnRlciBkYXRvIHN5bmtlbmRlPC9saT4NCiAgPGxpPjxlbT5uYW1lX2FzYzwvZW0+IC0gU29ydGVyIG5hdm4gc3RpZ2VuZGU8L2xpPg0KICA8bGk+PGVtPm5hbWVfZGVzYzwvZW0+IC0gU29ydGVyIG5hdm4gc3lua2VuZGU8L2xpPg0KICA8bGk+PGVtPnN1bW1fYXNjPC9lbT4gLSBTb3J0ZXIgc3VtbWFyeSBzdGlnZW5kZTwvbGk+DQogIDxsaT48ZW0+c3VtbV9kZXNjPC9lbT4gLSBTb3J0ZXIgc3VtbWFyeSBzeW5rZW5kZTwvbGk+DQogIDxsaT48ZW0+c2l6ZV9hc2M8L2VtPiAtIFNvcnRlciBzdMO4cnJlbHNlIHN0aWdlbmRlPC9saT4NCiAgPGxpPjxlbT5zaXplX2Rlc2M8L2VtPiAtIFNvcnRlciBzdMO4cnJlbHNlIHN5bmtlbmRlPC9saT4NCiAgPGxpPjxlbT5hdXRob3JfYXNjPC9lbT4gLSBTb3J0ZXIgb3BwaGF2c21hbm4vYXV0aG9yIHN0aWdlbmRlPC9saT4NCiAgPGxpPjxlbT5hdXRob3JfZGVzYzwvZW0+IC0gU29ydGVyIG9wcGhhdnNtYW5uL2F1dGhvciBzeW5rZW5kZTwvbGk+DQogIDxsaT48ZW0+aXBfYXNjPC9lbT4gLSBTb3J0ZXIgaXAtYWRyZXNzZSBzdGlnZW5kZTwvbGk+DQogIDxsaT48ZW0+aXBfZGVzYzwvZW0+IC0gU29ydGVyIGlwLWFkcmVzc2Ugc3lua2VuZGU8L2xpPg0KICA8bGk+PGVtPmRlc2NfYXNjPC9lbT4gLSBTb3J0ZXIgYmVza3JpdmVsc2Ugc3RpZ2VuZGU8L2xpPg0KICA8bGk+PGVtPmRlc2NfZGVzYzwvZW0+IC0gU29ydGVyIGJlc2tyaXZlbHNlIHN5bmtlbmRlPC9saT4NCiAgPGxpPjxlbT5kb3dubG9hZHNfYXNjPC9lbT4gLSBTb3J0ZXIgYW50YWxsIG5lZGxhc3RpbmdlciBzdGlnbmVkZSByZWtrZWbDuGxnZS48L2xpPg0KICA8bGk+PGVtPmRvd25sb2Fkc19kZXNjPC9lbT4gLSBTb3J0ZXIgYW50YWxsIG5lZGxhc3RpbmdlciBpIHN5bmtlbmRlIHJla2tlZsO4bGdlLg0KPC9saT4NCiAgPGxpPjxlbT5yYW5kb208L2VtPiAtIFRpbGZlbGRpZyBzb3J0ZXJpbmdzcmVra2Vmw7hsZ2U8L2xpPg0KICA8bGk+IDxlbT5mZWx0OltkZXNjOl1uYXZuPC9lbT4gLSBTb3J0ZXIgZXR0ZXIgdmVyZGllbiB0aWwgZXQgdGlscGFzc2V0IGZlbHQuIFNwZXNpZmlzZXIgbmF2bmV0IHDDpSBkZXQgdGlscGFzc2VkZSBmZWx0ZXQsIG9nIGFuZ2kgZXZlbnR1ZWx0IMOlIHNvcnRlcmUgaSBzeW5rZW5kZSByZWtrZWbDuGxnZS4gZi5la3MuOiBzb3J0b3JkZXI9ZmVsdDpkZXNjOmFsZGVyIGVsbGVyIHNvcnRlcnRvcmRlcj1mZWx0OmFsZGVyLiBEZW5uZSBzb3J0ZXJpbmdzbWV0b2RlbiBmdW5nZXJlciBiYXJlIGkgb3ZlcnNpa3RzdmlzbmluZ2VuLiA8L2xpPg0KICA8L3VsPg0KICA8L3A+JzsKJGxhbmdbJ3BhcmFtX2xpc3Rpbmd0ZW1wbGF0ZSddID0gJ01hbCDDpSBiZW55dHRlIGZvciBrYXRlZ29yaWxpc3RpbmcgZXR0ZXIgbWFuIGhhciBrbGlra2V0IHNlZyBpbm4gZnJhIGVuIEthdGVnb3JpIHNhbW1lbmRyYWdzaWRlJzsKJGxhbmdbJ3BhcmFtX2xpc3Rpbmdzb3J0b3JkZXInXSA9ICdTb3J0ZXJpbmdzcmVra2Vmw7hsZ2UgKHNvbSBwYXJhbV9zb3J0b3JkZXIpIMOlIGJlbnl0dGUgZm9yIGthdGVnb3JpbGlzdGVyIGV0dGVyIGVuIGhhciBrbGlra2V0IHNlZyBpbm4gZnJhIGVuIEthdGVnb3JpIHNhbW1lbmRyYWdzbGlzdGUnOwokbGFuZ1sncGFyYW1fZmlsZWV4dGVuc2lvbnMnXSA9ICdmaWxlX2V4dGVuc2lvbnM9ImV4dDEsZXh0MixleHQzIg0KPHA+Z3lsZGlnIGt1biBvbSBtb2RlPXVwbG9hZCwgZGVubmUgcGFyYW1ldGVyZW4gYmVncmVuc2VyIGZpbHR5cGVuZSBzb20ga2FuIGxhc3RlcyBvcHAuICBPdmVyc3R5cmVyIGVuaHZlciB2ZXJkaSBpIG1vZHVsIGlubnN0aWxsaW5nZW5lLjwvcD4nOwokbGFuZ1sncGFyYW1fY291bnQnXSA9ICdjb3VudD0iTiIgPHA+RW4gcGFyYW1ldGVyIGZvciDDpSBiZWdyZW5zZSB0aWwgWCBhbnRhbGwgcG9zdGVyIHByLnNpZGUuPC9wPic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ2NhdGVnb3J5PSJuYW1lIg0KPHA+PGI+Tm90YXQ6PC9iPiBLYXRlZ29yaSBrYW4gdsOmcmUgImFsbCIsIHNvbSB2aWwgbGlzdGUgdXQgYWxsZSBvcHBsYXN0aW5nZXIgZnJhIGFsbGUgPGVtPnV0bGlzdGJhcmU8L2VtPiBrYXRlZ29yaWVyPC9wPic7CiRsYW5nWydyZXR1cm50b21vZHVsZSddID0gJ1RpbGJha2UgdGlsIE1vZHVsIHBhbmVsZXQnOwokbGFuZ1snZXJyb3Jfbm9jYXRlZ29yaWVzJ10gPSAnRGV0IGVyIGluZ2VuIGRlZmluZXJ0ZSBrYXRlZ29yaWVyJzsKJGxhbmdbJ3RpdGxlX2VuZm9yY2VleHRlbnNpb25zJ10gPSAnS3JldmVyIGZpbC1lbmRlbHNlIHDDpSBhbGxlIG9wcGxhc3RlZGUgZmlsZXInOwokbGFuZ1sncmVzdG9yZWRlZmF1bHRzY29uZmlybSddID0gJ0Rlbm5lIGhhbmRsaW5nIHZpbCB0aWxiYWtlc3RpbGxlIG1hbGVuIHRpbCBzeXN0ZW1zdGFuZGFyZC4gRW5odmVyIGVuZHJpbmcgZHUgaGFyIGdqb3J0IHZpbCBibGkgYm9ydGUuIEVyIGR1IHNpa2tlciBww6UgYXQgZHUgdmlsIGZvcnRzZXR0ZT8nOwokbGFuZ1sndGh1bWJuYWlsJ10gPSAnTWluaWF0eXJiaWxkZSc7CiRsYW5nWyduZXd0aHVtYm5haWwnXSA9ICdMYXN0IG9wcCBueXR0IG1pbmlhdHlyYmlsZGUnOwokbGFuZ1snaW5mb19zdW1tYXJ5J10gPSAnRW4ga29ydCBiZXNrcml2ZWxzZSBhdiBmaWxlbiAob20gYmxhbmssIGJsaXIgZmlsbmF2bmV0IGJydWt0IHV0ZW4gZmlsLWVuZGVsc2UpJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnluYW1lJ10gPSAnRXQga29ydCBuYXZuIHDDpSBkaW4ga2F0ZWdvcmkgKGt1biBlbmdlbHNrZSBib2tzdGF2ZXIpJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlkZXNjJ10gPSAnRW4gYmVza3JpdmVsc2UgYXYgZGluIGthdGVnb3JpJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlwYXRoJ10gPSAnS2F0YWxvZ25hdm5ldCBpbm5lIGkgVXBsb2Fkcy1rYXRhbG9nZW4gc29tIHZpbCBibGkgYnJ1a3QgZm9yIMOlIGxhZ3JlIGZpbGVyIGkgZGVubmUga2F0ZWdvcmkuIE9tIGthdGFsb2dlbiBtZWQgZGV0dGUgbmF2bmV0IGlra2UgZWtzaXN0ZXJlciwgdmlsIGRlbiBibGkgb3BwcmV0dGV0Lg0KPGJyLz5IdXNrOiBLYXRhbG9nbmF2biBzb20gYmVneW5uZXIgbWVkIF8gYmxpciBpZ25vcmVydCBhdiBmaWxiZWhhbmRsZXJlbi4nOwokbGFuZ1snaW5mb19kZXN0bmFtZSddID0gJ0JydWsgXCdMYXN0IG9wcCBzb21cJyBmZWx0ZXQgZm9yIMOlIGVuZHJlIG5hdm5ldCBww6UgZmlsYSB2ZWQgb3BwbGFzdGluZy4gIExhIHbDpnJlIGJsYW5rdCBmb3Igw6UgYmVob2xkZSBuYXZuZXQgc29tIGRldCBlci4nOwokbGFuZ1snZXJyb3JfY2FudGNyZWF0ZWRpcmVjdG9yeSddID0gJ0t1bm5lIGlra2Ugb3BwcmV0dGUga2F0YWxvZyc7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ0NNU01haWxlciBtb2R1bGVuIGt1bm5lIGlra2Ugc3RhcnRlcyc7CiRsYW5nWyd1cGxvYWRfbm90aWZpY2F0aW9uJ10gPSAnRW4gbnkgZmlsIGhhciBibGl0dCBsYXN0ZXQgb3BwJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX29uX3VwbG9hZCddID0gJ1NlbmQgb3BwbGFzdGluZ3MtbWVsZGluZyB0aWw6JzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlJ10gPSAnRXBvc3QgbWFsJzsKJGxhbmdbJ3RpdGxlX2R1bW15X2luZGV4X2h0bWwnXSA9ICdPcHByZXR0IGR1bW15IGluZGV4Lmh0bWwgZmlsZXIgaSBodmVyIGthdGFsb2c/PGJyLz48ZW0+SW5nZW4gZWtzaXN0ZXJlbmRlIGluZGV4Lmh0bWwgZmlsZXIgdmlsIGJsaSBpZ2plbjwvZW0+JzsKJGxhbmdbJ2Fib3V0J10gPSAnT20nOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbmRlbmllZCddID0gJ0FkZ2FuZyBuZWt0ZXQuIFZlbm5saWdzdCBzamVrayBkaW5lIHJldHRpZ2hldGVyLic7CiRsYW5nWydlcnJvcl9jb3VsZG5vdHdyaXRlJ10gPSAnS3VubmUgaWtrZSBza3JpdmUnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdMZWdnIHRpbCBrYXRlZ29yaSc7CiRsYW5nWydhbGwnXSA9ICdBbHQnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0VyIGR1IHNpa2tlcj8nOwokbGFuZ1snYXV0aG9yJ10gPSAnT3BwaGF2c21hbm4nOwokbGFuZ1snY2FuY2VsJ10gPSAnQXZicnl0JzsKJGxhbmdbJ2Nhbm5vdG1vZGlmeXBhdGgnXSA9ICcoU3RpZW4ga2FuIGlra2UgZW5kcmVzKSc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvcmllcic7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpJzsKJGxhbmdbJ21lc3NhZ2VfY2F0ZWdvcnlhZGRlZCddID0gJ0thdGVnb3JpIG9wcHJldHRldCc7CiRsYW5nWydkYXRlJ10gPSAnRGF0byc7CiRsYW5nWydkYXRldXBsb2FkZWQnXSA9ICdEYXRvIGxhc3RldCBvcHAnOwokbGFuZ1snZGVmYXVsdCddID0gJ1N0YW5kYXJkJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1NsZXR0JzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVza3JpdmVsc2UnOwokbGFuZ1snZGVzdG5hbWUnXSA9ICdMYXN0IG9wcCBzb20nOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlJ10gPSAnRGV0YWxqIG1hbCc7CiRsYW5nWydkb3dubG9hZGVkJ10gPSAnRmlsICVzIGJsZSBsYXN0ZXQgbmVkLic7CiRsYW5nWydkb3dubG9hZHMnXSA9ICdOZWRsYXN0aW5nZXInOwokbGFuZ1snZWRpdCddID0gJ1JlZGlnZXInOwokbGFuZ1snZWRpdGNhdGVnb3J5J10gPSAnUmVkaWdlciBrYXRlZ29yaSc7CiRsYW5nWydlZGl0dXBsb2FkJ10gPSAnUmVkaWdlciBvcHBsYXN0aW5nJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRmVpbCEnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlMiddID0gJ2VuIGthdGVnb3JpIHNvbSBiZW55dHRlciBzdGllbiAoJXMpIGVrc2lzdGVyZXIgYWxsZXJlZGUnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlJ10gPSAnRW4ga2F0ZWdvcmkgc29tIGJydWtlciBkZW4gc3RpZW4gZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeWV4aXN0czInXSA9ICdGZWlsOiBFbiBrYXRlZ29yaSBtZWQgbmF2biAlcyBla3Npc3RlcmVyIGFsbGVyZWRlJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5ZXhpc3RzJ10gPSAnRmVpbDogS2F0ZWdvcmkgZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeW5vdGVtcHR5J10gPSAnRmVpbCEgS2FuIGlra2Ugc2xldHRlIGthdGVnb3JpIGRhIGRlbiBpa2tlIGVyIHRvbSc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeW5vdGZvdW5kJ10gPSAnRmVpbDogS2F0ZWdvcmkgaWtrZSBmdW5uZXQhJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdGZWlsOiBEYXRhYmFzZSBmZWlsISc7CiRsYW5nWydlcnJvcl9lbXB0eWNhdGVnb3J5J10gPSAnRmVpbDogVG9tIGthdGVnb3JpISc7CiRsYW5nWydlcnJvcl9lbXB0eXBhdGgnXSA9ICdGZWlsOiBCbGFuayBzdGkhJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkbm90Zm91bmQnXSA9ICdGZWx0ZXQgaWtrZSBmdW5uZXQnOwokbGFuZ1snZXJyb3JfZmlsZWV4aXN0cyddID0gJ0ZlaWwhIEZpbCAlcyBla3Npc3RlcmVyIGFsbGVyZWRlLic7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdGZWlsISBGaWwgJXMgYmxlIGlra2UgZnVubmV0Lic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdGZWlsOiBNYW5nZWxmdWxsZSBwYXJhbWV0cmUgZ2l0dCB0aWwgbW9kdWxlbiE8YnIvPkRlbiBtYW5nbGVuZGUgcGFyYW1ldGVyIGVyOiAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkYXV0aG9yJ10gPSAnRmVpbDogVWd5bGRpZyAoZWxsZXIgYmxhbmspIG9wcGhhdnNtYW5uLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkY2F0ZWdvcnknXSA9ICdGZWlsOiBVZ3lsZGlnIChlbGxlciBibGFuaykga2F0ZWdvcmkuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRkZXNjcmlwdGlvbiddID0gJ0ZlaWw6IFVneWxkaWcgKGVsbGVyIGJsYW5rKSBiZXNrcml2ZWxzZS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGZpbGUnXSA9ICdGZWlsOiBVZ3lsZGlnIChlbGxlciBibGFuaykgZmlsbmF2bi4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVwbG9hZGZpbGVuYW1lJ10gPSAnRmVpbDogRmlsZXIgbWVkIGRldHRlIG5hdm5ldCAoc2Fuc3lubGlnIGZpbC1lbmRlbHNlbikgZXIgaWtrZSB0aWxsbGF0dCAoJXMpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkaWQnXSA9ICdGZWlsOiBVZ3lsZGlnIG9wcGxhc3RpbmdzSUQnOwokbGFuZ1snZXJyb3Jfbm9maWxlcyddID0gJ0ZlaWw6IEluZ2VuIHBhc3NlbmRlIGZpbGVyISc7CiRsYW5nWydmaWxlcyddID0gJ0ZpbGVyJzsKJGxhbmdbJ2ZpeG1lJ10gPSAnRmlrcyBtZWxsb21yb20nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnRnJvbnRFbmQgT3BwbGFzdGluZ2VyJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyc2pvbiAlcyBpbnN0YWxsZXJ0Lic7CiRsYW5nWydpcF9hZGRyZXNzJ10gPSAnSVAtYWRyZXNzZSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VuIG1vZHVsIHNvbSB0aWxsYXRlciBicnVrZXJlIMOlIGxhc3RlIG9wcCBmaWxlciwgb2cgdGlsbGF0ZXIgZGVnIMOlIGjDpW5kdGVyZSBkZW0uJzsKJGxhbmdbJ25hbWUnXSA9ICdOYXZuJzsKJGxhbmdbJ3JlbmFtZW1lc3NhZ2UnXSA9ICdSZWRpZ2VyIG5hdm5ldCBoZXIgZm9yIMOlIGdqw7hyZSBlbiBuYXZuZWVuZHJpbmcnOwokbGFuZ1sncGF0aCddID0gJ1N0aSc7CiRsYW5nWydwYXRobWVzc2FnZSddID0gJ0VuZHJlIGthdGVnb3JpIGhlciBmb3Igw6UgZmx5dHRlIGZpbGVuIHRpbCBlbiBhbm5lbiBrYXRlZ29yaSc7CiRsYW5nWydwYXRoaW51cGxvYWRzJ10gPSAnKFJlbGF0aXYgdGlsIG9wcGxhc3RpbmdzIGthdGFsb2dlbiknOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICc8cD5PcHBsYXN0aW5nc21vZHVsZW4gaGFyIGJsaXR0IGluc3RhbGxlcnQuIFBhc3MgcMOlIMOlIHNldHQgIkFkbWluaXN0cmVyIG9wcGxhc3RpbmdlciIgdGlsbGF0ZWxzZXIgdGlsIGJydWsgYXYgZGVubmUgbW9kdWxlbiE8L3A+DQo8cD48c3Ryb25nPkFkdmFyc2VsPC9zdHJvbmc+IC0gRGVuIHJpa3RpZ2Ugb3BwZsO4cnNlbGVuIHRpbCBkZW5uZSBtb2R1bGVuIGVyIGF2aGVuZ2lnIGF2IG1hbmdlIHBocC1rb25maWd1cmFzam9uc3ZhcmlhYmxlci4gRGlzc2UgaW5rbHVkZXJlciA8ZW0+KG1lbiBlciBpa2tlIGJlZ3JlbnNldCB0aWwpPC9lbT4sIHBocFwncyBtZW1vcnlfbGltaXQsIHNhZmVfbW9kZSwgZmlsZV91cGxvYWRzLCB1cGxvYWRzX21heF9maWxlc2l6ZSwgYW5kIG1heF9leGVjdXRpb25fdGltZS4gIERpc3NlIHZhcmlhYmxlbmUgbcOlIGthbnNramUganVzdGVyZXMgZm9yIGRlbm5lIG1vZHVsZW4gZm9yIMOlIGZ1bmdlcmUgc2tpa2tlbGlnIHDDpSBuZXR0c3RlZGV0IGRpdHQuIERldCBhbmJlZmFsZXMgYXQgZHUgc2FtYXJiZWlkZXIgbWVkIHN5c3RlbWFkbWluaXN0cmF0b3JlbiBlbGxlciB2ZXJ0c2xldmVyYW5kw7hyZW4gZm9yIMOlIHN0aWxsZSBpbm4gZGlzc2UgaW5uc3RpbGxpbmdlbmUgZm9yIGRpbmUgYmVob3YuPC9wPic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVXBsb2FkcyBtb2R1bGVuIGhhciBibGl0dCBmamVybmV0LiBJbmdlbiBmaWxlciBoYXIgYmxpdHQgZmplcm5ldCBmcmEgZGluIG9wcGxhc3Rpbmdza2F0YWxvZywgb2cgZmlsIGludGVncml0ZXRlbiBlciBpbnRha3QnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdJbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsIGlubnN0aWxsaW5nZXIgb3BwZGF0ZXJ0Lic7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlkZXNjJ10gPSAnQmVza3JpdmVsc2UnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5bGlzdGFibGUnXSA9ICdGaWxlciBpIGRlbm5lIGthdGVnb3JpZW4ga2FuIGxpc3RlcyB1dCc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnluYW1lJ10gPSAnS2F0ZWdvcmkgbmF2bic7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlwYXRoJ10gPSAnU2VydmVyIHN0aSc7CiRsYW5nWydwcm9tcHRfZGVsZXRlZGlyZWN0b3J5J10gPSAnU2xldHQga2F0ZWdvcmkgbWFwcGU/JzsKJGxhbmdbJ3Byb21wdF9tYXhfdXBsb2Fkc2l6ZSddID0gJ01ha3NpbXVtIHRpbGxhdHRlIGZpbHN0w7hycmVsc2UgKEtiKSc7CiRsYW5nWydwcm9tcHRfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ0d5bGRpZyBvcHBsYXN0aW5ncyBmaWwtZW5kZWxzZSc7CiRsYW5nWydzY2FuJ10gPSAnU2thbm4nOwokbGFuZ1snc2VsZWN0Y2F0ZWdvcnknXSA9ICdWZWxnIGthdGVnb3JpJzsKJGxhbmdbJ3NpemUnXSA9ICdTdMO4cnJlbHNlJzsKJGxhbmdbJ3NpemVrYiddID0gJ1N0w7hycmVsc2UgKEtiKSc7CiRsYW5nWydzdWJtaXQnXSA9ICdMYWdyZSBvZyBsdWtrJzsKJGxhbmdbJ3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTYW1tZW5kcmFncyBtYWwnOwokbGFuZ1snc3VtbWFyeSddID0gJ1NhbW1lbmRyYWcnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdVcGxvYWRzIE1vZHVsZW4nOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWwgQWRtaW5pc3RyYXNqb25zcGFuZWwnOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWwgSW5uc3RpbGxpbmdlcic7CiRsYW5nWyd0aXRsZV9zdWJuZXRfZXhjbHVzaW9ucyddID0gJ1V0ZWx1a2sgc3VibmV0dCBmcmEgc3RhdGlzdGlra2VyJzsKJGxhbmdbJ3RpdGxlX3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnXSA9ICdHeWxkaWdlIGZpbC1lbmRlbHNlcic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIGF2aW5zdGFsbGVydC4nOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBvcHBncmFkZXJ0IHRpbCB2ZXJzam9uICVzLic7CiRsYW5nWyd1cGxvYWQnXSA9ICdMYXN0IG9wcCc7CiRsYW5nWyd1cGxvYWRlZCddID0gJ0ZpbCAlcyBibGUgbGFzdGV0IG9wcCBhdiAlcy4nOwokbGFuZ1sncmVwbGFjZWQnXSA9ICdGaWwgJXMgYmxlIGVyc3RhdHRldCAlcy4nOwokbGFuZ1snZGVsZXRlZCddID0gJ0ZpbCAlcyBibGUgc2xldHRldC4nOwokbGFuZ1sndXBsb2FkZm9ybV90ZW1wbGF0ZSddID0gJ09wcGxhc3RpbmcgbWFsZXInOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdCcnVrZXJuYXZuJzsKJGxhbmdbJ3dhcm5pbmdfZGVsZXRlY2F0ZWdvcnknXSA9ICdBRFZBUlNFTDogVsOmciBmb3JzaWt0aWcgbWVkIMOlIHNsZXR0ZXIga2F0ZWdvcmllci4gIEZpbGVyIGthbiBibGkgYm9ydGUnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2luZGV4X3VuaXF1ZXdvcmRzJ10gPSAnSW5kZXhlZXIgYWxsZWVuIHVuaWVrZSB3b29yZGVuJzsKJGxhbmdbJ3JlaW5kZXgnXSA9ICdPcG5pZXV3IGluZGV4ZXJlbic7CiRsYW5nWydpbmRleGluZ19zZXR0aW5ncyddID0gJ1pvZWsgZW4gSW5kZXhlcmluZyBpbnN0ZWxsZWluZ2VuJzsKJGxhbmdbJ2luZGV4X3R4dGZpbGVzJ10gPSAnSW5kZXhlZXIgdGVrc3RiZXN0YW5kZW4nOwokbGFuZ1snaW5kZXhfcGRmZmlsZXMnXSA9ICdJbmRleGVlciBQREYtYmVzdGFuZGVuJzsKJGxhbmdbJ2FsbG93X2NoYW5nZWRhdGUnXSA9ICdTdGEgdG9lIGRhdCBkZSBiZWhlZXJkZXIgZGUgdXBsb2FkIGRhdHVtIGthbiBhYW5wYXNzZW4nOwokbGFuZ1snbWlzc2luZyddID0gJ0Jlc3RhbmQgaXMgbmlldCBhYW53ZXppZyEhJzsKJGxhbmdbJ21pc3NpbmdfZmlsZSddID0gJ0RpdCBiZXN0YW5kIGlzIG5pZXQgYWFud2V6aWcnOwokbGFuZ1sncHJvbXB0X2ZyaWVuZGx5bmFtZSddID0gJ0VpZ2VuIG1vZHVsZSBuYWFtJzsKJGxhbmdbJ2Vycm9yX2Nhbm5vdHJlbmFtZSddID0gJ0ZvdXQgYmlqIGhldCBoZXJub2VtZW4gdmFuIGhldCBiZXN0YW5kJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9zdW1tYXJ5J10gPSAnU2FtZW52YXR0aW5nJzsKJGxhbmdbJ2ZpZWxkX2NhdGVnb3J5X2lkJ10gPSAnQ2F0ZWdvcmllIElkJzsKJGxhbmdbJ2ZpZWxkX2NhdGVnb3J5X25hbWUnXSA9ICdDYXRlZ29yaWUgTmFhbSc7CiRsYW5nWydmaWVsZF9jYXRlZ29yeV9wYXRoJ10gPSAnQ2F0ZWdvcmllIFBhZCc7CiRsYW5nWydmaWVsZF9hdXRob3InXSA9ICdBdXRldXInOwokbGFuZ1snZmllbGRfZGVzY3JpcHRpb24nXSA9ICdPbXNjaHJpanZpbmcnOwokbGFuZ1snbm91c2VyaW5mbyddID0gJ0dlZW4gZ2VicnVpa2VycyBpbmZvcm1hdGllIGFhbndlemlnJzsKJGxhbmdbJ21zZ19yZXBvcnRfc2VudCddID0gJ1JhcHBvcnQgdmVyem9uZGVuJzsKJGxhbmdbJ2dlbmVyYXRlZF9ieSddID0gJ0dlZ2VuZXJlZXJkIGRvb3InOwokbGFuZ1snZ2VuZXJhdGVkX29uJ10gPSAnR2VnZW5lcmVlcmQgb3AnOwokbGFuZ1snc3RhcnRfZGF0ZSddID0gJ1N0YXJ0ZGF0dW0nOwokbGFuZ1snZW5kX2RhdGUnXSA9ICdFaW5kZGF0dW0nOwokbGFuZ1sndXBsb2FkX2NhdGVnb3J5X25hbWUnXSA9ICdDYXRlZ29yaWUgbmFhbSc7CiRsYW5nWydwcm9tcHRfZmlsZXMnXSA9ICdCZXN0YW5kZW4nOwokbGFuZ1sncmVwb3J0X2Rvd25sb2Fkc2J5dXNlciddID0gJ0Rvd25sb2FkcyBwZXIgZ2VicnVpa2VyJzsKJGxhbmdbJ3JlcG9ydF9kb3dubG9hZHNieWZpbGUnXSA9ICdEb3dubG9hZHMgcGVyIGJlc3RhbmQnOwokbGFuZ1snZmllbGRfbGF0ZXN0X2Rvd25sb2FkJ10gPSAnTGFhdHN0ZSBkb3dubG9hZCc7CiRsYW5nWydmaWVsZCddID0gJ1ZlbGQnOwokbGFuZ1snY2xvc2UnXSA9ICdTbHVpdCc7CiRsYW5nWydwcm9tcHRfcmVwb3J0X3R5cGUnXSA9ICdSYXBwb3J0IFR5cGUnOwokbGFuZ1sncmVwb3J0X3N1bW1hcnknXSA9ICdTYW1lbnZhdHRpbmcnOwokbGFuZ1sncmVwb3J0X2RldGFpbCddID0gJ0dlZGV0YWlsZWVyZCc7CiRsYW5nWydwcm9tcHRfc3RhcnRfZGF0ZSddID0gJ1N0YXJ0ZGF0dW0nOwokbGFuZ1sncHJvbXB0X2VuZF9kYXRlJ10gPSAnRWluZGRhdHVtJzsKJGxhbmdbJ3Byb21wdF9hc2NlbmRpbmcnXSA9ICdPcGxvcGVuZCc7CiRsYW5nWydwcm9tcHRfZGVzY2VuZGluZyddID0gJ0FmbG9wZW5kJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0J10gPSAnU3RhbmRhYXJkJzsKJGxhbmdbJ3Byb21wdF9zb3J0b3JkZXInXSA9ICdTb3J0ZWVyIFZvbGdvcmRlJzsKJGxhbmdbJ2ZpZWxkX2Rvd25sb2FkX2RhdGUnXSA9ICdEb3dubG9hZCBEYXR1bSc7CiRsYW5nWydmaWVsZF9kb3dubG9hZF91c2VyJ10gPSAnRG93bmxvYWQgR2VicnVpa2VyJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9pZCddID0gJ1VwbG9hZCBJRCc7CiRsYW5nWydmaWVsZF91cGxvYWRfY2F0ZWdvcnlfaWQnXSA9ICdDYXRlZ29yaWUgSUQnOwokbGFuZ1snZmllbGRfdXBsb2FkX2NhdGVnb3J5X25hbWUnXSA9ICdDYXRlZ29yaWUgbmFhbSc7CiRsYW5nWydmaWVsZF91cGxvYWRfY2F0ZWdvcnlfcGF0aCddID0gJ0NhdGVnb3JpZSBwYWQnOwokbGFuZ1snZmllbGRfdXBsb2FkX25hbWUnXSA9ICdCZXN0YW5kc25hYW0nOwokbGFuZ1snZmllbGRfdXBsb2FkX2F1dGhvciddID0gJ0F1dGV1cic7CiRsYW5nWydmaWVsZF91cGxvYWRfZGVzY3JpcHRpb24nXSA9ICdPbXNjaHJpanZpbmcnOwokbGFuZ1snZmllbGRfdXBsb2FkX2lwJ10gPSAnVXBsb2FkIElQIEFkcmVzJzsKJGxhbmdbJ2ZpZWxkX3VwbG9hZF9kYXRlJ10gPSAnVXBsb2FkIERhdHVtJzsKJGxhbmdbJ2ZpZWxkX2Rvd25sb2FkcyddID0gJ0FhbnRhbCBEb3dubG9hZHMnOwokbGFuZ1sncHJvbXB0X3NvcnRpbmcnXSA9ICdTb3J0ZWVyIG9wJzsKJGxhbmdbJ29yJ10gPSAnb2YnOwokbGFuZ1sncHJvbXB0X2ZldV91c2VycyddID0gJ0ZFVSBHZWJydWlrZXJzJzsKJGxhbmdbJ3Byb21wdF9mZXVfZ3JvdXBzJ10gPSAnRkVVIEdyb2VwZW4nOwokbGFuZ1sndGl0bGVfcmVwb3J0X2Rvd25sb2Fkc2J5dXNlciddID0gJ0Rvd25sb2FkcyBwZXIgZ2VicnVpa2VyJzsKJGxhbmdbJ3RpdGxlX3JlcG9ydF9kb3dubG9hZHNieWZpbGUnXSA9ICdEb3dubG9hZHMgcGVyIGJlc3RhbmQnOwokbGFuZ1sncmVwb3J0cyddID0gJ1JhcHBvcnRlbic7CiRsYW5nWydwcm9tcHRfcGVybWlzc2lvbnMnXSA9ICdQZXJtaXNzaWVzJzsKJGxhbmdbJ3Byb21wdF9maWVsZHMnXSA9ICdWZWxkZW4nOwokbGFuZ1sncHJvbXB0X3NlbmRmaWxlJ10gPSAnVmVyc3R1dXIgYmVzdGFuZCc7CiRsYW5nWydwcm9tcHRfbW9kaWZ5aW5nJ10gPSAnQWFucGFzc2VuJzsKJGxhbmdbJ3Byb21wdF92aWV3aW5nJ10gPSAnQmVraWprZW4nOwokbGFuZ1sncHJvbXB0X2dlbmVyYWwnXSA9ICdBbGdlbWVlbic7CiRsYW5nWydpbmZvX2NhdGVnb3J5bGlzdGFibGUnXSA9ICdNb2dlbiBiZXN0YW5kZW4gaW4gZGV6ZSBjYXRlZ29yaWUgd29yZGVuIGdldG9vbmQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3ZhbHVlJ10gPSAnRXIgb250YnJlZWt0IGVlbiB2ZXJwbGljaHQgaW52dWx2ZWxkLic7CiRsYW5nWydlZGl0ZWQnXSA9ICdHZXdpanppZ2QgJXMnOwokbGFuZ1snbW92ZWRmaWxlJ10gPSAnQmVzdGFuZCB2ZXJwbGFhdHN0IHZhbiAlcyBuYWFyICVzJzsKJGxhbmdbJ3BhZ2VsaW1pdCddID0gJ0Jlc3RhbmRlbiBwZXIgcGFnaW5hJzsKJGxhbmdbJ3ZpZXcnXSA9ICdHZWVmIGRpdCBiZXN0YW5kIHdlZXInOwokbGFuZ1snZWRpdF90aGlzX2ZpbGUnXSA9ICdXaWp6aWcgZGl0IHZlbGQnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X3NjYW5uYWJsZSddID0gJ1NjYW4gZGV6ZSBjYXRlZ29yaWUgYXV0b21hdGlzY2ggdm9vciBuaWV1d2UgYmVzdGFuZGVuPyc7CiRsYW5nWydpbmZvX2NhdGVnb3J5X3NjYW5uYWJsZSddID0gJ1dhbm5lZXIgZXIgdmlhIGhldCBmcm9udGVuZCB0b2VnYW5nIGlzIHRvdCBkZXplIGNhdGVnb3JpZSB6YWwgZXIgd29yZGVuIGdlc2NhbmQgb3AgbmlldXdlIGJlc3RhbmRlbic7CiRsYW5nWydwcm9tcHRfdGxfYWNjZXNzJ10gPSAnVGlqZGdlbGltaXRlZXJkZSB0b2VnYW5nJzsKJGxhbmdbJ3Byb21wdF9hbGxvd191cGxvYWRfc2VuZGZpbGUnXSA9ICdTdGEgaGV0IHZlcnN0dXJlbiB2YW4gYmVzdGFuZGVuIHRvZSwgZGlyZWN0IG5hIGhldCB1cGxvYWRlbiB2aWEgaGV0IGJhY2tlbmQnOwokbGFuZ1snbXNnX2F1dG9fZGVsZXRlX2ZpbGUnXSA9ICdBdXRvbWF0aXNjaCB2ZXJ3aWpkZXJkIHZlcmxvcGVuIGJlc3RhbmQ6ICVzJzsKJGxhbmdbJ21zZ19hdXRvX2RlbGV0ZV9maWxlX2ZhaWxlZCddID0gJ1JlY2h0ZW5wcm9ibGVlbSwgYXV0b21hdGlzY2ggdmVyd2lqZGVyZW4gdmFuICVzIG1pc2x1a3QnOwokbGFuZ1snaW5mb19jYXRlZ29yeV9leHBpcmVzX2hycyddID0gJ0Jlbm9lbSBlZW4gYWFudGFsIHVyZW4gdG90ZGF0IGRlIGJlc3RhbmRlbiBpbiBkZXplIGNhdGVnb3JpZSBrdW5uZW4gd29yZGVuIHZlcndpamRlcmQuIEdlYnJ1aWsgZGUgd2FhcmRlIDAgb20gYWFuIHRlIGdldmVuIGRhdCBkZSBiZXN0YW5kZW4gbmlldCBrdW5uZW4gd29yZGVuIHZlcndpamRlcmQnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X2V4cGlyZXNfaHJzJ10gPSAnQWFudGFsIHVyZW4gdG90ZGF0IGRlIGJlc3RhbmRlbiBpbiBkZXplIGNhdGVnb3JpZSBhdXRvbWF0aXNjaCB3b3JkZW4gdmVyd2lqZGVyZCc7CiRsYW5nWydpbmZvX2RmbHRfY2F0ZWdvcnlfZXhwaXJ5J10gPSAnRGUgc3RhbmRhYXJkd2FhcmRlIHZvb3IgbmlldXdlIGNhdGVnb3JpZcOrbiBkaWUgc3BlY2lmaWNlZXJ0IHdhbm5lZXIgZGUgYmVzdGFuZGVuIGluIGRlemUgY2F0ZWdvcmllIGF1dG9tYXRpc2NoIHdvcmRlbiB2ZXJ3aWpkZXJkLiBHZWJydWlrIGRlIHdhYXJkZSAwIG9tIGFhbiB0ZSBnZXZlbiBkYXQgZGUgYmVzdGFuZGVuIG5pZXQga3VubmVuIHdvcmRlbiB2ZXJ3aWpkZXJkJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5X2V4cGlyeSddID0gJ0NhdGVnb3JpZSB2ZXJ2YWwgcGVyaW9kZSA8ZW0+KHVyZW4pPC9lbT4nOwokbGFuZ1snaW5mb19jYXRlZ29yeWRlbGV0YWJsZSddID0gJ0Jldm9lZ2RlIGdlYnJ1aWtlcnMgaGViYmVuIGRlIHJlY2h0ZW4gb20gZGV6ZSBiZXN0YW5kZW4gdGUgdmVyd2lqZGVyZW4uIERpdCBob3VkdCBpbiBkYXQgZWVuIHVybCB3b3JkZW4gZ2VnZW5lcmVlcmQgaW4gaGV0IGp1aXN0ZSBzamFibG9vbiBkaWUgdG9lc3RhYXQgaGV0IGJlc3RhbmQgdGUgdmVyd2lqZGVyZW4uIEVlbiB3ZWJzaXRlIGJvdXdlciBrYW4gZGUganVpc3RlIHNtYXJ0eSBsb2dpY2EgZ2VicnVpa2VuIG9tIGVlbiBsaW5rIHRlIHRvbmVuIGFhbiBkZSBnZWF1dG9yaXNlZXJkZSBnZWJydWlrZXJzLic7CiRsYW5nWydjb3B5X2ZpbGVzJ10gPSAnS29waWVlciBiZXN0YW5kZW4nOwokbGFuZ1snZXJyb3JfZmlsZXRvb2xhcmdlJ10gPSAnSGV0IGJlc3RhbmQgZGF0IHUgcHJvYmVlcnQgdGUgdXBsb2FkZW4gaXMgZ3JvdGVyIGRhbiBoZXQgbWF4aW1hYWwgdG9lZ2VzdGFuZSc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZWNhdGVnb3J5J10gPSAnV2VldCB1IHpla2VyIGRhdCB1IGRlemUgY2F0ZWdvcmllIHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ2Vycm9yX2RlbGV0ZSddID0gJ0VlbiBpdGVtIGtvbiBuaWV0IHdvcmR0IHZlcndpamRlcmQgKCVzKSc7CiRsYW5nWydjb25maXJtX2NhdF9tdWx0aWFjdGlvbiddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkZXplIGFjdGllIHdpbHQgdWl0dm9lcmVuIG9wIGRlIGdlc2VsZWN0ZWVyZGUgY2F0ZWdvcmnDqG4/JzsKJGxhbmdbJ2Vycm9yX25vdGhpbmdfc2VsZWN0ZWQnXSA9ICdGb3V0OiBOaWV0cyBnZXNlbGVjdGVlcmQnOwokbGFuZ1snd2l0aF9zZWxlY3RlZCddID0gJ01ldCBnZXNlbGVjdGVlcmQ6JzsKJGxhbmdbJ2Vycm9yX3JlcGxhY2VfbWlzbWF0Y2hlZF9maWxlZXh0J10gPSAnVGlqZGVucyBoZXQgdmVydmFuZ2VuIHZhbiBlZW4gYmVzdGFuZCwgbW9ldCB1IGVlbiBiZXN0YW5kIHVwbG9hZGVuIG1ldCBlZW56ZWxmZGUgZXh0ZW50aWUuIEhldCBiZXN0YW5kIGRhdCB1IHNlbGVjdGVlcmRlIGtvbXQgbmlldCBvdmVyZWVuIG1ldCBoZXQgb3JpZ2luZWxlIGJlc3RhbmQnOwokbGFuZ1sncmVwbGFjZSddID0gJ1ZlcnZhbmcnOwokbGFuZ1snaW5mb19yZXBsYWNlZmlsZSddID0gJ1UgbWFnIGVlbiB2ZXJ2YW5nZW5kIGJlc3RhbmQgdXBsb2FkZW4uIGFscyBoZXQgZWVuIGFmYmVlbGRpbmcgaXMgZW4gdSBoZWVmdCBnZWVuIGJpamJlaG9yZW5kIG1pbmlhdHV1ciBhYW5nZWdldmVuLCBkYW4gemFsIGVyIGVlbiBuaWV1d2Ugd29yZGVuIGdlZ2VuZXJlZXJkJzsKJGxhbmdbJ3Byb21wdF9yZXBsYWNlZmlsZSddID0gJ1VwbG9hZCB2ZXJ2YW5naW5nc2Jlc3RhbmQnOwokbGFuZ1sndGl0bGVfZml4c3BhY2VzJ10gPSAnVmVyd2lqZGVyIHNwYXRpZXMgaW4gZGUgYmVzdGFuZHNuYWFtJzsKJGxhbmdbJ2NhdGVnb3J5X2NvcGllZCddID0gJ0NhdGVnb3JpZSBzdWNjZXN2b2wgZ2Vrb3BpZWVyZCc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVwYXRoJ10gPSAnQmVub2VtIGVlbiBkaXJlY3RvcnkgbmFhbSBkaWUgYW5kZXJzIGlzIGFscyBkaWUgdmFuIGRlIGJyb24gZW4gbm9nIG5pZXQgaW4gZ2VicnVpayBpcyc7CiRsYW5nWydvcGVyYXRpb25fY2FuY2VsbGVkJ10gPSAnQmV3ZXJraW5nIGdlYW5udWxlZXJkJzsKJGxhbmdbJ3NvdXJjZSddID0gJ0Jyb24nOwokbGFuZ1snZGVzdGluYXRpb24nXSA9ICdCZXN0ZW1taW5nJzsKJGxhbmdbJ3Byb21wdF9jb3B5X2ZpbGVzJ10gPSAnS29waWVlciBjYXRlZ29yaWUgYmVzdGFuZGVuJzsKJGxhbmdbJ2luZm9fY29weV9maWxlcyddID0gJ0tvcGllZXIgZGUgYmVzdGFuZGVuIHZhbiBkZSBicm9uIG5hYXIgZGUgYmVzdGVtbWluZ3NjYXRlZ29yaWUnOwokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSc7CiRsYW5nWydjb3B5J10gPSAnS29waWVlcic7CiRsYW5nWydzZWxlY3RvbmUnXSA9ICdLaWVzIMOpw6luJzsKJGxhbmdbJ2F1dG93YXRlcm1hcmsnXSA9ICdQbGFhdHMgYXV0b21hdGlzY2ggZWVuIHdhdGVybWVyayBvcCBkZSBhZmJlZWxkaW5nZW4nOwokbGFuZ1snaW1hZ2Vfc2V0dGluZ3MnXSA9ICdBZmJlZWxkaW5nIEluc3RlbGxpbmdlbic7CiRsYW5nWydwcm9tcHRfZ2V0ZmlsZV9yZXN1bHRwYWdlJ10gPSAnUGFnaW5hIGRpZSBnZWJydWlrdCB3b3JkdCB2b29yIGhldCBtZWxkZW4gdmFuIGZvdXRlbiBlbiBhbmRlcmUgYm9vZHNjaGFwcGVuIG1ldCBiZXRyZWtraW5nIHRvdCBoZXQgZG93bmxvYWRlbic7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2tleSddID0gJ0RlIGluZ2V2b2VyZGUgdXBsb2FkIHNsZXV0ZWwgaXMgbmlldCBjb3JyZWN0IChtaXNzY2hpZW4gZGUgbWF4aW1hbGUgZG93bmxvYWQgY2FwYWNpdGVpdCBiZXJlaWt0IG9mIGlzIGhldCB2ZXJsb3BlbiknOwokbGFuZ1snZGZsdF90aW1lbGltaXRlZF9zdWJqZWN0J10gPSAneyRzaXRlbmFtZX0gLSBVIGhlZWZ0IHZvb3IgZWVuIGdlbGltaXRlZXJkZSBwZXJpb2RlIGRlIHRvZXN0ZW1taW5nIGdla3JlZ2VuIHRvdCB7JGVudHJ5LT51cGxvYWRfbmFtZXxzdHJpcF90YWdzfSc7CiRsYW5nWydwcm9tcHRfdGltZWxpbWl0ZWRfc3ViamVjdCddID0gJ09uZGVyd2VycCB2YW4gZGUgZS1tYWlsIHdhbm5lZXIgZWVuIHRpamRnZWxpbWl0ZWVyZGUgVVJMIHdvcmR0IHZlcnN0dXVyZCc7CiRsYW5nWydwcm9tcHRfdGltZWxpbWl0ZWRfYXV0b2RlbGV0ZSddID0gJ1ZlcndpamRlciBhdXRvbWF0aXNjaCB2ZXJsb3BlbiB2ZXJ6b2VrZW4gbmEgTiB1dXIgPGVtPihtYWFrIDAgb20gZGV6ZSBmdW5jdGllIHVpdCB0ZSBzY2hha2VsZW4pPC9lbT46JzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9zZW5kaXQnXSA9ICdWZXJzdHV1ciBkZXplIHVybCBuYWFyIGhldCBlLW1haWwgYWRyZXM/JzsKJGxhbmdbJ3VybF9rZXknXSA9ICdVUkwgU2xldXRlbCc7CiRsYW5nWydjcmVhdGVkJ10gPSAnR2VtYWFrdCc7CiRsYW5nWydleHBpcmVzJ10gPSAnVmVybG9vcHQnOwokbGFuZ1snYWRkZWRpdF90aW1lbGltaXRlZF9rZXknXSA9ICdUb2V2b2VnZW4vV2lqemlnZW4gVGlqZGdlbGltaXRlZXJkZSBzbGV1dGVsJzsKJGxhbmdbJ3RpbWVfbGltaXRlZF9rZXlfYWRkZWQnXSA9ICdUaWpkZ2VsaW1pdGVlcmRlIHNsZXV0ZWwgVG9lZ2V2b2VnZCc7CiRsYW5nWydudW1faG91cnMnXSA9ICdBYW50YWwgdXJlbic7CiRsYW5nWydudW1fZG93bmxvYWRzJ10gPSAnSG9ldmVlbGhlaWQgRG93bmxvYWRzJzsKJGxhbmdbJ2VtYWlsX2FkZHJlc3MnXSA9ICdFLW1haWwgQWRyZXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ19pbnZhbGlkJ10gPSAnRWVuIGJlbm9kaWdkZSB3YWFyZGUgaXMgbmlldCBjb3JyZWN0IG9mIGFmd2V6aWc6ICVzJzsKJGxhbmdbJ2FkZF90aW1lbGltaXRlZF9rZXknXSA9ICdUaWpkZ2VsaW1pdGVlcmRlIHNsZXV0ZWwgVG9ldm9lZ2VuJzsKJGxhbmdbJ2ZpbGVfaW5mbzInXSA9ICdCZXN0YW5kICVzIChpZD0lZCknOwokbGFuZ1snaW5mb190aW1lbGltaXRlZF9kb3dubG9hZHMnXSA9ICdCZW5vZW0gaGV0IHN0YW5kYWFyZCBhYW50YWwga2VyZW4gZGF0IGVlbiBiZXN0YW5kIGdlZG93bmxvYWQga2FuIHdvcmRlbiBtZXQgZWVuIGJlcGFhbGRlIHNsZXV0ZWwnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2Rvd25sb2FkcyddID0gJ1N0YW5kYWFyZCBIb2V2ZWVsaGVpZCBEb3dubG9hZHMnOwokbGFuZ1snaW5mb190aW1lbGltaXRlZF9ob3VycyddID0gJ0Jlbm9lbSBoZXQgc3RhbmRhYXJkIGFhbnRhbCB1cmVuIGRhdCBkZSBUaWpkZ2VsaW1pdGVlcmRlIHNsZXV0ZWwgZ2VsZGlnIGJsaWpmdC4gQmVub2VtIDAgdm9vciBvbmdlbGltaXRlZXJkJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9ob3VycyddID0gJ0FhbnRhbCB1cmVuIGRhdCBkZSBUaWpkZ2VsaW1pdGVlcmRlIFNsZXV0ZWwgZ2VsZGlnIGlzJzsKJGxhbmdbJ3RpbWVsaW1pdGVkX3VybF9zZXR0aW5ncyddID0gJ0luc3RlbGxpbmdlbiBUaWpkZ2VsaW1pdGVlcmRlIHNsZXV0ZWwnOwokbGFuZ1snbWFuYWdlX3RpbWVsaW1pdGVkJ10gPSAnQmVoZWVyIFRpamRnZWxpbWl0ZWVyZGUgVG9lZ2FuZyc7CiRsYW5nWyd1cGxvYWRpbmdfc2V0dGluZ3MnXSA9ICdCZXN0YW5kIFVwbG9hZCBJbnN0ZWxsaW5nZW4nOwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ0FsZ2VtZW5lIGluc3RlbGxpbmdlbic7CiRsYW5nWyd0aHVtYm5haWxfc2V0dGluZ3MnXSA9ICdNaW5pYXR1dXIgYWFubWFhayc7CiRsYW5nWyd0aXRsZV9yZWRpcmVjdF9vbl9zZW5kZmlsZSddID0gJ1BhZ2luYSBvbSB0ZSB0b25lbiBuYSBoZXQgdmVyemVuZGVuIHZhbiBlZW4gYmVzdGFuZCc7CiRsYW5nWydsYmxfYmFjayddID0gJ1RlcnVnJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdXaWp6aWcgU2phYmxvbmVuJzsKJGxhbmdbJ3Byb21wdF9wdWJsaWNfZmllbGQnXSA9ICdWZWxkIGlzIG9wZW5iYWFyIDxlbT4oS2FuIGRvb3Igd2Vic2l0ZSBiZXpvZWtlcnMgd29yZGVuIGdlemllbik8L2VtPic7CiRsYW5nWyd1cGxvYWRfZWRpdGVkJ10gPSAnQmVzdGFuZCBEZXRhaWxzIEdld2lqemlnZCBvcCAlcyc7CiRsYW5nWydpbmZvX3RodW1ibmFpbCddID0gJ0VlbiBvcHRpb25lZWwgbWluaWF0dXVyLWJlc3RhbmQnOwokbGFuZ1sndXBsb2FkX2ZpbGUnXSA9ICdVcGxvYWQgZWVuIG5pZXV3IGJlc3RhbmQnOwokbGFuZ1snbXNnX2ZpZWxkX2RlbGV0ZWQnXSA9ICdWZWxkIHZlcndpamRlcmQnOwokbGFuZ1snYXNrX2RlbGV0ZV9maWVsZCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkaXQgdmVsZCBlbiBhbGxlIGdlYXNzb2NpZWVyZGUgZGF0YSB3aWx0IHZlcndpamRlcmVuPyc7CiRsYW5nWyd5ZXMnXSA9ICdKYSc7CiRsYW5nWydubyddID0gJ05lZSc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSc7CiRsYW5nWydmaWVsZHR5cGVfbXVsdGlzZWxlY3QnXSA9ICdNZWVya2V1emUgTGlqc3QnOwokbGFuZ1snZmllbGR0eXBlX2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24gTGlqc3QnOwokbGFuZ1snZmllbGR0eXBlX2NoZWNrYm94J10gPSAnVmlua3Zha2plJzsKJGxhbmdbJ2ZpZWxkdHlwZV90ZXh0YXJlYSddID0gJ1Rla3N0IHJ1aW10ZSc7CiRsYW5nWydmaWVsZHR5cGVfdGV4dGlucHV0J10gPSAnVGVrc3QgSW5wdXQnOwokbGFuZ1sncHJvbXB0X3VzZV93eXNpd3lnJ10gPSAnR2VicnVpayB3eXNpd3lnIHZvb3IgaGV0IHdpanppZ2VuIHZhbiBkZSBpbmhvdWQgdmFuIGRpdCB2ZWxkJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X2NvbnRlbnQnXSA9ICdTdGFuZGFhcmQgaW5ob3VkIHZvb3IgZGUgdGVrc3RydWltdGUnOwokbGFuZ1sncHJvbXB0X2Ryb3Bkb3duX29wdGlvbnMnXSA9ICdPcHRpZXMgKMOpw6luIHBlciByZWdlbCknOwokbGFuZ1sncHJvbXB0X2ZpZWxkX21heGxlbmd0aCddID0gJ1ZlbGQgTWF4aW11bSBMZW5ndGUnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX2xlbmd0aCddID0gJ1ZlbGQgTGVuZ3RlJzsKJGxhbmdbJ3Byb21wdF9maWVsZF90eXBlJ10gPSAnVmVsZCBUeXBlJzsKJGxhbmdbJ3Byb21wdF9maWVsZF9uYW1lJ10gPSAnVmVsZCBOYWFtJzsKJGxhbmdbJ3RpdGxlX2FkZF9maWVsZCddID0gJ1RvZXZvZWdlbiBvZiB3aWp6aWdlbiB2YW4gZWVuIFZlbGQgRGVmaW5pdGllJzsKJGxhbmdbJ2ZpZWxkX2RlZmluaXRpb25zJ10gPSAnVmVsZCBEZWZpbml0aWVzJzsKJGxhbmdbJ3Byb21wdF9hZGRfZmllbGQnXSA9ICdWZWxkIERlZmluaXRpZXMgVG9ldm9lZ2VuJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZmllcyB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUgdGFnLiAgUG9zc2libGUgdmFsdWVzIGFyZTogZGVmYXVsdCAtICh0aGUgZGVmYWZhdWx0IGJlaGF2aW9yKSwgZGV0YWlsIC0gdG8gZGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIGZpbGUgYmFzZWQgb24gdGhlIHVwbG9hZF9pZCwgYW5kIHlvdXNlbmRpdCAtIHRvIGRpc3BsYXkgYSBmb3JtIHRvIGFsbG93IHVwbG9hZGluZyBhIGZpbGUsIGFuZCBzZW5kaW5nIGl0IHRvIG51bWVyb3VzIGFkZHJlc3NlcyBpbiBvbmUgc3RlcCc7CiRsYW5nWydwYXJhbV9zZW5kZmlsZXBhZ2UnXSA9ICdCZW5vZW0gZWVuIHBhZ2luYSBJRCBvZiBlZW4gYWxpYXMgZGF0IGdlYnJ1aWt0IG1vZXQgd29yZGVuIG9tIGhldCBiZXN0YW5kc2Zvcm11bGllciB0ZSB2ZXJ6ZW5kZW4nOwokbGFuZ1snZmlsZV91cGxvYWRlZCddID0gJ0Jlc3RhbmQgY29ycmVjdCBnZcO8cGxvYWQnOwokbGFuZ1sndG8nXSA9ICdOYWFyJzsKJGxhbmdbJ3RpdGxlX3lvdXNlbmRpdGZvcm1fdGVtcGxhdGUnXSA9ICdUb2V2b2VnZW4gb2Ygd2lqemlnZW4gIlUgdmVyc3R1dXJkZSBoZXQiIEZvcm11bGllciBTamFibG9vbic7CiRsYW5nWyd5b3VzZW5kaXRmb3JtX3RlbXBsYXRlJ10gPSAnIlUgdmVyc3R1dXJkZSBoZXQiIEZvcm11bGllciBTamFibG9vbic7CiRsYW5nWyd0aXRsZV95b3VzZW5kaXRmb3JtX3N5c2RlZmF1bHQnXSA9ICdTdGFuZGFhcmQgIlUgdmVyc3R1dXJkZSBoZXQiIHNqYWJsb29uJzsKJGxhbmdbJ21zZ19maWxlX3NlbnQnXSA9ICdFciBpcyBlZW4gYmVyaWNodCBnZXN0dXVyZCBuYWFyIGRlIGdlc2VsZWN0ZWVyZGUgYWRyZXNzZW4gZGF0IGluZm9ybWF0aWUgYmV2YXQgb3ZlciBoZXQgYmVzdGFuZCBlbiBob2UgdSBoZXQga3VudCBvbnR2YW5nZW4uJzsKJGxhbmdbJ2Vycm9yX25vYWRkcmVzc2VzJ10gPSAnVSBtb2V0IG1pbmltYWFsIMOpw6luIGRvZWwgYWRyZXMgaW52dWxsZW4nOwokbGFuZ1snZXJyb3Jfbm9zdWJqZWN0J10gPSAnVSBtb2V0IGVlbiBvbmRlcndlcnAgaW52dWxsZW4nOwokbGFuZ1snc3ViamVjdCddID0gJ09uZGVyd2VycCc7CiRsYW5nWyd0aXRsZV9zZW5kZmlsZXBhZ2UnXSA9ICdQYWdpbmEgdm9vciBoZXQgIlZlcnN0dXVyIGVlbiBiZXN0YW5kIiBGb3JtdWxpZXInOwokbGFuZ1snZmlsZV9pbmZvJ10gPSAnQmVzdGFuZHNpbmZvJzsKJGxhbmdbJ3NlbmQnXSA9ICdWZXJzdHV1cic7CiRsYW5nWydub3RlcyddID0gJ09wbWVya2luZ2VuJzsKJGxhbmdbJ2FkZHJlc3NlZXMnXSA9ICdWZXJzdHV1ciBpbmZvcm1hdGllIG92ZXIgZGl0IGJlc3RhbmQgbmFhcic7CiRsYW5nWydwcm9tcHRfc2VuZGZpbGVfZW1haWxfdGVtcGxhdGUnXSA9ICciVmVyc3R1dXIgZWVuIGJlc3RhbmQiIEUtbWFpbCBTamFibG9vbic7CiRsYW5nWyd0aXRsZV9zZW5kZmlsZWZvcm1fdGVtcGxhdGUnXSA9ICdUb2V2b2VnZW4gb2Ygd2lqemlnZW4gIlZlcnN0dXVyIGVlbiBiZXN0YW5kIiBGb3JtdWxpZXIgU2phYmxvb24nOwokbGFuZ1snc2VuZGZpbGVmb3JtX3RlbXBsYXRlJ10gPSAnIlZlcnN0dXVyIGVlbiBiZXN0YW5kIiBGb3JtdWxpZXIgU2phYmxvb24nOwokbGFuZ1sncHJvbXB0X25vdGlmeV9lbWFpbF90ZW1wbGF0ZSddID0gJ0Jlc3RhbmQgdXBsb2FkIG5vdGlmaWNhdGllIGUtbWFpbCBzamFibG9vbic7CiRsYW5nWyd0aXRsZV9zZW5kZmlsZWZvcm1fc3lzZGVmYXVsdCddID0gJ1N0YW5kYWFyZCAiVmVyc3R1dXIgZWVuIGJlc3RhbmQiIEZvcm11bGllciBTamFibG9vbic7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlkZWxldGFibGUnXSA9ICdCZXN0YW5kZW4gaW4gZGV6ZSBjYXRlZ29yaWUga3VubmVuIHdvcmRlbiB2ZXJ3aWpkZXJkJzsKJGxhbmdbJ3RpdGxlX2FsbG93X2RlbGV0ZSddID0gJ1N0YSBoZXQgdmVyd2lqZGVyZW4gdmFuIGJlc3RhbmRlbiBhYW4gaGV0IGZyb250ZW5kIHRvZSc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlcyddID0gJ1N0YW5kYWFyZCBTamFibG9uZW4nOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnRWVyc3RlIHBhZ2luYSc7CiRsYW5nWydwcmV2cGFnZSddID0gJ0xhYXRzdGUgcGFnaW5hJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnVm9sZ2VuZGUgcGFnaW5hJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnVm9yaWdlIHBhZ2luYSc7CiRsYW5nWydmaXJzdHBhZ2VfYXJyb3cnXSA9ICc8PCc7CiRsYW5nWydwcmV2cGFnZV9hcnJvdyddID0gJzwnOwokbGFuZ1snbmV4dHBhZ2VfYXJyb3cnXSA9ICc+JzsKJGxhbmdbJ2xhc3RwYWdlX2Fycm93J10gPSAnPj4nOwokbGFuZ1sncGFnZSddID0gJ1BhZ2luYSc7CiRsYW5nWydvZiddID0gJ3Zhbic7CiRsYW5nWydwcm9tcHRfZ3JvdXBsaXN0J10gPSAnR2VhdXRvcmlzZWVyZGUgRkVVLWdyb2VwZW4nOwokbGFuZ1snaW5mb19ncm91cGxpc3QnXSA9ICdTZWxlY3RlZXIgZWVuIEZFVS1ncm9lcCBkaWUgdG9lZ2FuZyBtYWcgaGViYmVuIHRvdCBiZXN0YW5kZW4gaW4gZGV6ZSBjYXRlZ29yaWUuJzsKJGxhbmdbJ3RpdGxlX3NjYW4nXSA9ICdab2VrIG5hYXIgbmlldXdlIGJlc3RhbmRlbiBpbiBkZXplIGNhdGVnb3JpZSc7CiRsYW5nWyd0aXRsZV9jcmVhdGVfdGh1bWJuYWlscyddID0gJ0NyZcOrZXIgb250YnJla2VuZGUgbWluaWF0dXJlbiBpbiBkZXplIGNhdGVnb3JpZSc7CiRsYW5nWydjcmVhdGVfdGh1bWJuYWlscyddID0gJ0NyZcOrZXIgbWluaWF0dXJlbic7CiRsYW5nWyd0aXRsZV9jcmVhdGVfdGh1bWJuYWlsJ10gPSAnTWFhayBkZSBtaW5pYXR1dXIgdm9vciBkaXQgYmVzdGFuZCAob3BuaWV1dykgYWFuJzsKJGxhbmdbJ2NyZWF0ZV90aHVtYm5haWwnXSA9ICdDcmXDq2VyIG1pbmlhdHV1cic7CiRsYW5nWydlcnJvcl9wYXRoZXJyb3InXSA9ICdLYW4gZGUgbWFwIG5pZXQgb3BlbmVuIChyZWNodGVucHJvYmxlZW0/KSc7CiRsYW5nWyd0aXRsZV9kb3dubG9hZF9jaHVua3NpemUnXSA9ICdHcm9vdHRlIHZhbiBpZWRlciBkb3dubG9hZGRlZWwnOwokbGFuZ1snaW5mb19kb3dubG9hZF9jaHVua3NpemUnXSA9ICdJbnN0ZWxsZW4gdmFuIGRlemUgcGFyYW1ldGVyIGhlZWZ0IGludmxvZWQgb3AgZGUgZG93bmxvYWQgc25lbGhlaWQgZW4ga2FuIHZvb3JkZWVsIGhlYmJlbiBpbiBvbWdldmluZ2VuIG1ldCB3ZWluaWcgZ2VoZXVnZW4nOwokbGFuZ1snd2FybmluZ19zYWZlX21vZGUnXSA9ICdQSFBcJ3MgdmVpbGlnZSBtb2R1cyAoc2FmZSBtb2RlKSBpcyBpbmdlc2NoYWtlbGQuIERpdCBrYW4gcHJvYmxlbWVuIG1ldCBoZXQgdXBsb2FkZW4gdmFuIGJlc3RhbmRlbiB2ZXJvb3J6YWtlbiAocmVjaHRlbikgZW4ga2FuIG9vayBkZSBtb2dlbGlqayB2YW4gZGUgbW9kdWxlIHZlcnN0b3JlbiBvbSBiZXN0YW5kZW4gdGUgdmVyemVuZGVuIGRvb3IgZGUgYmVwZXJraW5nIGVua2VsZSBpbnN0ZWxsaW5nZW4gdGUgb3ZlcnNjaHJpanZlbi4gTmVlbSBjb250YWN0IG9wIG1ldCB1dyBob3N0aW5nIHByb3ZpZGVyIG92ZXIgaGV0IHVpdHNjaGFrZWxlbiB2YW4gZGUgdmVpbGlnZSBtb2R1cy4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ051dHRpZyBvbSBlZW4gZ2VkZXRhaWxsZWVyZCByYXBwb3J0IHRlIHRvbmVuIG1ldCBlZW4gYW5kZXIgcGFnaW5hIHNqYWJsb29uLiBEZXplIHBhcmFtZXRlciBnZWJydWlrdCBkZSBwYWdpbmEtaWQgb2YgcGFnaW5hLWFsaWFzIHZhbiBlZW4gcGFnaW5hIGRpZSBiZW51dCBkaWVudCB0ZSB3b3JkZW4gb20gaGV0IGRldGFpbCByYXBwb3J0IHRlIHRvbmVuLic7CiRsYW5nWydwYXJhbV9wcmVmaXgnXSA9ICdFZW4gYm9vbGVhbiBkaWUgYWFuZ2VlZnQgb2YgYmVzdGFuZHNuYW1lbiBlZW4gcHJlZml4IG1vZXRlbiBoZWJiZW4nOwokbGFuZ1sncGFyYW1fcHJlZml4X2ZldSddID0gJ0VlbiBib29sZWFuIHBhcmFtZXRlciBkaWUgYWFuZ2VlZnQgZGF0IGRlIHByZWZpeCB2YW4gZGUgaHVpZGlnZSBhdXRldXIgZ2VicnVpa3QgbW9ldCB3b3JkZW4gb2YsIGFscyBkZXplIG5pZXQgb3BnZWdldmVuIGlzLCBkZSBwcmVmaXggdmFuIGRlIGh1aWRpZ2UgdGlqZCAoaW4gZGVjaGV4IGZvcm1hYXQpJzsKJGxhbmdbJ3BhcmFtX25vY2FwdGNoYSddID0gJ1NjaGFrZWwgY2FwdGNoYS1vbmRlcnN0ZXVuaW5nIGluIGhldCB1cGxvYWQtZm9ybXVsaWVyIHVpdCAoc3RhbmRhYXJkIGFhbiknOwokbGFuZ1sndGl0bGVfdXBsb2FkZm9ybV90ZW1wbGF0ZSddID0gJ0Jld2VyayBoZXQgVXBsb2FkIEZvcm11bGllciBTamFibG9vbic7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnVm9lciBkZSB0ZWtzdCB1aXQgaGV0IHBsYWF0amUgaW4nOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnSW5nZXZvZXJkZSB0ZWtzdCBrb210IG5pZXQgb3ZlcmVlbiBtZXQgZGllIGluIGhldCBwbGFhdGplJzsKJGxhbmdbJ3RpdGxlX2F1dG90aHVtYm5haWxfZXh0ZW5zaW9ucyddID0gJ0NyZcOrZXIgbWluaWF0dXJlbiB2b29yIGJlc3RhbmRlbiBtZXQgZGV6ZSBleHRlbnNpZXMnOwokbGFuZ1sndGl0bGVfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWF4aW1hbGUgZ3Jvb3R0ZSAocGl4ZWxzKSB2YW4gZGUgZ2VnZW5lcmVlcmRlIHRodW1ibmFpbHMnOwokbGFuZ1sncHJvbXB0X3VwbG9hZF9pY29uJ10gPSAnVXBsb2FkIGVlbiBpY29vbic7CiRsYW5nWydpbmZvX3N5c2RlZmF1bHQnXSA9ICdEZXplIHRla3N0IHdvcmR0IGdlYnJ1aWt0IGJpaiBoZXQgY3Jlw6tyZW4gdmFuIGVlbiBuaWV1dyBzamFibG9vbiB2YW4gZGl0IHR5cGUnOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3N5c2RlZmF1bHQnXSA9ICdTeXN0ZWVtc3RhbmRhYXJkIERldGFpbCBTamFibG9vbic7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3N5c2RlZmF1bHQnXSA9ICdTeXN0ZWVtc3RhbmRhYXJkIFNhbWVudmF0dGluZyBTamFibG9vbic7CiRsYW5nWyd0aXRsZV91cGxvYWRmb3JtX3N5c2RlZmF1bHQnXSA9ICdTeXN0ZWVtc3RhbmRhYXJkIHVwbG9hZC1mb3JtdWxpZXJzamFibG9vbic7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ1NqYWJsb29uJzsKJGxhbmdbJ3Jlc2V0dG9kZWZhdWx0J10gPSAnSGVyc3RlbCBuYWFyIHN0YW5kYWFyZCc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3RlbXBsYXRlJ10gPSAnU2FtZW52YXR0aW5nIFNqYWJsb29uJzsKJGxhbmdbJ3RpdGxlX2RldGFpbHJwdF90ZW1wbGF0ZSddID0gJ0RldGFpbCBTamFibG9vbic7CiRsYW5nWydwcm9tcHRfbmFtZSddID0gJ05hYW0nOwokbGFuZ1snbGVnZW5kX3VwbG9hZGZvcm0nXSA9ICdVcGxvYWQgZWVuIGJlc3RhbmQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnRWVuIHZlcnBsaWNodGUgcGFyYW1ldGVyIG9udGJyZWVrdCc7CiRsYW5nWydlcnJvcl9taXNzaW5nbmFtZSddID0gJ0VlbiBuYWFtIHZhbiBoZXQgYmVzdGFuZHN0eXBlIG1vZXQgd29yZGVuIG9wZ2VnZXZlbic7CiRsYW5nWydlcnJvcl9taXNzaW5nZXh0ZW5zaW9ucyddID0gJ1Rlbm1pbnN0ZSDDqcOpbiBiZXN0YW5kc2V4dGVuc2llIG1vZXQgd29yZGVuIG9wZ2VnZXZlbic7CiRsYW5nWydlcnJvcl9taXNzaW5naWNvbiddID0gJ0VlbiBpY29vbiBtb2V0IHdvcmRlbiBvcGdlZ2V2ZW4nOwokbGFuZ1snZXJyb3Jfbm9zdWNocm93J10gPSAnRGUgb3BnZWdldmVuIHJpaiBrb24gbmlldCB3b3JkZW4gZ2V2b25kZW4nOwokbGFuZ1snbmFtZV91bmtub3duJ10gPSAnT25iZWtlbmQnOwokbGFuZ1snZGVzY3JpcHRpb25fdW5rbm93biddID0gJ0Jlc3RhbmRzdHlwZSBiZXNjaHJpanZpbmcgdm9vciBuaWV0LW92ZXJlZW5rb21lbmRlIGJlc3RhbmRlbic7CiRsYW5nWydpbWFnZSddID0gJ1BsYWF0amUnOwokbGFuZ1snaWNvbiddID0gJ0ljb29uJzsKJGxhbmdbJ2V4dGVuc2lvbnMnXSA9ICdCZXN0YW5kc2V4dGVuc2llcyc7CiRsYW5nWydhZGRmaWxldHlwZSddID0gJ1ZvZWcgbmlldXcgYmVzdGFuZHN0eXBlIHRvZSc7CiRsYW5nWydmaWxlX3R5cGVzJ10gPSAnQmVzdGFuZHN0eXBlcyc7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3J5aWQnXSA9ICdFciBpcyBnZWVuIGNhdGVnb3JpZS1pZCBvcGdlZ2V2ZW4nOwokbGFuZ1snZXJyb3Jfbm9jYXRlZ29yeSddID0gJ0VyIGlzIGdlZW4gY2F0ZWdvcmllIG9wZ2VnZXZlbic7CiRsYW5nWydlcnJvcl90ZW1wbGF0ZW5hbWVleGlzdHMnXSA9ICdFciBiZXN0YWF0IGFsIGVlbiBzamFibG9vbiBtZXQgZGV6ZSBuYWFtJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZW5hbWUnXSA9ICdTamFibG9vbm5hYW0nOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnU2phYmxvb24nOwokbGFuZ1sncHJvbXB0X25ld3RlbXBsYXRlJ10gPSAnTWFhayBlZW4gbmlldXcgc2phYmxvb24nOwokbGFuZ1snaGVscF9PbkRvd25sb2FkJ10gPSAnPHA+R2VnZW5lcmVlcmRlIGdlYmV1cnRlbmlzIG5hZGF0IGVlbiBnZWJydWlrZXIga2xhYXIgaXMgbWV0IGRvd25sb2FkZW4gdmFuIGVlbiBiZXN0YW5kPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5pZDwvZW0+IC0gVXBsb2FkLWlkPC9saT4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gQmVzdGFuZHNuYWFtPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIElQLWFkcmVzIHZhbiBkZSBkb3dubG9hZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfT25EZWxldGVDYXRlZ29yeSddID0gJzxwPkdlZ2VuZXJlZXJkZSBnZWJldXJ0ZW5pcyBhbHMgZWVuIGNhdGVnb3JpZSBpcyB2ZXJ3aWpkZXJkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBDYXRlZ29yaWVuYWFtPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gQ2F0ZWdvcmllcGFkPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfT25DcmVhdGVDYXRlZ29yeSddID0gJzxwPkdlZ2VuZXJlZXJkZSBnZWJldXJ0ZW5pcyBhbHMgZWVuIGNhdGVnb3JpZSBpcyBhYW5nZW1hYWt0PC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBDYXRlZ29yaWVuYWFtPC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIENhdGVnb3JpZWJlc2NocmlqdmluZzwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIENhdGVnb3JpZXBhZDwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIFZsYWcgZGllIGFhbmdlZWZ0IG9mIGRlIGNhdGVnb3JpZSBpbiBlZW4gbGlqc3Qga2FuIHdvcmRlbiBvcGdlbm9tZW48L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscF9PblJlbW92ZSddID0gJzxwPkdlZ2VuZXJlZXJkZSBnZWJldXJ0ZW5pcyBhbHMgZWVuIGJlc3RhbmQgdmVyd2lqZGVyZCBpcyB2aWEgZGUgYmVoZWVyLSBvZiBkZSBmcm9udGVuZC1pbnRlcmZhY2U8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIE5hYW0gdmFuIGhldCB2ZXJ3aWpkZXJkZSBiZXN0YW5kPC9saT4NCjxsaT48ZW0+aWQ8L2VtPiAtIElEIHZhbiBoZXQgdmVyd2lqZGVyZGUgYmVzdGFuZDwvbGk+DQo8bGk+PGVtPmNhdGVnb3J5X2lkPC9lbT4gLSBJRCB2YW4gZGUgY2F0ZWdvcmllPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHBfT25VcGxvYWQnXSA9ICc8cD5HZWdlbmVyZWVyZGUgZ2ViZXVydGVuaXMgYWxzIGVlbiBuaWV1dyBiZXN0YW5kIGlzIGdldXBsb2FkIHZpYSBkZSBiZWhlZXItIG9mIGZyb250ZW5kLWludGVyZmFjZTwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXBsb2FkX2lkPC9lbT4gLSBUaGUgdXBsb2FkIGlkPC9saT4NCjxsaT48ZW0+Y2F0ZWdvcnk8L2VtPiAtIFRoZSBjYXRlZ29yeSBuYW1lPC9saT4NCjxsaT48ZW0+Y2F0ZWdvcnlwYXRoPC9lbT4gLSBUaGUgY2F0ZWdvcnkgcGF0aDwvbGk+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIFRoZSBuYW1lIG9mIHRoZSB1cGxvYWRlZCBmaWxlPC9saT4NCjxsaT48ZW0+c2l6ZTwvZW0+IC0gVGhlIHNpemUgb2YgdGhlIHVwbG9hZGVkIGZpbGU8L2xpPg0KPGxpPjxlbT5zdW1tYXJ5PC9lbT4gLSBUaGUgc2hvcnQgZGVzY3JpcHRpb24gZm9yIHRoZSB1cGxvYWRlZCBmaWxlIChtYXkgYmUgZW1wdHkpPC9lbT48L2xpPg0KPGxpPjxlbT5kZXNjcmlwdGlvbjwvZW0+IC0gVGhlIGxvbmcgZGVzY3JpcHRpb24gZm9yIHRoZSB1cGxvYWRlZCBmaWxlIChtYXkgYmUgZW1wdHkpPC9lbT48L2xpPg0KPGxpPjxlbT5hdXRob3I8L2VtPiAtIFRoZSBhdXRob3Igb2YgdGhlIHVwbG9hZGVkIGZpbGUgKGlmIGF2YWlsYWJsZSk8L2VtPjwvbGk+DQo8bGk+PGVtPmlwX2FkZHJlc3M8L2VtPiAtIFRoZSBpbnRlcm5ldCBhZGRyZXNzIG9mIHRoZSBjbGllbnQgdGhhdCB1cGxvYWRlZCB0aGUgZmlsZTwvbGk+DQo8L3VsPic7CiRsYW5nWydpbmZvX2V2ZW50X29uZGVsZXRlY2F0ZWdvcnknXSA9ICdFZW4gdGFnIGRpZSB3b3JkdCBhYW5nZXJvZXBlbiBhbHMgZWVuIGNhdGVnb3JpZSBpcyB2ZXJ3aWpkZXJkJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25jcmVhdGVjYXRlZ29yeSddID0gJ0VlbiB0YWcgZGllIHdvcmR0IGFhbmdlcm9lcGVuIGFscyBlZW4gY2F0ZWdvcmllIGlzIGFhbmdlbWFha3QnOwokbGFuZ1snaW5mb19ldmVudF9vbmRvd25sb2FkJ10gPSAnRWVuIHRhZyBkaWUgd29yZHQgYWFuZ2Vyb2VwZW4gYWxzIGVlbiBiZXN0YW5kIGlzIGdlZG93bmxvYWQnOwokbGFuZ1snaW5mb19ldmVudF9vbnVwbG9hZCddID0gJ0VlbiB0YWcgZGllIHdvcmR0IGFhbmdlcm9lcGVuIGFscyBlZW4gYmVzdGFuZCBpcyBnZcO8cGxvYWQnOwokbGFuZ1snaW5mb19ldmVudF9vbnJlbW92ZSddID0gJ0VlbiB0YWcgZGllIHdvcmR0IGFhbmdlcm9lcGVuIGFscyBlZW4gYmVzdGFuZCBpcyB2ZXJ3aWpkZXJkJzsKJGxhbmdbJ3RpdGxlX3VzZXJ0YWdfb251cGxvYWQnXSA9ICdFZW4gdGFnIGRpZSB3b3JkdCBhYW5nZXJvZXBlbiBhbHMgZGUgdXBsb2FkIHZvbHRvb2lkIGlzJzsKJGxhbmdbJ25vbmUnXSA9ICdHZWVuJzsKJGxhbmdbJ21hdGNoZXNmb3VuZCddID0gJ092ZXJlZW5rb21zdGVuIGdldm9uZGVuJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlcic7CiRsYW5nWyd0aXRsZV9yZWRpcmVjdG9udXBsb2FkJ10gPSAnVmVyd2lqcyBuYWFyIHBhZ2luYS1pZC9hbGlhcyBiaWogZ2VicnVpa2VyLXVwbG9hZCc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0YWlscyc7CiRsYW5nWydjb25maXJtX3ByZWZlcmVuY2VzJ10gPSAnV2VldCB1IHpla2VyIGRhdCBkZSB2b29ya2V1cmVuIGFhbmdlcGFzdCBtb2V0ZW4gd29yZGVuPyc7CiRsYW5nWydlcnJvcl9ub2ZpbGVzdXBsb2FkZWQnXSA9ICdFciB6aWpuIGdlZW4gYmVzdGFuZGVuIGdlw7xwbG9hZCc7CiRsYW5nWydwcm9tcHRfcmVwbGFjZSddID0gJ1N0YSBvdmVyc2NocmlqdmVuIHRvZSc7CiRsYW5nWydpbmZvX3JlcGxhY2UnXSA9ICdWZXJ2YW5nIGllZGVyIGJlc3RhbmQgbWV0IGRlemVsZmRlIG5hYW0gKHZlcmFuZGVydCBkZSBpZCBuaWV0KSc7CiRsYW5nWydwYXJhbV9ub19pbml0aWFsJ10gPSAnVG9vbiBnZWVuIGluaXRpw6tsZSByZXN1bHRhdGVuIGFscyBoZXQgZmlsdGVyIGFhbiBzdGFhdCc7CiRsYW5nWydwYXJhbV9rZXknXSA9ICdHZWVmIGVlbiBleHRyYSBtb2R1bGUtc2xldXRlbCBvbSBkZSB1cGxvYWRzIHZlcmRlciB0ZSBjYXRlZ29yaXNlcmVuLiBEZXplIHNsZXV0ZWwga2FuIGVlbiBnZWNvZGVlcmRlIHN0cmluZyB6aWpuIHpvYWxzOiBcJ2Z1c2Vyczp1aWRcJywgZXRjLiBEZXplIHBhcmFtZXRlciBpcyBtZWVzdGFsIGFsbGVlbiBub2RpZyBhbHMgZGUgVXBsb2Fkcy1tb2R1bGUgaW4gZWVuIGFuZGVyZSBtb2R1bGUgd29yZHQgb3BnZW5vbWVuLic7CiRsYW5nWydwYXJhbV9ub2F1dGhvciddID0gJ1ZlcmJlcmcgaGV0IGF1dGV1cnN2ZWxkIHVpdCBoZXQgdXBsb2FkLWZvcm11bGllci4gRGV6ZSBwYXJhbWV0ZXIgaXMgYWxsZWVuIGdlbGRpZyBhbHMgbW9kZT1cJ3VwbG9hZFwnLiBBbHMgZGUgRnJvbnRFbmRVc2Vycy1tb2R1bGUgYWFud2V6aWcgaXMgZW4gZWVuIGdlYnJ1aWtlciBpcyBpbmdlbG9nZCBkYW4gemFsIGVlbiB2ZXJib3JnZW4gdmVsZCBkZSBuYWFtIGJldmF0dGVuIHZhbiBkZSBodWlkaWdlLCBpbmdlbG9nZGUgZ2VicnVpa2VyJzsKJGxhbmdbJ3BhcmFtX3VwbG9hZF9pZCddID0gJ3VwbG9hZF9pZD0iaWQiIC0gc3BlY2lmaWNlZXIgZWVuIGVua2VsIGJlc3RhbmQgdm9vciBkZSB1cmwvbGluayBvZiBlbmtlbGUgbW9kdXMgKGJvdmVuc3RhYW5kKSc7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ0dlYnJ1aWsgZWVuIHNqYWJsb29uIG1ldCBkZXplIG5hYW0gdm9vciBoZXQgZ2VkZXRhaWxsZWVyZGUgcmFwcG9ydCc7CiRsYW5nWydwYXJhbV90ZW1wbGF0ZSddID0gJ0dlYnJ1aWsgZWVuIHNqYWJsb29uIG1ldCBkZXplIG5hYW0gdm9vciBkaXQgcmFwcG9ydCBvZiBmb3JtdWxpZXIuIERlemUgbW9kdXMgd29yZHQgZ2VicnVpa3Qgb20gdGUgYmVwYWxlbiB3ZWxrZSB0eXBlIHNqYWJsb29uIHZlcnBsaWNodCBpcyBlbiB2ZXJ2b2xnZW5zIHdvcmR0IGdlem9jaHQgb3AgZWVuIG92ZXJlZW5rb21lbmRlIG5hYW0gYmlubmVuIGRhdCB0eXBlJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlciddID0gJ1Rvb24gaGV0IGZpbHRlcmZvcm11bGllcic7CiRsYW5nWydwYXJhbV9ub19pbnRpdGlhbCddID0gJ0FsbGVlbiB6aW52b2wgYWxzIGRlIGZpbHRlcnBhcmFtZXRlciBvcGdlZ2V2ZW4gaXMgb2Ygc3RhbmRhYXJkIGFhbi4gRGV6ZSBwYXJhbWV0ZXIgZ2VlZnQgYWFuIG9mIGRlIGluaXRpw6tsZSByZXN1bHRhdGVuIHRlcnVnZ2VnZXZlbiBtb2V0ZW4gd29yZGVuJzsKJGxhbmdbJ3BhcmFtX2ZpbGV0eXBlcyddID0gJ1Rvb24gYWxsZWVuIGJlc3RhbmRlbiB3YWFydmFuIGhldCB0eXBlIG92ZXJlZW5rb210IG1ldCBkZXplIGtvbW1hZ2VzY2hlaWRlbmxpanN0JzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJzxwPlNvcnRlZXJ2b2xnb3JkZQ0KICA8dWw+DQogIDxsaT48ZW0+ZGF0ZV9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGRhdGU8L2xpPg0KICA8bGk+PGVtPmRhdGVfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGRhdGU8L2xpPg0KICA8bGk+PGVtPm5hbWVfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBuYW1lPC9saT4NCiAgPGxpPjxlbT5uYW1lX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBuYW1lPC9saT4NCiAgPGxpPjxlbT5zaXplX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgc2l6ZTwvbGk+DQogIDxsaT48ZW0+c2l6ZV9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgc2l6ZTwvbGk+DQogIDxsaT48ZW0+YXV0aG9yX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgYXV0aG9yPC9saT4NCiAgPGxpPjxlbT5hdXRob3JfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGF1dGhvcjwvbGk+DQogIDxsaT48ZW0+aXBfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBpcCBhZGRyZXNzPC9saT4NCiAgPGxpPjxlbT5pcF9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgaXAgYWRkcmVzczwvbGk+DQogIDxsaT48ZW0+ZGVzY19hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGRlc2NyaXB0aW9uPC9saT4NCiAgPGxpPjxlbT5kZXNjX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBkZXNjcmlwdGlvbjwvbGk+DQogIDxsaT48ZW0+ZG93bmxvYWRzX2FzYzwvZW0+IC0gU29ydCBieSBkb3dubG9hZCBjb3VudCBpbiBhc2NlbmRpbmcgb3JkZXIuPC9saT4NCiAgPGxpPjxlbT5kb3dubG9hZHNfZGVzYzwvZW0+IC0gU29ydCBieSBkb3dubG9hZCBjb3VudCBpbiBkZXNjZW5kaW5nIG9yZGVyLjwvbGk+DQogIDxsaT48ZW0+cmFuZG9tPC9lbT4gLSBSYW5kb20gc29ydCBvcmRlcjwvbGk+DQogIDwvdWw+DQogIDwvcD4nOwokbGFuZ1sncGFyYW1fbGlzdGluZ3RlbXBsYXRlJ10gPSAnU2phYmxvb24gbmEgZG9vcmtsaWtrZW4gdmFuYWYgZGUgQ2F0ZWdvcmllc2FtZW52YXR0aW5ncyBwYWdpbmEnOwokbGFuZ1sncGFyYW1fbGlzdGluZ3NvcnRvcmRlciddID0gJ1NvcnRlZXJ2b2xnb3JkZSAoYWxhIHBhcmFtX3NvcnRvcmRlcikgbmEgZG9vcmtsaWtrZW4gdmFuYWYgZGUgQ2F0ZWdvcmllc2FtZW52YXR0aW5ncyBwYWdpbmEnOwokbGFuZ1sncGFyYW1fZmlsZWV4dGVuc2lvbnMnXSA9ICdmaWxlX2V4dGVuc2lvbnM9ImV4dDEsZXh0MixleHQzIg0KPHA+QWxsZWVuIGdlbGRpZyBhbHMgbW9kdXM9dXBsb2FkLiBEZXplIHBhcmFtZXRlciBiZXBlcmt0IGRlIHR5cGUgYmVzdGFuZGVuIGRpZSBrdW5uZW4gd29yZGVuIGdldXBsb2FkLiBEaXQgb3ZlcnNjaHJpamZ0IGllZGVyZSBpbnN0ZWxsaW5nIGluIGRlIG1vZHVsZS12b29ya2V1cmVuLjwvcD4nOwokbGFuZ1sncGFyYW1fY291bnQnXSA9ICdjb3VudD0iTiINCjxwPkVlbiBwYXJhbWV0ZXIgb20gYWxsZWVuIGRlIGVlcnN0ZSBOIHJlc3VsdGF0ZW4gdmFuIGRlIHF1ZXJ5IHRlIHRvbmVuLiBQYWdpbmVyaW5nIHpvdSBiZXRlciB6aWpuLCBtYWFyIGRpdCB3ZXJrdCBvb2s8L3A+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnY2F0ZWdvcnk9Im5hbWUiDQo8cD48Yj5MZXQgb3A6PC9iPiBDYXRlZ29yaWUga2FuICJhbGxlcyIgemlqbiwgd2F0IGVlbiBsaWpzdCBvcGxldmVydCBtZXQgYWxsZSB1cGxvYWRzIHZhbiBhbGxlIDxlbT5vcHNvbWJhcmU8L2VtPiBjYXRlZ29yaWXDq248L3A+JzsKJGxhbmdbJ3BhcmFtX21vZGUnXSA9ICc8dWw+DQogIDxsaT48ZW0+ZGV0YWlsZWQ8L2VtPiAtIFRvb24gZWVuIGdlZGV0YWlsbGVlcmRlIGxpanN0IG1ldCBhbGxlIGJlc3RhbmRlbiBpbiBkZXplIGNhdGVnb3JpZTwvbGk+DQogIDxsaT48ZW0+dXBsb2FkPC9lbT4gLSBUb29uIGVlbiBmb3JtdWxpZXIgb20gZnJvbnRlbmQtZ2VicnVpa2VycyB0b2UgdGUgc3RhYW4gZWVuIGJlc3RhbmQgdGUgdXBsb2FkZW48L2xpPg0KICA8bGk+PGVtPnVybCA8aT5vcjwvaT4gbGluazwvZW0+IC0gVG9vbiBlZW4gbGluayBuYWFyIGVlbiBiZXN0YW5kPC9saT4NCiAgPGxpPjxlbT5zdW1tYXJ5PC9lbT4gLSBUb29uIGVlbiBzYW1lbmdldmF0dGUgbGlqc3QgbWV0IGFsbGUgYmVzdGFuZGVuIGluIGRlIGNhdGVnb3JpZTwvbGk+DQogIDxsaT48ZW0+c2luZ2xlPC9lbT4gLSBUb29uIGVlbiBnZWRldGFpbGxlZXJkIHJhcHBvcnQgb3ZlciBlZW4gaW5kaXZpZHVlbGUgdXBsb2FkPC9saT4NCiAgPC91bD4nOwokbGFuZ1sncGFyYW1fc2VsZWN0Zm9ybSddID0gJ0FscyBkZSBcJ3NlbGVjdGVlclwnLW1vZHVzIHdvcmR0IGdlYnJ1aWt0IGJldmF0IGRlemUgcGFyYW1ldGVyIGhldCBmb3JtdWxpZXItaWQgdmFuIGhldCBib3ZlbmxpZ2dlbmRlIGZvcm11bGllciAocGFyZW50KS4gV29yZHQgZ2VicnVpa3QgYmlqIGhldCBkb29yZ2V2ZW4gdmFuIHBhcmFtZXRlcnMnOwokbGFuZ1sncGFyYW1fc2VsZWN0bmFtZSddID0gJ0FscyBkZSBcJ3NlbGVjdGVlclwnLW1vZHVzIHdvcmR0IGdlYnJ1aWt0IHNwZWNpZmljZWVydCBkZXplIHBhcmFtZXRlciBkZSB2ZWxkbmFhbSc7CiRsYW5nWydwYXJhbV9zZWxlY3R2YWx1ZSddID0gJ0FscyBkZSBcJ3NlbGVjdGVlclwnLW1vZHVzIHdvcmR0IGdlYnJ1aWt0IHNwZWNpZmljZWVydCBkZXplIHBhcmFtZXRlciBkZSBzdGFuZGFhcmQgdmVsZHdhYXJkZSc7CiRsYW5nWydwYXJhbV9zZWxlY3Rub25lJ10gPSAnQWxzIGRlIFwnc2VsZWN0ZWVyXCctbW9kdXMgd29yZHQgZ2VicnVpa3Qgc3BlY2lmaWNlZXJ0IGRlemUgcGFyYW1ldGVyIG9mIFwnZ2VlblwnIGVlbiBnZWxkaWdlIGtldXplIGlzLic7CiRsYW5nWydyZXR1cm50b21vZHVsZSddID0gJ0tlZXIgdGVydWcgbmFhciBoZXQgbW9kdWxlLXNjaGVybSc7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3JpZXMnXSA9ICdFciB6aWpuIGdlZW4gY2F0ZWdvcmllw6tuIGdlZGVmaW5pZWVyZCc7CiRsYW5nWyd0aXRsZV9lbmZvcmNlZXh0ZW5zaW9ucyddID0gJ0V4dGVuc2llcyBiaWogYWxsZSBnZXVwbG9hZGUgYmVzdGFuZGVuIHppam4gdmVycGxpY2h0JzsKJGxhbmdbJ3Jlc3RvcmVkZWZhdWx0c2NvbmZpcm0nXSA9ICdEZXplIGhhbmRlbGluZyBoZXJzdGVsdCBkZSBzamFibG9vbiBuYWFyIGRlIHN5c3RlZW1zdGFuZGFhcmQuIEllZGVyZSB2ZXJhbmRlcmluZyBkaWUgdSBnZW1hYWt0IGhlZWZ0IHphbCB2ZXJsb3JlbiBnYWFuLiBXZWV0IHUgemVrZXIgZGF0IHUgZG9vciB3aWx0IGdhYW4/JzsKJGxhbmdbJ3RodW1ibmFpbCddID0gJ01pbmlhdHV1cic7CiRsYW5nWyduZXd0aHVtYm5haWwnXSA9ICdVcGxvYWQgZWVuIG5pZXV3ZSBtaW5pYXR1dXInOwokbGFuZ1snaW5mb19zdW1tYXJ5J10gPSAnRWVuIGtvcnRlIGJlc2NocmlqdmluZyB2YW4gaGV0IGJlc3RhbmQgKG9wdGlvbmVlbCwgYW5kZXJzIHdvcmR0IGRlIGJlc3RhbmRzbmFhbSB6b25kZXIgZXh0ZW5zaWUgZ2VicnVpa3QpJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnluYW1lJ10gPSAnRWVuIGtvcnRlIG5hYW0gdm9vciBkZSBjYXRlZ29yaWUnOwokbGFuZ1snaW5mb19jYXRlZ29yeWRlc2MnXSA9ICdFZW4gYmVzY2hyaWp2aW5nIHZhbiBkZSBjYXRlZ29yaWUnOwokbGFuZ1snaW5mb19jYXRlZ29yeXBhdGgnXSA9ICdEZSBtYXBuYWFtIGJpbm5lbiBkZSB1cGxvYWRzLW1hcCBkaWUgZ2VicnVpa3QgemFsIHdvcmRlbiBvbSBiZXN0YW5kZW4gaW4gZGV6ZSBjYXRlZ29yaWUgaW4gb3AgdGUgc2xhYW4uJzsKJGxhbmdbJ2luZm9fZGVzdG5hbWUnXSA9ICdHZWJydWlrIGhldCBcJ1VwbG9hZCBhbHNcJyB2ZWxkIG9tIGRlIG5hYW0gdmFuIGhldCBiZXN0YW5kIHRpamRlbnMgaGV0IHVwbG9hZGVuIHRlIHZlcmFuZGVyZW4gKGJpanYuIGFuZGVyZS1uYWFtLnBkZikuIExhYXQgbGVlZyBvbSBkZSBiZXN0YWFuZGUgYmVzdGFuZHNuYWFtIHRlIGdlYnJ1aWtlbi4nOwokbGFuZ1snZXJyb3JfY2FudGNyZWF0ZWRpcmVjdG9yeSddID0gJ0tvbiBkZSBtYXAgbmlldCBhYW5tYWtlbic7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ0VyIGtvbiBnZWVuIGluc3RhbnRpZSB2YW4gZGUgQ01TTWFpbGVyLW1vZHVsZSB3b3JkZW4gZ2VtYWFrdCc7CiRsYW5nWyd1cGxvYWRfbm90aWZpY2F0aW9uJ10gPSAnRWVuIG5pZXV3IGJlc3RhbmQgaXMgZ2XDvHBsb2FkJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX29uX3VwbG9hZCddID0gJ1N0dXVyIHVwbG9hZC1zcGVjaWZpY2F0aWVzIG5hYXInOwokbGFuZ1snZW1haWxfdGVtcGxhdGUnXSA9ICdFLW1haWwgc2phYmxvb24nOwokbGFuZ1sndGl0bGVfZHVtbXlfaW5kZXhfaHRtbCddID0gJ0NyZcOrZXIgbGVnZSBpbmRleC5odG1sIGJlc3RhbmRlbiBpbiBpZWRlcmUgbWFwPzxici8+PGVtPkJlc3RhYW5kZSBpbmRleC5odG1sIGJlc3RhbmRlbiBibGlqdmVuIGJlaG91ZGVuPC9lbT4nOwokbGFuZ1snYWJvdXQnXSA9ICdPdmVyJzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnXSA9ICdUb2VnYW5nIGdld2VpZ2VyZC4gQ29udHJvbGVlciB1dyByZWNodGVuLic7CiRsYW5nWydlcnJvcl9jb3VsZG5vdHdyaXRlJ10gPSAnS29uIG5pZXQgc2NocmlqdmVuJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnVm9lZyBjYXRlZ29yaWUgdG9lJzsKJGxhbmdbJ2FsbCddID0gJ0FsbGVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdXZWV0IHUgaGV0IHpla2VyPyc7CiRsYW5nWydhdXRob3InXSA9ICdBdXRldXInOwokbGFuZ1snY2FuY2VsJ10gPSAnQW5udWxlZXInOwokbGFuZ1snY2Fubm90bW9kaWZ5cGF0aCddID0gJyhIZXQgcGFkIGthbiBuaWV0IHdvcmRlbiBhYW5nZXBhc3QpJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWXDq24nOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yaWUnOwokbGFuZ1snbWVzc2FnZV9jYXRlZ29yeWFkZGVkJ10gPSAnQ2F0ZWdvcmllIHRvZWdldm9lZ2QnOwokbGFuZ1snZGF0ZSddID0gJ0RhdHVtJzsKJGxhbmdbJ2RhdGV1cGxvYWRlZCddID0gJ1VwbG9hZC1kYXR1bSc7CiRsYW5nWydkZWZhdWx0J10gPSAnU3RhbmRhYXJkZW4nOwokbGFuZ1snZGVsZXRlJ10gPSAnVmVyd2lqZGVyJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVzY2hyaWp2aW5nJzsKJGxhbmdbJ2Rlc3RuYW1lJ10gPSAnVXBsb2FkIGFscyc7CiRsYW5nWydkZXRhaWxfdGVtcGxhdGUnXSA9ICdEZXRhaWxzamFibG9vbic7CiRsYW5nWydkb3dubG9hZGVkJ10gPSAnQmVzdGFuZCAlcyBpcyBnZWRvd25sb2FkLic7CiRsYW5nWydkb3dubG9hZHMnXSA9ICdEb3dubG9hZHMnOwokbGFuZ1snZWRpdCddID0gJ0Jld2Vyayc7CiRsYW5nWydlZGl0Y2F0ZWdvcnknXSA9ICdCZXdlcmsgQ2F0ZWdvcmllJzsKJGxhbmdbJ2VkaXR1cGxvYWQnXSA9ICdCZXdlcmsgVXBsb2FkJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRm91dCEnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlMiddID0gJ0VlbiBjYXRlZ29yaWUgZGllIGRpdCBwYWQgZ2VicnVpa3QgKCVzKSBiZXN0YWF0IGFsJzsKJGxhbmdbJ2Vycm9yX3BhdGhpbnVzZSddID0gJ0VlbiBjYXRlZ29yaWUgZGllIGRhdCBwYWQgZ2VicnVpa3QgYmVzdGFhdCBhbCc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeWV4aXN0czInXSA9ICdGb3V0OiBDYXRlZ29yaWUgZ2VuYWFtZCAlcyBiZXN0YWF0IGFsJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5ZXhpc3RzJ10gPSAnRm91dDogY2F0ZWdvcmllIGJlc3RhYXQgYWwnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlub3RlbXB0eSddID0gJ0ZvdXQhIEthbiBnZWVuIGNhdGVnb3JpZSB2ZXJ3aWpkZXJlbiBkaWUgbmlldCBsZWVnIGlzJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90Zm91bmQnXSA9ICdGb3V0OiBjYXRlZ29yaWUgbmlldCBnZXZvbmRlbic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRm91dDogRGF0YWJhc2Vmb3V0ISc7CiRsYW5nWydlcnJvcl9lbXB0eWNhdGVnb3J5J10gPSAnRm91dDogTGVnZSBjYXRlZ29yaWUhJzsKJGxhbmdbJ2Vycm9yX2VtcHR5cGF0aCddID0gJ0ZvdXQ6IExlZWcgcGFkISc7CiRsYW5nWydlcnJvcl9maWxlZXhpc3RzJ10gPSAnRm91dCEgQmVzdGFuZCAlcyBiZXN0YWF0IGFsLic7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdGb3V0ISBCZXN0YW5kICVzIGlzIG5pZXQgZ2V2b25kZW4uJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ0ZvdXQ6IE9udm9sZG9lbmRlIHBhcmFtZXRlcnMgYWFuIGRlIG1vZHVsZSBnZWdldmVuISc7CiRsYW5nWydlcnJvcl9pbnZhbGlkYXV0aG9yJ10gPSAnRm91dDogT25nZWxkaWdlIChvZiBsZWdlKSBhdXRldXIuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRjYXRlZ29yeSddID0gJ0ZvdXQ6IE9uZ2VsZGlnZSAob2YgbGVnZSkgY2F0ZWdvcmllLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkZGVzY3JpcHRpb24nXSA9ICdGb3V0OiBPbmdlbGRpZ2UgKG9mIGxlZ2UpIGJlc2NocmlqdmluZy4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGZpbGUnXSA9ICdGb3V0OiBPbmdlbGRpZ2UgKG9mIGxlZ2UpIGJlc3RhbmRzbmFhbS4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVwbG9hZGZpbGVuYW1lJ10gPSAnRm91dDogQmVzdGFuZGVuIG1vZXQgZGllIG5hYW0gKHdhYXJzY2hpam5saWprIGRlIGV4dGVuc2llKSB6aWpuIG5pZXQgdG9lZ2VzdGFhbiAoJXMpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkaWQnXSA9ICdGb3V0OiBPbmdlbGRpZ2UgdXBsb2FkLWlkJzsKJGxhbmdbJ2Vycm9yX25vZmlsZXMnXSA9ICdGb3V0OiBHZWVuIG92ZXJlZW5rb21zdGlnZSBiZXN0YW5kZW4hJzsKJGxhbmdbJ2ZpbGVzJ10gPSAnQmVzdGFuZGVuJzsKJGxhbmdbJ2ZpeG1lJ10gPSAnSGVyc3RlbCBzcGF0aWVzJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0Jlc3RhbmRlbiAoVXBsb2Fkcy1tb2R1bGUpJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxlIHZlcnNpZSAlcyAgaXMgZ2XDr25zdGFsbGVlcmQuJzsKJGxhbmdbJ2lwX2FkZHJlc3MnXSA9ICdJUC1hZHJlcyc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VlbiBtb2R1bGUgb20gZ2VicnVpa2VycyBiZXN0YW5kZW4gdGUgbGF0ZW4gdXBsb2FkZW4gZW4gb20gZGUgZ2V1cGxvYWRlIGJlc3RhbmRlbiB0ZSBiZWhlcmVuLic7CiRsYW5nWyduYW1lJ10gPSAnTmFhbSc7CiRsYW5nWydyZW5hbWVtZXNzYWdlJ10gPSAnVmVyYW5kZXIgaGllciBkZSBuYWFtIG9tIGRlIGJlc3RhbmRzbmFhbSB0ZSB2ZXJhbmRlcmVuLic7CiRsYW5nWydwYXRoJ10gPSAnUGFkJzsKJGxhbmdbJ3BhdGhtZXNzYWdlJ10gPSAnVmVyYW5kZXIgZGUgY2F0ZWdvcmllIGhpZXIgb20gaGV0IGJlc3RhbmQgbmFhciBlZW4gYW5kZXJlIG1hcCB0ZSB2ZXJwbGFhdHNlbic7CiRsYW5nWydwYXRoaW51cGxvYWRzJ10gPSAnKFJlbGF0aWVmIHRlbiBvcHppY2h0ZSB2YW4gZGUgdXBsb2Fkcy1tYXApJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnPHA+RGUgVXBsb2Fkcy1tb2R1bGUgaXMgbWV0IHN1Y2NlcyBnZcOvbnN0YWxsZWVyZC4gWm9yZyBkYXQgaGV0ICAiTWFuYWdlIFVwbG9hZHMiIHJlY2h0IGlzIHRvZWdla2VuZCE8L3A+DQo8cD48c3Ryb25nPldhYXJzY2h1d2luZzwvc3Ryb25nPiAtIEhldCBqdWlzdGUgZ2VkcmFnIHZhbiBkZXplIG1vZHVsZSBpcyBhZmhhbmtlbGlqayB2YW4gdmVsZSBwaHAtY29uZmlndXJhdGlldmFyaWFiZWxlbi4gRGV6ZSBiZXZhdHRlbiA8ZW0+KG1hYXIgemlqbiBuaWV0IGJlcGVya3QgdG90KTwvZW0+LCBwaHBcJ3MgbWVtb3J5X2xpbWl0LCBzYWZlX21vZGUsIGZpbGVfdXBsb2FkcywgdXBsb2Fkc19tYXhfZmlsZXNpemUgZW4gbWF4X2V4ZWN1dGlvbl90aW1lLiBEZXplIHZhcmlhYmVsZW4gbW9ldGVuIG1vZ2VsaWprIHdvcmRlbiBhYW5nZXBhc3Qgb20gZGV6ZSBtb2R1bGUgY29ycmVjdCB0ZSBsYXRlbiB3ZXJrZW4uIEhldCB3b3JkdCBnZWFkdmlzZWVyZCBkYXQgdSBzYW1lbiBtZXQgdXcgc3lzdGVlbWJlaGVlcmRlciBvZiBob3N0IHByb3ZpZGVyIGRlemUgaW5zdGVsbGluZ2VuIGFmc3RlbXQgb3AgdXcgd2Vuc2VuLjwvcD4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RlIFVwbG9hZHMtbW9kdWxlIGlzIG1ldCBzdWNjZXMgdmVyd2lqZGVyZC4gRXIgemlqbiBnZWVuIGJlc3RhbmRlbiB2ZXJ3aWpkZXJkIHVpdCBkZSB1cGxvYWRzLW1hcC4nOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdWb29ya2V1cmVuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsZXZvb3JrZXVyZW4gemlqbiBiZXdhYXJkLic7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlkZXNjJ10gPSAnQmVzY2hyaWp2aW5nJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeWxpc3RhYmxlJ10gPSAnQmVzdGFuZGVuIGluIGRlemUgbWFwIGt1bm5lbiB3b3JkZW4gd2VlcmdlZ2V2ZW4nOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5bmFtZSddID0gJ0NhdGVnb3JpZW5hYW0nOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5cGF0aCddID0gJ1NlcnZlciBwYWQnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZWRpcmVjdG9yeSddID0gJ1ZlcndpamRlciBjYXRlZ29yaWVtYXA/JzsKJGxhbmdbJ3Byb21wdF9tYXhfdXBsb2Fkc2l6ZSddID0gJ01heGltYWFsIHRvZWdlc3RhbmUgYmVzdGFuZHNncm9vdHRlIChLYiknOwokbGFuZ1sncHJvbXB0X3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnXSA9ICdHZWxkaWdlIHVwbG9hZCBleHRlbnRpZXMnOwokbGFuZ1snc2NhbiddID0gJ1pvZWsnOwokbGFuZ1snc2VsZWN0Y2F0ZWdvcnknXSA9ICdTZWxlY3RlZXIgY2F0ZWdvcmllJzsKJGxhbmdbJ3NpemUnXSA9ICdHcm9vdHRlJzsKJGxhbmdbJ3NpemVrYiddID0gJ0dyb290dGUgKEtiKSc7CiRsYW5nWydzdWJtaXQnXSA9ICdWZXJ6ZW5kJzsKJGxhbmdbJ3N1bW1hcnlfdGVtcGxhdGUnXSA9ICdTYW1lbnZhdHRpbmcgc2phYmxvbmVuJzsKJGxhbmdbJ3N1bW1hcnknXSA9ICdPbXNjaHJpanZpbmcnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdVcGxvYWRzLW1vZHVsZSc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bGViZWhlZXJwYW5lZWwnOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTW9kdWxlaW5zdGVsbGluZ2VuJzsKJGxhbmdbJ3RpdGxlX3N1Ym5ldF9leGNsdXNpb25zJ10gPSAnU2x1aXQgZGV6ZSBzdWJuZXR0ZW4gdWl0IHZhbiBkZSBzdGF0aXN0aWVrZW4nOwokbGFuZ1sndGl0bGVfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ0dlbGRpZ2UgZXh0ZW5zaWVzJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIGdlZGXDr25zdGFsbGVlcmQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIGdlw7xwZ3JhZGUgbmFhciB2ZXJzaWUgJXMuJzsKJGxhbmdbJ3VwbG9hZCddID0gJ1VwbG9hZCc7CiRsYW5nWyd1cGxvYWRlZCddID0gJ0Jlc3RhbmQgJXMgaXMgZ2XDvHBsb2FkIGRvb3IgJXMuJzsKJGxhbmdbJ3JlcGxhY2VkJ10gPSAnQmVzdGFuZCAlcyBpcyB2ZXJ2YW5nZW4gZG9vciAlcy4nOwokbGFuZ1snZGVsZXRlZCddID0gJ0Jlc3RhbmQgJXMgaXMgdmVyd2lqZGVyZC4nOwokbGFuZ1sndXBsb2FkZm9ybV90ZW1wbGF0ZSddID0gJ1VwbG9hZHNqYWJsb29uJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnR2VicnVpa2Vyc25hYW0nOwokbGFuZ1snd2FybmluZ19kZWxldGVjYXRlZ29yeSddID0gJ1dhYXJzY2h1d2luZzogd2VlcyB2b29yemljaHRpZyBtZXQgaGV0IHZlcndpamRlcmVuIHZhbiBjYXRlZ29yaWXDq24uIEVyIGt1bm5lbiBiZXN0YW5kZW4gdmVybG9yZW4gZ2Fhbic7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3BhZ2VsaW1pdCddID0gJ1BsaWsmb2FjdXRlO3cgbmEgc3Ryb27EmSc7CiRsYW5nWyd2aWV3J10gPSAnUG9rYcW8IHRlbiBwbGlrJzsKJGxhbmdbJ2VkaXRfdGhpc19maWxlJ10gPSAnRWRpdCBUaGlzIEZpZWxkJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeV9zY2FubmFibGUnXSA9ICdDenkgc3p1a2HEhyBwbGlrJm9hY3V0ZTt3IGF1dG9tYXR5Y3puaWUgdyB0ZWoga2F0ZWdvcmlpPyc7CiRsYW5nWydpbmZvX2NhdGVnb3J5X3NjYW5uYWJsZSddID0gJ1doZW4gYWNjZXNzZWQgZnJvbSB0aGUgZnJvbnQgZW5kIHRoaXMgY2F0ZWdvcnkgaXMgYXV0b21hdGljYWxseSBzY2FubmVkIGZvciBuZXcgZmlsZXMnOwokbGFuZ1sncHJvbXB0X3RsX2FjY2VzcyddID0gJ1RpbWUgTGltaXRlZCBBY2Nlc3MnOwokbGFuZ1sncHJvbXB0X2FsbG93X3VwbG9hZF9zZW5kZmlsZSddID0gJ0FsbG93IHNlbmRpbmcgZmlsZXMgaW1tZWRpYXRlbHkgb24gYWRtaW4gdXBsb2FkJzsKJGxhbmdbJ21zZ19hdXRvX2RlbGV0ZV9maWxlJ10gPSAnQXV0b21hdGljYWxseSBkZWxldGVkIGV4cGlyZWQgZmlsZTogJXMnOwokbGFuZ1snbXNnX2F1dG9fZGVsZXRlX2ZpbGVfZmFpbGVkJ10gPSAnUGVybWlzc2lvbnMgcHJvYmxlbSwgYXV0byBkZWxldGUgb2YgJXMgZmFpbGVkJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlfZXhwaXJlc19ocnMnXSA9ICdTcGVjaWZ5IGEgbnVtYmVyIG9mIGhvdXJzIGJlZm9yZSBmaWxlcyBpbiB0aGlzIGNhdGVnb3J5IGNhbiBiZSBkZWxldGVkLiAgVXNlIGEgdmFsdWUgb2YgMCB0byBpbmRpY2F0ZSB0aGF0IGZpbGVzIHNob3VsZCBub3QgYmUgZGVsZXRlZCc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlfZXhwaXJlc19ocnMnXSA9ICdOdW1iZXIgb2YgaG91cnMgdW50aWwgZmlsZXMgaW4gdGhpcyBjYXRlZ29yeSBhcmUgYXV0b21hdGljYWxseSBkZWxldGVkJzsKJGxhbmdbJ2luZm9fZGZsdF9jYXRlZ29yeV9leHBpcnknXSA9ICdUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgbmV3IGNhdGVnb3JpZXMgdGhhdCBzcGVjaWZpZXMgaG93IGxvbmcgZmlsZXMgaW4gdGhpcyBjYXRlZ29yeSBleGlzdCBiZWZvcmUgdGhleSBhcmUgYXV0b21hdGljYWxseSBkZWxldGVkLiAgVXNlIGEgdmFsdWUgb2YgMCB0byBpbmRpY2F0ZSBubyBkZWxldGlvbic7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeV9leHBpcnknXSA9ICdDYXRlZ29yeSBleHBpcnkgcGVyaW9kIDxlbT4oaHJzKTwvZW0+JzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlkZWxldGFibGUnXSA9ICdBdXRob3JpemVkIHVzZXJzIHdpbGwgaGF2ZSBwZXJtaXNzaW9uIHRvIGRlbGV0ZSB0aGVzZSBmaWxlcy4gIFRoaXMgbWVhbnMgdGhhdCBhIHVybCB3aWxsIGJlIHByb3ZpZGVkIGluIHRoZSBhcHByb3ByaWF0ZSB0ZW1wbGF0ZXMgdG8gYWxsb3cgZGVsZXRpbmcgb2YgdGhlIGZpbGUuICBBIHdlYnNpdGUgZGV2ZWxvcGVyIGNhbiB1c2UgYXBwcm9wcmlhdGUgc21hcnR5IGxvZ2ljIHRvIHNob3cgYSBsaW5rIHRvIGF1dGhvcml6ZWQgdXNlcnMuJzsKJGxhbmdbJ2NvcHlfZmlsZXMnXSA9ICdLb3BpdWogcGxpa2knOwokbGFuZ1snZXJyb3JfZmlsZXRvb2xhcmdlJ10gPSAnVGhlIGZpbGUgeW91IGF0dGVtcHRlZCB0byB1cGxvYWRlIGlzIGxhcmdlciB0aGFuIHRoZSBDTVNNUyBtYXhpbXVtIHVwbG9hZCBmaWxlIHNpemUnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVjYXRlZ29yeSddID0gJ05hIHBld25vIHVzdW7EhcSHIHTEmSBrYXRlZ29yacSZPyc7CiRsYW5nWydlcnJvcl9kZWxldGUnXSA9ICdBbiBpdGVtIGNvdW5kIG5vdCBiZSBkZWxldGVkICglcyknOwokbGFuZ1snY29uZmlybV9jYXRfbXVsdGlhY3Rpb24nXSA9ICdDenkgbmEgcGV3bm8gcHJ6ZXByb3dhZHppxIcgYWtjasSZIGRsYSB6YXpuYWN6b255Y2gga2F0ZWdvcmlpPyc7CiRsYW5nWydlcnJvcl9ub3RoaW5nX3NlbGVjdGVkJ10gPSAnQsWCxIVkOiBOaWMgbmllIHphem5hY3pvbm8nOwokbGFuZ1snd2l0aF9zZWxlY3RlZCddID0gJ1dpdGggU2VsZWN0ZWQ6JzsKJGxhbmdbJ2Vycm9yX3JlcGxhY2VfbWlzbWF0Y2hlZF9maWxlZXh0J10gPSAnV2hlbiByZXBsYWNpbmcgYSBmaWxlLCB5b3UgbXVzdCB1cGxvYWQgYSBmaWxlIG9mIHRoZSBzYW1lIGV4YWN0IHR5cGUgKGJ5IGZpbGUgZXh0ZW5zaW9uKS4gIFRoZSBmaWxlIHlvdSBzZWxlY3RlZCBkb2VzIG5vdCBtYXRjaCB0aGF0IG9mIHRoZSBvcmlnaW5hbCBmaWxlLic7CiRsYW5nWydyZXBsYWNlJ10gPSAnWmFzdMSFcCc7CiRsYW5nWydpbmZvX3JlcGxhY2VmaWxlJ10gPSAnWW91IG1heSB1cGxvYWQgYSByZXBsYWNlbWVudCBmaWxlLCBpZiB0aGUgZmlsZSBpcyBhbiBpbWFnZSB0eXBlLCBhbmQgeW91IGhhdmUgbm90IHNwZWNpZmllZCBhIHJlcGxhY2VtZW50IHRodW1ibmFpbCwgYSBuZXcgdGh1bWJuYWlsIHdpbGwgYmUgZ2VuZXJhdGVkJzsKJGxhbmdbJ3Byb21wdF9yZXBsYWNlZmlsZSddID0gJ1VwbG9hZCByZXBsYWNlbWVudCBmaWxlJzsKJGxhbmdbJ3RpdGxlX2ZpeHNwYWNlcyddID0gJ0ZpeCBzcGFjZXMgaW4gdGhlIGZpbGVuYW1lJzsKJGxhbmdbJ2NhdGVnb3J5X2NvcGllZCddID0gJ0NhdGVnb3J5IHN1Y2Nlc3NmdWxseSBjb3BpZWQnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlcGF0aCddID0gJ1BsZWFzZSBzcGVjaWZ5IGEgZGlyZWN0b3J5IG5hbWUgdGhhdCBpcyBkaWZmZXJlbnQgZnJvbSB0aGUgc291cmNlLCBhbmQgaXMgbm90IGFscmVhZHkgaW4gdXNlJzsKJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdPcGVyYXRpb24gQ2FuY2VsbGVkJzsKJGxhbmdbJ3NvdXJjZSddID0gJ1NvdXJjZSc7CiRsYW5nWydkZXN0aW5hdGlvbiddID0gJ0Rlc3RpbmF0aW9uJzsKJGxhbmdbJ3Byb21wdF9jb3B5X2ZpbGVzJ10gPSAnQ29weSBjYXRlZ29yeSBGaWxlcyc7CiRsYW5nWydpbmZvX2NvcHlfZmlsZXMnXSA9ICdDb3B5IHRoZSBmaWxlcyBmcm9tIHRoZSBzb3VyY2UgY2F0ZWdvcnkgdG8gdGhlIGRlc3RpbmF0aW9uIGNhdGVnb3J5JzsKJGxhbmdbJ2V4dHJhJ10gPSAnRXh0cmEnOwokbGFuZ1snY29weSddID0gJ0NvcHknOwokbGFuZ1snc2VsZWN0b25lJ10gPSAnU2VsZWN0IE9uZSc7CiRsYW5nWydhdXRvd2F0ZXJtYXJrJ10gPSAnQXV0b21hdGljYWxsIHBsYWNlIHdhdGVybWFya3Mgb24gaW1hZ2VzJzsKJGxhbmdbJ2ltYWdlX3NldHRpbmdzJ10gPSAnSW1hZ2UgU2V0dGluZ3MnOwokbGFuZ1sncHJvbXB0X2dldGZpbGVfcmVzdWx0cGFnZSddID0gJ1BhZ2UgdG8gdXNlIGZvciBlcnJvcnMgb3Igb3RoZXIgbWVzc2FnZXMgcmVsYXRlZCB0byBmaWxlIGRvd25sb2FkaW5nJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfa2V5J10gPSAnVGhlIHVwbG9hZCBrZXkgc3BlY2lmaWVkIGlzIGludmFsaWQgKG1heWJlIGl0IGhhcyByZWFjaGVkIGl0cyBtYXhpbXVtIGRvd25sb2FkIGNhcGFjaXR5IG9yIGhhcyBleHBpcmVkKSc7CiRsYW5nWydkZmx0X3RpbWVsaW1pdGVkX3N1YmplY3QnXSA9ICd7JHNpdGVuYW1lfSAtIFV6eXNrYcWCZcWbIGRvc3TEmXAgZG8geyRlbnRyeS0+bmFtZXxzdHJpcF90YWdzfSBuYSBva3JlxZtsb255IGN6YXMnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX3N1YmplY3QnXSA9ICdTdWJqZWN0IGZvciBlbWFpbCBjcmVhdGVkIHdoZW4gc2VuZGluZyBhIHRpbWUgbGltaXRlZCBVUkwnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2F1dG9kZWxldGUnXSA9ICdBdXRvIGRlbGV0ZSBleHBpcmVkIGVudHJpZXMgYWZ0ZXIgTiBob3VycyA8ZW0+KHNwZWNpZnkgMCB0byBkaXNhYmxlIGF1dG9kZWxldGUpPC9lbT46JzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9zZW5kaXQnXSA9ICdTZW5kIHRoaXMgdXJsIHRvIHRoZSBkZXNpZ25hdGVkIGVtYWlsIGFkZHJlc3M/JzsKJGxhbmdbJ3VybF9rZXknXSA9ICdVUkwgS2V5JzsKJGxhbmdbJ2NyZWF0ZWQnXSA9ICdVdHdvcnpvbm8nOwokbGFuZ1snZXhwaXJlcyddID0gJ1d5Z2FzYSc7CiRsYW5nWydhZGRlZGl0X3RpbWVsaW1pdGVkX2tleSddID0gJ0FkZC9FZGl0IFRpbWUgTGltaXRlZCBLZXknOwokbGFuZ1sndGltZV9saW1pdGVkX2tleV9hZGRlZCddID0gJ1RpbWUgTGltaXRlZCBLZXkgQWRkZWQnOwokbGFuZ1snbnVtX2hvdXJzJ10gPSAnTnVtYmVyIG9mIEhvdXJzJzsKJGxhbmdbJ251bV9kb3dubG9hZHMnXSA9ICdOdW1iZXIgb2YgRG93bmxvYWRzJzsKJGxhbmdbJ2VtYWlsX2FkZHJlc3MnXSA9ICdFbWFpbCBBZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfaW52YWxpZCddID0gJ0EgcmVxdWlyZWQgdmFsdWUgaXMgbWlzc2luZyBvciBpbnZhbGlkOiAlcyc7CiRsYW5nWydhZGRfdGltZWxpbWl0ZWRfa2V5J10gPSAnQWRkIFRpbWUgTGltaXRlZCBLZXknOwokbGFuZ1snZmlsZV9pbmZvMiddID0gJ0ZpbGUgJXMgKGlkPSVkKSc7CiRsYW5nWydpbmZvX3RpbWVsaW1pdGVkX2Rvd25sb2FkcyddID0gJ1NwZWNpZnkgdGhlIGRlZmF1bHQgbnVtYmVyIG9mIHRpbWVzIHRoYXQgYSBmaWxlIGlkZW50aWZpZWQgYnkgYSBwYXJ0aWN1bGFyIGtleSBjYW4gYmUgZG93bmxvYWRlZCc7CiRsYW5nWydwcm9tcHRfdGltZWxpbWl0ZWRfZG93bmxvYWRzJ10gPSAnRGVmYXVsdCBOdW1iZXIgb2YgRG93bmxvYWRzJzsKJGxhbmdbJ2luZm9fdGltZWxpbWl0ZWRfaG91cnMnXSA9ICdTcGVjaWZ5IHRoZSBkZWZhdWx0IG51bWJlciBvZiBob3VycyB0aGF0IGEgdGltZSBsaW1pdGVkIGtleSBpcyB2YWxpZCBmb3IuICBTcGVjaWZ5IDAgZm9yIHVubGltaXRlZCc7CiRsYW5nWydwcm9tcHRfdGltZWxpbWl0ZWRfaG91cnMnXSA9ICdOdW1iZXIgb2YgaG91cnMgYSBUaW1lIExpbWl0ZWQgS2V5IGlzIHZhbGlkIGZvcic7CiRsYW5nWyd0aW1lbGltaXRlZF91cmxfc2V0dGluZ3MnXSA9ICdUaW1lIExpbWl0ZWQgS2V5IFNldHRpbmdzJzsKJGxhbmdbJ21hbmFnZV90aW1lbGltaXRlZCddID0gJ01hbmFnZSBUaW1lIExpbWl0ZWQgQWNjZXNzJzsKJGxhbmdbJ3VwbG9hZGluZ19zZXR0aW5ncyddID0gJ0ZpbGUgVXBsb2FkIFNldHRpbmdzJzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdHxYImb2FjdXRlO3duZSB1c3Rhd2llbmlhJzsKJGxhbmdbJ3RodW1ibmFpbF9zZXR0aW5ncyddID0gJ0dlbmVyb3dhbmllIG1pbmlhdHVyZWsnOwokbGFuZ1sndGl0bGVfcmVkaXJlY3Rfb25fc2VuZGZpbGUnXSA9ICdQYWdlIHRvIHJlZGlyZWN0IHRvIGFmdGVyIHNlbmRpbmcgYSBmaWxlJzsKJGxhbmdbJ2xibF9iYWNrJ10gPSAnV3Imb2FjdXRlO8SHJzsKJGxhbmdbJ2xibF90ZW1wbGF0ZXMnXSA9ICdNb2RpZnkgVGVtcGxhdGVzJzsKJGxhbmdbJ3Byb21wdF9wdWJsaWNfZmllbGQnXSA9ICdGaWVsZCBpcyBwdWJsaWMgPGVtPihjYW4gYmUgdmlld2VkIGJ5IHNpdGUgdmlzaXRvcnMpPC9lbT4nOwokbGFuZ1sndXBsb2FkX2VkaXRlZCddID0gJ0ZpbGUgRGV0YWlscyBFZGl0ZWQgb24gJXMnOwokbGFuZ1snaW5mb190aHVtYm5haWwnXSA9ICdPcGNqb25hbG55IHBsaWsgbWluaWF0dXJ5JzsKJGxhbmdbJ3VwbG9hZF9maWxlJ10gPSAnV2dyYWogbm93eSBwbGlrJzsKJGxhbmdbJ21zZ19maWVsZF9kZWxldGVkJ10gPSAnRmllbGQgZGVsZXRlZCc7CiRsYW5nWydhc2tfZGVsZXRlX2ZpZWxkJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGZpZWxkIGRlZmluaXRpb24gYW5kIGFsbCBhc3NvY2lhdGVkIHZhbHVlcz8nOwokbGFuZ1sneWVzJ10gPSAnVGFrJzsKJGxhbmdbJ25vJ10gPSAnTmllJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXBlJzsKJGxhbmdbJ2ZpZWxkdHlwZV9tdWx0aXNlbGVjdCddID0gJ011bHRpc2VsZWN0IExpc3QnOwokbGFuZ1snZmllbGR0eXBlX2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24gTGlzdCc7CiRsYW5nWydmaWVsZHR5cGVfY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydmaWVsZHR5cGVfdGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1snZmllbGR0eXBlX3RleHRpbnB1dCddID0gJ1RleHQgSW5wdXQnOwokbGFuZ1sncHJvbXB0X3VzZV93eXNpd3lnJ10gPSAnVXNlIHRoZSB3eXNpd3lnIHdoZW4gZWRpdGluZyB0aGUgdmFsdWUgZm9yIHRoaXMgZmllbGQnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfY29udGVudCddID0gJ0RlZmF1bHQgY29udGVudCBmb3IgdGV4dCBhcmVhJzsKJGxhbmdbJ3Byb21wdF9kcm9wZG93bl9vcHRpb25zJ10gPSAnT3B0aW9ucyAob25lIGVudHJ5IHBlciBsaW5lKSc7CiRsYW5nWydwcm9tcHRfZmllbGRfbWF4bGVuZ3RoJ10gPSAnRmllbGQgTWF4aW11bSBMZW5ndGgnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX2xlbmd0aCddID0gJ0ZpZWxkIExlbmd0aCc7CiRsYW5nWydwcm9tcHRfZmllbGRfdHlwZSddID0gJ0ZpZWxkIFR5cGUnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX25hbWUnXSA9ICdGaWVsZCBOYW1lJzsKJGxhbmdbJ3RpdGxlX2FkZF9maWVsZCddID0gJ0FkZCBvciBFZGl0IGEgRmllbGQgRGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZF9kZWZpbml0aW9ucyddID0gJ0ZpZWxkIERlZmluaXRpb25zJzsKJGxhbmdbJ3Byb21wdF9hZGRfZmllbGQnXSA9ICdBZGQgYSBGaWVsZCBEZWZpbml0aW9uJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZmllcyB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUgdGFnLiAgUG9zc2libGUgdmFsdWVzIGFyZTogZGVmYXVsdCAtICh0aGUgZGVmYWZhdWx0IGJlaGF2aW9yKSwgZGV0YWlsIC0gdG8gZGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIGZpbGUgYmFzZWQgb24gdGhlIHVwbG9hZF9pZCwgYW5kIHlvdXNlbmRpdCAtIHRvIGRpc3BsYXkgYSBmb3JtIHRvIGFsbG93IHVwbG9hZGluZyBhIGZpbGUsIGFuZCBzZW5kaW5nIGl0IHRvIG51bWVyb3VzIGFkZHJlc3NlcyBpbiBvbmUgc3RlcCc7CiRsYW5nWydwYXJhbV9zZW5kZmlsZXBhZ2UnXSA9ICdTcGVjaWZ5IHRoZSBwYWdlIGlkIG9yIGFsaWFzIG9mIGEgcGFnZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgc2VuZCBhIGZpbGUgZm9ybSc7CiRsYW5nWydmaWxlX3VwbG9hZGVkJ10gPSAnUGxpayB6b3N0YcWCIHdncmFueSc7CiRsYW5nWyd0byddID0gJ0RvJzsKJGxhbmdbJ3RpdGxlX3lvdXNlbmRpdGZvcm1fdGVtcGxhdGUnXSA9ICdBZGQgb3IgRWRpdCBhICZxdW90O1lvdSBTZW5kIEl0JnF1b3Q7IEZvcm0gVGVtcGxhdGUnOwokbGFuZ1sneW91c2VuZGl0Zm9ybV90ZW1wbGF0ZSddID0gJ1lvdVNlbmRJdCBGb3JtIFRlbXBsYXRlcyc7CiRsYW5nWyd0aXRsZV95b3VzZW5kaXRmb3JtX3N5c2RlZmF1bHQnXSA9ICdTeXN0ZW0gZGVmYXVsdCAmcXVvdDt5b3Ugc2VuZCBpdCZxdW90OyB0ZW1wbGF0ZSc7CiRsYW5nWydtc2dfZmlsZV9zZW50J10gPSAnQSBtZXNzYWdlIGhhcyBiZWVuIHNlbnQgdG8gdGhlIHNlbGVjdGVkIGFkZHJlc3NlcyB0aGF0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaWxlIGFuZCBob3cgdG8gcmV0cmlldmUgaXQuJzsKJGxhbmdbJ2Vycm9yX25vYWRkcmVzc2VzJ10gPSAnWW91IG11c3Qgc3VwcGx5IGF0IGxlYXN0IG9uZSBkZXN0aW5hdGlvbiBhZGRyZXNzJzsKJGxhbmdbJ2Vycm9yX25vc3ViamVjdCddID0gJ1lvdSBtdXN0IHN1cHBseSBhIHN1YmplY3QnOwokbGFuZ1snc3ViamVjdCddID0gJ1N1YmplY3QnOwokbGFuZ1sndGl0bGVfc2VuZGZpbGVwYWdlJ10gPSAnUGFnZSB0byB1c2UgZm9yIHRpbWUgbGltaXRlZCBvciAmcXVvdDtZb3VTZW5kSXQmcXVvdDsgVVJMUyc7CiRsYW5nWydmaWxlX2luZm8nXSA9ICdGaWxlIEluZm8nOwokbGFuZ1snc2VuZCddID0gJ1d5xZtsaWonOwokbGFuZ1snbm90ZXMnXSA9ICdOb3Rlcyc7CiRsYW5nWydhZGRyZXNzZWVzJ10gPSAnU2VuZCBpbmZvcm1hdGlvbiBhYm91dCB0aGlzIGZpbGUgdG8nOwokbGFuZ1sncHJvbXB0X3NlbmRmaWxlX2VtYWlsX3RlbXBsYXRlJ10gPSAnJnF1b3Q7U2VuZCBhIEZpbGUmcXVvdDsgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGZpbGVmb3JtX3RlbXBsYXRlJ10gPSAnQWRkIG9yIEVkaXQgYSAmcXVvdDtTZW5kIGEgRmlsZSZxdW90OyBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ3NlbmRmaWxlZm9ybV90ZW1wbGF0ZSddID0gJyZxdW90O1NlbmQgYSBGaWxlJnF1b3Q7IEZvcm0gVGVtcGxhdGVzJzsKJGxhbmdbJ3Byb21wdF9ub3RpZnlfZW1haWxfdGVtcGxhdGUnXSA9ICdQb3dpYWRvbWllbmllIG8gd2dyYW5pdSBwb3ByemV6IGVtYWlsJzsKJGxhbmdbJ3RpdGxlX3NlbmRmaWxlZm9ybV9zeXNkZWZhdWx0J10gPSAnU3lzdGVtIGRlZmF1bHQgJnF1b3Q7U2VuZCBhIEZpbGUmcXVvdDsgZm9ybSB0ZW1wbGF0ZSc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlkZWxldGFibGUnXSA9ICdQbGlraSB6IHRlaiBrYXRlZ29yaWkgbW9nxIUgem9zdGHEhyB1c3VuacSZdGUnOwokbGFuZ1sndGl0bGVfYWxsb3dfZGVsZXRlJ10gPSAnQWxsb3cgZGVsZXRpb24gb2YgZmlsZXMgZnJvbSB0aGUgZnJvbnRlbmQnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZXMnXSA9ICdEb215xZtsbmUgc3phYmxvbnknOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnUGllcndzemEgc3Ryb25hJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnUG9wcnplZG5pYSBzdHJvbmEnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICdOYXN0xJlwbmEgc3Ryb25hJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnT3N0YXRuaWEgc3Ryb25hJzsKJGxhbmdbJ2ZpcnN0cGFnZV9hcnJvdyddID0gJzw8JzsKJGxhbmdbJ3ByZXZwYWdlX2Fycm93J10gPSAnPCc7CiRsYW5nWyduZXh0cGFnZV9hcnJvdyddID0gJz4nOwokbGFuZ1snbGFzdHBhZ2VfYXJyb3cnXSA9ICc+Pic7CiRsYW5nWydwYWdlJ10gPSAnU3Ryb25hJzsKJGxhbmdbJ29mJ10gPSAneic7CiRsYW5nWydwcm9tcHRfZ3JvdXBsaXN0J10gPSAnWmV6d2FsYWogZ3J1cG9tIEZFVSAnOwokbGFuZ1snaW5mb19ncm91cGxpc3QnXSA9ICdXeWJpZXJ6IGdydXB5IEZFVSwga3Qmb2FjdXRlO3JlIG1vZ8SFIHVwbG9hZG93YcSHIHBsaWtpLiBOaWUgd3licmF6bmllIMW8YWRuZWogZ3J1cHkgemV6d2FsYSBuYSB1cGxvYWQgd3N6eXN0a2ltIGdydXBvbSc7CiRsYW5nWyd0aXRsZV9zY2FuJ10gPSAnU2thbnVqIHcgcG9zenVraXdhbml1IG5vd3ljaCBwbGlrJm9hY3V0ZTt3IHcga2F0ZWdvcmlpJzsKJGxhbmdbJ3RpdGxlX2NyZWF0ZV90aHVtYm5haWxzJ10gPSAnU3R3Jm9hY3V0ZTtyeiBicmFrdWrEhWNlIG1pbmlhdHVyeSBkbGEgcGxpayZvYWN1dGU7dyB3IHRlaiBsYXRlZ3ByaWknOwokbGFuZ1snY3JlYXRlX3RodW1ibmFpbHMnXSA9ICdTdHcmb2FjdXRlO3J6IG1pbmlhdHVyeSc7CiRsYW5nWyd0aXRsZV9jcmVhdGVfdGh1bWJuYWlsJ10gPSAnU3R3Jm9hY3V0ZTtyei9vZMWbd2llxbwgbWluaWF0dXLEmSBkbGEgdGVnbyBwbGlrdSc7CiRsYW5nWydjcmVhdGVfdGh1bWJuYWlsJ10gPSAnU3R3Jm9hY3V0ZTtyeiBtaW5pYXR1csSZJzsKJGxhbmdbJ2Vycm9yX3BhdGhlcnJvciddID0gJ05pZSBtb8W8bmEgb3R3b3J6ecSHIGthdGFsb2d1IChwcmJsZW0geiB1cHJhd25pZW5pYW1pJzsKJGxhbmdbJ3RpdGxlX2Rvd25sb2FkX2NodW5rc2l6ZSddID0gJ1Jvem1pYXIga2HFvGRlZ28gxZtjacSFZ2FuZWdvIGJsb2t1JzsKJGxhbmdbJ2luZm9fZG93bmxvYWRfY2h1bmtzaXplJ10gPSAnWm1pYW5hIHRlZ28gcGFyYW1ldHJ1IGLEmWR6aWUgbWlhxYJhIHdwxYJ5dyBuYSBzenlia2/Fm8SHIMWbY2nEhWdhbmlhIHBsaWt1LCBhbGUgbW/FvGUgcG9tJm9hY3V0ZTtjIHcga29uZmlndXJhY2phY2ggeiBtbmllanN6xIUgaWxvxZtjacSFIGRvc3TEmXBuZWogcGFtacSZY2knOwokbGFuZ1snd2FybmluZ19zYWZlX21vZGUnXSA9ICdTYWZlIG1vZGUgdyBQSFAgamVzdCB3xYLEhWN6b25lLiBNb8W8ZSB0byBwb3dvZG93YcSHIHByb2JsZW15IHogdXBsb2FkZW0gcGxpayZvYWN1dGU7dyAodXByYXduaWVuaWEpLCBhIHRha8W8ZSB6ZSDFm2NpxIVnYW5pZW0gKGJyYWsgdXByYXduaWXFhCBkbyB6bWlhbnkgcGFyYW1ldHImb2FjdXRlO3cgcGhwLmluaSkuIFNrb250YWt0dWogc2nEmSB6ZSBzd29pbSBhZG1pbmlzdHJhdG9yZW0gaSB6YXB5dGFqIG8gbW/FvGxpd2/Fm8SHIHd5xYLEhWN6ZW5pYSB0ZWdvIHRyeWJ1Lic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnUHJ6eWRhdG5lIGRvIHd5xZt3aWV0bGFuaWEgcmFwb3J0dSBwcnp5IHXFvHljaXUgciZvYWN1dGU7xbxueWNoIHN6YWJsb24mb2FjdXRlO3cuIE1vxbxlc3ogdHUgd3N0YXdpxIcgSUQgc3Ryb255IGx1YiBqZWogYWxpYXMuJzsKJGxhbmdbJ3BhcmFtX3ByZWZpeCddID0gJ1ptaWVubmEgd3NrYXp1asSFY2EgY3p5IGRvIG5hencgcGxpayZvYWN1dGU7dyBwb3dpbmllbiBiecSHIGRvZGFueSBwcmVmaWtzLic7CiRsYW5nWydwYXJhbV9wcmVmaXhfZmV1J10gPSAnUGFyYW1ldHIga3Qmb2FjdXRlO3J5IHdza2F6dWplLCBjenkgcHJlZmlrcyBwb3dpbmluZW4gYnnEhyB3emnEmXR5IHogZGFueWNoIGF1dG9yYSB1cGxvYWR1LCBjenkgdGXFvCAoamXFm2xpIG5pYyBuaWUgcG9kYW5vKSwgb2JsaWN6b255IHplIHpuYWN6bmlrYSBha3R1YWxuZWdvIGN6YXN1Lic7CiRsYW5nWydwYXJhbV9ub2NhcHRjaGEnXSA9ICdXecWCxIVjeiBvYnPFgnVnxJkgQ2FwdGNoYSB3IGZvcm11bGFyenUgdXBsb2FkdSAod8WCxIVjem9uZSBkb215xZtsbmllKSc7CiRsYW5nWyd0aXRsZV91cGxvYWRmb3JtX3RlbXBsYXRlJ10gPSAnRWR5dHVqIHN6YWJsb24gZm9ybXVsYXJ6YSB1cGxvYWR1JzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdXcGlzeiB0ZWtzdCB3ecWbd2lldGxhbnkgdyB0eW0gb2JyYXprdSc7CiRsYW5nWydlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnXSA9ICdXcGlzYW55IHRla3N0IG5pZSBwYXN1amUgZG8gd3nFm3dpZXRsYW5lZ28gb2JyYXprYSc7CiRsYW5nWyd0aXRsZV9hdXRvdGh1bWJuYWlsX2V4dGVuc2lvbnMnXSA9ICdTdHcmb2FjdXRlO3J6IG1pbmlhdHVyeSBkbGEgcGxpayZvYWN1dGU7dyB6IHR5bWkgcm96c3plcnplbmlhbWknOwokbGFuZ1sndGl0bGVfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWFrc3ltYWxueSByb3ptaWFyIG1pbmlhdHVyeSAodyBwaWtzZWxhY2gpICc7CiRsYW5nWydwcm9tcHRfdXBsb2FkX2ljb24nXSA9ICdaYcWCYWR1aiBpa29uxJknOwokbGFuZ1snaW5mb19zeXNkZWZhdWx0J10gPSAnVGVuIHRla3N0IGplc3QgdcW8eXdhbnkgcG9kY3phcyB0d29yemVuaWEgbm93ZWdvIHN6YWJsb251IHRlZ28gdHlwdSc7CiRsYW5nWyd0aXRsZV9kZXRhaWxycHRfc3lzZGVmYXVsdCddID0gJ0RvbXnFm2xueSBzemFibG9uIGRsYSBzemN6ZWcmb2FjdXRlO8WCb3dlZ28gcmFwb3J0dSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3N5c2RlZmF1bHQnXSA9ICdEb215xZtsbnkgc3phYmxvbiBkbGEgcG9kc3Vtb3d1asSFY2VnbyByYXBvcnR1JzsKJGxhbmdbJ3RpdGxlX3VwbG9hZGZvcm1fc3lzZGVmYXVsdCddID0gJ0RvbXnFm2xueSBzemFibG9uIGRsYSBmb3JtdWxhcnphIHVwbG9hZHUnOwokbGFuZ1sndGVtcGxhdGUnXSA9ICdTemFibG9uJzsKJGxhbmdbJ3Jlc2V0dG9kZWZhdWx0J10gPSAnUHJ6eXdyJm9hY3V0ZTvEhyBkb215xZtsbmUnOwokbGFuZ1sndGl0bGVfc3VtbWFyeXJwdF90ZW1wbGF0ZSddID0gJ1N6YWJsb24gcmFwb3J0dSBwb2RzdW1vd3VqxIVjZWdvJzsKJGxhbmdbJ3RpdGxlX2RldGFpbHJwdF90ZW1wbGF0ZSddID0gJ1N6YWJsb24gcmFwb3J0dSBzemN6ZWcmb2FjdXRlO8WCb3dlZ28nOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdOYXp3YSc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdCddID0gJ0RvbXnFm2xueSc7CiRsYW5nWydsZWdlbmRfdXBsb2FkZm9ybSddID0gJ1phxYJhZHVqIHBsaWsnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnQnJhayB3eW1hZ2FuZWdvIHBhcmFtZXRydSc7CiRsYW5nWydlcnJvcl9taXNzaW5nbmFtZSddID0gJ05hendhIHR5cHUgcGxpa3UgbXVzaSBiecSHIHBvZGFuYSc7CiRsYW5nWydlcnJvcl9taXNzaW5nZXh0ZW5zaW9ucyddID0gJ0NvbmFqbW5pZWogamVkbm8gcm96c3plcnplbmllIG11c2kgYnnEhyBwb2RhbmUnOwokbGFuZ1snZXJyb3JfbWlzc2luZ2ljb24nXSA9ICdNdXNpc3ogcG9kYcSHIGlrb27EmSc7CiRsYW5nWydlcnJvcl9ub3N1Y2hyb3cnXSA9ICdOaWUgbW/FvG5hIHpuYWxlxbrEhyB3aWVyc3phJzsKJGxhbmdbJ25hbWVfdW5rbm93biddID0gJ05pZXpuYW55JzsKJGxhbmdbJ2Rlc2NyaXB0aW9uX3Vua25vd24nXSA9ICdPcGlzIHR5cHUgcGxpa3UgZGxhIG5pZXBhc3VqxIVjeWNoIHBsaWsmb2FjdXRlO3cnOwokbGFuZ1snaW1hZ2UnXSA9ICdPYnJhemVrJzsKJGxhbmdbJ2ljb24nXSA9ICdJa29uYSc7CiRsYW5nWydleHRlbnNpb25zJ10gPSAnUm96c3plcnplbmlhIG5hencgcGxpayZvYWN1dGU7dyc7CiRsYW5nWydhZGRmaWxldHlwZSddID0gJ0RvZGFqIG5vd3kgdHlwIHBsaWt1JzsKJGxhbmdbJ2ZpbGVfdHlwZXMnXSA9ICdUeXB5IHBsaWsmb2FjdXRlO3cnOwokbGFuZ1snZXJyb3Jfbm9jYXRlZ29yeWlkJ10gPSAnQnJhayBJRCBrYXRlZ29yaWknOwokbGFuZ1snZXJyb3Jfbm9jYXRlZ29yeSddID0gJ0JyYWsgSUQga2F0ZWdvcmlpJzsKJGxhbmdbJ2Vycm9yX3RlbXBsYXRlbmFtZWV4aXN0cyddID0gJ1N6YWJsb24geiB0YWvEhSBuYXp3xIUganXFvCBpc3RuaWVqZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGVuYW1lJ10gPSAnTmF6d2Egc3phYmxvbnUnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnU3phYmxvbic7CiRsYW5nWydwcm9tcHRfbmV3dGVtcGxhdGUnXSA9ICdTdHcmb2FjdXRlO3J6IG5vd3kgc3phYmxvbic7CiRsYW5nWydoZWxwX09uRG93bmxvYWQnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZmluaXNoZXMgZG93bmxvYWRpbmcgYSBmaWxlPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5pZDwvZW0+IC0gVXBsb2FkIElEPC9saT4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRmlsZSBuYW1lPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIFRoZSBJUCBBZGRyZXNzIG9mIHRoZSBkb3dubG9hZGVyPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PbkRlbGV0ZUNhdGVnb3J5J10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBjYXRlZ29yeSBpcyBEZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBDYXRlZ29yeSBuYW1lPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gQ2F0ZWdvcnkgcGF0aDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfT25DcmVhdGVDYXRlZ29yeSddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgY2F0ZWdvcnkgaXMgQ3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGNhdGVnb3J5PC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBjYXRlZ29yeSBkZXNjcmlwdGlvbjwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIFRoZSBjYXRlZ29yeSBwYXRoPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gQSBmbGFnIGluZGljYXRpbmcgaWYgdGhlIGNhdGVnb3J5IGlzIGxpc3RhYmxlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PblJlbW92ZSddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZmlsZSBpcyByZW1vdmVkIHZpYSB0aGUgYWRtaW4gb3IgZnJvbnRlbmQgaW50ZXJmYWNlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIHJlbW92ZWQgZmlsZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgaWQgb2YgdGhlIHJlbW92ZWQgZmlsZTwvbGk+DQo8bGk+PGVtPmNhdGVnb3J5X2lkPC9lbT4gLSBUaGUgaWQgb2YgdGhlIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PblVwbG9hZCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IGZpbGUgaXMgdXBsb2FkZWQgdmlhIHRoZSBhZG1pbiBvciBmcm9udGVuZCBpbnRlcmZhY2VzPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5jYXRlZ29yeTwvZW0+IC0gVGhlIGNhdGVnb3J5IG5hbWU8L2xpPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgdXBsb2FkZWQgZmlsZTwvbGk+DQo8bGk+PGVtPnNpemU8L2VtPiAtIFRoZSBzaXplIG9mIHRoZSB1cGxvYWRlZCBmaWxlPC9saT4NCjxsaT48ZW0+c3VtbWFyeTwvZW0+IC0gVGhlIHNob3J0IGRlc2NyaXB0aW9uIGZvciB0aGUgdXBsb2FkZWQgZmlsZSAobWF5IGJlIGVtcHR5KTwvZW0+PC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBsb25nIGRlc2NyaXB0aW9uIGZvciB0aGUgdXBsb2FkZWQgZmlsZSAobWF5IGJlIGVtcHR5KTwvZW0+PC9saT4NCjxsaT48ZW0+YXV0aG9yPC9lbT4gLSBUaGUgYXV0aG9yIG9mIHRoZSB1cGxvYWRlZCBmaWxlIChpZiBhdmFpbGFibGUpPC9lbT48L2xpPg0KPGxpPjxlbT5pcF9hZGRyZXNzPC9lbT4gLSBUaGUgaW50ZXJuZXQgYWRkcmVzcyBvZiB0aGUgY2xpZW50IHRoYXQgdXBsb2FkZWQgdGhlIGZpbGU8L2xpPg0KPC91bD4NCic7CiRsYW5nWydpbmZvX2V2ZW50X29uZGVsZXRlY2F0ZWdvcnknXSA9ICdFdmVudCBnZW5lcmF0ZWQgd2hlbiBhIGNhdGVnb3J5IGlzIGRlbGV0ZWQnOwokbGFuZ1snaW5mb19ldmVudF9vbmNyZWF0ZWNhdGVnb3J5J10gPSAnRXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBjYXRlZ29yeSBpcyBjcmVhdGVkJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25kb3dubG9hZCddID0gJ0V2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZmlsZSBpcyBkb3dubG9hZGVkJzsKJGxhbmdbJ2luZm9fZXZlbnRfb251cGxvYWQnXSA9ICdFdmVudCBnZW5lcmF0ZWQgd2hlbiBhIG5ldyBmaWxlIGlzIHVwbG9hZGVkJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25yZW1vdmUnXSA9ICdFdmVudCBnZW5lcmF0ZWQgd2hlbiBhIGZpbGUgaXMgcmVtb3ZlZCc7CiRsYW5nWyd0aXRsZV91c2VydGFnX29udXBsb2FkJ10gPSAnWm5hY3puaWsgdcW8eXRrb3duaWthIHd5d2/Fgnl3YW55IGdkeSDFgmFkb3dhbmllIHBsaWt1IHNpxJkgemFrb8WEY3p5JzsKJGxhbmdbJ25vbmUnXSA9ICdCcmFrJzsKJGxhbmdbJ21hdGNoZXNmb3VuZCddID0gJ1puYWxlemlvbm8nOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdHInOwokbGFuZ1sndGl0bGVfcmVkaXJlY3RvbnVwbG9hZCddID0gJ1ByemVraWVydWogZG8gc3Ryb255IHBvIHphxYJhZG93YW5pdSBwbGlrdSBwcnpleiB1xbx5dGtvd25pa2EnOwokbGFuZ1snZGV0YWlscyddID0gJ1N6Y3plZyZvYWN1dGU7xYJ5JzsKJGxhbmdbJ2NvbmZpcm1fcHJlZmVyZW5jZXMnXSA9ICdDenkgbmFwZXdubyBjaGNlc3ogem1pZW5pxIcgdXN0YXdpZW5pYT8nOwokbGFuZ1snZXJyb3Jfbm9maWxlc3VwbG9hZGVkJ10gPSAnTmllIHphxYJhZG93YW5lZ28gxbxhZG55Y2ggcGxpayZvYWN1dGU7dy4nOwokbGFuZ1sncHJvbXB0X3JlcGxhY2UnXSA9ICdQb3p3Jm9hY3V0ZTtsIG5hIG5hZHBpc3l3YW5pZSBwbGlrJm9hY3V0ZTt3JzsKJGxhbmdbJ2luZm9fcmVwbGFjZSddID0gJ05hZHBpc3VqZSBwbGlrIHogdMSFIHNhbcSFIG5henfEhSAoYWxlIG5pZSB6bWllbmlhIElEKSc7CiRsYW5nWydwYXJhbV9ub19pbml0aWFsJ10gPSAnTmllIHd5xZt3aWV0bGFqIMW8YWRueWNoIHdzdMSZcG55Y2ggd3luaWsmb2FjdXRlO3cgZ2R5IGZpbHRyIGplc3Qgd8WCxIVjem9ueSc7CiRsYW5nWydwYXJhbV9rZXknXSA9ICdQb2RhaiBkb2RhdGtvd3kgcGFyYW1ldHIsIGt0Jm9hY3V0ZTtyeXBvendvbGkgem9yZ2FuaXpvd2HEhyBwbGlraS4gVGVuIHBhcmFtZXRyIG1vxbxlIGJ5xIcgbnAuIGNpxIVnaWVtICYjMDM5O2ZldXNlcnM6dWlkJiMwMzk7IGl0cC4gVGVuIHBhcmFtZXRyIHp3eWtsZSBqZXN0IHBvdHJ6ZWJueSBwcnp5IHXFvHl3YW5pdSBtb2R1xYJ1IFVwbG9hZHMgcHJ6ZXogaW5uZSBtb2R1xYJ5Lic7CiRsYW5nWydwYXJhbV9ub2F1dGhvciddID0gJ1VrcnlqIHBvbGUgYXV0b3JhIHogZm9ybXVsYXJ6YSB1cGxvYWR1LiBUZW4gcGFyYW1ldHIgbWEgemFzdG9zb3dhbmllIHR5bGtvIHByenkgbW9kZT0mIzAzOTt1cGxvYWQmIzAzOTsuIEdkeSBtb2R1xYIgRnJvbnRFbmRVc2VycyBqZXN0IHphaW5zdGFsb3dhbnkgaSB1xbx5dGtvd25payBGRVUgamVzdCB6YWxvZ293YW55LCB1a3J5dGUgcG9sZSB6b3N0YW5pZSB3eXBlxYJuaW9uZSBuYXp3xIUgbG9nb3dhbmlhIHRlZ28gdcW8eXRrb3duaWthLic7CiRsYW5nWydwYXJhbV91cGxvYWRfaWQnXSA9ICd1cGxvYWRfaWQ9JnF1b3Q7aWQmcXVvdDsgLSBzcGVjaWZ5IGEgc2luZ2xlIGZpbGUgZm9yIHRoZSB1cmwvbGluayBvciBzaW5nbGUgbW9kZXMgKGFib3ZlKSc7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1VzZSBhIHRlbXBsYXRlIHdpdGggdGhpcyBuYW1lIGZvciB0aGUgZGV0YWlsZWQgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV90ZW1wbGF0ZSddID0gJ1VzZSBhIHRlbXBsYXRlIHdpdGggdGhpcyBuYW1lIGZvciB0aGlzIHJlcG9ydCBvciBmb3JtLiAgVGhlIG1vZGUgaXMgdXNlZCB0byBkZXRlcm1pbmUgd2hhdCB0eXBlIG9mIHRlbXBsYXRlIGlzIHJlcXVpcmVyZCwgYW5kIHRoZW4gYSBuYW1lIG1hdGNoIGlzIHBlcmZvcm1lZCB3aXRoaW4gdGhhdCB0eXBlLic7CiRsYW5nWydwYXJhbV9maWx0ZXInXSA9ICdEaXNwbGF5IHRoZSBmaWx0ZXJpbmcgZm9ybSc7CiRsYW5nWydwYXJhbV9ub19pbnRpdGlhbCddID0gJ09ubHkgdXNlZnVsIHdoZW4gdGhlIGZpbHRlciBwYXJhbWV0ZXIgaXMgc3VwcGxpZWQsIG9yIG9uIGJ5IGRlZmF1bHQsIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB3ZXRoZXIgaW5pdGlhbCByZXN1bHRzIHNob3VsZCBiZSByZXR1cm5lZCc7CiRsYW5nWydwYXJhbV9maWxldHlwZXMnXSA9ICdEaXNwbGF5IG9ubHkgZmlsZXMgd2hvc2UgdHlwZSBtYXRjaGVzIHRoaXMgY29tbWEgc2VwYXJhdGVkIGxpc3QnOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnICA8cD5Tb3J0IE9yZGVycw0KICA8dWw+DQogIDxsaT48ZW0+ZGF0ZV9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGRhdGU8L2xpPg0KICA8bGk+PGVtPmRhdGVfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGRhdGU8L2xpPg0KICA8bGk+PGVtPm5hbWVfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBuYW1lPC9saT4NCiAgPGxpPjxlbT5uYW1lX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBuYW1lPC9saT4NCiAgPGxpPjxlbT5zaXplX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgc2l6ZTwvbGk+DQogIDxsaT48ZW0+c2l6ZV9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgc2l6ZTwvbGk+DQogIDxsaT48ZW0+ZGVzY19hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGRlc2NyaXB0aW9uPC9saT4NCiAgPGxpPjxlbT5kZXNjX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBkZXNjcmlwdGlvbjwvbGk+DQogIDxsaT48ZW0+YXV0aG9yX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgYXV0aG9yPC9saT4NCiAgPGxpPjxlbT5hdXRob3JfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGF1dGhvcjwvbGk+DQogIDxsaT48ZW0+aXBfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBpcCBhZGRyZXNzPC9saT4NCiAgPGxpPjxlbT5pcF9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgaXAgYWRkcmVzczwvbGk+DQogIDxsaT48ZW0+cmFuZG9tPC9lbT4gLSBSYW5kb20gc29ydCBvcmRlcjwvbGk+DQogIDwvdWw+DQogIDwvcD4nOwokbGFuZ1sncGFyYW1fbGlzdGluZ3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgdG8gdXNlIGZvciBjYXRlZ29yeSBsaXN0aW5ncyBhZnRlciBjbGlja3Rocm91Z2ggZnJvbSBDYXRlZ29yeSBTdW1tYXJ5IHBhZ2UnOwokbGFuZ1sncGFyYW1fbGlzdGluZ3NvcnRvcmRlciddID0gJ1NvcnQgb3JkZXIgKGFsYSBwYXJhbV9zb3J0b3JkZXIpIHRvIHVzZSBmb3IgY2F0ZWdvcnkgbGlzdGluZ3MgYWZ0ZXIgY2xpY2t0aHJvdWdoIGZyb20gQ2F0ZWdvcnkgU3VtbWFyeSBwYWdlJzsKJGxhbmdbJ3BhcmFtX2ZpbGVleHRlbnNpb25zJ10gPSAnIGZpbGVfZXh0ZW5zaW9ucz0mcXVvdDtleHQxLGV4dDIsZXh0MyZxdW90Ow0KPHA+VcW8eWNpZSB0eWxrbyBraWVkeSBtb2RlPXVwbG9hZCwgdGVuIHBhcmFtZXRyIG9rcmXFm2xhIHR5cHUgcGxpayZvYWN1dGU7dywga3Qmb2FjdXRlO3JlIG1vxbxuYSB1cGxvYWRvd2HEhy4gVGVuIHBhcmFtZXRyIG5hZHBpc3VqZSB1c3Rhd2llbmlhIHcgcHJlZmVyZW5jamFjaCBtb2R1xYJ1LjwvcD4nOwokbGFuZ1sncGFyYW1fY291bnQnXSA9ICdjb3VudD0mcXVvdDtOJnF1b3Q7PHA+T2tyZcWbbCBOIHBpZXJ3c3p5Y2ggd3luaWsmb2FjdXRlO3cgemFweXRhbmlhLiA8L3A+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnDQpjYXRlZ29yeT0mcXVvdDtuYW1lJnF1b3Q7DQo8cD48Yj5Ob3RlOjwvYj4gQ2F0ZWdvcnkgY2FuIGJlICZxdW90O2FsbCZxdW90Oywgd2hpY2ggd2lsbCBsaXN0IGFsbCBvZiB0aGUgdXBsb2FkcyBmcm9tIGFsbCA8ZW0+bGlzdGFibGU8L2VtPiBjYXRlZ29yaWVzPC9wPic7CiRsYW5nWydwYXJhbV9tb2RlJ10gPSAnICA8dWw+DQogIDxsaT48ZW0+ZGV0YWlsZWQ8L2VtPiAtIFd5xZt3aWV0bGEgc3pjemVnJm9hY3V0ZTvFgm93eSByYXBvcmQgZGxhIHBvamVkeW5jemVnbyB1cGxvYWR1LjwvbGk+DQogIDxsaT48ZW0+c2luZ2xlPC9lbT4gLSBBbGlhcyBkbGEgdHJ5YnUgc3pjemVnJm9hY3V0ZTvFgm93ZWdvLjwvbGk+DQogIDxsaT48ZW0+dXBsb2FkPC9lbT4gLSBXecWbd2lldGwgZm9ybXVsYXJ6IGJ5IHplendvbGnEhyB1xbx5dGtvd25pa293aSB3Z3JhxIcgcGxpazwvbGk+DQogIDxsaT48ZW0+dXJsIDxpPmx1YjwvaT4gbGluazwvZW0+IC0gV3nFm3dpZXRsIGxpbmsgZG8gcGxpa3U8L2xpPg0KICA8bGk+PGVtPnN1bW1hcnk8L2VtPiAtIFd5xZt3aWV0bCBvZyZvYWN1dGU7bG7EhSBsaXN0xJkgd3N6eXN0a2ljaCBwbGlrJm9hY3V0ZTt3IHogZGFuZWoga2F0ZWdvcmlpPC9saT4NCiAgPC91bD4nOwokbGFuZ1sncGFyYW1fc2VsZWN0Zm9ybSddID0gJ1doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBpcyB0aGUgZm9ybWlkIG9mIHRoZSBwYXJlbnQgZm9ybS4gIFVzZWQgdG8gaGFuZGxlIHBhcmFtZXRlciBwYXNzaW5nJzsKJGxhbmdbJ3BhcmFtX3NlbGVjdG5hbWUnXSA9ICd3aGVuIHVzaW5nIHRoZSAmIzAzOTtzZWxlY3QmIzAzOTsgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBmaWVsZCc7CiRsYW5nWydwYXJhbV9zZWxlY3R2YWx1ZSddID0gJ1doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGRlZmF1bHQgZmllbGQgdmFsdWUnOwokbGFuZ1sncGFyYW1fc2VsZWN0bm9uZSddID0gJ1doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2V0aGVyICYjMDM5O25vbmUmIzAzOTsgaXMgYSB2YWxpZCBjaG9pY2UuJzsKJGxhbmdbJ3JldHVybnRvbW9kdWxlJ10gPSAnV3Imb2FjdXRlO8SHIGRvIG1vZHXFgnUgcGFuZWxhJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcmllcyddID0gJ05JZSBtYSB6ZGVmaW5pb3dhbnljaCBrYXRlZ29yaWknOwokbGFuZ1sndGl0bGVfZW5mb3JjZWV4dGVuc2lvbnMnXSA9ICdXeW1hZ2FqLCBhYnkgd3N6eXN0a2llIMWCYWRvd2FuZSBwbGlraSBtaWHFgnkgcm96c3plcnplbmllJzsKJGxhbmdbJ3Jlc3RvcmVkZWZhdWx0c2NvbmZpcm0nXSA9ICdUYSBvcGVyYWNqYSBwcnp5d3Imb2FjdXRlO2NpIGRvbXnFm2xueSBzYWJsb24uIFdzenlzdGtpZSB6bWlhbnkgZG9rb25hbmUgcHJ6ZXogY2llYmllIGLEmWTEhSBzdHJhY29uZS4gTmFwZXdubyBrb250eW51b3dhxIc/JzsKJGxhbmdbJ3RodW1ibmFpbCddID0gJ01pbmlhdHVyYSc7CiRsYW5nWyduZXd0aHVtYm5haWwnXSA9ICdaYcWCYWR1aiBub3fEhSBtaW5pYXR1csSZJzsKJGxhbmdbJ2luZm9fc3VtbWFyeSddID0gJ0tyJm9hY3V0ZTt0a2kgb3BpcyBwbGlrdSAoamXFm2xpIHB1c3R5IG5hendhIHBsaWt1IGJleiByb3pzemVyemVuaWEgamVzdCB1xbx5d2FuYSknOwokbGFuZ1snaW5mb19jYXRlZ29yeW5hbWUnXSA9ICdLciZvYWN1dGU7dGthIG5hendhIGthdGVnb3JpaSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5ZGVzYyddID0gJ09waXMga2F0ZWdvcmlpJzsKJGxhbmdbJ2luZm9fY2F0ZWdvcnlwYXRoJ10gPSAnTmF6d2Ega2F0YWxvZ3Ugd2V3bsSFdHJ6IC91cGxvYWRzLCBrdCZvYWN1dGU7cnkgYsSZZHppZSB1xbx5dHkgZG8gcHJ6ZWNob3d5d2FuaWEgcGxpayZvYWN1dGU7dyAoamXFm2xpIG5pZSBpc3RuaWVqZSB0byBtb8W8ZSBiecSHIHN0d29yem9ueSknOwokbGFuZ1snaW5mb19kZXN0bmFtZSddID0gJ1XFvHlqIHBvbGEgJiMwMzk7WmHFgmFkdWogamFrbyYjMDM5OyBhYnkgem1pZW5pxIcgbmF6d8SZIHBsaWt1IHBvIHVwbG9hZHppZS4gUG96b3N0YXcgcHVzdGUgYWJ5IHphY2hvd2HEhyBvcnlnaW5hbG7EhSBuYXp3xJknOwokbGFuZ1snZXJyb3JfY2FudGNyZWF0ZWRpcmVjdG9yeSddID0gJ05pZSBtb8W8bmEgc3R3b3J6ecSHIGthdGFsb2d1JzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnTmllIG1vxbxuYSB6bmFsZcW6xIcgbW9kdcWCdSBDTVNNYWlsZXInOwokbGFuZ1sndXBsb2FkX25vdGlmaWNhdGlvbiddID0gJ05vd3kgcGxpayB6b3N0YcWCIHphxYJhZG93YW55JzsKJGxhbmdbJ3RpdGxlX2VtYWlsX29uX3VwbG9hZCddID0gJ1d5xZtsaWogaW5mb3JtYWNqxJkgbyB6YcWCYWRvd2FuaXUgbm93ZWdvIHBsaWt1IGRvJzsKJGxhbmdbJ2VtYWlsX3RlbXBsYXRlJ10gPSAnU3phYmxvbiBlLW1haWxhJzsKJGxhbmdbJ3RpdGxlX2R1bW15X2luZGV4X2h0bWwnXSA9ICdTdHcmb2FjdXRlO3J6IHB1c3R5IHBsaWsgaW5kZXguaHRtbCB3IGthxbxkeW0ga2F0YWxvZ3UuPGJyIC8+SXN0bmllasSFY2UgcGxpa2kgaW5kZXguaHRtbCB6b3N0YW7EhSB6YWNob3dhbmUnOwokbGFuZ1snYWJvdXQnXSA9ICdJbmZvcm1hY2phJzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnXSA9ICdEb3N0xJlwIHphYnJvbmlvbnkuIFNwcmF3ZMW6IHN3b2plIHVwcmF3bmllbmlhLic7CiRsYW5nWydlcnJvcl9jb3VsZG5vdHdyaXRlJ10gPSAnTmllIG1vxbxuYSB6YXBpc2HEhyc7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0RvZGFqIGthdGVnb3JpxJknOwokbGFuZ1snYWxsJ10gPSAnV3N6eXN0a2llJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdKZXN0ZcWbIHBld255Pyc7CiRsYW5nWydhdXRob3InXSA9ICdBdXRvcic7CiRsYW5nWydjYW5jZWwnXSA9ICdBbnVsdWonOwokbGFuZ1snY2Fubm90bW9kaWZ5cGF0aCddID0gJ8WaY2llxbxrYSBuaWUgbW/FvGUgYnnEhyB6bWllbmlvbmEnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0thdGVnb3JpZSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpYSc7CiRsYW5nWydtZXNzYWdlX2NhdGVnb3J5YWRkZWQnXSA9ICdLYXRlZ29yaWEgem9zdGHFgmEgZG9kYW5hJzsKJGxhbmdbJ2RhdGUnXSA9ICdEYXRhJzsKJGxhbmdbJ2RhdGV1cGxvYWRlZCddID0gJ0RhdGEgemHFgmFkb3dhbmlhJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEb215xZtsbmUnOwokbGFuZ1snZGVsZXRlJ10gPSAnU2thc3VqJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnT3Bpcyc7CiRsYW5nWydkZXN0bmFtZSddID0gJ1phxYJhZHVqIGpha28nOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlJ10gPSAnU3phYmxvbnkgc3pjemVnJm9hY3V0ZTvFgm93ZSc7CiRsYW5nWydkb3dubG9hZGVkJ10gPSAnUGxpayAlcyB6b3N0YcWCIMWbY2nEhWduacSZdHkuJzsKJGxhbmdbJ2Rvd25sb2FkcyddID0gJ8WaY2nEhWduacSZxIcnOwokbGFuZ1snZWRpdCddID0gJ0VkeXR1aic7CiRsYW5nWydlZGl0Y2F0ZWdvcnknXSA9ICdFZHl0dWoga2F0ZWdvcmnEmSc7CiRsYW5nWydlZGl0dXBsb2FkJ10gPSAnRWR5dHVqIHVwbG9hZCc7CiRsYW5nWydlcnJvciddID0gJ0LFgsSFZCEnOwokbGFuZ1snZXJyb3JfcGF0aGludXNlMiddID0gJ0thdGVnb3JpYSB1xbx5d2FqxIVjYSDFm2NpZcW8a2kgKCVzKSBqdcW8IGlzdG5pZWplJzsKJGxhbmdbJ2Vycm9yX3BhdGhpbnVzZSddID0gJ0thdGVnb3JpYSB1xbx5d2FqxIVjYSB0ZWdvIGthdGFsb2d1IGp1xbwgaXN0bmllamUnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlleGlzdHMyJ10gPSAnQsWCxIVkOiBLYXRlZ29yaWEgbyBuYXp3aWUgJXMganXFvCBpc3RuaWVqZSc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeWV4aXN0cyddID0gJ0LFgsSFZDogS2F0ZWdvcmlhIGp1xbwgaXN0bmllamUnOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlub3RlbXB0eSddID0gJ0LFgsSFZDogTmllIG1vxbxuYSBza2Fzb3dhxIcgbmllcHVzdGVqIGthdGVnb3JpaSc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeW5vdGZvdW5kJ10gPSAnQsWCxIVkOiBOaWUgem5hbGV6aW9uIGthdGVnb3JpaSc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnQsWCxIVkIGJhenkgZGFueWNoISc7CiRsYW5nWydlcnJvcl9lbXB0eWNhdGVnb3J5J10gPSAnQsWCxIVkOiBLYXRlZ29yaWEgamVzdCBwdXN0YSEnOwokbGFuZ1snZXJyb3JfZW1wdHlwYXRoJ10gPSAnQsWCxIVkOiDFmmNpZcW8a2EgamVzdCBwdXN0YSEnOwokbGFuZ1snZXJyb3JfZmlsZWV4aXN0cyddID0gJ0LFgsSFZDogUGxpayAlcyBqdcW8IGlzdG5pZWplLic7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdCxYLEhWQ6IFBsaWsgJSBuaWUgem9zdGHFgiBvZG5hbGV6aW9ueS4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnQsWCxIVkOiBOaWV3eXN0YXJjemFqxIVjYSBsaWN6YmEgcGFyYW1ldHImb2FjdXRlO3chJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRhdXRob3InXSA9ICdCxYLEhWQ6IE5pZXByYXdpZMWCb3d5IGx1YiBwdXN0eSBhdXRvci4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNhdGVnb3J5J10gPSAnQsWCxIVkOiBOaWVwcmF3aWTFgm93YSBsdWIgcHVzdGEga2F0ZWdvcmlhLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkZGVzY3JpcHRpb24nXSA9ICdCxYLEhWQ6IE5pZXByYXdpZMWCb3d5IGx1YiBwdXN0eSBvcGlzLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkZmlsZSddID0gJ0LFgsSFZDogTmllcHJhd2lkxYJvd2EgbHViIHB1c3RhIG5hendhIHBsaWt1Lic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkZmlsZW5hbWUnXSA9ICdCxYLEhWQ6IFBsaWtpIHogdHltIHJvenN6ZXJ6ZW5pZW0gc8SFIG5pZWRvendvbG9uZSAoJXMpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkaWQnXSA9ICdCxYLEhWQ6IE5pZXByYXdpZMWCb3dlIElEIHVwbG9hZHUnOwokbGFuZ1snZXJyb3Jfbm9maWxlcyddID0gJ0LFgsSFZDogbmllIHpuYWxlemlvbm8gcGFzdWrEhWN5Y2ggcGxpayZvYWN1dGU7dyc7CiRsYW5nWydmaWxlcyddID0gJ1BsaWtpJzsKJGxhbmdbJ2ZpeG1lJ10gPSAnTmFwcmF3IHNwYWNqZSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdaYXJ6xIVkemVuaWEgemHFgmFkb3dhbnltaSBwbGlrYW1pIEZFVSc7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5JdCBpcyBhIG1vZHVsZSBmb3IgYWxsb3dpbmcgcGVvcGxlIHRvIHVwbG9hZCBhbmQgZG93bmxvYWQgZmlsZXMgdG8gYW5kIGZyb20geW91ciBzaXRlLiAgSXQga2VlcHMgdHJhY2sgb2Ygd2hvIHVwbG9hZGVkIGEgZmlsZSwgYW5kIHdobyBoYXMgZG93bmxvYWRlZCBpdC4gIEFzIHdlbGwsIHlvdSBjYW4gc29ydCBmaWxlcyBpbnRvIGNhdGVnb3JpZXMsIGFuZCBtYW5hZ2UgdGhlIGZpbGVzIHRoYXQgd2VyZSB1cGxvYWRlZCBsaWtlIGV2ZXJ5IGFkbWluaXN0cmF0b3Igd291bGQgZG88L3A+IA0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5UbyB1c2UgdGhpcyBtb2R1bGUsIHRvIGFsbG93IHVzZXJzIHRvIHVwbG9hZCBmaWxlcyB0byB5b3VyIHNpdGUsIHlvdSBzaG91bGQgaW5zdGFsbCB0aGUgbW9kdWxlLCBhbmQgdGhlbiBjcmVhdGUgb25lIG9yIG1vcmUgY2F0ZWdvcmllcyAoYS5rLmEpIGRpcmVjdG9yaWVzIGZvciB0aGUgdXBsb2FkZWQgZmlsZXMgdG8gZ28gaW50by4gVGhlbiBhZGQgYSB0YWcgaW50byBhIHBhZ2Ugb3IgdGVtcGxhdGUgc29tZXdoZXJlIGxpa2Uge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O1VwbG9hZHMmcXVvdDsgY2F0ZWdvcnk9JnF1b3Q7c29tZWNhdGVnb3J5JnF1b3Q7IG1vZGU9JnF1b3Q7c29tZW1vZGUmcXVvdDt9LiAgV2hlcmUgbW9kZSBtYXRjaGVzIG9uZSBvZiB0aGUgbW9kZXMgbGlzdGVkIGJlbG93LiAgVGhlIG91dHB1dCB3aWxsIGRpZmZlciBkZXBlbmRpbmcgdXBvbiB3aGljaCBtb2RlIHlvdSBzZWxlY3QuPC9wPg0KPHA+VGhpcyBtb2R1bGUgY2FuIHVzZSB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUgKG9wdGlvbmFsKSB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgYW55IGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlcnMgdG8gcGFydGx5IGZpbGwgaW4gdGhlIGZvcm0gd2hlbiB1cGxvYWRpbmcgZmlsZXM7PC9wPg0KPGgzPlBlcm1pc3Npb25zPC9oMz4NCjx1bD4NCjxsaT48ZW0+TWFuYWdlIFVwbG9hZHM8L2VtPiBwZXJtaXNzaW9uIGlzIG5lZWRlZCB0byBtYW5hZ2UgY2F0ZWdvcmllcywgYW5kIHRoZSBmaWxlcyB3aXRoaW4gdGhlbS48L2xpPg0KPGxpPjxlbT5Nb2RpZnkgVGVtcGxhdGVzPC9lbT4gcGVybWlzc2lvbiBpcyBuZWVkZWQgZWRpdCBhbnkgb2YgdGhlIHRlbXBsYXRlcy48L2xpPg0KPGxpPjxlbT5Nb2RpZnkgU2l0ZSBQcmVmZXJlbmNlczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIGFueSBvZiB0aGUgZmlsZSBzZXR0aW5ncy48L2xpPg0KPC91bD4NCjxoMz5DYXRlZ29yeSBCcm93c2luZzwvaDM+DQo8cD5QbGFjaW5nIGEgdGFnIGxpa2Uge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O1VwbG9hZHMmcXVvdDsgYWN0aW9uPSZxdW90O2NhdGVnb3J5c3VtbWFyeSZxdW90OyB0ZW1wbGF0ZT0mcXVvdDtzdW1tYXJ5dGVtcGxhdGUmcXVvdDsgc29ydG9yZGVyPSZxdW90O25hbWVfYXNjJnF1b3Q7IGxpc3Rpbmd0ZW1wbGF0ZT0mcXVvdDtsaXN0dGVtcGxhdGUmcXVvdDsgbGlzdGluZ3NvcnRvcmRlcj0mcXVvdDtsaXN0c29ydG9yZGVyJnF1b3Q7fQ0KYWxsb3dzIHlvdSB0byBkaXNwbGF5IGFuIGludGVyYWN0aXZlIGNhdGVnb3J5IGJyb3dzZXIuIHNvcnRvcmRlciBjYW4gYmU6IG5hbWVfYXNjLCBuYW1lX2Rlc2MsIHN1bW1fYXNjLCBzdW1tX2Rlc2MsIG9yIHJhbmRvbS4NCmxpc3Rpbmd0ZW1wbGF0ZSBhbmQgbGlzdGluZ3NvcnRvcmRlciBhcmUgaWRlbnRpY2FsIHRvIHRoZSB0ZW1wbGF0ZSBhbmQgc29ydG9yZGVyIHBhcmFtZXRlcnMgZm9yDQp0aGUgJnF1b3Q7c3VtbWFyeSZxdW90OyBtb2RlLjwvcD4NCjxoMz5BdXRvbWF0aWMgU2Nhbm5pbmc8L2gzPg0KPHA+VGhpcyBtb2R1bGUgd2lsbCBhdXRvbWF0aWNhbGx5IHNjYW4gZm9yIG5ldyBmaWxlcyBpbiBhIGRpcmVjdG9yeSB3aGVuIGEgc3VtbWFyeSBtb2RlIHRhZyBmb3IgYSBzcGVjaWZpYyBjYXRlZ29yeSBpcyB1c2VkIG9uIGEgQ01TTVMgcGFnZS4gIGkuZTogPGNvZGU+e1VwbG9hZHMgY2F0ZWdvcnk9Y2F0ZWdvcnlfbmFtZX08L2NvZGU+IHdpbGwgcGVyZm9ybSBhIHNjYW4uICBidXQgPGNvZGU+e1VwbG9hZHMgY2F0ZWdvcnk9YWxsfTwvY29kZT4gd2lsbCBub3QuPC9wPg0KPGgzPlRodW1ibmFpbCBHZW5lcmF0aW9uIC0gRGVwcmVjYXRlZDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBjYXBhYmxlIG9mIGdlbmVyYXRpbmcgdGh1bWJuYWlscyBmb3IgY2VydGFpbiB0eXBlcyBvZiBmaWxlcy4gIFRoZXJlIGFyZSBwcmVmZXJlbmNlcyBpbiB0aGUgcHJlZmVyZW5jZXMgdGFiIG9mIHRoZSBVcGxvYWRzIG1vZHVsZSBhZG1pbmlzdHJhdGlvbiBwYW5lbCB0byBzcGVjaWZ5IHRoZSB0eXBlcyBvZiBmaWxlcyB0aGF0IGFsbG93IGF1dG9tYXRpYyB0aHVtYm5haWwgZ2VuZXJhdGlvbiwgYW5kIHRoZSBzaXplIG9mIHRoZSBnZW5lcmF0ZWQgdGh1bWJuYWlsIChwcmVzZXJ2aW5nIGFzcGVjdCByYXRpbykuICAgVGh1bWJuYWlscyBhcmUgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgdXBvbiB1cGxvYWQsIGFuZCBjYW4gYmUgZ2VuZXJhdGVkIG1hbnVhbGx5IGJ5IHNlbGVjdGluZyB0aGUgJmFtcDtxdW90O0dlbmVyYXRlIFRodW1ibmFpbHMmYW1wO3F1b3Q7IG9wdGlvbiBpbiB0aGUgZWRpdCBjYXRlZ29yeSBmb3Jtcy4uLiBidXQgYXJlIG5vdCBnZW5lcmF0ZWQgd2hlbiBuZXcgZmlsZXMgYXJlIGRldGVjdGVkIGJ5IGF1dG9tYXRpYyBzY2FubmluZy48L3A+DQo8aDM+WW91IFNlbmQgSXQ8L2gzPg0KPHA+SXQgaXMgcG9zc2libGUgdG8gZW5hYmxlICZhbXA7cXVvdDt5b3VzZW5kaXQmYW1wO3F1b3Q7IGxpa2UgZnVuY3Rpb25hbGl0eSB0byBhbGxvdyBhdXRvbWF0aWNhbGx5IGVtYWlsaW5nIHNlbGVjdGVkIHBlb3BsZSB3aXRoIGEgbGluayB0byBhIG5ld2x5IHVwbG9hZGVkIGZpbGUuICBUaGlzIGlzIGFjY29tcGxpc2hlZCBieSB1c2luZyBhIHRhZyBsaWtlOiA8Y29kZT57VXBsb2FkcyBhY3Rpb249eW91c2VuZGl0IGNhdGVnb3J5PWNhdGVnb3J5bmFtZX08L2NvZGU+LiAgVGhpcyB3aWxsIGRpc3BsYXkgYSBmb3JtIGFsbG93aW5nIHRoaXMgZnVuY3Rpb25hbGl0eS48L3A+DQo8aDM+VGltZSBMaW1pdGVkIEFjY2VzczwvaDM+DQo8cD5UaGlzIG1vZHVsZSBzdXBwb3J0cyB0aGUgbm90aW9uIG9mIHVuaXF1ZSBrZXlzIHRvIGFsbG93IHRpbWUgbGltaXRlZCBhY2Nlc3MgdG8gY2VydGFpbiBmaWxlcy4gIFRoZSBmdW5jdGlvbmFsaXR5IGFsbG93cyBzcGVjaWZ5aW5nIGEgdGltZSBsaW1pdCAoaW4gaG91cnMpIGZvciB3aGljaCB0aGUga2V5IGlzIHZhbGlkLCBhbmQgYSBtYXhpbXVtIG51bWJlciBvZiBkb3dubG9hZHMgb3IgZG93bmxvYWQgYXRlbXB0cy4gIEFuIGVtYWlsIGlzIHNlbnQgdG8gdGhlIGRlc2lyZWQgdXNlcnMgd2l0aCB0aGUgdW5pcXVlIFVSTC4gIEFmdGVyIHRoZSB0aW1lIGxpbWl0LCBvciB0aGUgbnVtYmVyIG9mIGRvd25sb2FkcyBoYXMgYmVlbiByZWFjaGVkLCB0aGUgVVJMIGlzIG5vIGxvbmdlciB2YWxpZC4gIFRoZXNlIHVuaXF1ZSB0aW1lIGxpbWl0ZWQga2V5cyBhcmUgYXV0b21hdGljYWxseSByZW1vdmVkIGZyb20gdGhlIGRhdGFiYXNlIGFmdGVyIGV4cGlyeS48L3A+DQo8aDM+UmVzdHJpY2luZyBBY2Nlc3Mgd2l0aCBGRVU8L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgY2FwYWJsZSBvZiBpbnRlZ3JhdGluZyB3aXRoIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSB0byByZXN0cmljdCB0aGUgdmlzaWJpbGl0eSBvZiBjYXRlZ29yaWVzIChkaXJlY3RvcmllcykgdG8gY2VydGFpbiBhbGxvd2VkIEZFVSBncm91cHMuICBZb3VyIHVzZXJzIHdvdWxkIGhhdmUgdG8gYmUgbG9nZ2VkIGluIHRvIHlvdXIgd2Vic2l0ZSAodXNpbmcgRkVVKSBhbmQgYWxzbyBhIG1lbWJlciBvZiBvbmUgb2YgdGhlIGFsbG93ZWQgZ3JvdXBzIHRvIG9idGFpbiBhY2Nlc3MuICBUaGlzIGlzIGFjY29tcGxpc2hlZCBpbiB0aGUgY2F0ZWdvcnkgZWRpdCBmb3JtLiAgWW91IGNhbiBzZWxlY3QgYSBsaXN0IG9mIEZFVSBncm91cHMgd2hpY2ggYXJlIGFsbG93ZWQgdG8gdmlldyBmaWxlcyBpbiB0aGlzIGNhdGVnb3J5LjwvcD4NCjxwPlRoaXMgZnVuY3Rpb25hbGl0eSBhbHNvIGFwcGxpZXMgdG8gdGhlICZhbXA7cXVvdFRpbWUgTGltaXRlZCBBY2Nlc3MmYW1wO3F1b3QgZnVuY3Rpb25hbGl0eS4gIEFsbG93aW5nIHlvdSB0byBzcGVjaWZ5IHRoYXQgY2VydGFpbiBwZW9wbGUsIHdobyBhbHNvIGhhdmUgdG8gYmUgbG9nZ2VkIGluIHRvIHlvdXIgd2Vic2l0ZSBjYW4gaGF2ZSBhY2Nlc3MgdG8gY2VydGFpbiBmaWxlcyBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lLjwvcD4NCjxoMz5FbWFpbGluZzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBjYXBhYmxlIG9mIHNlbmRpbmcgYW4gZW1haWwgd2hlbmV2ZXIgYSBmaWxlIGlzIHVwbG9hZGVkLCBzZWUgdGhlIHByZWZlcmVuY2VzIHRhYi4gIEhvd2V2ZXIsIHRvIGRvIHRoaXMgdGhlIDxiPkNNU01haWxlcjwvYj4gcGFja2FnZSBtdXN0IGJlIGluc3RhbGxlZCBhbmQgY29uZmlndXJlZC4gIFRoaXMgaXMgYW4gPGVtPm9wdGlvbmFsPC9lbT4gc3RlcCwgYW5kIGlmIHRoZSBDTVNNYWlsZXIgbW9kdWxlIGlzIG5vdCBpbnN0YWxsZWQsIG5vdGhpbmcgd2lsbCBiZSBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIsIG9ubHkgYSBsb2cgbWVzc2FnZSB3aWxsIGJlIHBsYWNlZCBpbnRvIHRoZSBhZG1pbiBsb2c8L3A+DQo8aDM+U21hcnR5IFBsdWdpbnM6PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIHNvbWUgYWNjZXNzb3J5IHNtYXJ0eSBwbHVnaW5zIHRoYXQgYXJlIHVzZWZ1bCBmb3IgdmFyaW91cyBwdXJwb3NlcyB3aGVuIHdvcmtpbmcgd2l0aCBmaWxlcy48L3A+DQo8aDM+Q29udGVudCBCbG9ja3MgPGVtPihDTVNNUyAxLjcrIE9ubHkpPC9lbT48L2gzPg0KPHVsPg0KICA8bGk+PHN0cm9uZz57dXBsb2Fkc19jcmVhdGVfdGxfZmlsZX08L3N0cm9uZz4NCiAgICA8cD5Db3B5IGFuIGV4aXN0aW5nIHNlcnZlciBmaWxlIGludG8gdGhlIHVwbG9hZHMgbW9kdWxlIGFuZCBnZW5lcmF0ZSBhIHRpbWUgbGltaXRlZCBVUkwgZm9yIGl0LiBUaGlzIHBsdWdpbiB3aWxsIGFsc28gd2F0ZXJtYXJrLCBhbmQgdGh1bWJuYWlsIGltYWdlIGZpbGVzIGFzIHNwZWNpZmllZCBpbiB0aGUgcHJlZmVyZW5jZXMgKGRlcHJlY2F0ZWQpLjwvcD4NCiAgICA8cD5QYXJhbWV0ZXJzOjwvcD4NCiAgICA8dWw+DQogICAgICA8bGk+PHN0cm9uZz5zcmM8L3N0cm9uZz4gLSBzdHJpbmcgLSByZXF1aXJlZCAtIFRoZSBhYnNvbHV0ZSBzZXJ2ZXIgZmlsZSBzcGVjaWZpY2F0aW9uIHRvIHRoZSBzb3VyY2UgZmlsZS48L2xpPg0KICAgICAgPGxpPjxzdHJvbmc+Y2F0ZWdvcnk8L3N0cm9uZz4gLSBtaXhlZCAtIHJlcXVpcmVkIC0gVGhlIGNhdGVnb3J5IG5hbWUgKHN0cmluZykgb3IgaWQgKGludGVnZXIpIHRvIHRoZSBkZXN0aW5hdGlvbiBVcGxvYWRzIGNhdGVnb3J5LjwvbGk+DQogICAgICA8bGk+cHJlZml4IC0gYm9vbGVhbiAtIG9wdGlvbnNsIC0gSW5kaWNhdGVzIHdldGhlciBmaWxlcyBzaG91bGQgYmUgcHJlZml4ZWQgd2l0aCBhIHN0cmluZyB0aGF0IGRlcGVuZHMgb24gdGhlIHNlcnZlciB0aW1lIChkZWZhdWx0IGlzIEZBTFNFKTwvbGk+DQogICAgICA8bGk+ZW1haWwgLSBzdHJpbmcgLSBvcHRpb25hbCAtIFRpZSB0aGUgZ2VuZXJhdGVkIHVybCB0byB0aGUgc3VwcGxpZWQgZW1haWwgYWRkcmVzcyAod29yayBpbiBwcm9ncmVzcyk8L2xpPg0KICAgICAgPGxpPmhvdXJzIC0gaW50ZWdlciAtIG9wdGlvbmFsIC0gVGhlIG51bWJlciBvZiBob3VycyB0aGlzIFVSTCB3aWxsIGJlIHZhbGlkIGZvciwgaWYgbm90IHNwZWNpZmllZCB0aGUgbW9kdWxlIHByZWZlcmVuY2Ugd2lsbCBiZSB1c2VkLjwvbGk+DQogICAgICA8bGk+ZG93bmxvYWRzIC0gaW50ZWdlciAtIG9wdGlvbmFsIC0gVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHRoZSBmaWxlIGNhbiBiZSBkb3dubG9hZGVkIHVzaW5nIHRoaXMgdXJsLiAgSWYgbm90IHNwZWNpZmllZCwgdGhlIG1vZHVsZSBwcmVmZXJlbmNlIHdpbGwgYmUgdXNlZC48L2xpPg0KICAgICAgPGxpPmFzc2lnbiAtIHN0cmluZyAtIG9wdGlvbmFsIC0gQSBzbWFydHkgdmFyaWFibGUgbmFtZSB0byBhc3NpZ24gdGhlIG91dHB1dCB0by48L2xpPg0KICAgIDwvdWw+DQogICAgPHA+RXhhbXBsZTo8YnIvPg0KICAgIDxwcmU+e3VwbG9hZHNfY3JlYXRlX3RsX2ZpbGUgc3JjPSZhbXA7cXVvdDsvdGhlL2NvbXBsZXRlL3BhdGgvdG8vdGhlL2ZpbGUuanBnJmFtcDtxdW90OyBwcmVmaXg9dHJ1ZSBkb3dubG9hZHM9NSBob3Vycz03MiBjYXRlZ29yeT0mYW1wO3F1b3Q7c29tZSBjYXRlZ29yeSZhbXA7cXVvdDsgYXNzaWduPSZhbXA7cXVvdDt0aGVfdXJsJmFtcDtxdW90O308L3ByZT4NCiAgICA8L3A+DQogIDwvbGk+DQo8L3VsPg0KPHA+Rm9yIENNU01TIDEuNyB0aGlzIG1vZHVsZSBpcyBjYXBhYmxlIG9mIGludGVyZmFjaW5nIHdpdGggdGhlIGNvbnRlbnQgZWRpdG9yIGFuZCBleHBvcnRpbmcgYSBjb250ZW50IGJsb2NrIHRoYXQgYWxsb3dzIHNlbGVjdGluZyBhbiB1cGxvYWRzIGNhdGVnb3J5IHdpdGhpbiB0aGUgZWRpdCBjb250ZW50IHBhZ2UsIGZvciBsYXRlciB1c2Ugd2l0aGluIHRoZSB0ZW1wbGF0ZS48L3A+DQo8cD5pLmU6IHBsYWNpbmcgdGhlIGZvbGxvd2luZyB0YWcgd2l0aGluIGEgcGFnZSB0ZW1wbGF0ZSA8Y29kZT57Y29udGVudF9tb2R1bGUgbW9kdWxlPSZhbXA7cXVvdDtVcGxvYWRzJmFtcDtxdW90OyBibG9jaz0mYW1wO3F1b3Q7dXBsb2Fkc19jYXRlZ29yeSZhbXA7cXVvdDsgdHlwZT0mYW1wO3F1b3Q7Y2F0ZWdvcnlzZWxlY3QmYW1wO3F1b3Q7fTwvY29kZT4sIHdpbGwgYWRkIGEgZHJvcGRvd24gYm94IGluIHRoZSBlZGl0IGNvbnRlbnQgdmlldyBvZiBhbnkgcGFnZSB1dGlsaXppbmcgdGhhdCBwYWdlIHRlbXBsYXRlLjwvcD4NCjxwPlRoaXMgY29udGVudCBibG9jayBhbHNvIGFjY2VwdHMgc29tZSBvcHRpb25hbCBwYXJhbWV0ZXJzOjwvcD4NCjx1bD4NCiAgPGxpPjx1PnNlbGVjdG9uZTwvdT4NCiAgICA8cD5UaGlzIHBhcmFtZXRlciBpbnNlcnRzIGEgJmFtcDtxdW90O1NlbGVjdCBPbmUmYW1wO3F1b3Q7IGl0ZW0gaW50byB0aGUgbGlzdCBvZiBjYXRlZ29yaWVzLCByZXF1aXJpbmcgdGhlIHVzZXIgdG8gc2VsZWN0IGEgdmFsaWQgY2F0ZWdvcnkgd2hlbiB0aGUgY29udGVudCBwYWdlIGlzIHNhdmVkLjwvcD4NCiAgPC9saT4NCiAgPGxpPjx1PmFsbG93YWxsPC91Pg0KICAgIDxwPlRoaXMgcGFyYW1ldGVyIGFsbG93cyB0aGUgY29udGVudCBlZGl0b3IgdG8gc2VsZWN0ICZhbXA7cXVvdDtBbGwmYW1wO3F1b3Q7IGFzIGEgY2F0ZWdvcnkgZm9yIHRoZSB1cGxvYWRzIGRpc3BsYXkuPC9wPg0KICA8L2xpPg0KPC91bD4NCjxoND5Ib3cgd291bGQgSSB1c2UgaXQ/PC9oND4NCjxwPkhlcmUgaXMgc29tZSBleGFtcGxlIGNvZGU6PC9wPg0KPHByZT4NCntjb250ZW50X21vZHVsZSBtb2R1bGU9JmFtcDtxdW90O1VwbG9hZHMmYW1wO3F1b3Q7IGJsb2NrPSZhbXA7cXVvdDtjYXRlZ29yeXNlbGVjdCZhbXA7cXVvdDsgbGFiZWw9JmFtcDtxdW90O1NlbGVjdCBhbiB1cGxvYWRzIGNhdGVnb3J5JmFtcDtxdW90OyBzZWxlY3RvbmU9MSBhc3NpZ249JmFtcDtxdW90O3RtcCZhbXA7cXVvdDt9DQp7VXBsb2FkcyBjYXRlZ29yeT0kdG1wfQ0KPC9wcmU+DQo8aDM+RGVwcmVjYXRlZDo8L2gzPg0KPHA+PHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgdGh1bWJuYWlsIGFuZCB3YXRlcm1hcmsgY2FwYWJpbGl0aWVzIHRoYXQgZXhpc3QgaW4gdGhpcyBtb2R1bGUgYXJlIGRlcHJlY2F0ZWQsIGFuZCB3aWxsIGJlIHJlbW92ZWQgb3ZlciB0aW1lLiAgVGhlIENHU21hcnRJbWFnZSBtb2R1bGUgcHJvdmlkZXMgZm9yIGJldHRlciBvbiBkZW1hbmQsIGltYWdlIG1hbmlwdWxhdGlvbiwgY2FjaGluZywgYW5kIGVtYmVkZGluZy48L3A+DQo8aDM+U3lzdGVtIFNldHRpbmdzPC9oMz4NCjxwPjxiPk5vdGU6PC9iPiBUaGlzIG1vZHVsZSBkb2VzIG5vdCBieXBhc3Mgb3IgZ2V0IHBhc3QgYW55IGZpbGUgc2l6ZSBsaW1pdGF0aW9ucyBpbiBwaHAuICBJdCB3b3JrcyBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZW0uICBUaGVyZWZvcmUgeW91IG1heSBuZWVkIHRvIG1vZGlmeSB5b3VyIHBocC5pbmkgZmlsZSwgeW91ciBDTVNNUyBjb25maWcucGhwIGZpbGUgYW5kL29yIHlvdXIgaHR0cGQuY29uZiBmaWxlKHMpIHRvIGFsbG93IHlvdSB0byB1cGxvYWQgZmlsZXMgYXMgbGFyZ2UgYXMgd2hhdCB5b3UgaGF2ZSBzZXQgaW4gdGhlIHVwbG9hZHMgbW9kdWxlIHByZWZlcmVuY2VzLjwvcD4NCjxoMz5BcGFjaGUgTm90ZXM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gYWxsb3cgbGFyZ2UgZmlsZSB1cGxvYWRzLCB5b3UgbWF5IG5lZWQgdG8gbW9kaWZ5IHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIHBhcmFtZXRlciBpbiB5b3VyIHBocC5pbmkgIEluIGFkZGl0aW9uLCB0aGUgTGltaXRSZXF1ZXN0Qm9keSBwYXJhbWV0ZXIgaW4geW91ciBhcGFjaGUgY29uZmlndXJhdGlvbiwgbWF5IG5lZWQgdG8gYmUgYWRqdXN0ZWQgdG8gbWF0Y2ggdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgcGFyYW1ldGVyPC9wPg0KPHA+Tm90ZTogIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIHBhcmFtZXRlciBjYW4gYmUgc3BlY2lmaWVkIGluIGJ5dGVzLCBraWxvYnl0ZXMsIG9yIG1lZ2FieXRlcywgaG93ZXZlciB0aGUgTGltaXRSZXF1ZXRCb2R5IHBhcmFtZXRlciBpcyBvbmx5IHNwZWNpZmllZCBpbiBieXRlczwvcD4NCjxwPjxzdHJvbmcgc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+V2FybmluZzwvc3Ryb25nPiAtIFRoZSBwcm9wZXIgYmVoYXZpb3VyIG9mIHRoaXMgbW9kdWxlIGRlcGVuZHMgb24gbnVtZXJvdXMgcGhwIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzLiAgVGhlc2UgaW5jbHVkZSA8ZW0+KGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG8pPC9lbT4sIHBocCYjMDM5O3MgbWVtb3J5X2xpbWl0LCBzYWZlX21vZGUsIGZpbGVfdXBsb2FkcywgdXBsb2Fkc19tYXhfZmlsZXNpemUsIGFuZCBtYXhfZXhlY3V0aW9uX3RpbWUuICBUaGVzZSB2YXJpYWJsZXMgbWF5IG5lZWQgYWRqdXN0bWVudCBmb3IgdGhpcyBtb2R1bGUgdG8gd29yayBwcm9wZXJseSBvbiB5b3VyIHNpdGUuICBJdCBpcyBhZHZpc2VkIHRoYXQgeW91IHdvcmsgd2l0aCB5b3VyIHN5c3RlbSBhZG1pbmlzdHJhdG9yIG9yIGhvc3QgcHJvdmlkZXIgdG8gdHVuZSB0aGVzZSBzZXR0aW5ncyBmb3IgeW91ciByZXF1aXJlbWVudHMuPC9wPg0KPHA+PHN0cm9uZyBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz5XYXJuaW5nPC9zdHJvbmc+IC0gVXNpbmcgdGhpcyBtb2R1bGUgdG8gYWxsb3cgc2l0ZSB2aXNpdG9ycyB0byBzZW5kIGZpbGVzIChlaXRoZXIgdXNpbmcgdGhlIHN0YW5kYXJkIG1lY2hhbmlzbSBvciB0aGUgeW91c2VuZGl0IG1lY2hhbmlzbSkgbWF5IG5vdCB3b3JrIHdpdGggb3V0cHV0IGNvbXByZXNzaW9uIGVuYWJsZWQuICBQbGVhc2UgZW5zdXJlIHRoYXQgb3V0cHV0X2NvbXByZXNzaW9uIGlzIHNldCB0byBmYWxzZSBpbiB0aGUgY29uZmlnLnBocC48L3A+JzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdcWCIHcgd2Vyc2ppICVzIHpvc3RhxYIgemFpbnN0YWxvd2FueS4nOwokbGFuZ1snaXBfYWRkcmVzcyddID0gJ0FkcmVzIElQJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTW9kdcWCIHBvendhbGFqxIVjeSBuYSDFgmFkb3dhbmllIHBsaWsmb2FjdXRlO3cgcHJ6ZXogdcW8eXRrb3duaWsmb2FjdXRlO3cgaSB6YXJ6xIVkemFuaWUgbmltaS4nOwokbGFuZ1snbmFtZSddID0gJ05hendhJzsKJGxhbmdbJ3JlbmFtZW1lc3NhZ2UnXSA9ICdXcGlzeiBub3fEhSBuYXp3xJkgcGxpa3UnOwokbGFuZ1sncGF0aCddID0gJ8WaY2llxbxrYSc7CiRsYW5nWydwYXRobWVzc2FnZSddID0gJ1d5YmllcnogaW5uxIUga2F0ZWdvcmnEmSwgYWJ5IHByemVuaWXFm8SHIHBsaWsnOwokbGFuZ1sncGF0aGludXBsb2FkcyddID0gJyh3IMWbcm9ka3UgZG8ga2F0YWxvZ3UgL3VwbG9hZHMpJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnPHA+VGhlIHVwbG9hZHMgbW9kdWxlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuIEJlIHN1cmUgdG8gc2V0ICZxdW90O01hbmFnZSBVcGxvYWRzJnF1b3Q7IHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSE8L3A+DQo8cD48c3Ryb25nPldhcm5pbmc8L3N0cm9uZz4gLSBUaGUgcHJvcGVyIGJlaGF2aW91ciBvZiB0aGlzIG1vZHVsZSBkZXBlbmRzIG9uIG51bWVyb3VzIHBocCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy4gIFRoZXNlIGluY2x1ZGUgPGVtPihidXQgYXJlIG5vdCBsaW1pdGVkIHRvKTwvZW0+LCBwaHAmIzAzOTtzIG1lbW9yeV9saW1pdCwgc2FmZV9tb2RlLCBmaWxlX3VwbG9hZHMsIHVwbG9hZHNfbWF4X2ZpbGVzaXplLCBhbmQgbWF4X2V4ZWN1dGlvbl90aW1lLiAgVGhlc2UgdmFyaWFibGVzIG1heSBuZWVkIGFkanVzdG1lbnQgZm9yIHRoaXMgbW9kdWxlIHRvIHdvcmsgcHJvcGVybHkgb24geW91ciBzaXRlLiAgSXQgaXMgYWR2aXNlZCB0aGF0IHlvdSB3b3JrIHdpdGggeW91ciBzeXN0ZW0gYWRtaW5pc3RyYXRvciBvciBob3N0IHByb3ZpZGVyIHRvIHR1bmUgdGhlc2Ugc2V0dGluZ3MgZm9yIHlvdXIgcmVxdWlyZW1lbnRzLjwvcD4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHXFgiBVcGxvYWRzIHpvc3RhxYIgb2RpbnN0YWxvd2FueS4gxbthZG5lIHBsaWtpIG5pZSB6b3N0YcWCeSBza2Fzb3dhbmUgeiBzZXJ3ZXJhLic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1VzdGF3aWVuaWEnOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnVXN0YXdpZW5pYSBuZXdzbGV0dGVyYSB6b3N0YcWCeSB1YWt0dWFsbmlvbmUuJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeWRlc2MnXSA9ICdPcGlzJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeWxpc3RhYmxlJ10gPSAnUGxpa2kgdyB0eW0ga2F0YWxvZ3UgbW9nxIUgYnnEhyB3eWxpc3Rvd2FuZSc7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnluYW1lJ10gPSAnTmF6d2Ega2F0ZWdvcmlpJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeXBhdGgnXSA9ICfFmmNpZcW8a2EgbmEgc2Vyd2VyemUnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZWRpcmVjdG9yeSddID0gJ1NrYXNvd2HEhyBrYXRhbG9nIGthdGVnb3JpaT8nOwokbGFuZ1sncHJvbXB0X21heF91cGxvYWRzaXplJ10gPSAnTWFrc3ltYWxuYSB3aWVsa2/Fm8SHIHBsaWt1IChLYiknOwokbGFuZ1sncHJvbXB0X3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnXSA9ICdEb3B1c3pjemFsbmUgcm96c3plcnplbmlhJzsKJGxhbmdbJ3NjYW4nXSA9ICdTa2FudWonOwokbGFuZ1snc2VsZWN0Y2F0ZWdvcnknXSA9ICdXeWJpZXJ6IGthdGVnb3JpxJknOwokbGFuZ1snc2l6ZSddID0gJ1Jvem1pYXInOwokbGFuZ1snc2l6ZWtiJ10gPSAnUm96bWlhciAoa2IpJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1phdHdpZXJkxbonOwokbGFuZ1snc3VtbWFyeV90ZW1wbGF0ZSddID0gJ1N6YWJsb255IHBvZHN1bW93YW5pYSc7CiRsYW5nWydzdW1tYXJ5J10gPSAnUG9kc3Vtb3dhbmllJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnTW9kdcWCIFVwbG9hZHMnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFuZWwgYWRtaW5pc3RyYWN5am55IG1vZHXFgnUnOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnVXN0YXdpZW5pYSBtb2R1xYJ1JzsKJGxhbmdbJ3RpdGxlX3N1Ym5ldF9leGNsdXNpb25zJ10gPSAnV3lrbHVjeiB0ZSBwb2RzaWVjaSB6ZSBzdGF0eXN0eWsnOwokbGFuZ1sndGl0bGVfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ0RvcHVzemN6YWxuZSByb3pzemVyemVuaWEnOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1xYIgem9zdGHFgiBvZGluc3RhbG93YW55Lic7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHXFgiB6b3N0YcWCIHpha3R1YWxpem93YW55IGRvIHdlcnNqaSAlcy4nOwokbGFuZ1sndXBsb2FkJ10gPSAnV3liaWVyeiBwbGlrJzsKJGxhbmdbJ3VwbG9hZGVkJ10gPSAnUGxpayAlcyB6b3N0YcWCIHphxYJhZG93YW55IHByemV6ICVzLic7CiRsYW5nWydyZXBsYWNlZCddID0gJ1BsaWsgJXMgem9zdGHFgiB6YXN0xIVwaW9ueSBwcnpleiAlcy4nOwokbGFuZ1snZGVsZXRlZCddID0gJ1BsaWsgJXMgem9zdGHFgiBza2Fzb3dhbnkuJzsKJGxhbmdbJ3VwbG9hZGZvcm1fdGVtcGxhdGUnXSA9ICdTemFibG9ueSB1cGxvYWR1JzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTmF6d2EgdcW8eXRrb3duaWthJzsKJGxhbmdbJ3dhcm5pbmdfZGVsZXRlY2F0ZWdvcnknXSA9ICdVd2FnYToga2FzdWoga2F0ZWdvcmnEmSB6IG9zdHJvxbxub8WbY2nEhS4gUGxpa2kgbW9nxIUgem9zdGHEhyBza2Fzb3dhbmUhJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTEzMTgyMTM3MzktMTI3NTY2ODM3MTMwMyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4NzM0OTYyODMuMTI5NDM0MDc2Mi4xMjk0MzQwNzYyLjEyOTQzNDA3NjIuMSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJ1BydiZhYWN1dGU7IHN0ciZhYWN1dGU7bmthJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnUHJlZGNoJmFhY3V0ZTtkemFqJnVhY3V0ZTtjYSBzdHImYWFjdXRlO25rYSc7CiRsYW5nWyduZXh0cGFnZSddID0gJ05hc2xlZHVqJnVhY3V0ZTtjYSBzdHImYWFjdXRlO25rYSc7CiRsYW5nWydsYXN0cGFnZSddID0gJ1Bvc2xlZG7FiGEgc3RyxYhhbmthJzsKJGxhbmdbJ2ZpcnN0cGFnZV9hcnJvdyddID0gJzw8JzsKJGxhbmdbJ3ByZXZwYWdlX2Fycm93J10gPSAnPCc7CiRsYW5nWyduZXh0cGFnZV9hcnJvdyddID0gJz4nOwokbGFuZ1snbGFzdHBhZ2VfYXJyb3cnXSA9ICc+Pic7CiRsYW5nWydwYWdlJ10gPSAnUGFnZSc7CiRsYW5nWydvZiddID0gJ3onOwokbGFuZ1sncHJvbXB0X2dyb3VwbGlzdCddID0gJ0F1dG9yaXpvdmFuJmVhY3V0ZTsgRkVVIHNrdXBpbnknOwokbGFuZ1snaW5mb19ncm91cGxpc3QnXSA9ICdWeWJlcnRlIEZFVSBza3VwaW55LCBrdG9yJmVhY3V0ZTsgbWFqJnVhY3V0ZTsgcG92b2xlbiZ5YWN1dGU7IHByJmlhY3V0ZTtzdHVwIGsgcyZ1YWN1dGU7Ym9yb20gdiB0ZWp0byBrYXRlZyZvYWN1dGU7cmlpLiAgWnJ1JnNjYXJvbjtlbiZpYWN1dGU7bSB2JnlhY3V0ZTtiZXJ1IHYmc2Nhcm9uO2V0ayZ5YWN1dGU7Y2ggcG9sb8W+aWVrIHBvdm9sJmlhY3V0ZTt0ZSBwciZpYWN1dGU7c3R1cCB2JnNjYXJvbjtldGsmeWFjdXRlO20nOwokbGFuZ1sndGl0bGVfc2NhbiddID0gJ1Z5aMS+YWRhxaUgbm92JmVhY3V0ZTsgcyZ1YWN1dGU7Ym9yeSB2IHRlanRvIGthdGVnJm9hY3V0ZTtyaWknOwokbGFuZ1sndGl0bGVfY3JlYXRlX3RodW1ibmFpbHMnXSA9ICdWeXR2b3JpxaUgY2gmeWFjdXRlO2JhaiZ1YWN1dGU7Y2UgbiZhYWN1dGU7aMS+YWR5IHByZSBzJnVhY3V0ZTtib3J5IHYgdGVqdG8ga2F0ZWcmb2FjdXRlO3JpaS4nOwokbGFuZ1snY3JlYXRlX3RodW1ibmFpbHMnXSA9ICdWeXR2b3JpxaUgbmFoxL5hZHknOwokbGFuZ1sndGl0bGVfY3JlYXRlX3RodW1ibmFpbCddID0gJyh6bm92dSlWeXR2b3JpxaUgbmFoxL5hZCBwcmUgdGVudG8gcyZ1YWN1dGU7Ym9yJzsKJGxhbmdbJ2NyZWF0ZV90aHVtYm5haWwnXSA9ICdWeXR2b3JpxaUgbmFoxL5hZCc7CiRsYW5nWydlcnJvcl9wYXRoZXJyb3InXSA9ICdOaWUgamUgbW/Fvm4mZWFjdXRlOyBvdHZvcmnFpSBhZHJlcyZhYWN1dGU7ciAocHJvYmwmZWFjdXRlO20gcyBwciZhYWN1dGU7dmFtaT8pJzsKJGxhbmdbJ3RpdGxlX2Rvd25sb2FkX2NodW5rc2l6ZSddID0gJ1NpemUgb2YgZWFjaCBkb3dubG9hZCBjaHVuayc7CiRsYW5nWydpbmZvX2Rvd25sb2FkX2NodW5rc2l6ZSddID0gJ05hdGF2ZW5pZSB0b2h0byBwYXJhbWV0cmEgbSZhYWN1dGU7ICZ1YWN1dGU7xI1pbm9rIG5hIHImeWFjdXRlO2NobG9zxaUgIHPFpWFob3ZhbmlhLCBhIG0mb2NpcmM7xb5lIHpuJmlhY3V0ZTvFvmnFpSAgcGFtJmF1bWw7xaVvdiZlYWN1dGU7IG4mYWFjdXRlO3Jva3knOwokbGFuZ1snd2FybmluZ19zYWZlX21vZGUnXSA9ICdQSFAgc2FmZSBtb2RlIGplIGFrdCZpYWN1dGU7dm55LiAgTSZvY2lyYzvFvmUgIHNwJm9jaXJjO3NvYmnFpSBwcm9ibCZlYWN1dGU7bXkgcyBuYWhyJmFhY3V0ZTt2YW4maWFjdXRlO20gcyZ1YWN1dGU7Ym9yb3YgKHByJmFhY3V0ZTt2YSkuIERvcG9ydcSNZW4mZWFjdXRlOyBqZSBzYWZlIG1vZGUgdnlwbiZ1YWN1dGU7xaUuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdVc2VmdWwgZm9yIGRpc3BsYXlpbmcgYSBkZXRhaWwgcmVwb3J0IHVzaW5nIGEgZGlmZmVyZW50IHBhZ2UgdGVtcGxhdGUsIHRoaXMgcGFyYW1ldGVyIHRha2VzIHRoZSBwYWdlIGlkIG9yIHBhZ2UgYWxpYXMgb2YgYSBwYWdlIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgZGV0YWlsIHJlcG9ydCc7CiRsYW5nWydwYXJhbV9wcmVmaXgnXSA9ICdCYm9vbGVhbiwga3RvciZ5YWN1dGU7bSBuYXN0YXZ1anRlIMSNaSBtJmFhY3V0ZTsgbWHFpSBzJnVhY3V0ZTtib3IgcHJlZml4Lic7CiRsYW5nWydwYXJhbV9wcmVmaXhfZmV1J10gPSAnQSBib29sZWFuIHBhcmFtZXRlciB0aGF0IGluZGljYXRlcyB0aGF0IHRoZSBwcmVmaXggc2hvdWxkIGJlIHRha2VuIGZyb20gdGhlIGN1cnJlbnQgYXV0aG9yLCBpZiBub3Qgc3BlY2lmaWVkLCB0aGUgcHJlZml4IGlzIHRoZSBjdXJyZW50IHRpbWUgKGluIGRlY2hleCBmb3JtYXQpJzsKJGxhbmdbJ3BhcmFtX25vY2FwdGNoYSddID0gJ1Z5cG4mdWFjdXRlO8WlICBwb2Rwb3J1IGNhcHRjaGEgdm8gZm9ybXVsJmFhY3V0ZTtydSBwcmUgbmFociZhYWN1dGU7dmFuaWUgcyZ1YWN1dGU7Ym9yb3YgKGRlZmF1bHRuZSB6YXBudXQmZWFjdXRlOyknOwokbGFuZ1sndGl0bGVfdXBsb2FkZm9ybV90ZW1wbGF0ZSddID0gJ1VwcmF2acWlICZzY2Fyb247YWJsJm9hY3V0ZTtudSBmb3JtdWwmYWFjdXRlO3JhIHByZSBuYWhyJmFhY3V0ZTt2YW5pZSBzJnVhY3V0ZTtib3Jvdic7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnT3AmaWFjdXRlOyZzY2Fyb247dGUgdGV4dCB6IG9iciZhYWN1dGU7emthJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ09wJmlhY3V0ZTtzYW4meWFjdXRlOyB0ZXh0IHNhIG5lemhvZHVqZSc7CiRsYW5nWyd0aXRsZV9hdXRvdGh1bWJuYWlsX2V4dGVuc2lvbnMnXSA9ICdWeXR2JmFhY3V0ZTtyYcWlIG4mYWFjdXRlO2jEvmFkeSBwcmUgcyZ1YWN1dGU7Ym9yeSBzIHQmeWFjdXRlO21pdG8gcHImaWFjdXRlO3BvbmFteSc7CiRsYW5nWyd0aXRsZV9hdXRvdGh1bWJuYWlsX3NpemUnXSA9ICdNYXhpbSZhYWN1dGU7bG5hIHZlxL5rb3PFpSBnZW5lcm92YW4meWFjdXRlO2NoIG4mYWFjdXRlO2jEvmFkb3YgKHB4KSc7CiRsYW5nWydwcm9tcHRfdXBsb2FkX2ljb24nXSA9ICdOYWhyYcWlIGlrb251JzsKJGxhbmdbJ2luZm9fc3lzZGVmYXVsdCddID0gJ1RlbnRvIHRleHQgamUgcG91xb5pdCZ5YWN1dGU7IHByaSB2eXR2JmFhY3V0ZTtyYW4maWFjdXRlOyAgbm92ZWogJnNjYXJvbjthYmwmb2FjdXRlO255IHRvaHRvIHR5cHUnOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3N5c2RlZmF1bHQnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyAmc2Nhcm9uO2FibCZvYWN1dGU7bmEgcHJlIGRldGFpbCc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3N5c2RlZmF1bHQnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyAmc2Nhcm9uO2FibCZvYWN1dGU7bmEgcHJlIHYmeWFjdXRlO3Bpcyc7CiRsYW5nWyd0aXRsZV91cGxvYWRmb3JtX3N5c2RlZmF1bHQnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyAmc2Nhcm9uO2FibCZvYWN1dGU7bmEgcHJlIGZvcm11bCZhYWN1dGU7ciBuYSBuYWhyJmFhY3V0ZTt2YW5pZSBzJnVhY3V0ZTtib3Jvdic7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtuYSc7CiRsYW5nWydyZXNldHRvZGVmYXVsdCddID0gJ05hc3RhdmnFpSBwJm9jaXJjO3ZvZG4mZWFjdXRlOyc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIHByZSB2JnlhY3V0ZTtwaXMnOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIHByZSBkZXRhaWwnOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdNZW5vJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0J10gPSAnUHJlZG5hc3RhdmVuJmVhY3V0ZTsnOwokbGFuZ1snbGVnZW5kX3VwbG9hZGZvcm0nXSA9ICdOYWhyYcWlIHMmdWFjdXRlO2JvciBha28nOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnUG/FvmFkb3ZhbiZ5YWN1dGU7IHBhcmFtZXRlciBjaCZ5YWN1dGU7YmEnOwokbGFuZ1snZXJyb3JfbWlzc2luZ25hbWUnXSA9ICdNZW5vIHByZSBzJnVhY3V0ZTtib3IgbXVzJmlhY3V0ZTsgYnnFpSB6YWRlZmlub3ZhcW4meWFjdXRlOyc7CiRsYW5nWydlcnJvcl9taXNzaW5nZXh0ZW5zaW9ucyddID0gJ01pbmltJmFhY3V0ZTtsbmUgamVkbmEgcHImaWFjdXRlO3BvbmEgbXVzJmlhY3V0ZTsgYnnFpSB6YWRlZmlub3ZhbiZhYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdpY29uJ10gPSAnSWtvbmEgbXVzJmlhY3V0ZTsgYnnFpSB6YWRlZmlub3ZhbiZhYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX25vc3VjaHJvdyddID0gJ1phZGVmaW5vdmFuJnlhY3V0ZTsgcmlhZG9rIG5lYm9sIG4mYWFjdXRlO2pkZW4meWFjdXRlOyc7CiRsYW5nWyduYW1lX3Vua25vd24nXSA9ICdOZXpuJmFhY3V0ZTttZSc7CiRsYW5nWydkZXNjcmlwdGlvbl91bmtub3duJ10gPSAnUG9waXMgcyZ1YWN1dGU7Ym9ydSBwcmUgbmV6aXN0ZW4meWFjdXRlOyB0eXAnOwokbGFuZ1snaW1hZ2UnXSA9ICdPYnImYWFjdXRlO3pvayc7CiRsYW5nWydpY29uJ10gPSAnSWtvbmEnOwokbGFuZ1snZXh0ZW5zaW9ucyddID0gJ1ByJmlhY3V0ZTtwb255IHMmdWFjdXRlO2Jvcm92JzsKJGxhbmdbJ2FkZGZpbGV0eXBlJ10gPSAnUHJpZGHFpSBub3YmeWFjdXRlOyB0eXAgcyZ1YWN1dGU7Ym9ydSc7CiRsYW5nWydmaWxlX3R5cGVzJ10gPSAnVGlweSBzJnVhY3V0ZTtib3Jvdic7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3J5aWQnXSA9ICdOZWJvbG8gemFkYW4mZWFjdXRlOyBJRCBrYXRlZyZvYWN1dGU7cmllJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcnknXSA9ICdOZWJvbG8gemFkYW4mZWFjdXRlOyBJRCBrYXRlZyZvYWN1dGU7cmllJzsKJGxhbmdbJ2Vycm9yX3RlbXBsYXRlbmFtZWV4aXN0cyddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtuYSBzIHQmeWFjdXRlO210byBuJmFhY3V0ZTt6dm9tIGV4aXN0dWplJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZW5hbWUnXSA9ICdOJmFhY3V0ZTt6b3YgJnNjYXJvbjsmYWFjdXRlO2JsJm9hY3V0ZTtueSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bmEnOwokbGFuZ1sncHJvbXB0X25ld3RlbXBsYXRlJ10gPSAnVnl0dm9yacWlICZzY2Fyb247YWJsJm9hY3V0ZTtudSc7CiRsYW5nWydoZWxwX09uRG93bmxvYWQnXSA9ICc8cD5BbiBldmVudCBnZW5lcmF0ZWQgd2hlbiBhIHVzZXIgZmluaXNoZXMgZG93bmxvYWRpbmcgYSBmaWxlPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5pZDwvZW0+IC0gVXBsb2FkIElEPC9saT4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRmlsZSBuYW1lPC9saT4NCjxsaT48ZW0+aXA8L2VtPiAtIFRoZSBJUCBBZGRyZXNzIG9mIHRoZSBkb3dubG9hZGVyPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PbkRlbGV0ZUNhdGVnb3J5J10gPSAnPHA+QW4gZXZlbnQgZ2VuZXJhdGVkIHdoZW4gYSBjYXRlZ29yeSBpcyBEZWxldGVkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBDYXRlZ29yeSBuYW1lPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gQ2F0ZWdvcnkgcGF0aDwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2hlbHBfT25DcmVhdGVDYXRlZ29yeSddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgY2F0ZWdvcnkgaXMgQ3JlYXRlZDwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIGNhdGVnb3J5PC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBjYXRlZ29yeSBkZXNjcmlwdGlvbjwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIFRoZSBjYXRlZ29yeSBwYXRoPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gQSBmbGFnIGluZGljYXRpbmcgaWYgdGhlIGNhdGVnb3J5IGlzIGxpc3RhYmxlPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PblJlbW92ZSddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgZmlsZSBpcyByZW1vdmVkIHZpYSB0aGUgYWRtaW4gb3IgZnJvbnRlbmQgaW50ZXJmYWNlczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gVGhlIG5hbWUgb2YgdGhlIHJlbW92ZWQgZmlsZTwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBUaGUgaWQgb2YgdGhlIHJlbW92ZWQgZmlsZTwvbGk+DQo8bGk+PGVtPmNhdGVnb3J5X2lkPC9lbT4gLSBUaGUgaWQgb2YgdGhlIGNhdGVnb3J5PC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PblVwbG9hZCddID0gJzxwPkFuIGV2ZW50IGdlbmVyYXRlZCB3aGVuIGEgbmV3IGZpbGUgaXMgdXBsb2FkZWQgdmlhIHRoZSBhZG1pbiBvciBmcm9udGVuZCBpbnRlcmZhY2VzPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT5jYXRlZ29yeTwvZW0+IC0gVGhlIGNhdGVnb3J5IG5hbWU8L2xpPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBUaGUgbmFtZSBvZiB0aGUgdXBsb2FkZWQgZmlsZTwvbGk+DQo8bGk+PGVtPnNpemU8L2VtPiAtIFRoZSBzaXplIG9mIHRoZSB1cGxvYWRlZCBmaWxlPC9saT4NCjxsaT48ZW0+c3VtbWFyeTwvZW0+IC0gVGhlIHNob3J0IGRlc2NyaXB0aW9uIGZvciB0aGUgdXBsb2FkZWQgZmlsZSAobWF5IGJlIGVtcHR5KTwvZW0+PC9saT4NCjxsaT48ZW0+ZGVzY3JpcHRpb248L2VtPiAtIFRoZSBsb25nIGRlc2NyaXB0aW9uIGZvciB0aGUgdXBsb2FkZWQgZmlsZSAobWF5IGJlIGVtcHR5KTwvZW0+PC9saT4NCjxsaT48ZW0+YXV0aG9yPC9lbT4gLSBUaGUgYXV0aG9yIG9mIHRoZSB1cGxvYWRlZCBmaWxlIChpZiBhdmFpbGFibGUpPC9lbT48L2xpPg0KPGxpPjxlbT5pcF9hZGRyZXNzPC9lbT4gLSBUaGUgaW50ZXJuZXQgYWRkcmVzcyBvZiB0aGUgY2xpZW50IHRoYXQgdXBsb2FkZWQgdGhlIGZpbGU8L2xpPg0KPC91bD4NCic7CiRsYW5nWydpbmZvX2V2ZW50X29uZGVsZXRlY2F0ZWdvcnknXSA9ICdVZGFsb3PFpSB2eXZvbGFuJmFhY3V0ZTsgcG8gb2RzdHImYWFjdXRlO25lbiZpYWN1dGU7IGthdGVnJm9hY3V0ZTtyaWUnOwokbGFuZ1snaW5mb19ldmVudF9vbmNyZWF0ZWNhdGVnb3J5J10gPSAnVWRhbG9zxaUgdnl2b2xhbiZhYWN1dGU7IHBvIHZ5dHZvcmVuJmlhY3V0ZTsga2F0ZWcmb2FjdXRlO3JpZSc7CiRsYW5nWydpbmZvX2V2ZW50X29uZG93bmxvYWQnXSA9ICdVZGFsb3PFpSB2eXZvbGFuJmFhY3V0ZTsgcG8gc3RpYWhudXQmaWFjdXRlOyBzJnVhY3V0ZTtib3J1JzsKJGxhbmdbJ2luZm9fZXZlbnRfb251cGxvYWQnXSA9ICdVZGFsb3PFpSB2eXZvbGFuJmFhY3V0ZTsgcG8gbmFocmF0JmlhY3V0ZTsgcyZ1YWN1dGU7Ym9ydSc7CiRsYW5nWydpbmZvX2V2ZW50X29ucmVtb3ZlJ10gPSAnVWRhbG9zxaUgdnl2b2xhbiZhYWN1dGU7IHBvIG9kc3RyJmFhY3V0ZTtuZW4maWFjdXRlOyBzJnVhY3V0ZTtib3J1JzsKJGxhbmdbJ3RpdGxlX3VzZXJ0YWdfb251cGxvYWQnXSA9ICdVxb4maWFjdXRlO3ZhdGXEvnNrJnlhY3V0ZTsgdGFnIHZvbGFuJnlhY3V0ZTsgcG8gbmFocmF0JmlhY3V0ZTsgcyZ1YWN1dGU7Ym9ydSc7CiRsYW5nWydub25lJ10gPSAnxb1pYWRueSc7CiRsYW5nWydtYXRjaGVzZm91bmQnXSA9ICdaJmFhY3V0ZTt6bmFteSBuZW4mYWFjdXRlO2pkZW4mZWFjdXRlOyc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXInOwokbGFuZ1sndGl0bGVfcmVkaXJlY3RvbnVwbG9hZCddID0gJ1ByZXNtZXJvdmFuaWUgbmEgIElEIHN0ciZhYWN1dGU7bmt5L2FsaWFzIHBvIG5haHJhdCZpYWN1dGU7IHMmdWFjdXRlO2JvcnUnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHknOwokbGFuZ1snY29uZmlybV9wcmVmZXJlbmNlcyddID0gJ05hc3RhdmVuaWEgYnVkdSBha3R1YWxpem92YW4mZWFjdXRlOy4gQ2hjZXRlIHBva3JhxI1vdmHFpT8nOwokbGFuZ1snZXJyb3Jfbm9maWxlc3VwbG9hZGVkJ10gPSAnUyZ1YWN1dGU7Ym9yeSBuZWJvbGkgbmFocmF0JmVhY3V0ZTsuJzsKJGxhbmdbJ3Byb21wdF9yZXBsYWNlJ10gPSAnUG92b2xpxaUgcHJlcCZpYWN1dGU7c2FuaWUnOwokbGFuZ1snaW5mb19yZXBsYWNlJ10gPSAnUHJlcCZpYWN1dGU7c2HFpSBzJnVhY3V0ZTtib3IgcyByb3ZuYWsmeWFjdXRlO20gbiZhYWN1dGU7enZvbSAoYmV6IHptZW55IElEKSc7CiRsYW5nWydwYXJhbV9ub19pbml0aWFsJ10gPSAnRG8gbm90IGRpc3BsYXkgYW55IGluaXRpYWwgcmVzdWx0cyB3aGVuIHRoZSBmaWx0ZXIgaXMgb24nOwokbGFuZ1sncGFyYW1fa2V5J10gPSAnUHJvdmlkZSBhbiBhZGRpdGlvbmFsIGtleSB0byB0aGUgbW9kdWxlIGZvciBmdXJ0aGVyIG9yZ2FuaXppbmcgdXBsb2Fkcy4gIFRoaXMga2V5IGNvdWxkIGJlIGFuIGVuY29kZWQgc3RyaW5nIGxpa2U6ICYjMDM5O2ZldXNlcnM6dWlkJiMwMzk7LCBldGMuICBUaGlzIHBhcmFtZXRlciBpcyB1c3VhbGx5IG9ubHkgbmVlZGVkIHdoZW4gZW1iZWRkaW5nIHRoZSB1cGxvYWRzIG1vZHVsZSBpbnRvIGFub3RoZXIgbW9kdWxlJzsKJGxhbmdbJ3BhcmFtX25vYXV0aG9yJ10gPSAnSGlkZSB0aGUgYXV0aG9yIGZpZWxkIGZyb20gdGhlIHVwbG9hZCBmb3JtLiAgVGhpcyBwYXJhbWV0ZXIgaXMgb25seSB2YWxpZCB3aGVuIG1vZGU9JiMwMzk7dXBsb2FkJiMwMzk7LiAgSWYgVGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlIGlzIHByZXNlbnQsIGFuZCBhIHVzZXIgaXMgY3VycmVudGx5IGxvZ2dlZCBpbiwgYSBoaWRkZW4gZmllbGQgd2lsbCBob2xkIHRoZSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXJuYW1lJzsKJGxhbmdbJ3BhcmFtX3VwbG9hZF9pZCddID0gJ3VwbG9hZF9pZD0mcXVvdDtpZCZxdW90OyAtIHNwZWNpZnkgYSBzaW5nbGUgZmlsZSBmb3IgdGhlIHVybC9saW5rIG9yIHNpbmdsZSBtb2RlcyAoYWJvdmUpJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVXNlIGEgdGVtcGxhdGUgd2l0aCB0aGlzIG5hbWUgZm9yIHRoZSBkZXRhaWxlZCByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX3RlbXBsYXRlJ10gPSAnVXNlIGEgdGVtcGxhdGUgd2l0aCB0aGlzIG5hbWUgZm9yIHRoaXMgcmVwb3J0IG9yIGZvcm0uICBUaGUgbW9kZSBpcyB1c2VkIHRvIGRldGVybWluZSB3aGF0IHR5cGUgb2YgdGVtcGxhdGUgaXMgcmVxdWlyZXJkLCBhbmQgdGhlbiBhIG5hbWUgbWF0Y2ggaXMgcGVyZm9ybWVkIHdpdGhpbiB0aGF0IHR5cGUuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlciddID0gJ1pvYnJhemnFpSBmb3JtdWwmYWFjdXRlO3IgZmlsdHJhJzsKJGxhbmdbJ3BhcmFtX25vX2ludGl0aWFsJ10gPSAnT25seSB1c2VmdWwgd2hlbiB0aGUgZmlsdGVyIHBhcmFtZXRlciBpcyBzdXBwbGllZCwgb3Igb24gYnkgZGVmYXVsdCwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHdldGhlciBpbml0aWFsIHJlc3VsdHMgc2hvdWxkIGJlIHJldHVybmVkJzsKJGxhbmdbJ3BhcmFtX2ZpbGV0eXBlcyddID0gJ1pvYnJhemnFpSBzJnVhY3V0ZTtib3J5LCBrdG9yJmVhY3V0ZTsgc2EgemhvZHVqJnVhY3V0ZTsgcyB2eWJyYW4meWFjdXRlO20gdHlwb20gcyZ1YWN1dGU7Ym9yb3Ygb2RkZWxlbiZ5YWN1dGU7Y2ggxI1pYXJrYW1pJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJyAgPHA+VHJpZWRlbmllDQogIDx1bD4NCiAgPGxpPjxlbT5kYXRlX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgZGF0ZTwvbGk+DQogIDxsaT48ZW0+ZGF0ZV9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgZGF0ZTwvbGk+DQogIDxsaT48ZW0+bmFtZV9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIG5hbWU8L2xpPg0KICA8bGk+PGVtPm5hbWVfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIG5hbWU8L2xpPg0KICA8bGk+PGVtPnNpemVfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBzaXplPC9saT4NCiAgPGxpPjxlbT5zaXplX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBzaXplPC9saT4NCiAgPGxpPjxlbT5kZXNjX2FzYzwvZW0+IC0gU29ydCBieSBhc2NlbmRpbmcgZGVzY3JpcHRpb248L2xpPg0KICA8bGk+PGVtPmRlc2NfZGVzYzwvZW0+IC0gU29ydCBieSBkZXNjZW5kaW5nIGRlc2NyaXB0aW9uPC9saT4NCiAgPGxpPjxlbT5hdXRob3JfYXNjPC9lbT4gLSBTb3J0IGJ5IGFzY2VuZGluZyBhdXRob3I8L2xpPg0KICA8bGk+PGVtPmF1dGhvcl9kZXNjPC9lbT4gLSBTb3J0IGJ5IGRlc2NlbmRpbmcgYXV0aG9yPC9saT4NCiAgPGxpPjxlbT5pcF9hc2M8L2VtPiAtIFNvcnQgYnkgYXNjZW5kaW5nIGlwIGFkZHJlc3M8L2xpPg0KICA8bGk+PGVtPmlwX2Rlc2M8L2VtPiAtIFNvcnQgYnkgZGVzY2VuZGluZyBpcCBhZGRyZXNzPC9saT4NCiAgPGxpPjxlbT5yYW5kb208L2VtPiAtIFJhbmRvbSBzb3J0IG9yZGVyPC9saT4NCiAgPC91bD4NCiAgPC9wPic7CiRsYW5nWydwYXJhbV9saXN0aW5ndGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSB0byB1c2UgZm9yIGNhdGVnb3J5IGxpc3RpbmdzIGFmdGVyIGNsaWNrdGhyb3VnaCBmcm9tIENhdGVnb3J5IFN1bW1hcnkgcGFnZSc7CiRsYW5nWydwYXJhbV9saXN0aW5nc29ydG9yZGVyJ10gPSAnU29ydCBvcmRlciAoYWxhIHBhcmFtX3NvcnRvcmRlcikgdG8gdXNlIGZvciBjYXRlZ29yeSBsaXN0aW5ncyBhZnRlciBjbGlja3Rocm91Z2ggZnJvbSBDYXRlZ29yeSBTdW1tYXJ5IHBhZ2UnOwokbGFuZ1sncGFyYW1fZmlsZWV4dGVuc2lvbnMnXSA9ICcgDQpmaWxlX2V4dGVuc2lvbnM9JnF1b3Q7ZXh0MSxleHQyLGV4dDMmcXVvdDsNCjxwPnZhbGlkIG9ubHkgd2hlbiBtb2RlPXVwbG9hZCwgdGhpcyBwYXJhbWV0ZXIgbGltaXRzIHRoZSB0eXBlcyBvZiBmaWxlcyB0aGF0IGNhbiBiZSB1cGxvYWRlZC4gIEl0IG92ZXJyaWRlcyBhbnkgc2V0dGluZ3MgaW4gdGhlIG1vZHVsZSBwcmVmZXJlbmNlcy48L3A+JzsKJGxhbmdbJ3BhcmFtX2NvdW50J10gPSAnY291bnQ9JnF1b3Q7TiZxdW90Ow0KPHA+QSBwYXJhbWV0ZXIgdG8gbGlzdCBvbmx5IHRoZSBmaXJzdCBOIHJlc3VsdHMgb2YgdGhlIHF1ZXJ5LiAgUGFnaW5hdGlvbiB3b3VsZCBiZSBiZXR0ZXIsIGJ1dCB0aGlzIHdpbGwgZG8gdGhlIHRyaWNrIGZvciBub3c8L3A+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnY2F0ZWdvcnk9JnF1b3Q7bmFtZSZxdW90Ow0KPHA+PGI+Tm90ZTo8L2I+IENhdGVnb3J5IGNhbiBiZSAmcXVvdDthbGwmcXVvdDssIHdoaWNoIHdpbGwgbGlzdCBhbGwgb2YgdGhlIHVwbG9hZHMgZnJvbSBhbGwgPGVtPmxpc3RhYmxlPC9lbT4gY2F0ZWdvcmllczwvcD4nOwokbGFuZ1sncGFyYW1fbW9kZSddID0gJyAgPHVsPg0KICA8bGk+PGVtPmRldGFpbGVkPC9lbT4gLSBEaXNwbGF5IGEgZGV0YWlsZWQgbGlzdCBvZiBhbGwgZmlsZXMgaW4gdGhlIGNhdGVnb3J5PC9saT4NCiAgPGxpPjxlbT51cGxvYWQ8L2VtPiAtIERpc3BsYXkgYSBmb3JtIHRvIGFsbG93IGEgZnJvbnRlbmQgdXNlciB0byB1cGxvYWQgYSBmaWxlPC9saT4NCiAgPGxpPjxlbT51cmwgPGk+b3I8L2k+IGxpbms8L2VtPiAtIERpc3BsYXkgYSBsaW5rIHRvIGEgZmlsZTwvbGk+DQogIDxsaT48ZW0+c3VtbWFyeTwvZW0+IC0gRGlzcGxheSBhIHN1bW1hcml6ZWQgbGlzdCBvZiBhbGwgZmlsZXMgaW4gdGhlIGNhdGVnb3J5PC9saT4NCiAgPGxpPjxlbT5zaW5nbGU8L2VtPiAtIERpc3BsYXkgYSBkZXRhaWxlZCByZXBvcnQgYWJvdXQgYSBzaW5nbGUgdXBsb2FkPC9saT4NCiAgPGxpPjxlbT5zaW5nbGVzdW1tYXJ5PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyaXplZCByZXBvcnQgYWJvdXQgYSBzaW5nbGUgdXBsb2FkPC9saT4NCiAgPC91bD4nOwokbGFuZ1sncGFyYW1fc2VsZWN0Zm9ybSddID0gJ1doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBpcyB0aGUgZm9ybWlkIG9mIHRoZSBwYXJlbnQgZm9ybS4gIFVzZWQgdG8gaGFuZGxlIHBhcmFtZXRlciBwYXNzaW5nJzsKJGxhbmdbJ3BhcmFtX3NlbGVjdG5hbWUnXSA9ICd3aGVuIHVzaW5nIHRoZSAmIzAzOTtzZWxlY3QmIzAzOTsgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBuYW1lIG9mIHRoZSBmaWVsZCc7CiRsYW5nWydwYXJhbV9zZWxlY3R2YWx1ZSddID0gJ1doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGRlZmF1bHQgZmllbGQgdmFsdWUnOwokbGFuZ1sncGFyYW1fc2VsZWN0bm9uZSddID0gJ1doZW4gdXNpbmcgdGhlICYjMDM5O3NlbGVjdCYjMDM5OyBtb2RlLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2V0aGVyICYjMDM5O25vbmUmIzAzOTsgaXMgYSB2YWxpZCBjaG9pY2UuJzsKJGxhbmdbJ3JldHVybnRvbW9kdWxlJ10gPSAnVnImYWFjdXRlO3RpxaUgc2EgbmEgcGFuZWwgbW9kdWx1JzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcmllcyddID0gJ05pZSBzJnVhY3V0ZTsgdnl0dm9yZW4mZWFjdXRlOyBrYXRlZ28mb2FjdXRlO3JpZSc7CiRsYW5nWyd0aXRsZV9lbmZvcmNlZXh0ZW5zaW9ucyddID0gJ1Bvxb5hZG92YcWlIHByJmlhY3V0ZTtwb255IHUgdiZzY2Fyb247ZXRrJnlhY3V0ZTtjaCBuYWhyJmFhY3V0ZTt2YW4meWFjdXRlO2NoIHMmdWFjdXRlO2Jvcm92JzsKJGxhbmdbJ3Jlc3RvcmVkZWZhdWx0c2NvbmZpcm0nXSA9ICdDaHlzdCZhYWN1dGU7dGUgc2Egb2Jub3ZpxaUgJnNjYXJvbjthYmwmb2FjdXRlO255IHpvIHN5c3QmZWFjdXRlO211IChwcmVkbmFzdGF2ZW4mZWFjdXRlOyBob2Rub3R5KS4gViZzY2Fyb247ZXRreSBkb3RlcmFqJnNjYXJvbjtpZSB6bWVueSBzdHJhdCZpYWN1dGU7dGUuIENoY2V0ZSBwb2tyYcSNb3ZhxaU/JzsKJGxhbmdbJ2luZm9fdGh1bWJuYWlsJ10gPSAnSW4meWFjdXRlOyBuJmFhY3V0ZTtoxL5hZG92JnlhY3V0ZTsgcyZ1YWN1dGU7Ym9yJzsKJGxhbmdbJ3RodW1ibmFpbCddID0gJ05haMS+YWQnOwokbGFuZ1snbmV3dGh1bWJuYWlsJ10gPSAnTmFocmHFpSBub3YmeWFjdXRlOyBuYWjEvmFkJzsKJGxhbmdbJ2luZm9fc3VtbWFyeSddID0gJ0EgYnJpZWYgZGVzY3JpcHRpb24gb2YgdGhlIGZpbGUgKGlmIGVtcHR5LCB0aGUgZmlsZSBuYW1lIGlzIHVzZWQgd2l0aG91dCB0aGUgZXh0ZW5zaW9uKSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5bmFtZSddID0gJ0tyJmFhY3V0ZTt0a2UgbWVubyBwcmUga2F0ZWcmb2FjdXRlO3JpdSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5ZGVzYyddID0gJ1BvcGlzIGthdGVnJm9hY3V0ZTtyaWUnOwokbGFuZ1snaW5mb19jYXRlZ29yeXBhdGgnXSA9ICdOJmFhY3V0ZTt6b3YgYWRyZXMmYWFjdXRlO3JhLCBrdG9yJmVhY3V0ZTsgYnVkZSBwb3XFvml0JmVhY3V0ZTsgcHJlIHVrbGFkYW5pZSBzJnVhY3V0ZTtib3JvdiBwcmUgdCZ1YWN1dGU7dG8ga2F0ZWcmb2FjdXRlO3JpdSAoYWRyZXNhciBidWRldiBhZHJlcyZhYWN1dGU7cmkgdXBsb2FkcykuIFYgcHImaWFjdXRlO3BhZGUsIMW+ZSBhZHJlcyZhYWN1dGU7ciBuZWJ1ZGUgZXhpc3RvdmHFpSwgYnVkZSB2eXR2b3JlbiZ5YWN1dGU7Lic7CiRsYW5nWydpbmZvX2Rlc3RuYW1lJ10gPSAnUG91xb5pdGUgJiMwMzk7TmFocmFqIGFrbyYjMDM5OyBpYmEgdiBwciZpYWN1dGU7cGFkZSwgxb5lIGNoY2V0ZSB6bWVuacWlIG4mYWFjdXRlO3pvdiBzJnVhY3V0ZTtib3J1LiAnOwokbGFuZ1snZXJyb3JfY2FudGNyZWF0ZWRpcmVjdG9yeSddID0gJ05pZSBqZSBtb8W+biZlYWN1dGU7IHZ5dHZvcmnFpSBhZHJlcyZhYWN1dGU7cic7CiRsYW5nWydlcnJvcl9ub21haWxlcm1vZHVsZSddID0gJ0NNU01haWxlciBtb2R1bGUgbmVib2wgbiZhYWN1dGU7amRlbiZ5YWN1dGU7JzsKJGxhbmdbJ3VwbG9hZF9ub3RpZmljYXRpb24nXSA9ICdOb3YmeWFjdXRlOyBzJnVhY3V0ZTtib3IgYm9sIG5haHJhdCZ5YWN1dGU7JzsKJGxhbmdbJ3RpdGxlX2VtYWlsX29uX3VwbG9hZCddID0gJ1Bvc2xhxaUgbm90aWZpayZhYWN1dGU7Y2l1IHBvIG5haHJhdCZpYWN1dGU7Oic7CiRsYW5nWydlbWFpbF90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtuYSBwcmUgZS1tYWlsJzsKJGxhbmdbJ3RpdGxlX2R1bW15X2luZGV4X2h0bWwnXSA9ICdWeXR2b3JpxaUgZHVtbXkgaW5kZXguaHRtbCBzJnVhY3V0ZTtib3IgZG8ga2HFvmQmZWFjdXRlO2hvIGFkcmVzJmFhY3V0ZTtyYT88YnIvPjxlbT5FeGlzdHVqJnVhY3V0ZTtjaSBzJnVhY3V0ZTtib3IgYnVkZSBwcmVwJmlhY3V0ZTtzYW4meWFjdXRlOzwvZW0+JzsKJGxhbmdbJ2Fib3V0J10gPSAnTyBwb2xvxb5rZSc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnUHImaWFjdXRlO3N0dXAgemFtaWV0bnV0JnlhY3V0ZTsuIFNrb250cm9sdWp0ZSBzdm9qZSBwciZhYWN1dGU7dmEuJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90d3JpdGUnXSA9ICdOZW0mb2NpcmM7xb5lIHphcGlzb3ZhxaUnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdQcmlkYcWlIGthdGVnJm9hY3V0ZTtyaXUnOwokbGFuZ1snYWxsJ10gPSAnViZzY2Fyb247ZXRrbyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnU3RlIHNpIGlzdCZ5YWN1dGU7Pyc7CiRsYW5nWydhdXRob3InXSA9ICdBdXRvcic7CiRsYW5nWydjYW5jZWwnXSA9ICdacnUmc2Nhcm9uO2nFpSc7CiRsYW5nWydjYW5ub3Rtb2RpZnlwYXRoJ10gPSAnKENlc3RhIG5lbSZvY2lyYzvFvmUgYnnFpSB1cHJhdmVuJmFhY3V0ZTspJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZyZvYWN1dGU7cmllJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWcmb2FjdXRlO3JpYSc7CiRsYW5nWydtZXNzYWdlX2NhdGVnb3J5YWRkZWQnXSA9ICdLYXRlZyZvYWN1dGU7cmlhIGJvbGEgJnVhY3V0ZTtzcGUmc2Nhcm9uO25lIG5haHJhdCZhYWN1dGU7JzsKJGxhbmdbJ2RhdGUnXSA9ICdEJmFhY3V0ZTt0dW0nOwokbGFuZ1snZGF0ZXVwbG9hZGVkJ10gPSAnRCZhYWN1dGU7dHVtIG5haHJhdGlhJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdQcmVkbmFzdGF2ZW4mZWFjdXRlOyc7CiRsYW5nWydkZWxldGUnXSA9ICdPZHN0ciZhYWN1dGU7bmnFpSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ1BvcGlzJzsKJGxhbmdbJ2Rlc3RuYW1lJ10gPSAnTmFocmHFpSBha28nOwokbGFuZ1snZGV0YWlsX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYiZvYWN1dGU7bmEgcHJlIGRldGFpbCc7CiRsYW5nWydkb3dubG9hZGVkJ10gPSAnUyZ1YWN1dGU7Ym9yICVzIGJvbCBzdGlhaHV0JnlhY3V0ZTsuJzsKJGxhbmdbJ2Rvd25sb2FkcyddID0gJ1N0aWFobnV0aWEnOwokbGFuZ1snZWRpdCddID0gJ1VwcmF2acWlJzsKJGxhbmdbJ2VkaXRjYXRlZ29yeSddID0gJ1VwcmF2acWlIGthdGVnJm9hY3V0ZTtyaXUnOwokbGFuZ1snZWRpdHVwbG9hZCddID0gJ1VwcmF2acWlIHVwbG9hZCc7CiRsYW5nWydlcnJvciddID0gJ0NoeWJhISc7CiRsYW5nWydlcnJvcl9wYXRoaW51c2UnXSA9ICdLYXRlZyZvYWN1dGU7cmlhIHBvdcW+JmlhY3V0ZTt2YWomdWFjdXRlO2NhIHQmdWFjdXRlO3RvIGNlc3R1IHXFviBleGlzdHVqZSc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeWV4aXN0cyddID0gJ0NoeWJhOiBLYXRlZyZvYWN1dGU7cmlhIHXFviBleGlzdHVqZSc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeW5vdGVtcHR5J10gPSAnQ2h5YmEhIE5lbSZvY2lyYzvFvnRlIHptYXphxaUga2F0ZWcmb2FjdXRlO3JpdSwga3RvciZhYWN1dGU7IG5pZSBqZSBwciZhYWN1dGU7emRuYSc7CiRsYW5nWydlcnJvcl9jYXRlZ29yeW5vdGZvdW5kJ10gPSAnQ2h5YmE6IEthdGVnJm9hY3V0ZTtyaWEgbmVuJmFhY3V0ZTtqZGVuJmFhY3V0ZTsnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0NoeWJhOiBWIGRhdGFiJmFhY3V0ZTt6ZSc7CiRsYW5nWydlcnJvcl9lbXB0eWNhdGVnb3J5J10gPSAnQ2h5YmE6IEthdGVnJm9hY3V0ZTtyaWEgcHImYWFjdXRlO3pkYSc7CiRsYW5nWydlcnJvcl9lbXB0eXBhdGgnXSA9ICdDaHliYTogQ2VzdGEgcHImYWFjdXRlO3pkbmEnOwokbGFuZ1snZXJyb3JfZmlsZWV4aXN0cyddID0gJ0NoeWJhISBTJnVhY3V0ZTtib3IgJXMgdcW+IGV4aXN0dWplLic7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdDaHliYSEgUyZ1YWN1dGU7Ym9yICVzIG5lYm9sIG4mYWFjdXRlO2pkZW4meWFjdXRlOy4nOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnQ2h5YmE6IG5lZG9zdGF0b2sgcGFyYW1ldHJvdiBwcmUgcG91xb5pdGllIG1vZHVsdSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkYXV0aG9yJ10gPSAnQ2h5YmE6IE5lc3ByJmFhY3V0ZTt2bmUgdnlwbG5lbiZhYWN1dGU7LCBhbGVibyBwciZhYWN1dGU7emRuYSBwb2xvxb5rYSBhdXRvci4nOwokbGFuZ1snZXJyb3JfaW52YWxpZGNhdGVnb3J5J10gPSAnQ2h5YmE6IE5lc3ByJmFhY3V0ZTt2bmUgdnlwbG5lbiZhYWN1dGU7LCBhbGVibyBwciZhYWN1dGU7emRuYSBwb2xvxb5rYSBrYXRlZyZvYWN1dGU7cmlhLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkZGVzY3JpcHRpb24nXSA9ICdDaHliYTogTmVzcHImYWFjdXRlO3ZuZSB2eXBsbmVuJmFhY3V0ZTssIGFsZWJvIHByJmFhY3V0ZTt6ZG5hIHBvbG/FvmthIHBvcGlzLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkZmlsZSddID0gJ0NoeWJhOiBOZXNwciZhYWN1dGU7dm5lIHZ5cGxuZW4mYWFjdXRlOywgYWxlYm8gcHImYWFjdXRlO3pkbmEgcG9sb8W+a2EgbiZhYWN1dGU7em92IHMmdWFjdXRlO2JvcnUuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1cGxvYWRmaWxlbmFtZSddID0gJ0NoeWJhOiBUaWV0byB0eXBpIHMmdWFjdXRlO2Jvcm92IG5pZSBzJnVhY3V0ZTsgcG9kcG9yb3ZhbiZlYWN1dGU7IChwciZpYWN1dGU7cG9uYSkuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1cGxvYWRpZCddID0gJ0NoeWJhOiBOZXNwciZhYWN1dGU7dm5lIHVwbG9hZCBpZCc7CiRsYW5nWydlcnJvcl9ub2ZpbGVzJ10gPSAnQ2h5YmE6IMW9aWFkbmUgdnlicmFuJmVhY3V0ZTsgcyZ1YWN1dGU7Ym9yeSc7CiRsYW5nWydmaWxlcyddID0gJ1MmdWFjdXRlO2JvcnknOwokbGFuZ1snZml4bWUnXSA9ICdPJnNjYXJvbjtldHJpxaUgbWVkemVyeSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTJnVhY3V0ZTtib3JvdiZ5YWN1dGU7IG1hbmHFvm1lbnQgKFVwbG9hZHMpJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPkl0IGlzIGEgbW9kdWxlIGZvciBhbGxvd2luZyBwZW9wbGUgdG8gdXBsb2FkIGFuZCBkb3dubG9hZCBmaWxlcyB0byBhbmQgZnJvbSB5b3VyIHNpdGUuICBJdCBrZWVwcyB0cmFjayBvZiB3aG8gdXBsb2FkZWQgYSBmaWxlLCBhbmQgd2hvIGhhcyBkb3dubG9hZGVkIGl0LiAgQXMgd2VsbCwgeW91IGNhbiBzb3J0IGZpbGVzIGludG8gY2F0ZWdvcmllcywgYW5kIG1hbmFnZSB0aGUgZmlsZXMgdGhhdCB3ZXJlIHVwbG9hZGVkIGxpa2UgZXZlcnkgYWRtaW5pc3RyYXRvciB3b3VsZCBkbzwvcD4gDQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPjxzdHJvbmc+V2FybmluZzwvc3Ryb25nPiAtIFRoZSBwcm9wZXIgYmVoYXZpb3VyIG9mIHRoaXMgbW9kdWxlIGRlcGVuZHMgb24gbnVtZXJvdXMgcGhwIGNvbmZpZ3VyYXRpb24gdmFyaWFibGVzLiAgVGhlc2UgaW5jbHVkZSA8ZW0+KGJ1dCBhcmUgbm90IGxpbWl0ZWQgdG8pPC9lbT4sIHBocCYjMDM5O3MgbWVtb3J5X2xpbWl0LCBzYWZlX21vZGUsIGZpbGVfdXBsb2FkcywgdXBsb2Fkc19tYXhfZmlsZXNpemUsIGFuZCBtYXhfZXhlY3V0aW9uX3RpbWUuICBUaGVzZSB2YXJpYWJsZXMgbWF5IG5lZWQgYWRqdXN0bWVudCBmb3IgdGhpcyBtb2R1bGUgdG8gd29yayBwcm9wZXJseSBvbiB5b3VyIHNpdGUuICBJdCBpcyBhZHZpc2VkIHRoYXQgeW91IHdvcmsgd2l0aCB5b3VyIHN5c3RlbSBhZG1pbmlzdHJhdG9yIG9yIGhvc3QgcHJvdmlkZXIgdG8gdHVuZSB0aGVzZSBzZXR0aW5ncyBmb3IgeW91ciByZXF1aXJlbWVudHMuPC9wPg0KPHA+VG8gdXNlIHRoaXMgbW9kdWxlLCB0byBhbGxvdyB1c2VycyB0byB1cGxvYWQgZmlsZXMgdG8geW91ciBzaXRlLCB5b3Ugc2hvdWxkIGluc3RhbGwgdGhlIG1vZHVsZSwgYW5kIHRoZW4gY3JlYXRlIG9uZSBvciBtb3JlIGNhdGVnb3JpZXMgKGEuay5hKSBkaXJlY3RvcmllcyBmb3IgdGhlIHVwbG9hZGVkIGZpbGVzIHRvIGdvIGludG8uIFRoZW4gYWRkIGEgdGFnIGludG8gYSBwYWdlIG9yIHRlbXBsYXRlIHNvbWV3aGVyZSBsaWtlIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtVcGxvYWRzJnF1b3Q7IGNhdGVnb3J5PSZxdW90O3NvbWVjYXRlZ29yeSZxdW90OyBtb2RlPSZxdW90O3NvbWVtb2RlJnF1b3Q7fS4gIFdoZXJlIG1vZGUgbWF0Y2hlcyBvbmUgb2YgdGhlIG1vZGVzIGxpc3RlZCBiZWxvdy4gIFRoZSBvdXRwdXQgd2lsbCBkaWZmZXIgZGVwZW5kaW5nIHVwb24gd2hpY2ggbW9kZSB5b3Ugc2VsZWN0LjwvcD4NCjxwPlRoaXMgbW9kdWxlIGNhbiB1c2UgdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlIChvcHRpb25hbCkgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IGFueSBjdXJyZW50bHkgbG9nZ2VkIGluIHVzZXJzIHRvIHBhcnRseSBmaWxsIGluIHRoZSBmb3JtIHdoZW4gdXBsb2FkaW5nIGZpbGVzOzwvcD4NCjxoMz5QZXJtaXNzaW9uczwvaDM+DQo8dWw+DQo8bGk+PGVtPk1hbmFnZSBVcGxvYWRzPC9lbT4gcGVybWlzc2lvbiBpcyBuZWVkZWQgdG8gbWFuYWdlIGNhdGVnb3JpZXMsIGFuZCB0aGUgZmlsZXMgd2l0aGluIHRoZW0uPC9saT4NCjxsaT48ZW0+TW9kaWZ5IFRlbXBsYXRlczwvZW0+IHBlcm1pc3Npb24gaXMgbmVlZGVkIGVkaXQgYW55IG9mIHRoZSB0ZW1wbGF0ZXMuPC9saT4NCjxsaT48ZW0+TW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXM8L2VtPiBwZXJtaXNzaW9uIGlzIG5lZWRlZCBhbnkgb2YgdGhlIGZpbGUgc2V0dGluZ3MuPC9saT4NCjwvdWw+DQo8aDM+Q2F0ZWdvcnkgQnJvd3Npbmc8L2gzPg0KPHA+UGxhY2luZyBhIHRhZyBsaWtlIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtVcGxvYWRzJnF1b3Q7IGFjdGlvbj0mcXVvdDtjYXRlZ29yeXN1bW1hcnkmcXVvdDsgdGVtcGxhdGU9JnF1b3Q7c3VtbWFyeXRlbXBsYXRlJnF1b3Q7IHNvcnRvcmRlcj0mcXVvdDtuYW1lX2FzYyZxdW90OyBsaXN0aW5ndGVtcGxhdGU9JnF1b3Q7bGlzdHRlbXBsYXRlJnF1b3Q7IGxpc3Rpbmdzb3J0b3JkZXI9JnF1b3Q7bGlzdHNvcnRvcmRlciZxdW90O30NCmFsbG93cyB5b3UgdG8gZGlzcGxheSBhbiBpbnRlcmFjdGl2ZSBjYXRlZ29yeSBicm93c2VyLiBzb3J0b3JkZXIgY2FuIGJlOiBuYW1lX2FzYywgbmFtZV9kZXNjLCBzdW1tX2FzYywgc3VtbV9kZXNjLCBvciByYW5kb20uDQpsaXN0aW5ndGVtcGxhdGUgYW5kIGxpc3Rpbmdzb3J0b3JkZXIgYXJlIGlkZW50aWNhbCB0byB0aGUgdGVtcGxhdGUgYW5kIHNvcnRvcmRlciBwYXJhbWV0ZXJzIGZvcg0KdGhlICZxdW90O3N1bW1hcnkmcXVvdDsgbW9kZS48L3A+DQo8aDM+RW1haWxpbmc8L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgY2FwYWJsZSBvZiBzZW5kaW5nIGFuIGVtYWlsIHdoZW5ldmVyIGEgZmlsZSBpcyB1cGxvYWRlZCwgc2VlIHRoZSBwcmVmZXJlbmNlcyB0YWIuICBIb3dldmVyLCB0byBkbyB0aGlzIHRoZSA8Yj5DTVNNYWlsZXI8L2I+IHBhY2thZ2UgbXVzdCBiZSBpbnN0YWxsZWQgYW5kIGNvbmZpZ3VyZWQuICBUaGlzIGlzIGFuIDxlbT5vcHRpb25hbDwvZW0+IHN0ZXAsIGFuZCBpZiB0aGUgQ01TTWFpbGVyIG1vZHVsZSBpcyBub3QgaW5zdGFsbGVkLCBub3RoaW5nIHdpbGwgYmUgZGlzcGxheWVkIHRvIHRoZSB1c2VyLCBvbmx5IGEgbG9nIG1lc3NhZ2Ugd2lsbCBiZSBwbGFjZWQgaW50byB0aGUgYWRtaW4gbG9nPC9wPg0KPGgzPlN5c3RlbSBTZXR0aW5nczwvaDM+DQo8cD48Yj5Ob3RlOjwvYj4gVGhpcyBtb2R1bGUgZG9lcyBub3QgYnlwYXNzIG9yIGdldCBwYXN0IGFueSBmaWxlIHNpemUgbGltaXRhdGlvbnMgaW4gcGhwLiAgSXQgd29ya3MgaW4gY29uanVuY3Rpb24gd2l0aCB0aGVtLiAgVGhlcmVmb3JlIHlvdSBtYXkgbmVlZCB0byBtb2RpZnkgeW91ciBwaHAuaW5pIGZpbGUgYW5kL29yIHlvdXIgaHR0cGQuY29uZiBmaWxlKHMpIHRvIGFsbG93IHlvdSB0byB1cGxvYWQgZmlsZXMgYXMgbGFyZ2UgYXMgd2hhdCB5b3UgaGF2ZSBzZXQgaW4gdGhlIHVwbG9hZHMgbW9kdWxlIHByZWZlcmVuY2VzLjwvcD4NCjxoMz5BcGFjaGUgTm90ZXM8L2gzPg0KPHA+SW4gb3JkZXIgdG8gYWxsb3cgbGFyZ2UgZmlsZSB1cGxvYWRzLCB5b3UgbWF5IG5lZWQgdG8gbW9kaWZ5IHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIHBhcmFtZXRlciBpbiB5b3VyIHBocC5pbmkgIEluIGFkZGl0aW9uLCB0aGUgTGltaXRSZXF1ZXN0Qm9keSBwYXJhbWV0ZXIgaW4geW91ciBhcGFjaGUgY29uZmlndXJhdGlvbiwgbWF5IG5lZWQgdG8gYmUgYWRqdXN0ZWQgdG8gbWF0Y2ggdGhlIHVwbG9hZF9tYXhfZmlsZXNpemUgcGFyYW1ldGVyPC9wPg0KPHA+Tm90ZTogIHRoZSB1cGxvYWRfbWF4X2ZpbGVzaXplIHBhcmFtZXRlciBjYW4gYmUgc3BlY2lmaWVkIGluIGJ5dGVzLCBraWxvYnl0ZXMsIG9yIG1lZ2FieXRlcywgaG93ZXZlciB0aGUgTGltaXRSZXF1ZXRCb2R5IHBhcmFtZXRlciBpcyBvbmx5IHNwZWNpZmllZCBpbiBieXRlczwvcD4NCic7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsIHZlcnppYSAlcyBuYWluJnNjYXJvbjt0YWxvdmFuJnlhY3V0ZTsuJzsKJGxhbmdbJ2lwX2FkZHJlc3MnXSA9ICdJUCBhZHJlc2EnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1bCwga3RvciZ5YWN1dGU7IGRvayZhYWN1dGU7xb5lIG5haHImYWFjdXRlO3ZhxaUgIGEgc3ByYXZvdmHFpSBzJnVhY3V0ZTtib3J5JzsKJGxhbmdbJ25hbWUnXSA9ICdNZW5vJzsKJGxhbmdbJ3JlbmFtZW1lc3NhZ2UnXSA9ICdVcHJhdnRlIG1lbm8gcHJlIHByZW1lbm92YW5pZSc7CiRsYW5nWydwYXRoJ10gPSAnQ2VzdGEnOwokbGFuZ1sncGF0aG1lc3NhZ2UnXSA9ICdVcHJhdnRlIG0mZWFjdXRlO25vIGthdGVnJm9hY3V0ZTtyaWUgcHJlIHByZXN1biBzJnVhY3V0ZTtib3J1IGRvIGluJmVhY3V0ZTtobyBhZHJlcyZhYWN1dGU7cmEnOwokbGFuZ1sncGF0aGludXBsb2FkcyddID0gJyhyZWxhdCZpYWN1dGU7dm5hIGsgdXBsb2FkcyBhZHJlcyZhYWN1dGU7cnUpJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnPHA+VGhlIHVwbG9hZHMgbW9kdWxlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuIEJlIHN1cmUgdG8gc2V0ICZxdW90O01hbmFnZSBVcGxvYWRzJnF1b3Q7IHBlcm1pc3Npb25zIHRvIHVzZSB0aGlzIG1vZHVsZSE8L3A+DQo8cD48c3Ryb25nPldhcm5pbmc8L3N0cm9uZz4gLSBUaGUgcHJvcGVyIGJlaGF2aW91ciBvZiB0aGlzIG1vZHVsZSBkZXBlbmRzIG9uIG51bWVyb3VzIHBocCBjb25maWd1cmF0aW9uIHZhcmlhYmxlcy4gIFRoZXNlIGluY2x1ZGUgPGVtPihidXQgYXJlIG5vdCBsaW1pdGVkIHRvKTwvZW0+LCBwaHAmIzAzOTtzIG1lbW9yeV9saW1pdCwgc2FmZV9tb2RlLCBmaWxlX3VwbG9hZHMsIHVwbG9hZHNfbWF4X2ZpbGVzaXplLCBhbmQgbWF4X2V4ZWN1dGlvbl90aW1lLiAgVGhlc2UgdmFyaWFibGVzIG1heSBuZWVkIGFkanVzdG1lbnQgZm9yIHRoaXMgbW9kdWxlIHRvIHdvcmsgcHJvcGVybHkgb24geW91ciBzaXRlLiAgSXQgaXMgYWR2aXNlZCB0aGF0IHlvdSB3b3JrIHdpdGggeW91ciBzeXN0ZW0gYWRtaW5pc3RyYXRvciBvciBob3N0IHByb3ZpZGVyIHRvIHR1bmUgdGhlc2Ugc2V0dGluZ3MgZm9yIHlvdXIgcmVxdWlyZW1lbnRzLjwvcD4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsIGJvbCAmdWFjdXRlO3NwZSZzY2Fyb247bmUgb2RzdHImYWFjdXRlO25lbiZ5YWN1dGU7LiAgTmVib2xpIG9kc3RyJmFhY3V0ZTtuZW4mZWFjdXRlOyDFvmlhZG5lIHMmdWFjdXRlO2JvcnknOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdOYXN0YXZlbmlhJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ05hc3RhdmVuaWEgbW9kdWx1IGFrdHVhbGl6b3ZhbiZlYWN1dGU7Lic7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlkZXNjJ10gPSAnUG9waXMnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5bGlzdGFibGUnXSA9ICdTJnVhY3V0ZTtib3J5IHYgdG9tdG8gYWRyZXMmYWFjdXRlO3J5IG0mb2NpcmM7xb51IGJ5xaUgIHphcmFkZW4mZWFjdXRlOyBkbyB6b3puYW11JzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeW5hbWUnXSA9ICdOJmFhY3V0ZTt6b3Yga2F0ZWdvJm9hY3V0ZTtyaWUnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5cGF0aCddID0gJ0Nhc3RlIG5hIHNlcnZlcmknOwokbGFuZ1sncHJvbXB0X2RlbGV0ZWRpcmVjdG9yeSddID0gJ09kc3RyJmFhY3V0ZTtpxaUgYWRyZXMmYWFjdXRlO3Iga2F0ZWcmb2FjdXRlO3JpZT8nOwokbGFuZ1sncHJvbXB0X21heF91cGxvYWRzaXplJ10gPSAnTWF4aW0mYWFjdXRlO2xuYSB2ZcS+a29zxaUgbmFociZhYWN1dGU7dmFuJmVhY3V0ZTtobyBzJnVhY3V0ZTtib3J1IChLYiknOwokbGFuZ1sncHJvbXB0X3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnXSA9ICdQb2xvdm4mZWFjdXRlOyBuYWhyJmFhY3V0ZTt2YW4mZWFjdXRlOyBwciZpYWN1dGU7cG9ueSc7CiRsYW5nWydzY2FuJ10gPSAnU2tlbm92YcWlJzsKJGxhbmdbJ3NlbGVjdGNhdGVnb3J5J10gPSAnVnlicmHFpSBrYXRlZyZvYWN1dGU7cml1JzsKJGxhbmdbJ3NpemUnXSA9ICdWZcS+a29zxaUnOwokbGFuZ1snc2l6ZWtiJ10gPSAnVmXEvmtvc8WlIChLYiknOwokbGFuZ1snc3VibWl0J10gPSAnT2Rvc2xhxaUnOwokbGFuZ1snc3VtbWFyeV90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsJm9hY3V0ZTtueSBwcmUgdiZ5YWN1dGU7cGlzIChzJnVhY3V0ZTtocm4pJzsKJGxhbmdbJ3N1bW1hcnknXSA9ICdTJnVhY3V0ZTtocm4gKHYmeWFjdXRlO3BpcyknOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdVcGxvYWRzIG1vZHVsJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ0FkbWluIHBhbmVsIG1vZHVsdSc7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdOYXN0YXZlbmlhJzsKJGxhbmdbJ3RpdGxlX3N1Ym5ldF9leGNsdXNpb25zJ10gPSAnVnluZWNoYcWlIHN1Ym5ldHMgem8gJnNjYXJvbjt0YXRpc3QmaWFjdXRlO2snOwokbGFuZ1sndGl0bGVfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ1Bvdm9sZW4mZWFjdXRlOyBwciZpYWN1dGU7cG9ueSc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIG9kaW4mc2Nhcm9uO3RhbG92YW4meWFjdXRlOyc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIGFrdHVhbGl6b3ZhbiZ5YWN1dGU7IG5hIHZlcnppdSAlcy4nOwokbGFuZ1sndXBsb2FkJ10gPSAnTmFocmHFpSc7CiRsYW5nWyd1cGxvYWRlZCddID0gJ1MmdWFjdXRlO2JvciAlcyBib2wgbmFocmF0JnlhY3V0ZTsgJXMuJzsKJGxhbmdbJ3JlcGxhY2VkJ10gPSAnUyZ1YWN1dGU7Ym9yICVzIGJvbCBwcmVwJmlhY3V0ZTtzYW4meWFjdXRlOyAlcy4nOwokbGFuZ1snZGVsZXRlZCddID0gJ1MmdWFjdXRlO2JvciAlcyBib2wgb2RzdHImYWFjdXRlO25lbiZ5YWN1dGU7Lic7CiRsYW5nWyd1cGxvYWRmb3JtX3RlbXBsYXRlJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIHByZSBmb3JtdWwmYWFjdXRlO3IgcHJlIG5haHJhdGllIHMmdWFjdXRlO2JvcnUnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVxb4maWFjdXRlO3ZhdGXEvnNrJmVhY3V0ZTsgbWVubyc7CiRsYW5nWyd3YXJuaW5nX2RlbGV0ZWNhdGVnb3J5J10gPSAnVkFST1ZBTklFOiBEJmFhY3V0ZTt2YWp0ZSBzdSBwb3pvciBwcmkgbWF6YW4maWFjdXRlOyBrYXRlZyZvYWN1dGU7cmlpLCBzJnVhY3V0ZTtib3J5IG0mb2NpcmM7xb51IGJ5xaUgb2RzdHImYWFjdXRlO25lbiZlYWN1dGU7JzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPlZpdGFqIHYgYWRtaW5pc3RyJmFhY3V0ZTtjaWkgVXBsb2FkcyBtb2R1bHUuIFNvbWV0aGluZyBlbHNlIHdvdWxkIHByb2JhYmx5IGdvIGhlcmUgaWYgdGhlIG1vZHVsZSBhY3R1YWxseSBkaWQgc29tZXRoaW5nLjwvcD4nOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjI4NjkxNjc2LjIyMy4xNS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9YnVybmVyLmt1em1hbnkuYml6fHV0bWNjdD0vaW5zdGFsbC91cGdyYWRlLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNTgyOTEzMzUzMDA0NjYxMDAuMTIyMTkwNjQ3MC4xMjI5NjI4ODA4LjEyMjk2MzQ3NDAuMjQ3JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4yLjEwLjEyMjk2MzQ3NDAnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeV9zY2FubmFibGUnXSA9ICdTa2FubmEgYXV0b21hdGlza3QgZGVubmEga2F0ZWdvcmkgZWZ0ZXIgbnlhIGZpbGVyPyc7CiRsYW5nWydpbmZvX2NhdGVnb3J5X3NjYW5uYWJsZSddID0gJ1ZpZCAmYXJpbmc7dGtvbXN0IGZyJmFyaW5nO24gZnJvbnQgZW5kIHNrYW5uYXMgYXV0b21hdGlza3QgZGVubmEga2F0ZWdvcmkgZWZ0ZXIgbnlhIGZpbGVyJzsKJGxhbmdbJ3Byb21wdF90bF9hY2Nlc3MnXSA9ICdUaWRzYmVnciZhdW1sO25zYWQgJmFyaW5nO3Rrb21zdCc7CiRsYW5nWydwcm9tcHRfYWxsb3dfdXBsb2FkX3NlbmRmaWxlJ10gPSAnVGlsbCZhcmluZzt0IGF0dCBza2lja2EgZmlsZXIgZGlyZWt0IHAmYXJpbmc7IGFkbWluIHVwbG9hZCc7CiRsYW5nWydtc2dfYXV0b19kZWxldGVfZmlsZSddID0gJ1JhZGVyYWRlIGF1dG9tYXRpc2t0IHV0ZyZhcmluZztuZ25hIGZpbGVyOiAlcyc7CiRsYW5nWydtc2dfYXV0b19kZWxldGVfZmlsZV9mYWlsZWQnXSA9ICdSJmF1bWw7dHRpZ2hldHNwcm9ibGVtLCBhdXRvbWF0aXNrIHJhZGVyaW5nIGF2ICVzIG1pc3NseWNrYWRlcyc7CiRsYW5nWydpbmZvX2NhdGVnb3J5X2V4cGlyZXNfaHJzJ10gPSAnU3BlY2lmaWNlcmEgYW50YWxldCB0aW1tYXIgaW5uYW4gZmlsZXIgaSBkZW5uYSBrYXRlZ29yaSBrYW4gcmFkZXJhcy4gQW52JmF1bWw7bmQgdiZhdW1sO3JkZXQgMCBmJm91bWw7ciBhdHQgaW5kaWtlcmEgYXR0IGZpbGVyIGludGUgc2thbGwgcmFkZXJhcy4nOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5X2V4cGlyZXNfaHJzJ10gPSAnQW50YWxldCB0aW1tYXIgaW5uYW4gZmlsZXIgaSBkZW5uYSBrYXRlZ29yaSBhdXRvbWF0aXNrdCByYWRlcmFzJzsKJGxhbmdbJ2luZm9fZGZsdF9jYXRlZ29yeV9leHBpcnknXSA9ICdTdGFuZGFyZHYmYXVtbDtyZGV0IGYmb3VtbDtyIG55YSBrYXRlZ29yaWVyIHNvbSBzcGVjaWZpY2VyYXIgaHVyIGwmYXVtbDtuZ2UgZmlsZXIgZXhpc3RlcmFyIGkgZGVubmEga2F0ZWdvcmkgaW5uYW4gZG9tIGF1dG9tYXRpc2t0IHJhZGVyYXMuIEFudiZhdW1sO25kIHYmYXVtbDtyZGV0IDAgZiZvdW1sO3IgYXR0IGluZGlrZXJhIGF0dCBkZSBpbnRlIHNrYWxsIHJhZGVyYXMuJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5X2V4cGlyeSddID0gJ0NhdGVnb3J5IGV4cGlyeSBwZXJpb2QgPGVtPihocnMpPC9lbT4nOwokbGFuZ1snaW5mb19jYXRlZ29yeWRlbGV0YWJsZSddID0gJ0F1dGhvcml6ZWQgdXNlcnMgd2lsbCBoYXZlIHBlcm1pc3Npb24gdG8gZGVsZXRlIHRoZXNlIGZpbGVzLiAgVGhpcyBtZWFucyB0aGF0IGEgdXJsIHdpbGwgYmUgcHJvdmlkZWQgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlcyB0byBhbGxvdyBkZWxldGluZyBvZiB0aGUgZmlsZS4gIEEgd2Vic2l0ZSBkZXZlbG9wZXIgY2FuIHVzZSBhcHByb3ByaWF0ZSBzbWFydHkgbG9naWMgdG8gc2hvdyBhIGxpbmsgdG8gYXV0aG9yaXplZCB1c2Vycy4nOwokbGFuZ1snY29weV9maWxlcyddID0gJ0tvcGllcmEgZmlsZXInOwokbGFuZ1snZXJyb3JfZmlsZXRvb2xhcmdlJ10gPSAnRmlsZW4gZHUgZiZvdW1sO3JzJm91bWw7a3RlIGxhZGRhIHVwcCAmYXVtbDtyIHN0Jm91bWw7cnJlICZhdW1sO24gQ01TTVNzIG1heGltYWxhIGZpbHVwcGxhZGRuaW5nc3N0b3JsZWsnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVjYXRlZ29yeSddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCByYWRlcmEgZGVubmEga2F0ZWdvcmk/JzsKJGxhbmdbJ2Vycm9yX2RlbGV0ZSddID0gJ0V0dCBvYmpla3Qga3VuZGUgaW50ZSByYWRlcmFzICglcyknOwokbGFuZ1snY29uZmlybV9jYXRfbXVsdGlhY3Rpb24nXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwgZ2Vub21mJm91bWw7cmEgZGVuIGgmYXVtbDtyICZhcmluZzt0ZyZhdW1sO3JkZW4gcCZhcmluZzsgZGUgdmFsZGEga2F0ZWdvcmllcm5hPyc7CiRsYW5nWydlcnJvcl9ub3RoaW5nX3NlbGVjdGVkJ10gPSAnRmVsOiBJbmdldCB2YWxkZXMnOwokbGFuZ1snd2l0aF9zZWxlY3RlZCddID0gJ01lZCB2YWxkOic7CiRsYW5nWydlcnJvcl9yZXBsYWNlX21pc21hdGNoZWRfZmlsZWV4dCddID0gJ04mYXVtbDtyIGR1IGVycyZhdW1sO3R0ZXIgZW4gZmlsIG0mYXJpbmc7c3RlIGR1IGxhZGRhIHVwcCBlbiBmaWwgYXYgZXhha3Qgc2FtbWEgdHlwIChmaWwmYXVtbDtuZGVsc2UpLiBGaWxlbiBkdSB2YWxkZSBtYXRjaGFyIGludGUgb3JpZ2luYWxmaWxlbi4nOwokbGFuZ1sncmVwbGFjZSddID0gJ0VycyZhdW1sO3R0JzsKJGxhbmdbJ2luZm9fcmVwbGFjZWZpbGUnXSA9ICdZb3UgbWF5IHVwbG9hZCBhIHJlcGxhY2VtZW50IGZpbGUsIGlmIHRoZSBmaWxlIGlzIGFuIGltYWdlIHR5cGUsIGFuZCB5b3UgaGF2ZSBub3Qgc3BlY2lmaWVkIGEgcmVwbGFjZW1lbnQgdGh1bWJuYWlsLCBhIG5ldyB0aHVtYm5haWwgd2lsbCBiZSBnZW5lcmF0ZWQnOwokbGFuZ1sncHJvbXB0X3JlcGxhY2VmaWxlJ10gPSAnTGFkZGEgdXBwIGVycyZhdW1sO3R0bmluZ3NmaWwnOwokbGFuZ1sndGl0bGVfZml4c3BhY2VzJ10gPSAnRml4YSBtZWxsYW5zbGFnIGkgZmlsbmFtbmV0JzsKJGxhbmdbJ2NhdGVnb3J5X2NvcGllZCddID0gJ0thdGVnb3JpbiAmYXVtbDtyIG51IGtvcGllcmFkJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZXBhdGgnXSA9ICdWYXIgdiZhdW1sO25saWcgc3BlY2lmaWNlcmEgZXR0IGthdGFsb2duYW1uIHNvbSBza2lsamVyIHNpZyBmciZhcmluZztuIGsmYXVtbDtsbGFuLCBvY2ggc29tIGludGUgcmVkYW4gYW52JmF1bWw7bmRzLic7CiRsYW5nWydvcGVyYXRpb25fY2FuY2VsbGVkJ10gPSAnT3BlcmF0aW9uIENhbmNlbGxlZCc7CiRsYW5nWydzb3VyY2UnXSA9ICdLJmF1bWw7bGxhJzsKJGxhbmdbJ2Rlc3RpbmF0aW9uJ10gPSAnTSZhcmluZztsJzsKJGxhbmdbJ3Byb21wdF9jb3B5X2ZpbGVzJ10gPSAnS29waWVyYSBrYXRlZ29yaSBmaWxlcic7CiRsYW5nWydpbmZvX2NvcHlfZmlsZXMnXSA9ICdLb3BpZXJhIGZpbGVybmEgZnImYXJpbmc7biBrJmF1bWw7bGxrYXRlZ29yaW4gdGlsbCBtJmFyaW5nO2xrYXRlZ29yaW4nOwokbGFuZ1snZXh0cmEnXSA9ICdFeHRyYSc7CiRsYW5nWydjb3B5J10gPSAnS29waWVyYSc7CiRsYW5nWydzZWxlY3RvbmUnXSA9ICdWJmF1bWw7bGogZW4nOwokbGFuZ1snYXV0b3dhdGVybWFyayddID0gJ0F1dG9tYXRpc2t0IHBsYWNlcmEgZXR0IHZhdHRlbm0mYXVtbDtya2UgcCZhcmluZzsgYmlsZGVybmEnOwokbGFuZ1snaW1hZ2Vfc2V0dGluZ3MnXSA9ICdCaWxkaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ3Byb21wdF9nZXRmaWxlX3Jlc3VsdHBhZ2UnXSA9ICdTaWRhIGF0dCBhbnYmYXVtbDtuZGFzIGYmb3VtbDtyIGZlbCBvY2ggYW5kcmEgbWVkZGVsYW5kZW4gcmVsYXRlcmFkZSB0aWxsIGZpbG5lcmxhZGRuaW5nJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfa2V5J10gPSAnVGhlIHVwbG9hZCBrZXkgc3BlY2lmaWVkIGlzIGludmFsaWQgKG1heWJlIGl0IGhhcyByZWFjaGVkIGl0cyBtYXhpbXVtIGRvd25sb2FkIGNhcGFjaXR5IG9yIGhhcyBleHBpcmVkKSc7CiRsYW5nWydkZmx0X3RpbWVsaW1pdGVkX3N1YmplY3QnXSA9ICd7JHNpdGVuYW1lfSAtIFlvdSBoYXZlIGJlZW4gZ3JhbnRlZCBhY2Nlc3MgdG8geyRlbnRyeS0+dXBsb2FkX25hbWV8c3RyaXBfdGFnc30gZm9yIGEgbGltaXRlZCB0aW1lJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9zdWJqZWN0J10gPSAnU3ViamVjdCBmb3IgZW1haWwgY3JlYXRlZCB3aGVuIHNlbmRpbmcgYSB0aW1lIGxpbWl0ZWQgVVJMJzsKJGxhbmdbJ3Byb21wdF90aW1lbGltaXRlZF9hdXRvZGVsZXRlJ10gPSAnQXV0byBkZWxldGUgZXhwaXJlZCBlbnRyaWVzIGFmdGVyIE4gaG91cnMgPGVtPihzcGVjaWZ5IDAgdG8gZGlzYWJsZSBhdXRvZGVsZXRlKTwvZW0+Oic7CiRsYW5nWydwcm9tcHRfdGltZWxpbWl0ZWRfc2VuZGl0J10gPSAnU2tpY2thIGRlbiBoJmF1bWw7ciBVUkxlbiB0aWxsIGRlbiB1dHNlZGRhIGUtcG9zdGFkcmVzcz8nOwokbGFuZ1sndXJsX2tleSddID0gJ1VSTCBueWNrZWwnOwokbGFuZ1snY3JlYXRlZCddID0gJ1NrYXBhZCc7CiRsYW5nWydleHBpcmVzJ10gPSAnRiZvdW1sO3JmYWxsZXInOwokbGFuZ1snYWRkZWRpdF90aW1lbGltaXRlZF9rZXknXSA9ICdBZGQvRWRpdCBUaW1lIExpbWl0ZWQgS2V5JzsKJGxhbmdbJ3RpbWVfbGltaXRlZF9rZXlfYWRkZWQnXSA9ICdUaW1lIExpbWl0ZWQgS2V5IEFkZGVkJzsKJGxhbmdbJ251bV9ob3VycyddID0gJ0FudGFsIHRpbW1hcic7CiRsYW5nWydudW1fZG93bmxvYWRzJ10gPSAnQW50YWwgbmVkbGFkZG5pbmdhcic7CiRsYW5nWydlbWFpbF9hZGRyZXNzJ10gPSAnRXBvc3QgYWRyZXNzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdfaW52YWxpZCddID0gJ0V0dCB2JmF1bWw7cmRlIHNvbSBiZWcmYXVtbDtyZGVzIHNha25hcyBlbGxlciAmYXVtbDtyIG9naWx0aWc6ICVzJzsKJGxhbmdbJ2FkZF90aW1lbGltaXRlZF9rZXknXSA9ICdBZGQgVGltZSBMaW1pdGVkIEtleSc7CiRsYW5nWydmaWxlX2luZm8yJ10gPSAnRmlsICVzIChpZD0lZCknOwokbGFuZ1snaW5mb190aW1lbGltaXRlZF9kb3dubG9hZHMnXSA9ICdTcGVjaWZ5IHRoZSBkZWZhdWx0IG51bWJlciBvZiB0aW1lcyB0aGF0IGEgZmlsZSBpZGVudGlmaWVkIGJ5IGEgcGFydGljdWxhciBrZXkgY2FuIGJlIGRvd25sb2FkZWQnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2Rvd25sb2FkcyddID0gJ0RlZmF1bHQgTnVtYmVyIG9mIERvd25sb2Fkcyc7CiRsYW5nWydpbmZvX3RpbWVsaW1pdGVkX2hvdXJzJ10gPSAnU3BlY2lmeSB0aGUgZGVmYXVsdCBudW1iZXIgb2YgaG91cnMgdGhhdCBhIHRpbWUgbGltaXRlZCBrZXkgaXMgdmFsaWQgZm9yLiAgU3BlY2lmeSAwIGZvciB1bmxpbWl0ZWQnOwokbGFuZ1sncHJvbXB0X3RpbWVsaW1pdGVkX2hvdXJzJ10gPSAnTnVtYmVyIG9mIGhvdXJzIGEgVGltZSBMaW1pdGVkIEtleSBpcyB2YWxpZCBmb3InOwokbGFuZ1sndGltZWxpbWl0ZWRfdXJsX3NldHRpbmdzJ10gPSAnVGltZSBMaW1pdGVkIEtleSBTZXR0aW5ncyc7CiRsYW5nWydtYW5hZ2VfdGltZWxpbWl0ZWQnXSA9ICdNYW5hZ2UgVGltZSBMaW1pdGVkIEFjY2Vzcyc7CiRsYW5nWyd1cGxvYWRpbmdfc2V0dGluZ3MnXSA9ICdGaWxlIFVwbG9hZCBTZXR0aW5ncyc7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnQWxsbSZhdW1sO25uYSBpbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1sndGh1bWJuYWlsX3NldHRpbmdzJ10gPSAnVGh1bWJuYWlsIEdlbmVyYXRpb24nOwokbGFuZ1sndGl0bGVfcmVkaXJlY3Rfb25fc2VuZGZpbGUnXSA9ICdQYWdlIHRvIHJlZGlyZWN0IHRvIGFmdGVyIHNlbmRpbmcgYSBmaWxlJzsKJGxhbmdbJ2xibF9iYWNrJ10gPSAnVGlsbGJha2EnOwokbGFuZ1snbGJsX3RlbXBsYXRlcyddID0gJ1JlZGlnZXJhIG1hbGxhcic7CiRsYW5nWydwcm9tcHRfcHVibGljX2ZpZWxkJ10gPSAnRmllbGQgaXMgcHVibGljIDxlbT4oY2FuIGJlIHZpZXdlZCBieSBzaXRlIHZpc2l0b3JzKTwvZW0+JzsKJGxhbmdbJ3VwbG9hZF9lZGl0ZWQnXSA9ICdGaWxlIERldGFpbHMgRWRpdGVkIG9uICVzJzsKJGxhbmdbJ2luZm9fdGh1bWJuYWlsJ10gPSAnRW4gdmFsZnJpIGZpbCBtZWQgdHVtbmFnZWxiaWxkJzsKJGxhbmdbJ3VwbG9hZF9maWxlJ10gPSAnTGFkZGEgdXBwIGVuIG55IGZpbCc7CiRsYW5nWydtc2dfZmllbGRfZGVsZXRlZCddID0gJ0YmYXVtbDtsdGV0IHJhZGVyYXQnOwokbGFuZ1snYXNrX2RlbGV0ZV9maWVsZCddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBmaWVsZCBkZWZpbml0aW9uIGFuZCBhbGwgYXNzb2NpYXRlZCB2YWx1ZXM/JzsKJGxhbmdbJ3llcyddID0gJ0phJzsKJGxhbmdbJ25vJ10gPSAnTmVqJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXAnOwokbGFuZ1snZmllbGR0eXBlX211bHRpc2VsZWN0J10gPSAnTXVsdGlzZWxlY3QgTGlzdCc7CiRsYW5nWydmaWVsZHR5cGVfZHJvcGRvd24nXSA9ICdMaXN0cnV0YSc7CiRsYW5nWydmaWVsZHR5cGVfY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydmaWVsZHR5cGVfdGV4dGFyZWEnXSA9ICdUZXh0YXJlYSc7CiRsYW5nWydmaWVsZHR5cGVfdGV4dGlucHV0J10gPSAnVGV4dGlubWF0bmluZyc7CiRsYW5nWydwcm9tcHRfdXNlX3d5c2l3eWcnXSA9ICdVc2UgdGhlIHd5c2l3eWcgd2hlbiBlZGl0aW5nIHRoZSB2YWx1ZSBmb3IgdGhpcyBmaWVsZCc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9jb250ZW50J10gPSAnU3RhbmRhcmQgaW5uZWgmYXJpbmc7bGwgZiZvdW1sO3IgdGV4dGFyZWEnOwokbGFuZ1sncHJvbXB0X2Ryb3Bkb3duX29wdGlvbnMnXSA9ICdWYWwgKGVuIHBvc3QgcGVyIHJhZCknOwokbGFuZ1sncHJvbXB0X2ZpZWxkX21heGxlbmd0aCddID0gJ01heGltYWwgbCZhdW1sO25nZCBmJm91bWw7ciBmJmF1bWw7bHQnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX2xlbmd0aCddID0gJ0YmYXVtbDtsdGwmYXVtbDtuZ2QnOwokbGFuZ1sncHJvbXB0X2ZpZWxkX3R5cGUnXSA9ICdGJmF1bWw7bHQgdHlwJzsKJGxhbmdbJ3Byb21wdF9maWVsZF9uYW1lJ10gPSAnRiZhdW1sO2x0bmFtbic7CiRsYW5nWyd0aXRsZV9hZGRfZmllbGQnXSA9ICdBZGQgb3IgRWRpdCBhIEZpZWxkIERlZmluaXRpb24nOwokbGFuZ1snZmllbGRfZGVmaW5pdGlvbnMnXSA9ICdGJmF1bWw7dGRlZmluaXRpb24nOwokbGFuZ1sncHJvbXB0X2FkZF9maWVsZCddID0gJ0wmYXVtbDtnZyB0aWxsIGVuIGYmYXVtbDtsdGRlZmluaXRpb24nOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmaWVzIHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZSB0YWcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOiBkZWZhdWx0IC0gKHRoZSBkZWZhZmF1bHQgYmVoYXZpb3IpLCBkZXRhaWwgLSB0byBkaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgZmlsZSBiYXNlZCBvbiB0aGUgdXBsb2FkX2lkLCBhbmQgeW91c2VuZGl0IC0gdG8gZGlzcGxheSBhIGZvcm0gdG8gYWxsb3cgdXBsb2FkaW5nIGEgZmlsZSwgYW5kIHNlbmRpbmcgaXQgdG8gbnVtZXJvdXMgYWRkcmVzc2VzIGluIG9uZSBzdGVwJzsKJGxhbmdbJ3BhcmFtX3NlbmRmaWxlcGFnZSddID0gJ1NwZWNpZnkgdGhlIHBhZ2UgaWQgb3IgYWxpYXMgb2YgYSBwYWdlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBzZW5kIGEgZmlsZSBmb3JtJzsKJGxhbmdbJ2ZpbGVfdXBsb2FkZWQnXSA9ICdGaWx1cHBsYWRkbmluZ2VuIGx5Y2thZGVzJzsKJGxhbmdbJ3RvJ10gPSAnVGlsbCc7CiRsYW5nWyd0aXRsZV95b3VzZW5kaXRmb3JtX3RlbXBsYXRlJ10gPSAnQWRkIG9yIEVkaXQgYSAmcXVvdDtZb3UgU2VuZCBJdCZxdW90OyBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ3lvdXNlbmRpdGZvcm1fdGVtcGxhdGUnXSA9ICdZb3VTZW5kSXQgRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1sndGl0bGVfeW91c2VuZGl0Zm9ybV9zeXNkZWZhdWx0J10gPSAnU3lzdGVtIGRlZmF1bHQgJnF1b3Q7eW91IHNlbmQgaXQmcXVvdDsgdGVtcGxhdGUnOwokbGFuZ1snbXNnX2ZpbGVfc2VudCddID0gJ0EgbWVzc2FnZSBoYXMgYmVlbiBzZW50IHRvIHRoZSBzZWxlY3RlZCBhZGRyZXNzZXMgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZmlsZSBhbmQgaG93IHRvIHJldHJpZXZlIGl0Lic7CiRsYW5nWydlcnJvcl9ub2FkZHJlc3NlcyddID0gJ1lvdSBtdXN0IHN1cHBseSBhdCBsZWFzdCBvbmUgZGVzdGluYXRpb24gYWRkcmVzcyc7CiRsYW5nWydlcnJvcl9ub3N1YmplY3QnXSA9ICdEdSBtJmFyaW5nO3N0ZSBhbmdlIGV0dCAmYXVtbDttbmUnOwokbGFuZ1snc3ViamVjdCddID0gJyZBdW1sO21uZSc7CiRsYW5nWyd0aXRsZV9zZW5kZmlsZXBhZ2UnXSA9ICdQYWdlIGZvciAmcXVvdDtTZW5kIGEgRmlsZSZxdW90OyBmb3JtJzsKJGxhbmdbJ2ZpbGVfaW5mbyddID0gJ0ZpbGluZm8nOwokbGFuZ1snc2VuZCddID0gJ1NraWNrYSc7CiRsYW5nWydub3RlcyddID0gJ05vdGVyaW5nYXInOwokbGFuZ1snYWRkcmVzc2VlcyddID0gJ1NraWNrYSBpbmZvcm1hdGlvbiBvbSBkZW5uYSBmaWwgdGlsbCc7CiRsYW5nWydwcm9tcHRfc2VuZGZpbGVfZW1haWxfdGVtcGxhdGUnXSA9ICcmcXVvdDtTZW5kIGEgRmlsZSZxdW90OyBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zZW5kZmlsZWZvcm1fdGVtcGxhdGUnXSA9ICdBZGQgb3IgRWRpdCBhICZxdW90O1NlbmQgYSBGaWxlJnF1b3Q7IEZvcm0gVGVtcGxhdGUnOwokbGFuZ1snc2VuZGZpbGVmb3JtX3RlbXBsYXRlJ10gPSAnJnF1b3Q7U2VuZCBhIEZpbGUmcXVvdDsgRm9ybSBUZW1wbGF0ZXMnOwokbGFuZ1sncHJvbXB0X25vdGlmeV9lbWFpbF90ZW1wbGF0ZSddID0gJ0ZpbGUgdXBsb2FkIG5vdGlmaWNhdGlvbiBlbWFpbCB0ZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zZW5kZmlsZWZvcm1fc3lzZGVmYXVsdCddID0gJ1N5c3RlbSBkZWZhdWx0ICZxdW90O1NlbmQgYSBGaWxlJnF1b3Q7IGZvcm0gdGVtcGxhdGUnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5ZGVsZXRhYmxlJ10gPSAnRmlsZXIgaSBkZW4gaCZhdW1sO3Iga2F0ZWdvcmluIGthbiByYWRlcmFzJzsKJGxhbmdbJ3RpdGxlX2FsbG93X2RlbGV0ZSddID0gJ1RpbGwmYXJpbmc7dCByYWRlcmluZyBhdiBmaWxlciBmciZhcmluZztuIGZyb250ZW5kJzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVzJ10gPSAnU3RhbmRhcmRtYWxsYXInOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnRiZvdW1sO3JzdGEgc2lkYW4nOwokbGFuZ1sncHJldnBhZ2UnXSA9ICdGJm91bWw7cmVnJmFyaW5nO2VuZGUgc2lkYSc7CiRsYW5nWyduZXh0cGFnZSddID0gJ04mYXVtbDtzdGEgc2lkYSc7CiRsYW5nWydsYXN0cGFnZSddID0gJ1Npc3RhIHNpZGFuJzsKJGxhbmdbJ2ZpcnN0cGFnZV9hcnJvdyddID0gJzw8JzsKJGxhbmdbJ3ByZXZwYWdlX2Fycm93J10gPSAnPCc7CiRsYW5nWyduZXh0cGFnZV9hcnJvdyddID0gJz4nOwokbGFuZ1snbGFzdHBhZ2VfYXJyb3cnXSA9ICc+Pic7CiRsYW5nWydwYWdlJ10gPSAnU2lkYSc7CiRsYW5nWydvZiddID0gJ2F2JzsKJGxhbmdbJ3Byb21wdF9ncm91cGxpc3QnXSA9ICdhdWt0b3Jpc2VyYWRlIEZyb250ZW5kYW52JmF1bWw7bmRhcmUtZ3J1cHBlcic7CiRsYW5nWydpbmZvX2dyb3VwbGlzdCddID0gJ1YmYXVtbDtsaiBkZSBGcm9udGVuZGFudiZhdW1sO25kYXJlLWdydXBwZXIgc29tIHNrYSB0aWxsJmFyaW5nO3RhcyBrb21tYSAmYXJpbmc7dCBmaWxlciBpIGRlbiBoJmF1bWw7ciBrYXRlZ29yaW4uIEF2bWFya2VyYSBhbGxhIHBvc3RlciBmJm91bWw7ciBhdHQgdGlsbCZhcmluZzt0YSBmdWxsICZhcmluZzt0a29tc3QnOwokbGFuZ1sndGl0bGVfc2NhbiddID0gJ0xldGEgZWZ0ZXIgbnlhIGZpbGVyIGkgZGVuIGgmYXVtbDtyIGthdGVnb3Jpbic7CiRsYW5nWyd0aXRsZV9jcmVhdGVfdGh1bWJuYWlscyddID0gJ1NrYXBhIHNha25hZGUgbWluaWF0eXJiaWxkZXIgZiZvdW1sO3IgZmlsZXIgaSBkZW4gaCZhdW1sO3Iga2F0ZWdvcmluLic7CiRsYW5nWydjcmVhdGVfdGh1bWJuYWlscyddID0gJ1NrYXBhIG1pbmlhdHlyYmlsZGVyJzsKJGxhbmdbJ3RpdGxlX2NyZWF0ZV90aHVtYm5haWwnXSA9ICcoJmFyaW5nO3Rlcilza2FwYSBtaW5pYXR5cmJpbGRlciBmJm91bWw7ciBkZW4gaCZhdW1sO3IgZmlsZW4nOwokbGFuZ1snY3JlYXRlX3RodW1ibmFpbCddID0gJ1NrYXBhIG1pbmlhdHlyYmlsZCc7CiRsYW5nWydlcnJvcl9wYXRoZXJyb3InXSA9ICdLdW5kZSBpbnRlICZvdW1sO3BwbmEga2F0YWxvZyAoUiZhdW1sO3R0aWdoZXRzcHJvYmxlbT8pJzsKJGxhbmdbJ3RpdGxlX2Rvd25sb2FkX2NodW5rc2l6ZSddID0gJ1N0b3JsZWsgcCZhcmluZzsgdmFyamUgbmVkbGFkZG5pbmdzLXN0eWNrZSc7CiRsYW5nWydpbmZvX2Rvd25sb2FkX2NodW5rc2l6ZSddID0gJ09tIGR1ICZhdW1sO25kcmFyIGRlbiBoJmF1bWw7ciBwYXJhbWV0ZXJuIHAmYXJpbmc7dmVya2FyIGRldCBuZWRsYWRkbmluZ3NoYXN0aWdoZXRlbiwgb2NoIGthbiBoaiZhdW1sO2xwYSB0aWxsIGkgbWlsaiZvdW1sO2VyIG1lZCBsaXRlIG1pbm5lJzsKJGxhbmdbJ3dhcm5pbmdfc2FmZV9tb2RlJ10gPSAnU2FmZSBtb2RlIGYmb3VtbDtyIFBIUCAmYXVtbDtyIGFrdGl2ZXJhdC4gRGV0dGEga2FuIG9yc2FrYSBwcm9ibGVtIG1lZCBhdHQgbGFkZGEgdXBwIGZpbGVyIChyJmF1bWw7dHRpZ2hldGVyKSBvY2gga2FuIG9ja3MmYXJpbmc7IGludmVya2EgcCZhcmluZzsgZGVuIGgmYXVtbDtyIG1vZHVsZW5zIG0mb3VtbDtqbGlnaGV0ZXIgYXR0IHNraWNrYSBuJmFyaW5nO2dyYSBmaWxlciBwZ2Egc3YmYXJpbmc7cmlnaGV0ZXIgYXR0ICZvdW1sO3ZlcnNrcmlkYSBuJmFyaW5nO2dyYSBhdiBpbmktaW5zdCZhdW1sO2xsbmluZ2FybmEuIER1IHJla29tbWVuZGVyYXMgYXR0IHRhIGtvbnRha3QgbWVkIGRpdHQgd2ViYmhvdGVsbCBmJm91bWw7ciBhdHQgc2Ugb20gZHUga2FuIGYmYXJpbmc7IGRlbSBhdHQgaW5ha3RpdmVyYSBzYWZlIG1vZGUnOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ0FudiZhdW1sO25kYmFydCBmJm91bWw7ciBhdHQgdmlzYSBlbiBkZXRhbGplcmFkIHJhcHBvcnQgc29tIGFudiZhdW1sO25kZXIgZW4gYW5uYW4gc2lkbWFsbC4gRGVuIGgmYXVtbDtyIHBhcmFtZXRlcm4gYWNjZXB0ZXJhciBzaWQtaWQgZWxsZXIgc2lkYWxpYXMgZiZvdW1sO3IgZW4gc2lkYSBzb20gc2thIGFudiZhdW1sO25kYXMgZiZvdW1sO3IgYXR0IHZpc2EgZGVuIGRldGFsamVyYWRlIHJhcHBvcnRlbic7CiRsYW5nWydwYXJhbV9wcmVmaXgnXSA9ICdFbiBib29sZWFuIHNvbSBpbmRpa2VyYXIgb20gZmlsbmFtbmV0IHNrYSBoYSBldHQgcHJlZml4JzsKJGxhbmdbJ3BhcmFtX3ByZWZpeF9mZXUnXSA9ICdFbiBib29sZWFuLXBhcmFtZXRlciBzb20gaW5kaWtlcmFyIGF0dCBldHQgcHJlZml4IHNrYSB0YXMgZnImYXJpbmc7biBkZW4gYWt0dWVsbGEgZiZvdW1sO3JmYXR0YXJlbi4gT20gZWogc3BlY2lmaWNlcmF0ICZhdW1sO3IgcHJlZml4ZXQgZGVuIGFrdHVlbGxhIHRpZGVuIChpIGRlY2hleC1mb3JtYXQpJzsKJGxhbmdbJ3BhcmFtX25vY2FwdGNoYSddID0gJ0luYWt0aXZlcmEgY2FwdGNoYS1zdCZvdW1sO2QgKHAmYXJpbmc7IHNvbSBzdGFuZGFyZCkgaSB1cHBsYWRkbmluZ3Nmb3JtdWwmYXVtbDtyZXQnOwokbGFuZ1sndGl0bGVfdXBsb2FkZm9ybV90ZW1wbGF0ZSddID0gJ1JlZGlnZXJhIFVwcGxhZGRuaW5nc2Zvcm11bCZhdW1sO3JtYWxsZW4nOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ1Nrcml2IGluIHRleHRlbiBzb20gdmlzYXMgaSBkZW4gaCZhdW1sO3IgYmlsZGVuJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1RleHRlbiBzb20gc2tyZXZzIGluIG1hdGNoYXIgaW50ZSBiaWxkZW4gc29tIHZpc2FzJzsKJGxhbmdbJ3RpdGxlX2F1dG90aHVtYm5haWxfZXh0ZW5zaW9ucyddID0gJ1NrYSBtaW5pYXR5cmJpbGRlciBmJm91bWw7ciBmaWxlciBtZWQgZGUgaCZhdW1sO3IgZmlsJmF1bWw7bmRlbHNlcm5hJzsKJGxhbmdbJ3RpdGxlX2F1dG90aHVtYm5haWxfc2l6ZSddID0gJ01heGltYWwgc3RvcmxlayAocGl4bGFyKSBmJm91bWw7ciBkZW4gZ2VuZXJlcmFkZSBtaW5pYXR5cmJpbGRlbic7CiRsYW5nWydwcm9tcHRfdXBsb2FkX2ljb24nXSA9ICdMYWRkYSB1cHAgZW4gaWtvbic7CiRsYW5nWydpbmZvX3N5c2RlZmF1bHQnXSA9ICdEZW4gaCZhdW1sO3IgdGV4dGVuIGFudiZhdW1sO25kcyB2aWQgc2thcGFuZGUgYXYgZW4gbnkgbWFsbCBhdiBkZW4gaCZhdW1sO3IgdHlwZW4nOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3N5c2RlZmF1bHQnXSA9ICdTeXN0ZW1zdGFuZGFyZG1hbGwgZiZvdW1sO3IgZGV0YWxqcmFwcG9ydCc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5cnB0X3N5c2RlZmF1bHQnXSA9ICdTeXN0ZW1zdGFuZGFyZG1hbGwgZiZvdW1sO3Igc2FtbWFuZmF0dG5pbmdzcmFwcG9ydCc7CiRsYW5nWyd0aXRsZV91cGxvYWRmb3JtX3N5c2RlZmF1bHQnXSA9ICdTeXN0ZW1zdGFuZGFyZG1hbGwgZiZvdW1sO3IgdXBwbGFkZG5pbmdzZm9ybXVsJmF1bWw7cic7CiRsYW5nWyd0ZW1wbGF0ZSddID0gJ01hbGwnOwokbGFuZ1sncmVzZXR0b2RlZmF1bHQnXSA9ICcmQXJpbmc7dGVyc3QmYXVtbDtsbCB0aWxsIHN0YW5kYXJkdiZhdW1sO3JkZW4nOwokbGFuZ1sndGl0bGVfc3VtbWFyeXJwdF90ZW1wbGF0ZSddID0gJ01hbGwgZiZvdW1sO3Igc3VtbWVyaW5nc3JhcHBvcnQnOwokbGFuZ1sndGl0bGVfZGV0YWlscnB0X3RlbXBsYXRlJ10gPSAnTWFsbCBmJm91bWw7ciBkZXRhbGplcmFkIHJhcHBvcnQnOwokbGFuZ1sncHJvbXB0X25hbWUnXSA9ICdOYW1uJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0J10gPSAnU3RhbmRhcmQnOwokbGFuZ1snbGVnZW5kX3VwbG9hZGZvcm0nXSA9ICdMYWRkYSB1cHAgZW4gZmlsJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ0VuIG4mb3VtbDtkdiZhdW1sO25kaWcgcGFyYW1ldGVyIHNha25hcyc7CiRsYW5nWydlcnJvcl9taXNzaW5nbmFtZSddID0gJ0V0dCBuYW1uIGYmb3VtbDtyIGZpbGVuIG0mYXJpbmc7c3RlIGFuZ2VzJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdleHRlbnNpb25zJ10gPSAnJkFyaW5nO3RtaW5zdG9uZSBlbiBmaWwmYXVtbDtuZGVsc2UgbSZhcmluZztzdGUgYW5nZXMnOwokbGFuZ1snZXJyb3JfbWlzc2luZ2ljb24nXSA9ICdFbiBpa29uIG0mYXJpbmc7c3RlIGFuZ2VzJzsKJGxhbmdbJ2Vycm9yX25vc3VjaHJvdyddID0gJ0RlbiBzcGVjaWZpY2VyYWRlIHJhZGVuIGt1bmRlIGludGUgaGl0dGFzJzsKJGxhbmdbJ25hbWVfdW5rbm93biddID0gJ09rJmF1bWw7bmQvb2smYXVtbDtudCc7CiRsYW5nWydkZXNjcmlwdGlvbl91bmtub3duJ10gPSAnRmlsdHlwc2Jlc2tyaXZuaW5nIGYmb3VtbDtyIG9tYXRjaGFkZSBmaWxlcic7CiRsYW5nWydpbWFnZSddID0gJ0JpbGQnOwokbGFuZ1snaWNvbiddID0gJ0lrb24nOwokbGFuZ1snZXh0ZW5zaW9ucyddID0gJ0ZpbCZhdW1sO25kZWxzZXInOwokbGFuZ1snYWRkZmlsZXR5cGUnXSA9ICdMJmF1bWw7Z2cgdGlsbCBueSBmaWx0eXAnOwokbGFuZ1snZmlsZV90eXBlcyddID0gJ0ZpbHR5cGVyJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcnlpZCddID0gJ0luZ2V0IGthdGVnb3JpLUlEIGFuZ2F2cyc7CiRsYW5nWydlcnJvcl9ub2NhdGVnb3J5J10gPSAnSW5nZXQga2F0ZWdvcmktSUQgYW5nYXZzJzsKJGxhbmdbJ2Vycm9yX3RlbXBsYXRlbmFtZWV4aXN0cyddID0gJ0VuIG1hbGwgbWVkIGRldCBuYW1uZXQgZmlubnMgcmVkYW4nOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlbmFtZSddID0gJ01hbGxuYW1uJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ01hbGwnOwokbGFuZ1sncHJvbXB0X25ld3RlbXBsYXRlJ10gPSAnU2thcGEgZW4gbnkgbWFsbCc7CiRsYW5nWydoZWxwX09uRG93bmxvYWQnXSA9ICc8cD5FbiBoJmF1bWw7bmRlbHNlIHNvbSB1dGYmb3VtbDtycyBuJmF1bWw7ciBlbiBhbnYmYXVtbDtuZGFyZSBzbHV0ZiZvdW1sO3IgbmVkbGFkZG5pbmcgYXYgZW4gZmlsPC9wPg0KPHVsPg0KPGxpPjxlbT5pZDwvZW0+IC0gVXBwbGFkZG5pbmdzLUlEPC9saT4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRmlsbmFtbjwvbGk+DQo8bGk+PGVtPmlwPC9lbT4gLSBOZWRsYWRkYXJlbnMgSVAtYWRyZXNzPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PbkRlbGV0ZUNhdGVnb3J5J10gPSAnPHA+RW4gaCZhdW1sO25kZWxzZSBzb20gdXRmJm91bWw7cnMgbiZhdW1sO3IgZW4ga2F0ZWdvcmkgdGFzIGJvcnQ8L3A+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIEthdGVnb3JpbmFtbjwvbGk+DQo8bGk+PGVtPnBhdGg8L2VtPiAtIFMmb3VtbDtrdiZhdW1sO2cgZiZvdW1sO3Iga2F0ZWdvcmk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX09uQ3JlYXRlQ2F0ZWdvcnknXSA9ICc8cD5FbiBoJmF1bWw7bmRlbHNlIHNvbSB1dGYmb3VtbDtycyBuJmF1bWw7ciBlbiBrYXRlZ29yaSBza2FwYXM8L3A+DQo8aDQ+UGFyYW1ldHJhcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPm5hbWU8L2VtPiAtIEthdGVnb3JpbnMgbmFtbjwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBLYXRlZ29yaW5zIGJlc2tyaXZuaW5nPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gS2F0ZWdvcmlucyBzJm91bWw7a3YmYXVtbDtnPC9saT4NCjxsaT48ZW0+cGF0aDwvZW0+IC0gRW4gZmxhZ2dhIHNvbSBpbmRpa2VyYXIgb20ga2F0ZWdvcmluIGthbiBsaXN0YXM8L2xpPg0KPC91bD4NCic7CiRsYW5nWydoZWxwX09uUmVtb3ZlJ10gPSAnPHA+RW4gaCZhdW1sO25kZWxzZSBzb20gdXRmJm91bWw7cnMgbiZhdW1sO3IgZW4gZmlsIHRhcyBib3J0IHZpYSBhZG1pbmlzdHJhdGlvbmVuIGVsbGVyIGZyb250ZW5kLWdyJmF1bWw7bnNzbml0dGV0PC9wPg0KPGg0PlBhcmFtZXRyYXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT5uYW1lPC9lbT4gLSBOYW1uZXQgcCZhcmluZzsgZGVuIGJvcnR0YWduYSBmaWxlbjwvbGk+DQo8bGk+PGVtPmlkPC9lbT4gLSBEZW4gYm9ydHRhZ25hIGZpbGVucyBJRDwvbGk+DQo8bGk+PGVtPmNhdGVnb3J5X2lkPC9lbT4gLSBLYXRlZ29yaW5zIElEPC9saT4NCjwvdWw+DQonOwokbGFuZ1snaGVscF9PblVwbG9hZCddID0gJzxwPkVuIGgmYXVtbDtuZGVsc2Ugc29tIHV0ZiZvdW1sO3JzIG4mYXVtbDtyIGVuIGZpbCBsYWRkYXMgdXBwIHZpYSBhZG1pbmlzdHJhdGlvbmVuIGVsbGVyIGZyb250ZW5kLWdyJmF1bWw7bnNzbml0dGV0PC9wPg0KPGg0PlBhcmFtZXRyYXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT5jYXRlZ29yeTwvZW0+IC0gS2F0ZWdvcmlucyBuYW1uPC9saT4NCjxsaT48ZW0+bmFtZTwvZW0+IC0gRGVuIHVwcGxhZGRhZGUgZmlsZW5zIG5hbW48L2xpPg0KPGxpPjxlbT5zaXplPC9lbT4gLSBTdG9ybGVrZW4gcCZhcmluZzsgZGVuIHVwcGxhZGRhZGUgZmlsZW48L2xpPg0KPGxpPjxlbT5zdW1tYXJ5PC9lbT4gLSBEZW4gdXBwbGFkZGFkZSBmaWxlbnMga29ydGZhdHRhZGUgYmVza3Jpdm5pbmcgKGthbiB2YXJhIHRvbSk8L2VtPjwvbGk+DQo8bGk+PGVtPmRlc2NyaXB0aW9uPC9lbT4gLSBEZW4gdXBwbGFkZGFkZSBmaWxlbnMgbCZhcmluZztuZ2EgYmVza3Jpdm5pbmcgKGthbiB2YXJhIHRvbSk8L2VtPjwvbGk+DQo8bGk+PGVtPmF1dGhvcjwvZW0+IC0gRGVuIHVwcGxhZGRlIGZpbGVucyBmJm91bWw7cmZhdHRhcmUgKG9tIG4mYXJpbmc7Z29uKTwvZW0+PC9saT4NCjxsaT48ZW0+aXBfYWRkcmVzczwvZW0+IC0gSW50ZXJuZXQtYWRyZXNzZW4gZiZvdW1sO3IgZGVuIGtsaWVudCBzb20gbGFkZGFkZSB1cHAgZmlsZW48L2xpPg0KPC91bD4NCic7CiRsYW5nWydpbmZvX2V2ZW50X29uZGVsZXRlY2F0ZWdvcnknXSA9ICdIJmF1bWw7bmRlbHNlIHNvbSB1dGYmb3VtbDtycyBuJmF1bWw7ciBlbiBrYXRlZ29yaSB0YXMgYm9ydCc7CiRsYW5nWydpbmZvX2V2ZW50X29uY3JlYXRlY2F0ZWdvcnknXSA9ICdIJmF1bWw7bmRlbHNlIHNvbSB1dGYmb3VtbDtycyBuJmF1bWw7ciBlbiBrYXRlZ29yaSBza2FwYXMnOwokbGFuZ1snaW5mb19ldmVudF9vbmRvd25sb2FkJ10gPSAnSCZhdW1sO25kZWxzZSBzb20gdXRmJm91bWw7cnMgbiZhdW1sO3IgZW4gZmlsIGxhZGRhcyBuZXInOwokbGFuZ1snaW5mb19ldmVudF9vbnVwbG9hZCddID0gJ0gmYXVtbDtuZGVsc2Ugc29tIHV0ZiZvdW1sO3JzIG4mYXVtbDtyIGVuIG55IGZpbCBsYWRkYXMgdXBwJzsKJGxhbmdbJ2luZm9fZXZlbnRfb25yZW1vdmUnXSA9ICdIJmF1bWw7bmRlbHNlIHNvbSB1dGYmb3VtbDtycyBuJmF1bWw7ciBlbiBmaWwgdGFzIGJvcnQnOwokbGFuZ1sndGl0bGVfdXNlcnRhZ19vbnVwbG9hZCddID0gJ0FudiZhdW1sO25kYXJkZWZpbmllcmFkZSB0YWdnYXIgc29tIGthbGxhcyBlZnRlciBhdHQgdXBwbGFkZG5pbmdlbiAmYXVtbDtyIGtvbXBsZXR0JzsKJGxhbmdbJ25vbmUnXSA9ICdJbmdhJzsKJGxhbmdbJ21hdGNoZXNmb3VuZCddID0gJ1RyJmF1bWw7ZmZhciBoaXR0YWRlJzsKJGxhbmdbJ2ZpbHRlciddID0gJ0ZpbHRlciAnOwokbGFuZ1sndGl0bGVfcmVkaXJlY3RvbnVwbG9hZCddID0gJ09tZGlyaWdlcmEgdGlsbCBzaWQtSUQvLWFsaWFzIG4mYXVtbDtyIGFudiZhdW1sO25kYXJlIGxhZGRhciB1cHAnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFsamVyJzsKJGxhbmdbJ2NvbmZpcm1fcHJlZmVyZW5jZXMnXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwgJmF1bWw7bmRyYSBpbnN0JmF1bWw7bGxuaW5nYXJuYT8nOwokbGFuZ1snZXJyb3Jfbm9maWxlc3VwbG9hZGVkJ10gPSAnSW5nYSBmaWxlciBsYWRkYWRlcyB1cHAuJzsKJGxhbmdbJ3Byb21wdF9yZXBsYWNlJ10gPSAnVGlsbCZhcmluZzt0IGF0dCBza3JpdmEgJm91bWw7dmVyJzsKJGxhbmdbJ2luZm9fcmVwbGFjZSddID0gJ0VycyZhdW1sO3R0IGFsbGEgZmlsZXIgbWVkIHNhbW1hIG5hbW4gKCZhdW1sO25kcmFyIGludGUgaWQtbnVtcmV0KSc7CiRsYW5nWydwYXJhbV9ub19pbml0aWFsJ10gPSAnVmlzYSBpbnRlIG4mYXJpbmc7Z3JhIGlubGVkYW5kZSByZXN1bHRhdCBuJmF1bWw7ciBkZXQgaCZhdW1sO3IgZmlsdHJldCAmYXVtbDtyIHAmYXJpbmc7JzsKJGxhbmdbJ3BhcmFtX2tleSddID0gJ0wmYXVtbDtnZyB0aWxsIHl0dGVybGlnYXJlIGVuIG55Y2tlbCBmJm91bWw7ciBtb2R1bGVuIGYmb3VtbDtyIHZpZGFyZSBvcmdhbmlzZXJpbmcgYXYgdXBwbGFkZG5pbmdhci4gRGVubmEgbnlja2VsIGthbiB2YXJhIGVuIGtvZGFkIHN0ciZhdW1sO25nIHNvbSAmIzAzOTtmZXVzZXJzOnVpZCYjMDM5OyBvc3YuIERlbm5hIHBhcmFtZXRlciBiZWgmb3VtbDt2cyBub3JtYWx0IGJhcmEgbiZhdW1sO3IgdXBwbGFkZG5pbmdzbW9kdWxlbiBiJmF1bWw7ZGRhcyBpbiBpIGVuIGFubmFuIG1vZHVsZSc7CiRsYW5nWydwYXJhbV9ub2F1dGhvciddID0gJ0Qmb3VtbDtsaiBmJmF1bWw7bHRldCBmJm91bWw7ciBmJm91bWw7cmZhdHRhcmUgaSB1cHBsYWRkbmluZ3Nmb3JtdWwmYXVtbDtyZXQuIERlbm5hIHBhcmFtZXRlciAmYXVtbDtyIGJhcmEgZ2lsdGlnIG4mYXVtbDtyIG1vZGU9JiMwMzk7dXBsb2FkJiMwMzk7LiBPbSBtb2R1bGVuIEZyb250ZW5kVXNlcnMgYW52JmF1bWw7bmRzIG9jaCBlbiBhbnYmYXVtbDtuZGFyZSBmJm91bWw7ciB0aWxsZiZhdW1sO2xsZXQgJmF1bWw7ciBpbmxvZ2dhZCwgc3BhcmFzIGRldCBpbmxvZ2dhZGUgYW52JmF1bWw7bmRhcm5hbW5ldCBpIGV0dCBkb2x0IGYmYXVtbDtsdC4nOwokbGFuZ1sncGFyYW1fdXBsb2FkX2lkJ10gPSAndXBsb2FkX2lkPSZxdW90O2lkJnF1b3Q7IC0gYW5nZSBlbiBlbnNraWxkIGZpbCBmJm91bWw7ciB1cmwvbCZhdW1sO25rIGVsbGVyIHNpbmdsZSBtb2RlIChvdmFuKSc7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ0FudiZhdW1sO25kIGVuIG1hbGwgbWVkIGRldHRhIG5hbW5ldCBmJm91bWw7ciBkZW4gZGV0YWxqZXJhZGUgcmFwcG9ydGVuLic7CiRsYW5nWydwYXJhbV90ZW1wbGF0ZSddID0gJ0FudiZhdW1sO25kIGVuIG1hbGwgbWVkIGRldHRhIG5hbW5ldCBmJm91bWw7ciBkZW4gaCZhdW1sO3IgcmFwcG9ydGVuIGVsbGVyIGZvcm11bCZhdW1sO3JldC4gRGVubmEgbWFsbGVuIHRhciBhdXRvbWF0aXNrdCBtYWxsZW4gbWVkIG1vdHN2YXJhbmRlIG5hbW4gZnImYXJpbmc7biBwYXNzYW5kZSBsaXN0YSBiZXJvZW5kZSBwJmFyaW5nOyBzdGlsIChtb2RlKSc7CiRsYW5nWydwYXJhbV9maWx0ZXInXSA9ICdWaXNhIGZpbHRlcmZvcm11bCZhdW1sO3JldCc7CiRsYW5nWydwYXJhbV9ub19pbnRpdGlhbCddID0gJ0JhcmEgYW52JmF1bWw7bmRiYXIgbiZhdW1sO3IgZmlsdGVycGFyYW1ldGVybiBhbnYmYXVtbDtuZHMsIGVsbGVyIG4mYXVtbDtyIGRlbiAmYXVtbDtyIHAmYXJpbmc7IHNvbSBzdGFuZGFyZC4gRGVuIGgmYXVtbDtyIHBhcmFtZXRlcm4gaW5kaWtlcmFyIG9tIGlubGVkYW5kZSByZXN1bHRhdCBza2EgcmV0dXJuZXJhcyc7CiRsYW5nWydwYXJhbV9maWxldHlwZXMnXSA9ICdWaXNhIGJhcmEgZmlsZXIgdmFycyB0eXAgc3QmYXVtbDttbWVyICZvdW1sO3ZlcmVuc2UgbWVkIGRlbm5hIGtvbW1hc2VwYXJlcmFkZSBsaXN0YSc7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICcgIDxwPlNvcnRlcmluZ3NvcmRuaW5nYXINCiAgPHVsPg0KICA8bGk+PGVtPmRhdGVfYXNjPC9lbT4gLSBTb3J0ZXJhIGVmdGVyIGRhdHVtLCBzdGlnYW5kZTwvbGk+DQogIDxsaT48ZW0+ZGF0ZV9kZXNjPC9lbT4gLSBTb3J0ZXJhIGVmdGVyIGRhdHVtLCBmYWxsYW5kZTwvbGk+DQogIDxsaT48ZW0+bmFtZV9hc2M8L2VtPiAtIFNvcnRlcmEgZWZ0ZXIgbmFtbiwgc3RpZ2FuZGU8L2xpPg0KICA8bGk+PGVtPm5hbWVfZGVzYzwvZW0+IC0gU29ydGVyYSBlZnRlciBuYW1uLCBmYWxsYW5kZTwvbGk+DQogIDxsaT48ZW0+c2l6ZV9hc2M8L2VtPiAtIFNvcnRlcmEgZWZ0ZXIgc3Rvcmxlaywgc3RpZ2FuZGU8L2xpPg0KICA8bGk+PGVtPnNpemVfZGVzYzwvZW0+IC0gU29ydGVyYSBlZnRlciBzdG9ybGVrLCBmYWxsYW5kZTwvbGk+DQogIDxsaT48ZW0+ZGVzY19hc2M8L2VtPiAtIFNvcnRlcmEgZWZ0ZXIgYmVza3Jpdm5pbmcsIHN0aWdhbmRlPC9saT4NCiAgPGxpPjxlbT5kZXNjX2Rlc2M8L2VtPiAtIFNvcnRlcmEgZWZ0ZXIgYmVza3Jpdm5pbmcsIGZhbGxhbmRlPC9saT4NCiAgPGxpPjxlbT5hdXRob3JfYXNjPC9lbT4gLSBTb3J0ZXJhIGVmdGVyIGYmb3VtbDtyZmF0dGFyZSwgc3RpZ2FuZGU8L2xpPg0KICA8bGk+PGVtPmF1dGhvcl9kZXNjPC9lbT4gLSBTb3J0ZXJhIGVmdGVyIGYmb3VtbDtyZmF0dGFyZSwgZmFsbGFuZGU8L2xpPg0KICA8bGk+PGVtPmlwX2FzYzwvZW0+IC0gU29ydGVyYSBlZnRlciBJUC1hZHJlc3MsIHN0aWdhbmRlPC9saT4NCiAgPGxpPjxlbT5pcF9kZXNjPC9lbT4gLSBTb3J0ZXJhIGVmdGVyIElQLWFkcmVzcywgZmFsbGFuZGU8L2xpPg0KICA8bGk+PGVtPnJhbmRvbTwvZW0+IC0gU2x1bXB2aXMgc29ydGVyaW5nc29yZG5pbmc8L2xpPg0KICA8L3VsPg0KICA8L3A+JzsKJGxhbmdbJ3BhcmFtX2xpc3Rpbmd0ZW1wbGF0ZSddID0gJ01hbGwgYXR0IGFudiZhdW1sO25kYSBmJm91bWw7ciBrYXRlZ29yaWxpc3RuaW5nYXIgZWZ0ZXIgYXR0IGhhIGtsaWNrYXQgdmlhIGthdGVnb3Jpc2FtbWFuZmF0dG5pbmdzc2lkYW4nOwokbGFuZ1sncGFyYW1fbGlzdGluZ3NvcnRvcmRlciddID0gJ1NvcnRlcmluZ3NvcmRuaW5nIChwYXJhbV9zb3J0b3JkZXIpIGF0dCBhbnYmYXVtbDtuZGEgdmlkIGxpc3RuaW5nIGF2IGthdGVnb3JpZXIgZWZ0ZXIgYXR0IGhhIGtsaWNrYXQgdmlhIGthdGVnb3Jpc2FtbWFuZmF0dG5pbmdzc2lkYW4nOwokbGFuZ1sncGFyYW1fZmlsZWV4dGVuc2lvbnMnXSA9ICcgDQpmaWxlX2V4dGVuc2lvbnM9JnF1b3Q7ZXh0MSxleHQyLGV4dDMmcXVvdDsNCjxwPmcmYXVtbDtsbGVyIGVuYmFydCBuJmF1bWw7ciBtb2RlPXVwbG9hZC4gRGVuIGgmYXVtbDtyIHBhcmFtZXRlcm4gYmVnciZhdW1sO25zYXIgdmlsa2EgZmlsdHlwZXIgc29tIGthbiBsYWRkYXMgdXBwLiBEZW4gdXBwaCZhdW1sO3ZlciBpbnN0JmF1bWw7bGxuaW5nYXJuYSBpIG1vZHVsaW5zdCZhdW1sO2xsbmluZ2FyLjwvcD4nOwokbGFuZ1sncGFyYW1fY291bnQnXSA9ICdjb3VudD0mcXVvdDtOJnF1b3Q7DQo8cD5FbiBwYXJhbWV0ZXIgZiZvdW1sO3IgYXR0IGxpc3RhIGVuYmFydCBkZSBOIGYmb3VtbDtyc3RhIHJlc3VsdGF0ZW4gaSBlbiBmciZhcmluZztnYS4gU2lkaW5kZWxuaW5nIChwYWdpbmF0aW9uKSBza3VsbGUgdmFyYSBiJmF1bWw7dHRyZSwgbWVuIGRldCBoJmF1bWw7ciBmdW5rYXIgdGlsbHMgdmlkYXJlPC9wPic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ2NhdGVnb3J5PSZxdW90O25hbWUmcXVvdDsNCjxwPjxiPk5vdGVyYTo8L2I+IEthdGVnb3JpIGthbiB2YXJhICZxdW90O2FsbCZxdW90OyAoYWxsYSksIHZpbGtldCBsaXN0YXIgYWxsYSB1cHBsYWRkbmluZ2FyIGZyJmFyaW5nO24gYWxsYSA8ZW0+bGlzdGJhcmE8L2VtPiBrYXRlZ29yaWVyPC9wPic7CiRsYW5nWydwYXJhbV9tb2RlJ10gPSAnICA8dWw+DQogIDxsaT48ZW0+ZGV0YWlsZWQ8L2VtPiAtIFZpc2EgZW4gZGV0YWxqZXJhZCBsaXN0YSAmb3VtbDt2ZXIgYWxsYSBmaWxlciBpIGthdGVnb3JpbjwvbGk+DQogIDxsaT48ZW0+dXBsb2FkPC9lbT4gLSBWaXNhIGV0dCBmb3JtdWwmYXVtbDtyIGYmb3VtbDtyIGF0dCBsJmFyaW5nO3RhIGVuIGFudiZhdW1sO25kYXJlIGxhZGRhIHVwcCBmaWxlciB2aWEgaGVtc2lkYW48L2xpPg0KICA8bGk+PGVtPnVybCA8aT5vcjwvaT4gbGluazwvZW0+IC0gVmlzYSBlbiBsJmF1bWw7bmsgdGlsbCBlbiBmaWw8L2xpPg0KICA8bGk+PGVtPnN1bW1hcnk8L2VtPiAtIFZpc2EgZW4gc2FtbWFuZmF0dGFkIGxpc3RhICZvdW1sO3ZlciBhbGxhIGZpbGVyIGkgZW4ga2F0ZWdvcmk8L2xpPg0KICA8bGk+PGVtPnNpbmdsZTwvZW0+IC0gVmlzYSBlbiBkZXRhbGplcmFkIHJhcHBvcnQgb20gZW4gZW5za2lsZCB1cHBsYWRkbmluZzwvbGk+DQogIDwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NlbGVjdGZvcm0nXSA9ICdXaGVuIHVzaW5nIHRoZSAmIzAzOTtzZWxlY3QmIzAzOTsgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgaXMgdGhlIGZvcm1pZCBvZiB0aGUgcGFyZW50IGZvcm0uICBVc2VkIHRvIGhhbmRsZSBwYXJhbWV0ZXIgcGFzc2luZyc7CiRsYW5nWydwYXJhbV9zZWxlY3RuYW1lJ10gPSAnd2hlbiB1c2luZyB0aGUgJiMwMzk7c2VsZWN0JiMwMzk7IG1vZGUsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgbmFtZSBvZiB0aGUgZmllbGQnOwokbGFuZ1sncGFyYW1fc2VsZWN0dmFsdWUnXSA9ICdXaGVuIHVzaW5nIHRoZSAmIzAzOTtzZWxlY3QmIzAzOTsgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBkZWZhdWx0IGZpZWxkIHZhbHVlJzsKJGxhbmdbJ3BhcmFtX3NlbGVjdG5vbmUnXSA9ICdXaGVuIHVzaW5nIHRoZSAmIzAzOTtzZWxlY3QmIzAzOTsgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHdldGhlciAmIzAzOTtub25lJiMwMzk7IGlzIGEgdmFsaWQgY2hvaWNlLic7CiRsYW5nWydyZXR1cm50b21vZHVsZSddID0gJ1RpbGxiYWthIHRpbGwgbW9kdWxwYW5lbGVuJzsKJGxhbmdbJ2Vycm9yX25vY2F0ZWdvcmllcyddID0gJ0RldCBmaW5ucyBpbmdhIGRlZmluaWVyYWRlIGthdGVnb3JpZXInOwokbGFuZ1sndGl0bGVfZW5mb3JjZWV4dGVuc2lvbnMnXSA9ICdLciZhdW1sO3ZlciBmaWx0aWxsJmF1bWw7Z2cgZiZvdW1sO3IgYWxsYSB1cHBsYWRkYWRlIGZpbGVyJzsKJGxhbmdbJ3Jlc3RvcmVkZWZhdWx0c2NvbmZpcm0nXSA9ICdEZXR0YSAmYXJpbmc7dGVyc3QmYXVtbDtsbGVyIG1hbGxhcm5hIHRpbGwgc3lzdGVtc3RhbmRhcmQuIEFsbGEgZiZvdW1sO3ImYXVtbDtuZHJpbmdhciBzb20gZHUgaGFyIGdqb3J0IGtvbW1lciBhdHQgZiZvdW1sO3Jsb3Jhcy4gJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkdSB2aWxsIGZvcnRzJmF1bWw7dHRhPyc7CiRsYW5nWyd0aHVtYm5haWwnXSA9ICdUdW1uYWdlbGJpbGQnOwokbGFuZ1snbmV3dGh1bWJuYWlsJ10gPSAnTGFkZGEgdXBwIG55IHR1bW5hZ2VsYmlsZCc7CiRsYW5nWydpbmZvX3N1bW1hcnknXSA9ICdFbiBrb3J0IGJlc2tyaXZuaW5nIGF2IGZpbGVuIChvbSB0b20gYW52JmF1bWw7bmRzIGZpbG5hbW5ldCB1dGFuIGRlc3MgZmlsdGlsbCZhdW1sO2dnKSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5bmFtZSddID0gJ0VuIGtvcnQgYmVza3Jpdm5pbmcgYXYgZGluIGthdGVnb3JpIChmJm91bWw7ciBhbGxtJmF1bWw7bmhldGVuKSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5ZGVzYyddID0gJ0VuIGJlc2tyaXZuaW5nIGF2IGRpbiBrYXRlZ29yaSc7CiRsYW5nWydpbmZvX2NhdGVnb3J5cGF0aCddID0gJ05hbW5ldCBwJmFyaW5nOyBrYXRhbG9nZW4gdW5kZXIga2F0YWxvZ2VuIHVwbG9hZHMsIHNvbSBza2EgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBhdHQgc3BhcmEgZmlsZXIgaSBkZW4gaCZhdW1sO3Iga2F0ZWdvcmluLiBPbSBrYXRhbG9nZW4gbWVkIGRldCBoJmF1bWw7ciBuYW1uZXQgaW50ZSBmaW5ucywgcyZhcmluZzsga2FuIGRlbiBza2FwYXMuJzsKJGxhbmdbJ2luZm9fZGVzdG5hbWUnXSA9ICdBbnYmYXVtbDtuZCBkZXQgaCZhdW1sO3IgZiZhdW1sO2x0ZXQgZiZvdW1sO3IgYXR0ICZhdW1sO25kcmEgbmFtbmV0IHAmYXJpbmc7IGZpbGVuIHZpZCB1cHBsYWRkbmluZyc7CiRsYW5nWydlcnJvcl9jYW50Y3JlYXRlZGlyZWN0b3J5J10gPSAnS3VuZGUgaW50ZSBza2FwYSBrYXRhbG9nJzsKJGxhbmdbJ2Vycm9yX25vbWFpbGVybW9kdWxlJ10gPSAnTW9kdWxlbiBDTVNNYWlsZXIga3VuZGUgaW50ZSBza2FwYSBlbiBpbnN0YW5zJzsKJGxhbmdbJ3VwbG9hZF9ub3RpZmljYXRpb24nXSA9ICdFbiBueSBmaWwgaGFyIGxhZGRhdHMgdXBwJzsKJGxhbmdbJ3RpdGxlX2VtYWlsX29uX3VwbG9hZCddID0gJ1NraWNrYSBlcG9zdCB2aWQgdXBwbGFkZG5pbmcgdGlsbDonOwokbGFuZ1snZW1haWxfdGVtcGxhdGUnXSA9ICdFcG9zdG1hbGwnOwokbGFuZ1sndGl0bGVfZHVtbXlfaW5kZXhfaHRtbCddID0gJ1NrYXBhIGluZGV4Lmh0bWwtZmlsZXIgaSB2YXJqZSBtYXBwPzxici8+PGVtPkFsbGEgYmVmaW50bGlnYSBpbmRleC5odG1sLWZpbGVyIGtvbW1lciBhdHQgZmlubmFzIGt2YXI8L2VtPic7CiRsYW5nWydhYm91dCddID0gJ09tJzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnXSA9ICcmQXJpbmc7dGtvbXN0IG5la2FkLiBLb250cm9sbGVyYSBkaW5hIHImYXVtbDt0dGlnaGV0ZXIuJzsKJGxhbmdbJ2Vycm9yX2NvdWxkbm90d3JpdGUnXSA9ICdLdW5kZSBpbnRlIHNrcml2YSc7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0wmYXVtbDtnZyB0aWxsIGthdGVnb3JpJzsKJGxhbmdbJ2FsbCddID0gJ0FsbGEnOwokbGFuZ1snYXJleW91c3VyZSddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlcj8nOwokbGFuZ1snYXV0aG9yJ10gPSAnRiZvdW1sO3JmYXR0YXJlJzsKJGxhbmdbJ2NhbmNlbCddID0gJyZBcmluZztuZ3JhJzsKJGxhbmdbJ2Nhbm5vdG1vZGlmeXBhdGgnXSA9ICcoUyZvdW1sO2t2JmF1bWw7Z2VuIGthbiBpbnRlICZhdW1sO25kcmFzKSc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvcmllcic7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpJzsKJGxhbmdbJ21lc3NhZ2VfY2F0ZWdvcnlhZGRlZCddID0gJ0thdGVnb3JpbiBoYXIgbGFndHMgdGlsbCc7CiRsYW5nWydkYXRlJ10gPSAnRGF0dW0nOwokbGFuZ1snZGF0ZXVwbG9hZGVkJ10gPSAnRGF0dW0gdXBwbGFkZGFkJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdTdGFuZGFyZGluc3QmYXVtbDtsbG5pbmdhcic7CiRsYW5nWydkZWxldGUnXSA9ICdUYSBib3J0JzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVza3Jpdm5pbmcnOwokbGFuZ1snZGVzdG5hbWUnXSA9ICdMYWRkYSB1cHAgc29tJzsKJGxhbmdbJ2RldGFpbF90ZW1wbGF0ZSddID0gJ0RldGFsam1hbGwnOwokbGFuZ1snZG93bmxvYWRlZCddID0gJ0ZpbGVuICVzICZhdW1sO3IgbmVkbGFkZGFkLic7CiRsYW5nWydkb3dubG9hZHMnXSA9ICdOZWRsYWRkbmluZ2FyJzsKJGxhbmdbJ2VkaXQnXSA9ICdSZWRpZ2VyYSc7CiRsYW5nWydlZGl0Y2F0ZWdvcnknXSA9ICdSZWRpZ2VyYSBrYXRlZ29yaSc7CiRsYW5nWydlZGl0dXBsb2FkJ10gPSAnUmVkaWdlcmEgdXBwbGFkZG5pbmcnOwokbGFuZ1snZXJyb3InXSA9ICdGZWwhJzsKJGxhbmdbJ2Vycm9yX3BhdGhpbnVzZTInXSA9ICdFbiBrYXRlZ29yaSBzb20gYW52JmF1bWw7bmRlciBzJm91bWw7a3YmYXVtbDtnZW4gKCVzKSBleGlzdGVyYXIgcmVkYW4nOwokbGFuZ1snZXJyb3JfcGF0aGludXNlJ10gPSAnRW4ga2F0ZWdvcmkgbWVkIGRlbiBzJm91bWw7a3YmYXVtbDtnZW4gZmlubnMgcmVkYW4nOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlleGlzdHMyJ10gPSAnRmVsOiBLYXRlZ29yaSBtZWQgbmFtbiAlcyBleGlzdGVyYXIgcmVkYW4nOwokbGFuZ1snZXJyb3JfY2F0ZWdvcnlleGlzdHMnXSA9ICdGZWw6IEthdGVnb3JpbiBmaW5ucyByZWRhbic7CiRsYW5nWydlcnJvcl9jYXRlZ29yeW5vdGVtcHR5J10gPSAnRmVsISBLYW4gaW50ZSB0YSBib3J0IGVuIGthdGVnb3JpIHNvbSBpbnRlICZhdW1sO3IgdG9tJzsKJGxhbmdbJ2Vycm9yX2NhdGVnb3J5bm90Zm91bmQnXSA9ICdGZWw6IEthdGVnb3JpbiBoaXR0YXMgaW50ZSEnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0ZlbDogRGF0YWJhc2ZlbCEnOwokbGFuZ1snZXJyb3JfZW1wdHljYXRlZ29yeSddID0gJ0ZlbDogVG9tIGthdGVnb3JpISc7CiRsYW5nWydlcnJvcl9lbXB0eXBhdGgnXSA9ICdGZWw6IFRvbSBzJm91bWw7a3YmYXVtbDtnISc7CiRsYW5nWydlcnJvcl9maWxlZXhpc3RzJ10gPSAnRmVsISBFbiBmaWwgbWVkIGRldHRhIG5hbW5ldCBmaW5ucyByZWRhbi4nOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnRmVsISBGaWxlbiAlcyBoaXR0YWRlcyBpbnRlLic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdGZWw6IE90aWxsciZhdW1sO2NrbGlnYSBwYXJhbWV0cmFyIGFuZ2l2bmEgZiZvdW1sO3IgbW9kdWxlbiEnOwokbGFuZ1snZXJyb3JfaW52YWxpZGF1dGhvciddID0gJ0ZlbDogRmVsYWt0aWcgKGVsbGVyIHRvbSkgZiZvdW1sO3JmYXR0YXJlLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkY2F0ZWdvcnknXSA9ICdGZWw6IEZlbGFrdGlnIChlbGxlciB0b20pIGthdGVnb3JpLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkZGVzY3JpcHRpb24nXSA9ICdGZWw6IEZlbGFrdGlnIChlbGxlciB0b20pIGJlc2tyaXZuaW5nLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkZmlsZSddID0gJ0ZlbDogRmVsYWt0aWd0IChlbGxlciB0b210KSBmaWxuYW1uLic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXBsb2FkZmlsZW5hbWUnXSA9ICdGZWw6IEZpbGVyIG1lZCBkZXQgbmFtbmV0ICh0cm9saWdlbiBtZWQgZGV0IGZpbHRpbGwmYXVtbDtnZ2V0KSAmYXVtbDtyIGludGUgdGlsbCZhcmluZzt0bmEuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1cGxvYWRpZCddID0gJ0ZlbDogT2dpbHRpZ3QgdXBwbGFkZG5pbmdzLWlkJzsKJGxhbmdbJ2Vycm9yX25vZmlsZXMnXSA9ICdGZWw6IEluZ2EgbWF0Y2hhbmRlIGZpbGVyISc7CiRsYW5nWydmaWxlcyddID0gJ0ZpbGVyJzsKJGxhbmdbJ2ZpeG1lJ10gPSAnRml4YSBtZWxsYW5zbGFnJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1VwcGxhZGRuaW5nJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+VmFkIGcmb3VtbDtyIGRlbiBoJmF1bWw7ciBtb2R1bGVuPzwvaDM+DQo8cD5EZXQgJmF1bWw7ciBlbiBtb2R1bCBzb20gZyZvdW1sO3IgZGV0IG0mb3VtbDtqbGlndCBhdHQgbGFkZGEgdXBwIG9jaCBsYWRkYSBuZXIgZmlsZXIgdGlsbCBvY2ggZnImYXJpbmc7biBkaW4gd2ViYnNpZGEuIERlbiBoJmFyaW5nO2xsZXIgcmVkYSBwJmFyaW5nOyB2ZW0gc29tIGxhZGRhZGUgdXBwIGVuIGZpbCBvY2ggdmVtIHNvbSBoYXIgbGFkZGF0IG5lciBkZW4uDQpEZXNzdXRvbSBrYW4gZHUgZGVsYSBpbiBmaWxlciBpIGthdGVnb3JpZXIgb2NoIGhhbnRlcmEgZmlsZXJuYSBzb20gJmF1bWw7ciB1cHBsYWRkYWRlIHAmYXJpbmc7IHNhbW1hIHMmYXVtbDt0dCBzb20gYWxsYSBhZG1pbmlzdHJhdCZvdW1sO3JlciBza2Ega3VubmEgZyZvdW1sO3JhLjwvcD4gDQoNCjxoMz5IdXIgYW52JmF1bWw7bmRlciBqYWcgbW9kdWxlbj88L2gzPg0KPHA+RiZvdW1sO3IgYXR0IGFudiZhdW1sO25kYSBkZW4gaCZhdW1sO3IgbW9kdWxlbiAtIGFsbHRzJmFyaW5nOyBhdHQgdGlsbCZhcmluZzt0YSBhbnYmYXVtbDtuZGFyZSBhdHQgbGFkZGEgdXBwIGZpbGVyIHRpbGwgZGluIHdlYmJzaWRhIC0gbSZhcmluZztzdGUgZHUgaW5zdGFsbGVyYSBtb2R1bGVuIG9jaCBkJmF1bWw7cmVmdGVyIHNrYXBhIGVuIGVsbGVyIGZsZXJhIGthdGVnb3JpZXIvbWFwcGFyDQpzb20gZGUgdXBwbGFkZGFkZSBmaWxlcm5hIGthbiBsJmF1bWw7Z2dhcyBpIChpIG1vZHVsaW5zdCZhdW1sO2xsbmluZ2FybmEpLiBMJmF1bWw7Z2cgc2VkYW4gdGlsbCBlbiB0YWdnIHAmYXJpbmc7IGVuIHNpZGEgZWxsZXIgbWFsbCB1bmdlZiZhdW1sO3IgcyZhcmluZzsgaCZhdW1sO3Ige2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O1VwbG9hZHMmcXVvdDsgY2F0ZWdvcnk9JnF1b3Q7ZW5rYXRlZ29yaSZxdW90OyBtb2RlPSZxdW90O3N0aWwmcXVvdDt9LiANClN0aWxlbiBza2EgZCZhcmluZzsgbWF0Y2hhIG4mYXJpbmc7Z29uIGF2IHN0aWxhcm5hIG5lZGFuLiBWYWQgc29tIHNrcml2cyB1dCBza2lsamVyIHNpZyBiZXJvZW5kZSBwJmFyaW5nOyB2aWxrZW4gc3RpbCBkdSB2JmF1bWw7bGplci48L3A+DQoNCjxwPkRlbiBoJmF1bWw7ciBtb2R1bGVuIGthbiBhbnYmYXVtbDtuZGEgVXNlcklELW1vZHVsZW4gKHZhbGZyaXR0KSBmJm91bWw7ciBhdHQgZiZhcmluZzsgaW5mb3JtYXRpb24gb20gYWxsYSBpbmxvZ2dhZGUgYW52JmF1bWw7bmRhcmUgZiZvdW1sO3IgYXR0IGRlbHZpcyBmeWxsYSBpIGZvcm11bCZhdW1sO3JldCBuJmF1bWw7ciBmaWxlciBsYWRkYXMgdXBwOzwvcD4NCg0KPGgzPlImYXVtbDt0dGlnaGV0ZXI8L2gzPg0KPHVsPg0KPGxpPjxlbT5NYW5hZ2UgVXBsb2FkczwvZW0+IC0gYmVoJm91bWw7dnMgZiZvdW1sO3IgYXR0IGhhbnRlcmEga2F0ZWdvcmllciBvY2ggZGVzcyBmaWxlci48L2xpPg0KPGxpPjxlbT5Nb2RpZnkgVGVtcGxhdGVzPC9lbT4gLSBiZWgmb3VtbDt2cyBmJm91bWw7ciBhdHQgJmF1bWw7bmRyYSBuJmFyaW5nO2dvbiBhdiBtYWxsYXJuYS48L2xpPg0KPGxpPjxlbT5Nb2RpZnkgU2l0ZSBQcmVmZXJlbmNlczwvZW0+IC0gYmVoJm91bWw7dnMgZiZvdW1sO3IgYXR0IGYmb3VtbDtyIGF0dCAmYXVtbDtkbnJhIGZpbGluc3QmYXVtbDtsbG5pbmdhci48L2xpPg0KPC91bD4NCg0KPGgzPkVwb3N0PC9oMz4NCjxwPkRlbiBoJmF1bWw7ciBtb2R1bGVuIGthbiBza2lja2EgZS1wb3N0IG4mYXVtbDtyIGVuIGZpbCBoYXIgbGFkZGF0cyB1cHAgKHNlIHRhYmJlbiBJbnN0JmF1bWw7bGxuaW5nYXIpLiBNZW4gZiZvdW1sO3IgYXR0IGcmb3VtbDtyYSBkZXR0YSBrciZhdW1sO3ZzIGF0dCBtb2R1bGVuIDxzdHJvbmc+Q01TTWFpbGVyPC9zdHJvbmc+IGhhciBpbnN0YWxsZXJhdHMgb2NoIGtvbmZpZ3VyZXJhdHMuIERldHRhICZhdW1sO3IgPGVtPnZhbGZyaXR0PC9lbT4gb2NoIG9tIENNU01haWxlci1tb2R1bGVuIGludGUgJmF1bWw7ciBpbnN0YWxsZXJhZCB2aXNhcyBpbmdlbnRpbmcgZiZvdW1sO3IgYW52JmF1bWw7bmRhcmVuLCBiYXJhIGV0dCBsb2dnbWVkZGVsYW5kZSBrb21tZXIgYXR0IGwmYXVtbDtnZ2FzIHRpbGwgYWRtaW4tbG9nZ2VuLjwvcD4NCg0KPGgzPlN5c3RlbWluc3QmYXVtbDtsbG5pbmdhcjwvaDM+DQo8cD48c3Ryb25nPk5vdGVyYTo8L3N0cm9uZz4gRGVuIGgmYXVtbDtyIG1vZHVsZW4ga29tbWVyIGludGUgcnVudCBlbGxlciBmJm91bWw7cmJpIG4mYXJpbmc7Z3JhIGZpbHN0b3JsZWtzYmVnciZhdW1sO25zbmluZ2FyIGkgcGhwLiBEZW4gZnVuZ2VyYXIgdGlsbHNhbW1hbnMgbWVkIGRlbS4gDQpEJmF1bWw7cmYmb3VtbDtyIG0mYXJpbmc7c3RlIGR1IGV2ZW50dWVsbHQgJmF1bWw7bmRyYSBpIGRpbiBwaHAuaW5pLWZpbCBmJm91bWw7ciBhdHQgdGlsbCZhcmluZzt0YSB1cHBsYWRkbmluZyBhdiBmaWxlciBzJmFyaW5nOyBzdG9yYSBzb20gZHUgaGFyIHN0JmF1bWw7bGx0IGluIGkgaW5zdCZhdW1sO2xsbmluZ2FybmEgZiZvdW1sO3IgdXBwbGFkZG5pbmdzbW9kdWxlbi48L3A+DQoNCjxoMz5Ob3QgZiZvdW1sO3IgQXBhY2hlPC9oMz4NCjxwPkYmb3VtbDtyIGF0dCB0aWxsJmFyaW5nO3RhIHN0Jm91bWw7cnJlIGZpbHVwcGxhZGRuaW5nYXIga2FuIGR1IGJlaCZvdW1sO3ZhICZhdW1sO25kcmEgcGFyYW1ldGVybiB1cGxvYWRfbWF4X2ZpbGVzaXplIGkgZGluIHBocC5pbmktZmlsLiBEZXNzdXRvbSwgcGFyYW1ldGVybiBMaW1pdFJlcXVlc3RCb2R5IGluIGRpbiBBcGFjaGUta29uZmlndXJhdGlvbiBrYW4gYmVoJm91bWw7dmEgJmF1bWw7bmRyYXMgZiZvdW1sO3IgYXR0IG1hdGNoYSBwYXJhbWV0ZXJuIHVwbG9hZF9tYXhfZmlsZXNpemU8L3A+DQo8cD5Ob3RlcmE6IHBhcmFtZXRlcm4gdXBsb2FkX21heF9maWxlc2l6ZSBrYW4gc3BlY2lmaWNlcmFzIGkgYnl0ZXMsIGtpbG9ieXRlcyBlbGxlciBtZWdhYnl0ZXMuIFBhcmFtZXRlcm5hIExpbWl0UmVxdWVzdEJvZHkgZCZhdW1sO3JlbW90LCBrYW4gYmFyYSBzcGVjaWZpY2VyYXMgaSBieXRlczwvcD4nOwokbGFuZ1snaWQnXSA9ICdJZCAnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWx2ZXJzaW9uICVzIGluc3RhbGxlcmFkLic7CiRsYW5nWydpcF9hZGRyZXNzJ10gPSAnSVAtYWRkcmVzcyc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VuIG1vZHVsIHNvbSBsJmFyaW5nO3RlciBhbnYmYXVtbDtuZGFyZSBsYWRkYSB1cHAgZmlsZXIgb2NoIGwmYXJpbmc7dGVyIGRpZyBoYW50ZXJhIGRlbS4nOwokbGFuZ1snbmFtZSddID0gJ05hbW4nOwokbGFuZ1sncmVuYW1lbWVzc2FnZSddID0gJyZBdW1sO25kcmEgbmFtbmV0IGgmYXVtbDtyIGYmb3VtbDtyIGF0dCBnJm91bWw7cmEgZW4gbmFtbiZhdW1sO25kcmluZyc7CiRsYW5nWydwYXRoJ10gPSAnUyZvdW1sO2t2JmF1bWw7Zyc7CiRsYW5nWydwYXRobWVzc2FnZSddID0gJyZBdW1sO25kcmEga2F0ZWdvcmluIGgmYXVtbDtyIGYmb3VtbDtyIGF0dCBmbHl0dGEgZmlsZW4gdGlsbCBlbiBhbm5hbiBtYXBwJzsKJGxhbmdbJ3BhdGhpbnVwbG9hZHMnXSA9ICcocmVsYXRpdiB0aWxsIHVwcGxhZGRuaW5nc21hcHBlbiknOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNZWRkZWxhbmRlIGVmdGVyIGluc3RhbGxhdGlvbiwgdC5leC4gR2wmb3VtbDttIGludGUgYXR0IHN0JmF1bWw7bGxhIGluIHImYXVtbDt0dGlnaGV0ZXIgZiZvdW1sO3IgJnF1b3Q7TWFuYWdlIFVwbG9hZHMmcXVvdDsgZiZvdW1sO3IgYXR0IGFudiZhdW1sO25kYSBkZW4gaCZhdW1sO3IgbW9kdWxlbiEnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01lZGRlbGFuZGUgZWZ0ZXIgYXZpbnN0YWxsYXRpb24sIHQuZXguICZxdW90O1NraXQgb2NrcyZhcmluZzshIEJlc2VncmFkIGlnZW4hJnF1b3Q7JzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnSW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsaW5zdCZhdW1sO2xsbmluZ2FyIHVwcGRhdGVyYWRlLic7CiRsYW5nWydwcm9tcHRfY2F0ZWdvcnlkZXNjJ10gPSAnQmVza3Jpdm5pbmcnOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5bGlzdGFibGUnXSA9ICdGaWxlcm5hIGkgZGVuIGgmYXVtbDtyIG1hcHBlbiBrYW4gbGlzdGFzJzsKJGxhbmdbJ3Byb21wdF9jYXRlZ29yeW5hbWUnXSA9ICdLYXRlZ29yaW5hbW4nOwokbGFuZ1sncHJvbXB0X2NhdGVnb3J5cGF0aCddID0gJ1NlcnZlci1zJm91bWw7a3YmYXVtbDtnJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVkaXJlY3RvcnknXSA9ICdUYSBib3J0IGthdGVnb3JpbWFwcD8nOwokbGFuZ1sncHJvbXB0X21heF91cGxvYWRzaXplJ10gPSAnTWF4aW1hbCBmaWxzdG9ybGVrIHRpbGwmYXJpbmc7dGVuIChLYiknOwokbGFuZ1sncHJvbXB0X3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnMnXSA9ICdUaWxsJmFyaW5nO3RuYSBmaWx0aWxsJmF1bWw7Z2cgZiZvdW1sO3IgdXBwbGFkZGFkZSBmaWxlcic7CiRsYW5nWydzY2FuJ10gPSAnU2Nhbm5hJzsKJGxhbmdbJ3NlbGVjdGNhdGVnb3J5J10gPSAnViZhdW1sO2xqIGthdGVnb3JpJzsKJGxhbmdbJ3NpemUnXSA9ICdTdG9ybGVrJzsKJGxhbmdbJ3NpemVrYiddID0gJ1N0b3JsZWsgKEtiKSc7CiRsYW5nWydzdWJtaXQnXSA9ICdMJmF1bWw7Z2cgdGlsbCc7CiRsYW5nWydzdW1tYXJ5X3RlbXBsYXRlJ10gPSAnU2FtbWFuZmF0dG5pbmdzbWFsbCc7CiRsYW5nWydzdW1tYXJ5J10gPSAnU2FtbWFuZmF0dG5pbmcnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdVcHBsYWRkbmluZ3Ntb2R1bCc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdBZG1pbi1wYW5lbCBmJm91bWw7ciBtb2R1bCc7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdJbnN0JmF1bWw7bGxuaW5nYXIgZiZvdW1sO3IgbW9kdWwnOwokbGFuZ1sndGl0bGVfc3VibmV0X2V4Y2x1c2lvbnMnXSA9ICdFeGtsdWRlcmEgc3VibiZhdW1sO3QgZnImYXJpbmc7biBzdGF0aXN0aWsnOwokbGFuZ1sndGl0bGVfdmFsaWRfdXBsb2FkZXh0ZW5zaW9ucyddID0gJ1RpbGwmYXJpbmc7dG5hIGZpbHRpbGwmYXVtbDtnZyc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsIGF2aW5zdGFsbGVyYWQuJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgdXBwZ3JhZGVyYWQgdGlsbCB2ZXJzaW9uICVzLic7CiRsYW5nWyd1cGxvYWQnXSA9ICdMYWRkYSB1cHAnOwokbGFuZ1sndXBsb2FkZWQnXSA9ICdGaWxlbiAlcyAmYXVtbDtyIHVwcGxhZGRhZC4nOwokbGFuZ1sncmVwbGFjZWQnXSA9ICdGaWxlbiAlcyBlcnNhdHRlcyBhdiAlcy4nOwokbGFuZ1snZGVsZXRlZCddID0gJ0ZpbGVuICVzICZhdW1sO3IgYm9ydHRhZ2VuLic7CiRsYW5nWyd1cGxvYWRmb3JtX3RlbXBsYXRlJ10gPSAnVXBwbGFkZG5pbmdzbWFsbCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0FudiZhdW1sO25kYXJuYW1uJzsKJGxhbmdbJ3dhcm5pbmdfZGVsZXRlY2F0ZWdvcnknXSA9ICdWQVJOSU5HOiBWYXIgZiZvdW1sO3JzaWt0aWcgbiZhdW1sO3IgZHUgdGFyIGJvcnQga2F0ZWdvcmllci4gRmlsZXIga2FuIGcmYXJpbmc7ciBmJm91bWw7cmxvcmFkZSc7CiRsYW5nWydxY2EnXSA9ICdQMC0xMjMxODcyMzI1LTEyNjkzNTkzMjExOTUnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMjY5Nzc3NjAzLjEyNjkzNTkzNDIuMTI2OTM1OTM0Mi4xMjY5MzU5MzQyLjEnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My4xLjEwLjEyNjkzNTkzNDInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNjkzNTkzNDIuMS4xLnV0bWNzcj1nb29nbGV8dXRtY2NuPShvcmdhbmljKXx1dG1jbWQ9b3JnYW5pY3x1dG1jdHI9Y21zbXMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/.#class.uploads_TextIndexer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lib/class.async_upload_handler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKICogalF1ZXJ5IEZpbGUgVXBsb2FkIFBsdWdpbiBQSFAgRXhhbXBsZSA1LjUKICogaHR0cHM6Ly9naXRodWIuY29tL2JsdWVpbXAvalF1ZXJ5LUZpbGUtVXBsb2FkCiAqCiAqIENvcHlyaWdodCAyMDEwLCBTZWJhc3RpYW4gVHNjaGFuCiAqIGh0dHBzOi8vYmx1ZWltcC5uZXQKICoKICogTGljZW5zZWQgdW5kZXIgdGhlIE1JVCBsaWNlbnNlOgogKiBodHRwOi8vd3d3Lm9wZW5zb3VyY2Uub3JnL2xpY2Vuc2VzL01JVAogKi8KCm5hbWVzcGFjZSBVcGxvYWRzOwoKYWJzdHJhY3QgY2xhc3MgYXN5bmNfdXBsb2FkX2hhbmRsZXIKewogICAgcHJvdGVjdGVkICRvcHRpb25zOwoKICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRvcHRpb25zPW51bGwpIHsKICAgICAgICAkdGhpcy0+b3B0aW9ucyA9IGFycmF5KAogICAgICAgICAgICAnc2NyaXB0X3VybCcgPT4gJHRoaXMtPmdldEZ1bGxVcmwoKS4nLycuYmFzZW5hbWUoX19GSUxFX18pLAogICAgICAgICAgICAndXBsb2FkX2RpcicgPT4gX19ESVJfXy4nL2ZpbGVzLycsCiAgICAgICAgICAgICd1cGxvYWRfdXJsJyA9PiAkdGhpcy0+Z2V0RnVsbFVybCgpLicvZmlsZXMvJywKICAgICAgICAgICAgJ3BhcmFtX25hbWUnID0+ICdmaWxlcycsCiAgICAgICAgICAgIC8vIFRoZSBwaHAuaW5pIHNldHRpbmdzIHVwbG9hZF9tYXhfZmlsZXNpemUgYW5kIHBvc3RfbWF4X3NpemUKICAgICAgICAgICAgLy8gdGFrZSBwcmVjZWRlbmNlIG92ZXIgdGhlIGZvbGxvd2luZyBtYXhfZmlsZV9zaXplIHNldHRpbmc6CiAgICAgICAgICAgICdtYXhfZmlsZV9zaXplJyA9PiBudWxsLAogICAgICAgICAgICAnbWluX2ZpbGVfc2l6ZScgPT4gMSwKICAgICAgICAgICAgJ2FjY2VwdF9maWxlX3R5cGVzJyA9PiAnLy4rJC9pJywKICAgICAgICAgICAgJ21heF9udW1iZXJfb2ZfZmlsZXMnID0+IG51bGwsCiAgICAgICAgICAgIC8vIFNldCB0aGUgZm9sbG93aW5nIG9wdGlvbiB0byBmYWxzZSB0byBlbmFibGUgbm9uLW11bHRpcGFydCB1cGxvYWRzOgogICAgICAgICAgICAnZGlzY2FyZF9hYm9ydGVkX3VwbG9hZHMnID0+IGZhbHNlCiAgICAgICAgICAgICk7CiAgICAgICAgaWYgKGlzX2FycmF5KCRvcHRpb25zKSAmJiBjb3VudCgkb3B0aW9ucykpIHsKICAgICAgICAgICAgZm9yZWFjaCggJG9wdGlvbnMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgICAgICAgICAgICAkdGhpcy0+b3B0aW9uc1ska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgIH0KCiAgICBmdW5jdGlvbiBnZXRGdWxsVXJsKCkgewogICAgICAJcmV0dXJuCiAgICAgICAgICAgIChpc3NldCgkX1NFUlZFUlsnSFRUUFMnXSkgPyAnaHR0cHM6Ly8nIDogJ2h0dHA6Ly8nKS4KICAgICAgICAgICAgKGlzc2V0KCRfU0VSVkVSWydSRU1PVEVfVVNFUiddKSA/ICRfU0VSVkVSWydSRU1PVEVfVVNFUiddLidAJyA6ICcnKS4KICAgICAgICAgICAgKGlzc2V0KCRfU0VSVkVSWydIVFRQX0hPU1QnXSkgPyAkX1NFUlZFUlsnSFRUUF9IT1NUJ10gOiAoJF9TRVJWRVJbJ1NFUlZFUl9OQU1FJ10uCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChpc3NldCgkX1NFUlZFUlsnSFRUUFMnXSkgJiYgJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10gPT09IDQ0MyB8fAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10gPT09IDgwID8gJycgOiAnOicuJF9TRVJWRVJbJ1NFUlZFUl9QT1JUJ10pKSkuCiAgICAgICAgICAgIHN1YnN0cigkX1NFUlZFUlsnU0NSSVBUX05BTUUnXSwwLCBzdHJycG9zKCRfU0VSVkVSWydTQ1JJUFRfTkFNRSddLCAnLycpKTsKICAgIH0KCiAgICBwcml2YXRlIGZ1bmN0aW9uIGdldF9maWxlX29iamVjdCgkZmlsZV9uYW1lKSB7CiAgICAgICAgJGZpbGVfcGF0aCA9ICR0aGlzLT5vcHRpb25zWyd1cGxvYWRfZGlyJ10uJGZpbGVfbmFtZTsKICAgICAgICBpZiAoaXNfZmlsZSgkZmlsZV9wYXRoKSAmJiAkZmlsZV9uYW1lWzBdICE9PSAnLicpIHsKICAgICAgICAgICAgJGZpbGUgPSBuZXcgXHN0ZENsYXNzKCk7CiAgICAgICAgICAgICRmaWxlLT5uYW1lID0gJGZpbGVfbmFtZTsKICAgICAgICAgICAgJGZpbGUtPnNpemUgPSBmaWxlc2l6ZSgkZmlsZV9wYXRoKTsKICAgICAgICAgICAgJGZpbGUtPnVybCA9ICR0aGlzLT5vcHRpb25zWyd1cGxvYWRfdXJsJ10ucmF3dXJsZW5jb2RlKCRmaWxlLT5uYW1lKTsKICAgICAgICAgICAgJGZpbGUtPmRlbGV0ZV91cmwgPSAkdGhpcy0+b3B0aW9uc1snc2NyaXB0X3VybCddCiAgICAgICAgICAgICAgICAuJz9maWxlPScucmF3dXJsZW5jb2RlKCRmaWxlLT5uYW1lKTsKICAgICAgICAgICAgJGZpbGUtPmRlbGV0ZV90eXBlID0gJ0RFTEVURSc7CiAgICAgICAgICAgIHJldHVybiAkZmlsZTsKICAgICAgICB9CiAgICAgICAgcmV0dXJuIG51bGw7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBnZXRfZmlsZV9vYmplY3RzKCkgewogICAgICAgIHJldHVybiBhcnJheV92YWx1ZXMoYXJyYXlfZmlsdGVyKGFycmF5X21hcCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJHRoaXMsICdnZXRfZmlsZV9vYmplY3QnKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NhbmRpcigkdGhpcy0+b3B0aW9uc1sndXBsb2FkX2RpciddKQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApKSk7CiAgICB9CgogICAgcHJpdmF0ZSBmdW5jdGlvbiBoYXNfZXJyb3IoJHVwbG9hZGVkX2ZpbGUsICRmaWxlLCAkZXJyb3IpIHsKICAgICAgICBpZiAoJGVycm9yKSByZXR1cm4gJGVycm9yOwogICAgICAgIGlmICghcHJlZ19tYXRjaCgkdGhpcy0+b3B0aW9uc1snYWNjZXB0X2ZpbGVfdHlwZXMnXSwgJGZpbGUtPm5hbWUpKSByZXR1cm4gJ2FjY2VwdEZpbGVUeXBlcyc7CiAgICAgICAgaWYgKCR1cGxvYWRlZF9maWxlICYmIGlzX3VwbG9hZGVkX2ZpbGUoJHVwbG9hZGVkX2ZpbGUpKSB7CiAgICAgICAgICAgICRmaWxlX3NpemUgPSBmaWxlc2l6ZSgkdXBsb2FkZWRfZmlsZSk7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgJGZpbGVfc2l6ZSA9ICRfU0VSVkVSWydDT05URU5UX0xFTkdUSCddOwogICAgICAgIH0KICAgICAgICBpZiAoJHRoaXMtPm9wdGlvbnNbJ21heF9maWxlX3NpemUnXSAmJiAoCiAgICAgICAgICAgICAgICAkZmlsZV9zaXplID4gJHRoaXMtPm9wdGlvbnNbJ21heF9maWxlX3NpemUnXSB8fAogICAgICAgICAgICAgICAgJGZpbGUtPnNpemUgPiAkdGhpcy0+b3B0aW9uc1snbWF4X2ZpbGVfc2l6ZSddKQogICAgICAgICAgICApIHsKICAgICAgICAgICAgcmV0dXJuICdtYXhGaWxlU2l6ZSc7CiAgICAgICAgfQogICAgICAgIGlmICgkdGhpcy0+b3B0aW9uc1snbWluX2ZpbGVfc2l6ZSddICYmCiAgICAgICAgICAgICRmaWxlX3NpemUgPCAkdGhpcy0+b3B0aW9uc1snbWluX2ZpbGVfc2l6ZSddKSB7CiAgICAgICAgICAgIHJldHVybiAnbWluRmlsZVNpemUnOwogICAgICAgIH0KICAgICAgICBpZiAoaXNfaW50KCR0aGlzLT5vcHRpb25zWydtYXhfbnVtYmVyX29mX2ZpbGVzJ10pICYmICgKICAgICAgICAgICAgICAgIGNvdW50KCR0aGlzLT5nZXRfZmlsZV9vYmplY3RzKCkpID49ICR0aGlzLT5vcHRpb25zWydtYXhfbnVtYmVyX29mX2ZpbGVzJ10pCiAgICAgICAgICAgICkgewogICAgICAgICAgICByZXR1cm4gJ21heE51bWJlck9mRmlsZXMnOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJGVycm9yOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBhZGp1c3RfZmlsZW5hbWUoJG5hbWUsICR0eXBlKSB7CiAgICAgICAgLy8gUmVtb3ZlIHBhdGggaW5mb3JtYXRpb24gYW5kIGRvdHMgYXJvdW5kIHRoZSBmaWxlbmFtZSwgdG8gcHJldmVudCB1cGxvYWRpbmcKICAgICAgICAvLyBpbnRvIGRpZmZlcmVudCBkaXJlY3RvcmllcyBvciByZXBsYWNpbmcgaGlkZGVuIHN5c3RlbSBmaWxlcy4KICAgICAgICAvLyBBbHNvIHJlbW92ZSBjb250cm9sIGNoYXJhY3RlcnMgYW5kIHNwYWNlcyAoXHgwMC4uXHgyMCkgYXJvdW5kIHRoZSBmaWxlbmFtZToKICAgICAgICAkZmlsZV9uYW1lID0gdHJpbShiYXNlbmFtZShzdHJpcHNsYXNoZXMoJG5hbWUpKSwgIi5ceDAwLi5ceDIwIik7CiAgICAgICAgLyoKICAgICAgICAvLyBBZGQgbWlzc2luZyBmaWxlIGV4dGVuc2lvbiBmb3Iga25vd24gaW1hZ2UgdHlwZXM6CiAgICAgICAgaWYgKHN0cnBvcygkZmlsZV9uYW1lLCAnLicpID09PSBmYWxzZSAmJgogICAgICAgICAgICBwcmVnX21hdGNoKCcvXmltYWdlXC8oZ2lmfGpwZT9nfHBuZykvJywgJHR5cGUsICRtYXRjaGVzKSkgewogICAgICAgICAgICAkZmlsZV9uYW1lIC49ICcuJy4kbWF0Y2hlc1sxXTsKICAgICAgICB9CiAgICAgICAgKi8KICAgICAgICByZXR1cm4gJGZpbGVfbmFtZTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWZ0ZXJfdXBsb2FkZWRfZmlsZSgkZmlsZW9iamVjdCkge30KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gYWZ0ZXJfdXBsb2FkZWRfZmlsZXMoJGZpbGVvYmplY3RzX2FycmF5KSB7fQoKICAgIHByaXZhdGUgZnVuY3Rpb24gaGFuZGxlX2ZpbGVfdXBsb2FkKCR1cGxvYWRlZF9maWxlLCAkbmFtZSwgJHNpemUsICR0eXBlLCAkZXJyb3IsICRtYXhzaXplID0gbnVsbCkgewogICAgICAgICRmaWxlID0gbmV3IFxzdGRDbGFzcygpOwogICAgICAgICRmaWxlLT5uYW1lID0gJHRoaXMtPmFkanVzdF9maWxlbmFtZSgkbmFtZSwgJHR5cGUpOwogICAgICAgICRmaWxlLT5zaXplID0gaW50dmFsKCRzaXplKTsKICAgICAgICAkZmlsZS0+dHlwZSA9ICR0eXBlOwogICAgICAgICRlcnJvciA9ICR0aGlzLT5oYXNfZXJyb3IoJHVwbG9hZGVkX2ZpbGUsICRmaWxlLCAkZXJyb3IpOwogICAgICAgIGlmICghJGVycm9yICYmICRmaWxlLT5uYW1lKSB7CiAgICAgICAgICAgICRmaWxlX3BhdGggPSAkdGhpcy0+b3B0aW9uc1sndXBsb2FkX2RpciddLiRmaWxlLT5uYW1lOwogICAgICAgICAgICBAbWtkaXIoJHRoaXMtPm9wdGlvbnNbJ3VwbG9hZF9kaXInXSwwNzc3LFRSVUUpOwogICAgICAgICAgICAkdG1wID0gKGlzX2ZpbGUoJGZpbGVfcGF0aCkpP2ZpbGVzaXplKCRmaWxlX3BhdGgpOjA7CiAgICAgICAgICAgICRhcHBlbmRfZmlsZSA9ICEkdGhpcy0+b3B0aW9uc1snZGlzY2FyZF9hYm9ydGVkX3VwbG9hZHMnXSAmJgogICAgICAgICAgICAgICAgaXNfZmlsZSgkZmlsZV9wYXRoKSAmJiAkbWF4c2l6ZSAmJiAkbWF4c2l6ZSA+IGZpbGVzaXplKCRmaWxlX3BhdGgpOwogICAgICAgICAgICBjbGVhcnN0YXRjYWNoZSgpOwogICAgICAgICAgICBpZiAoJHVwbG9hZGVkX2ZpbGUgJiYgaXNfdXBsb2FkZWRfZmlsZSgkdXBsb2FkZWRfZmlsZSkpIHsKICAgICAgICAgICAgICAgIC8vIG11bHRpcGFydC9mb3JtZGF0YSB1cGxvYWRzIChQT1NUIG1ldGhvZCB1cGxvYWRzKQogICAgICAgICAgICAgICAgaWYgKCRhcHBlbmRfZmlsZSkgewogICAgICAgICAgICAgICAgICAgIGZpbGVfcHV0X2NvbnRlbnRzKAogICAgICAgICAgICAgICAgICAgICAgICAkZmlsZV9wYXRoLAogICAgICAgICAgICAgICAgICAgICAgICBmb3BlbigkdXBsb2FkZWRfZmlsZSwgJ3InKSwKICAgICAgICAgICAgICAgICAgICAgICAgRklMRV9BUFBFTkQKICAgICAgICAgICAgICAgICAgICAgICAgKTsKICAgICAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgICAgbW92ZV91cGxvYWRlZF9maWxlKCR1cGxvYWRlZF9maWxlLCAkZmlsZV9wYXRoKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgIC8vIE5vbi1tdWx0aXBhcnQgdXBsb2FkcyAoUFVUIG1ldGhvZCBzdXBwb3J0KQogICAgICAgICAgICAgICAgZmlsZV9wdXRfY29udGVudHMoCiAgICAgICAgICAgICAgICAgICAgJGZpbGVfcGF0aCwKICAgICAgICAgICAgICAgICAgICBmb3BlbigncGhwOi8vaW5wdXQnLCAncicpLAogICAgICAgICAgICAgICAgICAgICRhcHBlbmRfZmlsZSA/IEZJTEVfQVBQRU5EIDogMAogICAgICAgICAgICAgICAgICAgICk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGZpbGVfc2l6ZSA9IGZpbGVzaXplKCRmaWxlX3BhdGgpOwogICAgICAgICAgICBpZiAoJGZpbGVfc2l6ZSA9PT0gJGZpbGUtPnNpemUpIHsKICAgICAgICAgICAgICAgICRmaWxlLT51cmwgPSAkdGhpcy0+b3B0aW9uc1sndXBsb2FkX3VybCddLnJhd3VybGVuY29kZSgkZmlsZS0+bmFtZSk7CiAgICAgICAgICAgIH0gZWxzZSBpZiAoJHRoaXMtPm9wdGlvbnNbJ2Rpc2NhcmRfYWJvcnRlZF91cGxvYWRzJ10pIHsKICAgICAgICAgICAgICAgIHVubGluaygkZmlsZV9wYXRoKTsKICAgICAgICAgICAgICAgICRmaWxlLT5lcnJvciA9ICdhYm9ydCc7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgJGZpbGUtPnNpemUgPSAkZmlsZV9zaXplOwogICAgICAgICAgICAkZmlsZS0+ZGVsZXRlX3VybCA9ICR0aGlzLT5vcHRpb25zWydzY3JpcHRfdXJsJ10KICAgICAgICAgICAgICAgIC4nP2ZpbGU9Jy5yYXd1cmxlbmNvZGUoJGZpbGUtPm5hbWUpOwogICAgICAgICAgICAkZmlsZS0+ZGVsZXRlX3R5cGUgPSAnREVMRVRFJzsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAkZmlsZS0+ZXJyb3IgPSAkZXJyb3I7CiAgICAgICAgfQogICAgICAgIHJldHVybiAkZmlsZTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0KCkgewogICAgICAgICRmaWxlX25hbWUgPSBpc3NldCgkX1JFUVVFU1RbJ2ZpbGUnXSkgPwogICAgICAgICAgICBiYXNlbmFtZShzdHJpcHNsYXNoZXMoJF9SRVFVRVNUWydmaWxlJ10pKSA6IG51bGw7CiAgICAgICAgaWYgKCRmaWxlX25hbWUpIHsKICAgICAgICAgICAgJGluZm8gPSAkdGhpcy0+Z2V0X2ZpbGVfb2JqZWN0KCRmaWxlX25hbWUpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICRpbmZvID0gJHRoaXMtPmdldF9maWxlX29iamVjdHMoKTsKICAgICAgICB9CiAgICAgICAgaGVhZGVyKCdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb24nKTsKICAgICAgICBlY2hvIGpzb25fZW5jb2RlKCRpbmZvKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gcG9zdCgpIHsKICAgICAgICBpZiAoaXNzZXQoJF9SRVFVRVNUWydfbWV0aG9kJ10pICYmICRfUkVRVUVTVFsnX21ldGhvZCddID09PSAnREVMRVRFJykgcmV0dXJuICR0aGlzLT5kZWxldGUoKTsKICAgICAgICAkbWF4ZmlsZXNpemUgPSBudWxsOwogICAgICAgIGlmKCBpc3NldCgkX1NFUlZFUlsnSFRUUF9DT05URU5UX1JBTkdFJ10pICkgewogICAgICAgICAgICAkdG1wID0gZXhwbG9kZSgnLycsJF9TRVJWRVJbJ0hUVFBfQ09OVEVOVF9SQU5HRSddLDIpOwogICAgICAgICAgICBpZiggY291bnQoJHRtcCkgPT0gMiApIHsKICAgICAgICAgICAgICAgICRzaXplID0gKGludCkgJHRtcFsxXTsKICAgICAgICAgICAgICAgIGlmKCAkc2l6ZSA+IDAgKSAkbWF4ZmlsZXNpemUgPSAkc2l6ZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICAkdXBsb2FkID0gaXNzZXQoJF9GSUxFU1skdGhpcy0+b3B0aW9uc1sncGFyYW1fbmFtZSddXSkgPyAgJF9GSUxFU1skdGhpcy0+b3B0aW9uc1sncGFyYW1fbmFtZSddXSA6IG51bGw7CiAgICAgICAgJGluZm8gPSBhcnJheSgpOwogICAgICAgIGlmICgkdXBsb2FkICYmIGlzX2FycmF5KCR1cGxvYWRbJ3RtcF9uYW1lJ10pKSB7CiAgICAgICAgICAgIGZvcmVhY2ggKCR1cGxvYWRbJ3RtcF9uYW1lJ10gYXMgJGluZGV4ID0+ICR2YWx1ZSkgewogICAgICAgICAgICAgICAgJHJlcyA9ICR0aGlzLT5oYW5kbGVfZmlsZV91cGxvYWQoCiAgICAgICAgICAgICAgICAgICAgJHVwbG9hZFsndG1wX25hbWUnXVskaW5kZXhdLAogICAgICAgICAgICAgICAgICAgIGlzc2V0KCRfU0VSVkVSWydIVFRQX1hfRklMRV9OQU1FJ10pID8KICAgICAgICAgICAgICAgICAgICAkX1NFUlZFUlsnSFRUUF9YX0ZJTEVfTkFNRSddIDogJHVwbG9hZFsnbmFtZSddWyRpbmRleF0sCiAgICAgICAgICAgICAgICAgICAgaXNzZXQoJF9TRVJWRVJbJ0hUVFBfWF9GSUxFX1NJWkUnXSkgPwogICAgICAgICAgICAgICAgICAgICRfU0VSVkVSWydIVFRQX1hfRklMRV9TSVpFJ10gOiAkdXBsb2FkWydzaXplJ11bJGluZGV4XSwKICAgICAgICAgICAgICAgICAgICBpc3NldCgkX1NFUlZFUlsnSFRUUF9YX0ZJTEVfVFlQRSddKSA/CiAgICAgICAgICAgICAgICAgICAgJF9TRVJWRVJbJ0hUVFBfWF9GSUxFX1RZUEUnXSA6ICR1cGxvYWRbJ3R5cGUnXVskaW5kZXhdLAogICAgICAgICAgICAgICAgICAgICR1cGxvYWRbJ2Vycm9yJ11bJGluZGV4XSwKICAgICAgICAgICAgICAgICAgICAkbWF4ZmlsZXNpemUKICAgICAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAgICAgJHRoaXMtPmFmdGVyX3VwbG9hZGVkX2ZpbGUoJHJlcyk7CiAgICAgICAgICAgICAgICAkaW5mb1tdID0gJHJlczsKICAgICAgICAgICAgfQogICAgICAgIH0gZWxzZWlmICgkdXBsb2FkIHx8IGlzc2V0KCRfU0VSVkVSWydIVFRQX1hfRklMRV9OQU1FJ10pKSB7CiAgICAgICAgICAgICRyZXMgPSAkdGhpcy0+aGFuZGxlX2ZpbGVfdXBsb2FkKAogICAgICAgICAgICAgICAgaXNzZXQoJHVwbG9hZFsndG1wX25hbWUnXSkgPyAkdXBsb2FkWyd0bXBfbmFtZSddIDogbnVsbCwKICAgICAgICAgICAgICAgIC8vaXNzZXQoJF9TRVJWRVJbJ0hUVFBfWF9GSUxFX05BTUUnXSkgPyAkX1NFUlZFUlsnSFRUUF9YX0ZJTEVfTkFNRSddIDogKGlzc2V0KCR1cGxvYWRbJ25hbWUnXSkgPyBpc3NldCgkdXBsb2FkWyduYW1lJ10pIDogbnVsbCksCiAgICAgICAgICAgICAgICBpc3NldCgkX1NFUlZFUlsnSFRUUF9YX0ZJTEVfTkFNRSddKSA/ICRfU0VSVkVSWydIVFRQX1hfRklMRV9OQU1FJ10gOiAkdXBsb2FkWyduYW1lJ10sCiAgICAgICAgICAgICAgICBpc3NldCgkX1NFUlZFUlsnSFRUUF9YX0ZJTEVfU0laRSddKSA/ICRfU0VSVkVSWydIVFRQX1hfRklMRV9TSVpFJ10gOiAkdXBsb2FkWydzaXplJ10sCiAgICAgICAgICAgICAgICBpc3NldCgkX1NFUlZFUlsnSFRUUF9YX0ZJTEVfVFlQRSddKSA/ICRfU0VSVkVSWydIVFRQX1hfRklMRV9UWVBFJ10gOiAkdXBsb2FkWyd0eXBlJ10sCiAgICAgICAgICAgICAgICBpc3NldCgkdXBsb2FkWydlcnJvciddKSA/ICR1cGxvYWRbJ2Vycm9yJ10gOiBudWxsLAogICAgICAgICAgICAgICAgJG1heGZpbGVzaXplCiAgICAgICAgICAgICAgICApOwogICAgICAgICAgICAkdGhpcy0+YWZ0ZXJfdXBsb2FkZWRfZmlsZSgkcmVzKTsKICAgICAgICAgICAgJGluZm9bXSA9ICRyZXM7CiAgICAgICAgfQoKICAgICAgICBoZWFkZXIoJ1Zhcnk6IEFjY2VwdCcpOwogICAgICAgICRqc29uID0ganNvbl9lbmNvZGUoJGluZm8pOwogICAgICAgICRyZWRpcmVjdCA9IGlzc2V0KCRfUkVRVUVTVFsncmVkaXJlY3QnXSkgPwogICAgICAgICAgICBzdHJpcHNsYXNoZXMoJF9SRVFVRVNUWydyZWRpcmVjdCddKSA6IG51bGw7CiAgICAgICAgaWYgKCRyZWRpcmVjdCkgewogICAgICAgICAgICBoZWFkZXIoJ0xvY2F0aW9uOiAnLnNwcmludGYoJHJlZGlyZWN0LCByYXd1cmxlbmNvZGUoJGpzb24pKSk7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgaWYgKGlzc2V0KCRfU0VSVkVSWydIVFRQX0FDQ0VQVCddKSAmJgogICAgICAgICAgICAoc3RycG9zKCRfU0VSVkVSWydIVFRQX0FDQ0VQVCddLCAnYXBwbGljYXRpb24vanNvbicpICE9PSBmYWxzZSkpIHsKICAgICAgICAgICAgaGVhZGVyKCdDb250ZW50LXR5cGU6IGFwcGxpY2F0aW9uL2pzb24nKTsKICAgICAgICB9IGVsc2UgewogICAgICAgICAgICBoZWFkZXIoJ0NvbnRlbnQtdHlwZTogdGV4dC9wbGFpbicpOwogICAgICAgIH0KICAgICAgICBlY2hvICRqc29uOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoKSB7CiAgICAgICAgJGZpbGVfbmFtZSA9IGlzc2V0KCRfUkVRVUVTVFsnZmlsZSddKSA/IGJhc2VuYW1lKHN0cmlwc2xhc2hlcygkX1JFUVVFU1RbJ2ZpbGUnXSkpIDogbnVsbDsKICAgICAgICAkZmlsZV9wYXRoID0gJHRoaXMtPm9wdGlvbnNbJ3VwbG9hZF9kaXInXS4kZmlsZV9uYW1lOwogICAgICAgICRzdWNjZXNzID0gaXNfZmlsZSgkZmlsZV9wYXRoKSAmJiAkZmlsZV9uYW1lWzBdICE9PSAnLicgJiYgdW5saW5rKCRmaWxlX3BhdGgpOwogICAgICAgIGhlYWRlcignQ29udGVudC10eXBlOiBhcHBsaWNhdGlvbi9qc29uJyk7CiAgICAgICAgZWNobyBqc29uX2VuY29kZSgkc3VjY2Vzcyk7CiAgICB9Cgp9IC8vIGVuZCBvZiBjbGFzc3MK]]></data>
	</file>
	<file>
	  <filename>/lib/class.category.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBVcGxvYWRzOwoKLyoqCiAqIFRoaXMgY2xhc3MgcmVwcmVzZW50cyBhbiB1cGxvYWRzIGNhdGVnb3J5LgogKiBJdCBoYW5kbGVzIGxvYWRpbmcgYW5kIHNhdmluZyB0aGUgY2F0ZWdvcnkgdG8gdGhlIGRhdGFiYXNlIGFuZCBnZXR0aW5nL3NldHRpbmcgdGhlIHZhcmlvdXMgcHJvcGVydGllcy4KICogVGhlIHBhdGggcHJvcGVydHkgb2YgYSBjYXRlZ29yeSBjYW5ub3QgYmUgYWRqdXN0ZWQgb25jZSBpdCBoYXMgYmVlbiBzYXZlZCBob3dldmVyLCB0aGUgb3RoZXIgcGFyYW10ZXJzIGNhbi4KICogVGhpcyBjbGFzcyBkb2VzIG5vdCBoYW5kbGUgc2VuZGluZyBldmVudHMsIHNjYW5uaW5nIGZpbGVzIGluIGEgY2F0ZWdvcnkgb3IgYW55IG90aGVyIGFwcGxpY2F0aW9uIGxldmVsIGZ1bmN0aW9uYWxpdHkuCiAqIEhvd2V2ZXIsIHRoaXMgY2xhc3MgZG9lcyB2YWxpZGF0ZSB0aGF0IHRoZSBwYXRoIHNwZWNpZmllZCBsaWVzIHVuZGVybmVhdGggdGhlIHJvb3QgZGlyZWN0b3J5LgogKgogKiBAcHJvcGVydHktcmVhZCBpbnQgJGlkIFRoZSBpbnRlZ2VyIGlkIG9mIHRoaXMgY2F0ZWdvcnkgKGlmIHNhdmVkKQogKiBAcHJvcGVydHkgc3RyaW5nICRuYW1lIFRoZSBuYW1lIG9mIHRoaXMgY2F0ZWdvcnkKICogQHByb3BlcnR5IHN0cmluZyAkZGVzY3JpcHRpb24gQSBodW1hbiByZWFkYWJsZSBkZXNjcmlwdGlvbiBmb3IgdGhlIGNhdGVnb3J5CiAqIEBwcm9wZXJ0eSBzdHJpbmcgJHBhdGggVGhlIHBhdGggZm9yIHRoaXMgY2F0ZWdvcnkgKHJlbGF0aXZlIHRvIHRoZSBDTVNNUyB1cGxvYWQgcGF0aCkKICogQHByb3BlcnR5IGJvb2wgICAkbGlzdGFibGUgV2hldGhlciB0aGUgZmlsZXMgaW4gdGhpcyBjYXRlZ29yeSBjYW4gYmUgZGlzcGxheWVkIG9uIHRoZSBmcm9udGVuZCBvZiB0aGUgc2l0ZQogKiBAcHJvcGVydHkgYXJyYXkgICRncm91cHMgVGhlIEZFVSBncm91cHMgdGhhdCBhcmUgYWxsb3dlZCBhY2Nlc3MgdG8gdGhpcyBjYXRlZ29yeS4gIEFuIGVtcHR5IGxpc3QgaW5kaWNhdGVzIGFsbCBhY2Nlc3MuCiAqIEBwcm9lcHJ0eSBib29sICAgJGRlbGV0YWJsZSBXZXRoZXIgZmlsZXMgaW4gdGhpcyBjYXRlZ29yeSBjYW4gYmUgZGVsZXRlZCBieSBhdXRob3JpemVkIHVzZXJzLgogKiBAcHJvcGVydHkgaW50ICAgICRleHBpcmVzX2hycyBUaGUgbnVtYmVyIG9mIGhvdXJzIGJlZm9yZSBmaWxlcyBpbiB0aGlzIGNhdGVnb3J5IGNhbiBiZSBhdXRvbWF0aWNhbGx5IHJlbW92ZWQuICAwIGluZGljYXRlcyB0byBub3QgYXV0b21hdGljYWxseSBkZWxldGUgZmlsZXMuCiAqIEBwcm9wZXJ0eSBib29sICAgJHNjYW5uYWJsZSBXZXRoZXIgdGhpcyBjYXRlZ29yeSBzaG91bGQgYmUgYXV0b21hdGljYWxseSBzY2FubmVkIChvbiB2aWV3KSBmb3IgbmV3IGZpbGVzLgogKiBAcHJvcGVydHkgYm9vbCAgICR1c2VycGVybXMgSWYgZW5hYmxlZCwgZW5hYmxlIHdoaWNoIEZFVSB1c2VyIGdyb3VwcyBjYW4gdmlldyBzcGVjaWZpZWQgZmlsZXMgd2l0aGluIHRoZSBjYXRlZ29yeS4KICogQHByb3BlcnR5IGFycmF5ICAkZGZsdHVzZXJwZXJtcyBJZiAkdXNlcnBlcm1zIGlzIGVuYWJsZWQsIHRoaXMgYXJyYXkgbGlzdHMgdGhlIEZFVSB1c2VyZ3JvdXBzIHRoYXQgY2FuIHZpZXcgbmV3bHkgdXBsb2FkZWQgb3Igc2Nhbm5lZCBmaWxlcy4KICovCmNsYXNzIGNhdGVnb3J5CnsKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCdpZCc9Pm51bGwsJ25hbWUnPT5udWxsLCdkZXNjcmlwdGlvbic9Pm51bGwsJ3BhdGgnPT5udWxsLCdsaXN0YWJsZSc9Pm51bGwsJ2dyb3Vwcyc9Pm51bGwsJ2RlbGV0YWJsZSc9Pm51bGwsJ2V4cGlyZXNfaHJzJz0+bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NjYW5uYWJsZSc9Pm51bGwsJ3VzZXJwZXJtcyc9Pm51bGwsJ2RmbHR1c2VycGVybXMnPT5udWxsKTsKCiAgICAvKioKICAgICAqIEBpZ25vcmUKICAgICAqLwogICAgcHJpdmF0ZSAkX2RpcnR5OwoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19nZXQoJGtleSkKICAgIHsKICAgICAgICBpZiggIWFycmF5X2tleV9leGlzdHMoJGtleSwkdGhpcy0+X2RhdGEpICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCIka2V5IGlzIGFuIGludmFsaWQgbWVtYmVyIG9mICIuX19DTEFTU19fKTsKICAgICAgICByZXR1cm4gJHRoaXMtPl9kYXRhWyRrZXldOwogICAgfQoKICAgIC8qKgogICAgICogQGlnbm9yZQogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gX19zZXQoJGtleSwkdmFsKQogICAgewogICAgICAgIGlmKCAhYXJyYXlfa2V5X2V4aXN0cygka2V5LCR0aGlzLT5fZGF0YSkgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oIiRrZXkgaXMgYW4gaW52YWxpZCBtZW1iZXIgb2YgIi5fX0NMQVNTX18pOwogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdpZCc6CiAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigiJGtleSBjYW5ub3QgYmUgc2V0IGluIHRoaXMgd2F5IGZvciBhICIuX19DTEFTU19fKTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ3BhdGgnOgogICAgICAgICAgICBpZiggJHRoaXMtPl9kYXRhWydpZCddID4gMCApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignQ2Fubm90IGFkanVzdCB0aGUgcGF0aCBvZiBhIGNhdGVnb3J5IHRoYXQgaGFzIGFscmVhZHkgYmVlbiBzYXZlZCcpOwogICAgICAgICAgICAkdmFsID0gdHJpbSgkdmFsKTsKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbDsKICAgICAgICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICduYW1lJzoKICAgICAgICBjYXNlICdkZXNjcmlwdGlvbic6CiAgICAgICAgICAgICR2YWwgPSB0cmltKCR2YWwpOwogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsOwogICAgICAgICAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ2xpc3RhYmxlJzoKICAgICAgICBjYXNlICdkZWxldGFibGUnOgogICAgICAgIGNhc2UgJ3NjYW5uYWJsZSc6CiAgICAgICAgY2FzZSAndXNlcnBlcm1zJzoKICAgICAgICAgICAgJHZhbCA9IChib29sKSAkdmFsOwogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsOwogICAgICAgICAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ2V4cGlyZXNfaHJzJzoKICAgICAgICAgICAgJHZhbCA9IChpbnQpICR2YWw7CiAgICAgICAgICAgICR2YWwgPSBtYXgoMCwkdmFsKTsKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbDsKICAgICAgICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdncm91cHMnOgogICAgICAgIGNhc2UgJ2RmbHR1c2VycGVybXMnOgogICAgICAgICAgICBpZiggIWlzX251bGwoJHZhbCkgJiYgIWlzX2FycmF5KCR2YWwpICkgdGhyb3cgbmV3IFxFeGNlcHRpb24oJ0ludmFsaWQgdmFsdWUgZm9yICcuJGtleS4nIGluICcuX19DTEFTU19fKTsKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbDsKICAgICAgICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oIiRrZXkgaXMgbm90IGEgdmFsaWQgbWVtYmVyIG9mICIuX19DTEFTU19fKTsKICAgICAgICB9CiAgICB9CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX2lzc2V0KCRrZXkpCiAgICB7CiAgICAgICAgaWYoICFhcnJheV9rZXlfZXhpc3RzKCRrZXksJHRoaXMtPl9kYXRhKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigiJGtleSBpcyBhbiBpbnZhbGlkIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgcmV0dXJuIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSk7CiAgICB9CgogICAgLyoqCiAgICAgKiBAaWdub3JlCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiBfX3Vuc2V0KCRrZXkpCiAgICB7CiAgICAgICAgaWYoICFhcnJheV9rZXlfZXhpc3RzKCRrZXksJHRoaXMtPl9kYXRhKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigiJGtleSBpcyBhbiBpbnZhbGlkIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gbnVsbDsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnaWQnOgogICAgICAgIGNhc2UgJ3BhdGgnOgogICAgICAgICAgICB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ0Nhbm5vdCB1bnNldCB0aGUgJy4ka2V5LicgbWVtYmVyIG9mIGEgJy5fX0NMQVNTX18pOwogICAgICAgIH0KICAgICAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gaGFzX2ZpbGVzKCkKICAgIHsKICAgICAgICBpZiggISR0aGlzLT5pZCApIHJldHVybiBmYWxzZTsKICAgICAgICAkc3FsID0gJ1NFTEVDVCBjb3VudCh1cGxvYWRfaWQpIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzIFdIRVJFIHVwbG9hZF9jYXRlZ29yeV9pZCA9ID8nOwogICAgICAgICRkYiA9IFxjZ2VfdXRpbHM6OmdldF9kYigpOwogICAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkc3FsLFsgJHRoaXMtPmlkXSApOwogICAgICAgIGlmKCAkdG1wICkgcmV0dXJuIHRydWU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF9maWxlcygpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+aWQgKSByZXR1cm47CiAgICAgICAgJHNxbCA9ICdTRUxFQ1QgVS4qLENPVU5UKEQuZG93bmxvYWRfaWQpIEFTIGRvd25sb2FkX2NvdW50IEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzIFUKICAgICAgICAgICAgICAgIExFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZG93bmxvYWRzIEQgT04gVS51cGxvYWRfaWQgPSBELmZpbGVfaWQKICAgICAgICAgICAgICAgIFdIRVJFIFUudXBsb2FkX2NhdGVnb3J5X2lkID0gPyBPUkRFUiBCWSB1cGxvYWRfZGF0ZSBERVNDJzsKICAgICAgICAkZGIgPSBcY2dlX3V0aWxzOjpnZXRfZGIoKTsKICAgICAgICAkbGlzdCA9ICRkYi0+R2V0QXJyYXkoJHNxbCwgWyAkdGhpcy0+aWQgXSApOwogICAgICAgIGlmKCAhY291bnQoJGxpc3QpICkgcmV0dXJuOwoKICAgICAgICAkb3V0ID0gW107CiAgICAgICAgZm9yZWFjaCggJGxpc3QgYXMgJHJvdyApIHsKICAgICAgICAgICAgJG9iaiA9IG5ldyB1cGxvYWQoKTsKICAgICAgICAgICAgJG9iai0+cHJpdmF0ZV9maWxsKCRyb3cpOwogICAgICAgICAgICAkb3V0W10gPSAkb2JqOwogICAgICAgIH0KICAgICAgICByZXR1cm4gJG91dDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2VuZXJhdGVfcGF0aCgpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1VQTE9BRFMpOwogICAgICAgIGZvciggJGkgPSAwOyAkaSA8IDEwMDsgJGkrKyApIHsKICAgICAgICAgICAgJHBhdGggPSAnY2F0Xycuc3Vic3RyKG1kNShfX0NMQVNTX18uJGkubWljcm90aW1lKCkuJHRoaXMtPm5hbWUpLDAsNik7CiAgICAgICAgICAgICRwYXRoMiA9ICRtb2QtPl9jYXRlZ29yeVBhdGgoJHBhdGgpOwogICAgICAgICAgICBpZiggIWlzX2RpcigkcGF0aDIpICkgcmV0dXJuICRwYXRoOwogICAgICAgIH0KICAgIH0KCiAgICAvKioKICAgICAqIFZhbGlkYXRlIHRoZSBjb250ZW50cyBvZiB0aGUgb2JqZWN0IGJlZm9yZSBzYXZpbmcuCiAgICAgKiBUaGlzIG1ldGhvZCB3aWxsIHF1ZXJ5IHRoZSBkYXRhYmFzZSB0byBjaGVjayBpZiB0aGUgY2F0ZWdvcnkgbmFtZSBleGlzdHMsIG9yIGlmIGEgY2F0ZWdvcnkgd2l0aCB0aGUgc2FtZSBwYXRoIGV4aXN0cy4KICAgICAqIEFsc28gd2lsbCBjaGVjayB0aGUgdmFsaWRpdHkgb2YgdGhlIHBhdGguCiAgICAgKi8KICAgIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZSgpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1VQTE9BRFMpOwoKICAgICAgICAvLyB2YWxpZGF0ZSB0aGF0IHdlIGhhdmUgYSBuYW1lIChpZiBub3Qgc2V0IGl0IGZyb20gdGhlIHBhdGgpCiAgICAgICAgaWYoICEkdGhpcy0+bmFtZSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignWW91IG11c3Qgc2V0IGEgbmFtZSBmb3IgYSAnLl9fQ0xBU1NfXyk7CiAgICAgICAgLy8gdmFsaWRhdGUgdGhhdCB0aGUgcGF0aCBpcyBzZXQKICAgICAgICBpZiggISR0aGlzLT5wYXRoICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdZb3UgbXVzdCBzZXQgYSBwYXRoIGZvciBhICcuX19DTEFTU19fKTsKCiAgICAgICAgLy8gaWYgdGhlIHBhdGggZXhpc3RzLCB2YWxpZGF0ZSB0aGF0IGl0IGhhcyB0aGUgcHJvcGVyIHBlcm1pc3Npb25zCiAgICAgICAgJGZ1bGxwYXRoID0gJG1vZC0+X2NhdGVnb3J5UGF0aCgkdGhpcy0+cGF0aCk7CiAgICAgICAgaWYoIEBmaWxlX2V4aXN0cygkZnVsbHBhdGgpICkgewogICAgICAgICAgICBpZiggIUBpc19kaXIoJGZ1bGxwYXRoKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignRXhpc3RpbmcgcGF0aCAnLiR0aGlzLT5wYXRoLicgaXMgbm90IGEgZGlyZWN0b3J5Jyk7CiAgICAgICAgICAgIGlmKCAhQGlzX3dyaXRhYmxlKCRmdWxscGF0aCkgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ0V4aXN0aW5nIHBhdGggJy4kdGhpcy0+cGF0aC4nIGlzIG5vdCBhIGRpcmVjdG9yeScpOwogICAgICAgIH0KCiAgICAgICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgICAgICRycDEgPSByZWFscGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSk7CiAgICAgICAgaWYoICFzdGFydHN3aXRoKCRmdWxscGF0aCwkcnAxKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbigiVGhlIGNhdGVnb3J5IHBhdGggIi4kZnVsbHBhdGguJyBkb2VzIG5vdCBhcHBlYXIgdG8gbGllIHdpdGhpbiB0aGUgQ01TTVMgdXBsb2FkcyBwYXRoJyk7CgogICAgICAgIC8vIHZhbGlkYXRlIHRoYXQgdGhlIG5hbWUgb3IgcGF0aCBpcyBub3QgYWxyZWFkeSB1c2VkCiAgICAgICAgJGRiID0gXGNnZV91dGlsczo6Z2V0X2RiKCk7CiAgICAgICAgaWYoICR0aGlzLT5pZCA8IDEgKSB7CiAgICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgdXBsb2FkX2NhdGVnb3J5X2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMgV0hFUkUgdXBsb2FkX2NhdGVnb3J5X3BhdGggPSA/JzsKICAgICAgICAgICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdGhpcy0+cGF0aCkpOwogICAgICAgICAgICBpZiggJHRtcCApIHsKICAgICAgICAgICAgICAgIGRlYnVnX2Rpc3BsYXkoJGRiLT5zcWwpOyBkaWUoKTsKICAgICAgICAgICAgICAgIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignQSBjYXRlZ29yeSB3aXRoIHRoZSBzYW1lIHBhdGggYWxyZWFkeSBleGlzdHMnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCB1cGxvYWRfY2F0ZWdvcnlfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllcyBXSEVSRSB1cGxvYWRfY2F0ZWdvcnlfcGF0aCA9ID8gQU5EIHVwbG9hZF9jYXRlZ29yeV9pZCAhPSA/JzsKICAgICAgICAgICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdGhpcy0+cGF0aCwkdGhpcy0+aWQpKTsKICAgICAgICAgICAgaWYoICR0bXAgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ0EgY2F0ZWdvcnkgd2l0aCB0aGUgc2FtZSBwYXRoIGFscmVhZHkgZXhpc3RzJyk7CiAgICAgICAgfQogICAgfQoKICAgIC8qKgogICAgICogSW5zZXJ0IHRoaXMgb2JqZWN0IGludG8gdGhlIGRhdGFiYXNlLgogICAgICoKICAgICAqIEBpbnRlcm5hbAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2luc2VydCgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2RpcnR5ICkgcmV0dXJuOwogICAgICAgICRkYiA9IFxjZ2VfdXRpbHM6OmdldF9kYigpOwoKICAgICAgICAkYXJyYXlfdG9fc3RyID0gZnVuY3Rpb24oJGluKSB7CiAgICAgICAgICAgICRvdXQgPSBudWxsOwogICAgICAgICAgICBpZiggaXNfYXJyYXkoJGluKSAmJiBjb3VudCgkaW4pICkgewogICAgICAgICAgICAgICAgJG91dCA9IGltcGxvZGUoJywnLCRpbik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICRvdXQ7CiAgICAgICAgfTsKCiAgICAgICAgJHRtcCA9IChpbnQpICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzX3NlcScpOwogICAgICAgICR0aGlzLT5fZGF0YVsnaWQnXSA9ICR0bXA7CgogICAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllcwogICAgICAgICAgICAgICAgICAodXBsb2FkX2NhdGVnb3J5X2lkLAogICAgICAgICAgICAgICAgICAgdXBsb2FkX2NhdGVnb3J5X25hbWUsCiAgICAgICAgICAgICAgICAgICB1cGxvYWRfY2F0ZWdvcnlfZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICAgICB1cGxvYWRfY2F0ZWdvcnlfcGF0aCwKICAgICAgICAgICAgICAgICAgIHVwbG9hZF9jYXRlZ29yeV9saXN0YWJsZSwKICAgICAgICAgICAgICAgICAgIHVwbG9hZF9jYXRlZ29yeV9ncm91cHMsCiAgICAgICAgICAgICAgICAgICB1cGxvYWRfY2F0ZWdvcnlfZGVsZXRhYmxlLAogICAgICAgICAgICAgICAgICAgdXBsb2FkX2NhdGVnb3J5X2V4cGlyZXNfaHJzLAogICAgICAgICAgICAgICAgICAgdXBsb2FkX2NhdGVnb3J5X3NjYW5uYWJsZSwKICAgICAgICAgICAgICAgICAgIHVwbG9hZF9jYXRlZ29yeV91c2VycGVybXMsCiAgICAgICAgICAgICAgICAgICB1cGxvYWRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcykKICAgICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sPyw/LD8pJzsKICAgICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdGhpcy0+aWQsJHRoaXMtPm5hbWUsJHRoaXMtPmRlc2NyaXB0aW9uLCR0aGlzLT5wYXRoLCR0aGlzLT5saXN0YWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXJyYXlfdG9fc3RyKCR0aGlzLT5ncm91cHMpLCAkdGhpcy0+ZGVsZXRhYmxlLCAkdGhpcy0+ZXhwaXJlc19ocnMsICR0aGlzLT5zY2FubmFibGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnVzZXJwZXJtcywgJGFycmF5X3RvX3N0cigkdGhpcy0+ZGZsdHVzZXJwZXJtcykpKTsKICAgICAgICAkdGhpcy0+X2RpcnR5ID0gRkFMU0U7CiAgICB9CgogICAgLyoqCiAgICAgKiBVcGRhdGUgdGhlIGNvbnRlbnRzIG9mIHRoaXMgY2F0ZWdvcnkgb2JqZWN0IGludG8gdGhlIGRhdGFiYXNlLgogICAgICoKICAgICAqIEBpbnRlcm5hbAogICAgICovCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3VwZGF0ZSgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2RpcnR5ICkgcmV0dXJuOwogICAgICAgICRkYiA9IFxjZ2VfdXRpbHM6OmdldF9kYigpOwoKICAgICAgICAkYXJyYXlfdG9fc3RyID0gZnVuY3Rpb24oJGluKSB7CiAgICAgICAgICAgICRvdXQgPSBudWxsOwogICAgICAgICAgICBpZiggaXNfYXJyYXkoJGluKSAmJiBjb3VudCgkaW4pICkgewogICAgICAgICAgICAgICAgJG91dCA9IGltcGxvZGUoJywnLCRpbik7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICRvdXQ7CiAgICAgICAgfTsKCiAgICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllcyBTRVQgdXBsb2FkX2NhdGVnb3J5X25hbWUgPSA/LCB1cGxvYWRfY2F0ZWdvcnlfZGVzY3JpcHRpb24gPSA/LCB1cGxvYWRfY2F0ZWdvcnlfcGF0aCA9ID8sCiAgICAgICAgICAgICAgICAgICAgIHVwbG9hZF9jYXRlZ29yeV9saXN0YWJsZSA9ID8sIHVwbG9hZF9jYXRlZ29yeV9ncm91cHMgPSA/LCB1cGxvYWRfY2F0ZWdvcnlfZGVsZXRhYmxlID0gPywgdXBsb2FkX2NhdGVnb3J5X2V4cGlyZXNfaHJzID0gPywgdXBsb2FkX2NhdGVnb3J5X3NjYW5uYWJsZSA9ID8sCiAgICAgICAgICAgICAgICAgICAgIHVwbG9hZF9jYXRlZ29yeV91c2VycGVybXMgPSA/LCB1cGxvYWRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcyA9ID8gV0hFUkUgdXBsb2FkX2NhdGVnb3J5X2lkID0gPyc7CiAgICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHRoaXMtPm5hbWUsJHRoaXMtPmRlc2NyaXB0aW9uLCR0aGlzLT5wYXRoLCR0aGlzLT5saXN0YWJsZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYXJyYXlfdG9fc3RyKCR0aGlzLT5ncm91cHMpLCAkdGhpcy0+ZGVsZXRhYmxlLCAkdGhpcy0+ZXhwaXJlc19ocnMsICR0aGlzLT5zY2FubmFibGUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPnVzZXJwZXJtcywgJGFycmF5X3RvX3N0cigkdGhpcy0+ZGZsdHVzZXJwZXJtcyksICR0aGlzLT5pZCkpOwogICAgICAgICR0aGlzLT5fZGlydHkgPSBGQUxTRTsKICAgIH0KCiAgICAvKioKICAgICAqIFNhdmUgdGhpcyBvYmplY3QgdG8gdGhlIGRhdGFiYXNlLgogICAgICovCiAgICBwdWJsaWMgZnVuY3Rpb24gc2F2ZSgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2RpcnR5ICkgcmV0dXJuOwogICAgICAgICR0aGlzLT52YWxpZGF0ZSgpOwoKICAgICAgICAvLyBjcmVhdGUgdGhlIGRpcmVjdG9yeSBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LgogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9VUExPQURTKTsKICAgICAgICAkZnVsbHBhdGggPSAkbW9kLT5fY2F0ZWdvcnlQYXRoKCR0aGlzLT5wYXRoKTsKICAgICAgICBpZiggIWZpbGVfZXhpc3RzKCRmdWxscGF0aCkgKSB7CiAgICAgICAgICAgICRyZXMgPSBcY2dlX2Rpcjo6bWtkaXJyKCRmdWxscGF0aCk7CiAgICAgICAgICAgIGlmKCAhJHJlcyApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignUHJvYmxlbSBjcmVhdGluZyBkaXJlY3RvcnkgJy4kZnVsbHBhdGgpOwogICAgICAgICAgICBpZiggJG1vZC0+R2V0UHJlZmVyZW5jZSgnY3JlYXRlX2R1bW15X2luZGV4X2h0bWwnKSApIEB0b3VjaCggY21zX2pvaW5fcGF0aCgkZnVsbHBhdGgsJ2luZGV4Lmh0bWwnKSApOwogICAgICAgIH0KCiAgICAgICAgLy8gbm93IHdlJ3JlIHJlYWR5IHRvIHNhdmUgaXQKICAgICAgICBpZiggJHRoaXMtPmlkIDwgMSApIHsKICAgICAgICAgICAgJHRoaXMtPl9pbnNlcnQoKTsKICAgICAgICB9CiAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5fdXBkYXRlKCk7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBkZWxldGUoKQogICAgewogICAgICAgIGlmKCAhJHRoaXMtPmlkICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdDYW5ub3QgZGVsZXRlIGNhdGVnb3J5IHRoYXQgaGFzIG5vdCBiZWVuIHNhdmVkJyk7CiAgICAgICAgJGRiID0gXGNnZV91dGlsczo6Z2V0X2RiKCk7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1VQTE9BRFMpOwogICAgICAgICRmdWxscGF0aCA9ICRtb2QtPl9jYXRlZ29yeVBhdGgoICR0aGlzLT5wYXRoICk7CgogICAgICAgIC8vIEB0b2RvOiBsb2FkIHRoZSBmaWxlICdvYmplY3RzJyBhbmQgY2FsbCB0aGUgZGVsZXRlIG1ldGhvZCB0aGVyZQogICAgICAgIC8vIGdldCB0aGUgZmlsZXMgZnJvbSB0aGUgY2F0ZWdvcnkKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIHVwbG9hZF9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcyBXSEVSRSB1cGxvYWRfY2F0ZWdvcnlfaWQgPSA/JzsKICAgICAgICAkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCBbICR0aGlzLT5pZCBdICk7CiAgICAgICAgaWYoICR0bXAgKSByZXR1cm4gJG1vZC0+TGFuZygnZXJyb3JfY2F0ZWdvcnlub3RlbXB0eScpOwogICAgICAgIFxjZ2VfZGlyOjpyZWN1cnNpdmVfcm1kaXIoJGZ1bGxwYXRoKTsKICAgICAgICBpZiggZmlsZV9leGlzdHMoJGZ1bGxwYXRoKSApCXJldHVybiAkbW9kLT5MYW5nKCdlcnJvcl9kZWxldGUnLCRmdWxscGF0aCk7CgogICAgICAgIC8vIGRlbGV0ZSB0aGUgY2F0ZWdvcnkgZnJvbSB0aGUgZGIKICAgICAgICAkZGIgPSAkbW9kLT5HZXREYigpOwogICAgICAgICRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllcyBXSEVSRSB1cGxvYWRfY2F0ZWdvcnlfaWQgPSA/IjsKICAgICAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICR0aGlzLT5pZCApICk7CgogICAgICAgICR0aGlzLT5fZGF0YVsnaWQnXSA9IG51bGw7CiAgICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGxvYWRfaW50bygkaWQpCiAgICB7CiAgICAgICAgJGlkID0gKGludCkgJGlkOwogICAgICAgIGlmKCAkaWQgPCAxICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdJbnZhbGlkIGlkIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwoKICAgICAgICAvLyByYXRoZXIgdGhhbiByZWFkIGZyb20gdGhlIGRhdGFiYXNlLCB3ZSB1c2UgdGhlIHVwbG9hZHNfdXRpbHMgbWV0aG9kcyB0aGF0IGhhdmUgY2FjaGluZy4KICAgICAgICAkZGJyID0gXHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yeSgkaWQpOwogICAgICAgIGlmKCAhaXNfYXJyYXkoJGRicikgfHwgY291bnQoJGRicikgPT0gMCApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignQ291bGQgbm90IGZpbmQgYW4gdXBsb2FkIGNhdGVnb3J5IHdpdGggaWQgJy4kaWQpOwoKICAgICAgICBmb3JlYWNoKCAkZGJyIGFzICRrZXkgPT4gJHZhbCApIHsKICAgICAgICAgICAgJG5ld2tleSA9IHN1YnN0cigka2V5LHN0cmxlbigndXBsb2FkX2NhdGVnb3J5XycpKTsKICAgICAgICAgICAgc3dpdGNoKCAkbmV3a2V5ICkgewogICAgICAgICAgICBjYXNlICdncm9wdXBzJzoKICAgICAgICAgICAgY2FzZSAnZGZsdHVzZXJwZXJtcyc6CiAgICAgICAgICAgICAgICAkdmFsID0gZXhwbG9kZSgnLCcsJHZhbCk7CiAgICAgICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsOwoKICAgICAgICAgICAgY2FzZSAnaWQnOgogICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRuZXdrZXldID0gKGludCkgJHZhbDsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAncGF0aCc6CiAgICAgICAgICAgICAgICAkdGhpcy0+X2RhdGFbJG5ld2tleV0gPSAkdmFsOwogICAgICAgICAgICAgICAgYnJlYWs7CgogICAgICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgICAgJHRoaXMtPiRuZXdrZXkgPSAkdmFsOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHRoaXMtPl9kaXJ0eSA9IEZBTFNFOwogICAgICAgIHJldHVybiAkdGhpczsKICAgIH0KCiAgICAvKioKICAgICAqIExvYWQgYSBjYXRlZ29yeSBvYmplY3QgZnJvbSB0aGUgZGF0YWJhc2UuCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9ieV9pZCgkaWQpCiAgICB7CiAgICAgICAgJG9iaiA9IG5ldyBzZWxmKCk7CiAgICAgICAgcmV0dXJuICRvYmotPmxvYWRfaW50bygkaWQpOwogICAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.clean_tmp_files_task.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpuYW1lc3BhY2UgVXBsb2FkczsKCmNsYXNzIGNsZWFuX3RtcF9maWxlc190YXNrIGltcGxlbWVudHMgXENtc1JlZ3VsYXJUYXNrCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpIHsgcmV0dXJuIGdldF9jbGFzcygkdGhpcyk7IH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rlc2NyaXB0aW9uKCkKICAgIHsKICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfVVBMT0FEUyk7CiAgICAgICAgcmV0dXJuICRtb2QtPkxhbmcoJ2NsZWFudXB0YXNrX2Rlc2MnKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdGVzdCgkdGltZSA9ICcnKQogICAgewogICAgICAgIGlmKCAhJHRpbWUgKSAkdGltZSA9IHRpbWUoKTsKICAgICAgICAkbW9kID0gXGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfVVBMT0FEUyk7CiAgICAgICAgJGxhc3RydW4gPSAoaW50KSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdjbGVhbnVwdGFzazFfbGFzdHJ1bicpOwogICAgICAgICR0aW1lID0gKGludCkgJHRpbWU7CgogICAgICAgIC8vIGV2ZXJ5IDQgSE9VUlM7CiAgICAgICAgaWYoICR0aW1lID4gJGxhc3RydW4gKyA0ICogMzYwMCApIHJldHVybiBUUlVFOwogICAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZXhlY3V0ZSgkdGltZSA9ICcnKQogICAgewogICAgICAgIGlmKCAhJHRpbWUgKSAkdGltZSA9IHRpbWUoKTsKCiAgICAgICAgJHRtcGRpciA9IFx1cGxvYWRzX3V0aWxzOjpnZXRfdG1wZGlyKCk7CiAgICAgICAgJGZpbGVzID0gZ2xvYigkdG1wZGlyLicvKicpOwogICAgICAgICRjb3VudCA9IDA7CiAgICAgICAgaWYoIGNvdW50KCRmaWxlcykgKSB7CiAgICAgICAgICAgIGZvcmVhY2goICRmaWxlcyBhcyAkb25lICkgewogICAgICAgICAgICAgICAgaWYoICFpc19maWxlKCRvbmUpICkgY29udGludWU7CiAgICAgICAgICAgICAgICBpZiggZmlsZW10aW1lKCRvbmUpID4gJHRpbWUgLSA0ICogMzYwMCApIGNvbnRpbnVlOwogICAgICAgICAgICAgICAgdW5saW5rKCRvbmUpOwogICAgICAgICAgICAgICAgJGNvdW50Kys7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgIGlmKCAkY291bnQgKSBhdWRpdCgnJywnVXBsb2FkcycsIlJlbW92ZWQgJGNvdW50IHN0YWxlIHRlbXBvcmFyeSBmaWxlcyIpOwogICAgICAgIHJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBvbl9zdWNjZXNzKCR0aW1lID0gJycpCiAgICB7CiAgICAgICAgaWYoICEkdGltZSApICR0aW1lID0gdGltZSgpOwogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9VUExPQURTKTsKICAgICAgICAkbW9kLT5TZXRQcmVmZXJlbmNlKCdjbGVhbnVwdGFzazFfbGFzdHJ1bicsJHRpbWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBvbl9mYWlsdXJlKCR0aW1lID0gJycpCiAgICB7CiAgICAgICAgaWYoICEkdGltZSApICR0aW1lID0gdGltZSgpOwogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.file_filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBVcGxvYWRzOwoKY2xhc3MgZmlsZV9maWx0ZXIgZXh0ZW5kcyBcQ0dFeHRlbnNpb25zXHF1ZXJ5XHF1ZXJ5CnsKICAgIHByaXZhdGUgJF9kYXRhID0gYXJyYXkoJ2xpbWl0Jz0+MTAwLCdvZmZzZXQnPT4wLCdjYXRlZ29yeV9pZCc9Pm51bGwsJ3NpemVfbWluJz0+bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NpemVfbWF4Jz0+bnVsbCwnZGF0ZV9taW4nPT5udWxsLCdkYXRlX21heCc9Pm51bGwsJ2F1dGhvcic9Pm51bGwsJ3N1bW1hcnlfbGlrZSc9Pm51bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICduYW1lX2xpa2UnPT5udWxsLCdrZXknPT5udWxsKTsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHBhcmFtcyA9IGFycmF5KCkpCiAgICB7CiAgICAgICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICAgICAgICAgICR0aGlzWyRrZXldID0gJHZhbDsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIE9mZnNldEdldCgka2V5KQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdjYXRlZ29yeV9pZCc6CiAgICAgICAgY2FzZSAnc2l6ZV9taW4nOgogICAgICAgIGNhc2UgJ3NpemVfbWF4JzoKICAgICAgICBjYXNlICdkYXRlX21pbic6CiAgICAgICAgY2FzZSAnZGF0ZV9tYXgnOgogICAgICAgIGNhc2UgJ2xpbWl0JzoKICAgICAgICBjYXNlICdvZmZzZXQnOgogICAgICAgICAgICByZXR1cm4gKGludCkgJHRoaXMtPl9kYXRhWyRrZXldOwoKICAgICAgICBjYXNlICdhdXRob3InOgogICAgICAgIGNhc2UgJ3N1bW1hcnlfbGlrZSc6CiAgICAgICAgY2FzZSAnbmFtZV9saWtlJzoKICAgICAgICBjYXNlICdrZXknOgogICAgICAgICAgICByZXR1cm4gdHJpbSgkdGhpcy0+X2RhdGFbJGtleV0pOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0U2V0KCRrZXksJHZhbHVlKQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdjYXRlZ29yeV9pZCc6CiAgICAgICAgY2FzZSAnc2l6ZV9taW4nOgogICAgICAgIGNhc2UgJ3NpemVfbWF4JzoKICAgICAgICBjYXNlICdkYXRlX21pbic6CiAgICAgICAgY2FzZSAnZGF0ZV9tYXgnOgogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAoaW50KSAkdmFsdWU7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdsaW1pdCc6CiAgICAgICAgICAgICR2YWx1ZSA9IG1heCgxLChpbnQpJHZhbHVlKTsKICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbHVlOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgY2FzZSAnb2Zmc2V0JzoKICAgICAgICAgICAgJHZhbHVlID0gbWF4KDAsKGludCkkdmFsdWUpOwogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsdWU7CiAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICBjYXNlICdhdXRob3InOgogICAgICAgIGNhc2UgJ3N1bW1hcnlfbGlrZSc6CiAgICAgICAgY2FzZSAnbmFtZV9saWtlJzoKICAgICAgICBjYXNlICdrZXknOgogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWx1ZSk7CiAgICAgICAgICAgIGJyZWFrOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gT2Zmc2V0RXhpc3RzKCRrZXkpCiAgICB7CiAgICAgICAgcmV0dXJuIChpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pKSA/IFRSVUUgOiBGQUxTRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gJmV4ZWN1dGUoKQogICAgewogICAgICAgICRvYmogPSBuZXcgZmlsZV9yZXN1bHRzZXQoJHRoaXMpOwogICAgICAgIHJldHVybiAkb2JqOwogICAgfQp9]]></data>
	</file>
	<file>
	  <filename>/lib/class.file_resultset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBVcGxvYWRzOwoKY2xhc3MgZmlsZV9yZXN1bHRzZXQgZXh0ZW5kcyBcQ0dFeHRlbnNpb25zXHF1ZXJ5XHJlc3VsdHNldAp7CiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3F1ZXJ5KCkKICAgIHsKICAgICAgICBpZiggJHRoaXMtPl9ycyApIHJldHVybjsKCiAgICAgICAgJHNxbCA9ICdTRUxFQ1QgU1FMX0NBTENfRk9VTkRfUk9XUyB1cGxvYWRfaWQsIHVwbG9hZF9jYXRlZ29yeV9pZCwgdXBsb2FkX25hbWUsIHVwbG9hZF9hdXRob3IsIHVwbG9hZF9zdW1tYXJ5LAogICAgICAgICAgICAgICAgdXBsb2FkX2Rlc2NyaXB0aW9uLCB1cGxvYWRfaXAsIHVwbG9hZF9zaXplLCB1cGxvYWRfZGF0ZSwgdXBsb2FkX2tleSwgdXBsb2FkX3RodW1ibmFpbCwgdXBsb2FkX3VzZXJwZXJtcwogICAgICAgICAgICAgICAgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHMgVSc7CiAgICAgICAgJHdoZXJlID0gJHBhcm1zID0gYXJyYXkoKTsKCiAgICAgICAgaWYoICgkdmFsID0gJHRoaXMtPl9maWx0ZXJbJ2NhdGVnb3J5X2lkJ10pICkgewogICAgICAgICAgICAkd2hlcmVbXSA9ICd1cGxvYWRfY2F0ZWdvcnlfaWQgPSA/JzsKICAgICAgICAgICAgJHBhcm1zW10gPSAkdmFsOwogICAgICAgIH0KCiAgICAgICAgaWYoICgkdmFsID0gJHRoaXMtPl9maWx0ZXJbJ3NpemVfbWluJ10pICkgewogICAgICAgICAgICAkd2hlcmVbXSA9ICd1cGxvYWRfc2l6ZSA+PSA/JzsKICAgICAgICAgICAgJHBhcm1zW10gPSAkdmFsOwogICAgICAgIH0KCiAgICAgICAgaWYoICgkdmFsID0gJHRoaXMtPl9maWx0ZXJbJ3NpemVfbWF4J10pICkgewogICAgICAgICAgICAkd2hlcmVbXSA9ICd1cGxvYWRfc2l6ZSA8PSA/JzsKICAgICAgICAgICAgJHBhcm1zW10gPSAkdmFsOwogICAgICAgIH0KCiAgICAgICAgaWYoICgkdmFsID0gJHRoaXMtPl9maWx0ZXJbJ2RhdGVfbWluJ10pICkgewogICAgICAgICAgICAkd2hlcmVbXSA9ICdVTklYX1RJTUVTVEFNUCh1cGxvYWRfZGF0ZSkgPj0gPyc7CiAgICAgICAgICAgICRwYXJtc1tdID0gJHZhbDsKICAgICAgICB9CgogICAgICAgIGlmKCAoJHZhbCA9ICR0aGlzLT5fZmlsdGVyWydkYXRlX21heCddKSApIHsKICAgICAgICAgICAgJHdoZXJlW10gPSAnVU5JWF9USU1FU1RBTVAodXBsb2FkX2RhdGUpIDw9ID8nOwogICAgICAgICAgICAkcGFybXNbXSA9ICR2YWw7CiAgICAgICAgfQoKICAgICAgICBpZiggKCR2YWwgPSAkdGhpcy0+X2ZpbHRlclsnYXV0aG9yJ10pICkgewogICAgICAgICAgICAkd2hlcmVbXSA9ICdhdXRob3IgPSA/JzsKICAgICAgICAgICAgJHBhcm1zW10gPSAkdmFsOwogICAgICAgIH0KCiAgICAgICAgaWYoICgkdmFsID0gJHRoaXMtPl9maWx0ZXJbJ3N1bW1hcnlfbGlrZSddKSApIHsKICAgICAgICAgICAgJHdoZXJlW10gPSAnc3VtbWFyeSBMSUtFID8nOwogICAgICAgICAgICAkcGFybXNbXSA9ICR0aGlzLT53aWxkY2FyZCgkdmFsKTsKICAgICAgICB9CgogICAgICAgIGlmKCAoJHZhbCA9ICR0aGlzLT5fZmlsdGVyWyduYW1lX2xpa2UnXSkgKSB7CiAgICAgICAgICAgICR3aGVyZVtdID0gJ25hbWUgTElLRSA/JzsKICAgICAgICAgICAgJHBhcm1zW10gPSAkdGhpcy0+d2lsZGNhcmQoJHZhbCk7CiAgICAgICAgfQoKICAgICAgICBpZiggKCR2YWwgPSAkdGhpcy0+X2ZpbHRlclsna2V5J10pICkgewogICAgICAgICAgICAkd2hlcmVbXSA9ICdrZXkgPSA/JzsKICAgICAgICAgICAgJHBhcm1zW10gPSAkdmFsOwogICAgICAgIH0KCiAgICAgICAgaWYoIGNvdW50KCR3aGVyZSkgKSB7CiAgICAgICAgICAgICRzcWwgLj0gJyBXSEVSRSAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUpOwogICAgICAgIH0KCiAgICAgICAgJGRiID0gXGNnZV91dGlsczo6Z2V0X2RiKCk7CiAgICAgICAgJHRoaXMtPl9ycyA9ICRkYi0+U2VsZWN0TGltaXQoJHNxbCwkdGhpcy0+X2ZpbHRlclsnbGltaXQnXSwkdGhpcy0+X2ZpbHRlclsnb2Zmc2V0J10sJHBhcm1zKTsKICAgICAgICAkdGhpcy0+X3RvdGFsbWF0Y2hpbmcgPSAoaW50KSAkZGItPkdldE9uZSgnU0VMRUNUIEZPVU5EX1JPV1MoKScpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiAmZ2V0X29iamVjdCgpCiAgICB7CiAgICAgICAgJHJldCA9IG51bGw7CiAgICAgICAgaWYoICEkdGhpcy0+X3JzICkgcmV0dXJuICRyZXQ7CgogICAgICAgICR1cGxvYWQgPSBuZXcgdXBsb2FkOwogICAgICAgICR1cGxvYWQtPnByaXZhdGVfZmlsbCgkdGhpcy0+ZmllbGRzKTsKICAgICAgICByZXR1cm4gJHVwbG9hZDsKICAgIH0KfQ==]]></data>
	</file>
	<file>
	  <filename>/lib/class.upload.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBVcGxvYWRzOwoKY2xhc3MgdXBsb2FkCnsKICAgIHByaXZhdGUgJF9kYXRhID0gYXJyYXkoJ2lkJz0+bnVsbCwnY2F0ZWdvcnknPT5udWxsLCduYW1lJz0+bnVsbCwnYXV0aG9yJz0+bnVsbCwnc3VtbWFyeSc9Pm51bGwsJ2Rlc2NyaXB0aW9uJz0+bnVsbCwKICAgICAgICAgICAgICAgICAgICAgICAgICdpcCc9Pm51bGwsJ3NpemUnPT5udWxsLCdkYXRlJz0+bnVsbCwna2V5Jz0+bnVsbCwndGh1bWJuYWlsJz0+bnVsbCwndXNlcnBlcm1zJz0+bnVsbCk7CiAgICBwcml2YXRlICRfZGlydHkgPSBGQUxTRTsKICAgIHByaXZhdGUgJF92aWV3YWJsZSA9IC0xOwogICAgcHJpdmF0ZSAkX2Rvd25sb2FkX2NvdW50OwogICAgcHJpdmF0ZSAkX2ZpZWxkczsKICAgIHByaXZhdGUgc3RhdGljICRfcm9rZXlzID0gYXJyYXkoJ2lkJywnc2l6ZScsJ2Rvd25sb2FkX2NvdW50Jywndmlld2FibGUnLCdmaWVsZHMnLCdtaW1ldHlwZScpOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2dldCgka2V5KQogICAgewogICAgICAgICRtb2QgPSBcY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9VUExPQURTKTsKCiAgICAgICAgaWYoIGluX2FycmF5KCRrZXksYXJyYXlfa2V5cygkdGhpcy0+X2RhdGEpKSApIHJldHVybiAkdGhpcy0+X2RhdGFbJGtleV07CiAgICAgICAgaWYoIGluX2FycmF5KCRrZXksc2VsZjo6JF9yb2tleXMpICkgewogICAgICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkX2NvdW50JzoKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X2Rvd25sb2FkX2NvdW50OwoKICAgICAgICAgICAgY2FzZSAnbWltZXR5cGUnOgogICAgICAgICAgICAgICAgcmV0dXJuIFxjZ2VfdXRpbHM6OmdldF9taW1lX3R5cGUoJHRoaXMtPmdldF9maWxlc3BlYygpKTsKCiAgICAgICAgICAgIGNhc2UgJ3ZpZXdhYmxlJzoKICAgICAgICAgICAgICAgIGlmKCAkdGhpcy0+X3ZpZXdhYmxlIDwgMCApICR0aGlzLT5fdmlld2FibGUgPSAkbW9kLT5fQ2hlY2tGaWxlRG93bmxvYWRTZWN1cml0eSgkdGhpcy0+dXNlcnBlcm1zKTsKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+X3ZpZXdhYmxlOwoKICAgICAgICAgICAgY2FzZSAnZmllbGRzJzoKICAgICAgICAgICAgICAgIHJldHVybiAkdGhpcy0+Z2V0X2ZpZWxkcygpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB0aHJvdyBuZXcgXEludmFsaWRBcmd1bWVudEV4Y2VwdGlvbigiJGtleSBpcyBhbiBpbnZhbGlkIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9faXNzZXQoJGtleSkKICAgIHsKICAgICAgICBpZiggaW5fYXJyYXkoJGtleSxzZWxmOjokX3Jva2V5cykgKSByZXR1cm4gVFJVRTsKICAgICAgICBpZiggaW5fYXJyYXkoJGtleSxhcnJheV9rZXlzKCR0aGlzLT5fZGF0YSkpICkgcmV0dXJuICFlbXB0eSgkdGhpcy0+X2RhdGFbJGtleV0pOwogICAgICAgIHRocm93IG5ldyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCIka2V5IGNhbm5vdCBiZSB0ZXN0ZWQgdGhpcyB3YXkgaW4gYSAiLl9fQ0xBU1NfXyk7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fdW5zZXQoJGtleSkKICAgIHsKICAgICAgICAvLyBkbyBub3RoaW5nCiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fc2V0KCRrZXksJHZhbCkKICAgIHsKICAgICAgICBpZiggIWluX2FycmF5KCRrZXksYXJyYXlfa2V5cygkdGhpcy0+X2RhdGEpKSApIHRocm93IG5ldyBcSW52YWxpZEFyZ3VtZW50RXhjZXB0aW9uKCIka2V5IGlzIG5vdCBhIHNldHRhYmxlIG1lbWJlciBvZiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgaWYoIGluX2FycmF5KCRrZXksc2VsZjo6JF9yb2tleXMpICkgdGhyb3cgbmV3IFxJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24oIiRrZXkgaXMgbm90IGEgc2V0dGFibGUgbWVtYmVyIG9mICIuX19DTEFTU19fKTsKICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgY2FzZSAnY2F0ZWdvcnknOgogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAoaW50KSAkdmFsOwogICAgICAgICAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ25hbWUnOgogICAgICAgIGNhc2UgJ2F1dGhvcic6CiAgICAgICAgY2FzZSAnc3VtbWFyeSc6CiAgICAgICAgY2FzZSAnZGVzY3JpcHRpb24nOgogICAgICAgIGNhc2UgJ2lwJzoKICAgICAgICBjYXNlICdkYXRlJzoKICAgICAgICBjYXNlICd0aHVtYm5haWwnOgogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWwpOwogICAgICAgICAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICAgICAgICAgICAgYnJlYWs7CgogICAgICAgIGNhc2UgJ3VzZXJwZXJtcyc6CiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoJHZhbHVlKSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oIkludmFsaWQgdmFsdWUgc3BlY2lmaWVkIGZvciAkdXNlcnBlcm1zIGluIGEgIi5fX0NMQVNTX18pOwogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWwpOwogICAgICAgICAgICBicmVhazsKCiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZmllbGRzKCkKICAgIHsKICAgICAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fZmllbGRzKSApIHsKICAgICAgICAgICAgJHRoaXMtPl9maWVsZHMgPSBhcnJheSgpOwogICAgICAgICAgICAvLyR0aGlzLT5fZmxkbWFwID0gYXJyYXkoKTsKICAgICAgICAgICAgJHNxbCA9ICdTRUxFQ1QgQS5pZCxBLm5hbWUsQS50eXBlLEIudXBsb2FkX2lkLEIudmFsdWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGRkZWZzIEEKICAgICAgICAgICAgICAgICAgICBMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2ZpZWxkdmFscyBCIE9OIEEuaWQgPSBCLmZsZF9pZAogICAgICAgICAgICAgICAgICAgIFdIRVJFIEIudXBsb2FkX2lkID0gPyBBTkQgQS5wdWJsaWMgPSAxCiAgICAgICAgICAgICAgICAgICAgT1JERVIgQlkgQS5pb3JkZXIgQVNDJzsKICAgICAgICAgICAgJGRiID0gXENtc0FwcDo6Z2V0X2luc3RhbmNlKCktPkdldERiKCk7CiAgICAgICAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRzcWwsYXJyYXkoJHRoaXMtPmlkKSk7CiAgICAgICAgICAgIGlmKCAkdG1wICkgIHsKICAgICAgICAgICAgICAgIGZvcmVhY2goICR0bXAgYXMgJHJvdyApIHsKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X2ZpZWxkc1skcm93WyduYW1lJ11dID0gYXJyYXkoJ25hbWUnPT4kcm93WyduYW1lJ10sJ3ZhbHVlJz0+JHJvd1sndmFsdWUnXSk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZmllbGRzOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBwcml2YXRlX2ZpbGwoJGRhdGEpCiAgICB7CiAgICAgICAgZm9yZWFjaCggJGRhdGEgYXMgJGtleSA9PiAkdmFsICkgewogICAgICAgICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgICAgICAgIGNhc2UgJ3VwbG9hZF9pZCc6CiAgICAgICAgICAgICAgICAkdmFsID0gKGludCkgJHZhbDsKICAgICAgICAgICAgICAgIGlmKCAkdmFsIDwgMSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oIkludmFsaWQgdmFsdWUgJHZhbCBzcGVjaWZpZWQgZm9yICRrZXkgaW4gIi5fX0NMQVNTX18pOwogICAgICAgICAgICAgICAgJGtleSA9IHN1YnN0cigka2V5LDcpOwogICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbDsKICAgICAgICAgICAgICAgIGJyZWFrOwoKICAgICAgICAgICAgY2FzZSAndXBsb2FkX2NhdGVnb3J5X2lkJzoKICAgICAgICAgICAgICAgICR2YWwgPSAoaW50KSAkdmFsOwogICAgICAgICAgICAgICAgaWYoICR2YWwgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbigiSW52YWxpZCB2YWx1ZSAkdmFsIHNwZWNpZmllZCBmb3IgJGtleSBpbiAiLl9fQ0xBU1NfXyk7CiAgICAgICAgICAgICAgICAka2V5ID0gJ2NhdGVnb3J5JzsKICAgICAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWw7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ3VwbG9hZF9uYW1lJzoKICAgICAgICAgICAgY2FzZSAndXBsb2FkX2F1dGhvcic6CiAgICAgICAgICAgIGNhc2UgJ3VwbG9hZF9zdW1tYXJ5JzoKICAgICAgICAgICAgY2FzZSAndXBsb2FkX2Rlc2NyaXB0aW9uJzoKICAgICAgICAgICAgY2FzZSAndXBsb2FkX2lwJzoKICAgICAgICAgICAgY2FzZSAndXBsb2FkX3NpemUnOgogICAgICAgICAgICBjYXNlICd1cGxvYWRfZGF0ZSc6CiAgICAgICAgICAgIGNhc2UgJ3VwbG9hZF9rZXknOgogICAgICAgICAgICBjYXNlICd1cGxvYWRfdGh1bWJuYWlsJzoKICAgICAgICAgICAgICAgICRrZXkgPSBzdWJzdHIoJGtleSw3KTsKICAgICAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IHRyaW0oJHZhbCk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ3VwbG9hZF91c2VycGVybXMnOgogICAgICAgICAgICAgICAgJGtleSA9IHN1YnN0cigka2V5LDcpOwogICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gZXhwbG9kZSgnLCcsJHZhbCk7CiAgICAgICAgICAgICAgICBicmVhazsKCiAgICAgICAgICAgIGNhc2UgJ2Rvd25sb2FkX2NvdW50JzoKICAgICAgICAgICAgICAgICR0aGlzLT5fZG93bmxvYWRfY291bnQgPSBtYXgoMCwoaW50KSR2YWwpOwogICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgJHRoaXMtPl9kaXJ0eSA9IEZBTFNFOwogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gJmxvYWQoJHVwbG9hZF9pZCkKICAgIHsKICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIFUuKixDT1VOVChELmRvd25sb2FkX2lkKSBBUyBkb3dubG9hZF9jb3VudCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcyBVCiAgICAgICAgICAgICAgICAgIExFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZG93bmxvYWRzIEQgT04gVS51cGxvYWRfaWQgPSBELmZpbGVfaWQKICAgICAgICAgICAgICAgICAgV0hFUkUgVS51cGxvYWRfaWQgPSA/JzsKICAgICAgICAkZGIgPSBcY21zX3V0aWxzOjpnZXRfZGIoKTsKICAgICAgICAkZGF0YSA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkdXBsb2FkX2lkKSk7CiAgICAgICAgaWYoICEkZGF0YSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oIkNvdWxkIG5vdCBmaW5kIHVwbG9hZCByZWNvcmQgd2l0aCBpZCBvZiAiLiRpZCk7CgogICAgICAgICRvYmogPSBuZXcgc2VsZigpOwogICAgICAgICRvYmotPnByaXZhdGVfZmlsbCgkZGF0YSk7CiAgICAgICAgcmV0dXJuICRvYmo7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGNsZWFyX2ZpZWxkcygpCiAgICB7CiAgICAgICAgJHRoaXMtPl9maWVsZHMgPSBhcnJheSgpOwogICAgICAgICR0aGlzLT5fZGlydHkgPSBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZmllbGQoJG5hbWUsJHZhbCkKICAgIHsKICAgICAgICAkbmFtZSA9IHRyaW0oJG5hbWUpOwogICAgICAgIGlmKCAhJG5hbWUgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCdObyBuYW1lIHNwZWNpZmllZCBmb3IgJy5fX01FVEhPRF9fKTsKICAgICAgICAkaWQgPSBcdXBsb2Fkc191dGlsczo6Z2V0X2ZpZWxkZGVmX2lkKCRuYW1lKTsKICAgICAgICAkdGhpcy0+X2ZpZWxkc1skaWRdID0gJHZhbDsKICAgICAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gY2xlYXJfZmllbGQoJG5hbWUpCiAgICB7CiAgICAgICAgJG5hbWUgPSB0cmltKCRuYW1lKTsKICAgICAgICBpZiggISRuYW1lICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignTm8gbmFtZSBzcGVjaWZpZWQgZm9yICcuX19NRVRIT0RfXyk7CiAgICAgICAgJGlkID0gXHVwbG9hZHNfdXRpbHM6OmdldF9maWVsZGRlZl9pZCgkbmFtZSk7CiAgICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZmllbGRzWyRpZF0pICkgdW5zZXQoJHRoaXMtPl9maWVsZHNbJGlkXSk7CiAgICAgICAgJHRoaXMtPl9kaXJ0eSA9IFRSVUU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF90aHVtYl9maWxlc3BlYygpCiAgICB7CiAgICAgICAgaWYoICFpc19pbnQoJHRoaXMtPmNhdGVnb3J5KSB8fCAkdGhpcy0+Y2F0ZWdvcnkgPCAxICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdFYWNuIHVwbG9hZCBtdXN0IGhhdmUgYSBjYXRlZ29yeScpOwogICAgICAgIGlmKCAhJHRoaXMtPm5hbWUgKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ0VhY2ggdXBsb2FkIG11c3QgaGF2ZSBhIGZpbGVuYW1lJyk7CgogICAgICAgICRjb25maWcgPSBcY21zX2NvbmZpZzo6Z2V0X2luc3RhbmNlKCk7CiAgICAgICAgcmV0dXJuIGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sXHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yeV9wYXRoKCR0aGlzLT5jYXRlZ29yeSksJ3RodW1iXycuJHRoaXMtPm5hbWUpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZmlsZXNwZWMoKQogICAgewogICAgICAgIGlmKCAhaXNfaW50KCR0aGlzLT5jYXRlZ29yeSkgfHwgJHRoaXMtPmNhdGVnb3J5IDwgMSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignRWFjbiB1cGxvYWQgbXVzdCBoYXZlIGEgY2F0ZWdvcnknKTsKICAgICAgICBpZiggISR0aGlzLT5uYW1lICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdFYWNoIHVwbG9hZCBtdXN0IGhhdmUgYSBmaWxlbmFtZScpOwoKICAgICAgICAvLyBub3RlLCBkb2VzIG5vdCByZXF1aXJlIGFuIHVwbG9hZCBpZC4KICAgICAgICAkY29uZmlnID0gXGNtc19jb25maWc6OmdldF9pbnN0YW5jZSgpOwogICAgICAgIHJldHVybiBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLFx1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnlfcGF0aCgkdGhpcy0+Y2F0ZWdvcnkpLCR0aGlzLT5uYW1lKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gdmFsaWRhdGUoKQogICAgewogICAgICAgIGlmKCAhaXNfaW50KCR0aGlzLT5jYXRlZ29yeSkgfHwgJHRoaXMtPmNhdGVnb3J5IDwgMSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignRWFjbiB1cGxvYWQgbXVzdCBoYXZlIGEgY2F0ZWdvcnknKTsKICAgICAgICBpZiggISR0aGlzLT5uYW1lICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdFYWNoIHVwbG9hZCBtdXN0IGhhdmUgYSBmaWxlbmFtZScpOwoKICAgICAgICAvLyBtYWtlIHN1cmUgaXQgYWN0dWFsbHkgZXhpc3RzLgogICAgICAgIGlmKCAhaXNfZmlsZSgkdGhpcy0+Z2V0X2ZpbGVzcGVjKCkpICkgdGhyb3cgbmV3IFxSdW50aW1lRXhjZXB0aW9uKCdUaGUgZmlsZSBwb2ludGVkIHRvIGJ5IHRoaXMgb2JqZWN0IGRvZXMgbm90IGV4aXN0IGluIHRoaXMgY2F0ZWdvcnknKTsKICAgIH0KCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2luc2VydCgpCiAgICB7CiAgICAgICAgaWYoICR0aGlzLT5pZCA+IDAgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKF9fTUVUSE9EX18uJyBjYW5ub3QgYmUgY2FsbGVkIG9uIGEgc2F2ZWQgb2JqZWN0Jyk7CiAgICAgICAgJGRiID0gXENtc0FwcDo6Z2V0X2luc3RhbmNlKCktPkdldERiKCk7CiAgICAgICAgJGZzID0gJHRoaXMtPmdldF9maWxlc3BlYygpOwogICAgICAgIGlmKCAhJHRoaXMtPmRhdGUgKSB7CiAgICAgICAgICAgICRtdGltZSA9IGZpbGVtdGltZSgkZnMpOwogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJ2RhdGUnXSA9IHRyaW0oJGRiLT5EYlRpbWVTdGFtcCgkbXRpbWUpLCInIik7CiAgICAgICAgfQogICAgICAgIGlmKCAhJHRoaXMtPnNpemUgKSAkdGhpcy0+X2RhdGFbJ3NpemUnXSA9IGZpbGVzaXplKCRmcyk7CgogICAgICAgICRuZXdfaWQgPSAoaW50KSAkZGItPkdlbklEKCBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX3NlcScgKTsKICAgICAgICAkdGhpcy0+X2RhdGFbJ2lkJ10gPSAkbmV3X2lkOwogICAgICAgICRzcWwgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzICh1cGxvYWRfaWQsdXBsb2FkX2NhdGVnb3J5X2lkLHVwbG9hZF9uYW1lLHVwbG9hZF9hdXRob3IsdXBsb2FkX3N1bW1hcnksdXBsb2FkX2Rlc2NyaXB0aW9uLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1cGxvYWRfaXAsdXBsb2FkX3NpemUsdXBsb2FkX2RhdGUsdXBsb2FkX2tleSx1cGxvYWRfdGh1bWJuYWlsLHVwbG9hZF91c2VycGVybXMpCiAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyw/LD8sPyw/KSc7CiAgICAgICAgJHVzZXJwZXJtcyA9IG51bGw7CiAgICAgICAgaWYoIGlzX2FycmF5KCR0aGlzLT51c2VycGVybXMpICkgJHVzZXJwZXJtcyA9IGltcGxvZGUoJywnLCR1c2VycGVybXMpOwogICAgICAgICRkYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCR0aGlzLT5pZCwkdGhpcy0+Y2F0ZWdvcnksJHRoaXMtPm5hbWUsJHRoaXMtPmF1dGhvciwkdGhpcy0+c3VtbWFyeSwkdGhpcy0+ZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmlwLCR0aGlzLT5zaXplLCR0aGlzLT5kYXRlLCR0aGlzLT5rZXksJHRoaXMtPnRodW1ibmFpbCwkdXNlcnBlcm1zKSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF91cGRhdGUoKQogICAgewogICAgICAgIGlmKCAkdGhpcy0+aWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbihfX01FVEhPRF9fLicgY2Fubm90IGJlIGNhbGxlZCBvbiBhbiB1bnNhdmVkIG9iamVjdCcpOwogICAgICAgICRkYiA9IFxDbWFBcHA6OmdldF9pbnN0YW5jZSgpLT5HZXREYigpOwogICAgICAgICRzcWwgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcyBTRVQgdXBsb2FkX2NhdGVnb3J5X2lkID0gPywgdXBsb2FkX25hbWUgPSA/LCB1cGxvYWRfYXV0aG9yID0gPywgdXBsb2FkX3N1bW1hcnkgPSA/LCB1cGxvYWRfZGVzY3JpcHRpb24gPSA/LAogICAgICAgICAgICAgICAgICAgICAgICAgdXBsb2FkX2lwID0gPywgdXBsb2FkX3NpemUgPSA/LCB1cGxvYWRfZGF0ZSA9ID8sIHVwbG9hZF9rZXkgPSA/LCB1cGxvYWRfdGh1bWJuYWlsID0gPywgdXBsb2FkX3VzZXJwZXJtcyA9ID8KICAgICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIHVwbG9hZF9pZCA9ID8nOwogICAgICAgICR1c2VycGVybXMgPSBudWxsOwogICAgICAgIGlmKCBpc19hcnJheSgkdGhpcy0+dXNlcnBlcm1zKSApICR1c2VycGVybXMgPSBpbXBsb2RlKCcsJywkdXNlcnBlcm1zKTsKICAgICAgICAkZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkdGhpcy0+Y2F0ZWdvcnksJHRoaXMtPm5hbWUsJHRoaXMtPmF1dGhvciwkdGhpcy0+c3VtbWFyeSwkdGhpcy0+ZGVzY3JpcHRpb24sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPmlwLCR0aGlzLT5zaXplLCR0aGlzLT5kYXRlLCR0aGlzLT5rZXksJHRoaXMtPnRodW1ibmFpbCwkdXNlcnBlcm1zLCR0aGlzLT5pZCkpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfZGVsZXRlX2ZpZWxkcygpCiAgICB7CiAgICAgICAgaWYoICR0aGlzLT5pZCA8IDEgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKF9fTUVUSE9EX18uJyBjYW5ub3QgYmUgY2FsbGVkIG9uIGFuIHVuc2F2ZWQgb2JqZWN0Jyk7CiAgICAgICAgJGRiID0gXENtc0FwcDo6Z2V0X2luc3RhbmNlKCktPkdldERiKCk7CgogICAgICAgICRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2ZsZHZhbHMgV0hFUkUgdXBsb2FkX2lkID0gPyc7CiAgICAgICAgJGRiLT5FeGVjdXRlKCRzcWwsYXJyYXkoJHRoaXMtPmlkKSk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9zYXZlX2ZpZWxkcygpCiAgICB7CiAgICAgICAgaWYoICR0aGlzLT5pZCA8IDEgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKF9fTUVUSE9EX18uJyBjYW5ub3QgYmUgY2FsbGVkIG9uIGFuIHVuc2F2ZWQgb2JqZWN0Jyk7CiAgICAgICAgJHRoaXMtPl9kZWxldGVfZmllbGRzKCk7CgogICAgICAgIGlmKCAhY291bnQoJHRoaXMtPl9maWVsZHMpICkgcmV0dXJuOwogICAgICAgICRkYiA9IFxDbXNBcHA6OmdldF9pbnN0YW5jZSgpLT5HZXREYigpOwogICAgICAgICRzcWwgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2ZpZWxkdmFscy4gKHVwbG9hZF9pZCxmbGRfaWQsdmFsdWUpIFZBTFVFUyAoPyw/LD8pJzsKICAgICAgICBmb3JlYWNoKCAkdGhpcy0+X2ZpZWxkcyBhcyAkZmxkaWQgPT4gJHZhbHVlICkgewogICAgICAgICAgICAkZGItPkV4ZWN1dGUoJHNxbCxhcnJheSgkdGhpcy0+aWQsJGZsZGlkLCR2YWx1ZSkpOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gc2F2ZSgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2RpcnR5ICkgcmV0dXJuOwogICAgICAgICR0aGlzLT52YWxpZGF0ZSgpOwogICAgICAgIGlmKCAkdGhpcy0+aWQgPCAxICkgewogICAgICAgICAgICAkdGhpcy0+X2luc2VydCgpOwogICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICR0aGlzLT5fdXBkYXRlKCk7CiAgICAgICAgfQogICAgICAgICR0aGlzLT5fc2F2ZV9maWVsZHMoKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZGVsZXRlKCkKICAgIHsKICAgICAgICBpZiggISR0aGlzLT5pZCApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0Nhbm5vdCBkZWxldGUgYW4gdXBsb2FkIHRoYXQgaGFzIG5vdCB5ZXQgYmVlbiBzYXZlZCcpOwoKICAgICAgICAvLyBkZWxldGUgdGhlIGZpbGUocykgaW5jbHVkaW5nIHRoZSB0aHVtYm5haWwgaWYgYW55IGV4aXN0LgogICAgICAgICR0aHVtYiA9ICR0aGlzLT5nZXRfdGh1bWJfZmlsZXNwZWMoKTsKICAgICAgICBpZiggaXNfZmlsZSgkdGh1bWIpICkgQHVubGluaygkdGh1bWIpOwogICAgICAgICRmaWxlID0gJHRoaXMtPmdldF9maWxlc3BlYygpOwogICAgICAgIGlmKCBpc19maWxlKCRmaWxlKSApIEB1bmxpbmsoJGZpbGUpOwoKICAgICAgICAvLyBhbmQgYW55IHRpbWUgbGltaXRlZCB1cmxzCiAgICAgICAgJGRiID0gXGNnZV91dGlsczo6Z2V0X2RiKCk7CiAgICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc190aW1lbGltaXQgV0hFUkUgdXBsb2FkX2lkID0gPyc7CiAgICAgICAgJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAkdGhpcy0+aWQgKSApOwoKICAgICAgICAvLyBhbmQgdGhlIGZpZWxkIHZhbHVlcwogICAgICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGR2YWxzIFdIRVJFIHVwbG9hZF9pZCA9ID8nOwogICAgICAgICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJHRoaXMtPmlkICkgKTsKCiAgICAgICAgLy8gYW5kIHRoZSBkb3dubG9hZHMKICAgICAgICAkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2Rvd25sb2FkcyBXSEVSRSBmaWxlX2lkID0gPyI7CiAgICAgICAgJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAkdGhpcy0+aWQgKSApOwoKICAgICAgICAvLyBkZWxldGUgdGhlIG9iamVjdAogICAgICAgICRzcWwgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzIFdIRVJFIHVwbG9hZF9pZCA9ID8nOwogICAgICAgICRkYi0+RXhlY3V0ZSgkc3FsLGFycmF5KCR0aGlzLT5pZCkpOwoKICAgICAgICAvLyByZXNldCB0aGUgb2JqZWN0LgogICAgICAgIGZvcmVhY2goICR0aGlzLT5fZGF0YSBhcyAka2V5ID0+ICR2YWwgKSB7CiAgICAgICAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IG51bGw7CiAgICAgICAgfQogICAgfQp9Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.UploadsCleanupExpiredTasks.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBVcGxvYWRzQ2xlYW51cEV4cGlyZWRUYXNrcyBpbXBsZW1lbnRzIENtc1JlZ3VsYXJUYXNrCnsKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfbmFtZSgpIHsgcmV0dXJuIGdldF9jbGFzcygkdGhpcyk7IH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rlc2NyaXB0aW9uKCkKICAgIHsKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9VUExPQURTKTsKICAgICAgICByZXR1cm4gJG1vZC0+TGFuZygnY2xlYW51cHRhc2tfZGVzYycpOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiB0ZXN0KCR0aW1lID0gJycpCiAgICB7CiAgICAgICAgaWYoICEkdGltZSApICR0aW1lID0gdGltZSgpOwogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1VQTE9BRFMpOwogICAgICAgICRsYXN0cnVuID0gKGludCkgJG1vZC0+R2V0UHJlZmVyZW5jZSgnY2xlYW51cHRhc2tfbGFzdHJ1bicpOwoJJHRpbWUgPSAoaW50KSAkdGltZTsKCiAgICAgICAgLy8gZXZlcnkgaGFsZiBob3VyPyBub3RlLCB0aGlzIG9ubHkgZ2V0cyBjYWxsZWQgZnJvbSBwc2V1ZG9jcm9uLCBzbyBpcyBzdWJqZWN0IHRvCiAgICAgICAgLy8gcHNldWRvY3JvbiBncmFudWxhcml0eS4KICAgICAgICBpZiggJHRpbWUgPiAkbGFzdHJ1biArIDE4MDAgKSByZXR1cm4gVFJVRTsKICAgICAgICByZXR1cm4gRkFMU0U7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGV4ZWN1dGUoJHRpbWUgPSAnJykKICAgIHsKICAgICAgICBpZiggISR0aW1lICkgJHRpbWUgPSB0aW1lKCk7CgogICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgJHF1ZXJ5ICA9ICdTRUxFQ1QgdXBsb2FkX2NhdGVnb3J5X2lkLHVwbG9hZF9jYXRlZ29yeV9leHBpcmVzX2hycyBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzIFdIRVJFIHVwbG9hZF9jYXRlZ29yeV9leHBpcmVzX2hycyA+IDAnOwogICAgICAgICRjYXRzID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgICAgIGlmKCAhJGNhdHMgKSByZXR1cm4gVFJVRTsgLy8gTk9USElORyBUTyBETwoKICAgICAgICAvLyBnZXQgdGhlIHVwbG9hZHMgdGhhdCBuZWVkIHRvIGJlIGRlbGV0ZWQuCiAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBVLnVwbG9hZF9pZCxVLnVwbG9hZF9uYW1lLEMudXBsb2FkX2NhdGVnb3J5X3BhdGgKICAgICAgICAgICAgICAgICAgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHMgVQogICAgICAgICAgICAgICAgICBMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMgQwogICAgICAgICAgICAgICAgICBPTiBVLnVwbG9hZF9jYXRlZ29yeV9pZCA9IEMudXBsb2FkX2NhdGVnb3J5X2lkCiAgICAgICAgICAgICAgICAgIFdIRVJFICc7CiAgICAgICAgJGFyZ3MgPSBhcnJheSgpOwogICAgICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAgICAgJG5vdyA9IHRpbWUoKTsKICAgICAgICBmb3JlYWNoKCAkY2F0cyBhcyAkb25lICkgewogICAgICAgICAgICAkdGhlZGF0ZSA9ICRub3cgLSAkb25lWyd1cGxvYWRfY2F0ZWdvcnlfZXhwaXJlc19ocnMnXSAqIDM2MDA7CiAgICAgICAgICAgICR0aGVkYXRlID0gJGRiLT5EYlRpbWVTdGFtcCgkdGhlZGF0ZSk7CiAgICAgICAgICAgICRhcmdzW10gPSAiKCBVLnVwbG9hZF9jYXRlZ29yeV9pZCA9ID8gQU5EIFUudXBsb2FkX2RhdGUgPCAkdGhlZGF0ZSApIjsKICAgICAgICAgICAgJHBhcm1zW10gPSAkb25lWyd1cGxvYWRfY2F0ZWdvcnlfaWQnXTsKICAgICAgICB9CiAgICAgICAgJHF1ZXJ5IC49IGltcGxvZGUoJyBPUiAnLCRhcmdzKTsKCiAgICAgICAgJGZpbGVzID0gJGRiLT5HZXRBcnJheSgkcXVlcnksJHBhcm1zKTsKICAgICAgICBpZiggISRmaWxlcyApIHJldHVybiBUUlVFOyAvLyBOT1RISU5HIFRPIERPLgoKICAgICAgICAvLyB3ZSBoYXZlIHNvbWV0aGluZyB0byBkZWxldGUuCiAgICAgICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1VwbG9hZHMnKTsKICAgICAgICBmb3JlYWNoKCAkZmlsZXMgYXMgJG9uZWZpbGUgKSB7CiAgICAgICAgICAgICRyZXMgPSAkbW9kLT5fQWRtaW5Eb0RlbGV0ZVVwbG9hZCgkb25lZmlsZVsndXBsb2FkX2lkJ10sdHJ1ZSk7CiAgICAgICAgICAgIGlmKCAhJHJlcyApIHsKICAgICAgICAgICAgICAgIC8vIHdvb3QsIHdlIGRlbGV0ZWQgdGhlIGZpbGUKICAgICAgICAgICAgICAgIGF1ZGl0KCRvbmVmaWxlWyd1cGxvYWRfaWQnXSwkbW9kLT5HZXROYW1lKCksICdBdXRvIGRlbGV0ZWQgZmlsZTogJy4kb25lZmlsZVsndXBsb2FkX25hbWUnXSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBmaWxlIG5vdCBkZWxldGVkLCBkb24ndCBkZWxldGUgdGhlIHJlY29yZCwganVzdCBhdWRpdCBhYm91dCBpdC4KICAgICAgICAgICAgICAgIGF1ZGl0KCRvbmVmaWxlWyd1cGxvYWRfaWQnXSwkbW9kLT5HZXROYW1lKCksICdQcm9ibGVtIGRlbGV0aW5nIGZpbGU6ICcuJG9uZWZpbGVbJ3VwbG9hZF9uYW1lJ10pOwogICAgICAgICAgICB9CiAgICAgICAgfQoKCQkJCXJldHVybiBUUlVFOwogICAgfQoKICAgIHB1YmxpYyBmdW5jdGlvbiBvbl9zdWNjZXNzKCR0aW1lID0gJycpCiAgICB7CiAgICAgICAgaWYoICEkdGltZSApICR0aW1lID0gdGltZSgpOwogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1VQTE9BRFMpOwogICAgICAgICRtb2QtPlNldFByZWZlcmVuY2UoJ2NsZWFudXB0YXNrX2xhc3RydW4nLCR0aW1lKTsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gb25fZmFpbHVyZSgkdGltZSA9ICcnKQogICAgewogICAgICAgIGlmKCAhJHRpbWUgKSAkdGltZSA9IHRpbWUoKTsKICAgIH0KfQo=]]></data>
	</file>
	<file>
	  <filename>/lib/class.uploads_IndexerBase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgbWFuYWdlbWVudCBvZiBmcm9udGVuZAojICB1c2VycywgYW5kIHRoZWlyIGxvZ2luIHByb2Nlc3Mgd2l0aGluIGEgQ01TIE1hZGUgU2ltcGxlIHBvd2VyZWQKIyAgd2Vic2l0ZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0cyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmFic3RyYWN0IGNsYXNzIHVwbG9hZHNfSW5kZXhlckJhc2UKewogICAgcHJvdGVjdGVkICRfZmlsZW5hbWU7CiAgICBwcm90ZWN0ZWQgJF9vcHRzOwogICAgcHJvdGVjdGVkICRfbWluV29yZExlbmd0aCA9IDM7CiAgICBwcm90ZWN0ZWQgJF9tYXhXb3JkTGVuZ3RoID0gMjU7CiAgICBwcm90ZWN0ZWQgJF9tYXhXb3JkQ291bnQgPSAxMDAwMDsKICAgIHByb3RlY3RlZCAkX21heFRpbWUgPSAxNTsKICAgIHByb3RlY3RlZCAkX3VuaXF1ZVdvcmRzT25seSA9IDA7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KHN0cmluZyAkc3JjLGFycmF5ICRvcHRzID0gbnVsbCkKICAgIHsKICAgICAgICBpZiggISRzcmMgKSB0aHJvdyBuZXcgQ21zSW52YWxpZERhdGFFeGNlcHRpb24oIk5vIGZpbGVuYW1lIHNwZWNpZmllZCIpOwogICAgICAgIGlmKCAhaXNfcmVhZGFibGUoICRzcmMgKSApIHRocm93IG5ldyBDbXNJbnZhbGlkRGF0YUV4Y2VwdGlvbigiJHNyYyBkb2VzIG5vdCBleGlzdCBvciBpcyBub3QgcmVhZGFibGUiKTsKICAgICAgICAkdGhpcy0+X2ZpbGVuYW1lID0gJHNyYzsKICAgICAgICAkdGhpcy0+X29wdHMgPSAkb3B0czsKCiAgICAgICAgaWYoIGlzX2FycmF5KCRvcHRzKSAmJiBjb3VudCgkb3B0cykgKSB7CiAgICAgICAgICAgIGZvcmVhY2goICRvcHRzIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICAgICAgICAgICAgc3dpdGNoKCAka2V5ICkgewogICAgICAgICAgICAgICAgY2FzZSAnbWluX3dvcmRsZW5ndGgnOgogICAgICAgICAgICAgICAgICAgICR0aGlzLT5fbWluV29yZExlbmd0aCA9IG1heCgzLG1pbig1MCwoaW50KSR2YWx1ZSkpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAnbWF4X3dvcmRsZW5ndGgnOgogICAgICAgICAgICAgICAgICAgICR0aGlzLT5fbWF4V29yZExlbmd0aCA9IG1pbig1MCxtYXgoMywoaW50KSR2YWx1ZSkpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgY2FzZSAnbWF4X3dvcmRjb3VudCc6CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPl9tYXhXb3JkTGVuZ3RoID0gbWluKDEwMDAwMDAsbWF4KDEsKGludCkkdmFsdWUpKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ21heF90aW1lJzoKICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X21heFRpbWUgPSBtYXgoMSxtaW4oOTAsKGludCkkdmFsdWUpKTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIGNhc2UgJ3VuaXF1ZV93b3Jkcyc6CiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPl91bmlxdWVXb3Jkc09ubHkgPSAoaW50KSR2YWx1ZTsKICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgfQoKICAgICAgICAgICAgaWYoICR0aGlzLT5fbWluV29yZExlbmd0aCA+ICR0aGlzLT5fbWF4V29yZExlbmd0aCApIHsKICAgICAgICAgICAgICAgICRhID0gJHRoaXMtPl9taW5Xb3JkTGVuZ3RoOwogICAgICAgICAgICAgICAgJHRoaXMtPl9taW5Xb3JkTGVuZ3RoID0gJHRoaXMtPl9tYXhXb3JkTGVuZ3RoOwogICAgICAgICAgICAgICAgJHRoaXMtPl9tYXhXb3JkTGVuZ3RoID0gJGE7CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICB9CgogICAgYWJzdHJhY3QgcHJvdGVjdGVkIGZ1bmN0aW9uIGNsZWFuX3dvcmQoJHdvcmQpOwogICAgYWJzdHJhY3QgcHJvdGVjdGVkIGZ1bmN0aW9uIGZpbHRlcl93b3JkKCR3b3JkKTsKICAgIGFic3RyYWN0IHB1YmxpYyBmdW5jdGlvbiBnZXRfd29yZHMoKTsKfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.uploads_PdfIndexer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgbWFuYWdlbWVudCBvZiBmcm9udGVuZAojICB1c2VycywgYW5kIHRoZWlyIGxvZ2luIHByb2Nlc3Mgd2l0aGluIGEgQ01TIE1hZGUgU2ltcGxlIHBvd2VyZWQKIyAgd2Vic2l0ZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0cyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIHVwbG9hZHNfUGRmSW5kZXhlciBleHRlbmRzIHVwbG9hZHNfVGV4dEluZGV4ZXIKewogICAgcHJpdmF0ZSAkX21heFBhZ2VzID0gMTAwOwoKICAgIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChzdHJpbmcgJHNyYyxhcnJheSAkb3B0cyA9IG51bGwpCiAgICB7CiAgICAgICAgaWYoICFmdW5jdGlvbl9leGlzdHMoJ3NoZWxsX2V4ZWMnKSApIHRocm93IG5ldyBcUnVudGltZUV4Y2VwdGlvbignTm8gc2hlbGxfZXhlYyBzdXBwb3J0Jyk7CiAgICAgICAgJHBhdGggPSBzaGVsbF9leGVjKCd3aGljaCBncycpOwogICAgICAgIGlmKCAhJHBhdGggKSB0aHJvdyBuZXcgXFJ1bnRpbWVFeGNlcHRpb24oJ2dzIHByb2dyYW0gbm90IGZvdW5kJyk7CiAgICAgICAgJHRoaXMtPl9tYXhQYWdlcyA9IGNnZV9wYXJhbTo6Z2V0X2ludCgkb3B0cywnbWF4UGFnZXMnLCR0aGlzLT5fbWF4UGFnZXMpOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJHNyYywgJG9wdHMpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBjbGVhbl93b3JkKCR3b3JkKQogICAgewogICAgICAgIHJldHVybiB0cmltKCR3b3JkLCJfXCJcIVxAXCNcJFwlXF5cJlwqXCdcYFw9XChcKVx7XH1cW1xdXHRcblxyXDBceDBCIik7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF93b3JkcygpCiAgICB7CiAgICAgICAgJG9sZF90aW1lX2xpbWl0ID0gKGludClpbmlfZ2V0KCdtYXhfZXhlY3V0aW9uX3RpbWUnKTsKICAgICAgICBAc2V0X3RpbWVfbGltaXQoOTk5OSk7IC8vIHRoaXMgaXMgdWdseSwgdWdseSB1Z2x5CgogICAgICAgICR0bXBmaWxlID0gdGVtcG5hbShUTVBfQ0FDSEVfTE9DQVRJT04sJ19fJyk7CiAgICAgICAgJGZuID0gZXNjYXBlc2hlbGxhcmcoJHRoaXMtPmZpbGVuYW1lKTsKICAgICAgICAkY21kID0gImdzIC1zREVWSUNFPXR4dHdyaXRlIC1kQkFUQ0ggLWRMYXN0UGFnZT17JHRoaXMtPl9tYXhQYWdlc30gLXNPdXRwdXRGaWxlPXskdG1wZmlsZX0geyRmbn0iOwogICAgICAgIHNoZWxsX2V4ZWMoJGNtZCk7CiAgICAgICAgaWYoICFpc19maWxlKCR0bXBmaWxlKSApIHJldHVybjsKCiAgICAgICAgJHRoaXMtPl9maWxlbmFtZSA9ICR0bXBmaWxlOwogICAgICAgICRvdXQgPSBwYXJlbnQ6OmdldF93b3JkcygpOwogICAgICAgIHVubGluaygkdG1wZmlsZSk7CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.uploads_report_base.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEgYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgbWFuYWdlbWVudCBvZiB1cGxvYWRlZCBmaWxlcwojICBoYXMgbnVtZXJvdXMgY2FwYWJpbGl0aWVzIGluY2x1ZGluZyB5b3VzZW5kaXQsIHRpbWUgbGltaXRlZCB1cmxzLAojICBmcm9udGVuZCB1cGxvYWRzLi4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4KIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyB1cGxvYWRzX3JlcG9ydF9yZWNvcmQKewogIHByaXZhdGUgJF9kYXRhOwoKICBwdWJsaWMgZnVuY3Rpb24gaXNfbmV3X2dyb3VwKCkKICB7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2hlYWRlcnMoKQogIHsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGF0YSgpCiAgewogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGlzX2VuZF9ncm91cCgpCiAgewogIH0KfQoKYWJzdHJhY3QgY2xhc3MgdXBsb2Fkc19yZXBvcnRfYmFzZQp7CiAgcHJpdmF0ZSAkX2RiOwogIHByaXZhdGUgJF9saW1pdCA9IDEwMDAwMDsKICBwcml2YXRlICRfb2Zmc2V0ID0gMDsKICBwcml2YXRlICRfdGVtcGxhdGU7CiAgcHJpdmF0ZSAkX2dyb3VwYnk7CiAgcHJpdmF0ZSAkX2N1cl9pbmRleDsKICBwcml2YXRlICRfbnVtX3JlY29yZHM7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChBRE9Db25uZWN0aW9uICYkZGIpCiAgewogICAgJHRoaXMtPl9kYiA9ICRkYjsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfZGIoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X2RiOwogIH0KCiAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGdldF90aXRsZSgpOwoKICBhYnN0cmFjdCBwdWJsaWMgZnVuY3Rpb24gZ2V0X2Rlc2NyaXB0aW9uKCk7CgogIGFic3RyYWN0IHByb3RlY3RlZCBmdW5jdGlvbiBnZXRfbnVtX3JlY29yZHMoKTsKICBhYnN0cmFjdCBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2RhdGEoJGxpbWl0LCRvZmZzZXQpOwoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gcG9zdHByb2Nlc3MoJGRhdGEpCiAgewoKICAgIHJldHVybiAkZGF0YTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzZXRfbGltaXQoJGxpbWl0KQogIHsKICAgICR0aGlzLT5fbGltaXQgPSAoaW50KSRsaW1pdDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfbGltaXQoKQogIHsKICAgIHJldHVybiAkdGhpcy0+X2xpbWl0OwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHNldF90ZW1wbGF0ZSgkdHBsX25hbWUpCiAgewogICAgcmV0dXJuICR0aGlzLT5fdGVtcGxhdGUgPSB0cmltKCR0cGxfbmFtZSk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2VuZXJhdGUoKQogIHsKICAgICAgJHRoaXMtPl9kYXRhID0gJHRoaXMtPnBvc3Rwcm9jZXNzKCR0aGlzLT5fZ2V0X2RhdGEoKSk7CiAgICAgICR1aWQgPSBnZXRfdXNlcmlkKEZBTFNFKTsKCiAgICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdwYWdlYnJlYWsnLCc8ZGl2IHN0eWxlPSJwYWdlLWJyZWFrLWFmdGVSOiBhbHdheXM7Ij48L2Rpdj4nKTsKCiAgICAgIGlmKCBlbmRzd2l0aCgkdGhpcy0+X3RlbXBsYXRlLCcudHBsJykgKSB7CiAgICAgICAgICAvLyBmaWxlIHRlbXBsYXRlCiAgICAgIH0KICAgICAgZWxzZSB7CiAgICAgICAgICAvLyBkYXRhYmFzZSB0ZW1wbGF0ZQogICAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X2N1cnBhZ2UoKQogIHsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBoYXZlX3JlY29yZHMoKQogIHsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBpc19zdGFydCgpCiAgewogICAgLy8gaGF2ZSB3ZSBnb3R0ZW4gYW55IHJlY29yZHMgeWV0CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gaXNfZW5kKCkKICB7CiAgICAvLyBoYXZlIHdlIG91dHB1dCBhbGwgdGhlIHJlY29yZHMuCiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.uploads_smarty.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIHVwbG9hZHNfc21hcnR5CnsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpIHt9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpbml0KCkKICAgIHsKICAgICAgICAkc21hcnR5ID0gY21zbXMoKS0+R2V0U21hcnR5KCk7CiAgICAgICAgJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3VwbG9hZHNfY3JlYXRlX3RsX2ZpbGUnLGFycmF5KCd1cGxvYWRzX3NtYXJ0eScsJ2NyZWF0ZV90bF9maWxlJykpOwogICAgfQoKICAgIC8qKgogICAgICogQSBwbHVnaW4gdG8gY29weSBhIGZpbGUgaW50byB0aGUgdXBsb2FkcyBtb2R1bGUKICAgICAqIGFuZCBnZW5lcmF0ZSBhIHRpbWVsaW1pdGVkIFVSTCB0byBpdAogICAgICoKICAgICAqIEByZXR1cm5zIHVybCBvciBlcnJvciBtZXNzYWdlCiAgICAgKiBAcGFyYW0gc3JjID0gKHN0cmluZyxyZXF1aXJlZCkgYWJzb2x1dGUgc2VydmVyIGZpbGUgc3BlY2lmaWNhdGlvbgogICAgICogQHBhcmFtIGNhdGVnb3J5ID0gKHJlcXVpcmVkKSB1cGxvYWRzIGNhdGVnb3J5IG5hbWUgb3IgaW50ZWdlciBpZAogICAgICogQHBhcmFtIHByZWZpeCA9IChib29sZWFuLG9wdGlvbmFsKSB3ZXRoZXIgZmlsZW5hbWVzIHNob3VsZCBiZSBwcmVmaXhlZCAtIGRlZmF1bHQgZmFsc2UKICAgICAqIEBwYXJhbSBlbWFpbCAgPSAoc3RyaW5nLG9wdGlvbmFsKSBUaWUgdGhlIGRvd25sb2FkIHVybCB0byB0aGUgZW1haWwgYWRkcmVzcyBzcGVjaWZpZWQuCiAgICAgKiBAcGFyYW0gaG91cnMgID0gKGludCxvcHRpb25hbCkgIG51bWJlciBvZiBob3VycyB0aGUgbGluayB3aWxsIGJlIHZhbGlkIGZvcgogICAgICogQHBhcmFtIGRvd25sb2FkcyA9IChpbnQsb3B0aW9uYWwpIG1heCBudW1iZXIgb2YgZG93bmxvYWRzIGFsbG93ZWQgZm9yIHRoaXMgdXJsCiAgICAgKi8KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY3JlYXRlX3RsX2ZpbGUoJHBhcmFtcywmJHNtYXJ0eSkKICAgIHsKICAgICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdVcGxvYWRzJyk7CiAgICAgICAgLy8gc2V0IGRlZmF1bHQgdmFsdWVzIGZvciB2YXJpYWJsZXMKICAgICAgICAkc3JjID0gJyc7CiAgICAgICAgJGVtYWlsID0gJyc7CiAgICAgICAgJGNhdGVnb3J5ID0gJyc7CiAgICAgICAgJHByZWZpeCA9IFRSVUU7CiAgICAgICAgJGhvdXJzID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgndGltZWxpbWl0ZWRfaG91cnMnLDApOwogICAgICAgICRkb3dubG9hZHMgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCd0aW1lbGltaXRlZF9kb3dubG9hZHMnLDApOwoKICAgICAgICAvLyBnZXQgcGFyYW1zCiAgICAgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3NyYyddKSApICRzcmMgPSB0cmltKCRwYXJhbXNbJ3NyYyddKTsKICAgICAgICBpZiggaXNzZXQoJHBhcmFtc1snZW1haWwnXSkgKSAkZW1haWwgPSB0cmltKCRwYXJhbXNbJ2VtYWlsJ10pOwogICAgICAgIGlmKCBpc3NldCgkcGFyYW1zWydjYXRlZ29yeSddKSApICRjYXRlZ29yeSA9IHRyaW0oJHBhcmFtc1snY2F0ZWdvcnknXSk7CiAgICAgICAgaWYoIGlzc2V0KCRwYXJhbXNbJ3ByZWZpeCddKSApICRwcmVmaXggPSAoaW50KSRwYXJhbXNbJ3ByZWZpeCddOwogICAgICAgIGlmKCBpc3NldCgkcGFyYW1zWydob3VycyddKSApICRob3VycyA9IChpbnQpJHBhcmFtc1snaG91cnMnXTsKICAgICAgICBpZiggaXNzZXQoJHBhcmFtc1snZG93bmxvYWRzJ10pICkgJGRvd25sb2FkcyA9IChpbnQpJHBhcmFtc1snZG93bmxvYWRzJ107CgogICAgICAgIC8vIGluaXRpYWwgY2hlY2tzCiAgICAgICAgaWYoICEkc3JjICkgewogICAgICAgICAgICBlY2hvICdFUlJPUiBpbiBjcmVhdGVfdGxfZmlsZTogIHNyYyBwYXJhbWV0ZXIgbm90IHNwZWNpZmllZCc7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgaWYoICEkY2F0ZWdvcnkgKSB7CiAgICAgICAgICAgIGVjaG8gJ0VSUk9SIGluIGNyZWF0ZV90bF9maWxlOiAgbm8gY2F0ZWdvcnkgc3BlY2lmaWVkJzsKICAgICAgICAgICAgcmV0dXJuOwogICAgICAgIH0KICAgICAgICAkdXBsb2FkcyA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnVXBsb2FkcycpOwogICAgICAgIGlmKCAhaXNfb2JqZWN0KCR1cGxvYWRzKSApIHsKICAgICAgICAgICAgZWNobyAnRVJST1IgaW4gY3JlYXRlX3RsX2ZpbGU6ICBVcGxvYWRzIG1vZHVsZSBub3QgZm91bmQnOwogICAgICAgICAgICByZXR1cm47CiAgICAgICAgfQogICAgICAgIGlmKCAhZmlsZV9leGlzdHMoJHNyYykgKSB7CiAgICAgICAgICAgIGVjaG8gJ0VSUk9SIGluIGNyZWF0ZV90bF9maWxlOiAgZmlsZSBzcGVjaWZpZWQgaW4gc3JjIHBhcmFtIG5vdCBmb3VuZCc7CiAgICAgICAgICAgIHJldHVybjsKICAgICAgICB9CiAgICAgICAgaWYoICRob3VycyA8IDEgfHwgJGRvd25sb2FkcyA8IDEgKSBlY2hvICdFUlJPUiBpbiBjcmVhdGVfdGxfZmlsZTogIEludmFsaWQgaG91cnMgb3IgZG93bmxvYWQgbGltaXQnOwoKICAgICAgICB0cnkgewogICAgICAgICAgICAvLyBtb3ZlIHRoZSBmaWxlIGludG8gdGhlIHVwbG9hZHMgbW9kdWxlCiAgICAgICAgICAgICRhc3Npc3RhbnQgPSBuZXcgdXBsb2Fkc191cGxvYWRhc3Npc3RhbnQoJHNyYywkY2F0ZWdvcnkpOwogICAgICAgICAgICAkYXNzaXN0YW50LT51c2VfcHJlZml4KCRwcmVmaXgpOwogICAgICAgICAgICAkdXBsb2FkX2lkID0gJGFzc2lzdGFudC0+aGFuZGxlX2ZpbGUoKTsKCiAgICAgICAgICAgIC8vIG5lZWQgYSB0aW1lIGxpbWl0ZWQgVVJMCiAgICAgICAgICAgICR1cmxrZXkgPSB1cGxvYWRzX3V0aWxzOjpjcmVhdGVfdGltZWxpbWl0ZWRfZW50cnkoJHVwbG9hZF9pZCwkZW1haWwsJGhvdXJzLCRkb3dubG9hZHMpOwogICAgICAgICAgICAkdXJsID0gdXBsb2Fkc191dGlsczo6Z2V0X3RpbWVsaW1pdGVkX3VybCgkdXJsa2V5LEZBTFNFKTsKCiAgICAgICAgICAgIC8vIGFuZCB3ZSdyZSBkb25lLgogICAgICAgICAgICBpZiggaXNzZXQoJHBhcmFtc1snYXNzaWduJ10pICYmICR1cmwgKSB7CiAgICAgICAgICAgICAgICAkc21hcnR5LT5hc3NpZ24odHJpbSgkcGFyYW1zWydhc3NpZ24nXSksJHVybCk7CiAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuICR1cmw7CiAgICAgICAgfQogICAgICAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICAgICAgICAgIGVjaG8gJGUtPkdldE1lc3NhZ2UoKTsKICAgICAgICB9CiAgICAgICAgLy8gZG9uZS4KICAgIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.uploads_TextIndexer.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgbWFuYWdlbWVudCBvZiBmcm9udGVuZAojICB1c2VycywgYW5kIHRoZWlyIGxvZ2luIHByb2Nlc3Mgd2l0aGluIGEgQ01TIE1hZGUgU2ltcGxlIHBvd2VyZWQKIyAgd2Vic2l0ZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0cyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIHVwbG9hZHNfVGV4dEluZGV4ZXIgZXh0ZW5kcyB1cGxvYWRzX0luZGV4ZXJCYXNlCnsKICAgIHByaXZhdGUgJF9tYXhMaW5lcyA9IDUwMDA7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KHN0cmluZyAkc3JjLGFycmF5ICRvcHRzID0gbnVsbCkKICAgIHsKICAgICAgICAkdGhpcy0+X21heExpbmVzID0gY2dlX3BhcmFtOjpnZXRfaW50KCRvcHRzLCdtYXhMaW5lcycsJHRoaXMtPl9tYXhMaW5lcyk7CiAgICAgICAgcGFyZW50OjpfX2NvbnN0cnVjdCgkc3JjLCAkb3B0cyk7CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGNsZWFuX3dvcmQoJHdvcmQpCiAgICB7CiAgICAgICAgJHdvcmQgPSB0cmltKCR3b3JkLCJfXCJcIVxAXCNcJFwlXF5cJlwqXCdcYFw9XChcKVx7XH1cW1xdXHRcblxyXDBceDBCIik7CiAgICAgICAgcmV0dXJuIHRyaW0oJHdvcmQpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBmaWx0ZXJfd29yZCgkd29yZCkKICAgIHsKICAgICAgICBpZiggISR3b3JkICkgcmV0dXJuIEZBTFNFOwogICAgICAgIGlmKCBpc19udW1lcmljKCR3b3JkKSApIHJldHVybiBGQUxTRTsKICAgICAgICBpZiggc3RybGVuKCR3b3JkKSA8IG1heCgzLCR0aGlzLT5fbWluV29yZExlbmd0aCkgKSByZXR1cm4gRkFMU0U7CiAgICAgICAgaWYoIHN0cmxlbigkd29yZCkgPiAkdGhpcy0+X21heFdvcmRMZW5ndGggKSByZXR1cm4gRkFMU0U7CiAgICAgICAgcmV0dXJuIFRSVUU7CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIGdldF93b3JkcygpCiAgICB7CiAgICAgICAgLy8gb3BlbiB0aGUgZmlsZQogICAgICAgICRmaCA9IGZvcGVuKCR0aGlzLT5fZmlsZW5hbWUsJ3InKTsKICAgICAgICAkb2JqID0gJHRoaXM7CgogICAgICAgICR3b3JkX2xpc3QgPSBhcnJheSgpOwogICAgICAgICRsaW5lX251bSA9IDA7CiAgICAgICAgJGxpbmVzX3dpdGhfdGV4dCA9IDA7CiAgICAgICAgJG9sZF90aW1lX2xpbWl0ID0gKGludClpbmlfZ2V0KCdtYXhfZXhlY3V0aW9uX3RpbWUnKTsKICAgICAgICAkc3RhcnRfdGltZSA9IG1pY3JvdGltZSgpOwogICAgICAgIHdoaWxlKCAhZmVvZigkZmgpICkgewogICAgICAgICAgICAvLyByZWFkIHRoZSBmaWxlIChvbmUgbGluZSBhdCBhIHRpbWUpCiAgICAgICAgICAgIHNldF90aW1lX2xpbWl0KDEwKTsKICAgICAgICAgICAgJGxpbmUgPSBjZ2VfdXRpbHM6OmZnZXRzKCRmaCk7CiAgICAgICAgICAgICRsaW5lX251bSsrOwogICAgICAgICAgICAkbGluZSA9IHRyaW0oJGxpbmUpOwogICAgICAgICAgICBpZiggISRsaW5lICkgY29udGludWU7IC8vIGlnbm9yZSBibGFuayBsaW5lcwogICAgICAgICAgICAkbGluZXNfd2l0aF90ZXh0Kys7CgogICAgICAgICAgICAvLyBwYXJzZSBpbnRvIHdvcmRzCiAgICAgICAgICAgICR3b3JkcyA9IHByZWdfc3BsaXQoJy9cUHtMfSsvdScsICRsaW5lKTsKICAgICAgICAgICAgLy8kd29yZHMgPSBwcmVnX3NwbGl0KCcvW1xzLCEuOzpcPygpKy1cL1xcXFxdKy8nLCAkbGluZSk7CiAgICAgICAgICAgIHVuc2V0KCRsaW5lKTsKICAgICAgICAgICAgJHdvcmRzID0gYXJyYXlfbWFwKFskdGhpcywnY2xlYW5fd29yZCddLCAkd29yZHMpOwogICAgICAgICAgICAkd29yZHMgPSBhcnJheV9maWx0ZXIoJHdvcmRzLCBbJHRoaXMsICdmaWx0ZXJfd29yZCddKTsKCiAgICAgICAgICAgICR3b3JkX2xpc3QgPSBhcnJheV9tZXJnZSgkd29yZF9saXN0LCR3b3Jkcyk7CiAgICAgICAgICAgIHVuc2V0KCR3b3Jkcyk7CiAgICAgICAgICAgIGlmKCAkdGhpcy0+X3VuaXF1ZVdvcmRzT25seSApICR3b3JkX2xpc3QgPSBhcnJheV91bmlxdWUoJHdvcmRfbGlzdCk7CgogICAgICAgICAgICAkdGRpZmYgPSAoaW50KW1pY3JvdGltZV9kaWZmKCRzdGFydF90aW1lLG1pY3JvdGltZSgpKTsKICAgICAgICAgICAgaWYoICR0aGlzLT5fbWF4VGltZSAmJiAkdGRpZmYgPiAkdGhpcy0+X21heFRpbWUgKSBicmVhazsKICAgICAgICAgICAgaWYoICR0aGlzLT5fbWF4V29yZENvdW50ICYmIGNvdW50KCR3b3JkX2xpc3QpID49ICR0aGlzLT5fbWF4V29yZENvdW50ICkgYnJlYWs7CiAgICAgICAgICAgIGlmKCAkbGluZV9udW0gPiAkdGhpcy0+X21heExpbmVzKSBicmVhazsKICAgICAgICB9CiAgICAgICAgZmNsb3NlKCRmaCk7CiAgICAgICAgaWYoICRvbGRfdGltZV9saW1pdCA+IDAgKSBzZXRfdGltZV9saW1pdCgkb2xkX3RpbWVfbGltaXQpOwoKICAgICAgICByZXR1cm4gJHdvcmRfbGlzdDsKICAgIH0KfQojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.uploads_uploadassistant.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgbWFuYWdlbWVudCBvZiBmcm9udGVuZAojICB1c2VycywgYW5kIHRoZWlyIGxvZ2luIHByb2Nlc3Mgd2l0aGluIGEgQ01TIE1hZGUgU2ltcGxlIHBvd2VyZWQKIyAgd2Vic2l0ZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0cyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmNsYXNzIHVwbG9hZHNfdXBsb2FkYXNzaXN0YW50CnsKICAgIHByaXZhdGUgJF9jYXRlZ29yeSA9IG51bGw7CiAgICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCk7CiAgICBwcml2YXRlICRfZGVzdGZpbGUgPSBudWxsOwogICAgcHJpdmF0ZSAkX21heGZpbGVzaXplID0gbnVsbDsKCiAgICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJHNyYywkY2F0ZWdvcnlfaWQsJGRlc3RuYW1lID0gJycsJGtleSA9ICcnLCRtYXhmaWxlc2l6ZSA9IG51bGwpCiAgICB7CiAgICAgICAgJHRoaXMtPnNldF9zcmMoJHNyYyk7CiAgICAgICAgJHRoaXMtPnNldF9jYXRlZ29yeSgkY2F0ZWdvcnlfaWQpOwogICAgICAgICR0aGlzLT5zZXRfZGVzdG5hbWUoJGRlc3RuYW1lKTsKICAgICAgICAkdGhpcy0+c2V0X2tleSgka2V5KTsKCiAgICAgICAgLy8gYXV0aG9yIGhhc24ndCBiZWVuIHByZXZpb3VzbHkgc2V0LgogICAgICAgIC8vIHRyeSB0byBmaW5kIHNvbWV0aGluZyB3ZSBjYW4gdXNlLgogICAgICAgIGdsb2JhbCAkQ01TX0FETUlOX1BBR0U7CiAgICAgICAgJGF1dGhvciA9ICdBbm9ueW1vdXMnOwogICAgICAgIGlmKCBpc3NldCgkQ01TX0FETUlOX1BBR0UpICkgewogICAgICAgICAgICAvLyBpdCdzIGFuIGFkbWluIGFjdGlvbi4uLiBnZXQgdGhlIGN1cnJlbnRseSBsb2dnZWQgaW4gdXNlcm5hbWUKICAgICAgICAgICAgJHVpZCA9IGdldF91c2VyaWQoRkFMU0UpOwogICAgICAgICAgICBpZiggJHVpZCApIHsKICAgICAgICAgICAgICAgICR1c2Vyb3BzID0gVXNlck9wZXJhdGlvbnM6OmdldF9pbnN0YW5jZSgpOwogICAgICAgICAgICAgICAgJHVzZXIgPSAkdXNlcm9wcy0+TG9hZFVzZXJCeUlkKCR1aWQpOwogICAgICAgICAgICAgICAgaWYoICR1c2VyICkgJGF1dGhvciA9ICR1c2VyLT51c2VybmFtZTsKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwogICAgICAgICAgICBpZiggJGZldSApIHsKICAgICAgICAgICAgICAgICR0bXAgPSAkZmV1LT5Mb2dnZWRJbk5hbWUoKTsKICAgICAgICAgICAgICAgIGlmKCAkdG1wICkgJGF1dGhvciA9ICR0bXA7CiAgICAgICAgICAgIH0KICAgICAgICB9CgogICAgICAgICR0aGlzLT5fZGF0YVsnYXV0aG9yJ10gPSAkYXV0aG9yOwogICAgfQoKCiAgICBwdWJsaWMgZnVuY3Rpb24gc2V0X3NyYygkc3JjKQogICAgewogICAgICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1VQTE9BRFMpOwogICAgICAgIGlmKCAhJG1vZC0+X2lzVmFsaWRGaWxlbmFtZSgkc3JjKSApIHRocm93IG5ldyBVcGxvYWRzRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGluc2VydCBhbiBpbnZhbGlkIGZpbGUnKTsKICAgICAgICBpZiggIWZpbGVfZXhpc3RzKCRzcmMpICkgdGhyb3cgbmV3IFVwbG9hZHNFeGNlcHRpb24oJ0F0dGVtcHQgdG8gaW5zZXJ0IGEgbm9uIGV4aXN0YW50IGZpbGUnKTsKICAgICAgICAkY29uZmlnID0gXENtc0FwcDo6Z2V0X2luc3RhbmNlKCktPkdldENvbmZpZygpOwogICAgICAgIGlmKCAkdGhpcy0+X21heGZpbGVzaXplICYmIGZpbGVzaXplKCRzcmMpID4gJHRoaXMtPl9tYXhmaWxlc2l6ZSApIHRocm93IG5ldyBVcGxvYWRzRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGluc2VydCBhIGZpbGUgdGhhdCBpcyB0b28gbGFyZ2UnKTsKICAgICAgICAkdGhpcy0+X2RhdGFbJ3NyYyddID0gJHNyYzsKICAgIH0KCgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9jYXRlZ29yeSgkY2F0ZWdvcnkpCiAgICB7CiAgICAgICAgJGRiID0gXENtc0FwcDo6Z2V0X2luc3RhbmNlKCktPkdldERiKCk7CiAgICAgICAgJGRiciA9ICcnOwogICAgICAgIGlmKCBpc19udW1lcmljKCRjYXRlZ29yeSkgKSB7CiAgICAgICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzIFdIRVJFIHVwbG9hZF9jYXRlZ29yeV9pZCA9ID8nOwogICAgICAgICAgICAkZGJyID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRjYXRlZ29yeSkpOwogICAgICAgIH0KICAgICAgICBlbHNlIHsKICAgICAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMgV0hFUkUgdXBsb2FkX2NhdGVnb3J5X25hbWUgPSA/JzsKICAgICAgICAgICAgJGRiciA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkY2F0ZWdvcnkpKTsKICAgICAgICB9CgogICAgICAgIGlmKCAhJGRiciApIHRocm93IG5ldyBVcGxvYWRzRXhjZXB0aW9uKCdJbnZhbGlkIGNhdGVnb3J5ICcuJGNhdGVnb3J5KTsKICAgICAgICAkdGhpcy0+X2NhdGVnb3J5ID0gJGRicjsKICAgIH0KCgogICAgcHVibGljIGZ1bmN0aW9uIHVzZV9wcmVmaXgoJGZsYWcgPSBUUlVFKQogICAgewogICAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsncHJlZml4J10pOwogICAgICAgIGlmKCAkZmxhZyApCiAgICAgICAgewogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJ3ByZWZpeCddID0gZGVjaGV4KHRpbWUoKSkuJ18nOwogICAgICAgIH0KICAgIH0KCgogICAgcHVibGljIGZ1bmN0aW9uIGFsbG93X292ZXJ3cml0ZSgkZmxhZyA9IFRSVUUpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWydhbGxvd19vdmVyd3JpdGUnXSk7CiAgICAgICAgaWYoICRmbGFnICkgJHRoaXMtPl9kYXRhWydhbGxvd19vdmVyd3JpdGUnXSA9IFRSVUU7CiAgICB9CgoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfc3VtbWFyeSgkdGV4dCkKICAgIHsKICAgICAgICB1bnNldCgkdGhpcy0+X2RhdGFbJ3N1bW1hcnknXSk7CiAgICAgICAgaWYoICR0ZXh0ICkgJHRoaXMtPl9kYXRhWydzdW1tYXJ5J10gPSB0cmltKCR0ZXh0KTsKICAgIH0KCgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9kZXNjKCR0ZXh0KQogICAgewogICAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsnZGVzY3JpcHRpb24nXSk7CiAgICAgICAgaWYoICR0ZXh0ICkgJHRoaXMtPl9kYXRhWydkZXNjcmlwdGlvbiddID0gdHJpbSgkdGV4dCk7CiAgICB9CgoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfYXV0aG9yKCRhdXRob3IpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWydhdXRob3InXSk7CiAgICAgICAgaWYoICRhdXRob3IgKSAkdGhpcy0+X2RhdGFbJ2F1dGhvciddID0gdHJpbSgkdGV4dCk7CiAgICB9CgoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfa2V5KCRrZXkpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWydrZXknXSk7CiAgICAgICAgaWYoICRrZXkgKSAkdGhpcy0+X2RhdGFbJ2tleSddID0gdHJpbSgka2V5KTsKICAgIH0KCgogICAgcHVibGljIGZ1bmN0aW9uIHNldF9kZXN0bmFtZSgkZGVzdG5hbWUpCiAgICB7CiAgICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWydkZXN0bmFtZSddKTsKICAgICAgICBpZiggJGRlc3RuYW1lICkgewogICAgICAgICAgICAkZGVzdG5hbWUgPSBiYXNlbmFtZSgkZGVzdG5hbWUpOwogICAgICAgICAgICAkdXBsb2FkcyA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfVVBMT0FEUyk7CiAgICAgICAgICAgIGlmKCAhJHVwbG9hZHMtPl9pc1ZhbGlkRmlsZW5hbWUoJGRlc3RuYW1lKSApCiAgICAgICAgICAgICAgICB0aHJvdyBuZXcgVXBsb2Fkc0V4Y2VwdGlvbignQ2Fubm90IHNldCBkZXN0aW5hdGlvbiBuYW1lIHRvIGFuIGludmFsaWQgbmFtZScpOwogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJ2Rlc3RuYW1lJ10gPSBiYXNlbmFtZSgkZGVzdG5hbWUpOwogICAgICAgIH0KICAgIH0KCgogICAgcHVibGljIGZ1bmN0aW9uIHNldF90aHVibmFpbCgkdGh1bWJuYWlsKQogICAgewogICAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsndGh1bWJuYWlsJ10pOwogICAgICAgIGlmKCAhZmlsZV9leGlzdHMoJHRodW1ibmFpbCkgKSB0aHJvdyBuZXcgVXBsb2Fkc0V4Y2VwdGlvbignVGh1bWJuYWlsIEZpbGUgZG9lcyBub3QgZXhpc3Q6ICcuJHRodW1ibmFpbCk7CgogICAgICAgICR1cGxvYWRzID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9VUExPQURTKTsKICAgICAgICBpZiggISR1cGxvYWRzLT5faXNWYWxpZEZpbGVuYW1lKCR0aHVtYm5haWwpICkgdGhyb3cgbmV3IFVwbG9hZHNFeGNlcHRpb24oJ1RodW1ibmFpbCBmaWxlIGlzIGludmFsaWQ6ICcuJHRodW1ibmFpbCk7CgogICAgICAgIGlmKCAkdGh1bWJuYWlsICkgJHRoaXMtPl9kYXRhWyd0aHVtYm5haWwnXSA9ICR0aHVtYm5haWw7CiAgICB9CgoKICAgIHB1YmxpYyBmdW5jdGlvbiBzZXRfZmllbGQoJGtleSwkdmFsdWUpCiAgICB7CiAgICAgICAgaWYoICEka2V5ICkgcmV0dXJuOwogICAgICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydmaWVsZHMnXSkgfHwgIWlzX2FycmF5KCR0aGlzLT5fZGF0YVsnZmllbGRzJ10pICkgJHRoaXMtPl9kYXRhWydmaWVsZHMnXSA9IGFycmF5KCk7CiAgICAgICAgaWYoIGlzX251bGwoJHZhbHVlKSApIHsKICAgICAgICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWydmaWVsZHMnXVska2V5XSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAkdGhpcy0+X2RhdGFbJ2ZpZWxkcyddWyRrZXldID0gJHZhbHVlOwogICAgICAgIH0KICAgIH0KCgogICAgcHVibGljIGZ1bmN0aW9uIGVyYXNlX2ZpZWxkKCRrZXkpCiAgICB7CiAgICAgICAgaWYoICEka2V5ICkgcmV0dXJuOwogICAgICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9kYXRhWydmaWVsZHMnXSkgKSByZXR1cm47CiAgICAgICAgdW5zZXQoJHRoaXMtPl9kYXRhWydmaWVsZHMnXVska2V5XSk7CiAgICB9CgoKICAgIHB1YmxpYyBmdW5jdGlvbiBnZXRfZGVzdGZpbGUoKQogICAgewogICAgICAgIGlmKCAkdGhpcy0+X2Rlc3RmaWxlICkgcmV0dXJuICR0aGlzLT5fZGVzdGZpbGU7CgogICAgICAgIGlmKCAhJHRoaXMtPl9jYXRlZ29yeSApIHRocm93IG5ldyBVcGxvYWRzRXhjZXB0aW9uKCdDYW5ub3QgR2V0IGEgZGVzdGluYXRpb24gZmlsZSBuYW1lIHdpdGhvdXQgYSBwcm9wZXIgY2F0ZWdvcnknKTsKICAgICAgICAkdXBsb2FkcyA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfVVBMT0FEUyk7CiAgICAgICAgJGRpciA9ICR1cGxvYWRzLT5fY2F0ZWdvcnlQYXRoKCR0aGlzLT5fY2F0ZWdvcnlbJ3VwbG9hZF9jYXRlZ29yeV9wYXRoJ10pOwoKICAgICAgICAkZGVzdG5hbWUgPSBiYXNlbmFtZSgkdGhpcy0+X2RhdGFbJ3NyYyddKTsKICAgICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydkZXN0bmFtZSddKSApICRkZXN0bmFtZSA9ICR0aGlzLT5fZGF0YVsnZGVzdG5hbWUnXTsKICAgICAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydwcmVmaXgnXSkgKSAkZGVzdG5hbWUgPSAkdGhpcy0+X2RhdGFbJ3ByZWZpeCddLiRkZXN0bmFtZTsKCiAgICAgICAgJGRlc3RuYW1lID0KICAgICAgICAgICAgcHJlZ19yZXBsYWNlKCcvW15hLXpBLVowLTlcLlwkXCVcJ1xgXC1cQFx7XH1cflwhXCNcKFwpXCZcX1xeXS8nLCAnJywKICAgICAgICAgICAgICAgICAgICAgICAgIHN0cl9yZXBsYWNlIChhcnJheSAoJyAnLCAnJTIwJyksIGFycmF5ICgnXycsICdfJyksICRkZXN0bmFtZSkpOwoKICAgICAgICAkdGhpcy0+X2Rlc3RmaWxlID0gY21zX2pvaW5fcGF0aCgkZGlyLCRkZXN0bmFtZSk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fZGVzdGZpbGU7CiAgICB9CgoKICAgIHB1YmxpYyBmdW5jdGlvbiBoYW5kbGVfZmlsZSgpCiAgICB7CiAgICAgICAgJHVwbG9hZHMgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1VQTE9BRFMpOwoKICAgICAgICAvLyB2YWxpZGF0ZSB0aGUgZGF0YS4KICAgICAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsnc3JjJ10pICkgdGhyb3cgVXBsb2Fkc0V4Y2VwdGlvbignSW52YWxpZCBhdHRyaWJ1dGVzLi4uIG5vIHNvdXJjZSBmaWxlIHNldCcpOwogICAgICAgIGlmKCAhJHRoaXMtPl9jYXRlZ29yeSApIHRocm93IFVwbG9hZHNFeGNlcHRpb24oJ0ludmFsaWQvTnVsbCB1cGxvYWQgY2F0ZWdvcnkgc3BlY2lyaWVkJyk7CiAgICAgICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ3N1bW1hcnknXSkgKSB7CiAgICAgICAgICAgICRzdW1tYXJ5ID0gYmFzZW5hbWUoJHRoaXMtPl9kYXRhWydzcmMnXSk7CiAgICAgICAgICAgICR0aGlzLT5zZXRfc3VtbWFyeSgkc3VtbWFyeSk7CiAgICAgICAgfQogICAgICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydkZXNjcmlwdGlvbiddKSApICR0aGlzLT5fZGF0YVsnZGVzY3JpcHRpb24nXSA9ICcnOwogICAgICAgIGlmKCAhaXNzZXQoJHRoaXMtPl9kYXRhWydrZXknXSkgKSAkdGhpcy0+X2RhdGFbJ2tleSddID0gJyc7CgogICAgICAgIGRlYnVnX3RvX2xvZygkdGhpcywnYmVmb3JlIHNhdmUnKTsKICAgICAgICAkZGIgPSBcQ21zQXBwOjpnZXRfaW5zdGFuY2UoKS0+R2V0RGIoKTsKICAgICAgICAkZGVzdGZpbGUgPSAkdGhpcy0+Z2V0X2Rlc3RmaWxlKCk7CiAgICAgICAgJGV4aXN0aW5nX2ZpbGVpZCA9IG51bGw7CiAgICAgICAgaWYoIGZpbGVfZXhpc3RzKCRkZXN0ZmlsZSkgJiYgIWlzc2V0KCR0aGlzLT5fZGF0YVsnYWxsb3dfb3ZlcndyaXRlJ10pICkgewogICAgICAgICAgICAvLyBub3QgYWxsb3dpbmcgb3ZlcndyaXRlCiAgICAgICAgICAgIHRocm93IG5ldyBVcGxvYWRzRXhjZXB0aW9uKCdEZXN0aW5hdGlvbiBGaWxlIEV4aXN0czogJy4kZGVzdGZpbGUpOwogICAgICAgIH0KICAgICAgICBlbHNlIGlmKCBmaWxlX2V4aXN0cygkZGVzdGZpbGUpICkgewogICAgICAgICAgICAvLyBhbGxvd2luZyBvdmVyd3JpdGUuLi4gdHJ5IHRvIGZpbmQgYSBmaWxlIGlkLgogICAgICAgICAgICAkcXVlcnkgPSAnU0VMRUNUIHVwbG9hZF9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcwogICAgICAgICAgICAgICAgICBXSEVSRSB1cGxvYWRfbmFtZSA9ID8gQU5EIHVwbG9hZF9jYXRlZ29yeV9pZCA9ID8nOwogICAgICAgICAgICAkZXhpc3RpbmdfZmlsZWlkID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGJhc2VuYW1lKCRkZXN0bmFtZSksJHRoaXMtPl9jYXRlZ29yeVsndXBsb2Fkc19jYXRlZ29yeV9pZCddKTsKICAgICAgICB9CgogICAgICAgICRfY3JlYXRlZCA9IGFycmF5KCk7CiAgICAgICAgJHNyY2ZpbGUgPSAkdGhpcy0+X2RhdGFbJ3NyYyddOwoKICAgICAgICAvLyBzZWUgaWYgd2UncmUgZ29ubmEgdGh1bWJuYWlsLgogICAgICAgICR0aHVtYl9uYW1lID0gJyc7CiAgICAgICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVsndGh1bWJuYWlsJ10pICkgewogICAgICAgICAgICAkdGh1bWJfbmFtZSA9IGJhc2VuYW1lKCRkZXN0bmFtZSk7CiAgICAgICAgICAgICRkbiA9IGRpcm5hbWUoJGRlc3RuYW1lKTsKICAgICAgICAgICAgJHRodW1iZmlsZSA9IGNtc19qb2luX3BhdGgoJGRuLCd0aHVtYl8nLiR0aHVtYl9uYW1lKTsKCiAgICAgICAgICAgIEBjb3B5KCR0aGlzLT5fZGF0YVsndGh1bWJuYWlsJ10sJHRodW1iZmlsZSk7CiAgICAgICAgICAgICRfY3JlYXRlZFtdID0gJHRodW1iZmlsZTsKICAgICAgICB9CgogICAgICAgIC8vIGRvIHRoZSBjb3B5LgogICAgICAgIEB1bmxpbmsoJGRlc3RmaWxlKTsKICAgICAgICBAY29weSgkc3JjZmlsZSwkZGVzdGZpbGUpOwogICAgICAgICRfY3JlYXRlZFtdID0gJGRlc3RmaWxlOwoKICAgICAgICAvLyBkbyB0aGUgaW5zZXJ0IG9yIHVwZGF0ZQogICAgICAgICRkYnIgPSAnJzsKICAgICAgICBpZiggISRleGlzdGluZ19maWxlaWQgKSB7CiAgICAgICAgICAgICRleGlzdGluZ19maWxlaWQgPSAkZGItPkdlbklkKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfc2VxJyk7CgogICAgICAgICAgICAvLyBpbnNlcnQKICAgICAgICAgICAgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcwogICAgICAgICAgICAgICAgICAodXBsb2FkX2lkLHVwbG9hZF9jYXRlZ29yeV9pZCx1cGxvYWRfbmFtZSx1cGxvYWRfYXV0aG9yLAogICAgICAgICAgICAgICAgICAgdXBsb2FkX3N1bW1hcnksdXBsb2FkX2Rlc2NyaXB0aW9uLHVwbG9hZF9pcCx1cGxvYWRfc2l6ZSwKICAgICAgICAgICAgICAgICAgIHVwbG9hZF9kYXRlLCB1cGxvYWRfa2V5LCB1cGxvYWRfdGh1bWJuYWlsKQogICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyxOT1coKSw/LD8pJzsKICAgICAgICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJGV4aXN0aW5nX2ZpbGVpZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X2NhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYXNlbmFtZSgkZGVzdGZpbGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5fZGF0YVsnYXV0aG9yJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWydzdW1tYXJ5J10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWydkZXNjcmlwdGlvbiddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNnZV91dGlsczo6Z2V0X3JlYWxfaXAoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc2l6ZSgkdGhpcy0+X2RhdGFbJ3NyYyddKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkdGhpcy0+X2RhdGFbJ2tleSddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aHVtYl9uYW1lKSk7CiAgICAgICAgfQogICAgICAgIGVsc2UgewogICAgICAgICAgICAvLyB1cGRhdGUuLi4gZGVsZXRlIGN1c3RvbSBmaWVsZHMuCiAgICAgICAgICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGR2YWxzIFdIRVJFIHVwbG9hZF9pZCA9ID8nOwogICAgICAgICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZXhpc3RpbmdfZmlsZWlkKSk7CgogICAgICAgICAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcwogICAgICAgICAgICAgICAgICBTRVQgdXBsb2FkX25hbWUgPSA/LCB1cGxvYWRfYXV0aG9yID0gPywKICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZF9zdW1tYXJ5ID0gPywgdXBsb2FkX2Rlc2NyaXB0aW9uID0gPywKICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZF9pcCA9ID8sIHVwbG9hZF9zaXplID0gPywgdXBsb2FkX2RhdGUgPSBOT1coKSwKICAgICAgICAgICAgICAgICAgICAgIHVwbG9hZF9rZXkgPSA/LCB1cGxvYWRfdGh1bWJuYWlsID0gPwogICAgICAgICAgICAgICAgIFdIRVJFIHVwbG9hZF9pZCA9ID8nOwogICAgICAgICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhcnJheShiYXNlbmFtZSgkZGVzdGZpbGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5fZGF0YVsnYXV0aG9yJ10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWydzdW1tYXJ5J10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRoaXMtPl9kYXRhWydkZXNjcmlwdGlvbiddLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNnZV9hcnJheTo6Z2V0X3JlYWxfaXAoKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc2l6ZSgkZGVzdGZpbGUpLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5fZGF0YVsna2V5J10sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHRodW1iX25hbWUsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGV4aXN0aW5nX2ZpbGVpZCkpOwogICAgICAgIH0KCiAgICAgICAgaWYoICEkZGJyICkgewogICAgICAgICAgICBmb3JlYWNoKCAkX2NyZWF0ZWQgYXMgJG9uZSApIEB1bmxpbmsoJG9uZSk7CiAgICAgICAgICAgIHRocm93IG5ldyBVcGxvYWRzRXhjZXB0aW9uKCdEYXRhYmFzZSBvcGVyYXRpb24gZmFpbGVkOiAnLiRkYi0+c3FsLicgLS0gJy4kZGItPkVycm9yTXNnKCkpOwogICAgICAgIH0KCiAgICAgICAgJGZpZWxkcyA9IHVwbG9hZHNfdXRpbHM6OmdldF9maWVsZGRlZnMoKTsKICAgICAgICBpZiggY291bnQoJGZpZWxkcykgKSAkZmllbGRzID0gXGNnZV9hcnJheTo6dG9faGFzaCgkZmllbGRzLCduYW1lJyk7CgogICAgICAgIGlmKCBpc19hcnJheSgkZmllbGRzKSAmJiBpc3NldCgkdGhpcy0+X2RhdGFbJ2ZpZWxkcyddKSApCiAgICAgICAgewogICAgICAgICAgICBkZWJ1Z190b19sb2coJ3dlIGhhdmUgZmllbGQgZGF0YScpOwogICAgICAgICAgICAvLyBkbyB0aGUgY3VzdG9tIGZpZWxkcy4KICAgICAgICAgICAgJGlxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGR2YWxzCiAgICAgICAgICAgICAgICAgKHVwbG9hZF9pZCwgZmxkX2lkLCB2YWx1ZSkgVkFMVUVTICg/LD8sPyknOwogICAgICAgICAgICBmb3JlYWNoKCAkdGhpcy0+X2RhdGFbJ2ZpZWxkcyddIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICAgICAgICAgICAgJGZpZWxkX2lkID0gbnVsbDsKICAgICAgICAgICAgICAgIGlmKCBpc19udW1lcmljKCRrZXkpICkgewogICAgICAgICAgICAgICAgICAgICRmaWVsZF9pZCA9IChpbnQpICRrZXk7CiAgICAgICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgICAgIGlmKCAhaXNzZXQoJGZpZWxkc1ska2V5XSkgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAkZmllbGRfaWQgPSAoaW50KSAkZmllbGRzWyRrZXldWydpZCddOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgJGRiLT5FeGVjdXRlKCRpcXVlcnksYXJyYXkoJGV4aXN0aW5nX2ZpbGVpZCwkZmllbGRfaWQsJHZhbHVlKSk7CiAgICAgICAgICAgICAgICBkZWJ1Z190b19sb2coJGRiLT5zcWwpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICAvLyBhZGQgc29tZXRoaW5nIHRvIHRoZSBhdWRpdCBsb2cuCiAgICAgICAgYXVkaXQoJGV4aXN0aW5nX2ZpbGVpZCwkdXBsb2Fkcy0+R2V0TmFtZSgpLCdVcGxvYWRlZCBmaWxlICcuYmFzZW5hbWUoJGRlc3RmaWxlKSk7CgogICAgICAgIC8vIGFuZCB3ZSdyZSBkb25lLi4uCiAgICAgICAgcmV0dXJuICRleGlzdGluZ19maWxlaWQ7CiAgICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.uploads_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IEZyb250RW5kVXNlcnMgKGMpIDIwMDggYnkgUm9iZXJ0IENhbXBiZWxsCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgbWFuYWdlbWVudCBvZiBmcm9udGVuZAojICB1c2VycywgYW5kIHRoZWlyIGxvZ2luIHByb2Nlc3Mgd2l0aGluIGEgQ01TIE1hZGUgU2ltcGxlIHBvd2VyZWQKIyAgd2Vic2l0ZS4KIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0cyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCmZpbmFsIGNsYXNzIHVwbG9hZHNfdXRpbHMKewogICAgcHJpdmF0ZSBzdGF0aWMgJF91cGxvYWRfZGF0YV9jYWNoZTsKICAgIHByaXZhdGUgc3RhdGljICRfY2F0ZWdvcmllczsKICAgIHByaXZhdGUgc3RhdGljICRfZmllbGRkZWZzOwoKICAgIC8vIHRoaXMgaXMgYSBzdGF0aWMgY2xhc3MuLi4gY2FuJ3QgYmUgY29uc3RydWN0ZWQuCiAgICBwcm90ZWN0ZWQgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2FjaGVfdXBsb2Fkc19mcm9tX2xpc3QoJGxpc3QpCiAgICB7CiAgICAgICAgLy8gY2xlYW4gdGhlIGxpc3QKICAgICAgICAkdG1wID0gYXJyYXkoKTsKICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAkb25lICkgewogICAgICAgICAgICAkb25lID0gKGludCkkb25lOwogICAgICAgICAgICBpZiggJG9uZSA8IDEgKSBjb250aW51ZTsKICAgICAgICAgICAgaWYoIGluX2FycmF5KCRvbmUsJHRtcCkgKSBjb250aW51ZTsKICAgICAgICAgICAgaWYoIGlzc2V0KHNlbGY6OiRfdXBsb2FkX2RhdGFfY2FjaGVbJG9uZV0pICkgY29udGludWU7CiAgICAgICAgICAgICR0bXBbXSA9ICRvbmU7CiAgICAgICAgfQoKICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcyBXSEVSRSB1cGxvYWRfaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHRtcCkuJyknOwogICAgICAgICRyZWNzID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgICAgIGlmKCAhaXNfYXJyYXkoc2VsZjo6JF91cGxvYWRfZGF0YV9jYWNoZSkgKSBzZWxmOjokX3VwbG9hZF9kYXRhX2NhY2hlID0gYXJyYXkoKTsKICAgICAgICBpZiggIWlzX2FycmF5KCRyZWNzKSB8fCBjb3VudCgkcmVjcykgPT0gMCApIHJldHVybjsKICAgICAgICBmb3JlYWNoKCAkcmVjcyBhcyAkcm93ICkgewogICAgICAgICAgICBzZWxmOjokX3VwbG9hZF9kYXRhX2NhY2hlWyRyb3dbJ3VwbG9hZF9pZCddXSA9ICRyb3c7CiAgICAgICAgfQogICAgfQoKICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZGVsZXRlX3VwbG9hZF9jYWNoZSgpCiAgICB7CiAgICAgICAgc2VsZjo6JF91cGxvYWRfZGF0YV9jYWNoZSA9IGFycmF5KCk7CiAgICB9CgogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfdXBsb2FkX2RldGFpbHMoaW50ICR1cGxvYWRfaWQpCiAgICB7CiAgICAgICAgJHVwbG9hZF9pZCA9IChpbnQpJHVwbG9hZF9pZDsKICAgICAgICBpZiggJHVwbG9hZF9pZCA8IDEgKSB0aHJvdyBuZXcgVXBsb2Fkc0V4Y2VwdGlvbigndXBsb2Fkc191dGlsczo6Z2V0X3VwbG9hZF9kZXRhaWxzIC0gSW52YWxpZCB1cGxvYWQgaWQ6ICcuJHVwbG9hZF9pZCk7CgogICAgICAgIGlmKCAhaXNzZXQoc2VsZjo6JF91cGxvYWRfZGF0YV9jYWNoZVskdXBsb2FkX2lkXSkgKSB7CiAgICAgICAgICAgIC8vIG5vdCBpbiBjYWNoZS4KICAgICAgICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzIFdIRVJFIHVwbG9hZF9pZCA9ID8nOwogICAgICAgICAgICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCR1cGxvYWRfaWQpKTsKICAgICAgICAgICAgaWYoICEkcm93ICkgdGhyb3cgbmV3IFVwbG9hZHNFeGNlcHRpb24oJ3VwbG9hZHNfdXRpbHM6OmdldF91cGxvYWRfZGV0YWlscyAtIFVwbG9hZCAnLiR1cGxvYWRfaWQuJyBub3QgZm91bmQnKTsKCiAgICAgICAgICAgIGlmKCAhaXNfYXJyYXkoc2VsZjo6JF91cGxvYWRfZGF0YV9jYWNoZSkgKSBzZWxmOjokX3VwbG9hZF9kYXRhX2NhY2hlID0gYXJyYXkoKTsKICAgICAgICAgICAgc2VsZjo6JF91cGxvYWRfZGF0YV9jYWNoZVskcm93Wyd1cGxvYWRfaWQnXV0gPSAkcm93OwogICAgICAgIH0KCiAgICAgICAgcmV0dXJuIHNlbGY6OiRfdXBsb2FkX2RhdGFfY2FjaGVbJHVwbG9hZF9pZF07CiAgICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZV90aW1lbGltaXRlZF9lbnRyeSgkdXBsb2FkX2lkLCRlbWFpbCwkaG91cnMgPSBudWxsLCRkb3dubG9hZHMgPSBudWxsKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkbm93ID0gJGRiLT5EYlRpbWVzdGFtcCh0aW1lKCkpOwogICAgJHVwbG9hZF9pZCA9IChpbnQpJHVwbG9hZF9pZDsKICAgICRob3VycyA9IChpbnQpJGhvdXJzOwogICAgJGRvd25sb2FkcyA9IChpbnQpJGRvd25sb2FkczsKCiAgICAvLyBnZXQgdGhlIHVwbG9hZCBpbmZvcm1hdGlvbgogICAgJHVwbG9hZCA9IHNlbGY6OmdldF91cGxvYWRfZGV0YWlscygkdXBsb2FkX2lkKTsKCiAgICAkZXhwaXJlcyA9IG51bGw7CiAgICBpZiggJGhvdXJzICkgewogICAgICAkaG91cnMgPSAoaW50KSRob3VyczsKICAgICAgJGV4cGlyZXMgPSAkZGItPkRiVGltZVN0YW1wKHN0cnRvdGltZSgnKycuJGhvdXJzLicgaG91cnMnKSk7CiAgICB9CiAgICAkdXJsa2V5ID0gc3Vic3RyKHN0cl9zaHVmZmxlKG1kNSh0aW1lKCkuJHVwbG9hZF9pZC4kdXBsb2FkWyd1cGxvYWRfbmFtZSddLiRub3cuJGVtYWlsLiRleHBpcmVzKSksMCwxNik7CgogICAgJGRiciA9ICcnOwogICAgaWYoICRob3VycyA+IDAgKSB7CiAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfdGltZWxpbWl0CiAgICAgICAgICAgICAgICAodXBsb2FkX2lkLGVtYWlsLHVybF9rZXksY3JlYXRlZCxleHBpcmVzLG1heF9kb3dubG9hZHMpCiAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LCRub3csJGV4cGlyZXMsPykiOwogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdXBsb2FkX2lkLCRlbWFpbCwkdXJsa2V5LCRkb3dubG9hZHMpKTsKICAgIH0KICAgIGVsc2UgewogICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX3RpbWVsaW1pdAogICAgICAgICAgICAgICAgKHVwbG9hZF9pZCxlbWFpbCx1cmxfa2V5LGNyZWF0ZWQsbWF4X2Rvd25sb2FkcykKICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sJG5vdyw/KSI7CiAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR1cGxvYWRfaWQsJGVtYWlsLCR1cmxrZXksJGRvd25sb2FkcykpOwogICAgfQogICAgaWYoICEkZGJyICkJdGhyb3cgbmV3IFVwbG9hZHNFeGNlcHRpb24oJ1Byb2JsZW0gaW5zZXJ0aW5nIHRpbWUgbGltaXRlZCBpbmZvIGludG8gZGF0YWJhc2UnKTsKCiAgICByZXR1cm4gJHVybGtleTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIF9nZXRfY2xlYW5fdGxfdXJsKCR1cGxvYWRfa2V5KQogIHsKICAgICAgcmV0dXJuIHNwcmludGYoJ3VwbG9hZHMvbGltaXRlZC8lcycsJHVwbG9hZF9rZXkpOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfdGltZWxpbWl0ZWRfdXJsKCR1cmxfa2V5LCRjaGVja3ZhbGlkID0gVFJVRSkKICB7CiAgICBpZiggISR1cmxfa2V5ICkgdGhyb3cgbmV3IFVwbG9hZHNFeGNlcHRpb24oJ3VwbG9hZHNfdXRpbHM6OmdldF90aW1lbGltaXRlZF91cmwgLSBFbXB0eSB1cmwga2V5IHNwZWNpZmllZCcpOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICBpZiggJGNoZWNrdmFsaWQgKSB7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc190aW1lbGltaXQKICAgICAgICAgICAgICAgIFdIRVJFIHVybF9rZXkgPSA/IEFORCAoKGV4cGlyZXMgPiBOT1coKSkgT1IgKGV4cGlyZXMgSVMgTlVMTCkpJzsKICAgICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkdXJsX2tleSkpOwogICAgICBpZiggISRyb3cgKSByZXR1cm47CiAgICAgICRmaWxlX2lkID0gJHJvd1sndXBsb2FkX2lkJ107CgogICAgICAkcXVlcnkgPSAnU0VMRUNUIGNvdW50KGZpbGVfaWQpIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2Rvd25sb2FkcwogICAgICAgICAgICAgICAgV0hFUkUgZmlsZV9pZCA9ID8gQU5EIHVybF9rZXkgPSA/JzsKICAgICAgJGNvdW50ID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRmaWxlX2lkLCR1cmxfa2V5KSk7CiAgICAgIGlmKCAkcm93WydtYXhfZG93bmxvYWRzJ10gPiAwICYmICRjb3VudCA+PSAkcm93WydtYXhfZG93bmxvYWRzJ10gKSByZXR1cm47CiAgICB9CgogICAgJGRmbHRwYWdlID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKS0+R2V0RGVmYXVsdENvbnRlbnQoKTsKICAgICR1cGxvYWRzID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdVcGxvYWRzJyk7CiAgICAkdXJsID0gJHVwbG9hZHMtPmNyZWF0ZV91cmwoJGlkLCdnZXRmaWxlJywkZGZsdHBhZ2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoJ3VybF9rZXknPT4kdXJsX2tleSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmFsc2UsIGZhbHNlLCBzZWxmOjpfZ2V0X2NsZWFuX3RsX3VybCgkdXJsX2tleSkpOwogICAgcmV0dXJuICR1cmw7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIF9nZXRfY2xlYW5fdXJsKCR1cGxvYWRfaWQsJHVwbG9hZF9uYW1lKQogIHsKICAgICAgcmV0dXJuIHNwcmludGYoJ3VwbG9hZHMvJWQvJXMnLCR1cGxvYWRfaWQsbXVuZ2Vfc3RyaW5nX3RvX3VybCgkdXBsb2FkX25hbWUpKTsKICB9CgogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIGdldF9pbmRleGVyKHN0cmluZyAkZmlsZW5hbWUpCiAgewogICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKE1PRF9VUExPQURTKTsKICAgICAgJG1pbWUgPSBjZ2VfdXRpbHM6OmdldF9taW1lX3R5cGUoJGZpbGVuYW1lKTsKICAgICAgJHVuaXF1ZV93b3JkcyA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2luZGV4X3VuaXF1ZXdvcmRzJyk7CiAgICAgICRvcHRzID0gYXJyYXkoJ3VuaXF1ZV93b3Jkcyc9PiR1bmlxdWVfd29yZHMpOwogICAgICAkb3V0ID0gbnVsbDsKICAgICAgaWYoICRtaW1lICkgewogICAgICAgICAgc3dpdGNoKCAkbWltZSApIHsKICAgICAgICAgIGNhc2UgJ3RleHQveC1jJzoKICAgICAgICAgIGNhc2UgJ3RleHQvcGxhaW4nOgogICAgICAgICAgICAgIGlmKCAkbW9kLT5HZXRQcmVmZXJlbmNlKCdpbmRleF90eHRmaWxlcycpICkgJG91dCA9IG5ldyB1cGxvYWRzX1RleHRJbmRleGVyKCRmaWxlbmFtZSwkb3B0cyk7CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICBjYXNlICdhcHBsaWNhdGlvbi9wZGYnOgogICAgICAgICAgICAgIGlmKCBjbXNtcygpLT5HZXRDb25maWcoKVsndXBsb2Fkc19pbmRleF9wZGYnXSApIHsKICAgICAgICAgICAgICAgICAgJG91dCA9IG5ldyB1cGxvYWRzX1BkZkluZGV4ZXIoJGZpbGVuYW1lLCRvcHRzKTsKICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICB9CiAgICAgIH0KCiAgICAgIHJldHVybiAkb3V0OwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjYW5faW5kZXgoc3RyaW5nICRmaWxlbmFtZSkKICB7CiAgICAgICRpbmRleGVyID0gc2VsZjo6Z2V0X2luZGV4ZXIoJGZpbGVuYW1lKTsKICAgICAgcmV0dXJuIGlzX29iamVjdCgkaW5kZXhlcik7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGluZGV4X3VwbG9hZChpbnQgJHVwbG9hZF9pZCxDTVNNb2R1bGUgJiRzZWFyY2hfbW9kdWxlID0gbnVsbCkKICB7CiAgICAgIHRyeSB7CiAgICAgICAgICBpZiggISRzZWFyY2hfbW9kdWxlICkgJHNlYXJjaF9tb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9zZWFyY2hfbW9kdWxlKCk7CiAgICAgICAgICBpZiggIWlzX29iamVjdCgkc2VhcmNoX21vZHVsZSkgKSByZXR1cm47CiAgICAgICAgICAkdXBsb2FkcyA9IGNtc191dGlsczo6Z2V0X21vZHVsZShNT0RfVVBMT0FEUyk7CiAgICAgICAgICBpZiggISR1cGxvYWRzICkgcmV0dXJuOwoKICAgICAgICAgICRyb3cgPSBzZWxmOjpnZXRfdXBsb2FkX2RldGFpbHMoJHVwbG9hZF9pZCk7CiAgICAgICAgICBpZiggJHJvd1sndXBsb2FkX3VzZXJwZXJtcyddICkgcmV0dXJuOyAvLyBmaWxlIGlzIG9ubHkgbGlzdGFibGUgYnkgc29tZSBwZW9wbGUKICAgICAgICAgICRjYXRlZ29yeSA9IHNlbGY6OmdldF9jYXRlZ29yeSgkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSk7CiAgICAgICAgICBpZiggISRjYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X2xpc3RhYmxlJ10gKSByZXR1cm47IC8vIGZpbGUgaXMgbm90IGluIGEgbGlzdGFibGUgY2F0ZWdvcnkuCiAgICAgICAgICBpZiggJGNhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfdXNlcnBlcm1zJ10gKSByZXR1cm47IC8vIGNhdGVnb3J5IGlzIG9ubHkgbGlzdGFibGUgYnkgY2VydGFpbiBtZW1iZXJzIG9mIGNlcnRhaW4gZmV1IGdyb3BzLgoKICAgICAgICAgICR0ZXh0ID0gJHJvd1sndXBsb2FkX25hbWUnXS4nICcuJHJvd1sndXBsb2FkX2F1dGhvciddLicgJy4KICAgICAgICAgICAgICAkcm93Wyd1cGxvYWRfc3VtbWFyeSddLicgJy4kcm93Wyd1cGxvYWRfZGVzY3JpcHRpb24nXTsKCiAgICAgICAgICAkZmlsZXNwZWMgPSBzZWxmOjpnZXRfZmlsZXNwZWMoJHVwbG9hZF9pZCk7CiAgICAgICAgICAkaW5kZXhlciA9IHNlbGY6OmdldF9pbmRleGVyKCRmaWxlc3BlYyk7CiAgICAgICAgICBpZiggaXNfb2JqZWN0KCRpbmRleGVyKSApIHsKICAgICAgICAgICAgICAkd29yZHMgPSAkaW5kZXhlci0+Z2V0X3dvcmRzKCk7CiAgICAgICAgICAgICAgJHRleHQgLj0gJyAnLmltcGxvZGUoJyAnLCR3b3Jkcyk7CiAgICAgICAgICB9CiAgICAgICAgICAkc2VhcmNoX21vZHVsZS0+QWRkV29yZHMoJHVwbG9hZHMtPkdldE5hbWUoKSwgJHJvd1sndXBsb2FkX2lkJ10sICd1cGxvYWQnLCAkdGV4dCk7CiAgICAgIH0KICAgICAgY2F0Y2goIEV4Y2VwdGlvbiAkZSApIHsKICAgICAgICAgIC8vIGF1ZGl0IGEgcHJvYmxlbQogICAgICB9CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jYXRlZ29yeV9pZCgkbmFtZSkKICB7CiAgICAgICRuYW1lID0gdHJpbSgkbmFtZSk7CiAgICAgIGlmKCAhJG5hbWUgKSB0aHJvdyBuZXcgXExvZ2ljRXhjZXB0aW9uKCJJbnZhbGlkIGNhdGVnb3J5IG5hbWUgcGFzc2VkIHRvICIuX19NRVRIT0RfXyk7CiAgICAgICRsaXN0ID0gc2VsZjo6Z2V0X2NhdGVnb3J5X2xpc3QoKTsKICAgICAgJGxpc3QgPSBhcnJheV9mbGlwKCRsaXN0KTsKICAgICAgaWYoIGlzc2V0KCRsaXN0WyRuYW1lXSkgKSByZXR1cm4gJGxpc3RbJG5hbWVdOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY2F0ZWdvcnlfbGlzdCgkaW5jbHVkZV9wYXRoID0gVFJVRSkKICB7CiAgICAgICRjYXRzID0gc2VsZjo6Z2V0X2NhdGVnb3JpZXMoKTsKICAgICAgaWYoIGNvdW50KCRjYXRzKSApIHsKICAgICAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAgICAgZm9yZWFjaCggJGNhdHMgYXMgJGNhdF9pZCA9PiAkY2F0ICkgewogICAgICAgICAgICAgICRzdHIgPSAkY2F0Wyd1cGxvYWRfY2F0ZWdvcnlfbmFtZSddOwogICAgICAgICAgICAgIGlmKCAkaW5jbHVkZV9wYXRoICkgJHN0ciAuPSAnICgnLiRjYXRbJ3VwbG9hZF9jYXRlZ29yeV9wYXRoJ10uJyknOwogICAgICAgICAgICAgICRvdXRbJGNhdF9pZF0gPSAkc3RyOwogICAgICAgICAgfQogICAgICAgICAgcmV0dXJuICRvdXQ7CiAgICAgIH0KICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2NhdGVnb3JpZXMoKQogIHsKICAgICAgaWYoICFpc19hcnJheShzZWxmOjokX2NhdGVnb3JpZXMpICkgewogICAgICAgICAgc2VsZjo6JF9jYXRlZ29yaWVzID0gYXJyYXkoKTsKICAgICAgICAgICRkYiA9IGNtc21zKCktPkdldERCKCk7CiAgICAgICAgICAkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllcyBPUkRFUiBCWSB1cGxvYWRfY2F0ZWdvcnlfbmFtZSI7CiAgICAgICAgICAkZGJyID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgICAgICAgaWYoIGlzX2FycmF5KCRkYnIpICYmIGNvdW50KCRkYnIpICkgewogICAgICAgICAgICAgIHNlbGY6OiRfY2F0ZWdvcmllcyA9IGNnZV9hcnJheTo6dG9faGFzaCgkZGJyLCd1cGxvYWRfY2F0ZWdvcnlfaWQnKTsKICAgICAgICAgIH0KICAgICAgfQogICAgICByZXR1cm4gc2VsZjo6JF9jYXRlZ29yaWVzOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY2F0ZWdvcnkoJGNhdGVnb3J5X2lkKQogIHsKICAgICAgJGNhdHMgPSBzZWxmOjpnZXRfY2F0ZWdvcmllcygpOwogICAgICBpZiggaXNfbnVtZXJpYygkY2F0ZWdvcnlfaWQpICkgewogICAgICAgICAgaWYoIGlzc2V0KCRjYXRzWyRjYXRlZ29yeV9pZF0pICkgcmV0dXJuICRjYXRzWyRjYXRlZ29yeV9pZF07CiAgICAgIH0KCiAgICAgIC8vIHNlYXJjaCBieSBuYW1lLgogICAgICBmb3JlYWNoKCAkY2F0cyBhcyAkcm93ICkgewogICAgICAgICAgJHRtcCA9IGNtc19odG1sX2VudGl0eV9kZWNvZGUoJHJvd1sndXBsb2FkX2NhdGVnb3J5X25hbWUnXSk7CiAgICAgICAgICBpZiggJHJvd1sndXBsb2FkX2NhdGVnb3J5X25hbWUnXSA9PSAkY2F0ZWdvcnlfaWQgKSByZXR1cm4gJHJvdzsKICAgICAgfQoKICAgICAgdGhyb3cgbmV3IFxVcGxvYWRzRXhjZXB0aW9uKCd1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnkgLSBDYXRlZ29yeSAnLiRjYXRlZ29yeV9pZC4nIG5vdCBmb3VuZCcpOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY2F0ZWdvcnlfcGF0aCgkY2F0ZWdvcnlfaWQpCiAgewogICAgICAkY2F0ZWdvcnkgPSBzZWxmOjpnZXRfY2F0ZWdvcnkoJGNhdGVnb3J5X2lkKTsKICAgICAgcmV0dXJuICRjYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X3BhdGgnXTsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2xlYW5fZmlsZW5hbWUoJGluX25hbWUpCiAgewogICAgICAkaW5fbmFtZSA9IHRyaW0oJGluX25hbWUpOwogICAgICByZXR1cm4gc3RyX3JlcGxhY2UoYXJyYXkoJyAnLCclMjAnKSxhcnJheSgnXycsJ18nKSwkaW5fbmFtZSk7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9maWxlc3BlYyhpbnQgJHVwbG9hZF9pZCkKICB7CiAgICAgIC8vIG5vdGUsIHdpbGwgbm90IHB1a2UgaWYgZmlsZSBkb2VzIG5vdCBleGlzdC4KICAgICAgJHJvdyA9IHNlbGY6OmdldF91cGxvYWRfZGV0YWlscygkdXBsb2FkX2lkKTsKICAgICAgJGNhdHBhdGggPSBzZWxmOjpnZXRfY2F0ZWdvcnlfcGF0aCgkcm93Wyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSk7CiAgICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICAgJGNsZWFuX25hbWUgPSBzZWxmOjpjbGVhbl9maWxlbmFtZSgkcm93Wyd1cGxvYWRfbmFtZSddKTsKICAgICAgcmV0dXJuIGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJGNhdHBhdGgsJGNsZWFuX25hbWUpOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfdG1wZGlyKCkKICB7CiAgICAgICRjb25maWcgPSBcY21zX2NvbmZpZzo6Z2V0X2luc3RhbmNlKCk7CiAgICAgIHJldHVybiAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4nL191cGxvYWRzX3RtcC8nOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfdG1wZmlsZSgkY29kZSkKICB7CiAgICAgICRjb2RlID0gdHJpbSgkY29kZSk7CiAgICAgIHJldHVybiBzZWxmOjpnZXRfdG1wZGlyKCkuJGNvZGU7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9maWVsZGRlZnMoJHB1YmxpYyA9IFRSVUUpCiAgewogICAgICBpZiggIWlzX2FycmF5KHNlbGY6OiRfZmllbGRkZWZzKSApIHsKICAgICAgICAgIHNlbGY6OiRfZmllbGRkZWZzID0gYXJyYXkoKTsKICAgICAgICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAgICAgICAkc3FsID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2ZpZWxkZGVmcyBPUkRFUiBCWSBpb3JkZXInOwogICAgICAgICAgJGxpc3QgPSAkZGItPkdldEFycmF5KCRzcWwpOwogICAgICAgICAgaWYoIGNvdW50KCRsaXN0KSApIHsKICAgICAgICAgICAgICBmb3JlYWNoKCAkbGlzdCBhcyAmJG9uZSApIHsKICAgICAgICAgICAgICAgICAgaWYoICRvbmVbJ2F0dHJpYnMnXSApICRvbmVbJ2F0dHJpYnMnXSA9IHVuc2VyaWFsaXplKCRvbmVbJ2F0dHJpYnMnXSk7CiAgICAgICAgICAgICAgICAgIGlmKCBpc3NldCgkb25lWydhdHRyaWJzJ11bJ29wdGlvbnMnXSkgKSB7CiAgICAgICAgICAgICAgICAgICAgICAkdG1wID0gZXhwbG9kZSgiXG4iLCRvbmVbJ2F0dHJpYnMnXVsnb3B0aW9ucyddKTsKICAgICAgICAgICAgICAgICAgICAgICR0bXAyID0gW107CiAgICAgICAgICAgICAgICAgICAgICBmb3JlYWNoKCAkdG1wIGFzICRsaW5lICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICRrZXkgPSAkdmFsdWUgPSB0cmltKCRsaW5lKTsKICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggISRrZXkgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggc3RycG9zKCRsaW5lLCc9JykgIT09IEZBTFNFICkgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0KCRrZXksJHZhbHVlKSA9IGV4cGxvZGUoJz0nLCRsaW5lLDIpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAka2V5ID0gdHJpbSgka2V5KTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHZhbHVlID0gdHJpbSgkdmFsdWUpOwogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiggISRrZXkgKSBjb250aW51ZTsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYoICEkdmFsdWUgKSAkdmFsdWUgPSAka2V5OwogICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICAkdG1wMlska2V5XSA9ICR2YWx1ZTsKICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICRvbmVbJ2F0dHJpYnMnXVsncmF3X29wdGlvbnMnXSA9ICRvbmVbJ2F0dHJpYnMnXVsnb3B0aW9ucyddOwogICAgICAgICAgICAgICAgICAgICAgJG9uZVsnYXR0cmlicyddWydvcHRpb25zJ10gPSAkdG1wMjsKICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBzZWxmOjokX2ZpZWxkZGVmcyA9IFxjZ2VfYXJyYXk6OnRvX2hhc2goJGxpc3QsJ2lkJyk7CiAgICAgICAgICB9CiAgICAgIH0KCiAgICAgIGlmKCAkcHVibGljICYmIGNvdW50KHNlbGY6OiRfZmllbGRkZWZzKSApIHsKICAgICAgICAgICRvdXQgPSBbXTsKICAgICAgICAgIGZvcmVhY2goIHNlbGY6OiRfZmllbGRkZWZzIGFzICRvbmUgKSB7CiAgICAgICAgICAgICAgaWYoICEkb25lWydwdWJsaWMnXSApIGNvbnRpbnVlOwogICAgICAgICAgICAgICRvdXRbXSA9ICRvbmU7CiAgICAgICAgICB9CiAgICAgICAgICBpZiggIWNvdW50KCRvdXQpICkgcmV0dXJuOwogICAgICAgICAgcmV0dXJuICRvdXQ7CiAgICAgIH0KICAgICAgcmV0dXJuIHNlbGY6OiRfZmllbGRkZWZzOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZmllbGRkZWZfaWQoJG5hbWUpCiAgewogICAgICAkbmFtZSA9IHRyaW0oJG5hbWUpOwogICAgICAkZmllbGRkZWZzID0gc2VsZjo6Z2V0X2ZpZWxkZGVmcygpOwogICAgICBpZiggY291bnQoJGZpZWxkZGVmcykgKSB7CiAgICAgICAgICBmb3JlYWNoKCAkZmllbGRkZWZzIGFzICRpZCA9PiAkcmVjICkgewogICAgICAgICAgICAgIGlmKCAkcmVjWyduYW1lJ10gPT0gJG5hbWUgKSByZXR1cm4gJGlkOwogICAgICAgICAgfQogICAgICB9CiAgICAgIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oJ0NvdWxkIG5vdCBmaW5kIGEgZmllbGRkZWYgaWQgZm9yICcuJG5hbWUpOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZmlsZV9leHBpcnkoJGZpbGVfaWQpCiAgewogICAgICAkZmlsZV9pZCA9IChpbnQpICRmaWxlX2lkOwogICAgICBpZiggJGZpbGVfaWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbignSW52YWxpZCBmaWxlIGlkIHBhc3NlZCB0byAnLl9fTUVUSE9EX18pOwogICAgICAkdG1wID0gc2VsZjo6Z2V0X3VwbG9hZF9kZXRhaWxzKCRmaWxlX2lkKTsKICAgICAgJGNhdGVnb3J5X2lkID0gKGludCkgJHRtcFsndXBsb2FkX2NhdGVnb3J5X2lkJ107CgogICAgICAkY2F0ID0gc2VsZjo6Z2V0X2NhdGVnb3J5KCRjYXRlZ29yeV9pZCk7CiAgICAgICRocnMgPSAoaW50KSAkY2F0Wyd1cGxvYWRfY2F0ZWdvcnlfZXhwaXJlc19ocnMnXTsKICAgICAgaWYoICEkaHJzICkgcmV0dXJuOwoKICAgICAgJGRiID0gQ21zQXBwOjpnZXRfaW5zdGFuY2UoKS0+R2V0RGIoKTsKICAgICAgJHRzID0gKGludCkgJGRiLT5Vbml4VGltZVN0YW1wKCR0bXBbJ3VwbG9hZF9kYXRlJ10pOwogICAgICAkZXhwaXJ5ID0gJHRzICsgJGhycyAqIDM2MDA7CiAgICAgIHJldHVybiAkZXhwaXJ5OwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.upload_helper.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBVcGxvYWRzOwoKY2xhc3MgdXBsb2FkX2hlbHBlcgp7CiAgICAvLyBlbmNhcHN1bGF0ZSBhbiB1cGxvYWQsIGJ1dCBhbGxvdyByZWFkLW9ubHkgYWNjZXNzIHRvIG1lbWJlcnMKICAgIC8vIGFsc28gYWRkcyBhIGZldyBuZXcgbWVtYmVycy4KICAgIHByaXZhdGUgJF91cGxvYWQ7CiAgICBwcml2YXRlICRfcmV0dXJuaWQ7CiAgICBwcml2YXRlICRfY2F0ZWdvcnk7CgogICAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KHVwbG9hZCAkdXBsb2FkLCRyZXR1cm5pZCkKICAgIHsKICAgICAgICBpZiggJHVwbG9hZC0+aWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbihfX0NMQVNTX18uJyBjYW4gb25seSB3b3JrIHdpdGggZXhpc3RpbmcsIHNhdmVkIHVwbG9hZCcpOwogICAgICAgIGlmKCAkcmV0dXJuaWQgPCAxICkgdGhyb3cgbmV3IFxMb2dpY0V4Y2VwdGlvbihfX0NMQVNTX18uJyByZXF1aXJlcyBhIHZhbGlkIHJldHVybmlkIGZvciB1cmxzIHJlbGF0ZWQgdG8gdGhlIHVwbG9hZC4nKTsKICAgICAgICAkdGhpcy0+X3VwbG9hZCA9ICR1cGxvYWQ7CiAgICAgICAgJHRoaXMtPl9yZXR1cm5pZCA9IChpbnQpICRyZXR1cm5pZDsKICAgIH0KCiAgICBwdWJsaWMgZnVuY3Rpb24gX19pc3NldCgka2V5KQogICAgewogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdpY29udXJsJzoKICAgICAgICBjYXNlICdmaWxldHlwZSc6CiAgICAgICAgICAgIHJldHVybiB0cnVlOwoKICAgICAgICBjYXNlICdkZWxldGVfdXJsJzoKICAgICAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1VQTE9BRFMpOwogICAgICAgICAgICBpZiggJHRoaXMtPnZpZXdhYmxlICYmICRtb2QtPkdldFByZWZlcmVuY2UoJ2FsbG93X2RlbGV0ZScpICkgewogICAgICAgICAgICAgICAgJGNhdGVnb3J5ID0gJHRoaXMtPmdldF9jYXRlZ29yeSgpOwogICAgICAgICAgICAgICAgaWYoICRjYXRlZ29yeS0+ZGVsZXRhYmxlICkgcmV0dXJuIFRSVUU7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuIEZBTFNFOwoKICAgICAgICBjYXNlICdjYW5vbmljYWwnOgogICAgICAgIGNhc2UgJ3NlbmRmaWxlX3VybCc6CiAgICAgICAgY2FzZSAnZG93bmxvYWRfdXJsJzoKICAgICAgICBjYXNlICdvcmlnZmlsZV91cmwnOgogICAgICAgICAgICByZXR1cm4gJHRoaXMtPnZpZXdhYmxlOwoKICAgICAgICBjYXNlICd0aHVtYm5haWxfdXJsJzoKICAgICAgICAgICAgcmV0dXJuIChib29sKSAkdGhpcy0+dGh1bWJuYWlsOwoKICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICB9CiAgICB9CgogICAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgICB7CiAgICAgICAgJG1vZCA9IFxjbXNfdXRpbHM6OmdldF9tb2R1bGUoTU9EX1VQTE9BRFMpOwogICAgICAgIHN3aXRjaCggJGtleSApIHsKICAgICAgICBjYXNlICdpY29udXJsJzoKICAgICAgICAgICAgJGltZ3BhdGggPSAkbW9kLT5HZXRNb2R1bGVVUkxQYXRoKCkuJy9pbWFnZXMvJzsKICAgICAgICAgICAgJG91dCA9ICRpbWdwYXRoLid1bmtub3duLnBuZyc7CiAgICAgICAgICAgIGlmKCAkdGhpcy0+ZmlsZXR5cGUgKSAkb3V0ID0gJGltZ3BhdGguJHRoaXMtPmZpbGV0eXBlWydpbWFnZSddOwogICAgICAgICAgICByZXR1cm4gJG91dDsKCiAgICAgICAgY2FzZSAnZmlsZXR5cGUnOgogICAgICAgICAgICByZXR1cm4gJG1vZC0+X0dldEZpbGVUeXBlKCR0aGlzLT5uYW1lKTsKCiAgICAgICAgY2FzZSAnY2Fub25pY2FsJzoKICAgICAgICAgICAgaWYoICR0aGlzLT52aWV3YWJsZSApIHsKICAgICAgICAgICAgICAgICRwcmV0dHl1cmwgPSAidXBsb2Fkcy9maWxlL3skdGhpcy0+X3JldHVybmlkfS8iLiR0aGlzLT5pZC4nLycudXJsZW5jb2RlKCR0aGlzLT5uYW1lKTsKICAgICAgICAgICAgICAgIHJldHVybiAkbW9kLT5jcmVhdGVfdXJsKCdjbnRudDAxJywnZGV0YWlsJywkdGhpcy0+X3JldHVybmlkLGFycmF5KCd1cGxvYWRfaWQnPT4kdGhpcy0+aWQpLGZhbHNlLGZhbHNlLCRwcmV0dHl1cmwpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgY2FzZSAnZGVsZXRlX3VybCc6CiAgICAgICAgICAgIGlmKCAkdGhpcy0+dmlld2FibGUgJiYgJG1vZC0+R2V0UHJlZmVyZW5jZSgnYWxsb3dfZGVsZXRlJykgKSB7CiAgICAgICAgICAgICAgICAkY2F0ZWdvcnkgPSAkdGhpcy0+Z2V0X2NhdGVnb3J5KCk7CiAgICAgICAgICAgICAgICBpZiggJGNhdGVnb3J5LT5kZWxldGFibGUgKSB7CiAgICAgICAgICAgICAgICAgICAgcmV0dXJuICRtb2QtPmNyZWF0ZV91cmwoICdjbnRudDAxJywgJ2RlbGV0ZV9maWxlJywgJHRoaXMtPl9yZXR1cm5pZCwgYXJyYXkoJ3VwbG9hZF9pZCc9PiR0aGlzLT5pZCkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgY2FzZSAnc2VuZGZpbGVfdXJsJzoKICAgICAgICAgICAgaWYoICR0aGlzLT52aWV3YWJsZSApIHsKICAgICAgICAgICAgICAgIHJldHVybiAkbW9kLT5jcmVhdGVfdXJsKCdjbnRudDAxJywnc2VuZGZpbGUnLCR0aGlzLT5fcmV0dXJuaWQsYXJyYXkoJ3VwbG9hZF9pZCc9PiR0aGlzLT5pZCkpOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgY2FzZSAnZG93bmxvYWRfdXJsJzoKICAgICAgICAgICAgaWYoICR0aGlzLT52aWV3YWJsZSApIHsKICAgICAgICAgICAgICAgIHJldHVybiAkbW9kLT5jcmVhdGVfdXJsKCdjbnRudDAxJywnZ2V0ZmlsZScsJHRoaXMtPl9yZXR1cm5pZCwgYXJyYXkoJ3VwbG9hZF9pZCc9PiR0aGlzLT5pZCksZmFsc2UsZmFsc2UsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcdXBsb2Fkc191dGlsczo6X2dldF9jbGVhbl91cmwoJHRoaXMtPmlkLCR0aGlzLT5uYW1lKSk7CiAgICAgICAgICAgIH0KICAgICAgICAgICAgcmV0dXJuOwoKICAgICAgICBjYXNlICdvcmlnZmlsZV91cmwnOgogICAgICAgICAgICBpZiggJHRoaXMtPnZpZXdhYmxlICkgewogICAgICAgICAgICAgICAgJGNvbmZpZyA9IFxjbXNfY29uZmlnOjpnZXRfaW5zdGFuY2UoKTsKICAgICAgICAgICAgICAgICRjYXRlZ29yeSA9ICR0aGlzLT5nZXRfY2F0ZWdvcnkoKTsKICAgICAgICAgICAgICAgIHJldHVybiAkY29uZmlnWyd1cGxvYWRzX3VybCddLicvJy4kY2F0ZWdvcnktPnBhdGguJy8nLiR0aGlzLT5uYW1lOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgY2FzZSAndGh1bWJuYWlsX3VybCc6CiAgICAgICAgICAgIGlmKCAkdGhpcy0+dGh1bWJuYWlsICkgewogICAgICAgICAgICAgICAgJGNhdGVnb3J5ID0gJHRoaXMtPmdldF9jYXRlZ29yeSgpOwogICAgICAgICAgICAgICAgJHRuZmlsZSA9ICRtb2QtPl9jYXRlZ29yeVBhdGgoICRjYXRlZ29yeS0+cGF0aC4nLycuJHRoaXMtPnRodW1ibmFpbCk7CiAgICAgICAgICAgICAgICBpZiggaXNfZmlsZSgkdG5maWxlKSApIHsKICAgICAgICAgICAgICAgICAgICAkY29uZmlnID0gXGNtc19jb25maWc6OmdldF9pbnN0YW5jZSgpOwogICAgICAgICAgICAgICAgICAgICR0bnVybCA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uJy8nLiRjYXRlZ29yeS0+cGF0aC4nLycuJHRoaXMtPnRodW1ibmFpbDsKICAgICAgICAgICAgICAgICAgICByZXR1cm4gJHRudXJsOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybjsKCiAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgcmV0dXJuICR0aGlzLT5fdXBsb2FkLT5fX2dldCgka2V5KTsKICAgICAgICB9CiAgICB9CgogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIGdldF9jYXRlZ29yeSgpCiAgICB7CiAgICAgICAgaWYoICEkdGhpcy0+X2NhdGVnb3J5ICkgJHRoaXMtPl9jYXRlZ29yeSA9IFxVcGxvYWRzXGNhdGVnb3J5Ojpsb2FkX2J5X2lkKCR0aGlzLT5jYXRlZ29yeSk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fY2F0ZWdvcnk7CiAgICB9Cn0K]]></data>
	</file>
	<file>
	  <filename>/lib/class.yousendit_upload_handler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCm5hbWVzcGFjZSBVcGxvYWRzOwoKY2xhc3MgeW91c2VuZGl0X3VwbG9hZF9oYW5kbGVyIGV4dGVuZHMgYXN5bmNfdXBsb2FkX2hhbmRsZXIKewogICAgcHVibGljIGZ1bmN0aW9uIGNvbnN0cnVjdCggJG9wdHMgPSBudWxsICkKICAgIHsKICAgICAgICBpZiggIWlzX2FycmF5KCRvcHRzKSB8fCBlbXB0eSgkb3B0c1snY29kZSddKSApIHRocm93IG5ldyBcTG9naWNFeGNlcHRpb24oX19DTEFTU19fLicgcmVxdWlyZXMgYW4gb3B0aW9uIHdpdGggdGhlIHVuaXF1ZSBhY2Nlc3MgY29kZScpOwogICAgICAgIHBhcmVudDo6X19jb25zdHJ1Y3QoJG9wdHMpOwogICAgfQoKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBhZGp1c3RfZmlsZW5hbWUoJG5hbWUsJHR5cGUpCiAgICB7CiAgICAgICAgaWYoIGlzc2V0KCR0aGlzLT5vcHRpb25zWydjb2RlJ10pICkgewogICAgICAgICAgICAkbmFtZSA9ICR0aGlzLT5vcHRpb25zWydjb2RlJ107CiAgICAgICAgfQogICAgICAgICRvdXQgPSBwYXJlbnQ6OmFkanVzdF9maWxlbmFtZSgkbmFtZSwkdHlwZSk7CiAgICAgICAgZGVidWdfdG9fbG9nKCdkZXN0IGZpbGVuYW1lIGlzICcuJG91dCk7CiAgICAgICAgcmV0dXJuICRvdXQ7CiAgICB9Cn0gLy8gZW5kIG9mIGNsYXNz]]></data>
	</file>
	<file>
	  <filename>/lib/extraclasses.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCmNsYXNzIFVwbG9hZHNFeGNlcHRpb24gZXh0ZW5kcyBFeGNlcHRpb24ge30KCj8+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgppZiggdmVyc2lvbl9jb21wYXJlKHBocHZlcnNpb24oKSwnNS40LjMnKSA8IDAgKSB7CiAgICByZXR1cm4gIk1pbmltdW0gUEhQIHZlcnNpb24gb2YgNS40LjMgcmVxdWlyZWQiOwp9CgokZGIgPSAkdGhpcy0+R2V0RGIoKTsKJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSAoJGRiKTsKJHRhYm9wdGFycmF5ID0gYXJyYXkgKCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CgovLyB0YWJsZSBzY2hlbWEgZGVzY3JpcHRpb24KJGZsZHMgPSAidXBsb2FkX2lkIEkgS0VZLAogICAgICAgICB1cGxvYWRfY2F0ZWdvcnlfaWQgSSwKICAgICAgICAgdXBsb2FkX25hbWUgQygyNTUpLAogICAgICAgICB1cGxvYWRfYXV0aG9yIEMoMjU1KSwKICAgICAgICAgdXBsb2FkX3N1bW1hcnkgQygyNTUpLAogICAgICAgICB1cGxvYWRfZGVzY3JpcHRpb24gWCwKICAgICAgICAgdXBsb2FkX2lwIEMoMjU1KSwKICAgICAgICAgdXBsb2FkX3NpemUgSSwKICAgICAgICAgdXBsb2FkX2RhdGUgIi5DTVNfQURPREJfRFQuIiwKICAgICAgICAgdXBsb2FkX2tleSAgQygyNTUpLAogICAgICAgICB1cGxvYWRfdGh1bWJuYWlsIEMoMjU1KSwKICAgICAgICAgdXBsb2FkX3VzZXJwZXJtcyBYCgkgIjsKCi8vIGNyZWF0ZSBpdC4gVGhpcyBzaG91bGQgZG8gZXJyb3IgY2hlY2tpbmcsIGJ1dCBJJ20gYSBsYXp5IHNvZC4KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMIChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkgKCRzcWxhcnJheSk7CgovLyBhIHRhYmxlIGZvciBkb3dubG9hZHMKJGZsZHMgPSAiZG93bmxvYWRfaWQgSSBLRVksCiAJIGZpbGVfaWQgICAgIEksCgkgZG93bmxvYWRfZGF0ZSAiLkNNU19BRE9EQl9EVC4iLAogICAgIGRvd25sb2FkX2lwICAgQygyNTUpLAogICAgIGRvd25sb2FkX3VzZXIgQygyNTUpLAogICAgIHVybF9rZXkgIEMoNDApCgkgIjsKCi8vIGNyZWF0ZSBpdC4gVGhpcyBzaG91bGQgZG8gZXJyb3IgY2hlY2tpbmcsIGJ1dCBJJ20gYSBsYXp5IHNvZC4KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMIChjbXNfZGJfcHJlZml4ICgpLiJtb2R1bGVfdXBsb2Fkc19kb3dubG9hZHMiLCAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSAoJHNxbGFycmF5KTsKCi8vIGEgdGFibGUgZm9yIGNhdGVnb3JpZXMKJGZsZHMgPSAidXBsb2FkX2NhdGVnb3J5X2lkIEkgS0VZLAoJIHVwbG9hZF9jYXRlZ29yeV9uYW1lIEMoMjU1KSwKCSB1cGxvYWRfY2F0ZWdvcnlfZGVzY3JpcHRpb24gWCwKICAgdXBsb2FkX2NhdGVnb3J5X3BhdGggQygyNTUpIEtFWSwKCSB1cGxvYWRfY2F0ZWdvcnlfbGlzdGFibGUgSSwKICAgdXBsb2FkX2NhdGVnb3J5X2dyb3VwcyBDKDI1NSksCiAgIHVwbG9hZF9jYXRlZ29yeV9kZWxldGFibGUgSSwKICAgdXBsb2FkX2NhdGVnb3J5X2V4cGlyZXNfaHJzIEksCiAgIHVwbG9hZF9jYXRlZ29yeV9zY2FubmFibGUgSTEsCiAgIHVwbG9hZF9jYXRlZ29yeV91c2VycGVybXMgSTEsCiAgIHVwbG9hZF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zIFgKCSAiOwoKLy8gY3JlYXRlIGl0LiBUaGlzIHNob3VsZCBkbyBlcnJvciBjaGVja2luZywgYnV0IEknbSBhIGxhenkgc29kLgokdGFib3B0YXJyYXkgPSBhcnJheSAoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMIChjbXNfZGJfcHJlZml4ICgpLiJtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkgKCRzcWxhcnJheSk7CgovLyBhIHRhYmxlIGZvciBmaWxlIHR5cGVzCiRmbGRzID0gImlkIEksCiAgICAgICAgIHNvcnRvcmRlciBJLAogICAgICAgICBuYW1lICBDKDI1NSksCiAgICAgICAgIGRlc2NyaXB0aW9uIFgsCiAgICAgICAgIGV4dGVuc2lvbnMgQygyNTUpLAogICAgICAgICBpbWFnZSBDKDI1NSkKICAgICAgICAgIjsKJHRhYm9wdGFycmF5ID0gYXJyYXkgKCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCAoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2Fkc19maWxldHlwZXMiLCAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSAoJHNxbGFycmF5KTsKCi8vIGEgdGFibGUgZm9yIGZpZWxkIGRlZmluaXRpb25zLgokZmxkcyA9ICIKICAgICAgICAgaWQgICAgICBJIEtFWSBBVVRPLAogICAgICAgICBuYW1lICAgIEMoMjU1KSwKICAgICAgICAgdHlwZSAgICBDKDIwKSwKICAgICAgICAgYXR0cmlicyBYLAogICAgICAgICBpb3JkZXIgIEksCiAgICAgICAgIHB1YmxpYyAgSTEiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGRkZWZzJywgJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkgKCRzcWxhcnJheSk7CgovLyBhIHRhYmxlIGZvciBmaWVsZCB2YWx1ZXMKJGZsZHMgPSAidXBsb2FkX2lkIEkgS0VZLAogICAgICAgICBmbGRfaWQgICAgSSBLRVksCiAgICAgICAgIHZhbHVlICAgICBYIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2ZpZWxkdmFscycsICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5ICgkc3FsYXJyYXkpOwoKLy8gYSB0YWJsZSBmb3IgdGltZSBsaW1pdGVkIHVybHMKJGZsZHMgPSAidGxrZXlfaWQgIEkgS0VZIEFVVE8sCiAgICAgICAgIHVwbG9hZF9pZCBJLAogICAgICAgICBlbWFpbCAgICAgQygyNTUpLAogICAgICAgICB1cmxfa2V5ICAgQygxNiksCiAgICAgICAgIGNyZWF0ZWQgICAiLkNNU19BRE9EQl9EVC4iLAogICAgICAgICBleHBpcmVzICAgIi5DTVNfQURPREJfRFQuIiwKICAgICAgICAgbWF4X2Rvd25sb2FkcyBJIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX3RpbWVsaW1pdCcsICRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5ICgkc3FsYXJyYXkpOwoKLy8gY3JlYXRlIGEgc2VxdWVuY2UKJGRiLT5DcmVhdGVTZXF1ZW5jZSAoY21zX2RiX3ByZWZpeCAoKS4ibW9kdWxlX3VwbG9hZHNfc2VxIik7CgovLyBhbmQgYW5vdGhlciBvbmUKJGRiLT5DcmVhdGVTZXF1ZW5jZSAoY21zX2RiX3ByZWZpeCAoKS4ibW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllc19zZXEiKTsKCi8vIGFuZCBhIHRoaXJkIG9uZQokZGItPkNyZWF0ZVNlcXVlbmNlIChjbXNfZGJfcHJlZml4ICgpLiJtb2R1bGVfdXBsb2Fkc19kb3dubG9hZHNfc2VxIik7CgovLyBhbmQgYSBmb3VydGgKJGRiLT5DcmVhdGVTZXF1ZW5jZSAoY21zX2RiX3ByZWZpeCAoKS4ibW9kdWxlX3VwbG9hZHNfZmlsZXR5cGVzX3NlcSIpOwoKLy8gYW5kIGFuIGluZGV4Lgokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ2luZGV4X2Rvd25sb2FkX2ZpbGVpZCcsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19kb3dubG9hZHMnLCdmaWxlX2lkJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdpbmRleF91cGxvYWRfbmFtZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcycsJ3VwbG9hZF9uYW1lJyk7IC8vIG5vdGUsIG5vdCBhIHVuaXF1ZSBpbmRleC4KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKLy8gY3JlYXRlIGEgcGVybWlzc2lvbgokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbiAoJ01hbmFnZSBVcGxvYWRzJywgJ01hbmFnZSBVcGxvYWRzJyk7CiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uICgnVXBsb2FkIEZpbGVzIHRvIFVwbG9hZHMnLCAnVXBsb2FkIEZpbGVzIHRvIFVwbG9hZHMnKTsKJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24gKCdDcmVhdGUgVXBsb2FkcyBSZXBvcnRzJywnQ3JlYXRlIFVwbG9hZHMgUmVwb3J0cycpOwoKLy8gY3JlYXRlIGEgcHJlZmVyZW5jZQokdGhpcy0+U2V0UHJlZmVyZW5jZSAoInZhbGlkX3VwbG9hZGV4dGVuc2lvbnMiLCJwbmcsZ2lmLGpwZyxKUEVHLGJtcCx3bWYsd21hLHdtdixtcGcsemlwLHRhcixneixiejIsbXAzLHdhdixhdSxvZ2cseG1sLHBkZiIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSAoInN1Ym5ldF9leGNsdXNpb25zIiwgIiIgKTsKJHRoaXMtPlNldFByZWZlcmVuY2UgKCdjcmVhdGVfZHVtbXlfaW5kZXhfaHRtbCcsIDEpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSAoJ3NlbmRfdXBsb2FkX25vdGlmaWNhdGlvbnNfdG8nLCcnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UgKCdyZXF1aXJlZmlsZW5hbWVfZXh0ZW5zaW9ucycsMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlICgnZG93bmxvYWRfY2h1bmtzaXplJyw4KTsKJHRoaXMtPlNldFByZWZlcmVuY2UgKCdjYXRlZ29yeV9leHBpcnknLDApOwoKJGZuID0gX19ESVJfXy5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ29yaWdfdXBsb2FkZm9ybV90ZW1wbGF0ZS50cGwnOwppZiggZmlsZV9leGlzdHMoICRmbiApICkgewoJJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXBsb2FkZm9ybV9zeXNkZWZhdWx0JywkdGVtcGxhdGUpOwoJJHRoaXMtPlNldFRlbXBsYXRlKCd1cGxvYWRmb3JtX2RlZmF1bHQnLCR0ZW1wbGF0ZSk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF91cGxvYWRmb3JtJywnZGVmYXVsdCcpOwp9CgokZm4gPSBfX0RJUl9fLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nb3JpZ19zdW1tYXJ5cnB0X3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzdW1tYXJ5cnB0X3N5c2RlZmF1bHQnLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3N1bW1hcnlycHRfZGVmYXVsdCcsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N1bW1hcnlycHQnLCdkZWZhdWx0Jyk7Cn0KCiRmbiA9IF9fRElSX18uRElSRUNUT1JZX1NFUEFSQVRPUi4gJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nb3JpZ19kZXRhaWxycHRfdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RldGFpbHJwdF9zeXNkZWZhdWx0JywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkZXRhaWxycHRfZGVmYXVsdCcsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2RldGFpbHJwdCcsJ2RlZmF1bHQnKTsKfQoKLy8gc2VuZGZpbGUgZm9ybSB0ZW1wbGF0ZQokZm4gPSBfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfc2VuZGZpbGVmb3JtX3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZW5kZmlsZWZvcm1fc3lzZGVmYXVsdCcsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VuZGZpbGVmb3JtX2RlZmF1bHQnLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9zZW5kZmlsZWZvcm0nLCdkZWZhdWx0Jyk7Cn0KCi8vIHlvdXNlbmRpdGZvcm0gdGVtcGxhdGUKJGZuID0gX19ESVJfXy4nL3RlbXBsYXRlcy9vcmlnX3lvdXNlbmRpdGZvcm1fdGVtcGxhdGUudHBsJzsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3lvdXNlbmRpdGZvcm1fc3lzZGVmYXVsdCcsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgneW91c2VuZGl0Zm9ybV9kZWZhdWx0JywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfeW91c2VuZGl0Zm9ybScsJ2RlZmF1bHQnKTsKfQoKLy8gdGVtcGxhdGUgdXNlZCBmb3Igc2VuZGZpbGUgZW1haWwKJGZuID0gX19ESVJfXy4nL3RlbXBsYXRlcy9vcmlnX3NlbmRmaWxlcnB0X3RlbXBsYXRlLnRwbCc7CmlmKCBmaWxlX2V4aXN0cygkZm4pICkgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoICd1cGxvYWRfc2VuZGZpbGVycHQnLCAkdGVtcGxhdGUpOwp9CgovLyB0ZW1wbGF0ZSB1c2VkIGZvciBlbWFpbCBub3RpZmljYXRpb25zCiRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19lbWFpbG5vdGlmeV90ZW1wbGF0ZS50cGwnOwppZiggZmlsZV9leGlzdHMoJGZuKSApIHsKICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoICd1cGxvYWRfZW1haWx0ZW1wbGF0ZScsICR0ZW1wbGF0ZSk7Cn0KCiRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19jYXRlZ29yeWxpc3RfdGVtcGxhdGUudHBsJzsKJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0ZWdvcnlsaXN0X3N5c2RmbHQnLCR0ZW1wbGF0ZSk7CiR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0ZWdvcnlsaXN0X1NhbXBsZScsJHRlbXBsYXRlKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RmbHRfY2F0ZWdvcnlsaXN0JywnU2FtcGxlJyk7CgokdGhpcy0+U2V0VGVtcGxhdGUoJ2NhdGVnb3J5bGlzdCcsJHRlbXBsYXRlKTsKCiR0bXAgPSBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfaHRtbHJlcG9ydF9kb3dubG9hZHNieXVzZXIudHBsJyk7CiR0aGlzLT5TZXRUZW1wbGF0ZSgncmRsX1NhbXBsZScsJHRtcCk7CiR0bXAgPSBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfaHRtbHJlcG9ydF9kb3dubG9hZHNieWZpbGUudHBsJyk7CiR0aGlzLT5TZXRUZW1wbGF0ZSgncmRmX1NhbXBsZScsJHRtcCk7CgovLyBFdmVudCBoYW5kbGVycwokdGhpcy0+Q3JlYXRlRXZlbnQoICJPblVwbG9hZCIgKTsKJHRoaXMtPkNyZWF0ZUV2ZW50KCAiT25SZW1vdmUiICk7CiR0aGlzLT5DcmVhdGVFdmVudCggIk9uRG93bmxvYWQiICk7CiR0aGlzLT5DcmVhdGVFdmVudCggIk9uQ3JlYXRlQ2F0ZWdvcnkiICk7CiR0aGlzLT5DcmVhdGVFdmVudCggIk9uRGVsZXRlQ2F0ZWdvcnkiICk7CgovLyBEZWZhdWx0IGZpbGUgdHlwZXMKJHRoaXMtPl9JbnNlcnREZWZhdWx0RmlsZVR5cGVzKCk7CgovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cKJHRoaXMtPkF1ZGl0KCcnLCAkdGhpcy0+TGFuZyAoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZyAoJ2luc3RhbGxlZCcsICR0aGlzLT5HZXRWZXJzaW9uICgpKSk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKCiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKCiAgICAvLyByZW1vdmUgdGhlIGRhdGFiYXNlIHRhYmxlCiAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5ICgkZGIpOwogICAgJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCAoY21zX2RiX3ByZWZpeCAoKS4ibW9kdWxlX3VwbG9hZHMiKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkgKCRzcWxhcnJheSk7CgogICAgLy8gcmVtb3ZlIHRoZSBzZXF1ZW5jZQogICAgJGRiLT5Ecm9wU2VxdWVuY2UgKGNtc19kYl9wcmVmaXggKCkuIm1vZHVsZV91cGxvYWRzX3NlcSIpOwoKICAgIC8vIHJlbW92ZSB0aGUgY2F0ZWdvcnkgdGFibGUKICAgICRzcWxhcnJheSA9CiAgICAgICRkaWN0LT5Ecm9wVGFibGVTUUwgKGNtc19kYl9wcmVmaXggKCkuIm1vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMiKTsKCiAgICAvLyByZW1vdmUgaXQncyBzZXF1ZW5jZQogICAgJGRiLT5Ecm9wU2VxdWVuY2UgKGNtc19kYl9wcmVmaXggKCkuIm1vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXNfc2VxIik7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5ICgkc3FsYXJyYXkpOwoKICAgIC8vIHJlbW92ZSB0aGUgZG93bmxvYWRzIHRhYmxlCiAgICAkc3FsYXJyYXkgPQogICAgICAkZGljdC0+RHJvcFRhYmxlU1FMIChjbXNfZGJfcHJlZml4ICgpLiJtb2R1bGVfdXBsb2Fkc19kb3dubG9hZHMiKTsKCiAgICAvLyBhbmQgaXQncyBzZXF1ZW5jZQogICAgJGRiLT5Ecm9wU2VxdWVuY2UgKGNtc19kYl9wcmVmaXggKCkuIm1vZHVsZV91cGxvYWRzX2Rvd25sb2Fkc19zZXEiKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkgKCRzcWxhcnJheSk7CgogICAgLy8gcmVtb3ZlIHRoZSBmaWxldHlwZXMgdGFibGUKICAgICRzcWxhcnJheSA9CiAgICAgICRkaWN0LT5Ecm9wVGFibGVTUUwgKGNtc19kYl9wcmVmaXggKCkuIm1vZHVsZV91cGxvYWRzX2ZpbGV0eXBlcyIpOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSAoJHNxbGFycmF5KTsKCiAgICAvLyBhbmQgaXQncyBzZXF1ZW5jZQogICAgJGRiLT5Ecm9wU2VxdWVuY2UgKGNtc19kYl9wcmVmaXggKCkuIm1vZHVsZV91cGxvYWRzX2ZpbGV0eXBlc19zZXEiKTsKCiAgICAkc3FsYXJyYXkgPQogICAgICAkZGljdC0+RHJvcFRhYmxlU1FMIChjbXNfZGJfcHJlZml4ICgpLiJtb2R1bGVfdXBsb2Fkc19maWVsZGRlZnMiKTsKICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkgKCRzcWxhcnJheSk7CgogICAgJHNxbGFycmF5ID0KICAgICAgJGRpY3QtPkRyb3BUYWJsZVNRTCAoY21zX2RiX3ByZWZpeCAoKS4ibW9kdWxlX3VwbG9hZHNfZmllbGR2YWxzIik7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5ICgkc3FsYXJyYXkpOwoKICAgICRzcWxhcnJheSA9CiAgICAgICRkaWN0LT5Ecm9wVGFibGVTUUwgKGNtc19kYl9wcmVmaXggKCkuIm1vZHVsZV91cGxvYWRzX3RpbWVsaW1pdCIpOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSAoJHNxbGFycmF5KTsKCgogICAgLy8gcmVtb3ZlIHRoZSBwZXJtaXNzaW9ucwogICAgJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24gKCdNYW5hZ2UgVXBsb2FkcycpOwogICAgJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24gKCdVcGxvYWQgRmlsZXMgdG8gVXBsb2FkcycpOwogICAgJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24gKCdDcmVhdGUgVXBsb2FkcyBSZXBvcnRzJyk7CgogICAgLy8gcmVtb3ZlIGFsbCBvZiB0aGUgdGhlIHByZWZlcmVuY2VzIGZvciB0aGlzIG1vZHVsZQogICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UgKCk7CgogICAgLy8gcmVtb3ZlIHRlbXBsYXRlcwogICAgJHRlbXBsYXRlcyA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCk7CiAgICBmb3JlYWNoKCAkdGVtcGxhdGVzIGFzICR0cGwgKQogICAgICB7CgkkdGhpcy0+RGVsZXRlVGVtcGxhdGUoJHRwbCk7CiAgICAgIH0KCiAgICAvLyByZW1vdmUgZXZlbnRzCiAgICAkdGhpcy0+UmVtb3ZlRXZlbnQoIk9uVXBsb2FkIiApOwogICAgJHRoaXMtPlJlbW92ZUV2ZW50KCJPblJlbW92ZSIgKTsKICAgICR0aGlzLT5SZW1vdmVFdmVudCgiT25Eb3dubG9hZCIgKTsKICAgICR0aGlzLT5SZW1vdmVFdmVudCgiT25DcmVhdGVDYXRlZ29yeSIgKTsKICAgICR0aGlzLT5SZW1vdmVFdmVudCgiT25EZWxldGVDYXRlZ29yeSIgKTsKICAgICR0aGlzLT5SZW1vdmVFdmVudEhhbmRsZXIoJ0NvcmUnLCdDb250ZW50UG9zdFJlbmRlcicpOwoKICAgIC8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZwogICAgJHRoaXMtPkF1ZGl0ICgwLCAkdGhpcy0+TGFuZyAoJ2ZyaWVuZGx5bmFtZScpLAoJCSAgJHRoaXMtPkxhbmcgKCd1bmluc3RhbGxlZCcpKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgppZiggdmVyc2lvbl9jb21wYXJlKHBocHZlcnNpb24oKSwnNS40LjMnKSA8IDAgKSB7CiAgICByZXR1cm4gIk1pbmltdW0gUEhQIHZlcnNpb24gb2YgNS40LjMgcmVxdWlyZWQiOwp9CgokdGFib3B0YXJyYXkgPSBhcnJheSAoJ215c3FsJyA9PiAnVFlQRT1NeUlTQU0nKTsKCiRjdXJyZW50X3ZlcnNpb24gPSAkb2xkdmVyc2lvbjsKc3dpdGNoKCAkb2xkdmVyc2lvbiApIHsKY2FzZSAiMS4xLjAiOgpjYXNlICIxLjEuMSI6CmNhc2UgIjEuMS4yIjoKY2FzZSAiMS4xLjMiOgpjYXNlICIxLjEuNCI6CmNhc2UgIjEuMS41IjoKY2FzZSAiMS4xLjYiOgogIAkkdGhpcy0+U2V0UHJlZmVyZW5jZSAoJ3NlbmRfdXBsb2FkX25vdGlmaWNhdGlvbnNfdG8nLCcnKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSggJ3VwbG9hZF9lbWFpbHRlbXBsYXRlJywgJHRoaXMtPmRmbHRfZW1haWxub3RpZnl0ZW1wbGF0ZSApOwoJCXJldHVybjsKfQoKc3dpdGNoICgkb2xkdmVyc2lvbikgewpjYXNlICIxLjAiOgpjYXNlICIxLjAuMSI6CmNhc2UgIjEuMC4yIjoKY2FzZSAiMS4wLjMiOgpjYXNlICIxLjAuNCI6CmNhc2UgIjEuMC41IjoKY2FzZSAiMS4wLjYiOgpjYXNlICIxLjAuNyI6CmNhc2UgIjEuMC44IjoKY2FzZSAiMS4wLjkiOgpjYXNlICIxLjIuMCI6CmNhc2UgJzEuMi4xJzoKY2FzZSAnMS4yLjInOgpjYXNlICcxLjIuMyc6CglyZXR1cm4gZmFsc2U7CgpjYXNlICcxLjMuMC1iZXRhMyc6CnsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlICgnZG93bmxvYWRfY2h1bmtzaXplJyw4KTsKfQpjYXNlICcxLjMuMC1iZXRhNSc6CnsKCS8vIGFkZCBhIGdyb3VwcyBmaWVsZCB0byB0aGUgY2F0ZWdvcmllcyB0YWJsZQoJLy8gaXQgY29udGFpbnMgRkVVIGdyb3VwIElEJ3MgKGNvbW1hIHNlcGVyYXRlZCkKCSRkYiA9ICR0aGlzLT5HZXREYigpOwoJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMiLAoJCQkJCQkJCQkJCQkJCQkJCSJ1cGxvYWRfY2F0ZWdvcnlfZ3JvdXBzIEMoMjU1KSIpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7Cn0KY2FzZSAnMS4zLjAnOgpjYXNlICcxLjMuMSc6CnsKCS8vIGFuZCBhbiB1cGxvYWRfdGh1bWJuYWlsIGZpZWxkIHRvIHRoZSB1cGxvYWRzIHRhYmxlLgoJJGRiID0gJHRoaXMtPkdldERiKCk7CgkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7Cgkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHMiLAoJCQkJCQkJCQkJCQkJCQkJCSJ1cGxvYWRfdGh1bWJuYWlsIEMoMjU1KSIpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CgoJLy8KCS8vIEdldCBsaXN0IG9mIGNhdGVnb3JpZXMKCS8vCgkkcXVlcnkgPSAnU0VMRUNUIHVwbG9hZF9jYXRlZ29yeV9pZCx1cGxvYWRfY2F0ZWdvcnlfcGF0aAogICAgICAgICAgICAgICAgICAgIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMnOwoJJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCSRjYXRlZ29yaWVzID0gYXJyYXkoKTsKCWZvcmVhY2goICR0bXAgYXMgJG9uZSApIHsKCQkkY2F0ZWdvcmllc1skb25lWyd1cGxvYWRfY2F0ZWdvcnlfaWQnXV0gPSAkb25lOwoJfQoKCS8vCgkvLyBGb3IgZWFjaCBmaWxlCgkvLwoJJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKCSRxdWVyeSA9ICdTRUxFQ1QgdXBsb2FkX2NhdGVnb3J5X2lkLHVwbG9hZF9pZCx1cGxvYWRfbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkcyc7CgkkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkkdXBkYXRlcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2FkcyBTRVQgdXBsb2FkX3RodW1ibmFpbCA9ID8gV0hFUkUgdXBsb2FkX2lkID0gPyc7Cgl3aGlsZSggJGRiciAmJiAoJHJvdyA9ICRkYnItPkZldGNoUm93KCkpICkKCSAgewoJICAgIC8vIGdldCBwYXRoIHRvIHRodW1ibmFpbAoJICAgICRkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLAoJCQkJICRjYXRlZ29yaWVzWyRyb3dbJ3VwbG9hZF9jYXRlZ29yeV9pZCddXVsndXBsb2FkX2NhdGVnb3J5X3BhdGgnXSk7CgkgICAgJG9sZHRodW1iID0gY21zX2pvaW5fcGF0aCgkZGlyLCcudGh1bWJzJywKCQkJCSAgICAgICRyb3dbJ3VwbG9hZF9pZCddLidfdGh1bWInKTsKCSAgICBpZiggIWZpbGVfZXhpc3RzKCRvbGR0aHVtYikgKSBjb250aW51ZTsKCgkgICAgJHRtcCA9IEBnZXRpbWFnZXNpemUoJG9sZHRodW1iKTsKCSAgICBpZiggIWlzX2FycmF5KCR0bXApIHx8ICR0bXBbMF0gPT0gMCApIGNvbnRpbnVlOwoKCSAgICAkdGh1bWJ0eXBlID0gJHRtcFsyXTsKCSAgICAkdGh1bWJleHQgPSBAaW1hZ2VfdHlwZV90b19leHRlbnNpb24oJHRodW1idHlwZSk7CgkgICAgJGZuYW1lZXh0ID0gc3RycmNocigkcm93Wyd1cGxvYWRfbmFtZSddLCcuJyk7CgkgICAgJGZuYW1lID0gc3Vic3RyKCRyb3dbJ3VwbG9hZF9uYW1lJ10sMCxzdHJsZW4oJHJvd1sndXBsb2FkX25hbWUnXSktc3RybGVuKCRmbmFtZWV4dCkpOwoJICAgICR0aHVtYm5hbWUgPSAndGh1bWJfJy4kZm5hbWUuJHRodW1iZXh0OwoJICAgICRuZXd0aHVtYiA9IGNtc19qb2luX3BhdGgoJGRpciwkdGh1bWJuYW1lKTsKCgkgICAgLy8gcmVuYW1lIHRodW1ibmFpbCBmaWxlcwoJICAgIEByZW5hbWUoJG9sZHRodW1iLCRuZXd0aHVtYik7CgkgICAgQHVubGluaygkb2xkdGh1bWIpOwoKCSAgICAvLyB1cGRhdGUgdGhlIGRhdGFiYXNlCgkgICAgJGRiLT5FeGVjdXRlKCR1cGRhdGVxdWVyeSxhcnJheSgkdGh1bWJuYW1lLCRyb3dbJ3VwbG9hZF9pZCddKSk7CgkgIH0KCiAgICAgICAgLy8gcmVtb3ZlIHRoZSAudGh1bWJzIGRpcmVjdG9yeSBmb3IgZWFjaCBjYXRlZ29yeQoJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGNhdGVnb3JpZXMpOyAkaSsrICkKCSAgewoJICAgICRkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLAoJCQkJICRjYXRlZ29yaWVzWyRpXVsndXBsb2Fkc19jYXRlZ29yeV9wYXRoJ10sCgkJCQkgJy50aHVtYnMnKTsKCSAgICByZWN1cnNpdmVfZGVsZXRlKCRkaXIpOwoJICB9CiAgICAgIH0KICAgIGNhc2UgJzEuNCc6CiAgICBjYXNlICcxLjQuMSc6CiAgICAgIHsKCSRkYiA9ICR0aGlzLT5HZXREYigpOwoJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMiLAoJCQkJCSJ1cGxvYWRfY2F0ZWdvcnlfZGVsZXRhYmxlIEkiKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwogICAgICB9CgogICAgY2FzZSAnMS41JzoKICAgIGNhc2UgJzEuNS4xJzoKICAgICAgewoJLy8gc2VuZGZpbGUgZm9ybSB0ZW1wbGF0ZQoJJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ19zZW5kZmlsZWZvcm1fdGVtcGxhdGUudHBsJzsKCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQoJICB7CgkgICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CgkgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbmRmaWxlZm9ybV9zeXNkZWZhdWx0JywkdGVtcGxhdGUpOwoJICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VuZGZpbGVmb3JtX2RlZmF1bHQnLCR0ZW1wbGF0ZSk7CgkgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfc2VuZGZpbGVmb3JtJywnZGVmYXVsdCcpOwoJICB9CgoJLy8geW91c2VuZGl0Zm9ybSB0ZW1wbGF0ZQoJJGZuID0gZGlybmFtZShfX0ZJTEVfXykuJy90ZW1wbGF0ZXMvb3JpZ195b3VzZW5kaXRmb3JtX3RlbXBsYXRlLnRwbCc7CglpZiggZmlsZV9leGlzdHMoICRmbiApICkKCSAgewoJICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd5b3VzZW5kaXRmb3JtX3N5c2RlZmF1bHQnLCR0ZW1wbGF0ZSk7CgkgICAgJHRoaXMtPlNldFRlbXBsYXRlKCd5b3VzZW5kaXRmb3JtX2RlZmF1bHQnLCR0ZW1wbGF0ZSk7CgkgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfeW91c2VuZGl0Zm9ybScsJ2RlZmF1bHQnKTsKCSAgfQoKCS8vIHRlbXBsYXRlIHVzZWQgZm9yIHNlbmRmaWxlIGVtYWlsCgkkZm4gPSBkaXJuYW1lKF9fRklMRV9fKS4nL3RlbXBsYXRlcy9vcmlnX3NlbmRmaWxlcnB0X3RlbXBsYXRlLnRwbCc7CglpZiggZmlsZV9leGlzdHMoJGZuKSApCgkgIHsKCSAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKCSAgICAkdGhpcy0+U2V0VGVtcGxhdGUoICd1cGxvYWRfc2VuZGZpbGVycHQnLCAkdGVtcGxhdGUpOwoJICB9CiAgICAgIH0KCiAgICBjYXNlICcxLjYnOgogICAgICB7CgkkZGIgPSAkdGhpcy0+R2V0RGIoKTsKCSRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCgkvLyBhIHRhYmxlIGZvciBmaWVsZCBkZWZpbml0aW9ucy4KCSRmbGRzID0gIgogICAgICAgICBpZCAgICAgIEkgS0VZIEFVVE8sCiAgICAgICAgIG5hbWUgICAgQygyNTUpLAogICAgICAgICB0eXBlICAgIEMoMjApLAogICAgICAgICBhdHRyaWJzIFgsCiAgICAgICAgIGlvcmRlciAgSSwKICAgICAgICAgcHVibGljICBJMSI7Cgkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfZmllbGRkZWZzJywKCQkJCQkgICAkZmxkcywgJHRhYm9wdGFycmF5KTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkgKCRzcWxhcnJheSk7CgoKCS8vIGEgdGFibGUgZm9yIGZpZWxkIHZhbHVlcwoJJGZsZHMgPSAidXBsb2FkX2lkIEkgS0VZLAogICAgICAgICBmbGRfaWQgICAgSSBLRVksCiAgICAgICAgIHZhbHVlICAgICBYIjsKCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19maWVsZHZhbHMnLAoJCQkJCSAgICRmbGRzLCAkdGFib3B0YXJyYXkpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSAoJHNxbGFycmF5KTsKCgkvLyBhIHRhYmxlIGZvciB0aW1lIGxpbWl0ZWQgdXJscwoJJGZsZHMgPSAiCiAgICAgICAgIHRsa2V5X2lkICBJIEtFWSBBVVRPLAogICAgICAgICB1cGxvYWRfaWQgSSwKICAgICAgICAgZW1haWwgICAgIEMoMjU1KSwKICAgICAgICAgdXJsX2tleSAgIEMoMTYpLAogICAgICAgICBjcmVhdGVkICAgIi5DTVNfQURPREJfRFQuIiwKICAgICAgICAgZXhwaXJlcyAgICIuQ01TX0FET0RCX0RULiIsCiAgICAgICAgIG1heF9kb3dubG9hZHMgSSI7Cgkkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfdGltZWxpbWl0JywKCQkJCQkgICAkZmxkcywgJHRhYm9wdGFycmF5KTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkgKCRzcWxhcnJheSk7CgoJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2Rvd25sb2FkcyIsCgkJCQkJInVybF9rZXkgQyg0MCkiKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoKICAgICAgfQoKICAgIGNhc2UgJzEuOSc6CiAgICBjYXNlICcxLjkuMSc6CiAgICBjYXNlICcxLjkuMic6CiAgICBjYXNlICcxLjkuMyc6CiAgICBjYXNlICcxLjkuNCc6CiAgICAgIHsKCSRkYiA9ICR0aGlzLT5HZXREYigpOwoJJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwoJJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMiLAoJCQkJCSJ1cGxvYWRfY2F0ZWdvcnlfZXhwaXJlc19ocnMgSSIpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CgoJJHRoaXMtPlNldFByZWZlcmVuY2UgKCdjYXRlZ29yeV9leHBpcnknLDApOwoJJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ29yZScsJ0NvbnRlbnRQb3N0UmVuZGVyJyk7CiAgICAgIH0KCiAgICBjYXNlICcxLjEwJzoKICAgIGNhc2UgJzEuMTAuMSc6CiAgICAgIHsKCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uICgnVXBsb2FkIEZpbGVzIHRvIFVwbG9hZHMnLCAnVXBsb2FkIEZpbGVzIHRvIFVwbG9hZHMnKTsKICAgICAgfQoKICAgIGNhc2UgJzEuMTAuMic6CiAgICBjYXNlICcxLjEwLjMnOgogICAgY2FzZSAnMS4xMC40JzoKICAgICAgewoJJGRiID0gJHRoaXMtPkdldERiKCk7CgkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7Cgkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllcyIsCgkJCQkJInVwbG9hZF9jYXRlZ29yeV9zY2FubmFibGUgSTEiKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoICRzcWxhcnJheSApOwoKCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMKICAgICAgICAgICAgICAgICAgICAgU0VUIHVwbG9hZF9jYXRlZ29yeV9zY2FubmFibGUgPSAxJzsKCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwoKCSRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgnaW5kZXhfZG93bmxvYWRfZmlsZWlkJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2Rvd25sb2FkcycsJ2ZpbGVfaWQnKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKICAgICAgfQogICAgfQoKaWYoIHZlcnNpb25fY29tcGFyZSgkY3VycmVudF92ZXJzaW9uLCcxLjE1JykgPCAwICkgewogICRkYiA9ICR0aGlzLT5HZXREYigpOwogICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCiAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMnLAoJCQkJICAndXBsb2FkX2NhdGVnb3J5X3VzZXJwZXJtcyBJMSx1cGxvYWRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcyBYJyk7CiAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHMnLCd1cGxvYWRfdXNlcnBlcm1zIFgnKTsKICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cn0KaWYoIHZlcnNpb25fY29tcGFyZSgkY3VycmVudF92ZXJzaW9uLCcxLjE2JykgPCAwICkgewogICRkYiA9ICR0aGlzLT5HZXREYigpOwogICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCiAgJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24gKCdDcmVhdGUgVXBsb2FkcyBSZXBvcnRzJywnQ3JlYXRlIFVwbG9hZHMgUmVwb3J0cycpOwogICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgnaW5kZXhfdXBsb2FkX25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHMnLCd1cGxvYWRfbmFtZScpOwogICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiAgJHRtcCA9IGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19odG1scmVwb3J0X2Rvd25sb2Fkc2J5dXNlci50cGwnKTsKICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3JkbF9TYW1wbGUnLCR0bXApOwogICR0bXAgPSBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvdGVtcGxhdGVzL29yaWdfaHRtbHJlcG9ydF9kb3dubG9hZHNieWZpbGUudHBsJyk7CiAgJHRoaXMtPlNldFRlbXBsYXRlKCdyZGZfU2FtcGxlJywkdG1wKTsKfQoKaWYoIHZlcnNpb25fY29tcGFyZSgkY3VycmVudF92ZXJzaW9uLCcxLjE3LjEnKSA8IDAgKSB7CgkkdGhpcy0+UmVtb3ZlRXZlbnRIYW5kbGVyKCdDb3JlJywnQ29udGVudFBvc3RSZW5kZXInKTsKfQoKCmlmKCB2ZXJzaW9uX2NvbXBhcmUoJGN1cnJlbnRfdmVyc2lvbiwnMS4xOScpIDwgMCApIHsKCSRmbiA9IF9fRElSX18uJy90ZW1wbGF0ZXMvb3JpZ19jYXRlZ29yeWxpc3RfdGVtcGxhdGUudHBsJzsKCSR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdjYXRlZ29yeWxpc3Rfc3lzZGZsdCcsJHRlbXBsYXRlKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0ZWdvcnlsaXN0X1NhbXBsZScsJHRlbXBsYXRlKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZmx0X2NhdGVnb3J5bGlzdCcsJ1NhbXBsZScpOwp9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/moduleinfo.ini</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[W21vZHVsZV0KbmFtZSA9ICJVcGxvYWRzIgp2ZXJzaW9uID0gIjEuMjYuMiIKYXV0aG9yID0gImNhbGd1eTEwMDAiCmF1dGhvcmVtYWlsID0gImNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciCm1pbmNtc3ZlcnNpb24gPSAiMi4xLjUiCmxhenlsb2FkYWRtaW4gPSAxCmxhenlsb2FkZnJvbnRlbmQgPSAwCltkZXBlbmRzXQpDR0V4dGVuc2lvbnMgPSAxLjY0CkNHU2ltcGxlU21hcnR5ID0gIjIuMS42Igo=]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgLy8gLSotIG1vZGU6cGhwOyBjLXNldC1zdHlsZTpsaW51eDsgdGFiLXdpZHRoOjI7IGluZGVudC10YWJzLW1vZGU6dDsgYy1iYXNpYy1vZmZzZXQ6IDI7IC0qLQojQkVHSU5fTElDRU5TRQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIE1vZHVsZTogVXBsb2FkcyAoYykgMjAxMS0yMDE0IGJ5IFJvYmVydCBDYW1wYmVsbAojICAgICAgICAgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIEFuIGFkZG9uIG1vZHVsZSBmb3IgQ01TIE1hZGUgU2ltcGxlIHRvIGFsbG93IG1hbmFnZW1lbnQgb2YgdXBsb2FkZWQgZmlsZXMKIyAgaGFzIG51bWVyb3VzIGNhcGFiaWxpdGllcyBpbmNsdWRpbmcgeW91c2VuZGl0LCB0aW1lIGxpbWl0ZWQgdXJscywKIyAgZnJvbnRlbmQgdXBsb2Fkcy4uCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVNNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVmlzaXQgdGhlIENNU01TIEhvbWVwYWdlIGF0OiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6CS8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/addcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCR0aXRsZSl9PGgzPnskdGl0bGV9PC9oMz57L2lmfQp7aWYgaXNzZXQoJG1lc3NhZ2UpICYmICRtZXNzYWdlICE9ICcnfQogIHtpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSAnJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7ZWxzZX0KICB7JHN0YXJ0Zm9ybX0KICB7Y2dlX3N0YXJ0X3RhYnN9CiAge2NnZV90YWJoZWFkZXIgbmFtZT0nZ2VuZXJhbCcgbGFiZWw9JG1vZC0+TGFuZygncHJvbXB0X2dlbmVyYWwnKX0KICB7Y2dlX3RhYmhlYWRlciBuYW1lPSd2aWV3aW5nJyBsYWJlbD0kbW9kLT5MYW5nKCdwcm9tcHRfdmlld2luZycpfQogIHtjZ2VfdGFiaGVhZGVyIG5hbWU9J21vZGlmeWluZycgbGFiZWw9JG1vZC0+TGFuZygncHJvbXB0X21vZGlmeWluZycpfQogIHtjZ2VfdGFiY29udGVudF9zdGFydCBuYW1lPSdnZW5lcmFsJ30KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jYXRlZ29yeW5hbWUnKX06PC9wPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9jYXRlZ29yeW5hbWUiIHNpemU9IjIwIiBtYXhsZW5ndGg9IjgwIiB2YWx1ZT0ieyRkYXRhLnVwbG9hZF9jYXRlZ29yeV9uYW1lfSIvPgogICAgICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fY2F0ZWdvcnluYW1lJyl9CiAgICAgIDwvcD4KICAgIDwvZGl2PgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NhdGVnb3J5ZGVzYycpfTo8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X2NhdGVnb3J5ZGVzYyIgc2l6ZT0iODAiIG1heGxlbmd0aD0iMjU1IiB2YWx1ZT0ieyRkYXRhLnVwbG9hZF9jYXRlZ29yeV9kZXNjcmlwdGlvbn0iLz4KICAgICAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX2NhdGVnb3J5ZGVzYycpfQogICAgICA8L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jYXRlZ29yeXBhdGgnKX06PC9wPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9jYXRlZ29yeXBhdGgiIHNpemU9IjQwIiBtYXhsZW5ndGg9IjI1NSIgdmFsdWU9InskZGF0YS51cGxvYWRfY2F0ZWdvcnlfcGF0aH0ie2lmIGlzc2V0KCRjYXRlZ29yeV9pZCl9IHJlYWRvbmx5PSJyZWFkb25seSJ7L2lmfT4KICAgICAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX2NhdGVnb3J5cGF0aCcpfQogICAgICA8L3A+CiAgICA8L2Rpdj4KICB7Y2dlX3RhYmNvbnRlbnRfc3RhcnQgbmFtZT0ndmlld2luZyd9CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfY2F0ZWdvcnlsaXN0YWJsZScpfTo8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9aW5wdXRfY2F0ZWdvcnlsaXN0YWJsZSBzZWxlY3RlZD0kZGF0YS51cGxvYWRfY2F0ZWdvcnlfbGlzdGFibGV9CiAgICAgICAgPGJyLz4KICAgICAgICB7JG1vZC0+TGFuZygnaW5mb19jYXRlZ29yeWxpc3RhYmxlJyl9CiAgICAgIDwvcD4KICAgIDwvZGl2PgogICAge2lmIGlzc2V0KCRmZXVfZ3JvdXBzKX0KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9ncm91cGxpc3QnKX06PC9wPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9aW5wdXRfZ3JvdXBsaXN0W10iIHNpemU9IjUiIG11bHRpcGxlPSJtdWx0aXBsZSI+CiAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZldV9ncm91cHMgc2VsZWN0ZWQ9JGdyb3VwbGlzdH0KICAgICAgICA8L3NlbGVjdD4KICAgICAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX2dyb3VwbGlzdCcpfQogICAgICA8L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jYXRlZ29yeV91c2VycGVybXMnKX06PC9wPgogICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSdpbnB1dF9jYXRlZ29yeV91c2VycGVybXMnIHNlbGVjdGVkPSRkYXRhLnVwbG9hZF9jYXRlZ29yeV91c2VycGVybXN9CiAgICAgICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19jYXRlZ29yeV91c2VycGVybXMnKX0KICAgICAgPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcycpfTo8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9jYXRlZ29yeV9kZmx0dXNlcnBlcm1zW10iIHNpemU9IjUiIG11bHRpcGxlPSJtdWx0aXBsZSI+CiAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZldV9ncm91cHMgc2VsZWN0ZWQ9JGRhdGEudXBsb2FkX2NhdGVnb3J5X2RmbHR1c2VycGVybXN9CiAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19jYXRlZ29yeV9kZmx0dXNlcnBlcm1zJyl9CiAgICAgIDwvcD4KICAgIDwvZGl2PgogICAgey9pZn0KICB7Y2dlX3RhYmNvbnRlbnRfc3RhcnQgbmFtZT0nbW9kaWZ5aW5nJ30KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jYXRlZ29yeWRlbGV0YWJsZScpfTo8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9aW5wdXRfY2F0ZWdvcnlkZWxldGFibGUgc2VsZWN0ZWQ9JGRhdGEudXBsb2FkX2NhdGVnb3J5X2RlbGV0YWJsZX0KCTxici8+CiAgICAgICAgeyRtb2QtPkxhbmcoJ2luZm9fY2F0ZWdvcnlkZWxldGFibGUnKX0KICAgICAgPC9wPgogICAgPC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfY2F0ZWdvcnlfZXhwaXJlc19ocnMnKX08L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X2NhdGVnb3J5X2V4cGlyZXNfaHJzIiB2YWx1ZT0ieyRkYXRhLnVwbG9hZF9jYXRlZ29yeV9leHBpcmVzX2hyc30iIHNpemU9IjMiIG1heGxlbmd0aD0iNCIvPgoJPGJyLz4KICAgICAgICB7JG1vZC0+TGFuZygnaW5mb19jYXRlZ29yeV9leHBpcmVzX2hycycpfQogICAgICA8L3A+CiAgICA8L2Rpdj4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jYXRlZ29yeV9zY2FubmFibGUnKX08L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9aW5wdXRfY2F0ZWdvcnlfc2Nhbm5hYmxlIHNlbGVjdGVkPSRkYXRhLnVwbG9hZF9jYXRlZ29yeV9zY2FubmFibGV9Cgk8YnIvPgogICAgICAgIHskbW9kLT5MYW5nKCdpbmZvX2NhdGVnb3J5X3NjYW5uYWJsZScpfQogICAgICA8L3A+CiAgICA8L2Rpdj4KICB7Y2dlX2VuZF90YWJzfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAge2lmIGlzc2V0KCRjYXRlZ29yeV9pZCl9CiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c2NhbiIgdmFsdWU9InskbW9kLT5MYW5nKCdzY2FuJyl9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3RpdGxlX3NjYW4nKX0iLz4KICAgICAgey9pZn0KICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogICAgPC9wPgogIDwvZGl2PgogIHskZW5kZm9ybX0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/addfiletype.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbmFtZX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9uYW1lfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9kZXNjcmlwdGlvbn06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZXNjcmlwdGlvbn08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZXh0ZW5zaW9uc306PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9leHRlbnNpb25zfTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9pY29ufTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ljb259PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH08L3A+CiAgPC9kaXY+CnskZW5kZm9ybX0=]]></data>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfc2VjdGlvbn08L2gzPgo8cD57JGFkbWluX25hdn08L3A+Cnskd2VsY29tZV90ZXh0fQ==]]></data>
	</file>
	<file>
	  <filename>/templates/adminprefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0eWxlPgoucGFkZGVkIHsKICAgcGFkZGluZy1sZWZ0OiA1cHg7Cn0KPC9zdHlsZT4KCntpZiAkbWVzc2FnZSE9Jyd9PHA+eyRtZXNzYWdlfTwvcD57L2lmfQp7JHN0YXJ0Zm9ybX0KICAgIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+Cgl7JHN1Ym1pdH0KICAgIDwvZGl2Pgo8ZmllbGRzZXQ+Cgo8bGVnZW5kPnskbW9kLT5MYW5nKCd1cGxvYWRpbmdfc2V0dGluZ3MnKX06PC9sZWdlbmQ+Cgk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJICAgIDxsYWJlbCBjbGFzcz0iZ3JpZF8zIj57JHRpdGxlX3ZhbGlkX3VwbG9hZGV4dGVuc2lvbnN9OjwvbGFiZWw+CgkgICAgPHAgY2xhc3M9ImdyaWRfOCBwYWRkZWQiPnskaW5wdXRfdmFsaWRfdXBsb2FkZXh0ZW5zaW9uc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkJPHAgY2xhc3M9ImdyaWRfMyI+eyR0aXRsZV9lbWFpbF9vbl91cGxvYWR9OjwvcD4KCQk8cCBjbGFzcz0iZ3JpZF84IHBhZGRlZCI+eyRpbnB1dF9lbWFpbF9vbl91cGxvYWR9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCTxwIGNsYXNzPSJncmlkXzMiPnskdGl0bGVfcmVkaXJlY3Rfb25fdXBsb2FkfTo8L3A+CgkJPHAgY2xhc3M9ImdyaWRfOCBwYWRkZWQiPnskaW5wdXRfcmVkaXJlY3Rfb25fdXBsb2FkfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KCQk8cCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygncHJvbXB0X2FsbG93X3VwbG9hZF9zZW5kZmlsZScpfTo8L3A+CgkJPHAgY2xhc3M9ImdyaWRfOCBwYWRkZWQiPgogICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfWFsbG93X3VwbG9hZF9zZW5kZmlsZSIgdmFsdWU9IjAiLz4KICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfWFsbG93X3VwbG9hZF9zZW5kZmlsZSIgdmFsdWU9IjEiIHtpZiAkYWxsb3dfdXBsb2FkX3NlbmRmaWxlfWNoZWNrZWQ9ImNoZWNrZWQiey9pZn0vPgogICAgICAgICAgICAgICAgPC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCTxwIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdwcm9tcHRfdXNlX2F1dG9nZW5fZmlsZW5hbWVzJyl9OjwvcD4KCQk8cCBjbGFzcz0iZ3JpZF84IHBhZGRlZCI+CgkJICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSd1c2VfYXV0b2dlbl9maWxlbmFtZXMnIHNlbGVjdGVkPSR1c2VfYXV0b2dlbl9maWxlbmFtZXN9CgkJICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX2F1dG9nZW5fZmlsZW5hbWVzJyl9CiAgICAgICAgICAgICAgICA8L3A+Cgk8L2Rpdj4KPC9maWVsZHNldD4KCjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygnZ2VuZXJhbF9zZXR0aW5ncycpfTo8L2xlZ2VuZD4KICAgICAgICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgICAgCQk8cCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygncHJvbXB0X2ZyaWVuZGx5bmFtZScpfTo8L3A+CgkJPHAgY2xhc3M9ImdyaWRfOCBwYWRkZWQiPgoJCSAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZnJpZW5kbHluYW1lIiB2YWx1ZT0ieyRmcmllbmRseW5hbWV9IiBtYXhsZW5ndGg9IjI1NSIvPgogICAgICAgICAgICAgICAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX2ZyaWVuZGx5bmFtZScpfQoJCTwvcD4KICAgICAgICA8L2Rpdj4KCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkJPHAgY2xhc3M9ImdyaWRfMyI+eyRtb2QtPkxhbmcoJ2FsbG93X2NoYW5nZWRhdGUnKX06PC9wPgoJCTxwIGNsYXNzPSJncmlkXzggcGFkZGVkIj4KCQkJe2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0nYWxsb3dfY2hhbmdlZGF0ZScgc2VsZWN0ZWQ9JGFsbG93X2NoYW5nZWRhdGV9CgkJPC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCTxwIGNsYXNzPSJncmlkXzMiPnskdGl0bGVfZHVtbXlfaW5kZXhfaHRtbH06PC9wPgoJCTxwIGNsYXNzPSJncmlkXzggcGFkZGVkIj4KCQkgICAge2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0naW5wdXRfZHVtbXlfaW5kZXhfaHRtbCcgc2VsZWN0ZWQ9JG1vZC0+R2V0UHJlZmVyZW5jZSgnY3JlYXRlX2R1bW15X2luZGV4X2h0bWwnKX0KCQk8L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkJPHAgY2xhc3M9ImdyaWRfMyI+eyR0aXRsZV9zZW5kZmlsZXBhZ2V9OjwvcD4KCQk8cCBjbGFzcz0iZ3JpZF84IHBhZGRlZCI+eyRpbnB1dF9zZW5kZmlsZXBhZ2V9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCTxwIGNsYXNzPSJncmlkXzMiPnskdGl0bGVfcmVkaXJlY3Rfb25fc2VuZGZpbGV9OjwvcD4KCQk8cCBjbGFzcz0iZ3JpZF84IHBhZGRlZCI+eyRpbnB1dF9yZWRpcmVjdF9vbl9zZW5kZmlsZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkJPHAgY2xhc3M9ImdyaWRfMyI+eyR0aXRsZV9kb3dubG9hZF9jaHVua3NpemV9OjwvcD4KCQk8cCBjbGFzcz0iZ3JpZF84IHBhZGRlZCI+eyRpbnB1dF9kb3dubG9hZF9jaHVua3NpemV9Jm5ic3A7eyRpbmZvX2Rvd25sb2FkX2NodW5rc2l6ZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkJPHAgY2xhc3M9ImdyaWRfMyI+eyR0aXRsZV9hbGxvd19kZWxldGV9OjwvcD4KCQk8cCBjbGFzcz0iZ3JpZF84IHBhZGRlZCI+CgkJICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9YWxsb3dfZGVsZXRlIHNlbGVjdGVkPSRtb2QtPkdldFByZWZlcmVuY2UoJ2FsbG93X2RlbGV0ZScsMCl9CgkJPC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCTxwIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdwcm9tcHRfZ2V0ZmlsZV9yZXN1bHRwYWdlJyl9OjwvcD4KCQk8cCBjbGFzcz0iZ3JpZF84IHBhZGRlZCI+CiAgICAgICAgICAgICAgICAgIHskaW5wdXRfZ2V0ZmlsZV9yZXN1bHRwYWdlfQogICAgICAgICAgICAgICAgPC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCTxwIGNsYXNzPSJncmlkXzMiPnskdGl0bGVfc3VibmV0X2V4Y2x1c2lvbnN9OjwvcD4KCQk8cCBjbGFzcz0iZ3JpZF84IHBhZGRlZCI+eyRpbnB1dF9zdWJuZXRfZXhjbHVzaW9uc308L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkJPHAgY2xhc3M9ImdyaWRfMyI+eyRtb2QtPkxhbmcoJ3RpdGxlX2NhdGVnb3J5X2V4cGlyeScpfTo8L3A+CgkJPHAgY2xhc3M9ImdyaWRfOCBwYWRkZWQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhdGVnb3J5X2V4cGlyeSIgdmFsdWU9InskY2F0ZWdvcnlfZXhwaXJ5fSIgc2l6ZT0iMyIgbWF4bGVuZ3RoPSI0Ii8+PGJyLz57JG1vZC0+TGFuZygnaW5mb19kZmx0X2NhdGVnb3J5X2V4cGlyeScpfTwvcD4KCTwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdpbmRleGluZ19zZXR0aW5ncycpfTo8L2xlZ2VuZD4KCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkgICAgIDxwIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdpbmRleF90eHRmaWxlcycpfTwvcD4KCSAgICAgPHAgY2xhc3M9ImdyaWRfOCBwYWRkZWQiPgoJICAgICAJe2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1pbmRleF90eHRmaWxlcyBzZWxlY3RlZD0kaW5kZXhfdHh0ZmlsZXN9CgkgICAgIDwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KCSAgICAgPHAgY2xhc3M9ImdyaWRfMyI+eyRtb2QtPkxhbmcoJ2luZGV4X3VuaXF1ZXdvcmRzJyl9PC9wPgoJICAgICA8cCBjbGFzcz0iZ3JpZF84IHBhZGRlZCI+CgkgICAgIAl7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWluZGV4X3VuaXF1ZXdvcmRzIHNlbGVjdGVkPSRpbmRleF91bmlxdWV3b3Jkc30KCSAgICAgPC9wPgoJPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3RpbWVsaW1pdGVkX3VybF9zZXR0aW5ncycpfTombmJzcDs8L2xlZ2VuZD4KCTxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CgkJPHAgY2xhc3M9ImdyaWRfMyI+eyRtb2QtPkxhbmcoJ3Byb21wdF90aW1lbGltaXRlZF9ob3VycycpfTo8L3A+CgkJPHAgY2xhc3M9ImdyaWRfOCBwYWRkZWQiPgogICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH10aW1lbGltaXRlZF9ob3VycyIgdmFsdWU9InskdGltZWxpbWl0ZWRfaG91cnN9IiBzaXplPSIzIiBtYXhsZW5ndGg9IjMiLz4KICAgICAgICAgICAgICAgICAgPGJyLz4KICAgICAgICAgICAgICAgICAgeyRtb2QtPkxhbmcoJ2luZm9fdGltZWxpbWl0ZWRfaG91cnMnKX0KICAgICAgICAgICAgICAgIDwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KCQk8cCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygncHJvbXB0X3RpbWVsaW1pdGVkX2Rvd25sb2FkcycpfTo8L3A+CgkJPHAgY2xhc3M9ImdyaWRfOCBwYWRkZWQiPgogICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH10aW1lbGltaXRlZF9kb3dubG9hZHMiIHZhbHVlPSJ7JHRpbWVsaW1pdGVkX2Rvd25sb2Fkc30iIHNpemU9IjMiIG1heGxlbmd0aD0iMyIvPgogICAgICAgICAgICAgICAgICA8YnIvPgogICAgICAgICAgICAgICAgICB7JG1vZC0+TGFuZygnaW5mb190aW1lbGltaXRlZF9kb3dubG9hZHMnKX0KICAgICAgICAgICAgICAgIDwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KCQk8cCBjbGFzcz0iZ3JpZF8zIj57JG1vZC0+TGFuZygncHJvbXB0X3RpbWVsaW1pdGVkX2F1dG9kZWxldGUnKX06PC9wPgoJCTxwIGNsYXNzPSJncmlkXzggcGFkZGVkIj4KICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9dGltZWxpbWl0ZWRfYXV0b2RlbGV0ZSIgdmFsdWU9InskdGltZWxpbWl0ZWRfYXV0b2RlbGV0ZX0iIHNpemU9IjMiIG1heGxlbmd0aD0iMyIvPgogICAgICAgICAgICAgICAgPC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgoJCTxwIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGltZWxpbWl0ZWRfc3ViamVjdCcpfTo8L3A+CgkJPHAgY2xhc3M9ImdyaWRfOCBwYWRkZWQiPgogICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH10aW1lbGltaXRlZF9zdWJqZWN0IiB2YWx1ZT0ieyR0aW1lbGltaXRlZF9zdWJqZWN0fSIgc2l6ZT0iODAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgICAgICAgICAgICAgICA8L3A+Cgk8L2Rpdj4KPC9maWVsZHNldD4KCjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdzZW5kZmlsZV9zZXR0aW5ncycpfTombmJzcDs8L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgIDxwIGNsYXNzPSJncmlkXzMiPnskbW9kLT5MYW5nKCdwcm9tcHRfc2VuZGZpbGVfYWZ0ZXJtc2cnKX06PC9wPgogICAgIDxkaXYgY2xhc3M9ImdyaWRfOCBwYWRkZWQiPgogICAgICAgIHtjZ2VfdGV4dGFyZWEgc3ludGF4PTEgcHJlZml4PSRhY3Rpb25pZCBuYW1lPXNlbmRmaWxlX2FmdGVybXNnIGNvbnRlbnQ9JHNlbmRmaWxlX2FmdGVybXNnfQoJPGJyLz4KCTxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c2VuZGZpbGVfYWZ0ZXJtc2dfcmVzZXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygncmVzZXQnKX0iLz4KICAgICA8L2Rpdj4KICA8L2Rpdj4KPC9maWVsZHNldD4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_add_field.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCd0aXRsZV9hZGRfZmllbGQnKX08L2gzPgoKeyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ZpZWxkX25hbWUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW5hbWUiIHZhbHVlPSJ7JGZsZC5uYW1lfSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ii8+PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ZpZWxkX3R5cGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH10eXBlIiBvbmNoYW5nZT0idGhpcy5mb3JtLnN1Ym1pdCgpOyI+CiAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZsZHR5cGVzIHNlbGVjdGVkPSRmbGQudHlwZX0KICAgICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2PgoKe2lmICRmbGQudHlwZSA9PSAndGV4dGlucHV0J30KICB7KiB0ZXh0IGZpZWxkIG9yIGVtYWlsIGZpZWxkICp9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9maWVsZF9sZW5ndGgnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1hdHRyaWJfbGVuZ3RoIiB2YWx1ZT0ieyRmbGQuYXR0cmliLmxlbmd0aHxkZWZhdWx0OjgwfSIgc2l6ZT0iMyIgbWF4bGVuZ3RoPSIzIi8+PC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ZpZWxkX21heGxlbmd0aCcpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWF0dHJpYl9tYXhsZW5ndGgiIHZhbHVlPSJ7JGZsZC5hdHRyaWIubWF4bGVuZ3RofGRlZmF1bHQ6ODB9IiBzaXplPSI0IiBtYXhsZW5ndGg9IjQiLz48L3A+CiAgPC9kaXY+CntlbHNlaWYgJGZsZC50eXBlID09ICd0ZXh0YXJlYSd9CiAgeyogdGV4dCBhcmVhIGZpZWxkICp9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kZWZhdWx0X2NvbnRlbnQnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4KICAgICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9YXR0cmliX2RmbHRjb250ZW50IiByb3dzPSI1Ij57JGZsZC5hdHRyaWIuZGZsdGNvbnRlbnR8ZGVmYXVsdDonJ308L3RleHRhcmVhPgogICAgPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3VzZV93eXNpd3lnJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1hdHRyaWJfdXNld3lzaXd5ZyI+CiAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR5ZXNubyBzZWxlY3RlZD0kZmxkcy5hdHRyaWIudXNld3lzaXd5Z30KICAgICAgPC9zZWxlY3Q+CiAgICA8L3A+CiAgPC9kaXY+CntlbHNlaWYgJGZsZC50eXBlID09ICdkcm9wZG93bicgb3IgJGZsZC50eXBlID09ICdtdWx0aXNlbGVjdCd9CiAgeyogZHJvcGRvd24gb3IgbXVsdGlzZWxlY3QgKn0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2Ryb3Bkb3duX29wdGlvbnMnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4KICAgICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9YXR0cmliX29wdGlvbnMiIHJvd3M9IjUiPnskZmxkLmF0dHJpYi5vcHRpb25zfTwvdGV4dGFyZWE+CiAgICA8L3A+CiAgPC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9wdWJsaWNfZmllbGQnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9cHVibGljIj4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR5ZXNubyB2YWx1ZT0kZmxkLnB1YmxpY30KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_add_timelimited.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdhZGRlZGl0X3RpbWVsaW1pdGVkX2tleScpfTwvaDM+CjxoND57JG1vZC0+TGFuZygnZmlsZV9pbmZvMicsJHVwbG9hZC51cGxvYWRfbmFtZSwkdXBsb2FkLnVwbG9hZF9pZCl9PC9oND4KCnskZm9ybXN0YXJ0fQogPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW1haWxfYWRkcmVzcycpfTwvcD4KICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZW1haWwiIHZhbHVlPSJ7JGVtYWlsfSIgc2l6ZT0iNDAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgIDwvcD4KIDwvZGl2PgoKIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90aW1lbGltaXRlZF9ob3VycycpfTwvcD4KICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9aG91cnMiIHZhbHVlPSJ7JGhvdXJzfSIgc2l6ZT0iNSIgbWF4bGVuZ3RoPSI1Ii8+CiAgIDwvcD4KIDwvZGl2PgoKIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90aW1lbGltaXRlZF9kb3dubG9hZHMnKX08L3A+CiAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWRvd25sb2FkcyIgdmFsdWU9InskZG93bmxvYWRzfSIgc2l6ZT0iMyIgbWF4bGVuZ3RoPSIzIi8+CiAgIDwvcD4KIDwvZGl2PgoKIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90aW1lbGltaXRlZF9zZW5kaXQnKX08L3A+CiAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1zZW5kaXQiIHZhbHVlPSIxIiBjaGVja2VkPSJjaGVja2VkIi8+CiAgIDwvcD4KIDwvZGl2PgoKIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KICAgPC9wPgogPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_cat_bulkcopy.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9Cntmb3JlYWNoIGZyb209JGNhdGVnb3JpZXMgaXRlbT0nb25lY2F0J30KPGZpZWxkc2V0Pgo8bGVnZW5kPnskb25lY2F0LnVwbG9hZF9jYXRlZ29yeV9uYW1lfSZuYnNwOyh7JG9uZWNhdC51cGxvYWRfY2F0ZWdvcnlfcGF0aH0pOiZuYnNwOzwvbGVnZW5kPgogPGRpdiBjbGFzcz0icGFnZW92ZXJsb3ciPgogICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgogICAgIDx0aGVhZD4KICAgICAgIDx0cj4KICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9OjwvdGg+CiAgICAgICAgIDx0aD57JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX06PC90aD4KICAgICAgICAgPHRoPnskbW9kLT5MYW5nKCdwYXRoJyl9OjwvdGg+CiAgICAgICAgIDx0aD57JG1vZC0+TGFuZygnY29weV9maWxlcycpfTo8L3RoPgogICAgICAgPC90cj4KICAgICA8L3RoZWFkPgogICAgIDx0Ym9keT4KICAgICAgIDx0cj4KICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNvcHljYXRlZ29yeVt7JG9uZWNhdC51cGxvYWRfY2F0ZWdvcnlfaWR9XVtuYW1lXSIgdmFsdWU9IkNvcHkgb2YgeyRvbmVjYXQudXBsb2FkX2NhdGVnb3J5X25hbWV9IiBzaXplPSI0MCIgbWF4bGVuZ3RoPSIyNTUiLz48L3RkPgogICAgICAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y29weWNhdGVnb3J5W3skb25lY2F0LnVwbG9hZF9jYXRlZ29yeV9pZH1dW2Rlc2NyaXB0aW9uXSIgdmFsdWU9Inskb25lY2F0LnVwbG9hZF9jYXRlZ29yeV9kZXNjcmlwdGlvbn0iIHNpemU9IjQwIiBtYXhsZW5ndGg9IjI1NSIvPjwvdGQ+CiAgICAgICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jb3B5Y2F0ZWdvcnlbeyRvbmVjYXQudXBsb2FkX2NhdGVnb3J5X2lkfV1bcGF0aF0iIHZhbHVlPSJ7JG9uZWNhdC51cGxvYWRfY2F0ZWdvcnlfcGF0aH1fY29weSIgc2l6ZT0iNDAiIG1heGxlbmd0aD0iMjU1Ii8+PC90ZD4KICAgICAgICAgPHRkPgogICAgICAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9Y29weWNhdGVnb3J5W3skb25lY2F0LnVwbG9hZF9jYXRlZ29yeV9pZH1dW2RvZmlsZXNdIiB2YWx1ZT0iMCIvPgogICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1jb3B5Y2F0ZWdvcnlbeyRvbmVjYXQudXBsb2FkX2NhdGVnb3J5X2lkfV1bZG9maWxlc10iIHZhbHVlPSIxIi8+CiAgICAgICAgIDwvdGQ+CiAgICAgICA8L3RyPgogICAgIDwvdGJvZHk+CiAgIDwvdGFibGU+CiA8L2Rpdj4KPC9maWVsZHNldD4Key9mb3JlYWNofQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9YnVsa2NvcHlfc3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_copycategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY29weSBjYXRlZ29yeSB0ZW1wbGF0ZSAqfQp7Kgp7bGl0ZXJhbH0KPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgalF1ZXJ5KCcjZXh0cmFsaW5rJykuY2xpY2soZnVuY3Rpb24oKXsKICAgIGpRdWVyeSgnI2V4dHJhaW5mbycpLnRvZ2dsZSgpOwogICAgcmV0dXJuIGZhbHNlOwogIH0pOwp9KTsKPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KKn0KCnskZm9ybXN0YXJ0fQogIDxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdzb3VyY2UnKX06Jm5ic3A7PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jYXRlZ29yeW5hbWUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjYXRlZ29yeS51cGxvYWRfY2F0ZWdvcnlfbmFtZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jYXRlZ29yeWRlc2MnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjYXRlZ29yeS51cGxvYWRfY2F0ZWdvcnlfZGVzY3JpcHRpb259PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfY2F0ZWdvcnlwYXRoJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskY2F0ZWdvcnkudXBsb2FkX2NhdGVnb3J5X3BhdGh9PC9wPgogIDwvZGl2PgogIDwvZmllbGRzZXQ+CiAgPGJyLz4KIAogIDxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdkZXN0aW5hdGlvbicpfTombmJzcDs8L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NhdGVnb3J5bmFtZScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y2F0ZWdvcnlfbmFtZSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1IiB2YWx1ZT0iQ29weSBvZiB7JGNhdGVnb3J5LnVwbG9hZF9jYXRlZ29yeV9uYW1lfSIvPgogICAgICA8YnIvPgogICAgICB7JG1vZC0+TGFuZygnaW5mb19jYXRlZ29yeW5hbWUnKX0KICAgIDwvcD4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jYXRlZ29yeWRlc2MnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhdGVnb3J5X2Rlc2MiIHNpemU9IjUwIiBtYXhsZW5ndGg9IjI1NSIgdmFsdWU9InskY2F0ZWdvcnkudXBsb2FkX2NhdGVnb3J5X2Rlc2NyaXB0aW9ufSIvPgogICAgICA8YnIvPgogICAgICB7JG1vZC0+TGFuZygnaW5mb19jYXRlZ29yeWRlc2MnKX0KICAgIDwvcD4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jYXRlZ29yeXBhdGgnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhdGVnb3J5X3BhdGgiIHNpemU9IjUwIiBtYXhsZW5ndGg9IjI1NSIgdmFsdWU9InskY2F0ZWdvcnkudXBsb2FkX2NhdGVnb3J5X3BhdGh9X2NvcHkiLz4KICAgICAgPGJyLz4KICAgICAgeyRtb2QtPkxhbmcoJ2luZm9fY2F0ZWdvcnlwYXRoJyl9CiAgICA8L3A+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfY29weV9maWxlcycpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1jb3B5ZmlsZXMiIHZhbHVlPSIwIi8+CiAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1jb3B5ZmlsZXMiIHZhbHVlPSIxIiBjaGVja2VkPSJjaGVja2VkIi8+CiAgICAgIDxici8+CiAgICAgIHskbW9kLT5MYW5nKCdpbmZvX2NvcHlfZmlsZXMnKX0KICAgIDwvcD4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIgLz4KICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9IiAvPgogICAgPC9wPgogIDwvZGl2PgogIDwvZmllbGRzZXQ+CnskZm9ybWVuZH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_email_template_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfc2VuZGZpbGVfZW1haWxfdGVtcGxhdGUnKX08L3A+CiAgPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KICAgICB7Y2dlX3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT11cGxvYWRfc2VuZGZpbGVycHQgc3ludGF4PTEgdmFsdWU9JHVwbG9hZF9zZW5kZmlsZXJwdH0KICAgICA8YnIvPjxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c2VuZGZpbGVycHRfcmVzZXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygncmVzZXQnKX0iLz4KICA8L2Rpdj4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9ub3RpZnlfZW1haWxfdGVtcGxhdGUnKX08L3A+CiAgPGRpdiBjbGFzcz0icGFnZWlucHV0Ij4KICAgICB7Y2dlX3RleHRhcmVhIHByZWZpeD0kYWN0aW9uaWQgbmFtZT11cGxvYWRfZW1haWx0ZW1wbGF0ZSBzeW50YXg9MSB2YWx1ZT0kdXBsb2FkX2VtYWlsdGVtcGxhdGV9CiAgICAgPGJyLz48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWVtYWlsdGVtcGxhdGVfcmVzZXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygncmVzZXQnKX0iLz4KICA8L2Rpdj4KPC9kaXY+Cgp7JGZvcm1lbmR9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_fields_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRmaWVsZHMpfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIj4KICAgIDx0aGVhZD4KICAgICAgPHRyPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnaWQnKX08L3RoPgogICAgICAgIDx0aD57JG1vZC0+TGFuZygnbmFtZScpfTwvdGg+CiAgICAgICAgPHRoPnskbW9kLT5MYW5nKCd0eXBlJyl9PC90aD4KICAgICAgICA8dGggY2xhc3M9IntsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0gcGFnZWljb24iPjwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJ7bGl0ZXJhbH17c29ydGVyOiBmYWxzZX17L2xpdGVyYWx9IHBhZ2VpY29uIj48L3RoPgogICAgICAgIDx0aCBjbGFzcz0ie2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSBwYWdlaWNvbiI+PC90aD4KICAgICAgICA8dGggY2xhc3M9IntsaXRlcmFsfXtzb3J0ZXI6IGZhbHNlfXsvbGl0ZXJhbH0gcGFnZWljb24iPjwvdGg+CiAgICAgIDwvdHI+CiAgICA8L3RoZWFkPgogICAgPHRib2R5PgogICAge2ZvcmVhY2ggZnJvbT0kZmllbGRzIGl0ZW09J29uZWZpZWxkJ30KICAgICAge2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KICAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgICA8dGQ+eyRvbmVmaWVsZC5pZH08L3RkPgogICAgICAgIDx0ZD48YSBocmVmPSJ7JG9uZWZpZWxkLmVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0X3RoaXNfZmllbGQnKX0iPnskb25lZmllbGQubmFtZX08L2E+PC90ZD4KICAgICAgICA8dGQ+eyRmaWVsZHR5cGVzWyRvbmVmaWVsZC50eXBlXX08L3RkPgogICAgICAgIDx0ZD4KICAgICAgICAgIHtpZiBpc3NldCgkb25lZmllbGQubW92ZWRvd25fdXJsKX0KICAgICAgICAgICAgPGEgaHJlZj0ieyRvbmVmaWVsZC5tb3ZlZG93bl91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ21vdmVfZG93bicpfSI+e2NnaW1hZ2UgaW1hZ2U9J2ljb25zL3N5c3RlbS9zb3J0X2Rvd24uZ2lmJyBhbHQ9JG1vZC0+TGFuZygnZG93bicpfTwvYT4KICAgICAgICAgIHsvaWZ9CiAgICAgICAgPC90ZD4KICAgICAgICA8dGQ+CiAgICAgICAgICB7aWYgaXNzZXQoJG9uZWZpZWxkLm1vdmV1cF91cmwpfQogICAgICAgICAgICA8YSBocmVmPSJ7JG9uZWZpZWxkLm1vdmV1cF91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ21vdmVfdXAnKX0iPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vc29ydF91cC5naWYnIGFsdD0kbW9kLT5MYW5nKCd1cCcpfTwvYT4KICAgICAgICAgIHsvaWZ9CiAgICAgICAgPC90ZD4KICAgICAgICA8dGQ+PGEgaHJlZj0ieyRvbmVmaWVsZC5lZGl0X3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZWRpdF90aGlzX2ZpZWxkJyl9Ij57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2VkaXQuZ2lmJyBhbHQ9JG1vZC0+TGFuZygnZWRpdCcpfTwvYT48L3RkPgogICAgICAgIDx0ZD48YSBocmVmPSJ7JG9uZWZpZWxkLmRlbGV0ZV91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2RlbGV0ZV90aGlzX2ZpZWxkJyl9IiBvbmNsaWNrPSJyZXR1cm4gY29uZmlybSgneyRtb2QtPkxhbmcoJ2Fza19kZWxldGVfZmllbGQnKX0nKTsiPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicgYWx0PSRtb2QtPkxhbmcoJ2RlbGV0ZScpfTwvYT48L3RkPgogICAgICA8L3RyPgogICAgey9mb3JlYWNofQogICAgPC90Ym9keT4KICA8L3RhYmxlPgo8L2Rpdj4Key9pZn0KCjxwIGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIHskYWRkZmllbGRfbGlua30KPC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_manage_timelimited.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdtYW5hZ2VfdGltZWxpbWl0ZWQnKX08L2gzPgo8aDQ+eyRtb2QtPkxhbmcoJ2ZpbGVfaW5mbzInLCR1cGxvYWQudXBsb2FkX25hbWUsJHVwbG9hZC51cGxvYWRfaWQpfTwvaDQ+Cjxici8+Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+CiAgICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWRlZmF1bHRhZG1pbn0iPnthZG1pbl9pY29uIGljb249J2JhY2suZ2lmJ30geyRtb2QtPkxhbmcoJ2xibF9iYWNrJyl9PC9hPgo8L2Rpdj4KCntpZiBpc3NldCgkZGF0YSl9Cjx0YWJsZSBjbGFzcz0icGFnZXRhYmxlIiBjZWxsc3BhY2luZz0iMCI+CiAgPHRoZWFkPgogICAgPHRyPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ2VtYWlsX2FkZHJlc3MnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ3VybF9rZXknKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ2NyZWF0ZWQnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ2V4cGlyZXMnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ2Rvd25sb2FkcycpfTwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CiAgICA8L3RyPgogIDwvdGhlYWQ+CiAgPHRib2R5PgogIHtmb3JlYWNoIGZyb209JGRhdGEgaXRlbT0nb3RsJ30KICAgIHtjeWNsZSB2YWx1ZXM9J3JvdzEscm93MicgYXNzaWduPSdyb3djbGFzcyd9CiAgICA8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgogICAgICA8dGQ+eyRvdGwuZW1haWx9PC90ZD4KICAgICAgPHRkPjxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249Z2V0ZmlsZSB1cmxfa2V5PSRvdGwudXJsX2tleX0iPnskb3RsLnVybF9rZXl9PC9hPjwvdGQ+CiAgICAgIDx0ZD57JG90bC5jcmVhdGVkfGNtc19kYXRlX2Zvcm1hdH08L3RkPgogICAgICA8dGQ+eyRvdGwuZXhwaXJlc3xjbXNfZGF0ZV9mb3JtYXR9PC90ZD4KICAgICAgPHRkPnskb3RsLmRvd25sb2Fkc30gLyB7JG90bC5tYXhfZG93bmxvYWRzfTwvdGQ+CiAgICAgIDx0ZD48YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX2RlbF90aW1lbGltaXRlZCB1cGxvYWRfaWQ9JG90bC51cGxvYWRfaWQgdGxfaWQ9JG90bC50bGtleV9pZH0iPnthZG1pbl9pY29uIGljb249J2RlbGV0ZS5naWYnfTwvYT48L3RkPgogICAgPC90cj4KICB7L2ZvcmVhY2h9CiAgPC90Ym9keT4KPC90YWJsZT4Key9pZn0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgogICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX2FkZF90aW1lbGltaXRlZCB1cGxvYWRfaWQ9JHVwbG9hZC51cGxvYWRfaWR9Ij57YWRtaW5faWNvbiBpY29uPSduZXdvYmplY3QuZ2lmJ30geyRtb2QtPkxhbmcoJ2FkZF90aW1lbGltaXRlZF9rZXknKX08L2E+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_reportstab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdj4Ke2ZvcmVhY2ggJGxpbmtzIGFzICRvbmV9CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiA0NSU7Ij4KICAgIDxhIGhyZWY9Inskb25lLnVybH0iPgogICAgICA8c3BhbiBzdHlsZT0idmVydGljYWwtYWxpZ246IGNlbnRlcjsiPntpZiAhZW1wdHkoJG9uZS5pY29uKX17JG9uZS5pY29ufXtlbHNlfXskcmVwb3J0X2ljb259ey9pZn08L3NwYW4+Jm5ic3A7CiAgICAgIHskb25lLnRpdGxlfQogICAgPC9hPgogIDwvZGl2Pgp7L2ZvcmVhY2h9CiAgPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48L2Rpdj4KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_report_downloadsbyfile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBzcGxpdCggdmFsICkgewogIHJldHVybiB2YWwuc3BsaXQoIC8sXHMqLyApOwp9CmZ1bmN0aW9uIGV4dHJhY3RMYXN0KCB0ZXJtICkgewogIHJldHVybiBzcGxpdCggdGVybSApLnBvcCgpOwp9CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgJCgnI3JlcG9ydF90eXBlJykuYmluZCgnY2hhbmdlJyxmdW5jdGlvbihlKXsKICAgICQodGhpcykuY2xvc2VzdCgnZm9ybScpLnN1Ym1pdCgpOwogIH0pOwogIHZhciB2ID0gJCgnI291dHB1dF90eXBlJykudmFsKCk7CiAgaWYoIHYgIT0gJ2NzdicgKSAkKCcjb3V0cHV0X3RlbXBsYXRlX3dyYXAnKS5zaG93KCk7CiAgCiAgJCgnI291dHB1dF90eXBlJykuYmluZCgnY2hhbmdlJyxmdW5jdGlvbihlKXsKICAgIHZhciB2ID0gJCh0aGlzKS52YWwoKTsKICAgIGlmKCB2ID09ICdjc3YnICkgewogICAgICAkKCcjb3V0cHV0X3RlbXBsYXRlX3dyYXAnKS5oaWRlKCk7CiAgICB9IGVsc2UgewogICAgICAkKCcjb3V0cHV0X3RlbXBsYXRlX3dyYXAnKS5zaG93KCk7CiAgICB9CiAgfSk7CgovKgogICQoJyNyZXBvcnRfZG93bmxvYWRzYnlmaWxlIGZvcm0nKS5iaW5kKCdzdWJtaXQnLGZ1bmN0aW9uKGUpewogICAgdmFyIHYgPSAkKCcjb3V0cHV0X3R5cGUnKS52YWwoKTsKICAgICQoJ1tuYW1lJD1zdWJtaXRdJykuZmFkZU91dCgpOwogICAgJCgnW25hbWUkPWNhbmNlbF0nKS5mYWRlT3V0KCk7CiAgICAkKCdbbmFtZSQ9Y2FuY2VsXScpLmF0dHIoJ3ZhbHVlJywneyRtb2QtPmxhbmcoJ2Nsb3NlJyl9Jyk7CiAgICAkKCdbbmFtZSQ9Y2FuY2VsXScpLmJ1dHRvbiggJ29wdGlvbicsICdsYWJlbCcsICd7JG1vZC0+TGFuZygnY2xvc2UnKX0nKTsKICAgICQoJ1tuYW1lJD1jYW5jZWxdJykuZmFkZUluKCk7CiAgICBpZiggdiA9PSAnaHRtbCcgKSB7CiAgICAgIC8vd2luZG93Lm9wZW4oJycsICdfYmxhbmsnLCAnd2lkdGg9NDAwLGhlaWdodD00MDAscmVzaXplYWJsZT15ZXMsc2Nyb2xsYmFycz15ZXMnLGZhbHNlKTsKICAgICAgdGhpcy50YXJnZXQgPSAnX2JsYW5rJzsKICAgIH0KICB9KTsKKi8KCiAgJCgnI2FqYXhfZmV1X3VzZXJzJykuYmluZCgna2V5ZG93bicsZnVuY3Rpb24oZSl7CiAgICBpZiAoIGUua2V5Q29kZSA9PT0gJC51aS5rZXlDb2RlLlRBQiAmJgogICAgICAkKCB0aGlzICkuZGF0YSggInVpLWF1dG9jb21wbGV0ZSIgKS5tZW51LmFjdGl2ZSApIHsKICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpOwogICAgfQogIH0pCiAgLmF1dG9jb21wbGV0ZSh7CiAgICBmb2N1czogZnVuY3Rpb24oKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0sCiAgICBzZWFyY2g6IGZ1bmN0aW9uKCkgewogICAgICAvLyBjdXN0b20gbWlubGVuZ3RoCiAgICAgIHZhciB0ZXJtID0gZXh0cmFjdExhc3QodGhpcy52YWx1ZSk7CiAgICAgIGlmKCB0ZXJtLmxlbmd0aCA8IDIgKSByZXR1cm4gZmFsc2U7CiAgICB9LAogICAgc2VsZWN0OiBmdW5jdGlvbihldmVudCx1aSkgewogICAgICB2YXIgdGVybXMgPSBzcGxpdCggdGhpcy52YWx1ZSApOwogICAgICAvLyByZW1vdmUgdGhlIGN1cnJlbnQgaW5wdXQKICAgICAgdGVybXMucG9wKCk7CiAgICAgIC8vIGFkZCB0aGUgc2VsZWN0ZWQgaXRlbQogICAgICB0ZXJtcy5wdXNoKCB1aS5pdGVtLnZhbHVlICk7CiAgICAgIC8vIGFkZCBwbGFjZWhvbGRlciB0byBnZXQgdGhlIGNvbW1hLWFuZC1zcGFjZSBhdCB0aGUgZW5kCiAgICAgIHRlcm1zLnB1c2goICIiICk7CiAgICAgIHRoaXMudmFsdWUgPSB0ZXJtcy5qb2luKCAiLCAiICk7CiAgICAgIHJldHVybiBmYWxzZTsgICAgICAgCiAgICB9LAogICAgc291cmNlOiBmdW5jdGlvbihyZXF1ZXN0LHJlc3BvbnNlKXsgCQogICAgICAkLmFqYXgoewogICAgICAgIHVybDogJ3skdXJsX2FqYXhfZmV1X3VzZXJzfScsCiAgICAgICAgZGF0YTogeyAneyRhY3Rpb25pZH1qc29uJzogMSwgJ3skYWN0aW9uaWR9dGVybSc6IGV4dHJhY3RMYXN0KHJlcXVlc3QudGVybSkgfSwKCXN1Y2Nlc3M6IGZ1bmN0aW9uKCBkYXRhLCB0ZXh0U3RhdHVzICkgewogICAgICAgICAgdmFyIHBvc3NpYmxlID0gW107CiAgICAgICAgICAkLmVhY2goIGRhdGEsIGZ1bmN0aW9uKGksIHZhbCkgewogICAgICAgICAgICBwb3NzaWJsZS5wdXNoKHZhbCk7CiAgICAgICAgICB9KTsKICAgICAgICAgIHJlc3BvbnNlKHBvc3NpYmxlKTsKICAgICAgICB9CiAgICAgIH0pOwogICAgfQogIH0pOwoKCiAgJCgnI2FqYXhfZmlsZXMnKS5iaW5kKCdrZXlkb3duJyxmdW5jdGlvbihlKXsKICAgIGlmICggZS5rZXlDb2RlID09PSAkLnVpLmtleUNvZGUuVEFCICYmCiAgICAgICQoIHRoaXMgKS5kYXRhKCAidWktYXV0b2NvbXBsZXRlIiApLm1lbnUuYWN0aXZlICkgewogICAgICBlLnByZXZlbnREZWZhdWx0KCk7CiAgICB9CiAgfSkKICAuYXV0b2NvbXBsZXRlKHsKICAgIGZvY3VzOiBmdW5jdGlvbigpIHsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfSwKICAgIHNlYXJjaDogZnVuY3Rpb24oKSB7CiAgICAgIC8vIGN1c3RvbSBtaW5sZW5ndGgKICAgICAgdmFyIHRlcm0gPSBleHRyYWN0TGFzdCh0aGlzLnZhbHVlKTsKICAgICAgaWYoIHRlcm0ubGVuZ3RoIDwgMiApIHJldHVybiBmYWxzZTsKICAgIH0sCiAgICBzZWxlY3Q6IGZ1bmN0aW9uKGV2ZW50LHVpKSB7CiAgICAgIHZhciB0ZXJtcyA9IHNwbGl0KCB0aGlzLnZhbHVlICk7CiAgICAgIC8vIHJlbW92ZSB0aGUgY3VycmVudCBpbnB1dAogICAgICB0ZXJtcy5wb3AoKTsKICAgICAgLy8gYWRkIHRoZSBzZWxlY3RlZCBpdGVtCiAgICAgIHRlcm1zLnB1c2goIHVpLml0ZW0udmFsdWUgKTsKICAgICAgLy8gYWRkIHBsYWNlaG9sZGVyIHRvIGdldCB0aGUgY29tbWEtYW5kLXNwYWNlIGF0IHRoZSBlbmQKICAgICAgdGVybXMucHVzaCggIiIgKTsKICAgICAgdGhpcy52YWx1ZSA9IHRlcm1zLmpvaW4oICIsICIgKTsKICAgICAgcmV0dXJuIGZhbHNlOyAgICAgICAKICAgIH0sCiAgICBzb3VyY2U6IGZ1bmN0aW9uKHJlcXVlc3QscmVzcG9uc2UpeyAJCiAgICAgICQuYWpheCh7CiAgICAgICAgdXJsOiAneyR1cmxfYWpheF9maWxlc30nLAogICAgICAgIGRhdGE6IHsgJ3skYWN0aW9uaWR9anNvbic6IDEsICd7JGFjdGlvbmlkfXRlcm0nOiBleHRyYWN0TGFzdChyZXF1ZXN0LnRlcm0pIH0sCglzdWNjZXNzOiBmdW5jdGlvbiggZGF0YSwgdGV4dFN0YXR1cyApIHsKICAgICAgICAgIGlmKCBkYXRhLmxlbmd0aCA+IDAgKSB7CiAgICAgICAgICAgIHZhciBwb3NzaWJsZSA9IFtdOwogICAgICAgICAgICAkLmVhY2goIGRhdGEsIGZ1bmN0aW9uKGksIHZhbCkgewogICAgICAgICAgICAgIHBvc3NpYmxlLnB1c2godmFsKTsKICAgICAgICAgICAgfSk7CiAgICAgICAgICAgIHJlc3BvbnNlKHBvc3NpYmxlKTsKICAgICAgICAgIH0KICAgICAgICB9CiAgICAgIH0pOwogICAgfQogIH0pOwp9KTsKCnskZXh0cmFqc3xkZWZhdWx0OicnfQo8L3NjcmlwdD4KCjxoMz57JG1vZC0+TGFuZygndGl0bGVfcmVwb3J0X2Rvd25sb2Fkc2J5ZmlsZTInKX08L2gzPgoKPGRpdiBpZD0icmVwb3J0X2Rvd25sb2Fkc2J5ZmlsZSI+CnskZm9ybXN0YXJ0fQo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnZmlsdGVyJyl9OjwvbGVnZW5kPgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfcmVwb3J0X3R5cGUnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1yZXBvcnRfdHlwZSIgaWQ9InJlcG9ydF90eXBlIj4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRyZXBvcnRfdHlwZXMgc2VsZWN0ZWQ9JHByb2ZpbGUucmVwb3J0X3R5cGV9CiAgICAgIDwvc2VsZWN0PgogICAgPC9wPgogIDwvZGl2PgoKICA8dGFibGUgc3R5bGU9Im1hcmdpbi10b3A6IDFlbTsgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCBibGFjazsiPgogICAgPHRyPgogICAgICA8dGQgdmFsaWduPSJ0b3AiPgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdjYXRlZ29yaWVzJyl9OjwvcD4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9Y2F0ZWdvcmllc1tdIiBtdWx0aXBsZT0ibXVsdGlwbGUiIHNpemU9IjUiPgogICAgICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kdXBsb2FkX2NhdGVnb3JpZXMgc2VsZWN0ZWQ9JHByb2ZpbGUuY2F0ZWdvcmllc30KICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZD4KCiAgICAgIDx0ZCB2YWxpZ249Im1pZGRsZSIgc3R5bGU9InBhZGRpbmc6IDFlbTsiPgogICAgICAgIHskbW9kLT5MYW5nKCdvcicpfQogICAgICA8L3RkPgoKICAgICAgPHRkIHZhbGlnbj0idG9wIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2ZpbGVzJyl9OjwvcD4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgICA8dGV4dGFyZWEgY2xhc3M9InRhX3Jlc2l6YWJsZSIgaWQ9ImFqYXhfZmlsZXMiIG5hbWU9InskYWN0aW9uaWR9ZmlsZXMiPnskcHJvZmlsZS5maWxlc308L3RleHRhcmVhPgogICAgICAgICAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX2ZpZWxkX2ZpbGVzJyl9CiAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGQ+CgogICAgPC90cj4KICA8L3RhYmxlPgoKICA8dGFibGUgc3R5bGU9Im1hcmdpbi10b3A6IDFlbTsgYm9yZGVyLXRvcDogMXB4IGRhc2hlZCBibGFjazsiPgogIDx0cj4KICAgIDx0ZCB2YWxpZ249InRvcCI+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmV1X2dyb3VwcycpfTo8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1mZXVfZ3JvdXBzW10iIG11bHRpcGxlPSJtdWx0aXBsZSIgc2l6ZT0iNSI+CiAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRmZXVfZ3JvdXBzIHNlbGVjdGVkPSRwcm9maWxlLmZldV9ncm91cHN9CiAgICAgICAgPC9zZWxlY3Q+CiAgICAgIDwvcD4KICAgIDwvZGl2PgogICAgPC90ZD4KCiAgICA8dGQgdmFsaWduPSJtaWRkbGUiIHN0eWxlPSJwYWRkaW5nOiAxZW07Ij4KICAgICAgeyRtb2QtPkxhbmcoJ29yJyl9CiAgICA8L3RkPgoKICAgIDx0ZCB2YWxpZ249InRvcCI+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmV1X3VzZXJzJyl9OjwvcD4KICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgPHRleHRhcmVhIGNsYXNzPSJ0YV9yZXNpemFibGUiIGlkPSJhamF4X2ZldV91c2VycyIgbmFtZT0ieyRhY3Rpb25pZH1mZXVfdXNlcnMiPnskcHJvZmlsZS5mZXVfdXNlcnN9PC90ZXh0YXJlYT4KICAgICAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX2ZldV91c2VycycpfQogICAgICA8L3A+CiAgICA8L2Rpdj4KICAgIDwvdGQ+CiAgPC90cj4KIDwvdGFibGU+CgogPHRhYmxlIHdpZHRoPSIxMDAlIiBzdHlsZT0ibWFyZ2luLXRvcDogMWVtOyBib3JkZXItdG9wOiAxcHggZGFzaGVkIGJsYWNrOyI+CiAgPHRyPgogICAgPHRkIHdpZHRoPSI1MCUiIHN0eWxlPSJwYWRkaW5nOiAxZW07Ij4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9zdGFydF9kYXRlJyl9OjwvcD4KICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAge2h0bWxfc2VsZWN0X2RhdGUgdGltZT0kcHJvZmlsZS5zdGFydF9kYXRlIHN0YXJ0X3llYXI9Ii0xMCIgZW5kX3llYXI9IisyIiBwcmVmaXg9InskYWN0aW9uaWR9c3RhcnRfZGF0ZSJ9CiAgICAgIDwvcD4KICAgIDwvZGl2PgogICAgPC90ZD4KCiAgICA8dGQgd2lkdGg9IjUwJSIgc3R5bGU9InBhZGRpbmc6IDFlbTsiPgogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2VuZF9kYXRlJyl9OjwvcD4KICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAge2h0bWxfc2VsZWN0X2RhdGUgdGltZT0kcHJvZmlsZS5lbmRfZGF0ZSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMiIgcHJlZml4PSJ7JGFjdGlvbmlkfWVuZF9kYXRlIn0KICAgICAgPC9wPgogICAgPC9kaXY+CiAgICA8L3RkPgogICA8L3RyPgogPC90YWJsZT4KPC9maWVsZHNldD4KCjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCd2aWV3Jyl9OjwvbGVnZW5kPgogIDx0YWJsZT4KICAgIDx0cj4KICAgICAgPHRkIHdpZHRoPSIzMyUiIHZhbGlnbj0idG9wIiBzdHlsZT0icGFkZGluZzogMWVtOyI+CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9maWVsZGxpc3QnKX06PC9wPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH12aWV3X2ZpZWxkc1tdIiBtdWx0aXBsZT0ibXVsdGlwbGUiIHNpemU9IjUiPgogICAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGZpZWxkbGlzdCBzZWxlY3RlZD0kcHJvZmlsZS52aWV3X2ZpZWxkc30KICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMzMlIiB2YWxpZ249InRvcCIgc3R5bGU9InBhZGRpbmc6IDFlbTsiPgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfc29ydGluZycpfTo8L3A+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXZpZXdfc29ydGluZyIgc2l6ZT0iNSI+CiAgICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kc29ydGxpc3Qgc2VsZWN0ZWQ9JHByb2ZpbGUudmlld19zb3J0aW5nfQogICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZD4KICAgICAgPHRkIHdpZHRoPSIzMyUiIHZhbGlnbj0idG9wIiBzdHlsZT0icGFkZGluZzogMWVtOyI+CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9zb3J0b3JkZXInKX06PC9wPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH12aWV3X3NvcnRvcmRlciIgc2l6ZT0iMyI+CiAgICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kc29ydG9yZGVycyBzZWxlY3RlZD0kcHJvZmlsZS52aWV3X3NvcnRvcmRlcn0KICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnb3V0cHV0Jyl9OjwvbGVnZW5kPgogIDx0YWJsZSB3aWR0aD0iMTAwJSI+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iMjAlIj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X291dHB1dCcpfTo8L3A+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfW91dHB1dF90eXBlIiBpZD0ib3V0cHV0X3R5cGUiPgogICAgICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kb3V0cHV0X3R5cGVzIHNlbGVjdGVkPSRwcm9maWxlLm91dHB1dF90eXBlfQogICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgaWQ9Im91dHB1dF90ZW1wbGF0ZV93cmFwIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X291dHB1dF90ZW1wbGF0ZScpfTo8L3A+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfW91dHB1dF90ZW1wbGF0ZSIgaWQ9Im91dHB1dF90ZW1wbGF0ZSI+CiAgICAgICAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRvdXRwdXRfdGVtcGxhdGVzIHNlbGVjdGVkPSRwcm9maWxlLm91dHB1dF90ZW1wbGF0ZX0KICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZmllbGRzZXQ+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlc3VibWl0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQo8L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_report_downloadsbyuser.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgpmdW5jdGlvbiBzcGxpdCggdmFsICkgewogIHJldHVybiB2YWwuc3BsaXQoIC8sXHMqLyApOwp9CmZ1bmN0aW9uIGV4dHJhY3RMYXN0KCB0ZXJtICkgewogIHJldHVybiBzcGxpdCggdGVybSApLnBvcCgpOwp9CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgJCgnI3JlcG9ydF90eXBlJykuYmluZCgnY2hhbmdlJyxmdW5jdGlvbihlKXsKICAgICQodGhpcykuY2xvc2VzdCgnZm9ybScpLnN1Ym1pdCgpOwogIH0pOwogIHZhciB2ID0gJCgnI291dHB1dF90eXBlJykudmFsKCk7CiAgaWYoIHYgIT0gJ2NzdicgKSAkKCcjb3V0cHV0X3RlbXBsYXRlX3dyYXAnKS5zaG93KCk7CiAgCiAgJCgnI291dHB1dF90eXBlJykuYmluZCgnY2hhbmdlJyxmdW5jdGlvbihlKXsKICAgIHZhciB2ID0gJCh0aGlzKS52YWwoKTsKICAgIGlmKCB2ID09ICdjc3YnICkgewogICAgICAkKCcjb3V0cHV0X3RlbXBsYXRlX3dyYXAnKS5oaWRlKCk7CiAgICB9IGVsc2UgewogICAgICAkKCcjb3V0cHV0X3RlbXBsYXRlX3dyYXAnKS5zaG93KCk7CiAgICB9CiAgfSk7CgovKgogICQoJyNyZXBvcnRfZG93bmxvYWRzYnl1c2VyIGZvcm0nKS5iaW5kKCdzdWJtaXQnLGZ1bmN0aW9uKGUpewogICAgdmFyIHYgPSAkKCcjb3V0cHV0X3R5cGUnKS52YWwoKTsKICAgICQoJ1tuYW1lJD1zdWJtaXRdJykuZmFkZU91dCgpOwogICAgJCgnW25hbWUkPWNhbmNlbF0nKS5mYWRlT3V0KCk7CiAgICAkKCdbbmFtZSQ9Y2FuY2VsXScpLmF0dHIoJ3ZhbHVlJywneyRtb2QtPmxhbmcoJ2Nsb3NlJyl9Jyk7CiAgICAkKCdbbmFtZSQ9Y2FuY2VsXScpLmJ1dHRvbiggJ29wdGlvbicsICdsYWJlbCcsICd7JG1vZC0+TGFuZygnY2xvc2UnKX0nKTsKICAgICQoJ1tuYW1lJD1jYW5jZWxdJykuZmFkZUluKCk7CiAgICBpZiggdiA9PSAnaHRtbCcgKSB7CiAgICAgIAogICAgICB3aW5kb3cub3BlbignJywgJ19ibGFuaycsICd3aWR0aD00MDAsaGVpZ2h0PTQwMCxyZXNpemVhYmxlPXllcyxzY3JvbGxiYXJzPXllcycsZmFsc2UpOwogICAgICAvL3RoaXMudGFyZ2V0ID0gJ19ibGFuayc7CiAgICB9CiAgfSk7CiovCgogICQoJyNhamF4X2ZldV91c2VycycpLmJpbmQoJ2tleWRvd24nLGZ1bmN0aW9uKGUpewogICAgaWYgKCBlLmtleUNvZGUgPT09ICQudWkua2V5Q29kZS5UQUIgJiYKICAgICAgJCggdGhpcyApLmRhdGEoICJ1aS1hdXRvY29tcGxldGUiICkubWVudS5hY3RpdmUgKSB7CiAgICAgIGUucHJldmVudERlZmF1bHQoKTsKICAgIH0KICB9KQogIC5hdXRvY29tcGxldGUoewogICAgZm9jdXM6IGZ1bmN0aW9uKCkgewogICAgICByZXR1cm4gZmFsc2U7CiAgICB9LAogICAgc2VhcmNoOiBmdW5jdGlvbigpIHsKICAgICAgLy8gY3VzdG9tIG1pbmxlbmd0aAogICAgICB2YXIgdGVybSA9IGV4dHJhY3RMYXN0KHRoaXMudmFsdWUpOwogICAgICBpZiggdGVybS5sZW5ndGggPCAyICkgcmV0dXJuIGZhbHNlOwogICAgfSwKICAgIHNlbGVjdDogZnVuY3Rpb24oZXZlbnQsdWkpIHsKICAgICAgdmFyIHRlcm1zID0gc3BsaXQoIHRoaXMudmFsdWUgKTsKICAgICAgLy8gcmVtb3ZlIHRoZSBjdXJyZW50IGlucHV0CiAgICAgIHRlcm1zLnBvcCgpOwogICAgICAvLyBhZGQgdGhlIHNlbGVjdGVkIGl0ZW0KICAgICAgdGVybXMucHVzaCggdWkuaXRlbS52YWx1ZSApOwogICAgICAvLyBhZGQgcGxhY2Vob2xkZXIgdG8gZ2V0IHRoZSBjb21tYS1hbmQtc3BhY2UgYXQgdGhlIGVuZAogICAgICB0ZXJtcy5wdXNoKCAiIiApOwogICAgICB0aGlzLnZhbHVlID0gdGVybXMuam9pbiggIiwgIiApOwogICAgICByZXR1cm4gZmFsc2U7ICAgICAgIAogICAgfSwKICAgIHNvdXJjZTogZnVuY3Rpb24ocmVxdWVzdCxyZXNwb25zZSl7IAkKICAgICAgJC5hamF4KHsKICAgICAgICB1cmw6ICd7JHVybF9hamF4X2ZldV91c2Vyc30nLAogICAgICAgIGRhdGE6IHsgJ3skYWN0aW9uaWR9anNvbic6IDEsICd7JGFjdGlvbmlkfXRlcm0nOiBleHRyYWN0TGFzdChyZXF1ZXN0LnRlcm0pIH0sCglzdWNjZXNzOiBmdW5jdGlvbiggZGF0YSwgdGV4dFN0YXR1cyApIHsKICAgICAgICAgIHZhciBwb3NzaWJsZSA9IFtdOwogICAgICAgICAgJC5lYWNoKCBkYXRhLCBmdW5jdGlvbihpLCB2YWwpIHsKICAgICAgICAgICAgcG9zc2libGUucHVzaCh2YWwpOwogICAgICAgICAgfSk7CiAgICAgICAgICByZXNwb25zZShwb3NzaWJsZSk7CiAgICAgICAgfQogICAgICB9KTsKICAgIH0KICB9KTsKfSk7Cgp7JGV4dHJhanN8ZGVmYXVsdDonJ30KPC9zY3JpcHQ+Cgo8aDM+eyRtb2QtPkxhbmcoJ3RpdGxlX3JlcG9ydF9kb3dubG9hZHNieXVzZXIyJyl9PC9oMz4KCjxkaXYgaWQ9InJlcG9ydF9kb3dubG9hZHNieXVzZXIiPgp7JGZvcm1zdGFydH0KPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2ZpbHRlcicpfTo8L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3JlcG9ydF90eXBlJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9cmVwb3J0X3R5cGUiIGlkPSJyZXBvcnRfdHlwZSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcmVwb3J0X3R5cGVzIHNlbGVjdGVkPSRwcm9maWxlLnJlcG9ydF90eXBlfQogICAgICA8L3NlbGVjdD4KICAgIDwvcD4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2NhdGVnb3JpZXMnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1jYXRlZ29yaWVzW10iIG11bHRpcGxlPSJtdWx0aXBsZSIgc2l6ZT0iNSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kdXBsb2FkX2NhdGVnb3JpZXMgc2VsZWN0ZWQ9JHByb2ZpbGUuY2F0ZWdvcmllc30KICAgICAgPC9zZWxlY3Q+CiAgICA8L3A+CiAgPC9kaXY+CgogIDx0YWJsZSBzdHlsZT0ibWFyZ2luLXRvcDogMWVtOyBib3JkZXItdG9wOiAxcHggZGFzaGVkIGJsYWNrOyI+CiAgPHRyPgogICAgPHRkIHZhbGlnbj0idG9wIj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmV1X2dyb3VwcycpfTo8L3A+CiAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9ZmV1X2dyb3Vwc1tdIiBtdWx0aXBsZT0ibXVsdGlwbGUiIHNpemU9IjUiPgogICAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRmZXVfZ3JvdXBzIHNlbGVjdGVkPSRwcm9maWxlLmZldV9ncm91cHN9CiAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgPC90ZD4KCiAgICA8dGQgdmFsaWduPSJtaWRkbGUiIHN0eWxlPSJwYWRkaW5nOiAxZW07Ij4KICAgICAgeyRtb2QtPkxhbmcoJ29yJyl9CiAgICA8L3RkPgoKICAgIDx0ZCB2YWxpZ249InRvcCI+CiAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgc3R5bGU9ImNsZWFyOiBub25lOyBmbG9hdDogbGVmdDsiPgogICAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9mZXVfdXNlcnMnKX06PC9wPgogICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgPHRleHRhcmVhIGNsYXNzPSJ0YV9yZXNpemFibGUiIGlkPSJhamF4X2ZldV91c2VycyIgbmFtZT0ieyRhY3Rpb25pZH1mZXVfdXNlcnMiPnskcHJvZmlsZS5mZXVfdXNlcnN9PC90ZXh0YXJlYT4KICAgICAgICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fZmV1X3VzZXJzJyl9CiAgICAgICAgPC9wPgogICAgICA8L2Rpdj4KICAgIDwvdGQ+CiAgIDwvdHI+CiA8L3RhYmxlPgoKIDx0YWJsZSBzdHlsZT0ibWFyZ2luLXRvcDogMWVtOyBib3JkZXItdG9wOiAxcHggZGFzaGVkIGJsYWNrOyB3aWR0aDogMTAwJTsiPgogIDx0cj4KICAgIDx0ZCB3aWR0aD0iNTAlIiBzdHlsZT0icGFkZGluZzogMWVtOyI+CiAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfc3RhcnRfZGF0ZScpfTo8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIHtodG1sX3NlbGVjdF9kYXRlIHRpbWU9JHByb2ZpbGUuc3RhcnRfZGF0ZSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMiIgcHJlZml4PSJ7JGFjdGlvbmlkfXN0YXJ0X2RhdGUifQogICAgICA8L3A+CiAgICA8L2Rpdj4KICAgIDwvdGQ+CgogICAgPHRkIHdpZHRoPSI1MCUiIHN0eWxlPSJwYWRkaW5nOiAxZW07Ij4KICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9lbmRfZGF0ZScpfTo8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIHtodG1sX3NlbGVjdF9kYXRlIHRpbWU9JHByb2ZpbGUuZW5kX2RhdGUgc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzIiIHByZWZpeD0ieyRhY3Rpb25pZH1lbmRfZGF0ZSJ9CiAgICAgIDwvcD4KICAgIDwvZGl2PgogICAgPC90ZD4KICAgPC90cj4KIDwvdGFibGU+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygndmlldycpfTo8L2xlZ2VuZD4KICA8dGFibGU+CiAgICA8dHI+CiAgICAgIDx0ZCB3aWR0aD0iMzMlIiB2YWxpZ249InRvcCIgc3R5bGU9InBhZGRpbmc6IDFlbTsiPgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZmllbGRsaXN0Jyl9OjwvcD4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9dmlld19maWVsZHNbXSIgbXVsdGlwbGU9Im11bHRpcGxlIiBzaXplPSI1Ij4KICAgICAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRmaWVsZGxpc3Qgc2VsZWN0ZWQ9JHByb2ZpbGUudmlld19maWVsZHN9CiAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L3RkPgogICAgICA8dGQgd2lkdGg9IjMzJSIgdmFsaWduPSJ0b3AiIHN0eWxlPSJwYWRkaW5nOiAxZW07Ij4KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3NvcnRpbmcnKX06PC9wPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH12aWV3X3NvcnRpbmciIHNpemU9IjUiPgogICAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHNvcnRsaXN0IHNlbGVjdGVkPSRwcm9maWxlLnZpZXdfc29ydGluZ30KICAgICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgICA8L3A+CiAgICAgICAgPC9kaXY+CiAgICAgIDwvdGQ+CiAgICAgIDx0ZCB3aWR0aD0iMzMlIiB2YWxpZ249InRvcCIgc3R5bGU9InBhZGRpbmc6IDFlbTsiPgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfc29ydG9yZGVyJyl9OjwvcD4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9dmlld19zb3J0b3JkZXIiIHNpemU9IjMiPgogICAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHNvcnRvcmRlcnMgc2VsZWN0ZWQ9JHByb2ZpbGUudmlld19zb3J0b3JkZXJ9CiAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L3RkPgogICAgPC90cj4KICA8L3RhYmxlPgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ291dHB1dCcpfTo8L2xlZ2VuZD4KICA8dGFibGU+CiAgICA8dHI+CiAgICAgIDx0ZD4KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X291dHB1dCcpfTo8L3A+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgICAgICAgeyR0bXA9Wydjc3YnPT57JG1vZC0+TGFuZygnZXhwb3J0X2NzdicpfSwnaHRtbCc9PnskbW9kLT5MYW5nKCdleHBvcnRfaHRtbCcpfSwnaHRtbGVtYWlsJz0+eyRtb2QtPkxhbmcoJ2V4cG9ydF9odG1sZW1haWwnKX1dfQogICAgICAgICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9b3V0cHV0X3R5cGUiIGlkPSJvdXRwdXRfdHlwZSI+CiAgICAgICAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR0bXAgc2VsZWN0ZWQ9JHByb2ZpbGUub3V0cHV0X3R5cGV9CiAgICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgICAgPC9wPgogICAgICAgIDwvZGl2PgogICAgICA8L3RkPgogICAgICA8dGQ+CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93IiBpZD0ib3V0cHV0X3RlbXBsYXRlX3dyYXAiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfb3V0cHV0X3RlbXBsYXRlJyl9OjwvcD4KICAgICAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9b3V0cHV0X3RlbXBsYXRlIiBpZD0ib3V0cHV0X3RlbXBsYXRlIj4KICAgICAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JG91dHB1dF90ZW1wbGF0ZXMgc2VsZWN0ZWQ9JHByb2ZpbGUub3V0cHV0X3RlbXBsYXRlfQogICAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICAgIDwvcD4KICAgICAgICA8L2Rpdj4KICAgICAgPC90ZD4KICAgIDwvdHI+CiAgPC90YWJsZT4KPC9maWVsZHNldD4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VzdWJtaXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_upload.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJyNzZWxfY2F0ZWdvcnknKS5jaGFuZ2UoZnVuY3Rpb24oKXsKICAgICQodGhpcykuY2xvc2VzdCgnZm9ybScpLnN1Ym1pdCgpOwogIH0pOwp9KTsKPC9zY3JpcHQ+Cgo8aDM+eyRtb2QtPkxhbmcoJ3VwbG9hZF9maWxlJyl9PC9oMz4KCnskZm9ybXN0YXJ0fQoKe2NnZV9zdGFydF90YWJzfQp7Y2dlX3RhYmhlYWRlciBuYW1lPSdnZW5lcmFsJyBsYWJlbD0kbW9kLT5MYW5nKCdwcm9tcHRfZ2VuZXJhbCcpfQp7Y2dlX3RhYmhlYWRlciBuYW1lPSdkZXNjcmlwdGlvbicgbGFiZWw9JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX0Ke2lmIGlzc2V0KCRmaWVsZHMpfQp7Y2dlX3RhYmhlYWRlciBuYW1lPSdmaWVsZHMnIGxhYmVsPSRtb2QtPkxhbmcoJ3Byb21wdF9maWVsZHMnKX0Key9pZn0Ke2lmIGlzc2V0KCRhbGxvd191cGxvYWRfc2VuZGZpbGUpICYmICRhbGxvd191cGxvYWRfc2VuZGZpbGUgPT0gMX0Ke2NnZV90YWJoZWFkZXIgbmFtZT0nc2VuZGZpbGUnIGxhYmVsPSRtb2QtPkxhbmcoJ3Byb21wdF9zZW5kZmlsZScpfQp7L2lmfQp7aWYgaXNzZXQoJGNhdGVnb3J5X2luZm8pICYmICRjYXRlZ29yeV9pbmZvLnVwbG9hZF9jYXRlZ29yeV91c2VycGVybXMgJiYgaXNzZXQoJGZldV9ncm91cGxpc3QpfQp7Y2dlX3RhYmhlYWRlciBuYW1lPSdwZXJtcycgbGFiZWw9JG1vZC0+TGFuZygncHJvbXB0X3Blcm1pc3Npb25zJyl9CnsvaWZ9Cgp7Y2dlX3RhYmNvbnRlbnRfc3RhcnQgbmFtZT0nZ2VuZXJhbCd9CjxkaXYgY2xhc3M9ImNfZnVsbCI+CiAgPHAgY2xhc3M9ImdyaWRfMiB0ZXh0LXJpZ2h0Ij57JG1vZC0+TGFuZygnY2F0ZWdvcnknKX06PC9wPgogIDxwIGNsYXNzPSJncmlkXzEwIj4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1jYXRlZ29yeV9pZCIgaWQ9InNlbF9jYXRlZ29yeSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kY2F0ZWdvcmllcyBzZWxlY3RlZD0kY3VyY2F0ZWdvcnl9CiAgICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0iY19mdWxsIj4KICA8cCBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskbW9kLT5MYW5nKCd1cGxvYWQnKX08L3A+CiAgPHAgY2xhc3M9ImdyaWRfMTAiPgogICAgPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9InskYWN0aW9uaWR9aW5wdXRfYnJvd3NlIiB2YWx1ZT0iIiBzaXplPSI4MCIvPgogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwiPgogIDxwIGNsYXNzPSJncmlkXzIgdGV4dC1yaWdodCI+eyRtb2QtPkxhbmcoJ3RodW1ibmFpbCcpfTwvcD4KICA8cCBjbGFzcz0iZ3JpZF8xMCI+CiAgICA8aW5wdXQgdHlwZT0iZmlsZSIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF90aHVtYm5haWwiIHZhbHVlPSIiIHNpemU9IjgwIi8+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fdGh1bWJuYWlsJyl9CiAgPC9wPgo8L2Rpdj4KCntpZiAhJHVzZV9hdXRvZ2VufQo8ZGl2IGNsYXNzPSJjX2Z1bGwiPgogIDxwIGNsYXNzPSJncmlkXzIgdGV4dC1yaWdodCI+eyRtb2QtPkxhbmcoJ2Rlc3RuYW1lJyl9PC9wPgogIDxwIGNsYXNzPSJncmlkXzEwIj4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X2Rlc3RuYW1lIiB2YWx1ZT0ieyR1cGxvYWQuZGVzdG5hbWV9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19kZXN0bmFtZScpfQogIDwvcD4KPC9kaXY+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJjX2Z1bGwiPgogIDxwIGNsYXNzPSJncmlkXzIgdGV4dC1yaWdodCI+eyRtb2QtPkxhbmcoJ3N1bW1hcnknKX08L3A+CiAgPHAgY2xhc3M9ImdyaWRfMTAiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9aW5wdXRfc3VtbWFyeSIgdmFsdWU9InskdXBsb2FkLnN1bW1hcnl9IiBzaXplPSI4MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19zdW1tYXJ5Jyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImNfZnVsbCI+CiAgPHAgY2xhc3M9ImdyaWRfMiB0ZXh0LXJpZ2h0Ij57JG1vZC0+TGFuZygnYXV0aG9yJyl9OjwvcD4KICA8cCBjbGFzcz0iZ3JpZF8xMCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9hdXRob3IiIHZhbHVlPSJ7JHVwbG9hZC5hdXRob3J9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJjbGVhcmIiPjwvZGl2PgoKe2NnZV90YWJjb250ZW50X3N0YXJ0IG5hbWU9J2Rlc2NyaXB0aW9uJ30KPGRpdiBjbGFzcz0iY19mdWxsIj4KICA8cCBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskbW9kLT5MYW5nKCdkZXNjcmlwdGlvbicpfTwvcD4KICA8cCBjbGFzcz0iZ3JpZF8xMCI+CiAgICA8dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9kZXNjcmlwdGlvbiIgcm93cz0iNSIgY29scz0iODAiPnskdXBsb2FkLmRlc2NyaXB0aW9ufTwvdGV4dGFyZWE+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4KCntpZiBpc3NldCgkZmllbGRzKX0Ke2NnZV90YWJjb250ZW50X3N0YXJ0IG5hbWU9J2ZpZWxkcyd9Cntmb3JlYWNoIGZyb209JGZpZWxkcyBpdGVtPSdvbmUnfQo8ZGl2IGNsYXNzPSJjX2Z1bGwiPgogIDxwIGNsYXNzPSJncmlkXzIgdGV4dC1yaWdodCI+eyRvbmUubmFtZX06PC9wPgogIDxwIGNsYXNzPSJncmlkXzEwIj4KICAgIHtpZiBpc3NldCgkb25lLmlucHV0KX0KICAgICAgeyRvbmUuaW5wdXR9CiAgICB7ZWxzZWlmICRvbmUudHlwZSA9PSAndGV4dGlucHV0J30KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZmllbGRfeyRvbmUuaWR9IiB2YWx1ZT0ieyRvbmUudmFsdWV8ZGVmYXVsdDonJ30iIHNpemU9Inskb25lLmF0dHJpYi5sZW5ndGh9IiBtYXhsZW5ndGg9Inskb25lLmF0dHJpYi5tYXhsZW5ndGh9Ii8+CiAgICB7ZWxzZWlmICRvbmUudHlwZSA9PSAnY2hlY2tib3gnfQogICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9ZmllbGRfeyRvbmUuaWR9IiB2YWx1ZT0iMSJ7aWYgJG9uZS52YWx1ZSA9PSAxfSBjaGVja2VkPSJjaGVja2VkInsvaWZ9Lz4KICAgIHtlbHNlaWYgJG9uZS50eXBlID09ICdkcm9wZG93bid9CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1maWVsZF97JG9uZS5pZH0iPgogICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kb25lLmF0dHJpYi5vcHRpb25zfQogICAgICA8L3NlbGVjdD4KICAgIHtlbHNlaWYgJG9uZS50eXBlID09ICdtdWx0aXNlbGVjdCd9CiAgICAgIDxzZWxlY3QgbXVsdGlwbGU9Im11bHRpcGxlIiBzaXplPSI0IiBuYW1lPSJ7JGFjdGlvbmlkfWZpZWxkX3skb25lLmlkfVtdIj4KICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JG9uZS5hdHRyaWIub3B0aW9uc30KICAgICAgPC9zZWxlY3Q+CiAgICB7L2lmfQogIDwvcD4KPC9kaXY+CnsvZm9yZWFjaH0KPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4Key9pZn0KCntpZiBpc3NldCgkYWxsb3dfdXBsb2FkX3NlbmRmaWxlKSAmJiAkYWxsb3dfdXBsb2FkX3NlbmRmaWxlID09IDF9CntjZ2VfdGFiY29udGVudF9zdGFydCBuYW1lPSdzZW5kZmlsZSd9CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncHJvbXB0X3RsX2FjY2VzcycpfTo8L2xlZ2VuZD4KPGRpdiBjbGFzcz0iY19mdWxsIj4KICA8cCBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskbW9kLT5MYW5nKCdlbWFpbF9hZGRyZXNzJyl9OjwvcD4KICA8cCBjbGFzcz0iZ3JpZF8xMCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH10bF9lbWFpbCIgdmFsdWU9IiIgc2l6ZT0iNDAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgPC9wPgo8L2Rpdj4KCiA8ZGl2IGNsYXNzPSJjX2Z1bGwiPgogICA8cCBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdGltZWxpbWl0ZWRfaG91cnMnKX08L3A+CiAgIDxwIGNsYXNzPSJncmlkXzEwIj4KICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH10bF9ob3VycyIgdmFsdWU9InskdGxfaG91cnN9IiBzaXplPSIzIiBtYXhsZW5ndGg9IjMiLz4KICAgPC9wPgogPC9kaXY+CgogPGRpdiBjbGFzcz0iY19mdWxsIj4KICAgPHAgY2xhc3M9ImdyaWRfMiB0ZXh0LXJpZ2h0Ij57JG1vZC0+TGFuZygncHJvbXB0X3RpbWVsaW1pdGVkX2Rvd25sb2FkcycpfTwvcD4KICAgPHAgY2xhc3M9ImdyaWRfMTAiPgogICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXRsX2Rvd25sb2FkcyIgdmFsdWU9InskdGxfZG93bmxvYWRzfSIgc2l6ZT0iMyIgbWF4bGVuZ3RoPSIzIi8+CiAgIDwvcD4KIDwvZGl2PgoKIDxkaXYgY2xhc3M9ImNfZnVsbCI+CiAgIDxwIGNsYXNzPSJncmlkXzIgdGV4dC1yaWdodCI+eyRtb2QtPkxhbmcoJ3Byb21wdF90aW1lbGltaXRlZF9zZW5kaXQnKX08L3A+CiAgIDxwIGNsYXNzPSJncmlkXzEwIj4KICAgICA8aW5wdXQgdHlwZT0iaGlkZGVuIiBuYW1lPSJ7JGFjdGlvbmlkfXRsX3NlbmRpdCIgdmFsdWU9IjAiLz4KICAgICA8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9InskYWN0aW9uaWR9dGxfc2VuZGl0IiB2YWx1ZT0iMSIgY2hlY2tlZD0iY2hlY2tlZCIvPgogICA8L3A+CiA8L2Rpdj4KPC9maWVsZHNldD4KPGRpdiBjbGFzcz0iY2xlYXJiIj48L2Rpdj4Key9pZn0KCntpZiBpc3NldCgkY2F0ZWdvcnlfaW5mbykgJiYgJGNhdGVnb3J5X2luZm8udXBsb2FkX2NhdGVnb3J5X3VzZXJwZXJtcyAmJiBpc3NldCgkZmV1X2dyb3VwbGlzdCl9CntjZ2VfdGFiY29udGVudF9zdGFydCBuYW1lPSdwZXJtcyd9CjxkaXYgY2xhc3M9ImNfZnVsbCI+CiAgPHAgY2xhc3M9ImdyaWRfMiB0ZXh0LXJpZ2h0Ij57JG1vZC0+TGFuZygncHJvbXB0X3Blcm1pc3Npb25zJyl9OjwvcD4KICA8cCBjbGFzcz0iZ3JpZF8xMCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9aW5wdXRfdXNlcnBlcm1zW10iIG11bHRpcGxlPSJtdWx0aXBsZSIgc2l6ZT0iNSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZmV1X2dyb3VwbGlzdCBzZWxlY3RlZD0kY2F0ZWdvcnlfaW5mby51cGxvYWRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtc30KICAgIDwvc2VsZWN0PgogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9ImNsZWFyYiI+PC9kaXY+CnsvaWZ9Cgp7Y2dlX2VuZF90YWJzfQoKPGRpdiBjbGFzcz0iY19mdWxsIj4KICA8cCBjbGFzcz0iZ3JpZF8xMCI+CiAgICB7aWYgISR1c2VfYXV0b2dlbn0KICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9InskYWN0aW9uaWR9aW5wdXRfcmVwbGFjZSIgdmFsdWU9InskYWxsb3dfcmVwbGFjZX0iLz4KICAgIHsvaWZ9CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/brieflist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRpdGVtY291bnQgPiAwfQ0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCgk8dGhlYWQ+DQoJCTx0cj4NCgkJCTx0aD57JG5hbWV0ZXh0fTwvdGg+DQoJCQk8dGg+eyRhdXRob3J0ZXh0fTwvdGg+DQoJCSAgICAgICAgPHRoPnskZGF0ZXRleHR9PC90aD4NCgkJCTx0aD57JHNpemV0ZXh0fTwvdGg+CQ0KCQk8L3RyPg0KCTwvdGhlYWQ+DQoJPHRib2R5Pg0KCXtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9DQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4NCgkJCTx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS0+YXV0aG9yfTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS0+ZGF0ZX08L3RkPg0KCQkJPHRkPnskZW50cnktPnNpemV9PC90ZD4NCgkJPC90cj4NCgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPg0KICAgICAgICAgICAgICAgCQk8dGQgY29sc3Bhbj0iNCI+eyRlbnRyeS0+ZGVzY3JpcHRpb259PC90ZD4gDQoJCTwvdHI+DQoJey9mb3JlYWNofQ0KCTwvdGJvZHk+DQo8L3RhYmxlPg0Key9pZn0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/categorylist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2NnY3NzX2FkZH0NCnRhYmxlLnBhZ2V0YWJsZSB0aCB7DQogICBiYWNrZ3JvdW5kOiBibGFjazsNCiAgIHRleHQtc2hhZG93OiBub25lOw0KfQ0KdGguaGVhZGVyIHsNCiAgIGN1cnNvcjogcG9pbnRlcjsNCn0NCnRoLmhlYWRlclNvcnRVcCB7DQogICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmNiY2JjICFpbXBvcnRhbnQ7DQp9DQp0aC5oZWFkZXJTb3J0RG93biB7DQogICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmNiY2JjICFpbXBvcnRhbnQ7DQp9DQp7L2NnY3NzX2FkZH0NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCmZ1bmN0aW9uIHNob3dfbXVsdGlhY3Rpb24oKSB7DQogICAgdmFyIGFueSA9IDA7DQogICAgJCgnLmNhdF9zZWxlY3RhbGwnKS5lYWNoKGZ1bmN0aW9uKCl7DQogICAgICAgIGFueSA9IGFueSB8ICQodGhpcykucHJvcCgnY2hlY2tlZCcpOw0KICAgIH0pOw0KDQogICAgaWYoIGFueSApIHsNCiAgICAgICAgJCgnI2NhdF9tdWx0aWFjdGlvbicpLnNob3coKTsNCiAgICB9IGVsc2Ugew0KICAgICAgICAkKCcjY2F0X211bHRpYWN0aW9uJykuaGlkZSgpOw0KICAgIH0NCn0NCg0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCiAgJCgnI3N1Ym1pdF9jYXRfbXVsdGlhY3Rpb24nKS5jbGljayhmdW5jdGlvbigpew0KICAgICAgIHJldHVybiBjb25maXJtKCd7JG1vZC0+TGFuZygnY29uZmlybV9jYXRfbXVsdGlhY3Rpb24nKX0nKTsNCiAgfSk7DQogICQoJyNjYXRfbXVsdGlhY3Rpb24nKS5oaWRlKCk7DQogICQoJyNjYXRfc2VsZWN0YWxsJykuY2xpY2soZnVuY3Rpb24oKXsNCiAgICAgIHZhciB2YWwgPSAkKHRoaXMpLmF0dHIoJ2NoZWNrZWQnKTsNCiAgICAgIGlmKCB2YWwgKSB7DQogICAgICAgICAgJCgnLmNhdF9zZWxlY3RhbGwnKS5hdHRyKCdjaGVja2VkJyx0cnVlKTsNCiAgICAgIH0NCiAgICAgIGVsc2Ugew0KICAgICAgICAgICQoJy5jYXRfc2VsZWN0YWxsJykucmVtb3ZlQXR0cignY2hlY2tlZCcpOw0KICAgICAgfQ0KICAgICAgc2hvd19tdWx0aWFjdGlvbigpOw0KICB9KTsNCiAgJCgnLmNhdF9zZWxlY3RhbGwnKS5jbGljayhmdW5jdGlvbigpew0KICAgICAgc2hvd19tdWx0aWFjdGlvbigpOw0KICB9KTsNCn0pOw0KPC9zY3JpcHQ+DQoNCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj48cCBjbGFzcz0icGFnZW9wdGlvbnMiPnskaXRlbWNvdW50fSBDYXRlZ29yaWVzIEZvdW5kPC9wPjwvZGl2Pg0Ke2lmICRpdGVtY291bnQgPiAwfQ0KeyRmb3Jtc3RhcnR9DQo8dGFibGUgaWQ9ImNhdGVnb3J5bGlzdCIgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPg0KCTx0aGVhZD4NCgkJPHRyPg0KCQkJPHRoIHdpZHRoPSIxMCUiIGNsYXNzPSJ7IHNvcnRlcjogZmFsc2UgfSI+eyRjYXRlZ29yeXRleHR9PC90aD4NCgkJCTx0aD57JG5hbWV0ZXh0fTwvdGg+DQoJCQk8dGg+eyRwYXRodGV4dH08L3RoPg0KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiB7IHNvcnRlcjogZmFsc2UgfSI+Jm5ic3A7PC90aD4NCgkJCTx0aCBjbGFzcz0icGFnZWljb24geyBzb3J0ZXI6IGZhbHNlIH0iPiZuYnNwOzwvdGg+DQoJCQk8dGggY2xhc3M9InBhZ2VpY29uIHsgc29ydGVyOiBmYWxzZSB9Ij4mbmJzcDs8L3RoPg0KCQkJPHRoIGNsYXNzPSJwYWdlaWNvbiB7IHNvcnRlcjogZmFsc2UgfSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiBpZD0iY2F0X3NlbGVjdGFsbCIgdmFsdWU9IjEiLz48L3RoPg0KCQk8L3RyPg0KCTwvdGhlYWQ+DQoJPHRib2R5Pg0Ke2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0NCgkJPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPg0KCQkJPHRkPnskZW50cnktPmlkfTwvdGQ+DQoJCQk8dGQ+PHNwYW4gdGl0bGU9InskZW50cnktPmRlc2NyaXB0aW9ufSI+eyRlbnRyeS0+bmFtZX08L3NwYW4+PC90ZD4NCgkJCTx0ZD57aWYgJGVudHJ5LT5lcnJvcn08c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiIHRpdGxlPSJ7JG1vZC0+TGFuZygnZXJyb3JfY2F0ZWdvcnlfcHJvYmxlbV9zJyl9Ij57JGVudHJ5LT5wYXRofTwvc3Bhbj57ZWxzZX17JGVudHJ5LT5wYXRofXsvaWZ9PC90ZD4NCgkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPg0KCQkJPHRkPnskZW50cnktPmNvcHlsaW5rfTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPg0KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9ImNhdF9zZWxlY3RhbGwiIHZhbHVlPSJ7JGVudHJ5LT5pZH0iIG5hbWU9InskYWN0aW9uaWR9Y2F0X211bHRpc2VsZWN0W10iLz48L3RkPg0KCQk8L3RyPg0Key9mb3JlYWNofQ0KCTwvdGJvZHk+DQo8L3RhYmxlPg0Key9pZn0NCjxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4NCiAgPHRhYmxlIHdpZHRoPSIxMDAlIj4NCiAgIDx0cj4NCiAgICAgPHRkPnskYWRkbGlua308L3RkPg0KDQogICAgIHtpZiAkaXRlbWNvdW50ID4gMH0NCiAgICAgPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiByaWdodDsiPg0KICAgICAgIDxkaXYgaWQ9ImNhdF9tdWx0aWFjdGlvbiIgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyI+DQogICAgICAgeyRtb2QtPkxhbmcoJ3dpdGhfc2VsZWN0ZWQnKX06DQogICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfW11bHRpYWN0aW9uIiBpZD0iY2F0X211bHRpYWN0aW9uIj4NCiAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGNhdF9tdWx0aWFjdGlvbnN9DQogICAgICAgPC9zZWxlY3Q+DQogICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9J3N1Ym1pdF9jYXRfbXVsdGlhY3Rpb24nIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIgLz4NCiAgICAgICA8L2Rpdj4NCiAgICAgPC90ZD4NCiAgICAgey9pZn0NCiAgIDwvdHI+DQogIDwvdGFibGU+DQo8L2Rpdj4NCg0Ke2lmICRpdGVtY291bnQgPiAwfQ0KeyRmb3JtZW5kfQ0Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/deletecategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19Cgk8cD57JHdhcm5pbmdfZGVsZXRlY2F0ZWdvcnl9PC9wPgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2RlbGV0ZWRpcmVjdG9yeX06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZGVsZXRlZGlyZWN0b3J5fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH08L3A+Cgk8L2Rpdj4KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/editdefaulttemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19Cgk8aDQ+eyRkZWZhdWx0dGVtcGxhdGVmb3JtX3RpdGxlfTwvaDQ+CiAgICAgICAgPGVtPnskaW5mb190aXRsZX08L2VtPjxici8+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdGVtcGxhdGV9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3RlbXBsYXRlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JHJlc2V0fTwvcD4KCTwvZGl2Pgp7JGVuZGZvcm19Cjxici8+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/edittemplate.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGgzPnskdGl0bGV9PC9oMz4KPC9kaXY+CnskZm9ybXN0YXJ0fXskaGlkZGVufQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdGVtcGxhdGVuYW1lfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZW5hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3RlbXBsYXRlfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyR0ZW1wbGF0ZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZm9ybWVuZH0K]]></data>
	</file>
	<file>
	  <filename>/templates/edittemplates.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aCB3aWR0aD0iNzUlIj57JG5hbWVwcm9tcHR9PC90aD4KICAgICAgPHRoPnskZGVmYXVsdHByb21wdH08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogICA8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSI+CiAgICAgPHRkPnskZW50cnktPm5hbWV9PC90ZD4KICAgICA8dGQ+eyRlbnRyeS0+ZGVmYXVsdH08L3RkPgogICAgIDx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgogICAgIDx0ZD57JGVudHJ5LT5kZWxldGVsaW5rfTwvdGQ+CiAgIDwvdHI+CnsvZm9yZWFjaH0KPC90YWJsZT4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JG5ld3RlbXBsYXRlbGlua308L3A+CjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/editupload.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICAgJCgnLmJ1dHRvbicpLmJ1dHRvbigpOwogICAgJChkb2N1bWVudCkub24oJy5idG5fZGVsZXRlJywnY2xpY2snLGZ1bmN0aW9uKCkgewogICAgICAgIHJldHVybiBjb25maXJtKCd7JG1vZC0+TGFuZygnY29uZmlybV9kZWxldGVfZmlsZScpfScpOwogICAgfSk7CiAgICAkKCcjbW92ZWNhdGVnb3J5JykuY2hhbmdlKGZ1bmN0aW9uKCl7CiAgICAgICAgJCh0aGlzKS5jbG9zZXN0KCdmb3JtJykuc3VibWl0KCk7CiAgICB9KTsKfSk7Cjwvc2NyaXB0Pgo8YQo8aDM+eyRtb2QtPkxhbmcoJ2VkaXR1cGxvYWQnKX0mbmJzcDsKICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249Z2V0bWltZWZpbGUgdXBsb2FkX2lkPSR1cGxvYWRfaW5mby51cGxvYWRfaWR9IiB0YXJnZXQ9Il9ibGFuayIgdGl0bGU9InskbW9kLT5MYW5nKCd2aWV3Jyl9Ij57YWRtaW5faWNvbiBpY29uPSd2aWV3LmdpZid9PC9hPgo8L2gzPgoKe2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAkbWVzc2FnZSAhPSAnJ30KICB7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gJyd9CiAgICA8cCBjbGFzcz0icmVkIj57JG1lc3NhZ2V9PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7ZWxzZX0KICB7JHN0YXJ0Zm9ybX0KICB7Y2dlX3N0YXJ0X3RhYnN9CiAge2NnZV90YWJoZWFkZXIgbmFtZT0nZ2VuZXJhbCcgbGFiZWw9JG1vZC0+TGFuZygncHJvbXB0X2dlbmVyYWwnKX0KICB7Y2dlX3RhYmhlYWRlciBuYW1lPSdkZXNjcmlwdGlvbicgbGFiZWw9JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX0KCiAge2lmIGlzc2V0KCRmaWVsZHMpfQogICAgIHtjZ2VfdGFiaGVhZGVyIG5hbWU9J2ZpZWxkcycgbGFiZWw9JG1vZC0+TGFuZygncHJvbXB0X2ZpZWxkcycpfQogIHsvaWZ9CiAge2lmIGlzc2V0KCRjYXRlZ29yeV9pbmZvKSAmJiAkY2F0ZWdvcnlfaW5mby51cGxvYWRfY2F0ZWdvcnlfdXNlcnBlcm1zICYmIGlzc2V0KCRmZXVfZ3JvdXBsaXN0KX0KICAgICB7Y2dlX3RhYmhlYWRlciBuYW1lPSdwZXJtcycgbGFiZWw9JG1vZC0+TGFuZygncHJvbXB0X3Blcm1pc3Npb25zJyl9CiAgey9pZn0KCiAge2lmICRpdGVtY291bnQgPiAwfQogICAge2NnZV90YWJoZWFkZXIgbmFtZT0nZG93bmxvYWRzJyBsYWJlbD0kbW9kLT5MYW5nKCdwcm9tcHRfZG93bmxvYWRzJyl9CiAgey9pZn0KCiAge2NnZV90YWJjb250ZW50X3N0YXJ0IG5hbWU9J2dlbmVyYWwnfQogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICA8cCBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPip7JG1vZC0+TGFuZygnbmFtZScpfTo8L3A+CiAgICA8cCBjbGFzcz0iZ3JpZF8xMCI+CiAgICAgIDxpbnB1dCBjbGFzcz0iZ3JpZF8xMiIgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF91cGxvYWRuYW1lIiB2YWx1ZT0ieyR1cGxvYWRfaW5mby51cGxvYWRfbmFtZX0iLz4KICAgICAgPGJyLz57JG1vZC0+TGFuZygncmVuYW1lbWVzc2FnZScpfQogICAgPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgPHAgY2xhc3M9ImdyaWRfMiB0ZXh0LXJpZ2h0Ij57JG1vZC0+TGFuZygncHJvbXB0X3JlcGxhY2VmaWxlJyl9OjwvcD4KICAgIDxwIGNsYXNzPSJncmlkXzEwIj4KICAgICAgPGlucHV0IGNsYXNzPSJncmlkXzkiIHR5cGU9ImZpbGUiIG5hbWU9InskYWN0aW9uaWR9cmVwbGFjZV9maWxlIi8+CiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9cmVwbGFjZSIgdmFsdWU9InskbW9kLT5MYW5nKCdyZXBsYWNlJyl9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2luZm9fcmVwbGFjZScpfSIvPgogICAgICA8YnIvPnskbW9kLT5MYW5nKCdpbmZvX3JlcGxhY2VmaWxlJyl9CiAgICA8L3A+CiAgPC9kaXY+CgogIHtpZiAhZW1wdHkoJHRodW1iX3VybCl9CiAgPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgIDxwIGNsYXNzPSJncmlkXzIgdGV4dC1yaWdodCI+eyRtb2QtPkxhbmcoJ3RodW1ibmFpbCcpfTwvcD4KICAgIDxwIGNsYXNzPSJncmlkXzEwIj4KICAgICAge2lmIGlzc2V0KCRmaWxlX3VybCl9PGEgaHJlZj0ieyRmaWxlX3VybH0iIGNsYXNzPSJmYW5jeWJveCI+PC9hPnsvaWZ9CiAgICAgIDxpbWcgc3JjPSJ7JHRodW1iX3VybH0iIGFsdD0iIi8+CiAgICAgIHtpZiBpc3NldCgkZmlsZV91cmwpfTwvYT57L2lmfQogICAgPC9wPgogIDwvZGl2PgogIHsvaWZ9CgogIHtpZiBpc3NldCgkaW5wdXRfbmV3dGh1bWJuYWlsKX0KICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgPHAgY2xhc3M9ImdyaWRfMiB0ZXh0LXJpZ2h0Ij57JHByb21wdF9uZXd0aHVtYm5haWx9PC9wPgogICAgPHAgY2xhc3M9ImdyaWRfMTAiPnskaW5wdXRfbmV3dGh1bWJuYWlsfTwvcD4KICA8L2Rpdj4KICB7L2lmfQoKICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgPHAgY2xhc3M9ImdyaWRfMiB0ZXh0LXJpZ2h0Ij57JHByb21wdF9tb3ZlY2F0ZWdvcnl9OjwvcD4KICAgIDxwIGNsYXNzPSJncmlkXzEwIj4KICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X21vdmVjYXRlZ29yeSIgaWQ9Im1vdmVjYXRlZ29yeSIgY2xhc3M9ImdyaWRfMTIiPgogICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kY2F0ZWdvcnlsaXN0IHNlbGVjdGVkPSRzZWxfY2F0ZWdvcnl9CiAgICAgIDwvc2VsZWN0PgogICAgICA8YnIvPnskbW9kLT5MYW5nKCdwYXRobWVzc2FnZScpfQogICAgPC9wPgogIDwvZGl2PgoKICA8ZGl2IGNsYXNzPSJjX2Z1bGwgY2YiPgogICAgPHAgY2xhc3M9ImdyaWRfMiB0ZXh0LXJpZ2h0Ij57JHByb21wdF91cGxvYWRzaXplfTo8L3A+CiAgICA8cCBjbGFzcz0iZ3JpZF8xMCI+eyRkYXRhX3VwbG9hZHNpemV9IChLYik8L3A+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICA8cCBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskcHJvbXB0X3VwbG9hZGRhdGV9OjwvcD4KICAgIDxwIGNsYXNzPSJncmlkXzEwIj4KICAgICAge2lmICRhbGxvd19jaGFuZ2VkYXRlfQogICAgICAgIHskcHJlZml4PSRhY3Rpb25pZHxjYXQ6J3VwbG9hZF9kYXRlXyd9CiAgICAgICAge2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSRwcmVmaXggdGltZT0kZGF0YV91cGxvYWRkYXRlIHN0YXJ0X3llYXI9MTk3MCBlbmRfeWVhcj0nKzInfSZuYnNwOwogICAgICAgIHtodG1sX3NlbGVjdF90aW1lIHByZWZpeD0kcHJlZml4IHRpbWU9JGRhdGFfdXBsb2FkZGF0ZX0KICAgICAge2Vsc2V9CiAgICAgICAgeyRkYXRhX3VwbG9hZGRhdGV9CiAgICAgIHsvaWZ9CiAgICA8L3A+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9ImNfZnVsbCBjZiI+CiAgICA8cCBjbGFzcz0iZ3JpZF8yIHRleHQtcmlnaHQiPnskcHJvbXB0X3VwbG9hZGF1dGhvcn06PC9wPgogICAgPHAgY2xhc3M9ImdyaWRfMTAiPnskaW5wdXRfdXBsb2FkYXV0aG9yfTwvcD4KICA8L2Rpdj4KCiAgPGRpdiBjbGFzcz0iY19mdWxsIGNmIj4KICAgIDxwIGNsYXNzPSJncmlkXzIgdGV4dC1yaWdodCI+eyRwcm9tcHRfdXBsb2Fkc3VtbWFyeX06PC9wPgogICAgPHAgY2xhc3M9ImdyaWRfMTAiPnskaW5wdXRfdXBsb2Fkc3VtbWFyeX08L3A+CiAgPC9kaXY+CgogIHtjZ2VfdGFiY29udGVudF9zdGFydCBuYW1lPSdkZXNjcmlwdGlvbid9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfdXBsb2FkZGVzY306PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF91cGxvYWRkZXNjfTwvcD4KICA8L2Rpdj4KCiAge2lmIGlzc2V0KCRmaWVsZHMpfQogICAge2NnZV90YWJjb250ZW50X3N0YXJ0IG5hbWU9J2ZpZWxkcyd9CiAgICB7Zm9yZWFjaCBmcm9tPSRmaWVsZHMgaXRlbT0nb25lJ30KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG9uZS5uYW1lfTo8L3A+CiAgICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgICAgIHtpZiBpc3NldCgkb25lLmlucHV0KX0KICAgICAgICAgIHskb25lLmlucHV0fQogICAgICAgIHtlbHNlaWYgJG9uZS50eXBlID09ICd0ZXh0aW5wdXQnfQogICAgICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZmllbGRfeyRvbmUuaWR9IiB2YWx1ZT0ieyRvbmUudmFsdWV8ZGVmYXVsdDonJ30iIHNpemU9Inskb25lLmF0dHJpYi5sZW5ndGh9IiBtYXhsZW5ndGg9Inskb25lLmF0dHJpYi5tYXhsZW5ndGh9Ii8+CiAgICAgICAge2Vsc2VpZiAkb25lLnR5cGUgPT0gJ2NoZWNrYm94J30KICAgICAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgbmFtZT0ieyRhY3Rpb25pZH1maWVsZF97JG9uZS5pZH0iIHZhbHVlPSIxIntpZiAkb25lLnZhbHVlID09IDF9IGNoZWNrZWQ9ImNoZWNrZWQiey9pZn0vPgogICAgICAgIHtlbHNlaWYgJG9uZS50eXBlID09ICdkcm9wZG93bid9CiAgICAgICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9ZmllbGRfeyRvbmUuaWR9Ij4KICAgICAgICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRvbmUuYXR0cmliLm9wdGlvbnMgc2VsZWN0ZWQ9JG9uZS52YWx1ZX0KICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgIHtlbHNlaWYgJG9uZS50eXBlID09ICdtdWx0aXNlbGVjdCd9CiAgICAgICAgICA8c2VsZWN0IG11bHRpcGxlPSJtdWx0aXBsZSIgc2l6ZT0iNCIgbmFtZT0ieyRhY3Rpb25pZH1maWVsZF97JG9uZS5pZH1bXSI+CiAgICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kb25lLmF0dHJpYi5vcHRpb25zIHNlbGVjdGVkPSRvbmUudmFsdWV9CiAgICAgICAgICA8L3NlbGVjdD4KICAgICAgICB7L2lmfQogICAgICA8L3A+CiAgICAgIDwvZGl2PgogICAgey9mb3JlYWNofQogIHsvaWZ9CgogIHtpZiBpc3NldCgkY2F0ZWdvcnlfaW5mbykgJiYgJGNhdGVnb3J5X2luZm8udXBsb2FkX2NhdGVnb3J5X3VzZXJwZXJtcyAmJiBpc3NldCgkZmV1X2dyb3VwbGlzdCl9CiAgICB7Y2dlX3RhYmNvbnRlbnRfc3RhcnQgbmFtZT0ncGVybXMnfQogICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3Blcm1pc3Npb25zJyl9OjwvcD4KICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF91c2VycGVybXNfc2V0IiB2YWx1ZT0iMSIvPgogICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF91c2VycGVybXNbXSIgbXVsdGlwbGU9Im11bHRpcGxlIiBzaXplPSI1Ij4KICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZmV1X2dyb3VwbGlzdCBzZWxlY3RlZD0kdXBsb2FkX2luZm8udXBsb2FkX3VzZXJwZXJtc30KICAgICAgICA8L3NlbGVjdD4KICAgICAgPC9wPgogICAgPC9kaXY+CiAgey9pZn0KCiAge2lmICRpdGVtY291bnQgPiAwfQogICAge2NnZV90YWJjb250ZW50X3N0YXJ0IG5hbWU9J2Rvd25sb2Fkcyd9CiAgICA8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogICAgICA8dGhlYWQ+CiAgICAgICAgPHRyPgogICAgICAgICAgPHRoPnskZGF0ZXRleHR9PC90aD4KICAgICAgICAgIDx0aD57JGlwdGV4dH08L3RoPgogICAgICAgICAgPHRoPnskdXNlcnRleHR9PC90aD4KICAgICAgICA8L3RyPgogICAgICA8L3RoZWFkPgogICAgICA8dGJvZHk+CiAgICAgIHtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9CiAgICAgICAgPHRyIGNsYXNzPSJ7JGVudHJ5LT5yb3djbGFzc30iPgogICAgICAgICAgPHRkPnskZW50cnktPmRhdGV9PC90ZD4KICAgICAgICAgIDx0ZD57JGVudHJ5LT5pcH08L3RkPgogICAgICAgICAgPHRkPnskZW50cnktPnVzZXJ9PC90ZD4KICAgICAgICA8L3RyPgogICAgICB7L2ZvcmVhY2h9CiAgICAgIDwvdGJvZHk+CiAgICA8L3RhYmxlPgogIHsvaWZ9CgogIHtjZ2VfZW5kX3RhYnN9CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufQogICAgICAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgICAgICAgIDxidXR0b24gdHlwZT0ic3VibWl0IiBjbGFzcz0iYnV0dG9uIGJ0bl9kZWxldGUiIG5hbWU9InskYWN0aW9uaWR9ZGVsZXRlIiB2YWx1ZT0iZGVsZXRlIj57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnfSB7JG1vZC0+TGFuZygnZGVsZXRlJyl9PC9idXR0b24+CiAJIDxhIGNsYXNzPSJidXR0b24iIGhyZWY9Inttb2R1bGVfYWN0aW9uX2xpbmsgYWN0aW9uPWFkbWluX21hbmFnZV90aW1lbGltaXRlZCB1cGxvYWRfaWQ9JHVwbG9hZF9pbmZvLnVwbG9hZF9pZCB1cmxvbmx5PTF9Ij57Y2dpbWFnZSBpbWFnZT0nY2xvY2tfbGluay5wbmcnfSB7JG1vZC0+TGFuZygnbWFuYWdlX3RpbWVsaW1pdGVkJyl9PC9hPgogICAgIDxwPgogIDwvZGl2PgoKeyRlbmRmb3JtfQp7L2lmfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4Ke2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9CntpZiBpc3NldCgkbGluaykgJiYgJGxpbmshPScnfTxwPnskbGlua308L3A+ey9pZn0K]]></data>
	</file>
	<file>
	  <filename>/templates/expandedlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19DQo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+DQogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRjYXRlZ29yeX08L3A+DQogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY2F0ZWdvcnl9eyRpbnB1dF9zZWxlY3R9eyRpbnB1dF9oaWRkZW59PC9wPg0KPC9kaXY+DQp7JGVuZGZvcm19DQp7aWYgJGl0ZW1jb3VudCA+IDB9DQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPg0KCTx0aGVhZD4NCgkJPHRyPg0KCQkJPHRoPnskdGl0bGV0ZXh0fTwvdGg+DQoJCQk8dGg+eyRwb3N0ZGF0ZXRleHR9PC90aD4NCgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+DQoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPg0KCQk8L3RyPg0KCTwvdGhlYWQ+DQoJPHRib2R5Pg0KCXtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9DQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+DQoJCQk8dGQ+eyRlbnRyeS0+aWR9PC90ZD4NCgkJCTx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS0+YXV0aG9yfTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS0+aXB9PC90ZD4NCgkJCTx0ZD57JGVudHJ5LT5kYXRlfTwvdGQ+DQoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPg0KCQk8L3RyPg0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRlbnRyeS0+cm93Y2xhc3N9JzsiPg0KCSAgICAgICAgCTx0ZD4mbmJzcDs8L3RkPg0KICAgICAgICAgICAgICAgCQk8dGQgY29sc3Bhbj0iNSI+eyRlbnRyeS0+ZGVzY3JpcHRpb259PC90ZD4gDQoJCTwvdHI+DQoJey9mb3JlYWNofQ0KCTwvdGJvZHk+DQo8L3RhYmxlPg0Ke2Vsc2V9DQo8L2JyPg0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCiAgIDxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+Tm8gRmlsZXMgRGV0ZWN0ZWQ8L3A+DQo8L2Rpdj4NCnsvaWZ9DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/filetypes.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICFlbXB0eSgkaXRlbXMpfQo8dGFibGUgY2VsbHNwYWNpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPgogIDx0aGVhZD4KICAgIDx0cj4KICAgICAgICA8dGggd2lkdGg9IjQlIj4mbmJzcDs8L3RoPgoJPHRoPnskbW9kLT5MYW5nKCduYW1lJyl9PC90aD4KCTx0aD57JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX08L3RoPgoJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+Cgk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgIDwvdHI+CiAgPC90aGVhZD4Ke2ZvcmVhY2ggJGl0ZW1zIGFzICRlbnRyeX0KICAgICA8dHIgY2xhc3M9IntjeWNsZSB2YWx1ZXM9J3JvdzEscm93Mid9Ij4KICAgICAgICA8dGQ+eyRlbnRyeS0+aWNvbn08L3RkPgogICAgICAgIDx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+Cgk8dGQ+eyRlbnRyeS0+ZGVzY3JpcHRpb259PC90ZD4KICAgICAgICA8dGQ+eyRlbnRyeS0+dXBsaW5rfGRlZmF1bHQ6Jyd9PC90ZD4KICAgICAgICA8dGQ+eyRlbnRyeS0+ZG93bmxpbmt8ZGVmYXVsdDonJ308L3RkPgogICAgICAgIDx0ZD57JGVudHJ5LT5lZGl0bGlua3xkZWZhdWx0OicnfTwvdGQ+CiAgICAgICAgPHRkPnskZW50cnktPmRlbGV0ZWxpbmt8ZGVmYXVsdDonJ308L3RkPgogICAgIDwvdHI+CnsvZm9yZWFjaH0KPC90YWJsZT4Key9pZn0KPHRhYmxlIHdpZHRoPSIxMDAlIj4KICA8dHI+CiAgPHRkIHdpZHRoPSI1MCUiPgoJPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvcD48L2Rpdj4KICA8L3RkPgogIDx0ZCBhbGlnbj0icmlnaHQiPgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCXskc3RhcnRmb3JtfQoJICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHByb21wdF91cGxvYWRfaWNvbn06Jm5ic3A7eyRpbnB1dF91cGxvYWRfaWNvbn17JHN1Ym1pdH08L3A+CiAgICAgICAgeyRlbmRmb3JtfQoJPC9kaXY+CiAgPC90ZD4KICA8L3RyPgo8L3RhYmxlPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_categorylist_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogY2F0ZWdvcnkgbGlzdCB0ZW1wbGF0ZSAqfQp7aWYgaXNzZXQoJGNhdGVnb3JpZXMpICYmIGNvdW50KCRjYXRlZ29yaWVzKX0KPG5hdiByb2xlPSJuYXZpZ2F0aW9uIj4KICA8dWwgY2xhc3M9Im5hdiI+CiAge2ZvcmVhY2ggJGNhdGVnb3JpZXMgYXMgJGNhdH0KICAgIDxsaT48YSBocmVmPSJ7JGNhdC5zdW1tYXJ5X3VybH0iIHRpdGxlPSJ7JGNhdC5kZXNjcmlwdGlvbnxjbXNfZXNjYXBlfSI+eyRjYXQubmFtZXxjbXNfZXNjYXBlfTwvYT48L2xpPgogIHsvZm9yZWFjaH0KICA8L3VsPgo8L25hdj4Key9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_detailrpt_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBTdGFydCBVcGxvYWQgRGV0YWlsIHRlbXBsYXRlIC0tPgo8dGFibGU+CiAgPHRyPgogICAge2lmIGlzc2V0KCRlbnRyeS0+dGh1bWJuYWlsX3VybCl9CiAgICA8dGQ+eyRtb2QtPkxhbmcoJ3RodW1ibmFpbCcpfTwvdGQ+CiAgICA8dGQ+PGltZyBzcmM9InskZW50cnktPnRodW1ibmFpbF91cmx9IiBib3JkZXI9IjAiIC8+PC90ZD4KICAgIHtlbHNlfQogICAgPHRkPnskbW9kLT5MYW5nKCdpY29uJyl9PC90ZD4KICAgIDx0ZD48aW1nIHNyYz0ieyRlbnRyeS0+aWNvbnVybH0iIGJvcmRlcj0iMCIgLz48L3RkPgogICAgey9pZn0KICA8L3RyPgogIDx0cj4KICAgIDx0ZD57JG1vZC0+TGFuZygnY2F0ZWdvcnknKX08L3RkPgogICAgPHRkPnskZW50cnktPmNhdGVnb3J5fTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+eyRtb2QtPkxhbmcoJ2lkJyl9PC90ZD4KICAgIDx0ZD57JGVudHJ5LT5pZH08L3RkPgogIDwvdHI+CgogIHtpZiBpc3NldCgkZW50cnktPmRvd25sb2FkX3VybCl9CiAgPHRyPgogICAgPHRkPnskbW9kLT5MYW5nKCduYW1lJyl9PC90ZD4KICAgIDx0ZD48YSBocmVmPSJ7JGVudHJ5LT5kb3dubG9hZF91cmx9IiB0aXRsZT0ieyRlbnRyeS0+bmFtZX0iPnskZW50cnktPm5hbWV9PC9hPiZuYnNwOyZuYnNwOwogICAgICAgIDxhIGhyZWY9InskZW50cnktPnNlbmRmaWxlX3VybH0iIHRpdGxlPSIiPlNlbmQgdGhpcyBmaWxlPC9hPjxici8+CiAgICA8L3RkPgogIDwvdHI+CiAgey9pZn0KCiAge2lmIGlzc2V0KCRlbnRyeS0+ZGVsZXRlX3VybCl9CiAgPHRyPgogICAgPHRkPnskbW9kLT5MYW5nKCdkZWxldGUnKX08L3RkPgogICAgPHRkPjxhIGhyZWY9InskZW50cnktPmRlbGV0ZV91cmx9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2RlbGV0ZScpfSIgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdhcmV5b3VzdXJlJyl9Jyk7Ij57JGVudHJ5LT5uYW1lfTwvYT48L3RkPgogIDwvdHI+CiAgey9pZn0KICA8dHI+CiAgICA8dGQ+eyRtb2QtPkxhbmcoJ2RhdGUnKX08L3RkPgogICAgPHRkPnskZW50cnktPmRhdGV8Y21zX2RhdGVfZm9ybWF0fTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+eyRtb2QtPkxhbmcoJ2F1dGhvcicpfTwvdGQ+CiAgICA8dGQ+eyRlbnRyeS0+YXV0aG9yfGRlZmF1bHQ6Jyd9PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD57JG1vZC0+TGFuZygnc2l6ZScpfTwvdGQ+CiAgICA8dGQ+eyRlbnRyeS0+c2l6ZX08L3RkPgogIDwvdHI+CiAgPHRyPgogICAgPHRkPnskbW9kLT5MYW5nKCdzdW1tYXJ5Jyl9PC90ZD4KICAgIDx0ZD57JGVudHJ5LT5zdW1tYXJ5fGRlZmF1bHQ6Jyd9PC90ZD4KICA8L3RyPgogIDx0cj4KICAgIDx0ZD57JG1vZC0+TGFuZygnZGVzY3JpcHRpb24nKX08L3RkPgogICAgPHRkPnskZW50cnktPmRlc2NyaXB0aW9ufGRlZmF1bHQ6Jyd9PC90ZD4KICA8L3RyPgoKICB7aWYgaXNzZXQoJGVudHJ5LT5maWVsZHMpfQogICAge2ZvcmVhY2ggbmFtZT1maWVsZHMgZnJvbT0kZW50cnktPmZpZWxkcyBrZXk9J2ZsZG5hbWUnIGl0ZW09J2ZpZWxkJ30KICAgIDx0cj4KICAgICAgPHRkPnskZmllbGQubmFtZX08L3RkPgogICAgICA8dGQ+eyRmaWVsZC52YWx1ZX08L3RkPgogICAgPC90cj4KICAgIHsvZm9yZWFjaH0KICB7L2lmfQo8L3RhYmxlPgo8IS0tIEVuZCBVcGxvYWQgRGV0YWlsIHRlbXBsYXRlIC0tPgo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_emailnotify_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBFbWFpbCBub3RpZnkgdGVtcGxhdGUgLS0+CjxwPlRoaXMgbWVzc2FnZSBpcyB0byBub3RpZnkgeW91IHRoYXQgYSBmaWxlIGhhcyBiZWVuIHVwbG9hZGVkIHRvIHlvdXIgd2Vic2l0ZS4gIFRoZSBkZXRhaWxzIG9mIHRoaXMgdXBsb2FkIGFyZSBhcyBmb2xsb3dzOjwvcD4KPHA+TmFtZTogeyRuYW1lfTwvcD4KPHA+U2l6ZTogeyRzaXplfTwvcD4KPHA+U3VtbWFyeTogeyRzdW1tYXJ5fTwvcD4KPHA+RGVzY3JpcHRpb246IHskZGVzY3JpcHRpb259PC9wPgo8cD5BdXRob3I6IHskYXV0aG9yfTwvcD4KPHA+SVAgQWRkcmVzczogeyRpcF9hZGRyZXNzfTwvcD4KPCEtLSBFbWFpbCBub3RpZnkgdGVtcGxhdGUgLS0+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_htmlreport_downloadsbyfile.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogIHsqIHJlcG9ydCBoZWFkZXIgKn0KICA8aDE+eyRtb2QtPkxhbmcoJ3JlcG9ydF9kb3dubG9hZHNieWZpbGUnKX08L2gxPgogIDx0YWJsZT4KICAgIDx0cj48dGQ+eyRtb2QtPkxhbmcoJ2dlbmVyYXRlZF9ieScpfTo8L3RkPjx0ZD57aWYgaXNfb2JqZWN0KCR1c2VyKX17JHVzZXItPnVzZXJuYW1lfXtlbHNlfXskbW9kLT5MYW5nKCdub3VzZXJpbmZvJyl9ey9pZn08L3RkPjwvdHI+CiAgICA8dHI+PHRkPnskbW9kLT5MYW5nKCdnZW5lcmF0ZWRfb24nKX06PC90ZD48dGQ+eyRzbWFydHkubm93fGNtc19kYXRlX2Zvcm1hdH08L3RkPjwvdHI+CiAgICA8dHI+PHRkPnskbW9kLT5MYW5nKCdzdGFydF9kYXRlJyl9OjwvdGQ+PHRkPnskcHJvZmlsZS5zdGFydF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3RkPjwvdHI+CiAgICA8dHI+PHRkPnskbW9kLT5MYW5nKCdlbmRfZGF0ZScpfTo8L3RkPjx0ZD57JHByb2ZpbGUuZW5kX2RhdGV8Y21zX2RhdGVfZm9ybWF0fTwvdGQ+PC90cj4KICA8L3RhYmxlPgoKICB7aWYgaXNzZXQoJGVycm9yKX0KICA8ZGl2IGNsYXNzPSJlcnJvciI+eyRlcnJvcn08L2Rpdj4KICB7ZWxzZX0KICA8dWw+PCEtLSBzdGFydCBvZiByZXBvcnQgLS0+CiAgeyRwcmV2X2ZpbGU9Jyd9CiAge2ZvcmVhY2ggZnJvbT0kcmVjb3JkcyBpdGVtPSdyZWNvcmQnfQogICAge2lmICRyZWNvcmQudXBsb2FkX2lkICE9ICRwcmV2X2ZpbGV9CiAgICAgIHtpZiAkcHJldl9maWxlICE9ICcnfQogICAgICAgIDwvdGJvZHk+CiAgICAgICAgPC90YWJsZT4KICAgICAgICA8L2xpPgogICAgICB7L2lmfQoKICAgICAgeyogdXNlciBoZWFkZXIgKn0KICAgICAgPGxpPkRvd25sb2FkcyBmb3IgeyRyZWNvcmQudXBsb2FkX25hbWV8ZGVmYXVsdDonJmx0O25hbWUgbm90IHByb3ZpZGVkJmd0Oyd9PC9oND4KICAgICAgPHRhYmxlPgogICAgICB7aWYgaXNzZXQoJHJlY29yZC51cGxvYWRfaWQpfTx0cj48dGQ+eyRsYWJlbHNbJ3VwbG9hZF9pZCddfTo8L3RkPjx0ZD57JHJlY29yZC51cGxvYWRfaWR9PC90ZD48L3RyPnsvaWZ9CiAgICAgIHtpZiBpc3NldCgkcmVjb3JkLmNhdGVnb3J5X25hbWUpfTx0cj48dGQ+eyRsYWJlbHNbJ2NhdGVnb3J5X25hbWUnXX06PC90ZD48dGQ+eyRyZWNvcmQuY2F0ZWdvcnlfbmFtZX08L3RkPjwvdHI+ey9pZn0KICAgICAge2lmIGlzc2V0KCRyZWNvcmQudXBsb2FkX3NpemUpfTx0cj48dGQ+eyRsYWJlbHNbJ3VwbG9hZF9zaXplJ119OjwvdGQ+PHRkPnskcmVjb3JkLnVwbG9hZF9zaXplfTwvdGQ+PC90cj57L2lmfQogICAgICB7aWYgaXNzZXQoJHJlY29yZC51cGxvYWRfZGF0ZSl9PHRyPjx0ZD57JGxhYmVsc1sndXBsb2FkX2RhdGUnXX06PC90ZD48dGQ+eyRyZWNvcmQudXBsb2FkX2RhdGV9PC90ZD48L3RyPnsvaWZ9CiAgICAgIDwvdGFibGU+CiAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgPHRyPgogICAgICAgICAge2ZvcmVhY2ggJHJlY29yZCBhcyAka2V5ID0+ICR2YWx9CiAgICAgICAgICAgIHtpZiAhaW5fYXJyYXkoJGtleSxhcnJheSgndXBsb2FkX2lkJywnY2F0ZWdvcnlfbmFtZScsJ3VwbG9hZF9zaXplJywndXBsb2FkX2RhdGUnLCd1cGxvYWRfbmFtZScpKX0KICAgICAgICAgICAgPHRoIGFsaWduPSJsZWZ0Ij57JGxhYmVsc1ska2V5XX08L3RoPgogICAgICAgICAgICB7L2lmfQogICAgICAgICAgey9mb3JlYWNofQogICAgICAgICAgPC90cj4KICAgICAgICA8L3RoZWFkPgogICAgICAgIDx0Ym9keT4KICAgICAgeyRwcmV2X2ZpbGU9JHJlY29yZC51cGxvYWRfaWR9CiAgICB7L2lmfQogICAgCiAgICB7KiB1c2VyIHJlY29yZCAqfQogICAgPHRyPgogICAge2ZvcmVhY2ggJHJlY29yZCBhcyAka2V5ID0+ICR2YWx9CiAgICAgIHtpZiAhaW5fYXJyYXkoJGtleSxhcnJheSgndXBsb2FkX2lkJywnY2F0ZWdvcnlfbmFtZScsJ3VwbG9hZF9zaXplJywndXBsb2FkX2RhdGUnLCd1cGxvYWRfbmFtZScpKX0KICAgICAgPHRkPnskdmFsfTwvdGQ+ICAKICAgICAgey9pZn0KICAgIHsvZm9yZWFjaH0KICAgIDwvdHI+CgogIHsvZm9yZWFjaH0KICB7aWYgJHByZXZfZmlsZSAhPSAnJ30KICAgIDwvdGJvZHk+CiAgICA8L3RhYmxlPgogICAgPC9saT4KICB7L2lmfQoKICB7KiByZXBvcnQgZm9vdGVyICp9CiAgPC91bD48IS0tIGVuZCBvZiByZXBvcnQgLS0+CiAgey9pZn17KiBubyBlcnJvciAqfQogIDwvYm9keT4KPC9odG1sPg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_htmlreport_downloadsbyuser.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogIHsqIHJlcG9ydCBoZWFkZXIgKn0KICA8aDE+eyRtb2QtPkxhbmcoJ3JlcG9ydF9kb3dubG9hZHNieXVzZXInKX08L2gxPgogIHtpZiBpc3NldCgkZXJyb3IpfQogICAgPGRpdiBjbGFzcz0iZXJyb3IiPnskZXJyb3J9PC9kaXY+CiAge2Vsc2V9CiAgPHVsPjwhLS0gc3RhcnQgb2YgcmVwb3J0IC0tPgogIHskcHJldl91c2VyPScnfQogIHtmb3JlYWNoIGZyb209JHJlY29yZHMgaXRlbT0ncmVjb3JkJ30KICAgIHtpZiAkcmVjb3JkLmRvd25sb2FkX3VzZXIgIT0gJHByZXZfdXNlcn0KICAgICAge2lmICRwcmV2X3VzZXIgIT0gJyd9CiAgICAgICAgPC90Ym9keT4KICAgICAgICA8L3RhYmxlPgogICAgICAgIDwvbGk+CiAgICAgIHsvaWZ9CgogICAgICB7KiB1c2VyIGhlYWRlciAqfQogICAgICA8bGk+RG93bmxvYWRzIGZvciB7JHJlY29yZC5kb3dubG9hZF91c2VyfTwvaDQ+CiAgICAgIDx0YWJsZSB3aWR0aD0iMTAwJSI+CiAgICAgICAgPHRoZWFkPgogICAgICAgICAgPHRyPgogICAgICAgICAge2ZvcmVhY2ggJHJlY29yZCBhcyAka2V5ID0+ICR2YWx9CiAgICAgICAgICAgIDx0aCBhbGlnbj0ibGVmdCI+eyRsYWJlbHNbJGtleV19PC90aD4KICAgICAgICAgIHsvZm9yZWFjaH0KICAgICAgICAgIDwvdHI+CiAgICAgICAgPC90aGVhZD4KICAgICAgICA8dGJvZHk+CiAgICAgIHskcHJldl91c2VyPSRyZWNvcmQuZG93bmxvYWRfdXNlcn0KICAgIHsvaWZ9CiAgICAKICAgIHsqIHVzZXIgcmVjb3JkICp9CiAgICA8dHI+CiAgICB7Zm9yZWFjaCAkcmVjb3JkIGFzICRrZXkgPT4gJHZhbH0KICAgICAgPHRkPnskdmFsfTwvdGQ+ICAKICAgIHsvZm9yZWFjaH0KICAgIDwvdHI+CgogIHsvZm9yZWFjaH0KICB7aWYgJHByZXZfdXNlciAhPSAnJ30KICAgIDwvdGJvZHk+CiAgICA8L3RhYmxlPgogICAgPC9saT4KICB7L2lmfQoKICB7KiByZXBvcnQgZm9vdGVyICp9CiAgPC91bD48IS0tIGVuZCBvZiByZXBvcnQgLS0+CiAgey9pZn0geyogbm8gZXJyb3IgKn0KICA8L2JvZHk+CjwvaHRtbD4=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_sendfileform_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZm9ybSB0byBzZW5kIGEgZmlsZSAqfQp7aWYgaXNzZXQoJG1lc3NhZ2UpfQogIDxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LWluZm8iPnskbWVzc2FnZX08L2Rpdj4Key9pZn0KCntpZiBpc3NldCgkZXJyb3IpfQogIDxkaXYgY2xhc3M9ImFsZXJ0IGFsZXJ0LWRhbmdlciI+eyRlcnJvcn08L2Rpdj4Key9pZn0KCnskZm9ybXN0YXJ0fQo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2ZpbGVfaW5mbycpfTombmJzcDs8L2xlZ2VuZD4KPHA+eyRtb2QtPkxhbmcoJ25hbWUnKX06Jm5ic3A7eyR1cGxvYWRfaW5mby51cGxvYWRfbmFtZX0gKHskdXBsb2FkX2luZm8udXBsb2FkX2lkfSk8L3A+CjxwPnskdXBsb2FkX2luZm8udXBsb2FkX3N1bW1hcnl9PC9wPgo8L2ZpZWxkc2V0PgoKPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgPGxhYmVsIGZvcj0idXBsX3NlbmR0byI+eyRtb2QtPkxhbmcoJ2FkZHJlc3NlcycpfTwvbGFiZWw+CiAgPHRleHRhcmVhIGlkPSJ1cGxfc2VuZHRvIiBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X3NlbmR0byIgcm93cz0iMiIgY2xhc3M9ImZvcm0tY29udHJvbCI+eyRzZW5kdG99PC90ZXh0YXJlYT4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICA8bGFiZWwgZm9yPSJ1cGxfc3ViaiI+eyRtb2QtPkxhbmcoJ3N1YmplY3QnKX08L2xhYmVsPgogIDxpbnB1dCBpZD0idXBsX3N1YmoiIHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIG5hbWU9InskYWN0aW9uaWR9aW5wdXRfc3ViamVjdCIgIG1heGxlbmd0aD0iNTAiIHZhbHVlPSJ7JHN1YmplY3R9Ii8+CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogIDxsYWJlbCBmb3I9InVwbF9ub3RlcyI+eyRtb2QtPkxhbmcoJ25vdGVzJyl9PC9wPgogIDx0ZXh0YXJlYSBpZD0idXBsX25vdGVzIiBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X25vdGVzIiByb3dzPSI1IiBjbGFzcz0iZm9ybS1jb250cm9sIj57JG5vdGVzfTwvdGV4dGFyZWE+CjwvZGl2PgoKPGRpdiBjbGFzcz0idG9vbGJhciBidG4tdG9vbGJhciIgcm9sZT0idG9vbGJhciI+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc2VuZCcpfSIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIvPgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9aW5wdXRfY2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIvPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_sendfilerpt_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogc2VuZCBmaWxlIHJlcG9ydCB0ZW1wbGF0ZSAqfQo8aDM+R3JlZXRpbmdzPC9oMz4KICAgIDxwPnskZW50cnktPmF1dGhvcn0gaGFzIHNlbnQgeW91IGEgZmlsZSBuYW1lZCB7JGVudHJ5LT5uYW1lfTwvcD4KICAgIDxwPlRoaXMgZmlsZSBpcyBsb2NhdGVkIG9uIGEgcmVtb3RlIHNlcnZlciwgYW5kIGhhcyBub3QgYmVlbiBhdHRhY2hlZCB0byB0aGlzIGVtYWlsLiAgVG8gcmV0cmlldmUgdGhlIGZpbGUgeW91IG11c3QgY2xpY2sgb24gPGEgaHJlZj0ieyRlbnRyeS0+ZG93bmxvYWRfdXJsfSI+dGhpcyBsaW5rPC9hPi4gIElmIHlvdSBhcmUgdW5hYmxlIHRvIGNsaWNrIG9uIHRoaXMgbGluaywgdGhlbiBjb3B5IHRoZSBmb2xsb3dpbmcgVVJMIGludG8gdGhlIGFkZHJlc3MgYmFyIG9uIHlvdXIgd2ViIGJyb3dzZXI6PGJyLz57JGVudHJ5LT5kb3dubG9hZF91cmx9PC9wPgogICAge2lmIGlzc2V0KCRob3Vycyl9CiAgICAgIDxwPkFjY2VzcyB0byB0aGlzIGZpbGUgaXMgdGltZSBsaW1pdGVkLiAgWW91IGhhdmUgeyRob3Vyc30gaG91cnMgZnJvbSBub3cgdG8gYWNjZXNzIHRoaXMgZmlsZS48L3A+CiAgICB7L2lmfQogICAge2lmIGlzc2V0KCRkb3dubG9hZHMpfQogICAgICA8cD5Zb3UgbWF5IGRvd25sb2FkIHRoaXMgZmlsZSwgb3IgYXR0ZW1wdCB0byBkb3dubG9hZCBpdCBhIG1heGltdW0gb2YgeyRkb3dubG9hZHN9IHRpbWVzLjwvcD4KICAgIHsvaWZ9CgogICAgPHA+SWYgeW91IGV4cGVyaWVuY2UgZGlmZmljdWx0eSB3aXRoIHRoZSBsaW5rIHByb3ZpZGVkIGluIHRoaXMgZW1haWwgcGxlYXNlIGNvbnRhY3QgdGhlIGFkbWluaXN0cmF0cm9ycyBhdCB7c2l0ZW5hbWV9LjwvcD4KCiAgICB7aWYgIWVtcHR5KCRlbnRyeS0+dGh1bWJuYWlsX3VybCl9CiAgICAgIDxpbWcgc3JjPSJ7JGVudHJ5LT50aHVtYm5haWxfdXJsfSIgYm9yZGVyPSIwIj48YnIvPgogICAgey9pZn0KCiAgICB7aWYgIWVtcHR5KCRub3Rlcyl9CiAgICA8aDQ+VGhlIHBlcnNvbiB3aG8gc2VudCB0aGlzIGZpbGUgYWxzbyBoYWQgc29tZXRoaW5nIHRvIHNheSBhYm91dCBpdC46PC9oND4KICAgIDxwPnskbm90ZXN8bmwyYnJ9PC9wPgogICAgey9pZn0KCiAgICA8aDQ+RmlsZSBEZXRhaWxzOjwvaDQ+CiAgICA8dGFibGUgYm9yZGVyPSIwIj4KICAgICAgPHRyPjx0ZD57JG1vZC0+TGFuZygnbmFtZScpfTo8L3RkPjx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD57JG1vZC0+TGFuZygnc2l6ZScpfTo8L3RkPjx0ZD57JGVudHJ5LT5zaXplfTwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD57JG1vZC0+TGFuZygnc3VtbWFyeScpfTo8L3RkPjx0ZD57JGVudHJ5LT5zdW1tYXJ5fTwvdGQ+PC90cj4KICAgICAgPHRyPjx0ZD57JG1vZC0+TGFuZygnYXV0aG9yJyl9OjwvdGQ+PHRkPnskZW50cnktPmF1dGhvcn08L3RkPjwvdHI+CiAgICAgIDx0cj48dGQ+eyRtb2QtPkxhbmcoJ2Rlc2NyaXB0aW9uJyl9OjwvdGQ+PHRkPnskZW50cnktPmRlc2NyaXB0aW9ufG5sMmJyfTwvdGQ+PC90cj4KICAgIDwvdGFibGU+]]></data>
	</file>
	<file>
	  <filename>/templates/orig_sendfile_aftermsg.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogYWZ0ZXIgYSBmaWxlIGhhcyBiZWVuIHNlbnQgdmlhIHRoZSBzZW5kZmlsZS95b3VzZW5kaXQgYWN0aW9ucyAqfQo8aDM+RG9uZS4uPC9oMz4KPHA+VGhhbmsgeW91IHskYXV0aG9yfS4gIFlvdXIgZmlsZSB7JHVwbG9hZC0+bmFtZX0gaGFzIGJlZW4gdXBsb2FkZWQgdG8gb3VyIHN5c3RlbS4gIFRoZSByZWNpcGllbnQgaGFzIGJlZW4gbm90aWZpZWQgYnkgZW1haWwuPC9wPgo8cD5Zb3UgYXJlIGZyZWUgdG8gc2VuZCBhbm90aGVyIGZpbGUgYnkgY2xpY2tpbmcgPGEgaHJlZj0ie2Ntc19zZWxmbGluayBocmVmPSRwYWdlX2FsaWFzfSI+aGVyZTwvYT48L3A+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_summaryrpt_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBTdGFydCBVcGxvYWQgU3VtbWFyeSBUZW1wbGF0ZSAtLT4NCntpZiAhZW1wdHkoJGZpbHRlcikgfQ0KICB7JHN0YXJ0Zm9ybX0NCiAgPGxhYmVsPnskbW9kLT5MYW5nKCdmaWx0ZXInKX06DQogICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X2ZpbHRlciIgdmFsdWU9InskZmlsdGVyfSIvPg0KICA8L2xhYmVsPg0KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X3N1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4NCiAgeyRlbmRmb3JtfQ0KICA8YnIvPg0KICB7aWYgaXNzZXQoJG1hdGNoZXMpfQ0KICAgIHskbWF0Y2hlc30mbmJzcDt7JG1hdGNoZXN0ZXh0fQ0KICB7L2lmfQ0Key9pZn0NCg0KPGRpdj4NCntpZiBpc3NldCgkcHJldnBhZ2VfdXJsKX0NCiAgPGEgaHJlZj0ieyRmaXJzdHBhZ2VfdXJsfSIgdGl0bGU9InskZmlyc3RwYWdlfSI+eyRmaXJzdHBhZ2VfYXJyb3d9PC9hPg0KICA8YSBocmVmPSJ7JHByZXZwYWdlX3VybH0iIHRpdGxlPSJ7JHByZXZwYWdlfSI+eyRwcmV2cGFnZV9hcnJvd308L2E+DQp7L2lmfQ0Ke2lmIGlzc2V0KCRudW1wYWdlcykgJiYgJG51bXBhZ2VzID4gMX0NCiAgJm5ic3A7Jm5ic3A7eyRwYWdldGV4dH0geyRwYWdlbnVtfSB7JG9mdGV4dH0geyRudW1wYWdlc30mbmJzcDsmbmJzcDsNCnsvaWZ9DQp7aWYgaXNzZXQoJG5leHRwYWdlX3VybCl9DQogIDxhIGhyZWY9InskbmV4dHBhZ2VfdXJsfSIgdGl0bGU9InskbmV4dHBhZ2V9Ij57JG5leHRwYWdlX2Fycm93fTwvYT4NCiAgPGEgaHJlZj0ieyRsYXN0cGFnZV91cmx9IiB0aXRsZT0ieyRsYXN0cGFnZX0iPnskbGFzdHBhZ2VfYXJyb3d9PC9hPg0Key9pZn0NCjwvZGl2Pg0KDQp7aWYgaXNzZXQoJGl0ZW1zKX0NCiAge2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT0nZW50cnknIG5hbWU9J3VwbG9hZHMnfQ0KICAgIHtpZiAoJHNtYXJ0eS5mb3JlYWNoLnVwbG9hZHMuaW5kZXggPT0gMCkgb3IgKCRzbWFydHkuZm9yZWFjaC51cGxvYWRzLmluZGV4ICUgMyA9PSAwKX0NCiAgICAgIHtpZiAkc21hcnR5LmZvcmVhY2gudXBsb2Fkcy5pdGVyYXRpb24gPiAxfQ0KICAgICAgICA8L2Rpdj4NCiAgICAgIHsvaWZ9DQogICAgICA8ZGl2IGNsYXNzPSJyb3ciIHN0eWxlPSJ3aWR0aDogMTAwJTsgcGFkZGluZy1ib3R0b206IDEwcHg7Ij4NCiAgICB7L2lmfQ0KDQogICAgPGRpdiBjbGFzcz0idXBsb2FkIiBzdHlsZT0iZmxvYXQ6IGxlZnQ7IHdpZHRoOiAzMyU7Ij4NCiAgICAgIHtpZiBpc3NldCgkZW50cnktPmRldGFpbHVybCl9DQogICAgICA8YSBocmVmPSJ7JGVudHJ5LT5kZXRhaWx1cmx9Ij57JGVudHJ5LT51cGxvYWRfbmFtZX08L2E+Jm5ic3A7KHskZW50cnktPnNpemV9KTxici8+DQogICAgICB7ZWxzZX0NCiAgICAgIDxzcGFuPnskZW50cnktPnVwbG9hZF9uYW1lfSZuYnNwOyh7JGVudHJ5LT5zaXplfSk8YnIvPg0KICAgICAgey9pZn0NCg0KICAgICAge2lmIGlzc2V0KCRlbnRyeS0+ZG93bmxvYWRfdXJsKX0NCiAgICAgICAgPGEgaHJlZj0ieyRlbnRyeS0+ZG93bmxvYWRfdXJsfSIgdGl0bGU9InskZW50cnktPnVwbG9hZF9uYW1lfSI+DQogICAgICAgIHtpZiBpc3NldCgkZW50cnktPnRodW1ibmFpbF91cmwpfQ0KICAgICAgICAgIDxpbWcgc3JjPSJ7JGVudHJ5LT50aHVtYm5haWxfdXJsfSIgYWx0PSIiPg0KICAgICAgICB7ZWxzZX0NCiAgICAgICAgICA8aW1nIHNyYz0ieyRlbnRyeS0+aWNvbnVybH0iIGFsdD0iIj4NCiAgICAgICAgey9pZn0NCiAgICAgICAgPC9hPg0KICAgICAge2Vsc2V9DQogICAgICAgIHtpZiBpc3NldCgkZW50cnktPnRodW1ibmFpbF91cmwpfQ0KICAgICAgICAgIDxpbWcgY2xhc3M9InRodW1ibmFpbCIgc3JjPSJ7JGVudHJ5LT50aHVtYm5haWxfdXJsfSIgYWx0PSIiPg0KICAgICAgICB7ZWxzZX0NCiAgICAgICAgICA8aW1nIGNsYXNzPSJpY29uIiBzcmM9InskZW50cnktPmljb251cmx9IiBhbHQ9IiI+DQogICAgICAgIHsvaWZ9DQogICAgICB7L2lmfQ0KDQogICAgICA8YnIvPg0KICAgICAge2lmIGlzc2V0KCRlbnRyeS0+c2VuZGZpbGVfdXJsKX0NCiAgICAgICAgPGEgaHJlZj0ieyRlbnRyeS0+c2VuZGZpbGVfdXJsfSIgdGl0bGU9IiI+U2VuZCB0aGlzIGZpbGU8L2E+PGJyLz4NCiAgICAgIHsvaWZ9DQoNCiAgICAgIHskYXV0aG9yfTogeyRlbnRyeS0+YXV0aG9yfTxici8+DQogICAgICB7JGRhdGV9OiB7JGVudHJ5LT5kYXRlfTxici8+DQogICAgICB7JGVudHJ5LT5zdW1tYXJ5fQ0KDQogICAgICB7aWYgaXNzZXQoJGVudHJ5LT5maWVsZHMpfQ0KICAgICAgICB7Zm9yZWFjaCBuYW1lPWZpZWxkcyBmcm9tPSRlbnRyeS0+ZmllbGRzIGtleT0nZmxkbmFtZScgaXRlbT0nZmllbGQnfQ0KICAgICAgICAgIHskZmllbGQubmFtZX06IHskZmllbGQudmFsdWV9PGJyLz4NCiAgICAgICAgey9mb3JlYWNofQ0KICAgICAgey9pZn0NCiAgICA8L2Rpdj4NCiAgICB7aWYgJHNtYXJ0eS5mb3JlYWNoLnVwbG9hZHMubGFzdH0NCiAgICAgIDwvZGl2Pg0KICAgIHsvaWZ9DQogIHsvZm9yZWFjaH0NCnsvaWZ9DQoNCjxkaXYgc3R5bGU9ImNsZWFyOiBib3RoOyI+PC9kaXY+DQo8IS0tIEVuZCBVcGxvYWQgU3VtbWFyeSBUZW1wbGF0ZSAtLT4K]]></data>
	</file>
	<file>
	  <filename>/templates/orig_uploadform_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBVcGxvYWQgZm9ybSB0ZW1wbGF0ZSAtLT4KPGRpdiBpZD0idXBsb2FkZm9ybSI+Cnskc3RhcnRmb3JtfQogIHtpZiAkZ29vZF91cGxvYWR9CiAgICAgPGRpdiBjbGFzcz0iYWxlcnQgYWxlcnQtaW5mbyI+eyRtb2QtPkxhbmcoJ3N1Y2Nlc3NmdWxfdXBsb2FkJywkZ29vZF91cGxvYWQpfTwvZGl2PgogIHsvaWZ9CgogIHsqIG9wdGlvbmFsIHskYWN0aW9uaWR9aW5wdXRfYXV0aG9yIGZpZWxkIChkZWZhdWx0IHdpbGwgYmUgcHJvdmlkZWQgaWYgZW1wdHkpICp9CiAgPGRpdiBjbGFzcz0icm93Ij4KICAgIDxwIGNsYXNzPSJjb2wtc20tMyB0ZXh0LXJpZ2h0Ij48bGFiZWwgZm9yPSJ1X2F1dGhvciI+eyRtb2QtPkxhbmcoJ2F1dGhvcicpfTo8L2xhYmVsPjwvcD4KICAgIDxwIGNsYXNzPSJjb2wtc20tOSI+PGlucHV0IHR5cGU9InRleHQiIGlkPSJ1X2F1dGhvciIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9hdXRob3IiIHZhbHVlPSJ7JGF1dGhvcn0iLz48L3A+CiAgPC9kaXY+CgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICB7KiB0aGlzIGZpZWxkIGlzIHJlcXVpcmVkICp9CiAgICA8cCBjbGFzcz0iY29sLXNtLTMgdGV4dC1yaWdodCI+PGxhYmVsIGZvcj0idV9maWxlIj57JG1vZC0+TGFuZygndXBsb2FkJyl9OjwvbGFiZWw+PC9wPgogICAgPHAgY2xhc3M9ImNvbC1zbS05Ij48aW5wdXQgdHlwZT0iZmlsZSIgaWQ9InVfZmlsZSIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9icm93c2UiLz48L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icm93Ij4KICAgIHsqIHRoaXMgZmllbGQgaXMgb3B0aW9uYWwgKn0KICAgIDxwIGNsYXNzPSJjb2wtc20tMyB0ZXh0LXJpZ2h0Ij48bGFiZWwgZm9yPSJ1X3N1bW1hcnkiPnskbW9kLT5MYW5nKCdzdW1tYXJ5Jyl9OjwvbGFiZWw+PC9wPgogICAgPHAgY2xhc3M9ImNvbC1zbS05Ij48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InVfc3VtbWFyeSIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9zdW1tYXJ5IiB2YWx1ZT0ieyRzdW1tYXJ5fSIgc2l6ZT0iODAiLz48L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icm93Ij4KICAgIHsqIHRoaXMgZmllbGQgaXMgb3B0aW9uYWwgKn0KICAgIDxwIGNsYXNzPSJjb2wtc20tMyB0ZXh0LXJpZ2h0Ij48bGFiZWwgZm9yPSJ1X2Rlc2MiPnskbW9kLT5MYW5nKCdkZXNjcmlwdGlvbicpfTo8L2xhYmVsPjwvcD4KICAgIDxwIGNsYXNzPSJjb2wtc20tOSI+PHRleHRhcmVhIGlkPSJ1X2Rlc2MiIG5hbWU9InskYWN0aW9uaWR9aW5wdXRfZGVzY3JpcHRpb24iIGNvbHM9IjgwIiByb2VzPSI1Ij57JGRlc2NyaXB0aW9ufTwvdGV4dGFyZWE+PC9wPgogIDwvZGl2PgogIHtpZiAhJHVzZV9hdXRvZ2VufQogICAgeyogb3B0aW9uYWxseSBhbGxvdyBvdmVyd3JpdGluZyB0aGUgZGVzdGluYXRpb24gbmFtZS4gZXZlbiBpZiBmaWVsZCBpcyBwcmVzZW50IGluIGZvcm0sIGFuZCBmaWxsZWQgaW4sIGlmIGF1dG9nZW4gaXMgZW5hYmxlZCwgdGhpcyB2YWx1ZSBpcyBpZ25vcmVkLiB0aGlzIGZpZWxkIGNhbiBhbHNvIGJlIHJlbW92ZWQgYWxsIHRvZ2V0aGVyLiAqfQogICAgPGRpdiBjbGFzcz0icm93Ij4KICAgICAgPHAgY2xhc3M9ImNvbC1zbS0zIHRleHQtcmlnaHQiPjxsYWJlbCBmb3I9InVfZGVzdG5hbWUiPnskbW9kLT5MYW5nKCdkZXN0bmFtZScpfTo8L2xhYmVsPjwvcD4KICAgICAgPHAgY2xhc3M9ImNvbC1zbS05Ij48aW5wdXQgdHlwZT0idGV4dCIgaWQ9InVfZGVzdG5hbWUiIG5hbWU9InskYWN0aW9uaWR9aW5wdXRfZGVzdG5hbWUiIHZhbHVlPSJ7JGRlc3RuYW1lfSIgc2l6ZT0iODAiLz48L3A+CiAgICA8L2Rpdj4KICB7L2lmfQogIHsqIG9wdGlvbmFsbHkgYWxsb3cgdXBsb2FkaW5nIGEgZGlmZmVyZW50IHRodW1ibmFpbCAoZGVwcmVjYXRlZCkgKn0KICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgPHAgY2xhc3M9ImNvbC1zbS0zIHRleHQtcmlnaHQiPjxsYWJlbCBmb3I9InVfdGh1bWJuYWlsIj57JG1vZC0+TGFuZygndGh1bWJuYWlsJyl9OjwvbGFiZWw+PC9wPgogICAgPHAgY2xhc3M9ImNvbC1zbS05Ij48aW5wdXQgdHlwZT0iZmlsZSIgaWQ9InVfdGh1bWJuYWlsIiBuYW1lPSJ7JGFjdGlvbmlkfWlucHV0X3RodW1ibmFpbCIvPjwvcD4KICA8L2Rpdj4KICB7aWYgaXNzZXQoJGZpZWxkcyl9CiAgICB7Zm9yZWFjaCBmcm9tPSRmaWVsZHMgaXRlbT0nb25lJyBrZXk9J25hbWUnfQogICAgPGRpdiBjbGFzcz0icm93Ij57c3RyaXB9CiAgICAgIDxwIGNsYXNzPSJjb2wtc20tMyB0ZXh0LXJpZ2h0Ij57JG9uZS5uYW1lfTwvcD4KICAgICAgPHAgY2xhc3M9ImNvbC1zbS05Ij4KICAgICAgICB7aWYgaXNzZXQoJG9uZS5pbnB1dCl9CiAgICAgICAgICB7JG9uZS5pbnB1dH0KICAgICAgICB7ZWxzZWlmICRvbmUudHlwZSA9PSAndGV4dGlucHV0J30KICAgICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWZpZWxkX3skb25lLmlkfSIgdmFsdWU9Inskb25lLnZhbHVlfSIgc2l6ZT0ieyRvbmUuYXR0cmliLmxlbmd0aH0iIG1heGxlbmd0aD0ieyRvbmUuYXR0cmliLm1heGxlbmd0aH0iLz4KICAgICAgICB7ZWxzZWlmICRvbmUudHlwZSA9PSAnY2hlY2tib3gnfQogICAgICAgICAgPGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JGFjdGlvbmlkfWZpZWxkX3skb25lLmlkfSIgdmFsdWU9IjEie2lmICRvbmUudmFsdWUgPT0gMX0gY2hlY2tlZD0iY2hlY2tlZCJ7L2lmfS8+CiAgICAgICAge2Vsc2VpZiAkb25lLnR5cGUgPT0gJ2Ryb3Bkb3duJ30KICAgICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1maWVsZF97JG9uZS5pZH0iPgogICAgICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JG9uZS5hdHRyaWIub3B0aW9uc30KICAgICAgICAgIDwvc2VsZWN0PgogICAgICAgIHtlbHNlaWYgJG9uZS50eXBlID09ICdtdWx0aXNlbGVjdCd9CiAgICAgICAgICA8c2VsZWN0IG11bHRpcGxlPSJtdWx0aXBsZSIgc2l6ZT0iNCIgbmFtZT0ieyRhY3Rpb25pZH1maWVsZF97JG9uZS5pZH1bXSI+CiAgICAgICAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kb25lLmF0dHJpYi5vcHRpb25zfQogICAgICAgICAgPC9zZWxlY3Q+CiAgICAgICAgey9pZn0KICAgICAgPC9wPgogICAgPC9kaXY+ey9zdHJpcH0KICAgIHsvZm9yZWFjaH0KICB7L2lmfQoKICB7KiBjYXB0Y2hhID8/ICp9CiAge2lmIGlzc2V0KCRjYXB0Y2hhKX0KICA8ZGl2IGNsYXNzPSJyb3ciPgogICAgPGRpdiBjbGFzcz0iY29sLXNtLTMgdGV4dC1yaWdodCI+eyRtb2QtPkxhbmcoJ2NhcHRjaGFfdGl0bGUnKX08L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImNvbC1zbS05Ij4KICAgICAgIHskY2FwdGNoYX08YnIvPgogICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9aW5wdXRfY2FwdGNoYSIgc2l6ZT0iMTAiIG1heGxlbmd0aD0iMTAiLz4KICAgIDwvZGl2PgogIDwvZGl2PgogIHsvaWZ9CgogIDxkaXYgY2xhc3M9InJvdyI+CiAgICA8cCBjbGFzcz0iY29sLXNtLTMgdGV4dC1yaWdodCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9ImNvbC1zbS05Ij4KICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1pbnB1dF9zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICA8L3A+CiAgPC9kaXY+Cgp7JGVuZGZvcm19CjwvZGl2PnsqICN1cGxvYWRmb3JtICp9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_yousenditform_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogeW91c2VuZGl0IGludGVyZmFjZSAqfQoKeyogdGhpcyB0ZW1wbGF0ZSBhc3N1bWVzIHRoYXQganF1ZXJ5LCB1aSwgYW5kIGZpbGV1cGxvYWQgbGlicmFyaWVzIGFyZSBlbmFibGVkCiAgIHRoZXNlIGxpYnJhcmllcyBhcmUgYXZhaWxhYmxlIGFuZCBjYW4gYmUgbG9hZGVkIHdpdGggdGhlIEpRdWVyeVRvb2xzIG1vZHVsZS4uLiB0aG91Z2ggSlF1ZXJ5VG9vbHMgaXMgbm90IGEgZGVwZW5kZW5jeW9mIHRoaXMgbW9kdWxlLgogICBzaW5jZSB0aGlzIHRlbXBsYXRlIHVzZXMgYm9vdHN0cmFwIGNsYXNzZXMgZXRjLiAgd2UgYXNzdW1lIHRoYXQganF1ZXJ5IGFuZCBqcXVlcnktdWkgYXJlIGFscmVhZHkgbG9hZGVkLgogICBhbmQganVzdCB1c2UgY2dqc19yZXF1aXJlIHRvIGluY2x1ZGUgdGhlIGJsdWltcCBmaWxlIHVwbG9hZCBsaWIgZnJvbSBKUXVlcnlUb29scy4KKn0Ke2NnanNfcmVxdWlyZSBqc2xpYj0nZmlsZXVwbG9hZCd9Cgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPgouZmlsZV9yb3cgLmZpbGVfbmFtZSB7CiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgd2lkdGg6ICAgNTAlOwp9Ci5maWxlX3JvdyAuZmlsZV90eXBlIHsKICAgZGlzcGxheTogaW5saW5lLWJsb2NrOwogICB3aWR0aDogICAxNSU7Cn0KLmZpbGVfcm93IC5maWxlX3NpemUgewogICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7CiAgIHdpZHRoOiAgIDE1JTsKfQouZmlsZV9yb3cgLmZpbGVfYnRucyB7CiAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsKICAgd2lkdGg6ICAgMTkuOTUlOwp9Cjwvc3R5bGU+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmZ1bmN0aW9uIHNob3dfbWVzc2FnZSh0ZXh0KSB7CiAgIHZhciBfZGl2ID0gJCgnI21lc3NhZ2Vib3gnKTsKICAgX2Rpdi50ZXh0KHRleHQpOwogICBfZGl2LnNob3coMCkuZGVsYXkoNTAwMCkuaGlkZSgwKTsKfQpmdW5jdGlvbiBzaG93X2Vycm9yKHRleHQpIHsKICAgdmFyIF9kaXYgPSAkKCcjZXJyb3Jib3gnKTsKICAgX2Rpdi50ZXh0KHRleHQpOwogICBfZGl2LnNob3coMCkuZGVsYXkoNTAwMCkuaGlkZSgwKTsKfQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICB2YXIgX3JlZGlyZWN0X3VybCA9ICd7JHJlZGlyZWN0X3VybH0nLnJlcGxhY2UoJ2FtcDsnLCcnKTsKICAgdmFyIF9maWxlX2NvbnRhaW5lciA9ICQoJyNmaWxlX2xpc3QnKTsKICAgdmFyIF9mb3JtID0gJCgnI3VwbF9hdXRoJykuY2xvc2VzdCgnZm9ybScpOwogICB2YXIgX21heF9maWxlcyA9IDE7CgogICB2YXIgX2Zvcm1fdG9fb2JqZWN0ID0gZnVuY3Rpb24oKSB7CiAgICAgICAgdmFyIG91dCA9IHt9OwogICAgICAgIF9mb3JtLmZpbmQoJzppbnB1dFtuYW1lXTplbmFibGVkJykuZWFjaCggZnVuY3Rpb24oKSB7CiAgICAgICAgICAgIHZhciBzZWxmID0gJCh0aGlzKTsKCSAgICB2YXIgdHlwZSA9IHNlbGYuYXR0cigndHlwZScpOwoJICAgIGlmKCB0eXBlID09ICdzdWJtaXQnICkgcmV0dXJuOwogICAgICAgICAgICB2YXIgbmFtZSA9IHNlbGYuYXR0cignbmFtZScpOwoJICAgIHZhciB2YWwgPSBzZWxmLnZhbCgpLnRyaW0oKTsKCSAgICBpZiAobmFtZS5sZW5ndGggPT0gMCB8fCB2YWwubGVuZ3RoID09IDApIHJldHVybjsKCSAgICBpZiggbmFtZS5zbGljZSgtMikgPT0gJ1tdJyApIHsKCSAgICAgICBpZiggIW91dFtuYW1lXSApIG91dFtuYW1lXSA9IFtdOwogICAgICAgICAgICAgICBvdXRbbmFtZV0ucHVzaCh2YWwpOwoJICAgIH0gZWxzZSB7CgkgICAgICAgb3V0W25hbWVdID0gdmFsOwoJICAgIH0KICAgICAgICB9KTsKICAgICAgICByZXR1cm4gb3V0OwogICB9CgogICAkKCcjdXBsX2ZpbGUnKS5maWxldXBsb2FkKHsKICAgICAgIGRhdGFUeXBlOiAnanNvbicsCiAgICAgICBtYXhDaHVua1NpemU6IDE1MDAwMDAsCiAgICAgICB1cmw6ICd7bW9kdWxlX2FjdGlvbl91cmwgZm9yYWpheD0xIGFjdGlvbj1hamF4X3lvdXNlbmRpdCB1cGxfY29kZT0keXNpX2NvZGV9JywKICAgICAgIGZvcm06IG51bGwsCiAgICAgICBmb3JtRGF0YTogeyAneyRhY3Rpb25pZH11cGxfZm9vJzogJ2JhcicgfSwKCiAgICAgICBhZGQ6IGZ1bmN0aW9uKCBlLCBkYXRhICkgewogICAgICAgICAgIGlmKCBlLmlzRGVmYXVsdFByZXZlbnRlZCgpICkgcmV0dXJuIGZhbHNlOwoKCSAgIGlmKCAkKCcuZmlsZV9yb3cnLF9maWxlX2NvbnRhaW5lcikubGVuZ3RoID4gX21heF9maWxlcyApIHJldHVybiBmYWxzZTsKCSAgIGlmKCBkYXRhLmZpbGVzLmxlbmd0aCA+IDEgKSB0aHJvdyAiQ2Fubm90IGhhbmRsZSBtdWx0aXBsZSBmaWxlcyB5ZXQiOwoKCSAgIHZhciBfcm93ID0gJCgnI2ZpbGVfcm93X3NrZWwnKS5jbG9uZSgpLnJlbW92ZUF0dHIoJ2lkJyk7CgkgICB2YXIgX2ZpbGUgPSBkYXRhLmZpbGVzWzBdOwoJICAgJCgnLmZpbGVfbmFtZScsX3JvdykudGV4dChfZmlsZS5uYW1lKTsKCSAgICQoJy5maWxlX3R5cGUnLF9yb3cpLnRleHQoX2ZpbGUudHlwZSk7CgkgICAkKCcuZmlsZV9zaXplJyxfcm93KS50ZXh0KF9maWxlLnNpemUpOwoJICAgX2ZpbGVfY29udGFpbmVyLmFwcGVuZChfcm93KTsKCSAgIF9yb3cuZGF0YSgnZGF0YScsZGF0YSk7CgkgICBkYXRhLmNvbnRleHQgPSBfcm93OwoJICAgLy8gZG8gbm90IHN1Ym1pdCB0aGUgZGF0YS4KICAgICAgIH0sCgogICAgICAgcHJvZ3Jlc3NhbGw6IGZ1bmN0aW9uKCBlLCBkYXRhICkgewogICAgICAgICAgIHZhciBfcGVyYyA9IHBhcnNlSW50KGRhdGEubG9hZGVkIC8gZGF0YS50b3RhbCAqIDEwMCwxMCk7CiAgICAgICAgICAgY29uc29sZS5kZWJ1ZygncHJvZ3Jlc3MgaXMgJytfcGVyYysnJScpOwogICAgICAgfSwKCiAgICAgICBmYWlsOiBmdW5jdGlvbiggZSwgZGF0YSApIHsKICAgICAgICAgICBjb25zb2xlLmRlYnVnKCdnb3QgdGVzdCBmYWlsJyk7CiAgICAgICB9LAoKICAgICAgIGRvbmU6IGZ1bmN0aW9uKCBlLCBkYXRhICkgewogICAgICAgICAgIC8vIHVwbG9hZGVkLiAgdXNlIGRhdGEucmVzdWx0LmZpbGVzIHRvIGdldCB0aGUgZmlsZXMuCiAgICAgICAgICAgY29uc29sZS5kZWJ1ZygndXBsb2FkIGRvbmUnKTsKCSAgIGRhdGEuY29udGV4dC5yZW1vdmUoKTsKCgkgICAvLyBzdWJtaXQgdGhlIGZvcm0gdmlhIGFqYXguCgkgICB2YXIgX2RhdGEgPSBfZm9ybV90b19vYmplY3QoKTsKCSAgIF9kYXRhWyd7JGFjdGlvbmlkfXNob3d0ZW1wbGF0ZSddID0gJ2ZhbHNlJzsKCSAgIF9kYXRhWyd7JGFjdGlvbmlkfXVwbF9zdWJtaXQnXSA9IDE7CgkgICBfZGF0YVsneyRhY3Rpb25pZH11cGxfZGVzdG5hbWUnXSA9IGRhdGEuZmlsZXNbMF0ubmFtZTsKCSAgICQuYWpheCh7CgkgICAgICBtZXRob2Q6ICdQT1NUJywKCSAgICAgIHVybDogX2Zvcm0uYXR0cignYWN0aW9uJykucmVwbGFjZSgnYW1wOycsJycpLAogICAgICAgICAgICAgIGRhdGE6IF9kYXRhCgkgICB9KS5kb25lKGZ1bmN0aW9uKCl7CgkgICAgICAgaWYoIF9yZWRpcmVjdF91cmwubGVuZ3RoICkgewoJICAgICAgICAgICB3aW5kb3cubG9jYXRpb24gPSBfcmVkaXJlY3RfdXJsOwoJICAgICAgIH0gZWxzZSB7CgkgICAgICAgICAgIC8vIGZhbGxiYWNrIHBvc2l0aW9uLgoJICAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7CgkgICAgICAgfQogICAgICAgICAgIH0pLmZhaWwoZnVuY3Rpb24oeGhyLHRleHRTdGF0dXMsZXJyb3JUaHJvd24pewoJICAgICAgY29uc29sZS5kZWJ1Zygnc3VibWl0IGZhaWxlZDogJyt0ZXh0U3RhdHVzKTsKCSAgICAgIHNob3dfZXJyb3IoZXJyb3JUaHJvd24pOwoJICAgfSk7CiAgICAgICB9LAogICB9KTsKCgogICAkKCcjYnRuX3N1Ym1pdCcpLmNsaWNrKGZ1bmN0aW9uKGV2KXsKICAgICAgZXYucHJldmVudERlZmF1bHQoKTsKICAgICAgX2Zvcm0uc3VibWl0KCk7CiAgIH0pOwoKICAgX2Zvcm0uc3VibWl0KGZ1bmN0aW9uKGV2KXsKICAgICAgLy8gZG8gZm9ybSB2YWxpZGF0aW9uCiAgICAgIGV2LnByZXZlbnREZWZhdWx0KCk7CgogICAgICAvLyBnb3R0YSBzdGFydCB0aGUgYXN5bmNocm9ub3VzIHVwbG9hZAogICAgICAvLyB3ZSBvbmx5IGFsbG93IG9uZS4KICAgICAgaWYoICQoJy5maWxlX3JvdycsIF9maWxlX2NvbnRhaW5lcikubGVuZ3RoID09IDAgICkgewogICAgICAgICAgYWxlcnQoJ3skbW9kLT5MYW5nKCdtc2dfcGxlYXNlc2VsZWN0ZmlsZScpfScpOwoJICBldi5zdG9wSW1tZWRpYXRlUHJvcGFnYXRpb24oKQoJICByZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICAgJCgnLmZpbGVfcm93JyxfZmlsZV9jb250YWluZXIpLmVhY2goZnVuY3Rpb24oKXsKICAgICAgICAgICQodGhpcykuZGF0YSgnZGF0YScpLnN1Ym1pdCgpOwogICAgICB9KTsKICAgICAgLy8gdGhhdCdzIGl0LCB0aGUgcmVzdCBpcyBkb25lIGluIHRoZSBkb25lIGhhbmRsZXIgZm9yIHRoZSB1cGxvYWQuCiAgIH0pOwoKICAgX2ZpbGVfY29udGFpbmVyLm9uKCdjbGljaycsJy5maWxlX3JlbW92ZScsZnVuY3Rpb24oZXYpewogICAgICAgJCh0aGlzKS5jbG9zZXN0KCcuZmlsZV9yb3cnKS5yZW1vdmUoKTsKICAgfSkKfSkKe2lmICFlbXB0eSgkbWVzc2FnZSl9c2hvd19tZXNzYWdlKCd7JG1lc3NhZ2V9Jyl7L2lmfQp7aWYgIWVtcHR5KCRlcnJvcil9c2hvd19lcnJvcigneyRlcnJvcn0nKXsvaWZ9Cjwvc2NyaXB0PgoKPGRpdiBpZD0ibWVzc2FnZWJveCIgY2xhc3M9ImFsZXJ0IGFsZXJ0LWluZm8iIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+PC9kaXY+CjxkaXYgaWQ9ImVycm9yYm94IiBjbGFzcz0iYWxlcnQgYWxlcnQtZGFuZ2VyIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPjwvZGl2PgoKPGgzPnskbW9kLT5MYW5nKCdoZHJfeW91c2VuZGl0Jyl9PC9oMz4KPHA+eyRtb2QtPkxhbmcoJ2luZm9feW91c2VuZGl0Jyl9PC9wPgoKeyRzdGFydGZvcm19CjxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJ1cGxfYXV0aCIgbmFtZT0ieyRhY3Rpb25pZH11cGxfYXV0aCIgdmFsdWU9IiIvPnsqIGhvbmV5cG90ICp9CjxmaWVsZHNldD4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCdmaWxlX2RldGFpbHMnKX06PC9sZWdlbmQ+CiAge2lmICEkaXNfbG9nZ2VkaW59CiAgICB7KiBpZiB5b3UgYXJlIGxvZ2dlZCBpbiB0byBGRVUgd2UgZG9uJ3QgbmVlZCBhbiBlbWFpbCBhZGRyZXNzIG9yIHVzZXJuYW1lIGZyb20geW91Li4gKn0KICAgIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgICA8bGFiZWwgZm9yPSJ1cGxfZnJvbSI+KnskbW9kLT5MYW5nKCdmcm9tJyl9OjwvbGFiZWw+CiAgICAgIDxpbnB1dCB0eXBlPSJlbWFpbCIgaWQ9InVwbF9mcm9tIiBjbGFzcz0iZm9ybS1jb250cm9sIHJlcXVpcmVkIiBuYW1lPSJ7JGFjdGlvbmlkfXVwbF9mcm9tIiB2YWx1ZT0ieyR5c2ktPmZyb219IiByZXF1aXJlZCB7aWYgJGlzX2xvZ2dlZGlufXJlYWRvbmx5ey9pZn0gcGxhY2Vob2xkZXI9InskbW9kLT5MYW5nKCdwaF95c2lfZnJvbScpfSIvPgogICAgPC9kaXY+CiAgey9pZn0KICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgIDxsYWJlbCBmb3I9InVwbF9zdW1tYXJ5Ij4qeyRtb2QtPkxhbmcoJ3N1bW1hcnknKX06PC9sYWJlbD4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBpZD0idXBsX3N1bW1hcnkiIGNsYXNzPSJmb3JtLWNvbnRyb2wgcmVxdWlyZWQiIG5hbWU9InskYWN0aW9uaWR9dXBsX3N1bW1hcnkiIHZhbHVlPSJ7JHVwbG9hZC0+c3VtbWFyeX0iIHJlcXVpcmVkIHBsYWNlaG9sZGVyPSJ7JG1vZC0+TGFuZygncGhfeXNpX3N1bW1hcnknKX0iLz4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgIDxsYWJlbCBmb3I9InVwbF9kZXNjcmlwdGlvbiI+eyRtb2QtPkxhbmcoJ2Rlc2NyaXB0aW9uJyl9OjwvbGFiZWw+CiAgICA8dGV4dGFyZWEgaWQ9InVwbF9kZXNjcmlwdGlvbiIgY2xhc3M9ImZvcm0tY29udHJvbCIgbmFtZT0ieyRhY3Rpb25pZH11cGxfZGVzY3JpcHRpb24iIHBsYWNlaG9sZGVyPSJ7JG1vZC0+TGFuZygncGhfeXNpX2Rlc2MnKX0iPnskdXBsb2FkLT5kZXNjcmlwdGlvbn08L3RleHRhcmVhPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9ImZvcm0tZ3JvdXAiPgogICAgPGxhYmVsIGZvcj0idXBsX2ZpbGUiPnskbW9kLT5sYW5nKCd1cGxvYWQnKX06PC9sYWJlbD4KICAgIDxpbnB1dCB0eXBlPSJmaWxlIiBjbGFzcz0iZm9ybS1jb250cm9sIiBpZD0idXBsX2ZpbGUiIG5hbWU9InVwbF9maWxlIi8+eyogbm90ZSwgbm8gcHJlZml4ICp9CiAgPC9kaXY+CiAgPGRpdiBpZD0iZmlsZV9saXN0Ij48L2Rpdj4KICA8ZGl2IGlkPSJwcm9ncmVzcyI+PC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnZW1haWxfZGV0YWlscycpfTo8L2xlZ2VuZD4KICB7aWYgJHlzaS0+YWxsb3dfdG99CiAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICA8bGFiZWwgZm9yPSJ1cGxfdG8iPip7JG1vZC0+bGFuZygndG8nKX06PC9sYWJlbD4KICAgIDxpbnB1dCB0eXBlPSJlbWFpbCIgY2xhc3M9ImZvcm0tY29udHJvbCByZXF1aXJlZCIgaWQ9InVwbF90byIgbmFtZT0ieyRhY3Rpb25pZH11cGxfdG8iIHZhbHVlPSJ7JHlzaS0+dG99IiByZXF1aXJlZCBwbGFjZWhvbGRlcj0ieyRtb2QtPkxhbmcoJ3BoX3lzaV90bycpfSIvPgogIDwvZGl2PgogIHsvaWZ9CiAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICA8bGFiZWwgZm9yPSJ1cGxfc3ViaiI+KnskbW9kLT5sYW5nKCdzdWJqZWN0Jyl9OjwvbGFiZWw+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgY2xhc3M9ImZvcm0tY29udHJvbCByZXF1aXJlZCIgaWQ9InVwbF9zdWJqIiBuYW1lPSJ7JGFjdGlvbmlkfXVwbF9zdWJqZWN0IiB2YWx1ZT0ieyR5c2ktPnN1YmplY3R9IiByZXF1aXJlZCBwbGFjZWhvbGRlcj0ieyRtb2QtPkxhbmcoJ3BoX3lzaV9zdWJqZWN0Jyl9Ii8+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICA8bGFiZWwgZm9yPSJ1cGxfbm90ZXMiPnskbW9kLT5sYW5nKCdub3RlcycpfTo8L2xhYmVsPgogICAgPHRleHRhcmVhIGlkPSJ1cGxfbm90ZXMiIGNsYXNzPSJmb3JtLWNvbnRyb2wiIHJvd3M9IjQiIHBsYWNlaG9sZGVyPSJ7JG1vZC0+TGFuZygncGhfeXNpX25vdGVzJyl9IiBuYW1lPSJ7JGFjdGlvbmlkfXVwbF9ub3RlcyI+eyR5c2ktPm5vdGVzfTwvdGV4dGFyZWE+CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cgp7VXBsb2FkcyBhY3Rpb249c2hvd2NhcHRjaGF9CnsqCntpZiAhZW1wdHkoJGNhcHRjaGEpfQo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JG1vZC0+TGFuZygnaGRyX2JvdF9zZWN1cml0eScpfTo8L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJmb3JtLWdyb3VwIj4KICAgIHtpZiAkbmVlZF9jYXB0Y2hhX2lucHV0fQogICAgICB7VXBsb2FkcyBhY3Rpb249c2hvd2NhcHRjaGF9CiAgICAgIDxsYWJlbCBmb3I9InVwbF9jYXB0Y2hhIj4qeyRtb2QtPkxhbmcoJ2NhcHRjaGFfdGl0bGUnKX06PC9sYWJlbD4KICAgICAgPGRpdiBpZD0iY2FwdGNoYV9pbnRlcmZhY2UiPnskY2FwdGNoYX08YnIvPjwvZGl2PgogICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH11cGxfY2FwdGNoYSIgaWQ9InVwbF9jYXB0Y2hhIiBjbGFzcz0iZm9ybS1jb250cm9sIiB2YWx1ZT0iIi8gIHBsYWNlaG9sZGVyPSJ7JG1vZC0+TGFuZygncGhfY2FwdGNoYScpfSI+CiAgICB7ZWxzZX0KICAgICAgeyRjYXB0Y2hhfQogICAgey9pZn0KICA8L2Rpdj4KPC9maWRsZHNldD4Key9pZn0KKn0KCjxkaXYgY2xhc3M9InJvdyI+CiAgeyogbm90ZSwgbm8gbmFtZXMgKn0KICA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0iYnRuX3N1Ym1pdCIgY2xhc3M9ImJ0biBidG4tcHJpbWFyeSIgdmFsdWU9InskbW9kLT5MYW5nKCdzZW5kJyl9Ii8+CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgY2xhc3M9ImJ0biBidG4tZGVmYXVsdCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iIGZvcm1ub3ZhbGlkYXRlLz4KPC9kaXY+CnskZW5kZm9ybX0KCjxkaXYgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4KICA8ZGl2IGlkPSJmaWxlX3Jvd19za2VsIiBjbGFzcz0iZmlsZV9yb3ciPgogICAgeyogdGVtcGxhdGUgZm9yIHdoZXJlIGZpbGUgdXBsb2FkIHNrZWxldG9uIHdpbGwgYmUgZGlzcGxheWVkLi4gdGhlc2UgaWQncyBhbmQgY2xhc3NlcyBhcmUgaW1wb3J0YW50LiAqfQogICAgPGRpdiBjbGFzcz0iZmlsZV9uYW1lIj48L2Rpdj4KICAgIDxkaXYgY2xhc3M9ImZpbGVfdHlwZSI+PC9kaXY+CiAgICA8ZGl2IGNsYXNzPSJmaWxlX3NpemUiPjwvZGl2PgogICAgPGRpdiBjbGFzcz0iZmlsZV9idG5zIj4KICAgICAgIDxidXR0b24gY2xhc3M9ImZpbGVfcmVtb3ZlIGJ0biBidG4teHMiPjxzcGFuIGNsYXNzPSJnbHlwaGljb24gZ2x5cGhpY29uLXJlbW92ZSI+PC9zcGFuPiB7JG1vZC0+TGFuZygncmVtb3ZlJyl9PC9idXR0b24+CiAgICA8L2Rpdj4KICA8L2Rpdj4KPC9kaXY+]]></data>
	</file>
	<file>
	  <filename>/templates/showcaptcha.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgp2YXIgY2FwdGNoYV9oZWxwZXIgPSBuZXcgZnVuY3Rpb24oKSB7CiAgICB2YXIgX3NlbGYgPSB0aGlzOwogICAgdmFyIF9mb3JtOwogICAgdmFyIF9lbGVtOwogICAgdmFyIF90ZXN0YnRuOwoKICAgIHZhciBfb25fZm9ybV9zdWJtaXQgPSBmdW5jdGlvbihldikgewogICAgICAgZXYucHJldmVudERlZmF1bHQoKTsKICAgICAgIF9zZWxmLmNoZWNrX2NhcHRjaGEoKS5kb25lKGZ1bmN0aW9uKCl7CgogICAgICAgfSkuZmFpbChmdW5jdGlvbigpewoKICAgICAgIH0pCiAgICB9CgogICAgdGhpcy5uZXdfY2FwdGNoYSA9IGZ1bmN0aW9uKCkgewogICAgICAgJCgnI2NhcHRjaGFfbXNnJykuaGlkZSgpOwogICAgICAgcmV0dXJuICQuYWpheCh7CiAgICAgICAgICBtZXRob2Q6ICdHRVQnLAoJICAgdXJsOiAne21vZHVsZV9hY3Rpb25fdXJsIGFjdGlvbj1zaG93Y2FwdGNoYSBmb3Jqcz0xfScsCgkgICBkYXRhOiB7CgkgICAgICAnb3AnOiAnZ2V0JywKCSAgIH0KICAgICAgIH0pLmRvbmUoZnVuY3Rpb24obmV3X2h0bWwpewogICAgICAgICAgJCgnI2NhcHRjaGFfem9uZScpLmh0bWwobmV3X2h0bWwpOwoJICBfZWxlbS52YWwoJycpOwogICAgICAgfSkKICAgIH0KCiAgICB0aGlzLmNoZWNrX2NhcHRjaGEgPSBmdW5jdGlvbigpIHsKICAgICAgICB2YXIgX2RhdGEgPSB7CgkgICAnb3AnOiAnY2hlY2snLAogICAgICAgICAgICdjYXB0Y2hhJzogX2VsZW0udmFsKCksCgl9CgkkKCcjY2FwdGNoYV96b25lIGlucHV0JykuZWFjaChmdW5jdGlvbigpewoJICAgaWYoICQodGhpcykuYXR0cignaWQnKSA9PSAnY2FwdGNoYV90eHQnICkgcmV0dXJuOwoJICAgdmFyIF9uYW0gPSAkKHRoaXMpLmF0dHIoJ25hbWUnKTsKCSAgIHZhciBfdmFsID0gJCh0aGlzKS52YWwoKTsKCSAgIGlmKCAhX25hbSApIHJldHVybjsKCSAgIF9kYXRhW19uYW1dID0gX3ZhbDsKCX0pCiAgICAgICAgcmV0dXJuICQuYWpheCh7CgkgICBtZXRob2Q6ICdQT1NUJywKCSAgIHVybDogJ3ttb2R1bGVfYWN0aW9uX3VybCBhY3Rpb249c2hvd2NhcHRjaGEgZm9yanM9MX0nLAoJICAgZGF0YTogX2RhdGEsCgl9KS5kb25lKGZ1bmN0aW9uKHhocix0ZXh0c3RhdHVzKXsKCSAgICAvLyBkbyBub3RoaW5nLCBjYXB0Y2hhIHZhbGlkYXRlZAoJfSkuZmFpbChmdW5jdGlvbigpewoJICAgX3NlbGYubmV3X2NhcHRjaGEoKS5kb25lKGZ1bmN0aW9uKCl7CiAgICAgICAgICAgICAgJCgnI2NhcHRjaGFfbXNnJykuc2hvdygpOwogICAgICAgICAgICAgIF9lbGVtLnZhbCgnJyk7CgkgICB9KTsKCX0pOwogICAgfQoKICAgIHRoaXMuaW5pdCA9IGZ1bmN0aW9uKCkgewogICAgICAgICQoJyNjYXB0Y2hhX21zZycpLmhpZGUoKTsKCV90ZXN0YnRuID0gJCgnI2NhcHRjaGFfdGVzdCcpOwogICAgICAgIF9lbGVtID0gJCgnI2NhcHRjaGFfdHh0Jyk7CiAgICAgICAgX2Zvcm0gPSBfZWxlbS5jbG9zZXN0KCdmb3JtJyk7CglfZm9ybS5zdWJtaXQoX29uX2Zvcm1fc3VibWl0KTsKCV90ZXN0YnRuLmNsaWNrKGZ1bmN0aW9uKGV2KXsKCSAgIGV2LnByZXZlbnREZWZhdWx0KCk7CgkgICBfc2VsZi5jaGVja19jYXB0Y2hhKCkuZG9uZShmdW5jdGlvbigpewoJICAgICAgYWxlcnQoJ2NhcHRjaGEgdmFsaWRhdGVkLi4uIGJ1dCBpdCBpcyBvbmUgdGltZSBvbmx5LicpOwoJICAgfSkuZmFpbChmdW5jdGlvbigpewoJICAgICAgYWxlcnQoJ2NhcHRjaGEgZmFpbGVkJyk7CgkgICB9KQoJICAgcmV0dXJuIGZhbHNlOwoJfSk7CglfZWxlbS5kYXRhKCdjYXB0Y2hhX2hlbHBlcicsdGhpcyk7CiAgICB9Cn0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKICAgY2FwdGNoYV9oZWxwZXIuaW5pdCgpOwp9KTsKPC9zY3JpcHQ+Cgo8ZmllbGRzZXQ+CiAgIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2hkcl9ib3Rfc2VjdXJpdHknKX06PC9sZWdlbmQ+CiAgIDxkaXYgaWQ9ImNhcHRjaGFfbXNnIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPnskbW9kLT5MYW5nKCdlcnJvcl9jYXB0Y2hhJyl9PC9kaXY+CiAgIDxkaXYgaWQ9ImNhcHRjaGFfem9uZSI+eyRjYXB0Y2hhX2ltZ308L2Rpdj4KICB7aWYgJG5lZWRfaW5wdXR9CiAgPGRpdiBjbGFzcz0iZm9ybS1ncm91cCI+CiAgICA8bGFiZWwgZm9yPSJjYXB0Y2hhX3R4dCI+eyRtb2QtPkxhbmcoJ2NhcHRjaGFfdGl0bGUnKX06PC9sYWJlbD4KICAgIDxpbnB1dCBpZD0iY2FwdGNoYV90eHQiIHR5cGU9InRleHQiIGNsYXNzPSJmb3JtLWNvbnRyb2wiLz4KICAgIDxidXR0b24gaWQ9ImNhcHRjaGFfdGVzdCI+VGVzdDwvYnV0dG9uPgogIDwvZGl2PgogIHsvaWZ9CjwvZmllbGRzZXQ+]]></data>
	</file>
	<file>
	  <filename>/templates/uploadform.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e3N0YXJ0Zm9ybX0KPHA+eyRwcm9tcHRfdXBsb2FkfXskaGlkZGVufXskaW5wdXRfc3VibWl0fTwvcD4Ke2VuZGZvcm19Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/uploadlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJy5hX2RlbGZpbGUnKS5jbGljayhmdW5jdGlvbihldil7CiAgICAgcmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdhcmV5b3VzdXJlJyl9Jyk7CiAgfSkKfSkKPC9zY3JpcHQ+Cgp7aWYgJG1lc3NhZ2UgIT0gJyd9CiAge2lmICRlcnJvciAhPSAnJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7L2lmfQoKe2lmICRub2Zvcm0gPT0gJyd9Cnskc3RhcnRmb3JtfXskaW5wdXRfaGlkZGVufQoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgogIHskbW9kLT5MYW5nKCdjYXRlZ29yeScpfTombmJzcDsKICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9aW5wdXRfY2F0ZWdvcnkiPntodG1sX29wdGlvbnMgb3B0aW9ucz0kY2F0ZWdvcnlsaXN0IHNlbGVjdGVkPSRjdXJfY2F0ZWdvcnl9PC9zZWxlY3Q+CiAgJm5ic3A7eyRtb2QtPkxhbmcoJ3BhZ2VsaW1pdCcpfToKICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9aW5wdXRfcGFnZWxpbWl0Ij4KICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kcGFnZWxpbWl0cyBzZWxlY3RlZD0kcGFnZWxpbWl0fQogIDwvc2VsZWN0PgogIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0ZmlsdGVyIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2ZpbHRlcicpfSIvPgoKICB7aWYgaXNzZXQoJG5wYWdlcykgJiYgJG5wYWdlcyA+IDB9CiAgPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyI+CiAgIHtpZiBpc3NldCgkZmlyc3RwYWdlX3VybCl9CiAgICAgPGEgaHJlZj0ieyRmaXJzdHBhZ2VfdXJsfSI+Jmx0OyZsdDs8L2E+Jm5ic3A7CiAgICAgPGEgaHJlZj0ieyRwcmV2cGFnZV91cmx9Ij4mbHQ7PC9hPiZuYnNwOwogICB7L2lmfQogICB7JG1vZC0+TGFuZygncGFnZScpfSZuYnNwO3skY3VycGFnZX0mbmJzcDt7JG1vZC0+TGFuZygnb2YnKX0mbmJzcDt7JG5wYWdlc30KICAge2lmIGlzc2V0KCRuZXh0cGFnZV91cmwpfQogICAgICZuYnNwOzxhIGhyZWY9InskbmV4dHBhZ2VfdXJsfSI+Jmd0OzwvYT4KICAgICAmbmJzcDs8YSBocmVmPSJ7JGxhc3RwYWdlX3VybH0iPiZndDsmZ3Q7PC9hPgogICB7L2lmfQogIDwvZGl2PgogIHsvaWZ9CjwvZGl2Pgp7JGVuZGZvcm19CgoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPgogICAgIDxhIGhyZWY9IntjbXNfYWN0aW9uX3VybCBhY3Rpb249YWRtaW5fdXBsb2FkfSIgdGl0bGU9InskbW9kLT5MYW5nKCd1cGxvYWRfZmlsZScpfSI+e2FkbWluX2ljb24gaWNvbj0nbmV3b2JqZWN0LmdpZid9IHskbW9kLT5MYW5nKCd1cGxvYWRfZmlsZScpfTwvYT4KPC9kaXY+CntpZiAkaXRlbWNvdW50ID4gMH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aD4mbmJzcDs8L3RoPgoJICAgICAgICAgICAgICAgIDx0aD4mbmJzcDs8L3RoPgoJCQk8dGg+eyR0aXRsZXRleHR9PC90aD4KCQkJPHRoPnskc3VtbWFyeXRleHR8c3VtbWFyaXplOjUwfTwvdGg+CgkJCTx0aCBzdHlsZT0idGV4dC1hbGlnbjogY2VudGVyOyI+eyRzaXpldGV4dH08L3RoPgoJCQk8dGg+eyRhdXRob3J0ZXh0fTwvdGg+CgkJCTx0aD57JGlwdGV4dH08L3RoPgoJCQk8dGg+eyRwb3N0ZGF0ZXRleHR9PC90aD4KCQkJPHRoIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij57JGRsdGV4dH08L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5PgoJe2ZvcmVhY2ggZnJvbT0kaXRlbXMgaXRlbT1lbnRyeX0KCQk8dHIgY2xhc3M9InskZW50cnktPnJvd2NsYXNzfSI+CgkJCTx0ZD57JGVudHJ5LT5pZH08L3RkPgoJCQk8dGQ+e2lmICRlbnRyeS0+bWlzc2luZ30KCQkJICAgICAgPGltZyBzcmM9InskbWlzc2luZ19pY29ufSIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9InskbW9kLT5MYW5nKCdtaXNzaW5nJyl9IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ21pc3NpbmdfZmlsZScpfSIvPgogICAgICAgICAgICAgICAgICAgICAgICAgICAge2Vsc2V9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPSJ7JGVudHJ5LT5pY29ufSIgaGVpZ2h0PSIxNiIgd2lkdGg9IjE2IiBhbHQ9InskZW50cnktPmljb259Ii8+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7L2lmfQogICAgICAgICAgICAgICAgICAgICAgICA8L3RkPgoJCQk8dGQ+e2lmICRlbnRyeS0+bWlzc2luZ30KICAJCQkgICAgICA8YSBocmVmPSJ7JGVudHJ5LT5lZGl0dXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdtaXNzaW5nX2ZpbGUnKX0iPjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+eyRlbnRyeS0+bmFtZX08L3NwYW4+PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAge2Vsc2V9CiAgCQkJICAgICAgPGEgaHJlZj0ieyRlbnRyeS0+ZWRpdHVybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnZWRpdF90aGlzX2ZpbGUnKX0iPnskZW50cnktPm5hbWV9PC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgey9pZn0KICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD4KCQkJPHRkPnskZW50cnktPnN1bW1hcnl9PC90ZD4KCQkJPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij57aWYgISRlbnRyeS0+bWlzc2luZ317JGVudHJ5LT5zaXplfXsvaWZ9PC90ZD4KCQkJPHRkPnskZW50cnktPmF1dGhvcn08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+aXB9PC90ZD4KCQkJPHRkPnskZW50cnktPmRhdGV9PC90ZD4KCQkJPHRkIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij57JGVudHJ5LT5kb3dubG9hZHN9PC90ZD4KCQkJPHRkPgoJCQkgICAge2lmICEkZW50cnktPm1pc3Npbmd9CiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX21hbmFnZV90aW1lbGltaXRlZCB1cGxvYWRfaWQ9JGVudHJ5LT5pZH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnbWFuYWdlX3RpbWVsaW1pdGVkJyl9Ij4KCQkJICAgICAgICB7Y2dpbWFnZSBpbWFnZT0nY2xvY2tfbGluay5wbmcnfQoJCQkgICAgPC9hPgogICAgICAgICAgICAgICAgICAgICAgICAgICAgey9pZn0KCQkJPC90ZD4KCQkJPHRkPntpZiAhJGVudHJ5LT5taXNzaW5nfQoJCQkgICAgPGEgaHJlZj0ie2Ntc19hY3Rpb25fdXJsIGFjdGlvbj1nZXRtaW1lZmlsZSB1cGxvYWRfaWQ9JGVudHJ5LT5pZH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygndmlldycpfSI+e2FkbWluX2ljb24gaWNvbj0ndmlldy5naWYnfTwvYT4KCQkJICAgIHsvaWZ9CgkJCTwvdGQ+CgkJCTx0ZD48YSBocmVmPSJ7JGVudHJ5LT5lZGl0dXJsfSIgdGl0bGU9InskbW9kLT5hbmcoJ2VkaXRfdGhpc19maWxlJyl9Ij57YWRtaW5faWNvbiBpY29uPSdlZGl0LmdpZid9PC9hPjwvdGQ+CgkJCTx0ZD48YSBjbGFzcz0iYV9kZWxmaWxlIiBocmVmPSJ7JGVudHJ5LT5kZWxldGVfdXJsfSI+e2NnaW1hZ2UgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJ308L2E+PC90ZD4KCQk8L3RyPgoJey9mb3JlYWNofQoJPC90Ym9keT4KPC90YWJsZT4KICB7aWYgJGl0ZW1jb3VudCA+IDEwfQogIDxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIj4KICAgICA8YSBocmVmPSJ7Y21zX2FjdGlvbl91cmwgYWN0aW9uPWFkbWluX3VwbG9hZH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygndXBsb2FkX2ZpbGUnKX0iPnthZG1pbl9pY29uIGljb249J25ld29iamVjdC5naWYnfSB7JG1vZC0+TGFuZygndXBsb2FkX2ZpbGUnKX08L2E+CiAgPC9kaXY+CiAgey9pZn0Ke2Vsc2V9CiAgIDxwIGNsYXNzPSJpbmZvcm1hdGlvbiI+Tm8gRmlsZXMgRGV0ZWN0ZWQ8L3A+CnsvaWZ9CnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/Uploads.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFVwbG9hZHMgKGMpIDIwMTEtMjAxNCBieSBSb2JlcnQgQ2FtcGJlbGwKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBtYW5hZ2VtZW50IG9mIHVwbG9hZGVkIGZpbGVzCiMgIGhhcyBudW1lcm91cyBjYXBhYmlsaXRpZXMgaW5jbHVkaW5nIHlvdXNlbmRpdCwgdGltZSBsaW1pdGVkIHVybHMsCiMgIGZyb250ZW5kIHVwbG9hZHMuLgojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFZpc2l0IHRoZSBDTVNNUyBIb21lcGFnZSBhdDogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbgojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOgkvL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBVcGxvYWRzIGV4dGVuZHMgQ0dFeHRlbnNpb25zCnsKCXZhciAkdXBsb2FkX2V4dGVuc2lvbnMgPSAnJzsKCXZhciAkX2ZpbGV0eXBlcyA9ICcnOwoKCXB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCgl7CgkJcGFyZW50OjpfX2NvbnN0cnVjdCgpOwogICAgICAgIAkkdGhpcy0+QWRkSW1hZ2VEaXIoJ2ltYWdlcycpOwoJfQoKICAJcHVibGljIGZ1bmN0aW9uIEdldE5hbWUgKCkgeyByZXR1cm4gJ1VwbG9hZHMnOyB9CiAgCXB1YmxpYyBmdW5jdGlvbiBHZXRWZXJzaW9uKCkgeyByZXR1cm4gJzEuMjYuMic7IH0KCXB1YmxpYyBmdW5jdGlvbiBHZXRFdmVudEhlbHAgKCAkZXZlbnRuYW1lICkJeyByZXR1cm4gJHRoaXMtPkxhbmcgKCdoZWxwXycuJGV2ZW50bmFtZSk7IH0KCXB1YmxpYyBmdW5jdGlvbiBHZXRIZWxwICgpIHsgcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy9oZWxwLmluYycpOwl9CglwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yICgpIHsgcmV0dXJuICdjYWxndXkxMDAwJzsJfQoJcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsICgpIHsgcmV0dXJuICdjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJzsgfQoJcHVibGljIGZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlICgpIHsgcmV0dXJuIHRydWU7IH0KCXB1YmxpYyBmdW5jdGlvbiBIYXNBZG1pbiAoKQl7IHJldHVybiB0cnVlOyB9CglwdWJsaWMgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24gKCkgeyByZXR1cm4gJzIuMS41JzsgfQoJcHVibGljIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24gKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcgKCdtb2RkZXNjcmlwdGlvbicpOwl9CiAgCXB1YmxpYyBmdW5jdGlvbiBBbGxvd0F1dG9JbnN0YWxsKCkgeyByZXR1cm4gRkFMU0U7IH0KICAJcHVibGljIGZ1bmN0aW9uIEFsbG93QXV0b1VwZ3JhZGUoKSB7IHJldHVybiBGQUxTRTsgfQoJcHVibGljIGZ1bmN0aW9uIEdldERlcGVuZGVuY2llcyAoKSB7IHJldHVybiBhcnJheSAoJ0NHRXh0ZW5zaW9ucyc9PicxLjY0JywnQ0dTaW1wbGVTbWFydHknPT4nMi4xLjYnKTsJfQoJcHVibGljIGZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSAoKSB7CXJldHVybiAkdGhpcy0+TGFuZyAoJ3Bvc3RpbnN0YWxsJyk7CX0KCXB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSAoKQl7IHJldHVybiAkdGhpcy0+TGFuZyAoJ3Bvc3R1bmluc3RhbGwnKTsJfQogIAlwdWJsaWMgZnVuY3Rpb24gR2V0Q2hhbmdlTG9nICgpIHsgcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy9jaGFuZ2Vsb2cuaW5jJyk7ICB9CglwdWJsaWMgZnVuY3Rpb24gTGF6eUxvYWRBZG1pbigpIHsgcmV0dXJuIFRSVUU7IH0KCXB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9jb21tb24oKSB7IHJlcXVpcmVfb25jZShfX0RJUl9fLicvZnVuY3Rpb25zLmNvbW1vbl90b29scy5waHAnKTsJfQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsb2FkX2FkbWluKCkgeyByZXF1aXJlX29uY2UoX19ESVJfXy4nL2Z1bmN0aW9ucy5hZG1pbl90b29scy5waHAnKTsJfQoKCS8vIGRlbGV0ZSBtZQoJcHVibGljIGZ1bmN0aW9uIF9jYXRlZ29yeVBhdGgoICRjYXRlZ29yeXBhdGggKQoJewoJCSRnQ21zID0gY21zbXMoKTsKCQlyZXR1cm4gJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4kY2F0ZWdvcnlwYXRoOwoJfQoKCS8vIGRlbGV0ZSBtZQoJLy8gc2VlIHVwbG9hZHNfdXRpbHM6OmdldF9maWxlc3BlYwoJcHVibGljIGZ1bmN0aW9uIF91cGxvYWRQYXRoKCAkY2F0ZWdvcnlwYXRoLCAkZmlsZW5hbWUgKQoJewoJCXJldHVybiAkdGhpcy0+X2NhdGVnb3J5UGF0aCggJGNhdGVnb3J5cGF0aCApLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGZpbGVuYW1lOwoJfQoKCS8vIGRlbGV0ZSBtZQoJcHJvdGVjdGVkIGZ1bmN0aW9uIF90ZXN0aXAoJHJhbmdlLCRpcCkKCXsKICAgICAgICBpZiggISRyYW5nZSB8fCAhJGlwICkgcmV0dXJuIDE7CgkJJHJlc3VsdCA9IDE7CgoJCSMgSVAgUGF0dGVybiBNYXRjaGVyCgkJIyBKLkFkYW1zIDxqbmFAcmV0aW5hLm5ldD4KCQkjCgkJIyBNYXRjaGVzOgoJCSMKCQkjIHh4eC54eHgueHh4Lnh4eCAgICAgICAgKGV4YWN0KQoJCSMgeHh4Lnh4eC54eHguW3l5eS16enpdICAocmFuZ2UpCgkJIyB4eHgueHh4Lnh4eC54eHgvbm4gICAgKG5uID0gIyBiaXRzLCBjaXNjbyBzdHlsZSAtLSBpLmUuIC8yNCA9IGNsYXNzIEMpCgkJIwoJCSMgRG9lcyBub3QgbWF0Y2g6CgkJIyB4eHgueHh4Lnh4eC54eFt5eXktenp6XSAgKHJhbmdlLCBwYXJ0aWFsIG9jdGV0cyBub3Qgc3VwcG9ydGVkKQoKCQlpZiAocHJlZ19tYXRjaCgiLyhbMC05XSspXC4oWzAtOV0rKVwuKFswLTldKylcLihbMC05XSspXC8oWzAtOV0rKS8iLCRyYW5nZSwkcmVncykpIHsKCQkJIyBwZXJmb3JtIGEgbWFzayBtYXRjaAoJCQkkaXBsID0gaXAybG9uZygkaXApOwoJCQkkcmFuZ2VsID0gaXAybG9uZygkcmVnc1sxXSAuICIuIiAuICRyZWdzWzJdIC4gIi4iIC4gJHJlZ3NbM10gLiAiLiIgLiAkcmVnc1s0XSk7CgoJCQkkbWFza2wgPSAwOwoKCQkJZm9yICgkaSA9IDA7ICRpPCAzMTsgJGkrKykgewoJCQkJaWYgKCRpIDwgJHJlZ3NbNV0tMSkgJG1hc2tsID0gJG1hc2tsICsgcG93KDIsKDMwLSRpKSk7CgkJCX0KCgkJCWlmICgoJG1hc2tsICYgJHJhbmdlbCkgPT0gKCRtYXNrbCAmICRpcGwpKSB7CgkJCQlyZXR1cm4gMTsKICAgICAgICAgICAgfSBlbHNlIHsKCQkJCXJldHVybiAwOwoJCQl9CgkJfSBlbHNlIHsKCQkJIyByYW5nZSBiYXNlZAoJCQkkbWFza29jdHMgPSBleHBsb2RlKCJcLiIsJHJhbmdlKTsKCQkJJGlwb2N0cyA9IGV4cGxvZGUoIlwuIiwkaXApOwoKCQkJIyBwZXJmb3JtIGEgcmFuZ2UgbWF0Y2gKCQkJZm9yICgkaT0wOyAkaTw0OyAkaSsrKSB7CgkJCQlpZiAocHJlZ19tYXRjaCgiL1xbKFswLTldKylcLShbMC05XSspXF0vIiwkbWFza29jdHNbJGldLCRyZWdzKSkgewoJCQkJCWlmICggKCRpcG9jdHNbJGldID4gJHJlZ3NbMl0pIHx8ICgkaXBvY3RzWyRpXSA8ICRyZWdzWzFdKSkgJHJlc3VsdCA9IDA7CgkJCQl9CgkJCQllbHNlIHsKCQkJCQlpZiAoJG1hc2tvY3RzWyRpXSA8PiAkaXBvY3RzWyRpXSkgJHJlc3VsdCA9IDA7CgkJCQl9CgkJCX0KCQl9CgkJcmV0dXJuICRyZXN1bHQ7Cgl9CgoJLy8gdG9kbzogZGVsZXRlIG1lCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldENhdGVnb3J5RnJvbU5hbWUoJG5hbWUpCgl7CgkJcmV0dXJuIHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yeSgkbmFtZSk7Cgl9CgoJLy8gdG9kbzogZGVsZXRlIG1lCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGxvYWRfY2F0ZWdvcnlfYnlfaWQoJGlkKQoJewoJCXJldHVybiB1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnkoJGlkKTsKCX0KCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNhdGVnb3J5X3BhdGhfaW5fdXNlKCRwYXRoKQoJewoJCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkJJHF1ZXJ5ID0gJ1NFTEVDVCB1cGxvYWRfY2F0ZWdvcnlfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3VwbG9hZHNfY2F0ZWdvcmllcyBXSEVSRSB1cGxvYWRfY2F0ZWdvcnlfcGF0aCA9ID8nOwoJCSR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHBhdGgpKTsKCQlpZiggJHRtcCApIHJldHVybiBUUlVFOwoJCXJldHVybiBGQUxTRTsKCX0KCgkvLyB0b2RvOiBkZWxldGUgbWUgKGNhbGxlcnMgc2hvdWxkIHVzZSBmbGlwcGVkIGFycmF5KQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRDYXRlZ29yeUxpc3QoKQoJewoJCSRjYXRzID0gdXBsb2Fkc191dGlsczo6Z2V0X2NhdGVnb3JpZXMoKTsKCQlpZiggaXNfYXJyYXkoJGNhdHMpICYmIGNvdW50KCRjYXRzKSApIHsKCQkJJG91dCA9IGFycmF5KCk7CgkJCWZvcmVhY2goICRjYXRzIGFzICRpZCA9PiAkcm93ICkgewoJCQkJJG91dFskcm93Wyd1cGxvYWRfY2F0ZWdvcnlfbmFtZSddXSA9ICRpZDsKCQkJfQoJCQlyZXR1cm4gJG91dDsKCQl9Cgl9CgoJLy8gdG9kbzogZGVsZXRlIG1lCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldENhdGVnb3J5UGF0aEZyb21JRCggJGNhdGVnb3J5X2lkICkKCXsKCQl0cnkgewoJCQlyZXR1cm4gdXBsb2Fkc191dGlsczo6Z2V0X2NhdGVnb3J5X3BhdGgoICRjYXRlZ29yeV9pZCApOwoJCX0KCQljYXRjaCggRXhjZXB0aW9uICRlICkgewoJCQlyZXR1cm47CgkJfQoJfQoKCS8vIHRvZG86IGRlbGV0ZSBtZQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRDYXRlZ29yeVBhdGhGcm9tRmlsZUlEKCAkZmlsZV9pZCApCgl7CgkJdHJ5IHsKCQkJJGRldGFpbHMgPSB1cGxvYWRzX3V0aWxzOjpnZXRfdXBsb2FkX2RldGFpbHMoICRmaWxlX2lkICk7CgkJCSRjYXRlZ29yeSA9IHVwbG9hZHNfdXRpbHM6OmdldF9jYXRlZ29yeSgkZGV0YWlsc1sndXBsb2FkX2NhdGVnb3J5X2lkJ10pOwoJCQlyZXR1cm4gJGNhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfcGF0aCddOwoJCX0KCQljYXRjaCggRXhjZXB0aW9uICRlICkgewoJCQkvLyBub3RoaW5nIGhlcmUKCQl9Cgl9CgoJLy8gdG9kbzogbW92ZSB0byB1cGxvYWRzX3V0aWxzCglwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9jYXRlZ29yeV9maWxlX2xpc3QoICRjYXRlZ29yeV9pZCApCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHMgV0hFUkUgdXBsb2FkX2NhdGVnb3J5X2lkID0gPyI7CgkJJGZpbGVsaXN0ID0gJGRiLT5HZXRBcnJheSggJHF1ZXJ5LCBhcnJheSggJGNhdGVnb3J5X2lkICkgKTsKCQlpZiggISRmaWxlbGlzdCApIHJldHVybjsKCQlyZXR1cm4gJGZpbGVsaXN0OwoJfQoKCS8vIHRvZG86IG1vdmUgdG8gdXBsb2Fkc191dGlscwoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRGaWxlTmFtZSggJGZpbGVfaWQgKQoJewoJCXRyeSB7CgkJCSRkYXRhID0gdXBsb2Fkc191dGlsczo6Z2V0X3VwbG9hZF9kZXRhaWxzKCRmaWxlX2lkKTsKCQkJcmV0dXJuICRkYXRhWyd1cGxvYWRfbmFtZSddOwoJCX0KCQljYXRjaCggRXhjZXB0aW9uICRlICkgewoJCQkvLyBub3RoaW5nIGhlcmUuCgkJfQoJfQoKCS8vIHRvZG86IGRlbGV0ZSBtZQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRGaWxlRGV0YWlscyggJGZpbGVfaWQgKQoJewoJCXRyeSB7CgkJCXJldHVybiB1cGxvYWRzX3V0aWxzOjpnZXRfdXBsb2FkX2RldGFpbHMoJGZpbGVfaWQpOwoJCX0KCQljYXRjaCggRXhjZXB0aW9uICRlICkgewoJCQkvLyBub3RoaW5nIGhlcmUuCgkJfQoJfQoKCS8vIHRvZG86IGRlbGV0ZSBtZQoJcHVibGljIHN0YXRpYyBmdW5jdGlvbiBfZ2V0VXBsb2FkQ2F0ZWdvcnlEZXRhaWxzKCAkY2F0ZWdvcnlfaWQgKQoJewoJCXRyeSB7CgkJCXJldHVybiB1cGxvYWRzX3V0aWxzOjpnZXRfY2F0ZWdvcnkoICRjYXRlZ29yeV9pZCApOwoJCX0KCQljYXRjaCggRXhjZXB0aW9uICRlICkgewoJCQlyZXR1cm47CgkJfQoJfQoKCS8vIHRvZG86IG1vdmUgbWUKCXByb3RlY3RlZCBmdW5jdGlvbiBfc2NhbmRpcigkZGlyID0gJy4vJywgJHNvcnQgPSAwKQoJewoJCSRkaXJfb3BlbiA9IEBvcGVuZGlyKCRkaXIpOwoJCWlmICghICRkaXJfb3BlbikgcmV0dXJuIGZhbHNlOwoKCQkkZmlsZXMgPSBhcnJheSgpOwoJCXdoaWxlICgoJGRpcl9jb250ZW50ID0gcmVhZGRpcigkZGlyX29wZW4pKSAhPSBmYWxzZSkgewoJCQkvLyB3ZSBpZ25vcmUgaW5kZXguaHRtbCBmaWxlcyBpZiB0aGUgcHJlZmVyZW5jZSBpcyBzZXQKCQkJaWYoICRkaXJfY29udGVudCA9PSAnaW5kZXguaHRtbCcgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NyZWF0ZV9kdW1teV9pbmRleF9odG1sJykpIGNvbnRpbnVlOwoKCQkJLy8gaWdub3JlIGRvdCBmaWxlcwoJCQlpZiggcHJlZ19tYXRjaCggIi9eXC4vIiwgJGRpcl9jb250ZW50ICkgKSBjb250aW51ZTsKCQkJJGZpbGVzW10gPSAkZGlyX2NvbnRlbnQ7CgkJfQoKCQlpZiggaXNfYXJyYXkoICRmaWxlcyApICkgewoJCQlpZiAoJHNvcnQgPT0gMSkgewoJCQkJcnNvcnQoJGZpbGVzLCBTT1JUX1NUUklORyk7CgkJCX0KCQkJZWxzZSB7CgkJCQlzb3J0KCRmaWxlcywgU09SVF9TVFJJTkcpOwoJCQl9CgkJfQoJCXJldHVybiAkZmlsZXM7Cgl9CgoJLy8gdG9kbzogbW92ZSBtZS4KCXB1YmxpYyBmdW5jdGlvbiBfaXNWYWxpZEZpbGVuYW1lICgkZmlsZW5hbWUpCgl7CgkJJGZpbGVfbmFtZSA9IHRyaW0oJGZpbGVuYW1lKTsKCQkkZXh0ZW5zaW9uID0gc3RydG9sb3dlciAoc3RycmNociAoJGZpbGVfbmFtZSwgIi4iKSk7CgoJCS8vIGNoZWNrIGZvciBleHRlbnNpb24gb3IgZG90IGZpbGUuCgkJaWYoICFzdHJwb3MoJGZpbGVfbmFtZSwnLicpICkgcmV0dXJuIGZhbHNlOwoKCQkvLyBhcnJheSBvZiBmaWxlcyB3ZSBkb24ndCBhbGxvdwoJCSRleHRfc3RyID0gJHRoaXMtPnVwbG9hZF9leHRlbnNpb25zOwoJCWlmKCAkZXh0X3N0ciA9PSAnJyApICRleHRfc3RyID0gJHRoaXMtPkdldFByZWZlcmVuY2UgKCJ2YWxpZF91cGxvYWRleHRlbnNpb25zIik7CgkJJGV4dF9hcnJheSA9IGV4cGxvZGUoIiwiLCAkZXh0X3N0cik7CgkJJGV4dF9jb3VudCA9IGNvdW50ICgkZXh0X2FycmF5KTsKCgkJaWYgKCEkZmlsZV9uYW1lKSB7CgkJCXJldHVybiBmYWxzZTsKCQl9CgkJZWxzZSB7CgkJCWlmIChlbXB0eSgkZXh0X2FycmF5KSB8fCAhJGV4dF9hcnJheSkgewoJCQkJcmV0dXJuIHRydWU7CgkJCX0KCQkJZWxzZSB7CgkJCQlmb3JlYWNoICgkZXh0X2FycmF5IGFzICR2YWx1ZSkgewoJCQkJCSRmaXJzdF9jaGFyID0gc3Vic3RyICgkdmFsdWUsIDAsIDEpOwoJCQkJCWlmICgkZmlyc3RfY2hhciA8PiAiLiIpIHsKCQkJCQkJJGV4dGVuc2lvbnNbXSA9ICIuIi5zdHJ0b2xvd2VyICgkdmFsdWUpOwoJCQkJCX0KCQkJCQllbHNlIHsKCQkJCQkJJGV4dGVuc2lvbnNbXSA9IHN0cnRvbG93ZXIgKCR2YWx1ZSk7CgkJCQkJfQoJCQkJfQoKCQkJCSR2YWxpZF9leHRlbnNpb24gPSBmYWxzZTsKCQkJCWZvcmVhY2ggKCRleHRlbnNpb25zIGFzICR2YWx1ZSkgewoJCQkJCWlmICgkdmFsdWUgPT0gJGV4dGVuc2lvbikgewoJCQkJCQkkdmFsaWRfZXh0ZW5zaW9uID0gdHJ1ZTsKCQkJCQkJYnJlYWs7CgkJCQkJfQoJCQkJfQoJCQkJcmV0dXJuICR2YWxpZF9leHRlbnNpb247CgkJCX0KCQl9Cgl9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEVORCBPRiBVVElMSVRZIEZVTkNUSU9OUwogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoKICBwdWJsaWMgZnVuY3Rpb24gR2V0SGVhZGVySFRNTCgpCiAgewogICAgICAkdHh0ID0gcGFyZW50OjpHZXRIZWFkZXJIVE1MKCk7CiAgICAgICRvYmogPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0pRdWVyeVRvb2xzJywnMS4yJyk7CiAgICAgIGlmKCBpc19vYmplY3QoJG9iaikgKSB7CiAgICAgICAgICAkdG1wbCA9IDw8PEVPVAp7SlF1ZXJ5VG9vbHMgYWN0aW9uPSdyZXF1aXJlJyBsaWI9J3RhYmxlc29ydGVyLGpxdWVyeXRvb2xzJ30Ke0pRdWVyeVRvb2xzIGFjdGlvbj0ncGxhY2VtYXJrZXInfQpFT1Q7CiAgICAgICAgICAkdHh0IC49ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdG1wbCk7CiAgICAgIH0KICAgICAgcmV0dXJuICR0eHQ7CiAgfQoKCXB1YmxpYyBmdW5jdGlvbiBHZXRFdmVudERlc2NyaXB0aW9uKCAkbmFtZSApCgl7CgkJc3dpdGNoICggJG5hbWUgKSB7CgkJY2FzZSAnT25VcGxvYWQnOgoJCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2luZm9fZXZlbnRfb251cGxvYWQnKTsKCQkJYnJlYWs7CgkJY2FzZSAnT25SZW1vdmUnOgoJCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2luZm9fZXZlbnRfb25yZW1vdmUnKTsKCQkJYnJlYWs7CgkJY2FzZSAnT25Eb3dubG9hZCc6CgkJCXJldHVybiAkdGhpcy0+TGFuZygnaW5mb19ldmVudF9vbmRvd25sb2FkJyk7CgkJCWJyZWFrOwoJCWNhc2UgJ09uQ3JlYXRlQ2F0ZWdvcnknOgoJCQlyZXR1cm4gJHRoaXMtPkxhbmcoJ2luZm9fZXZlbnRfb25jcmVhdGVjYXRlZ29yeScpOwoJCQlicmVhazsKCQljYXNlICdPbkRlbGV0ZUNhdGVnb3J5JzoKCQkJcmV0dXJuICR0aGlzLT5MYW5nKCdpbmZvX2V2ZW50X29uZGVsZXRlY2F0ZWdvcnknKTsKCQkJYnJlYWs7CgkJfQoJCXJldHVybiAiIjsKCX0KCglwdWJsaWMgZnVuY3Rpb24gU2V0UGFyYW1ldGVycyAoKQoJewogICAgICAgIHBhcmVudDo6U2V0UGFyYW1ldGVycygpOwoJCSR0aGlzLT5jbXMtPkdldFNtYXJ0eSgpLT5yZWdpc3Rlcl9ibG9jaygnb25jaGFuZ2UnLGFycmF5KCR0aGlzLCdzbWFydHlfYmxvY2tfb25jaGFuZ2UnKSk7CgoJCSR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwoJCSR0aGlzLT5SZXN0cmljdFVua25vd25QYXJhbXMoKTsKCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bVXVdcGxvYWRzXC8oP1A8dXBsb2FkX2lkPlswLTldKylcLyg/UDxqdW5rPi4qPykkLycsCgkJCWFycmF5KCdzaG93dGVtcGxhdGUnPT4nZmFsc2UnLCAnYWN0aW9uJz0+J2dldGZpbGUnKSk7CgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJy9bVXVdcGxvYWRzXC9saW1pdGVkXC8oP1A8dXJsX2tleT4uKj8pJC8nLCBhcnJheSgnc2hvd3RlbXBsYXRlJz0+J2ZhbHNlJywgJ2FjdGlvbic9PidnZXRmaWxlJykpOwoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCcvW1V1XXBsb2Fkc1wvZmlsZVwvKD9QPHJldHVybmlkPlswLTldKylcLyg/UDx1cGxvYWRfaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJywKCQkJCQkJCQkJCQkJIGFycmF5KCdhY3Rpb24nPT4nZGV0YWlsJykpOwoKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdrZXknLCAndmFsdWUnLCAkdGhpcy0+TGFuZygncGFyYW1fa2V5JykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3VwbG9hZF9pZCcsJ2lkJywkdGhpcy0+TGFuZygncGFyYW1fdXBsb2FkX2lkJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NvdW50JywnJywkdGhpcy0+TGFuZygncGFyYW1fY291bnQnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydG9yZGVyJywnZGF0ZV9hc2MnLCR0aGlzLT5MYW5nKCdwYXJhbV9zb3J0b3JkZXInKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsZV9leHRlbnNpb25zJywnZXh0MSxleHQyLGV4dDMnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWxlZXh0ZW5zaW9ucycpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjYXRlZ29yeScsJ3VwbG9hZF9jYXRlZ29yeScsJHRoaXMtPkxhbmcoJ3BhcmFtX2NhdGVnb3J5JyksZmFsc2UpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcicsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcicpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdub19pbml0aWFsJywnMScsJHRoaXMtPkxhbmcoJ3BhcmFtX25vX2luaXRpYWwnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigndGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV90ZW1wbGF0ZScpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWx0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2RldGFpbHRlbXBsYXRlJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ25vY2FwdGNoYScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX25vY2FwdGNoYScpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWxldHlwZXMnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWxldHlwZXMnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncHJlZml4JywwLCR0aGlzLT5MYW5nKCdwYXJhbV9wcmVmaXgnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncHJlZml4X2ZldScsMCwkdGhpcy0+TGFuZygncGFyYW1fcHJlZml4X2ZldScpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWxwYWdlJywnJywkdGhpcy0+TGFuZygncGFyYW1fZGV0YWlscGFnZScpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdsaXN0aW5ndGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9saXN0aW5ndGVtcGxhdGUnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbGlzdGluZ3NvcnRvcmRlcicsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2xpc3Rpbmdzb3J0b3JkZXInKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VuZGZpbGVwYWdlJywnJywkdGhpcy0+TGFuZygncGFyYW1fc2VuZGZpbGVwYWdlJykpOwoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N1bW1hcnlwYWdlJywnJywkdGhpcy0+TGFuZygncGFyYW1fc3VtbWFyeXBhZ2UnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWN0aW9uJywnZGVmYXVsdCcsJHRoaXMtPkxhbmcoJ3BhcmFtX2FjdGlvbicpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWVsZG5hbWUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWVsZG5hbWUnKSk7CgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmllbGR2YWwnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWVsZHZhbCcpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWVsZG5hbWUyJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmllbGRuYW1lMicpKTsKCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWVsZHZhbDInLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWVsZHZhbDInKSk7CiAgICAgICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VuZGZpbGVfdG8nLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9zZW5kZmlsZV90bycpKTsKICAgICAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzZW5kZmlsZV9vdmVyd3JpdGUnLCcnLCR0aGlzLT5sYW5nKCdwYXJhbV9zZW5kZmlsZV9vdmVyd3JpdGUnKSk7CgoKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnanVuaycsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3VtbWFyeXBhZ2UnLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhdGVnb3J5bGlzdHRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdrZXknLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vYXV0aG9yJyxDTEVBTl9JTlQpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCd1cGxvYWRfaWQnLENMRUFOX0lOVCk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NvdW50JyxDTEVBTl9JTlQpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzb3J0b3JkZXInLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2ZpbGVfZXh0ZW5zaW9ucycsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnknLCBDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdmaWx0ZXInLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vX2luaXRpYWwnLENMRUFOX0lOVCk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3RlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdkZXRhaWx0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9jYXB0Y2hhJyxDTEVBTl9JTlQpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdmaWxldHlwZXMnLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlbGVjdG5hbWUnLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlbGVjdG5vbmUnLENMRUFOX0lOVCk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlbGVjdHZhbHVlJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzZWxlY3Rmb3JtJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJ0eXBlKCdwcmVmaXgnLENMRUFOX0lOVCk7CgkJJHRoaXMtPlNldFBhcmFtZXRlcnR5cGUoJ3ByZWZpeF9mZXUnLENMRUFOX0lOVCk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2RldGFpbHBhZ2UnLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NlbmRmaWxlcGFnZScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndXJsX2tleScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZmllbGRuYW1lJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdmaWVsZHZhbCcsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZmllbGRuYW1lMicsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZmllbGR2YWwyJyxDTEVBTl9TVFJJTkcpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzZW5kZmlsZV90bycsQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2VuZGZpbGVfb3ZlcndyaXRlJyxDTEVBTl9TVFJJTkcpOwoKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5wdXRfa2V5JyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnB1dF9hdXRob3InLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lucHV0X3N1bW1hcnknLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lucHV0X2Rlc2NyaXB0aW9uJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnB1dF9kZXN0bmFtZScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5wdXRfcmVwbGFjZScsQ0xFQU5fSU5UKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5wdXRfY2FwdGNoYScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZG9fdXBsb2FkZmlsZScsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9vdXRwdXQnLENMRUFOX0lOVCk7CgoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdsaXN0aW5ndGVtcGxhdGUnLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2xpc3Rpbmdzb3J0b3JkZXInLENMRUFOX1NUUklORyk7CgoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnB1dF9maWx0ZXInLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2hpZGRlbl9wYXJhbXMnLENMRUFOX1NUUklORyk7CgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lucHV0X3N1Ym1pdCcsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5wdXRfc2VuZHRvJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnB1dF9zdWJqZWN0JyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdpbnB1dF9ub3RlcycsQ0xFQU5fU1RSSU5HKTsKCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaW5wdXRfY2FuY2VsJyxDTEVBTl9TVFJJTkcpOwoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYWdlbnVtJyxDTEVBTl9JTlQpOwogICAgICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUC4nL2ZpZWxkXy4qLycsQ0xFQU5fU1RSSU5HKTsKICAgICAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy91cGxfLiovJyxDTEVBTl9TVFJJTkcpOwoKCQl1cGxvYWRzX3NtYXJ0eTo6aW5pdCgpOyAvLyBpbml0aWFsaXplIHNtYXJ0eSBwbHVnaW5zCgl9CgoJcHVibGljIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlciAoKQoJewoJCXJldHVybiAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uICgnTWFuYWdlIFVwbG9hZHMnKSB8fAkkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJykgfHwKCQkJJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXBsb2FkIEZpbGVzIHRvIFVwbG9hZHMnKSB8fCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpIHx8CgkJCSR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ0NyZWF0ZSBVcGxvYWRzIFJlcG9ydHMnKTsKCX0KCglwdWJsaWMgZnVuY3Rpb24gRG9BY3Rpb24gKCRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkID0gLTEpCgl7CgkJc3dpdGNoICgkYWN0aW9uKSB7CgkJY2FzZSAnZG9fZGVsZXRlY2F0ZWdvcnknOgoJCQkvLyBjaGVjayBwZXJtaXNzaW9ucyBhZ2FpbgoJCQlpZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbiAoJ01hbmFnZSBVcGxvYWRzJykpIHsKCQkJCSRkZWxldGVfZGlyID0gZmFsc2U7CgkJCQlpZiggIWlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10pICkgewoJCQkJCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ19pbnZhbGlkJywnY2F0ZWdvcnlfaWQnKSk7CgkJCQkJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCdjYXRlZ29yaWVzJyk7CgkJCQl9CgkJCQlpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfZGVsZXRlZGlyZWN0b3J5J10pICYmICRwYXJhbXNbJ2lucHV0X2RlbGV0ZWRpcmVjdG9yeSddICkgJGRlbGV0ZV9kaXIgPSB0cnVlOwoJCQkJJG1zZyA9ICR0aGlzLT5fQWRtaW5Eb0RlbGV0ZUNhdGVnb3J5KCRwYXJhbXNbJ2NhdGVnb3J5X2lkJ10sJGRlbGV0ZV9kaXIpOwoJCQkJaWYoICRtc2cgKSAkdGhpcy0+U2V0RXJyb3IoJG1zZyk7CgkJCQkkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQsJ2NhdGVnb3JpZXMnKTsKCQkJfQoJCQlicmVhazsKCgkJY2FzZSAnZG9fZGVsZXRldXBsb2FkJzoKCQkJLy8gY2hlY2sgcGVybWlzc2lvbnMgYWdhaW4KCQkJaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBVcGxvYWRzJykgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignVXBsb2FkIEZpbGVzIHRvIFVwbG9hZHMnKSkgewoJCQkJaWYoICFpc3NldCggJHBhcmFtc1sndXBsb2FkX2lkJ10gKSApIHsKCQkJCQkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UgKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAkdGhpcy0+TGFuZyAoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycsJ3VwbG9hZF9pZCcpKTsKCQkJCQlyZXR1cm47CgkJCQl9CgoJCQkJJG1zZyA9ICR0aGlzLT5fQWRtaW5Eb0RlbGV0ZVVwbG9hZCgkcGFyYW1zWyd1cGxvYWRfaWQnXSx0cnVlKTsKICAgICAgICAgICAgICAgICRyZXR1cm50byA9ICR0aGlzLT5wb3BfcmV0dXJuVG8oKTsKICAgICAgICAgICAgICAgIGlmKCAkcmV0dXJudG8gKSB7CiAgICAgICAgICAgICAgICAgICAgcmVkaXJlY3QoJHJldHVybnRvKTsKICAgICAgICAgICAgICAgIH0KCQkJCWlmKCAkbXNnICkgJHRoaXMtPlNldEVycm9yKCRtc2cpOwoJCQkJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkLCAnZmlsZXMnICk7CgkJCX0KCQkJYnJlYWs7CgoJCWRlZmF1bHQ6CgkJCXBhcmVudDo6RG9BY3Rpb24oICRhY3Rpb24sICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkJCWJyZWFrOwoJCX0KCX0KCgoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCVNlYXJjaFJlc3VsdCgkcmV0dXJuaWQsJGFydGljbGVpZCwkYXR0cj0nJykKCS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCglwdWJsaWMgZnVuY3Rpb24gU2VhcmNoUmVzdWx0KCRyZXR1cm5pZCwgJGFydGljbGVpZCwgJGF0dHIgPSAnJykKCXsKCQl0cnkgewoJCQkkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCQkkcmVzdWx0ID0gYXJyYXkoKTsKCQkJaWYoICRhdHRyID09ICd1cGxvYWQnKSB7CgkJCQkvLyBnZXQgdGhlIGNhdGVnb3J5IGlkIGZvciBhbiB1cGxvYWQgaWQKCQkJCSRkZXRhaWxzID0gdXBsb2Fkc191dGlsczo6Z2V0X3VwbG9hZF9kZXRhaWxzKCRhcnRpY2xlaWQpOwoKCQkJCS8vIG5vdyBnZXQgdGhlIGNhdGVnb3J5IG5hbWUgaW5zdGVhZCBvZiB0aGUgY2F0ZWdvcnkgaWQsIGdvZAoJCQkJLy8gd2FzIEkgc3R1cGlkLgoJCQkJJGNhdGVnb3J5ID0gdXBsb2Fkc191dGlsczo6Z2V0X2NhdGVnb3J5KCRkZXRhaWxzWyd1cGxvYWRfY2F0ZWdvcnlfaWQnXSk7CgoJCQkJJHJlc3VsdFswXSA9ICR0aGlzLT5HZXRGcmllbmRseU5hbWUoKTsKCQkJCSRyZXN1bHRbMV0gPSAkZGV0YWlsc1sndXBsb2FkX25hbWUnXTsKCQkJCSRyZXN1bHRbMl0gPSAkdGhpcy0+Q3JlYXRlTGluayggJGFydGljbGVpZCwgJ2RldGFpbCcsICRyZXR1cm5pZCwgJGRldGFpbHNbJ3VwbG9hZF9uYW1lJ10sCgkJCQkJYXJyYXkoJ3VwbG9hZF9pZCcgPT4gJGFydGljbGVpZCwnY2F0ZWdvcnknID0+ICRjYXRlZ29yeVsndXBsb2FkX2NhdGVnb3J5X25hbWUnXSApLCAnJywgdHJ1ZSk7CgkJCQlyZXR1cm4gJHJlc3VsdDsKCQkJfQoJCX0KCQljYXRjaCggRXhjZXB0aW9uICRlICkgewoJCQkvLyBub3RoaW5nIGhlcmUKCQl9Cgl9CgoKCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCglTZWFyY2hSZUluZGV4KCRtb2R1bGUpCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwoJcHVibGljIGZ1bmN0aW9uIFNlYXJjaFJlSW5kZXgoJiRtb2R1bGUpCgl7CgkJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCgkJLy8gdG9kbzogdGhyb3cgdGhpcyBzdHVmZiBpbnRvIGEgY2dqb2JtZ3Igam9iCgkJLy8gY3V6IGluZGV4aW5nIGEgY291cGxlIHRob3VzYW5kIGZpbGVzIGNvdWxkIGJlIHN0dXBpZGx5IGJ1c3kuCgkJJHF1ZXJ5ID0gJ1NFTEVDVCBTUUxfQ0FMQ19GT1VORF9ST1dTIEEudXBsb2FkX2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzIEEKICAgICAgICAgICAgICBMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV91cGxvYWRzX2NhdGVnb3JpZXMgQgogICAgICAgICAgICAgIE9OIEEudXBsb2FkX2NhdGVnb3J5X2lkID0gQi51cGxvYWRfY2F0ZWdvcnlfaWQKICAgICAgICAgICAgICBXSEVSRSBCLnVwbG9hZF9jYXRlZ29yeV9saXN0YWJsZSA9IDEnOwoJCSRsaW1pdCA9IDEwMDsKCQkkb2Zmc2V0ID0gMDsKCQkkZGJyID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnksJGxpbWl0LCRvZmZzZXQpOwoJCSR0b3RhbF9yZWNvcmRzID0gJGRiLT5HZXRPbmUoJ1NFTEVDVCBGT1VORF9ST1dTKCknKTsKCQl3aGlsZSggJG9mZnNldCA8ICR0b3RhbF9yZWNvcmRzICkgewoJCQkkbGlzdCA9ICRkYnItPkdldEFycmF5KCk7CgkJCSRsaXN0ID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCRsaXN0LCd1cGxvYWRfaWQnKTsKCQkJdXBsb2Fkc191dGlsczo6Y2FjaGVfdXBsb2Fkc19mcm9tX2xpc3QoJGxpc3QpOwoKCQkJZm9yZWFjaCggJGxpc3QgYXMgJHVwbG9hZF9pZCApIHsKCQkJCXVwbG9hZHNfdXRpbHM6OmluZGV4X3VwbG9hZCgkdXBsb2FkX2lkKTsKCQkJfQoKCQkJdXBsb2Fkc191dGlsczo6ZGVsZXRlX3VwbG9hZF9jYWNoZSgkbW9kdWxlLCR1cGxvYWRfaWQpOwoJCQkkb2Zmc2V0ICs9IGNvdW50KCRsaXN0KTsKCQkJdW5zZXQoJGxpc3QpOwoJCQkkZGJyID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnksJGxpbWl0LCRvZmZzZXQpOwoJCX0KCX0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgQkVHSU4gT0YgVUkgU1VQUE9SVCBGVU5DVElPTlMKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KCgkvKioKCSAqIEBpbnRlcm5hbAoJICovCglwdWJsaWMgZnVuY3Rpb24gX0FkbWluRG9EZWxldGVDYXRlZ29yeSAoJGNhdGVnb3J5X2lkKQoJewoJCVVwbG9hZHM6OmxvYWRfYWRtaW4oKTsKCQlyZXR1cm4gX3VwbG9hZHNfQWRtaW5Eb0RlbGV0ZUNhdGVnb3J5KCR0aGlzLCRjYXRlZ29yeV9pZCk7Cgl9CgoJLyoqCgkgKgoJICogQGludGVybmFsCgkgKi8KCXB1YmxpYyBmdW5jdGlvbiBfQWRtaW5Eb0RlbGV0ZVVwbG9hZCAoJHVwbG9hZF9pZCwkZGVsZXRlX2ZpbGUgPSBmYWxzZSkKCXsKCQlVcGxvYWRzOjpsb2FkX2FkbWluKCk7CgkJcmV0dXJuIF91cGxvYWRzX0FkbWluRG9EZWxldGVVcGxvYWQoJHRoaXMsJHVwbG9hZF9pZCwkZGVsZXRlX2ZpbGUpOwogICAgfQoKCS8vIHRvZG86IGRlbGV0ZSBtZQogICAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9EaXNwbGF5RXJyb3JQYWdlICgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQsICRtZXNzYWdlID0gJycpCiAgICB7CiAgICAgICAgJHRwbCA9ICR0aGlzLT5DcmVhdGVTbWFydHlUZW1wbGF0ZSgnZXJyb3IudHBsJyk7CiAgICAgICAgJHRwbC0+YXNzaWduKCd0aXRsZV9lcnJvcicsICR0aGlzLT5MYW5nKCdlcnJvcicpKTsKICAgICAgICBpZiggJG1lc3NhZ2UgKSAkdHBsLT5hc3NpZ24oJ21lc3NhZ2UnLCAkbWVzc2FnZSk7CiAgICAgICAgaWYoICRyZXR1cm5pZCA9PSAnJyApICR0cGwtPmFzc2lnbignbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ3JldHVybnRvbW9kdWxlJykpKTsKICAgICAgICAkdHBsLT5kaXNwbGF5KCk7CiAgICB9CgoJLy8gdG9kbzogZGVsZXRlIG1lCiAgcHVibGljIGZ1bmN0aW9uIEdldFVwbG9hZERldGFpbHMoICRpZCwgJHJldHVybmlkID0gJycgKQogIHsKICAgICAgJHJvdyA9ICR0aGlzLT5nZXRGaWxlRGV0YWlscygkaWQpOwogICAgICBpZiggISRyb3cgKSB7CiAgICAgICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAgICAgcmV0dXJuIGFycmF5KEZBTFNFLCAkZGItPkVycm9yTXNnKCkpOwogICAgICB9CgogICAgICAvLyBoYXZlIGRldGFpbHMgZnJvbSB0aGUgdGFibGUsIG5vdwogICAgICAvLyBoYXZlIHRvIGFkZCBzb21ldGhpbmcgc3VjaCB0aGF0IGEgbGluayBjYW4gYmUgZ2VuZXJhdGVkCiAgICAgIC8vIHRoYXQgd2lsbCBzdGlsbCBjb3VudCB0aGUgbnVtYmVyIG9mIGRvd25sb2FkcywgZXRjCiAgICAgICRyb3dbJ3VybCddID0gJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ2dldGZpbGUnLCAkcmV0dXJuaWQsICcnLCBhcnJheSAoJ3VwbG9hZF9pZCcgPT4gJHJvd1sndXBsb2FkX2lkJ10pLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJywgdHJ1ZSwgdHJ1ZSwgJycsIGZhbHNlLCAkdGhpcy0+X2dldEZpbGVVUkwoJHJvd1sndXBsb2FkX2lkJ10sJHJvd1sndXBsb2FkX25hbWUnXSkpOwogICAgICAkcm93Wydkb3dubG9hZF91cmwnXSA9ICRyb3dbJ3VybCddOwoKICAgICAgJHJvd1snbGluayddID0gJHRoaXMtPkNyZWF0ZUxpbmsgKCRpZCwgJ2dldGZpbGUnLCAkcmV0dXJuaWQsICRyb3dbJ3VwbG9hZF9uYW1lJ10sCWFycmF5ICgndXBsb2FkX2lkJyA9PiAkcm93Wyd1cGxvYWRfaWQnXSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJywgZmFsc2UsIHRydWUsICcnLCBmYWxzZSwJJHRoaXMtPl9nZXRGaWxlVVJMKCRyb3dbJ3VwbG9hZF9pZCddLCRyb3dbJ3VwbG9hZF9uYW1lJ10pKTsKICAgICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgICAkcm93WydhYnN1cmwnXSA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uIi8iLgogICAgICAgICAgJHRoaXMtPmdldENhdGVnb3J5UGF0aEZyb21GaWxlSUQoICRyb3dbJ3VwbG9hZF9pZCddICkuIi8iLgogICAgICAgICAgJHJvd1sndXBsb2FkX25hbWUnXTsKICAgICAgcmV0dXJuICRyb3c7CiAgfQoKCS8qKgoJICogQGlnbm9yZQoJICogQGRlcHJlY2F0ZWQKCSAqLwogIHByb3RlY3RlZCBmdW5jdGlvbiBBdHRlbXB0VXBsb2FkICgkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQpCiAgewoJCS8vIGRlcHJlY2F0ZWQuLi4gdGhpcyBzdHVmZiBzaG91bGQgdXNlIHRoZSB1cGxvYWRzX3VwbG9hZGFzc2lzdGFudCBjbGFzcy4KCQlVcGxvYWRzOjpsb2FkX2NvbW1vbigpOwoJCXJldHVybiBfdXBsb2Fkc19BdHRlbXB0VXBsb2FkKCR0aGlzLCRpZCwkcGFyYW1zLCRyZXR1cm5pZCk7CiAgfQoKICAvKioKICAgKiBAaWdub3JlCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIF9oYW5kbGVVcGxvYWQgKCRkZXN0RGlyLCAkZmllbGROYW1lID0gJ191cGxvYWQnLCAkbmFtZUNhbGxiYWNrID0gZmFsc2UsICRkZXN0bmFtZSA9ICcnLCRlbmZvcmNlZXh0ZW5zaW9uID0gdHJ1ZSwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHJlcGxhY2VfZXhpc3RpbmcgPSBmYWxzZSwgJGZpbGVuYW1lUHJlZml4ID0gJycpCiAgewoJCS8vIGRlcHJlY2F0ZWQuLi4gdGhpcyBzdHVmZiBzaG91bGQgdXNlIHRoZSB1cGxvYWRzX3VwbG9hZGFzc2lzdGFudCBjbGFzcy4KCQlVcGxvYWRzOjpsb2FkX2NvbW1vbigpOwoJCXJldHVybiBfdXBsb2Fkc19oYW5kbGVVcGxvYWQoJHRoaXMsJGRlc3REaXIsICRmaWVsZE5hbWUsICRuYW1lQ2FsbGJhY2ssICRkZXN0bmFtZSwgJGVuZm9yY2VleHRlbnNpb24sCgkJCQkJCQkJCQkJCQkJCQkgJHJlcGxhY2VfZXhpc3RpbmcsICRmaWxlbmFtZVByZWZpeCk7CiAgfQoKCS8vIHRvZG86IG1vdmUgbWUuCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIFNjYW5EaXJlY3RvcnkoJGNhdGVnb3J5X2lkLCAkZGlyLCAkZG9fdGh1bWJuYWlscyA9IFRSVUUsICRkb19pbmRleGluZyA9IEZBTFNFICkKICB7CiAgICAgICRjYXRlZ29yeSA9IFVwbG9hZHM6OmxvYWRfY2F0ZWdvcnlfYnlfaWQoJGNhdGVnb3J5X2lkKTsKICAgICAgaWYoICEkY2F0ZWdvcnkgKSByZXR1cm47CgogICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAkZGVzYyA9ICJGaWxlIFNjYW5uZWQgYXQgIi5zdHJmdGltZSgnJXggJVgnKTsKICAgICAgJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKCiAgICAgICRmaWxlcyA9ICR0aGlzLT5fc2NhbmRpciggJGRpciApOwogICAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NyZWF0ZV9kdW1teV9pbmRleF9odG1sJykgKSBAdG91Y2goICRkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4iaW5kZXguaHRtbCIgKTsKICAgICAgaWYoICRmaWxlcyApIHsKICAgICAgICAgIGZvcmVhY2goICRmaWxlcyBhcyAkZmlsZSApIHsKICAgICAgICAgICAgICAvLyBpZ25vcmUgZGlyZWN0b3JpZXMgLiBhbmQgLi4KICAgICAgICAgICAgICBpZiggJGZpbGUgPT0gIi4iIHx8ICRmaWxlID09ICIuLiIgKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgLy8gaWdub3JlIGFueSBkaXJlY3RvcmllcwogICAgICAgICAgICAgICRzcmNwID0gJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmaWxlOwogICAgICAgICAgICAgIGlmKCBpc19kaXIoICRzcmNwICkgKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgLy8gaWdub3JlIHRodW1ibmFpbCBmaWxlcwogICAgICAgICAgICAgIGlmKCBzdGFydHN3aXRoKCRmaWxlLCd0aHVtYl8nKSApIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAvLyBpZ25vcmUgaGlkZGVuIGZpbGVzIGFuZCBpbmRleCBmaWxlcy4KICAgICAgICAgICAgICBpZiggc3RhcnRzd2l0aCgkZmlsZSwnXycpICkgY29udGludWU7CiAgICAgICAgICAgICAgaWYoIGZubWF0Y2goICdpbmRleC5odG0qJywgc3RydG9sb3dlcigkZmlsZSkgKSApIGNvbnRpbnVlOwoKICAgICAgICAgICAgICAvLyBnb3QgdGhlIGZpbGUsIG5vdyBuZWVkIGl0J3Mgc2l6ZQogICAgICAgICAgICAgICRzaXplID0gZmlsZXNpemUoJHNyY3ApOwoKICAgICAgICAgICAgICAvLyBub3cgd2UgbmVlZCB0byBtYXliZSByZW5hbWUgdGhlIGZpbGUuLi4KICAgICAgICAgICAgICAvLyBjdXogaXQgbWF5IGhhdmUgc3BhY2VzIGluIGl0LCBhbmQgaHR0cCBtYXkgbm90IGxpa2UgdGhhdAogICAgICAgICAgICAgIC8vIHdlIHVzZSBhbiAob3B0aW9uYWwpIGNvdW50ZXIgdG8gbWFrZSBzdXJlIHRoYXQgd2UKICAgICAgICAgICAgICAvLyBjYW4gaGF2ZSBudW1lcm91cyBmaWxlcyB3aXRoIHNpbWlsYXIgbmFtZXMKICAgICAgICAgICAgICAkcG9zdGZpeCA9ICIiOwogICAgICAgICAgICAgIHdoaWxlKCAkcG9zdGZpeCA8IDEwMCApIHsKICAgICAgICAgICAgICAgICAgJGRlc3RmaWxlID0gc3RyX3JlcGxhY2UgKGFycmF5ICgnICcsICclMjAnKSwgYXJyYXkgKCdfJywgJ18nKSwgJGZpbGUgKTsKICAgICAgICAgICAgICAgICAgaWYoICRwb3N0Zml4ICE9ICIiICkgJGRlc3RmaWxlIC49ICJfIiAuICRwb3N0Zml4OwoKICAgICAgICAgICAgICAgICAgaWYoICRkZXN0ZmlsZSAhPSAkZmlsZSApIHsKICAgICAgICAgICAgICAgICAgICAgICRkZXN0cCA9ICRkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZGVzdGZpbGU7CgogICAgICAgICAgICAgICAgICAgICAgLy8geWVwLCB3ZSBnb3R0YSByZW5hbWUgaXQKICAgICAgICAgICAgICAgICAgICAgIC8vIGJ1dCBtYWtlIHN1cmUgdGhlIGZpbGUgZG9lc24ndCBhbHJlYWR5IGV4aXN0IGZpcnN0CiAgICAgICAgICAgICAgICAgICAgICBpZiggZmlsZV9leGlzdHMoICRkZXN0cCApICkgewogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIHVoLW9oIGl0IGV4aXN0cwogICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGluY3JlbWVudCB0aGUgcG9zdGZpeAogICAgICAgICAgICAgICAgICAgICAgICAgIGlmKCAkcG9zdGZpeCA9PSAiIiApIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBvc3RmaXggPSAxOwogICAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJHBvc3RmaXgrKzsKICAgICAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7CiAgICAgICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICAgICAgcmVuYW1lKCAkc3JjcCwgJGRlc3RwICk7CiAgICAgICAgICAgICAgICAgICAgICAkZmlsZSA9ICRkZXN0ZmlsZTsKICAgICAgICAgICAgICAgICAgICAgICRzcmNwID0gJGRlc3RwOwogICAgICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICAgICBicmVhazsgLy8gZ2V0IG91dCBvZiB0aGlzIHdoaWxlIHN0YXRlbWVudAogICAgICAgICAgICAgIH0KCiAgICAgICAgICAgICAgaWYoICRwb3N0Zml4ID49IDEwMCApIHsKICAgICAgICAgICAgICAgICAgLy8gZm9yIHNvbWUgb2RkIHJlYXNvbiwgd2UgY291bGQgbm90IGZpbmQgYSByZWFzb25hYmxlCiAgICAgICAgICAgICAgICAgIC8vIGZpbGVuYW1lIHRvIHJlbmFtZSB0by4KICAgICAgICAgICAgICAgICAgLy8gd2UnbGwganVzdCBza2lwIHRoaXMgZmlsZQogICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICB9CgogICAgICAgICAgICAgICR1c2VycGVybXMgPSAnJzsKICAgICAgICAgICAgICBpZiggJGNhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfdXNlcnBlcm1zJ10gKSAkdXNlcnBlcm1zID0gJGNhdGVnb3J5Wyd1cGxvYWRfY2F0ZWdvcnlfZGZsdHVzZXJwZXJtcyddOwoKICAgICAgICAgICAgICAvLyBuZXh0IGNoZWNrIHRvIG1ha2Ugc3VyZSBpdHMgbm90IGFscmVhZHkgaW4gdGhlIGRhdGFiYXNlCiAgICAgICAgICAgICAgJHEgPSAiU0VMRUNUIHVwbG9hZF9pZCx1cGxvYWRfdGh1bWJuYWlsIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzIFdIRVJFCgkJCQkgCQkgIHVwbG9hZF9uYW1lID0gPyBBTkQgdXBsb2FkX2NhdGVnb3J5X2lkID0gPyI7CiAgICAgICAgICAgICAgJGZpbGVpZCA9ICcnOwogICAgICAgICAgICAgICR0aHVtYl9uYW1lID0gJyc7CiAgICAgICAgICAgICAgJHRtcCA9ICRkYi0+R2V0Um93KCAkcSwgYXJyYXkoICRmaWxlLCAkY2F0ZWdvcnlfaWQpICk7CiAgICAgICAgICAgICAgaWYoICR0bXAgKSB7CiAgICAgICAgICAgICAgICAgIC8vIHdlIGFscmVhZHkga25vdyBhYm91dCB0aGlzIG9uZQogICAgICAgICAgICAgICAgICAkZmlsZWlkID0gJHRtcFsndXBsb2FkX2lkJ107CiAgICAgICAgICAgICAgICAgICR0aHVtYl9uYW1lID0gJHRtcFsndXBsb2FkX3RodW1ibmFpbCddOwogICAgICAgICAgICAgIH0KICAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgICAgLy8gaXQncyBhIG5ldyBmaWxlCiAgICAgICAgICAgICAgICAgICRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHMKICAgICAgICAgICAgICAgICAgICAodXBsb2FkX2lkLCB1cGxvYWRfY2F0ZWdvcnlfaWQsIHVwbG9hZF9uYW1lLCB1cGxvYWRfYXV0aG9yLCB1cGxvYWRfc3VtbWFyeSwgdXBsb2FkX2Rlc2NyaXB0aW9uLAogICAgICAgICAgICAgICAgICAgICB1cGxvYWRfaXAsIHVwbG9hZF9zaXplLCB1cGxvYWRfZGF0ZSwgdXBsb2FkX3VzZXJwZXJtcykgVkFMVUVTICg/LD8sPyw/LD8sPyw/LD8sJG5vdyw/KSI7CiAgICAgICAgICAgICAgICAgICR1c2VyaWQgPSBnZXRfdXNlcmlkKGZhbHNlKTsKICAgICAgICAgICAgICAgICAgaWYoICEkdXNlcmlkICkgJHVzZXJpZCA9IDA7IC8vIHdlIGRvbid0IGtub3cgdGhlIHVzZXIuCiAgICAgICAgICAgICAgICAgICR1c2VybmFtZSA9ICRfU0VTU0lPTlsiY21zX2FkbWluX3VzZXJuYW1lIl07CiAgICAgICAgICAgICAgICAgICRmaWxlaWQgPSAkZGItPkdlbklEIChjbXNfZGJfcHJlZml4ICgpLiJtb2R1bGVfdXBsb2Fkc19zZXEiKTsKICAgICAgICAgICAgICAgICAgJHBhcm1zID0gYXJyYXkoICRmaWxlaWQsICRjYXRlZ29yeV9pZCwgJGZpbGUsICR1c2VybmFtZSwgJGRlc2MsICIiLCAibG9jYWxob3N0IiwgJHNpemUsCSR1c2VycGVybXMgKTsKICAgICAgICAgICAgICAgICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnksICRwYXJtcyApOwogICAgICAgICAgICAgICAgICBpZiggISRkYnJlc3VsdCApIHsKICAgICAgICAgICAgICAgICAgICAgIGVjaG8gIkRFQlVHOiAiLiRkYi0+c3FsLiI8YnIvPiI7CiAgICAgICAgICAgICAgICAgICAgICBlY2hvICJFUlJPUjogIi4kZGItPkVycm9yTXNnKCkuIjxici8+IjsKICAgICAgICAgICAgICAgICAgICAgIGRpZSgpOwogICAgICAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgfQoKICAgICAgICAgICAgICAvLyBhbmQgbWF5YmUsIGp1c3QgbWF5YmUgY3JlYXRlIGEgdGh1bWJuYWlsIGZvciBpdAogICAgICAgICAgICAgIGlmKCBlbXB0eSgkdGh1bWJfbmFtZSkgKSAkdGh1bWJfbmFtZSA9ICd0aHVtYl8nLiRmaWxlOwoKICAgICAgICAgICAgICBpZiggJGRvX2luZGV4aW5nICkgewogICAgICAgICAgICAgICAgICAvLyBzZWUgYWJvdXQgYWRkaW5nIHRoaXMgc3R1ZmYgdG8gdGhlIHNlYXJjaCBpbmRleC4KICAgICAgICAgICAgICAgICAgJHNlYXJjaCA9IGNtc191dGlsczo6Z2V0X3NlYXJjaF9tb2R1bGUoKTsKICAgICAgICAgICAgICAgICAgaWYoICRzZWFyY2ggKQl1cGxvYWRzX3V0aWxzOjppbmRleF91cGxvYWQoJGZpbGVpZCwgJHNlYXJjaCk7CiAgICAgICAgICAgICAgfQoKICAgICAgICAgIH0gLy8gZm9yZWFjaAogICAgICB9IC8vIGlmCiAgfQoKICAvLyB0b2RvOiBtb3ZlIG1lCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIFNtYXJ0U2NhbkRpcmVjdG9yeSgkY2F0ZWdvcnlfaWQsICRkaXIpCiAgewogICAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICAgJHF1ZXJ5ID0gIlNFTEVDVCBDT1VOVCgqKSBBUyBjb3VudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfdXBsb2FkcyBXSEVSRSB1cGxvYWRfY2F0ZWdvcnlfaWQgPSA/IjsKICAgICAgJHJvd2NvdW50ID0gJGRiLT5HZXRPbmUoICRxdWVyeSwgYXJyYXkoICRjYXRlZ29yeV9pZCApICk7CgogICAgICAvLyBnZXQgdGhlIG51bWJlciBvZiBmaWxlcwogICAgICAkZmlsZXMgPSAkdGhpcy0+X3NjYW5kaXIoICRkaXIgKTsKICAgICAgJGNvdW50ID0gMDsKICAgICAgaWYoICRmaWxlcyApIHsKICAgICAgICAgIGZvcmVhY2goICRmaWxlcyBhcyAkZmlsZSApIHsKICAgICAgICAgICAgICAvLyBpZ25vcmUgZGlyZWN0b3JpZXMgLiBhbmQgLi4KICAgICAgICAgICAgICBpZiggJGZpbGUgPT0gIi4iIHx8ICRmaWxlID09ICIuLiIgKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgaWYoIHN0YXJ0c3dpdGgoJGZpbGUsJ18nKSApIGNvbnRpbnVlOwogICAgICAgICAgICAgIGlmKCBmbm1hdGNoKCAnaW5kZXguaHRtKicsIHN0cnRvbG93ZXIoJGZpbGUpICkgKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgLy8gaWdub3JlIGFueSBkaXJlY3RvcmllcwogICAgICAgICAgICAgICRzcmNwID0gJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmaWxlOwogICAgICAgICAgICAgIGlmKCBpc19kaXIoICRzcmNwICkgKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgLy8gaWdub3JlIHRodW1ibmFpbHMKICAgICAgICAgICAgICBpZiggc3RhcnRzd2l0aCgkc3JjcCwndGh1bWJfJykgKSBjb250aW51ZTsKCiAgICAgICAgICAgICAgJGNvdW50Kys7CiAgICAgICAgICB9IC8vIGZvcmVhY2gKICAgICAgfQoKICAgICAgaWYoICRjb3VudCAhPSAkcm93Y291bnQgKSAkdGhpcy0+U2NhbkRpcmVjdG9yeSggJGNhdGVnb3J5X2lkLCAkZGlyICk7CiAgfQoKCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF9JbnNlcnREZWZhdWx0RmlsZVR5cGVzKCkKICB7CiAgICAvLyBkZWZhdWx0IGZpbGUgdHlwZXMKICAgICRmaWxldHlwZXMgPSBhcnJheSgpOwogICAgJGZpbGV0eXBlc1tdID0gYXJyYXkoJ3NvcnRvcmRlcic9PjEsJ25hbWUnPT4nU291bmQnLCdkZXNjcmlwdGlvbic9PidTb3VuZCBmaWxlcycsJ2V4dGVuc2lvbnMnPT4nbXAzLG9nZyx3YXYnLCAnaW1hZ2UnPT4nc291bmQucG5nJyk7CiAgICAkZmlsZXR5cGVzW10gPSBhcnJheSgnc29ydG9yZGVyJz0+MiwnbmFtZSc9PidJbWFnZScsJ2Rlc2NyaXB0aW9uJz0+J0ltYWdlIGZpbGVzJywnZXh0ZW5zaW9ucyc9PidwbmcsZ2lmLGpwZyxqcGVnLGJtcCcsCgkJCQkJCQkJCQkJCSAnaW1hZ2UnPT4naW1hZ2UucG5nJyk7CiAgICAkZmlsZXR5cGVzW10gPSBhcnJheSgnc29ydG9yZGVyJz0+MywnbmFtZSc9PidQREYgRG9jdW1lbnQnLCdkZXNjcmlwdGlvbic9PidBZG9iZSBBY3JvYmF0IFBERiBEb2N1bWVudCcsICdleHRlbnNpb25zJz0+J3BkZicsJ2ltYWdlJz0+J3BkZi5wbmcnKTsKICAgICRmaWxldHlwZXNbXSA9IGFycmF5KCdzb3J0b3JkZXInPT40LCduYW1lJz0+J1NwcmVhZHNoZWV0JywnZGVzY3JpcHRpb24nPT4nU3ByZWFkc2hlZXRzJywnZXh0ZW5zaW9ucyc9Pid4bHMnLCdpbWFnZSc9PidzcHJlYWRzaGVldC5wbmcnKTsKICAgICRmaWxldHlwZXNbXSA9IGFycmF5KCdzb3J0b3JkZXInPT41LCduYW1lJz0+J0NvbXByZXNzZWQnLCdkZXNjcmlwdGlvbic9PidDb21wcmVzc2VkIGZpbGUnLCdleHRlbnNpb25zJz0+J3ppcCx0YXIsZ3oscmFyLGFyaicsCgkJCQkJCQkJCQkJCSAnaW1hZ2UnPT4nemlwLnBuZycpOwogICAgJGZpbGV0eXBlc1tdID0gYXJyYXkoJ3NvcnRvcmRlcic9PjYsJ25hbWUnPT4nVGV4dCcsJ2Rlc2NyaXB0aW9uJz0+J1RleHQgRmlsZScsJ2V4dGVuc2lvbnMnPT4ndHh0LHRleHQnLCdpbWFnZSc9Pid0eHQucG5nJyk7CiAgICAkZmlsZXR5cGVzW10gPSBhcnJheSgnc29ydG9yZGVyJz0+NywnbmFtZSc9PidWaWRlbycsJ2Rlc2NyaXB0aW9uJz0+J1ZpZGVvIEZpbGVzJywnZXh0ZW5zaW9ucyc9PidhdmksbXBnLndtdicsJ2ltYWdlJz0+J3ZpZGVvLnBuZycpOwogICAgJGZpbGV0eXBlc1tdID0gYXJyYXkoJ3NvcnRvcmRlcic9PjgsJ25hbWUnPT4nV29yZCBQcm9jZXNzaW5nJywnZGVzY3JpcHRpb24nPT4nV29yZCBQcm9jZXNzaW5nIEZpbGVzJywnZXh0ZW5zaW9ucyc9Pidkb2MnLCAnaW1hZ2UnPT4nd29yZHByb2Nlc3NpbmcucG5nJyk7CgogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfZmlsZXR5cGVzIChpZCxzb3J0b3JkZXIsbmFtZSxkZXNjcmlwdGlvbixleHRlbnNpb25zLGltYWdlKSBWQUxVRVMgKD8sPyw/LD8sPyw/KSI7CiAgICBmb3JlYWNoKCAkZmlsZXR5cGVzIGFzICRvbmVmaWxldHlwZSApIHsKCQkJJG5ld2lkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV91cGxvYWRzX2ZpbGV0eXBlc19zZXEiKTsKCQkJJGRicmVzdWx0ID0gICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkbmV3aWQsICRvbmVmaWxldHlwZVsnc29ydG9yZGVyJ10sICRvbmVmaWxldHlwZVsnbmFtZSddLAoJCQkJCQkJCQkJCQkJCQkJCQkJCQkJJG9uZWZpbGV0eXBlWydkZXNjcmlwdGlvbiddLCAkb25lZmlsZXR5cGVbJ2V4dGVuc2lvbnMnXSwkb25lZmlsZXR5cGVbJ2ltYWdlJ10gKSApOwoJCX0KICB9CgoJLyoqCgkgKiBAaWdub3JlCgkgKi8KICBwdWJsaWMgZnVuY3Rpb24gX0dldEZpbGVUeXBlKCAkZmlsZW5hbWUgKQogIHsKICAgICAgaWYoICR0aGlzLT5fZmlsZXR5cGVzID09ICcnICkgewogICAgICAgICAgJGRiID0gJHRoaXMtPkdldERiKCk7CgogICAgICAgICAgJHRoZV9leHRlbnNpb24gPSBzdHJ0b2xvd2VyKHN0cnJjaHIoJGZpbGVuYW1lLCcuJykpOwogICAgICAgICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3VwbG9hZHNfZmlsZXR5cGVzIE9SREVSIEJZIHNvcnRvcmRlciI7CiAgICAgICAgICAkdGhpcy0+X2ZpbGV0eXBlcyA9ICRkYi0+R2V0QXJyYXkoICRxICk7CiAgICAgIH0KCiAgICAgICR0aGVfZXh0ZW5zaW9uID0gc3RydG9sb3dlcihzdWJzdHIoc3RydG9sb3dlcihzdHJyY2hyKCRmaWxlbmFtZSwnLicpKSwxKSk7CiAgICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5fZmlsZXR5cGVzKTsgJGkrKyApIHsKICAgICAgICAgICRyb3cgPSYgJHRoaXMtPl9maWxldHlwZXNbJGldOwoKICAgICAgICAgICRhcnIgPSBleHBsb2RlKCAiLCIsJHJvd1snZXh0ZW5zaW9ucyddICk7CiAgICAgICAgICBmb3JlYWNoKCAkYXJyIGFzICRvbmVleHQgKSB7CiAgICAgICAgICAgICAgaWYoIHN0cnRvbG93ZXIoICRvbmVleHQgKSA9PSAkdGhlX2V4dGVuc2lvbiApIHJldHVybiAkcm93OwogICAgICAgICAgfQogICAgICB9CiAgICAgIHJldHVybiBmYWxzZTsKICB9CgoJLyoqCgkgKiBAaW50ZXJuYWwKCSAqIEBpZ25vcmUKCSAqLwogIHB1YmxpYyBmdW5jdGlvbiBfQ2hlY2tGaWxlRG93bmxvYWRTZWN1cml0eSgkZGF0YSkKICB7CgkJaWYoIGlzX2FycmF5KCRkYXRhKSAmJiBpc3NldCgkZGF0YVsndXBsb2FkX3VzZXJwZXJtcyddKSApICRkYXRhID0gJGRhdGFbJ3VwbG9hZF91c2VycGVybXMnXTsKCgkJaWYoICEkZGF0YSApIHJldHVybiBUUlVFOwogICAgICAgICR1c2VycGVybXMgPSBhcnJheSgpOwoJCWlmKCBpc19zdHJpbmcoJGRhdGEpICkgJHVzZXJwZXJtcyA9IGV4cGxvZGUoJywnLCRkYXRhKTsKCQlpZiggIWlzX2FycmF5KCR1c2VycGVybXMpIHx8IGNvdW50KCR1c2VycGVybXMpID09IDAgKSByZXR1cm4gVFJVRTsKCgkJJGZldSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnRnJvbnRFbmRVc2VycycpOwoJCWlmKCAhaXNfb2JqZWN0KCRmZXUpICkgcmV0dXJuIEZBTFNFOwoKCQkkdWlkID0gJGZldS0+TG9nZ2VkSW5JZCgpOwoJCWlmKCAkdWlkIDw9IDAgKSByZXR1cm4gRkFMU0U7CgoJCSRncnBzID0gJGZldS0+R2V0TWVtYmVyR3JvdXBzQXJyYXkoJHVpZCk7CgkJaWYoICFpc19hcnJheSgkZ3JwcykgfHwgY291bnQoJGdycHMpID09IDAgKSByZXR1cm4gRkFMU0U7CgoJCWZvcmVhY2goICRncnBzIGFzICRvbmUgKSB7CgkJCWlmKCBpc3NldCgkb25lWydncm91cGlkJ10pICYmIGluX2FycmF5KCRvbmVbJ2dyb3VwaWQnXSwkdXNlcnBlcm1zKSApIHJldHVybiBUUlVFOwoJCX0KCgkJcmV0dXJuIEZBTFNFOwoJfQoKCS8vIHRvZG86IGNoYW5nZSBtZSB0byBvbmx5IHJlcXVpcmUgY2F0ZWdvcnkgaWQuCglwcm90ZWN0ZWQgZnVuY3Rpb24gX0NoZWNrRG93bmxvYWRTZWN1cml0eSgmJGNhdGVnb3J5X2RldGFpbHMpCgl7CgkJJGZldXNlcnMgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKCQlpZiggJGZldXNlcnMgJiYgJGNhdGVnb3J5X2RldGFpbHNbJ3VwbG9hZF9jYXRlZ29yeV9ncm91cHMnXSAhPSAnJykgewoJCQkkdWlkID0gJGZldXNlcnMtPkxvZ2dlZEluSWQoKTsKCQkJaWYoICR1aWQgPT0gMCB8fCAkdWlkID09ICcnICkgcmV0dXJuIGZhbHNlOwkvLyB1c2VyIGlzIG5vdCBsb2dnZWQgaW4KCgkJCS8vIG5vdyBjaGVjayBpZiB0aGUgdXNlciBpcyBpbiB0aGUgZ3JvdXAKCQkJJHBlcm1pdHRlZGdyb3VwcyA9IGV4cGxvZGUoJywnLCRjYXRlZ29yeV9kZXRhaWxzWyd1cGxvYWRfY2F0ZWdvcnlfZ3JvdXBzJ10pOwoJCQkkcGVybWl0dGVkID0gZmFsc2U7CgoJCQkkbWVtYmVyZ3JvdXBzMSA9ICRmZXVzZXJzLT5HZXRNZW1iZXJHcm91cHNBcnJheSgkdWlkKTsKCQkJaWYoICFpc19hcnJheSgkbWVtYmVyZ3JvdXBzMSkgKSByZXR1cm4gZmFsc2U7IC8vIG5vdCBhIG1lbWJlciBvZiBhbnkgZ3JvdXBzCgkJCWZvcmVhY2goICRtZW1iZXJncm91cHMxIGFzICRyb3cgKSB7CgkJCQlmb3JlYWNoKCAkcGVybWl0dGVkZ3JvdXBzIGFzICRwZyApIHsKCQkJCQlpZiggJHBnID09ICRyb3dbJ2dyb3VwaWQnXSApIHsKCQkJCQkJJHBlcm1pdHRlZCA9IHRydWU7CgkJCQkJCWJyZWFrOwoJCQkJCX0KCQkJCX0KCQkJCWlmKCAkcGVybWl0dGVkID09IHRydWUgKSBicmVhazsKCQkJfQoKCQkJaWYoICRwZXJtaXR0ZWQgPT0gZmFsc2UgKSByZXR1cm4gZmFsc2U7CS8vIGFjY2VzcyBkZW5pZWQKCQl9CgoJCXJldHVybiB0cnVlOwoJfQoKCS8vIHRvZG86IGRlbGV0ZSBtZQogIHB1YmxpYyBmdW5jdGlvbiBpbWFnZVRyYW5zZm9ybSgkc3JjU3BlYywgJGRlc3RTcGVjLCAkc2l6ZSA9ICcnKQogIHsKCQlyZXR1cm4gY2dlX2ltYWdlOjp0cmFuc2Zvcm1faW1hZ2UoICRzcmNTcGVjLCAkZGVzdFNwZWMsICRzaXplICk7CiAgfQoKICAvLyB0b2RvOiBkZWxldGUgbWUKICBwdWJsaWMgZnVuY3Rpb24gX2dldEZpbGVVUkwoJHVwbG9hZF9pZCwkdXBsb2FkX25hbWUpCiAgewogICAgICByZXR1cm4gdXBsb2Fkc191dGlsczo6X2dldF9jbGVhbl91cmwoJHVwbG9hZF9pZCwkdXBsb2FkX25hbWUpOwogIH0KCiAgLy8gdG9kbzogZGVsZXRlIG1lCiAgcHVibGljIGZ1bmN0aW9uIF9nZXRUaW1lTGltaXRlZFVSTCgkdXBsb2FkX2tleSkKICB7CiAgICAgIHJldHVybiB1cGxvYWRzX3V0aWxzOjpfZ2V0X2NsZWFuX3RsX3VybCgkdXBsb2FkX2tleSk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gSGFzQ2FwYWJpbGl0eSgkY2FwYWJpbGl0eSwkcGFyYW1zID0gYXJyYXkoKSkKICB7CiAgICAgIGlmKCAkY2FwYWJpbGl0eSA9PSAndGFza3MnICkgcmV0dXJuIFRSVUU7CiAgICAgIGlmKCAkY2FwYWJpbGl0eSA9PSAnY29udGVudGJsb2NrcycgKSByZXR1cm4gVFJVRTsKICAgICAgcmV0dXJuIEZBTFNFOwogIH0KCgkvKiogZm9yIDIuMCAqKi8KICBwdWJsaWMgZnVuY3Rpb24gR2V0Q29udGVudEJsb2NrRmllbGRJbnB1dCgkYmxvY2tOYW1lLCR2YWx1ZSwkcGFyYW1zLCRhZGRpbmcsQ29udGVudEJhc2UgJGNvbnRlbnRfb2JqKQogIHsKICAgICAgcmV0dXJuICR0aGlzLT5HZXRDb250ZW50QmxvY2tJbnB1dCgkYmxvY2tOYW1lLCR2YWx1ZSwkcGFyYW1zLCRhZGRpbmcpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIEdldENvbnRlbnRCbG9ja0lucHV0KCRibG9ja05hbWUsJHZhbHVlLCRwYXJhbXMsJGFkZGluZyA9IGZhbHNlKQogIHsKCQlpZiggIWlzc2V0KCRwYXJhbXNbJ3NlbGVjdHR5cGUnXSkgKSAkcGFyYW1zWydzZWxlY3R0eXBlJ10gPSAnY2F0ZWdvcnlzZWxlY3QnOwoKICAgICAgICBzd2l0Y2goICRwYXJhbXNbJ3NlbGVjdHR5cGUnXSApIHsKCQljYXNlICdjYXRlZ29yeXNlbGVjdCc6CgkJCSR0bXAxID0gYXJyYXkoKTsKCQkJaWYoIGlzc2V0KCRwYXJhbXNbJ3NlbGVjdG9uZSddKSApICR0bXAxWyR0aGlzLT5MYW5nKCdzZWxlY3RvbmUnKV0gPSAtMTsKCQkJaWYoIGlzc2V0KCRwYXJhbXNbJ2FsbG93YWxsJ10pICkgJHRtcDFbJHRoaXMtPkxhbmcoJ2FsbCcpXSA9ICdhbGwnOwoJCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsKCQkJJHF1ZXJ5ID0gJ1NFTEVDVCB1cGxvYWRfY2F0ZWdvcnlfbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfdXBsb2Fkc19jYXRlZ29yaWVzCiAgICAgICAgICAgICAgICBXSEVSRSB1cGxvYWRfY2F0ZWdvcnlfbGlzdGFibGUgPSAxJzsKCQkJJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCQkJaWYoICR0bXAgKSB7CgkJCQlmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wKTsgJGkrKyApIHsKCQkJCQkkc3RyID0gJHRtcFskaV1bJ3VwbG9hZF9jYXRlZ29yeV9uYW1lJ107CgkJCQkJJHRtcDFbJHN0cl0gPSAkc3RyOwoJCQkJfQoJCQkJcmV0dXJuICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCcnLCRibG9ja05hbWUsJHRtcDEsLTEsJHZhbHVlKTsKCQkJfQoJCQlicmVhazsKCQl9CiAgICAgICAgcmV0dXJuIEZBTFNFOwogIH0KCgkvKiogZm9yIDIuMCAqKi8KICBwdWJsaWMgZnVuY3Rpb24gR2V0Q29udGVudEJsb2NrRmllbGRWYWx1ZSgkYmxvY2tOYW1lLCRibG9ja1BhcmFtcywkaW5wdXRQYXJhbXMsQ29udGVudEJhc2UgJGNvbnRlbnRfb2JqKQogIHsKICAgICAgcmV0dXJuICR0aGlzLT5HZXRDb250ZW50QmxvY2tWYWx1ZSgkYmxvY2tOYW1lLCRibG9ja1Bhcm1zLCRpbnB1dFBhcm1zKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBHZXRDb250ZW50QmxvY2tWYWx1ZSgkYmxvY2tOYW1lLCRibG9ja1BhcmFtcywkaW5wdXRQYXJhbXMpCiAgewogICAgICBpZiggaXNzZXQoJGJsb2NrUGFyYW1zWydzZWxlY3R0eXBlJ10pICYmIGlzc2V0KCRpbnB1dFBhcmFtc1skYmxvY2tOYW1lXSkgKQlyZXR1cm4gJGlucHV0UGFyYW1zWyRibG9ja05hbWVdOwogICAgICByZXR1cm4gJyc7CiAgfQoKICAvKiogZm9yIDIuMCAqKi8KICBwdWJsaWMgZnVuY3Rpb24gVmFsaWRhdGVDb250ZW50QmxvY2tGaWVsZFZhbHVlKCRibG9ja05hbWUsJHZhbHVlLCRibG9ja1BhcmFtcyxDb250ZW50QmFzZSAkY29udGVudF9vYmopCiAgewogICAgICByZXR1cm4gJHRoaXMtPlZhbGlkYXRlQ29udGVudEJsb2NrVmFsdWUoJGJsb2NrTmFtZSwkdmFsdWUsJGJsb2NrUGFyYW1zKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBWYWxpZGF0ZUNvbnRlbnRCbG9ja1ZhbHVlKCRibG9ja05hbWUsJHZhbHVlLCRibG9ja1BhcmFtcykKICB7CiAgICAgIHN3aXRjaCgkYmxvY2tQYXJhbXNbJ3NlbGVjdHR5cGUnXSkgewogICAgICBjYXNlICdjYXRlZ29yeXNlbGVjdCc6CiAgICAgICAgICBpZiggJHZhbHVlID09IC0xICkgcmV0dXJuICR0aGlzLT5MYW5nKCdlcnJvcl9tdXN0c2VsZWN0X2NhdGVnb3J5Jyk7CiAgICAgICAgICBicmVhazsKICAgICAgfQogICAgICByZXR1cm4gJyc7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gc21hcnR5X2Jsb2NrX29uY2hhbmdlKCRwYXJhbXMsJGNvbnRlbnQsJHNtYXJ0eSwkcmVwZWF0KQogIHsKICAgICAgc3RhdGljICRfb25jaGFuZ2VfZGF0YSA9IGFycmF5KCk7CiAgICAgIGlmKCAkY29udGVudCA9PSAnJyApIHJldHVybjsKICAgICAgaWYoICFpc3NldCgkcGFyYW1zWydyZWMnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2ZpZWxkJ10pICkgcmV0dXJuOwoKICAgICAgJHJlY29yZCA9ICRwYXJhbXNbJ3JlYyddOwogICAgICAkZmllbGQgPSAkcGFyYW1zWydmaWVsZCddOwogICAgICBpZiggIWlzc2V0KCRyZWNvcmRbJGZpZWxkXSkgKSByZXR1cm47CgogICAgICAkdG1wID0gJHNtYXJ0eS0+Z2V0X3RlbXBsYXRlX3ZhcnMoJ29uY2hhbmdlJyk7CiAgICAgIGlmKCAhaXNfYXJyYXkoJHRtcCkgKSAkdG1wID0gYXJyYXkoKTsKCiAgICAgIGlmKCAhaXNzZXQoJF9vbmNoYW5nZV9kYXRhWyRmaWVsZF0pIHx8ICRfb25jaGFuZ2VfZGF0YVskZmllbGRdICE9ICRyZWNvcmRbJGZpZWxkXSApIHsKICAgICAgICAgICRfb25jaGFuZ2VfZGF0YVskZmllbGRdID0gJHJlY29yZFskZmllbGRdOwogICAgICAgICAgJHRtcFskZmllbGRdID0gMTsKICAgICAgICAgICRzbWFydHktPmFzc2lnbignb25jaGFuZ2UnLCR0bXApOwogICAgICAgICAgcmV0dXJuICRjb250ZW50OwogICAgICB9CiAgICAgIGVsc2UgewogICAgICAgICAgJHRtcFskZmllbGRdID0gMDsKICAgICAgICAgICRzbWFydHktPmFzc2lnbignb25jaGFuZ2UnLCR0bXApOwogICAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0X3Rhc2tzKCkKICB7CiAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICAkb3V0W10gPSBuZXcgVXBsb2Fkc0NsZWFudXBFeHBpcmVkVGFza3MoKTsKICAgICAgJG91dFtdID0gbmV3IFxVcGxvYWRzXGNsZWFuX3RtcF9maWxlc190YXNrKCk7CiAgICAgIHJldHVybiAkb3V0OwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHB1c2hfcmV0dXJudG8oJHVybCkKICB7CiAgICAgICR2YWwgPSAkdGhpcy0+c2Vzc2lvbl9nZXQoJ3VwbG9hZHNfcmV0dXJudG8nKTsKICAgICAgaWYoICEkdmFsICkgJHZhbCA9IFtdOwogICAgICAkdmFsW10gPSAkdXJsOwogICAgICAkdGhpcy0+c2Vzc2lvbl9wdXQoJ3VwbG9hZHNfcmV0dXJudG8nLCR2YWwpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHBvcF9yZXR1cm50bygpCiAgewogICAgICAkdmFsID0gJHRoaXMtPnNlc3Npb25fZ2V0KCd1cGxvYWRzX3JldHVybnRvJyk7CiAgICAgICRvdXQgPSBudWxsOwogICAgICBpZiggJHZhbCAmJiBpc19hcnJheSgkdmFsKSAmJiBjb3VudCgkdmFsKSApICRvdXQgPSBhcnJheV9wb3AoJHZhbCk7CiAgICAgIGlmKCAhZW1wdHkoJHZhbCkgKSB7CiAgICAgICAgICAkdGhpcy0+c2Vzc2lvbl9wdXQoJ3VwbG9hZHNfcmV0dXJudG8nLCR2YWwpOwogICAgICB9IGVsc2UgewogICAgICAgICAgJHRoaXMtPnNlc3Npb25fY2xlYXIoJ3VwbG9hZHNfcmV0dXJudG8nKTsKICAgICAgfQogICAgICByZXR1cm4gJG91dDsKICB9Cn0KCi8vIEVPRgo/Pgo=]]></data>
	</file>
</module>
