<?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>Products</name>
	<version>2.19.6</version>
  <mincmsversion>1.11.4</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgd2F5IHRvIGNvbGxlY3QsIG9yZ2FuaXplLCBhbmQgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBwcm9kdWN0cyBhbmQgdGhlaXIgY2F0ZWdvcmllcy4gIFRoaXMgbW9kdWxlIGNhbiBzdGFuZCBvbiBpdHMgb3duLCBvciBiZSBwYXJ0IG9mIGFuIGUtY29tbWVyY2Ugc29sdXRpb24gaWYgeW91IHdpc2guICBUaGUgbW9kdWxlIHN1cHBvcnRzIGEgcHJvZHVjdCBleGlzdGluZyBpbiBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LCBzdXBwb3J0cyBwcm9kdWN0IHdlaWdodCwgcHJpY2UsIGFuZCBhdHRyaWJ1dGUgc2V0cy4gIEVhY2ggaXRlbSBpbiBhbiBhdHRyaWJ1dGUgc2V0IGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudC4gIEFsc28gYSBnbG9iYWwgZmxhZyBpbmRpY2F0ZXMgd2V0aGVyIHRoZSBwcm9kdWN0IGlzICd0YXhhYmxlJyBvciBub3QuPC9wPgogIDxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIG11bHRpcGxlIGN1c3RvbSBmaWVsZCBkZWZpbml0aW9ucywgYW5kIGZvciB0aGUgYWJpbGl0eSB0byBkaXNjcmltaW5hdGUgcHJpdmF0ZSBmcm9tIHB1YmxpYyBkYXRhLjwvcD4KPGgzPkZlYXR1cmVzOjwvaDM+Cjx1bD4KICA8bGk+TnVtZXJvdXMgVmlld3M8L2xpPgogICAgPHVsPgogICAgICA8bGk+U3VtbWFyeSB2aWV3PC9saT4KICAgICAgPGxpPkNhdGVnb3J5IExpc3QgVmlldzwvbGk+CiAgICAgIDxsaT5EZXRhaWwgdmlldzwvbGk+IAogICAgICA8bGk+SGllcmFyY2h5IERyaWxsLWRvd24gVmlldzwvbGk+CiAgICA8L3VsPgogIDxsaT5FbnRpcmVseSBkYXRhYmFzZSB0ZW1wbGF0ZSBkcml2ZW4KICAgIDxwPk51bWVyb3VzIHRlbXBsYXRlcyBvZiBlYWNoIHR5cGUgY2FuIGJlIGRlZmluZWQsIGRlZmF1bHRzIHNwZWNpZmllZCBmb3IgZWFjaCB0eXBlLCBhbmQgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIGVhY2ggcGFydGljdWxhciB2aWV3IGNhbiBiZSBzcGVjaWZpZWQgYXMgYSBwYXJhbWV0ZXI8L3A+CiAgPC9saT4KICA8bGk+U29ydGluZyBhbmQgcGFnaW5hdGlvbiBpbiB0aGUgc3VtbWFyeSB2aWV3PC9saT4KICA8bGk+UHJvZHVjdHMgY2FuIGV4aXN0IGluIG11bHRpcGxlIGNhdGVnb3JpZXM8L2xpPgogIDxsaT5OdW1lcm91cyBjdXN0b20gZmllbGRzIGNhbiBiZSBkZWZpbmVkLCBpbmNsdWRpbmcgaW1hZ2VzPC9saT4KICA8bGk+QXV0b21hdGljIHRodW1ibmFpbCBjcmVhdGlvbjwvbGk+CiAgPGxpPkFkbWluIGRlZmluZWQgZmllbGRzPC9saT4KICA8bGk+UHJvZHVjdCBvcHRpb25zIChpbmNsdWRpbmcgcHJpY2UgYWRqdXN0bWVudCk8L2xpPgogIDxsaT5XZWlnaHQgYW5kIHRheGFibGUgZmllbGRzIChmb3IgdXNlIGluIGUtY29tbWVyY2Ugc29sdXRpb25zKTwvbGk+CiAgPGxpPlByb2R1Y3RzIGNhbiBoYXZlIGEgc3RhdHVzIChwdWJsaXNoZWQgb3IgZHJhZnQpIGluIG9yZGVyIHRvIGhpZGUgcHJvZHVjdHMgZnJvbSBwdWJsaWMgZGlzcGxheSBhdCBhbnkgdGltZTwvbGk+CiAgPGxpPlByZXR0eSBVUkwgU3VwcG9ydDwvbGk+CiAgPGxpPjxzdHJvbmc+TW9yZS4uLjwvc3Ryb25nPjwvbGk+CjwvdWw+Cgo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+CjxvbD4KPGxpPlNldCBwcmVmZXJlbmNlcwogIDxwPlVzdWFsbHkgdGhpcyBpcyBqdXN0IGEgZm9ybWFsaXR5LiAgWW91IHNob3VsZCBzcGVjaWZ5IHlvdXIgZGVmYXVsdCB3ZWlnaHQgdW5pdHMsIGFuZCB5b3VyIGRlZmF1bHQgY3VycmVuY3kgc3ltYm9sIGZvciB5b3VyIGxvY2FsIGVudmlyb25tZW50LjwvcD4KPC9saT4KPGxpPlNldHVwIHVzZXJzIGFuZCBwZXJtaXNzaW9ucwogIDxwPlRoaXMgbW9kdWxlIHVzZXMgdGhlICdNb2RpZnkgVGVtcGxhdGVzJyBwZXJtaXNzaW9uIHRvIGFsbG93IHVzZXJzIHRvIGJlIGFibGUgdG8gbW9kaWZ5IHRoZSB2YXJpb3VzIHRlbXBsYXRlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IHRoaXMgbW9kdWxlLiAgQXMgd2VsbCwgdGhlICdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycgcGVybWlzc2lvbiBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBhZGp1c3QgdGhlIG1vZHVsZXMgcHJlZmVyZW5jZXMuICBJbiBvcmRlciB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIG1vZGlmeSBmaWVsZCBkZWZpbml0aW9ucywgY2F0ZWdvcmllcywgb3IgcHJvZHVjdHMsIHlvdXIgdXNlcnMgd2lsbCBuZWVkIHRoZSAnTW9kaWZ5IFByb2R1Y3RzJyBwZXJtaXNzaW9uLjwvcD4KPC9saT4KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGNhdGVnb3JpZXMKICA8cD5UaGlzIGlzIGFuIG9wdGlvbmFsIHN0ZXAsIGJ1dCB5b3Ugd2lsbCBwcm9iYWJseSB3YW50IHRvIGRvIHRoaXMgZWFybHkgdG8gcHJldmVudCBoYXZpbmcgdG8gZ28gYmFjayB0byBtb2RpZnkgZWFjaCBhbmQgZXZlcnkgcHJvZHVjdCBsYXRlci4gIEFkZGluZyBhIGNhdGVnb3J5IGlzIGFzIHNpbXBsZSBhcyBjbGlja2luZyBvbiB0aGUgJ0NhdGVnb3JpZXMnIHRhYiBpbiB0aGUgUHJvZHVjdCBNYW5hZ2VycyBhZG1pbiBzZWN0aW9uLCBhbmQgY2xpY2tpbmcgJ0FkZCBBIENhdGVnb3J5Jy4gIEZyb20gdGhlcmUgeW91IHdpbGwgYmUgcHJvbXB0ZWQgZm9yIGEgY2F0ZWdvcnkgbmFtZS48L3A+CjwvbGk+CjxsaT4ob3B0aW9uYWwpIERlZmluZSBhIHByb2R1Y3QgaGllcmFyY2h5LgogIDxwPllvdSBjYW4gb3JnYW5pemUgeW91ciBwcm9kdWN0cyBpbnRvIGEgaGllcmFyY2h5LiAgVGhlIGhpZXJhcmNoeSBpcyBzaW1pbGFyIHRvIGNhdGVnb3JpZXMgZXhjZXB0IHRoYXQgZWFjaCBub2RlIGluIHRoZSBoaWVyYXJjaHkgY2FuIGhhdmUgemVybyBvciBtb3JlIGNoaWxkcmVybi4gIEEgcHJvZHVjdCBjYW4gb25seSBiZWxvbmcgdG8gb25lIHBsYWNlIGluIHRoZSBoaWVyYXJjaHkuPC9wPgo8L2xpPgo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkcwogIDxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcC4gIEN1c3RvbSBmaWVsZHMgYXJlIG5vdCBuZWVkZWQgaWYgdGhpcyBtb2R1bGUgc3VpdHMgeW91IGV4YWN0bHkgYXMgaXQgaXMuICBIb3dldmVyIGlmIHlvdSB3b3VsZCBsaWtlIHRvIHN0b3JlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZm9yIGVhY2ggb2YgeW91ciBwcm9kdWN0cyB5b3UgY2FuIGNyZWF0ZSBjdXN0b20gZmllbGRzLiAgQ3JlYXRpbmcgY3VzdG9tIGZpZWxkcyBpcyBzaW1pbGFyIHRvIGNyZWF0aW5nIGNhdGVnb3JpZXMsIGV4Y2VwdCB0aGF0IG1vcmUgZGF0YSBpcyByZXF1ZXN0ZWQuPC9wPgo8cD5DdXJyZW50bHkgYSBudW1iZXIgb2YgdHlwZXMgb2YgY3VzdG9tIGZpZWxkcyBhcmUgYXZhaWxhYmxlLCBpbmNsdWRpbmc6ICd0ZXh0Ym94JywnY2hlY2tib3gnLGFuZCAndGV4dGFyZWEnLCAnZHJvcGRvd24nLCBhbmQgJ2ZpbGUnLiAgU2VsZWN0IG9uZSBvZiB0aGVzZSwgZ2l2ZSB5b3VyIG5ldyBmaWVsZCBhIG5hbWUsIGFuZCBpbmRpY2F0ZSB3ZXRoZXIgdGhhdCBmaWVsZCBzaG91bGQgYmUgdmlzaWJsZSB0byB0aGUgcHVibGljIGluIHRoZSB2YXJpb3VzIHZpZXdzLiAgVGhlbiBoaXQgc3VibWl0PC9wPgo8L2xpPgo8bGk+Q3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzPC9saT4KPHA+WW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHMgdG8gZGlzcGxheSBpbiB5b3VyIHdlYnNpdGUgY29udGVudC4gIEdpdmUgZWFjaCBwcm9kdWN0IGEgbmFtZSwgYSBwcmljZSAob3B0aW9uYWwpIGEgd2VpZ2h0IChvcHRpb25hbCksIGEgc3RhdHVzIChkcmFmdCBvciBwdWJsaXNoZWQpLCBhbmQgc29tZSBpbmZvcm1hdGlvbi4gIEFkZGl0aW9uYWxseSwgeW91IGNhbiBhbHNvIHNwZWNpZnkgaWYgdGhlIHByb2R1Y3QgaXMgdGF4YWJsZS48L3A+CjxwPklmIGNhdGVnb3JpZXMgYXJlIGRlZmluZWQsIHRoZW4gYSBjaGVja2JveCB3aWxsIGFwcGVhciBmb3IgZWFjaCBkZWZpbmVkIGNhdGVnb3J5LiAgWW91IGNhbiBzaW1wbHkgY2xpY2sgdGhlIGNoZWNrYm94IGZpZWxkcyBmb3IgZWFjaCBjYXRlZ29yeSB0aGF0IHRoaXMgcHJvZHVjdCBzaG91bGQgYmVsb25nIHRvLjwvcD4KPHA+SWYgY3VzdG9tIGZpZWxkcyBhcmUgZGVmaW5lZCwgdGhlbiBpbnB1dCBmaWVsZHMgYXBwcm9wcmlhdGUgdG8gdGhlIHR5cGUgb2YgY3VzdG9tIGZpZWxkIHdpbGwgYXBwZWFyIGFuZCBhbGxvdyB5b3UgdG8gc3BlY2lmeSBkYXRhIGZvciBlYWNoIG9mIHRoZW0uICBUaGlzIGRhdGEgaXMgb3B0aW9uYWwuPC9wPgo8bGk+QWRkIHRoZSBhcHByb3ByaWF0ZSB0YWdzIGludG8geW91ciBwYWdlIHRlbXBsYXRlcyBvciBwYWdlIGNvbnRlbnQ8L2xpPgo8cD5UaGlzIGNhbiBiZSBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnIGludG8gdGhlIGNvbnRlbnQgYXJlYSBvZiBvbmUgb2YgeW91ciBwYWdlcywgb3IgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9wPgo8cD5JZiB5b3Ugd2lzaCB0byBhbHRlciB0aGUgYmVoYXZpb3VyIG9mIHRoaXMgYXBwbGljYXRpb24gZnJvbSBpdHMgZGVmYXVsdCwgeW91IGNhbiBkbyB0aGF0IGJ5IGFkZGluZyBvbmUgb3IgbW9yZSBwYXJhbWV0ZXJzIHRvIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnLiAgVGhlIGNvbXBsZXRlIGxpc3Qgb2YgcGFyYW1ldGVycyBhbmQgdGhlaXIgYmVoYXZpb3VyIGlzIGxpc3RlZCBiZWxvdy4gIEJ1dCBmb3IgZXhhbXBsZSwgdG8gZGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdHMgaW4gYSBzaW5nbGUsIGV4aXN0aW5nIGNhdGVnb3J5LCB5b3UgY291bGQgdXNlIGEgdGFnIGxpa2UgPGNvZGU+e1Byb2R1Y3RzIGNhdGVnb3J5PSdjYXRlZ29yeW5hbWUnfTwvY29kZT48L3A+Cjwvb2w+CjxoMz5TS1UgYW5kIFF1YW50aXR5IEhhbmRsaW5nPC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSB1bmlxdWUgZmllbGQgZm9yIGVhY2ggcHJvZHVjdCA8ZW0+KGFuZCBwcm9kdWN0IG9wdGlvbik8L2VtPi4gIFRoZSBTS1UgdmFsdWUgY2FuIGJlIHVzZWQgdG8gdW5pcXVlbHkgaWRlbnRpZnkgYSBwcm9kdWN0IG9yIHByb2R1Y3QgdmFsdWUuICBXaGVuIHVzaW5nIHRoaXMgc3lzdGVtIGFzIGFuIGUtY29tbWVyY2Ugc3lzdGVtIGVhY2ggcHJvZHVjdCBhbmQgcHJvZHVjdCBvcHRpb24gaXMgcmVxdWlyZWQgdG8gaGF2ZSBhIFNLVS48L3A+CjxoMz5Qcm9kdWN0IE9wdGlvbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgY2FwYWJpbGl0eSBvZiBoYW5kbGluZyA8ZW0+KG9wdGlvbnMpPC9lbT4gdG8gYmFzZSBwcm9kdWN0cy4gIE9wdGlvbnMgY2FuIGJlIHVzZWQgZm9yIG1ha2luZyBkaWZmZXJlbnQgc2l6ZXMsIG9yIGNvbG9ycyBvZiBhIHByb2R1Y3QgYXZhaWxhYmxlIGluIHRoZSBjYXJ0LiAgIEVhY2ggb3B0aW9uIGNhbiBoYXZlIGEgZGVzY3JpcHRpb24sIGEgcHJpY2UgPGVtPihvciBwcmljZSBhZGp1c3RtZW50KTwvZW0+IGFuZCBhIFNLVSBmb3IgZS1jb21tZXJjZSBwdXJwb3Nlcy48L3A+CjxoND5Qcm9kdWN0IEF0dHJpYnV0ZXM8L2g0Pgo8cD5PbGRlciB2ZXJzaW9ucyBvZiB0aGUgcHJvZHVjdHMgbW9kdWxlIGhhZCBhIGNvbmNlcHQgb2YgcHJvZHVjdCAmcXVvdDthdHRyaWJ1dGVzJnF1b3Q7LiAgVGhlcmUgd2FzIHRoZSBjb25jZXB0IG9mIG11bHRpcGxlIGF0dHJpYnV0ZXMsIGFuZCBlYWNoIGF0dHJpYnV0ZSBjb3VsZCBoYXZlIG51bWVyb3VzIG9wdGlvbnMuICAgVGhpcyBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIHJlbW92ZWQgYW5kIHJlcGxhY2VkIHdpdGggcHJvZHVjdCBvcHRpb25zLiAgIFRoZXJlIHdpbGwgYmUgc29tZSBkaWZmaWN1bHR5IHdpdGggdGhlIHVwZ3JhZGUgcHJvY2VzcyBiZWNhdXNlIG9mIHRoaXMuPC9wPgo8aDM+U21hcnR5IFBsdWdpbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSBhbHNvIHJlZ2lzdGVycyBvbmUgb3IgbW9yZSBzbWFydHkgcGx1Z2lucyB0byBhaWRlIGluIHJldHJpZXZpbmcgdmFyaW91cyBwcm9kdWN0cyByZWxhdGVkIGluZm9ybWF0aW9uIHdoZW4gZGVzaWduaW5nIHByb2R1Y3RzIG1vZHVsZSB0ZW1wbGF0ZXM6PC9wPgo8dWw+CiAgPGxpPntwcm9kdWN0c19nZXRjYXRlZ29yeSBjYXRlZ29yeWlkPSc5OScgW2Fzc2lnbj0ndG1wJ119CiAgPHA+VGhpcyBwbHVnaW4gYWxsb3dzIHJldHJpZXZpbmcgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpYyBjYXRlZ29yeSBpZCBhbmQgb3B0aW9uYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS4gIFRoZSByZXR1cm5lZCBpcyBhbiBvYmplY3QgY29udGFpbmluZyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgY2F0ZWdvcnksIGluY2x1ZGluZyBpdHMgZmllbGQgdmFsdWVzLjxici8+aS5lOi4gPGNvZGU+e3Byb2R1Y3RzX2dldGNhdGVnb3J5IGNhdGVnb3J5aWQ9MSBhc3NpZ249J3RtcCd9Q2F0ZWdvcnkgbmFtZSA9IHtcJHRtcC0+bmFtZX08L2NvZGU+PC9wPgogIDwvbGk+CiAgPGxpPntwcm9kdWN0c19oaWVyYXJjaHlfYnJlYWRjcnVtYiBoaWVyYXJjaHlpZD0nOTknIFtwYWdlaWQ9YWxpYXNdIFtkZWxpbT0nICZyYXF1byAnXVthc3NpZ249J3RtcCddfQogIDxwPlRoaXMgcGx1Z2luIGFsbG93cyByZXRyaWV2aW5nIHRoZSBicmVhZGNydW1iIHBhdGggdG8gYSBwYXJ0aWN1bGFyIGhpZXJhcmNoeSBpZCBhbmQgb3B0aW9uYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS4gIFRoaXMgcGx1Z2luIHdpbGwgb3V0cHV0IHplcm8gb3IgbW9yZSBsaW5rcyB0byBoaWVyYXJjaHkgdmlld3Mgd2l0aCBvbmUgbGluayBmb3IgZWFjaCBsZXZlbCBpbiB0aGUgaGllcmFyY2h5LiAgVG8gc3BlY2lmeSBhIGRpZmZlcmVudCBkZWxpbWl0ZXIgdXNlIHRoZSAiZGVsaW0iIGFyZ3VtZW50LiAgSWYgYW4gZW1wdHkgZGVsaW1pdGVyIGlzIHNwZWNpZmllZCwgdGhlbiBhbiBhcnJheSBvZiBsaW5rcyB3aWxsIGJlIHJldHVybmVkIHJhdGhlciB0aGFuIG9uZSBjb25pbnVvdXMgaHRtbCBzZWdtZW50LiAgVG8gc3BlY2lmeSBhIGRpZmZlcmVudCBwYWdlIGlkIGZvcnRoZSBsaW5rcywgdXNlIHRoZSBwYWdlaWQgYXR0cmlidXRlLiAgIElmIHRoZSBwYWdlaWQgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQsIGFuZCB0aGUgaGllcmFyY2h5IGlkIHByZWZlcmVuY2UgaXMgc2V0IGl0IHdpbGwgYmUgdXNlZC4gIE90aGVyd2lzZSB0aGUgY3VycmVudCBwYWdlIGlkIHdpbGwgYmUgdXNlZC48L3A+CiAgPC9saT4KICA8bGk+e3Byb2R1Y3RzX2hpZXJhcmNoeV9wYXJlbnQgaGllcmFyY2h5aWQ9OTkgW2Fzc2lnbj0ndG1wJ119CiAgPHA+VGhpcyBwbHVnaW4gd2lsbCByZXR1cm4gdGhlIHBhcmVudCBoaWVyYXJjaHkgaWQgZm9yIGEgZ2l2ZW4gaGllcmFyY2h5IGlkLiAgSWYgdGhlIHNwZWNpZmllZCBoaWVyYXJjaHkgaWQgZG9lcyBub3QgZXhpc3QsIHRoZW4gbm90aGluZyB3aWxsIGJlIHJldHVybmVkLiAgaWYgdGhlIHNwZWNpZmllZCBoaWVyYXJjaHkgaWQgZG9lcyBub3QgaGF2ZSBhIHBhcmVudCB0aGlzIHBsdWdpbiB3aWxsIHJldHVybiAtMS48L3A+CiAgPC9saT4KPC91bD4KPGgzPlRoZSA8ZW0+YWpheF9wcm9wdmFsPC9lbT4gQWN0aW9uPC9oMz4KICA8cD5UaGUgPGVtPmFqYXhfcHJvcHZhbDwvZW0+IGlzIGEgc3BlY2lhbCBhY3Rpb24gdGhhdCBpcyB1c2VkIHRvIHJldHVybiB0aGUgZGlzdGluY3QgdmFsdWVzIG9mIGEgY3VzdG9tIGZpZWxkLCBvciBhIHByb3BlcnR5IHZpYSBqc29uLiAgVHlwaWNhbGx5IHRoaXMgYWN0aW9uIGlzIHVzZWQgdG8gcGVyZm9ybSBhdXRvY29tcGxldGUgYWN0aW9ucywgYW5kIHVzdWFsbHkgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgc2VhcmNoIGFjdGlvbi4gIFRoaXMgYWN0aW9uIGFjY2VwdHMgdGhlIHBhcmFtZXRlcnM6IGZpZWxkIGZvciB0aGUgbmFtZSBvZiB0aGUgZmllbGQsIGFuZCBmaWVsZHZhbCBmb3IgaW5kaWNhdGluZyBhIHN0YXJ0aW5nIHZhbHVlLiAgTm9uZSBvZiB0aGUgcGFyYW1ldGVycyBjYW4gYmUgZW1wdHkuICBCZWxvdyB5b3Ugd2lsbCBmaW5kIGEgc2ltcGxlIGV4YW1wbGUgb2YgdXNpbmcgdGhlIGFqYXhfcHJvcHZhbCBhY3Rpb24gdG8gcGVyZm9ybSBhdXRvY29tcGxldGUgZm9yIHByb2R1Y3QgbmFtZXMgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgc2VhcmNoIHRlbXBsYXRlLjwvcD4KPHByZT48Y29kZT4mbHQ7c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCImZ3Q7e2xpdGVyYWx9CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgdmFyIGFqYXhfdXJsID0gJ3svbGl0ZXJhbH08c3BhbiBzdHlsZT0iY29sb3I6IGdyZWVuOyI+e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9UHJvZHVjdHMgYWN0aW9uPWFqYXhfcHJvcHZhbCB1cmxvbmx5PTEganNmcmllbmRseT0xfTwvc3Bhbj57bGl0ZXJhbH0nOwogIGFqYXhfdXJsID0gYWpheF91cmwgKyA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPicmc2hvd3RlbXBsYXRlPWZhbHNlJzwvc3Bhbj47CgogICQoPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+JyNwcm9kdWN0bmFtZSc8L3NwYW4+KS5hdXRvY29tcGxldGUoewogICAgc291cmNlOiBmdW5jdGlvbihyZXEsYWRkKXsKICAgICAgdmFyIHRtcCA9ICBhamF4X3VybCs8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPicmY250bnQwMWZpZWxkPTo6bmFtZTo6JmNudG50MDFmaWVsZHZhbD0nPC9zcGFuPityZXEudGVybTsKICAgICAgJC5nZXRKU09OKHRtcCxmdW5jdGlvbihqc29uKXsKICAgICAgICBpZigganNvbi5zdGF0dXMgPT0gJ09LJyAmJiBqc29uLmRhdGEubGVuZ3RoID4gMCkgewogICAgICAgICAgYWRkKGpzb24uZGF0YSk7CiAgICAgICAgfQogICAgICB9KQogICAgfSAgICAKICB9KTsKfSk7CnsvbGl0ZXJhbH0mbHQ7L3NjcmlwdCZndDsKPC9jb2RlPjwvcHJlPgo8cD5BcyB5b3UgY2FuIHNlZSBmcm9tIHRoZSBhYm92ZSBjb2RlIHNuaXBwZXQuLiB0aGUge21vZHVsZV9hY3Rpb25fbGlua30gcGx1Z2luIGZyb20gQ0dTaW1wbGVTbWFydHkgaXMgdXNlZCB0byBnZW5lcmF0ZSBhIHVybCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgYWpheF9wcm9wdmFsIGFjdGlvbi4gIEFmdGVyIHRoYXQgVVJMIGlzIHJldHJpZXZlZCwgdGhlIHNob3d0ZW1wbGF0ZT1mYWxzZSBwYXJhbWV0ZXIgaXMgYWRkZWQgdG8gdGhlIFVSTC4gICBXaGVuIHNldHRpbmcgdXAgdGhlIGF1dG9jb21wbGV0ZSBwbHVnaW4sIHRoZSBjYWxsYmFjayB1c2VkIHRvIGZpbGwgaW4gdGhlIGRhdGEgdmFsdWVzIGZvciB0aGUgZmllbGQgdXNlcyBhamF4LiAgV2UgdGFrZSB0aGUgYWpheF91cmwgYWxyZWFkeSBwcmVwYXJlZCBhbmQgYWRkIHRoZSBmaWVsZD06Om5hbWU6OiBhbmQgZmllbGR2YWw9cmVxLnRlcm0gcGFyYW1ldGVycyB0byB0aGUgVVJMLiAgVGhlIHRlcm0gaXMgYXV0b21hdGljYWxseSBwcm92aWRlZCBieSB0aGUgYXV0b2NvbXBsZXRlIHBsdWdpbiBpbiB0aGUgcmVxLnRlcm0gdmFyaWlhYmxlLjwvcD4KPHA+VG8gdXNlIHRoaXMgZXhhbXBsZSwgdGhlIHVzZXIgd291bGQgbmVlZCB0byBlbnN1cmUgdGhhdCBqcXVlcnkgaXMgbG9hZGVkLCBhbG9uZyB3aXRoIHRoZSBqcXVlcnkgdWkgKGluY2x1ZGluZyBhdXRvY29tcGxldGUpLCBhbmQgYW55IHJlcXVpcmVkIHN0eWxlc2hlZXRzLiAgVGhpcyBjb3VsZCBiZSBkb25lIGVpdGhlciBpbiB0aGUgcGFnZSBzcGVjaWZpYyBtZXRhZGF0YSBmaWVsZCB3aGVuIGVkaXRpbmcgdGhlIHBhZ2UgY29udGFpbmluZyB0aGUgc2VhcmNoIGZvcm0sIG9yIGluIHRoZSBwYWdlIHRlbXBsYXRlIGl0c2VsZi48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuICBIb3dldmVyIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzIG9yIHRvIGZpbGUgYSBidWcgcmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBtYWRlIHNpbXBsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5EZXZlbG9wZXJzIEZvcmdlPC9hPiBhbmQgZG8gYSBzZWFyY2ggZm9yICdQcm9kdWN0cyc8L2xpPgo8bGk+VG8gb2J0YWluIGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHNlbmQgYW4gZW1haWwgdG8gdGhlIGF1dGhvciBhdCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Um9iZXJ0IENhbXBiZWxsPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3Jtcy48L2E+PC9saT4KPGxpPkZvciBzb21lIHF1ZXN0aW9ucyBhbmQgbGltaXRlZCB0ZWNobmljYWwgc3VwcG9ydCwgdGhlIGF1dGhvciBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8L3VsPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo8aDM+RGVwZW5kZW5jaWVzPC9oMz48dWw+PGxpPkNHRXh0ZW5zaW9ucyA9Jmd0OyAxLjMyLjU8L2xpPjxsaT5DR1NpbXBsZVNtYXJ0eSA9Jmd0OyAxLjYuMTwvbGk+PGxpPkpRdWVyeVRvb2xzID0mZ3Q7IDEuMi40PC9saT48L3VsPjxoMz5QYXJhbWV0ZXJzPC9oMz48dWw+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbGFuZz0iZW5fVVMiIC0gUGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGF0IGxhbmd1YWdlIHRvIHVzZSBmb3IgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQuIE5vdCBhbGwgbW9kdWxlcyBzdXBwb3J0IG9yIG5lZWQgdGhpcy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFjdGlvbj0iZGVmYXVsdCIgLSBTcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KICA8bGk+aGllcmFyY2h5IC0tIERpc3BsYXkgYW4gaXRlbSBsaXN0IGJ5IGhpZXJhcmNoeTwvbGk+CiAgPGxpPmNhdGVnb3J5bGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIGl0ZW0gY2F0ZWdvcmllczwvbGk+CiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyeSBvZiBpdGVtczwvbGk+CiAgPGxpPmRldGFpbHMgLSBEaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgaXRlbTwvbGk+CiAgPGxpPmZpZWxkbGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIHZhbHVlcyBmcm9tIGEgc3BlY2lmaWVkIGZpZWxkLgogICAgIDxwPgombmJzcDsmbmJzcDsmbmJzcDsmbmJzcDstIFRoaXMgYWN0aW9uIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBhIG5hdmlnYXRpb24gZnJvbSB0aGUgdmFsdWVzIG9mIGEgc3BlY2lmaWMgZmllbGQuICBpLmU6ICB5b3UgY291bGQgY3JlYXRlIGEgY3VzdG9tIGRyb3Bkb3duIGZpZWxkIGNhbGxlZCAmcXVvdDtjb2xvciZxdW90OyBhbmQgdGhlbiBjcmVhdGUgYSBuYXZpZ2F0aW9uIGJhc2VkIG9uIHRoZSBkaWZmZXJlbnQgY29sb3JzLgogICAgIDwvcD4KICA8L2xpPgogIDxsaT5zZWFyY2ggLSBEaXNwbGF5IGEgZm9ybSB0byBhbGxvdyBzZWFyY2hpbmcgaXRlbXMgb24gdmFyaW91cyBjcml0ZXJpdW08L2xpPgo8bGk+YWpheF9wcm9wdmFsIC0gUmV0dXJuIGEganNvbiBlbmNvZGVkIGxpc3Qgb2YgcHJvcGVydHkgdmFsdWVzIG1hdGNoaW5nIHRoZSBjcml0ZXJpYSBzcGVjaWZpZWQuICBUaGlzIGFjdGlvbiBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIHZpYSBhamF4LCBhbmQgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBzaG93dGVtcGxhdGU9ZmFsc2UgcGFyYW1ldGVyIG9uIHRoZSBVUkwuPC9saT4KPC91bD48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHByb2R1Y3RpZD0iIiAtIFVzZWZ1bCBvbmx5IHdpdGggdGhlIGRldGFpbCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB3aGF0IGl0ZW0gdG8gdXNlIGZvciB0aGUgZGlzcGxheS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGRldGFpbHBhZ2U9IiIgLSBUaGlzIHNwZWNpZmllcyB0aGUgcGFnZWlkIG9yIGFsaWFzIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgZGV0YWlsIHJlcG9ydC4gIEl0IGNhbiBiZSB1c2VkIHdpdGggdGhlIDxlbT5kZWZhdWx0PC9lbT4gb3Igc2VhcmNoIGFjdGlvbnMuICBUaGlzIG9wdGlvbiBpcyBub3QgY29tcGF0aWJsZSB3aXRoIHByZXR0eSB1cmxzIG9mIGFueSBzb3J0LjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY2F0ZWdvcnlsaXN0dGVtcGxhdGU9IiIgLSBVc2VmdWwgb25seSB3aXRoIHRoZSBjYXRlZ29yeWxpc3QgYW5kIGZpZWxkbGlzdCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGNhdGVnb3J5bGlzdGR0bHRlbXBsYXRlPSIiIC0gVXNlZnVsIG9ubHkgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkgb2YgdGhlIGNhdGVnb3J5IGRldGFpbHMuICBUaGlzIHVzZXMgYSBjYXRlZ29yeSBsaXN0IHRlbXBsYXRlLi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBkZXRhaWx0ZW1wbGF0ZT0iIiAtIFRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRldGFpbCBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4gIFRoaXMgcGFyYW1ldGVyIGhhcyBubyB1c2Ugd2hlbiBwcmV0dHkgdXJscyBhcmUgZW5hYmxlZC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHN1bW1hcnl0ZW1wbGF0ZT0iIiAtIFRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHN1bW1hcnkgbW9kZSBkaXNwbGF5LiAgSXQgaXMgYWxzbyBhY2NlcHRlZCBpbiB0aGUgc2VhcmNoIGFjdGlvbi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaGllcmFyY2h5dGVtcGxhdGU9IiIgLSBUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBoaWVyYXJjaHkgZGlzcGxheS4gSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBoaWVyYXJjaHlwYWdlPSIiIC0gLS0gTWlzc2luZyBMYW5ndWFnZXN0cmluZyAtIG1vZHVsZTpQcm9kdWN0cyBzdHJpbmc6cGFyYW1faGllcmFyY2h5cGFnZS0tPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzb3J0Ynk9InByb2R1Y3RfbmFtZSIgLSBBcHBsaWNhYmxlIGluIHRoZSBzdW1tYXJ5LCBjYXRlZ29yeWxpc3Qgb3Igc2VhcmNoIGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGRldGVybWluZXMgdGhlIHNvcnRpbmcgb2YgdGhlIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KICA8bGk+PHN0cm9uZz5pdGVtX25hbWU8L3N0cm9uZz48L2xpPgogIDxsaT5pZCAtLSBUaGUgaXRlbSBpZDwvbGk+CiAgPGxpPndlaWdodCAtLSBUaGUgaXRlbSB3ZWlnaHQ8L2xpPgogIDxsaT5wcmljZSAtLSBUaGUgaXRlbSBiYXNlIHByaWNlPC9saT4KICA8bGk+c3RhdHVzIC0tIERyYWZ0IG9yIHB1Ymxpc2hlZDwvbGk+CiAgPGxpPnJhbmRvbSAtLSBEaXNwbGF5IGluIHJhbmRvbSBvcmRlciBvbiBlYWNoIHJlcXVlc3Q8L2xpPgogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4KICA8bGk+bW9kaWZpZWQgLS0gVGhlIG1vZGlmaWVkIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPgogIDxsaT5mOmZpZWxkbmFtZSAtLSBBbGxvd3Mgc29ydGluZyBieSB2YWx1ZXMgb2YgY3VzdG9tIGZpZWxkcy48L2xpPgo8L3VsPgo8cD5UaGUgY2F0ZWdvcnkgbGlzdCB2aWV3IHN1cHBvcnRzIG9ubHkgYSBmZXcgc3BlY2lmaWMgc29ydGluZyBvcHRpb25zOjwvcD4KPHVsPgogIDxsaT5pZCAtLSBUaGUgY2F0ZWdvcnkgaWQuPC9saT4KICA8bGk+PHN0cm9uZz5uYW1lPC9zdHJvbmc+IC0tIFRoZSBjYXRlZ29yeSBuYW1lLjwvbGk+CjwvdWw+PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzb3J0b3JkZXI9ImFzYyIgLSBTcGVjaWZ5IHRoZSBvcmRlciBvZiBzb3J0ZWQgZmllbGRzIGluIHN1bW1hcnkgKGluY2x1ZGluZyBhZnRlciBhIHNlYXJjaCkgdmlldy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6Cjx1bD4KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gQXNjZW5kaW5nIG9yZGVyPC9saT4KICA8bGk+ZGVzYyAtLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4KPC91bD48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNvcnR0eXBlPSIiIC0gQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkZWZhdWx0IHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgaXMgdXNlZCB0byBjb252ZXJ0IHRoZSB2YWx1ZXMgdG8gYW5vdGhlciB0eXBlIGZvciBzb3J0aW5nLiAgdmFsaWQgdmFsdWVzIGFyZSBTVFJJTkcsU0lHTkVEIGFuZCBVTlNJR05FRC4gIElmIG5vdCBzdXBwbGllZCB0aGUgZGVmYXVsdCBTVFJJTkcgdHlwZSBpcyBhc3N1bWVkLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZXhjbHVkZWNhdD0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgdmlldywgdGhpcyBwYXJhbWV0ZXIgd2lsbCBhbGxvdyBleGNsdWRpbmcgaXRlbXMgdGhhdCBhcmUgaW4gYSBzcGVjaWZpYyBjYXRlZ29yeSBmcm9tIHRoZSByZXN1bHQuIEEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgY2F0ZWdvcnkgbmFtZXMgaXMgYWxsb3dlZC4gVGhpcyBwYXJhbWV0ZXIgY2FuIHdvcmsgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgY2F0ZWdvcnkgcGFyYW1ldGVyIHRvIHByb3ZpZGUgYSBsaXN0IG9mIHRoZSBpdGVtcyB0aGF0IGFyZSBpbiB0aGlzIGNhdGVnb3J5LCBidXQgbm90IGluIHRoYXQgY2F0ZWdvcnk8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vdHByZXR0eT0iIiAtIFRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGFjdGlvbnMgdG8gd2hpY2ggcHJldHR5IHVybHMgc2hvdWxkIG5vdCBiZSBnZW5lcmF0ZWQuICBpLmU6IG5vdHByZXR0eT1oaWVyYXJjaHksZGVmYXVsdCB3aWxsIG5vdCBnZW5lcmF0ZSBwcmV0dHkgdXJscyB0byBoaWVyYXJjaHksIG9yIHN1bW1hcnkgKGRlZmF1bHQpIGFjdGlvbnMsIGJ1dCB3aWxsIGFsbG93IGdlbmVyYXRpb24gb2YgcHJldHR5IHVybHMgdG8gZGV0YWlsIHZpZXdzLiAgQXMgYSBzcGVjaWFsIHZhbHVlICZxdW90O2FsbCZxdW90OyBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IHRoYXQgbm8gcHJldHR5IHVybHMgc2hvdWxkIGJlIGdlbmVyYXRlZDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY2F0ZWdvcnk9IiIgLSBXaGVuIHVzZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGNhdGVnb3J5IHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IG9ubHkgdGhvc2UgaXRlbXMgdGhhdCBhcmUgaW4gdGhhdCBjYXRlZ29vcnkuIChhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IGNhbiBiZSBzdXBwbGllZCkuICBUaGlzIHBhcmFtZXRlciBjYW4gYWxzbyBiZSB1c2VkIHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24gdG8gbGltaXQgdGhlIG91dHB1dCB0byB0aGUgc3BlY2lmaWVkIGl0ZW0gY2F0ZWdvcmllcy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGhpZXJhcmNoeT0iIiAtIFVzZWVkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFuZCBoaWVyYWNoeSBhY3Rpb25zIHRoaXMgcGFyYW1ldGVyIGhhcyB0d28gdXNlcy4gIFdoZW4gdXNlZCBpbiB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCBvbmx5IGl0ZW1zIGluIHRoYXQgbG9jYXRpb24gb2YgdGhlIGhpZXJhcmNoeSBzaG91bGQgYmUgZGlzcGxheWVkLiAgV2lsZGNhcmQgY2hhcmFjdGVyIGNhbiBiZSB1c2VkIHNvIHRoYXQgeW91IGNhbiBzcGVjaWZ5IHBhcmVudC9jaGlsZCByZWxhdGlvbnNoaXBzIGFzIHdlbGwuICBpLmUge1Byb2R1Y3RzIGhpZXJhcmNoeT0ndHJ1Y2tzKid9IHdpbGwgY3JlYXRlIGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgaW5jbHVkaW5nIHRoZSBjaGlsZHJlbiBpbiB0aGUgaGllcmFyY2h5LiAgU2ltaWxhcmx5LCB7UHJvZHVjdHMgaGllcmFyY2h5PScqdHJ1Y2tzJ30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBpdGVtcyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuICBBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGV4cHJlc3Npb25zIGNhbiBiZSBzdXBwbGllZC4gIGkuZToge1Byb2R1Y3RzIGFjdGlvbj1oaWVyYXJjaHkgaGllcmFyY2h5PSd0cnVja3MsY2Fycyd9PC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwYWdlbGltaXQ9IiIgLSBVc2VmdWwgb25seSB3aXRoIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IG9yIHNlYXJjaCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgaG93IG1hbnkgaXRlbXMgc2hvdWxkIGJlIGxpc3RlZCBvbiBlYWNoIHBhZ2UuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwYXJlbnQ9IiIgLSBVc2VmdWwgb25seSBpbiB0aGUgPGVtPmhpZXJhcmNoeTwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBoaWVyYXJjaHkgaWQgb2YgdGhlIHN0YXJ0aW5nIGxvY2F0aW9uIG9mIHRoZSByZXBvcnQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwYXJlbnRzPSIiIC0gVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5oaWVyYXJjaHk8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGhpZXJhcmNoeSBuYW1lcyB0aGF0IHNwZWNpZnkgdG8gY3JlYXRlIG51bWVyb3VzIGhlaXJhcmNoeSB0cmVlcyBmcm9tIHRoZSBzcGVjaWZpZWQgbG9jYXRpb24ocykuICBIaWVyYXJjaHkgbmFtZXMgbXVzdCBiZSB1bmlxdWUsIGFuZCBub3QgY29udGFpbiBhbnkgc3BlY2lhbCBjaGFycy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHNob3dhbGw9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGNhdGVnb3J5bGlzdCBhbmQgZmllbGRsaXN0IGFjdGlvbnMsIGlmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIG5vbiAwIGludGVnZXIgdmFsdWUgYWxsIGNhdGVnb3JpZXMgKGV2ZW4gdGhvc2Ugd2l0aG91dCBpdGVtcykgd2lsbCBiZSBkaXNwbGF5ZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWVsZD0iIiAtIFVzZWQgaW4gdGhlIDxlbT5maWVsZGxpc3Q8L2VtPiBhbmQgdGhlIDxlbT5hamF4X3Byb3B2YWw8L2VtPiBhY3Rpb25zLiBJbiB0aGUgZmllbGRsaXN0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiBhIHVzZXIgZGVmaW5lZCBwcm9wZXJ0eSB0byBjcmVhdGUgYSBsaXN0IGZyb20uICBJbiB0aGUgYWpheF9wcm9wdmFsIGFjdGlvbiB0aGlzIHBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hpY2ggZmllbGQgdG8gdXNlIHRvIGV4dHJhY3QgYSBsaXN0IG9mIHZhbHVlcy4gIEFueSB2YWxpZCBmaWVsZCBuYW1lcyBhcmUgYWNjZXB0ZWQgKHRob3VnaCBvbmx5IHRleHQgZmllbGQgYW5kIGRyb3Bkb3duIGZpZWxkIG5hbWVzIHdpbGwgd29yayBwcm9wZXJseS4gIEFkZGl0aW9uYWxseSB0aGUgc3BlY2lhbCB2YWx1ZXMgOjpuYW1lOjosIDo6c2t1OjosIGFuZCA6OmFsaWFzOjogY2FuIGJlIHNwZWNpZmllZCB0byByZXR1cm4gdmFsdWVzIGZyb20gdGhlIGl0ZW0gbmFtZSwgc2t1IGFuZCBhbGlhcyByZXNwZWN0aXZlbHkuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWVsZHZhbD0iIiAtIFVzZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gYW5kIDxlbT5hamF4X3Byb3B2YWw8L2VtPiBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGZpZWxkIHZhbHVlIHRvIGxpbWl0IHJlc3VsdHMgYnkuICBJbiB0aGUgZGVmYXVsdCB2YWx1ZSB0aGVzZSBzcGVjaWFsIHZhbHVlcyBhcmUgYWNjZXB0ZWQ6ICZxdW90Ozo6bnVsbDo6JnF1b3Q7ICZxdW90Ozo6bm90bnVsbDo6JnF1b3Q7LiBJbiB0aGUgYWpheF9wcm9wdmFsIGFjdGlvbiB0aGlzIGZpZWxkIGlzIGV4cGVjdGVkIHRvIGNvbnRhaW4gb25seSBhIGZldyBsZXR0ZXJzLCB0byBpbmRpY2F0ZSBhIHNtYWxsIGZpbHRlci4gIGkuZTogZmllbGR2YWw9YiB0byByZXR1cm4gYWxsIGZpZWxkIHZhbHVlcyB0aGF0IGJlZ2luIHdpdGggdGhlIGxldHRlciBiLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gY2F0ZWdvcnlmaWVsZD0iIiAtIEFwcGxpY2FibGUgb25seSB0byB0aGUgJnF1b3Q7Y2F0ZWdvcnlsaXN0JnF1b3Q7IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgY2FuIGJlIHVzZWQgdG8gZmlsdGVyIGNhdGVnb3JpZXMgYmFzZWQgb24gdGhlIHZhbHVlIG9mIGEgY2F0ZWdvcnkgZmllbGQuICBJdCB3aWxsIG5vdCB3b3JrIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlICZxdW90O2NhdGVnb3J5JnF1b3Q7IG9yICZxdW90O2NhdGVnb3J5X2lkJnF1b3Q7IHBhcmFtZXRlcnMuICAgVGhlIHN5bnRheCBvZiB0aGlzIHBhcmFtZXRlciBpcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGZpZWxkIG5hbWVzLCBhbmQgZmllbGQgdmFsdWVzLiAgaS5lOiAgY2F0ZWdvcnlsaXN0PSZxdW90O2ZpZWxkIG5hbWU6dmFsdWUsZmllbGQgbmFtZSAyOnZhbHVlIDImcXVvdDs8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGlubGluZT0iMCIgLSBVc2VmdWwgb25seSB3aXRoIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCB0aGUgb3V0cHV0IG9mIHRoZSBzdW1tYXJ5IHZpZXcgc2hvdWxkIGJlIGRpc3BsYXllZCBpbmxpbmU8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHJlc3VsdHBhZ2U9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCwgYW5kIGNhdGVnb3J5IGxpc3QgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGEgcGFnZSBpZCBvciBhbGlhcyB0byB1c2UgdG8gZGlzcGxheSB0aGUgc3VtbWFyeSByZXN1bHRzPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzZWFyY2hmb3JtdGVtcGxhdGU9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXNwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzZWFyY2ggZm9ybSB0ZW1wbGF0ZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2VhcmNoZmllbGQ9IiIgLSBBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIG1heSBjb250YWluIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZmllbGQgbmFtZXMgdG8gaW5jbHVkZSBpbiB0aGUgc2VhcmNoPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzdW1tYXJ5cGFnZT0iQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBhY3Rpb249aGllcmFyY2h5LCBhbGxvd3Mgc3BlY2lmeWluZyBhIHBhZ2UgaWQgb3IgYWxpYXMgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGFueSBsaW5rcyB0byBzdW1tYXJ5IHZpZXciIC0gPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwcm9kdWN0bGlzdD0iQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGludGVnZXIgcHJvZHVjdCBpZHMgdG8gZGlzcGxheS4gIE5vIHBhZ2luYXRpb24gb3Igc29ydGluZyBpcyBwZXJmb3JtZWQgb24gdGhlc2UgdmFsdWVzLCBhbmQgaWYgc3BlY2lmaWVkIHRoZSBvdGhlciBmaWx0ZXJpbmcgcGFyYW1ldGVycyB0byB0aGUgc3VtbWFyeSB2aWV3IGFyZSBpZ25vcmVkLiIgLSA8L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDIuMTkuNjxiciAvPjxiciAvPkNoYW5nZSBIaXN0b3J5OjxiciAvPjx1bD4KPGxpPlZlcnNpb24gMS4wIC0gRGVjZW1iZXIsIDIwMDcKICAgPHA+SW5pdGlhbCBSZWxlYXNlPC9wPgo8L2xpPgo8bGk+VmVyc2lvbiAxLjAuMSAtIEphbnVhcnksIDIwMDgKICAgPHVsPgogICAgIDxsaT5BZGRzIHBhZ2luYXRpb24gaW4gc3VtbWFyeSB2aWV3PC9saT4KICAgICA8bGk+Rml4ZXMgYSBwcm9ibGVtIHdpdGggZHVwbGljYXRlIGxpbmtzIGluIHN1bW1hcnkgdmlldzwvbGk+CiAgIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMCAtIEFwcmlsLCAyMDA4CiAgPHVsPgogICAgIDxsaT5BZGRzIGhpZXJhcmNoaWNhbCBjYXRlZ29yaWVzIGFzIHdlbGwgYXMgdGhlIG9yaWdpbmFsICd0YWcnIGJhc2VkIGNhdGVnb3JpZXMuPGJyLz4KICAgICAgICAgSGllcmFyY2hpY2FsIGNhdGVnb3JpZXMgY2FuIGhhdmUgYW4gaW1hZ2UgYXMgd2VsbCBhcyBhIGRlc2NyaXB0aW9uLjwvbGk+CiAgICAgPGxpPkFkZHMgbW9yZSBjdXN0b20gZmllbGQgdHlwZXMgKGltYWdlLCBkcm9wZG93bik8YnIvPgogICAgICAgICBJbmNsdWRpbmcgdGh1bWJuYWlsIGdlbmVyYXRpb24uPC9saT4KICAgICA8bGk+UmVtb3ZlIHRoZSBvcmlnaW5hbCBpbWFnZSBmaWVsZHM8L2xpPgogICAgIDxsaT5BZGRzIFNlYXJjaCBtb2R1bGUgY2FwYWJpbGl0eTwvbGk+CiAgICAgPGxpPkFkZHMgYSBoaWVyYXJjaGljYWwgY2F0ZWdvcnkgdmlldyB3aXRoIGRyaWxsIGRvd24gc3VwcG9ydDwvbGk+CiAgICAgPGxpPk11Y2gsIG11Y2ggbW9yZTwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4wLjEgLSBBcHJpbCwgMjAwOAogIDx1bD4KICAgICA8bGk+Rml4ZXMgbnVtZXJvdXMgc21hbGwgZXJyb3JzLjwvbGk+CiAgICAgPGxpPkZpeCB0byBhbGxvdyBzcGFjZXMgYW5kIG90aGVyIGNoYXJhY3RlcnMgaW4gaGllcmFyY2h5IG5hbWVzPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjAuMiAtIEF1Z3VzdCwgMjAwOAogIDx1bD4KICAgICA8bGk+QnVnIGZpeGVzPC9saT4KICAgICA8bGk+Tm93IFJlcXVpcmUgQ0dFeHRlbnNpb25zIDEuOTwvbGk+CiAgICAgPGxpPkFkZCBhIGN1cnJlbmN5IGNvZGUgcHJlZmVyZW5jZTwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xLjEgLSBTZXB0ZW1iZXIsIDIwMDgKICA8dWw+CiAgICAgPGxpPkJ1ZyBmaXhlczwvbGk+CiAgICAgPGxpPkFkZCB0aGUgYWJpbGl0eSB0byBhc3NvY2lhdGUgc3RhdGljIGRhdGEgd2l0aCBhbnkgY2F0ZWdvcnk8L2xpPgogICAgIDxsaT5BZGQgdGhlIGFiaWxpdHkgdG8gY29weSBjYXRlZ29yaWVzPC9saT4KICAgICA8bGk+QWRkIHRoZSBvcHRpb25hbCBhYmlsaXR5IHRvIHdhdGVybWFyayB1cGxvYWRlZCBhYmlsaXRpZXMuPC9saT4KICAgICA8bGk+QWRkIHRoZSBvcHRpb25hbCBhYmlsaXR5IHRvIGNoYW5nZSB0aGUgbG9jYXRpb24gb2YgdGhlIHdhdGVybWFyayBpbiB1cGxvYWRlZCBpbWFnZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEuMiAtIFNlcHRlbWJlciwgMjAwOAogIDx1bD4KICAgIDxsaT5VcGRhdGUgZGVwZW5kZW5jaWVzLCBhbmQgcmVtb3ZlIGRlYnVnIHN0YXRlbWVudHMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEuMyAtIFNlcHRlbWJlciwgMjAwOAogIDx1bD4KICAgIDxsaT5NaW5vciBCdWdmaXhlczwvbGk+CiAgICA8bGk+Q2hhbmdlIHRoZSBkZWxpbWl0ZXIgb24gdGhlIGF0dHJpYnV0ZXMgZHJvcGRvd248L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMiAtIERlY2VtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPk51bWVyb3VzIEJ1Z2ZpeGVzPC9saT4KICAgIDxsaT5Qcm9kdWN0cyBtb2R1bGUgbm93IGhhcyBhIENhcnQgbW9kdWxlIHByZWZlcmVuY2UsIHdoZXJlIHlvdSBjYW4gcGljayBmcm9tIHRoZSBhdmFpbGFibGUgY2FydCBtb2R1bGVzLjwvbGk+CiAgICA8bGk+TW9kaWZ5IGRlZmF1bHQgdGVtcGxhdGVzIHNvIHRoYXQgdGhlIGNhcnQgbW9kdWxlIHByZWZlcmVuY2UgaXMgdXNlZC48L2xpPgogICAgPGxpPlJlbW92ZSBhbGwgcmVmZXJlbmNlcyB0byB0YXhlcyBvciBzaGlwcGluZyBtb2R1bGVzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4yLjEgLSBKYW51YXJ5LCAyMDA4CiAgPHVsPgogICAgPGxpPkFkZCBhYmlsaXR5IHRvIHNvcnQgYnkgd2VpZ2h0LjwvbGk+CiAgICA8bGk+QWRkIGJyZWFkY3J1bWJzIHRvIGRldGFpbCB2aWV3LjwvbGk+CiAgICA8bGk+QWRkIGNhdGVnb3J5IGluZm9ybWF0aW9uIHRvIHN1bW1hcnkgdmlldy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMi4yIC0gSmFudWFyeSwgMjAwOAogIDx1bD4KICAgIDxsaT5GaXggbWlub3IgcHJvYmxlbSB3aXRoIGNhdGVnb3J5IGluZm9ybWF0aW9uIGluIHN1bW1hcnkgdmlldy48L2xpPgogICAgPGxpPkFkZCBjb25zaXN0ZW50IG9yZGVyaW5nIHRvIEdldENhdGVnb3JpZXNGb3JQcm9kdWN0PC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjIuNCAtIEZlYnJ1YXJ5LCAyMDA4CiAgPHVsPgogICAgPGxpPkFkZCBJRCB0byB0aGUgaGllcmFyY2h5IHRhYjwvbGk+CiAgICA8bGk+QWRkIHRoZSB7JHBhcmVudH0gdmFyaWFibGUgdG8gdGhlIGhpZXJhcmNoeSBkaXNwbGF5LjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4zIC0gTWFyY2gsIDIwMDgKICA8dWw+CiAgICA8bGk+QWRkIENTViBJbXBvcnQ8L2xpPgogICAgPGxpPkFkZCBpbmRleGVzIHRvIHRoZSB0YWJsZXMsIHNob3VsZCByZXN1bHQgaW4gYSBtYXNzaXZlIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50LjwvbGk+CiAgICA8bGk+QWRkIEV4dHJhMSBhbmQgRXh0cmEyIGZpZWxkcyB0byB0aGUgaGllcmFyY2h5IGRlZmluaXRpb24uPC9saT4KICAgIDxsaT5GaXhlcyBwcm9ibGVtcyB3aXRoIGRhdGVzCiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4zLjEgLSBNYXJjaCwgMjAwOAogIDx1bD4KICAgIDxsaT5GaXhlcyB0byBDU1YgSW1wb3J0PC9saT4KICAgIDxsaT5CdW1wIG1pbmltdW0gQ01TIFZlcnNpb24gdG8gMS41LjM8L2xpPgogICAgPGxpPkJ1Z2ZpeGVzIHRvIGVkaXQgYXR0cmlidXRlIHNldC48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNCAtIEp1bHksIDIwMDgKICA8dWw+CiAgICA8bGk+Rml4ZXMgRWRpdCBBdHRyaWJ1dGUgU2V0IFByb2JsZW08L2xpPgogICAgPGxpPkFkZHMgR2V0Q2F0ZWdvcnkoKSBtZXRob2QuPC9saT4KICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjQuMiAtIEp1bHksIDIwMDgKICA8dWw+CiAgICA8bGk+QWRkcyBjb252ZW5pZW5jZSBmdW5jdGlvbnMgZm9yIHVzZSBieSB0aGUgUHJvbW90aW9ucyBhbmQgb3RoZXIgbW9kdWxlcy48L2xpPgogICAgPGxpPkZpeGVzIG1pbm9yIGJ1Z3MuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjQuNCAtIFNlcHRlbWJlciwgMjAwOAogIDx1bD4KICAgIDxsaT5GaXhlcyBtaW5vciBidWdzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi40LjUgLSBOb3ZlbWJlciwgMjAwOAogIDx1bD4KICAgIDxsaT5NaW5vciBzbWFydHkgaW1wcm92ZW1lbnRzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi40LjcgLSBEZWNlbWJlciwgMjAwOAogIDx1bD4KICAgIDxsaT5BZGRzIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRlbXBsYXRlIGZvciBwcm9kdWN0IGF0dHJpYnV0ZSB2YWx1ZSBkaXNwbGF5IGluIHRoZSBkcm9wZG93bnMuPC9saT4KICAgIDxsaT5BZGRzIHRoZSBzaG93YWxsIHBhcmFtZXRlciAob3B0aW9uYWwpIHRvIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi40LjggLSBKYW51YXJ5LCAyMDA5CiAgPHVsPgogICAgPGxpPkFkZHMgaGFuZGxpbmcgZm9yIGRpcmVjdCBhY2Nlc3MgdG8gZGlzYWJsZWQvZGVsZXRlZC9pbnZhbGlkIHByb2R1Y3QgZGV0YWlsIHZpZXdzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi41LjEgLSBGZWJydWFyeSwgMjAxMAogIDx1bD4KICAgIDxsaT5JbXByb3ZlbWVudHMgZm9yIE1BQyBmb3JtYXQgQVNDSUkgY3N2IGZpbGVzLjwvbGk+CiAgICA8bGk+QWRkcyBwcm9kdWN0IGFsaWFzIG1lY2hhbmlzbS48L2xpPgogICAgPGxpPkFkZHMgYnJlYWRjcnVtYiBzdXBwb3J0IGludG8gdGhlIGRldGFpbCB2aWV3LjwvbGk+CiAgICA8bGk+QWRkcyBwcmV0dHkgdXJsIHN1cHBvcnQgaW50byB0aGUgc2VhcmNoIHJlc3VsdHMuPC9saT4KICAgIDxsaT5BZGRzIGNhbm9uaWNhbCBzdXBwb3J0IGludG8gdGhlIGRldGFpbCB2aWV3LjwvbGk+CiAgICA8bGk+QWRkcyBTS1Ugc3VwcG9ydC48L2xpPgogICAgPGxpPkJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNiAtIE1hcmNoLCAyMDE5CiA8dWw+CiAgIDxsaT5Nb2RpZmljYXRpb25zIHRvIHdvcmsgd2l0aCBuZXcgRS1jb21tZXJjZSBzZXR1cC48L2xpPgogICA8bGk+TWFueSBidWcgZml4ZXMuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNi4xIC0gQXByaWwsIDIwMTkKIDx1bD4KICAgPGxpPkJ1ZyBGaXhlcy48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi42LjIgLSBBcHJpbCwgMjAxOQogPHVsPgogICA8bGk+QnVnIEZpeGVzLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjcgLSBBcHJpbCwgMjAxOQogPHVsPgogICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBzb3J0IHN1bW1hcnkgdmlld3MgYnkgY3VzdG9tIGZpZWxkcy48L2xpPgogICA8bGk+QWRkcyB0aGUgZmllbGRsaXN0IGFjdGlvbiB0byBhbGxvdyBjcmVhdGluZyBuYXZpZ2F0aW9ucyBvbiBjdXN0b20gZmllbGRzLjwvbGk+CiAgIDxsaT5BZGRzIHNlYXJjaCBhY3Rpb24gdG8gYWxsb3cgc2VhcmNoaW5nIHByb2R1Y3RzLjwvbGk+CiAgIDxsaT5SZW1vdmUgY3VycmVuY3kgY29kZSBhbmQgb3RoZXIgcHJlZmVyZW5jZXMgdGhhdCBhcmUgbm93IGluIENHRWNvbW1lcmNlQmFzZS4uLiB3ZWxsIGlmIENHRWNvbW1lcmNlQmFzZSBpcyBpbnN0YWxsZWQgYW55d2F5cy48L2xpPgogICA8bGk+UmVtb3ZlIHNvbWUgcHJlZmVyZW5jZXMgYW5kIHRlbXBsYXRlcyB0aGF0IGFyZSBub3cgaG9zdGVkIGluIENHRWNvbW1lcmNlQmFzZS48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi43LjEgLSBBcHJpbCwgMjAxMAogPHVsPgogICA8bGk+QWRkcyBhIHJldHVybiBsaW5rIHRvIHRoZSBjYXRlZ29yeSBmaWVsZHMgZWRpdCBwYWdlLjwvbGk+CiAgIDxsaT5BZGRzIGEgZGV0YWlsX3VybCBwYXJhbSB0byB0aGUgY2F0ZWdvcnkgbGlzdCB2aWV3LjwvbGk+CiAgIDxsaT5BZGRzIHRoZSBjYXRlZ29yeWxpc3RkdGx0ZW1wbGF0ZSBwYXJhbS48L2xpPgogICA8bGk+Q2F0ZWdvcnkgTGlzdCB2aWV3IG5vdyB1c2VzIHRoZSByZXN1bHRwYWdlIHBhcmFtZXRlciBieSBkZWZhdWx0LjwvbGk+CiAgIDxsaT5GaXhlcyBhIHByb2JsZW0gd2l0aCBkZWxldGluZyBmaWxlcyBpbiB0aGUgZWRpdCBwcm9kdWN0IHBhZ2UuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNy4zIC0gQXByaWwsIDIwMTAKIDx1bD4KICAgPGxpPlJlbW92ZSB0aGUgaW1hZ2Ugd2hlbiByZW1vdmluZyB0aGUgaGllcmFyY2h5IGl0ZW0uPC9saT4KICAgPGxpPkltcHJvdmVtZW50cyB0byBjYXRlZ29yeSBmaWVsZCBvcmRlcmluZy48L2xpPgogICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byByZW5hbWUgY2F0ZWdvcnkgZmllbGRzLjwvbGk+CiAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNy40IC0gQXByaWwsIDIwMTAKIDx1bD4KICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi43LjUgLSBNYXksIDIwMTAKIDx1bD4KICAgPGxpPkZpeGVzIHByb2JsZW0gd2l0aCBzZWFyY2ggdGVtcGxhdGVzIG9uIHVwZ3JhZGUuPC9saT4KICAgPGxpPkFkZHMgY2F0ZWdvcnkgZmllbGQgcmVvcmRlcmluZy48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi43LjYgLSBNYXksIDIwMTAKIDx1bD4KICAgPGxpPkZpeGVzIHRvIGNhdGVnb3J5IGZpZWxkIHJlLW9yZGVyaW5nLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjggLSBNYXksIDIwMTAKIDx1bD4KICAgPGxpPkFkZHMgYSB0cnVlIGhpZXJhcmNoeSBtb2RlLjxici8+CiAgICAgICA8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoaXMgd2lsbCBicmVhayBleGlzdGluZyBzaXRlcyB1c2luZyB0aGUgb2xkZXIgaGllcmFyY2h5IHZpZXcuICBZb3Ugc2hvdWxkIHJlYWQgdGhlIGhlbHAgZm9yIGluZm9ybWF0aW9uIGFzIHRvIGhvdyB0byB1c2UgdGhlIG5ldyB2aWV3LjwvbGk+CiAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGFkZCBjdXN0b20gZmllbGRzIHRvIHRoZSBhZG1pbiBzaWRlIHByb2R1Y3QgdGFibGUgdmlldy48L2xpPgogICA8bGk+SW1wcm92ZXMgdGhlIENTViBpbXBvcnQgZnVuY3Rpb24uPC9saT4KICAgPGxpPkFkZHMgYSBuZXcgZGltZW5zaW9uIGRhdGEgZmllbGQuPC9saQogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi44LjEgLSBNYXksIDIwMTAKIDx1bD4KICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcyB0byBhZG1pbiBkaXNwbGF5LjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjguMiAtIE1heSwgMjAxMAogPHVsPgogICA8bGk+Rml4IHRvIGRlZmF1bHQgaGllcmFyY2h5IHRlbXBsYXRlLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjguMiAtIE1heSwgMjAxMAogPHVsPgogICAgPGxpPkFkZHMgc3Vic2NyaXB0aW9uIGZpZWxkIHR5cGUuPC9saT4KICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICAgIDxsaT5BZGRlZCBzdXBwb3J0IGZvciBmaWVsZHZhbD0nOjpub3RudWxsOjonIG9uIHRoZSBzdW1tYXJ5IHZpZXcuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuOC4zIC0gSnVseSwgMjAxMAogPHVsPgogICAgPGxpPlJlbW92ZXMgdGhlIHVzZW9sZGhpZXJhcmNoeSBwYXJhbSBmcm9tIHRoZSBoaWVyYXJjaHkgdmlldy48L2xpPgogICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gZmlsdGVyIHRoZSBvdXRwdXQgaW4gdGhlIGNhdGVnb3J5bGlzdCB2aWV3LjwvbGk+CiAgICA8bGk+TWlub3IgYnVnIGZpeGVzLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjguNCAtIFNlcHRlbWJlciwgMjAxMAogPHVsPgogICAgPGxpPkFkZHMgYSBwcmVmZXJlbmNlIGZvciB0aGUgZGVmYXVsdCBwYWdlIGxpbWl0IGluIHN1bW1hcnkgbW9kZS48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi44LjUgLSBTZXB0ZW1iZXIsIDIwMTAKIDx1bD4KICAgIDxsaT5BZGRzIHNvcnRpbmcgY2FwYWJpbGl0aWVzIHRvIHRoZSBjYXRlZ29yeWxpc3Qgdmlldy48L2xpPgogICAgPGxpPlJlLXdvcmtzIHRoZSBoaWVyYXJjaHkgdmlldyAoYWdhaW4pLiAgVGVtcGxhdGVzIHdpbGwgbmVlZCB0byBjaGFuZ2UuPC9saT4KICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGV4cGxpY2l0bHkgbGlzdCBoaWVyYXJjaHkgaXRlbXMgaW4gdGhlIGhpZXJhcmNoeSB2aWV3LjwvbGk+CiAgICA8bGk+QWRkcyBjb21tYSBzZXBhcmF0ZWQgaGllcmFyY2h5IGNhcGFiaWxpdHkgdG8gdGhlIGRlZmF1bHQgc3VtbWFyeSB2aWV3LjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjguNiAtIFNlcHRlbWJlciwgMjAxMAogPHVsPgogICA8bGk+Rml4ZXMgdG8gQ1NWIGltcG9ydCBzdHVmZi48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi45IC0gRGVjZW1iZXIsIDIwMTAKIDx1bD4KICAgPGxpPkZpeGVzIHNvbWUgaXNzdWVzIHJlbGF0ZWQgdG8gRV9TVFJJQ1QgYW5kIEVfREVQUkVDQVRFRDwvbGk+CiAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGNvcHkgYXR0cmlidXRlIHNldHMgZnJvbSBhbm90aGVyIHByb2R1Y3QuPC9saT4KICAgPGxpPkZpeGVzIHRvIENTViBpbXBvcnQgc3R1ZmYuPC9saT4KICAgPGxpPkZpeGVzIHRvIGVudGVyaW5nIGEgc2t1IGluIGF0dHJpYnV0ZXMuPC9saT4KICAgPGxpPkFkZHMgaGllcmFyY2h5IGluZm9ybWF0aW9uIHRvIHNlYXJjaCwgc3VtbWFyeSBhbmQgZGV0YWlsIHZpZXdzLjwvbGk+IAogICA8bGk+Rml4ZXMgYW4gaXNzdWUgd2l0aCBwYWdpbmF0aW9uIGluIHRoZSBhZG1pbiBwYW5lbCBwcm9kdWN0cyB0YWIuPC9saT4KICAgPGxpPkZpeGVzIGFuIGlzc3VlIHdpdGggcGFnZSBjb3VudHMgaW4gdGhlIHByb2R1Y3RzIHRhYiB3aGVuIGEgY3VzdG9tIGZpZWxkIGlzIGFkZGVkIHRvIHRoZSB2aWV3IGxpc3QuPC9saT4KICAgPGxpPk1hbnkgbW9yZSBidWcgZml4ZXMgYW5kIG1pbm9yIGltcHJvdmVtZW50cy48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xMC4yIC0gSmFudWFyeSwgMjAxMQogPHVsPgogICA8bGk+QWRkcyBjYW5vbmljYWwgVVJMIHRvIHRoZSBoaWVyYXJjaHkgaXRlbSwgaW4gdGhlIGhpZXJhcmNoeSB2aWV3LjwvbGk+CiAgIDxsaT5BZGRzIHRoZSBwcm9kdWN0bGlzdCBwYXJhbWV0ZXIgdG8gb3V0cHV0IGEgc3VtbWFyeSB2aWV3IG9mIHNwZWNpZmljIHByb2R1Y3RzLiAgRG9lcyBub3QgcHJvdmlkZSBwYWdpbmF0aW9uIG9yIHNvcnRpbmcuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMTAuMyAtIEZlYnJ1YXJ5LCAyMDExCiA8dWw+CiAgIDxsaT5GaXhlcyBidWcgd2l0aCBkZWZhdWx0IHZpZXcuLi4uIHRoYW5rcyBzdGlra2k8L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xMC40IC0gTWF5LCAyMDExCiA8dWw+CiAgIDxsaT5NaW5vciBmaXggdG8gdGhlIHVuaW5zdGFsbGVyLjwvbGk+CiAgIDxsaT5BZGRzIHRoZSBjYXRlZ29yeWZpZWxkIHBhcmFtZXRlciB0byB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbi48L2xpPgogICA8bGk+Rml4ZXMgYSBwcm9ibGVtIHdpdGggY2F0ZWdvcnkgZmllbGRzIHdoZW4gY29weWluZyBhIGNhdGVnb3J5LjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEwLjUgLSBNYXksIDIwMTEKIDx1bD4KICAgPGxpPk1pbm9yZXMgZml4IHRvIGNhdGVvZ3J5IGZpZWxkcy48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xMSAtIE1heSwgMjAxMQogIDx1bD4KICAgIDxsaT5BZGRzIHRoZSAmcXVvdDtleGNsdWRlY2F0JnF1b3Q7IHBhcmFtZXRlci48L2xpPgogICAgPGxpPlJlbW92ZXMgc29tZSBlcnJhbnQgZGVidWcgc3RhdGVtZW50cyBpbiB0aGUgY2F0ZWdvcnlsaXN0IHZpZXcuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEyIC0gTWF5LCAyMDExCiAgPHVsPgogICAgPGxpPlRoZXJlIGlzIG5vdyBhbiBvcHRpb24gdG8gbWFrZSBzdXJlIHRoYXQgdGhlIFNLVSBpcyByZXF1aXJlZCB3aGVuIGFkZGluZy9lZGl0aW5nIHByb2R1Y3RzL2F0dHJpYnV0ZXMuPC9saT4KICAgIDxsaT5UaGUgaW1hZ2UgdGh1bWJuYWlsLCBwcmV2aWV3LCBhbmQgd2F0ZXJtYXJraW5nIHN0dWZmIGlzIG5vdyBERVBSRUNBVEVELjwvbGk+CiAgICA8bGk+QWRkZWQgdGhlIGF0dHJpYnNfZnVsbCBzdHVmZiBpbnRvIHRoZSBkZXRhaWwgYW5kIHN1bW1hcnkgdmlld3MuICAgdGhlIGF0dHJpYnV0ZXMgbWVtYmVyIG9mIG91dHB1dCBvYmplY3RzIGlzIGRlcHJlY2F0ZWQuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEyLjEgLSBNYXksIDIwMTEKICA8dWw+CiAgICA8bGk+QWRkcyBjYWNoaW5nIGZvciBmaWVsZCBkZWZpbml0aW9ucy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMTMgLSBKdWx5LCAyMDExCiAgPHVsPgogICA8bGk+QWRkcyBidWxrIGFjdGlvbnMgaW4gdGhlIHByb2R1Y3QgbGlzdC48L2xpPgogICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBleGNsdWRlIHByb2R1Y3RzIGluIGNlcnRhaW4gY2F0ZWdvcmllcyBmcm9tIHRoZSBwcm9kdWN0IGxpc3QuPC9saT4KICAgPGxpPk51bWVyb3VzIG1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMTMuMSAtIEp1bHksIDIwMTEKICA8dWw+CiAgIDxsaT5CdWcgRml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEzLjIgLSBKdWx5LCAyMDExCiAgPHVsPgogICA8bGk+QnVnIEZpeGVzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xMy4zIC0gQXVndXN0LCAyMDExCiAgPHVsPgogICA8bGk+QnVnIEZpeGVzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xNCAtIEF1Z3VzdCwgMjAxMQogIDx1bD4KICAgPGxpPkFkZHMgZnVuY3Rpb25hbGl0eSBmb3IgZHluYW1pY2FsbHkgcmVvcmdhbml6aW5nIHRoZSBoaWVyYXJjaHkgdHJlZS48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMTUgLSBBdWd1c3QsIDIwMTEKICA8dWw+CiAgICA8bGk+QWRkcyBhIHNpbXBsZSBxdWFudGl0eS1vbi1oYW5kIGZpZWxkLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xNiAtIEF1Z3VzdCwgMjAxMQogIDx1bD4KICAgIDxsaT5WYXN0bHkgaW1wcm92ZWQgc2VhcmNoIGNhcGFiaWxpdGllcy4gIE5vdGU6IGV4aXN0aW5nIHRlbXBsYXRlcyB3aWxsIG5lZWQgdG8gYmUgdXBkYXRlZCBhcyBmaWVsZCBuYW1lcyBoYXZlIGNoYW5nZWQuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjE3IC0gTWFyY2gsIDIwMTIKICA8dWw+CiAgICA8bGk+TnVtZXJvdXMgYnVnIGZpeGVzLjwvbGk+CiAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBkdXBsaWNhdGUgYSBwcm9kdWN0LjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xOC4yIC0gSnVuZSwgMjAxMgogIDx1bD4KICAgIDxsaT5DcmVhdGVzIGEgbmV3IGZsZXhpYmxlIHF1ZXJ5IGNsYXNzIGFuZCBtYXRjaGluZyByZXN1bHRzZXQgY2xhc3MuPC9saT4KICAgIDxsaT5EcmFtYXRpYyBwZXJmb3JtYW5jZSBpbXByb3ZtZW50IGZvciBzdW1tYXJ5IHZpZXdzLjwvbGk+CiAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBleHBvcnQgcHJvZHVjdCBpbmZvcm1hdGlvbiB0byBjc3YuPC9saT4KICAgIDxsaT5NYW55IGltcHJvdmVtZW50cyB0byBDU1YgaW1wb3J0LjwvbGk+CiAgICA8bGk+QWRkcyBhbiBvcHRpb25hbCBuZXcgZGVmYXVsdCBhY3Rpb24gd2hpY2ggc2hvdWxkIGJlIG11Y2ggZmFzdGVyLiAgT3JpZ2luYWwgZGVmYXVsdCBhY3Rpb24gd2lsbCBiZSByZW1vdmVkIG92ZXIgdGltZS48L2xpPgogICAgPGxpPkhlbHAgaXMgbm93IGluIGl0cyBvd24gZmlsZS48L2xpPgogICAgPGxpPkFkZCB0aGUgJ3BhcmVudHMnIHBhcmFtZXRlciB0byB0aGUgaGllcmFyY2h5IGFjdGlvbi48L2xpPgogICAgPGxpPk51bWVyb3VzIGNhY2hpbmcgb3B0aW1pemF0aW9ucy48L2xpPgogICAgPGxpPk1vcmUgaW5kZXhlcyBvbiB0aGUgcHJvZHVjdHMgdGFibGUgZHVyaW5nIGluc3RhbGwuPC9saT4KICAgIDxsaT5MYW5ndWFnZSBjaGFuZ2UuLi4gaW4gbW9zdCBwbGFjZXMsIHByb2R1Y3RzIGFyZSBub3cgcmVmZXJyZWQgdG8gYXMgJnF1b3Q7aXRlbXMmcXVvdDs8L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMTguMyAtIEp1bHksIDIwMTIKICA8dWw+CiAgICA8bGk+TWlub3IgRml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjE5LnggLSBEZWNlbWJlciwgMjAxMgogIDxwPjxzdHJvbmc+Tk9URTogQ09NUEFUSUJJTElUWSBCUk9LRU4uICBTT01FIENIQU5HRVMgUkVRVUlSRUQuPC9zdHJvbmc+PC9wPgogIDxwPjxzdHJvbmc+Tk9URTogUEhQIDUuMy54IElTIFJFUVVJUkVELjwvc3Ryb25nPjwvcD4KICA8dWw+CiAgICA8bGk+UmVtb3ZlcyB0aGUgZW50aXJlIGF0dHJpYnV0ZSBtZWNoYW5pc20gYW5kIHJlcGxhY2VzIGl0IHdpdGggYSBmbGF0IGxpc3Qgb2Ygb3B0aW9ucy4KICAgICAgPHA+VGhpcyBtZWFucyB0aGF0IHNob3BzIHVzaW5nIHRoZSBhdHRyaWJ1dGVzIHdpbGwgbmVlZCB0byBhZGp1c3QgdGhlaXIgcHJvZHVjdHMgYmVjYXVzZSBpbnN0ZWFkIG9mIGhhdmluZyBtdWx0aXBsZSAmcXVvdDthdHRyaWJ1dGVzJnF1b3Q7IHRoZXJlIGlzIG5vdyBvbmUgZmxhdCBsaXN0IG9mIG9wdGlvbnMgd2l0aCBhIHNpbXBsZSB0ZXh0IGZpZWxkIHRvIGRlc2NyaWJlIHRoZW0uPC9wPgogICAgICA8cD5BZGRpdGlvbmFsbHksIHN1bW1hcnkgYW5kIGRldGFpbCB0ZW1wbGF0ZXMgd2hlcmUgYXR0cmlidXRlcyB3ZXJlIGRpc3BsYXllZCB3aWxsIG5lZWQgYWRqdXN0bWVudC48L3A+CiAgICA8L2xpPgogICAgPGxpPlNLVXMgYXJlIG5vdyByZXF1aXJlZCBieSBkZWZhdWx0IChhcyB0aGV5IGFyZSBuZWVkZWQgZm9yIHRoZSBDYXJ0MiBtb2R1bGUpPC9saT4KICAgIDxsaT5OdW1lcm91cyBidWcgZml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8L3VsPgo8YnIgLz4=]]></about>
	<description><![CDATA[A module for managing a catalog of items, their price, images, etc, and for allowing users to build a cart]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.32.5</requiredversion>
	</requires>
	<requires>
	  <requiredname>CGSimpleSmarty</requiredname>
	  <requiredversion>1.6.1</requiredversion>
	</requires>
	<requires>
	  <requiredname>JQueryTools</requiredname>
	  <requiredversion>1.2.4</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSkKewogIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CiAgcmV0dXJuOwogfQoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhdGVnb3JpZXMnKTsKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkKewogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KCiRuYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWyduYW1lJ10pKQp7CiAgJG5hbWUgPSAkcGFyYW1zWyduYW1lJ107Cn0KCiR1c2VyaWQgPSBnZXRfdXNlcmlkKCk7CgppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKQp7CiAgaWYgKCRuYW1lICE9ICcnKQogICAgewogICAgICAvLyBNYWtlIHN1cmUgYSBjYXRlZ29yeSBieSB0aGlzIG5hbWUgZG9lc24ndCBhbHJlYWR5IGV4aXN0CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBXSEVSRSBuYW1lID0gPyc7CiAgICAgICR2YWx1ZSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkbmFtZSkpOwogICAgICBpZiggJHZhbHVlICE9ICcnICkKCXsKCSAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnY2F0ZWdvcnlleGlzdHMnLCR2YWx1ZSkpOwoJfQogICAgICBlbHNlCgl7CgkgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgKG5hbWUsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/KSc7CgkgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRuYW1lLCB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgIiciKSwgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIikpKTsKCSAgCgkgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cgl9CiAgICB9CiAgZWxzZQogICAgewogICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdub25hbWVnaXZlbicpKTsKICAgIH0KfQoKI0Rpc3BsYXkgdGVtcGxhdGUKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkZGNhdGVnb3J5JywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25hbWV0ZXh0JywgJHRoaXMtPkxhbmcoJ25hbWUnKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaW5wdXRuYW1lJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICduYW1lJywgJG5hbWUsIDgwLCAyNTUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAnJyk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRjYXRlZ29yeS50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.addcategoryfield.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhdGVnb3JpZXMnKTsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CglyZXR1cm47Cn0KaWYoICFpc3NldCgkcGFyYW1zWydjYXRpZCddKSApCnsKICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgcmV0dXJuOwp9CgojCiMgSW5pdGlhbGl6YXRpb24KIwokY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwokY2F0aWQgPSAoaW50KSRwYXJhbXNbJ2NhdGlkJ107CiRmaWVsZHR5cGUgPSAndGV4dGJveCc7CiRmaWVsZG5hbWUgPSAnJzsKJGZpZWxkcHJvbXB0ID0gJyc7CiRmaWVsZHZhbHVlID0gJyc7CiRlZGl0aW5nID0gMDsKJG9sZF9maWVsZG5hbWUgPSAnJzsKaWYoIGlzc2V0KCRwYXJhbXNbJ2ZsZG5hbWUnXSkgKQp7CiAgJGZpZWxkbmFtZSA9IHRyaW0oJHBhcmFtc1snZmxkbmFtZSddKTsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyAKICAgICAgICAgICAgIFdIRVJFIGNhdGVnb3J5X2lkID0gPyBBTkQgZmllbGRfbmFtZSA9ID8nOwogICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGNhdGlkLCRmaWVsZG5hbWUpKTsKICAkZmllbGR0eXBlID0gJHJvd1snZmllbGRfdHlwZSddOwogICRmaWVsZHByb21wdCA9ICRyb3dbJ2ZpZWxkX3Byb21wdCddOwogICRmaWVsZHZhbHVlID0gJHJvd1snZmllbGRfdmFsdWUnXTsKICAkb2xkX2ZpZWxkbmFtZSA9ICRmaWVsZG5hbWU7CiAgJGVkaXRpbmcgPSAxOwp9CgojCiMgR2V0IFBhcmFtZXRlciBWYWx1cwojCmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9maWVsZHR5cGUnXSkgKQogIHsKICAgICRmaWVsZHR5cGUgPSAkcGFyYW1zWydpbnB1dF9maWVsZHR5cGUnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9maWVsZG5hbWUnXSkgKQogIHsKICAgICRmaWVsZG5hbWUgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRwYXJhbXNbJ2lucHV0X2ZpZWxkbmFtZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9maWVsZHByb21wdCddKSApCiAgewogICAgJGZpZWxkcHJvbXB0ID0gJHBhcmFtc1snaW5wdXRfZmllbGRwcm9tcHQnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9maWVsZHZhbHVlJ10pICkKICB7CiAgICAkZmllbGR2YWx1ZSA9ICRwYXJhbXNbJ2lucHV0X2ZpZWxkdmFsdWUnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydpbnB1dF9lZGl0aW5nJ10pICkKICB7CiAgICAkZWRpdGluZyA9IChpbnQpJHBhcmFtc1snaW5wdXRfZWRpdGluZyddOwogIH0KCiMgR2V0IHRoZSBjYXRlZ29yeSBkYXRhCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBXSEVSRSBpZCA9ID8nOwokY2F0ZWdvcnkgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGNhdGlkKSk7CiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnknLCRjYXRlZ29yeSk7CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3QoJGlkLCdlZGl0Y2F0ZWdvcnlmaWVsZHMnLCRyZXR1cm5pZCwKCQkgICAgYXJyYXkoJ2NhdGlkJz0+JGNhdGlkKSk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgIC8vCiAgICAvLyBWYWxpZGF0ZSBGb3JtIElucHV0CiAgICAvLwogICAgCiAgICAvLyBOYW1lIGNhbiBiZSBlbXB0eSAod2UnbGwgZ2VuZXJhdGUgb25lKQogICAgaWYoIGVtcHR5KCRmaWVsZG5hbWUpICkKICAgICAgewoJJHF1ZXJ5ID0gJ1NFTEVDVCBDT1VOVChjYXRlZ29yeV9pZCkrMSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcnlfZmllbGRzCiAgICAgICAgICAgICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOwoJJGZpZWxkbmFtZSA9ICdmaWVsZF8nLiRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKICAgICAgfQoKICAgIC8vIFByb21wdCBjYW4gYmUgZW1wdHkgKHdlJ2xsIHVzZSB0aGUgZmllbGQgbmFtZSkKICAgIGlmKCBlbXB0eSgkZmllbGRwcm9tcHQpICkKICAgICAgewoJJGZpZWxkcHJvbXB0ID0gJGZpZWxkbmFtZTsKICAgICAgfQoKICAgIC8vIHByb2Nlc3MgdXBsb2FkZWQgZmlsZXMKICAgICRlcnJvciA9ICcnOwogICAgc3dpdGNoKCRmaWVsZHR5cGUpCiAgICAgIHsKICAgICAgY2FzZSAnaW1hZ2UnOgoJLy8gaWYgYW4gaW1hZ2UgaGFzIGJlZW4gdXBsb2FkZWQKCS8vIHByb2Nlc3MgaXQKCS8vIG9wdGlvbmFsbHkgZ2VuZXJhdGUgYSB0aHVtYm5haWwKCS8vIGFuZCBzZXQgdGhlIGZpZWxkIHZhbHVlLgoJJGF0dHIgPSAnZGVmYXVsdCc7CglpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfd2F0ZXJtYXJrJ10pICkKCSAgewoJICAgICRhdHRyID0gJHBhcmFtc1snaW5wdXRfd2F0ZXJtYXJrJ107CgkgIH0KCSRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLCdjYXRlZ29yaWVzJywkY2F0aWQpOwoJJHJlcyA9ICR0aGlzLT5IYW5kbGVVcGxvYWRlZEltYWdlKCRpZCwnaW5wdXRfZmlsZScsJGRlc3RkaXIsJGVycm9yLCcnLCRhdHRyKTsKCWlmKCAkcmVzICE9PSBGQUxTRSAmJiAkcmVzICE9PSBUUlVFKQoJICB7CgkgICAgJGZpZWxkdmFsdWUgPSAkcmVzOwoJICB9CglicmVhazsKCiAgICAgIGNhc2UgJ2ZpbGUnOgoJLy8gaWYgYSBmaWxlIGhhcyBiZWVuIHVwbG9hZGVkCgkvLyBwcm9jZXNzIGl0CgkvLyBhbmQgc2V0IHRoZSBmaWVsZCB2YWx1ZQoJJGRlc3RkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCR0aGlzLT5HZXROYW1lKCksJ2NhdGVnb3JpZXMnLCRjYXRpZCk7CgljZ2VfZGlyOjpta2RpcnIoJGRlc3RkaXIpOwoJaWYoICFpc19kaXIoJGRlc3RkaXIpICkgZGllKCdkaXJlY3Rvcnkgc3RpbGwgZG9lcyBub3QgZXhpc3QnKTsKCSRoYW5kbGVyID0gbmV3IGNnX2ZpbGV1cGxvYWQoJGlkLCRkZXN0ZGlyKTsKCSRoYW5kbGVyLT5zZXRfYWNjZXB0ZWRfZmlsZXR5cGVzKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGxvd2VkX2ZpbGV0eXBlcycpKTsKCSRyZXMgPSAkaGFuZGxlci0+aGFuZGxlX3VwbG9hZCgnaW5wdXRfZmlsZScpOwoJJGVyciA9ICRoYW5kbGVyLT5nZXRfZXJyb3IoKTsKCWlmKCAhJHJlcyAmJiAkZXJyICE9IGNnX2ZpbGV1cGxvYWQ6Ok5PRklMRSApCgkgIHsKCSAgICAkZXJyb3IgPSBzcHJpbnRmKCIlcyAlczogJXMiLCR0aGlzLT5MYW5nKCdmaWVsZCcpLCdpbnB1dF9maWxlJywKCQkJICAgICAkdGhpcy0+R2V0VXBsb2FkRXJyb3JNZXNzYWdlKCRlcnIpKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJGZpZWxkdmFsdWUgPSAkcmVzOwoJICB9CglicmVhazsKICAgICAgfQoKICAgIC8vIEF0IHRoaXMgcG9pbnQsIHZhbHVlIGNhbm5vdCBiZSBlbXB0eQogICAgaWYoIGVtcHR5KCRmaWVsZHZhbHVlKSAmJiBlbXB0eSgkZXJyb3IpICkKICAgICAgewoJJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknKTsKICAgICAgfQoKICAgIGlmKCAhZW1wdHkoJGVycm9yKSApCiAgICAgIHsKCS8vIEhhbmRsZSBlcnJvcnMuCgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcik7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gU3RvcmUgdGhlIGZpZWxkIGRlZmluaXRpb24KCWlmKCAkZWRpdGluZyA9PSAxICkKCSAgewoJICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMKICAgICAgICAgICAgICAgICAgICAgICAgIFNFVCBmaWVsZF9uYW1lID0gPywgZmllbGRfdHlwZSA9ID8sIGZpZWxkX3Byb21wdCA9ID8sIGZpZWxkX3ZhbHVlID0gPwogICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIGNhdGVnb3J5X2lkID0gPyBBTkQgZmllbGRfbmFtZSA9ID8nOwoJICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGZpZWxkbmFtZSwkZmllbGR0eXBlLCRmaWVsZHByb21wdCwKCQkJCSAgICAgICRmaWVsZHZhbHVlLCRjYXRpZCwkb2xkX2ZpZWxkbmFtZSkpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkcXVlcnkgPSAnU0VMRUNUIE1BWChmaWVsZF9vcmRlcikgQVMgbnVtIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMKICAgICAgICAgICAgICAgICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOwoJICAgICR0bXAgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGNhdGlkKSk7CgkgICAgJGZpZWxkb3JkZXIgPSAwOwoJICAgIGlmKCBpc19hcnJheSgkdG1wKSApCgkgICAgICB7CgkJJGZpZWxkb3JkZXIgPSAkdG1wWydudW0nXSsxOwoJICAgICAgfQoJICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyAKICAgICAgICAgICAgIChjYXRlZ29yeV9pZCwgZmllbGRfdHlwZSwgZmllbGRfbmFtZSwgZmllbGRfcHJvbXB0LCBmaWVsZF92YWx1ZSwgZmllbGRfb3JkZXIpCiAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CgkgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkY2F0aWQsJGZpZWxkdHlwZSwkZmllbGRuYW1lLCRmaWVsZHByb21wdCwkZmllbGR2YWx1ZSwkZmllbGRvcmRlcikpOwoJICB9CgoJLy8gUmVkaXJlY3QuCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCdlZGl0Y2F0ZWdvcnlmaWVsZHMnLCRyZXR1cm5pZCwKCQkJYXJyYXkoJ2NhdGlkJz0+JGNhdGlkKSk7CiAgICAgIH0KICB9CgojCiMgQ3JlYXRlIHRoZSBmb3JtCiMKJHBhcm1zID0gYXJyYXkoJ2NhdGlkJz0+JGNhdGlkKTsKaWYoICRvbGRfZmllbGRuYW1lICE9ICcnICkKICB7CiAgICAkcGFybXNbJ2ZsZG5hbWUnXSA9ICRvbGRfZmllbGRuYW1lOwogIH0KJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkZGNhdGVnb3J5ZmllbGQnLCRyZXR1cm5pZCwKCQkJCQkJICAgICAkcGFybXMsZmFsc2UsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKJGZpZWxkdHlwZXMgPSBhcnJheSgpOwokZmllbGR0eXBlc1skdGhpcy0+TGFuZygndGV4dGJveCcpXSA9ICd0ZXh0Ym94JzsKJGZpZWxkdHlwZXNbJHRoaXMtPkxhbmcoJ3RleHRhcmVhJyldID0gJ3RleHRhcmVhJzsKJGZpZWxkdHlwZXNbJHRoaXMtPkxhbmcoJ2ltYWdldGV4dCcpXSA9ICdpbWFnZSc7CiRmaWVsZHR5cGVzWyR0aGlzLT5MYW5nKCdmaWxlJyldID0gJ2ZpbGUnOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpZWxkdHlwZScsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdpbnB1dF9maWVsZHR5cGUnLCRmaWVsZHR5cGVzLC0xLCRmaWVsZHR5cGUsCgkJCQkJICAgJ29uQ2hhbmdlPSJ0aGlzLmZvcm0uc3VibWl0KCkiJykpOwokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbjEnLCR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2lucHV0X2VkaXRpbmcnLCRlZGl0aW5nKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfZmllbGRuYW1lJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfZmllbGRuYW1lJywkZmllbGRuYW1lLDQwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpZWxkcHJvbXB0JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnaW5wdXRfZmllbGRwcm9tcHQnLCRmaWVsZHByb21wdCw0MCwyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdmaWVsZHZhbHVlJywkZmllbGR2YWx1ZSk7CiRzbWFydHktPmFzc2lnbignZmllbGR0eXBlJywkZmllbGR0eXBlKTsKc3dpdGNoKCAkZmllbGR0eXBlICkKewogY2FzZSAndGV4dGJveCc6CiAgICRzbWFydHktPmFzc2lnbignaW5wdXRfZmllbGR2YWx1ZScsCgkJICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X2ZpZWxkdmFsdWUnLCRmaWVsZHZhbHVlLDgwLDI1NSkpOwogICBicmVhazsKCiBjYXNlICd0ZXh0YXJlYSc6CiAgICRzbWFydHktPmFzc2lnbignaW5wdXRfZmllbGR2YWx1ZScsCgkJICAgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsJGlkLCRmaWVsZHZhbHVlLCdpbnB1dF9maWVsZHZhbHVlJykpOwogICBicmVhazsKCiBjYXNlICdpbWFnZSc6CiAgIGlmKCAhZW1wdHkoJGZpZWxkdmFsdWUpICkKICAgICB7CiAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2hpZGRlbicsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnaW5wdXRfZmllbGR2YWx1ZScsJGZpZWxkdmFsdWUpKTsKICAgICB9CiAgICRzbWFydHktPmFzc2lnbignZmlsZWxvY2F0aW9uJywndXBsb2Fkcy8nLiR0aGlzLT5HZXROYW1lKCkuJy9jYXRlZ29yaWVzLycuJGNhdGlkKTsKICAgaWYoIGZpbGVfZXhpc3RzKCBjbXNfam9pbl9wYXRoKCAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJHRoaXMtPkdldE5hbWUoKSwgJ2NhdGVnb3JpZXMnLCAkY2F0aWQsICRmaWVsZHZhbHVlKSkgKQogICAgIHsKICAgICAgICRzbWFydHktPmFzc2lnbignZmlsZWV4aXN0cycsMSk7CiAgICAgfQogICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG93YXRlcm1hcmsnKSA9PSAnYWRqdXN0YWJsZScgKQogICAgIHsKICAgICAgICR3bW9wdHMgPSBhcnJheSgpOwogICAgICAgJHdtb3B0c1skdGhpcy0+TGFuZygnbm9uZScpXSA9ICdub25lJzsKICAgICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2RlZmF1bHQnKV0gPSAnZGVmYXVsdCc7CiAgICAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91bCcpXSA9ICcwJzsKICAgICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX3VjJyldID0gJzEnOwogICAgICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdXInKV0gPSAnMic7CiAgICAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tbCcpXSA9ICczJzsKICAgICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX21jJyldID0gJzQnOwogICAgICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbXInKV0gPSAnNSc7CiAgICAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9sbCcpXSA9ICc2JzsKICAgICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX2xjJyldID0gJzcnOwogICAgICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbHInKV0gPSAnOCc7CgogICAgICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfd2F0ZXJtYXJrbG9jYXRpb24nLAoJCSAgICAgICAkdGhpcy0+TGFuZygnd2F0ZXJtYXJrX2xvY2F0aW9uJykpOwogICAgICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF93YXRlcm1hcmtsb2NhdGlvbicsCgkJICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfd2F0ZXJtYXJrJywkd21vcHRzLC0xLCdkZWZhdWx0JykpOwogICAgIH0KICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9maWVsZHZhbHVlJywKCQkgICAkdGhpcy0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCRpZCwnaW5wdXRfZmlsZScsJycsNDApKTsKICAgYnJlYWs7CgogY2FzZSAnZmlsZSc6CiAgIGlmKCAhZW1wdHkoJGZpZWxkdmFsdWUpICkKICAgICB7CiAgICAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2hpZGRlbicsJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnaW5wdXRfZmllbGR2YWx1ZScsJGZpZWxkdmFsdWUpKTsKICAgICB9CiAgICRzbWFydHktPmFzc2lnbignZmlsZWxvY2F0aW9uJywndXBsb2Fkcy8nLiR0aGlzLT5HZXROYW1lKCkuJy9jYXRlZ29yaWVzLycuJGNhdGlkKTsKICAgaWYoIGZpbGVfZXhpc3RzKCBjbXNfam9pbl9wYXRoKCAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwgJHRoaXMtPkdldE5hbWUoKSwgJ2NhdGVnb3JpZXMnLCAkY2F0aWQsICRmaWVsZHZhbHVlKSkgKQogICAgIHsKICAgICAgICRzbWFydHktPmFzc2lnbignZmlsZWV4aXN0cycsMSk7CiAgICAgfQogICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2ZpZWxkdmFsdWUnLAoJCSAgICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdpbnB1dF9maWxlJywnJyw0MCkpOwogICBicmVhazsKfQokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2NhbmNlbCcsJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgoKIyBQcm9jZXNzIHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRkY2F0ZWdvcnlmaWVsZC50cGwnKTsKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.addfielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2ZpZWxkZGVmcycpOwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQcm9kdWN0cycpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgUHJvZHVjdHMnKSkpOwoJcmV0dXJuOwp9CgppZiAoaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pKQp7CiAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKfQoKJG5hbWUgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkpCnsKCSRuYW1lID0gJHBhcmFtc1snbmFtZSddOwp9CgokcHJvbXB0ID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydwcm9tcHQnXSkpCnsKCSRwcm9tcHQgPSAkcGFyYW1zWydwcm9tcHQnXTsKfQoKJG9wdGlvbnMgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ29wdGlvbnMnXSkpCnsKICAkb3B0aW9ucyA9IHRyaW0oJHBhcmFtc1snb3B0aW9ucyddKTsKfQoKJHR5cGUgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3R5cGUnXSkpCnsKCSR0eXBlID0gJHBhcmFtc1sndHlwZSddOwp9CgokbWF4X2xlbmd0aCA9IDI1NTsKaWYgKGlzc2V0KCRwYXJhbXNbJ21heF9sZW5ndGgnXSkpCnsKICAkbWF4X2xlbmd0aCA9IChpbnQpJHBhcmFtc1snbWF4X2xlbmd0aCddOwp9CgokcHVibGljID0gMTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3B1YmxpYyddKSApCiAgewogICAgJHB1YmxpYyA9IChpbnQpJHBhcmFtc1sncHVibGljJ107CiAgfQoKJHVzZXJpZCA9IGdldF91c2VyaWQoKTsKCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpCnsKICBpZiggJHR5cGUgPT0gJycgKQogICAgewogICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZpZWxkdHlwZScpKTsKICAgIH0KICBlbHNlIGlmICgkbmFtZSA9PSAnJykKICAgIHsKICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7CiAgICB9CiAgZWxzZSBpZiggISR0aGlzLT5pc19hbGlhcygkbmFtZSkgKQogICAgewogICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX25hbWUnKSk7CiAgICB9CiAgZWxzZSBpZiggIWVtcHR5KCRtYXhfbGVuZ3RoKSAmJiAhaXNfbnVtZXJpYygkbWF4X2xlbmd0aCkgKQogICAgewogICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdub3RhbnVtYmVyJykpOwogICAgfQogIGVsc2UgaWYoICR0eXBlID09ICdzdWJzY3JpcHRpb24nICYmICRkYi0+R2V0T25lKCdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyBXSEVSRSB0eXBlID0gPycsYXJyYXkoJHR5cGUpKSApCiAgICB7CiAgICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX29uZXN1YnNjcmlwdGlvbmZpZWxkJykpOwogICAgfQogIGVsc2UgaWYoICR0eXBlID09ICdxdWFudGl0eScgJiYgJGRiLT5HZXRPbmUoJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFdIRVJFIHR5cGUgPSA/JyxhcnJheSgkdHlwZSkpICkKICAgIHsKICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3Jfb25lcXVhbnRpdHlmaWVsZCcpKTsKICAgIH0KICBlbHNlCiAgICB7CiAgICAgICRtYXggPSAkZGItPkdldE9uZSgnU0VMRUNUIG1heChpdGVtX29yZGVyKSArIDEgRlJPTSAnIC4gY21zX2RiX3ByZWZpeCgpIC4gJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMnKTsKICAgICAgaWYoICEkbWF4ICkgJG1heCA9IDA7CiAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyAobmFtZSwgcHJvbXB0LCB0eXBlLCBtYXhfbGVuZ3RoLCBpdGVtX29yZGVyLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSwgcHVibGljLCBvcHRpb25zKSBWQUxVRVMgKD8sPyw/LD8sPyw/LD8sPyw/KSc7CiAgICAgICRwYXJtcyA9IGFycmF5KCRuYW1lLCAkcHJvbXB0LCAkdHlwZSwgJG1heF9sZW5ndGgsICRtYXgsIAoJCSAgICAgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIiksIAoJCSAgICAgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIiksCgkJICAgICAkcHVibGljLCRvcHRpb25zKTsKICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICRwYXJtcyApOwogICAgICBpZiggISRkYnIgKSB7CgllY2hvICJERUJVRzogcmVzdWx0ID0gIi4kZGItPkVycm9yTXNnKCkuIjxici8+Jm5ic3A7Jm5ic3A7Ii4kZGItPnNxbC4iPGJyLz4iOyBkaWUoKTsKICAgICAgfQogICAgICAKICAgICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICAgIH0KfQoKI0Rpc3BsYXkgdGVtcGxhdGUKJHNtYXJ0eS0+YXNzaWduKCdvcHRpb25zJywkb3B0aW9ucyk7CiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgCgkJJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkZGZpZWxkZGVmJywgJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0bmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICRuYW1lLCAzMCwgMjU1KSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRwcm9tcHQnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdwcm9tcHQnLCRwcm9tcHQsNTAsMjU1KSk7CiRzbWFydHktPmFzc2lnbignc2hvd2lucHV0dHlwZScsIHRydWUpOwoKJGFkZHRleHQgPSAib25DaGFuZ2U9J3RoaXMuZm9ybS5zdWJtaXQoKSciOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0dHlwZScsICR0aGlzLT5HZXRUeXBlc0Ryb3Bkb3duKCRpZCwgJ3R5cGUnLCAkdHlwZSwgJGFkZHRleHQsIHRydWUpKTsKJHNtYXJ0eS0+YXNzaWduKCd0eXBlJywkdHlwZSk7CgppZiggJHR5cGUgPT0gJ3RleHRib3gnICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0bWF4bGVuZ3RoJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdtYXhfbGVuZ3RoJywgJG1heF9sZW5ndGgsIDMwLCAyNTUpKTsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ3VzZXJ2aWV3dGV4dCcsJHRoaXMtPkxhbmcoJ3B1YmxpYycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF91c2VydmlldycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0Y2hlY2tib3goJGlkLCAncHVibGljJywgMSwgJHB1YmxpYykpOwoKJHNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAnJyk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ3N1Ym1pdCcsIGxhbmcoJ3N1Ym1pdCcpKSk7CiRzbWFydHktPmFzc2lnbignY2FuY2VsJywgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgJ2NhbmNlbCcsIGxhbmcoJ2NhbmNlbCcpKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRmaWVsZGRlZi50cGwnKTsKCj8+]]></data>
	</file>
	<file>
	  <filename>/action.addproduct.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYigncHJvZHVjdHMnKTsKCi8vCi8vIEEgdXRpbGl0eSBmdW5jdGlvbgovLwpmdW5jdGlvbiBnZXRfZmllbGRfZGVmKCYkZmllbGRkZWZzLCRpZCkKewogIGZvcmVhY2goICRmaWVsZGRlZnMgYXMgJG9uZWRlZiApCiAgICB7CiAgICAgIGlmKCAkb25lZGVmLT5pZCA9PSAkaWQgKQoJewoJICByZXR1cm4gJG9uZWRlZjsKCX0KICAgIH0KICByZXR1cm4gZmFsc2U7Cn0KCgppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQcm9kdWN0cycpKQogIHsKICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CiAgICByZXR1cm47CiAgfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KCiRwcm9kdWN0X25hbWUgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3Byb2R1Y3RfbmFtZSddKSkKICB7CiAgICAkcHJvZHVjdF9uYW1lID0gJHBhcmFtc1sncHJvZHVjdF9uYW1lJ107CiAgfQoKJHByaWNlID0gMC4wOwppZiAoaXNzZXQoJHBhcmFtc1sncHJpY2UnXSkgKQogIHsKICAgICRwcmljZSA9IChmbG9hdCkkcGFyYW1zWydwcmljZSddOwogIH0KJHdlaWdodCA9IDAuMDsKaWYgKGlzc2V0KCRwYXJhbXNbJ3dlaWdodCddKSApCiAgewogICAgJHdlaWdodCA9IChmbG9hdCkkcGFyYW1zWyd3ZWlnaHQnXTsKICB9CiRza3UgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3NrdSddKSApCiAgewogICAgJHNrdSA9IHRyaW0oJHBhcmFtc1snc2t1J10pOwogIH0KJGFsaWFzID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydhbGlhcyddKSApCiAgewogICAgJGFsaWFzID0gdHJpbSgkcGFyYW1zWydhbGlhcyddKTsKICB9CgokZGV0YWlscyA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snZGV0YWlscyddKSkKICB7CiAgICAkZGV0YWlscyA9ICRwYXJhbXNbJ2RldGFpbHMnXTsKICB9Cgokc3RhdHVzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfc3RhdHVzJywncHVibGlzaGVkJyk7CmlmIChpc3NldCgkcGFyYW1zWydzdGF0dXMnXSkpCiAgewogICAgJHN0YXR1cyA9ICRwYXJhbXNbJ3N0YXR1cyddOwogIH0KCiR0YXhhYmxlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfdGF4YWJsZScsMSk7CmlmIChpc3NldCgkcGFyYW1zWyd0YXhhYmxlJ10pKQogIHsKICAgICR0YXhhYmxlID0gMTsKICB9CgokdXNlcmlkID0gZ2V0X3VzZXJpZCgpOwokZmllbGRkZWZzID0gJHRoaXMtPkdldEZpZWxkRGVmcyh0cnVlKTsKCmlmIChpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkpCiAgewogICAgJGR1cGxpY2F0ZSA9ICcnOwogICAgJGR1cGxpY2F0ZXNrdSA9ICcnOwogICAgJGR1cGxpY2F0ZWFsaWFzID0gJyc7CiAgICAkZW1wdHlza3UgPSAnJzsKICAgIGlmKCAhZW1wdHkoJHByb2R1Y3RfbmFtZSkgKQogICAgICB7CgkvLyBjaGVjayBmb3IgZHVwbGljYXRlIG5hbWUKCSRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzCiAgICAgICAgICAgICAgICAgICBXSEVSRSBwcm9kdWN0X25hbWUgPSA/JzsKCSRkdXBsaWNhdGUgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHByb2R1Y3RfbmFtZSkpOwogICAgICB9CgogICAgLy8gY2hlY2sgZm9yIGVtcHR5IGFsaWFzCiAgICBpZiggZW1wdHkoJGFsaWFzKSApCiAgICAgIHsKCSRhbGlhcyA9IHByb2R1Y3Rfb3BzOjpnZW5lcmF0ZV9hbGlhcygkcHJvZHVjdF9uYW1lKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkYWxpYXMgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRhbGlhcyk7CiAgICAgIH0KCiAgICAvLyBjaGVjayBmb3IgZHVwbGljYXRlIGFsaWFzCiAgICBpZiggcHJvZHVjdF9vcHM6OmNoZWNrX2FsaWFzX3VzZWQoJGFsaWFzKSApCiAgICAgIHsKCSRkdXBsaWNhdGVhbGlhcyA9ICRhbGlhczsKICAgICAgfQoKICAgIGlmKCBlbXB0eSgkc2t1KSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2t1cmVxdWlyZWQnLDApICkKICAgICAgewoJJGVtcHR5c2t1ID0gMTsKICAgICAgfQoKICAgIGlmKCAhJGR1cGxpY2F0ZSAmJiAhZW1wdHkoJHNrdSkgKQogICAgICB7CgkvLyBjaGVjayBmb3IgZHVwbGljYXRlIHNrdQoJaWYoIHByb2R1Y3Rfb3BzOjpjaGVja19za3VfdXNlZCgkc2t1KSApCgkgIHsKCSAgICAkZHVwbGljYXRlc2t1ID0gJHNrdTsKCSAgfQogICAgICB9CgogICAgaWYoIGVtcHR5KCRwcm9kdWN0X25hbWUpICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7CiAgICAgIH0KICAgIGVsc2UgaWYoICRlbXB0eXNrdSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX3NrdV9yZXF1aXJlZCcpKTsKICAgICAgfQogICAgZWxzZSBpZiggJGR1cGxpY2F0ZSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnKSk7CiAgICAgIH0KICAgIGVsc2UgaWYoICRkdXBsaWNhdGVhbGlhcyApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX3Byb2R1Y3RfYWxpYXN1c2VkJykpOwogICAgICB9CiAgICBlbHNlIGlmKCAkZHVwbGljYXRlc2t1ICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfcHJvZHVjdF9za3V1c2VkJykpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCS8vIGluc2VydCB0aGUgcHJvZHVjdCByZWNvcmQKCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIChwcm9kdWN0X25hbWUsIHByaWNlLCBkZXRhaWxzLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSwgdGF4YWJsZSwgc3RhdHVzLCB3ZWlnaHQsIHNrdSwgYWxpYXMpIFZBTFVFUyAoPyw/LD8sPyw/LD8sPyw/LD8sPyknOwoJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwcm9kdWN0X25hbWUsICRwcmljZSwgJGRldGFpbHMsIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCAiJyIpLCB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgIiciKSwgJHRheGFibGUsICRzdGF0dXMsICR3ZWlnaHQsICRza3UsICRhbGlhcykpOwoJaWYoICEkZGJyICkgCgkgIHsKCSAgICBkaWUoJ0VSUk9SOiAnLiRkYi0+c3FsLic8YnIvPicuJGRiLT5FcnJvck1zZygpKTsKCSAgfQoJJGNpZCA9ICRkYi0+SW5zZXJ0X0lEKCk7CgoJLy8gaW5zZXJ0IHRoZSBwcm9kdG9oaWVyIHJlY29yZAoJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHRvaGllciAKICAgICAgICAgICAgICAgICAgIChwcm9kdWN0X2lkLGhpZXJhcmNoeV9pZCkKICAgICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/KSc7CgkkZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRjaWQsIChpbnQpJHBhcmFtc1snaGllcmFyY2h5J10pICk7CgoJLy8gSGFuZGxlIGN1c3RvbSBmaWVsZHMKCSRlcnJvcnMgPSBhcnJheSgpOwoJaWYgKGlzc2V0KCRfUkVRVUVTVFskaWQuJ2N1c3RvbWZpZWxkJ10pKQoJICB7CgkgICAgZm9yZWFjaCAoJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGQnXSBhcyAkaz0+JHYpCgkgICAgICB7CgkJaWYgKHN0YXJ0c3dpdGgoJGssICdmaWVsZC0nKSkKCQkgIHsKCQkgICAgLy8gZ2V0IHRoZSBmaWVsZCBpbmRleAoJCSAgICAkZmlkID0gc3Vic3RyKCRrLCA2KTsKCgkJICAgIC8vIGdldCB0aGUgZmllbGQgdHlwZQoJCSAgICAkZGVmID0gZ2V0X2ZpZWxkX2RlZigkZmllbGRkZWZzLCRmaWQpOwoJCSAgICBpZiggISRkZWYgKQoJCSAgICAgIHsKCQkJZGllKCdjb3VsZCBub3QgZ2V0IGZpZWxkIGRlZiBmb3IgJy4kZmlkKTsKCQkJY29udGludWU7CgkJICAgICAgfQoKCQkgICAgLy8gaGFuZGxlIHRoZSB1cGxvYWQgKGlmIGFueSkKCQkgICAgc3dpdGNoKCAkZGVmLT50eXBlICkKCQkgICAgICB7CgkJICAgICAgY2FzZSAnZmlsZSc6CgkJCSRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLAoJCQkJCQkgJ3Byb2R1Y3RfJy4kY2lkKTsKCQkJY2dlX2Rpcjo6bWtkaXJyKCRkZXN0ZGlyKTsKCQkJaWYoICFpc19kaXIoJGRlc3RkaXIpICkgZGllKCdkaXJlY3Rvcnkgc3RpbGwgZG9lcyBub3QgZXhpc3QnKTsKCQkJJGhhbmRsZXIgPSBuZXcgY2dfZmlsZXVwbG9hZCgkaWQsJGRlc3RkaXIpOwoJCQkkaGFuZGxlci0+c2V0X2FjY2VwdGVkX2ZpbGV0eXBlcygkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9maWxldHlwZXMnKSk7CgkJCSRyZXMgPSAkaGFuZGxlci0+aGFuZGxlX3VwbG9hZCgnY3VzdG9tZmllbGQnLCcnLCdmaWVsZC0nLiRmaWQpOwoJCQkkZXJyID0gJGhhbmRsZXItPmdldF9lcnJvcigpOwoJCQlpZiggISRyZXMgJiYgJGVyciAhPSBjZ19maWxldXBsb2FkOjpOT0ZJTEUgKQoJCQkgIHsKCQkJICAgICRlcnJvcnNbXSA9IHNwcmludGYoIiVzICVzOiAlcyIsJHRoaXMtPkxhbmcoJ2ZpZWxkJyksJGRlZi0+bmFtZSwKCQkJCQkJJHRoaXMtPkdldFVwbG9hZEVycm9yTWVzc2FnZSgkZXJyKSk7CgkJCSAgfQoJCQllbHNlIGlmKCAhJHJlcyApCgkJCSAgewoJCQkgICAgJHYgPSBudWxsOwoJCQkgIH0KCQkJZWxzZQoJCQkgIHsKCQkJICAgICR2ID0gJHJlczsKCQkJICB9CgkJCWJyZWFrOwoKCQkgICAgICBjYXNlICdpbWFnZSc6CiAgICAgICAgICAgICAgICAgICAgICAgICRhdHRyID0gJ2RlZmF1bHQnOyAvLyB1c2UgZGVmYXVsdCB2YWx1ZSBmb3Igd21sb2NhdGlvbgogICAgICAgICAgICAgICAgICAgICAgICBpZiggaXNzZXQoJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGRfYXR0ciddKSAmJiBpc3NldCgkX1JFUVVFU1RbJGlkLidjdXN0b21maWVsZF9hdHRyJ11bJGtdKSApCiAgICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGF0dHIgPSAkX1JFUVVFU1RbJGlkLidjdXN0b21maWVsZF9hdHRyJ11bJGtdOwogICAgICAgICAgICAgICAgICAgICAgICAgIH0KCQkgICAgICAgICRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLAoJCQkJCSAgICAgICAncHJvZHVjdF8nLiRjaWQpOwogICAgICAgICAgICAgICAgICAgICAgICAkcmVzID0gJHRoaXMtPkhhbmRsZVVwbG9hZGVkSW1hZ2UoJGlkLCdjdXN0b21maWVsZCcsJGRlc3RkaXIsJGVycm9ycywnZmllbGQtJy4kZmlkLCRhdHRyKTsKICAgICAgICAgICAgICAgICAgICAgICAgaWYoICRyZXMgPT09IEZBTFNFICkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgICR2ID0gbnVsbDsKICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmKCAkcmVzID09PSBUUlVFICkKICAgICAgICAgICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICAgICAgIHRydWU7CiAgICAgICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgICAgJHYgPSAkcmVzOwogICAgICAgICAgICAgICAgICAgICAgICB9CgkJCWJyZWFrOwoKCQkgICAgICBjYXNlICdxdWFudGl0eSc6CgkJCSR2ID0gKGludCkkdjsKCQkJJHYgPSBtYXgoMCwkdik7CgkJCWJyZWFrOwoKCQkgICAgICBjYXNlICdzdWJzY3JpcHRpb24nOgoJCSAgICAgIGNhc2UgJ2RpbWVuc2lvbnMnOgoJCQlpZiggaXNfYXJyYXkoJHYpICkKCQkJICB7CgkJCSAgICAkdiA9IHNlcmlhbGl6ZSgkdik7CgkJCSAgfQoJCQlicmVhazsKCQkJCgkJCQoJCSAgICAgIGNhc2UgJ3RleHRib3gnOgoJCSAgICAgIGNhc2UgJ2NoZWNrYm94JzoKCQkgICAgICBjYXNlICd0ZXh0YXJlYSc6CgkJICAgICAgY2FzZSAnZHJvcGRvd24nOgoJCQlicmVhazsKCgkJICAgICAgZGVmYXVsdDoKCQkJZGllKCJ1bmtub3duIHR5cGU6ICIuJGRlZi0+dHlwZSk7CgkJCWJyZWFrOwoJCSAgICAgIH0KCgkJICAgIC8vIGNvbW1pdCBpdC4KCQkgICAgaWYoICFpc19udWxsKCR2KSAmJiAkdiAhPT0gJycgKQoJCSAgICAgIHsKCQkJJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzIChwcm9kdWN0X2lkLCBmaWVsZGRlZl9pZCwgdmFsdWUsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LD8sPyknOwoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2lkLCAkZmlkLCAkdiwgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIiksIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCAiJyIpKSk7CgkJICAgICAgfQoJCSAgfQoJICAgICAgfQoJICB9CgoJLy8gaGFuZGxlIGNhdGVnb3J5IHN0dWZmCglpZiAoaXNzZXQoJHBhcmFtc1snY2F0ZWdvcmllcyddKSkKCSAgewoJICAgIGZvcmVhY2ggKCRwYXJhbXNbJ2NhdGVnb3JpZXMnXSBhcyAkdikKCSAgICAgIHsKCQkgJHF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzIChwcm9kdWN0X2lkLCBjYXRlZ29yeV9pZCwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sPyknOwoJCSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2lkLCAkdiwgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIiksIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCAiJyIpKSk7CgkgICAgICB9CgkgIH0KCQkKCS8vVXBkYXRlIHNlYXJjaCBpbmRleAoJJG1vZHVsZSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnU2VhcmNoJyk7CglpZiAoJG1vZHVsZSAhPSBGQUxTRSkKCSAgewoJICAgIGlmKCAkc3RhdHVzID09ICdwdWJsaXNoZWQnICkKCSAgICAgIHsKCQkkbW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkY2lkLCAncHJvZHVjdCcsIAoJCQkJICBpbXBsb2RlKCcgJywgJHRoaXMtPkdldFNlYXJjaGFibGVUZXh0KCRjaWQpICkpOwoJICAgICAgfQoJICB9CgoJLy8gaWYgdGhlcmUgd2VyZSBlcnJvcnMKCS8vIGRpc3BsYXkgdGhlbQoJLy8gYW5kIGEgcmV0dXJuIGxpbmsKCS8vIGNvdWxkIHVzZSBhIHRlbXBsYXRlIGhlcmUsIGJ1dCBmdWcgaXQgZm9yIG5vdy4KCWlmKCBjb3VudCgkZXJyb3JzKSApCgkgIHsKCSAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwogICAgICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdpbmZvX2ZpZWxkcHJvYmxlbXMnKSk7CiAgICAgICAgICAgIHJldHVybjsKCSAgfQogICAgICAgIGVsc2UKICAgICAgICAgIHsKICAJICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICAgICAgICB9CiAgICAgIH0gLy8gaW5zZXJ0IHRoZSBwcm9kdWN0IHJlY29yZAogIH0KCiRmaWVsZGFycmF5ID0gYXJyYXkoKTsKaWYgKGNvdW50KCRmaWVsZGRlZnMpID4gMCkKICB7CiAgICAkc3Vic2NyaWJlX29wdHMgPSBhcnJheSgpOwogICAgJHN1YnNjcmliZV9vcHRzWy0xXSA9ICR0aGlzLT5MYW5nKCdub25lJyk7CiAgICAkc3Vic2NyaWJlX29wdHNbJ21vbnRobHknXSA9ICR0aGlzLT5MYW5nKCdzdWJzY3JfbW9udGhseScpOwogICAgJHN1YnNjcmliZV9vcHRzWydxdWFydGVybHknXSA9ICR0aGlzLT5MYW5nKCdzdWJzY3JfcXVhcnRlcmx5Jyk7CiAgICAkc3Vic2NyaWJlX29wdHNbJ3NlbWlhbnVhbGx5J10gPSAkdGhpcy0+TGFuZygnc3Vic2NyX3NlbWlhbnVhbGx5Jyk7CiAgICAkc3Vic2NyaWJlX29wdHNbJ3llYXJseSddID0gJHRoaXMtPkxhbmcoJ3N1YnNjcl95ZWFybHknKTsKICAgICRzdWJzY3JpYmVfb3B0cyA9IGFycmF5X2ZsaXAoJHN1YnNjcmliZV9vcHRzKTsKCiAgICAkZXhwaXJlX29wdHMgPSBhcnJheSgpOwogICAgJGV4cGlyZV9vcHRzWyR0aGlzLT5MYW5nKCdub25lJyldID0gLTE7CiAgICAkZXhwaXJlX29wdHNbJHRoaXMtPkxhbmcoJ2V4cGlyZV9zaXhfbW9udGhzJyldID0gJzYnOwogICAgJGV4cGlyZV9vcHRzWyR0aGlzLT5MYW5nKCdleHBpcmVfb25lX3llYXInKV0gPSAnMTInOwogICAgJGV4cGlyZV9vcHRzWyR0aGlzLT5MYW5nKCdleHBpcmVfdHdvX3llYXInKV0gPSAnMjQnOwoKICAgICR3bW9wdHMgPSBhcnJheSgpOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnbm9uZScpXSA9ICdub25lJzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2RlZmF1bHQnKV0gPSAnZGVmYXVsdCc7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91bCcpXSA9ICcwJzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX3VjJyldID0gJzEnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdXInKV0gPSAnMic7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tbCcpXSA9ICczJzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX21jJyldID0gJzQnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbXInKV0gPSAnNSc7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9sbCcpXSA9ICc2JzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX2xjJyldID0gJzcnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbHInKV0gPSAnOCc7CgogICAgZm9yZWFjaCAoJGZpZWxkZGVmcyBhcyAkZmllbGRkZWYpCiAgICAgIHsKCSRmaWVsZCA9IG5ldyBzdGRDbGFzcygpOwoKICAgICAgICAkdmFsdWUgPSAnJzsKICAgICAgICBpZiAoaXNzZXQoJGZpZWxkZGVmLT52YWx1ZSkpCgkgIHsKCSAgICAkdmFsdWUgPSAkZmllbGRkZWYtPnZhbHVlOwoJICB9CgoJaWYgKGlzc2V0KCRfUkVRVUVTVFskaWQuJ2N1c3RvbWZpZWxkJ11bJ2ZpZWxkLScuJGZpZWxkZGVmLT5pZF0pKQoJICAkdmFsdWUgPSAkX1JFUVVFU1RbJGlkLidjdXN0b21maWVsZCddWydmaWVsZC0nLiRmaWVsZGRlZi0+aWRdOwoJJGZpZWxkLT5pZCA9ICRmaWVsZGRlZi0+aWQ7CgkkZmllbGQtPm5hbWUgPSAkZmllbGRkZWYtPm5hbWU7CgkkZmllbGQtPnByb21wdCA9ICRmaWVsZGRlZi0+cHJvbXB0OwoJJGZpZWxkLT50eXBlID0gJGZpZWxkZGVmLT50eXBlOwoJc3dpdGNoICgkZmllbGRkZWYtPnR5cGUpCgkgIHsKCSAgY2FzZSAnZGltZW5zaW9ucyc6CgkgICAgJGZpZWxkLT5wcm9tcHQgLj0gJyZuYnNwOygnLnByb2R1Y3Rfb3BzOjpnZXRfbGVuZ3RoX3VuaXRzKCkuJyknOwoJICAgICRmaWVsZC0+aW5wdXRfYm94ID0gCgkgICAgICAkdGhpcy0+TGFuZygnYWJicl9sZW5ndGgnKS4nOiZuYnNwJy4KCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ11bbGVuZ3RoXScsCgkJCQkgICAgICR2YWx1ZSwzLDMpLgoJICAgICAgJHRoaXMtPkxhbmcoJ2FiYnJfd2lkdGgnKS4nOiZuYnNwJy4KCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ11bd2lkdGhdJywKCQkJCSAgICAgJHZhbHVlLDMsMykuCgkgICAgICAkdGhpcy0+TGFuZygnYWJicl9oZWlnaHQnKS4nOiZuYnNwJy4KCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ11baGVpZ2h0XScsCgkJCQkgICAgICR2YWx1ZSwzLDMpOwoJICAgIGJyZWFrOwoJICBjYXNlICdjaGVja2JveCc6CgkgICAgJGZpZWxkLT5pbnB1dF9ib3ggPSAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJyAuICRpZCAuICdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nIC4gJyIgdmFsdWU9ImZhbHNlIiAvPicuJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAnY3VzdG9tZmllbGRbZmllbGQtJy4kZmllbGRkZWYtPmlkLiddJywgJ3RydWUnLCAkdmFsdWUgPT0gJ3RydWUnKTsKCSAgICBicmVhazsKCSAgY2FzZSAndGV4dGFyZWEnOgoJICAgICRmaWVsZC0+aW5wdXRfYm94ID0gJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsICRpZCwgJHZhbHVlLCAnY3VzdG9tZmllbGRbZmllbGQtJy4kZmllbGRkZWYtPmlkLiddJyk7CgkgICAgYnJlYWs7CgkgIGNhc2UgJ2Ryb3Bkb3duJzoKCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsICRmaWVsZGRlZi0+b3B0aW9ucywgLTEsICR2YWx1ZSApOwoJICAgIGJyZWFrOwoJICBjYXNlICdmaWxlJzoKCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLCcnLDUwKTsKCSAgICAkZmllbGQtPmhpZGRlbiA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsJycpOwoJICBjYXNlICdpbWFnZSc6CiAgICAgICAgICAgIGlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b3dhdGVybWFyaycpID09ICdhZGp1c3RhYmxlJyApCiAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgJGZpZWxkLT5hdHRyaWJ1dGUgPSAkdGhpcy0+TGFuZygnd2F0ZXJtYXJrX2xvY2F0aW9uJykuJyZuYnNwOycuCiAgICAgICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdjdXN0b21maWVsZF9hdHRyW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsJHdtb3B0cywtMSwnZGVmYXVsdCcpOwogICAgICAgICAgICAgIH0KCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLCcnLDUwKTsKCSAgICAkZmllbGQtPmhpZGRlbiA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsJycpOwoJICAgIGJyZWFrOwoJICBjYXNlICdzdWJzY3JpcHRpb24nOgoJICAgICRmaWVsZC0+aW5wdXRfYm94ID0gJHRoaXMtPkxhbmcoJ3N1YnNjcl9wYXlwZXJpb2QnKS4nOiZuYnNwOyc7CgkgICAgJGZpZWxkLT5pbnB1dF9ib3ggLj0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ11bcGF5cGVyaW9kXScsCgkJCQkJCQkgICAkc3Vic2NyaWJlX29wdHMsIC0xLCAkdmFsdWUpOwoJICAgICRmaWVsZC0+aW5wdXRfYm94IC49ICc8YnIvPicuJHRoaXMtPkxhbmcoJ3N1YnNjcl9kZWxwZXJpb2QnKS4nOiZuYnNwOyc7CgkgICAgJGZpZWxkLT5pbnB1dF9ib3ggLj0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ11bZGVscGVyaW9kXScsCgkJCQkJCQkgICAkc3Vic2NyaWJlX29wdHMsIC0xLCAkdmFsdWUpOwoJICAgICRmaWVsZC0+aW5wdXRfYm94IC49ICc8YnIvPicuJHRoaXMtPkxhbmcoJ3N1YnNjcl9leHBpcnknKS4nOiZuYnNwOyc7CgkgICAgJGZpZWxkLT5pbnB1dF9ib3ggLj0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ11bZXhwaXJlXScsCgkJCQkJCQkgICAkZXhwaXJlX29wdHMsIC0xLCAkdmFsdWUpOwoJICAgIGJyZWFrOwoKCSAgY2FzZSAncXVhbnRpdHknOgoJICAgICRmaWVsZC0+aW5wdXRfYm94ID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLCAkdmFsdWUsIDQsIDQpOwoJICAgIGJyZWFrOwoKCSAgY2FzZSAndGV4dGJveCc6CgkgIGRlZmF1bHQ6CgkgICAgJGZpZWxkLT5pbnB1dF9ib3ggPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsICR2YWx1ZSwgMzAsIDI1NSk7CgkgICAgYnJlYWs7CgkgIH0KCSRmaWVsZGFycmF5W10gPSAkZmllbGQ7CiAgICAgIH0KICB9CgokY2F0ZWdvcmllcyA9ICR0aGlzLT5HZXRDYXRlZ29yaWVzKCk7CiRjYXRhcnJheSA9IGFycmF5KCk7CmlmKCBpc19hcnJheSgkY2F0ZWdvcmllcykgJiYgY291bnQoJGNhdGVnb3JpZXMpICkgeyAKICBmb3JlYWNoICgkY2F0ZWdvcmllcyBhcyAkZmllbGRkZWYpIHsKICAgICRjYXRhcnJheVskZmllbGRkZWYtPm5hbWVdID0gJGZpZWxkZGVmLT5pZDsKICB9Cn0KCiNEaXNwbGF5IHRlbXBsYXRlCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZGRwcm9kdWN0JywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCduYW1ldGV4dCcsICR0aGlzLT5MYW5nKCduYW1lJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0bmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAncHJvZHVjdF9uYW1lJywgJHByb2R1Y3RfbmFtZSwgMzAsIDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ3ByaWNldGV4dCcsICR0aGlzLT5MYW5nKCdwcmljZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHByaWNlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwcmljZScsICRwcmljZSwgOCwgMTIpKTsKJHNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeV9zeW1ib2wnLHByb2R1Y3Rfb3BzOjpnZXRfY3VycmVuY3lfc3ltYm9sKCkpOwokc21hcnR5LT5hc3NpZ24oJ3dlaWdodHRleHQnLCAkdGhpcy0+TGFuZygnd2VpZ2h0JykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0d2VpZ2h0JywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICd3ZWlnaHQnLCAkd2VpZ2h0LCA4LCAxMikpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHNrdScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3NrdScsJHNrdSwxMCwyNSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0YWxpYXMnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdhbGlhcycsJGFsaWFzLDQwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ3dlaWdodHVuaXRzJyxwcm9kdWN0X29wczo6Z2V0X3dlaWdodF91bml0cygpKTsKJHNtYXJ0eS0+YXNzaWduKCdkZXRhaWxzdGV4dCcsICR0aGlzLT5MYW5nKCdkZXRhaWxzJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0ZGV0YWlscycsICR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICRkZXRhaWxzLCAnZGV0YWlscycsICcnLCAnJywgJycsICcnLCAnODAnLCAnNScpKTsKCmlmKCBjb3VudCgkY2F0YXJyYXkpID4gMCApCiAgewogICAgJG4gPSBjb3VudCgkY2F0YXJyYXkpLzQ7CiAgICAkbiA9IG1pbigkbiwyMCk7CiAgICAkbiA9IG1heCgkbiw1KTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfY2F0ZWdvcmllcycsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLCdjYXRlZ29yaWVzW10nLCRjYXRhcnJheSxhcnJheSgpLCRuKSk7CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCd0YXhhYmxldGV4dCcsJHRoaXMtPkxhbmcoJ3RheGFibGUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXR0YXhhYmxlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3RheGFibGUnLDEsJHRheGFibGUpKTsKCiRoaWVyYXJjaHlfaXRlbXMgPSAkdGhpcy0+QnVpbGRIaWVyYXJjaHlMaXN0KCk7CiRzbWFydHktPmFzc2lnbignaGllcmFyY2h5X2l0ZW1zJywkaGllcmFyY2h5X2l0ZW1zKTsKJHNtYXJ0eS0+YXNzaWduKCdoaWVyYXJjaHlfcG9zJyxpc3NldCgkcGFyYW1zWydoaWVyYXJjaHknXSk/JHBhcmFtc1snaGllcmFyY2h5J106LTEpOwoKJHN0YXR1c2VzID0gYXJyYXkoJHRoaXMtPkxhbmcoJ3B1Ymxpc2hlZCcpPT4ncHVibGlzaGVkJywKCQkgICR0aGlzLT5MYW5nKCdkcmFmdCcpPT4nZHJhZnQnLAoJCSAgJHRoaXMtPkxhbmcoJ2Rpc2FibGVkJyk9PidkaXNhYmxlZCcpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXR1c3RleHQnLCR0aGlzLT5MYW5nKCdzdGF0dXMnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRzdGF0dXMnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnc3RhdHVzJywKCQkJCQkgICAkc3RhdHVzZXMsLTEsJHN0YXR1cykpOwokc21hcnR5LT5hc3NpZ24oJ2hpZGRlbicsICcnKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKJHNtYXJ0eS0+YXNzaWduX2J5X3JlZignY3VzdG9tZmllbGRzJywgJGZpZWxkYXJyYXkpOwokc21hcnR5LT5hc3NpZ24oJ2N1c3RvbWZpZWxkc2NvdW50JywgY291bnQoJGZpZWxkYXJyYXkpKTsKCiRzbWFydHktPmFzc2lnbignc3RhcnR0YWJoZWFkZXJzJywkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCkpOwokc21hcnR5LT5hc3NpZ24oJ3RhYmhlYWRlcl9tYWluJywkdGhpcy0+U2V0VGFiSGVhZGVyKCdtYWluJywkdGhpcy0+TGFuZygncHJvZHVjdF9pbmZvJykpKTsKJHNtYXJ0eS0+YXNzaWduKCd0YWJoZWFkZXJfZmllbGRzJywkdGhpcy0+U2V0VGFiSGVhZGVyKCdmaWVsZHMnLCR0aGlzLT5MYW5nKCdmaWVsZHMnKSkpOwokc21hcnR5LT5hc3NpZ24oJ3RhYmhlYWRlcl9hZHZhbmNlZCcsJHRoaXMtPlNldFRhYkhlYWRlcignYWR2YW5jZWQnLCR0aGlzLT5MYW5nKCdhZHZhbmNlZCcpKSk7CiRzbWFydHktPmFzc2lnbignZW5kdGFiaGVhZGVycycsJHRoaXMtPkVuZFRhYkhlYWRlcnMoKSk7CiRzbWFydHktPmFzc2lnbignc3RhcnR0YWJjb250ZW50JywkdGhpcy0+U3RhcnRUYWJDb250ZW50KCkpOwokc21hcnR5LT5hc3NpZ24oJ3RhYl9tYWluJywkdGhpcy0+U3RhcnRUYWIoJ21haW4nKSk7CiRzbWFydHktPmFzc2lnbigndGFiX2ZpZWxkcycsJHRoaXMtPlN0YXJ0VGFiKCdmaWVsZHMnKSk7CiRzbWFydHktPmFzc2lnbigndGFiX2FkdmFuY2VkJywkdGhpcy0+U3RhcnRUYWIoJ2FkdmFuY2VkJykpOwokc21hcnR5LT5hc3NpZ24oJ2VuZHRhYicsJHRoaXMtPkVuZFRhYigpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmR0YWJjb250ZW50JywkdGhpcy0+RW5kVGFiQ29udGVudCgpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdHByb2R1Y3QudHBsJyk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_add_hierarchy_item.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdoaWVyYXJjaHknKTsKCmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKQogIHsKICAgIC8vIHdlJ3JlIGNhbmNlbGxpbmcKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQoKIwojIERlZmF1bHRzCiMKJHBhcmVudCA9IC0xOwokbmFtZSA9ICcnOwokZXh0cmExID0gJyc7CiRleHRyYTIgPSAnJzsKJGRlc2NyaXB0aW9uID0gJyc7CiRpbWFnZSA9ICcnOwoKIyAKIyBmb3JtIGFjdGlvbnMKIwppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkKICB7CiAgICBpZiggaXNzZXQoJHBhcmFtc1sncGFyZW50J10pICkKICAgICAgewoJJHBhcmVudCA9IChpbnQpJHBhcmFtc1sncGFyZW50J107CiAgICAgIH0KICAgICRuYW1lID0gdHJpbSgkcGFyYW1zWyduYW1lJ10pOwogICAgJGV4dHJhMSA9IHRyaW0oJHBhcmFtc1snZXh0cmExJ10pOwogICAgJGV4dHJhMiA9IHRyaW0oJHBhcmFtc1snZXh0cmEyJ10pOwogICAgJGRlc2NyaXB0aW9uID0gdHJpbSgkcGFyYW1zWydkZXNjcmlwdGlvbiddKTsKICAgICRlcnJvciA9IDA7CiAgICBpZiggZW1wdHkoJG5hbWUpICkKICAgICAgewoJJGVycm9yID0gMTsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX25vbmFtZScpKTsKICAgICAgfQoKICAgIGlmKCAhJGVycm9yICkKICAgICAgewoJJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IFdIRVJFIHBhcmVudF9pZCA9ID8gQU5EIG5hbWUgPSA/JzsKCSR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHBhcmVudCwkbmFtZSkpOwoJaWYoICR0bXAgKQoJICB7CgkgICAgJGVycm9yID0gMTsKCSAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9uYW1ldXNlZCcpKTsKCSAgfQogICAgICB9CgogICAgaWYoICEkZXJyb3IgKQogICAgICB7CgkvLyBIYW5kbGUgZmlsZSB1cGxvYWQKICAgICAgICAkYXR0ciA9ICdkZWZhdWx0JzsKICAgICAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfd2F0ZXJtYXJrJ10pICkKICAgICAgICB7CiAgICAgICAgICAgJGF0dHIgPSAkcGFyYW1zWydpbnB1dF93YXRlcm1hcmsnXTsKICAgICAgICB9CiAgICAgICAgJGVycm9ycyA9IGFycmF5KCk7CgkkZGVzdGRpciA9IGNtc19qb2luX3BhdGgoJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJHRoaXMtPkdldE5hbWUoKSwKCQkJCSAnaGllcmFyY2h5Jyk7CiAgICAgICAgJHJlcyA9ICR0aGlzLT5IYW5kbGVVcGxvYWRlZEltYWdlKCRpZCwnZmlsZScsJGRlc3RkaXIsJGVycm9ycywnJywkYXR0cik7CiAgICAgICAgaWYoICRyZXMgPT09IEZBTFNFICkKCSAgewoJICAgIC8vIGFuIGVycm9yIGVuc3VlZC4KICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKCSAgfQoJZWxzZQoJICB7CgkgICAgJGltYWdlID0gJHJlczsKICAgICAgICAgICAgaWYoICRyZXMgPT09IFRSVUUgKSAkaW1hZ2UgPSAnJzsKCgkgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBNQVgoaXRlbV9vcmRlcikrMSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IFdIRVJFIHBhcmVudF9pZCA9ID8nOwoJICAgICRpdGVtX29yZGVyID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRwYXJlbnQpKTsKCSAgICBpZiggISRpdGVtX29yZGVyICkgJGl0ZW1fb3JkZXIgPSAxOwoKCSAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkKICAgICAgICAgICAgICAgICAgICAobmFtZSwgcGFyZW50X2lkLCBkZXNjcmlwdGlvbiwgaW1hZ2UsIGV4dHJhMSwgZXh0cmEyLCBpdGVtX29yZGVyKSBWQUxVRVMoPyw/LD8sPyw/LD8sPyknOwoJICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRuYW1lLCRwYXJlbnQsJGRlc2NyaXB0aW9uLCRpbWFnZSwkZXh0cmExLCRleHRyYTIsJGl0ZW1fb3JkZXIpKTsKCSAgICBpZiggISRkYnIgKSB7IGVjaG8gJGRiLT5zcWwuJzxici8+JzsgZGllKCAkZGItPkVycm9yTXNnKCkgKTsgfQoJICAgICRuZXdfaWQgPSAkZGItPkluc2VydF9JRCgpOwoJICAgICR0aGlzLT5VcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKTsKCSAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoJICB9CiAgICAgIH0KICB9CgojCiMgQnVpbGQgdGhlIGZvcm0KIwokaGllcmFyY2h5X2l0ZW1zID0gJHRoaXMtPkJ1aWxkSGllcmFyY2h5TGlzdCgpOwokc21hcnR5LT5hc3NpZ24oJ2hpZXJhcmNoeV9pdGVtcycsJGhpZXJhcmNoeV9pdGVtcyk7CiRzbWFydHktPmFzc2lnbigncGFyZW50JywkcGFyZW50KTsKJHNtYXJ0eS0+YXNzaWduKCduYW1lJywkbmFtZSk7CiRzbWFydHktPmFzc2lnbignZXh0cmExJywkZXh0cmExKTsKJHNtYXJ0eS0+YXNzaWduKCdleHRyYTInLCRleHRyYTIpOwokc21hcnR5LT5hc3NpZ24oJ2Rlc2NyaXB0aW9uJywkZGVzY3JpcHRpb24pOwokc21hcnR5LT5hc3NpZ24oJ2ltYWdlJywkaW1hZ2UpOwoKaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvd2F0ZXJtYXJrJykgPT0gJ2FkanVzdGFibGUnICkKewogICR3bW9wdHMgPSBhcnJheSgpOwogICR3bW9wdHNbJHRoaXMtPkxhbmcoJ25vbmUnKV0gPSAnbm9uZSc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnZGVmYXVsdCcpXSA9ICdkZWZhdWx0JzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91bCcpXSA9ICcwJzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91YycpXSA9ICcxJzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91cicpXSA9ICcyJzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tbCcpXSA9ICczJzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tYycpXSA9ICc0JzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tcicpXSA9ICc1JzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9sbCcpXSA9ICc2JzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9sYycpXSA9ICc3JzsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9scicpXSA9ICc4JzsKICAkc21hcnR5LT5hc3NpZ24oJ3dhdGVybWFya19sb2NhdGlvbicsCiAgICAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X3dhdGVybWFyaycsJHdtb3B0cywtMSwnZGVmYXVsdCcpKTsKfQoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLAoJCSR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2FkZF9oaWVyYXJjaHlfaXRlbScsJHJldHVybmlkLAoJCQkJCSAkcGFyYW1zLGZhbHNlLCdwb3N0JywnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5fYWRkX2hpZXJhcmNoeV9pdGVtLnRwbCcpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_bulkaction.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CgokdGhpcy0+U2V0Q3VycmVudFRhYigncHJvZHVjdHMnKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ211bHRpc2VsZWN0J10pICYmIGlzX2FycmF5KCRwYXJhbXNbJ211bHRpc2VsZWN0J10pICYmIGNvdW50KCRwYXJhbXNbJ211bHRpc2VsZWN0J10pICYmIGlzc2V0KCRwYXJhbXNbJ2J1bGthY3Rpb24nXSkgKQogIHsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRwYXJhbXNbJ211bHRpc2VsZWN0J10pOyAkaSsrICkKICAgICAgewoJJHBhcmFtc1snbXVsdGlzZWxlY3QnXVskaV0gPSAoaW50KSRwYXJhbXNbJ211bHRpc2VsZWN0J11bJGldOwogICAgICB9CgogICAgc3dpdGNoKCAkcGFyYW1zWydidWxrYWN0aW9uJ10gKQogICAgICB7CiAgICAgIGNhc2UgJ2RlbGV0ZSc6Cglmb3JlYWNoKCAkcGFyYW1zWydtdWx0aXNlbGVjdCddIGFzICRwcm9kdWN0aWQgKQoJICB7CgkgICAgJHJlcyA9ICR0aGlzLT5EZWxldGVQcm9kdWN0KChpbnQpJHByb2R1Y3RpZCk7CgkgIH0KCWJyZWFrOwogICAgICBjYXNlICdzZXRkcmFmdCc6Cgl7CgkgICRub3cgPSAkZGItPkRiVGltZVN0YW1wKHRpbWUoKSk7CgkgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0cyBTRVQgc3RhdHVzID0gPywgbW9kaWZpZWRfZGF0ZSA9ICRub3cgV0hFUkUgaWQgSU4gKCI7CgkgICRxdWVyeSAuPSBpbXBsb2RlKCcsJywkcGFyYW1zWydtdWx0aXNlbGVjdCddKS4nKSc7CgkgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCdkcmFmdCcpKTsKCX0KCWJyZWFrOwogICAgICBjYXNlICdzZXRwdWJsaXNoZWQnOgoJewoJICAkbm93ID0gJGRiLT5EYlRpbWVTdGFtcCh0aW1lKCkpOwoJICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHMgU0VUIHN0YXR1cyA9ID8sIG1vZGlmaWVkX2RhdGUgPSAkbm93IFdIRVJFIGlkIElOICgiOwoJICAkcXVlcnkgLj0gaW1wbG9kZSgnLCcsJHBhcmFtc1snbXVsdGlzZWxlY3QnXSkuJyknOwoJICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgncHVibGlzaGVkJykpOwoJICBpZiggISRkYnIgKSB7IGRlYnVnX2Rpc3BsYXkoJGRiLT5zcWwpOyBkZWJ1Z19kaXNwbGF5KCRkYi0+RXJyb3JNc2coKSk7IGRpZSgpOyB9Cgl9CglicmVhazsKICAgICAgfQogIH0KCiR0aGlzLT5TZXRtZXNzYWdlKCR0aGlzLT5MYW5nKCdvcGVyYXRpb25fY29tcGxldGUnKSk7CiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.admin_copyproduct.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQcm9kdWN0cycpKSByZXR1cm47CgovLyBpbml0aWFsaXphdGlvbi4KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ1Byb2R1Y3RzJyk7CmlmKCAhaXNzZXQoJHBhcmFtc1snY29tcGlkJ10pICkKICB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICByZXR1cm47CiAgfQokY29tcGlkID0gKGludCkkcGFyYW1zWydjb21waWQnXTsKaWYoICRjb21waWQgPD0gMCApCiAgewogICAgJHRoaXMtPlNldEVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogICAgcmV0dXJuOwogIH0KJGZpZWxkZGVmcyA9IHByb2R1Y3Rfb3BzOjpnZXRfZmllbGRzKCk7CgovLwovLyByZWFkIGFsbCB0aGUgZGF0YQovLwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIFdIRVJFIElkID0gPyc7CiRwcm9kdWN0ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRjb21waWQpKTsKaWYoICFpc19hcnJheSgkcHJvZHVjdCkgKSAKICB7CiAgICAkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX3Byb2R1Y3Rub3Rmb3VuZCcpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICByZXR1cm47CiAgfQoKLy8gZ2V0IHRoZSBjYXRlZ29yaWVzCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzIFdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKJHByb2R1Y3RfY2F0ZWdvcmllcyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRjb21waWQpKTsKCi8vIGdldCB0aGUgZmllbGQgdmFsdWVzLi4uCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzIFdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKJHByb2R1Y3RfZmllbGR2YWxzID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoJGNvbXBpZCkpOwoKLy8gZ2V0IHRoZSBhdHRyaWJ1dGUgc2V0cwokYXR0cmlicyA9IHByb2R1Y3RzX2F0dHJpYjo6bG9hZF9ieV9wcm9kdWN0KCRjb21waWQpOwoKLy8gZ2V0IHRoZSBoaWVyYXJjaHkKJHF1ZXJ5ID0gJ1NFTEVDVCBoaWVyYXJjaHlfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R0b2hpZXIgV0hFUkUgcHJvZHVjdF9pZCA9ID8nOwokaGllcmFyY2h5X2lkID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRjb21waWQpKTsKCi8vCi8vIGFsdGVyIGRhdGEKLy8KaWYoICRwcm9kdWN0WydhbGlhcyddICkKICB7CiAgICAkcHJvZHVjdFsnYWxpYXMnXSA9IHByb2R1Y3Rfb3BzOjpnZW5lcmF0ZV9hbGlhcygkcHJvZHVjdFsncHJvZHVjdF9uYW1lJ10pOwogIH0KCi8vIGdldCBhIG5ldyBuYW1lIGZvciB0aGUgcHJvZHVjdC4KJHByb2R1Y3RbJ3Byb2R1Y3RfbmFtZSddID0gJHRoaXMtPkxhbmcoJ3ByZWZpeF9jb3B5b2YnKS4nICcuJHByb2R1Y3RbJ3Byb2R1Y3RfbmFtZSddOwokc3VmZml4ID0gJyc7CiRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIFdIRVJFIHByb2R1Y3RfbmFtZSA9ID8nOwp3aGlsZSggJHN1ZmZpeCA8IDEwMCApCiAgewogICAgJHRuYW1lID0gJHByb2R1Y3RbJ3Byb2R1Y3RfbmFtZSddLiRzdWZmaXg7CiAgICAkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCR0bmFtZSkpOwogICAgaWYoICEkdG1wICkKICAgICAgewoJJHByb2R1Y3RbJ3Byb2R1Y3RfbmFtZSddID0gJHRuYW1lOwoJYnJlYWs7CiAgICAgIH0KICAgIGlmKCAhJHN1ZmZpeCApICRzdWZmaXggPSAxOwogICAgJHN1ZmZpeCsrOwogIH0KCi8vIG1ha2Ugc3VyZSB0aGF0IHRoZSBza3UgaXMgc2V0IHRvICdzb21ldGhpbmcnIG9uIGNvcHlpbmcgYSBwcm9kdWN0LgokbmV3X3NrdSA9ICcnOwppZiggJHByb2R1Y3RbJ3NrdSddICkgewogICRpZHggPSAnJzsKICBpZiggKCRwID0gc3RycG9zKCRwcm9kdWN0Wydza3UnXSwnX2NvcHknKSkgIT09IEZBTFNFICkgewogICAgaWYoICRwICE9PSBGQUxTRSApICRpZHggPSAoaW50KXN1YnN0cigkcHJvZHVjdFsnc2t1J10sJHArc3RybGVuKCdfY29weScpKTsKICAgICRpZHggPSBtYXgoMiwkaWR4KzEpOwogIH0KICAkbmV3X3NrdSA9ICRwcm9kdWN0Wydza3UnXSAuICdfY29weScgLiAkaWR4OwogIHdoaWxlKCAkaWR4IDwgMTAwICkgewogICAgaWYoICFwcm9kdWN0X29wczo6Y2hlY2tfc2t1X3VzZWQoJG5ld19za3UpICkgewogICAgICAkcHJvZHVjdFsnc2t1J10gPSAkbmV3X3NrdTsKICAgICAgYnJlYWs7CiAgICB9CiAgICBpZiggJGlkeCA9PSAnJyApICRpZHggPSAxOwogICAgJGlkeCsrOwogICAgJG5ld19za3UgPSAkcHJvZHVjdFsnc2t1J10gLiAnX2NvcHknIC4gJGlkeDsKICB9Cn0KLy8gY2xlYXIgdGhlIHNrdSdzIGZvciB0aGUgYXR0cmlidXRlcwppZiggJG5ld19za3UgKSB7CiAgJGlkeCA9IDE7CiAgZm9yZWFjaCggJGF0dHJpYnMgYXMgJiRvbmUgKSB7CiAgICAkb25lWydza3UnXSA9ICRwcm9kdWN0Wydza3UnXS4iLSRpZHgiOwogICAgJGlkeCsrOwogIH0KfQoKLy8KLy8gc2F2ZSBkYXRhCi8vIG5vdGU6IHRyYW5zYWN0aW9ucyB3b3VsZCBiZSByZWFsbHkgcmVhbGx5IG5pY2UgaGVyZS4KLy8KdHJ5IHsKICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0cyAKICAgICAgICAgICAgKHByb2R1Y3RfbmFtZSwgZGV0YWlscywgcHJpY2UsIGNyZWF0ZV9kYXRlLCBtb2RpZmllZF9kYXRlLCB0YXhhYmxlLCBzdGF0dXMsIAogICAgICAgICAgICAgd2VpZ2h0LCBza3UsIGFsaWFzKQogICAgICAgICAgICBWQUxVRVMgKD8sPyw/LE5PVygpLE5PVygpLD8sPyw/LD8sPykiOwogICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAoJCSAgICAgIGFycmF5KCRwcm9kdWN0Wydwcm9kdWN0X25hbWUnXSwkcHJvZHVjdFsnZGV0YWlscyddLCRwcm9kdWN0WydwcmljZSddLAoJCQkgICAgJHByb2R1Y3RbJ3RheGFibGUnXSwkcHJvZHVjdFsnc3RhdHVzJ10sJHByb2R1Y3RbJ3dlaWdodCddLAoJCQkgICAgJHByb2R1Y3RbJ3NrdSddLCRwcm9kdWN0WydhbGlhcyddKSk7CiAgaWYoICEkZGJyICkKICAgIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJHRoaXMtPkxhbmcoJ2Vycm9yX2RiZXJyb3InKS4nIC0tICcuJGRiLT5zcWwuJyAtLSAnLiRkYi0+RXJyb3JNc2coKSk7CgogICRuZXdfaWQgPSAkZGItPkluc2VydF9JZCgpOwoKICBpZiggaXNfYXJyYXkoJHByb2R1Y3RfY2F0ZWdvcmllcykgJiYgY291bnQoJHByb2R1Y3RfY2F0ZWdvcmllcykgKSB7CiAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMgCiAgICAgICAgICAgICAgKHByb2R1Y3RfaWQsY2F0ZWdvcnlfaWQsY3JlYXRlX2RhdGUsbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sTk9XKCksTk9XKCkpIjsKICAgIGZvcmVhY2goICRwcm9kdWN0X2NhdGVnb3JpZXMgYXMgJGNhdCApIHsKICAgICAgJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkbmV3X2lkLCRjYXRbJ2NhdGVnb3J5X2lkJ10pKTsKICAgIH0KICB9CgogIGlmKCBpc19hcnJheSgkcHJvZHVjdF9maWVsZHZhbHMpICYmIGNvdW50KCRwcm9kdWN0X2ZpZWxkdmFscykgKSB7CiAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgCiAgICAgICAgICAgICAgKHByb2R1Y3RfaWQsZmllbGRkZWZfaWQsdmFsdWUsY3JlYXRlX2RhdGUsbW9kaWZpZWRfZGF0ZSkKICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LE5PVygpLE5PVygpKSI7CiAgICBmb3JlYWNoKCAkcHJvZHVjdF9maWVsZHZhbHMgYXMgJGZ2ICkgewogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRuZXdfaWQsJGZ2WydmaWVsZGRlZl9pZCddLCRmdlsndmFsdWUnXSkpOwogICAgfQogIH0KCiAgaWYoIGlzX2FycmF5KCRhdHRyaWJzKSAmJiBjb3VudCgkYXR0cmlicykgKSB7CiAgICAkbiA9IGNvdW50KCRhdHRyaWJzKTsKICAgIGZvciggJGkgPSAwOyAkaSA8ICRuOyAkaSsrICkgewogICAgICAkbmV3ID0gY2xvbmUgJGF0dHJpYnNbJGldOwogICAgICAkbmV3Wydwcm9kdWN0X2lkJ10gPSAkbmV3X2lkOwogICAgICAkbmV3LT5zYXZlKCk7CiAgICB9CiAgfQoKICBpZiggJGhpZXJhcmNoeV9pZCA+IDAgKSB7CiAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyIAogICAgICAgICAgICAgIChwcm9kdWN0X2lkLGhpZXJhcmNoeV9pZCkgVkFMVUVTICg/LD8pJzsKICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJG5ld19pZCwkaGllcmFyY2h5X2lkKSk7CiAgfQoKICAvLwogIC8vIGNvcHkgZmlsZXMuCiAgLy8KICAkc3JjZGlyID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLCdwcm9kdWN0XycuJGNvbXBpZCk7CiAgJGRlc3RkaXIgPSBjbXNfam9pbl9wYXRoKCRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLCR0aGlzLT5HZXROYW1lKCksJ3Byb2R1Y3RfJy4kbmV3X2lkKTsKICBpZiggaXNfZGlyKCRzcmNkaXIpICkgewogICAgJGZpbGVzID0gZ2xvYigkc3JjZGlyLicvKicpOwogICAgaWYoIGlzX2FycmF5KCRmaWxlcykgJiYgY291bnQoJGZpbGVzKSApIHsKICAgICAgQG1rZGlyKCRkZXN0ZGlyKTsKICAgICAgZm9yZWFjaCggJGZpbGVzIGFzICRvbmVmaWxlICkgewoJJGZuID0gYmFzZW5hbWUoJG9uZWZpbGUpOwoJY29weSgkb25lZmlsZSxjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCRmbikpOwogICAgICB9CiAgICB9CiAgfQp9CmNhdGNoKCBDbXNFeGNlcHRpb24gJGUgKSB7CiAgJHRoaXMtPlNldEVycm9yKCRlLT5HZXRNZXNzYWdlKCkpOwogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KCi8vCi8vIGFsbCBkb25lLi4gcmVkaXJlY3QgdG8gZWRpdCBmb3JtCi8vCiR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfcHJvZHVjdGNvcGllZCcpKTsKJHRoaXMtPlJlZGlyZWN0KCRpZCwnZWRpdHByb2R1Y3QnLCcnLGFycmF5KCdjb21waWQnPT4kbmV3X2lkKSk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_delete_hierarchy_item.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdoaWVyYXJjaHknKTsKaWYoICFpc3NldCgkcGFyYW1zWydoaWVyYXJjaHlfaWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CiRoaWVyYXJjaHlfaWQgPSAoaW50KSRwYXJhbXNbJ2hpZXJhcmNoeV9pZCddOwoKLy8gR2V0IHRoaXMgaGllcmFyY2h5IGl0ZW0nCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5CiAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKJGRhdGEgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGhpZXJhcmNoeV9pZCkpOwppZiggJGRhdGFbJ2ltYWdlJ10gKQogIHsKICAgICRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLAoJCQkgICAgICdoaWVyYXJjaHknKTsKICAgICRmbiA9IGNtc19qb2luX3BhdGgoJGRlc3RkaXIsJGRhdGFbJ2ltYWdlJ10pOwogICAgaWYoIEBmaWxlX2V4aXN0cygkZm4pICkKICAgICAgewoJQHVubGluaygkZm4pOwogICAgICB9CiAgICAkZm4gPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCd0aHVtYl8nLiRkYXRhWydpbWFnZSddKTsKICAgIGlmKCBAZmlsZV9leGlzdHMoJGZuKSApCiAgICAgIHsKCUB1bmxpbmsoJGZuKTsKICAgICAgfQogICAgJGZuID0gY21zX2pvaW5fcGF0aCgkZGVzdGRpciwncHJldmlld18nLiRkYXRhWydpbWFnZSddKTsKICAgIGlmKCBAZmlsZV9leGlzdHMoJGZuKSApCiAgICAgIHsKCUB1bmxpbmsoJGZuKTsKICAgICAgfQogIH0KCi8vIHJlc2V0IGFsbCBwZWVyIGhpZXJhcmNoaWVzIGl0ZW0gb3JkZXIKJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSBTRVQgaXRlbV9vcmRlciA9IGl0ZW1fb3JkZXIgLSAxCiAgICAgICAgICAgV0hFUkUgcGFyZW50X2lkID0gPyBBTkQgaXRlbV9vcmRlciA+ID8nOwokZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZGF0YVsncGFyZW50X2lkJ10sJGRhdGFbJ2l0ZW1fb3JkZXInXSkpOwoKLy8gUmVzZXQgYWxsIGhpZXJhcmNoaWVzIHVzaW5nIHRoaXMgcGFyZW50IHRvIGhhdmUgbm8gcGFyZW50ICgtMSkKJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSBTRVQgcGFyZW50X2lkID0gLTEKICAgICAgICAgICBXSEVSRSBwYXJlbnRfaWQgPSA/JzsKJGRiciA9ICRkYi0+RXhlY3V0ZSggJHF1ZXJ5LCBhcnJheSggJGhpZXJhcmNoeV9pZCApICk7CgovLyBOb3cgcmVtb3ZlIGl0CiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSBXSEVSRSBpZCA9ID8nOwokZGItPkV4ZWN1dGUoICRxdWVyeSwgYXJyYXkoICRoaWVyYXJjaHlfaWQgKSApOwoKLy8gQW5kIG5vdyB1cGRhdGUgYW55IHByb2R1Y3RzIHRvIGhhdmUgbm8gY2F0ZWdvcnkKLy8gaWYgdGhleSBoYXZlIHRoaXMgaGllcmFyY2h5X2lkCiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R0b2hpZXIKICAgICAgICAgICBXSEVSRSBoaWVyYXJjaHlfaWQgPSA/JzsKJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAkaGllcmFyY2h5X2lkICkgKTsKCiR0aGlzLT5VcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKTsKCi8vIGRvbmUKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_attribs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQoKTsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIHJldHVybjsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdwcm9kdWN0cycpOwppZiggIWlzc2V0KCRwYXJhbXNbJ3Byb2RpZCddKSApICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiRyb3cgPSBhcnJheSgnaWQnPT4nJywncHJvZHVjdF9pZCc9PihpbnQpJHBhcmFtc1sncHJvZGlkJ10sJ3RleHQnPT4nJywnYWRqdXN0bWVudCc9PicnLCdza3UnPT4nJywncW9oJz0+MCwnbm90ZXMnPT4nJyk7CiRhdHRyaWJzID0gYXJyYXkoJHJvdyk7CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkgewogICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdvcGVyYXRpb25fY2FuY2VsbGVkJykpOwogICR0aGlzLT5SZWRpcmVjdFRvdGFiKCRpZCk7Cn0KaWYoIGlzc2V0KCRwYXJhbXNbJ2RlbGV0ZWFsbCddKSApIHsKICBwcm9kdWN0c19hdHRyaWI6OmRlbGV0ZV9ieV9wcm9kdWN0KCRwYXJhbXNbJ3Byb2RpZCddKTsKICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX29wdGlvbnNfZGVsZXRlZCcsJHBhcmFtc1sncHJvZGlkJ10pKTsKICAkdGhpcy0+UmVkaXJlY3RUb3RhYigkaWQpOwp9CmlmKCBpc3NldCgkcGFyYW1zWydjb3B5YXR0cmlicyddKSApIHsKICBpZiggIWlzc2V0KCRwYXJhbXNbJ2NvcHlmcm9tJ10pIHx8ICRwYXJhbXNbJ2NvcHlmcm9tJ10gPCAxICkgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogIH0KICBlbHNlIHsKCSRhdHRyaWJzID0gcHJvZHVjdHNfYXR0cmliOjpsb2FkX2J5X3Byb2R1Y3QoKGludCkkcGFyYW1zWydjb3B5ZnJvbSddKTsKCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfb3B0aW9uc2NvcGllZCcpKTsKICB9Cn0KCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKSB7CiAgdHJ5IHsKCSRhdHRyaWJzID0gcHJvZHVjdHNfYXR0cmliOjpsb2FkX2Zyb21fZm9ybSgkcGFyYW1zKTsKCglpZiggIWlzX2FycmF5KCRhdHRyaWJzKSAmJiBjb3VudCgkYXR0cmlicykgKSB7CgkgIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJ05vIHByb2R1Y3Qgb3B0aW9ucyB0byBzYXZlJyk7Cgl9CgoJcHJvZHVjdHNfYXR0cmliOjpkZWxldGVfYnlfcHJvZHVjdCgkcGFyYW1zWydwcm9kaWQnXSk7Cglmb3JlYWNoKCAkYXR0cmlicyBhcyAkYXR0cmliICkgewoJICAkYXR0cmliLT5zYXZlKCk7Cgl9CgoJJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19vcHRpb25zX3NhdmVkJykpOwoJJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CiAgY2F0Y2goIENtc0V4Y2VwdGlvbiAkZSApIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJGUtPkdldE1lc3NhZ2UoKSk7CiAgfQp9CmVsc2UgewogICR0bXAgPSBwcm9kdWN0c19hdHRyaWI6OmxvYWRfYnlfcHJvZHVjdCgkcGFyYW1zWydwcm9kaWQnXSk7CiAgaWYoIGlzX2FycmF5KCR0bXApICYmIGNvdW50KCR0bXApICkgewoJJGF0dHJpYnMgPSAkdG1wOwogIH0KfQoKCi8vIGdldCBhIGxpc3Qgb2YgcHJvZHVjdHMgKGV4Y2VwdCB0aGlzIG9uZSkgd2l0aCBwcm9kdWN0cy4KJHF1ZXJ5ID0gJ1NFTEVDVCBESVNUSU5DVCBQLmlkLFAucHJvZHVjdF9uYW1lIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJzIEEKICAgICAgICAgIExFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIFAKICAgICAgICAgIE9OIEEucHJvZHVjdF9pZCA9IFAuaWQgV0hFUkUgQS5wcm9kdWN0X2lkICE9ID8KICAgICAgICAgIE9SREVSIEJZIHByb2R1Y3RfbmFtZSBBU0MnOwokdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnksYXJyYXkoKGludCkkcGFyYW1zWydwcm9kaWQnXSkpOwppZiggaXNfYXJyYXkoJHRtcCkgJiYgY291bnQoJHRtcCkgKSB7CiAgJHQyID0gYXJyYXkoKTsKICBmb3JlYWNoKCAkdG1wIGFzICRyZWMgKSB7CgkkdDJbJHJlY1snaWQnXV0gPSAkcmVjWydwcm9kdWN0X25hbWUnXTsKICB9CiAgJHNtYXJ0eS0+YXNzaWduKCdwcm9kdWN0c193aXRoX2F0dHJpYnMnLCR0Mik7Cn0KCiRwcm9kdWN0ID0gcHJvZHVjdF9vcHM6OmdldF9wcm9kdWN0KChpbnQpJHBhcmFtc1sncHJvZGlkJ10sVFJVRSk7CiRzbWFydHktPmFzc2lnbigncHJvZHVjdCcsJHByb2R1Y3QpOwokc21hcnR5LT5hc3NpZ24oJ3NrdV9pc19yZXF1aXJlZCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NrdXJlcXVpcmVkJywwKSk7CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9lZGl0X2F0dHJpYnMnLCcnLGFycmF5KCdwcm9kaWQnPT4kcGFyYW1zWydwcm9kaWQnXSkpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdhdHRyaWJzJywkYXR0cmlicyk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VkaXRfYXR0cmlicy50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_edit_hierarchy_item.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CiR0aGlzLT5TZXRDdXJyZW50VGFiKCdoaWVyYXJjaHknKTsKaWYoICFpc3NldCgkcGFyYW1zWydoaWVyYXJjaHlfaWQnXSkgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CiRoaWVyYXJjaHlfaWQgPSAoaW50KSRwYXJhbXNbJ2hpZXJhcmNoeV9pZCddOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApCiAgewogICAgLy8gd2UncmUgY2FuY2VsbGluZwogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CgojCiMgRGVmYXVsdHMKIwokcGFyZW50ID0gLTE7CiRuYW1lID0gJyc7CiRleHRyYTEgPSAnJzsKJGV4dHJhMiA9ICcnOwokZGVzY3JpcHRpb24gPSAnJzsKJGRlc3RkaXIgPSBjbXNfam9pbl9wYXRoKCRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLCR0aGlzLT5HZXROYW1lKCksCgkJCSAnaGllcmFyY2h5Jyk7CgoKIwojIEdldCB0aGUgdmFsdWVzIGZyb20gdGhlIGRhdGFiYXNlCiMKJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkKICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwokcm93ID0gJGRiLT5HZXRSb3coICRxdWVyeSwgYXJyYXkoICRoaWVyYXJjaHlfaWQpICk7CiRwYXJlbnQgPSAkcm93WydwYXJlbnRfaWQnXTsKJG5hbWUgPSAkcm93WyduYW1lJ107CiRleHRyYTEgPSAkcm93WydleHRyYTEnXTsKJGV4dHJhMiA9ICRyb3dbJ2V4dHJhMiddOwokaW1hZ2UgPSAkcm93WydpbWFnZSddOwokZGVzY3JpcHRpb24gPSAkcm93WydkZXNjcmlwdGlvbiddOwoKIwojIEZvcm0gQWN0aW9uCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgICRlcnJvciA9IDA7CiAgICAkbmFtZSA9IHRyaW0oJHBhcmFtc1snbmFtZSddKTsKICAgICRleHRyYTEgPSB0cmltKCRwYXJhbXNbJ2V4dHJhMSddKTsKICAgICRleHRyYTIgPSB0cmltKCRwYXJhbXNbJ2V4dHJhMiddKTsKICAgICRwYXJlbnQgPSAoaW50KSRwYXJhbXNbJ3BhcmVudCddOwogICAgJGRlc2NyaXB0aW9uID0gdHJpbSgkcGFyYW1zWydkZXNjcmlwdGlvbiddKTsKCiAgICBpZiggJHBhcmVudCA9PSAkcGFyYW1zWydoaWVyYXJjaHlfaWQnXSApCiAgICAgIHsKCSRlcnJvciA9IDE7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkcGFyZW50JykpOwogICAgICB9CgogICAgaWYoICEkZXJyb3IgJiYgZW1wdHkoJG5hbWUpICkKICAgICAgewoJJGVycm9yID0gMTsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX25vbmFtZScpKTsKICAgICAgfQoKICAgIGlmKCAhJGVycm9yICkKICAgICAgewoJJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IFdIRVJFIHBhcmVudF9pZCA9ID8gQU5EIG5hbWUgPSA/IEFORCBpZCAhPSA/JzsKCSR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJHBhcmVudCwkbmFtZSwkaGllcmFyY2h5X2lkKSk7CglpZiggJHRtcCApCgkgIHsKCSAgICAkZXJyb3IgPSAxOwoJICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX25hbWV1c2VkJykpOwoJICB9CiAgICAgIH0KCiAgICBpZiggISRlcnJvciApCiAgICAgIHsKCS8vIGhhbmRsZSBpbWFnZSBkZWxldGUgZmlyc3QKCWlmKCBpc3NldCgkcGFyYW1zWydkZWxldGVpbWcnXSkgKQoJICB7CgkgICAgJHNyY25hbWUgPSBjbXNfam9pbl9wYXRoKCRkZXN0ZGlyLCRpbWFnZSk7CgkgICAgJGRlc3RuYW1lID0gY21zX2pvaW5fcGF0aCgkZGVzdGRpciwndGh1bWJfJy4kaW1hZ2UpOwoJICAgICRwcmV2aWV3bmFtZSA9IGNtc19qb2luX3BhdGgoJGRlc3RkaXIsJ3ByZXZpZXdfJy4kaW1hZ2UpOwoJICAgIEB1bmxpbmsoJHNyY25hbWUpOwoJICAgIEB1bmxpbmsoJGRlc3RuYW1lKTsKCSAgICBAdW5saW5rKCRwcmV2aWV3bmFtZSk7CgkgICAgJGltYWdlID0gJyc7CgkgIH0KCgkvLyBIYW5kbGUgZmlsZSB1cGxvYWQKICAgICAgICAkYXR0ciA9ICdkZWZhdWx0JzsKICAgICAgICBpZiggaXNzZXQoJHBhcmFtc1snaW5wdXRfd2F0ZXJtYXJrJ10pICkKICAgICAgICB7CiAgICAgICAgICAgJGF0dHIgPSAkcGFyYW1zWydpbnB1dF93YXRlcm1hcmsnXTsKICAgICAgICB9CiAgICAgICAgJGVycm9ycyA9IGFycmF5KCk7CiAgICAgICAgJHJlcyA9ICR0aGlzLT5IYW5kbGVVcGxvYWRlZEltYWdlKCRpZCwnZmlsZScsJGRlc3RkaXIsJGVycm9ycywnJywkYXR0cix0cnVlKTsKICAgICAgICBpZiggJHJlcyA9PT0gRkFMU0UgKQogICAgICAgICAgewogICAgICAgICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3JzKTsKICAgICAgICAgIH0KCWVsc2UgCgkgIHsKCSAgICBpZiggJHJlcyAhPSBjZ19maWxldXBsb2FkOjpOT0ZJTEUgKQoJICAgICAgewoJCS8vIGltYWdlIHVwbG9hZCBzdWNjZWVkZWQKCQkkaW1hZ2UgPSAkcmVzOwoJCWlmKCAkcmVzID09PSBUUlVFICkgJGltYWdlID0gJyc7CgkgICAgICB9CgoJICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkKICAgICAgICAgICAgICAgICAgICAgIFNFVCBuYW1lID0gPywgaW1hZ2UgPSA/LCBwYXJlbnRfaWQgPSA/LCBkZXNjcmlwdGlvbiA9ID8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0cmExID0gPywgZXh0cmEyID0gPwogICAgICAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKCSAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRuYW1lLCRpbWFnZSwkcGFyZW50LCRkZXNjcmlwdGlvbiwkZXh0cmExLCRleHRyYTIsJGhpZXJhcmNoeV9pZCkpOwoJICAgIAoJICAgICR0aGlzLT5VcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKTsKCSAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoJICB9CiAgICAgIH0KICB9CgoKIwojIEJ1aWxkIHRoZSBmb3JtCiMKJGhpZXJhcmNoeV9pdGVtcyA9ICR0aGlzLT5CdWlsZEhpZXJhcmNoeUxpc3QoKTsKJHNtYXJ0eS0+YXNzaWduKCdoaWVyYXJjaHlfaWQnLCRoaWVyYXJjaHlfaWQpOwokc21hcnR5LT5hc3NpZ24oJ2hpZXJhcmNoeV9pdGVtcycsJGhpZXJhcmNoeV9pdGVtcyk7CiRzbWFydHktPmFzc2lnbigncGFyZW50JywkcGFyZW50KTsKJHNtYXJ0eS0+YXNzaWduKCduYW1lJywkbmFtZSk7CiRzbWFydHktPmFzc2lnbignZXh0cmExJywkZXh0cmExKTsKJHNtYXJ0eS0+YXNzaWduKCdleHRyYTInLCRleHRyYTIpOwokc21hcnR5LT5hc3NpZ24oJ2ltYWdlJywkaW1hZ2UpOwokaW1hZ2VfdXJsID0gJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldE5hbWUoKS4iL2hpZXJhcmNoeS8kaW1hZ2UiOwokc21hcnR5LT5hc3NpZ24oJ2ltYWdlX3VybCcsJGltYWdlX3VybCk7CiRzbWFydHktPmFzc2lnbignZGVzY3JpcHRpb24nLCRkZXNjcmlwdGlvbik7CmlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b3dhdGVybWFyaycpID09ICdhZGp1c3RhYmxlJyApCnsKICAkd21vcHRzID0gYXJyYXkoKTsKICAkd21vcHRzWyR0aGlzLT5MYW5nKCdub25lJyldID0gJ25vbmUnOwogICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2RlZmF1bHQnKV0gPSAnZGVmYXVsdCc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdWwnKV0gPSAnMCc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdWMnKV0gPSAnMSc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdXInKV0gPSAnMic7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbWwnKV0gPSAnMyc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbWMnKV0gPSAnNCc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbXInKV0gPSAnNSc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbGwnKV0gPSAnNic7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbGMnKV0gPSAnNyc7CiAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbHInKV0gPSAnOCc7CiAgJHNtYXJ0eS0+YXNzaWduKCd3YXRlcm1hcmtfbG9jYXRpb24nLAogICAgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdpbnB1dF93YXRlcm1hcmsnLCR3bW9wdHMsLTEsJ2RlZmF1bHQnKSk7Cn0KCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywKCQkkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9lZGl0X2hpZXJhcmNoeV9pdGVtJywkcmV0dXJuaWQsCgkJCQkJICRwYXJhbXMsJ2ZhbHNlJywncG9zdCcsJ211bHRpcGFydC9mb3JtLWRhdGEnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2FkZF9oaWVyYXJjaHlfaXRlbS50cGwnKTsKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_reorder_hierarchy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CgovLwovLyBpbml0aWFsaXplCi8vCmZ1bmN0aW9uIG9yZGVyaGllcl9jcmVhdGVfZmxhdGxpc3QoJHRyZWUsJHBhcmVudF9pZCA9IC0xKQp7CiAgJGRhdGEgPSBhcnJheSgpOwogICRvcmRlciA9IDE7CiAgZm9yZWFjaCggJHRyZWUgYXMgJiRub2RlICkKICAgIHsKICAgICAgaWYoIGlzX2FycmF5KCRub2RlKSAmJiBjb3VudCgkbm9kZSkgPT0gMiApCgl7CgkgICRwaWQgPSAoaW50KXN1YnN0cigkbm9kZVswXSxzdHJsZW4oJ2hpZXJfJykpOwoJICAkZGF0YVtdID0gYXJyYXkoJ2lkJz0+JHBpZCwncGFyZW50X2lkJz0+JHBhcmVudF9pZCwnb3JkZXInPT4kb3JkZXIpOwoJICBpZiggaXNzZXQoJG5vZGVbMV0pICYmIGlzX2FycmF5KCRub2RlWzFdKSApCgkgICAgewoJICAgICAgJGRhdGEgPSBhcnJheV9tZXJnZSgkZGF0YSxvcmRlcmhpZXJfY3JlYXRlX2ZsYXRsaXN0KCRub2RlWzFdLCRwaWQpKTsKCSAgICB9Cgl9CiAgICAgIGVsc2UKCXsKCSAgJHBpZCA9IChpbnQpc3Vic3RyKCRub2RlLHN0cmxlbignaGllcl8nKSk7CgkgICRkYXRhW10gPSBhcnJheSgnaWQnPT4kcGlkLCdwYXJlbnRfaWQnPT4kcGFyZW50X2lkLCdvcmRlcic9PiRvcmRlcik7Cgl9CiAgICAgICRvcmRlcisrOwogICAgfQogIHJldHVybiAkZGF0YTsKfQoKLy8KLy8gc2V0dXAgdGhlIGRhdGEKLy8KJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2hpZXJhcmNoeScpOwokdHJlZSA9IHByb2R1Y3RfdXRpbHM6OmhpZXJhcmNoeV9nZXRfdHJlZSgpOwoKLy8KLy8gaGFuZGxlIGZvcm0gc3VibWlzc2lvbl8KLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSApCiAgewogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ29wZXJhdGlvbl9jYW5jZWxsZWQnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogICAgcmV0dXJuOwogIH0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkKICB7CiAgICAkcGFyYW1zWydvcmRlcmRhdGEnXSA9IGpzb25fZGVjb2RlKCRwYXJhbXNbJ29yZGVyZGF0YSddKTsKCiAgICAvLyAxLiBNYXNzYWdlIHRoZSBvcmRlciBkYXRhIGZyb20gdGhlIGZvcm0uCiAgICAkZGF0YSA9IG9yZGVyaGllcl9jcmVhdGVfZmxhdGxpc3QoJHBhcmFtc1snb3JkZXJkYXRhJ10pOwoKICAgIC8vIDIuIFVwZGF0ZSB0aGUgZGF0YSBhcnJheSB3aXRoIGluZm8gZnJvbSB0aGUgdHJlZS4KICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IAogICAgICAgICAgICAgIE9SREVSIGJ5IGhpZXJhcmNoeSc7CiAgICAkZGJyID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgJGRiciA9IGNnZV9hcnJheTo6dG9faGFzaCgkZGJyLCdpZCcpOwoKICAgIC8vIDMuIFVwZGF0ZSB0aGUgZGF0YWJhc2UKICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkgU0VUIHBhcmVudF9pZCA9ID8sIGl0ZW1fb3JkZXIgPSA/LCBoaWVyYXJjaHkgPSA/LCBsb25nX25hbWUgPSA/IFdIRVJFIGlkID0gPyc7CiAgICBmb3JlYWNoKCAkZGF0YSBhcyAkcmVjICkKICAgICAgewoJJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHJlY1sncGFyZW50X2lkJ10sJHJlY1snb3JkZXInXSwnJywnJywkcmVjWydpZCddKSk7CiAgICAgIH0KICAgIHByb2R1Y3RfdXRpbHM6OnVwZGF0ZV9oaWVyYXJjaHlfcG9zaXRpb25zKCk7CgogICAgLy8gYW5kIGdldCBvdXQgb2YgaGVyZS4KICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdvcGVyYXRpb25fY29tcGxldGUnKSk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogICAgcmV0dXJuOwogIH0KCi8vCi8vIGdpdmUgaXQgdG8gc21hcnR5Ci8vCiRzbWFydHktPmFzc2lnbignbW9kJywkdGhpcyk7CiRzbWFydHktPmFzc2lnbignYWN0aW9uaWQnLCRpZCk7CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9yZW9yZGVyX2hpZXJhcmNoeScpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCd0cmVlJywkdHJlZSk7CiRzbWFydHktPmFzc2lnbignZGVwdGgnLDApOwoKLy8gZGlzcGxheSB0aGUgZm9ybS4KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9yZW9yZGVyX2hpZXJhcmNoeS50cGwnKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.admin_saveprefs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoICRnQ21zICkgKSByZXR1cm47CgokdGhpcy0+U2V0Q3VycmVudFRhYigncHJlZnMnKTsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkKICB7CiAgICByZXR1cm47CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ3NldGVjb21oYW5kbGVycyddKSApCiAgewogICAgJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ0dFY29tbWVyY2VCYXNlJywnT3JkZXJVcGRhdGVkJyxGQUxTRSk7CiAgICAkdGhpcy0+U2V0TWVzc2FnZSgkdGhpcy0+TGFuZygnbXNnX2V2ZW50aGFuZGxlcnNfY3JlYXRlZCcpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgfQoKaWYoICFpc3NldCggJHBhcmFtc1snc3VibWl0J10gKSApCiAgewogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1sndGF4YWJsZSddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2RlZmF1bHRfdGF4YWJsZScsKGludCkkcGFyYW1zWyd0YXhhYmxlJ10pOwogIH0KZWxzZQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3RheGFibGUnLDApOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydzdGF0dXMnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N0YXR1cycsJHBhcmFtc1snc3RhdHVzJ10pOwogIH0KZWxzZQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N0YXR1cycsMCk7CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZXRhaWxwYWdlJywkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydoaWVycGFnZSddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2hpZXJwYWdlJywkcGFyYW1zWydoaWVycGFnZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydwcmV0dHloaWVydXJscyddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3ByZXR0eWhpZXJ1cmxzJywkcGFyYW1zWydwcmV0dHloaWVydXJscyddKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snc29ydG9yZGVyJ10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyJywkcGFyYW1zWydzb3J0b3JkZXInXSk7CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1bW1hcnlfbmV3ZGVmYXVsdCddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3N1bW1hcnlfbmV3ZGVmYXVsdCcsKGludCkkcGFyYW1zWydzdW1tYXJ5X25ld2RlZmF1bHQnXSk7CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1bW1hcnlfcGFnZWxpbWl0J10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc3VtbWFyeV9wYWdlbGltaXQnLChpbnQpJHBhcmFtc1snc3VtbWFyeV9wYWdlbGltaXQnXSk7CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ3NvcnRieSddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NvcnRieScsJHBhcmFtc1snc29ydGJ5J10pOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydjdXJyZW5jeXN5bWJvbCddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb2R1Y3RzX2N1cnJlbmN5c3ltYm9sJyx0cmltKCRwYXJhbXNbJ2N1cnJlbmN5c3ltYm9sJ10pKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snd2VpZ2h0dW5pdHMnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kdWN0c193ZWlnaHR1bml0cycsdHJpbSgkcGFyYW1zWyd3ZWlnaHR1bml0cyddKSk7CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2xlbmd0aHVuaXRzJ10pICkKICB7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJvZHVjdHNfbGVuZ3RodW5pdHMnLHRyaW0oJHBhcmFtc1snbGVuZ3RodW5pdHMnXSkpOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydhbGxvd2VkX2ltYWdldHlwZXMnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd2VkX2ltYWdldHlwZXMnLHRyaW0oJHBhcmFtc1snYWxsb3dlZF9pbWFnZXR5cGVzJ10pKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snYWxsb3dlZF9maWxldHlwZXMnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhbGxvd2VkX2ZpbGV0eXBlcycsdHJpbSgkcGFyYW1zWydhbGxvd2VkX2ZpbGV0eXBlcyddKSk7CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2F1dG90aHVtYm5haWwnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvdGh1bWJuYWlsJywoaW50KSgkcGFyYW1zWydhdXRvdGh1bWJuYWlsJ10pKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydhdXRvdGh1bWJuYWlsX3NpemUnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvX3RodW1ibmFpbF9zaXplJywoaW50KSgkcGFyYW1zWydhdXRvdGh1bWJuYWlsX3NpemUnXSkpOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydhdXRvcHJldmlld2ltZyddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2F1dG9wcmV2aWV3aW1nJywoaW50KSgkcGFyYW1zWydhdXRvcHJldmlld2ltZyddKSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snYXV0b3ByZXZpZXdpbWdfc2l6ZSddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2F1dG9fcHJldmlld2ltZ19zaXplJywoaW50KSgkcGFyYW1zWydhdXRvcHJldmlld2ltZ19zaXplJ10pKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1sndXJscHJlZml4J10pICkKICB7CiAgICBpZiggJHBhcmFtc1sndXJscHJlZml4J10gIT0gJycgKQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgndXJscHJlZml4JywkcGFyYW1zWyd1cmxwcmVmaXgnXSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoJ3VybHByZWZpeCcpOwogICAgICB9CiAgfQoKaWYoIGlzc2V0KCRwYXJhbXNbJ2F1dG93YXRlcm1hcmsnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdhdXRvd2F0ZXJtYXJrJywkcGFyYW1zWydhdXRvd2F0ZXJtYXJrJ10pOwogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydkZWxldGVwcm9kdWN0ZmlsZXMnXSkgKQogIHsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWxldGVwcm9kdWN0ZmlsZXMnLHRyaW0oJHBhcmFtc1snZGVsZXRlcHJvZHVjdGZpbGVzJ10pKTsKICB9CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCcsKGludCkkcGFyYW1zWyd1c2VfZGV0YWlscGFnZV9mb3Jfc2VhcmNoJ10pOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgndXNlaGllcnBhdGh1cmxzJywoaW50KSRwYXJhbXNbJ3VzZWhpZXJwYXRodXJscyddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb2Rub3Rmb3VuZCcsdHJpbSgkcGFyYW1zWydwcm9kbm90Zm91bmQnXSkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgncHJvZG5vdGZvdW5kbXNnJyx0cmltKCRwYXJhbXNbJ3Byb2Rub3Rmb3VuZG1zZyddKSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kbm90Zm91bmRwYWdlJyx0cmltKCRwYXJhbXNbJ3Byb2Rub3Rmb3VuZHBhZ2UnXSkpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2t1cmVxdWlyZWQnLChpbnQpJHBhcmFtc1snc2t1cmVxdWlyZWQnXSk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKLy8gRU9GCj8+]]></data>
	</file>
	<file>
	  <filename>/action.admin_setdflttemplates.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwppZiggISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSApIGV4aXQoKTsKCiR0aGlzLT5TZXRDdXJyZW50VGFiKCdkZWZhdWx0X3RlbXBsYXRlcycpOwoKaWYoIGlzc2V0KCAkcGFyYW1zWydzdWJtaXRfc3VtbWFyeXRlbXBsYXRlJ10gKSApIHsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV1NVTU1BUllfVEVNUExBVEUsdHJpbSgkcGFyYW1zWydpbnB1dF9zdW1tYXJ5dGVtcGxhdGUnXSkpOwp9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydyZXNldF9zdW1tYXJ5dGVtcGxhdGUnXSApICkgewogICRmbiA9IF9fRElSX18uRElSRUNUT1JZX1NFUEFSQVRPUi4ndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidvcmlnX3N1bW1hcnlfdGVtcGxhdGUudHBsJzsKICBpZiggZmlsZV9leGlzdHMoICRmbiApICkgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV1NVTU1BUllfVEVNUExBVEUsJHRlbXBsYXRlKTsKICB9Cn0KCmlmKCBpc3NldCggJHBhcmFtc1snc3VibWl0X2RldGFpbHRlbXBsYXRlJ10gKSApIHsKICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV0RFVEFJTF9URU1QTEFURSx0cmltKCRwYXJhbXNbJ2lucHV0X2RldGFpbHRlbXBsYXRlJ10pKTsKfQplbHNlIGlmKCBpc3NldCggJHBhcmFtc1sncmVzZXRfZGV0YWlsdGVtcGxhdGUnXSApICkgewogICRmbiA9IF9fRElSX18uRElSRUNUT1JZX1NFUEFSQVRPUi4ndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SLidvcmlnX2RldGFpbF90ZW1wbGF0ZS50cGwnOwogIGlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXREVUQUlMX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgfQp9CgoKaWYoIGlzc2V0KCAkcGFyYW1zWydzdWJtaXRfYnloaWVyYXJjaHl0ZW1wbGF0ZSddICkgKSB7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdCWUhJRVJBUkNIWV9URU1QTEFURSx0cmltKCRwYXJhbXNbJ2lucHV0X2J5aGllcmFyY2h5dGVtcGxhdGUnXSkpOwp9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydyZXNldF9ieWhpZXJhcmNoeXRlbXBsYXRlJ10gKSApIHsKICAkZm4gPSBfX0RJUl9fLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nb3JpZ19ieWhpZXJhcmNoeV90ZW1wbGF0ZS50cGwnOwogIGlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7CiAgICAkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXQllISUVSQVJDSFlfVEVNUExBVEUsJHRlbXBsYXRlKTsKICB9Cn0KCgppZiggaXNzZXQoICRwYXJhbXNbJ3N1Ym1pdF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddICkgKSB7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdDQVRFR09SWUxJU1RfVEVNUExBVEUsdHJpbSgkcGFyYW1zWydpbnB1dF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddKSk7Cn0KZWxzZSBpZiggaXNzZXQoICRwYXJhbXNbJ3Jlc2V0X2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gKSApIHsKICAkZm4gPSBfX0RJUl9fLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RlbXBsYXRlcycuRElSRUNUT1JZX1NFUEFSQVRPUi4nb3JpZ19jYXRlZ29yeWxpc3RfdGVtcGxhdGUudHBsJzsKICBpZiggZmlsZV9leGlzdHMoICRmbiApICkgewogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV0NBVEVHT1JZTElTVF9URU1QTEFURSwkdGVtcGxhdGUpOwogIH0KfQoKaWYoIGlzc2V0KCAkcGFyYW1zWydzdWJtaXRfc2VhcmNodGVtcGxhdGUnXSApICkgewogICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXU0VBUkNIX1RFTVBMQVRFLHRyaW0oJHBhcmFtc1snaW5wdXRfc2VhcmNodGVtcGxhdGUnXSkpOwp9CmVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWydyZXNldF9zZWFyY2h0ZW1wbGF0ZSddICkgKSB7CiAgJGZuID0gX19ESVJfXy5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ29yaWdfc2VhcmNoX3RlbXBsYXRlLnRwbCc7CiAgaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsKICAgICR0ZW1wbGF0ZSA9IEBmaWxlX2dldF9jb250ZW50cygkZm4pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdTRUFSQ0hfVEVNUExBVEUsJHRlbXBsYXRlKTsKICB9Cn0KCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Ci8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.ajax_propval.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKLy8gCi8vIHJldHJpZXZlIGFsbCBvZiB0aGUgdmFsdWVzIG9mIGEgZmllbGQKLy8gdGhpcyBpcyBhbiBhY3Rpb24gaW50ZW5kZWQgdG8gYmUgY2FsbGVkIHZpYSBhamF4Li4uIGkuZTogd2l0aCB0aGUgc2hvd3RlbXBsYXRlPWZhbHNlIHBhcmFtZXRlcgovLwoKLy8KLy8gc2V0dXAKLy8KJHJlcyA9IGFycmF5KCdzdGF0dXMnPT4nRVJST1InLCdkYXRhJz0+JycpOwokZmllbGQgPSAnJzsKJGZpZWxkdmFsID0gJyc7CiRmaWVsZGRlZnMgPSAkdGhpcy0+R2V0RmllbGREZWZzKCk7CiRkYXRhID0gJyc7CgpmdW5jdGlvbiBkb19lcnJvcigkbXNnLCRleHRyYSA9IG51bGwpCnsKICAkcmVzWydzdGF0dXMnXSA9ICdFUlJPUic7CiAgJHJlc1snZGF0YSddID0gJG1zZzsKICBpZiggIWlzX251bGwoJGV4dHJhKSApCiAgICB7CiAgICAgICRyZXNbJ2V4dHJhJ10gPSAkZXh0cmE7CiAgICB9CiAgZWNobyBqc29uX2VuY29kZSgkcmVzKTsKICBleGl0Owp9CgovLwovLyBkYXRhIHZhbGlkYXRpb24KLy8KaWYoICFpc3NldCgkcGFyYW1zWydmaWVsZCddKSB8fCAhaXNzZXQoJHBhcmFtc1snZmllbGR2YWwnXSkgKQogIHsKICAgIGRvX2Vycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgfQokZmllbGQgPSB0cmltKCRwYXJhbXNbJ2ZpZWxkJ10pOwokZmllbGR2YWwgPSB0cmltKCRwYXJhbXNbJ2ZpZWxkdmFsJ10pOwoKLy8KLy8gZG8gdGhlIHdvcmsKLy8KJGxmaWVsZCA9IHN0cnRvbG93ZXIoJGZpZWxkKTsKc3dpdGNoKCBzdHJ0b2xvd2VyKCRsZmllbGQpICkKICB7CiAgY2FzZSAnOjpza3U6Oic6CiAgICAkcXVlcnkgPSAnU0VMRUNUIHNrdSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMgV0hFUkUgc2t1IExJS0UgPyc7CiAgICAkZGF0YSA9ICRkYi0+R2V0Q29sKCRxdWVyeSxhcnJheSgkZmllbGR2YWwuJyUnKSk7CiAgICBicmVhazsKCiAgY2FzZSAnOjpuYW1lOjonOgogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBwcm9kdWN0X25hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIFdIRVJFIHByb2R1Y3RfbmFtZSBMSUtFID8nOwogICAgJGRhdGEgPSAkZGItPkdldENvbCgkcXVlcnksYXJyYXkoJGZpZWxkdmFsLiclJykpOwogICAgYnJlYWs7CgogIGNhc2UgJzo6YWxpYXM6Oic6CiAgICAkcXVlcnkgPSAnU0VMRUNUIGFsaWFzIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cyBXSEVSRSBhbGlhcyBMSUtFID8nOwogICAgJGRhdGEgPSAkZGItPkdldENvbCgkcXVlcnksYXJyYXkoJGZpZWxkdmFsLiclJykpOwogICAgYnJlYWs7CgogIGRlZmF1bHQ6CiAgICAkZm5kID0gMDsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRmaWVsZGRlZnMpOyAkaSsrICkKICAgICAgewoJaWYoICRmaWVsZGRlZnNbJGldLT5uYW1lID09ICRmaWVsZCApCgkgIHsKCSAgICAkZm5kID0gMTsKCSAgICAkcXVlcnkgPSAnU0VMRUNUIERJU1RJTkNUIHZhbHVlIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgV0hFUkUgZmllbGRkZWZfaWQgPSA/IEFORCB2YWx1ZSBMSUtFID8nOwoJICAgICRkYXRhID0gJGRiLT5HZXRDb2woJHF1ZXJ5LGFycmF5KCRmaWVsZGRlZnNbJGldLT5pZCwkZmllbGR2YWwuJyUnKSk7CgkgICAgYnJlYWs7CgkgIH0KICAgICAgfQogICAgaWYoICEkZm5kICkKICAgICAgewoJJGV4dCA9IGFycmF5KCdsb29rZm9yJz0+JGxmaWVsZCwnZmQnPT4kZmllbGRkZWZzLCd2YWwnPT4kZmllbGR2YWwuJyUnKTsKCWRvX2Vycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX25hbWUnKSwkZXh0KTsKICAgICAgfQogICAgYnJlYWs7CiAgfQoKLy8KLy8gb3V0cHV0Ci8vCiRyZXNbJ3N0YXR1cyddID0gJ09LJzsKJHJlc1snZGF0YSddID0gJGRhdGE7CmVjaG8ganNvbl9lbmNvZGUoJHJlcyk7CmV4aXQ7CgojCiMgRU9GCiM/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.categorylist.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgokdGhldGVtcGxhdGUgPSAnY2F0ZWdvcnlsaXN0XycuJHRoaXMtPkdldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUQ0FURUdPUllMSVNUX1RFTVBMQVRFKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gJ2NhdGVnb3J5bGlzdF8nLiRwYXJhbXNbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlJ107CiAgfQoKJHNvcnRieSA9ICdBLm5hbWUnOwokc29ydG9yZGVyID0gJ2FzYyc7CiRjYXRlZ29yeV9pZCA9ICcnOwokY2F0ZWdvcnkgPSAnJzsKJGNhdGVnb3J5ZmllbGQgPSAnJzsKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5aWQnXSkgKQogIHsKICAgICRjYXRlZ29yeV9pZCA9IChpbnQpJHBhcmFtc1snY2F0ZWdvcnlpZCddOwogIH0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnknXSkgKQogIHsKICAgICRjYXRlZ29yeSA9IHRyaW0oJHBhcmFtc1snY2F0ZWdvcnknXSk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydjYXRlZ29yeWZpZWxkJ10pICkKICB7CiAgICAkY2F0ZWdvcnlmaWVsZCA9IHRyaW0oJHBhcmFtc1snY2F0ZWdvcnlmaWVsZCddKTsKICB9CgokcmVzdWx0cGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXN1bHRwYWdlJywnJyk7CmlmIChpc3NldCgkcGFyYW1zWydyZXN1bHRwYWdlJ10pKQogIHsKICAgICRyZXN1bHRwYWdlID0gdHJpbSgkcGFyYW1zWydyZXN1bHRwYWdlJ10pOwogIH0KaWYoICFlbXB0eSgkcmVzdWx0cGFnZSkgKQogIHsKICAgICRtYW5hZ2VyID0gJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsKICAgICRub2RlID0gJG1hbmFnZXItPnN1cmVHZXROb2RlQnlBbGlhcygkcmVzdWx0cGFnZSk7CiAgICBpZiAoaXNzZXQoJG5vZGUpKQogICAgICB7CgkkY29udGVudCA9ICRub2RlLT5HZXRDb250ZW50KCk7CQoJaWYgKGlzc2V0KCRjb250ZW50KSkKCSAgewoJICAgICRyZXN1bHRwYWdlID0gJGNvbnRlbnQtPklkKCk7CgkgIH0KICAgICAgfQogICAgZWxzZQogICAgICB7Cgkkbm9kZSA9ICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5SWQoJHJlc3VsdHBhZ2UpOwoJaWYgKCFpc3NldCgkbm9kZSkpCgkgIHsKCSAgICAkcmVzdWx0cGFnZSA9ICcnOwoJICB9CiAgICAgIH0KICB9CgppZiggaXNzZXQoJHBhcmFtc1snc29ydGJ5J10pICkKICB7CiAgICAkdG1wID0gdHJpbShzdHJ0b2xvd2VyKCRwYXJhbXNbJ3NvcnRieSddKSk7CiAgICBzd2l0Y2goICR0bXAgKQogICAgICB7CiAgICAgIGNhc2UgJ2lkJzoKICAgICAgY2FzZSAnbmFtZSc6Cgkkc29ydGJ5ID0gJ0EuJy4kdG1wOwoJYnJlYWs7CiAgICAgIH0KICB9CmlmKCBpc3NldCgkcGFyYW1zWydzb3J0b3JkZXInXSkgKQogIHsKICAgICR0bXAgPSB0cmltKHN0cnRvbG93ZXIoJHBhcmFtc1snc29ydGJ5J10pKTsKICAgIHN3aXRjaCggJHRtcCApCiAgICAgIHsKICAgICAgY2FzZSAnYXNjJzoKICAgICAgY2FzZSAnZGVzYyc6Cgkkc29ydG9yZGVyID0gJHRtcDsKCWJyZWFrOwogICAgICB9CiAgfQoKLy8kcXVlcnkgPSAiU0VMRUNUIGIuKixjb3VudChwcm9kdWN0X2lkKSBBUyBjb3VudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzIGEsICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBiIFdIRVJFIGIuaWQgPSBhLmNhdGVnb3J5X2lkIEdST1VQIEJZIGIuaWQiOwokcXVlcnkgPSAiU0VMRUNUIEEuaWQsQS5uYW1lLGNvdW50KEIucHJvZHVjdF9pZCkgQVMgY291bnQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgQSBMRUZUIE9VVEVSIEpPSU4gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMgQiBPTiBBLmlkID0gQi5jYXRlZ29yeV9pZCI7CiRqb2lucyA9IGFycmF5KCk7CiRqcGFybXMgPSBhcnJheSgpOwokd2hlcmUgPSBhcnJheSgpOwokcXBhcm1zID0gYXJyYXkoKTsKaWYoICRjYXRlZ29yeV9pZCApCiAgewogICAgJHdoZXJlW10gLj0gIkEuaWQgPSA/IjsKICAgICRxcGFybXNbXSA9ICRjYXRlZ29yeV9pZDsKICB9CmVsc2UgaWYoICRjYXRlZ29yeSkgCiAgewogICAgJHEyID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBXSEVSRSBuYW1lIElOICgnOwogICAgJHRtcCA9IGV4cGxvZGUoJywnLCRjYXRlZ29yeSk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wKTsgJGkrKyApCiAgICAgIHsKCSR0bXBbJGldID0gJyInLiR0bXBbJGldLiciJzsKICAgICAgfQogICAgJHEyIC49IGltcGxvZGUoJywnLCR0bXApLicpJzsKICAgICRpZHMgPSAkZGItPkdldENvbCgkcTIpOwogICAgaWYoIGlzX2FycmF5KCRpZHMpICYmIGNvdW50KCRpZHMpICkKICAgICAgewoJJHdoZXJlW10gPSAnQS5pZCBJTiAoJy5pbXBsb2RlKCcsJywkaWRzKS4nKSc7CiAgICAgIH0KICB9CmVsc2UgaWYoICRjYXRlZ29yeWZpZWxkICkKICB7CiAgICAkZXhwcnMgPSBjZ2VfYXJyYXk6OnNtYXJ0X2V4cGxvZGUoJGNhdGVnb3J5ZmllbGQpOwogICAgaWYoIGlzX2FycmF5KCRleHBycykgJiYgY291bnQoJGV4cHJzKSApCiAgICAgIHsKCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRleHBycyk7ICRpKysgKQoJICB7CgkgICAgbGlzdCgkZmxkbmFtZSwkZmxkdmFsKSA9IGV4cGxvZGUoJzonLCRleHByc1skaV0sMik7CgkgICAgaWYoICRmbGRuYW1lICE9ICcnICYmICRmbGR2YWwgIT0gJycgKQoJICAgICAgewoJCSRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcnlfZmllbGRzIENGeyRpfSBPTiBBLmlkID0gQ0Z7JGl9LmNhdGVnb3J5X2lkIEFORCBDRnskaX0uZmllbGRfbmFtZSA9ID8iOwoJCSRqcGFybXNbXSA9ICRmbGRuYW1lOwoJCSR3aGVyZVtdID0gIkNGeyRpfS5maWVsZF92YWx1ZSA9ID8iOwoJCSRxcGFybXNbXSA9ICRmbGR2YWw7CgkgICAgICB9CgkgIH0KICAgICAgfQogIH0KCi8vIGZpbmFsIHF1ZXJ5IGFzc2VtYmx5LgppZiggY291bnQoJGpvaW5zKSApCiAgewogICAgJHF1ZXJ5IC49ICcgTEVGVCBKT0lOICcuaW1wbG9kZSgnIExFRlQgSk9JTiAnLCRqb2lucyk7CiAgfQppZiggY291bnQoJHdoZXJlKSApCiAgewogICAgJHF1ZXJ5IC49ICcgV0hFUkUgJy5pbXBsb2RlKCcgQU5EICcsJHdoZXJlKTsKICB9CiRxcGFybXMgPSBhcnJheV9tZXJnZSgkanBhcm1zLCRxcGFybXMpOwokcXVlcnkgLj0gIiBHUk9VUCBCWSBBLmlkIE9SREVSIEJZICRzb3J0YnkgJHNvcnRvcmRlciI7CiRjYXRlZ29yaWVzID0gJGRiLT5HZXRBcnJheSgkcXVlcnksJHFwYXJtcyk7CmlmKCAhJGNhdGVnb3JpZXMgKQogIHsKICAgIHJldHVybjsKICB9CgokdG1wID0gY2dlX2FycmF5OjpleHRyYWN0X2ZpZWxkKCRjYXRlZ29yaWVzLCdpZCcpOwokcXVlcnkyID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMKICAgICAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQgSU4gKCcuaW1wbG9kZSgnLCcsJHRtcCkuJykgT1JERVIgQlkgY2F0ZWdvcnlfaWQgQVNDLCBmaWVsZF9vcmRlciBBU0MnOwokdG1wMiA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5Mik7CiRyZXN1bHRzID0gYXJyYXkoKTsKZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGNhdGVnb3JpZXMpOyAkaSsrICkKICB7CiAgICAkcm93ID0mICRjYXRlZ29yaWVzWyRpXTsKICAgIGlmKCAoIWlzc2V0KCRwYXJhbXNbJ3Nob3dhbGwnXSkgfHwgJHBhcmFtc1snc2hvd2FsbCddIDwgMSkgJiYgJHJvd1snY291bnQnXSA8PSAwICkKICAgICAgewoJY29udGludWU7CiAgICAgIH0KCiAgICAkb2JqID0gbmV3IFN0ZENsYXNzKCk7CiAgICBmb3JlYWNoKCAkcm93IGFzICRrID0+ICR2ICkKICAgICAgewoJJG9iai0+JGsgPSAkdjsKICAgICAgfQoKICAgIC8vIGV4dHJhY3QgYWxsIG9mIHRoZSByb3dzIHRoYXQgaGF2ZSB0aGlzIGNhdGVnb3J5IGlkCiAgICAkdG1wYSA9IGFycmF5KCk7CiAgICBmb3IoICRqID0gMDsgJGogPCBjb3VudCgkdG1wMik7ICRqKysgKQogICAgICB7CglpZiggJHRtcDJbJGpdWydjYXRlZ29yeV9pZCddIDwgJHJvd1snaWQnXSApIGNvbnRpbnVlOwoJaWYoICR0bXAyWyRqXVsnY2F0ZWdvcnlfaWQnXSA+ICRyb3dbJ2lkJ10gKSBicmVhazsKCgkkdG1wYVtdID0gJHRtcDJbJGpdOwogICAgICB9CiAgICBpZiggaXNfYXJyYXkoJHRtcGEpICYmIGNvdW50KCR0bXBhKSA+IDAgKQogICAgICB7Cgkkb2JqLT5maWVsZHMgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcGEsJ2ZpZWxkX25hbWUnKTsKICAgICAgfQoKICAgICRwYXJhbXNbJ2NhdGVnb3J5aWQnXSA9ICRvYmotPmlkOwogICAgaWYoICEkY2F0ZWdvcnlfaWQgKQogICAgICB7Cgkkb2JqLT5kZXRhaWxfdXJsID0gJHRoaXMtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCdjYXRlZ29yeWxpc3QnLCgkcmVzdWx0cGFnZSE9JycpPyRyZXN1bHRwYWdlOiRyZXR1cm5pZCwKCQkJCQkJJycsJHBhcmFtcywnJyx0cnVlKTsKICAgICAgfQogICAgJHBhcmFtc1snY2F0ZWdvcnluYW1lJ10gPSAkb2JqLT5uYW1lOwogICAgJG9iai0+c3VtbWFyeV91cmwgPSAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsJ2RlZmF1bHQnLCgkcmVzdWx0cGFnZSE9JycpPyRyZXN1bHRwYWdlOiRyZXR1cm5pZCwKCQkJCQkJJycsJHBhcmFtcywnJyx0cnVlKTsKICAgICRyZXN1bHRzW10gPSAkb2JqOwogIH0KCiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnlsaXN0JywkcmVzdWx0cyk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.copycategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhdGVnb3JpZXMnKTsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CglyZXR1cm47Cn0KaWYgKCFpc3NldCgkcGFyYW1zWydjYXRpZCddKSkKewogIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScpKTsKICByZXR1cm47Cn0KCiMgSW5pdGlhbGl6YXRpb24KJG5hbWUgPSAnJzsKJGNhdGlkID0gKGludCkkcGFyYW1zWydjYXRpZCddOwoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkKewogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KCiRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyAKICAgICAgICAgICBXSEVSRSBpZCA9ID8nOwokcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRjYXRpZCkpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCnsKICAvLyBtYWtlIHN1cmUgdGhlIG5hbWUgaXMgbm90IGVtcHR5CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ25hbWUnXSkgKQogICAgewogICAgICAkbmFtZSA9IHRyaW0oJHBhcmFtc1snbmFtZSddKTsKICAgIH0KICBpZiggZW1wdHkoJG5hbWUpICkKICAgIHsKICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3Jfbm9uYW1lJykpOwogICAgfQogIGVsc2UKICAgIHsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcwogICAgICAgICAgICAgICAgICBXSEVSRSBuYW1lID0gPyc7CiAgICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJG5hbWUpKTsKICAgICAgaWYoICR0bXAgKQoJewoJICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9uYW1ldXNlZCcpKTsKCX0KICAgICAgZWxzZQoJewoJICAvLyBpdCdzIGdvb2QgdG8gZ28uCgkgICRub3cgPSAkZGItPkRiVGltZVN0YW1wKHRpbWUoKSk7CgkgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMKICAgICAgICAgICAgICAgICAobmFtZSwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpCiAgICAgICAgICAgICAgICBWQUxVRVMgKD8sJG5vdywkbm93KSI7CgkgICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJG5hbWUpKTsKCSAgJG5ld19pZCA9ICRkYi0+SW5zZXJ0X0lEKCk7CgkgIAoJICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcwogICAgICAgICAgICAgICAgIFdIRVJFIGNhdGVnb3J5X2lkID0gPyBPUkRFUiBCWSBmaWVsZF9vcmRlcic7CgkgICRyZXMgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKCSAgCgkgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcwogICAgICAgICAgICAgICAgICAoY2F0ZWdvcnlfaWQsIGZpZWxkX3R5cGUsIGZpZWxkX25hbWUsIGZpZWxkX3Byb21wdCwgZmllbGRfdmFsdWUsIGZpZWxkX29yZGVyKQogICAgICAgICAgICAgICAgVkFMVUVTICg/LD8sPyw/LD8sPyknOwoJICAkaWR4ID0gMTsKCSAgZm9yZWFjaCggJHJlcyBhcyAkb25lICkKCSAgICB7CgkgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAoJCQkgICBhcnJheSgkbmV3X2lkLCRvbmVbJ2ZpZWxkX3R5cGUnXSwkb25lWydmaWVsZF9uYW1lJ10sCgkJCQkgJG9uZVsnZmllbGRfcHJvbXB0J10sJG9uZVsnZmllbGRfdmFsdWUnXSwkaWR4KyspKTsKCSAgICB9CgoJICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoJfQogICAgfQp9CgppZiggJHJvdyApCnsKICAkc21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5Jywkcm93KTsKfQoKIyBEaXNwbGF5IFRlbXBsYXRlCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwnY29weWNhdGVnb3J5JywkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRuYW1lJywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnbmFtZScsJG5hbWUsODAsMjU1KSk7CiRzbWFydHktPmFzc2lnbignaGlkZGVuJywkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdjYXRpZCcsJGNhdGlkKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdjb3B5Y2F0ZWdvcnkudHBsJyk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJHRoZXRlbXBsYXRlID0gJ3N1bW1hcnlfJy4kdGhpcy0+R2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX0RGTFRTVU1NQVJZX1RFTVBMQVRFKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1bW1hcnl0ZW1wbGF0ZSddICkgKSAkdGhldGVtcGxhdGUgPSAnc3VtbWFyeV8nLiRwYXJhbXNbJ3N1bW1hcnl0ZW1wbGF0ZSddOwoKJGNhY2hlX2lkID0gJ3xwcycubWQ1KHNlcmlhbGl6ZSgkcGFyYW1zKSk7CiRjb21waWxlX2lkID0gJyc7CmlmKCAhJHNtYXJ0eS0+aXNDYWNoZWQoJHRoaXMtPkdldERhdGFiYXNlUmVzb3VyY2UoJHRoZXRlbXBsYXRlKSwkY2FjaGVfaWQsJGNvbXBpbGVfaWQpICkgewoKICAvLyBzZXR1cCB0aGUgcXVlcnkKICB0cnkgewogICAgJHF1ZXJ5ID0gbmV3IHByb2R1Y3RzX3F1ZXJ5KCk7CiAgICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICB0cnkgewoJJHF1ZXJ5WyRrZXldID0gJHZhbHVlOwogICAgICB9CiAgICAgIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CgkvLyBpZ25vcmUgdGhpcyBlcnJvci4KICAgICAgfQogICAgfQoKICAgICRyZXN1bHRzID0gbmV3IHByb2R1Y3RzX3Jlc3VsdHNldCgkcXVlcnkpOwogICAgJHJlc3VsdHMtPmN1cnBhZ2UgPSAkcmV0dXJuaWQ7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snbm90cHJldHR5J10pICkgJHJlc3VsdHMtPm5vdHByZXR0eSA9ICRwYXJhbXNbJ25vdHByZXR0eSddOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2RldGFpbHBhZ2UnXSkgKSAkcmVzdWx0cy0+ZGV0YWlscGFnZSA9ICRwYXJhbXNbJ2RldGFpbHBhZ2UnXTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSApICRyZXN1bHRzLT5kZXRhaWx0ZW1wbGF0ZSA9ICRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ107CiAgICAkZW50cnlhcnJheSA9IGFycmF5KCk7CiAgICB3aGlsZSggISRyZXN1bHRzLT5FT0YgKSB7CiAgICAgICRlbnRyeWFycmF5W10gPSAkcmVzdWx0cy0+Z2V0X3Byb2R1Y3RfZm9yX2Rpc3BsYXkoKTsKICAgICAgJHJlc3VsdHMtPk1vdmVOZXh0KCk7CiAgICB9CgogICAgLy8KICAgIC8vIGdpdmUgZXZlcnl0aGluZyB0byBzbWFydHkKICAgIC8vCiAgICAkc21hcnR5LT5hc3NpZ24oJ2l0ZW1zJywkZW50cnlhcnJheSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsY291bnQoJGVudHJ5YXJyYXkpKTsKICAgICRzbWFydHktPmFzc2lnbigndG90YWxjb3VudCcsJHJlc3VsdHMtPnRvdGFscm93cyk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsJHJlc3VsdHMtPm51bXBhZ2VzKTsKICAgICRzbWFydHktPmFzc2lnbignY3VycGFnZScsJHF1ZXJ5WydwYWdlJ10pOwogICAgJHBhZ2UgPSAkcXVlcnlbJ3BhZ2UnXTsKICAgIGlmKCAkcGFnZSA9PSAxICkgewogICAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpcnN0bGluaycsJHRoaXMtPkxhbmcoJ2ZpcnN0cGFnZScpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdwcmV2bGluaycsJHRoaXMtPkxhbmcoJ3ByZXZwYWdlJykpOwogICAgfSBlbHNlIHsKICAgICAgJHBhcm1zID0gJHBhcmFtczsKICAgICAgJHBhcm1zWydwYWdlJ10gPSAxOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2ZpcnN0bGluaycsJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsCgkJCQkJCSAgICAkdGhpcy0+TGFuZygnZmlyc3RwYWdlJyksCgkJCQkJCSAgICAkcGFybXMpKTsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdHBhZ2VfdXJsJywkdGhpcy0+Y3JlYXRlX3VybCgkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkcGFybXMpKTsKCiAgICAgICRwYXJtc1sncGFnZSddID0gJHBhZ2UgLSAxOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwKCQkJCQkJICAgJHRoaXMtPkxhbmcoJ3ByZXZwYWdlJyksCgkJCQkJCSAgICRwYXJtcykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlX3VybCcsJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHBhcm1zKSk7CiAgICB9CiAgCiAgICBpZiggJHBhZ2UgPT0gJHJlc3VsdHMtPm51bXBhZ2VzICkgewogICAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RsaW5rJywkdGhpcy0+TGFuZygnbGFzdHBhZ2UnKSk7CiAgICAgICRzbWFydHktPmFzc2lnbignbmV4dGxpbmsnLCR0aGlzLT5MYW5nKCduZXh0cGFnZScpKTsKICAgIH0gZWxzZSB7CiAgICAgICRwYXJtcyA9ICRwYXJhbXM7CiAgICAgICRwYXJtc1sncGFnZSddID0gJHJlc3VsdHMtPm51bXBhZ2VzOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwKCQkJCQkJICAgJHRoaXMtPkxhbmcoJ2xhc3RwYWdlJyksCgkJCQkJCSAgICRwYXJtcykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlX3VybCcsJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHBhcm1zKSk7CiAgICAgICRwYXJtc1sncGFnZSddID0gJHBhZ2UgKyAxOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwKCQkJCQkJICAgJHRoaXMtPkxhbmcoJ25leHRwYWdlJyksCgkJCQkJCSAgICRwYXJtcykpOwogICAgICAkc21hcnR5LT5hc3NpZ24oJ25leHRwYWdlX3VybCcsJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHBhcm1zKSk7CiAgICB9CgogICAgJHNtYXJ0eS0+YXNzaWduKCdwYWdldGV4dCcsJHRoaXMtPkxhbmcoJ3BhZ2UnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ29mdGV4dCcsJHRoaXMtPkxhbmcoJ29mJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdjdXJyZW5jeV9zeW1ib2wnLHByb2R1Y3Rfb3BzOjpnZXRfY3VycmVuY3lfc3ltYm9sKCkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCd3ZWlnaHRfdW5pdHMnLHByb2R1Y3Rfb3BzOjpnZXRfd2VpZ2h0X3VuaXRzKCkpOyAgCiAgfQogIGNhdGNoKCBFeGNlcHRpb24gJGUgKSB7CiAgICBkaWUoJGUtPkdldE1lc3NhZ2UoKSk7CiAgfQp9CgplY2hvICRzbWFydHktPmZldGNoKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0aGV0ZW1wbGF0ZSksJGNhY2hlX2lkLCRjb21waWxlX2lkKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKI1RoZSB0YWJzCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOwoKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQcm9kdWN0cycpKSB7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdwcm9kdWN0cycsJHRoaXMtPkxhbmcoJ3Byb2R1Y3RzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZmllbGRkZWZzJywkdGhpcy0+TGFuZygnZmllbGRkZWZzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignaGllcmFyY2h5JywkdGhpcy0+TGFuZygncHJvZHVjdF9oaWVyYXJjaHknKSk7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdjYXRlZ29yaWVzJywkdGhpcy0+TGFuZygnY2F0ZWdvcmllcycpKTsKfQoKaWYgKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSkgewogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc3VtbWFyeV90ZW1wbGF0ZScsJHRoaXMtPkxhbmcoJ3N1bW1hcnl0ZW1wbGF0ZXMnKSk7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdkZXRhaWxfdGVtcGxhdGUnLCR0aGlzLT5MYW5nKCdkZXRhaWx0ZW1wbGF0ZXMnKSk7CiAgZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdieWhpZXJhcmNoeV90ZW1wbGF0ZScsJHRoaXMtPkxhbmcoJ2J5aGllcmFyY2h5dGVtcGxhdGVzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignY2F0ZWdvcnlsaXN0X3RlbXBsYXRlJywkdGhpcy0+TGFuZygnY2F0ZWdvcnlsaXN0dGVtcGxhdGVzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignc2VhcmNoX3RlbXBsYXRlJywkdGhpcy0+TGFuZygnc2VhcmNodGVtcGxhdGVzJykpOwogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZGVmYXVsdF90ZW1wbGF0ZXMnLCR0aGlzLT5MYW5nKCdkZWZhdWx0dGVtcGxhdGVzJykpOwp9CgppZiAoJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSkgewogIGVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncHJlZnMnLCR0aGlzLT5MYW5nKCdwcmVmZXJlbmNlcycpKTsKfQplY2hvICR0aGlzLT5FbmRUYWJIZWFkZXJzKCk7CgojVGhlIGNvbnRlbnQgb2YgdGhlIHRhYnMKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CmlmICgkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSkgewogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdwcm9kdWN0cycsICRwYXJhbXMpOwogIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX3Byb2R1Y3RzdGFiLnBocCcpOwogIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKICBlY2hvICR0aGlzLT5TdGFydFRhYignZmllbGRkZWZzJywgJHBhcmFtcyk7CiAgaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fZmllbGRkZWZzX3RhYi5waHAnKTsKICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2hpZXJhcmNoeScsICRwYXJhbXMpOwogIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2hpZXJhcmNoeV90YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdjYXRlZ29yaWVzJywgJHBhcmFtcyk7CiAgaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fY2F0ZWdvcmllc190YWIucGhwJyk7CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7Cn0KCmlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IFRlbXBsYXRlcycgKSApIHsKICBpbmNsdWRlKF9fRElSX18uJy9mdW5jdGlvbi5hZG1pbl90ZW1wbGF0ZXN0YWJzLnBocCcpOwp9CgppZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApIHsKICBlY2hvICR0aGlzLT5TdGFydFRhYigncHJlZnMnLCRwYXJhbXMpOwogIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX3ByZWZzdGFiLnBocCcpOwogIGVjaG8gJHRoaXMtPkVuZFRhYigpOwp9CgplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7CgojIHZpbTp0cz00IHN3PTQgbm9ldAo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.defaulturl.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKCmlmKCBpc3NldCgkcGFyYW1zWydjYXRlZ29yeWlkJ10pIHx8IGlzc2V0KCRwYXJhbXNbJ2hpZXJhcmNoeWlkJ10pICkKICB7CiAgICAkdGhpcy0+RG9BY3Rpb24oJ2RlZmF1bHQnLCRpZCwkcGFyYW1zLCRyZXR1cm5pZCk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydwYXJlbnQnXSkgKQogIHsKICAgICR0aGlzLT5Eb0FjdGlvbignaGllcmFyY2h5JywkaWQsJHBhcmFtcywkcmV0dXJuaWQpOwogIH0KZWxzZQogIHsKICAgICR0aGlzLT5Eb0FjdGlvbignZGV0YWlscycsICRpZCwgJHBhcmFtcywgJHJldHVybmlkKTsKICB9CgojIHZpbTp0cz00IHN3PTQgbm9ldAo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.deletecategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignY2F0ZWdvcmllcycpOwokY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwppZiAoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQcm9kdWN0cycpKQp7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgUHJvZHVjdHMnKSkpOwoJcmV0dXJuOwp9CmlmKCAhaXNzZXQoJHBhcmFtc1snY2F0aWQnXSkgKQp7CiAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogIHJldHVybjsKfQokY2F0aWQgPSAoaW50KSRwYXJhbXNbJ2NhdGlkJ107CgovLyBHZXQgdGhlIGNhdGVnb3J5IGRldGFpbHMKJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIFdIRVJFIGlkID0gPyc7CiRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCAkY2F0aWQpKTsKCi8vIE5vdyByZW1vdmUgYW55IGNhdGVnb3J5IGZpZWxkcwokcXVlcnkgLSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyBXSEVSRSBjYXRlZ29yeV9pZCA9ID8nOwokcmVzdWx0cyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRjYXRpZCkpOwpmb3JlYWNoKCAkcmVzdWx0cyBhcyAkb25lICkKewogIHN3aXRjaCgkb25lWydmaWVsZF90eXBlJ10pCiAgICB7CiAgICBjYXNlICdpbWFnZSc6CiAgICBjYXNlICdmaWxlJzoKICAgICAgJGZpbGVzID0gYXJyYXkoJHJvd1snZmllbGRfdmFsdWUnXSwndGh1bWJfJy4kcm93WydmaWVsZF92YWx1ZSddLCdwcmV2aWV3XycuJHJvd1snZmllbGRfdmFsdWUnXSk7CiAgICAgIGZvcmVhY2goICRmaWxlcyBhcyAkb25lICkKCXsKCSAgJGZuID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLCdjYXRlZ29yaWVzJywkY2F0aWQsJG9uZSk7CgkgIGlmKCBmaWxlX2V4aXN0cygkZm4pICkKCSAgICB7CgkgICAgICBAdW5saW5rKCRmbik7CgkgICAgfQoJfQogICAgICBicmVhazsKICAgIH0KfQokcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKCi8vTm93IHJlbW92ZSB0aGUgY2F0ZWdvcnkKJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBXSEVSRSBpZCA9ID8iOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKCi8vQW5kIHJlbW92ZSBpdCBmcm9tIGFueSBlbnRyaWVzCiRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcyBXSEVSRSBjYXRlZ29yeV9pZCA9ID8iOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkY2F0aWQpKTsKCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.deletecategoryfield.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhdGVnb3JpZXMnKTsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CglyZXR1cm47Cn0KaWYoICFpc3NldCgkcGFyYW1zWydjYXRpZCddKSApCnsKICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgcmV0dXJuOwp9CmlmKCAhaXNzZXQoJHBhcmFtc1snZmxkbmFtZSddKSApCnsKICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9taXNzaW5ncGFyYW0nKSk7CiAgcmV0dXJuOwp9CgojCiMgSW5pdGlhbGl6YXRpb24KIwokY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwokY2F0aWQgPSAoaW50KSRwYXJhbXNbJ2NhdGlkJ107CiRmbGRuYW1lID0gdHJpbSgkcGFyYW1zWydmbGRuYW1lJ10pOwoKLy8gR2V0IHRoZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBkYXRhYmFzZQokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyAKICAgICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZCA9ID8gQU5EIGZpZWxkX25hbWUgPSA/JzsKJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkY2F0aWQsJGZsZG5hbWUpKTsKCi8vIERlbGV0ZSBhbnkgZmlsZXMgdGhhdCBtYXkgYmUgYXR0YWNoZWQKc3dpdGNoKCAkcm93WydmaWVsZF90eXBlJ10gKQogIHsKICBjYXNlICdmaWxlJzoKICBjYXNlICdpbWFnZSc6CiAgICAkZmlsZXMgPSBhcnJheSgkcm93WydmaWVsZF92YWx1ZSddLCd0aHVtYl8nLiRyb3dbJ2ZpZWxkX3ZhbHVlJ10sJ3ByZXZpZXdfJy4kcm93WydmaWVsZF92YWx1ZSddKTsKICAgIGZvcmVhY2goICRmaWxlcyBhcyAkb25lICkKICAgICAgewoJJGZuID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLCdjYXRlZ29yaWVzJywkY2F0aWQsJG9uZSk7CglpZiggZmlsZV9leGlzdHMoJGZuKSApCgkgIHsKCSAgICBAdW5saW5rKCRmbik7CgkgIH0KICAgICAgfQogIH0KCi8vIERlbGV0ZSB0aGUgcmVjb3JkCiRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcwogICAgICAgICAgIFdIRVJFIGNhdGVnb3J5X2lkID0gPyBBTkQgZmllbGRfbmFtZSA9ID8nOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRjYXRpZCwkZmxkbmFtZSkpOwoKLy8gVXBkYXRlIHRoZSBjb3VudHMKJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcwogICAgICAgICAgICAgU0VUIGZpZWxkX29yZGVyID0gZmllbGRfb3JkZXIgLSAxCiAgICAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IEFORCBmaWVsZF9vcmRlciA+ID8nOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRjYXRpZCwkcm93WydmaWVsZF9vcmRlciddKSk7CgovLyBSZWRpcmVjdAokdGhpcy0+UmVkaXJlY3QoJGlkLCdlZGl0Y2F0ZWdvcnlmaWVsZHMnLCRyZXR1cm5pZCwKCQlhcnJheSgnY2F0aWQnPT4kY2F0aWQpKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.deletefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignZmllbGRkZWZzJyk7CgokZmRpZCA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snZmRpZCddKSkKewoJJGZkaWQgPSAkcGFyYW1zWydmZGlkJ107Cn0KCi8vIEdldCB0aGUgY2F0ZWdvcnkgZGV0YWlscwokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyBXSEVSRSBpZCA9ID8nOwokcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkZmRpZCkpOwoKLy9Ob3cgcmVtb3ZlIHRoZSBjYXRlZ29yeQokcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgV0hFUkUgaWQgPSA/IjsKJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZkaWQpKTsKCi8vQW5kIHJlbW92ZSBpdCBmcm9tIGFueSBlbnRyaWVzCiRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyBXSEVSRSBmaWVsZGRlZl9pZCA9ID8iOwokZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZmRpZCkpOwoKJGRiLT5FeGVjdXRlKCdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgU0VUIGl0ZW1fb3JkZXIgPSAoaXRlbV9vcmRlciAtIDEpIFdIRVJFIGl0ZW1fb3JkZXIgPiA/JywgYXJyYXkoJHJvd1snaXRlbV9vcmRlciddKSk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.deleteproduct.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYigncHJvZHVjdHMnKTsKCiRjb21waWQgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ2NvbXBpZCddKSkKewoJJGNvbXBpZCA9ICRwYXJhbXNbJ2NvbXBpZCddOwp9CgokdGhpcy0+RGVsZXRlUHJvZHVjdCgkY29tcGlkKTsKCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.details.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJHRoZXRlbXBsYXRlID0gJ2RldGFpbF8nLiR0aGlzLT5HZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVERFVEFJTF9URU1QTEFURSk7CmlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddICkgKSB7CiAgJHRoZXRlbXBsYXRlID0gJ2RldGFpbF8nLiRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ107Cn0KCiRjYWNoZV9pZCA9ICd8cGQnLm1kNShzZXJpYWxpemUoJHBhcmFtcykpOwokY29tcGlsZV9pZCA9ICcnOwppZiggISRzbWFydHktPmlzQ2FjaGVkKCR0aGlzLT5HZXREYXRhYmFzZVJlc291cmNlKCR0aGV0ZW1wbGF0ZSksJGNhY2hlX2lkLCRjb21waWxlX2lkKSApIHsKICAkcXVlcnkgPSBuZXcgcHJvZHVjdHNfcXVlcnk7CiAgaWYoIGlzc2V0KCRwYXJhbXNbJ3Byb2R1Y3RpZCddKSApIHsKICAgICRxdWVyeVsncHJvZHVjdGlkJ10gPSAkcGFyYW1zWydwcm9kdWN0aWQnXTsKICB9CiAgZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snYWxpYXMnXSkgKSB7CiAgICAkcXVlcnlbJ2FsaWFzJ10gPSAkcGFyYW1zWydhbGlhcyddOwogIH0KICAkcnMgPSAkcXVlcnktPmV4ZWN1dGUoKTsKICBpZiggJHJzLT50b3RhbHJvd3MgPT0gMSApIHsKICAgICRvbmVyb3cgPSAkcnMtPmdldF9wcm9kdWN0X2Zvcl9kaXNwbGF5KCk7CgogICAgJHNtYXJ0eS0+YXNzaWduKCd3ZWlnaHRfdW5pdHMnLHByb2R1Y3Rfb3BzOjpnZXRfd2VpZ2h0X3VuaXRzKCkpOyAgCiAgICAkc21hcnR5LT5hc3NpZ24oJ2N1cnJlbmN5X3N5bWJvbCcscHJvZHVjdF9vcHM6OmdldF9jdXJyZW5jeV9zeW1ib2woKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2VudHJ5Jywkb25lcm93KTsKICB9CiAgZWxzZSB7CiAgICAvLyBwcm9kdWN0IG5vdCBmb3VuZCBmb3Igc29tZSByZWFzb24uCiAgICAkYWN0aW9uID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2Rub3Rmb3VuZCcsJ2RvbXNnJyk7CiAgICBzd2l0Y2goJGFjdGlvbikgewogICAgY2FzZSAnZG80MDQnOgogICAgICB0aHJvdyBuZXcgQ21zRXJyb3I0MDRFeGNlcHRpb24oJ3Byb2R1Y3Qgbm90IGZvdW5kJyk7CiAgICAgIGJyZWFrOwogICAgICAKICAgIGNhc2UgJ2RvMzAxJzoKICAgICAgJHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZG5vdGZvdW5kcGFnZScsLTEpOwogICAgICBpZiggJHBhZ2UgIT0gJycgJiYgJHBhZ2UgIT0gLTEgKSB7CgljZ2VfcmVkaXJlY3Q6OnJlZGlyZWN0MzAxKCRwYWdlKTsKICAgICAgfQogICAgICAvLyBmYWxsIHRocm91Z2ggdG8gZG9tc2cKCiAgICBjYXNlICdkb21zZyc6CiAgICBkZWZhdWx0OgogICAgICAkbXNnID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2Rub3Rmb3VuZG1zZycsCgkJCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9wcm9kdWN0X25vdGZvdW5kJykpOwogICAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkbXNnKTsKICAgICAgcmV0dXJuOwogICAgfQogIH0KfQoKZWNobyAkc21hcnR5LT5mZXRjaCgkdGhpcy0+R2V0RGF0YWJhc2VSZXNvdXJjZSgkdGhldGVtcGxhdGUpLCRjYWNoZV9pZCwkY29tcGlsZV9pZCk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.do_search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCi8vCi8vIGluaXRpYWxpemF0aW9uCi8vCiRzb3J0b3JkZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyJywnYXNjJyk7CiRzb3J0YnkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29ydGJ5JywncHJvZHVjdF9uYW1lJyk7CiRmaWVsZHMgPSBhcnJheSgpOwp7CiAgJHRtcCA9ICR0aGlzLT5HZXRGaWVsZERlZnMoKTsKICBpZiggY291bnQoJHRtcCkgKQogICAgewogICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wKTsgJGkrKyApCgl7CgkgICRvYmogPSYgJHRtcFskaV07CgkgICRmaWVsZHNbJG9iai0+bmFtZV0gPSAkb2JqOwoJfQogICAgfQp9CiRuYW1lX2V4cHIgPSAnJzsKJGRlc2NfZXhwciA9ICcnOwokcHJpY2VfZXhwciA9ICcnOwokcHJpY2VfbWluID0gJyc7CiRwcmljZV9tYXggPSAnJzsKJGFsbGFueSA9IDA7CiRzZWFyY2hkYXRhID0gYXJyYXkoKTsKJHdoZXJlID0gYXJyYXkoKTsKJHFwYXJtcyA9IGFycmF5KCk7CiRqb2lucyA9IGFycmF5KCk7CiRkZXRhaWxwYWdlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RldGFpbHBhZ2UnLCRyZXR1cm5pZCk7CiR0aGV0ZW1wbGF0ZSA9ICdzdW1tYXJ5XycuJHRoaXMtPkdldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUU1VNTUFSWV9URU1QTEFURSk7CiRkZXN0cGFnZSA9ICRyZXR1cm5pZDsKJHBhZ2VsaW1pdCA9IDEwMDA7CiRwYWdlbnVtID0gMTsKJG9mZnNldCA9IDA7CiRjb3VudCA9IDA7CiRlbnRyeWFycmF5ID0gJyc7CiRucGFnZXMgPSAwOwokaW5saW5lID0gMDsKCgovLwovLyBoYW5kbGUgcGFyYW1zCi8vCmlmKCBpc3NldCgkcGFyYW1zWydzdW1tYXJ5dGVtcGxhdGUnXSkgKQogIHsKICAgICR0aGV0ZW1wbGF0ZSA9ICdzdW1tYXJ5XycuJHBhcmFtc1snc3VtbWFyeXRlbXBsYXRlJ107CiAgfQppZiggaXNzZXQoJHBhcmFtc1snY2Rfb3JpZ3BhZ2UnXSkgKQogIHsKICAgICRkZXN0cGFnZSA9IChpbnQpJHBhcmFtc1snY2Rfb3JpZ3BhZ2UnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydwYWdlbGltaXQnXSkgKQogIHsKICAgICRwYWdlbGltaXQgPSAoaW50KSRwYXJhbXNbJ3BhZ2VsaW1pdCddOwogICAgJHBhZ2VsaW1pdCA9IG1heCgkcGFnZWxpbWl0LDEpOwogICAgJHBhZ2VsaW1pdCA9IG1pbigxMDAwLCRwYWdlbGltaXQpOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ3BhZ2VudW0nXSkgKQogIHsKICAgICRwYWdlbnVtID0gKGludCkkcGFyYW1zWydwYWdlbnVtJ107CiAgICAkcGFnZW51bSA9IG1heCgkcGFnZW51bSwxKTsKICAgICRwYWdlbnVtID0gbWluKDEwMDAwLCRwYWdlbnVtKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWxwYWdlJ10pICkKICB7CiAgICAkc3RyID0gdHJpbSgkcGFyYW1zWydkZXRhaWxwYWdlJ10pOwogICAgaWYoICRzdHIgKQogICAgICB7Cgkkc3RyID0gJHRoaXMtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHN0cik7CiAgICAgIH0KICAgIGlmKCAkc3RyICkKICAgICAgewoJJGRldGFpbHBhZ2UgPSAkc3RyOwogICAgICB9CiAgfQoKCgovLwovLyBoYW5kbGUgZm9ybSBzdWJtaXNzaW9uCi8vCmlmKCBpc3NldCgkcGFyYW1zWydjZF9jYW5jZWwnXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdENvbnRlbnQoJGRlc3RwYWdlKTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snc29ydG9yZGVyJ10pICkKICB7CiAgICAkc3RyID0gc3RydG9sb3dlcih0cmltKCRwYXJhbXNbJ3NvcnRvcmRlciddKSk7CiAgICBzd2l0Y2goICRzdHIgKQogICAgICB7CiAgICAgIGNhc2UgJ2FzYyc6CiAgICAgIGNhc2UgJ2Rlc2MnOgoJJHNvcnRvcmRlciA9ICRzdHI7CglicmVhazsKICAgICAgfQogIH0KCmlmKCBpc3NldCgkcGFyYW1zWydzb3J0YnknXSkgKQogIHsKICAgICRzdHIgPSBzdHJ0b2xvd2VyKHRyaW0oJHBhcmFtc1snc29ydGJ5J10pKTsKICAgIHN3aXRjaCggJHN0ciApCiAgICAgIHsKICAgICAgY2FzZSAnaWQnOgogICAgICBjYXNlICdwcm9kdWN0X25hbWUnOgogICAgICBjYXNlICdwcmljZSc6CiAgICAgIGNhc2UgJ2NyZWF0ZWQnOgogICAgICBjYXNlICdtb2RpZmllZCc6CiAgICAgIGNhc2UgJ3N0YXR1cyc6CiAgICAgIGNhc2UgJ3dlaWdodCc6CiAgICAgIGNhc2UgJ3JhbmRvbSc6Cgkkc29ydGJ5ID0gJHN0cjsKCWJyZWFrOwogICAgICBkZWZhdWx0OgoJaWYoIHN0YXJ0c3dpdGgoICRzdHIsICdmOicgKSApCgkgIHsKCSAgICAkZmllbGRuYW1lID0gc3Vic3RyKCRzdHIsc3RybGVuKCdmOicpKTsKCSAgICBpZiggaXNzZXQoJGZpZWxkc1skZmllbGRuYW1lXSkgKQoJICAgICAgewoJCSRmaWVsZGlkID0gJGZpZWxkc1skZmllbGRuYW1lXS0+aWQ7CgkJJGFzID0gJ0ZWJy4kc29ydGZpZWxkKys7CgkJJGpvaW5zW10gPSAnTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzIHskYXN9IE9OIGMuaWQgPSB7JGFzfS5wcm9kdWN0X2lkIEFORCAkYXMuZmllbGRkZWZfaWQgPSAneyRmaWVsZGlkfSciOwoJCSRzb3J0YnkgPSAieyRhc30udmFsdWUiOwoJICAgICAgfQoJICB9CiAgICAgIH0KICB9CgppZiggaXNzZXQoJHBhcmFtc1snY2RfcHJvZG5hbWUnXSkgKQogIHsKICAgICRuYW1lX2V4cHIgPSB0cmltKCRwYXJhbXNbJ2NkX3Byb2RuYW1lJ10pOwogIH0KaWYoIGlzc2V0KCRwYXJhbXNbJ2NkX3Byb2RkZXNjJ10pICkKICB7CiAgICAkZGVzY19leHByID0gdHJpbSgkcGFyYW1zWydjZF9wcm9kZGVzYyddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydjZF9wcm9kcHJpY2VfbWluJ10pIHx8IGlzc2V0KCRwYXJhbXNbJ2NkX3Byb2RwcmljZV9tYXgnXSkgKQogIHsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydjZF9wcm9kcHJpY2VfbWluJ10pICkKICAgICAgewoJJHByaWNlX21pbiA9IChmbG9hdCl0cmltKCRwYXJhbXNbJ2NkX3Byb2RwcmljZV9taW4nXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydjZF9wcm9kcHJpY2VfbWF4J10pICkKICAgICAgewoJJHByaWNlX21heCA9IChmbG9hdCl0cmltKCRwYXJhbXNbJ2NkX3Byb2RwcmljZV9tYXgnXSk7CiAgICAgIH0KICB9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ2NkX3Byb2RwcmljZSddKSApCiAgewogICAgJHByaWNlX2V4cHIgPSB0cmltKCRwYXJhbXNbJ2NkX3Byb2RwcmljZSddKTsKICAgIGlmKCAkcHJpY2VfZXhwciA9PSAtMSApICRwcmljZV9leHByID0gJyc7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snY2RfYWxsYW55J10pICkKICB7CiAgICAkYWxsYW55ID0gKGludCkkcGFyYW1zWydjZF9hbGxhbnknXTsKICB9CgppZiggaXNzZXQoJHBhcmFtc1snY2RfcHJvZHZhbHVlJ10pICYmICFpc19hcnJheSgkcGFyYW1zWydjZF9wcm9kdmFsdWUnXSkgKQogIHsKICAgICRwYXJhbXNbJ2NkX3Byb2R2YWx1ZSddID0gdW5zZXJpYWxpemUoJHBhcmFtc1snY2RfcHJvZHZhbHVlJ10pOwogIH0KJHRmaWVsZHMgPSBhcnJheV9rZXlzKCRmaWVsZHMpOwpmb3JlYWNoKCAkdGZpZWxkcyBhcyAkb25lICkKewogIGlmKCBpc3NldCgkcGFyYW1zWydjZF9wcm9kdmFsdWUnXVskb25lXSkgJiYKICAgICAgJHBhcmFtc1snY2RfcHJvZHZhbHVlJ11bJG9uZV0gIT0gJy0xJyAmJgogICAgICAhZW1wdHkoJHBhcmFtc1snY2RfcHJvZHZhbHVlJ11bJG9uZV0pICkKICAgIHsKICAgICAgJHNlYXJjaGRhdGFbJG9uZV0gPSB0cmltKCRwYXJhbXNbJ2NkX3Byb2R2YWx1ZSddWyRvbmVdKTsKICAgICAgY29udGludWU7CiAgICB9CgogICRrZXkxID0gJ2NkX3Byb2R2YWx1ZV8nLiRvbmUuJ19taW4nOwogICRrZXkyID0gJ2NkX3Byb2R2YWx1ZV8nLiRvbmUuJ19tYXgnOwogIGlmKCBpc3NldCgkcGFyYW1zWyRrZXkxXSkgfHwgaXNzZXQoJHBhcmFtc1ska2V5Ml0pICkKICAgIHsKICAgICAgJHRkYXRhID0gYXJyYXkoJ21pbic9PicnLCdtYXgnPT4nJyk7CiAgICAgIGlmKCBpc3NldCgkcGFyYW1zWyRrZXkxXSkgKQoJewoJICAkdGRhdGFbJ21pbiddID0gKGZsb2F0KXRyaW0oJHBhcmFtc1ska2V5MV0pOwoJfQogICAgICBpZiggaXNzZXQoJHBhcmFtc1ska2V5Ml0pICkKCXsKCSAgJHRkYXRhWydtYXgnXSA9IChmbG9hdCl0cmltKCRwYXJhbXNbJGtleTJdKTsKCX0KCiAgICAgIGlmKCAkdGRhdGFbJ21pbiddICE9ICR0ZGF0YVsnbWF4J10gKSAKCXsKCSAgaWYoICR0ZGF0YVsnbWluJ10gPiAkdGRhdGFbJ21heCddICkKCSAgICB7CgkgICAgICAkdG1wID0gJHRkYXRhWydtYXgnXTsKCSAgICAgICR0ZGF0YVsnbWF4J10gPSAkdGRhdGFbJ21pbiddOwoJICAgICAgJHRkYXRhWydtaW4nXSA9ICR0bXA7CgkgICAgfQoKCSAgJHNlYXJjaGRhdGFbJG9uZV0gPSAkdGRhdGE7Cgl9CiAgICB9Cn0KCi8vIGJ1aWxkIHRoZSBxdWVyeQppZiggIWVtcHR5KCRuYW1lX2V4cHIpICkKICB7CiAgICAkd2hlcmVbXSA9ICdQLnByb2R1Y3RfbmFtZSBSRUdFWFAgPyc7CiAgICAkcXBhcm1zW10gPSAkbmFtZV9leHByOwogIH0KaWYoICFlbXB0eSgkZGVzY19leHByKSApCiAgewogICAgJHdoZXJlW10gPSAnUC5kZXRhaWxzIFJFR0VYUCA/JzsKICAgICRxcGFybXNbXSA9ICRkZXNjX2V4cHI7CiAgfQppZiggJHByaWNlX21pbiAhPSAnJyB8fCAkcHJpY2VfbWF4ICE9ICcnICkKICB7CiAgICBpZiggJHByaWNlX21pbiAhPSAnJyAmJiAkcHJpY2VfbWF4ICE9ICcnICkKICAgICAgewoJaWYoICRwcmljZV9tYXggIT0gJHByaWNlX21pbiApCgkgIHsKCSAgICBpZiggJHByaWNlX21pbiA+ICRwcmljZV9tYXggKQoJICAgICAgewoJCSR0bXAgPSAkcHJpY2VfbWF4OwoJCSRwcmljZV9tYXggPSAkcHJpY2VfbWluOwoJCSRwcmljZV9taW4gPSAkdG1wOwoJICAgICAgfQoKCSAgICAkd2hlcmVbXSA9ICcoUC5wcmljZSBCRVRXRUVOID8gQU5EID8pJzsKCSAgICAkcXBhcm1zW10gPSAkcHJpY2VfbWluOwoJICAgICRxcGFybXNbXSA9ICRwcmljZV9tYXg7CgkgIH0KICAgICAgfQogICAgZWxzZSBpZiggJHByaWNlX21pbiAhPSAnJyApCiAgICAgIHsKCSR3aGVyZVtdID0gJyhQLnByaWNlID49ID8pJzsKCSRxcGFybXNbXSA9ICRwcmljZV9taW47CiAgICAgIH0KICAgIGVsc2UgaWYoICRwcmljZV9tYXggIT0gJycgKQogICAgICB7Cgkkd2hlcmVbXSA9ICcoUC5wcmljZSA8PSA/KSc7CgkkcXBhcm1zW10gPSAkcHJpY2VfbWF4OwogICAgICB9CiAgfQplbHNlIGlmKCAhZW1wdHkoJHByaWNlX2V4cHIpICkKICB7CiAgICBsaXN0KCRsb3csJGhpZ2gpID0gZXhwbG9kZSgnOicsJHByaWNlX2V4cHIsMik7CiAgICAkbG93ID0gKGZsb2F0KSRsb3c7CiAgICAkaGlnaCA9IChmbG9hdCkkaGlnaDsKICAgIGlmKCAkbG93IDwgJGhpZ2ggKQogICAgICB7Cgkkd2hlcmVbXSA9ICcoUC5wcmljZSBCRVRXRUVOID8gQU5EID8pJzsKCSRxcGFybXNbXSA9ICRsb3c7CgkkcXBhcm1zW10gPSAkaGlnaDsKICAgICAgfQogIH0KaWYoICFlbXB0eSgkc2VhcmNoZGF0YSkgKQogIHsKICAgICRqb2luc1tdID0gJ0xFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyBGViBPTiBQLmlkID0gRlYucHJvZHVjdF9pZCc7CiAgICBmb3JlYWNoKCAkc2VhcmNoZGF0YSBhcyAkcHJvcG5hbWUgPT4gJHByb3B2YWwgKQogICAgICB7CglpZiggIWlzX2FycmF5KCRwcm9wdmFsKSApCgkgIHsKCSAgICAkd2hlcmVbXSA9ICcoRlYuZmllbGRkZWZfaWQgPSA/IEFORCBGVi52YWx1ZSBSRUdFWFAgPyknOwoJICAgICRxcGFybXNbXSA9ICRmaWVsZHNbJHByb3BuYW1lXS0+aWQ7CgkgICAgJHFwYXJtc1tdID0gJHByb3B2YWw7CgkgIH0KCWVsc2UgCgkgIHsKCSAgICBpZiggJHByb3B2YWxbJ21pbiddICE9ICcnICYmICRwcm9wdmFsWydtYXgnXSAhPSAnJyApCgkgICAgICB7CgkJJHdoZXJlW10gPSAnKEZWLmZpZWxkZGVmX2lkID0gPyBBTkQgRlYudmFsdWUgQkVUV0VFTiA/IEFORCA/KSc7CgkJJHFwYXJtc1tdID0gJGZpZWxkc1skcHJvcG5hbWVdLT5pZDsKCQkkcXBhcm1zW10gPSAkcHJvcHZhbFsnbWluJ107CgkJJHFwYXJtc1tdID0gJHByb3B2YWxbJ21heCddOwoJICAgICAgfQoJICAgIGVsc2UgaWYoICRwcm9wdmFsWydtaW4nXSAhPSAnJyApCgkgICAgICB7CgkJJHdoZXJlW10gPSAnKEZWLmZpZWxkZGVmX2lkID0gPyBBTkQgRlYudmFsdWUgPj0gPyknOwoJCSRxcGFybXNbXSA9ICRmaWVsZHNbJHByb3BuYW1lXS0+aWQ7CgkJJHFwYXJtc1tdID0gJHByb3B2YWxbJ21pbiddOwoJICAgICAgfQoJICAgIGVsc2UgaWYgKCRwcm9wdmFsWydtYXgnXSAhPSAnJyApCgkgICAgICB7CgkJJHdoZXJlW10gPSAnKEZWLmZpZWxkZGVmX2lkID0gPyBBTkQgRlYudmFsdWUgPD0gPyknOwoJCSRxcGFybXNbXSA9ICRmaWVsZHNbJHByb3BuYW1lXS0+aWQ7CgkJJHFwYXJtc1tdID0gJHByb3B2YWxbJ21heCddOwoJICAgICAgfQoJICB9CiAgICAgIH0KICB9CgokcXUgPSAnU0VMRUNUIFAuKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMgUCc7CiRxYyA9ICdTRUxFQ1QgY291bnQoUC5pZCkgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIFAnOwppZiggY291bnQoJGpvaW5zKSApCiAgewogICAgZm9yZWFjaCggJGpvaW5zIGFzICRvbmUgKQogICAgICB7CgkkcXUgLj0gJyAnLiRvbmU7CgkkcWMgLj0gJyAnLiRvbmU7CiAgICAgIH0KICB9CmlmKCBjb3VudCgkd2hlcmUpICkKICB7CiAgICAkZXhwciA9ICcgQU5EICc7CiAgICBpZiggJGFsbGFueSApCiAgICAgIHsKCSRleHByID0gJyBPUiAnOwogICAgICB9CiAgICAkcXUgLj0gJyBXSEVSRSAoJy5pbXBsb2RlKCRleHByLCR3aGVyZSkuJyknOwogICAgJHFjIC49ICcgV0hFUkUgKCcuaW1wbG9kZSgkZXhwciwkd2hlcmUpLicpJzsKICB9Cgokd2hlcmUyID0gYXJyYXkoKTsKJHdoZXJlMltdID0gJ1Auc3RhdHVzID0gPyc7CiRxcGFybXNbXSA9ICdwdWJsaXNoZWQnOwoKaWYoIGNvdW50KCR3aGVyZTIpICkKICB7CiAgICBpZiggY291bnQoJHdoZXJlKSApCiAgICAgIHsKCSRxdSAuPSAnIEFORCAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUyKTsKCSRxYyAuPSAnIEFORCAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUyKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkcXUgLj0gJyBXSEVSRSAnLmltcGxvZGUoJyBBTkQgJywkd2hlcmUyKTsKCSRxYyAuPSAnIFdIRVJFICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZTIpOwogICAgICB9CiAgfQoKJGNvdW50ID0gJGRiLT5HZXRPbmUoJHFjLCRxcGFybXMpOwppZiggJGNvdW50ICkKICB7CiAgICBpZiggJGRldGFpbHBhZ2UgPT0gJycgfHwgJGRldGFpbHBhZ2UgPT0gLTEgKSAkZGV0YWlscGFnZSA9ICRyZXR1cm5pZDsKCiAgICAkbnBhZ2VzID0gKGludCkoJGNvdW50IC8gJHBhZ2VsaW1pdCk7CiAgICBpZiggJGNvdW50ICUgJHBhZ2VsaW1pdCAhPSAwICkgJG5wYWdlcysrOwoKICAgIC8vIHRoZSBmb2xsb3dpbmcgY29kZSBpcyBjb3BpZWQgZnJvbSB0aGUgZGVmYXVsdCBhY3Rpb24uCiAgICAkZGJyZXN1bHQgPSAkZGItPlNlbGVjdExpbWl0KCRxdSwkcGFnZWxpbWl0LCRvZmZzZXQsJHFwYXJtcyk7CiAgICBpZiggISRkYnJlc3VsdCApIHJldHVybiBGQUxTRTsKCiAgICAkY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwogICAgJHBhcm1zID0gYXJyYXkoKTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydkZXRhaWx0ZW1wbGF0ZSddKSApCiAgICAgIHsKCSRwYXJtc1snZGV0YWlsdGVtcGxhdGUnXSA9ICRwYXJhbXNbJ2RldGFpbHRlbXBsYXRlJ107CiAgICAgIH0KICAgIHdoaWxlICgkZGJyZXN1bHQgJiYgKCRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpKQogICAgICB7CgkkZmlsZWRpciA9IGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJHRoaXMtPkdldE5hbWUoKSwncHJvZHVjdF8nLiRyb3dbJ2lkJ10pOwoJJG9uZXJvdyA9IGNnZV9hcnJheTo6dG9fb2JqZWN0KCRyb3cpOwoJJHByZXR0eXVybCA9IHByb2R1Y3Rfb3BzOjpwcmV0dHlfdXJsKCRyb3dbJ2lkJ10sJGRldGFpbHBhZ2UpOwogIAoJJHBhcm1zWydwcm9kdWN0aWQnXSA9ICRyb3dbJ2lkJ107Cgkkb25lcm93LT5kZXRhaWxfdXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZXRhaWxzJywkZGV0YWlscGFnZSwnJywKCQkJCQkJJHBhcm1zLAoJCQkJCQknJyx0cnVlLCRpbmxpbmUsJycsZmFsc2UsJHByZXR0eXVybCk7CgoJJG9uZXJvdy0+cHJvZHVjdF9uYW1lX2xpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZXRhaWxzJywgJHJldHVybmlkLCAKCQkJCQkJICAgICAgICRyb3dbJ3Byb2R1Y3RfbmFtZSddLCAKCQkJCQkJICAgICAgICRwYXJtcyk7Cgkkb25lcm93LT5maWxlX2xvY2F0aW9uID0gJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldE5hbWUoKS4nL3Byb2R1Y3RfJy4kcm93WydpZCddOwoJJG9uZXJvdy0+ZGV0YWlscyA9ICRyb3dbJ2RldGFpbHMnXTsKCgkvLyBoaWVyYXJjaHkgaW5mb3JtYXRpb24KCSRvbmVyb3ctPmhpZXJhcmNoeV9pZCA9IHByb2R1Y3Rfb3BzOjpnZXRfcHJvZHVjdF9oaWVyYXJjaHlfaWQoJHJvd1snaWQnXSk7Cgkkb25lcm93LT5icmVhZGNydW1iID0gcHJvZHVjdF9vcHM6OmNyZWF0ZV9oaWVyYXJjaHlfYnJlYWRjcnVtYigkaWQsJHJvd1snaWQnXSwkcmV0dXJuaWQpOwoKCS8vIGFkZCBjdXN0b20gZmllbGRzCgkkZmllbGRkZWZzID0gJHRoaXMtPkdldEZpZWxkRGVmc0ZvclByb2R1Y3QoJHJvd1snaWQnXSx0cnVlLHRydWUpOwoJJGZpZWxkcyA9IGFycmF5KCk7Cglmb3JlYWNoKCAkZmllbGRkZWZzIGFzICR0b25lZGVmICkKCSAgewoJICAgICRvbmVkZWYgPSBjbG9uZSAkdG9uZWRlZjsKCSAgICBpZiggJG9uZWRlZi0+dHlwZSA9PSAnaW1hZ2UnICkKCSAgICAgIHsKCQlpZiggaXNzZXQoJG9uZWRlZi0+dmFsdWUpICYmIGZpbGVfZXhpc3RzKGNtc19qb2luX3BhdGgoJGZpbGVkaXIsJ3RodW1iXycuJG9uZWRlZi0+dmFsdWUpKSApCgkJICB7CgkJICAgICRvbmVkZWYtPnRodW1ibmFpbCA9ICd0aHVtYl8nLiRvbmVkZWYtPnZhbHVlOwoJCSAgfQoKCQlpZiggaXNzZXQoJG9uZWRlZi0+dmFsdWUpICYmIGZpbGVfZXhpc3RzKGNtc19qb2luX3BhdGgoJGZpbGVkaXIsJ3ByZXZpZXdfJy4kb25lZGVmLT52YWx1ZSkpICkKCQkgIHsKCQkgICAgJG9uZWRlZi0+cHJldmlldyA9ICdwcmV2aWV3XycuJG9uZWRlZi0+dmFsdWU7CgkJICB9CgkgICAgICB9CgkgICAgJGZpZWxkc1skb25lZGVmLT5uYW1lXSA9ICRvbmVkZWY7CgkgIH0KCSRvbmVyb3ctPmZpZWxkcyA9ICRmaWVsZHM7CgoJLy8gYWRkIGNhdGVnb3JpZXMKCSRjYXRhcnJheSA9ICR0aGlzLT5HZXRDYXRlZ29yaWVzRm9yUHJvZHVjdCgkcGFybXNbJ3Byb2R1Y3RpZCddLHRydWUsdHJ1ZSk7CglpZiggY291bnQoJGNhdGFycmF5KSApCgkgIHsKCSAgICAkY2F0bmFtZWFycmF5ID0gYXJyYXkoKTsKCSAgICBmb3JlYWNoKCAkY2F0YXJyYXkgYXMgJG9uZWNhdCApCgkgICAgICB7CgkJJGNhdG5hbWVhcnJheVtdID0gJG9uZWNhdC0+bmFtZTsKCSAgICAgIH0KCSAgICAkb25lcm93LT5jYXRlZ29yaWVzID0gJGNhdGFycmF5OwoJICAgICRvbmVyb3ctPmNhdGVnb3J5bmFtZXMgPSAkY2F0bmFtZWFycmF5OwoJICB9CgoJLy8gYWRkIGF0dHJpYnV0ZXMKCSR0bXAgPSBwcm9kdWN0c19hdHRyaWI6OmxvYWRfYnlfcHJvZHVjdCgkcm93WydpZCddKTsKCWlmKCBpc19hcnJheSgkdG1wKSApIHsKCSAgJG9uZXJvdy0+YXR0cmlidXRlcyA9ICR0bXA7Cgl9CgoJJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CiAgICAgIH0KICB9CgovLwovLyBHaXZlIGV2ZXJ5dGhpbmcgdG8gc21hcnR5Ci8vCmlmKCAkY291bnQgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignaXRlbXMnLCAkZW50cnlhcnJheSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CiAgfQokc21hcnR5LT5hc3NpZ24oJ3RvdGFsY291bnQnLCRjb3VudCk7CiRzbWFydHktPmFzc2lnbigncGFnZXRleHQnLCR0aGlzLT5MYW5nKCdwYWdlJykpOwokc21hcnR5LT5hc3NpZ24oJ29mdGV4dCcsJHRoaXMtPkxhbmcoJ29mJykpOwokc21hcnR5LT5hc3NpZ24oJ3BhZ2Vjb3VudCcsJG5wYWdlcyk7CiRzbWFydHktPmFzc2lnbignY3VycGFnZScsJHBhZ2VudW0pOwppZiggJHBhZ2VudW0gPT0gMSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdmaXJzdGxpbmsnLCR0aGlzLT5MYW5nKCdmaXJzdHBhZ2UnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZsaW5rJywkdGhpcy0+TGFuZygncHJldnBhZ2UnKSk7CiAgfQplbHNlCiAgewogICAgJHBhcm1zID0gJHBhcmFtczsKICAgICRwYXJtc1sncGFnZSddID0gMTsKICAgICRzbWFydHktPmFzc2lnbignZmlyc3RsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwKCQkJCQkJICAkdGhpcy0+TGFuZygnZmlyc3RwYWdlJyksCgkJCQkJCSAgJHBhcm1zKSk7CiAgICAkcGFybXNbJ3BhZ2UnXSA9ICRwYWdlbnVtIC0gMTsKICAgICRzbWFydHktPmFzc2lnbigncHJldmxpbmsnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLAoJCQkJCQkgICR0aGlzLT5MYW5nKCdwcmV2cGFnZScpLAoJCQkJCQkgICRwYXJtcykpOwogIH0KaWYoICRwYWdlbnVtID09ICRucGFnZXMgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignbGFzdGxpbmsnLCR0aGlzLT5MYW5nKCdsYXN0cGFnZScpKTsKICAgICRzbWFydHktPmFzc2lnbignbmV4dGxpbmsnLCR0aGlzLT5MYW5nKCduZXh0cGFnZScpKTsKICB9CmVsc2UKICB7CiAgICAkcGFybXMgPSAkcGFyYW1zOwogICAgJHBhcm1zWydwYWdlJ10gPSAkbnBhZ2VzOwogICAgJHNtYXJ0eS0+YXNzaWduKCdsYXN0bGluaycsJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsCgkJCQkJCSAgJHRoaXMtPkxhbmcoJ2xhc3RwYWdlJyksCgkJCQkJCSAgJHBhcm1zKSk7CiAgICAkcGFybXNbJ3BhZ2UnXSA9ICRwYWdlbnVtICsgMTsKICAgICRzbWFydHktPmFzc2lnbignbmV4dGxpbmsnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLAoJCQkJCQkgICR0aGlzLT5MYW5nKCduZXh0cGFnZScpLAoJCQkJCQkgICRwYXJtcykpOwogIH0KCiRzbWFydHktPmFzc2lnbignY3VycmVuY3lfc3ltYm9sJyxwcm9kdWN0X29wczo6Z2V0X2N1cnJlbmN5X3N5bWJvbCgpKTsKJHNtYXJ0eS0+YXNzaWduKCd3ZWlnaHRfdW5pdHMnLHByb2R1Y3Rfb3BzOjpnZXRfd2VpZ2h0X3VuaXRzKCkpOwoKLy8KLy8gUHJvY2VzcyB0aGUgdGVtcGxhdGUKLy8KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignY2F0ZWdvcmllcycpOwoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nLCBhcnJheSgnTW9kaWZ5IFByb2R1Y3RzJykpKTsKCXJldHVybjsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ2NhbmNlbCddKSkKewogICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cn0KCiRjYXRpZCA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snY2F0aWQnXSkpCnsKCSRjYXRpZCA9ICRwYXJhbXNbJ2NhdGlkJ107Cn0KCiRuYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWyduYW1lJ10pKQp7CgkkbmFtZSA9ICRwYXJhbXNbJ25hbWUnXTsKfQoKJG9yaWduYW1lID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydvcmlnbmFtZSddKSkKewoJJG9yaWduYW1lID0gJHBhcmFtc1snb3JpZ25hbWUnXTsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkKewoJaWYgKCRuYW1lICE9ICcnKQoJewoJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIFNFVCBuYW1lID0gPywgbW9kaWZpZWRfZGF0ZSA9ICcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicgV0hFUkUgaWQgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbmFtZSwgJGNhdGlkKSk7CgkJCQkJCQoJCSR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7Cgl9CgllbHNlCgl7CgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7Cgl9Cn0KZWxzZQp7CgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgV0hFUkUgaWQgPSA/JzsKCSRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRjYXRpZCkpOwoKCWlmICgkcm93KQoJewoJCSRuYW1lID0gJHJvd1snbmFtZSddOwoJCSRvcmlnbmFtZSA9ICRyb3dbJ25hbWUnXTsKCX0KfQoKI0Rpc3BsYXkgdGVtcGxhdGUKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdGFydGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2VkaXRjYXRlZ29yeScsICRyZXR1cm5pZCkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCduYW1ldGV4dCcsICR0aGlzLT5MYW5nKCduYW1lJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2lucHV0bmFtZScsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbmFtZScsICRuYW1lLCA4MCwgMjU1KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignaGlkZGVuJywgCgkJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2NhdGlkJywgJGNhdGlkKS4KCQkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnb3JpZ25hbWUnLCAkb3JpZ25hbWUpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZWRpdGNhdGVnb3J5LnRwbCcpOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.editcategoryfields.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2NhdGVnb3JpZXMnKTsKCmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykpCnsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ25lZWRwZXJtaXNzaW9uJywgYXJyYXkoJ01vZGlmeSBQcm9kdWN0cycpKSk7CglyZXR1cm47Cn0KCmlmKCAhaXNzZXQoJHBhcmFtc1snY2F0aWQnXSkgKQp7CiAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogIHJldHVybjsKfQokY2F0aWQgPSAoaW50KSRwYXJhbXNbJ2NhdGlkJ107CgovLyBHZXQgdGhlIGluZm8gZm9yIHRoaXMgY2F0ZWdvcnkKJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIFdIRVJFIGlkID0gPyc7CiRjYXRlZ29yeSA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYXRlZ29yeScsJGNhdGVnb3J5KTsKCi8vIGdldCB0aGUgbGlzdCBvZiBmaWVsZHMgZm9yIHRoaXMgcHJvZHVjdAokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcwogICAgICAgICAgIFdIRVJFIGNhdGVnb3J5X2lkID0gPwogICAgICAgICAgIE9SREVSIEJZIGZpZWxkX29yZGVyIEFTQyc7CiRmaWVsZHMgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkY2F0aWQpKTsKZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGZpZWxkcyk7ICRpKysgKQogIHsKICAgICRmaWVsZHNbJGldWydlZGl0bGluayddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdhZGRjYXRlZ29yeWZpZWxkJywkcmV0dXJuaWQsCgkJCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCR0aGlzLT5MYW5nKCdlZGl0JyksJycsJycsCgkJCQkJCQkJCQkJICAgICAnc3lzdGVtaWNvbicpLAoJCQkJCQlhcnJheSgnY2F0aWQnPT4kY2F0aWQsJ2ZsZG5hbWUnPT4kZmllbGRzWyRpXVsnZmllbGRfbmFtZSddKSk7CiAgICAkZmllbGRzWyRpXVsnZGVsZXRlbGluayddID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWxldGVjYXRlZ29yeWZpZWxkJywkcmV0dXJuaWQsCgkJCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsJHRoaXMtPkxhbmcoJ2RlbGV0ZScpLCcnLCcnLAoJCQkJCQkJCQkJCSAgICAgJ3N5c3RlbWljb24nKSwKCQkJCQkJYXJyYXkoJ2NhdGlkJz0+JGNhdGlkLCdmbGRuYW1lJz0+JGZpZWxkc1skaV1bJ2ZpZWxkX25hbWUnXSkpOwoKICAgIGlmKCAkZmllbGRzWyRpXVsnZmllbGRfb3JkZXInXSA+IDEgKQogICAgICB7CgkkZmllbGRzWyRpXVsnbW92ZV91cCddID0gJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ21vdmVjYXRlZ29yeWZpZWxkJywkcmV0dXJuaWQsJHRoaXMtPkxhbmcoJ21vdmVfdXAnKSwKCQkJCQkJCSdpY29ucy9zeXN0ZW0vc29ydF91cC5naWYnLAoJCQkJCQkJYXJyYXkoJ2NhdGlkJz0+JGNhdGlkLCdkaXInPT4ndXAnLCdmbGRuYW1lJz0+JGZpZWxkc1skaV1bJ2ZpZWxkX25hbWUnXSkpOwogICAgICB9CiAgICBpZiggJGkgPCBjb3VudCgkZmllbGRzKSAtIDEgKQogICAgICB7CgkkZmllbGRzWyRpXVsnbW92ZV9kb3duJ10gPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnbW92ZWNhdGVnb3J5ZmllbGQnLCRyZXR1cm5pZCwkdGhpcy0+TGFuZygnbW92ZV9kb3duJyksCgkJCQkJCQkgICdpY29ucy9zeXN0ZW0vc29ydF9kb3duLmdpZicsCgkJCQkJCQkgIGFycmF5KCdjYXRpZCc9PiRjYXRpZCwnZGlyJz0+J2Rvd24nLCdmbGRuYW1lJz0+JGZpZWxkc1skaV1bJ2ZpZWxkX25hbWUnXSkpOwogICAgICB9CiAgfQokc21hcnR5LT5hc3NpZ24oJ2ZpZWxkcycsJGZpZWxkcyk7Cgokc21hcnR5LT5hc3NpZ24oJ2FkZGxpbmsnLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRjYXRlZ29yeWZpZWxkJywgJHJldHVybmlkLCAKCQkJCQkgICAgICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3Zm9sZGVyLmdpZicsICR0aGlzLT5MYW5nKCdhZGRmaWVsZGRlZicpLAoJCQkJCQkJCQkJCSAgJycsJycsJ3N5c3RlbWljb24nKSwgCgkJCQkJICAgICBhcnJheSgnY2F0aWQnPT4kY2F0aWQpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykuJyAnLgoJCSAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkY2F0ZWdvcnlmaWVsZCcsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZGZpZWxkZGVmJyksIAoJCQkJCSAgICAgYXJyYXkoJ2NhdGlkJz0+JGNhdGlkKSwgJycsIGZhbHNlLCBmYWxzZSwgJ2NsYXNzPSJwYWdlb3B0aW9ucyInKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3JldHVybl9saW5rJywKCQkkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnZGVmYXVsdGFkbWluJywkcmV0dXJuaWQsCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ3JldHVybicpLAoJCQkJICAgICAgICdpY29ucy9zeXN0ZW0vYmFjay5naWYnLAoJCQkJICAgICAgIGFycmF5KCdjZ19hY3RpdmV0YWInPT4nY2F0ZWdvcmllcycpLAoJCQkJICAgICAgICcnLCcnLGZhbHNlKSk7CgojIERpc3BsYXkgVGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0Y2F0ZWdvcnlmaWVsZHMudHBsJyk7CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.editfielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignZmllbGRkZWZzJyk7CmlmICghJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykpIHJldHVybjsKCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpIHsKICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwp9CgokZmRpZCA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snZmRpZCddKSkgewogICRmZGlkID0gJHBhcmFtc1snZmRpZCddOwp9CgokbmFtZSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snbmFtZSddKSkgewogICRuYW1lID0gJHBhcmFtc1snbmFtZSddOwp9CgokcHJvbXB0ID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydwcm9tcHQnXSkpIHsKICAkcHJvbXB0ID0gJHBhcmFtc1sncHJvbXB0J107Cn0KCiRvcHRpb25zID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydvcHRpb25zJ10pKSB7CiAgJG9wdGlvbnMgPSAkcGFyYW1zWydvcHRpb25zJ107Cn0KCiR0eXBlID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWyd0eXBlJ10pKSB7CiAgJHR5cGUgPSAkcGFyYW1zWyd0eXBlJ107Cn0KCiRtYXhfbGVuZ3RoID0gMjU1OwppZiAoaXNzZXQoJHBhcmFtc1snbWF4X2xlbmd0aCddKSkgewogICRtYXhfbGVuZ3RoID0gKGludCkkcGFyYW1zWydtYXhfbGVuZ3RoJ107Cn0KCiRvcmlnbmFtZSA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snb3JpZ25hbWUnXSkpIHsKICAkb3JpZ25hbWUgPSAkcGFyYW1zWydvcmlnbmFtZSddOwp9CgokcHVibGljID0gMDsKaWYoIGlzc2V0KCRwYXJhbXNbJ3B1YmxpYyddKSApIHsKICAkcHVibGljID0gKGludCkkcGFyYW1zWydwdWJsaWMnXTsKfQoKaWYgKGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSkgewogIGlmKCAkdHlwZSA9PSAnJyApIHsKICAgIGVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmllbGR0eXBlJykpOwogIH0KICBlbHNlIGlmICgkbmFtZSA9PSAnJykgewogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7CiAgfQogIGVsc2UgaWYoICEkdGhpcy0+aXNfYWxpYXMoJG5hbWUpICkgewogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZF9uYW1lJykpOwogIH0KICBlbHNlIGlmKCAhZW1wdHkoJG1heGxlbmd0aCkgJiYgIWlzX251bWVyaWMoJG1heF9sZW5ndGgpICkgewogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm90YW51bWJlcicpKTsKICB9CiAgZWxzZSBpZiggJHR5cGUgPT0gJ3N1YnNjcmlwdGlvbicgJiYgJGRiLT5HZXRPbmUoJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFdIRVJFIHR5cGUgPSA/JyxhcnJheSgkdHlwZSkpICkgewogICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3Jfb25lc3Vic2NyaXB0aW9uZmllbGQnKSk7CiAgfQogIGVsc2UgaWYoICR0eXBlID09ICdxdWFudGl0eScgJiYgJGZkaWQgPT0gJycgJiYgCgkgICAkZGItPkdldE9uZSgnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgV0hFUkUgdHlwZSA9ID8nLGFycmF5KCR0eXBlKSkgKSB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9vbmVxdWFudGl0eWZpZWxkJykpOwogIH0KICBlbHNlIGlmKCAkdHlwZSA9PSAncXVhbnRpdHknICYmICRmZGlkICE9ICcnICYmIAoJICAgJGRiLT5HZXRPbmUoJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFdIRVJFIHR5cGUgPSA/IEFORCBpZCAhPSA/JyxhcnJheSgkdHlwZSwoaW50KSRmZGlkKSkgKSB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9vbmVxdWFudGl0eWZpZWxkJykpOwogIH0KICBlbHNlIHsKICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgU0VUIG5hbWUgPSA/LCBwcm9tcHQgPSA/LCB0eXBlID0gPywgbWF4X2xlbmd0aCA9ID8sIG1vZGlmaWVkX2RhdGUgPSAnLiRkYi0+REJUaW1lU3RhbXAodGltZSgpKS4nLCBwdWJsaWMgPSA/LCBvcHRpb25zID0gPyBXSEVSRSBpZCA9ID8nOwogICAgJHJlcyA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRuYW1lLCAkcHJvbXB0LCAkdHlwZSwgJG1heF9sZW5ndGgsICRwdWJsaWMsICRvcHRpb25zLCAkZmRpZCkpOwogICAgICAKICAgIGlmKCAhJHJlcyApIGRpZSggJGRiLT5FcnJvck1zZygpICk7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KfQplbHNlCnsKICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyBXSEVSRSBpZCA9ID8nOwogICRyb3cgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRmZGlkKSk7CiAgCiAgaWYgKCRyb3cpCiAgICB7CiAgICAgICRuYW1lID0gJHJvd1snbmFtZSddOwogICAgICAkcHJvbXB0ID0gJHJvd1sncHJvbXB0J107CiAgICAgICR0eXBlID0gJHJvd1sndHlwZSddOwogICAgICAkbWF4X2xlbmd0aCA9ICRyb3dbJ21heF9sZW5ndGgnXTsKICAgICAgJG9yaWduYW1lID0gJHJvd1snbmFtZSddOwogICAgICAkcHVibGljID0gJHJvd1sncHVibGljJ107CiAgICAgICRvcHRpb25zID0gJHJvd1snb3B0aW9ucyddOwogICAgfQogfQoKI0Rpc3BsYXkgdGVtcGxhdGUKJHNtYXJ0eS0+YXNzaWduKCdvcHRpb25zJywkb3B0aW9ucyk7CiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2VkaXRmaWVsZGRlZicsICRyZXR1cm5pZCkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ25hbWUnLCAkbmFtZSwgMjAsIDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0cHJvbXB0JywkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwncHJvbXB0JywkcHJvbXB0LDUwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ3Nob3dpbnB1dHR5cGUnLCBmYWxzZSk7CiRzbWFydHktPmFzc2lnbigndHlwZScsJHR5cGUpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0dHlwZScsICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd0eXBlJywgJHR5cGUpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dG1heGxlbmd0aCcsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnbWF4X2xlbmd0aCcsICRtYXhfbGVuZ3RoLCAyMCwgMjU1KSk7CiRzbWFydHktPmFzc2lnbigndXNlcnZpZXd0ZXh0JywkdGhpcy0+TGFuZygncHVibGljJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X3VzZXJ2aWV3JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRjaGVja2JveCgkaWQsICdwdWJsaWMnLCAxLCAkcHVibGljLAoJCQkJCSAgICd0aXRsZT0iJy4kdGhpcy0+TGFuZygnaW5mb19wdWJsaWNmaWVsZCcpLiciJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLCAKCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZmRpZCcsICRmZGlkKS4KCQkkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnb3JpZ25hbWUnLCAkb3JpZ25hbWUpKTsKJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnc3VibWl0JywgbGFuZygnc3VibWl0JykpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAnY2FuY2VsJywgbGFuZygnY2FuY2VsJykpKTsKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlZGl0ZmllbGRkZWYudHBsJyk7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.editproduct.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYigncHJvZHVjdHMnKTsKCi8vCi8vIEEgdXRpbGl0eSBmdW5jdGlvbgovLwpmdW5jdGlvbiBnZXRfZmllbGRfZGVmKCYkZmllbGRkZWZzLCRpZCkKewogIGZvcmVhY2goICRmaWVsZGRlZnMgYXMgJG9uZWRlZiApCiAgICB7CiAgICAgIGlmKCAkb25lZGVmLT5pZCA9PSAkaWQgKQoJewoJICByZXR1cm4gJG9uZWRlZjsKCX0KICAgIH0KICByZXR1cm4gZmFsc2U7Cn0KCmZ1bmN0aW9uIHByb2R1Y3RzX2RlbGV0ZV91cGxvYWRlZF9maWxlKCRkaXIsJGZpbGVuYW1lKQp7CiAgaWYoIGVtcHR5KCRmaWxlbmFtZSkgKSByZXR1cm47CgogICRmaWxlbmFtZSA9IGJhc2VuYW1lKCRmaWxlbmFtZSk7CiAgQHVubGluayhjbXNfam9pbl9wYXRoKCRkaXIsJGZpbGVuYW1lKSk7CiAgQHVubGluayhjbXNfam9pbl9wYXRoKCRkaXIsJ3RodW1iXycuJGZpbGVuYW1lKSk7CiAgQHVubGluayhjbXNfam9pbl9wYXRoKCRkaXIsJ3ByZXZpZXdfJy4kZmlsZW5hbWUpKTsKfQoKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSkKICB7CiAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCduZWVkcGVybWlzc2lvbicsIGFycmF5KCdNb2RpZnkgUHJvZHVjdHMnKSkpOwogICAgcmV0dXJuOwogIH0KCmlmIChpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkpCiAgewogICAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKICB9CgokY29tcGlkID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydjb21waWQnXSkpCiAgewogICAgJGNvbXBpZCA9ICRwYXJhbXNbJ2NvbXBpZCddOwogIH0KCiRwcm9kdWN0X25hbWUgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ3Byb2R1Y3RfbmFtZSddKSkKICB7CiAgICAkcHJvZHVjdF9uYW1lID0gJHBhcmFtc1sncHJvZHVjdF9uYW1lJ107CiAgfQoKJHByaWNlID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydwcmljZSddKSkKICB7CiAgICAkcHJpY2UgPSAoZmxvYXQpJHBhcmFtc1sncHJpY2UnXTsKICB9Cgokd2VpZ2h0ID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWyd3ZWlnaHQnXSkpCiAgewogICAgJHdlaWdodCA9IChmbG9hdCkkcGFyYW1zWyd3ZWlnaHQnXTsKICB9Cgokc2t1ID0gJyc7CmlmIChpc3NldCgkcGFyYW1zWydza3UnXSkpCiAgewogICAgJHNrdSA9IHRyaW0oJHBhcmFtc1snc2t1J10pOwogIH0KCiRhbGlhcyA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snYWxpYXMnXSkpCiAgewogICAgJGFsaWFzID0gdHJpbSgkcGFyYW1zWydhbGlhcyddKTsKICB9CgokZGV0YWlscyA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snZGV0YWlscyddKSkKICB7CiAgICAkZGV0YWlscyA9ICRwYXJhbXNbJ2RldGFpbHMnXTsKICB9CgokdGF4YWJsZSA9IDA7CmlmIChpc3NldCgkcGFyYW1zWyd0YXhhYmxlJ10pKQogIHsKICAgICR0YXhhYmxlID0gMTsKICB9CgokaGllcmFyY2h5X3BvcyA9IC0xOwppZiAoaXNzZXQoJHBhcmFtc1snaGllcmFyY2h5J10pICkKICB7CiAgICAkaGllcmFyY2h5X3BvcyA9IChpbnQpJHBhcmFtc1snaGllcmFyY2h5J107CiAgfQoKJHN0YXR1cyA9ICcnOwppZiAoaXNzZXQoJHBhcmFtc1snc3RhdHVzJ10pKQogIHsKICAgICRzdGF0dXMgPSAkcGFyYW1zWydzdGF0dXMnXTsKICB9Cgokb3JpZ25hbWUgPSAnJzsKaWYgKGlzc2V0KCRwYXJhbXNbJ29yaWduYW1lJ10pKQogIHsKICAgICRvcmlnbmFtZSA9ICRwYXJhbXNbJ29yaWduYW1lJ107CiAgfQoKCiRmaWVsZGFycmF5ID0gYXJyYXkoKTsKJHVzZXJpZCA9IGdldF91c2VyaWQoKTsKJGZpZWxkZGVmcyA9ICR0aGlzLT5HZXRGaWVsZERlZnNGb3JQcm9kdWN0KCRjb21waWQsdHJ1ZSk7Ci8vJGZpZWxkZGVmcyA9ICR0aGlzLT5HZXRGaWVsZERlZnModHJ1ZSk7CgppZiAoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKQogIHsKICAgICRkdXBsaWNhdGUgPSAnJzsKICAgICRkdXBsaWNhdGVza3UgPSAnJzsKICAgICRkdXBsaWNhdGVhbGlhcyA9ICcnOwogICAgJGVtcHR5c2t1ID0gJyc7CiAgICBpZiAoJHByb2R1Y3RfbmFtZSAhPSAnJykKICAgICAgewoJJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMKICAgICAgICAgICAgICAgICAgIFdIRVJFIHByb2R1Y3RfbmFtZSA9ID8gQU5EIGlkICE9ID8nOwoJJGR1cGxpY2F0ZSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkcHJvZHVjdF9uYW1lLCRjb21waWQpKTsKICAgICAgfQoKICAgIGlmKCBlbXB0eSgkYWxpYXMpICkKICAgICAgewoJJGFsaWFzID0gcHJvZHVjdF9vcHM6OmdlbmVyYXRlX2FsaWFzKCRwcm9kdWN0X25hbWUpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRhbGlhcyA9IG11bmdlX3N0cmluZ190b191cmwoJGFsaWFzKTsKICAgICAgfQoKICAgIC8vIGNoZWNrIGZvciBkdXBsaWNhdGUgYWxpYXMKICAgIGlmKCBwcm9kdWN0X29wczo6Y2hlY2tfYWxpYXNfdXNlZCgkYWxpYXMsJGNvbXBpZCkgKQogICAgICB7CgkkZHVwbGljYXRlYWxpYXMgPSAkYWxpYXM7CiAgICAgIH0KCiAgICBpZiggZW1wdHkoJHNrdSkgJiYgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NrdXJlcXVpcmVkJykgKQogICAgICB7CgkkZW1wdHlza3UgPSAxOwogICAgICB9CgogICAgaWYoICEkZHVwbGljYXRlICYmICFlbXB0eSgkc2t1KSApCiAgICAgIHsKCS8vIGNoZWNrIGZvciBkdXBsaWNhdGUgc2t1CglpZiggcHJvZHVjdF9vcHM6OmNoZWNrX3NrdV91c2VkKCRza3UsJGNvbXBpZCkgKQoJICB7CgkgICAgJGR1cGxpY2F0ZXNrdSA9ICRza3U7CgkgIH0KICAgICAgfQoKICAgIGlmKCAkZHVwbGljYXRlICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3JfcHJvZHVjdF9uYW1ldXNlZCcpKTsKICAgICAgfQogICAgZWxzZSBpZiggJGVtcHR5c2t1ICkKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnZXJyb3Jfc2t1X3JlcXVpcmVkJykpOwogICAgICB9CiAgICBlbHNlIGlmKCAkZHVwbGljYXRlYWxpYXMgKQogICAgICB7CgllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdlcnJvcl9wcm9kdWN0X2FsaWFzdXNlZCcpKTsKICAgICAgfQogICAgZWxzZSBpZiggJGR1cGxpY2F0ZXNrdSApCiAgICAgIHsKCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoJ2Vycm9yX3Byb2R1Y3Rfc2t1dXNlZCcpKTsKICAgICAgfQogICAgZWxzZSBpZiAoJHByb2R1Y3RfbmFtZSA9PSAnJykKICAgICAgewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbm9uYW1lZ2l2ZW4nKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gdXBkYXRlIHRoZSBvcmlnaW5hbCByZWNvcmQKCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cyBTRVQgcHJvZHVjdF9uYW1lID0gPywgcHJpY2UgPSA/LCBkZXRhaWxzID0gPywgbW9kaWZpZWRfZGF0ZSA9ICcuJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLicsdGF4YWJsZSA9ID8sIHN0YXR1cyA9ID8sIHdlaWdodCA9ID8sIHNrdSA9ID8sIGFsaWFzID0gPyBXSEVSRSBpZCA9ID8nOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHByb2R1Y3RfbmFtZSwgJHByaWNlLCAkZGV0YWlscywgCgkJCQkgICAkdGF4YWJsZSwgJHN0YXR1cywgJHdlaWdodCwgJHNrdSwgJGFsaWFzLCAkY29tcGlkKSk7CgoJLy8gVXBkYXRlIHRoZSBoaWVyYXJjaHkgc3R1ZmYKCSRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R0b2hpZXIgV0hFUkUgcHJvZHVjdF9pZCA9ID8nOwoJJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAkY29tcGlkICkgKTsKCSRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R0b2hpZXIgCiAgICAgICAgICAgICAgICAgICAocHJvZHVjdF9pZCxoaWVyYXJjaHlfaWQpCiAgICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyknOwoJJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAkY29tcGlkLCAkaGllcmFyY2h5X3BvcyApICk7CiAgICAgICAKCS8vIFVwZGF0ZSBjdXN0b20gZmllbGRzCgkkZGVsZXRlZF9pdGVtcyA9IGFycmF5KCk7CgkkZGItPkV4ZWN1dGUoJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzIFdIRVJFIHByb2R1Y3RfaWQgPSA/JywgYXJyYXkoJGNvbXBpZCkpOwoKCSRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLAoJCQkJICdwcm9kdWN0XycuJGNvbXBpZCk7CgoJJGVycm9ycyA9IGFycmF5KCk7CglpZiAoaXNzZXQoJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGQnXSkpCgkgIHsKCSAgICBmb3JlYWNoICgkX1JFUVVFU1RbJGlkLidjdXN0b21maWVsZCddIGFzICRrPT4kdikKCSAgICAgIHsKCQkvLyBoYW5kbGUgZmlsZSBkZWxldGlvbnMKCQlpZiAoc3RhcnRzd2l0aCgkaywgJ2RlbGV0ZWZpZWxkLScpKSB7CgoJCSAgLy8gZ2V0IHRoZSBmaWVsZCBpbmRleAoJCSAgJGZpZCA9IHN1YnN0cigkaywgc3RybGVuKCdkZWxldGVmaWVsZC0nKSk7CgoJCSAgLy8gZ2V0IHRoZSBmaWVsZCB0eXBlCgkJICAkZGVmID0gZ2V0X2ZpZWxkX2RlZigkZmllbGRkZWZzLCRmaWQpOwoJCSAgaWYoICFpc3NldCgkZGVmLT52YWx1ZSkgKSBjb250aW51ZTsKCQkgIGlmKCAhJGRlZiApCgkJICAgIHsKCQkgICAgICBkaWUoJ2NvdWxkIG5vdCBnZXQgZmllbGQgZGVmIGZvciAnLiRmaWQpOwoJCSAgICB9CgoJCSAgJGRlc3RkaXIgPSBjbXNfam9pbl9wYXRoKCRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLCR0aGlzLT5HZXROYW1lKCksCgkJCQkJICAgJ3Byb2R1Y3RfJy4kY29tcGlkKTsKCQkgIAoJCSAgc3dpdGNoKCAkZGVmLT50eXBlICkKCQkgICAgewoJCSAgICBjYXNlICdmaWxlJzoKCQkgICAgY2FzZSAnaW1hZ2UnOgoJCSAgICAgIC8vIGRlbGV0ZSB0aGUgZmlsZQoJCSAgICAgIHByb2R1Y3RzX2RlbGV0ZV91cGxvYWRlZF9maWxlKCRkZXN0ZGlyLCRkZWYtPnZhbHVlKTsKCQkgICAgICAkZGVsZXRlZF9pdGVtc1tdID0gJGZpZDsKCQkgICAgICBicmVhazsKCQkgICAgfQoJCX0KCSAgICAgIH0KCgkgICAgZm9yZWFjaCAoJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGQnXSBhcyAkaz0+JHYpCgkgICAgICB7CgkJLy8gaGFuZGxlIG5ldyB2YWx1ZXMgKG9yIGhpZGRlbiB2YWx1ZXMpCgkJaWYgKHN0YXJ0c3dpdGgoJGssICdmaWVsZC0nKSkgeyAvLyBlbHNlCgoJCSAgLy8gZ2V0IHRoZSBmaWVsZCBpbmRleAoJCSAgJGZpZCA9IHN1YnN0cigkaywgNik7CgoJCSAgaWYoIGluX2FycmF5KCRmaWQsJGRlbGV0ZWRfaXRlbXMpICkgCgkJICAgIHsKCQkgICAgICAkdiA9IG51bGw7CgkJICAgIH0KCgkJICAvLyBnZXQgdGhlIGZpZWxkIHR5cGUKCQkgICRkZWYgPSBnZXRfZmllbGRfZGVmKCRmaWVsZGRlZnMsJGZpZCk7CgkJICBpZiggISRkZWYgKQoJCSAgICB7CgkJICAgICAgZGllKCdjb3VsZCBub3QgZ2V0IGZpZWxkIGRlZiBmb3IgJy4kZmlkKTsKCQkgICAgICBjb250aW51ZTsKCQkgICAgfQoKCQkgIC8vIGhhbmRsZSB0aGUgdXBsb2FkIChpZiBhbnkpCgkJICBzd2l0Y2goICRkZWYtPnR5cGUgKQoJCSAgICB7CgkJICAgIGNhc2UgJ2ZpbGUnOgoJCSAgICAgIGlmKCBpc3NldCgkZGVmLT52YWx1ZSkpCgkJCXsKCQkJICAkc3RyID0gImZpZWxkLSRmaWQiOwoJCQkgIGlmKCBpc3NldCgkX0ZJTEVTWyRpZC4nY3VzdG9tZmllbGQnXVsnbmFtZSddWyRzdHJdKSAmJgoJCQkgICAgICBpc3NldCgkX0ZJTEVTWyRpZC4nY3VzdG9tZmllbGQnXVsnc2l6ZSddWyRzdHJdKSAmJgoJCQkgICAgICAkX0ZJTEVTWyRpZC4nY3VzdG9tZmllbGQnXVsnc2l6ZSddWyRzdHJdID4gMCApCgkJCSAgICB7CgkJCSAgICAgIHByb2R1Y3RzX2RlbGV0ZV91cGxvYWRlZF9maWxlKCRkZXN0ZGlyLCRkZWYtPnZhbHVlKTsKCQkJICAgIH0KCQkJfQoJCSAgICAgICRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLAoJCQkJCSAgICAgICAncHJvZHVjdF8nLiRjb21waWQpOwoJCSAgICAgIGNnZV9kaXI6Om1rZGlycigkZGVzdGRpcik7CgkJICAgICAgaWYoICFpc19kaXIoJGRlc3RkaXIpICkgZGllKCdkaXJlY3Rvcnkgc3RpbGwgZG9lcyBub3QgZXhpc3QnKTsKCQkgICAgICAkaGFuZGxlciA9IG5ldyBjZ19maWxldXBsb2FkKCRpZCwkZGVzdGRpcik7CgkJICAgICAgJGhhbmRsZXItPnNldF9hY2NlcHRlZF9maWxldHlwZXMoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93ZWRfZmlsZXR5cGVzJykpOwoJCSAgICAgICRyZXMgPSAkaGFuZGxlci0+aGFuZGxlX3VwbG9hZCgnY3VzdG9tZmllbGQnLCcnLCdmaWVsZC0nLiRmaWQpOwoJCSAgICAgICRlcnIgPSAkaGFuZGxlci0+Z2V0X2Vycm9yKCk7CgkJICAgICAgaWYoICEkcmVzICYmICRlcnIgIT0gY2dfZmlsZXVwbG9hZDo6Tk9GSUxFICkKCQkJewoJCQkgICRlcnJvcnNbXSA9IHNwcmludGYoIiVzICVzOiAlcyIsJHRoaXMtPkxhbmcoJ2ZpZWxkJyksJGRlZi0+bmFtZSwKCQkJCQkgICAgICAkdGhpcy0+R2V0VXBsb2FkRXJyb3JNZXNzYWdlKCRlcnIpKTsKCQkJfQoJCSAgICAgIGVsc2UgaWYoICEkcmVzICYmICFlbXB0eSgkdikgKQoJCQl7CgkJCSAgdHJ1ZTsKCQkJfQoJCSAgICAgIGVsc2UgaWYoICEkcmVzICkKCQkJewoJCQkgICR2ID0gbnVsbDsKCQkJfQoJCSAgICAgIGVsc2UKCQkJewoJCQkgICR2ID0gJHJlczsKCQkJfQoJCSAgICAgIGJyZWFrOwoJCSAgICAgIAoJCSAgICBjYXNlICdpbWFnZSc6CgkJICAgICAgaWYoIGlzc2V0KCRkZWYtPnZhbHVlKSApCgkJCXsKCQkJICAkc3RyID0gImZpZWxkLSRmaWQiOwoJCQkgIGlmKCBpc3NldCgkX0ZJTEVTWyRpZC4nY3VzdG9tZmllbGQnXVsnbmFtZSddWyRzdHJdKSAmJgoJCQkgICAgICBpc3NldCgkX0ZJTEVTWyRpZC4nY3VzdG9tZmllbGQnXVsnc2l6ZSddWyRzdHJdKSAmJgoJCQkgICAgICAkX0ZJTEVTWyRpZC4nY3VzdG9tZmllbGQnXVsnc2l6ZSddWyRzdHJdID4gMCApCgkJCSAgICB7CgkJCSAgICAgIHByb2R1Y3RzX2RlbGV0ZV91cGxvYWRlZF9maWxlKCRkZXN0ZGlyLCRkZWYtPnZhbHVlKTsKCQkJICAgIH0KCQkJfQogICAgICAgICAgICAgICAgICAgICAgJGF0dHIgPSAnZGVmYXVsdCc7IC8vIHVzZSBkZWZhdWx0IHZhbHVlIGZvciB3bWxvY2F0aW9uCiAgICAgICAgICAgICAgICAgICAgICBpZiggaXNzZXQoJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGRfYXR0ciddKSAmJiBpc3NldCgkX1JFUVVFU1RbJGlkLidjdXN0b21maWVsZF9hdHRyJ11bJGtdKSApCiAgICAgICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgICAkYXR0ciA9ICRfUkVRVUVTVFskaWQuJ2N1c3RvbWZpZWxkX2F0dHInXVska107CiAgICAgICAgICAgICAgICAgICAgICAgIH0KCQkgICAgICAkZGVzdGRpciA9IGNtc19qb2luX3BhdGgoJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJHRoaXMtPkdldE5hbWUoKSwKCQkJCQkgICAgICAgJ3Byb2R1Y3RfJy4kY29tcGlkKTsKICAgICAgICAgICAgICAgICAgICAgICRyZXMgPSAkdGhpcy0+SGFuZGxlVXBsb2FkZWRJbWFnZSgkaWQsJ2N1c3RvbWZpZWxkJywkZGVzdGRpciwkZXJyb3JzLCdmaWVsZC0nLiRmaWQsJGF0dHIpOwogICAgICAgICAgICAgICAgICAgICAgaWYoICRyZXMgPT09IEZBTFNFICkKICAgICAgICAgICAgICAgICAgICAgIHsKCQkJJHYgPSBudWxsOwogICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiggJHJlcyA9PT0gVFJVRSApCiAgICAgICAgICAgICAgICAgICAgICB7CgkJCXRydWU7CiAgICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgICAgICBlbHNlCiAgICAgICAgICAgICAgICAgICAgICB7CgkJCSR2ID0gJHJlczsKICAgICAgICAgICAgICAgICAgICAgIH0KCQkgICAgICBicmVhazsKCgkJICAgIGNhc2UgJ3F1YW50aXR5JzoKCQkgICAgICAkdiA9IChpbnQpJHY7CgkJICAgICAgJHYgPSBtYXgoMCwkdik7CgkJICAgICAgYnJlYWs7CgkJICAgICAgCgkJICAgIGNhc2UgJ3N1YnNjcmlwdGlvbic6CgkJICAgIGNhc2UgJ2RpbWVuc2lvbnMnOgoJCSAgICAgIGlmKCBpc19hcnJheSgkdikgKQoJCQl7CgkJCSAgJHYgPSBzZXJpYWxpemUoJHYpOwoJCQl9CgkJICAgICAgYnJlYWs7CgkJICAgICAgCgkJICAgIGNhc2UgJ3RleHRib3gnOgoJCSAgICBjYXNlICdjaGVja2JveCc6CgkJICAgIGNhc2UgJ3RleHRhcmVhJzoKCQkgICAgY2FzZSAnZHJvcGRvd24nOgoJCSAgICAgIGJyZWFrOwoKCQkgICAgZGVmYXVsdDoKCQkgICAgICBkaWUoInVua25vd24gdHlwZTogIi4kZGVmLT50eXBlKTsKCQkgICAgICBicmVhazsKCQkgICAgfQoKCQkgIGlmKCAhaXNfbnVsbCgkdikgJiYgJHYgIT09ICcnICkgewkJICAgIAoJCSAgICAvLyBjb21taXQgaXQgaWYgdGhlcmUgaXMgYSB2YWxpZCB2YWx1ZQoJCSAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgKHByb2R1Y3RfaWQsIGZpZWxkZGVmX2lkLCB2YWx1ZSwgY3JlYXRlX2RhdGUsIG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPyw/LD8sPyw/KSc7CgkJICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjb21waWQsICRmaWQsICR2LCB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgIiciKSwgdHJpbSgkZGItPkRCVGltZVN0YW1wKHRpbWUoKSksICInIikpKTsKCQkgIH0KCQl9CgkgICAgICB9CgkgIH0KCgkvLyBVcGRhdGUgY2F0ZWdvcmllcwoJJGRiLT5FeGVjdXRlKCdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcyBXSEVSRSBwcm9kdWN0X2lkID0gPycsIGFycmF5KCRjb21waWQpKTsKCWlmIChpc3NldCgkcGFyYW1zWydjYXRlZ29yaWVzJ10pKQoJICB7CgkgICAgZm9yZWFjaCAoJHBhcmFtc1snY2F0ZWdvcmllcyddIGFzICR2KQoJICAgICAgewoJICAgICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMgKHByb2R1Y3RfaWQsIGNhdGVnb3J5X2lkLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSkgVkFMVUVTICg/LD8sPyw/KSc7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGNvbXBpZCwgJHYsIHRyaW0oJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpLCAiJyIpLCB0cmltKCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSwgIiciKSkpOwoJICAgICAgfQoJICB9CgkJCgkvL1VwZGF0ZSBzZWFyY2ggaW5kZXgKCSRtb2R1bGUgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ1NlYXJjaCcpOwoJaWYgKCRtb2R1bGUgIT0gRkFMU0UpCgkgIHsKCSAgICAkbW9kdWxlLT5EZWxldGVXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkY29tcGlkLCAncHJvZHVjdCcpOwoJICAgIGlmKCAkc3RhdHVzID09ICdwdWJsaXNoZWQnICkKCSAgICAgIHsKCQkkbW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkY29tcGlkLCAncHJvZHVjdCcsIAoJCQkJICBpbXBsb2RlKCcgJywgJHRoaXMtPkdldFNlYXJjaGFibGVUZXh0KCRjb21waWQpICkgKTsKCSAgICAgIH0KCSAgfQoKCWlmKCBjb3VudCgkZXJyb3JzKSApCgkgIHsKCSAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCRlcnJvcnMpOwogICAgICAgICAgICBlY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCdpbmZvX2ZpZWxkcHJvYmxlbXMnKSk7CiAgICAgICAgICAgIHJldHVybjsKCSAgfQogICAgICAgIGVsc2UKICAgICAgICAgIHsKICAJICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICAgICAgICB9CiAgICAgIH0KICB9CiBlbHNlCiAgIHsKICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIFdIRVJFIGlkID0gPyc7CiAgICAgJHJvdyA9ICRkYi0+R2V0Um93KCRxdWVyeSwgYXJyYXkoJGNvbXBpZCkpOwoKICAgICBpZiAoJHJvdykKICAgICAgIHsKCSAkcHJvZHVjdF9uYW1lID0gJHJvd1sncHJvZHVjdF9uYW1lJ107CgkgJHByaWNlID0gKGZsb2F0KSRyb3dbJ3ByaWNlJ107CgkgJHdlaWdodCA9IChmbG9hdCkkcm93Wyd3ZWlnaHQnXTsKCSAkc2t1ID0gJHJvd1snc2t1J107CgkgJGFsaWFzID0gJHJvd1snYWxpYXMnXTsKCSAkZGV0YWlscyA9ICRyb3dbJ2RldGFpbHMnXTsKCSAkb3JpZ25hbWUgPSAkcm93Wydwcm9kdWN0X25hbWUnXTsKCSAkdGF4YWJsZSA9ICRyb3dbJ3RheGFibGUnXTsKCSAkc3RhdHVzID0gJHJvd1snc3RhdHVzJ107CgoJICRxdWVyeSA9ICdTRUxFQ1QgaGllcmFyY2h5X2lkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyIAogICAgICAgICAgICAgICAgICAgIFdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKCSAkaGllcmFyY2h5X3BvcyA9ICRkYi0+R2V0T25lKCRxdWVyeSwgYXJyYXkoICRjb21waWQpICk7CiAgICAgICB9CiAgIH0KCiRmaWVsZGFycmF5ID0gYXJyYXkoKTsKaWYgKGNvdW50KCRmaWVsZGRlZnMpID4gMCkKICB7CiAgICAkc3Vic2NyaWJlX29wdHMgPSBhcnJheSgpOwogICAgJHN1YnNjcmliZV9vcHRzWy0xXSA9ICR0aGlzLT5MYW5nKCdub25lJyk7CiAgICAkc3Vic2NyaWJlX29wdHNbJ21vbnRobHknXSA9ICR0aGlzLT5MYW5nKCdzdWJzY3JfbW9udGhseScpOwogICAgJHN1YnNjcmliZV9vcHRzWydxdWFydGVybHknXSA9ICR0aGlzLT5MYW5nKCdzdWJzY3JfcXVhcnRlcmx5Jyk7CiAgICAkc3Vic2NyaWJlX29wdHNbJ3NlbWlhbnVhbGx5J10gPSAkdGhpcy0+TGFuZygnc3Vic2NyX3NlbWlhbnVhbGx5Jyk7CiAgICAkc3Vic2NyaWJlX29wdHNbJ3llYXJseSddID0gJHRoaXMtPkxhbmcoJ3N1YnNjcl95ZWFybHknKTsKICAgICRzdWJzY3JpYmVfb3B0cyA9IGFycmF5X2ZsaXAoJHN1YnNjcmliZV9vcHRzKTsKCiAgICAkZXhwaXJlX29wdHMgPSBhcnJheSgpOwogICAgJGV4cGlyZV9vcHRzWyR0aGlzLT5MYW5nKCdub25lJyldID0gLTE7CiAgICAkZXhwaXJlX29wdHNbJHRoaXMtPkxhbmcoJ2V4cGlyZV9zaXhfbW9udGhzJyldID0gJzYnOwogICAgJGV4cGlyZV9vcHRzWyR0aGlzLT5MYW5nKCdleHBpcmVfb25lX3llYXInKV0gPSAnMTInOwogICAgJGV4cGlyZV9vcHRzWyR0aGlzLT5MYW5nKCdleHBpcmVfdHdvX3llYXInKV0gPSAnMjQnOwoKICAgICR3bW9wdHMgPSBhcnJheSgpOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnbm9uZScpXSA9ICdub25lJzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2RlZmF1bHQnKV0gPSAnZGVmYXVsdCc7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl91bCcpXSA9ICcwJzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX3VjJyldID0gJzEnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fdXInKV0gPSAnMic7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9tbCcpXSA9ICczJzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX21jJyldID0gJzQnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbXInKV0gPSAnNSc7CiAgICAkd21vcHRzWyR0aGlzLT5MYW5nKCdhbGlnbl9sbCcpXSA9ICc2JzsKICAgICR3bW9wdHNbJHRoaXMtPkxhbmcoJ2FsaWduX2xjJyldID0gJzcnOwogICAgJHdtb3B0c1skdGhpcy0+TGFuZygnYWxpZ25fbHInKV0gPSAnOCc7CgogICAgZm9yZWFjaCAoJGZpZWxkZGVmcyBhcyAkZmllbGRkZWYpCiAgICAgIHsKCSRmaWVsZCA9IG5ldyBzdGRDbGFzcygpOwoKCSR2YWx1ZSA9ICcnOwoJaWYgKGlzc2V0KCRmaWVsZGRlZi0+dmFsdWUpKQoJICB7CgkgICAgJHZhbHVlID0gJGZpZWxkZGVmLT52YWx1ZTsKCSAgfQoKCWlmIChpc3NldCgkX1JFUVVFU1RbJGlkLidjdXN0b21maWVsZCddWydmaWVsZC0nLiRmaWVsZGRlZi0+aWRdKSkKCSAgJHZhbHVlID0gJF9SRVFVRVNUWyRpZC4nY3VzdG9tZmllbGQnXVsnZmllbGQtJy4kZmllbGRkZWYtPmlkXTsKCgkkZmllbGQtPmlkID0gJGZpZWxkZGVmLT5pZDsKCSRmaWVsZC0+bmFtZSA9ICRmaWVsZGRlZi0+bmFtZTsKCSRmaWVsZC0+dHlwZSA9ICRmaWVsZGRlZi0+dHlwZTsKCWlmKCBpc3NldCgkZmllbGRkZWYtPnZhbHVlKSAmJiAhZW1wdHkoJGZpZWxkZGVmLT52YWx1ZSkgKSAkZmllbGQtPnZhbHVlID0gJGZpZWxkZGVmLT52YWx1ZTsKCSRmaWVsZC0+cHJvbXB0ID0gJGZpZWxkZGVmLT5wcm9tcHQ7Cglzd2l0Y2ggKCRmaWVsZGRlZi0+dHlwZSkKCSAgewoJICBjYXNlICdkaW1lbnNpb25zJzoKCSAgICBpZiggIWlzX2FycmF5KCR2YWx1ZSkgKQoJICAgICAgewoJCSR2YWx1ZSA9IGFycmF5KCdsZW5ndGgnPT4wLCd3aWR0aCc9PjAsJ2hlaWdodCc9PjApOwoJICAgICAgfQoJICAgICRmaWVsZC0+cHJvbXB0IC49ICcmbmJzcDsoJy5wcm9kdWN0X29wczo6Z2V0X2xlbmd0aF91bml0cygpLicpJzsKCSAgICAkZmllbGQtPmlucHV0X2JveCA9IAoJICAgICAgJHRoaXMtPkxhbmcoJ2FiYnJfbGVuZ3RoJykuJzombmJzcCcuCgkgICAgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnY3VzdG9tZmllbGRbZmllbGQtJy4kZmllbGRkZWYtPmlkLiddW2xlbmd0aF0nLAoJCQkJICAgICAkdmFsdWVbJ2xlbmd0aCddLDMsMykuCgkgICAgICAkdGhpcy0+TGFuZygnYWJicl93aWR0aCcpLic6Jm5ic3AnLgoJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXVt3aWR0aF0nLAoJCQkJICAgICAkdmFsdWVbJ3dpZHRoJ10sMywzKS4KCSAgICAgICR0aGlzLT5MYW5nKCdhYmJyX2hlaWdodCcpLic6Jm5ic3AnLgoJICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXVtoZWlnaHRdJywKCQkJCSAgICAgJHZhbHVlWydoZWlnaHQnXSwzLDMpOwoJICAgIGJyZWFrOwoKCSAgY2FzZSAnY2hlY2tib3gnOgoJICAgICRmaWVsZC0+aW5wdXRfYm94ID0gCiAgICAgICAgICAgICAgICAgICAgICAnPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0iJyAuICRpZCAuICdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nIC4gJyIgdmFsdWU9ImZhbHNlIiAvPicgLiAKICAgICAgICAgICAgICAgICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsICd0cnVlJywgJHZhbHVlICk7CgkgICAgYnJlYWs7CgkgIGNhc2UgJ3RleHRhcmVhJzoKCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVUZXh0QXJlYSh0cnVlLCAkaWQsICR2YWx1ZSwgJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScpOwoJICAgIGJyZWFrOwoJICBjYXNlICdkcm9wZG93bic6CgkgICAgJGZpZWxkLT5pbnB1dF9ib3ggPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsICdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLAoJCQkJCQkJICAgJGZpZWxkZGVmLT5vcHRpb25zLCAtMSwgJHZhbHVlICk7CgkgICAgYnJlYWs7CgkgIGNhc2UgJ2ZpbGUnOgoJICAgICRmaWVsZC0+ZGVsZXRlID0gJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdjdXN0b21maWVsZFtkZWxldGVmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLAoJCQkJCQkJMSwwKTsKCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLCcnLDUwKTsKCSAgICAkZmllbGQtPmhpZGRlbiA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsJHZhbHVlKTsKCSAgICBicmVhazsKCSAgY2FzZSAnaW1hZ2UnOgoJICAgIGlmICgkdmFsdWUpIHsKCSAgICAgICRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpLAoJCQkJICAgICAgICdwcm9kdWN0XycuJGNvbXBpZCk7CgkgICAgICAkdXJsID0gJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc191cmwnXS4iLyIuJHRoaXMtPkdldE5hbWUoKS4iL3Byb2R1Y3RfeyRjb21waWR9IjsKCSAgICAgICRmbiA9IGNtc19qb2luX3BhdGgoJGRlc3RkaXIsJ3RodW1iXycuJHZhbHVlKTsKCSAgICAgIGlmKCBmaWxlX2V4aXN0cygkZm4pICkgJGZpZWxkLT5pbWFnZSA9ICJ7JHVybH0veyR2YWx1ZX0iOwoJICAgICAgJGZuID0gY21zX2pvaW5fcGF0aCgkZGVzdGRpciwndGh1bWJfJy4kdmFsdWUpOwoJICAgICAgaWYoIGZpbGVfZXhpc3RzKCRmbikgKSAkZmllbGQtPnRodW1ibmFpbCA9ICJ7JHVybH0vdGh1bWJfeyR2YWx1ZX0iOwoJICAgICAgJGZuID0gY21zX2pvaW5fcGF0aCgkZGVzdGRpciwncHJldmlld18nLiR2YWx1ZSk7CgkgICAgICBpZiggZmlsZV9leGlzdHMoJGZuKSApICRmaWVsZC0+cHJldmlldyA9ICJ7JHVybH0vcHJldmlld197JHZhbHVlfSI7CgkgICAgfQogICAgICAgICAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG93YXRlcm1hcmsnKSA9PSAnYWRqdXN0YWJsZScgKQogICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICRmaWVsZC0+YXR0cmlidXRlID0gJHRoaXMtPkxhbmcoJ3dhdGVybWFya19sb2NhdGlvbicpLicmbmJzcDsnLgogICAgICAgICAgICAgICAgICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnY3VzdG9tZmllbGRfYXR0cltmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ10nLCR3bW9wdHMsLTEsJ2RlZmF1bHQnKTsKICAgICAgICAgICAgICB9CgkgICAgJGZpZWxkLT5kZWxldGUgPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2N1c3RvbWZpZWxkW2RlbGV0ZWZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsCgkJCQkJCQkxLDApOwoJICAgICRmaWVsZC0+aW5wdXRfYm94ID0gJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsJycsNTApOwoJICAgICRmaWVsZC0+aGlkZGVuID0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnY3VzdG9tZmllbGRbZmllbGQtJy4kZmllbGRkZWYtPmlkLiddJywkdmFsdWUpOwoJICAgIGJyZWFrOwoJICBjYXNlICdzdWJzY3JpcHRpb24nOgoJICAgIGlmKCAhaXNfYXJyYXkoJHZhbHVlKSApCgkgICAgICB7CgkJJHZhbHVlID0gYXJyYXkoJ3BheXBlcmlvZCc9Pi0xLCdkZWxwZXJpb2QnPT4tMSwnZXhwaXJlJz0+MSk7CgkgICAgICB9CgkgICAgaWYoICFpc3NldCgkdmFsdWVbJ3BheXBlcmlvZCddKSApICR2YWx1ZVsncGF5cGVyaW9kJ10gPSAtMTsKCSAgICBpZiggIWlzc2V0KCR2YWx1ZVsnZGVscGVyaW9kJ10pICkgJHZhbHVlWydkZWxwZXJpb2QnXSA9IC0xOwoJICAgIGlmKCAhaXNzZXQoJHZhbHVlWydleHBpcmUnXSkgKSAkdmFsdWVbJ2V4cGlyZSddID0gLTE7CgkgICAgJGZpZWxkLT5pbnB1dF9ib3ggPSAkdGhpcy0+TGFuZygnc3Vic2NyX3BheXBlcmlvZCcpLic6Jm5ic3A7JzsKCSAgICAkZmllbGQtPmlucHV0X2JveCAuPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXVtwYXlwZXJpb2RdJywKCQkJCQkJCSAgICRzdWJzY3JpYmVfb3B0cywgLTEsICR2YWx1ZVsncGF5cGVyaW9kJ10pOwoJICAgICRmaWVsZC0+aW5wdXRfYm94IC49ICc8YnIvPicuJHRoaXMtPkxhbmcoJ3N1YnNjcl9kZWxwZXJpb2QnKS4nOiZuYnNwOyc7CgkgICAgJGZpZWxkLT5pbnB1dF9ib3ggLj0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdjdXN0b21maWVsZFtmaWVsZC0nLiRmaWVsZGRlZi0+aWQuJ11bZGVscGVyaW9kXScsCgkJCQkJCQkgICAkc3Vic2NyaWJlX29wdHMsIC0xLCAkdmFsdWVbJ2RlbHBlcmlvZCddKTsKCSAgICAkZmllbGQtPmlucHV0X2JveCAuPSAnPGJyLz4nLiR0aGlzLT5MYW5nKCdzdWJzY3JfZXhwaXJ5JykuJzombmJzcDsnOwoJICAgICRmaWVsZC0+aW5wdXRfYm94IC49ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnY3VzdG9tZmllbGRbZmllbGQtJy4kZmllbGRkZWYtPmlkLiddW2V4cGlyZV0nLAoJCQkJCQkJICAgJGV4cGlyZV9vcHRzLCAtMSwgJHZhbHVlWydleHBpcmUnXSk7CgkgICAgYnJlYWs7CgoJICBjYXNlICdxdWFudGl0eSc6CgkgICAgJGZpZWxkLT5pbnB1dF9ib3ggPSAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2N1c3RvbWZpZWxkW2ZpZWxkLScuJGZpZWxkZGVmLT5pZC4nXScsICR2YWx1ZSwgNCwgNCk7CgkgICAgYnJlYWs7CgoJICBjYXNlICd0ZXh0Ym94JzoKCSAgZGVmYXVsdDoKCSAgICAkZmllbGQtPmlucHV0X2JveCA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnY3VzdG9tZmllbGRbZmllbGQtJy4kZmllbGRkZWYtPmlkLiddJywgJHZhbHVlLCAzMCwgMjU1KTsKCSAgICBicmVhazsKCSAgfQoKCSRmaWVsZGFycmF5W10gPSAkZmllbGQ7CiAgICAgIH0KICB9CgokYWxsY2F0ZWdvcmllcyA9ICR0aGlzLT5HZXRDYXRlZ29yaWVzKCk7CiRjYXRhcnJheSA9IGFycmF5KCk7CmlmKCBpc19hcnJheSgkYWxsY2F0ZWdvcmllcykgJiYgY291bnQoJGFsbGNhdGVnb3JpZXMpICkgewogIGZvcmVhY2goICRhbGxjYXRlZ29yaWVzIGFzICRvbmUgKSB7CiAgICAkY2F0YXJyYXlbJG9uZS0+bmFtZV0gPSAkb25lLT5pZDsKICB9Cn0KJHNlbGNhdGVnb3JpZXMgPSAkdGhpcy0+R2V0Q2F0ZWdvcmllc0ZvclByb2R1Y3QoJGNvbXBpZCk7CiRzZWxjYXRhcnJheSA9IGFycmF5KCk7CmlmKCBpc19hcnJheSgkc2VsY2F0ZWdvcmllcykgJiYgY291bnQoJHNlbGNhdGVnb3JpZXMpICkgewogIGZvcmVhY2goICRzZWxjYXRlZ29yaWVzIGFzICRvbmUgKSB7CiAgICBpZiggISRvbmUtPnZhbHVlICkgY29udGludWU7CiAgICAkc2VsY2F0YXJyYXlbJG9uZS0+bmFtZV0gPSAkb25lLT5pZDsKICB9Cn0KCiNEaXNwbGF5IHRlbXBsYXRlCiRzbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdlZGl0cHJvZHVjdCcsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywgJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignbmFtZXRleHQnLCAkdGhpcy0+TGFuZygnbmFtZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dG5hbWUnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3Byb2R1Y3RfbmFtZScsICRwcm9kdWN0X25hbWUsIDMwLCAyNTUpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcmljZXRleHQnLCAkdGhpcy0+TGFuZygncHJpY2UnKSk7CiRzbWFydHktPmFzc2lnbignY3VycmVuY3lfc3ltYm9sJyxwcm9kdWN0X29wczo6Z2V0X2N1cnJlbmN5X3N5bWJvbCgpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHByaWNlJywgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICdwcmljZScsIHNwcmludGYoIiUuMkYiLCRwcmljZSksIDEwLCAxMikpOwokc21hcnR5LT5hc3NpZ24oJ3dlaWdodHRleHQnLCAkdGhpcy0+TGFuZygnd2VpZ2h0JykpOwokc21hcnR5LT5hc3NpZ24oJ3dlaWdodHVuaXRzJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZHVjdHNfd2VpZ2h0dW5pdHMnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXR3ZWlnaHQnLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ3dlaWdodCcsIAoJCQkJCQkJICAgIHNwcmludGYoIiUuMkYiLCR3ZWlnaHQpLCAxMCwgMTIpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHNrdScsJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ3NrdScsJHNrdSwxMCwyNSkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0YWxpYXMnLCR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdhbGlhcycsJGFsaWFzLDQwLDI1NSkpOwokc21hcnR5LT5hc3NpZ24oJ2RldGFpbHN0ZXh0JywgJHRoaXMtPkxhbmcoJ2RldGFpbHMnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRkZXRhaWxzJywgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKHRydWUsICRpZCwgJGRldGFpbHMsICdkZXRhaWxzJywgJycsICcnLCAnJywgJycsICc4MCcsICc1JykpOwoKaWYoIGNvdW50KCRjYXRhcnJheSkgPiAwICkgewogICRuID0gY291bnQoJGNhdGFycmF5KS80OwogICRuID0gbWluKCRuLDIwKTsKICAkbiA9IG1heCgkbiw1KTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jYXRlZ29yaWVzJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwnY2F0ZWdvcmllc1tdJywkY2F0YXJyYXksJHNlbGNhdGFycmF5LCRuKSk7OwogfQoKJHNtYXJ0eS0+YXNzaWduKCd0YXhhYmxldGV4dCcsJHRoaXMtPkxhbmcoJ3RheGFibGUnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXR0YXhhYmxlJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ3RheGFibGUnLDEsJHRheGFibGUpKTsKCiRoaWVyYXJjaHlfaXRlbXMgPSAkdGhpcy0+QnVpbGRIaWVyYXJjaHlMaXN0KCk7CiRzbWFydHktPmFzc2lnbignaGllcmFyY2h5X2l0ZW1zJywkaGllcmFyY2h5X2l0ZW1zKTsKJHNtYXJ0eS0+YXNzaWduKCdoaWVyYXJjaHlfcG9zJywkaGllcmFyY2h5X3Bvcyk7Cgokc3RhdHVzZXMgPSBhcnJheSgkdGhpcy0+TGFuZygncHVibGlzaGVkJyk9PidwdWJsaXNoZWQnLAoJCSAgJHRoaXMtPkxhbmcoJ2RyYWZ0Jyk9PidkcmFmdCcsCgkJICAkdGhpcy0+TGFuZygnZGlzYWJsZWQnKT0+J2Rpc2FibGVkJyk7CiRzbWFydHktPmFzc2lnbignc3RhdHVzdGV4dCcsJHRoaXMtPkxhbmcoJ3N0YXR1cycpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dHN0YXR1cycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdzdGF0dXMnLAoJCQkJCSAgICRzdGF0dXNlcywtMSwkc3RhdHVzKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2lkdGV4dCcsJHRoaXMtPkxhbmcoJ2lkJykpOwokc21hcnR5LT5hc3NpZ24oJ2NvbXBpZCcsJGNvbXBpZCk7CiRzbWFydHktPmFzc2lnbignaGlkZGVuJywgCgkJJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2NvbXBpZCcsICRjb21waWQpLgoJCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdvcmlnbmFtZScsICRvcmlnbmFtZSkpOwokc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdzdWJtaXQnLCBsYW5nKCdzdWJtaXQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICdjYW5jZWwnLCBsYW5nKCdjYW5jZWwnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2N1c3RvbWZpZWxkcycsICRmaWVsZGFycmF5KTsKJHNtYXJ0eS0+YXNzaWduKCdjdXN0b21maWVsZHNjb3VudCcsIGNvdW50KCRmaWVsZGFycmF5KSk7Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0dGFiaGVhZGVycycsJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpKTsKJHNtYXJ0eS0+YXNzaWduKCd0YWJoZWFkZXJfbWFpbicsJHRoaXMtPlNldFRhYkhlYWRlcignbWFpbicsJHRoaXMtPkxhbmcoJ3Byb2R1Y3RfaW5mbycpKSk7CiRzbWFydHktPmFzc2lnbigndGFiaGVhZGVyX2ZpZWxkcycsJHRoaXMtPlNldFRhYkhlYWRlcignZmllbGRzJywkdGhpcy0+TGFuZygnZmllbGRzJykpKTsKJHNtYXJ0eS0+YXNzaWduKCd0YWJoZWFkZXJfYWR2YW5jZWQnLCR0aGlzLT5TZXRUYWJIZWFkZXIoJ2FkdmFuY2VkJywkdGhpcy0+TGFuZygnYWR2YW5jZWQnKSkpOwokc21hcnR5LT5hc3NpZ24oJ2VuZHRhYmhlYWRlcnMnLCR0aGlzLT5FbmRUYWJIZWFkZXJzKCkpOwokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0dGFiY29udGVudCcsJHRoaXMtPlN0YXJ0VGFiQ29udGVudCgpKTsKJHNtYXJ0eS0+YXNzaWduKCd0YWJfbWFpbicsJHRoaXMtPlN0YXJ0VGFiKCdtYWluJykpOwokc21hcnR5LT5hc3NpZ24oJ3RhYl9maWVsZHMnLCR0aGlzLT5TdGFydFRhYignZmllbGRzJykpOwokc21hcnR5LT5hc3NpZ24oJ3RhYl9hZHZhbmNlZCcsJHRoaXMtPlN0YXJ0VGFiKCdhZHZhbmNlZCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbmR0YWInLCR0aGlzLT5FbmRUYWIoKSk7CiRzbWFydHktPmFzc2lnbignZW5kdGFiY29udGVudCcsJHRoaXMtPkVuZFRhYkNvbnRlbnQoKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXRwcm9kdWN0LnRwbCcpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.exportcsv.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3Byb2R1Y3RzJyk7CmlmKCBpc3NldCgkcGFyYW1zWydjYW5jZWwnXSkgKSB7CiAgJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKfQoKJGFsbGNhdHMgPSAnJzsKJGFsbGZpZWxkcyA9ICcnOwokb3BzID0gYXJyYXkoJ2V4cG9ydGRyYWZ0Jz0+MSwKCSAgICAgJ2V4cG9ydGNhdHMnPT4xLAoJICAgICAnZXhwb3J0ZmllbGRzJz0+MSwKCSAgICAgJ2V4cG9ydGF0dHJpYnMnPT4xLAoJICAgICAnZXhwb3J0ZGVsaW0nPT4nLCcpOwoKZnVuY3Rpb24gcXVvdGUoJHN0cikKewogIGlmKCAkc3RyICkgcmV0dXJuICciJy4kc3RyLiciJzsKfQoKZnVuY3Rpb24gdG9fZmxhdF9hcnJheSgkcHJvZHVjdCwkbWFwKQp7CiAgJG91dCA9IGFycmF5KCk7CiAgZm9yZWFjaCggJG1hcCBhcyAka2V5ICkgewogICAgc3dpdGNoKCAka2V5ICkgewogICAgY2FzZSAnRkxBRyc6CiAgICAgICRvdXRbXSA9ICdQJzsKICAgICAgYnJlYWs7CiAgICBjYXNlICduYW1lJzoKICAgICAgJG91dFtdID0gcXVvdGUoJHByb2R1Y3QtPnByb2R1Y3RfbmFtZSk7CiAgICAgIGJyZWFrOwogICAgY2FzZSAnc2t1JzoKICAgICAgJG91dFtdID0gcXVvdGUoJHByb2R1Y3QtPnNrdSk7CiAgICAgIGJyZWFrOwogICAgY2FzZSAnZGV0YWlscyc6CiAgICAgICRvdXRbXSA9IHF1b3RlKCRwcm9kdWN0LT5kZXRhaWxzKTsKICAgICAgYnJlYWs7CiAgICBjYXNlICdwcmljZSc6CiAgICAgICRvdXRbXSA9ICRwcm9kdWN0LT5wcmljZTsKICAgICAgYnJlYWs7CiAgICBjYXNlICdjcmVhdGVfZGF0ZSc6CiAgICAgICRvdXRbXSA9ICRwcm9kdWN0LT5jcmVhdGVfZGF0ZTsKICAgICAgYnJlYWs7CiAgICBjYXNlICdtb2RpZmllZF9kYXRlJzoKICAgICAgJG91dFtdID0gJHByb2R1Y3QtPm1vZGlmaWVkX2RhdGU7CiAgICAgIGJyZWFrOwogICAgY2FzZSAndGF4YWJsZSc6CiAgICAgICRvdXRbXSA9ICRwcm9kdWN0LT50YXhhYmxlOwogICAgICBicmVhazsKICAgIGNhc2UgJ3N0YXR1cyc6CiAgICAgICRvdXRbXSA9IHF1b3RlKCRwcm9kdWN0LT5zdGF0dXMpOwogICAgICBicmVhazsKICAgIGNhc2UgJ3dlaWdodCc6CiAgICAgICRvdXRbXSA9ICRwcm9kdWN0LT53ZWlnaHQ7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ0hJRVInOgogICAgICAkdmFsID0gJyc7CiAgICAgIGlmKCAkcHJvZHVjdC0+aGllcmFyY2h5X2lkICkgewoJJGhpZXIgPSBoaWVyYXJjaHlfb3BzOjpnZXRfaGllcmFyY2h5X2luZm8oJHByb2R1Y3QtPmhpZXJhcmNoeV9pZCk7CglpZiggaXNfYXJyYXkoJGhpZXIpICYmIGNvdW50KCRoaWVyKSApIHsKCSAgJHZhbCA9IHN0cl9yZXBsYWNlKCd8JywnPj4nLCRoaWVyWydsb25nX25hbWUnXSk7Cgl9CiAgICAgIH0KICAgICAgJG91dFtdID0gcXVvdGUoJHZhbCk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ0FUVFJJQlMnOgogICAgICAvLyBTZXQ6QXR0cjphZGosc2t1LS0KICAgICAgJHZhbCA9ICcnOwogICAgICBpZiggaXNzZXQoJHByb2R1Y3QtPmF0dHJpYnV0ZXNfZnVsbCkgJiYgY291bnQoJHByb2R1Y3QtPmF0dHJpYnV0ZXNfZnVsbCkgKSB7Cgkkc2V0cyA9IGFycmF5KCk7Cglmb3JlYWNoKCAkcHJvZHVjdC0+YXR0cmlidXRlc19mdWxsIGFzICR0aGVzZXQgPT4gJGF0dHJpYnNldCApIHsKCSAgJG9uZXNldCA9IGFycmF5KCdzZXQnPT4nJywnYXR0cic9PicnLCdhZGonPT4nJywnc2t1Jz0+JycpOwoJICAkb25lc2V0WydzZXQnXSA9IHF1b3RlKCR0aGVzZXQpOwoJICBmb3JlYWNoKCAkYXR0cmlic2V0IGFzICRhdHRyID0+ICRhdHRyaWJpbmZvICkgewoJICAgICRvbmVzZXRbJ2F0dHInXSA9IHF1b3RlKCRhdHRyKTsKCSAgICAkb25lc2V0WydhZGonXSA9ICRhdHRyaWJpbmZvWydhdHRyaWJfYWRqdXN0bWVudCddOwoJICAgICRvbmVzZXRbJ3NrdSddID0gcXVvdGUoJGF0dHJpYmluZm9bJ3NrdSddKTsKCSAgICAkc2V0c1tdID0gaW1wbG9kZSgnOicsYXJyYXlfdmFsdWVzKCRvbmVzZXQpKTsKCSAgfQoJfQoJJHZhbCA9IGltcGxvZGUoJy0tJywkc2V0cyk7CiAgICAgIH0KICAgICAgJG91dFtdID0gJHZhbDsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgaWYoIHN0YXJ0c3dpdGgoJGtleSwnQ0FUOicpICkgewoJLy8gY2F0ZWdvcmllcyBhcmUgb25seSAxIG9yIDAKCSR2YWwgPSAwOwoJaWYoIGlzc2V0KCRwcm9kdWN0LT5jYXRlZ29yaWVzKSAmJiBjb3VudCgkcHJvZHVjdC0+Y2F0ZWdvcmllcykgKSB7CgkgICRuYW1lID0gc3Vic3RyKCRrZXksNCk7CgkgIGZvcmVhY2goICRwcm9kdWN0LT5jYXRlZ29yaWVzIGFzICRvbmUgKSB7CgkgICAgaWYoICRvbmUtPm5hbWUgIT0gJG5hbWUgKSBjb250aW51ZTsKCSAgICBpZiggJG9uZS0+dmFsdWUgPT0gMSApIHsKCSAgICAgICR2YWwgPSAxOwoJICAgICAgYnJlYWs7CgkgICAgfQoJICB9Cgl9Cgkkb3V0W10gPSAkdmFsOwogICAgICB9CiAgICAgIGVsc2VpZiggc3RhcnRzd2l0aCgka2V5LCdGSUVMRDonKSApIHsKCSR2YWwgPSAnJzsKCWlmKCBpc3NldCgkcHJvZHVjdC0+ZmllbGRzKSAmJiBjb3VudCgkcHJvZHVjdC0+ZmllbGRzKSApIHsKCSAgbGlzdCgkdDAsJHQxLCRuYW1lKSA9IGV4cGxvZGUoJzonLCRrZXksMyk7CgkgIGlmKCBpc3NldCgkcHJvZHVjdC0+ZmllbGRzWyRuYW1lXSkgJiYgaXNfb2JqZWN0KCRwcm9kdWN0LT5maWVsZHNbJG5hbWVdKSApIHsKCSAgICAkZmxkID0gJHByb2R1Y3QtPmZpZWxkc1skbmFtZV07CgkgICAgc3dpdGNoKCAkZmxkLT50eXBlICkgewoJICAgIGNhc2UgJ2RpbWVuc2lvbnMnOgoJICAgICAgJHZhbCA9ICdsOicuJGZsZC0+dmFsdWVbJ2xlbmd0aCddLicsdzonLiRmbGQtPnZhbHVlWyd3aWR0aCddLicsaDonLiRmbGQtPnZhbHVlWydoZWlnaHQnXTsKCSAgICAgIGJyZWFrOwoJICAgIGNhc2UgJ3N1YnNjcmlwdGlvbic6CgkgICAgICAkdmFsID0gJyc7IC8vIHN1YnNjcmlwdGlvbiBpbmZvIG5vdCBvdXRwdXQsb3IgcmVhZC4uLiBmb3Igbm93LgoJICAgICAgYnJlYWs7CgkgICAgZGVmYXVsdDoKCSAgICAgICR2YWwgPSAkZmxkLT52YWx1ZTsKCSAgICB9CgkgIH0KCX0KCSRvdXRbXSA9IHF1b3RlKCR2YWwpOwogICAgICB9CiAgICB9CiAgfQogIHJldHVybiAkb3V0Owp9CgppZiggaXNzZXQoJHBhcmFtc1snc3VibWl0J10pICkgewoKICBzZXRfdGltZV9saW1pdCgwKTsKICAkaGFuZGxlcnMgPSBvYl9saXN0X2hhbmRsZXJzKCk7IAogIGZvciAoJGNudCA9IDA7ICRjbnQgPCBzaXplb2YoJGhhbmRsZXJzKTsgJGNudCsrKSB7IG9iX2VuZF9jbGVhbigpOyB9CgogIC8vVGhlbiBmb3JjZSB0aGUgb3V0cHV0IG5vcm1hbGx5IGFuZCBleGl0IHNvIHdlIGRvbid0IGdldCBhIGZvb3RlcgogIGhlYWRlcigiQ29udGVudC1kaXNwb3NpdGlvbjogYXR0YWNobWVudDsgZmlsZW5hbWU9cHJvZHVjdHMuIiAuIGRhdGUoIlktbS1kIikgLiAiLmNzdiIpOwogIGhlYWRlcigiQ29udGVudC10eXBlOiB0ZXh0L2NzdiIpOwogIGZsdXNoKCk7CiAgCiAgJG9wc1snZXhwb3J0Y2F0cyddID0gKGludCkkcGFyYW1zWydleHBvcnRjYXRzJ107CiAgJG9wc1snZXhwb3J0ZHJhZnQnXSA9IChpbnQpJHBhcmFtc1snZXhwb3J0ZHJhZnQnXTsKICAkb3BzWydleHBvcnRmaWVsZHMnXSA9IChpbnQpJHBhcmFtc1snZXhwb3J0ZmllbGRzJ107CiAgJG9wc1snZXhwb3J0YXR0cmlicyddID0gKGludCkkcGFyYW1zWydleHBvcnRhdHRyaWJzJ107CiAgJG9wc1snZXhwb3J0ZGVsaW0nXSA9IHRyaW0oJHBhcmFtc1snZXhwb3J0ZGVsaW0nXSk7CiAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2V4cG9ydG9wdGlvbnMnLHNlcmlhbGl6ZSgkb3BzKSk7CiAgCiAgLy8gbm93IGRvIHRoZSBleHBvcnQuCiAgaWYoICRvcHNbJ2V4cG9ydGNhdHMnXSApIHsKICAgICRhbGxjYXRzID0gcHJvZHVjdF91dGlsczo6Z2V0X2NhdGVnb3JpZXMoKTsKICAgICRtYXAgPSBhcnJheSgnRkxBRycsJ25hbWUnLCdza3UnLCdkZXRhaWxzJywncHJpY2UnLCdjcmVhdGVfZGF0ZScsJ21vZGlmaWVkX2RhdGUnLCd0YXhhYmxlJywnc3RhdHVzJywnd2VpZ2h0JywnSElFUicpOwogICAgaWYoIGlzX2FycmF5KCRhbGxjYXRzKSAmJiBjb3VudCgkYWxsY2F0cykgKSB7CiAgICAgIGZvcmVhY2goICRhbGxjYXRzIGFzICRvbmUgKSB7CgkkbWFwW10gPSAnQ0FUOicuJG9uZS0+bmFtZTsKICAgICAgfQogICAgfQogIH0KCiAgaWYoICRvcHNbJ2V4cG9ydGZpZWxkcyddICkgewogICAgJGFsbGZpZWxkcyA9IHByb2R1Y3RfdXRpbHM6OmdldF9maWVsZGRlZnMoVFJVRSxUUlVFKTsKICAgIGlmKCBpc19hcnJheSgkYWxsZmllbGRzKSAmJiBjb3VudCgkYWxsZmllbGRzKSApIHsKICAgICAgZm9yZWFjaCggJGFsbGZpZWxkcyBhcyAkb25lICkgewoJJG1hcFtdID0gJ0ZJRUxEOicuJG9uZS0+dHlwZS4nOicuJG9uZS0+bmFtZTsKICAgICAgfQogICAgfQogIH0KCiAgaWYoICRvcHNbJ2V4cG9ydGF0dHJpYnMnXSApIHsKICAgICRtYXBbXSA9ICdBVFRSSUJTJzsKICB9CgogICRvdXRwdXQgPSAnJzsKICB7CiAgICAkaGVhZGVyID0gJG1hcDsKICAgIGZvcmVhY2goICRoZWFkZXIgYXMgJiRvbmUgKSB7CiAgICAgICRvbmUgPSAnIycuJG9uZTsKICAgIH0KICAgICRvdXRwdXQgLj0gaW1wbG9kZSgkb3BzWydleHBvcnRkZWxpbSddLCRoZWFkZXIpLiJcbiI7CiAgfQogIGVjaG8gJG91dHB1dDsgZmx1c2goKTsKCiAgLy8gbm93IGdldCB0aGUgcHJvZHVjdHMuLi4KICAkcXVlcnkgPSBuZXcgcHJvZHVjdHNfcXVlcnkoKTsKICAkcXVlcnlbJ3BhZ2VsaW1pdCddID0gMTAwMDAwMDsKICBpZiggJG9wc1snZXhwb3J0ZHJhZnQnXSApIHsKICAgICRxdWVyeVsnc3RhdHVzJ10gPSAnIWRpc2FibGVkJzsKICB9CiAgJHJlc3VsdHMgPSBuZXcgcHJvZHVjdHNfcmVzdWx0c2V0KCRxdWVyeSk7CgogIHdoaWxlKCAhJHJlc3VsdHMtPkVPRiApIHsKICAgICRwcm9kdWN0ID0gJHJlc3VsdHMtPmdldF9wcm9kdWN0KCk7IC8vIHJlYWxseSBkb24ndCBuZWVkIHRoaXMgZm9yIGV4cG9ydCwgY3V6IGxpbmtzIGFyZSBpcnJlbGV2YW50CiAgICAkdG1wID0gdG9fZmxhdF9hcnJheSgkcHJvZHVjdCwkbWFwKTsKICAgICRvdXRwdXQgPSBpbXBsb2RlKCRvcHNbJ2V4cG9ydGRlbGltJ10sJHRtcCkuIlxuIjsKICAgICRyZXN1bHRzLT5Nb3ZlTmV4dCgpOwogICAgZWNobyAkb3V0cHV0OyBmbHVzaCgpOwogIH0KCiAgYXVkaXQoJycsJHRoaXMtPkdldE5hbWUoKSwnRXhwb3J0ZWQgcHJvZHVjdCBkYXRhIHRvIGNzdicpOwogIGV4aXQoKTsKfQoKCiR0bXAgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZXhwb3J0b3B0aW9ucycpOwppZiggJHRtcCApICRvcHMgPSB1bnNlcmlhbGl6ZSgkdG1wKTsKCiRzbWFydHktPmFzc2lnbignb3B0aW9ucycsJG9wcyk7CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdleHBvcnRjc3YnKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnZXhwb3J0Y3N2LnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.fieldlist.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRmaWVsZHMgPSAnJzsKewogICR0bXAgPSAkdGhpcy0+R2V0RmllbGREZWZzKCk7CiAgaWYoIGlzX2FycmF5KCR0bXApICkKICAgIHsKICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKQoJewoJICAkb2JqID0gJHRtcFskaV07CgkgICRmaWVsZHNbJG9iai0+bmFtZV0gPSAkb2JqOwoJfQogICAgfQp9CiRmaWVsZG5hbWUgPSAnJzsKJHNob3dhbGwgPSAwOwokdGhldGVtcGxhdGUgPSAnY2F0ZWdvcnlsaXN0XycuJHRoaXMtPkdldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUQ0FURUdPUllMSVNUX1RFTVBMQVRFKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gKSApCiAgewogICAgJHRoZXRlbXBsYXRlID0gJ2NhdGVnb3J5bGlzdF8nLiRwYXJhbXNbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlJ107CiAgfQoKJGRldGFpbHBhZ2UgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGV0YWlscGFnZScsLTEpOwppZiAoaXNzZXQoJHBhcmFtc1snZGV0YWlscGFnZSddKSkKICB7CiAgICAkZGV0YWlscGFnZSA9IHRyaW0oJHBhcmFtc1snZGV0YWlscGFnZSddKTsKICB9CmlmKCAhZW1wdHkoJGRldGFpbHBhZ2UpICYmICRkZXRhaWxwYWdlICE9IC0xICkKICB7CiAgICAkbWFuYWdlciA9JiAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOwogICAgJG5vZGUgPSAkbWFuYWdlci0+c3VyZUdldE5vZGVCeUFsaWFzKCRkZXRhaWxwYWdlKTsKICAgIGlmIChpc3NldCgkbm9kZSkpCiAgICAgIHsKCSRjb250ZW50ID0gJG5vZGUtPkdldENvbnRlbnQoKTsJCglpZiAoaXNzZXQoJGNvbnRlbnQpKQoJICB7CgkgICAgJGRldGFpbHBhZ2UgPSAkY29udGVudC0+SWQoKTsKCSAgfQogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRub2RlID0gJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkZGV0YWlscGFnZSk7CglpZiAoIWlzc2V0KCRub2RlKSkKCSAgewoJICAgICRkZXRhaWxwYWdlID0gJyc7CgkgIH0KICAgICAgfQogIH0KaWYoIGVtcHR5KCRkZXRhaWxwYWdlKSB8fCAkZGV0YWlscGFnZSA9PSAtMSApCiAgewogICAgJGRldGFpbHBhZ2UgPSAkcmV0dXJuaWQ7CiAgfQoKaWYoICFpc3NldCgkcGFyYW1zWydmaWVsZCddKSApIHJldHVybjsKJGZpZWxkbmFtZSA9IHRyaW0oJHBhcmFtc1snZmllbGQnXSk7CmlmKCAhaXNzZXQoJGZpZWxkc1skZmllbGRuYW1lXSkgKSByZXR1cm47CmlmKCBpc3NldCgkcGFyYW1zWydzaG93YWxsJ10pICkKICB7CiAgICAkc2hvd2FsbCA9IChpbnQpJHBhcmFtc1snc2hvd2FsbCddOwogIH0KJGZpZWxkID0gJGZpZWxkc1skZmllbGRuYW1lXTsKCi8vIG9raWUsIG5vdyBnb3R0YSBnZXQgdGhlIGRpc3RpbmN0IHZhbHVlcyBvdXQgb2YgdGhlIGRhdGFiYXNlCi8vIGZvciB0aGlzIGZpZWxkLgokcXVlcnkgPSAnU0VMRUNUIERJU1RJTkNUIHZhbHVlIEFTIG5hbWUsY291bnQodmFsdWUpIGFzIGNvdW50IEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgCiAgICAgICAgICAgV0hFUkUgZmllbGRkZWZfaWQgPSA/IEdST1VQIEJZIHZhbHVlJzsKJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KCRmaWVsZHNbJGZpZWxkbmFtZV0tPmlkKSk7CmlmKCAhJHRtcCApIHJldHVybjsKCiR0cmVzdWx0cyA9IGNnZV9hcnJheTo6dG9faGFzaCgkdG1wLCduYW1lJyk7CmZvcmVhY2goICR0cmVzdWx0cyBhcyAka2V5ID0+ICYkcm93ICkKICB7CiAgICAkbnBhcmFtcyA9ICRwYXJhbXM7CiAgICB1bnNldCgkbnBhcmFtc1snZmllbGQnXSk7CiAgICAkbnBhcmFtc1snZmllbGRpZCddID0gJGZpZWxkLT5pZDsKICAgICRucGFyYW1zWydmaWVsZHZhbCddID0gJHJvd1snbmFtZSddOwogICAgJHJvd1snc3VtbWFyeV91cmwnXSA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkZWZhdWx0JywkZGV0YWlscGFnZSwkbnBhcmFtcyk7CiAgfQppZiggJHNob3dhbGwgKSAvLyBzaG93YWxsCiAgewogICAgaWYoICRmaWVsZC0+dHlwZSAhPSAnZHJvcGRvd24nICkKICAgICAgewoJLy8gaXQncyBhbm90aGVyIGZpZWxkIHR5cGUuLiBwcm9sbHkgYSB0ZXh0IGZpZWxkLgoJJHF1ZXJ5ID0gJ1NFTEVDVCBjb3VudChBLmlkKSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMgQSAKICAgICAgICAgICAgICAgICAgICBMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgQiAKICAgICAgICAgICAgICAgICAgICAgIE9OIEEuaWQgPSBCLnByb2R1Y3RfaWQgQU5EIEIuZmllbGRkZWZfaWQgPSA/CiAgICAgICAgICAgICAgICAgICBXSEVSRSBCLnByb2R1Y3RfaWQgSVMgTlVMTCc7CgkkdHJvdyA9IGFycmF5KCk7CgkkdHJvd1snY291bnQnXSA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkZmllbGQtPmlkKSk7CgkkdHJvd1snbmFtZSddID0gJHRoaXMtPkxhbmcoJ3VuZGVmaW5lZF9maWVsZF92YWx1ZScpOwoKCSRucGFyYW1zID0gJHBhcmFtczsKCXVuc2V0KCRucGFyYW1zWydmaWVsZCddKTsKCSRucGFyYW1zWydmaWVsZGlkJ10gPSAkZmllbGQtPmlkOwoJJG5wYXJhbXNbJ2ZpZWxkdmFsJ10gPSAnOjpudWxsOjonOwoJJHRyb3dbJ3N1bW1hcnlfdXJsJ10gPSAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdCcsJGRldGFpbHBhZ2UsJG5wYXJhbXMpOwoJJHRyZXN1bHRzWyctLTpwcm9kdWN0c191bnNldF9maWVsZDotLSddID0gJHRyb3c7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gaXQncyBhIGRyb3Bkb3duCgkvLyBmaWxsIGluIHRoZSByZWNvcmRzIGZvciB0aGUgb3RoZXIgb3B0aW9ucywgd2hpbGUgcHJlc2VydmluZyBvcHRpb24gb3JkZXIuCgkkdG1wID0gYXJyYXkoKTsKCWZvcmVhY2goICRmaWVsZC0+b3B0aW9ucyBhcyAkb3B0aW9uICkKCSAgewoJICAgIGlmKCBpc3NldCgkdHJlc3VsdHNbJG9wdGlvbl0pICkKCSAgICAgIHsKCQkkdG1wWyRvcHRpb25dID0gJHRyZXN1bHRzWyRvcHRpb25dOwoJCWNvbnRpbnVlOwoJICAgICAgfQoJICAgICR0cm93ID0gYXJyYXkoKTsKCSAgICAkdHJvd1snbmFtZSddID0gJG9wdGlvbjsKCSAgICAkdHJvd1snY291bnQnXSA9IDA7CgoJICAgICRucGFyYW1zID0gJHBhcmFtczsKCSAgICB1bnNldCgkbnBhcmFtc1snZmllbGQnXSk7CgkgICAgJG5wYXJhbXNbJ2ZpZWxkaWQnXSA9ICRmaWVsZC0+aWQ7CgkgICAgJG5wYXJhbXNbJ2ZpZWxkdmFsJ10gPSAnOjpudWxsOjonOwoJICAgICR0cm93WydzdW1tYXJ5X3VybCddID0gJHRoaXMtPkNyZWF0ZVVSTCgkaWQsJ2RlZmF1bHQnLCRkZXRhaWxwYWdlLCRucGFyYW1zKTsKCSAgICAkdG1wWyRvcHRpb25dID0gJHRyb3c7CgkgIH0KCSR0cmVzdWx0cyA9ICR0bXA7CiAgICAgIH0KICB9CgokcmVzdWx0cyA9IGFycmF5KCk7CmZvcmVhY2goICR0cmVzdWx0cyBhcyAka2V5ID0+ICRyZWMgKQp7CiAgJHJlc3VsdHNbXSA9IGNnZV9hcnJheTo6dG9fb2JqZWN0KCRyZWMpOwp9CiRzbWFydHktPmFzc2lnbignY2F0ZWdvcnlsaXN0JywkcmVzdWx0cyk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJHRoZXRlbXBsYXRlKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.hierarchy.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCiRzdW1tYXJ5cGFnZSA9ICRyZXR1cm5pZDsKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1bW1hcnlwYWdlJ10pICkKICB7CiAgICAkc3VtbWFyeXBhZ2UgPSAkdGhpcy0+cmVzb2x2ZV9hbGlhc19vcl9pZCgkcGFyYW1zWydzdW1tYXJ5cGFnZSddKTsKICAgIGlmKCAhJHN1bW1hcnlwYWdlICkKICAgICAgewoJJHN1bW1hcnlwYWdlID0gJHJldHVybmlkOwogICAgICB9CiAgfQoKJGhpZXJwYWdlID0gJHJldHVybmlkOwokdG1wID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2hpZXJwYWdlJyk7CmlmKCAkdG1wID4gMCApIHsKICAkaGllcnBhZ2UgPSAkdG1wOwp9CmlmKCBpc3NldCgkcGFyYW1zWydoaWVyYXJjaHlwYWdlJ10pICkgewogICR0bXAgPSAkdGhpcy0+cmVzb2x2ZV9hbGlhc19vcl9pZCgkcGFyYW1zWydoaWVyYXJjaHknXSk7CiAgaWYoICR0bXAgKSB7IAogICAgJGhpZXJwYWdlID0gJHRtcDsKICB9Cn0KCmlmKCAhZnVuY3Rpb25fZXhpc3RzKCdwcm9kdWN0c19ieWhpZXJhcmNoeV9wb3N0cHJvY2VzcycpICkKICB7CiAgICBmdW5jdGlvbiBwcm9kdWN0c19ieWhpZXJhcmNoeV9wb3N0cHJvY2VzcygmJGRhdGEsJHBhcmFtcywkc3VtbWFyeXBhZ2UsJGhpZXJwYWdlKQogICAgewogICAgICBpZiggaXNfYXJyYXkoJGRhdGEpICkgewoJJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwoJJG1vZHVsZSA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgnUHJvZHVjdHMnKTsKCSRpbWdkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCRtb2R1bGUtPkdldE5hbWUoKSwnaGllcmFyY2h5Jyk7CgoJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrICkgewoJICAkcmVjID0mICRkYXRhWyRpXTsKCgkgICR0biA9IGNtc19qb2luX3BhdGgoJGltZ2RpciwndGh1bWJfJy4kcmVjWydpbWFnZSddKTsKCSAgaWYoIGZpbGVfZXhpc3RzKCR0bikgKSB7CgkgICAgJHJlY1sndGh1bWJuYWlsJ10gPSAndGh1bWJfJy4kcmVjWydpbWFnZSddOwoJICB9CgkgICAgICAKCSAgJHRuID0gY21zX2pvaW5fcGF0aCgkaW1nZGlyLCdwcmV2aWV3XycuJHJlY1snaW1hZ2UnXSk7CgkgIGlmKCBmaWxlX2V4aXN0cygkdG4pICkgewoJICAgICRyZWNbJ3ByZXZpZXcnXSA9ICdwcmV2aWV3XycuJHJlY1snaW1hZ2UnXTsKCSAgfQoKCSAgaWYoICFpc3NldCgkcmVjWydjb3VudCddKSApICRyZWNbJ2NvdW50J10gPSAwOwoKCSAgJHBhcm1zID0gJHBhcmFtczsKCSAgJHBhcm1zWydwYXJlbnQnXSA9ICRyZWNbJ2lkJ107CgoJICAkcmVjWydkb3duX3VybCddID0gJG1vZHVsZS0+Q3JlYXRlVVJMKCdjbnRudDAxJywnaGllcmFyY2h5JywkaGllcnBhZ2UsJHBhcm1zKTsKCgkgICRwYXJtcyA9ICRwYXJhbXM7CgkgICRwYXJtc1snaGllcmFyY2h5aWQnXSA9ICRyZWNbJ2lkJ107CgkgIGlmKCBpc3NldCgkcGFybXNbJ3N1bW1hcnlwYWdlJ10pICkgdW5zZXQoJHBhcm1zWydzdW1tYXJ5cGFnZSddKTsKCSAgJHJlY1sndXJsJ10gPSAkbW9kdWxlLT5DcmVhdGVQcmV0dHlMaW5rKCdjbnRudDAxJywnZGVmYXVsdCcsJHN1bW1hcnlwYWdlLCcnLCRwYXJtcywnJyx0cnVlKTsKCgkgIGlmKCBpc3NldCgkcmVjWydjaGlsZHJlbiddKSApIHsKCSAgICBwcm9kdWN0c19ieWhpZXJhcmNoeV9wb3N0cHJvY2VzcygkcmVjWydjaGlsZHJlbiddLCRwYXJhbXMsJHN1bW1hcnlwYWdlLCRoaWVycGFnZSk7CgkgIH0KCX0KICAgICAgfQogICAgfQogIH0KCgokbm9kZXMgPSBhcnJheSgpOwokcGFyZW50cyA9IGFycmF5KC0xKTsKaWYoIGlzc2V0KCRwYXJhbXNbJ3BhcmVudCddICkgKSB7CiAgJHBhcmVudHMgPSBhcnJheSgoaW50KSRwYXJhbXNbJ3BhcmVudCddKTsKICB1bnNldCgkcGFyYW1zWydwYXJlbnQnXSk7CiB9CmVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ3BhcmVudHMnXSkgKSB7CiAgJHRtcCA9IGV4cGxvZGUoJywnLCRwYXJhbXNbJ3BhcmVudHMnXSk7CiAgJHRtcDIgPSBhcnJheSgpOwogICRhbGxfaGllcmFyY2h5ID0gaGllcmFyY2h5X29wczo6Z2V0X2FsbF9oaWVyYXJjaHlfaW5mbygpOwogIGlmKCAhaXNfYXJyYXkoJGFsbF9oaWVyYXJjaHkpIHx8IGNvdW50KCRhbGxfaGllcmFyY2h5KSA9PSAwICkgcmV0dXJuOyAvLyBub3RoaW5nIHRvIGRvLgogIGZvcmVhY2goICR0bXAgYXMgJG9uZSApIHsKICAgICRvbmUgPSB0cmltKCRvbmUpOwogICAgZm9yZWFjaCggJGFsbF9oaWVyYXJjaHkgYXMgJG9uZWhpZXIgKSB7CiAgICAgIGlmKCBpc19udW1lcmljKCRvbmUpICYmICRvbmVoaWVyWydpZCddID09ICRvbmUgKSB7CgkkdG1wMltdID0gJG9uZTsKCWJyZWFrOwogICAgICB9CiAgICAgIGVsc2UgaWYoICRvbmVoaWVyWyduYW1lJ10gPT0gJG9uZSApIHsKCSR0bXAyW10gPSAkb25laGllclsnaWQnXTsKCWJyZWFrOwogICAgICB9CiAgICB9CiAgfQogICR0bXAyID0gYXJyYXlfdW5pcXVlKCR0bXAyKTsKICBpZiggIWlzX2FycmF5KCR0bXAyKSB8fCBjb3VudCgkdG1wMikgPT0gMCApIHJldHVybjsgLy8gbm90aGluZyB0byBkaXNwbGF5LgogICRwYXJlbnRzID0gJHRtcDI7CiAgdW5zZXQoJHBhcmFtc1sncGFyZW50cyddKTsKfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydoaWVyYXJjaHknXSkgKSB7CiAgJHRtcCA9IGV4cGxvZGUoJywnLCRwYXJhbXNbJ2hpZXJhcmNoeSddKTsKICAkdG1wMiA9IGFycmF5KCk7CiAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewogICAgJHRtcDJbXSA9ICInIi50cmltKCRvbmUpLiInIjsKICB9CiAgJHRtcDIgPSBpbXBsb2RlKCcsJywkdG1wMik7CiAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5CiAgICAgICAgICAgICAgIFdIRVJFIG5hbWUgSU4gKCcuJHRtcDIuJyknOwogICRub2RlcyA9ICRkYi0+R2V0Q29sKCRxdWVyeSk7CiAgJG5vZGVzID0gYXJyYXlfdW5pcXVlKCRub2Rlcyk7CiAgdW5zZXQoJHBhcmFtc1snaGllcmFyY2h5J10pOwp9CgppZiggIWNvdW50KCRwYXJlbnRzKSApIHsKICAvLyBub3RoaW5nIGZvdW5kIHRvIHN0YXJ0IHdpdGgKICByZXR1cm47CiB9CgokZGF0YSA9IGFycmF5KCk7CmlmKCBjb3VudCgkbm9kZXMpICkgewogIC8vIHRoaXMgd2lsbCBvbmx5IGRpc3BsYXkgdGhlIHNlbGVjdGVkIGhpZXJhcmNoaWVzIChub3QgaW5jbHVkaW5nIHRoZWlyIGNoaWxkcmVuKSB0aGF0IGhhdmUgcHJvZHVjdHMuCiAgJG5vZGVzID0gaW1wbG9kZSgnLCcsJG5vZGVzKTsKICAkcXVlcnkgPSAnU0VMRUNUIHBoLiosY291bnQocHIuaWQpIEFTIGNvdW50IEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkgcGgKICAgICAgICAgICAgICBMRUZUIE9VVEVSIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyIHB0aAogICAgICAgICAgICAgICAgT04gcGguaWQgPSBwdGguaGllcmFyY2h5X2lkCiAgICAgICAgICAgICAgTEVGVCBPVVRFUiBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMgcHIKICAgICAgICAgICAgICAgIE9OIHB0aC5wcm9kdWN0X2lkID0gcHIuaWQKICAgICAgICAgICAgIFdIRVJFIHByLnN0YXR1cyA9IFwncHVibGlzaGVkXCcKICAgICAgICAgICAgICAgQU5EIHBoLmlkIElOICgnLiRub2Rlcy4nKQogICAgICAgICAgICAgR1JPVVAgQlkgcGguaWQgT1JERVIgQlkgcGguaGllcmFyY2h5JzsKICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogIHByb2R1Y3RzX2J5aGllcmFyY2h5X3Bvc3Rwcm9jZXNzKCR0bXAsJHBhcmFtcywkc3VtbWFyeXBhZ2UsJGhpZXJwYWdlKTsKICAkZGF0YSA9ICR0bXA7Cn0KZWxzZSB7CiAgZm9yZWFjaCggJHBhcmVudHMgYXMgJHBhcmVudF9pZCApIHsKICAgIGlmKCAhJHBhcmVudF9pZCApIGNvbnRpbnVlOwoKICAgICR0bXAgPSBwcm9kdWN0X3V0aWxzOjpoaWVyYXJjaHlfZ2V0X3RyZWUoJHBhcmVudF9pZCk7CiAgICBpZiggaXNfYXJyYXkoJHRtcCkgJiYgY291bnQoJHRtcCkgKSB7CiAgICAgIHByb2R1Y3RzX2J5aGllcmFyY2h5X3Bvc3Rwcm9jZXNzKCR0bXAsJHBhcmFtcywkc3VtbWFyeXBhZ2UsJGhpZXJwYWdlKTsKICAgICAgZm9yZWFjaCggJHRtcCBhcyAkdG1wMiApIHsKCSRkYXRhW10gPSAkdG1wMjsKICAgICAgfQogICAgfQogIH0KfQoKJGhpZXJkYXRhID0gJyc7CiRzbWFydHktPmFzc2lnbignaGllcmRhdGEnLCRkYXRhKTsKaWYoIGNvdW50KCRwYXJlbnRzKSA9PSAxICkgewogICRoaWVyZGF0YSA9IGhpZXJhcmNoeV9vcHM6OmdldF9oaWVyYXJjaHlfaW5mbygkcGFyZW50c1swXVsnaWQnXSk7CiAgaWYoICRoaWVyZGF0YSApIHsKICAgICRoaWVyZGF0YVsnY2Fub25pY2FsJ10gPSAkdGhpcy0+Q3JlYXRlUHJldHR5TGluaygkaWQsJ2hpZXJhcmNoeScsJHJldHVybmlkLCcnLGFycmF5KCdwYXJlbnQnPT4kcGFyZW50c1swXVsnaWQnXSksJycsdHJ1ZSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2hpZXJhcmNoeV9pdGVtJywkaGllcmRhdGEpOwogIH0KfQokc21hcnR5LT5hc3NpZ24oJ2hpZXJhcmNoeV9pbWFnZV9sb2NhdGlvbicsJGNvbmZpZ1sndXBsb2Fkc191cmwnXS4nLycuJHRoaXMtPkdldE5hbWUoKS4nL2hpZXJhcmNoeScpOwoKLy8KLy8gdGVtcGxhdGUKLy8KJHRoZXRlbXBsYXRlID0gJ2J5aGllcmFyY2h5XycuJHRoaXMtPkdldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUQllISUVSQVJDSFlfVEVNUExBVEUpOwppZiggaXNzZXQoJHBhcmFtc1snaGllcmFyY2h5dGVtcGxhdGUnXSApICkgewogICR0aGV0ZW1wbGF0ZSA9ICdieWhpZXJhcmNoeV8nLiRwYXJhbXNbJ2hpZXJhcmNoeXRlbXBsYXRlJ107Cn0KZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0aGV0ZW1wbGF0ZSk7CiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.importcsv.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDEyIGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDUgYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQojIFRoaXMgcHJvamVjdCdzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIwojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKIyBIb3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQKIyBhcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUKIyBpbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCiMgTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIAojIHNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuCiMKIyBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKIyBGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojRU5EX0xJQ0VOU0UKaWYoICFpc3NldCgkZ0NtcykgKSBleGl0OwoKJGdvID0gMDsKaWYoIGlzc2V0KCRwYXJhbXNbJ2dvJ10pICkgJGdvID0gMTsKCmlmKCAhaXNzZXQoJF9TRVNTSU9OWydwcm9kdWN0c19pbXBvcnRfZGF0YSddKSApIGRpZSgpOwokcGFyYW1zID0gJF9TRVNTSU9OWydwcm9kdWN0c19pbXBvcnRfZGF0YSddOwoKZnVuY3Rpb24gcHJvZ3Jlc3MoJHBjdCkgewogIGVjaG8gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5wYXJlbnQucHJvZ3Jlc3MoJy4kcGN0LicpOzwvc2NyaXB0Pic7Cn0KZnVuY3Rpb24gZG9fZXJyb3IoJHN0cikgewogIGVjaG8gJzxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij5wYXJlbnQub25FcnJvcihcJycuJHN0ci4nXCcpOzwvc2NyaXB0Pic7Cn0KZnVuY3Rpb24gZG9uZSgpIHsKICBlY2hvICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+cGFyZW50LmRvbmUoKTs8L3NjcmlwdD4nOwp9CgovLyBzZXR1cCBkaXNwbGF5CmlmKCAkZ28gPT0gMSApIHsKICAkc21hcnR5LT5hc3NpZ24oJ3Byb2Nlc3N1cmwnLCR0aGlzLT5jcmVhdGVfdXJsKCRpZCwnaW1wb3J0Y3N2JywkcmV0dXJuaWQsCgkJCQkJCSBhcnJheSgnc2hvd3RlbXBsYXRlJz0+J2ZhbHNlJykpKTsKICAkdXJsID0gJHRoaXMtPmNyZWF0ZV91cmwoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCk7CiAgJHNtYXJ0eS0+YXNzaWduKCdkb25ldXJsJyxzdHJfcmVwbGFjZSgnJmFtcDsnLCcmJywkdXJsKSk7CiAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdpbXBvcnRjc3YudHBsJyk7CiAgcmV0dXJuOwp9CgpzZXRfdGltZV9saW1pdCgwKTsgICAgICAgICAgICAgICAgICAgLy8gaWdub3JlIHBocCB0aW1lb3V0Cmlnbm9yZV91c2VyX2Fib3J0KHRydWUpOyAgICAgICAgICAgICAvLyBrZWVwIG9uIGdvaW5nIGV2ZW4gaWYgdXNlciBwdWxscyB0aGUgcGx1ZyoKd2hpbGUob2JfZ2V0X2xldmVsKCkpb2JfZW5kX2NsZWFuKCk7IC8vIHJlbW92ZSBvdXRwdXQgYnVmZmVycwpvYl9pbXBsaWNpdF9mbHVzaCh0cnVlKTsgICAgICAgICAgICAgLy8gb3V0cHV0IHN0dWZmIGRpcmVjdGx5CgoKLy8gYmVnaW4gd29yawplY2hvICc8IURPQ1RZUEUgaHRtbD48aHRtbD48aGVhZD48L2hlYWQ+PGJvZHk+JzsgLy8gd2Via2l0IGhvdGZpeAoKJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKJGZuID0gJGNvbmZpZ1sncm9vdF9wYXRoJ10uJy90bXAvY2FjaGUvJy4kcGFyYW1zWydmaWxlbmFtZSddOwokZmggPSBmb3BlbigkZm4sJ3InKTsKaWYoICEkZmggKQogIHsKICAgIGVycm9yKCR0aGlzLT5MYW5nKCdlcnJvcl9maWxlb3BlbicpKTsKICAgIHJldHVybjsKICB9CiRmaWxlc2l6ZSA9IGZpbGVzaXplKCRmbik7CgokaW1hZ2VIYW5kbGVyID0gbmV3IGltcG9ydEltYWdlSGFuZGxlcigkdGhpcyk7CiRpbWFnZUhhbmRsZXItPnNldFNvdXJjZUxvY2F0aW9uKGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJHBhcmFtc1snaW1hZ2VwYXRoJ10pKTsKJGltYWdlSGFuZGxlci0+c2V0RGVzdGluYXRpb25CYXNlKGNtc19qb2luX3BhdGgoJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJHRoaXMtPkdldE5hbWUoKSkpOwokaW1hZ2VIYW5kbGVyLT5zZXRVbmlxdWVOYW1lcygpOwoKJGltcG9ydGVyID0gbmV3IHByb2R1Y3RzQ3N2SW1wb3J0ZXIoJHRoaXMpOwokaW1wb3J0ZXItPnNldEltYWdlSGFuZGxlcigkaW1hZ2VIYW5kbGVyKTsKJGltcG9ydGVyLT5zZXREZWxpbSgkcGFyYW1zWydkZWxpbWl0ZXInXSk7CiRpbXBvcnRlci0+c2V0UG9saWN5VmFsdWUoJ2NyZWF0ZV9maWVsZHMnLChpbnQpJHBhcmFtc1snY3JlYXRlZmllbGRzJ10pOwokaW1wb3J0ZXItPnNldFBvbGljeVZhbHVlKCdoYW5kbGVfaW1hZ2VzJywoaW50KSRwYXJhbXNbJ2hhbmRsZWltYWdlcyddKTsKJGltcG9ydGVyLT5zZXRQb2xpY3lWYWx1ZSgnY3JlYXRlX2hpZXJhcmNoeScsKGludCkkcGFyYW1zWydjcmVhdGVoaWVyYXJjaHknXSk7CiRpbXBvcnRlci0+c2V0UG9saWN5VmFsdWUoJ2NyZWF0ZV9jYXRlZ29yaWVzJywoaW50KSRwYXJhbXNbJ2NyZWF0ZWNhdGVnb3JpZXMnXSk7CiRpbXBvcnRlci0+c2V0UG9saWN5VmFsdWUoJ2ltYWdlX3NvdXJjZV9sb2NhdGlvbicsJHBhcmFtc1snaW1hZ2VwYXRoJ10pOwokaW1wb3J0ZXItPnNldFBvbGljeVZhbHVlKCdvbl9kdXBsaWNhdGVfcHJvZHVjdCcsdHJpbSgkcGFyYW1zWydkdXBsaWNhdGVwcm9kdWN0cyddKSk7CiRpbXBvcnRlci0+c2V0UG9saWN5VmFsdWUoJ2NsZWFyZmllbGRzJywoaW50KSRwYXJhbXNbJ2NsZWFyZmllbGRzJ10pOwokaW1wb3J0ZXItPnNldFBvbGljeVZhbHVlKCdjbGVhcmF0dHJpYnMnLChpbnQpJHBhcmFtc1snY2xlYXJhdHRyaWJzJ10pOwokaW1wb3J0ZXItPnNldFBvbGljeVZhbHVlKCdjbGVhcmNhdGVnb3JpZXMnLChpbnQpJHBhcmFtc1snY2xlYXJjYXRlZ29yaWVzJ10pOwoKd2hpbGUoICFmZW9mKCRmaCkgKQogIHsKICAgICRsaW5lID0gJGltcG9ydGVyLT5nZXRfdW5wYXJzZWRfcmVjb3JkKCRmaCk7CiAgICAkbGluZSA9IHRyaW0oJGxpbmUpOwogICAgJHBvcyA9IGZ0ZWxsKCRmaCk7CiAgICBpZiggZW1wdHkoJGxpbmUpICkgY29udGludWU7CgogICAgJHBjdCA9IChpbnQpKCRwb3MgLyAkZmlsZXNpemUgKiAxMDAuMCk7CiAgICBwcm9ncmVzcygkcGN0KTsKCiAgICAkcmVzID0gJGltcG9ydGVyLT5oYW5kbGVMaW5lKCRsaW5lKTsKICAgIGlmKCAhJHJlcyApIHsKICAgICAgJGVycm9ycyA9ICRpbXBvcnRlci0+Z2V0RXJyb3JzKCk7CiAgICAgICRpbXBvcnRlci0+Y2xlYXJFcnJvcnMoKTsKICAgICAgaWYoIGlzX2FycmF5KCRlcnJvcnMpICYmIGNvdW50KCRlcnJvcnMpICkgewoJZm9yZWFjaCggJGVycm9ycyBhcyAkb25lICkgewoJICBkb19lcnJvcigkb25lKTsKCX0KICAgICAgfQogICAgfQogIH0KCi8vIHdvb3QsIHdlJ3JlIGRvbmUKZmNsb3NlKCRmaCk7CmRvbmUoKTsKZXhpdCgpOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.importproducts.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ3Byb2R1Y3RzJyk7CmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJykgKQogIHsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfcGVybWlzc2lvbmRlbmllZCcpKTsKICAgICR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CiAgICByZXR1cm47CiAgfQoKIwojIEluaXRpYWxpemF0aW9uCiMKJGZsYWdfY3JlYXRlZmllbGRzID0gMDsKJGZsYWdfaGFuZGxlaW1hZ2VzID0gMDsKJGltYWdlcGF0aCA9ICcnOwokZmxhZ19jcmVhdGVoaWVyYXJjaHkgPSAwOwokZmxhZ19jcmVhdGVjYXRlZ29yaWVzID0gMDsKJGZsYWdfZHVwbGljYXRlcHJvZHVjdHMgPSAnc2tpcCc7CiRkZWxlbWV0ZXIgPSAnfCc7CiRiYXRjaHNpemUgPSA1MDsKCiMKIyBTZXR1cAojCiRmbGFnX2NyZWF0ZWZpZWxkcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbXBvcnRfY3JlYXRlZmllbGRzJywxKTsKJGZsYWdfaGFuZGxlaW1hZ2VzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltcG9ydF9oYW5kbGVpbWFnZXMnLDApOwokaW1hZ2VwYXRoID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltcG9ydF9pbWFnZXBhdGgnLCcnKTsKJGZsYWdfY3JlYXRlaGllcmFyY2h5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltcG9ydF9jcmVhdGVoaWVyYXJjaHknLDEpOwokZmxhZ19jcmVhdGVjYXRlZ29yaWVzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltcG9ydF9jcmVhdGVjYXRlZ29yaWVzJywxKTsKJGZsYWdfZHVwbGljYXRlcHJvZHVjdHMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1wb3J0X2R1cGxpY2F0ZXByb2R1Y3RzJywnb3ZlcndyaXRlJyk7CiRkZWxpbWl0ZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1wb3J0X2RlbGltaXRlcicsJ3wnKTsKJGJhdGNoc2l6ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbXBvcnRfYmF0Y2hzaXplJyw1MCk7CiRjbGVhcmZpZWxkcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbXBvcnRfY2xlYXJmaWVsZHMnLDEpOwokY2xlYXJhdHRyaWJzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltcG9ydF9jbGVhcmF0dHJpYnMnLDEpOwokY2xlYXJjYXRlZ29yaWVzID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltcG9ydF9jbGVhcmNhdGVnb3JpZXMnLDEpOwoKIwojIEhhbmRsZSBGb3JtIERhdGEKIwppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkKICB7CiAgICAkdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwogIH0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1sndGVzdCddKSApCiAgewogICAgLy8gZ2V0IHRoZSBmb3JtIGRhdGEKICAgICRmbGFnX2NyZWF0ZWZpZWxkcyA9IChpbnQpJHBhcmFtc1snY3JlYXRlZmllbGRzJ107CiAgICAkZmxhZ19oYW5kbGVpbWFnZXMgPSAoaW50KSRwYXJhbXNbJ2hhbmRsZWltYWdlcyddOwogICAgJGltYWdlcGF0aCA9IHRyaW0oJHBhcmFtc1snaW1hZ2VwYXRoJ10pOwogICAgJGZsYWdfY3JlYXRlaGllcmFyY2h5ID0gKGludCkkcGFyYW1zWydjcmVhdGVoaWVyYXJjaHknXTsKICAgICRmbGFnX2NyZWF0ZWNhdGVnb3JpZXMgPSAoaW50KSRwYXJhbXNbJ2NyZWF0ZWNhdGVnb3JpZXMnXTsKICAgICRmbGFnX2R1cGxpY2F0ZXByb2R1Y3RzID0gJHBhcmFtc1snZHVwbGljYXRlcHJvZHVjdHMnXTsKICAgICRkZWxpbWl0ZXIgPSAkcGFyYW1zWydkZWxpbWl0ZXInXTsKICAgICRiYXRjaHNpemUgPSAoaW50KSRwYXJhbXNbJ2JhdGNoc2l6ZSddOwogICAgJGNsZWFyZmllbGRzID0gKGludCkkcGFyYW1zWydjbGVhcmZpZWxkcyddOwogICAgJGNsZWFyYXR0cmlicyA9IChpbnQpJHBhcmFtc1snY2xlYXJhdHRyaWJzJ107CiAgICAkY2xlYXJjYXRlZ29yaWVzID0gKGludCkkcGFyYW1zWydjbGVhcmNhdGVnb3JpZXMnXTsKCiAgICAvLyB2YWxpZGF0ZSB0aGUgZm9ybSBkYXRhCiAgICAkZXJyb3IgPSAnJzsKICAgICRtZXNzYWdlcyA9IGFycmF5KCk7CiAgICAkaW1wb3J0X2Vycm9ycyA9IGFycmF5KCk7CiAgICAkY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwogICAgJHVoID0gbmV3IGNnX2ZpbGV1cGxvYWQoJGlkLCRjb25maWdbJ3Jvb3RfcGF0aCddLicvdG1wL2NhY2hlJyk7CiAgICAkdWgtPnNldF9hY2NlcHRlZF9maWxldHlwZXMoJ2NzdicpOwogICAgJHVoLT5zZXRfYWxsb3dfb3ZlcndyaXRlKCk7CiAgICAkcmVzID0gJHVoLT5oYW5kbGVfdXBsb2FkKCdjc3ZmaWxlJywncHJvZHVjdHMnKTsKICAgIGlmKCAkcmVzID09PSBmYWxzZSApIHsKICAgICAgJHRtcCA9ICR1aC0+Z2V0X2Vycm9yKCk7CiAgICAgICRlcnJvciA9ICR0aGlzLT5HZXRVcGxvYWRFcnJvck1lc3NhZ2UoJHRtcCk7CiAgICB9CgogICAgaWYoIGVtcHR5KCRlcnJvcikgKSB7CiAgICAgIC8vIHJlYWR5IHRvIGRvIHNvbWUgdGVzdGluZyBvbiB0aGUgY3N2IGZpbGUuCiAgICAgICRmbiA9ICRjb25maWdbJ3Jvb3RfcGF0aCddLicvdG1wL2NhY2hlL3Byb2R1Y3RzLmNzdic7CiAgICAgICR0aGVfZmlsZXNpemUgPSBmaWxlc2l6ZSgkZm4pOwogICAgICAkZmggPSBmb3BlbigkZm4sJ3InKTsKICAgICAgaWYoICEkZmggKSB7CgkkZXJyb3IgPSAkdGhpcy0+TGFuZygnZXJyb3JfZmlsZW9wZW4nLCRmbik7CiAgICAgIH0KICAgICAgJGxpbmVudW0gPSAwOwogICAgICAkaW1wb3J0ZXIgPSBuZXcgcHJvZHVjdHNDc3ZJbXBvcnRlcigkdGhpcyk7CiAgICAgICRpbXBvcnRlci0+c2V0RGVsaW0oJGRlbGltaXRlcik7CiAgICAgIHdoaWxlKCAhZmVvZigkZmgpICYmICRsaW5lbnVtIDwgMjAgKSB7CgkkbGluZSA9ICRpbXBvcnRlci0+Z2V0X3VucGFyc2VkX3JlY29yZCgkZmgpOwoJJGxpbmUgPSB0cmltKCRsaW5lKTsKCSRsaW5lbnVtKys7CgkkdG1wID0gYXJyYXkoKTsKCQoJaWYoIGVtcHR5KCRsaW5lKSApIGNvbnRpbnVlOwoJCgkkcmVzID0gJGltcG9ydGVyLT50ZXN0TGluZSgkbGluZSwkdG1wKTsKCWlmKCAkcmVzID09PSBGQUxTRSApIHsKCSAgJGVycm9yID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ZpbGVmb3JtYXQnKTsKCX0KCSRtZXNzYWdlcyA9IGFycmF5X21lcmdlKCRtZXNzYWdlcywkdG1wKTsKICAgICAgfQoKICAgICAgaWYoICFlbXB0eSgkZXJyb3IpICkgewoJJGltcG9ydF9lcnJvcnMgPSAkaW1wb3J0ZXItPmdldEVycm9ycygpOwogICAgICB9CiAgICB9CgogICAgaWYoIGVtcHR5KCRlcnJvcikgKSB7CiAgICAgIC8vIHNhdmUgdGhlIHByZWZlcmVuY2VzCiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfY3JlYXRlZmllbGRzJywkZmxhZ19jcmVhdGVmaWVsZHMpOwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1wb3J0X2hhbmRsZWltYWdlcycsJGZsYWdfaGFuZGxlaW1hZ2VzKTsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltcG9ydF9pbWFnZXBhdGgnLCRpbWFnZXBhdGgpOwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1wb3J0X2NyZWF0ZWhpZXJhcmNoeScsJGZsYWdfY3JlYXRlaGllcmFyY2h5KTsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltcG9ydF9jcmVhdGVjYXRlZ29yaWVzJywkZmxhZ19jcmVhdGVjYXRlZ29yaWVzKTsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltcG9ydF9kdXBsaWNhdGVwcm9kdWN0cycsJGZsYWdfZHVwbGljYXRlcHJvZHVjdHMpOwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1wb3J0X2RlbGltaXRlcicsJGRlbGltaXRlcik7CiAgICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbXBvcnRfYmF0Y2hzaXplJywkYmF0Y2hzaXplKTsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltcG9ydF9jbGVhcmZpZWxkcycsJGNsZWFyZmllbGRzKTsKICAgICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltcG9ydF9jbGVhcmF0dHJpYnMnLCRjbGVhcmF0dHJpYnMpOwogICAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1wb3J0X2NsZWFyY2F0ZWdvcmllcycsJGNsZWFyY2F0ZWdvcmllcyk7CgogICAgICAvLyBzYXZlIHBhcmFtZXRlcnMgaW4gc2Vzc2lvbgogICAgICAkcGFyYW1zWydmaWxlbmFtZSddID0gJ3Byb2R1Y3RzLmNzdic7CiAgICAgICRfU0VTU0lPTlsncHJvZHVjdHNfaW1wb3J0X2RhdGEnXSA9ICRwYXJhbXM7CiAgICAgIAogICAgICAvLyBHZXQgcmVhZHkgZm9yIHRoZSBnbyBhY3Rpb24KICAgICAgJHNtYXJ0eS0+YXNzaWduKCdjc3ZmaWxlJywkcGFyYW1zWydmaWxlbmFtZSddKTsKICAgICAgaWYoIGNvdW50KCRtZXNzYWdlcykgPiAwICkgewoJJHNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlcycsJG1lc3NhZ2VzKTsKICAgICAgfQogICAgICBlY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygnaW5mb19pbXBvcnRfdGVzdF9wYXNzZWQnKSk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgJHNtYXJ0eS0+YXNzaWduKCdlcnJvcnMnLCRpbXBvcnRfZXJyb3JzKTsKICAgICAgZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkZXJyb3IpOwogICAgfQogIH0KZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snZ28nXSkgKQogIHsKICAgICR0aGlzLT5SZWRpcmVjdCgkaWQsJ2ltcG9ydGNzdicsJHJldHVybmlkLCRwYXJhbXMpOwogICAgJGNnZSA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ0dFeHRlbnNpb25zJyk7CiAgICAkZm4gPSAkY2dlLT5HZXRNb2R1bGVQYXRoKCkuJy9saWIvUHJvZ3Jlc3MyX0xpdGUucGhwJzsKICAgIGluY2x1ZGUoJGZuKTsKCiAgICBpZiggIWlzc2V0KCRfU0VTU0lPTlsncHJvZHVjdHNfaW1wb3J0X2RhdGEnXSkgKSBkaWUoKTsKICAgICRwYXJhbXMgPSAkX1NFU1NJT05bJ3Byb2R1Y3RzX2ltcG9ydF9kYXRhJ107CiAgICAkYmF0Y2hzaXplID0gNTA7CiAgICAkY2xlYXJmaWVsZHMgPSAxOwogICAgJGNsZWFyYXR0cmlicyA9IDE7CiAgICAkY2xlYXJjYXRlZ29yaWVzID0gMTsKICAgICRsaW5lbnVtID0gMDsKICAgICRmcG9zID0gMDsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydiYXRjaHNpemUnXSkgKQogICAgICB7CgkkYmF0Y2hzaXplID0gKGludCkkcGFyYW1zWydiYXRjaHNpemUnXTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2xpbmVudW0nXSkgKQogICAgICB7CgkkbGluZW51bSA9IChpbnQpJHBhcmFtc1snbGluZW51bSddOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snZnBvcyddKSApCiAgICAgIHsKCSRmcG9zID0gKGludCkkcGFyYW1zWydmcG9zJ107CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydjbGVhcmZpZWxkcyddKSApCiAgICAgIHsKCSRjbGVhcmZpZWxkcyA9IChpbnQpJHBhcmFtc1snY2xlYXJmaWVsZHMnXTsKICAgICAgfQogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2NsZWFyYXR0cmlicyddKSApCiAgICAgIHsKCSRjbGVhcmF0dHJpYnMgPSAoaW50KSRwYXJhbXNbJ2NsZWFyYXR0cmlicyddOwogICAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snY2xlYXJjYXRlZ29yaWVzJ10pICkKICAgICAgewoJJGNsZWFyY2F0ZWdvcmllcyA9IChpbnQpJHBhcmFtc1snY2xlYXJjYXRlZ29yaWVzJ107CiAgICAgIH0KCiAgICAkY29uZmlnID0gJGdDbXMtPkdldENvbmZpZygpOwogICAgJGZuID0gJGNvbmZpZ1sncm9vdF9wYXRoJ10uJy90bXAvY2FjaGUvJy4kcGFyYW1zWydmaWxlbmFtZSddOwogICAgJHRoZV9maWxlc2l6ZSA9IGZpbGVzaXplKCRmbik7CiAgICAkZmggPSBmb3BlbigkZm4sJ3InKTsKICAgIGlmKCAhJGZoICkKICAgICAgewoJZWNobyAkdGhpcy0+TGFuZygnZXJyb3JfZmlsZW9wZW4nKTsKCXJldHVybjsKICAgICAgfQogICAgCiAgICAkaW1hZ2VIYW5kbGVyID0gbmV3IGltcG9ydEltYWdlSGFuZGxlcigkdGhpcyk7CiAgICAkaW1hZ2VIYW5kbGVyLT5zZXRTb3VyY2VMb2NhdGlvbihjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCRwYXJhbXNbJ2ltYWdlcGF0aCddKSk7CiAgICAkaW1hZ2VIYW5kbGVyLT5zZXREZXN0aW5hdGlvbkJhc2UoY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkdGhpcy0+R2V0TmFtZSgpKSk7CiAgICAkaW1hZ2VIYW5kbGVyLT5zZXRVbmlxdWVOYW1lcygpOwoKICAgICRpbXBvcnRlciA9IG5ldyBwcm9kdWN0c0NzdkltcG9ydGVyKCR0aGlzKTsKICAgICRpbXBvcnRlci0+c2V0SW1hZ2VIYW5kbGVyKCRpbWFnZUhhbmRsZXIpOwogICAgJGltcG9ydGVyLT5zZXREZWxpbSgkcGFyYW1zWydkZWxpbWl0ZXInXSk7CiAgICAkaW1wb3J0ZXItPnNldFBvbGljeVZhbHVlKCdjcmVhdGVfZmllbGRzJywoaW50KSRwYXJhbXNbJ2NyZWF0ZWZpZWxkcyddKTsKICAgICRpbXBvcnRlci0+c2V0UG9saWN5VmFsdWUoJ2hhbmRsZV9pbWFnZXMnLChpbnQpJHBhcmFtc1snaGFuZGxlaW1hZ2VzJ10pOwogICAgJGltcG9ydGVyLT5zZXRQb2xpY3lWYWx1ZSgnY3JlYXRlX2hpZXJhcmNoeScsKGludCkkcGFyYW1zWydjcmVhdGVoaWVyYXJjaHknXSk7CiAgICAkaW1wb3J0ZXItPnNldFBvbGljeVZhbHVlKCdjcmVhdGVfY2F0ZWdvcmllcycsKGludCkkcGFyYW1zWydjcmVhdGVjYXRlZ29yaWVzJ10pOwogICAgJGltcG9ydGVyLT5zZXRQb2xpY3lWYWx1ZSgnaW1hZ2Vfc291cmNlX2xvY2F0aW9uJywkcGFyYW1zWydpbWFnZXBhdGgnXSk7CiAgICAkaW1wb3J0ZXItPnNldFBvbGljeVZhbHVlKCdza2lwX2V4aXN0aW5nX3Byb2R1Y3RzJywkcGFyYW1zWydkdXBsaWNhdGVwcm9kdWN0cyddID09ICdza2lwJyk7CgogICAgJGJhdGNobGluZXMgPSAwOwogICAgaWYoICRmcG9zID4gMCApCiAgICAgIHsKCS8vIHByb2Nlc3MgdGhlIGZpcnN0IGxpbmUgYWdhaW4uCgkkbGluZSA9ICRpbXBvcnRlci0+Z2V0X3VucGFyc2VkX3JlY29yZCgkZmgpOwoJJGxpbmUgPSB0cmltKCRsaW5lKTsKCWlmKCBlbXB0eSgkbGluZSkgKSBjb250aW51ZTsKCSRyZXMgPSAkaW1wb3J0ZXItPmhhbmRsZUxpbmUoJGxpbmUpOwoKCS8vIHNlZWsgdG8gb3VyIG9sZCBwb3NpdGlvbi4KCWZzZWVrKCRmaCwkZnBvcyk7CiAgICAgIH0KICAgIHdoaWxlKCAhZmVvZigkZmgpICYmICRiYXRjaGxpbmVzIDwgJGJhdGNoc2l6ZSApCiAgICAgIHsKCSRsaW5lID0gJGltcG9ydGVyLT5nZXRfdW5wYXJzZWRfcmVjb3JkKCRmaCk7CgkkbGluZSA9IHRyaW0oJGxpbmUpOwoJJGxpbmVudW0rKzsKCSRiYXRjaGxpbmVzKys7CgkkcG9zID0gZnRlbGwoJGZoKTsKCSRzbWFydHktPmFzc2lnbigncHJvZ3Jlc3MnLChpbnQpKCRwb3MgLyAkdGhlX2ZpbGVzaXplICogMTAwLjApKTsKCWlmKCBlbXB0eSgkbGluZSkgKSBjb250aW51ZTsKCgkkcmVzID0gJGltcG9ydGVyLT5oYW5kbGVMaW5lKCRsaW5lKTsKICAgICAgfQogICAgaWYoICFmZW9mKCRmaCkgKQogICAgICB7CgkvLyByZWFkeSBmb3IgdGhlIG5leHQgYmF0Y2gKCgkvLyBzYXZlIGFueSBlcnJvcnMKCSRlcnJvcnMgPSAkaW1wb3J0ZXItPmdldF9lcnJvcnMoKTsKCWlmKCBpc19hcnJheSgkZXJyb3JzKSAmJiBjb3VudCgkZXJyb3JzKSApIHsKCSAgaWYoICFpc3NldCgkX1NFU1NJT05bJ3Byb2R1Y3RzX2ltcG9ydF9kYXRhJ11bJ2Vycm9ycyddKSApIHsKCSAgICAkX1NFU1NJT05bJ3Byb2R1Y3RzX2ltcG9ydF9kYXRhJ11bJ2Vycm9ycyddID0gYXJyYXkoKTsKCSAgfQoJICAkX1NFU1NJT05bJ3Byb2R1Y3RzX2ltcG9ydF9kYXRhJ11bJ2Vycm9ycyddID0gIGFycmF5X21lcmdlKCRfU0VTU0lPTlsncHJvZHVjdHNfaW1wb3J0X2RhdGEnXVsnZXJyb3JzJ10sJGVycm9ycyk7Cgl9CgoJLy8gc2F2ZSBvdXIgcG9zaXRpb24KCSRwb3MgPSBmdGVsbCgkZmgpOwoJZmNsb3NlKCRmaCk7CgkkX1NFU1NJT05bJ3Byb2R1Y3RzX2ltcG9ydF9kYXRhJ11bJ2Zwb3MnXSA9ICRwb3M7CgkkX1NFU1NJT05bJ3Byb2R1Y3RzX2ltcG9ydF9kYXRhJ11bJ2xpbmVudW0nXSA9ICRsaW5lbnVtOwoKCSRwYXJtcyA9IGFycmF5KCdnbyc9PjEpOwoJJHRoaXMtPlJlZGlyZWN0KCRpZCwnaW1wb3J0cHJvZHVjdHMnLCRyZXR1cm5pZCwkcGFybXMpOwogICAgICB9CiAgICAvLyB3ZSdyZSBkb25lLgogICAgZmNsb3NlKCRmaCk7CiAgICAkZXJyb3JzID0gJGltcG9ydGVyLT5nZXRFcnJvcnMoKTsKICAgIGlmKCBpc19hcnJheSgkZXJyb3JzKSApIHsKICAgICAgJF9TRVNTSU9OWydwcm9kdWN0c19pbXBvcnRfZGF0YSddWydlcnJvcnMnXSA9ICBhcnJheV9tZXJnZSgkX1NFU1NJT05bJ3Byb2R1Y3RzX2ltcG9ydF9kYXRhJ11bJ2Vycm9ycyddLCRlcnJvcnMpOwogICAgfQogICAgJHNtYXJ0eS0+YXNzaWduKCdlcnJvcnMnLCRfU0VTU0lPTlsncHJvZHVjdHNfaW1wb3J0X2RhdGEnXVsnZXJyb3JzJ10pOwogICAgdW5zZXQoJF9TRVNTSU9OWydwcm9kdWN0c19pbXBvcnRfZGF0YSddWydlcnJvcnMnXSk7CiAgfQoKIwojIEdpdmUgRXZlcnl0aGluZyB0byBTbWFydHkKIwokc21hcnR5LT5hc3NpZ24oJ2ZsYWdfY3JlYXRlZmllbGRzJywkZmxhZ19jcmVhdGVmaWVsZHMpOwokc21hcnR5LT5hc3NpZ24oJ2ZsYWdfaGFuZGxlaW1hZ2VzJywkZmxhZ19oYW5kbGVpbWFnZXMpOwokc21hcnR5LT5hc3NpZ24oJ2ltYWdlcGF0aCcsJGltYWdlcGF0aCk7CiRzbWFydHktPmFzc2lnbignZmxhZ19jcmVhdGVoaWVyYXJjaHknLCRmbGFnX2NyZWF0ZWhpZXJhcmNoeSk7CiRzbWFydHktPmFzc2lnbignZmxhZ19jcmVhdGVjYXRlZ29yaWVzJywkZmxhZ19jcmVhdGVjYXRlZ29yaWVzKTsKJHNtYXJ0eS0+YXNzaWduKCdmbGFnX2R1cGxpY2F0ZXByb2R1Y3RzJywkZmxhZ19kdXBsaWNhdGVwcm9kdWN0cyk7CiRzbWFydHktPmFzc2lnbignZGVsaW1pdGVyJywkZGVsaW1pdGVyKTsKJHNtYXJ0eS0+YXNzaWduKCdiYXRjaHNpemUnLCRiYXRjaHNpemUpOwokc21hcnR5LT5hc3NpZ24oJ2NsZWFyZmllbGRzJywkY2xlYXJmaWVsZHMpOwokc21hcnR5LT5hc3NpZ24oJ2NsZWFyYXR0cmlicycsJGNsZWFyYXR0cmlicyk7CiRzbWFydHktPmFzc2lnbignY2xlYXJjYXRlZ29yaWVzJywkY2xlYXJjYXRlZ29yaWVzKTsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdpbXBvcnRwcm9kdWN0cycsJHJldHVybmlkLGFycmF5KCksZmFsc2UsJ3Bvc3QnLCdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokeWVzbm8gPSBhcnJheSgnMCc9PiR0aGlzLT5MYW5nKCdubycpLCcxJz0+JHRoaXMtPkxhbmcoJ3llcycpKTsKJHNtYXJ0eS0+YXNzaWduKCd5ZXNubycsJHllc25vKTsKCiMKIyBQcm9jZXNzIFRoZSBUZW1wbGF0ZSAKIwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2ltcG9ydHByb2R1Y3RzLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.movecategoryfield.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSkKewoJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygnbmVlZHBlcm1pc3Npb24nLCBhcnJheSgnTW9kaWZ5IFByb2R1Y3RzJykpKTsKCXJldHVybjsKfQoKLy8gaW5pdGlhbGl6ZQokZGlyID0gJ3VwJzsKJGNhdGlkID0gJyc7CiRmbGRuYW1lID0gJyc7CgppZiggaXNzZXQoJHBhcmFtc1snZGlyJ10pICkKICB7CiAgICAkZGlyID0gdHJpbSgkcGFyYW1zWydkaXInXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snY2F0aWQnXSkgKQogIHsKICAgICRjYXRpZCA9IChpbnQpJHBhcmFtc1snY2F0aWQnXTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydmbGRuYW1lJ10pICkKICB7CiAgICAkZmxkbmFtZSA9IHRyaW0oJHBhcmFtc1snZmxkbmFtZSddKTsKICB9CgokcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyAKICAgICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZCA9ID8gQU5EIGZpZWxkX25hbWUgPSA/JzsKJGRhdGEgPSAkZGItPkdldFJvdygkcXVlcnksYXJyYXkoJGNhdGlkLCRmbGRuYW1lKSk7CmlmKCAhaXNfYXJyYXkoJGRhdGEpICkKICB7CiAgICBlY2hvICJERUJVRzogIi4kZGItPnNxbC4nPGJyLz4nOyBkaWUoKTsKICAgICR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3BhcmFtJykpOwogICAgJHRoaXMtPlJlZGlyZWN0KCRpZCwnZWRpdGNhdGVnb3J5ZmllbGRzJywkcmV0dXJuaWQsYXJyYXkoJ2NhdGlkJz0+JGNhdGlkKSk7CiAgfQogICAgICAgICAgCiR0YWJsZSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyc7CnN3aXRjaCgkZGlyKQogIHsKICBjYXNlICd1cCc6CiAgICAkcXVlcnkgPSAiVVBEQVRFICR0YWJsZSBTRVQgZmllbGRfb3JkZXIgPSBmaWVsZF9vcmRlciArIDEgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IEFORCBmaWVsZF9vcmRlciA9ID8iOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGNhdGlkLCRkYXRhWydmaWVsZF9vcmRlciddLTEpKTsKICAgICRxdWVyeSA9ICJVUERBVEUgJHRhYmxlIFNFVCBmaWVsZF9vcmRlciA9IGZpZWxkX29yZGVyIC0gMSBXSEVSRSBjYXRlZ29yeV9pZCA9ID8gQU5EIGZpZWxkX25hbWUgPSA/IjsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRjYXRpZCwkZGF0YVsnZmllbGRfbmFtZSddKSk7CiAgICBicmVhazsKCiAgY2FzZSAnZG93bic6CiAgICAkcXVlcnkgPSAiVVBEQVRFICR0YWJsZSBTRVQgZmllbGRfb3JkZXIgPSBmaWVsZF9vcmRlciAtIDEgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/IEFORCBmaWVsZF9vcmRlciA9ID8iOwogICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGNhdGlkLCRkYXRhWydmaWVsZF9vcmRlciddKzEpKTsKICAgICRxdWVyeSA9ICJVUERBVEUgJHRhYmxlIFNFVCBmaWVsZF9vcmRlciA9IGZpZWxkX29yZGVyICsgMSBXSEVSRSBjYXRlZ29yeV9pZCA9ID8gQU5EIGZpZWxkX25hbWUgPSA/IjsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRjYXRpZCwkZGF0YVsnZmllbGRfbmFtZSddKSk7CiAgICBicmVhazsKICB9CgokdGhpcy0+UmVkaXJlY3QoJGlkLCdlZGl0Y2F0ZWdvcnlmaWVsZHMnLCRyZXR1cm5pZCxhcnJheSgnY2F0aWQnPT4kY2F0aWQpKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.movefielddef.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwokdGhpcy0+U2V0Q3VycmVudFRhYignZmllbGRkZWZzJyk7Cgokb3JkZXIgPSAxOwokZmRpZCA9ICRwYXJhbXNbJ2ZkaWQnXTsKCiNHcmFiIG5lY2Vzc2FyeSBpbmZvIGZvciBmaXhpbmcgdGhlIGl0ZW1fb3JkZXIKJG9yZGVyID0gJGRiLT5HZXRPbmUoIlNFTEVDVCBpdGVtX29yZGVyIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgV0hFUkUgaWQgPSA/IiwgYXJyYXkoJGZkaWQpKTsKJHRpbWUgPSAkZGItPkRCVGltZVN0YW1wKHRpbWUoKSk7CgppZiAoJHBhcmFtc1snZGlyJ10gPT0gImRvd24iKQp7CgkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFNFVCBpdGVtX29yZGVyID0gKGl0ZW1fb3JkZXIgLSAxKSwgbW9kaWZpZWRfZGF0ZSA9ICcuJHRpbWUuJyBXSEVSRSBpdGVtX29yZGVyID0gPyc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb3JkZXIgKyAxKSk7CgkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFNFVCBpdGVtX29yZGVyID0gKGl0ZW1fb3JkZXIgKyAxKSwgbW9kaWZpZWRfZGF0ZSA9ICcuJHRpbWUuJyBXSEVSRSBpZCA9ID8nOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZkaWQpKTsKfQplbHNlIGlmICgkcGFyYW1zWydkaXInXSA9PSAidXAiKQp7CgkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFNFVCBpdGVtX29yZGVyID0gKGl0ZW1fb3JkZXIgKyAxKSwgbW9kaWZpZWRfZGF0ZSA9ICcuJHRpbWUuJyBXSEVSRSBpdGVtX29yZGVyID0gPyc7CgkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb3JkZXIgLSAxKSk7CgkkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFNFVCBpdGVtX29yZGVyID0gKGl0ZW1fb3JkZXIgLSAxKSwgbW9kaWZpZWRfZGF0ZSA9ICcuJHRpbWUuJyBXSEVSRSBpZCA9ID8nOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGZkaWQpKTsKfQoKJHRoaXMtPlJlZGlyZWN0VG9UYWIoJGlkKTsKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCi8vCi8vIGluaXRpYWxpemF0aW9uCi8vCiRpbmxpbmUgPSAwOwokcmVzdWx0cGFnZSA9ICRyZXR1cm5pZDsKJHRoZXRlbXBsYXRlID0gJHRoaXMtPkdldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUU0VBUkNIX1RFTVBMQVRFKTsKJHNlYXJjaGZpZWxkID0gJyc7CiRzb3J0b3JkZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyJywnYXNjJyk7CiRzb3J0YnkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29ydGJ5JywncHJvZHVjdF9uYW1lJyk7CiRmaWVsZHMgPSBhcnJheSgpOwp7CiAgJHRtcCA9ICR0aGlzLT5HZXRGaWVsZERlZnMoKTsKICBpZiggY291bnQoJHRtcCkgKQogICAgewogICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdG1wKTsgJGkrKyApCgl7CgkgICRvYmogPSYgJHRtcFskaV07CgkgICRmaWVsZHNbJG9iai0+bmFtZV0gPSAkb2JqOwoJfQogICAgfQp9CgoKLy8KLy8gR2V0IHBhcmFtZXRlcnMKLy8KaWYoIGlzc2V0KCRwYXJhbXNbJ2lubGluZSddKSAmJiAkcGFyYW1zWydpbmxpbmUnXSAhPSAwICkKICB7CiAgICAkaW5saW5lID0gMTsKICAgIHVuc2V0KCRwYXJhbXNbJ2lubGluZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydyZXN1bHRwYWdlJ10pICkKICB7CiAgICAkdG1wID0gJHRoaXMtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHBhcmFtc1sncmVzdWx0cGFnZSddKTsKICAgIGlmKCAkdG1wICkKICAgICAgewoJJHJlc3VsdHBhZ2UgPSAkdG1wOwoJJGlubGluZSA9IDA7CiAgICAgIH0KICAgIHVuc2V0KCRwYXJhbXNbJ3Jlc3VsdHBhZ2UnXSk7CiAgfQppZiggaXNzZXQoJHBhcmFtc1snc2VhcmNoZm9ybXRlbXBsYXRlJ10pICkKICB7CiAgICAkdGhldGVtcGxhdGUgPSB0cmltKCRwYXJhbXNbJ3NlYXJjaGZvcm10ZW1wbGF0ZSddKTsKICAgIHVuc2V0KCRwYXJhbXNbJ3NlYXJjaGZvcm10ZW1wbGF0ZSddKTsKICB9CmlmKCBpc3NldCgkcGFyYW1zWydzZWFyY2hmaWVsZCddKSApCiAgewogICAgJHNlYXJjaGZpZWxkID0gdHJpbSgkcGFyYW1zWydzZWFyY2hmaWVsZCddKTsKICB9CgoKLy8KLy8gR2V0IHRoZSBmaWVsZCBkZWZpbml0aW9ucy4KLy8KaWYoICFlbXB0eSgkc2VhcmNoZmllbGQpICkKICB7CiAgICAkc2VhcmNoZmllbGRzID0gYXJyYXkoKTsKICAgICR0ZmllbGQgPSBleHBsb2RlKCcsJywkc2VhcmNoZmllbGQpOwogICAgZm9yZWFjaCggJHRmaWVsZCBhcyAkb25lZmllbGQgKQogICAgICB7CglpZiggIWlzc2V0KCRmaWVsZHNbJG9uZWZpZWxkXSkgKSBjb250aW51ZTsKCgkkb2JqID0mICRmaWVsZHNbJG9uZWZpZWxkXTsKCWlmKCAkb2JqLT50eXBlID09ICdkcm9wZG93bicgKQoJICB7CgkgICAgJG9iai0+b3B0aW9ucyA9IGNnZV9hcnJheTo6aGFzaF9wcmVwZW5kKCRvYmotPm9wdGlvbnMsLTEsJHRoaXMtPkxhbmcoJ2FueScpKTsKCSAgfQoJJHNlYXJjaGZpZWxkc1skb2JqLT5uYW1lXSA9ICRvYmo7CiAgICAgIH0KCiAgICAkc21hcnR5LT5hc3NpZ24oJ3NlYXJjaHByb3BzJywkc2VhcmNoZmllbGRzKTsKICB9Cgokc21hcnR5LT5hc3NpZ24oJ2NkX29yaWdwYWdlJywkcmV0dXJuaWQpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnZG9fc2VhcmNoJywkcmVzdWx0cGFnZSwkcGFyYW1zLCRpbmxpbmUpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kJywkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsKCiMKIyBQcm9jZXNzIHRoZSB0ZW1wbGF0ZQojCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VhcmNoXycuJHRoZXRlbXBsYXRlKTsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/changelog.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgo8bGk+VmVyc2lvbiAxLjAgLSBEZWNlbWJlciwgMjAwNwogICA8cD5Jbml0aWFsIFJlbGVhc2U8L3A+CjwvbGk+CjxsaT5WZXJzaW9uIDEuMC4xIC0gSmFudWFyeSwgMjAwOAogICA8dWw+CiAgICAgPGxpPkFkZHMgcGFnaW5hdGlvbiBpbiBzdW1tYXJ5IHZpZXc8L2xpPgogICAgIDxsaT5GaXhlcyBhIHByb2JsZW0gd2l0aCBkdXBsaWNhdGUgbGlua3MgaW4gc3VtbWFyeSB2aWV3PC9saT4KICAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4wIC0gQXByaWwsIDIwMDgKICA8dWw+CiAgICAgPGxpPkFkZHMgaGllcmFyY2hpY2FsIGNhdGVnb3JpZXMgYXMgd2VsbCBhcyB0aGUgb3JpZ2luYWwgJ3RhZycgYmFzZWQgY2F0ZWdvcmllcy48YnIvPgogICAgICAgICBIaWVyYXJjaGljYWwgY2F0ZWdvcmllcyBjYW4gaGF2ZSBhbiBpbWFnZSBhcyB3ZWxsIGFzIGEgZGVzY3JpcHRpb24uPC9saT4KICAgICA8bGk+QWRkcyBtb3JlIGN1c3RvbSBmaWVsZCB0eXBlcyAoaW1hZ2UsIGRyb3Bkb3duKTxici8+CiAgICAgICAgIEluY2x1ZGluZyB0aHVtYm5haWwgZ2VuZXJhdGlvbi48L2xpPgogICAgIDxsaT5SZW1vdmUgdGhlIG9yaWdpbmFsIGltYWdlIGZpZWxkczwvbGk+CiAgICAgPGxpPkFkZHMgU2VhcmNoIG1vZHVsZSBjYXBhYmlsaXR5PC9saT4KICAgICA8bGk+QWRkcyBhIGhpZXJhcmNoaWNhbCBjYXRlZ29yeSB2aWV3IHdpdGggZHJpbGwgZG93biBzdXBwb3J0PC9saT4KICAgICA8bGk+TXVjaCwgbXVjaCBtb3JlPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjAuMSAtIEFwcmlsLCAyMDA4CiAgPHVsPgogICAgIDxsaT5GaXhlcyBudW1lcm91cyBzbWFsbCBlcnJvcnMuPC9saT4KICAgICA8bGk+Rml4IHRvIGFsbG93IHNwYWNlcyBhbmQgb3RoZXIgY2hhcmFjdGVycyBpbiBoaWVyYXJjaHkgbmFtZXM8L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMC4yIC0gQXVndXN0LCAyMDA4CiAgPHVsPgogICAgIDxsaT5CdWcgZml4ZXM8L2xpPgogICAgIDxsaT5Ob3cgUmVxdWlyZSBDR0V4dGVuc2lvbnMgMS45PC9saT4KICAgICA8bGk+QWRkIGEgY3VycmVuY3kgY29kZSBwcmVmZXJlbmNlPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEuMSAtIFNlcHRlbWJlciwgMjAwOAogIDx1bD4KICAgICA8bGk+QnVnIGZpeGVzPC9saT4KICAgICA8bGk+QWRkIHRoZSBhYmlsaXR5IHRvIGFzc29jaWF0ZSBzdGF0aWMgZGF0YSB3aXRoIGFueSBjYXRlZ29yeTwvbGk+CiAgICAgPGxpPkFkZCB0aGUgYWJpbGl0eSB0byBjb3B5IGNhdGVnb3JpZXM8L2xpPgogICAgIDxsaT5BZGQgdGhlIG9wdGlvbmFsIGFiaWxpdHkgdG8gd2F0ZXJtYXJrIHVwbG9hZGVkIGFiaWxpdGllcy48L2xpPgogICAgIDxsaT5BZGQgdGhlIG9wdGlvbmFsIGFiaWxpdHkgdG8gY2hhbmdlIHRoZSBsb2NhdGlvbiBvZiB0aGUgd2F0ZXJtYXJrIGluIHVwbG9hZGVkIGltYWdlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMS4yIC0gU2VwdGVtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPlVwZGF0ZSBkZXBlbmRlbmNpZXMsIGFuZCByZW1vdmUgZGVidWcgc3RhdGVtZW50cy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMS4zIC0gU2VwdGVtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPk1pbm9yIEJ1Z2ZpeGVzPC9saT4KICAgIDxsaT5DaGFuZ2UgdGhlIGRlbGltaXRlciBvbiB0aGUgYXR0cmlidXRlcyBkcm9wZG93bjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4yIC0gRGVjZW1iZXIsIDIwMDgKICA8dWw+CiAgICA8bGk+TnVtZXJvdXMgQnVnZml4ZXM8L2xpPgogICAgPGxpPlByb2R1Y3RzIG1vZHVsZSBub3cgaGFzIGEgQ2FydCBtb2R1bGUgcHJlZmVyZW5jZSwgd2hlcmUgeW91IGNhbiBwaWNrIGZyb20gdGhlIGF2YWlsYWJsZSBjYXJ0IG1vZHVsZXMuPC9saT4KICAgIDxsaT5Nb2RpZnkgZGVmYXVsdCB0ZW1wbGF0ZXMgc28gdGhhdCB0aGUgY2FydCBtb2R1bGUgcHJlZmVyZW5jZSBpcyB1c2VkLjwvbGk+CiAgICA8bGk+UmVtb3ZlIGFsbCByZWZlcmVuY2VzIHRvIHRheGVzIG9yIHNoaXBwaW5nIG1vZHVsZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjIuMSAtIEphbnVhcnksIDIwMDgKICA8dWw+CiAgICA8bGk+QWRkIGFiaWxpdHkgdG8gc29ydCBieSB3ZWlnaHQuPC9saT4KICAgIDxsaT5BZGQgYnJlYWRjcnVtYnMgdG8gZGV0YWlsIHZpZXcuPC9saT4KICAgIDxsaT5BZGQgY2F0ZWdvcnkgaW5mb3JtYXRpb24gdG8gc3VtbWFyeSB2aWV3LjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4yLjIgLSBKYW51YXJ5LCAyMDA4CiAgPHVsPgogICAgPGxpPkZpeCBtaW5vciBwcm9ibGVtIHdpdGggY2F0ZWdvcnkgaW5mb3JtYXRpb24gaW4gc3VtbWFyeSB2aWV3LjwvbGk+CiAgICA8bGk+QWRkIGNvbnNpc3RlbnQgb3JkZXJpbmcgdG8gR2V0Q2F0ZWdvcmllc0ZvclByb2R1Y3Q8L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMi40IC0gRmVicnVhcnksIDIwMDgKICA8dWw+CiAgICA8bGk+QWRkIElEIHRvIHRoZSBoaWVyYXJjaHkgdGFiPC9saT4KICAgIDxsaT5BZGQgdGhlIHskcGFyZW50fSB2YXJpYWJsZSB0byB0aGUgaGllcmFyY2h5IGRpc3BsYXkuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjMgLSBNYXJjaCwgMjAwOAogIDx1bD4KICAgIDxsaT5BZGQgQ1NWIEltcG9ydDwvbGk+CiAgICA8bGk+QWRkIGluZGV4ZXMgdG8gdGhlIHRhYmxlcywgc2hvdWxkIHJlc3VsdCBpbiBhIG1hc3NpdmUgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQuPC9saT4KICAgIDxsaT5BZGQgRXh0cmExIGFuZCBFeHRyYTIgZmllbGRzIHRvIHRoZSBoaWVyYXJjaHkgZGVmaW5pdGlvbi48L2xpPgogICAgPGxpPkZpeGVzIHByb2JsZW1zIHdpdGggZGF0ZXMKICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjMuMSAtIE1hcmNoLCAyMDA4CiAgPHVsPgogICAgPGxpPkZpeGVzIHRvIENTViBJbXBvcnQ8L2xpPgogICAgPGxpPkJ1bXAgbWluaW11bSBDTVMgVmVyc2lvbiB0byAxLjUuMzwvbGk+CiAgICA8bGk+QnVnZml4ZXMgdG8gZWRpdCBhdHRyaWJ1dGUgc2V0LjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi40IC0gSnVseSwgMjAwOAogIDx1bD4KICAgIDxsaT5GaXhlcyBFZGl0IEF0dHJpYnV0ZSBTZXQgUHJvYmxlbTwvbGk+CiAgICA8bGk+QWRkcyBHZXRDYXRlZ29yeSgpIG1ldGhvZC48L2xpPgogICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNC4yIC0gSnVseSwgMjAwOAogIDx1bD4KICAgIDxsaT5BZGRzIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyBmb3IgdXNlIGJ5IHRoZSBQcm9tb3Rpb25zIGFuZCBvdGhlciBtb2R1bGVzLjwvbGk+CiAgICA8bGk+Rml4ZXMgbWlub3IgYnVncy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNC40IC0gU2VwdGVtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPkZpeGVzIG1pbm9yIGJ1Z3MuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjQuNSAtIE5vdmVtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPk1pbm9yIHNtYXJ0eSBpbXByb3ZlbWVudHMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjQuNyAtIERlY2VtYmVyLCAyMDA4CiAgPHVsPgogICAgPGxpPkFkZHMgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGVtcGxhdGUgZm9yIHByb2R1Y3QgYXR0cmlidXRlIHZhbHVlIGRpc3BsYXkgaW4gdGhlIGRyb3Bkb3ducy48L2xpPgogICAgPGxpPkFkZHMgdGhlIHNob3dhbGwgcGFyYW1ldGVyIChvcHRpb25hbCkgdG8gdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24uPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjQuOCAtIEphbnVhcnksIDIwMDkKICA8dWw+CiAgICA8bGk+QWRkcyBoYW5kbGluZyBmb3IgZGlyZWN0IGFjY2VzcyB0byBkaXNhYmxlZC9kZWxldGVkL2ludmFsaWQgcHJvZHVjdCBkZXRhaWwgdmlld3MuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjUuMSAtIEZlYnJ1YXJ5LCAyMDEwCiAgPHVsPgogICAgPGxpPkltcHJvdmVtZW50cyBmb3IgTUFDIGZvcm1hdCBBU0NJSSBjc3YgZmlsZXMuPC9saT4KICAgIDxsaT5BZGRzIHByb2R1Y3QgYWxpYXMgbWVjaGFuaXNtLjwvbGk+CiAgICA8bGk+QWRkcyBicmVhZGNydW1iIHN1cHBvcnQgaW50byB0aGUgZGV0YWlsIHZpZXcuPC9saT4KICAgIDxsaT5BZGRzIHByZXR0eSB1cmwgc3VwcG9ydCBpbnRvIHRoZSBzZWFyY2ggcmVzdWx0cy48L2xpPgogICAgPGxpPkFkZHMgY2Fub25pY2FsIHN1cHBvcnQgaW50byB0aGUgZGV0YWlsIHZpZXcuPC9saT4KICAgIDxsaT5BZGRzIFNLVSBzdXBwb3J0LjwvbGk+CiAgICA8bGk+QnVnIGZpeGVzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi42IC0gTWFyY2gsIDIwMTkKIDx1bD4KICAgPGxpPk1vZGlmaWNhdGlvbnMgdG8gd29yayB3aXRoIG5ldyBFLWNvbW1lcmNlIHNldHVwLjwvbGk+CiAgIDxsaT5NYW55IGJ1ZyBmaXhlcy48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi42LjEgLSBBcHJpbCwgMjAxOQogPHVsPgogICA8bGk+QnVnIEZpeGVzLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjYuMiAtIEFwcmlsLCAyMDE5CiA8dWw+CiAgIDxsaT5CdWcgRml4ZXMuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuNyAtIEFwcmlsLCAyMDE5CiA8dWw+CiAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIHNvcnQgc3VtbWFyeSB2aWV3cyBieSBjdXN0b20gZmllbGRzLjwvbGk+CiAgIDxsaT5BZGRzIHRoZSBmaWVsZGxpc3QgYWN0aW9uIHRvIGFsbG93IGNyZWF0aW5nIG5hdmlnYXRpb25zIG9uIGN1c3RvbSBmaWVsZHMuPC9saT4KICAgPGxpPkFkZHMgc2VhcmNoIGFjdGlvbiB0byBhbGxvdyBzZWFyY2hpbmcgcHJvZHVjdHMuPC9saT4KICAgPGxpPlJlbW92ZSBjdXJyZW5jeSBjb2RlIGFuZCBvdGhlciBwcmVmZXJlbmNlcyB0aGF0IGFyZSBub3cgaW4gQ0dFY29tbWVyY2VCYXNlLi4uIHdlbGwgaWYgQ0dFY29tbWVyY2VCYXNlIGlzIGluc3RhbGxlZCBhbnl3YXlzLjwvbGk+CiAgIDxsaT5SZW1vdmUgc29tZSBwcmVmZXJlbmNlcyBhbmQgdGVtcGxhdGVzIHRoYXQgYXJlIG5vdyBob3N0ZWQgaW4gQ0dFY29tbWVyY2VCYXNlLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjcuMSAtIEFwcmlsLCAyMDEwCiA8dWw+CiAgIDxsaT5BZGRzIGEgcmV0dXJuIGxpbmsgdG8gdGhlIGNhdGVnb3J5IGZpZWxkcyBlZGl0IHBhZ2UuPC9saT4KICAgPGxpPkFkZHMgYSBkZXRhaWxfdXJsIHBhcmFtIHRvIHRoZSBjYXRlZ29yeSBsaXN0IHZpZXcuPC9saT4KICAgPGxpPkFkZHMgdGhlIGNhdGVnb3J5bGlzdGR0bHRlbXBsYXRlIHBhcmFtLjwvbGk+CiAgIDxsaT5DYXRlZ29yeSBMaXN0IHZpZXcgbm93IHVzZXMgdGhlIHJlc3VsdHBhZ2UgcGFyYW1ldGVyIGJ5IGRlZmF1bHQuPC9saT4KICAgPGxpPkZpeGVzIGEgcHJvYmxlbSB3aXRoIGRlbGV0aW5nIGZpbGVzIGluIHRoZSBlZGl0IHByb2R1Y3QgcGFnZS48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi43LjMgLSBBcHJpbCwgMjAxMAogPHVsPgogICA8bGk+UmVtb3ZlIHRoZSBpbWFnZSB3aGVuIHJlbW92aW5nIHRoZSBoaWVyYXJjaHkgaXRlbS48L2xpPgogICA8bGk+SW1wcm92ZW1lbnRzIHRvIGNhdGVnb3J5IGZpZWxkIG9yZGVyaW5nLjwvbGk+CiAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIHJlbmFtZSBjYXRlZ29yeSBmaWVsZHMuPC9saT4KICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi43LjQgLSBBcHJpbCwgMjAxMAogPHVsPgogICA8bGk+TWlub3IgYnVnIGZpeGVzLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjcuNSAtIE1heSwgMjAxMAogPHVsPgogICA8bGk+Rml4ZXMgcHJvYmxlbSB3aXRoIHNlYXJjaCB0ZW1wbGF0ZXMgb24gdXBncmFkZS48L2xpPgogICA8bGk+QWRkcyBjYXRlZ29yeSBmaWVsZCByZW9yZGVyaW5nLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjcuNiAtIE1heSwgMjAxMAogPHVsPgogICA8bGk+Rml4ZXMgdG8gY2F0ZWdvcnkgZmllbGQgcmUtb3JkZXJpbmcuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuOCAtIE1heSwgMjAxMAogPHVsPgogICA8bGk+QWRkcyBhIHRydWUgaGllcmFyY2h5IG1vZGUuPGJyLz4KICAgICAgIDxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhpcyB3aWxsIGJyZWFrIGV4aXN0aW5nIHNpdGVzIHVzaW5nIHRoZSBvbGRlciBoaWVyYXJjaHkgdmlldy4gIFlvdSBzaG91bGQgcmVhZCB0aGUgaGVscCBmb3IgaW5mb3JtYXRpb24gYXMgdG8gaG93IHRvIHVzZSB0aGUgbmV3IHZpZXcuPC9saT4KICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gYWRkIGN1c3RvbSBmaWVsZHMgdG8gdGhlIGFkbWluIHNpZGUgcHJvZHVjdCB0YWJsZSB2aWV3LjwvbGk+CiAgIDxsaT5JbXByb3ZlcyB0aGUgQ1NWIGltcG9ydCBmdW5jdGlvbi48L2xpPgogICA8bGk+QWRkcyBhIG5ldyBkaW1lbnNpb24gZGF0YSBmaWVsZC48L2xpCiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjguMSAtIE1heSwgMjAxMAogPHVsPgogICA8bGk+TWlub3IgYnVnIGZpeGVzIHRvIGFkbWluIGRpc3BsYXkuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuOC4yIC0gTWF5LCAyMDEwCiA8dWw+CiAgIDxsaT5GaXggdG8gZGVmYXVsdCBoaWVyYXJjaHkgdGVtcGxhdGUuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuOC4yIC0gTWF5LCAyMDEwCiA8dWw+CiAgICA8bGk+QWRkcyBzdWJzY3JpcHRpb24gZmllbGQgdHlwZS48L2xpPgogICAgPGxpPk1pbm9yIGJ1ZyBmaXhlcy48L2xpPgogICAgPGxpPkFkZGVkIHN1cHBvcnQgZm9yIGZpZWxkdmFsPSc6Om5vdG51bGw6Oicgb24gdGhlIHN1bW1hcnkgdmlldy48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi44LjMgLSBKdWx5LCAyMDEwCiA8dWw+CiAgICA8bGk+UmVtb3ZlcyB0aGUgdXNlb2xkaGllcmFyY2h5IHBhcmFtIGZyb20gdGhlIGhpZXJhcmNoeSB2aWV3LjwvbGk+CiAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBmaWx0ZXIgdGhlIG91dHB1dCBpbiB0aGUgY2F0ZWdvcnlsaXN0IHZpZXcuPC9saT4KICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuOC40IC0gU2VwdGVtYmVyLCAyMDEwCiA8dWw+CiAgICA8bGk+QWRkcyBhIHByZWZlcmVuY2UgZm9yIHRoZSBkZWZhdWx0IHBhZ2UgbGltaXQgaW4gc3VtbWFyeSBtb2RlLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjguNSAtIFNlcHRlbWJlciwgMjAxMAogPHVsPgogICAgPGxpPkFkZHMgc29ydGluZyBjYXBhYmlsaXRpZXMgdG8gdGhlIGNhdGVnb3J5bGlzdCB2aWV3LjwvbGk+CiAgICA8bGk+UmUtd29ya3MgdGhlIGhpZXJhcmNoeSB2aWV3IChhZ2FpbikuICBUZW1wbGF0ZXMgd2lsbCBuZWVkIHRvIGNoYW5nZS48L2xpPgogICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gZXhwbGljaXRseSBsaXN0IGhpZXJhcmNoeSBpdGVtcyBpbiB0aGUgaGllcmFyY2h5IHZpZXcuPC9saT4KICAgIDxsaT5BZGRzIGNvbW1hIHNlcGFyYXRlZCBoaWVyYXJjaHkgY2FwYWJpbGl0eSB0byB0aGUgZGVmYXVsdCBzdW1tYXJ5IHZpZXcuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuOC42IC0gU2VwdGVtYmVyLCAyMDEwCiA8dWw+CiAgIDxsaT5GaXhlcyB0byBDU1YgaW1wb3J0IHN0dWZmLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjkgLSBEZWNlbWJlciwgMjAxMAogPHVsPgogICA8bGk+Rml4ZXMgc29tZSBpc3N1ZXMgcmVsYXRlZCB0byBFX1NUUklDVCBhbmQgRV9ERVBSRUNBVEVEPC9saT4KICAgPGxpPkFkZHMgdGhlIGFiaWxpdHkgdG8gY29weSBhdHRyaWJ1dGUgc2V0cyBmcm9tIGFub3RoZXIgcHJvZHVjdC48L2xpPgogICA8bGk+Rml4ZXMgdG8gQ1NWIGltcG9ydCBzdHVmZi48L2xpPgogICA8bGk+Rml4ZXMgdG8gZW50ZXJpbmcgYSBza3UgaW4gYXR0cmlidXRlcy48L2xpPgogICA8bGk+QWRkcyBoaWVyYXJjaHkgaW5mb3JtYXRpb24gdG8gc2VhcmNoLCBzdW1tYXJ5IGFuZCBkZXRhaWwgdmlld3MuPC9saT4gCiAgIDxsaT5GaXhlcyBhbiBpc3N1ZSB3aXRoIHBhZ2luYXRpb24gaW4gdGhlIGFkbWluIHBhbmVsIHByb2R1Y3RzIHRhYi48L2xpPgogICA8bGk+Rml4ZXMgYW4gaXNzdWUgd2l0aCBwYWdlIGNvdW50cyBpbiB0aGUgcHJvZHVjdHMgdGFiIHdoZW4gYSBjdXN0b20gZmllbGQgaXMgYWRkZWQgdG8gdGhlIHZpZXcgbGlzdC48L2xpPgogICA8bGk+TWFueSBtb3JlIGJ1ZyBmaXhlcyBhbmQgbWlub3IgaW1wcm92ZW1lbnRzLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEwLjIgLSBKYW51YXJ5LCAyMDExCiA8dWw+CiAgIDxsaT5BZGRzIGNhbm9uaWNhbCBVUkwgdG8gdGhlIGhpZXJhcmNoeSBpdGVtLCBpbiB0aGUgaGllcmFyY2h5IHZpZXcuPC9saT4KICAgPGxpPkFkZHMgdGhlIHByb2R1Y3RsaXN0IHBhcmFtZXRlciB0byBvdXRwdXQgYSBzdW1tYXJ5IHZpZXcgb2Ygc3BlY2lmaWMgcHJvZHVjdHMuICBEb2VzIG5vdCBwcm92aWRlIHBhZ2luYXRpb24gb3Igc29ydGluZy48L2xpPgogPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xMC4zIC0gRmVicnVhcnksIDIwMTEKIDx1bD4KICAgPGxpPkZpeGVzIGJ1ZyB3aXRoIGRlZmF1bHQgdmlldy4uLi4gdGhhbmtzIHN0aWtraTwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEwLjQgLSBNYXksIDIwMTEKIDx1bD4KICAgPGxpPk1pbm9yIGZpeCB0byB0aGUgdW5pbnN0YWxsZXIuPC9saT4KICAgPGxpPkFkZHMgdGhlIGNhdGVnb3J5ZmllbGQgcGFyYW1ldGVyIHRvIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uLjwvbGk+CiAgIDxsaT5GaXhlcyBhIHByb2JsZW0gd2l0aCBjYXRlZ29yeSBmaWVsZHMgd2hlbiBjb3B5aW5nIGEgY2F0ZWdvcnkuPC9saT4KIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMTAuNSAtIE1heSwgMjAxMQogPHVsPgogICA8bGk+TWlub3JlcyBmaXggdG8gY2F0ZW9ncnkgZmllbGRzLjwvbGk+CiA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjExIC0gTWF5LCAyMDExCiAgPHVsPgogICAgPGxpPkFkZHMgdGhlICZxdW90O2V4Y2x1ZGVjYXQmcXVvdDsgcGFyYW1ldGVyLjwvbGk+CiAgICA8bGk+UmVtb3ZlcyBzb21lIGVycmFudCBkZWJ1ZyBzdGF0ZW1lbnRzIGluIHRoZSBjYXRlZ29yeWxpc3Qgdmlldy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMTIgLSBNYXksIDIwMTEKICA8dWw+CiAgICA8bGk+VGhlcmUgaXMgbm93IGFuIG9wdGlvbiB0byBtYWtlIHN1cmUgdGhhdCB0aGUgU0tVIGlzIHJlcXVpcmVkIHdoZW4gYWRkaW5nL2VkaXRpbmcgcHJvZHVjdHMvYXR0cmlidXRlcy48L2xpPgogICAgPGxpPlRoZSBpbWFnZSB0aHVtYm5haWwsIHByZXZpZXcsIGFuZCB3YXRlcm1hcmtpbmcgc3R1ZmYgaXMgbm93IERFUFJFQ0FURUQuPC9saT4KICAgIDxsaT5BZGRlZCB0aGUgYXR0cmlic19mdWxsIHN0dWZmIGludG8gdGhlIGRldGFpbCBhbmQgc3VtbWFyeSB2aWV3cy4gICB0aGUgYXR0cmlidXRlcyBtZW1iZXIgb2Ygb3V0cHV0IG9iamVjdHMgaXMgZGVwcmVjYXRlZC48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMTIuMSAtIE1heSwgMjAxMQogIDx1bD4KICAgIDxsaT5BZGRzIGNhY2hpbmcgZm9yIGZpZWxkIGRlZmluaXRpb25zLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xMyAtIEp1bHksIDIwMTEKICA8dWw+CiAgIDxsaT5BZGRzIGJ1bGsgYWN0aW9ucyBpbiB0aGUgcHJvZHVjdCBsaXN0LjwvbGk+CiAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGV4Y2x1ZGUgcHJvZHVjdHMgaW4gY2VydGFpbiBjYXRlZ29yaWVzIGZyb20gdGhlIHByb2R1Y3QgbGlzdC48L2xpPgogICA8bGk+TnVtZXJvdXMgbWlub3IgYnVnIGZpeGVzLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xMy4xIC0gSnVseSwgMjAxMQogIDx1bD4KICAgPGxpPkJ1ZyBGaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMTMuMiAtIEp1bHksIDIwMTEKICA8dWw+CiAgIDxsaT5CdWcgRml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjEzLjMgLSBBdWd1c3QsIDIwMTEKICA8dWw+CiAgIDxsaT5CdWcgRml4ZXMuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjE0IC0gQXVndXN0LCAyMDExCiAgPHVsPgogICA8bGk+QWRkcyBmdW5jdGlvbmFsaXR5IGZvciBkeW5hbWljYWxseSByZW9yZ2FuaXppbmcgdGhlIGhpZXJhcmNoeSB0cmVlLjwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xNSAtIEF1Z3VzdCwgMjAxMQogIDx1bD4KICAgIDxsaT5BZGRzIGEgc2ltcGxlIHF1YW50aXR5LW9uLWhhbmQgZmllbGQuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjE2IC0gQXVndXN0LCAyMDExCiAgPHVsPgogICAgPGxpPlZhc3RseSBpbXByb3ZlZCBzZWFyY2ggY2FwYWJpbGl0aWVzLiAgTm90ZTogZXhpc3RpbmcgdGVtcGxhdGVzIHdpbGwgbmVlZCB0byBiZSB1cGRhdGVkIGFzIGZpZWxkIG5hbWVzIGhhdmUgY2hhbmdlZC48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMTcgLSBNYXJjaCwgMjAxMgogIDx1bD4KICAgIDxsaT5OdW1lcm91cyBidWcgZml4ZXMuPC9saT4KICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGR1cGxpY2F0ZSBhIHByb2R1Y3QuPC9saT4KICA8L3VsPgo8L2xpPgo8bGk+VmVyc2lvbiAyLjE4LjIgLSBKdW5lLCAyMDEyCiAgPHVsPgogICAgPGxpPkNyZWF0ZXMgYSBuZXcgZmxleGlibGUgcXVlcnkgY2xhc3MgYW5kIG1hdGNoaW5nIHJlc3VsdHNldCBjbGFzcy48L2xpPgogICAgPGxpPkRyYW1hdGljIHBlcmZvcm1hbmNlIGltcHJvdm1lbnQgZm9yIHN1bW1hcnkgdmlld3MuPC9saT4KICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGV4cG9ydCBwcm9kdWN0IGluZm9ybWF0aW9uIHRvIGNzdi48L2xpPgogICAgPGxpPk1hbnkgaW1wcm92ZW1lbnRzIHRvIENTViBpbXBvcnQuPC9saT4KICAgIDxsaT5BZGRzIGFuIG9wdGlvbmFsIG5ldyBkZWZhdWx0IGFjdGlvbiB3aGljaCBzaG91bGQgYmUgbXVjaCBmYXN0ZXIuICBPcmlnaW5hbCBkZWZhdWx0IGFjdGlvbiB3aWxsIGJlIHJlbW92ZWQgb3ZlciB0aW1lLjwvbGk+CiAgICA8bGk+SGVscCBpcyBub3cgaW4gaXRzIG93biBmaWxlLjwvbGk+CiAgICA8bGk+QWRkIHRoZSAncGFyZW50cycgcGFyYW1ldGVyIHRvIHRoZSBoaWVyYXJjaHkgYWN0aW9uLjwvbGk+CiAgICA8bGk+TnVtZXJvdXMgY2FjaGluZyBvcHRpbWl6YXRpb25zLjwvbGk+CiAgICA8bGk+TW9yZSBpbmRleGVzIG9uIHRoZSBwcm9kdWN0cyB0YWJsZSBkdXJpbmcgaW5zdGFsbC48L2xpPgogICAgPGxpPkxhbmd1YWdlIGNoYW5nZS4uLiBpbiBtb3N0IHBsYWNlcywgcHJvZHVjdHMgYXJlIG5vdyByZWZlcnJlZCB0byBhcyAmcXVvdDtpdGVtcyZxdW90OzwvbGk+CiAgPC91bD4KPC9saT4KPGxpPlZlcnNpb24gMi4xOC4zIC0gSnVseSwgMjAxMgogIDx1bD4KICAgIDxsaT5NaW5vciBGaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjxsaT5WZXJzaW9uIDIuMTkueCAtIERlY2VtYmVyLCAyMDEyCiAgPHA+PHN0cm9uZz5OT1RFOiBDT01QQVRJQklMSVRZIEJST0tFTi4gIFNPTUUgQ0hBTkdFUyBSRVFVSVJFRC48L3N0cm9uZz48L3A+CiAgPHA+PHN0cm9uZz5OT1RFOiBQSFAgNS4zLnggSVMgUkVRVUlSRUQuPC9zdHJvbmc+PC9wPgogIDx1bD4KICAgIDxsaT5SZW1vdmVzIHRoZSBlbnRpcmUgYXR0cmlidXRlIG1lY2hhbmlzbSBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIGZsYXQgbGlzdCBvZiBvcHRpb25zLgogICAgICA8cD5UaGlzIG1lYW5zIHRoYXQgc2hvcHMgdXNpbmcgdGhlIGF0dHJpYnV0ZXMgd2lsbCBuZWVkIHRvIGFkanVzdCB0aGVpciBwcm9kdWN0cyBiZWNhdXNlIGluc3RlYWQgb2YgaGF2aW5nIG11bHRpcGxlICZxdW90O2F0dHJpYnV0ZXMmcXVvdDsgdGhlcmUgaXMgbm93IG9uZSBmbGF0IGxpc3Qgb2Ygb3B0aW9ucyB3aXRoIGEgc2ltcGxlIHRleHQgZmllbGQgdG8gZGVzY3JpYmUgdGhlbS48L3A+CiAgICAgIDxwPkFkZGl0aW9uYWxseSwgc3VtbWFyeSBhbmQgZGV0YWlsIHRlbXBsYXRlcyB3aGVyZSBhdHRyaWJ1dGVzIHdlcmUgZGlzcGxheWVkIHdpbGwgbmVlZCBhZGp1c3RtZW50LjwvcD4KICAgIDwvbGk+CiAgICA8bGk+U0tVcyBhcmUgbm93IHJlcXVpcmVkIGJ5IGRlZmF1bHQgKGFzIHRoZXkgYXJlIG5lZWRlZCBmb3IgdGhlIENhcnQyIG1vZHVsZSk8L2xpPgogICAgPGxpPk51bWVyb3VzIGJ1ZyBmaXhlcy48L2xpPgogIDwvdWw+CjwvbGk+CjwvdWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/event.CGEcommerceBase.OrderUpdated.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQppZiggIWlzc2V0KCRnQ21zKSApIGV4aXQ7CmlmKCAhaXNzZXQoJHBhcmFtc1snb3JkZXJfaWQnXSkgKSByZXR1cm47CgovLyBoYW5kbGUgdGhlIGNhc2Ugb2YgYXR0ZW1wdGVkIHJlY3Vyc2lvbi4KaWYoIGNnZV90bXBkYXRhOjpleGlzdHMoX19GSUxFX18pICkgcmV0dXJuOwpjZ2VfdG1wZGF0YTo6c2V0KF9fRklMRV9fLDEpOwoKLy8gZ2V0IHRoZSBmaWVsZCBkZWZpbml0aW9ucy4KJGRlZnMgPSAkdGhpcy0+R2V0RmllbGREZWZzKFRSVUU8VFJVRSk7CgovLyBjaGVjayBmaWVsZCBkZWZzIGZvciBhbiBlbnRyeSBvZiB0eXBlICdxdWFudGl0eScKaWYoICFpc19hcnJheSgkZGVmcykgfHwgY291bnQoJGRlZnMpID09IDAgKSByZXR1cm47CiRmaWVsZF9pZCA9IC0xOwpmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZGVmcyk7ICRpKysgKQogIHsKICAgIGlmKCAkZGVmc1skaV0tPnR5cGUgPT0gJ3F1YW50aXR5JyApCiAgICAgIHsKCQkkZmllbGRfaWQgPSAoaW50KSRkZWZzWyRpXS0+aWQ7CiAgICAgIH0KICB9CmlmKCAkZmllbGRfaWQgPD0gMCApIHJldHVybjsKCi8vIGdldCB0aGUgb3JkZXIuCiRvcmRlcl9pZCA9IChpbnQpJHBhcmFtc1snb3JkZXJfaWQnXTsKJG9yZGVyX29iaiA9IG9yZGVyc19vcHM6OmxvYWRfYnlfaWQoJG9yZGVyX2lkKTsKaWYoICEkb3JkZXJfb2JqICkgCiAgewogICAgcmV0dXJuOwogIH0KaWYoICFpbl9hcnJheSgkb3JkZXJfb2JqLT5nZXRfc3RhdHVzKCksYXJyYXkoJ2ludm9pY2VkJywncGFpZCcpKSApIHJldHVybjsKCi8vIGZpbmQgdGhlIGxpbmUgd2l0aCB3aXRoIGEgcHJvZHVjdCBpbiBpdC4KZm9yKCAkcyA9IDA7ICRzIDwgJG9yZGVyX29iai0+Y291bnRfZGVzdGluYXRpb25zKCk7ICRzKysgKQogIHsKICAgICRzaGlwcGluZyA9ICRvcmRlcl9vYmotPmdldF9zaGlwcGluZygkcyk7CiAgICBmb3IoICRpID0gMDsgJGkgPCAkc2hpcHBpbmctPmNvdW50X2FsbF9pdGVtcygpOyAkaSsrICkKICAgICAgewoJJGl0ZW0gPSAkc2hpcHBpbmctPmdldF9pdGVtKCRpKTsKCWlmKCAkaXRlbS0+Z2V0X3NvdXJjZSgpICE9ICdQcm9kdWN0cycgKSBjb250aW51ZTsKCWlmKCAkaXRlbS0+Z2V0X2l0ZW1fdHlwZSgpICE9IGxpbmVfaXRlbTo6SVRFTVRZUEVfUFJPRFVDVCApIGNvbnRpbnVlOwoKCS8vIGdldCB0aGUgcHJvZHVjdCBpZC4uLiBhbmQgdXBkYXRlIHRoZSBxdWFudGl0eSBhdmFpbGFibGUuCgkkc2t1ID0gJGl0ZW0tPmdldF9za3UoKTsKCSRwcm9kdWN0X2lkID0gJGl0ZW0tPmdldF9pdGVtX2lkKCk7CgoJJGN1cl92YWwgPSAwOwoJJGZvdW5kID0gMDsKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzIFdIRVJFIHByb2R1Y3RfaWQgPSA/IEFORCBmaWVsZGRlZl9pZCA9ID8nOwoJJGRiciA9ICRkYi0+R2V0Um93KCRxdWVyeSxhcnJheSgkcHJvZHVjdF9pZCwkZmllbGRfaWQpKTsKCWlmKCAkZGJyICkgCgkgIHsKCSAgICAkY3VyX3ZhbCA9IChpbnQpJGRiclsndmFsdWUnXTsKCSAgICAkZm91bmQgPSAxOwoJICB9CgkkY3VyX3ZhbCAtPSAoaW50KSRpdGVtLT5nZXRfcXVhbnRpdHkoKTsKCWlmKCAhJGZvdW5kICkKCSAgewoJICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyAocHJvZHVjdF9pZCxmaWVsZGRlZl9pZCx2YWx1ZSxjcmVhdGVfZGF0ZSxtb2RpZmllZF9kYXRlKSBWQUxVRVMgKD8sPyw/LE5PVygpLE5PVygpKSc7CgkgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHByb2R1Y3RfaWQsJGZpZWxkX2lkLCRjdXJfdmFsKSk7CgkgIH0KCWVsc2UKCSAgewoJICAgICRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgU0VUIHZhbHVlID0gPywgbW9kaWZpZWRfZGF0ZSA9IE5PVygpIFdIRVJFIHByb2R1Y3RfaWQgPSA/IEFORCBmaWVsZGRlZl9pZCA9ID8nOwoJICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRjdXJfdmFsLCRwcm9kdWN0X2lkLCRmaWVsZF9pZCkpOwoJICB9CgoJJHRoaXMtPkF1ZGl0KCRwcm9kdWN0X2lkLCR0aGlzLT5HZXROYW1lKCksJ1VwZGF0ZWQgcXVhbnRpdHkgb2YgYXZhaWxhYmxlIHByb2R1Y3QgdG8gJy4kY3VyX3ZhbCk7CiAgICAgIH0KICB9CgovLyBzZXR1cCBmb3IgYW5vdGhlciBvcmRlci4uLiBzaG91bGRuJ3QgaGFwcGVuLCBidXQganVzdCBpbiBjYXNlLgpjZ2VfdG1wZGF0YTo6ZXJhc2UoX19GSUxFX18pOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_categories_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CgojUHV0IHRvZ2V0aGVyIGEgbGlzdCBvZiBjdXJyZW50IGNhdGVnb3JpZXMuLi4KJGVudHJ5YXJyYXkgPSBhcnJheSgpOwoJCiRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcmllcyBPUkRFUiBCWSBuYW1lIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkKJHJvd2NsYXNzID0gJ3JvdzEnOwoJCndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICB7CiAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CgkKICAgICRvbmVyb3ctPmlkID0gJHJvd1snaWQnXTsKICAgICRvbmVyb3ctPm5hbWUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0Y2F0ZWdvcnknLCAkcmV0dXJuaWQsICRyb3dbJ25hbWUnXSwgYXJyYXkoJ2NhdGlkJz0+JHJvd1snaWQnXSkpOwoKICAgICRvbmVyb3ctPmZpZWxkc2xpbmsgPSAkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnZWRpdGNhdGVnb3J5ZmllbGRzJywkcmV0dXJuaWQsCiAgICAgICAgICAgICAgICAkdGhpcy0+TGFuZygnZWRpdF9jYXRlZ29yeV9maWVsZHMnKSwKICAgICAgICAgICAgICAgICdkYXRhYmFzZV9lZGl0LnBuZycsCiAgICAgICAgICAgICAgICBhcnJheSgnY2F0aWQnPT4kcm93WydpZCddKSk7CgogICAgJG9uZXJvdy0+Y29weWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdjb3B5Y2F0ZWdvcnknLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vY29weS5naWYnLCAkdGhpcy0+TGFuZygnY29weScpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdjYXRpZCc9PiRyb3dbJ2lkJ10pKTsKICAgICRvbmVyb3ctPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGNhdGVnb3J5JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ2VkaXQnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnY2F0aWQnPT4kcm93WydpZCddKSk7CgogICAgJG9uZXJvdy0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2RlbGV0ZWNhdGVnb3J5JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NhdGlkJz0+JHJvd1snaWQnXSksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOwoJCiAgICAkb25lcm93LT5yb3djbGFzcyA9ICRyb3djbGFzczsKCiAgICAkZW50cnlhcnJheVtdID0gJG9uZXJvdzsKCQogICAgKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7CiAgfQoJCiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgkKI1NldHVwIGxpbmtzCiR0aGlzLT5zbWFydHktPmFzc2lnbignYWRkbGluaycsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZGNhdGVnb3J5JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL25ld2ZvbGRlci5naWYnLCAkdGhpcy0+TGFuZygnYWRkY2F0ZWdvcnknKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykgLicgJy4gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkY2F0ZWdvcnknLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCdhZGRjYXRlZ29yeScpLCBhcnJheSgpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKCQokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NhdGVnb3J5dGV4dCcsICR0aGlzLT5MYW5nKCdjYXRlZ29yeScpKTsKCQojRGlzcGxheSB0ZW1wbGF0ZQplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2NhdGVnb3J5bGlzdC50cGwnKTsKCQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_fielddefs_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CgokZW50cnlhcnJheSA9IGFycmF5KCk7CgkKJG1heCA9ICRkYi0+R2V0T25lKCJTRUxFQ1QgbWF4KGl0ZW1fb3JkZXIpIGFzIG1heF9pdGVtX29yZGVyIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMiKTsKCQokcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyBPUkRFUiBCWSBpdGVtX29yZGVyIjsKJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CgkKJHJvd2NsYXNzID0gJ3JvdzEnOwoJCndoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkKICB7CiAgICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CgkJCiAgICAkb25lcm93LT5pZCA9ICRyb3dbJ2lkJ107CiAgICAkb25lcm93LT5uYW1lID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnZWRpdGZpZWxkZGVmJywgJHJldHVybmlkLCAkcm93WyduYW1lJ10sIGFycmF5KCdmZGlkJz0+JHJvd1snaWQnXSkpOwogICAgJG9uZXJvdy0+dHlwZSA9ICRyb3dbJ3R5cGUnXTsKICAgICRvbmVyb3ctPm1heF9sZW5ndGggPSAkcm93WydtYXhfbGVuZ3RoJ107CiAgICAkb25lcm93LT5pdGVtX29yZGVyID0gJHJvd1snaXRlbV9vcmRlciddOwoJCQogICAgaWYgKCRvbmVyb3ctPml0ZW1fb3JkZXIgPiAwKQogICAgICB7Cgkkb25lcm93LT51cGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtb3ZlZmllbGRkZWYnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYnLCAkdGhpcy0+TGFuZygndXAnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnZmRpZCc9PiRyb3dbJ2lkJ10sICdkaXInPT4ndXAnKSk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJG9uZXJvdy0+dXBsaW5rID0gJyc7CiAgICAgIH0KICAgIGlmICgkbWF4ID4gJG9uZXJvdy0+aXRlbV9vcmRlcikKICAgICAgewoJJG9uZXJvdy0+ZG93bmxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdtb3ZlZmllbGRkZWYnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vYXJyb3ctZC5naWYnLCAkdGhpcy0+TGFuZygnZG93bicpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdmZGlkJz0+JHJvd1snaWQnXSwgJ2Rpcic9Pidkb3duJykpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRvbmVyb3ctPmRvd25saW5rID0gJyc7CiAgICAgIH0KCQogICAgJG9uZXJvdy0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdlZGl0ZmllbGRkZWYnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLCAkdGhpcy0+TGFuZygnZWRpdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdmZGlkJz0+JHJvd1snaWQnXSkpOwoKICAgICRvbmVyb3ctPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWxldGVmaWVsZGRlZicsICRyZXR1cm5pZCwgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UoJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywgJHRoaXMtPkxhbmcoJ2RlbGV0ZScpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdmZGlkJz0+JHJvd1snaWQnXSksICR0aGlzLT5MYW5nKCdhcmV5b3VzdXJlJykpOwoJCQogICAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7CgogICAgKCRyb3djbGFzcz09InJvdzEiPyRyb3djbGFzcz0icm93MiI6JHJvd2NsYXNzPSJyb3cxIik7CiAgfQoKJHNtYXJ0eS0+YXNzaWduKCdmaWVsZHR5cGVzJyxwcm9kdWN0X3V0aWxzOjpnZXRfZmllbGRfdHlwZXMoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgkKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdhZGRsaW5rJywgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkZmllbGRkZWYnLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3Zm9sZGVyLmdpZicsICR0aGlzLT5MYW5nKCdhZGRmaWVsZGRlZicpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICcnKSAuJyAnLiAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdhZGRmaWVsZGRlZicsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZGZpZWxkZGVmJyksIGFycmF5KCksICcnLCBmYWxzZSwgZmFsc2UsICdjbGFzcz0icGFnZW9wdGlvbnMiJykpOwoJCiR0aGlzLT5zbWFydHktPmFzc2lnbignZmllbGRkZWZ0ZXh0JywgJHRoaXMtPkxhbmcoJ2ZpZWxkZGVmJykpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3R5cGV0ZXh0JywgJHRoaXMtPkxhbmcoJ3R5cGUnKSk7CgkKI0Rpc3BsYXkgdGVtcGxhdGUKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdmaWVsZGRlZmxpc3QudHBsJyk7CgkKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_hierarchy_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIGV4aXQ7CgokZW50cnlhcnJheSA9IGhpZXJhcmNoeV9vcHM6OmdldF9mbGF0X2xpc3QoKTsKJHNtYXJ0eS0+YXNzaWduKCdlbnRyaWVzJywkZW50cnlhcnJheSk7CiRzbWFydHktPmFzc2lnbignYWRkX2hpZXJhcmNoeV9saW5rJywKCQkkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRtaW5fYWRkX2hpZXJhcmNoeV9pdGVtJywKCQkJCSAgICAgICAkcmV0dXJuaWQsCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FkZF9oaWVyYXJjaHlfaXRlbScpLAoJCQkJICAgICAgICdpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZicsCgkJCQkgICAgICAgYXJyYXkoKSwnJywnJyxmYWxzZSkpOwoKaWYoIGNvdW50KCRlbnRyeWFycmF5KSA+IDEgKQogIHsKICAgICRzbWFydHktPmFzc2lnbigncmVvcmRlcl9saW5rJywKCQkgICAgJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX3Jlb3JkZXJfaGllcmFyY2h5JywKCQkJCQkgICAkcmV0dXJuaWQsCgkJCQkJICAgJHRoaXMtPkxhbmcoJ3Jlb3JkZXJfaGllcmFyY2h5JyksCgkJCQkJICAgJ2ljb25zL3N5c3RlbS9yZW9yZGVyLmdpZicsCgkJCQkJICAgYXJyYXkoKSwnJywnJyxmYWxzZSkpOwogIH0KCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgnYWRtaW5faGllcmFyY2h5X3RhYi50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_prefstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgcmV0dXJuOwoKCiRjb250ZW50b3BzID0gJGdDbXMtPkdldENvbnRlbnRPcGVyYXRpb25zKCk7CiRzb3J0b3JkZXIgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyJywnYXNjJyk7CiRzb3J0YnkgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc29ydGJ5JywncHJvZHVjdF9uYW1lJyk7Cgokc21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3NhdmVwcmVmcycsJHJldHVybmlkKSk7CiRzbWFydHktPmFzc2lnbignZW5kZm9ybScsCgkJJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignc3VibWl0JywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLCR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZGV0YWlscGFnZScsJHRoaXMtPkxhbmcoJ3Byb21wdF9kZXRhaWxwYWdlJykpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2RldGFpbHBhZ2UnLAoJCSRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGV0YWlscGFnZScpLAoJCQkJCSAgICAgICAkaWQuJ2RldGFpbHBhZ2UnKSk7Cgokc3RhdHVzZXMgPSBhcnJheSgkdGhpcy0+TGFuZygncHVibGlzaGVkJyk9PidwdWJsaXNoZWQnLAoJCSAgJHRoaXMtPkxhbmcoJ2RyYWZ0Jyk9PidkcmFmdCcsCgkJICAkdGhpcy0+TGFuZygnZGlzYWJsZWQnKT0+J2Rpc2FibGVkJyk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc3RhdHVzJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ3N0YXR1cycsCgkJCQkJICAgJHN0YXR1c2VzLC0xLAoJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X3N0YXR1cycsJ3B1Ymxpc2hlZCcpKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfdGF4YWJsZScsCgkJLy8JCSR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RheGFibGUnLDApLgoJCSR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwndGF4YWJsZScsMSwKCQkJCQkgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF90YXhhYmxlJywxKSkpOwoKJHNvcnRvcmRlcnMgPSBhcnJheSgkdGhpcy0+TGFuZygnYXNjZW5kaW5nJyk9Pidhc2MnLAoJCSAgICAkdGhpcy0+TGFuZygnZGVzY2VuZGluZycpPT4nZGVzYycpOwokc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJywkdGhpcy0+TGFuZygncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc3VtbWFyeXNvcnRvcmRlcicsCgkJJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdzb3J0b3JkZXInLCRzb3J0b3JkZXJzLC0xLCRzb3J0b3JkZXIpKTsKCmlmKCAhY2xhc3NfZXhpc3RzKCdjZ19lY29tbScpICkKICB7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCcsJHRoaXMtPkxhbmcoJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCcpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfY3VycmVuY3lzeW1ib2wnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwnY3VycmVuY3lzeW1ib2wnLAoJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9kdWN0c19jdXJyZW5jeXN5bWJvbCcpKSk7CiAgICAKICAgICRzbWFydHktPmFzc2lnbigncHJvbXB0X3dlaWdodHVuaXRzJywkdGhpcy0+TGFuZygncHJvbXB0X3dlaWdodHVuaXRzJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF93ZWlnaHR1bml0cycsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCd3ZWlnaHR1bml0cycsCgkJCQkJICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ3Byb2R1Y3RzX3dlaWdodHVuaXRzJykpKTsKCiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9sZW5ndGh1bml0cycsJHRoaXMtPkxhbmcoJ3Byb21wdF9sZW5ndGh1bml0cycpKTsKICAgICRvcHRzID0gYXJyYXkoJHRoaXMtPkxhbmcoJ2luY2hlcycpPT4naW4nLAoJCSAgJHRoaXMtPkxhbmcoJ2NlbnRpbWV0ZXJzJyk9PidjbScpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9sZW5ndGh1bml0cycsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnbGVuZ3RodW5pdHMnLCRvcHRzLC0xLAoJCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZHVjdHNfbGVuZ3RodW5pdHMnKSkpOwogIH0KCgokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2FsbG93ZWRfaW1hZ2V0eXBlcycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2FsbG93ZWRfaW1hZ2V0eXBlcycsCgkJCQkgICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoJ2FsbG93ZWRfaW1hZ2V0eXBlcycpLDUwLDI1NSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hbGxvd2VkX2ZpbGV0eXBlcycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2FsbG93ZWRfZmlsZXR5cGVzJywKCQkJCSAgICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9maWxldHlwZXMnKSw1MCwyNTUpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfYXV0b3RodW1ibmFpbCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ2F1dG90aHVtYm5haWwnLAoJCQkJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnYXV0b3RodW1ibmFpbCcpKSk7Cgokc21hcnR5LT5hc3NpZ24oJ2F1dG9fdGh1bWJuYWlsX3NpemUnLAoJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvX3RodW1ibmFpbF9zaXplJyw3NSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9hdXRvcHJldmlld2ltZycsCgkJJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ2F1dG9wcmV2aWV3aW1nJywKCQkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ2F1dG9wcmV2aWV3aW1nJykpKTsKCiRzbWFydHktPmFzc2lnbignYXV0b19wcmV2aWV3aW1nX3NpemUnLAoJCSR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvX3ByZXZpZXdpbWdfc2l6ZScsMTUwKSk7Cgokc21hcnR5LT5hc3NpZ24oJ3VybHByZWZpeCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VybHByZWZpeCcsJycpKTsKCiRvcHRzID0gYXJyYXkoKTsKJG9wdHNbJHRoaXMtPkxhbmcoJ25vbmUnKV0gPSAnbm9uZSc7CiRvcHRzWyR0aGlzLT5MYW5nKCdhdXRvbWF0aWMnKV0gPSAnYXV0byc7CiRvcHRzWyR0aGlzLT5MYW5nKCdhZGp1c3RhYmxlJyldID0gJ2FkanVzdGFibGUnOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2F1dG93YXRlcm1hcmsnLAogICAgICAgICAgICAgICAgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCdhdXRvd2F0ZXJtYXJrJywkb3B0cywtMSwKICAgICAgICAgICAgICAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhdXRvd2F0ZXJtYXJrJykpKTsKCiRzbWFydHktPmFzc2lnbignc3VtbWFyeV9uZXdkZWZhdWx0JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc3VtbWFyeV9uZXdkZWZhdWx0JywwKSk7CiRzbWFydHktPmFzc2lnbignc3VtbWFyeV9wYWdlbGltaXQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzdW1tYXJ5X3BhZ2VsaW1pdCcsMTAwMDApKTsKCiRzb3J0aW5ncyA9IGFycmF5KCR0aGlzLT5MYW5nKCdwcm9kdWN0bmFtZScpPT4ncHJvZHVjdF9uYW1lJywKCQkgICR0aGlzLT5MYW5nKCdwcmljZScpPT4ncHJpY2UnLAoJCSAgJHRoaXMtPkxhbmcoJ2NyZWF0ZWRkYXRlJyk9PidjcmVhdGVfZGF0ZScsCgkJICAkdGhpcy0+TGFuZygnbW9kaWZpZWRkYXRlJyk9Pidtb2RpZmllZF9kYXRlJywKCQkgICR0aGlzLT5MYW5nKCdyYW5kb20nKT0+J3JhbmRvbScsCgkJICAkdGhpcy0+TGFuZygnc3RhdHVzJyk9PidzdGF0dXMnKTsKJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfc3VtbWFyeXNvcnRpbmcnLCR0aGlzLT5MYW5nKCdwcm9tcHRfc3VtbWFyeXNvcnRpbmcnKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfc3VtbWFyeXNvcnRpbmcnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnc29ydGJ5Jywkc29ydGluZ3MsLTEsJHNvcnRieSkpOwoKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZWxldGVwcm9kdWN0ZmlsZXMnLAoJCSR0aGlzLT5DcmVhdGVJbnB1dFllc05vRHJvcGRvd24oJGlkLCdkZWxldGVwcm9kdWN0ZmlsZXMnLAoJCQkJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVsZXRlcHJvZHVjdGZpbGVzJykpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlaGllcnBhdGh1cmxzJywKCQkkdGhpcy0+Q3JlYXRlSW5wdXRZZXNOb0Ryb3Bkb3duKCRpZCwndXNlaGllcnBhdGh1cmxzJywKCQkJCQkJJHRoaXMtPkdldFByZWZlcmVuY2UoJ3VzZWhpZXJwYXRodXJscycsMCkpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfdXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCcsCgkJJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ3VzZV9kZXRhaWxwYWdlX2Zvcl9zZWFyY2gnLAoJCQkJCQkkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCcsMCkpKTsKCiRzbWFydHktPmFzc2lnbignaW5wdXRfaGllcnBhZ2UnLAoJCSRjb250ZW50b3BzLT5DcmVhdGVIaWVyYXJjaHlEcm9wZG93bignJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGllcnBhZ2UnKSwKCQkJCQkgICAgICAgJGlkLidoaWVycGFnZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcmV0dHloaWVydXJscycsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3ByZXR0eWhpZXJ1cmxzJywwKSk7Cgokbm90Zm91bmRfb3B0cyA9IGFycmF5KCk7CiRub3Rmb3VuZF9vcHRzWydkbzQwNCddID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9ub3Rmb3VuZF80MDQnKTsKJG5vdGZvdW5kX29wdHNbJ2RvMzAxJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X25vdGZvdW5kXzMwMScpOwokbm90Zm91bmRfb3B0c1snZG9tc2cnXSA9ICR0aGlzLT5MYW5nKCdwcm9tcHRfbm90Zm91bmRfZXJyb3Jtc2cnKTsKJHNtYXJ0eS0+YXNzaWduKCdub3Rmb3VuZF9vcHRzJywkbm90Zm91bmRfb3B0cyk7CiRzbWFydHktPmFzc2lnbigncHJvZG5vdGZvdW5kJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZG5vdGZvdW5kJywnZG9tc2cnKSk7CiRzbWFydHktPmFzc2lnbigncHJvZG5vdGZvdW5kbXNnJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgncHJvZG5vdGZvdW5kbXNnJywkdGhpcy0+TGFuZygnZXJyb3JfcHJvZHVjdF9ub3Rmb3VuZCcpKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcHJvZG5vdGZvdW5kcGFnZScsCgkJJGNvbnRlbnRvcHMtPkNyZWF0ZUhpZXJhcmNoeURyb3Bkb3duKCcnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcm9kbm90Zm91bmRwYWdlJywtMSksJGlkLidwcm9kbm90Zm91bmRwYWdlJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdza3VyZXF1aXJlZCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NrdXJlcXVpcmVkJywwKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ3ByZWZzLnRwbCcpOwoKLy8gRU9GCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_productstab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYgKCEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKSApIHJldHVybjsKCgovLwovLyBTZXR1cAovLwokcGFnZWxpbWl0cyA9IGFycmF5KCcyJz0+MiwnNSc9PjUsJzI1Jz0+MjUsJzEwMCc9PjEwMCwnNTAwJz0+NTAwKTsKJHNvcnRpdGVtcyA9IGFycmF5KCk7CiRzb3J0aXRlbXNbJHRoaXMtPkxhbmcoJ3Byb2R1Y3RuYW1lJyldID0gJ3Byb2R1Y3RfbmFtZSc7CiRzb3J0aXRlbXNbJHRoaXMtPkxhbmcoJ3ByaWNlJyldID0gJ3ByaWNlJzsKJHNvcnRpdGVtc1skdGhpcy0+TGFuZygnd2VpZ2h0JyldID0gJ3dlaWdodCc7CiRzb3J0aXRlbXNbJHRoaXMtPkxhbmcoJ3NrdScpXSA9ICdza3UnOwokc29ydGl0ZW1zWyR0aGlzLT5MYW5nKCdjcmVhdGVkZGF0ZScpXSA9ICdjcmVhdGVfZGF0ZSc7CiRzb3J0aXRlbXNbJHRoaXMtPkxhbmcoJ21vZGlmaWVkZGF0ZScpXSA9ICdtb2RpZmllZF9kYXRlJzsKJHNvcnRvcmRlcnMgPSBhcnJheSgpOwokc29ydG9yZGVyc1skdGhpcy0+TGFuZygnYXNjZW5kaW5nJyldID0gJ2FzYyc7CiRzb3J0b3JkZXJzWyR0aGlzLT5MYW5nKCdkZXNjZW5kaW5nJyldID0gJ2Rlc2MnOwokdWlkID0gZ2V0X3VzZXJpZChmYWxzZSk7CiRoaWVyYXJjaHkgPSAnJzsKJGNoaWxkcmVuICA9IDA7CiRwYWdlbGltaXQgPSAyNTsKJHNvcnRieSAgICA9ICdjcmVhdGVfZGF0ZSc7CiRzb3J0b3JkZXIgPSAnZGVzYyc7CiRwYWdlbnVtYmVyID0gMTsKJGZpZWxkc192aWV3YWJsZSA9IGFycmF5KCk7CiRmaWVsZF9uYW1lcyA9IGFycmF5KCk7CgppZiggaXNzZXQoJHBhcmFtc1sncmVzZXQnXSkgKSB7CiAgc2V0X3ByZWZlcmVuY2UoJHVpZCwncHJvZHVjdHNfc2VsX2hpZXJhcmNoeScsJycpOwogIHNldF9wcmVmZXJlbmNlKCR1aWQsJ3Byb2R1Y3RzX3NlbF9jaGlsZHJlbicsMCk7CiAgc2V0X3ByZWZlcmVuY2UoJHVpZCwncHJvZHVjdHNfc2VsX3BhZ2VsaW1pdCcsMjUpOwogIHNldF9wcmVmZXJlbmNlKCR1aWQsJ3Byb2R1Y3RzX3NlbF9zb3J0YnknLCdjcmVhdGVfZGF0ZScpOwogIHNldF9wcmVmZXJlbmNlKCR1aWQsJ3Byb2R1Y3RzX3NlbF9zb3J0b3JkZXInLCdkZXNjJyk7CiAgc2V0X3ByZWZlcmVuY2UoJHVpZCwncHJvZHVjdHNfc2VsX2V4Y2x1ZGVjYXRzJywwKTsKICBzZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfY2F0ZWdvcmllcycsJycpOwp9CgovLwovLyBHZXQgcHJlZmVyZW5jZXMKLy8KJGhpZXJhcmNoeSAgID0gZ2V0X3ByZWZlcmVuY2UoJHVpZCwncHJvZHVjdHNfc2VsX2hpZXJhcmNoeScsJycpOwokY2hpbGRyZW4gICAgPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfY2hpbGRyZW4nLDApOwokcGFnZWxpbWl0ICAgPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfcGFnZWxpbWl0JywyNSk7CiRzb3J0YnkgICAgICA9IGdldF9wcmVmZXJlbmNlKCR1aWQsJ3Byb2R1Y3RzX3NlbF9zb3J0YnknLCdjcmVhdGVfZGF0ZScpOwokc29ydG9yZGVyICAgPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfc29ydG9yZGVyJywnZGVzYycpOwokZXhjbHVkZWNhdHMgPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfZXhjbHVkZWNhdHMnLDApOwokY2F0ZWdvcmllcyA9ICcnOwokdG1wPSBnZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfY2F0ZWdvcmllcycsJycpOwppZiggIWVtcHR5KCR0bXApICkgJGNhdGVnb3JpZXMgPSBleHBsb2RlKCcsJywkdG1wKTsKJGN1c3RvbV9maWVsZHMgPSAnJzsKJHRtcCA9IGdldF9wcmVmZXJlbmNlKCd1aWQnLCdwcm9kdWN0c19zZWxfY3VzdG9tZmllbGRzJywnJyk7CmlmKCAhZW1wdHkoJHRtcCkgKSAkY3VzdG9tX2ZpZWxkcyA9IGV4cGxvZGUoJywnLCR0bXApOwokZmlsdGVyaW51c2UgPSAoJGhpZXJhcmNoeSAhPSAnJyB8fCAkY2hpbGRyZW4gIT0gMCB8fCAoaXNfYXJyYXkoJGNhdGVnb3JpZXMpICYmIGNvdW50KCRjYXRlZ29yaWVzKSkgfHwgJGV4Y2x1ZGVjYXRzICE9IDAgKTsKCi8vCi8vIEhhbmRsZSBHZXQgcGFyYW1ldGVycwovLwppZiggaXNzZXQoJHBhcmFtc1sncGFnZW51bWJlciddKSApCiAgewogICAgJHBhZ2VudW1iZXIgPSAoaW50KSRwYXJhbXNbJ3BhZ2VudW1iZXInXTsKICB9CgoKLy8KLy8gSGFuZGxlIGZvcm0gc3VibWl0Ci8vCmlmKCBpc3NldCgkcGFyYW1zWydzdWJtaXQnXSkgKQogIHsKICAgICRoaWVyYXJjaHkgPSB0cmltKCRwYXJhbXNbJ2lucHV0X2hpZXJhcmNoeSddKTsKICAgICRjaGlsZHJlbiA9IChpbnQpJHBhcmFtc1snaW5wdXRfY2hpbGRyZW4nXTsKICAgICRwYWdlbGltaXQgPSAoaW50KSRwYXJhbXNbJ2lucHV0X3BhZ2VsaW1pdCddOwogICAgJHNvcnRieSA9IHRyaW0oJHBhcmFtc1snaW5wdXRfc29ydGJ5J10pOwogICAgJHNvcnRvcmRlciA9IHRyaW0oJHBhcmFtc1snaW5wdXRfc29ydG9yZGVyJ10pOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ2N1c3RvbV9maWVsZHMnXSkgKQogICAgICB7CgkkY3VzdG9tX2ZpZWxkcyA9ICRwYXJhbXNbJ2N1c3RvbV9maWVsZHMnXTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkY3VzdG9tX2ZpZWxkcyA9IGFycmF5KCk7CiAgICAgIH0KICAgIGlmKCBpc3NldCgkcGFyYW1zWydjYXRlZ29yaWVzJ10pICkKICAgICAgewoJJGNhdGVnb3JpZXMgPSAkcGFyYW1zWydjYXRlZ29yaWVzJ107CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJGNhdGVnb3JpZXMgPSBhcnJheSgpOwogICAgICB9CiAgICAkZXhjbHVkZWNhdHMgPSAoaW50KSRwYXJhbXNbJ2lucHV0X2V4Y2x1ZGVjYXRzJ107CgogICAgLy8gc3RvcmUgdGhlbSBhcyB1c2VyIHByZWZlcmVuY2VzCiAgICBzZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfaGllcmFyY2h5JywkaGllcmFyY2h5KTsKICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsJ3Byb2R1Y3RzX3NlbF9jaGlsZHJlbicsJGNoaWxkcmVuKTsKICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsJ3Byb2R1Y3RzX3NlbF9wYWdlbGltaXQnLCRwYWdlbGltaXQpOwogICAgc2V0X3ByZWZlcmVuY2UoJHVpZCwncHJvZHVjdHNfc2VsX3NvcnRieScsJHNvcnRieSk7CiAgICBzZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfc29ydG9yZGVyJywkc29ydG9yZGVyKTsKICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsJ3Byb2R1Y3RzX3NlbF9jdXN0b21maWVsZHMnLGltcGxvZGUoJywnLCRjdXN0b21fZmllbGRzKSk7CiAgICBzZXRfcHJlZmVyZW5jZSgkdWlkLCdwcm9kdWN0c19zZWxfY2F0ZWdvcmllcycsaW1wbG9kZSgnLCcsJGNhdGVnb3JpZXMpKTsKICAgIHNldF9wcmVmZXJlbmNlKCR1aWQsJ3Byb2R1Y3RzX3NlbF9leGNsdWRlY2F0cycsJGV4Y2x1ZGVjYXRzKTsKICB9CgovLwovLyBCZWdpbiB0aGUgZm9ybQovLwp7CiAgJHRtcCA9ICR0aGlzLT5HZXRDYXRlZ29yaWVzKCk7CiAgaWYoIGlzX2FycmF5KCR0bXApICYmIGNvdW50KCR0bXApICkKICAgIHsKICAgICAgJGNhdGVnb3J5X2xpc3QgPSBhcnJheSgpOwogICAgICBmb3JlYWNoKCAkdG1wIGFzICRvbmUgKSB7CgkkY2F0ZWdvcnlfbGlzdFskb25lLT5pZF0gPSAkb25lLT5uYW1lOwogICAgICB9CiAgICAgICRzbWFydHktPmFzc2lnbignY2F0ZWdvcnlfbGlzdCcsJGNhdGVnb3J5X2xpc3QpOwogICAgfQp9CgokZmllbGRkZWZzID0gJHRoaXMtPkdldEZpZWxkRGVmcygpOwpmb3JlYWNoKCAkZmllbGRkZWZzIGFzICRvbmVkZWYgKQp7CiAgc3dpdGNoKCAkb25lZGVmLT50eXBlICkKICAgIHsKICAgIGNhc2UgJ3RleHRib3gnOgogICAgY2FzZSAnZHJvcGRvd24nOgogICAgICAkc29ydGl0ZW1zWyRvbmVkZWYtPnByb21wdF0gPSAnLUYtJy4kb25lZGVmLT5pZDsKICAgICAgYnJlYWs7CiAgICB9Cn0KCiRhbGxfZmllbGRzID0gcHJvZHVjdF9vcHM6OmdldF9maWVsZHMoKTsKaWYoIGlzX2FycmF5KCRhbGxfZmllbGRzKSApCiAgewogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGFsbF9maWVsZHMpOyAkaSsrICkKICAgICAgewoJc3dpdGNoKCAkYWxsX2ZpZWxkc1skaV1bJ3R5cGUnXSApCgkgIHsKCSAgY2FzZSAndGV4dGFyZWEnOgoJICAgIGJyZWFrOwoJICBkZWZhdWx0OgoJICAgICRmaWVsZHNfdmlld2FibGVbJGFsbF9maWVsZHNbJGldWydpZCddXSA9ICRhbGxfZmllbGRzWyRpXVsncHJvbXB0J107CgkgICAgJGZpZWxkX25hbWVzWyRhbGxfZmllbGRzWyRpXVsnaWQnXV0gPSAkYWxsX2ZpZWxkc1skaV1bJ25hbWUnXTsKCSAgICBicmVhazsKCSAgfQogICAgICB9CiAgICBpZiggY291bnQoJGZpZWxkc192aWV3YWJsZSkgJiYgaXNfYXJyYXkoJGN1c3RvbV9maWVsZHMpICkKICAgICAgewoJLy8gbm93IHRyaW0gZG93biB0aGUgY3VzdG9tIGZpZWxkcwoJLy8gdG8gbWFrZSBzdXJlIHRoYXQgc29tZXRoaW5nIGhhc24ndCBiZWVuIGRlbGV0ZWQuCgkkdG1wID0gYXJyYXkoKTsKCWZvcmVhY2goICRjdXN0b21fZmllbGRzIGFzICRmaWQgKQoJICB7CgkgICAgaWYoIGluX2FycmF5KCRmaWQsYXJyYXlfa2V5cygkZmllbGRzX3ZpZXdhYmxlKSkgKQoJICAgICAgewoJCSR0bXBbXSA9ICRmaWQ7CgkgICAgICB9CgkgIH0KCSRjdXN0b21fZmllbGRzID0gJHRtcDsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkY3VzdG9tX2ZpZWxkcyA9IGFycmF5KCk7CiAgICAgIH0KICB9CiRhbGxfZmllbGRzID0gY2dlX2FycmF5Ojp0b19oYXNoKCRhbGxfZmllbGRzLCduYW1lJyk7CmlmKCBjb3VudCgkZmllbGRzX3ZpZXdhYmxlKSApCiAgewogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWVsZHNfdmlld2FibGUnLCRmaWVsZHNfdmlld2FibGUpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdmaWVsZF9uYW1lcycsJGZpZWxkX25hbWVzKTsKICB9CmlmKCBjb3VudCgkY2F0ZWdvcmllcykgKQogIHsKICAgICRzbWFydHktPmFzc2lnbignY2F0ZWdvcmllcycsJGNhdGVnb3JpZXMpOwogIH0KJHNtYXJ0eS0+YXNzaWduKCdjdXN0b21fZmllbGRzJywkY3VzdG9tX2ZpZWxkcyk7CiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU3RhcnQoJGlkLCdkZWZhdWx0YWRtaW4nKSk7CiRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfaGllcmFyY2h5JywkdGhpcy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oJGlkLCdpbnB1dF9oaWVyYXJjaHknLCRoaWVyYXJjaHkpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jaGlsZHJlbicsJHRoaXMtPkNyZWF0ZUlucHV0WWVzTm9Ecm9wZG93bigkaWQsJ2lucHV0X2NoaWxkcmVuJywkY2hpbGRyZW4pKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zb3J0YnknLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfc29ydGJ5Jywkc29ydGl0ZW1zLC0xLCRzb3J0YnkpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9zb3J0b3JkZXInLCR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwnaW5wdXRfc29ydG9yZGVyJywkc29ydG9yZGVycywtMSwkc29ydG9yZGVyKSk7CiRzbWFydHktPmFzc2lnbignaW5wdXRfcGFnZWxpbWl0JywkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsJ2lucHV0X3BhZ2VsaW1pdCcsJHBhZ2VsaW1pdHMsLTEsJHBhZ2VsaW1pdCkpOwokc21hcnR5LT5hc3NpZ24oJ2lucHV0X2V4Y2x1ZGVjYXRzJywkdGhpcy0+Q3JlYXRlSW5wdXRZZXNOb0Ryb3Bkb3duKCRpZCwnaW5wdXRfZXhjbHVkZWNhdHMnLCRleGNsdWRlY2F0cykpOwoKCi8vCi8vIEJ1aWxkIHRoZSBxdWVyeQovLwokZmllbGRzID0gYXJyYXkoKTsKJGZpZWxkc1tdID0gJ0RJU1RJTkNUIHAuKic7CiRwcmVmaXgxID0gIlNFTEVDVCA8RklFTERTPiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHMgcCAiOwokcHJlZml4MiA9ICJTRUxFQ1QgY291bnQocC5pZCkgQVMgY291bnQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIHAgJzsKJHdoZXJlID0gYXJyYXkoKTsKJGpvaW5zID0gYXJyYXkoKTsKJHFwYXJtcyA9IGFycmF5KCk7CmlmKCBpc19hcnJheSgkY3VzdG9tX2ZpZWxkcykgJiYgY291bnQoJGN1c3RvbV9maWVsZHMpICYmIGNvdW50KCRmaWVsZHNfdmlld2FibGUpICkKICB7CiAgICBmb3IoICRqID0gMDsgJGogPCBjb3VudCgkY3VzdG9tX2ZpZWxkcyk7ICRqKysgKQogICAgICB7CgkkZmlkID0gJGN1c3RvbV9maWVsZHNbJGpdOwoJJGZpZWxkc1tdID0gIkZ2eyRqfS52YWx1ZSBBUyAnRmxkX197JGZpZWxkX25hbWVzWyRmaWRdfSciOwoJJGpvaW5zW10gPSAnTEVGVCBPVVRFUiBKT0lOICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzIEZ2eyRqfQogICAgICAgICAgICAgICAgICAgIE9OIEZ2eyRqfS5wcm9kdWN0X2lkID0gcC5pZCBBTkQgRnZ7JGp9LmZpZWxkZGVmX2lkID0gPyI7CgkkcXBhcm1zW10gPSAkY3VzdG9tX2ZpZWxkc1skal07CiAgICAgIH0KICB9CmlmKCAhZW1wdHkoJGhpZXJhcmNoeSkgKQogIHsKICAgICR0cXVlcnkgPSAnU0VMRUNUIGxvbmdfbmFtZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5CiAgICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAkbG9uZ19uYW1lID0gJGRiLT5HZXRPbmUoJHRxdWVyeSxhcnJheSgkaGllcmFyY2h5KSk7CgogICAgJGpvaW5zW10gPSAnTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHRvaGllciBwaCAKICAgICAgICAgICAgICAgICAgT04gcGgucHJvZHVjdF9pZCA9IHAuaWQnOwogICAgJGpvaW5zW10gPSAnTEVGVCBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IGgKICAgICAgICAgICAgICAgICAgT04gaC5pZCA9IHBoLmhpZXJhcmNoeV9pZCc7CiAgICAkd2hlcmVbXSA9ICdoLmxvbmdfbmFtZSBMSUtFID8nOwogICAgaWYoICRjaGlsZHJlbiApCiAgICAgIHsKCSRxcGFybXNbXSA9ICRsb25nX25hbWUuJyUnOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRxcGFybXNbXSA9ICRsb25nX25hbWU7CiAgICAgIH0KICB9CgppZiggaXNfYXJyYXkoJGNhdGVnb3JpZXMpICYmIGNvdW50KCRjYXRlZ29yaWVzKSA+IDAgKQogIHsKICAgICRqb2luc1tdID0gJ0xFRlQgT1VURVIgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcyBwYwogICAgICAgICAgICAgICAgICBPTiBwLmlkID0gcGMucHJvZHVjdF9pZCc7CiAgICBpZiggJGV4Y2x1ZGVjYXRzICkKICAgICAgewoJJHdoZXJlW10gPSAnQ09BTEVTQ0UocGMuY2F0ZWdvcnlfaWQsLTEpIE5PVCBJTiAoJy5pbXBsb2RlKCcsJywkY2F0ZWdvcmllcykuJyknOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSR3aGVyZVtdID0gJ3BjLmNhdGVnb3J5X2lkIElOICgnLmltcGxvZGUoJywnLCRjYXRlZ29yaWVzKS4nKSc7CiAgICAgIH0KICB9CgovLyBoYW5kbGUgZnVua3kgY3VzdG9tIGZpZWxkIHNvcnQgb3JkZXJzCmlmKCBzdGFydHN3aXRoKCRzb3J0YnksJy1GLScpICkKICB7CiAgICAkZmlkID0gKGludClzdWJzdHIoJHNvcnRieSwzKTsKICAgICRqb2luc1tdID0gJ0xFRlQgSk9JTiAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyBmdgogICAgICAgICAgICAgICAgICBPTiBmdi5wcm9kdWN0X2lkID0gcC5pZCc7CiAgICAkd2hlcmVbXSA9ICdmdi5maWVsZGRlZl9pZCA9ID8nOwogICAgJHFwYXJtc1tdID0gJGZpZDsKICAgICRvcmRlciA9ICIgT1JERVIgQlkgZnYudmFsdWUgJHNvcnRvcmRlciI7CiAgfQplbHNlCiAgewogICAgJG9yZGVyID0gIiBPUkRFUiBCWSAkc29ydGJ5ICRzb3J0b3JkZXIiOwogIH0KCiRzdHIgPSBpbXBsb2RlKCcgJywkam9pbnMpOwppZiggY291bnQoJHdoZXJlKSApCiAgewogICAgJHN0ciAuPSAnIFdIRVJFICcgLiBpbXBsb2RlKCcgQU5EICcsJHdoZXJlKSAuICRvcmRlcjsKICB9CmVsc2UKICB7CiAgICAkc3RyIC49ICRvcmRlcjsKICB9CiRxdWVyeTEgPSBzdHJfcmVwbGFjZSgnPEZJRUxEUz4nLGltcGxvZGUoJywnLCRmaWVsZHMpLCRwcmVmaXgxKSAuICRzdHI7CiRxdWVyeTIgPSAkcHJlZml4MiAuICRzdHI7CgovLwovLyBTZXR1cCBzdGFydCBlbGVtZW50LCBhbmQgY291bnQgcGFnZXMKLy8KJHRvdGFsY291bnQgPSAkZGItPkdldE9uZSgkcXVlcnkyLCRxcGFybXMpOwokcGFnZWNvdW50ID0gKGludCkoJHRvdGFsY291bnQvJHBhZ2VsaW1pdCk7CmlmKCAoJHRvdGFsY291bnQgJSAkcGFnZWxpbWl0KSAhPSAwICkgJHBhZ2Vjb3VudCsrOwokc3RhcnRlbGVtZW50ID0gKCRwYWdlbnVtYmVyLTEpICogJHBhZ2VsaW1pdDsKCi8vCi8vIEJlZ2luIHRoZSBvdXRwdXQKLy8KJHNtYXJ0eS0+YXNzaWduKCdwYWdlbnVtYmVyJywkcGFnZW51bWJlcik7CiRzbWFydHktPmFzc2lnbigncGFnZWNvdW50JywkcGFnZWNvdW50KTsKJHNtYXJ0eS0+YXNzaWduKCd0b3RhbHJvd3MnLCR0b3RhbGNvdW50KTsKaWYoICRwYWdlbnVtYmVyID4gMSApCiAgewogICAgJHBhcm1zID0gYXJyYXkoJ3BhZ2VudW1iZXInPT4xKTsKICAgICRzbWFydHktPmFzc2lnbignZmlyc3RwYWdlX3VybCcsCgkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLCRwYXJtcykpOwogICAgJHBhcm1zID0gYXJyYXkoJ3BhZ2VudW1iZXInPT4kcGFnZW51bWJlciAtMSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3ByZXZwYWdlX3VybCcsCgkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLCRwYXJtcykpOwogIH0KaWYoICRwYWdlbnVtYmVyIDwgJHBhZ2Vjb3VudCApCiAgewogICAgJHBhcm1zID0gYXJyYXkoJ3BhZ2VudW1iZXInPT4kcGFnZW51bWJlciArIDEpOwogICAgJHNtYXJ0eS0+YXNzaWduKCduZXh0cGFnZV91cmwnLAoJCSAgICAkdGhpcy0+Q3JlYXRlVVJMKCRpZCwnZGVmYXVsdGFkbWluJywnJywkcGFybXMpKTsKICAgICRwYXJtcyA9IGFycmF5KCdwYWdlbnVtYmVyJz0+JHBhZ2Vjb3VudCk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2xhc3RwYWdlX3VybCcsCgkJICAgICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdkZWZhdWx0YWRtaW4nLCcnLCRwYXJtcykpOwogIH0KJGVudHJ5YXJyYXkgPSBhcnJheSgpOwkKJGRicmVzdWx0ID0gJGRiLT5TZWxlY3RMaW1pdCgkcXVlcnkxLCRwYWdlbGltaXQsJHN0YXJ0ZWxlbWVudCwkcXBhcm1zKTsKCQp3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCiAgewogICAgZm9yZWFjaCggJHJvdyBhcyAka2V5ID0+ICR2YWx1ZSApCiAgICAgIHsKCWlmKCBzdGFydHN3aXRoKCRrZXksJ0ZsZF9fJykgKQoJICB7CgkgICAgdW5zZXQoJHJvd1ska2V5XSk7CgkgICAgJGtleSA9IHN1YnN0cigka2V5LHN0cmxlbignRmxkX18nKSk7CgkgICAgJHJvd1ska2V5XSA9ICR2YWx1ZTsKCgkgICAgJHRtcCA9IEB1bnNlcmlhbGl6ZSgkdmFsdWUpOwoJICAgIGlmKCAkdG1wICE9PSBGQUxTRSApCgkgICAgICB7CgkJJHJvd1ska2V5XSA9IHByb2R1Y3RfdXRpbHM6OmdldF9kaXNwbGF5YWJsZV9maWVsZHZhbCgka2V5LCR0bXApOwoJICAgICAgfQoJICAgIGVsc2UKCSAgICAgIHsKCQkkcm93WyRrZXldID0gcHJvZHVjdF91dGlsczo6Z2V0X2Rpc3BsYXlhYmxlX2ZpZWxkdmFsKCRrZXksJHZhbHVlKTsKCSAgICAgIH0KCSAgfQogICAgICB9CgogICAgJHJvd1snZWRpdF91cmwnXSA9ICR0aGlzLT5DcmVhdGVVUkwoJGlkLCdlZGl0cHJvZHVjdCcsJHJldHVybmlkLAoJCQkJCSBhcnJheSgnY29tcGlkJz0+JHJvd1snaWQnXSkpOwogICAgJHJvd1snZWRpdGxpbmsnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2VkaXRwcm9kdWN0JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2VkaXQuZ2lmJywgJHRoaXMtPkxhbmcoJ2VkaXQnKSwnJywnJywnc3lzdGVtaWNvbicpLCBhcnJheSgnY29tcGlkJz0+JHJvd1snaWQnXSkpOwoJCQogICAgJHJvd1snY29weWxpbmsnXSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkbWluX2NvcHlwcm9kdWN0JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2NvcHkuZ2lmJywgJHRoaXMtPkxhbmcoJ2NvcHlfcHJvZHVjdCcpLCcnLCcnLCdzeXN0ZW1pY29uJyksIGFycmF5KCdjb21waWQnPT4kcm93WydpZCddKSk7CgkJCiAgICAkcm93WydkZWxldGVsaW5rJ10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdkZWxldGVwcm9kdWN0JywgJHJldHVybmlkLCAkZ0Ntcy0+dmFyaWFibGVzWydhZG1pbnRoZW1lJ10tPkRpc3BsYXlJbWFnZSgnaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnLCAkdGhpcy0+TGFuZygnZGVsZXRlJyksJycsJycsJ3N5c3RlbWljb24nKSwgYXJyYXkoJ2NvbXBpZCc9PiRyb3dbJ2lkJ10pLCAkdGhpcy0+TGFuZygnYXJleW91c3VyZV9kZWxldGVwcm9kdWN0JykpOwoJCQogICAgJGVudHJ5YXJyYXlbXSA9ICRyb3c7CiAgfQoJCiRzbWFydHktPmFzc2lnbl9ieV9yZWYoJ2l0ZW1zJywgJGVudHJ5YXJyYXkpOwokc21hcnR5LT5hc3NpZ24oJ2l0ZW1jb3VudCcsIGNvdW50KCRlbnRyeWFycmF5KSk7CgkKJHNtYXJ0eS0+YXNzaWduKCdpbXBvcnRsaW5rJywKCQkkdGhpcy0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnaW1wb3J0cHJvZHVjdHMnLCRyZXR1cm5pZCwKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnaW1wb3J0X2Zyb21fY3N2JyksCgkJCQkgICAgICAgJ2ljb25zL3N5c3RlbS9pbXBvcnQuZ2lmJyxhcnJheSgpLCcnLCcnLGZhbHNlKSk7CiRzbWFydHktPmFzc2lnbignZXhwb3J0bGluaycsCgkJJHRoaXMtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2V4cG9ydGNzdicsJHJldHVybmlkLAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdleHBvcnRfdG9fY3N2JyksCgkJCQkgICAgICAgJ2ljb25zL3N5c3RlbS9leHBvcnQuZ2lmJyxhcnJheSgpLCcnLCcnLGZhbHNlKSk7CiRzbWFydHktPmFzc2lnbignYWRkbGluaycsIAoJCSAgICAgICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgJ2FkZHByb2R1Y3QnLCAkcmV0dXJuaWQsIAoJCQkJCSRnQ21zLT52YXJpYWJsZXNbJ2FkbWludGhlbWUnXS0+RGlzcGxheUltYWdlKCdpY29ucy9zeXN0ZW0vbmV3Zm9sZGVyLmdpZicsICR0aGlzLT5MYW5nKCdhZGRwcm9kdWN0JyksJycsJycsJ3N5c3RlbWljb24nKSwgCgkJCQkJYXJyYXkoJ2hpZXJhcmNoeSc9PiRoaWVyYXJjaHkpLCAnJywgZmFsc2UsIGZhbHNlLCAnJykgLicgJy4gCgkJICAgICAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYWRkcHJvZHVjdCcsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoJ2FkZHByb2R1Y3QnKSwgCgkJCQkJYXJyYXkoJ2hpZXJhcmNoeSc9PiRoaWVyYXJjaHkpLCAnJywgZmFsc2UsIGZhbHNlLCAnY2xhc3M9InBhZ2VvcHRpb25zIicpKTsKCiRzbWFydHktPmFzc2lnbignaWR0ZXh0JywkdGhpcy0+TGFuZygnaWQnKSk7CiRzbWFydHktPmFzc2lnbigncHJvZHVjdHRleHQnLCAkdGhpcy0+TGFuZygncHJvZHVjdCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdwcmljZXRleHQnLCAkdGhpcy0+TGFuZygncHJpY2UnKSk7CiRzbWFydHktPmFzc2lnbignd2VpZ2h0X3VuaXRzJyxwcm9kdWN0X29wczo6Z2V0X3dlaWdodF91bml0cygpKTsKJHNtYXJ0eS0+YXNzaWduKCd3ZWlnaHR0ZXh0JywkdGhpcy0+TGFuZygnd2VpZ2h0JykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydDInLCR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9idWxrYWN0aW9uJywkcmV0dXJuaWQpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3JtZW5kMicsJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKSk7CiRzbWFydHktPmFzc2lnbignZmlsdGVyaW51c2UnLCRmaWx0ZXJpbnVzZSk7CiRidWxrYWN0aW9ucyA9IGFycmF5KCk7CiRidWxrYWN0aW9uc1snZGVsZXRlJ10gPSAkdGhpcy0+TGFuZygnZGVsZXRlJyk7CiRidWxrYWN0aW9uc1snc2V0ZHJhZnQnXSA9ICR0aGlzLT5MYW5nKCdzZXRkcmFmdCcpOwokYnVsa2FjdGlvbnNbJ3NldHB1Ymxpc2hlZCddID0gJHRoaXMtPkxhbmcoJ3NldHB1Ymxpc2hlZCcpOwokc21hcnR5LT5hc3NpZ24oJ2J1bGthY3Rpb25zJywkYnVsa2FjdGlvbnMpOwoJCiNEaXNwbGF5IHRlbXBsYXRlCmVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgncHJvZHVjdGxpc3QudHBsJyk7CgovLyBFT0YKPz4K]]></data>
	</file>
	<file>
	  <filename>/function.admin_templatestabs.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdCgpOwoKaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApICkKewogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdzdW1tYXJ5X3RlbXBsYXRlJywgJHBhcmFtcyk7CiAgewogICAgZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdzdW1tYXJ5XycsCgkJCQkgUFJPRFVDVFNfUFJFRl9ORVdTVU1NQVJZX1RFTVBMQVRFLAoJCQkJICdzdW1tYXJ5X3RlbXBsYXRlJywKCQkJCSBQUk9EVUNUU19QUkVGX0RGTFRTVU1NQVJZX1RFTVBMQVRFLAoJCQkJICR0aGlzLT5MYW5nKCdzdW1tYXJ5dGVtcGxhdGVfYWRkZWRpdCcpKTsKICB9CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgkKCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2RldGFpbF90ZW1wbGF0ZScsICRwYXJhbXMpOwogIHsKICAgIGVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnZGV0YWlsXycsCgkJCQkgUFJPRFVDVFNfUFJFRl9ORVdERVRBSUxfVEVNUExBVEUsCgkJCQkgJ2RldGFpbF90ZW1wbGF0ZScsCgkJCQkgUFJPRFVDVFNfUFJFRl9ERkxUREVUQUlMX1RFTVBMQVRFLAoJCQkJICR0aGlzLT5MYW5nKCdkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0JykpOwogIH0KICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCgogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdieWhpZXJhcmNoeV90ZW1wbGF0ZScsICRwYXJhbXMpOwogIHsKICAgIGVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnYnloaWVyYXJjaHlfJywKCQkJCSBQUk9EVUNUU19QUkVGX05FV0JZSElFUkFSQ0hZX1RFTVBMQVRFLAoJCQkJICdieWhpZXJhcmNoeV90ZW1wbGF0ZScsCgkJCQkgUFJPRFVDVFNfUFJFRl9ERkxUQllISUVSQVJDSFlfVEVNUExBVEUsCgkJCQkgJHRoaXMtPkxhbmcoJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCcpKTsKICB9CiAgZWNobyAkdGhpcy0+RW5kVGFiKCk7CgoKICBlY2hvICR0aGlzLT5TdGFydFRhYignY2F0ZWdvcnlsaXN0X3RlbXBsYXRlJywgJHBhcmFtcyk7CiAgewogICAgZWNobyAkdGhpcy0+U2hvd1RlbXBsYXRlTGlzdCgkaWQsJHJldHVybmlkLCdjYXRlZ29yeWxpc3RfJywKCQkJCSBQUk9EVUNUU19QUkVGX05FV0NBVEVHT1JZTElTVF9URU1QTEFURSwKCQkJCSAnY2F0ZWdvcnlsaXN0X3RlbXBsYXRlJywKCQkJCSBQUk9EVUNUU19QUkVGX0RGTFRDQVRFR09SWUxJU1RfVEVNUExBVEUsCgkJCQkgJHRoaXMtPkxhbmcoJ2NhdGVnb3J5bGlzdHRlbXBsYXRlX2FkZGVkaXQnKSk7CiAgfQogIGVjaG8gJHRoaXMtPkVuZFRhYigpOwoKCiAgZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3NlYXJjaF90ZW1wbGF0ZScsICRwYXJhbXMpOwogIHsKICAgIGVjaG8gJHRoaXMtPlNob3dUZW1wbGF0ZUxpc3QoJGlkLCRyZXR1cm5pZCwnc2VhcmNoXycsCgkJCQkgUFJPRFVDVFNfUFJFRl9ORVdTRUFSQ0hfVEVNUExBVEUsCgkJCQkgJ3NlYXJjaF90ZW1wbGF0ZScsCgkJCQkgUFJPRFVDVFNfUFJFRl9ERkxUU0VBUkNIX1RFTVBMQVRFLAoJCQkJICR0aGlzLT5MYW5nKCdzZWFyY2h0ZW1wbGF0ZV9hZGRlZGl0JykpOwogIH0KICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCgogIGVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdkZWZhdWx0X3RlbXBsYXRlcycpOwogIHsKICAgICRpbnB1dF9zdW1tYXJ5dGVtcGxhdGUgPQogICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV1NVTU1BUllfVEVNUExBVEUpOwogICAgJGlucHV0X2RldGFpbHRlbXBsYXRlID0KICAgICAgJHRoaXMtPkdldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdERVRBSUxfVEVNUExBVEUpOwogICAgJGlucHV0X2J5aGllcmFyY2h5dGVtcGxhdGUgPQogICAgICAkdGhpcy0+R2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV0JZSElFUkFSQ0hZX1RFTVBMQVRFKTsKICAgICRpbnB1dF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSA9CiAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXQ0FURUdPUllMSVNUX1RFTVBMQVRFKTsKICAgICRpbnB1dF9zZWFyY2h0ZW1wbGF0ZSA9CiAgICAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXU0VBUkNIX1RFTVBMQVRFKTsKCiAgICAkc21hcnR5LT5hc3NpZ24oJ2luZm9fZGZsdF90ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5MYW5nKCdkZWZhdWx0X3RlbXBsYXRlX25vdGljZScpKTsKCiAgICAkc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsCgkJICAgICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdhZG1pbl9zZXRkZmx0dGVtcGxhdGVzJywKCQkJCQkgICAkcmV0dXJuaWQpKTsKICAgICRzbWFydHktPmFzc2lnbignZm9ybWVuZCcsCgkJICAgICR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKICAgICRzbWFydHktPmFzc2lnbignbGVnZW5kX3N1bW1hcnl0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5MYW5nKCd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbigncHJvbXB0X3N1bW1hcnl0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3N1bW1hcnl0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwkaWQsJGlucHV0X3N1bW1hcnl0ZW1wbGF0ZSwKCQkJCQkgICdpbnB1dF9zdW1tYXJ5dGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdF9zdW1tYXJ5dGVtcGxhdGUnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXRfc3VtbWFyeXRlbXBsYXRlJywKCQkJCQkgICAgICR0aGlzLT5MYW5nKCdzdWJtaXQnKSkpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdyZXNldF9zdW1tYXJ5dGVtcGxhdGUnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdyZXNldF9zdW1tYXJ5dGVtcGxhdGUnLAoJCQkJCSAgICAgJHRoaXMtPkxhbmcoJ3Jlc2V0dG9mYWN0b3J5JykpKTsKCiAgICAkc21hcnR5LT5hc3NpZ24oJ2xlZ2VuZF9kZXRhaWx0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5MYW5nKCd0aXRsZV9kZXRhaWxfZGZsdHRlbXBsYXRlJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfZGV0YWlsdGVtcGxhdGUnLAoJCSAgICAkdGhpcy0+TGFuZygncHJvbXB0X3RlbXBsYXRlJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdpbnB1dF9kZXRhaWx0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwkaWQsJGlucHV0X2RldGFpbHRlbXBsYXRlLAoJCQkJCSAgJ2lucHV0X2RldGFpbHRlbXBsYXRlJykpOwogICAgJHNtYXJ0eS0+YXNzaWduKCdzdWJtaXRfZGV0YWlsdGVtcGxhdGUnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXRfZGV0YWlsdGVtcGxhdGUnLAoJCQkJCSAgICAgJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Jlc2V0X2RldGFpbHRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwncmVzZXRfZGV0YWlsdGVtcGxhdGUnLAoJCQkJCSAgICAgJHRoaXMtPkxhbmcoJ3Jlc2V0dG9mYWN0b3J5JykpKTsKCgogICAgJHNtYXJ0eS0+YXNzaWduKCdsZWdlbmRfYnloaWVyYXJjaHl0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5MYW5nKCd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9ieWhpZXJhcmNoeXRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkxhbmcoJ3Byb21wdF90ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbignaW5wdXRfYnloaWVyYXJjaHl0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVUZXh0QXJlYShmYWxzZSwkaWQsJGlucHV0X2J5aGllcmFyY2h5dGVtcGxhdGUsCgkJCQkJICAnaW5wdXRfYnloaWVyYXJjaHl0ZW1wbGF0ZScpKTsKICAgICRzbWFydHktPmFzc2lnbignc3VibWl0X2J5aGllcmFyY2h5dGVtcGxhdGUnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXRfYnloaWVyYXJjaHl0ZW1wbGF0ZScsCgkJCQkJICAgICAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKICAgICRzbWFydHktPmFzc2lnbigncmVzZXRfYnloaWVyYXJjaHl0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3Jlc2V0X2J5aGllcmFyY2h5dGVtcGxhdGUnLAoJCQkJCSAgICAgJHRoaXMtPkxhbmcoJ3Jlc2V0dG9mYWN0b3J5JykpKTsKICAgIAoKICAgICRzbWFydHktPmFzc2lnbignbGVnZW5kX2NhdGVnb3J5bGlzdHRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX2NhdGVnb3J5bGlzdF9kZmx0dGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X2NhdGVnb3J5bGlzdHRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCRpZCwkaW5wdXRfY2F0ZWdvcnlsaXN0dGVtcGxhdGUsCgkJCQkJICAnaW5wdXRfY2F0ZWdvcnlsaXN0dGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZScsCgkJCQkJICAgICAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKICAgICRzbWFydHktPmFzc2lnbigncmVzZXRfY2F0ZWdvcnlsaXN0dGVtcGxhdGUnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdyZXNldF9jYXRlZ29yeWxpc3R0ZW1wbGF0ZScsCgkJCQkJICAgICAkdGhpcy0+TGFuZygncmVzZXR0b2ZhY3RvcnknKSkpOwoKICAgICRzbWFydHktPmFzc2lnbignbGVnZW5kX3NlYXJjaHRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkxhbmcoJ3RpdGxlX3NlYXJjaF9kZmx0dGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3Byb21wdF9zZWFyY2h0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5MYW5nKCdwcm9tcHRfdGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ2lucHV0X3NlYXJjaHRlbXBsYXRlJywKCQkgICAgJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCRpZCwkaW5wdXRfc2VhcmNodGVtcGxhdGUsCgkJCQkJICAnaW5wdXRfc2VhcmNodGVtcGxhdGUnKSk7CiAgICAkc21hcnR5LT5hc3NpZ24oJ3N1Ym1pdF9zZWFyY2h0ZW1wbGF0ZScsCgkJICAgICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdF9zZWFyY2h0ZW1wbGF0ZScsCgkJCQkJICAgICAkdGhpcy0+TGFuZygnc3VibWl0JykpKTsKICAgICRzbWFydHktPmFzc2lnbigncmVzZXRfc2VhcmNodGVtcGxhdGUnLAoJCSAgICAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdyZXNldF9zZWFyY2h0ZW1wbGF0ZScsCgkJCQkJICAgICAkdGhpcy0+TGFuZygncmVzZXR0b2ZhY3RvcnknKSkpOwogICAgCiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2RmbHRfdGVtcGxhdGVzLnRwbCcpOwogIH0KICBlY2hvICR0aGlzLT5FbmRUYWIoKTsKCn0KCi8vIEVPRgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/functions.admin_tools.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAxMiBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgoKZnVuY3Rpb24gcHJvZHVjdHNfU2VhcmNoUmVpbmRleCgmJG1vZCwkbW9kdWxlKQp7CiAgJGRiID0gJG1vZC0+R2V0RGIoKTsKICAKICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cyB3aGVyZSBzdGF0dXMgPSA/JzsKICAkcmVzdWx0ID0gJiRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJ3B1Ymxpc2hlZCcpKTsKICAKICB3aGlsZSAoJHJlc3VsdCAmJiAhJHJlc3VsdC0+RU9GKQogICAgewogICAgICAkZGF0YSA9ICRtb2QtPkdldFNlYXJjaGFibGVUZXh0KCRyZXN1bHQtPmZpZWxkc1snaWQnXSk7CiAgICAgICRtb2R1bGUtPkFkZFdvcmRzKCRtb2QtPkdldE5hbWUoKSwgJHJlc3VsdC0+ZmllbGRzWydpZCddLCAncHJvZHVjdCcsIAoJCQlpbXBsb2RlKCcgJywgJGRhdGEgKSApOwogICAgICAkcmVzdWx0LT5Nb3ZlTmV4dCgpOwogICAgfQp9CgpmdW5jdGlvbiBwcm9kdWN0c19CdWlsZEhpZXJhcmNoeUxpc3QoJiRtb2QpCnsKICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogIAogICRoaWVyYXJjaHlfaXRlbXMgPSBhcnJheSgpOwogICRoaWVyYXJjaHlfaXRlbXNbJG1vZC0+TGFuZygnbm9uZScpXSA9IC0xOwogICRxdWVyeSA9ICdTRUxFQ1QgaGllcmFyY2h5LCBsb25nX25hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSBXSEVSRSBpZCA9IC0xJzsKICAkZGJyID0gJGRiLT5FeGVjdXRlKCAkcXVlcnkgKTsKICAkbG9uZ25hbWUgPSAnJzsKICB3aGlsZSggJGRiciAmJiAoJHJvdyA9ICRkYnItPkZldGNoUm93KCkpICkKICAgIHsKICAgICAgJGxvbmduYW1lID0gJHJvd1snaGllcmFyY2h5J10gLiAnJSc7CiAgICB9CiAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCwgbG9uZ19uYW1lIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkKICAgICAgICAgICBXSEVSRSBoaWVyYXJjaHkgTk9UIExJS0UgPwogICAgICAgICAgIE9SREVSIEJZIGhpZXJhcmNoeSc7CiAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGxvbmduYW1lKSk7CiAgd2hpbGUoICRkYnIgJiYgKCRyb3cgPSAkZGJyLT5GZXRjaFJvdygpKSApCiAgICB7CiAgICAgICRoaWVyYXJjaHlfaXRlbXNbJHJvd1snbG9uZ19uYW1lJ11dID0gJHJvd1snaWQnXTsKICAgIH0KICAKICByZXR1cm4gJGhpZXJhcmNoeV9pdGVtczsKfQoKCmZ1bmN0aW9uIHByb2R1Y3RzX0dldFR5cGVzRHJvcGRvd24oICYkbW9kLCAkaWQsICRuYW1lLCAkc2VsZWN0ZWQgPSAnJywgJGFkZHRleHQgPSAnJywgCgkJCQkgICAgJHNlbGVjdG9uZSA9IGZhbHNlICkKewogICRpdGVtcyA9IHByb2R1Y3RfdXRpbHM6OmdldF9maWVsZF90eXBlcygkc2VsZWN0b25lKTsKCiAgLy8gQ3JlYXRlSW5wdXREcm9wZG93biB3YW50cyB0aGUgbGFiZWxzIGZpcnN0IGZvciBzb21lIHJlYXNvbi4KICAkaXRlbXMgPSBhcnJheV9mbGlwKCRpdGVtcyk7CiAgCiAgcmV0dXJuICRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAkbmFtZSwgJGl0ZW1zLCAtMSwgJHNlbGVjdGVkLCRhZGR0ZXh0KTsKfQoJCgpmdW5jdGlvbiBwcm9kdWN0c19IYW5kbGVVcGxvYWRlZEltYWdlKCYkbW9kLCRpZCwkbmFtZSwkZGVzdGRpciwmJGVycm9ycywkc3ViZmllbGQ9JycsJHdtbG9jYXRpb249JycsJG92ZXJ3cml0ZT1mYWxzZSkKewogICAgY2dlX2Rpcjo6bWtkaXJyKCRkZXN0ZGlyKTsKICAgIGlmKCAhaXNfZGlyKCRkZXN0ZGlyKSApIHJldHVybiBGQUxTRTsKICAgIAogICAgJGhhbmRsZXIgPSBjZ2Vfc2V0dXA6OmdldF91cGxvYWRlcigkaWQsJGRlc3RkaXIpOwoJJGhhbmRsZXItPnNldF9hY2NlcHRlZF9maWxldHlwZXMoJG1vZC0+R2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9maWxldHlwZXMnKSk7CiAgICAkaGFuZGxlci0+c2V0X2FjY2VwdGVkX2ltYWdldHlwZXMoJG1vZC0+R2V0UHJlZmVyZW5jZSgnYWxsb3dlZF9pbWFnZXR5cGVzJykpOwogICAgJGhhbmRsZXItPnNldF9hbGxvd19vdmVyd3JpdGUoJG92ZXJ3cml0ZSk7CgkkaGFuZGxlci0+c2V0X2RlbGV0ZV9vcmlnKGZhbHNlKTsKCSRoYW5kbGVyLT5zZXRfcHJldmlldygkbW9kLT5HZXRQcmVmZXJlbmNlKCdhdXRvcHJldmlld2ltZycpKTsKCSRzaXplID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnYXV0b19wcmV2aWV3aW1nX3NpemUnLDE1MCk7CgkkaGFuZGxlci0+c2V0X3ByZXZpZXdfc2l6ZSgkc2l6ZSk7CiAgICAkaGFuZGxlci0+c2V0X3RodW1ibmFpbCgkbW9kLT5HZXRQcmVmZXJlbmNlKCdhdXRvdGh1bWJuYWlsJykpOwoJJGhhbmRsZXItPnNldF90aHVtYm5haWxfc2l6ZSgkbW9kLT5HZXRQcmVmZXJlbmNlKCdhdXRvX3RodW1ibmFpbF9zaXplJyw3NSkpOwoKICAgICRoYW5kbGVyLT5zZXRfd2F0ZXJtYXJrKCRtb2QtPkdldFByZWZlcmVuY2UoJ2F1dG93YXRlcm1hcmsnLCdub25lJykgIT0gJ25vbmUnICYmICR3bWxvY2F0aW9uICE9ICdub25lJyk7CiAgICBpZiggIWVtcHR5KCR3bWxvY2F0aW9uKSAmJiAkd21sb2NhdGlvbiAhPSAnZGVmYXVsdCcgKSAKCSAgewoJCSRoYW5kbGVyLT5nZXRfd2F0ZXJtYXJrX29iaigpLT5zZXRfYWxpZ25tZW50KCR3bWxvY2F0aW9uKTsKCSAgfQoKICAgICRyZXMgPSAkaGFuZGxlci0+aGFuZGxlX3VwbG9hZCgkbmFtZSwnJywkc3ViZmllbGQpOwogICAgJGVyciA9ICRoYW5kbGVyLT5nZXRfZXJyb3IoKTsKICAgCiAgICBpZiggISRyZXMgJiYgJGVyciAhPSBjZ19maWxldXBsb2FkOjpOT0ZJTEUgKQogICAgICB7CgkJLy8gdXBsb2FkIGVycm9yCgkJJGVycm9yc1tdID0gc3ByaW50ZigiJXMgJXM6ICVzIiwkbW9kLT5MYW5nKCdmaWVsZCcpLCRuYW1lLAoJCQkJCQkJJG1vZC0+R2V0VXBsb2FkRXJyb3JNZXNzYWdlKCRlcnIpLicgLSAnLiRoYW5kbGVyLT5nZXRfZXJyb3Jtc2coKSk7CgkJcmV0dXJuIEZBTFNFOwogICAgICB9CiAgICBpZiggZW1wdHkoJHJlcykgfHwgJHJlcyA9PT0gZmFsc2UgKQogICAgICB7CgkJLy8gbm8gZmlsZSB3YXMgdXBsb2FkZWQKCQkvLyBkbyBub3RoaW5nCgkJcmV0dXJuIFRSVUU7CiAgICAgIH0KICAgIAogICAgJGZpbGVuYW1lID0gJHJlczsKICAgIHJldHVybiAkZmlsZW5hbWU7Cn0KCgpmdW5jdGlvbiBwcm9kdWN0c19EZWxldGVQcm9kdWN0KCYkbW9kLCRwcm9kdWN0X2lkLCR1cGRhdGVfc2VhcmNoPXRydWUpCnsKICAkZ0NtcyA9IGNtc21zKCk7CiAgJGRiID0gJGdDbXMtPkdldERiKCk7CgogIC8vIEdldCB0aGUgY2F0ZWdvcnkgZGV0YWlscwogICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMgV0hFUkUgaWQgPSA/JzsKICAkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LCBhcnJheSgkcHJvZHVjdF9pZCkpOwogIAogIC8vTm93IHJlbW92ZSB0aGUgY2F0ZWdvcnkKICAkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0cyBXSEVSRSBpZCA9ID8iOwogICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwcm9kdWN0X2lkKSk7CiAgCiAgLy9BbmQgcmVtb3ZlIGl0IGZyb20gYW55IGN1c3RvbSBmaWVsZHMKICAkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgV0hFUkUgcHJvZHVjdF9pZCA9ID8iOwogICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwcm9kdWN0X2lkKSk7CiAgCiAgLy9BbmQgcmVtb3ZlIGl0IGZyb20gYW55IGNhdGVnb3JpZXMKICAkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMgV0hFUkUgcHJvZHVjdF9pZCA9ID8iOwogICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwcm9kdWN0X2lkKSk7CiAgCiAgLy8gYW5kIHJlbW92ZSB0aGUgaGllcmFyY2h5IHN0dWZmCiAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHRvaGllciBXSEVSRSBwcm9kdWN0X2lkID0gPyc7CiAgJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHByb2R1Y3RfaWQpKTsKCiAgLy8gYW5kIHJlbW92ZSB0aGUgYXR0cmlicyBzdHVmZgogICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnMgV0hFUkUgcHJvZHVjdF9pZCA9ID8nOwogICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwcm9kdWN0X2lkKSk7CiAgCiAgLy8gYW5kIChvcHRpb25hbGx5KSByZW1vdmUgYWxsIGZpbGVzCiAgaWYoICRtb2QtPkdldFByZWZlcmVuY2UoJ2RlbGV0ZXByb2R1Y3RmaWxlcycpICkgewoJJGRpciA9IGNtc19qb2luX3BhdGgoJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10sJG1vZC0+R2V0TmFtZSgpLCdwcm9kdWN0XycuJHByb2R1Y3RfaWQpOwoJY2dlX2Rpcjo6cmVjdXJzaXZlX3JlbW92ZV9kaXJlY3RvcnkoJGRpcik7CiAgfQogIAogIC8vVXBkYXRlIHNlYXJjaCBpbmRleAogIGlmKCAkdXBkYXRlX3NlYXJjaCApIHsKCSRtb2R1bGUgPSAkbW9kLT5HZXRNb2R1bGVJbnN0YW5jZSgnU2VhcmNoJyk7CglpZiAoJG1vZHVsZSAhPSBGQUxTRSkgewoJICAkbW9kdWxlLT5EZWxldGVXb3JkcygkbW9kLT5HZXROYW1lKCksICRwcm9kdWN0X2lkLCAncHJvZHVjdCcpOwoJfQogIH0KfQoKCiMKIyBFT0YKIwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgZG9lcyB0aGlzIGRvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgd2F5IHRvIGNvbGxlY3QsIG9yZ2FuaXplLCBhbmQgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBwcm9kdWN0cyBhbmQgdGhlaXIgY2F0ZWdvcmllcy4gIFRoaXMgbW9kdWxlIGNhbiBzdGFuZCBvbiBpdHMgb3duLCBvciBiZSBwYXJ0IG9mIGFuIGUtY29tbWVyY2Ugc29sdXRpb24gaWYgeW91IHdpc2guICBUaGUgbW9kdWxlIHN1cHBvcnRzIGEgcHJvZHVjdCBleGlzdGluZyBpbiBtb3JlIHRoYW4gb25lIGNhdGVnb3J5LCBzdXBwb3J0cyBwcm9kdWN0IHdlaWdodCwgcHJpY2UsIGFuZCBhdHRyaWJ1dGUgc2V0cy4gIEVhY2ggaXRlbSBpbiBhbiBhdHRyaWJ1dGUgc2V0IGNhbiBoYXZlIGEgcHJpY2UgYWRqdXN0bWVudC4gIEFsc28gYSBnbG9iYWwgZmxhZyBpbmRpY2F0ZXMgd2V0aGVyIHRoZSBwcm9kdWN0IGlzICd0YXhhYmxlJyBvciBub3QuPC9wPgogIDxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIG11bHRpcGxlIGN1c3RvbSBmaWVsZCBkZWZpbml0aW9ucywgYW5kIGZvciB0aGUgYWJpbGl0eSB0byBkaXNjcmltaW5hdGUgcHJpdmF0ZSBmcm9tIHB1YmxpYyBkYXRhLjwvcD4KPGgzPkZlYXR1cmVzOjwvaDM+Cjx1bD4KICA8bGk+TnVtZXJvdXMgVmlld3M8L2xpPgogICAgPHVsPgogICAgICA8bGk+U3VtbWFyeSB2aWV3PC9saT4KICAgICAgPGxpPkNhdGVnb3J5IExpc3QgVmlldzwvbGk+CiAgICAgIDxsaT5EZXRhaWwgdmlldzwvbGk+IAogICAgICA8bGk+SGllcmFyY2h5IERyaWxsLWRvd24gVmlldzwvbGk+CiAgICA8L3VsPgogIDxsaT5FbnRpcmVseSBkYXRhYmFzZSB0ZW1wbGF0ZSBkcml2ZW4KICAgIDxwPk51bWVyb3VzIHRlbXBsYXRlcyBvZiBlYWNoIHR5cGUgY2FuIGJlIGRlZmluZWQsIGRlZmF1bHRzIHNwZWNpZmllZCBmb3IgZWFjaCB0eXBlLCBhbmQgdGhlIHRlbXBsYXRlIHVzZWQgZm9yIGVhY2ggcGFydGljdWxhciB2aWV3IGNhbiBiZSBzcGVjaWZpZWQgYXMgYSBwYXJhbWV0ZXI8L3A+CiAgPC9saT4KICA8bGk+U29ydGluZyBhbmQgcGFnaW5hdGlvbiBpbiB0aGUgc3VtbWFyeSB2aWV3PC9saT4KICA8bGk+UHJvZHVjdHMgY2FuIGV4aXN0IGluIG11bHRpcGxlIGNhdGVnb3JpZXM8L2xpPgogIDxsaT5OdW1lcm91cyBjdXN0b20gZmllbGRzIGNhbiBiZSBkZWZpbmVkLCBpbmNsdWRpbmcgaW1hZ2VzPC9saT4KICA8bGk+QXV0b21hdGljIHRodW1ibmFpbCBjcmVhdGlvbjwvbGk+CiAgPGxpPkFkbWluIGRlZmluZWQgZmllbGRzPC9saT4KICA8bGk+UHJvZHVjdCBvcHRpb25zIChpbmNsdWRpbmcgcHJpY2UgYWRqdXN0bWVudCk8L2xpPgogIDxsaT5XZWlnaHQgYW5kIHRheGFibGUgZmllbGRzIChmb3IgdXNlIGluIGUtY29tbWVyY2Ugc29sdXRpb25zKTwvbGk+CiAgPGxpPlByb2R1Y3RzIGNhbiBoYXZlIGEgc3RhdHVzIChwdWJsaXNoZWQgb3IgZHJhZnQpIGluIG9yZGVyIHRvIGhpZGUgcHJvZHVjdHMgZnJvbSBwdWJsaWMgZGlzcGxheSBhdCBhbnkgdGltZTwvbGk+CiAgPGxpPlByZXR0eSBVUkwgU3VwcG9ydDwvbGk+CiAgPGxpPjxzdHJvbmc+TW9yZS4uLjwvc3Ryb25nPjwvbGk+CjwvdWw+Cgo8aDM+SG93IERvIEkgVXNlIEl0OjwvaDM+CjxvbD4KPGxpPlNldCBwcmVmZXJlbmNlcwogIDxwPlVzdWFsbHkgdGhpcyBpcyBqdXN0IGEgZm9ybWFsaXR5LiAgWW91IHNob3VsZCBzcGVjaWZ5IHlvdXIgZGVmYXVsdCB3ZWlnaHQgdW5pdHMsIGFuZCB5b3VyIGRlZmF1bHQgY3VycmVuY3kgc3ltYm9sIGZvciB5b3VyIGxvY2FsIGVudmlyb25tZW50LjwvcD4KPC9saT4KPGxpPlNldHVwIHVzZXJzIGFuZCBwZXJtaXNzaW9ucwogIDxwPlRoaXMgbW9kdWxlIHVzZXMgdGhlICdNb2RpZnkgVGVtcGxhdGVzJyBwZXJtaXNzaW9uIHRvIGFsbG93IHVzZXJzIHRvIGJlIGFibGUgdG8gbW9kaWZ5IHRoZSB2YXJpb3VzIHRlbXBsYXRlcyB0aGF0IGNhbiBiZSB1c2VkIGJ5IHRoaXMgbW9kdWxlLiAgQXMgd2VsbCwgdGhlICdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycgcGVybWlzc2lvbiBpcyBuZWVkZWQgdG8gYmUgYWJsZSB0byBhZGp1c3QgdGhlIG1vZHVsZXMgcHJlZmVyZW5jZXMuICBJbiBvcmRlciB0byBoYXZlIHRoZSBhYmlsaXR5IHRvIG1vZGlmeSBmaWVsZCBkZWZpbml0aW9ucywgY2F0ZWdvcmllcywgb3IgcHJvZHVjdHMsIHlvdXIgdXNlcnMgd2lsbCBuZWVkIHRoZSAnTW9kaWZ5IFByb2R1Y3RzJyBwZXJtaXNzaW9uLjwvcD4KPC9saT4KPGxpPihvcHRpb25hbCkgRGVmaW5lIG9uZSBvciBtb3JlIGNhdGVnb3JpZXMKICA8cD5UaGlzIGlzIGFuIG9wdGlvbmFsIHN0ZXAsIGJ1dCB5b3Ugd2lsbCBwcm9iYWJseSB3YW50IHRvIGRvIHRoaXMgZWFybHkgdG8gcHJldmVudCBoYXZpbmcgdG8gZ28gYmFjayB0byBtb2RpZnkgZWFjaCBhbmQgZXZlcnkgcHJvZHVjdCBsYXRlci4gIEFkZGluZyBhIGNhdGVnb3J5IGlzIGFzIHNpbXBsZSBhcyBjbGlja2luZyBvbiB0aGUgJ0NhdGVnb3JpZXMnIHRhYiBpbiB0aGUgUHJvZHVjdCBNYW5hZ2VycyBhZG1pbiBzZWN0aW9uLCBhbmQgY2xpY2tpbmcgJ0FkZCBBIENhdGVnb3J5Jy4gIEZyb20gdGhlcmUgeW91IHdpbGwgYmUgcHJvbXB0ZWQgZm9yIGEgY2F0ZWdvcnkgbmFtZS48L3A+CjwvbGk+CjxsaT4ob3B0aW9uYWwpIERlZmluZSBhIHByb2R1Y3QgaGllcmFyY2h5LgogIDxwPllvdSBjYW4gb3JnYW5pemUgeW91ciBwcm9kdWN0cyBpbnRvIGEgaGllcmFyY2h5LiAgVGhlIGhpZXJhcmNoeSBpcyBzaW1pbGFyIHRvIGNhdGVnb3JpZXMgZXhjZXB0IHRoYXQgZWFjaCBub2RlIGluIHRoZSBoaWVyYXJjaHkgY2FuIGhhdmUgemVybyBvciBtb3JlIGNoaWxkcmVybi4gIEEgcHJvZHVjdCBjYW4gb25seSBiZWxvbmcgdG8gb25lIHBsYWNlIGluIHRoZSBoaWVyYXJjaHkuPC9wPgo8L2xpPgo8bGk+KG9wdGlvbmFsKSBEZWZpbmUgb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkcwogIDxwPlRoaXMgaXMgYW4gb3B0aW9uYWwgc3RlcC4gIEN1c3RvbSBmaWVsZHMgYXJlIG5vdCBuZWVkZWQgaWYgdGhpcyBtb2R1bGUgc3VpdHMgeW91IGV4YWN0bHkgYXMgaXQgaXMuICBIb3dldmVyIGlmIHlvdSB3b3VsZCBsaWtlIHRvIHN0b3JlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gZm9yIGVhY2ggb2YgeW91ciBwcm9kdWN0cyB5b3UgY2FuIGNyZWF0ZSBjdXN0b20gZmllbGRzLiAgQ3JlYXRpbmcgY3VzdG9tIGZpZWxkcyBpcyBzaW1pbGFyIHRvIGNyZWF0aW5nIGNhdGVnb3JpZXMsIGV4Y2VwdCB0aGF0IG1vcmUgZGF0YSBpcyByZXF1ZXN0ZWQuPC9wPgo8cD5DdXJyZW50bHkgYSBudW1iZXIgb2YgdHlwZXMgb2YgY3VzdG9tIGZpZWxkcyBhcmUgYXZhaWxhYmxlLCBpbmNsdWRpbmc6ICd0ZXh0Ym94JywnY2hlY2tib3gnLGFuZCAndGV4dGFyZWEnLCAnZHJvcGRvd24nLCBhbmQgJ2ZpbGUnLiAgU2VsZWN0IG9uZSBvZiB0aGVzZSwgZ2l2ZSB5b3VyIG5ldyBmaWVsZCBhIG5hbWUsIGFuZCBpbmRpY2F0ZSB3ZXRoZXIgdGhhdCBmaWVsZCBzaG91bGQgYmUgdmlzaWJsZSB0byB0aGUgcHVibGljIGluIHRoZSB2YXJpb3VzIHZpZXdzLiAgVGhlbiBoaXQgc3VibWl0PC9wPgo8L2xpPgo8bGk+Q3JlYXRlIG9uZSBvciBtb3JlIHByb2R1Y3RzPC9saT4KPHA+WW91IHNob3VsZCBjcmVhdGUgb25lIG9yIG1vcmUgcHJvZHVjdHMgdG8gZGlzcGxheSBpbiB5b3VyIHdlYnNpdGUgY29udGVudC4gIEdpdmUgZWFjaCBwcm9kdWN0IGEgbmFtZSwgYSBwcmljZSAob3B0aW9uYWwpIGEgd2VpZ2h0IChvcHRpb25hbCksIGEgc3RhdHVzIChkcmFmdCBvciBwdWJsaXNoZWQpLCBhbmQgc29tZSBpbmZvcm1hdGlvbi4gIEFkZGl0aW9uYWxseSwgeW91IGNhbiBhbHNvIHNwZWNpZnkgaWYgdGhlIHByb2R1Y3QgaXMgdGF4YWJsZS48L3A+CjxwPklmIGNhdGVnb3JpZXMgYXJlIGRlZmluZWQsIHRoZW4gYSBjaGVja2JveCB3aWxsIGFwcGVhciBmb3IgZWFjaCBkZWZpbmVkIGNhdGVnb3J5LiAgWW91IGNhbiBzaW1wbHkgY2xpY2sgdGhlIGNoZWNrYm94IGZpZWxkcyBmb3IgZWFjaCBjYXRlZ29yeSB0aGF0IHRoaXMgcHJvZHVjdCBzaG91bGQgYmVsb25nIHRvLjwvcD4KPHA+SWYgY3VzdG9tIGZpZWxkcyBhcmUgZGVmaW5lZCwgdGhlbiBpbnB1dCBmaWVsZHMgYXBwcm9wcmlhdGUgdG8gdGhlIHR5cGUgb2YgY3VzdG9tIGZpZWxkIHdpbGwgYXBwZWFyIGFuZCBhbGxvdyB5b3UgdG8gc3BlY2lmeSBkYXRhIGZvciBlYWNoIG9mIHRoZW0uICBUaGlzIGRhdGEgaXMgb3B0aW9uYWwuPC9wPgo8bGk+QWRkIHRoZSBhcHByb3ByaWF0ZSB0YWdzIGludG8geW91ciBwYWdlIHRlbXBsYXRlcyBvciBwYWdlIGNvbnRlbnQ8L2xpPgo8cD5UaGlzIGNhbiBiZSBhcyBzaW1wbGUgYXMgYWRkaW5nIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnIGludG8gdGhlIGNvbnRlbnQgYXJlYSBvZiBvbmUgb2YgeW91ciBwYWdlcywgb3IgaW50byB5b3VyIHBhZ2UgdGVtcGxhdGUuPC9wPgo8cD5JZiB5b3Ugd2lzaCB0byBhbHRlciB0aGUgYmVoYXZpb3VyIG9mIHRoaXMgYXBwbGljYXRpb24gZnJvbSBpdHMgZGVmYXVsdCwgeW91IGNhbiBkbyB0aGF0IGJ5IGFkZGluZyBvbmUgb3IgbW9yZSBwYXJhbWV0ZXJzIHRvIHRoZSA8c3Ryb25nPntQcm9kdWN0c308L3N0cm9uZz4gdGFnLiAgVGhlIGNvbXBsZXRlIGxpc3Qgb2YgcGFyYW1ldGVycyBhbmQgdGhlaXIgYmVoYXZpb3VyIGlzIGxpc3RlZCBiZWxvdy4gIEJ1dCBmb3IgZXhhbXBsZSwgdG8gZGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdHMgaW4gYSBzaW5nbGUsIGV4aXN0aW5nIGNhdGVnb3J5LCB5b3UgY291bGQgdXNlIGEgdGFnIGxpa2UgPGNvZGU+e1Byb2R1Y3RzIGNhdGVnb3J5PSdjYXRlZ29yeW5hbWUnfTwvY29kZT48L3A+Cjwvb2w+CjxoMz5TS1UgYW5kIFF1YW50aXR5IEhhbmRsaW5nPC9oMz4KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSB1bmlxdWUgZmllbGQgZm9yIGVhY2ggcHJvZHVjdCA8ZW0+KGFuZCBwcm9kdWN0IG9wdGlvbik8L2VtPi4gIFRoZSBTS1UgdmFsdWUgY2FuIGJlIHVzZWQgdG8gdW5pcXVlbHkgaWRlbnRpZnkgYSBwcm9kdWN0IG9yIHByb2R1Y3QgdmFsdWUuICBXaGVuIHVzaW5nIHRoaXMgc3lzdGVtIGFzIGFuIGUtY29tbWVyY2Ugc3lzdGVtIGVhY2ggcHJvZHVjdCBhbmQgcHJvZHVjdCBvcHRpb24gaXMgcmVxdWlyZWQgdG8gaGF2ZSBhIFNLVS48L3A+CjxoMz5Qcm9kdWN0IE9wdGlvbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyB0aGUgY2FwYWJpbGl0eSBvZiBoYW5kbGluZyA8ZW0+KG9wdGlvbnMpPC9lbT4gdG8gYmFzZSBwcm9kdWN0cy4gIE9wdGlvbnMgY2FuIGJlIHVzZWQgZm9yIG1ha2luZyBkaWZmZXJlbnQgc2l6ZXMsIG9yIGNvbG9ycyBvZiBhIHByb2R1Y3QgYXZhaWxhYmxlIGluIHRoZSBjYXJ0LiAgIEVhY2ggb3B0aW9uIGNhbiBoYXZlIGEgZGVzY3JpcHRpb24sIGEgcHJpY2UgPGVtPihvciBwcmljZSBhZGp1c3RtZW50KTwvZW0+IGFuZCBhIFNLVSBmb3IgZS1jb21tZXJjZSBwdXJwb3Nlcy48L3A+CjxoND5Qcm9kdWN0IEF0dHJpYnV0ZXM8L2g0Pgo8cD5PbGRlciB2ZXJzaW9ucyBvZiB0aGUgcHJvZHVjdHMgbW9kdWxlIGhhZCBhIGNvbmNlcHQgb2YgcHJvZHVjdCAmcXVvdDthdHRyaWJ1dGVzJnF1b3Q7LiAgVGhlcmUgd2FzIHRoZSBjb25jZXB0IG9mIG11bHRpcGxlIGF0dHJpYnV0ZXMsIGFuZCBlYWNoIGF0dHJpYnV0ZSBjb3VsZCBoYXZlIG51bWVyb3VzIG9wdGlvbnMuICAgVGhpcyBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIHJlbW92ZWQgYW5kIHJlcGxhY2VkIHdpdGggcHJvZHVjdCBvcHRpb25zLiAgIFRoZXJlIHdpbGwgYmUgc29tZSBkaWZmaWN1bHR5IHdpdGggdGhlIHVwZ3JhZGUgcHJvY2VzcyBiZWNhdXNlIG9mIHRoaXMuPC9wPgo8aDM+U21hcnR5IFBsdWdpbnM8L2gzPgo8cD5UaGlzIG1vZHVsZSBhbHNvIHJlZ2lzdGVycyBvbmUgb3IgbW9yZSBzbWFydHkgcGx1Z2lucyB0byBhaWRlIGluIHJldHJpZXZpbmcgdmFyaW91cyBwcm9kdWN0cyByZWxhdGVkIGluZm9ybWF0aW9uIHdoZW4gZGVzaWduaW5nIHByb2R1Y3RzIG1vZHVsZSB0ZW1wbGF0ZXM6PC9wPgo8dWw+CiAgPGxpPntwcm9kdWN0c19nZXRjYXRlZ29yeSBjYXRlZ29yeWlkPSc5OScgW2Fzc2lnbj0ndG1wJ119CiAgPHA+VGhpcyBwbHVnaW4gYWxsb3dzIHJldHJpZXZpbmcgYWxsIG9mIHRoZSBpbmZvcm1hdGlvbiBmb3IgYSBzcGVjaWZpYyBjYXRlZ29yeSBpZCBhbmQgb3B0aW9uYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS4gIFRoZSByZXR1cm5lZCBpcyBhbiBvYmplY3QgY29udGFpbmluZyBhbGwgb2YgdGhlIGluZm9ybWF0aW9uIGFib3V0IGEgY2F0ZWdvcnksIGluY2x1ZGluZyBpdHMgZmllbGQgdmFsdWVzLjxici8+aS5lOi4gPGNvZGU+e3Byb2R1Y3RzX2dldGNhdGVnb3J5IGNhdGVnb3J5aWQ9MSBhc3NpZ249J3RtcCd9Q2F0ZWdvcnkgbmFtZSA9IHtcJHRtcC0+bmFtZX08L2NvZGU+PC9wPgogIDwvbGk+CiAgPGxpPntwcm9kdWN0c19oaWVyYXJjaHlfYnJlYWRjcnVtYiBoaWVyYXJjaHlpZD0nOTknIFtwYWdlaWQ9YWxpYXNdIFtkZWxpbT0nICZyYXF1byAnXVthc3NpZ249J3RtcCddfQogIDxwPlRoaXMgcGx1Z2luIGFsbG93cyByZXRyaWV2aW5nIHRoZSBicmVhZGNydW1iIHBhdGggdG8gYSBwYXJ0aWN1bGFyIGhpZXJhcmNoeSBpZCBhbmQgb3B0aW9uYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIG5hbWVkIHNtYXJ0eSB2YXJpYWJsZS4gIFRoaXMgcGx1Z2luIHdpbGwgb3V0cHV0IHplcm8gb3IgbW9yZSBsaW5rcyB0byBoaWVyYXJjaHkgdmlld3Mgd2l0aCBvbmUgbGluayBmb3IgZWFjaCBsZXZlbCBpbiB0aGUgaGllcmFyY2h5LiAgVG8gc3BlY2lmeSBhIGRpZmZlcmVudCBkZWxpbWl0ZXIgdXNlIHRoZSAiZGVsaW0iIGFyZ3VtZW50LiAgSWYgYW4gZW1wdHkgZGVsaW1pdGVyIGlzIHNwZWNpZmllZCwgdGhlbiBhbiBhcnJheSBvZiBsaW5rcyB3aWxsIGJlIHJldHVybmVkIHJhdGhlciB0aGFuIG9uZSBjb25pbnVvdXMgaHRtbCBzZWdtZW50LiAgVG8gc3BlY2lmeSBhIGRpZmZlcmVudCBwYWdlIGlkIGZvcnRoZSBsaW5rcywgdXNlIHRoZSBwYWdlaWQgYXR0cmlidXRlLiAgIElmIHRoZSBwYWdlaWQgYXR0cmlidXRlIGlzIG5vdCBzcGVjaWZpZWQsIGFuZCB0aGUgaGllcmFyY2h5IGlkIHByZWZlcmVuY2UgaXMgc2V0IGl0IHdpbGwgYmUgdXNlZC4gIE90aGVyd2lzZSB0aGUgY3VycmVudCBwYWdlIGlkIHdpbGwgYmUgdXNlZC48L3A+CiAgPC9saT4KICA8bGk+e3Byb2R1Y3RzX2hpZXJhcmNoeV9wYXJlbnQgaGllcmFyY2h5aWQ9OTkgW2Fzc2lnbj0ndG1wJ119CiAgPHA+VGhpcyBwbHVnaW4gd2lsbCByZXR1cm4gdGhlIHBhcmVudCBoaWVyYXJjaHkgaWQgZm9yIGEgZ2l2ZW4gaGllcmFyY2h5IGlkLiAgSWYgdGhlIHNwZWNpZmllZCBoaWVyYXJjaHkgaWQgZG9lcyBub3QgZXhpc3QsIHRoZW4gbm90aGluZyB3aWxsIGJlIHJldHVybmVkLiAgaWYgdGhlIHNwZWNpZmllZCBoaWVyYXJjaHkgaWQgZG9lcyBub3QgaGF2ZSBhIHBhcmVudCB0aGlzIHBsdWdpbiB3aWxsIHJldHVybiAtMS48L3A+CiAgPC9saT4KPC91bD4KPGgzPlRoZSA8ZW0+YWpheF9wcm9wdmFsPC9lbT4gQWN0aW9uPC9oMz4KICA8cD5UaGUgPGVtPmFqYXhfcHJvcHZhbDwvZW0+IGlzIGEgc3BlY2lhbCBhY3Rpb24gdGhhdCBpcyB1c2VkIHRvIHJldHVybiB0aGUgZGlzdGluY3QgdmFsdWVzIG9mIGEgY3VzdG9tIGZpZWxkLCBvciBhIHByb3BlcnR5IHZpYSBqc29uLiAgVHlwaWNhbGx5IHRoaXMgYWN0aW9uIGlzIHVzZWQgdG8gcGVyZm9ybSBhdXRvY29tcGxldGUgYWN0aW9ucywgYW5kIHVzdWFsbHkgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgc2VhcmNoIGFjdGlvbi4gIFRoaXMgYWN0aW9uIGFjY2VwdHMgdGhlIHBhcmFtZXRlcnM6IGZpZWxkIGZvciB0aGUgbmFtZSBvZiB0aGUgZmllbGQsIGFuZCBmaWVsZHZhbCBmb3IgaW5kaWNhdGluZyBhIHN0YXJ0aW5nIHZhbHVlLiAgTm9uZSBvZiB0aGUgcGFyYW1ldGVycyBjYW4gYmUgZW1wdHkuICBCZWxvdyB5b3Ugd2lsbCBmaW5kIGEgc2ltcGxlIGV4YW1wbGUgb2YgdXNpbmcgdGhlIGFqYXhfcHJvcHZhbCBhY3Rpb24gdG8gcGVyZm9ybSBhdXRvY29tcGxldGUgZm9yIHByb2R1Y3QgbmFtZXMgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgc2VhcmNoIHRlbXBsYXRlLjwvcD4KPHByZT48Y29kZT4mbHQ7c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCImZ3Q7e2xpdGVyYWx9CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgdmFyIGFqYXhfdXJsID0gJ3svbGl0ZXJhbH08c3BhbiBzdHlsZT0iY29sb3I6IGdyZWVuOyI+e21vZHVsZV9hY3Rpb25fbGluayBtb2R1bGU9UHJvZHVjdHMgYWN0aW9uPWFqYXhfcHJvcHZhbCB1cmxvbmx5PTEganNmcmllbmRseT0xfTwvc3Bhbj57bGl0ZXJhbH0nOwogIGFqYXhfdXJsID0gYWpheF91cmwgKyA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPicmc2hvd3RlbXBsYXRlPWZhbHNlJzwvc3Bhbj47CgogICQoPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+JyNwcm9kdWN0bmFtZSc8L3NwYW4+KS5hdXRvY29tcGxldGUoewogICAgc291cmNlOiBmdW5jdGlvbihyZXEsYWRkKXsKICAgICAgdmFyIHRtcCA9ICBhamF4X3VybCs8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPicmY250bnQwMWZpZWxkPTo6bmFtZTo6JmNudG50MDFmaWVsZHZhbD0nPC9zcGFuPityZXEudGVybTsKICAgICAgJC5nZXRKU09OKHRtcCxmdW5jdGlvbihqc29uKXsKICAgICAgICBpZigganNvbi5zdGF0dXMgPT0gJ09LJyAmJiBqc29uLmRhdGEubGVuZ3RoID4gMCkgewogICAgICAgICAgYWRkKGpzb24uZGF0YSk7CiAgICAgICAgfQogICAgICB9KQogICAgfSAgICAKICB9KTsKfSk7CnsvbGl0ZXJhbH0mbHQ7L3NjcmlwdCZndDsKPC9jb2RlPjwvcHJlPgo8cD5BcyB5b3UgY2FuIHNlZSBmcm9tIHRoZSBhYm92ZSBjb2RlIHNuaXBwZXQuLiB0aGUge21vZHVsZV9hY3Rpb25fbGlua30gcGx1Z2luIGZyb20gQ0dTaW1wbGVTbWFydHkgaXMgdXNlZCB0byBnZW5lcmF0ZSBhIHVybCB0aGF0IHdpbGwgdHJpZ2dlciB0aGUgYWpheF9wcm9wdmFsIGFjdGlvbi4gIEFmdGVyIHRoYXQgVVJMIGlzIHJldHJpZXZlZCwgdGhlIHNob3d0ZW1wbGF0ZT1mYWxzZSBwYXJhbWV0ZXIgaXMgYWRkZWQgdG8gdGhlIFVSTC4gICBXaGVuIHNldHRpbmcgdXAgdGhlIGF1dG9jb21wbGV0ZSBwbHVnaW4sIHRoZSBjYWxsYmFjayB1c2VkIHRvIGZpbGwgaW4gdGhlIGRhdGEgdmFsdWVzIGZvciB0aGUgZmllbGQgdXNlcyBhamF4LiAgV2UgdGFrZSB0aGUgYWpheF91cmwgYWxyZWFkeSBwcmVwYXJlZCBhbmQgYWRkIHRoZSBmaWVsZD06Om5hbWU6OiBhbmQgZmllbGR2YWw9cmVxLnRlcm0gcGFyYW1ldGVycyB0byB0aGUgVVJMLiAgVGhlIHRlcm0gaXMgYXV0b21hdGljYWxseSBwcm92aWRlZCBieSB0aGUgYXV0b2NvbXBsZXRlIHBsdWdpbiBpbiB0aGUgcmVxLnRlcm0gdmFyaWlhYmxlLjwvcD4KPHA+VG8gdXNlIHRoaXMgZXhhbXBsZSwgdGhlIHVzZXIgd291bGQgbmVlZCB0byBlbnN1cmUgdGhhdCBqcXVlcnkgaXMgbG9hZGVkLCBhbG9uZyB3aXRoIHRoZSBqcXVlcnkgdWkgKGluY2x1ZGluZyBhdXRvY29tcGxldGUpLCBhbmQgYW55IHJlcXVpcmVkIHN0eWxlc2hlZXRzLiAgVGhpcyBjb3VsZCBiZSBkb25lIGVpdGhlciBpbiB0aGUgcGFnZSBzcGVjaWZpYyBtZXRhZGF0YSBmaWVsZCB3aGVuIGVkaXRpbmcgdGhlIHBhZ2UgY29udGFpbmluZyB0aGUgc2VhcmNoIGZvcm0sIG9yIGluIHRoZSBwYWdlIHRlbXBsYXRlIGl0c2VsZi48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuICBIb3dldmVyIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzIG9yIHRvIGZpbGUgYSBidWcgcmVwb3J0LCBwbGVhc2UgdmlzaXQgdGhlIGNtcyBtYWRlIHNpbXBsZSA8YSBocmVmPSJodHRwOi8vZGV2LmNtc21hZGVzaW1wbGUub3JnIj5EZXZlbG9wZXJzIEZvcmdlPC9hPiBhbmQgZG8gYSBzZWFyY2ggZm9yICdQcm9kdWN0cyc8L2xpPgo8bGk+VG8gb2J0YWluIGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHNlbmQgYW4gZW1haWwgdG8gdGhlIGF1dGhvciBhdCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Um9iZXJ0IENhbXBiZWxsPC9hPi48L2xpPgo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3Jtcy48L2E+PC9saT4KPGxpPkZvciBzb21lIHF1ZXN0aW9ucyBhbmQgbGltaXRlZCB0ZWNobmljYWwgc3VwcG9ydCwgdGhlIGF1dGhvciBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPgo8L3VsPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPgo=]]></data>
	</file>
	<file>
	  <filename>/icons/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/icons/database_edit.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAKRSURBVDjLhVNLTBNRFD3TTju1FCcBaxuaQEr94ydiZIHGpcFISBOi0YREZWHCVoyRxKUxxq0LXcACQyLsjO6KjSEiDfHDz0S0CLSxlFKd2g7MTDudGd+bMAQCxJucuXfuu+fcO/PeYwzDALVoNMqRuI3guq7rR4g/SEBC/Svxc8T3EUTD4bCGTcZQAUI+RvxLr9d70u/3o6KiAm63G3Qtn89DFEUkk0lks9lRkrvW3t6e2lCgRZFI5F0ikaDtjN1MVVVjYmLCGBoa6qccC7Z1kQafz4f/WSAQAGlyaXOOpQ+SNNUymQxcLhc4joPD4TBzkiRBEASkUimEQiGzdlcBlmWRy+WgKIr5Xi6XUSgUUCwWzTVN+IAzeOOde71orP0eAaOkbrDWf6Cw2+3mBLSYgny3KULXPOUY2BUB/hMd4IOn8XfhMGYjvU+2TECLLRLDMNA0zYw5JYa6Ghke/hyEn9/gZEqo3OuHp7qW3yJgESjoNPSdlb8gWCOCr29BMT0Ip5tBYnIWqlL6o8irzVsEaHcKSqQCen4cweok+FAblNRz2JxlODx1cEkzGWmVbTl7Z/jHhgCF1Z3GYjIKf+U8+ANhQn4Gm6OMUiGI9MhHg5Gl1sbu8UnKNc8B7Ui3ipxEcwvlpVFw6hz2N1xGabkXdqeBYqEOmfefEZWac4e6xz9Z22hbn+BmLBZbi8fjEBdG4NF/QdUDSM88hQ4FawKJR6cxLDZl86qzZdtdoDYwMBAkQg/2LL/ovNLVh++Dd7G0OAau9hTkrKgnnE39GW3f/Z6enpUdBSx7ePu4eq+zi4VNw+TbV0gsxFd5b9X5i4+mpnY63tsErl6okhvrfWzT0SAMR3FMXsnean08Pb/b/fgHqpjCspi90kkAAAAASUVORK5CYII=]]></data>
	</file>
	<file>
	  <filename>/icons/table_relationship.png</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAIpSURBVDjLpZP7T1JhGMfPn9RaznVZa7Zhl1WoOI1ZtNlmq5Wrma1jMTSG5li1ahWSFJKmjuhEYzVJCDGQUNJI7WYX7ALnhFwiKFvn2zkHKw6d33y27y/v830+++5535cAQCxHhN7+AR23I9Ba30EzMIeTva9BWl4+ljJbRhLqHk9i/trDOLpdDLoeMCAyuZ8oVtP1WVYKYPYsfCv2Eqd9bdB61dB4SJxwNQuHjcZnkAKY3F+Efu/0VZjDV9A9eVFoiIo37L88JQkwDjNCv7CIPm8MheINey+ERIC6/kpFtXkbdhjKUdtVIfITVn9URGRSOajOBv8ClH1yRZVpK9s63IL2kVbIz20RBvkaGI3mAVQgBmosCsd4FG8+p7Gzc0wA1Fi2KyqMm1nyfhNqjHKsP1WKct1GDPpisPLy0/8nePUxhWqdD1xkJReZbXY0oqxjLbtOU7JJf2ceqewibAFa8FKBJYCQgktg49Rg3QMuMupv1uGw/QA26Faza9SrZHyidtt7JDOLsAdp3B3Pixh6QiOd/bdZVY8SGjeJg1QDH5ktbVkp+7OPtsG3SHz9gXuhfALnJPeQHBM0ClVrqOIjg4uMkuMrZIW3oe6fEwBD3KBzScQtPy3awfNIEiq9T/IdkDdeYIEDuJ4ygtcd5gD8QLF2dT76JQU4ap5FPP0ddDKHT/EsInQGRKXWi2KVHXNSUoAjppnRQ4ZwZt+lKdSfD2H3meDyvjKv3+cfGcwF4FggAAAAAElFTkSuQmCC]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBBCiRsYW5nWydhYmJyX2xlbmd0aCddID0gJ0wnOwokbGFuZ1snYWJicl93aWR0aCddID0gJ1cnOwokbGFuZ1snYWJicl9oZWlnaHQnXSA9ICdIJzsKJGxhbmdbJ2FkZCddID0gJ0FkZCc7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0FkZCBBIENhdGVnb3J5JzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnQWRkIEEgRmllbGQnOwokbGFuZ1snYWRqdXN0YWJsZSddID0gJ0FkanVzdGFibGUnOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ0FkZCBhbiBJdGVtJzsKJGxhbmdbJ2FkZF9hdHRyaWJfc2V0J10gPSAnQWRkIEF0dHJpYnV0ZSc7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdBc3NvY2lhdGUgRmllbGQgd2l0aCBDYXRlZ29yeTogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnQWRkIEhpZXJhcmNoeSBJdGVtJzsKJGxhbmdbJ2FkZF9vcHRpb24nXSA9ICdBZGQgQXR0cmlidXRlIE9wdGlvbic7CiRsYW5nWydhZG1pbl9vbmx5J10gPSAnQ2FuIG9ubHkgYWRtaW5zIHNlZSB0aGlzIGF0dHJpYnV0ZT8nOwokbGFuZ1snYWR2YW5jZWQnXSA9ICdBZHZhbmNlZCc7CiRsYW5nWydhbGlnbl91bCddID0gJ1RvcCBMZWZ0JzsKJGxhbmdbJ2FsaWduX3VjJ10gPSAnVG9wIENlbnRlcic7CiRsYW5nWydhbGlnbl91ciddID0gJ1RvcCBSaWdodCc7CiRsYW5nWydhbGlnbl9tbCddID0gJ01pZGRsZSBMZWZ0JzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnQ2VudGVyJzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnTWlkZGxlIFJpZ2h0JzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnQm90dG9tIExlZnQnOwokbGFuZ1snYWxpZ25fbGMnXSA9ICdCb3R0b20gQ2VudGVyJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnQm90dG9tIFJpZ2h0JzsKJGxhbmdbJ2FsbCddID0gJ0FsbCc7CiRsYW5nWydhbGxjYXRlZ29yaWVzJ10gPSAnQWxsIENhdGVnb3JpZXMnOwokbGFuZ1snYW55J10gPSAnQW55JzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgWW91IFN1cmU/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlcHJvZHVjdCddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgaXRlbSwgYW5kIGFsbCBvZiB0aGUgYWNjb21wYW55aW5nIGluZm9ybWF0aW9uIGZvciBpdD8nOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnQXNjZW5kaW5nJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnQXR0cmlidXRlIE5hbWUnOwokbGFuZ1snYXR0cmliX3RleHQnXSA9ICdUZXh0JzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYXRpYyc7CgojIEIKJGxhbmdbJ2J0bl9zZXRlY29taGFuZGxlcnMnXSA9ICdTZXQgRWNvbW1lcmNlIEV2ZW50IEhhbmRsZXJzJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVzJ10gPSAnSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZXMnOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWRkL0VkaXQgSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZSc7CgojIEMKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbCc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnQ2F0ZWdvcmllcyc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0NhdGVnb3J5JzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnQSBjYXRlZ29yeSBieSB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVzJ10gPSAnQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlcyc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWRkL0VkaXQgQSBDYXRlZ29yeUxpc3QgVGVtcGxhdGUnOwokbGFuZ1snY2VudGltZXRlcnMnXSA9ICdDZW50aW1ldGVycyc7CiRsYW5nWydjaGVja2JveCddID0gJ0NoZWNrYm94JzsKJGxhbmdbJ2NvbmZpcm1fY29weW9wdGlvbnMnXSA9ICdBbnkgZXhpc3Rpbmcgb3B0aW9ucyBmb3IgdGhpcyBpdGVtIHdpbGwgYmUgcmVwbGFjZWQuIEFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjb250aW51ZT8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgbm9kZT8gIEFueSBpdGVtcyB0aGF0IGFyZSB1c2luZyB0aGlzIG5vZGUgd2lsbCBiZSBzZXQgdG8gbm8gaGllcmFyY2h5JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlYWxsb3B0aW9ucyddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgYWxsIG9wdGlvbnMgZm9yIHRoaXMgcHJvZHVjdD8nOwokbGFuZ1snY29uZmlybV9pbXBvcnQnXSA9ICJBcmUgeW91IHN1cmUgeW91IHJlYWxseSB3YW50IHRvIGRvIHRoaXM/XFxuXFxuSW1wcm9wZXIgc2V0dGluZ3MsIG9yIGFuIGludmFsaWQgY29uZmlnIGZpbGUgY291bGQgY29tcGxldGVseSBjb3JydXB0IGEgY3VycmVudGx5IHZhbGlkIGFuZCB3b3JraW5nIHN5c3RlbS4iOwokbGFuZ1snY29weSddID0gJ0NvcHknOwokbGFuZ1snY29weV9wcm9kdWN0J10gPSAnQ29weSB0aGlzIGl0ZW0nOwokbGFuZ1snY29weV9hdHRyaWJ1dGUnXSA9ICdDb3B5IFByb2R1Y3QgT3B0aW9uJzsKJGxhbmdbJ2NvcHlfYXR0cmliX3NldHMnXSA9ICdDb3B5IEF0dHJpYnV0ZSBTZXRzJzsKJGxhbmdbJ2NvcHlfY2F0ZWdvcnknXSAgPSAnQ29weSBDYXRlZ29yeSc7CiRsYW5nWydjb3B5X29wdGlvbnNfZnJvbSddID0gJ0NvcHkgYWxsIG9wdGlvbnMgZnJvbSc7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ0NyZWF0ZWQgRGF0ZSc7CiRsYW5nWydjdXJyZW50X3ZhbHVlJ10gPSAnQ3VycmVudCBWYWx1ZSc7CgojIEQKJGxhbmdbJ2RhdGEnXSA9ICdEYXRhJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEZWZhdWx0JzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdEZWZhdWx0IFRlbXBsYXRlcyc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gPDw8RU9UCjxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIGNvbnRlbnRzIG9mIHRoZXNlIHRleHQgYXJlYXMgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGNvbnRlbnQgb2YgdGVtcGxhdGVzIHdoZW4geW91IGNsaWNrICZxdW90O0FkZCBUZW1wbGF0ZSZxdW90OyBpbiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgdGFiLiAgRWRpdGluZyBvbmUgb2YgdGhlc2UgdGV4dCBhcmVhcyB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiB5b3VyIHdlYnNpdGUuCkVPVDsKJGxhbmdbJ2RlbGV0ZSddID0gJ0RlbGV0ZSc7CiRsYW5nWydkZWxldGVfYWxsJ10gPSAnRGVsZXRlIEFsbCc7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnRGVsZXRlIEF0dHJpYnV0ZSc7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICdEZWxldGUgSGllcmFyY2h5IEl0ZW0nOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0Rlc2NlbmRpbmcnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydkZXN0aW5hdGlvbiddID0gJ0Rlc3RpbmF0aW9uJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXRhaWxzJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ0RldGFpbCBUZW1wbGF0ZXMnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEEgRGV0YWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdEaW1lbnNpb25zJzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnRGlzYWJsZWQnOwokbGFuZ1snZG93biddID0gJ01vdmUgRG93bic7CiRsYW5nWydkcmFmdCddID0gJ0RyYWZ0JzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ0Ryb3Bkb3duIE9wdGlvbnMgPGVtPihhcHBsaWNhYmxlIG9ubHkgZm9yIGRyb3Bkb3duIGZpZWxkcyk8L2VtPjxici8+PGJyLz48ZW0+KG9uZSBlbnRyeSBwZXIgbGluZSk8L2VtPic7CgojIEUKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0J10gPSAnRWRpdCBBdHRyaWJ1dGUnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzJ10gPSAnRWRpdCBBdHRyaWJ1dGUgU2V0cyc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHNfZm9yJ10gPSAnRWRpdCBBdHRyaWJ1dGUgU2V0cyBGb3InOwokbGFuZ1snZWRpdF9hdHRyaWJ1dGVzJ10gPSAnRWRpdCBBdHRyaWJ1dGVzJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdFZGl0IENhdGVnb3J5JzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnlfZmllbGRzJ10gPSAnRWRpdCBDYXRlZ29yeSBGaWVsZHMgZm9yICZxdW90OyVzJnF1b3Q7JzsKJGxhbmdbJ2VkaXRfaGllcmFyb2NoeV9pdGVtJ10gPSAnRWRpdCBIaWVyYXJjaHkgSXRlbSc7CiRsYW5nWydlZGl0X25vdGVzJ10gPSAnRWRpdCBOb3Rlcyc7CiRsYW5nWydlZGl0X29wdGlvbl9ub3RlcyddID0gJ0VkaXQgT3B0aW9uIE5vdGVzJzsKJGxhbmdbJ2VkaXRfb3B0aW9ucyddID0gJ0VkaXQgUHJvZHVjdCBPcHRpb25zJzsKJGxhbmdbJ2VkaXRfcHJvZHVjdCddID0gJ0VkaXQgSXRlbSAnOwokbGFuZ1snZXJyb3JzJ10gPSAnRXJyb3JzJzsKJGxhbmdbJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnXSA9ICdBbiBhdHRyaWJ1dGUgd2l0aCB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0RhdGFiYXNlIGVycm9yJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZV9za3UnXSA9ICdEdXBsaWNhdGUgU0tVIHZhbHVlIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdUaGUgZmllbGQgdmFsdWUgY2Fubm90IGJlIGVtcHR5JzsKJGxhbmdbJ2Vycm9yX2ZpbGVmb3JtYXQnXSA9ICdGaWxlIEZvcm1hdCBQcm9ibGVtJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0ZpbGUgTm90IEZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ZpbGVvcGVuJ10gPSAnUHJvYmxlbSBvcGVuaW5nIGZpbGUgJXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtY291bnQnXSA9ICdJbnZhbGlkIChvciBub3QgbWF0Y2hpbmcpIHBhcmFtZXRlciBjb3VudCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnSW52YWxpZCBQYXJlbnQgKGEgaGllcmFyY2h5IG5vZGUgY2Fubm90IGJlIGl0XCdzIG93biBwYXJlbnQpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfbmFtZSddID0gJ1RoZSBjdXN0b20gZmllbGQgdmFsdWUgZW50ZXJlZCBpcyBpbnZhbGlkIChjb250YWlucyBub24gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdmFsdWUnXSA9ICdJbnZhbGlkIHZhbHVlIHNwZWNpZmllZCc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdBIHJlcXVpcmVkIHBhcmFtZXRlciBpcyBtaXNzaW5nIG9yIGludmFsaWQnOwokbGFuZ1snZXJyb3JfbmFtZXVzZWQnXSA9ICdBbiBpdGVtIGJ5IHRoYXQgbmFtZSBpcyBhbHJlYWR5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9uZWVkdHdvcm93cyddID0gJ0EgbWluaW11bSBvZiB0d28gcm93cyBpcyByZXF1cmllZCc7CiRsYW5nWydlcnJvcl9ub2ZpZWxkdHlwZSddID0gJ1BsZWFzZSBzZWxlY3QgYSBmaWVsZCB0eXBlJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ1lvdSBtdXN0IHN1cHBseSBhIG5hbWUnOwokbGFuZ1snZXJyb3Jfb25lcXVhbnRpdHlmaWVsZCddID0gJ09ubHkgb25lIHF1YW50aXR5IGZpZWxkIGlzIGFsbG93ZWQnOwokbGFuZ1snZXJyb3Jfb25lc3Vic2NyaXB0aW9uZmllbGQnXSA9ICdPbmx5IG9uZSBzdWJzY3JpcHRpb24gZmllbGQgaXMgYWxsb3dlZCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnUGVybWlzc2lvbiBEZW5pZWQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9hbGlhc3VzZWQnXSA9ICdUaGUgYWxpYXMgc3BlY2lmaWVkIGlzIGFscmVhZHkgaW4gdXNlJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdBbiBpdGVtIGJ5IHRoYXQgbmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25vdGZvdW5kJ10gPSAnVGhlIHJlcXVlc3RlZCBpdGVtIGNvdWxkIG5vdCBiZSBmb3VuZCc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X3NrdXVzZWQnXSA9ICdUaGF0IFNLVSB2YWx1ZSBpcyBhbHJlYWR5IGluIHVzZSBieSBhbm90aGVyIGl0ZW0nOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9za3V1c2VkX2F0cm93J10gPSAnVGhhdCBTS1UgdmFsdWUgYXQgcm93ICVkIGlzIGFscmVhZHkgaW4gdXNlIGJ5IGFub3RoZXIgaXRlbSc7CiRsYW5nWydlcnJvcl9wcmljZV9hZGp1c3RtZW50J10gPSAnSW52YWxpZCBwcmljZSBhZGp1c3RtZW50IHZhbHVlIGZvciBpdGVtICVzJzsKJGxhbmdbJ2Vyb3JyX3FvaF9uZWdhdGl2ZV9hdHJvdyddID0gJ1F1YW50aXR5IG9uIGhhbmQgY2Fubm90IGJlIG5lZ2F0aXZlIGF0IHJvdyAlZCc7CiRsYW5nWydlcnJvcl9za3VfcmVxdWlyZWQnXSA9ICdQbGVhc2UgZW50ZXIgYSB1bmlxdWUgU0tVJzsKJGxhbmdbJ2Vycm9yX3NrdV9yZXF1aXJlZF9hdHJvdyddID0gJ1BsZWFzZSBlbnRlciBhIHVuaXF1ZSBTS1Ugb24gcm93ICVkJzsKJGxhbmdbJ2Vycm9yX3RleHRfZW1wdHlfYXRyb3cnXSA9ICdUaGUgdGV4dCBmaWVsZCBhdCByb3cgJWQgY2Fubm90IGJlIGVtcHR5JzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICdVcGxvYWQgZmFpbGVkOiAlcyc7CiRsYW5nWydleGNsdWRlX2NhdGVnb3JpZXMnXSA9ICdFeGNsdWRlIGl0ZW1zIGluIHRoZSBzZWxlY3RlZCBjYXRlZ29yaWVzIGZyb20gdGhlIHJlc3VsdHMnOwokbGFuZ1snZXhwaXJlX3NpeF9tb250aHMnXSA9ICdBZnRlciBTaXggTW9udGhzJzsKJGxhbmdbJ2V4cGlyZV9vbmVfeWVhciddID0gJ0FmdGVyIE9uZSBZZWFyJzsKJGxhbmdbJ2V4cGlyZV90d29feWVhciddID0gJ0FmdGVyIFR3byBZZWFycyc7CiRsYW5nWydleHBvcnRfdG9fY3N2J10gPSAnRXhwb3J0IHRvIENTVic7CiRsYW5nWydleHBvcnRhdHRyaWJzJ10gPSAnRXhwb3J0IEF0dHJpYnV0ZXMnOwokbGFuZ1snZXhwb3J0Y2F0cyddID0gJ0V4cG9ydCBjYXRlZ29yaWVzJzsKJGxhbmdbJ2V4cG9ydGRlbGltJ10gPSAnRXhwb3J0IGZpZWxkIERlbGltaXRlcic7CiRsYW5nWydleHBvcnRkcmFmdCddID0gJ0V4cG9ydCBEcmFmdCBJdGVtcyc7CiRsYW5nWydleHBvcnRmaWVsZHMnXSA9ICdFeHBvcnQgQ3VzdG9tIEZpZWxkcyc7CiRsYW5nWydleHRyYTEnXSA9ICdFeHRyYSBGaWVsZCAxJzsKJGxhbmdbJ2V4dHJhMiddID0gJ0V4dHJhIEZpZWxkIDInOwoKIyBGCiRsYW5nWydmaWVsZCddID0gJ0ZpZWxkJzsKJGxhbmdbJ2ZpZWxkcyddID0gJ0ZpZWxkcyc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0ZpZWxkIERlZmluaXRpb24nOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRmllbGQgRGVmaW5pdGlvbnMnOwokbGFuZ1snZmlsZSddID0gJ0ZpbGUnOwokbGFuZ1snZmlsdGVyJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ2ZpbHRlcmludXNlJ10gPSAnaW4gZWZmZWN0JzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0ZXJzJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJyZsdDsmbHQ7JzsKCiMgRwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ0dlbmVyYWwgU2V0dGluZ3MnOwokbGFuZ1snZ28nXSA9ICdHbyc7CgojIEgKJGxhbmdbJ2hpZXJhcmNoeSddICA9ICdIaWVyYXJjaHknOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAnSGllcmFyY2h5IFBvc2l0aW9uJzsKJGxhbmdbJ2hpZXJhcmNoeV9zZXR0aW5ncyddID0gJ0hpZXJhcmNoeSBTZXR0aW5ncyc7CgojIEkKJGxhbmdbJ2lkJ10gPSAnSWQnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnSW1hZ2UnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfc2V0dGluZ3MnXSA9ICdJbWFnZSBIYW5kbGluZyBTZXR0aW5ncyc7CiRsYW5nWydpbXBvcnRfZnJvbV9jc3YnXSA9ICdJbXBvcnQgaXRlbXMgZnJvbSBDU1YgZmlsZSc7CiRsYW5nWydpbmNoZXMnXSA9ICdJbmNoZXMnOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ0luY2x1ZGUgQ2hpbGRyZW4/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnT25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycy4gTm8gd2hpdGVzcGFjZSwgcXVvdGVzLCBvciBub24gbGV0dGVyL251bWJlciBjb21iaW5hdGlvbnMnOwokbGFuZ1snaW5mb19hdHRyaWJ0ZW1wbGF0ZSddID0gJ1Bvc3NpYmxlIHZhcmlhYmxlcyBhcmU6IHskYXR0cmliX3RleHR9LHskYXR0cmliX2FkanVzdH0seyRjdXJyZW5jeV9zeW1ib2x9JzsKJGxhbmdbJ2luZm9fYXR0cmlidXRlc19jb3BpZWQnXSA9ICdBdHRyaWJ1dGVzIENvcGllZCc7CiRsYW5nWydpbmZvX2F1dG93YXRlcm1hcmsnXSA9ICdXYXRlcm1hcmsgc2V0dGluZ3MgYXJlIHRha2VuIGZyb20gdGhlIENHRXh0ZW5zaW9ucyBNb2R1bGUnOwokbGFuZ1snaW5mb19iYXRjaHNpemUnXSA9ICdTZXQgdGhlIG51bWJlciBvZiBsaW5lcyB0byBwcm9jZXNzIHBlciAmcXVvdDtiYXRjaCZxdW90Oy4gIEFmdGVyIGEgYmF0Y2ggaXMgY29tcGxldGUsIHRoZSBpbXBvcnRlciB3aWxsIHJlZGlyZWN0LCBhbmQgcmVzdW1lIG9wZXJhdGlvbnMuICBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBtZW1vcnkgZXJyb3JzLCBvciB0aW1lb3V0IHByb2JsZW1zIGR1ZSB0byBsYXJnZSBhbW91bnRzIG9mIHByb2Nlc3NpbmcsIHlvdSBtYXkgbmVlZCB0byBjb25zdWx0IHlvdXIgaG9zdCBwcm92aWRlciwgb3IgcmVkdWNlIHRoaXMgbnVtYmVyJzsKJGxhbmdbJ2luZm9fY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnVGhlc2UgcGFyYW1ldGVycyBhcmUgZ2l2ZW4gdG8gdGhlIHNlbGVjdGVkIGNhcnQgbW9kdWxlIGZyb20gdGhlIGl0ZW0gZGV0YWlsIGFuZCBzdW1tYXJ5IGRpc3BsYXlzJzsKJGxhbmdbJ2luZm9fY29weV9hdHRyaWJzZXRzJ10gPSAnVGhpcyBhY3Rpb24gd2lsbCBjb3B5IEF0dHJpYnV0ZSBTZXRzIChleGNsdWRpbmcgc2t1IHZhbHVlcykgZnJvbSBhbm90aGVyIGl0ZW0uJzsKJGxhbmdbJ2luZm9fY2xlYXJhdHRyaWJzJ10gPSAnT25seSBhcHBsaWNhYmxlIHdoZW4gdXBkYXRpbmcgZXhpc3RpbmcgaXRlbXMsIHRoaXMgd2lsbCBjbGVhciBhbGwgYXR0cmlidXRlIGluZm9ybWF0aW9uIGZyb20gdGhlIGRhdGFiYXNlIGZvciBpdGVtcyBiZWZvcmUgY3JlYXRpbmcgbmV3IG9uZXMnOwokbGFuZ1snaW5mb19jbGVhcmNhdGVnb3JpZXMnXSA9ICdPbmx5IGFwcGxpY2FibGUgd2hlbiB1cGRhdGluZyBleGlzdGluZyBpdGVtcywgdGhpcyB3aWxsIGNsZWFyIGFsbCBjYXRlZ29yeSBtZW1iZXJzaGlwcyBiZWZvZSBjcmVhdGluZyBuZXcgb25lcyc7CiRsYW5nWydpbmZvX2NsZWFyZmllbGRzJ10gPSAnT25seSBhcHBsaWNhYmxlIHdoZW4gdXBkYXRpbmcgZXhpc3RpbmcgaXRlbXMsIHRoaXMgd2lsbCBjbGVhciBhbGwgZmllbGRzIGJlZm9lIGNyZWF0aW5nIGZpZWxkIHZhbHVlcyc7CiRsYW5nWydpbmZvX2NyZWF0ZWZpZWxkcyddID0gJ0NyZWF0ZSB1bmtub3duIGl0ZW0gZmllbGRzIGF1dG9tYXRpY2FsbHk/IDxlbT4oVGhleSB3aWxsIGJlIGNyZWF0ZWQgYXMgdGV4dCBmaWVsZHMpPC9lbT4nOwokbGFuZ1snaW5mb19jcmVhdGVjYXRlZ29yaWVzJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgaXRlbSBjYXRlZ29yaWVzIHRvIG1hdGNoIHRob3NlIG9mIHRoZSBDU1YgZmlsZSwgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdCc7CiRsYW5nWydpbmZvX2NyZWF0ZWhpZXJhcmNoeSddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIGl0ZW0gaGllcmFyY2hpZXMgdG8gbWF0Y2ggdGhvc2Ugb2YgdGhlIENTViBmaWxlIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QnOwokbGFuZ1snaW5mb19kZWNpbWFsX3VuaXRzJ10gPSAnVGhpcyBzeXN0ZW0gdW5kZXJzdGFuZHMgKC4pIGFzIHRoZSBkZWNpbWFsIHBvaW50IHNlcGFyYXRvci4gaS5lLjogPHN0cm9uZz41LjI1PC9zdHJvbmc+JzsKJGxhbmdbJ2luZm9fZGVsaW1pdGVyJ10gPSAnU3BlY2lmeSB0aGUgY2hhcmFjdGVyIChvciBjaGFyYWN0ZXJzKSB0aGF0IHNlcGVyYXRlIGVhY2ggZmllbGQnOwokbGFuZ1snaW5mb19kdXBsaWNhdGVwcm9kdWN0cyddID0gJ1NwZWNpZnkgaG93IHRoZSBzeXN0ZW0gc2hvdWxkIGhhbmRsZSBhbiBpdGVtIHdob3MgbmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgQ1NWIGZpbGUnOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz5Ob3RlOiA8L3N0cm9uZz4gQWxsIEZpZWxkcyBkZWZpbmVkIGhlcmUgYXJlIGF2YWlsYWJsZSB0byBhbGwgaXRlbXMuJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ1Byb2JsZW1zIHdlcmUgZW5jb3VudGVyZWQgd2hlbiBkZWFsaW5nIHdpdGggb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkcy4gIFRoZSBhY3Rpb24gaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHksIGhvd2V2ZXIgeW91IHNob3VsZCBpbnZlc3RpZ2F0ZSBhbmQgY29ycmVjdCB0aGVzZSBwcm9ibGVtcyc7CiRsYW5nWydpbmZvX2hhbmRsZWltYWdlcyddID0gJ1Vwb24gaW1wb3J0LCBpZiBhbiBpbWFnZSBmaWxlbmFtZSBpcyBmb3VuZCBpbiBhIGZpZWxkIGNvbHVtbiwgc2hvdWxkIGl0IGJlIG1vdmVkIGZyb20gdGhlIHNvdXJjZSBsb2NhdGlvbiwgd2F0ZXJtYXJrZWQsIHRodW1ibmFpbGVkLCBhbmQgdGhlIGZpZWxkIHR5cGUgY2hhbmdlZCB0byAmcXVvdDtpbWFnZSZxdW90Oyc7CiRsYW5nWydpbmZvX2hpZXJwYWdlJ10gPSAnVXNlIHRoaXMgcGFnZSBmb3IgaGllcmFyY2h5IHZpZXdzLiAgVGhlIHBhZ2VpZCB3aWxsIG5vdCBiZSBzcGVmaXJpZWQgb24gdGhlIFVSTC4nOwokbGFuZ1snaW5mb19pbWFnZXBhdGgnXSA9ICdUaGUgcGF0aCAocmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyZWN0b3J5KSB3aGVyZSBpbWFnZXMgcmVmZXJyZWQgdG8gaW4gdGhlIGltcG9ydCBmaWxlLCBjYW4gYmUgZm91bmQnOwokbGFuZ1snaW5mb19pbWFnZXN0dWZmX2RlcHJlY2F0ZWQnXSA9ICdJbWFnZSBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhcmUgZGVwcmVjYXRlZCBhbmQgd2lsbCBiZSByZW1vdmVkIGluIGEgZnV0dXJlIHZlcnNpb24uICBVc2UgQ0dTbWFydEltYWdlIGZvciBpbmxpbmUgaW1hZ2UgcHJvY2Vzc2luZy4nOwokbGFuZ1snaW5mb19pbXBvcnRfdGVzdF9wYXNzZWQnXSA9ICdBIGJyaWVmIHRlc3QgYXMgYmVlbiBwZXJmb3JtZWQgb24gdGhlIGlucHV0IGZpbGUgc3BlY2lmaWVkLCBhbmQgZXZlcnl0aGluZyBhcHBlYXJzIHRvIGJlIGNvcnJlY3QuPGJyLz5UaGlzIGlzIG5vIGluZGljYXRpb24gdGhhdCB0aGVyZSBhcmUgbm8gZXJyb3JzIGluIHRoZSBmaWxlLic7CiRsYW5nWydpbmZvX3ByZXR0eWhpZXJ1cmxzJ10gPSAnSW5jbHVkZSB0aGUgaGllcmFyY2h5IGl0ZW0gbmFtZSBvbiB0aGUgVVJMJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ1ZhbGlkIHZhbHVlcyBhcmUgKy0qIy4jIyc7CiRsYW5nWydpbmZvX3Byb2Rub3Rmb3VuZCddID0gJ1RoaXMgb3B0aW9uIGRldGVybWluZXMgdGhlIGJlaGF2aW91ciBvZiB0aGUgd2Vic2l0ZSBpZiBhbiBpdGVtIGRldGFpbCB2aWV3IGlzIGFjY2Vzc2VkIGRpcmVjdGx5IGJ5IFVSTCwgYW5kIHRoYXQgaXRlbSBmb3Igd2hhdGV2ZXIgcmVhc29uIChkaXNhYmxlZCwgZGVsZXRlZCwgZXRjKSBjYW5ub3QgYmUgYWNjZXNzZWQuJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdQdWJsaWMgZmllbGRzIGFyZSBhdmFpbGFibGUgZm9yIHRoZSBwdWJsaWMgdG8gc2VlJzsKJGxhbmdbJ2luZm9fcmVvcmRlcl9jb250ZW50J10gPSAnVGhpcyBvcGVyYXRpb24gYWxsb3dzIGRyYWdnaW5nIHRoZSBpbmRpdmlkdWFsIG5vZGVzIGluIHRoZSB0cmVlIHRvIGFkanVzdCB0aGUgb3JkZXIgdGhhdCB0aGV5IHdpbGwgYmUgZGlzcGxheWVkIGluIGluIHRoZSBoaWVyYXJjaHkgdmlldyc7CiRsYW5nWydpbmZvX3NldGVjb21oYW5kbGVycyddID0gJ1RoaXMgYnV0dG9uIHdpbGwgZW5zdXJlIHRoYXQgZXZlbnQgaGFuZGxlcnMgZm9yIGVjb21tZXJjZSBldmVudHMgYXJlIGluIHBsYWNlLiAgVGhpcyBpcyB1c2VmdWwgaWYgYXNraW5nIHRoZSBpdGVtcyBtb2R1bGUgdG8ga2VlcCB0cmFjayBvZiBhIHF1YW50aXR5IG9uIGhhbmQsIGJ1dCB0aGUgZXZlbnQgaGFuZGxlcnMgZGlkIG5vdCBnZXQgY3JlYXRlZCBkdXJpbmcgaW5zdGFsbCBvciB1cGdyYWRlJzsKCiMgSgojIEsKIyBMCiRsYW5nWydsYWJlbCddID0gJ0xhYmVsJzsKJGxhbmdbJ2xhYmVsX3NraXAnXSA9ICdTa2lwJzsKJGxhbmdbJ2xhYmVsX292ZXJ3cml0ZSddID0gJ092ZXJ3cml0ZSc7CiRsYW5nWydsYWJlbF91cGRhdGUnXSA9ICdVcGRhdGUnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICcmZ3Q7Jmd0Oyc7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnTGFzdCBNb2RpZmllZCc7CiRsYW5nWydsb2dvdGV4dCddID0gJ1NlY29uZCBJbWFnZSc7CgojIE0KJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoIDxlbT4oYXBwbGljYWJsZSBvbmx5IG9uIHRleHRib3ggZmllbGRzKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ01vZGlmaWVkIERhdGUnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgZm9yIG1hbmFnaW5nIGEgY2F0YWxvZyBvZiBpdGVtcywgdGhlaXIgcHJpY2UsIGltYWdlcywgZXRjLCBhbmQgZm9yIGFsbG93aW5nIHVzZXJzIHRvIGJ1aWxkIGEgY2FydCc7CiRsYW5nWydtb3ZlX2Rvd24nXSA9ICdNb3ZlIERvd24nOwokbGFuZ1snbW92ZV91cCddID0gJ01vdmUgVXAnOwokbGFuZ1snbXNnX2V2ZW50aGFuZGxlcnNfY3JlYXRlZCddID0gJ0V2ZW50IGhhbmRsZXJzIGNyZWF0ZWQnOwokbGFuZ1snbXNnX29wdGlvbnNjb3BpZWQnXSA9ICdQcm9kdWN0IG9wdGlvbnMgY29waWVkIChidXQgbm90IHNhdmVkIHlldCknOwokbGFuZ1snbXNnX29wdGlvbnNfZGVsZXRlZCddID0gJ1Byb2R1Y3Qgb3B0aW9ucyBkZWxldGVkIGZvciBwcm9kdWN0ICVkJzsKJGxhbmdbJ21zZ19vcHRpb25zX3NhdmVkJ10gPSAnUHJvZHVjdCBvcHRpb25zIHNhdmVkJzsKJGxhbmdbJ21zZ19wcm9kdWN0Y29waWVkJ10gPSAnSXRlbSBzdWNjZXNzZnVsbHkgY29waWVkLiAgWW91IGFyZSBub3cgZWRpdGluZyB0aGUgY29weS4gIEFueSBza3UgaW5mb3JtYXRpb24gaW4gdGhlIGl0ZW0sIGFuZC9vciBhdHRyaWJ1dGVzIGhhcyBiZWVuIGNsZWFyZWQnOwoKIyBOCiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ1lvdSBkbyBub3QgaGF2ZSB0aGUgcmVxdWlyZWQgcGVybWlzc2lvbjogJXMnOwokbGFuZ1snbmV3X2NhdGVnb3J5X25hbWUnXSA9ICdOZXcgQ2F0ZWdvcnkgTmFtZSc7CiRsYW5nWyduZXh0cGFnZSddID0gJyZndDsnOwokbGFuZ1snbm8nXSA9ICdObyc7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ05vIG5hbWUgd2FzIHN1cHBsaWVkJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTm8gbmFtZSB3YXMgc3VwcGxpZWQnOwokbGFuZ1snbm9uZSddID0gJ05vbmUnOwokbGFuZ1snbm90ZXMnXSA9ICdOb3Rlcyc7CiRsYW5nWydub3RoaW5nX3NlbGVjdGQnXSA9ICdOb3RoaW5nIHNlbGVjdGVkJzsKCiMgTwokbGFuZ1snb2YnXSA9ICdPZic7CiRsYW5nWydvayddID0gJ09rJzsKJGxhbmdbJ29wZXJhdGlvbl9jYW5jZWxsZWQnXSA9ICdPcGVyYXRpb24gQ2FuY2VsbGVkJzsKJGxhbmdbJ29wZXJhdGlvbl9jb21wbGV0ZSddID0gJ09wZXJhdGlvbiBDb21wbGV0ZSc7CgojIFAKJGxhbmdbJ3BhZ2UnXSA9ICdQYWdlJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdQYWdlICVzIG9mICVzJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdQYWdlIExpbWl0JzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gPDw8RU9UClNwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogIDxsaT5oaWVyYXJjaHkgLS0gRGlzcGxheSBhbiBpdGVtIGxpc3QgYnkgaGllcmFyY2h5PC9saT4KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgaXRlbSBjYXRlZ29yaWVzPC9saT4KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIGl0ZW1zPC9saT4KICA8bGk+ZGV0YWlscyAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBpdGVtPC9saT4KICA8bGk+ZmllbGRsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgdmFsdWVzIGZyb20gYSBzcGVjaWZpZWQgZmllbGQuCiAgICAgPHA+CiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGEgbmF2aWdhdGlvbiBmcm9tIHRoZSB2YWx1ZXMgb2YgYSBzcGVjaWZpYyBmaWVsZC4gIGkuZTogIHlvdSBjb3VsZCBjcmVhdGUgYSBjdXN0b20gZHJvcGRvd24gZmllbGQgY2FsbGVkICZxdW90O2NvbG9yJnF1b3Q7IGFuZCB0aGVuIGNyZWF0ZSBhIG5hdmlnYXRpb24gYmFzZWQgb24gdGhlIGRpZmZlcmVudCBjb2xvcnMuCiAgICAgPC9wPgogIDwvbGk+CiAgPGxpPnNlYXJjaCAtIERpc3BsYXkgYSBmb3JtIHRvIGFsbG93IHNlYXJjaGluZyBpdGVtcyBvbiB2YXJpb3VzIGNyaXRlcml1bTwvbGk+CjxsaT5hamF4X3Byb3B2YWwgLSBSZXR1cm4gYSBqc29uIGVuY29kZWQgbGlzdCBvZiBwcm9wZXJ0eSB2YWx1ZXMgbWF0Y2hpbmcgdGhlIGNyaXRlcmlhIHNwZWNpZmllZC4gIFRoaXMgYWN0aW9uIGlzIGludGVuZGVkIHRvIGJlIHVzZWQgdmlhIGFqYXgsIGFuZCBzaG91bGQgYmUgY2FsbGVkIHdpdGggdGhlIHNob3d0ZW1wbGF0ZT1mYWxzZSBwYXJhbWV0ZXIgb24gdGhlIFVSTC48L2xpPgo8L3VsPgpFT1Q7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ1doZW4gdXNlZCBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgbWF0Y2ggdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgY2F0ZWdvcnkgd2lsbCBiZSB1c2VkIHRvIGRpc3BsYXkgb25seSB0aG9zZSBpdGVtcyB0aGF0IGFyZSBpbiB0aGF0IGNhdGVnb29yeS4gKGEgY29tbWEgc2VwZXJhdGVkIGxpc3QgY2FuIGJlIHN1cHBsaWVkKS4gIFRoaXMgcGFyYW1ldGVyIGNhbiBhbHNvIGJlIHVzZWQgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiB0byBsaW1pdCB0aGUgb3V0cHV0IHRvIHRoZSBzcGVjaWZpZWQgaXRlbSBjYXRlZ29yaWVzLic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWZpZWxkJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSAmcXVvdDtjYXRlZ29yeWxpc3QmcXVvdDsgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBjYW4gYmUgdXNlZCB0byBmaWx0ZXIgY2F0ZWdvcmllcyBiYXNlZCBvbiB0aGUgdmFsdWUgb2YgYSBjYXRlZ29yeSBmaWVsZC4gIEl0IHdpbGwgbm90IHdvcmsgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7Y2F0ZWdvcnkmcXVvdDsgb3IgJnF1b3Q7Y2F0ZWdvcnlfaWQmcXVvdDsgcGFyYW1ldGVycy4gICBUaGUgc3ludGF4IG9mIHRoaXMgcGFyYW1ldGVyIGlzIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZmllbGQgbmFtZXMsIGFuZCBmaWVsZCB2YWx1ZXMuICBpLmU6ICBjYXRlZ29yeWxpc3Q9JnF1b3Q7ZmllbGQgbmFtZTp2YWx1ZSxmaWVsZCBuYW1lIDI6dmFsdWUgMiZxdW90Oyc7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhbmQgZmllbGRsaXN0IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3RkdGx0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5IG9mIHRoZSBjYXRlZ29yeSBkZXRhaWxzLiAgVGhpcyB1c2VzIGEgY2F0ZWdvcnkgbGlzdCB0ZW1wbGF0ZS4uICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnVGhpcyBzcGVjaWZpZXMgdGhlIHBhZ2VpZCBvciBhbGlhcyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQuICBJdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IG9yIHNlYXJjaCBhY3Rpb25zLiAgVGhpcyBvcHRpb24gaXMgbm90IGNvbXBhdGlibGUgd2l0aCBwcmV0dHkgdXJscyBvZiBhbnkgc29ydC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZXRhaWwgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuICBUaGlzIHBhcmFtZXRlciBoYXMgbm8gdXNlIHdoZW4gcHJldHR5IHVybHMgYXJlIGVuYWJsZWQuJzsKJGxhbmdbJ3BhcmFtX2V4Y2x1ZGVjYXQnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIHZpZXcsIHRoaXMgcGFyYW1ldGVyIHdpbGwgYWxsb3cgZXhjbHVkaW5nIGl0ZW1zIHRoYXQgYXJlIGluIGEgc3BlY2lmaWMgY2F0ZWdvcnkgZnJvbSB0aGUgcmVzdWx0LiBBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGNhdGVnb3J5IG5hbWVzIGlzIGFsbG93ZWQuIFRoaXMgcGFyYW1ldGVyIGNhbiB3b3JrIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGNhdGVnb3J5IHBhcmFtZXRlciB0byBwcm92aWRlIGEgbGlzdCBvZiB0aGUgaXRlbXMgdGhhdCBhcmUgaW4gdGhpcyBjYXRlZ29yeSwgYnV0IG5vdCBpbiB0aGF0IGNhdGVnb3J5JzsKJGxhbmdbJ3BhcmFtX2ZpZWxkJ10gPSAnVXNlZCBpbiB0aGUgPGVtPmZpZWxkbGlzdDwvZW0+IGFuZCB0aGUgPGVtPmFqYXhfcHJvcHZhbDwvZW0+IGFjdGlvbnMuIEluIHRoZSBmaWVsZGxpc3QgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCB0byBzcGVjaWZ5IHRoZSBuYW1lIG9mIGEgdXNlciBkZWZpbmVkIHByb3BlcnR5IHRvIGNyZWF0ZSBhIGxpc3QgZnJvbS4gIEluIHRoZSBhamF4X3Byb3B2YWwgYWN0aW9uIHRoaXMgcGFyYW1ldGVyIGlzIHVzZWQgdG8gc3BlY2lmeSB3aGljaCBmaWVsZCB0byB1c2UgdG8gZXh0cmFjdCBhIGxpc3Qgb2YgdmFsdWVzLiAgQW55IHZhbGlkIGZpZWxkIG5hbWVzIGFyZSBhY2NlcHRlZCAodGhvdWdoIG9ubHkgdGV4dCBmaWVsZCBhbmQgZHJvcGRvd24gZmllbGQgbmFtZXMgd2lsbCB3b3JrIHByb3Blcmx5LiAgQWRkaXRpb25hbGx5IHRoZSBzcGVjaWFsIHZhbHVlcyA6Om5hbWU6OiwgOjpza3U6OiwgYW5kIDo6YWxpYXM6OiBjYW4gYmUgc3BlY2lmaWVkIHRvIHJldHVybiB2YWx1ZXMgZnJvbSB0aGUgaXRlbSBuYW1lLCBza3UgYW5kIGFsaWFzIHJlc3BlY3RpdmVseS4nOwokbGFuZ1sncGFyYW1fZmllbGR2YWwnXSA9ICdVc2VkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFuZCA8ZW0+YWpheF9wcm9wdmFsPC9lbT4gYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBmaWVsZCB2YWx1ZSB0byBsaW1pdCByZXN1bHRzIGJ5LiAgSW4gdGhlIGRlZmF1bHQgdmFsdWUgdGhlc2Ugc3BlY2lhbCB2YWx1ZXMgYXJlIGFjY2VwdGVkOiAmcXVvdDs6Om51bGw6OiZxdW90OyAmcXVvdDs6Om5vdG51bGw6OiZxdW90Oy4gSW4gdGhlIGFqYXhfcHJvcHZhbCBhY3Rpb24gdGhpcyBmaWVsZCBpcyBleHBlY3RlZCB0byBjb250YWluIG9ubHkgYSBmZXcgbGV0dGVycywgdG8gaW5kaWNhdGUgYSBzbWFsbCBmaWx0ZXIuICBpLmU6IGZpZWxkdmFsPWIgdG8gcmV0dXJuIGFsbCBmaWVsZCB2YWx1ZXMgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgYi4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5J10gPSAnVXNlZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gYW5kIGhpZXJhY2h5IGFjdGlvbnMgdGhpcyBwYXJhbWV0ZXIgaGFzIHR3byB1c2VzLiAgV2hlbiB1c2VkIGluIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IG9ubHkgaXRlbXMgaW4gdGhhdCBsb2NhdGlvbiBvZiB0aGUgaGllcmFyY2h5IHNob3VsZCBiZSBkaXNwbGF5ZWQuICBXaWxkY2FyZCBjaGFyYWN0ZXIgY2FuIGJlIHVzZWQgc28gdGhhdCB5b3UgY2FuIHNwZWNpZnkgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcHMgYXMgd2VsbC4gIGkuZSB7UHJvZHVjdHMgaGllcmFyY2h5PVwndHJ1Y2tzKlwnfSB3aWxsIGNyZWF0ZSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGluY2x1ZGluZyB0aGUgY2hpbGRyZW4gaW4gdGhlIGhpZXJhcmNoeS4gIFNpbWlsYXJseSwge1Byb2R1Y3RzIGhpZXJhcmNoeT1cJyp0cnVja3NcJ30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBpdGVtcyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuICBBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGV4cHJlc3Npb25zIGNhbiBiZSBzdXBwbGllZC4gIGkuZToge1Byb2R1Y3RzIGFjdGlvbj1oaWVyYXJjaHkgaGllcmFyY2h5PVwndHJ1Y2tzLGNhcnNcJ30nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBoaWVyYXJjaHkgZGlzcGxheS4gSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2lubGluZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IHRoZSBvdXRwdXQgb2YgdGhlIHN1bW1hcnkgdmlldyBzaG91bGQgYmUgZGlzcGxheWVkIGlubGluZSc7CiRsYW5nWydwYXJhbV9ub3RwcmV0dHknXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBhY3Rpb25zIHRvIHdoaWNoIHByZXR0eSB1cmxzIHNob3VsZCBub3QgYmUgZ2VuZXJhdGVkLiAgaS5lOiBub3RwcmV0dHk9aGllcmFyY2h5LGRlZmF1bHQgd2lsbCBub3QgZ2VuZXJhdGUgcHJldHR5IHVybHMgdG8gaGllcmFyY2h5LCBvciBzdW1tYXJ5IChkZWZhdWx0KSBhY3Rpb25zLCBidXQgd2lsbCBhbGxvdyBnZW5lcmF0aW9uIG9mIHByZXR0eSB1cmxzIHRvIGRldGFpbCB2aWV3cy4gIEFzIGEgc3BlY2lhbCB2YWx1ZSAmcXVvdDthbGwmcXVvdDsgY2FuIGJlIHVzZWQgdG8gc3BlY2lmeSB0aGF0IG5vIHByZXR0eSB1cmxzIHNob3VsZCBiZSBnZW5lcmF0ZWQnOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBvciBzZWFyY2ggYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGhvdyBtYW55IGl0ZW1zIHNob3VsZCBiZSBsaXN0ZWQgb24gZWFjaCBwYWdlLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmhpZXJhcmNoeTwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBoaWVyYXJjaHkgaWQgb2YgdGhlIHN0YXJ0aW5nIGxvY2F0aW9uIG9mIHRoZSByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX3BhcmVudHMnXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmhpZXJhcmNoeTwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgaGllcmFyY2h5IG5hbWVzIHRoYXQgc3BlY2lmeSB0byBjcmVhdGUgbnVtZXJvdXMgaGVpcmFyY2h5IHRyZWVzIGZyb20gdGhlIHNwZWNpZmllZCBsb2NhdGlvbihzKS4gIEhpZXJhcmNoeSBuYW1lcyBtdXN0IGJlIHVuaXF1ZSwgYW5kIG5vdCBjb250YWluIGFueSBzcGVjaWFsIGNoYXJzLic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBkZXRhaWwgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2hhdCBpdGVtIHRvIHVzZSBmb3IgdGhlIGRpc3BsYXkuJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RsaXN0J10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSB2aWV3LCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGludGVnZXIgcHJvZHVjdCBpZHMgdG8gZGlzcGxheS4gIE5vIHBhZ2luYXRpb24gb3Igc29ydGluZyBpcyBwZXJmb3JtZWQgb24gdGhlc2UgdmFsdWVzLCBhbmQgaWYgc3BlY2lmaWVkIHRoZSBvdGhlciBmaWx0ZXJpbmcgcGFyYW1ldGVycyB0byB0aGUgc3VtbWFyeSB2aWV3IGFyZSBpZ25vcmVkLic7CiRsYW5nWydwYXJhbV9yZXN1bHRwYWdlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2gsIGFuZCBjYXRlZ29yeSBsaXN0IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBhIHBhZ2UgaWQgb3IgYWxpYXMgdG8gdXNlIHRvIGRpc3BsYXkgdGhlIHN1bW1hcnkgcmVzdWx0cyc7CiRsYW5nWydwYXJhbV9zZWFyY2hmaWVsZCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgbWF5IGNvbnRhaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBmaWVsZCBuYW1lcyB0byBpbmNsdWRlIGluIHRoZSBzZWFyY2gnOwokbGFuZ1sncGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc2VhcmNoIGZvcm0gdGVtcGxhdGUnOwokbGFuZ1sncGFyYW1fc2hvd2FsbCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgY2F0ZWdvcnlsaXN0IGFuZCBmaWVsZGxpc3QgYWN0aW9ucywgaWYgdGhpcyBwYXJhbWV0ZXIgaXMgc2V0IHRvIGEgbm9uIDAgaW50ZWdlciB2YWx1ZSBhbGwgY2F0ZWdvcmllcyAoZXZlbiB0aG9zZSB3aXRob3V0IGl0ZW1zKSB3aWxsIGJlIGRpc3BsYXllZC4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnU3BlY2lmeSB0aGUgb3JkZXIgb2Ygc29ydGVkIGZpZWxkcyBpbiBzdW1tYXJ5IChpbmNsdWRpbmcgYWZ0ZXIgYSBzZWFyY2gpIHZpZXcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+CiAgPGxpPmRlc2MgLS0gRGVzY2VuZGluZyBvcmRlcjwvbGk+CjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NvcnRieSddID0gJ0FwcGxpY2FibGUgaW4gdGhlIHN1bW1hcnksIGNhdGVnb3J5bGlzdCBvciBzZWFyY2ggYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgZGV0ZXJtaW5lcyB0aGUgc29ydGluZyBvZiB0aGUgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToKPHVsPgogIDxsaT48c3Ryb25nPml0ZW1fbmFtZTwvc3Ryb25nPjwvbGk+CiAgPGxpPmlkIC0tIFRoZSBpdGVtIGlkPC9saT4KICA8bGk+d2VpZ2h0IC0tIFRoZSBpdGVtIHdlaWdodDwvbGk+CiAgPGxpPnByaWNlIC0tIFRoZSBpdGVtIGJhc2UgcHJpY2U8L2xpPgogIDxsaT5zdGF0dXMgLS0gRHJhZnQgb3IgcHVibGlzaGVkPC9saT4KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+CiAgPGxpPmNyZWF0ZWQgLS0gVGhlIGNyZWF0aW9uIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPgogIDxsaT5tb2RpZmllZCAtLSBUaGUgbW9kaWZpZWQgZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+CiAgPGxpPmY6ZmllbGRuYW1lIC0tIEFsbG93cyBzb3J0aW5nIGJ5IHZhbHVlcyBvZiBjdXN0b20gZmllbGRzLjwvbGk+CjwvdWw+CjxwPlRoZSBjYXRlZ29yeSBsaXN0IHZpZXcgc3VwcG9ydHMgb25seSBhIGZldyBzcGVjaWZpYyBzb3J0aW5nIG9wdGlvbnM6PC9wPgo8dWw+CiAgPGxpPmlkIC0tIFRoZSBjYXRlZ29yeSBpZC48L2xpPgogIDxsaT48c3Ryb25nPm5hbWU8L3N0cm9uZz4gLS0gVGhlIGNhdGVnb3J5IG5hbWUuPC9saT4KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydHR5cGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRlZmF1bHQgc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBpcyB1c2VkIHRvIGNvbnZlcnQgdGhlIHZhbHVlcyB0byBhbm90aGVyIHR5cGUgZm9yIHNvcnRpbmcuICB2YWxpZCB2YWx1ZXMgYXJlIFNUUklORyxTSUdORUQgYW5kIFVOU0lHTkVELiAgSWYgbm90IHN1cHBsaWVkIHRoZSBkZWZhdWx0IFNUUklORyB0eXBlIGlzIGFzc3VtZWQuJzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnlwYWdlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBhY3Rpb249aGllcmFyY2h5LCBhbGxvd3Mgc3BlY2lmeWluZyBhIHBhZ2UgaWQgb3IgYWxpYXMgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGFueSBsaW5rcyB0byBzdW1tYXJ5IHZpZXcnOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgc3VtbWFyeSBtb2RlIGRpc3BsYXkuICBJdCBpcyBhbHNvIGFjY2VwdGVkIGluIHRoZSBzZWFyY2ggYWN0aW9uLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ1BhcmVudCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBQcm9kdWN0cyBtb2R1bGUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIFByb2R1Y3RzIG1vZHVsZSBoYXMgYmVlbiByZW1vdmVkIGFsb25nIHdpdGggYWxsIGFzc29jaWF0ZWQgZGF0YSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1JlbW92aW5nIHRoaXMgbW9kdWxlIHdpbGwgYWxzbyByZW1vdmUgYWxsIGFzc29jaWF0ZWQgZGF0YSwgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHByb2NlZWQ/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJpY2UnOwokbGFuZ1sncHJpY2VfYWRqdXN0bWVudCddID0gJ1ByaWNlIEFkanVzdG1lbnQnOwokbGFuZ1sncHJlZml4X2NvcHlvZiddID0gJ0NvcHkgT2YnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICcmbHQ7JzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdJdGVtJzsKJGxhbmdbJ3Byb2R1Y3RuYW1lJ10gPSAnSXRlbSBOYW1lJzsKJGxhbmdbJ3Byb2R1Y3RzJ10gPSAnSXRlbXMnOwokbGFuZ1sncHJvZHVjdF9kZXRhaWxfc2V0dGluZ3MnXSA9ICdJdGVtIERldGFpbCBTZXR0aW5ncyc7CiRsYW5nWydwcm9kdWN0X2VkaXRpbmdfc2V0dGluZ3MnXSA9ICdJdGVtIEVkaXRpbmcgU2V0dGluZ3MnOwokbGFuZ1sncHJvZHVjdF9zdW1tYXJ5X3NldHRpbmdzJ10gPSAnSXRlbSBTdW1tYXJ5IFNldHRpbmdzJzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnSXRlbSBIaWVyYXJjaHknOwokbGFuZ1sncHJvZHVjdF9pbmZvJ10gPSAnSXRlbSBJbmZvcm1hdGlvbic7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICdQcm9kdWN0IE1hbmFnZXInOwokbGFuZ1sncHJvZ3Jlc3MnXSA9ICdQcm9ncmVzcyc7CiRsYW5nWydwcm9tcHQnXSA9ICdQcm9tcHQnOwokbGFuZ1sncHJvbXB0X2FkZF9hdHRyaWJzZXQnXSA9ICdBZGQvRWRpdCBBdHRyaWJ1dGUgU2V0JzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ0FsbG93IHVwbG9hZCBvZiBmaWxlcyB3aXRoIHRoZXNlIGV4dGVuc2lvbnMgKGZvciBhbGwgdXBsb2FkIGZpZWxkcyknOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ0FsbG93IHByb2Nlc3Npbmcgb2YgaW1hZ2VzIHdpdGggdGhlc2UgZXh0ZW5zaW9ucyAoZm9yIGltYWdlIHR5cGUgZmllbGRzKSc7CiRsYW5nWydwcm9tcHRfYXR0cmlidGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBmb3IgZGlzcGxheSBvZiBpdGVtIGF0dHJpYnV0ZSB2YWx1ZXMgaW4gZHJvcGRvd24nOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWwnXSA9ICdBdXRvbWF0aWNhbGx5IGNyZWF0ZSB0aHVtYm5haWxzIG9mIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWF4aW11bSBzaXplIChsYXJnZXN0IGRpbWVuc2lvbikgb2YgdGhlIHRodW1ibmFpbC4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgcHJldmlldyBpbWFnZXMgb2YgaW1hZ2VzJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZ19zaXplJ10gPSAnTWF4aW11bSBzaXplIChsYXJnZXN0IGRpbWVuc2lvbikgb2YgdGhlIHByZXZpZXcgaW1hZ2UuJzsKJGxhbmdbJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJ10gPSAnQXV0b21hdGljYWxseSBwbGFjZSB3YXRlcm1hcmtzIG9uIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ0VuYWJsZSBieSBkZWZhdWx0IGZvciBhbGwgbmV3IGl0ZW1zJzsKJGxhbmdbJ3Byb21wdF9iYXRjaHNpemUnXSA9ICdCYXRjaCBTaXplJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZSddID0gJ0NhcnQgTW9kdWxlJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdDYXJ0IE1vZHVsZSBQYXJhbWV0ZXJzJzsKJGxhbmdbJ3Byb21wdF9jbGVhcmF0dHJpYnMnXSA9ICdDbGVhciBhdHRyaWJ1dGVzIG9uIHVwZGF0ZSc7CiRsYW5nWydwcm9tcHRfY2xlYXJjYXRlZ29yaWVzJ10gPSAnQ2xlYXIgY2F0ZWdvcmllcyBvbiB1cGRhdGUnOwokbGFuZ1sncHJvbXB0X2NsZWFyZmllbGRzJ10gPSAnQ2xlYXIgZmllbGRzIG9uIHVwZGF0ZSc7CiRsYW5nWydwcm9tcHRfY3JlYXRlY2F0ZWdvcmllcyddID0gJ0NyZWF0ZSBDYXRlZ29yaWVzJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVmaWVsZHMnXSA9ICdDcmVhdGUgSXRlbSBGaWVsZHM/JzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVoaWVyYXJjaHknXSA9ICdDcmVhdGUgSXRlbSBIaWVyYXJjaHknOwokbGFuZ1sncHJvbXB0X2NzdmZpbGUnXSA9ICdVcGxvYWQgQ1NWIEZpbGUnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ0N1cnJlbmN5IENvZGUnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5c3ltYm9sJ10gPSAnQ3VycmVuY3kgU3ltYm9sJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3N0YXR1cyddID0gJ0J5IGRlZmF1bHQgYWxsIG5ldyBpdGVtcyBoYXZlIHRoaXMgc3RhdHVzJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3RheGFibGUnXSA9ICdCeSBkZWZhdWx0IGFsbCBuZXcgaXRlbXMgYXJlIHRheGFibGUnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ0RlbGV0ZSBhbnkgZmlsZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBpdGVtIHdoZW4gdGhlIGl0ZW0gaXMgZGVsZXRlZD8nOwokbGFuZ1sncHJvbXB0X2RlbGltaXRlciddID0gJ0ZpZWxkIERlbGltaXRlcic7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ0RlZmF1bHQgRGV0YWlsIFBhZ2UnOwokbGFuZ1sncHJvbXB0X2RldGFpbHNmb3InXSA9ICdEZXRhaWxzIGZvciAlcyc7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdIb3cgdG8gaGFuZGxlIGR1cGxpY2F0ZSBpdGVtcz8nOwokbGFuZ1sncHJvbXB0X2ZhbHNlJ10gPSAnRmFsc2UnOwokbGFuZ1sncHJvbXB0X2hhbmRsZWltYWdlcyddID0gJ0hhbmRsZSBpbWFnZXM/JzsKJGxhbmdbJ3Byb21wdF9pbWFnZXBhdGgnXSA9ICdJbWFnZSBQYXRoJzsKJGxhbmdbJ3Byb21wdF9sZW5ndGh1bml0cyddID0gJ0xlbmd0aCBVbml0cyc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfYmVoYXZpb3InXSA9ICdXaGF0IGFjdGlvbiBzaG91bGQgYmUgdGFrZW4gd2hlbiBhbiBpdGVtIGNhbm5vdCBiZSBkaXNwbGF5ZWQ/JzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF80MDQnXSA9ICdHZW5lcmF0ZSBhIDQwNCBlcnJvcic7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfMzAxJ10gPSAnR2VuZXJhdGUgYSAzMDEgcmVkaXJlY3QnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2Vycm9ybXNnJ10gPSAnRGlzcGxheSBhbiBlcnJvciBtZXNzYWdlJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9tc2cnXSA9ICdFcnJvciBtZXNzYWdlIGZvciB3aGVuIGFuIGl0ZW0gY2Fubm90IGJlIGZvdW5kJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9wYWdlJ10gPSAnUGFnZSB0byBkbyBwZXJtYW5lbnQgcmVkaXJlY3QgdG8/JzsKJGxhbmdbJ3Byb21wdF9oaWVycGFnZSddID0gJ0RlZmF1bHQgUGFnZSBmb3IgSGllcmFyY2h5IFZpZXcnOwokbGFuZ1sncHJvbXB0X3ByZXR0eWhpZXJ1cmxzJ10gPSAnVXNlIFByZXR0eSBVUkxTIHRvIEhpZXJhcmNoeSBWaWV3cyc7CiRsYW5nWydwcm9tcHRfcHJvZF9kZXRhaWxwYWdlJ10gPSAnRGVmYXVsdCBQYWdlIGZvciBJdGVtIERldGFpbCBWaWV3cyc7CiRsYW5nWydwcm9tcHRfcHJvZHVjdHNfbWF0Y2hpbmcnXSA9ICdJdGVtcyBtYXRjaGluZyAlcyc7CiRsYW5nWydwcm9tcHRfc2t1X3JlcXVpcmVkJ10gPSAnU0tVIGlzIHJlcXVpcmVkIGZvciBhbGwgaXRlbXMgYW5kIGF0dHJpYnV0ZXMnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlfbmV3ZGVmYXVsdCddID0gJ1VzZSBuZXcgc3VtbWFyeSB2aWV3JzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5cGFnZWxpbWl0J10gPSAnRGVmYXVsdCBwYWdlIGxpbWl0IGluIHN1bW1hcnkgbW9kZSc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRvcmRlciddID0gJ0RlZmF1bHQgU29ydCBPcmRlciBpbiBzdW1tYXJ5IG1vZGUnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0aW5nJ10gPSAnRGVmYXVsdCBTb3J0IEZpZWxkIGluIHN1bW1hcnkgbW9kZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBTb3VyY2UnOwokbGFuZ1sncHJvbXB0X3RydWUnXSA9ICdUcnVlJzsKJGxhbmdbJ3Byb21wdF91cmxwcmVmaXgnXSA9ICdQcmVmaXggdG8gdXNlIG9uIGFsbCBVUkxTIHRhcmdldGVkIHRvIHRoaXMgdGhpcyBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X3VzZV9kZXRhaWxwYWdlX2Zvcl9zZWFyY2gnXSA9ICdVc2UgdGhpcyBwYWdlIGZvciBzZWFyY2ggcmVzdWx0cyB0b28gPGVtPihvdmVycmlkZXMgdGhlIHNlYXJjaHJlc3VsdHMgcGFnZSBwYXJhbWV0ZXIgaW4gdGhlIHNlYXJjaCBtb2R1bGUpPC9lbT4nOwokbGFuZ1sncHJvbXB0X3VzZWhpZXJwYXRodXJscyddID0gJ1VzZSBIaWVyYXJjaHkgUGF0aCBpbiBJdGVtIERldGFpbCBVUkxTJzsKJGxhbmdbJ3Byb21wdF93ZWlnaHR1bml0cyddID0gJ1dlaWdodCBVbml0cyc7CiRsYW5nWydwdWJsaWMnXSA9ICdJcyB0aGlzIGEgcHVibGljIGZpZWxkPyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICdQdWJsaXNoZWQnOwoKIyBRCiRsYW5nWydxdWFudGl0eV9vbl9oYW5kJ10gPSAnUXVhbnRpdHkgb24gSGFuZCc7CgojIFIKJGxhbmdbJ3JhbmRvbSddID0gJ1JhbmRvbSc7CiRsYW5nWydyZW9yZGVyX2hpZXJhcmNoeSddID0gJ1Jlb3JkZXIgSGllcmFyY2h5JzsKJGxhbmdbJ3Jlc2V0J10gPSAnUmVzZXQnOwokbGFuZ1sncmVzZXR0b2ZhY3RvcnknXSA9ICdSZXNldCB0byBGYWN0b3J5IFZhbHVlcyc7CiRsYW5nWydyZXR1cm4nXSA9ICdSZXR1cm4nOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJ1JldHVybiB0byB0aGUgdG9wIG9mIHRoZSB2aWV3JzsKJGxhbmdbJ3Jvb3QnXSA9ICdSb290JzsKCiMgUwokbGFuZ1snc2VhcmNoX2Rlc2NyaXB0aW9uJ10gPSAnU2VhcmNoIFByb3BlcnR5IERlc2NyaXB0aW9uJzsKJGxhbmdbJ3NlYXJjaF9leHByJ10gPSAnU2hvdWxkIHRoZSBxdWVyeSBtYXRjaCBhbGwsIG9yIGFueSBvZiB0aGUgdGVzdHMgYmVsb3c/JzsKJGxhbmdbJ3NlYXJjaF9uYW1lJ10gPSAnU2VhcmNoIFByb3BlcnR5IE5hbWUnOwokbGFuZ1snc2VhcmNoX3ByaWNlJ10gPSAnUHJpY2UgUmFuZ2UnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlcyddID0gJ1NlYXJjaCBUZW1wbGF0ZXMnOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ1NlbGVjdCBBbGwnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1NlbGVjdCBPbmUnOwokbGFuZ1snc2V0ZHJhZnQnXSA9ICdTZXQgQXMgRHJhZnQnOwokbGFuZ1snc2V0cHVibGlzaGVkJ10gPSAnU2V0IEFzIFB1Ymxpc2hlZCc7CiRsYW5nWydza3UnXSA9ICdTS1UnOwokbGFuZ1snc29ydF9ieSddID0gJ1NvcnQgQnknOwokbGFuZ1snc29ydF9vcmRlciddID0gJ1NvcnQgT3JkZXInOwokbGFuZ1snc291cmNlJ10gPSAnU291cmNlJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snc3Vic2NyaXB0aW9uJ10gPSAnU3Vic2NyaXB0aW9uJzsKJGxhbmdbJ3N1YnNjcl9leHBpcnknXSA9ICdFeHBpcnknOwokbGFuZ1snc3Vic2NyX2V4cGlyeTInXSA9ICdFeHBpcmVzJzsKJGxhbmdbJ3N1YnNjcl9tb250aGx5J10gPSAnTW9udGhseSc7CiRsYW5nWydzdWJzY3JfZGVscGVyaW9kJ10gPSAnRGVsaXZlcnkgRnJlcXVlbmN5JzsKJGxhbmdbJ3N1YnNjcl9kZWxwZXJpb2QyJ10gPSAnRGVsaWV2ZXJlZCc7CiRsYW5nWydzdWJzY3JfcGF5cGVyaW9kJ10gPSAnUGF5bWVudCBGcmVxdWVuY3knOwokbGFuZ1snc3Vic2NyX3BheXBlcmlvZDInXSA9ICdQYWlkJzsKJGxhbmdbJ3N1YnNjcl9xdWFydGVybHknXSA9ICdRdWFydGVybHknOwokbGFuZ1snc3Vic2NyX3NlbWlhbnVhbGx5J10gPSAnU2VtaSBBbnVhbGx5JzsKJGxhbmdbJ3N1YnNjcl95ZWFybHknXSA9ICdZZWFybHknOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1N1bW1hcnkgVGVtcGxhdGVzJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWRkL0VkaXQgQSBTdW1tYXJ5IFRlbXBsYXRlJzsKCiMgVAokbGFuZ1sndGF4YWJsZSddID0gJ1RheGFibGUnOwokbGFuZ1sndGVzdCddID0gJ1Rlc3QnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHQgSW5wdXQnOwokbGFuZ1sndGl0bGVfYWRqdXN0bWVudCddID0gJ0VudGVyIGFuIGFkanVzdG1lbnQgZnJvbSB0aGUgYmFzZSBwcmljZSBmb3IgdGhlIHByb2R1Y3Qgb3B0aW9ucy4gIFN5bnRheCBpcyBbKy1dIy4jIyc7CiRsYW5nWyd0aXRsZV9hdHRyaWJ1dGVfdGV4dCddID0gJ0VudGVyIGEgYnJpZWYgZGVzY3JpcHRpb24gZm9yIHRoaXMgcHJvZHVjdCBvcHRpb24nOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdEZWZhdWx0IE5ldyBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfcW9oJ10gPSAnT3B0aW9uYWxseSBzcGVjaWZ5IGEgcXVhbnRpdHkgb24gaGFuZCBmb3IgdGhpcyBwcm9kdWN0IG9wdGlvbi4gIE5vdGUgZm9yIHF1YW50aXR5IGFkanVzdG1lbnRzIHRvIGJlIGF1dG9tYXRpYyB0aGUgU0tVIGZpZWxkIG11c3QgYWxzbyBiZSBwb3B1bGF0ZWQnOwokbGFuZ1sndGl0bGVfc2VhcmNoX2RmbHR0ZW1wbGF0ZSddID0gJ0RlZmF1bHQgTmV3IFNlYXJjaCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9za3UnXSA9ICdUaGUgU0tVIGlzIHVzZWQgZm9yIG1hbmFnaW5nIHF1YW50aXR5IG9uIGhhbmQsIGFuZCBwcm9tb3Rpb25zIGZvciBwcm9kdWN0IG9wdGlvbnMuJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgU3VtbWFyeSBUZW1wbGF0ZSc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSc7CgojIFUKJGxhbmdbJ3VwJ10gPSAnTW92ZSBVcCc7CiRsYW5nWyd1cGRhdGUnXSA9ICdVcGRhdGUnOwokbGFuZ1sndXBsb2FkJ10gPSAnU2VsZWN0IGEgZmlsZSB0byB1cGxvYWQnOwokbGFuZ1sndXJsX2FsaWFzJ10gPSAnVVJMIEFsaWFzJzsKCiMgVgokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZCc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbHVlJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1ZhbHVlcyc7CiRsYW5nWyd2aWV3J10gPSAnVmlldyc7CiRsYW5nWyd2aWV3YWJsZV9maWVsZHMnXSA9ICdTZWxlY3QgY3VzdG9tIGZpZWxkcyB0byB2aWV3IGluIHRoZSB0YWJsZSc7CgojIFcKJGxhbmdbJ3dhcm5fZWRpdF9wcm9kdWN0X29wdGlvbnMnXSA9ICdFYWNoIHByb2R1Y3Qgb3B0aW9uIG11c3QgaGF2ZSBhIHVuaXF1ZSBzdHJpbmcuICBJZiBTS1UgaXMgcmVxdWlyZWQgdGhlbiBpdCBtdXN0IGJlIHVuaXF1ZSBhY3Jvc3MgdGhlIGVudGlyZSBzeXN0ZW0uJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ1dhdGVybWFyayBMb2NhdGlvbic7CiRsYW5nWyd3ZWlnaHQnXSA9ICdXZWlnaHQnOwokbGFuZ1snd2l0aF9zZWxlY3RlZCddID0gJ1dpdGggU2VsZWN0ZWQnOwoKIyBYCgojIFkKJGxhbmdbJ3llcyddID0gJ1llcyc7CgojIFoKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ1DFmWlkYXQnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdQxZlpZGF0IGthdGVnb3JpaSc7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ1DFmWlkYXQgcG9sZSc7CiRsYW5nWydhZGRwcm9kdWN0J10gPSAnUMWZaWRhdCBwcm9kdWt0JzsKJGxhbmdbJ2FkZF9hdHRyaWJfc2V0J10gPSAnUMWZaWRhdCB2bGFzdG5vc3QnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnQWRkIEhpZXJhcmNoeSBJdGVtJzsKJGxhbmdbJ2FkZF9vcHRpb24nXSA9ICdQxZlpZGF0IGhvZG5vdHUgdmxhc3Rub3N0aSc7CiRsYW5nWydhZG1pbl9vbmx5J10gPSAnTSZhYWN1dGU7IHR1dG8gdmxhc3Rub3N0IHZpZMSbdCBwb3V6ZSBzcHImYWFjdXRlO3ZjZT8nOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ1Ymc2Nhcm9uO2VjaG55IGthdGVnb3JpZSc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnSnN0ZSBzaSBqaXN0aT8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnQXJlIHlvdSBzdXJlIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBwcm9kdWN0LCBhbmQgYWxsIG9mIHRoZSBhY2NvbXBhbnlpbmcgaW5mb3JtYXRpb24gZm9yIGl0Pyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdWemVzdHVwbmUnOwokbGFuZ1snYXR0cmlidXRlX25hbWUnXSA9ICdOJmFhY3V0ZTt6ZXYgdmxhc3Rub3N0aSc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ0hpZXJhcmNoeSBSZXBvcnQgVGVtcGxhdGVzJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEhpZXJhcmNoeSBSZXBvcnQgVGVtcGxhdGUnOwokbGFuZ1snY2FuY2VsJ10gPSAnWnJ1JnNjYXJvbjtpdCc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnS2F0ZWdvcmllIHMgdCZpYWN1dGU7bXRvIG4mYWFjdXRlO3p2ZW0gdcW+IGV4aXN0dWplJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0NhdGVnb3J5TGlzdCBUZW1wbGF0ZXMnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEEgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgbm9kZT8gIEFueSBwcm9kdWN0cyB0aGF0IGFyZSB1c2luZyB0aGlzIG5vZGUgd2lsbCBiZSBzZXQgdG8gbm8gaGllcmFyY2h5JzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnRGF0dW0gdnl0dm/FmWVuJmlhY3V0ZTsnOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ0FrdHUmYWFjdXRlO2xuJmlhY3V0ZTsgZGF0dW0nOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlcyddID0gJ1YmeWFjdXRlO2Nob3omaWFjdXRlOyAmc2Nhcm9uO2FibG9uYSc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gJzxzdHJvbmc+Tm90ZTo8L3N0cm9uZz4gVGhlIGNvbnRlbnRzIG9mIHRoZXNlIHRleHQgYXJlYXMgYXJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGNvbnRlbnQgb2YgdGVtcGxhdGVzIHdoZW4geW91IGNsaWNrICZxdW90O0FkZCBUZW1wbGF0ZSZxdW90OyBpbiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgdGFiLiAgRWRpdGluZyBvbmUgb2YgdGhlc2UgdGV4dCBhcmVhcyB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiB5b3VyIHdlYnNpdGUuJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1Z5bWF6YXQnOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ1pydSZzY2Fyb247aXQgdmxhc3Rub3N0JzsKJGxhbmdbJ2RlbGV0ZV9oaWVyYXJjaHlfaXRlbSddID0gJ0RlbGV0ZSBIaWVyYXJjaHkgSXRlbSc7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnU2VzdHVwbsSbJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnUG9waXMnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHknOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnJlNjYXJvbjthYmxvbmEgZGV0YWlsdSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnUMWZaWRhdC9VcHJhdml0ICZzY2Fyb247YWJsb251IGRldGFpbHUnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdOZWFrdGl2biZpYWN1dGU7JzsKJGxhbmdbJ2RyYWZ0J10gPSAnTiZhYWN1dGU7dnJoJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ0Ryb3Bkb3duIE9wdGlvbnMgPGVtPihhcHBsaWNhYmxlIG9ubHkgZm9yIGRyb3Bkb3duIGZpZWxkcyk8L2VtPjxici8+PGJyLz48ZW0+KG9uZSBlbnRyeSBwZXIgbGluZSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnRWRpdCc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICdFZGl0IEF0dHJpYnV0ZSBTZXRzJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdFZGl0IEF0dHJpYnV0ZSBTZXRzIEZvcic7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdFZGl0IEF0dHJpYnV0ZXMnOwokbGFuZ1snZWRpdF9oaWVyYXJjaHlfaXRlbSddID0gJ0VkaXQgSGllcmFyY2h5IEl0ZW0nOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0FuIGF0dHJpYnV0ZSB3aXRoIHRoYXQgbmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnSW52YWxpZCBQYXJlbnQgKGEgaGllcmFyY2h5IG5vZGUgY2Fubm90IGJlIGl0JiMwMzk7cyBvd24gcGFyZW50KSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdUaGUgY3VzdG9tIGZpZWxkIHZhbHVlIGVudGVyZWQgaXMgaW52YWxpZCAoY29udGFpbnMgbm9uIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdBIHJlcXVpcmVkIHBhcmFtZXRlciBpcyBtaXNzaW5nIG9yIGludmFsaWQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9uYW1ldXNlZCddID0gJ1Byb2R1a3QgcyB0JmlhY3V0ZTttdG8gbiZhYWN1dGU7enZlbSB1xb4gZXhpc3R1amUnOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ0ludmFsaWQgcHJpY2UgYWRqdXN0bWVudCB2YWx1ZSBmb3IgaXRlbSAlcyc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnVXBsb2FkIGZhaWxlZDogJXMnOwokbGFuZ1snZmllbGQnXSA9ICdQb2xlJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRGVmaW5pY2UgcG9sZSc7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdEZWZpbmljZSBwb2wmaWFjdXRlOyc7CiRsYW5nWydmaWxlJ10gPSAnU291Ym9yJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0cnknOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyY2h5JzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ0hpZXJhcmNoeSBQb3NpdGlvbic7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ09iciZhYWN1dGU7emVrJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdJbmNsdWRlIENoaWxkcmVuPyc7CiRsYW5nWydpbmZvX2FsbnVtb25seSddID0gJ09ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMuIE5vIHdoaXRlc3BhY2UsIHF1b3Rlcywgb3Igbm9uIGxldHRlci9udW1iZXIgY29tYmluYXRpb25zJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ1Byb2JsZW1zIHdlcmUgZW5jb3VudGVyZWQgd2hlbiBkZWFsaW5nIHdpdGggb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkcy4gIFRoZSBhY3Rpb24gaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHksIGhvd2V2ZXIgeW91IHNob3VsZCBpbnZlc3RpZ2F0ZSBhbmQgY29ycmVjdCB0aGVzZSBwcm9ibGVtcyc7CiRsYW5nWydpbmZvX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdWYWxpZCB2YWx1ZXMgYXJlICstKiMuIyMnOwokbGFuZ1snaW5mb19wdWJsaWNmaWVsZCddID0gJ1B1YmxpYyBmaWVsZHMgYXJlIGF2YWlsYWJsZSBmb3IgdGhlIHB1YmxpYyB0byBzZWUnOwokbGFuZ1snbGFiZWwnXSA9ICdQb3Bpcyc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdQb3NsZWRuJmlhY3V0ZTsgem3Em25hJzsKJGxhbmdbJ2xvZ290ZXh0J10gPSAnRHJ1aCZ5YWN1dGU7IG9iciZhYWN1dGU7emVrJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoIDxlbT4oYXBwbGljYWJsZSBvbmx5IG9uIHRleHRib3ggZmllbGRzKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ1ptxJtuxJtubyBkbmUnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgZm9yIG1hbmFnaW5nIGEgY2F0YWxvZyBvZiBwcm9kdWN0cywgdGhlaXIgcHJpY2UsIGltYWdlcywgZXRjLCBhbmQgZm9yIGFsbG93aW5nIHVzZXJzIHRvIGJ1aWxkIGEgY2FydCc7CiRsYW5nWyduYW1lJ10gPSAnTiZhYWN1dGU7emV2JzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnTmVtJmFhY3V0ZTt0ZSBwb8W+YWRvdmFuJmVhY3V0ZTsgb3ByJmFhY3V0ZTt2bsSbbiZpYWN1dGU7OiAlcyc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdObyBuYW1lIHdhcyBzdXBwbGllZCc7CiRsYW5nWydub25lJ10gPSAnTm9uZSc7CiRsYW5nWydvZiddID0gJ3onOwokbGFuZ1sncGFnZSddID0gJ1N0ciZhYWN1dGU7bmthJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdTdHImYWFjdXRlO25rYSAlcyB6ICVzJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdQYWdlIExpbWl0JzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPmhpZXJhcmNoeSAtLSBEaXNwbGF5IGEgcHJvZHVjdCBsaXN0IGJ5IGhpZXJhcmNoeTwvbGk+DQogIDxsaT5jYXRlZ29yeWxpc3QgLSBEaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0IGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIHByb2R1Y3RzPC9saT4NCiAgPGxpPmRldGFpbCAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBwcm9kdWN0PC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnV2hlbiB1c2VkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiBhbiBleGlzdGluZyBjYXRlZ29yeSB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSBvbmx5IHRob3NlIGNvbXBhbmllcyB0aGF0IGFyZSBpbiB0aGF0IGNhdGVnb29yeS4gKGEgY29tbWEgc2VwZXJhdGVkIGxpc3QgY2FuIGJlIHN1cHBsaWVkKSc7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnVGhpcyBzcGVjaWZpZXMgdGhlIHBhZ2VpZCBvciBhbGlhcyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGV0YWlsIG1vZGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IG9ubHkgaXRlbXMgaW4gdGhhdCBsb2NhdGlvbiBvZiB0aGUgaGllcmFyY2h5IHNob3VsZCBiZSBkaXNwbGF5ZWQuICBXaWxkY2FyZCBjaGFyYWN0ZXIgY2FuIGJlIHVzZWQgc28gdGhhdCB5b3UgY2FuIHNwZWNpZnkgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcHMgYXMgd2VsbC4gIGkuZSB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5O3RydWNrcyomIzAzOTt9IHdpbGwgY3JlYXRlIGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgaW5jbHVkaW5nIHRoZSBjaGlsZHJlbiBpbiB0aGUgaGllcmFyY2h5LiAgU2ltaWxhcmx5LCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5Oyp0cnVja3MmIzAzOTt9IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGFuZCBhbGwgcHJvZHVjdHMgYmVsb2dpbmcgdG8gYW55IHBhcmVudCBpbiB0aGUgaGllcmFyY2h5Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGhpZXJhcmNoeSBkaXNwbGF5LiBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBob3cgbWFueSBpdGVtcyBzaG91bGQgYmUgbGlzdGVkIG9uIGVhY2ggcGFnZS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5oaWVyYXJjaHk8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaGllcmFyY2h5IGlkIG9mIHRoZSBzdGFydGluZyBsb2NhdGlvbiBvZiB0aGUgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBkZXRhaWwgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgd2hhdCBwcm9kdWN0IHRvIHVzZSBmb3IgdGhlIGRpc3BsYXkuJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ1NwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnQXBwbGljYWJsZSBvbmx5IGluIHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgZGV0ZXJtaW5lcyB0aGUgc29ydGluZyBvZiB0aGUgb3V0cHV0IGNvbXBhbmllcy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPnByb2R1Y3RfbmFtZTwvc3Ryb25nPjwvbGk+DQogIDxsaT5wcmljZSAtLSBUaGUgcHJvZHVjdCBiYXNlIHByaWNlPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHN1bW1hcnkgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ1BhcmVudCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBQcm9kdWN0cyBtb2R1bGUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIFByb2R1Y3RzIG1vZHVsZSBoYXMgYmVlbiByZW1vdmVkIGFsb25nIHdpdGggYWxsIGFzc29jaWF0ZWQgZGF0YSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1JlbW92aW5nIHRoaXMgbW9kdWxlIHdpbGwgYWxzbyByZW1vdmUgYWxsIGFzc29jaWF0ZWQgZGF0YSwgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHByb2NlZWQ/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnQ2VuYSc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnTmFzdGF2ZW4maWFjdXRlOyBjZW55JzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcm9kdWN0J10gPSAnUHJvZHVrdCc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ04mYWFjdXRlO3pldiBwcm9kdWt0dSc7CiRsYW5nWydwcm9kdWN0cyddID0gJ1Byb2R1a3R5JzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnUHJvZHVjdCBIaWVyYXJjaHknOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnUHJvZHVjdCBNYW5hZ2VyJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdBbGxvdyB1cGxvYWQgb2YgZmlsZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIChmb3IgZmlsZSB0eXBlIGZpZWxkcyknOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ0FsbG93IHVwbG9hZCBvZiBpbWFnZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIChmb3IgaW1hZ2UgdHlwZSBmaWVsZHMpJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgdGh1bWJuYWlscyBvZiBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdFbmFibGUgYnkgZGVmYXVsdCBmb3IgYWxsIG5ldyBwcm9kdWN0cyc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdTeW1ib2wgbcSbbnknOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ0RlbGV0ZSBhbnkgZmlsZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBwcm9kdWN0IHdoZW4gdGhlIHByb2R1Y3QgaXMgZGVsZXRlZD8nOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdEZWZhdWx0IERldGFpbCBQYWdlJzsKJGxhbmdbJ3Byb21wdF90YXhyYXRlJ10gPSAnViZ5YWN1dGU7JnNjYXJvbjtlIGRhbsSbJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAnRGVmYXVsdCBTb3J0IE9yZGVyIGluIHN1bW1hcnkgbW9kZSc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdEZWZhdWx0IFNvcnQgRmllbGQgaW4gc3VtbWFyeSBtb2RlJzsKJGxhbmdbJ3Byb21wdF90YXgxJ10gPSAnUHJ2biZpYWN1dGU7IGRhxYgnOwokbGFuZ1sncHJvbXB0X3RheDInXSA9ICdEcnVoJmFhY3V0ZTsgZGHFiCc7CiRsYW5nWydwcm9tcHRfdGF4bmFtZSddID0gJ04mYWFjdXRlO3pldiBkYW7Emyc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBTb3VyY2UnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnSmVkbm90a2EgdiZhYWN1dGU7aHknOwokbGFuZ1sncHVibGljJ10gPSAnSXMgdGhpcyBhIHB1YmxpYyBmaWVsZD8nOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnWnZlxZllam7Em25vJzsKJGxhbmdbJ3JhbmRvbSddID0gJ1JhbmRvbSc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ1Jlc2V0IHRvIEZhY3RvcnkgVmFsdWVzJzsKJGxhbmdbJ3Jvb3QnXSA9ICdSb290JzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdTZWxlY3QgT25lJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICfFmGF6ZW5vIHBvZGxlJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTb3J0IE9yZGVyJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJyZTY2Fyb247YWJsb25hIHDFmWVobGVkdSc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEEgU3VtbWFyeSBUZW1wbGF0ZSc7CiRsYW5nWyd0YXhhYmxlJ10gPSAnWmRhbml0ZWxuJmVhY3V0ZTsnOwokbGFuZ1sndGF4X21vZHVsZSddID0gJ1RheCBNb2R1bGUnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHQgSW5wdXQnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdOb3YmYWFjdXRlOyB2JnlhY3V0ZTtjaG96JmlhY3V0ZTsgJnNjYXJvbjthYmxvbmEgZGV0YWlsdSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ05vdiZhYWN1dGU7IHYmeWFjdXRlO2Nob3omaWFjdXRlOyAmc2Nhcm9uO2FibG9uYSBwxZllaGxlZHUnOwokbGFuZ1sndHlwZSddID0gJ1R5cCc7CiRsYW5nWyd1cGRhdGUnXSA9ICdBa3R1YWxpem92YXQnOwokbGFuZ1sndXBsb2FkJ10gPSAnVnliZXJ0ZSBzb3Vib3IgayBuYWhyJmFhY3V0ZTtuJmlhY3V0ZTsnOwokbGFuZ1sndmFsdWUnXSA9ICdIb2Rub3RhJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ0hvZG5vdHknOwokbGFuZ1snd2VpZ2h0J10gPSAnViZhYWN1dGU7aGEnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xODEyNDQ2OTI3LjEyMDEyNTAyMzAuMTIxMDkzMDYwOC4xMjEwOTM2NzE0LjI5JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIxMDUzOTQwNS4yNS4xOC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZWxla3Ryb2tvbXBsZXguY29tfHV0bWNjdD0vY21zL2FkbWluL2FkZGNvbnRlbnQucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ1RpbGYmb3NsYXNoO2onOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdUaWxmJm9zbGFzaDtqIGVuIGthdGVnb3JpJzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnVGlsZiZvc2xhc2g7aiBldCBmZWx0JzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICdUaWxmJm9zbGFzaDtqIGV0IHByb2R1a3QnOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdUaWxmJm9zbGFzaDtqIGVuIGVnZW5za2FiJzsKJGxhbmdbJ2FkZF9oaWVyYXJjaHlfaXRlbSddID0gJ0Ymb3NsYXNoO2ogZXQgZWxlbWVudCB0aWwgaGllcmFya2lldCc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnRiZvc2xhc2g7aiBlbiB2YWxnbXVsaWdoZWQgdGlsIGVuIGVnZW5za2FiJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdFciBkZXQga3VuIGFkbWluaXN0cmF0b3Jlciwgc29tIG0mYXJpbmc7IHNlIGRlbm5lIGVnZW5za2FiPyc7CiRsYW5nWydhbGxjYXRlZ29yaWVzJ10gPSAnQWxsZSBrYXRlZ29yaWVyJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdFciBkdSBzaWtrZXI/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlcHJvZHVjdCddID0gJ0VyIGR1IGhlbHQgc2lra2VyIHAmYXJpbmc7LCBhdCBkdSB2aWwgc2xldHRlIGRldHRlIHByb2R1a3Qgc2FtdCBhbGxlIGRlIGluZm9ybWF0aW9uZXIsIHNvbSBlciBrbnl0dGV0IHRpbCBkZXQ/JzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ1N0aWdlbmRlIG9yZGVuJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnRWdlbnNrYWJlbnMgbmF2bic7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ1NrYWJlbG9uIHRpbCBoaWVyYXJraS1yYXBwb3J0JzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ1RpbGYmb3NsYXNoO2ovcmV0IHNrYWJlbG9uIHRpbCBoaWVyYXJraS1yYXBwb3J0JzsKJGxhbmdbJ2NhbmNlbCddID0gJ0ZvcnRyeWQnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0thdGVnb3JpZXInOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdLYXRlZ29yaSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ0RlciBmaW5kZXMgYWxsZXJlZGUgZW4ga2F0ZWdvcmkgbWVkIGRldCBuYXZuJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0thdGVnb3JpbGlzdGUtc2thYmVsb25lcic7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnVGlsZiZvc2xhc2g7ai9yZXQga2F0ZWdvcmlsaXN0ZS1za2FiZWxvbic7CiRsYW5nWydjaGVja2JveCddID0gJ1RqZWtib2tzJzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX2hpZXJhcmNoeV9ub2RlJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7LCBhdCBkdSB2aWwgc2xldHRlIGRldHRlIHB1bmt0PyBQcm9kdWt0ZXIgc29tIGgmb3NsYXNoO3JlciBpbmQgdW5kZXIgZGV0dGUgcHVua3QgdmlsIGhlbHQgbWlzdGUgZGVyZXMgcGxhZHMgaSBoaWVyYXJraWV0JzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnT3ByZXR0ZWxzZXNkYXRvJzsKJGxhbmdbJ2N1cnJlbnRfdmFsdWUnXSA9ICdOdXYmYWVsaWc7cmVuZGUgdiZhZWxpZztyZGknOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlcyddID0gJ1N0YW5kYXJkc2thYmVsb25lcic7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gJzxzdHJvbmc+QmVtJmFlbGlnO3JrOjwvc3Ryb25nPiBJbmRob2xkZXQgYWYgZGlzc2UgdGVrc3Rib2tzZSBicnVnZXMgdGlsIGF0IGJlc3RlbW1lIGRldCBpbmRob2xkIHNvbSB2aXNlcyBpIHNrYWJlbG9uZW4sIG4mYXJpbmc7ciBkdSBrbGlra2VyIHAmYXJpbmc7ICZxdW90O1RpbGYmb3NsYXNoO2ogc2thYmVsb24mcXVvdDsgaSBkZW4gZ2l2bmUgc2thYmVsb25mYW5lLiAgUmV0dGVsc2VyIGkgZW4gYWYgZGlzc2UgdGVrc3Rib2tzZSB2aWwgaWtrZSBoYXZlIG5vZ2VuIHVtaWRkZWxiYXIgYmV0eWRuaW5nIGZvciBkaW4gaGplbW1lc2lkZS4nOwokbGFuZ1snZGVsZXRlJ10gPSAnU2xldCc7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnU2xldCBlZ2Vuc2thYic7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICdGamVybiBlbGVtZW50IGZyYSBoaWVyYXJraWV0JzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdGYWxkZW5kZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZlbHNlJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXRhbGplcic7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdEZXRhbGplLXNrYWJlbG9uJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdUaWxmJm9zbGFzaDtqL3JldCBlbiBkZXRhbGplLXNrYWJlbG9uJzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnU2wmYXJpbmc7ZXQgZnJhJzsKJGxhbmdbJ2RyYWZ0J10gPSAnS2xhZGRlJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnVmFsZ2Jva3MnOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ1ZhbGdtdWxpZ2hlZGVyIDxlbT4oYW52ZW5kZXMga3VuIGkgdmFsZ2Jva3NlKTwvZW0+PGJyLz48YnIvPjxlbT4oZW4gdmFsZ211bGlnaGVkIHBlciBsaW5qZSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnUmV0JzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ1JldCBlZ2Vuc2thYnNzJmFlbGlnO3QnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ1JldCBlZ2Vuc2thYnNzJmFlbGlnO3QgZm9yJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ1JldCBlZ2Vuc2thYmVyJzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdSZXQgZWxlbWVudCBpIGhpZXJhcmtpZXQnOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0RlciBmaW5kZXMgYWxsZXJlZGUgZW4gZWdlbnNrYWIgbWVkIGRldCBuYXZuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJlbnQnXSA9ICdJbnZhbGlkIFBhcmVudCAoYSBoaWVyYXJjaHkgbm9kZSBjYW5ub3QgYmUgaXQmIzAzOTtzIG93biBwYXJlbnQpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfbmFtZSddID0gJ0RlbiBpbmR0YXN0ZWRlIHYmYWVsaWc7cmRpIGkgZGV0IGJydWdlcmRlZmluZXJlZGUgZmVsdCBlciB1Z3lsZGlnIChhbGxlIHRlZ24gc2thbCB2JmFlbGlnO3JlIGFsZmFudW1lcmlza2UpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ0VuIHAmYXJpbmc7a3ImYWVsaWc7dmV0IHBhcmFtZXRlciBtYW5nbGVyIGVsbGVyIGVyIHVneWxkaWcnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdWJmFlbGlnO2xnIHZlbmxpZ3N0IGVuIGZlbHR0eXBlJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdEZXIgZmluZGVzIGFsbGVyZWRlIGV0IHByb2R1a3QgbWVkIGRldCBuYXZuJzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdWJmFlbGlnO3JkaWVuIHRpbCBqdXN0ZXJpbmcgYWYgcHJpc2VuIGZvciBlbGVtZW50ZXQgJXMgZXIgdWd5bGRpZyc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnVXBsb2FkIG1pc2x5a2tlZGVzOiAlcyc7CiRsYW5nWydmaWVsZCddID0gJ0ZlbHQnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdGZWx0ZGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdGZWx0ZGVmaW5pdGlvbmVyJzsKJGxhbmdbJ2ZpbGUnXSA9ICdGaWwnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRyZSc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICcmYW1wO2x0OyZhbXA7bHQ7JzsKJGxhbmdbJ2hpZXJhcmNoeSddID0gJ0hpZXJhcmtpJzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ0hpZXJhcmtpLXBsYWNlcmluZyc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0JpbGxlZGUnOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ1NrYWwgdW5kZXJwdW5rdGVyIGlua2x1ZGVyZXM/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnS3VuIGFscGhhbnVtbWVyaXNrZSB0ZWduLiBJbmdlbiBtZWxsZW1ydW0sIGcmYXJpbmc7c2Umb3NsYXNoO2puZSwgZWxsZXIga29tYmluYXRpb25lciBhZiBpa2tlLWJvZ3N0YXZlci90YWwnOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnRGVyIG9wc3RvZCBwcm9ibGVtZXIgdmVkciZvc2xhc2g7cmVuZGUgZXQgZWxsZXIgZmxlcmUgYnJ1Z2VyZGVmaW5lcmVkZSBmZWx0ZXIuIFNlbHZvbSBoYW5kbGluZ2VuIGVyIGJsZXZldCB1ZGYmb3NsYXNoO3J0LCBiJm9zbGFzaDtyIGR1IHVuZGVycyZvc2xhc2g7Z2Ugb2cgcmV0dGUgZGlzc2UgcHJvYmxlbWVyJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ0d5bGRpZ2UgdiZhZWxpZztyZGllciBvbWZhdHRlciArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdPZmZlbnRsaWdlIGZlbHRlciBrYW4gc2VzIGFmIG9mZmVudGxpZ2hlZGVuJzsKJGxhbmdbJ2xhYmVsJ10gPSAnRXRpa2V0JzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnJmFtcDtndDsmYW1wO2d0Oyc7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnU2VuZXN0ICZhZWxpZztuZHJldCc7CiRsYW5nWydsb2dvdGV4dCddID0gJ0JpbGxlZCBuci4gdG8nOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW11bSB0ZWduIDxlbT4oZyZhZWxpZztsZGVyIGt1biBmb3IgdGVrc3Rib2tzZSk8L2VtPic7CiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICcmQUVsaWc7bmRyaW5nc2RhdG8nOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnRXQgbW9kdWwgdGlsIGgmYXJpbmc7bmR0ZXJpbmcgYWYgcHJvZHVrdGVyIGkgZXQga2F0YWxvZyAtIHByaXNlciwgYmlsbGVkZXIsIGV0Yy4gLSBvZyB0aWwgYXQgZ2l2ZSBicnVnZXJlIG11bGlnaGVkIGZvciBhdCBrJm9zbGFzaDtiZSBpbmQnOwokbGFuZ1snbmFtZSddID0gJ05hdm4nOwokbGFuZ1snbmVlZHBlcm1pc3Npb24nXSA9ICdEdSBoYXIgaWtrZSBkZW4gcCZhcmluZztrciZhZWxpZzt2ZWRlIHRpbGxhZGVsc2U6ICVzJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnJmFtcDtndDsnOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdEZXIgYmxldiBpa2tlIGFuZ2l2ZXQgbm9nZXQgbmF2bic7CiRsYW5nWydub25lJ10gPSAnSW5nZW4nOwokbGFuZ1snb2YnXSA9ICdBZic7CiRsYW5nWydwYWdlJ10gPSAnU2lkZSc7CiRsYW5nWydwYWdlX29mJ10gPSAnU2lkZSAlcyBhZiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnTWF4LiBwZXIgc2lkZSc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZpY2VyIGh2b3JkYW4gbW9kdWxldCBza2FsIHZpc2UgcHJvZHVrdGVybmUuIE11bGlnZSB2JmFlbGlnO3JkaWVyIGVyOg0KPHVsPg0KICA8bGk+aGllcmFyY2h5IC0tIFZpcyBlbiBoaWVyYXJraXNrIHByb2R1a3RsaXN0ZTwvbGk+DQogIDxsaT5jYXRlZ29yeWxpc3QgLSBWaXMgZW4gbGlzdGUgb3ZlciBwcm9kdWt0a2F0ZWdvcmllcjwvbGk+DQogIDxsaT48ZW0+ZGVmYXVsdDwvZW0+IC0gVmlzIHByb2R1a3RyZXN1bWVlciAoc3RhbmRhcmQpPC9saT4NCiAgPGxpPmRldGFpbCAtIFZpcyBkZW4gZnVsZGUgYmVza3JpdmVsc2UgYWYgZXQgcHJvZHVrdDwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ1ZlZCBhbnZlbmRlbHNlIHNhbW1lbiBtZWQgcHJvZHVrdHJlc3VtZWVyIChodmlsa2V0IGVyIHN0YW5kYXJkdmlzbmluZ3N0eXBlbiksIHZpbCBkZXR0ZSBwYXJhbWV0ZXIsIHNvbSBiJm9zbGFzaDtyIHN0ZW1tZSBvdmVyZW5zIG1lZCBlbiBla3Npc3RlcmVuZGUga2F0ZWdvcmksIGJsaXZlIGJydWd0IHRpbCBrdW4gYXQgdmlzZSBkZSBwcm9kdWt0ZXIsIHNvbSBiZWZpbmRlciBzaWcgaSBkZW4gYW5naXZuZSBrYXRlZ29yaS4gKEthdGVnb3JpZXIga2FuIGFuZ2l2ZXMgcCZhcmluZzsgZW4gbGlzdGUgYWRza2lsdCBhZiBrb21tYWVyKSc7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddID0gJ0RldHRlIHBhcmFtZXRlciwgc29tIGt1biBrYW4gYnJ1Z2VzIHNhbW1lbiBtZWQgdmlzbmluZyBhZiBrYXRlZ29yaWxpc3RlLCBhbmdpdmVyIGh2aWxrZW4gc2thYmVsb24gZGVyIHNrYWwgYnJ1Z2VzIGkgZm9yYmluZGVsc2UgbWVkIHZpc25pbmdlbi4gQW5naXZlcyBkZXIgaW5nZW4gdiZhZWxpZztyZGkgYnJ1Z2VzIGRlbiBzdGFuZGFyZHNrYWJlbG9uLCBzb20gcC50LiBlciB2YWxndCBmb3IgdmlzbmluZ3N0eXBlbi4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ0RldHRlIGFuZ2l2ZXIgaWQgZWxsZXIgYWxpYXMgcCZhcmluZzsgZGVuIHNpZGUsIHNvbSBza2FsIGJydWdlcyB0aWwgdmlzbmluZyBhZiBkZW4gZnVsZGUgYmVza3JpdmVsc2UgYWYgZXQgcHJvZHVrdC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdEZXR0ZSBwYXJhbWV0ZXIgYW5naXZlciwgaHZpbGtlbiBza2FiZWxvbiBkZXIgc2thbCBicnVnZXMgdGlsIHZpc25pbmcgYWYgZGVuIGZ1bGRlIHByb2R1a3RiZXNrcml2ZWxzZS4gIEFuZ2l2ZXMgZGVyIGluZ2VuIHYmYWVsaWc7cmRpIGJydWdlcyBkZW4gc3RhbmRhcmRza2FiZWxvbiwgc29tIHAudC4gZXIgdmFsZ3QgZm9yIHZpc25pbmdzdHlwZW4uJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeSddID0gJ0RldHRlIHBhcmFtZXRlciwgc29tIGt1biBrYW4gYnJ1Z2VzIHNhbW1lbiBtZWQgcHJvZHVrdHJlc3VtZWVyIChzdGFuZGFyZHZpc25pbmcpLCBzcGVjaWZpY2VyZXIgYXQga3VuIGRlIGVsZW1lbnRlciwgc29tIGJlZmluZGVyIHNpZyBwJmFyaW5nOyBkZXR0ZSBiZXN0ZW10ZSBzdGVkIGkgaGllcmFya2lldCwgc2thbCB2aXNlcy4gRGVyIGthbiBhbnZlbmRlcyBqb2tlcnRlZ24sIHMmYXJpbmc7bGVkZXMgYXQgZHUgb2dzJmFyaW5nOyBrYW4gc3BlY2lmaWNlcmUgYmVzdGVtdGUgcmVsYXRpb25lciBtZWxsZW0gaG92ZWQgLW9nIHVuZGVycHVua3Rlci4gRi5la3MuIHZpbCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5O2xhc3RiaWxlciomIzAzOTt9IHJlc3VsdGVyZSBpIGVuIG9wc3VtbWVyaW5nc3JhcHBvcnQsIGRlciB2aXNlciBhbGxlIGxhc3RiaWxlci4gUmFwcG9ydGVuIGlua2x1ZGVyZXIgdW5kZXJwdW5rdGVyIGkgaGllcmFya2lldC4gTGlnZXMmYXJpbmc7IHZpbCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5OypsYXN0YmlsZXImIzAzOTt9IHJlc3VsdGVyZSBpIGVuIHJhcHBvcnQgb3ZlciBhbGxlIGxhc3RiaWxlciBvZyBwcm9kdWt0ZXIsIHNvbSB0aWxoJm9zbGFzaDtyZXIgZXQgaHZpbGtldCBzb20gaGVsc3QgaG92ZWRwdW5rdCBpIGhpZXJhcmtpZXQuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnRGV0dGUgcGFyYW1ldGVyIGFuZ2l2ZXIgZGVuIHNrYWJlbG9uLCBzb20gc2thbCBicnVnZXMgdGlsIGhpZXJhcmtpdmlzbmluZy4gQW5naXZlcyBkZXIgaW5nZW4gdiZhZWxpZztyZGkgYnJ1Z2VzIGRlbiBzdGFuZGFyZHNrYWJlbG9uLCBzb20gcC50LiBlciB2YWxndCBmb3IgdmlzbmluZ3N0eXBlbi4nOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnS2FuIGt1biBicnVnZXMgc2FtbWVuIG1lZCBwcm9kdWt0cmVzdW0mZWFjdXRlO3Zpc25pbmcgKHN0YW5kYXJkKSBvZyBhbmdpdmVyLCBodm9yIG1hbmdlIGVsZW1lbnRlciBkZXIgc2thbCB2aXNlcyBwZXIgc2lkZS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnS3VuIGJydWdiYXIgdmVkIDxlbT5oaWVyYXJraXZpc25pbmc8L2VtPi4gUGFyYW1ldHJldCBhbmdpdmVyIGlkJiMwMzk7ZXQgZm9yIGRldCBoaWVyYXJraSBzb20gc2thbCB1ZGcmb3NsYXNoO3JlIGJlZ3luZGVsc2VzcHVua3RldCBmb3Igb3ZlcnNpZ3Rlbi4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGlkJ10gPSAnS3VuIGJydWdiYXIgdmVkIHZpc25pbmcgYWYgZnVsZCBwcm9kdWt0YmVza3JpdmVsc2UuIERldHRlIHBhcmFtZXRlciBmb3J0JmFlbGlnO2xsZXIsIGh2aWxrZXQgcHJvZHVrdCBkZXIgc2thbCBicnVnZXMgdmVkIHZpc25pbmdlbi4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnQW5naXYgZGVuIG9yZGVuIGkgaHZpbGtlbiBzb3J0ZXJlZGUgZmVsdGVyIHNrYWwgb3B0ciZhZWxpZztkZSBpIHJlc3VtJmVhY3V0ZTt2aXNuaW5nLiAgTXVsaWdoZWRlcm5lIGVyOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gU3RpZ2VuZGUgb3JkZW48L2xpPg0KICA8bGk+ZGVzYyAtLSBGYWxkZW5kZSBvcmRlbjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdEZXR0ZSBwYXJhbWV0ZXIsIHNvbSBrdW4ga2FuIGJydWdlcyBpIGZvcmJpbmRlbHNlIG1lZCByZXN1bSZlYWN1dGU7dmlzbmluZywgYmVzdGVtbWVyIGh2b3JkYW4gcHJvZHVrdGVybmUgc2thbCBzb3J0ZXJlcy4gTXVsaWdlIHYmYWVsaWc7cmRpZXIgZXI6DQo8dWw+DQogIDxsaT48c3Ryb25nPnByb2R1Y3RfbmFtZTwvc3Ryb25nPiBQcm9kdWt0bmF2bjwvbGk+DQogIDxsaT5wcmljZSAtLSBCYXNpc3ByaXM8L2xpPg0KICA8bGk+c3RhdHVzIC0tIEtsYWRkZSBlbGxlciBvZmZlbnRsaWc8L2xpPg0KICA8bGk+cmFuZG9tIC0tIFZpcyBpIHRpbGYmYWVsaWc7bGRpZyBvcmRlbiB2ZWQgaHZlciBmb3Jlc3Amb3NsYXNoO3Jnc2VsPC9saT4NCiAgPGxpPmNyZWF0ZWQgLS0gRGVuIGRhdG8gaHZvciBkZXR0ZSBmaXJtYSBibGV2IG9wcmV0dGV0IHNvbSBlbiBwb3N0IGkgZGF0YWJhc2VuPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIERhdG9lbiBmb3Igc2VuZXN0ZSBvcGRhdGVyaW5nIGFmIGZpcm1hZXQgaSBkYXRhYmFzZW48L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnRGV0dGUgcGFyYW1ldGVyIGFuZ2l2ZXIgaHZpbGtlbiBza2FiZWxvbiwgZGVyIHNrYWwgYnJ1Z2VzIHRpbCByZXN1bSZlYWN1dGU7dmlzbmluZy4gQW5naXZlcyBkZXIgaW5nZW4gdiZhZWxpZztyZGkgYnJ1Z2VzIGRlbiBzdGFuZGFyZHNrYWJlbG9uLCBzb20gcC50LiBlciB2YWxndCBmb3IgdmlzbmluZ3N0eXBlbi4nOwokbGFuZ1sncGFyZW50J10gPSAnT3Zlcm9yZG5ldCBwdW5rdCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsZXQgUHJvZHVjdHMgYmxldiBpbnN0YWxsZXJldCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnTW9kdWxldCBQcm9kdWN0cyBlciBibGV2ZXQgZmplcm5ldCBzYW1tZW4gbWVkIGFsbGUgdGlsaCZvc2xhc2g7cmVuZGUgZGF0YSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0luZHN0aWxsaW5nZXInOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnVmVkIGZqZXJuZWxzZSBhZiBkZXR0ZSBtb2R1bCBmamVybmVzIG9ncyZhcmluZzsgYWxsZSBkZSB0aWxoJm9zbGFzaDtyZW5kZSBkYXRhLiBFciBkdSBzaWtrZXIgcCZhcmluZzssIGF0IGR1IHZpbCBmb3J0cyZhZWxpZzt0dGU/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJpcyc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnUHJpc3JlZ3VsZXJpbmcnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICcmYW1wO2x0Oyc7CiRsYW5nWydwcm9kdWN0J10gPSAnUHJvZHVrdCc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ1Byb2R1a3RuYXZuJzsKJGxhbmdbJ3Byb2R1Y3RzJ10gPSAnUHJvZHVrdGVyJzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnUHJvZHVrdC1oaWVyYXJraSc7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICdQcm9kdWt0aCZhcmluZztuZHRlcmluZyc7CiRsYW5nWydwcm9tcHQnXSA9ICdGb3Jlc3Amb3NsYXNoO3Jnc2VsJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ1RpbGxhZCB1cGxvYWQgYWYgZGlzc2UgZmlsdHlwZXIgKHRpbCBmaWx0eXBlLWZlbHRlciknOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ1RpbGxhZCB1cGxvYWQgYWYgZiZvc2xhc2g7bGdlbmRlIGJpbGxlZGZpbHR5cGVyICh0aWwgYmlsbGVkdHlwZS1mZWx0ZXIpJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsJ10gPSAnRGFuIGF1dG9tYXRpc2sgc20mYXJpbmc7IHVkZ2F2ZXIgYWYgYmlsbGVkZXIgKHRodW1ibmFpbHMpJzsKJGxhbmdbJ3Byb21wdF9hcHBsaWNhYmxlJ10gPSAnU2wmYXJpbmc7ZXQgdGlsIHNvbSBzdGFuZGFyZCBmb3IgYWxsZSBueWUgcHJvZHVrdGVyJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeWNvZGUnXSA9ICdWYWx1dGFrb2RlJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCddID0gJ1ZhbHV0YXN5bWJvbCc7CiRsYW5nWydwcm9tcHRfZGVsZXRlcHJvZHVjdGZpbGVzJ10gPSAnU2xldCBhbGxlIGZpbGVyLCBzb20gZXIgZm9yYnVuZGV0IG1lZCBwcm9kdWt0ZXQsIG4mYXJpbmc7ciBwcm9kdWt0ZXQgc2xldHRlcz8nOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdTdGFuZGFyZHNpZGUgdGlsIGZ1bGRlIHByb2R1a3RiZXNrcml2ZWxzZXInOwokbGFuZ1sncHJvbXB0X3RheHJhdGUnXSA9ICdNb21zJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAnU3RhbmRhcmQgc29ydGVyaW5nc29yZGVuIGkgcmVzdW0mZWFjdXRlO3Zpc25pbmcnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0aW5nJ10gPSAnRmVsdCBkZXIgc29tIHN0YW5kYXJkIHNrYWwgc29ydGVyZXMgcCZhcmluZzsgaSByZXN1bSZlYWN1dGU7dmlzbmluZyc7CiRsYW5nWydwcm9tcHRfdGF4MSddID0gJ1NrYXQsIGFmZ2lmdCwgbW9tcyc7CiRsYW5nWydwcm9tcHRfdGF4MiddID0gJ0ZsZXJlIHNrYXR0ZXIsIGFmZ2lmdGVyLCBtb21zJzsKJGxhbmdbJ3Byb21wdF90YXhuYW1lJ10gPSAnQWZnaWZ0c25hdm4nOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnU2thYmVsb25raWxkZSc7CiRsYW5nWydwcm9tcHRfd2VpZ2h0dW5pdHMnXSA9ICdWJmFlbGlnO2d0ZW5oZWQnOwokbGFuZ1sncHVibGljJ10gPSAnU2thbCBkZXR0ZSBmZWx0IHYmYWVsaWc7cmUgdGlsZyZhZWxpZztuZ2VsaWd0IGZvciBvZmZlbnRsaWdoZWRlbj8nOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnT2ZmZW50bGlnZ2pvcnQnOwokbGFuZ1sncmFuZG9tJ10gPSAnVGlsZiZhZWxpZztsZGlnJzsKJGxhbmdbJ3Jlc2V0dG9mYWN0b3J5J10gPSAnR2VuZGFuIHN0YW5kYXJkdiZhZWxpZztyZGllcic7CiRsYW5nWydyb290J10gPSAnUm9kJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdWJmFlbGlnO2xnIGVuJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdTb3J0ZXIgZWZ0ZXInOwokbGFuZ1snc29ydF9vcmRlciddID0gJ1NvcnRlcmluZ3NyJmFlbGlnO2trZWYmb3NsYXNoO2xnZSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMnOwokbGFuZ1snc3VibWl0J10gPSAnSW5kc2VuZCc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAnUmVzdW0mZWFjdXRlO3NrYWJlbG9uZXInOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdUaWxmJm9zbGFzaDtqL3JldCBlbiByZXN1bSZlYWN1dGU7c2thYmVsb24nOwokbGFuZ1sndGF4YWJsZSddID0gJ1NrYXR0ZXBsaWd0aWcnOwokbGFuZ1sndGF4X21vZHVsZSddID0gJ1NrYXR0ZW1vZHVsJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGVrc3Rib2tzJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZWtzdGZlbHQnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhcmRza2FiZWxvbiBmb3IgbnllIGhpZXJhcmtpcmFwcG9ydGVyJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5bGlzdF9kZmx0dGVtcGxhdGUnXSA9ICdTdGFuZGFyZHNrYWJlbG9uIGZvciBueWUga2F0ZWdvcmlsaXN0ZXInOwokbGFuZ1sndGl0bGVfZGV0YWlsX2RmbHR0ZW1wbGF0ZSddID0gJ1N0YW5kYXJkc2thYmVsb24gZm9yIG55ZSBmdWxkZSBwcm9kdWt0YmVza3JpdmVsc2VyJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhcmRza2FiZWxvbiBmb3IgbnllIHByb2R1a3RyZXN1bWVlcic7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSc7CiRsYW5nWyd1cGRhdGUnXSA9ICdPcGRhdGVyJzsKJGxhbmdbJ3VwbG9hZCddID0gJ1YmYWVsaWc7bGcgZW4gZmlsIGF0IHVwbG9hZGUnOwokbGFuZ1sndmFsdWUnXSA9ICdWJmFlbGlnO3JkaSc7CiRsYW5nWyd2YWx1ZXMnXSA9ICdWJmFlbGlnO3JkaWVyJzsKJGxhbmdbJ3dlaWdodCddID0gJ1YmYWVsaWc7Z3QnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMDk0MTE0NDA0LjEyMDY2MzU2MDMuMTIxNjkwNjg1NC4xMjE2OTA5ODgyLjQ4JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIxNjgzMDc1NC40MC4zMS51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtcyBtYWRlIHNpbXBsZSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FiYnJfbGVuZ3RoJ10gPSAnTCAnOwokbGFuZ1snYWJicl93aWR0aCddID0gJ0IgJzsKJGxhbmdbJ2FiYnJfaGVpZ2h0J10gPSAnSCAnOwokbGFuZ1snYWRkJ10gPSAnSGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnRWluZSBLYXRlZ29yaWUgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnRWluIEZlbGQgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FkanVzdGFibGUnXSA9ICdBbnBhc3NiYXInOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ0VpbmVuIEFydGlrZWwgaGluenVmJnV1bWw7Z2VuJzsKJGxhbmdbJ2FkZF9hdHRyaWJfc2V0J10gPSAnRWluIEF0dHJpYnV0IGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdEYXMgRmVsZCBtaXQgZGVyIEthdGVnb3JpZSAmcXVvdDslcyZxdW90OyB2ZXJrbiZ1dW1sO3BmZW4nOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnRWluIEhpZXJhcmNoaWUtRWxlbWVudCBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snYWRkX29wdGlvbiddID0gJ0F0dHJpYnV0LU9wdGlvbiBoaW56dWYmdXVtbDtnZW4nOwokbGFuZ1snYWRtaW5fb25seSddID0gJ1NvbGxlbiBudXIgQWRtaW5pc3RyYXRvcmVuIGRpZXNlcyBBdHRyaWJ1dCBzZWhlbiBrJm91bWw7bm5lbj8nOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdPYmVuIExpbmtzJzsKJGxhbmdbJ2FsaWduX3VjJ10gPSAnT2JlbiBNaXR0ZSc7CiRsYW5nWydhbGlnbl91ciddID0gJ09wZW4gUmVjaHRzJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnTWl0dGUgTGlua3MnOwokbGFuZ1snYWxpZ25fbWMnXSA9ICdNaXR0ZSBNaXR0ZSc7CiRsYW5nWydhbGlnbl9tciddID0gJ01pdHRlIFJlY2h0cyc7CiRsYW5nWydhbGlnbl9sbCddID0gJ1VudGVuIExpbmtzJzsKJGxhbmdbJ2FsaWduX2xjJ10gPSAnVW50ZW4gTWl0dGUnOwokbGFuZ1snYWxpZ25fbHInXSA9ICdVbnRlbiBSZWNodHMnOwokbGFuZ1snYWxsJ10gPSAnQWxsZSc7CiRsYW5nWydhbGxjYXRlZ29yaWVzJ10gPSAnQWxsZSBLYXRlZ29yaWVuJzsKJGxhbmdbJ2FueSddID0gJ0lyZ2VuZCBlaW5lcyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnU2luZCBTaWUgc2ljaGVyPyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXByb2R1Y3QnXSA9ICdXb2xsZW4gU2llIHdpcmtsaWNoIGRpZXNlbiBBcnRpa2VsIHVuZCBhbGxlIGRhbWl0IHZlcmtuJnV1bWw7cGZ0ZW4gSW5mb3JtYXRpb25lbiBsJm91bWw7c2NoZW4/JzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ0F1ZnN0ZWlnZW5kJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnQXR0cmlidXRuYW1lJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYXRpc2NoJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVzJ10gPSAnSGllcmFyY2hpZS1SZXBvcnQtVGVtcGxhdGVzJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0VpbiBIaWVyYXJjaGllLVJlcG9ydC1UZW1wbGF0ZSBoaW56dWYmdXVtbDtnZW4vJmF1bWw7bmRlcm4nOwokbGFuZ1snY2FuY2VsJ10gPSAnQWJicmVjaGVuJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZ29yaWVuJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWdvcmllJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnRWluZSBLYXRlZ29yaWUgbWl0IGRpZXNlbSBOYW1lbiBleGlzdGllcnQgYmVyZWl0cyc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZXMnXSA9ICdLYXRlZ29yaWVsaXN0ZW4tVGVtcGxhdGVzJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlX2FkZGVkaXQnXSA9ICcgRWluIEthdGVnb3JpZS1MaXN0ZW50ZW1wbGF0ZSBoaW56dWYmdXVtbDtnZW4vJmF1bWw7bmRlcm4nOwokbGFuZ1snY2VudGltZXRlcnMnXSA9ICdaZW50aW1ldGVyJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnS29udHJvbGxrJmF1bWw7c3RjaGVuJzsKJGxhbmdbJ2NvbmZpcm1fY29weWF0dHJpYnV0ZXMnXSA9ICdBYW55IGV4aXN0aW5nIGF0dHJpYnV0ZSBzZXRzIGZvciB0aGlzIHByb2R1Y3Qgd2lsbCBiZSByZW1vdmVkLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29udGludWU/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX2hpZXJhcmNoeV9ub2RlJ10gPSAnTSZvdW1sO2NodGVuIFNpZSBkaWVzZW4gS25vdGVuIHdpcmtsaWNoIGwmb3VtbDtzY2hlbj8gQWxsZSBBcnRpa2VsLCBkaWUgZGllc2VuIEtub3RlbiBudXR6ZW4sIHdlcmRlbiBhdWYgJnF1b3Q7bm8gaGllcmFyY2h5JnF1b3Q7IGdlc2V0enQnOwokbGFuZ1snY29uZmlybV9pbXBvcnQnXSA9ICdXb2xsZW4gU2llIGRpZXMgV0lSS0xJQ0g/XG5cbkZhbHNjaGUgRWluc3RlbGx1bmdlbiBvZGVyIGVpbmUgdW5nJnV1bWw7bHRpZ2UgS29uZmlndXJhdGlvbnNkYXRlaSBrJm91bWw7bm5lbiBlaW4gYmlzbGFuZyBmdW5rdGlvbmllcmVuZGVzIFN5c3RlbSBrb21wbGV0dCB6ZXJzdCZvdW1sO3Jlbi4nOwokbGFuZ1snY29weSddID0gJ0tvcGllcmVuJzsKJGxhbmdbJ2NvcHlfYXR0cmliX3NldHMnXSA9ICdBdHJpYnV0IFMmYXVtbDt0emUga29waWVyZW4nOwokbGFuZ1snY29weV9jYXRlZ29yeSddID0gJ0thdGVnb3JpZSBrb3BpZXJlbic7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ0Vyc3RlbGx1bmdzZGF0dW0nOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ0FrdHVlbGxlciBXZXJ0JzsKJGxhbmdbJ2RhdGEnXSA9ICdEYXRlbic7CiRsYW5nWydkZWZhdWx0J10gPSAnU3RhbmRhcmRlaW5zdGVsbHVuZyc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAnU3RhbmRhcmQtVGVtcGxhdGVzJzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVfbm90aWNlJ10gPSAnPHN0cm9uZz5BY2h0dW5nOjwvc3Ryb25nPiBEaWUgSW5oYWx0ZSBkaWVzZXIgVGV4dGZlbGRlciB3ZXJkZW4gZ2VudXR6dCwgdW0gZGllIHZvcmVpbmdlc3RlbGx0ZW4gSW5oYWx0ZSBkZXIgVGVtcGxhdGVzIGZlc3R6dWxlZ2VuLCB3ZW5uICZxdW90O1RlbXBsYXRlIGhpbnp1ZiZ1dW1sO2dlbiZxdW90OyBpbiBkZXIgamV3ZWlsaWdlbiBUZW1wbGF0ZS1SZWdpc3RlcmthcnRlIGdla2xpY2t0IHdpcmQuIERpZSBWZXImYXVtbDtuZGVydW5nIGVpbmVzIEZlbGRlcyBoYXQga2VpbmVuIGRpcmVrdGVuIEVmZmVrdCBhdWYgZGllIFdlYnNlaXRlLic7CiRsYW5nWydkZWxldGUnXSA9ICdMJm91bWw7c2NoZW4nOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ0F0dHJpYnV0IGwmb3VtbDtzY2hlbic7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICdIaWVyYXJjaGllLUVsZW1lbnQgbCZvdW1sO3NjaGVuJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdBYnN0ZWlnZW5kJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVzY2hyZWlidW5nJzsKJGxhbmdbJ2Rlc3RpbmF0aW9uJ10gPSAnQmVzdGltbXVuZ3NvcnQnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMgJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ0RldGFpbC1UZW1wbGF0ZXMnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ0VpbiBEZXRhaWwtVGVtcGxhdGUgaGluenVmJnV1bWw7Z2VuLyZhdW1sO25kZXJuJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdEaW1lbnNpb25lbic7CiRsYW5nWydkaXNhYmxlZCddID0gJ0RlYWt0aXZpZXJ0JzsKJGxhbmdbJ2Rvd24nXSA9ICdOYWNoIHVudGVuJzsKJGxhbmdbJ2RyYWZ0J10gPSAnRW50d3VyZic7CiRsYW5nWydkcm9wZG93biddID0gJ0xpc3RlbmZlbGQnOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ0xpc3RlbmZlbGQtT3B0aW9uZW4gPGVtPihudXIgaW4gTGlzdGVuZmVsZC1NZW4mdXVtbDtzIGVpbnNldHpiYXIpPC9lbT48YnIvPjxici8+PGVtPihlaW4gRWludHJhZyBwcm8gWmVpbGUpPC9lbT4nOwokbGFuZ1snZWRpdCddID0gJyZBdW1sO25kZXJuICc7CiRsYW5nWydlZGl0X2F0dHJpYnNldCddID0gJ0F0dHJpYnV0ZSBiZWFyYmVpdGVuJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ0F0dHJpYnV0ZWluc3RlbGx1bmdlbiBiZWFyYmVpdGVuJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdBdHRyaWJ1dGVpbnN0ZWxsdW5nZW4gYmVhcmJlaXRlbiBmJnV1bWw7cic7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdBdHRyaWJ1dGUgYmVhcmJlaXRlbic7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnS2F0ZWdvcmllIGJlYXJiZWl0ZW4nOwokbGFuZ1snZWRpdF9jYXRlZ29yeV9maWVsZHMnXSA9ICdLYXRlZ29yaWVuZmVsZGVyIGJlYXJiZWl0ZW4nOwokbGFuZ1snZWRpdF9oaWVyYXJjaHlfaXRlbSddID0gJ0hpZXJhcmNoaWUtRWxlbWVudCBiZWFyYmVpdGVuJzsKJGxhbmdbJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnXSA9ICdFaW4gQXR0cmlidXQgbWl0IGRpZXNlbSBOYW1lbiBleGlzdGllcnQgYmVyZWl0cy4nOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlX3NrdSddID0gJ0RvcHBlbHRlIEFydGlrZWxudW1tZXIgZ2VmdW5kZW4nOwokbGFuZ1snZXJyb3JfZmllbGR2YWx1ZV9lbXB0eSddID0gJ0RlciBXZXJ0IGRlcyBGZWxkZXMgZGFyZiBuaWNodCBsZWVyIHNlaW4nOwokbGFuZ1snZXJyb3JfZmlsZWZvcm1hdCddID0gJ1Byb2JsZW0gbWl0IGRlbSBEYXRlaS1Gb3JtYXQnOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnRGllIERhdGVpIHd1cmRlIG5pY2h0IGdlZnVuZGVuJzsKJGxhbmdbJ2Vycm9yX2ZpbGVvcGVuJ10gPSAnUHJvYmxlbSBiZWltICZPdW1sO2ZmbmVuIGRlciBEYXRlaSAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnVW5nJnV1bWw7bHRpZ2VzLCAmdXVtbDtiZXJnZW9yZG5ldGVzIEVsZW1lbnQgKGVpbiBIaWVyYXJjaGllZWxlbWVudCBrYW5uIG5pY2h0IHNlaW4gZWlnZW5lcyAmdXVtbDtiZXJnZW9yZG5ldGVzIEVsZW1lbnQgc2VpbiknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9uYW1lJ10gPSAnRGVyIGVpbmdlZ2ViZW5lIFdlcnQgaW0gYmVudXR6ZXJkZWZpbmllcnRlbiBGb3JtdWxhci1GZWxkIGlzdCB1bmcmdXVtbDtsdGlnIChiZWluaGFsdGV0IG5pY2h0LWFscGhhbnVtZXJpc2NoZW4gWmVpY2hlbiknOwokbGFuZ1snZXJyb3JfaW52YWxpZF92YWx1ZSddID0gJ1VuZyZ1dW1sO2x0aWdlciBXZXJ0IGFuZ2VnZWJlbic7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdFaW4gYmVuJm91bWw7dGlndGVyIFBhcmFtZXRlciBmZWhsdCBvZGVyIGlzdCB1bmcmdXVtbDtsdGlnJzsKJGxhbmdbJ2Vycm9yX25hbWV1c2VkJ10gPSAnQW4gRWxlbWVudCBtaXQgZGllc2VtIE5hbWVuIGV4aXN0aWVydCBiZXJlaXRzJzsKJGxhbmdbJ2Vycm9yX25vZmllbGR0eXBlJ10gPSAnQml0dGUgdyZhdW1sO2hsZW4gU2llIGVpbmVuIEZlbGR0eXAnOwokbGFuZ1snZXJyb3Jfbm9uYW1lJ10gPSAnU2llIG0mdXVtbDtzc2VuIGVpbmVuIE5hbWVuIGFuZ2ViZW4nOwokbGFuZ1snZXJyb3Jfb25lc3Vic2NyaXB0aW9uZmllbGQnXSA9ICdFcyBrYW5uIG51ciBlaW4gQWJvbm5lbWVudC1GZWxkIGFuZ2VsZWd0IHdlcmRlbic7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnQmVyZWNodGlndW5nIHZlcndlaWdlcnQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9hbGlhc3VzZWQnXSA9ICdEZXIgZWluZ2VnZWJlbmUgQWxpYXMgd2lyZCBiZXJlaXRzIHZlcndlbmRldCc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25hbWV1c2VkJ10gPSAnRWluIEFydGlrZWwgbWl0IGRpZXNlbSBOYW1lbiBleGlzdGllcnQgYmVyZWl0cyc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25vdGZvdW5kJ10gPSAnRGFzIGFuZ2VmcmFndGUgUHJvZHVrdCBrb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3Rfc2t1dXNlZCddID0gJ0RpZXNlIEFydGlrZWxudW1tZXIgd2lyZCBiZXJlaXRzIHZvbiBlaW5lbSBhbmRlcmVuIEFydGlrZWwgdmVyd2VuZGV0JzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdVbmcmdXVtbDtsdGlnZSBQcmVpcy1BbmdhYmVuIGYmdXVtbDtyIGRhcyBFbGVtZW50ICVzJzsKJGxhbmdbJ2Vycm9yX3NrdV9yZXF1aXJlZCddID0gJ0JpdHRlIGVpbmUgZWluZGV1dGlnZSBBcnRpa2VsbnVtbWVyIGVpbmdlYmVuJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICdEYXMgSG9jaGxhZGVuIGlzdCBmZWhsZ2VzY2hsYWdlbjogJXMnOwokbGFuZ1snZXhjbHVkZV9jYXRlZ29yaWVzJ10gPSAnUHJvZHVrdGUgYXVzIGRlbiBnZXcmYXVtbDtobHRlbiBLYXRlZ29yaWVlbiBuaWNodCBpbSBFcmdlYm5pcyBhbnplaWdlbic7CiRsYW5nWydleHBpcmVfc2l4X21vbnRocyddID0gJ05hY2ggc2VjaHMgTW9uYXRlbic7CiRsYW5nWydleHBpcmVfb25lX3llYXInXSA9ICdOYWNoIGVpbmVtIEphaHInOwokbGFuZ1snZXhwaXJlX3R3b195ZWFyJ10gPSAnTmFjaCB6d2VpIEphaHJlbic7CiRsYW5nWydleHRyYTEnXSA9ICdFeHRyYWZlbGQgMSc7CiRsYW5nWydleHRyYTInXSA9ICdFeHRyYWZlbGQgMic7CiRsYW5nWydmaWVsZCddID0gJ0ZlbGQnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdGZWxkZGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdGZWxkZGVmaW5pdGlvbmVuJzsKJGxhbmdbJ2ZpbGUnXSA9ICdEYXRlaSc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdBbGxnZW1laW5lIEVpbnN0ZWxsdW5nZW4nOwokbGFuZ1snZ28nXSA9ICdMb3MnOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyY2hpZSc7CiRsYW5nWydoaWVyYXJjaHlfcG9zaXRpb24nXSA9ICdIaWVyYXJjaGllLVBvc2l0aW9uJzsKJGxhbmdbJ2hpZXJhcmNoeV9zZXR0aW5ncyddID0gJ0hpZXJhcmNoaWUtRWluc3RlbGx1bmdlbic7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0JpbGQnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfc2V0dGluZ3MnXSA9ICdFaW5zdGVsbHVuZ2VuIGYmdXVtbDtyIGRpZSBCaWxkZXJ2ZXJ3YWx0dW5nJzsKJGxhbmdbJ2ltcG9ydF9mcm9tX2NzdiddID0gJ1Byb2R1a3RlIGF1cyBlaW5lciBDU1YtRGF0ZWkgaW1wb3J0aWVyZW4nOwokbGFuZ1snaW5jaGVzJ10gPSAnWm9sbCc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnRWluc2NobGllJnN6bGlnO2xpY2ggVW50ZXJwdW5rdGU/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnTnVyIGFscGhhbnVtZXJpc2NoZSBaZWljaGVuLiBLZWluZSBMZWVyemVpY2hlbiwgWml0YXRlIG9kZXIgQnVjaHN0YWJlbi9OdW1tZXJuLUtvbWJpbmF0aW9uZW4nOwokbGFuZ1snaW5mb19hdHRyaWJ0ZW1wbGF0ZSddID0gJ00mb3VtbDtnbGljaGUgVmFyaWFibGVuIHNpbmQ6IHskYXR0cmliX3RleHR9LHskYXR0cmliX2FkanVzdH0seyRjdXJyZW5jeV9zeW1ib2x9JzsKJGxhbmdbJ2luZm9fYXR0cmlidXRlc19jb3BpZWQnXSA9ICdBdHJpYnV0ZSBrb3BpZXJ0JzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ0VzIHdlcmRlbiBkaWUgV2Fzc2VyemVpY2hlbi1FaW5zdGVsbHVuZ2VuIGRlcyBDR0V4dGVuc2lvbnMtTW9kdWxzIHZlcndlbmRldCc7CiRsYW5nWydpbmZvX2JhdGNoc2l6ZSddID0gJ0dlYmVuIFNpZSBkaWUgQW56YWhsIGRlciBaZWlsZW4gYW4sIGRpZSBwcm8gJnF1b3Q7QmxvY2smcXVvdDsgdmVyYXJiZWl0ZXQgd2VyZGVuIHNvbGxlbi4gTmFjaGRlbSBlaW4gQmxvY2sgYWJnZWFyYmVpdGV0IGlzdCwgd2lyZCBkZXIgSW1wb3J0IHdlaXRlcmdlbGVpdGV0IHVuZCB2ZXJhcmJlaXRldCBkZW4gbiZhdW1sO2Noc3RlbiBCbG9jay4gIFdlbm4gYmVpIElobmVuIFNwZWljaGVyZmVobGVyIG9kZXIgWmVpdCZ1dW1sO2JlcnNjaHJlaXR1bmdlbiBhdWZncnVuZCBkZXIgR3Imb3VtbDsmc3psaWc7ZSBkZXIgdmVyYXJiZWl0ZXRlbiBEYXRlbm1lbmdlIGF1ZnRyZXRlbiwgd2VuZGVuIFNpZSBzaWNoIGFuIElocmVuIEhvc3RpbmctUHJvdmlkZXIgb2RlciB2ZXJrbGVpbmVybiBTaWUgZGllIFplaWxlbmFuemFobCc7CiRsYW5nWydpbmZvX2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0RpZXNlIFBhcmFtZXRlciB3ZXJkZW4gdmVyd2VuZGV0LCB1bSBlaW4gV2FyZW5rb3JiLU1vZHVsIGYmdXVtbDtyIGRpZSBBcnRpa2VsLURldGFpbC0gdW5kIC1MaXN0ZW5hbnNpY2h0IGF1c3p1dyZhdW1sO2hsZW4uJzsKJGxhbmdbJ2luZm9fY29weV9hdHRyaWJzZXRzJ10gPSAnSGllcm1pdCBrb3BpZXJlbiBTaWUgZGVuIEF0dHJpYnV0c2F0eiAob2huZSBBcnRpa2VsbnVtbWVyKSBlaW5lcyBhbmRlcmVuIEFydGlrZWxzLic7CiRsYW5nWydpbmZvX2NyZWF0ZWZpZWxkcyddID0gJ1VuYmVrYW5udGUgQXJ0aWtlbGZlbGRlciBhdXRvbWF0aXNjaCBlcnN0ZWxsZW4/IDxlbT4od2VyZGVuIGFscyBUZXh0ZmVsZGVyIGVyc3RlbGx0KTwvZW0+JzsKJGxhbmdbJ2luZm9fY3JlYXRlY2F0ZWdvcmllcyddID0gJ0luIGRlciBDU1YtRGF0ZWkgYW5nZWdlYmVuZSwgYWJlciBiaXNoZXIgZmVobGVuZGUgQXJ0aWtlbGthdGVnb3JpZW4gYXV0b21hdGlzY2ggZXJ6ZXVnZW4nOwokbGFuZ1snaW5mb19jcmVhdGVoaWVyYXJjaHknXSA9ICdJbiBkZXIgQ1NWLURhdGVpIGFuZ2VnZWJlbmUsIGFiZXIgYmlzaGVyIGZlaGxlbmRlIEFydGlrZWxoaWVyYXJjaGllbiBhdXRvbWF0aXNjaCBlcnpldWdlbic7CiRsYW5nWydpbmZvX2RlY2ltYWxfdW5pdHMnXSA9ICdEaWVzZXMgU3lzdGVtIHZlcnN0ZWh0ICguKSBhbHMgRGV6aW1hbHN0ZWxsZW4tVHJlbm56ZWljaGVuLCB6LkIuOiA8c3Ryb25nPjUuMjU8L3N0cm9uZz4nOwokbGFuZ1snaW5mb19kZWxpbWl0ZXInXSA9ICdMZWdlbiBTaWUgaGllciBkYXMgKG9kZXIgZGllKSBaZWljaGVuIGZlc3QsIGRpZSBkaWUgRmVsZGVyIHZvbmVpbmFuZGVyIHRyZW5uZW4nOwokbGFuZ1snaW5mb19kdXBsaWNhdGVwcm9kdWN0cyddID0gJ0xlZ2VuIFNpZSBmZXN0IHdpZSBBcnRpa2VsIGJlaGFuZGVsdCB3ZXJkZW4sIGRlcmVuIE5hbWUgc2Nob24gaW4gZGVyIENTViBEYXRlaSB2b3JoYW5kZW4gaXN0JzsKJGxhbmdbJ2luZm9fZmllbGRkZWZzX3RhYiddID0gJzxzdHJvbmc+QWNodHVuZzogPC9zdHJvbmc+IEFsbGUgRmVsZGVyLCBkaWUgaGllciBkZWZpbmllcnQgd2VyZGVuLCBzaW5kIGYmdXVtbDtyIGFsbGUgQXJ0aWtlbCB2ZXJmJnV1bWw7Z2Jhci4nOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnQmVpIGVpbmVtIG9kZXIgbWVocmVyZW4gYmVudXR6ZXJkZWZpbmllcnRlbiBGZWxkZXJuIHd1cmRlbiBQcm9ibGVtZSBmZXN0Z2VzdGVsbHQuIERpZSBBa3Rpb24gd3VyZGUgZXJmb2xncmVpY2ggYWJnZXNjaGxvc3NlbiwgU2llIHNvbGx0ZW4gamVkb2NoIGRpZSBVcnNhY2hlIGRlciBQcm9ibGVtZSBoZXJhdXNmaW5kZW4uJzsKJGxhbmdbJ2luZm9faGFuZGxlaW1hZ2VzJ10gPSAnU29sbGVuIGJlaW0gSW1wb3J0IGluIGVpbmVyIFNwYWx0ZSBnZWZ1bmRlbmUgQmlsZGRhdGVpZW4gdm9uIGRlciBRdWVsbHBvc2l0aW9uIHZlcnNjaG9iZW4sIG1pdCBXYXNzZXJ6ZWljaGVuIHZlcnNlaGVuIHVuZCBlaW4gVm9yc2NoYXViaWxkIGVyc3RlbGx0IHVuZCBkZXIgRmVsZHR5cCBhdWYgJnF1b3Q7QmlsZCZxdW90OyBnZXNldHp0IHdlcmRlbic7CiRsYW5nWydpbmZvX2hpZXJwYWdlJ10gPSAnRGllc2UgU2VpdGUgZiZ1dW1sO3IgSGllcmFyY2hpZWFuc2ljaHRlbiB2ZXJ3ZW5kZW4uICBEaWUgU2VpdGVuLUlEIHdpcmQgaW4gZGVyIFVSTCBuaWNodCB2ZXJ3ZW5kZXQuJzsKJGxhbmdbJ2luZm9faW1hZ2VwYXRoJ10gPSAnRWluIFBmYWQgKHJlbGF0aXYgenVtIFVwbG9hZHMgVmVyemVpY2huaXMpIGluIGRlbSBkaWUgaW4gZGVyIEltcG9ydGRhdGVpIGFuZ2VnZWJlbmVuIEJpbGRlciBsaWVnZW4nOwokbGFuZ1snaW5mb19pbXBvcnRfdGVzdF9wYXNzZWQnXSA9ICdEaWUgYW5nZWdlYmVuZSBFaW5nYWJlZGF0ZWkgd3VyZGUgZWluZW0gS3VyenRlc3QgdW50ZXJ6b2dlbiB1bmQgYWxsZXMgc2NoZWludCBpbiBPcmRudW5nIHp1IHNlaW4uPGJyLz5EaWVzIGlzdCBrZWluIEluZGl6IGRhZiZ1dW1sO3IsIGRhcyBkaWUgRGF0ZWkgZmVobGVyZnJlaSBpc3QuJzsKJGxhbmdbJ2luZm9fcHJldHR5aGllcnVybHMnXSA9ICdEZW4gSGllcmFyY2hpZW5hbWVuIGluIGRpZSBVUkwgZWluZiZ1dW1sO2dlbic7CiRsYW5nWydpbmZvX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdHJnV1bWw7bHRpZ2UgRWluZ2FiZW4gc2luZCArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHJvZG5vdGZvdW5kJ10gPSAnV2llIHdpcmQgZWluIGRpcmVrdGVyIEF1ZnJ1ZiBlaW5lciBBcnRpa2VsZGV0YWlsc2VpdGUgcGVyIFVSTCBiZWhhbmRlbHQsIHdlbm4gZGVyIEFydGlrZWwgLSBhdXMgd2VsY2hlbiBHciZ1dW1sO25kZW4gYXVjaCBpbW1lciAoZGVha3RpdmllcnQsIGdlbCZvdW1sO3NjaHQsIHVzdykgLSBuaWNodCB2ZXJmJnV1bWw7Z2JhciBpc3QuJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICcmT3VtbDtmZmVudGxpY2hlIEZlbGRlciBzaW5kIGF1ZiBkZXIgV2Vic2VpdGUgZiZ1dW1sO3IgamVkZW4gc2ljaHRiYXIuJzsKJGxhbmdbJ2xhYmVsJ10gPSAnQmVzY2hyaWZ0dW5nJzsKJGxhbmdbJ2xhYmVsX3NraXAnXSA9ICcmVXVtbDtiZXJzcHJpbmdlbic7CiRsYW5nWydsYWJlbF9vdmVyd3JpdGUnXSA9ICcmVXVtbDtiZXJzY2hyZWliZW4nOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnTGV0enRlICZBdW1sO25kZXJ1bmcnOwokbGFuZ1snbG9nb3RleHQnXSA9ICdad2VpdGVzIEJpbGQnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW1hbGUgTCZhdW1sO25nZSA8ZW0+KG51ciBhdWYgVGV4dC1GZWxkZXIgYW53ZW5kYmFyKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJyZBdW1sO25kZXJ1bmdzLURhdHVtJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ0VpbiBNb2R1bCwgdW0gZWluZW4gS2F0YWxvZyB2b24gQXJ0aWtlbG4sIGRlcmVuIFByZWlzZSwgQmlsZGVyLCBldGMuIHp1IHZlcndhbHRlbiB1bmQgQmVudXR6ZXJuIHp1IGVybGF1YmVuLCBkaWVzZSBhbiBlaW5lbiBXYXJlbmtvcmIgenUgJnV1bWw7YmVyZ2ViZW4uJzsKJGxhbmdbJ21vdmVfZG93biddID0gJ05hY2ggdW50ZW4nOwokbGFuZ1snbW92ZV91cCddID0gJ05hY2ggb2Jlbic7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSAnOwokbGFuZ1snbmVlZHBlcm1pc3Npb24nXSA9ICdTaWUgaGFiZW4gbmljaHQgZGllIGVyZm9yZGVybGljaGUgQmVyZWNodGlndW5nOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ05ldWVyIEthdGVnb3JpZW4tTmFtZSc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm8nXSA9ICdOZWluJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnRXMgd3VyZGUga2VpbiBOYW1lIGFuZ2VnZWJlbic7CiRsYW5nWydub25lJ10gPSAnS2VpbmVzJzsKJGxhbmdbJ25vdGhpbmdfc2VsZWN0ZCddID0gJ05pY2h0cyBhdXNnZXcmYXVtbDtobHQnOwokbGFuZ1snb2YnXSA9ICdWb24nOwokbGFuZ1snb3BlcmF0aW9uX2NvbXBsZXRlJ10gPSAnVm9yZ2FuZyBhYmdlc2NobG9zc2VuJzsKJGxhbmdbJ3BhZ2UnXSA9ICdTZWl0ZSc7CiRsYW5nWydwYWdlX29mJ10gPSAnU2VpdGUgJXMgdm9uICVzJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdTZWl0ZW4tQW56YWhsJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ0xlZ2VuIFNpZSBkYXMgVmVyaGFsdGVuIGRlcyBNb2R1bHMgZmVzdC4gTSZvdW1sO2dsaWNoZSBXZXJ0ZSBzaW5kOg0KPHVsPg0KICA8bGk+aGllcmFyY2h5IC0tIHplaWd0IGVpbmUgQXJ0aWtlbC1MaXN0ZSBuYWNoIGRlciBIaWVyYXJjaGllIGFuPC9saT4NCiAgPGxpPmNhdGVnb3J5bGlzdCAtIHplaWd0IGVpbmUgTGlzdGUgZGVyIFByb2R1a3RrYXRlZ29yaWVuIGFuPC9saT4NCiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSB6ZWlndCBlaW5lIFp1c2FtbWVuZmFzc3VuZyBkZXIgUHJvZHVrdGUgYW48L2xpPg0KICA8bGk+ZGV0YWlscyAtIHplaWd0IGRpZSBEZXRhaWxhbnNpY2h0IGVpbmVzIGVpbnplbG5lbiBBcnRpa2VscyBhbjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ1dlbm4gZGllc2VyIFBhcmFtZXRlciBpbiBkZXIgPGVtPmRlZmF1bHQ8L2VtPiBMaXN0ZW5hbnNpY2h0IHZlcndlbmRldCB3aXJkLCB3ZXJkZW4gbnVyIEFydGlrZWwgenVyIGFuZ2VnZWJlbmVuIEthdGVnb3JpZSBhbmdlemVpZ3QuIE1laHJlcmUgS2F0ZWdvcmllbiBrJm91bWw7bm5lbiBkdXJjaCBLb21tYXMgZ2V0cmVubnQgYW5nZWdlYmVuIHdlcmRlbi4gRGVyIFBhcmFtZXRlci1OYW1lIHNvbGx0ZSBuaWNodCAmdXVtbDtiZXJlaW5zdGltbWVuIG1pdCBkZW0gTmFtZW4gZWluZXIgZXhpc3RpZXJlbmRlbiBLYXRlZ29yaWUuJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5ZmllbGQnXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgaW4gZGVyIEthdGVnb3JpZS1BdXNnYWJlIHNpbm52b2xsLiBNaXQgaWhtIGsmb3VtbDtubmVuIEthdGVnb3JpZW4gYW5oYW5kIGVpbmVzIEthdGVnb3JpZWZlbGRlcyBnZWZpbHRlcnQgd2VyZGVuLiAgRGllIEZpbHRlcnVuZyBmdW5rdGlvbmllcnQgbmljaHQgd2VubiBnbGVpY2h6ZWl0aWcgZWluICZxdW90O2NhdGVnb3J5JnF1b3Q7IG9kZXIgJnF1b3Q7Y2F0ZWdvcnlfaWQmcXVvdDsgUGFyYW1ldGVyIGFuZ2VnZWJlbiB3aXJkLiAgR2ViZW4gU2llIGVpbmUga29tbWFnZXRyZW5udGUgTGlzdGUgdm9uIEthdGVnb3JpZWZlbGRuYW1lbiB1bmQgLXdlcnRlbiBhbi4gIEJzcC46ICBjYXRlZ29yeWxpc3Q9JnF1b3Q7RmVsZG5hbWU6V2VydCxXZWl0ZXJlciBGZWxkbmFtZTpXZXJ0JnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnRGllc2VyIFBhcmFtZXRlciBpc3QgbnVyIGluIGRlciBLYXRlZ29yaWUtQXVzZ2FiZSBzaW5udm9sbC4gRXIgd2lyZCBiZW51dHp0LCB1bSBkYXMgVGVtcGxhdGUgYW56dWdlYmVuLCB3ZWxjaGVzIHZlcndlbmRldCB3ZXJkZW4gc29sbC4gV2VubiBrZWluIFdlcnQgYW5nZWdlYmVuIGlzdCwgd2lyZCBkYXMgRGVmYXVsdC1UZW1wbGF0ZSB2ZXJ3ZW5kZXQuJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdGR0bHRlbXBsYXRlJ10gPSAnRGllc2VyIFBhcmFtZXRlciBpc3QgbnVyIGluIGRlciBLYXRlZ29yaWUtQXVzZ2FiZSBzaW5udm9sbC4gIEVyIGdpYnQgZGFzIEthdGVnb3JpZWxpc3Rlbi1UZW1wbGF0ZSBhbiwgZGFzIGYmdXVtbDtyIGRpZSBBbnplaWdlIHZvbiBLYXRlZ29yaWVkZXRhaWxzIHZlcndlbmRldCB3ZXJkZW4gc29sbC4gIFdlbm4ga2VpbiBXZXJ0IGFuZ2VnZWJlbiBpc3QsIHdpcmQgZGFzIFN0YW5kYXJkLVRlbXBsYXRlIHZlcndlbmRldC4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ0RpZXMgbGVndCBkaWUgU2VpdGVuLUlEIChwYWdlaWQpIG9kZXIgZGVuIEFsaWFzIChhbGlhcykgZmVzdCwgd2VsY2hlKHIpIGJlbnV0enQgd2VyZGVuIHNvbGwsIHVtIGRpZSBEZXRhaWxhbnNpY2h0IGF1c3p1Z2ViZW4uJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnRGllc2VyIFBhcmFtZXRlciB3aXJkIHZlcndlbmRldCwgdW0gZGFzIFRlbXBsYXRlIGZlc3R6dWxlZ2VuLCB3ZWxjaGVzIGYmdXVtbDtyIGRpZSBBcnRpa2VsLURldGFpbGFuc2ljaHQgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLiBPaG5lIFZvcmdhYmUgd2lyZCBkYXMgU3RhbmRhcmQtVGVtcGxhdGUgdmVyd2VuZGV0Lic7CiRsYW5nWydwYXJhbV9leGNsdWRlY2F0J10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSB2aWV3LCB0aGlzIHBhcmFtZXRlciB3aWxsIGFsbG93IGV4Y2x1ZGluZyBwcm9kdWN0cyB0aGF0IGFyZSBpbiBhIHNwZWNpZmljIGNhdGVnb3J5IGZyb20gdGhlIHJlc3VsdC4gQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBjYXRlZ29yeSBuYW1lcyBpcyBhbGxvd2VkLiBUaGlzIHBhcmFtZXRlciBjYW4gd29yayBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBjYXRlZ29yeSBwYXJhbWV0ZXIgdG8gcHJvdmlkZSBhIGxpc3Qgb2YgdGhlIHByb2R1Y3RzIHRoYXQgYXJlIGluIHRoaXMgY2F0ZWdvcnksIGJ1dCBub3QgaW4gdGhhdCBjYXRlZ29yeSc7CiRsYW5nWydwYXJhbV9maWVsZCddID0gJ1VzZWQgb25seSBpbiB0aGUgPGVtPmZpZWxkbGlzdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiBhIHVzZXIgZGVmaW5lZCBwcm9wZXJ0eSB0byBjcmVhdGUgYSBsaXN0IGZyb20uJzsKJGxhbmdbJ3BhcmFtX2ZpZWxkdmFsJ10gPSAnVXNlZCBvbmx5IGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBmaWVsZCB2YWx1ZSB0byBsaW1pdCByZXN1bHRzIGJ5LiAgU3BlY2lhbCB2YWx1ZXMgZm9yIHRoaXMgZmllbGQgYXJlICZxdW90Ozo6bnVsbDo6JnF1b3Q7ICZxdW90Ozo6bm90bnVsbDo6JnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeSddID0gJ0RpZXNlciBQYXJhbWV0ZXIgaXN0IG51ciBpbiBkZXIgPGVtPmRlZmF1bHQ8L2VtPi1BbnNpY2h0IHNpbm52b2xsLiBFciB3aXJkIHZlcndlbmRldCwgdW0gbnVyIEFydGlrZWwgYW56dXplaWdlbiwgZGllIGVpbmVyIGJlc3RpbW10ZW4gSGllcmFyY2hpZSBhbmdlaCZvdW1sO3Jlbi4gRGFiZWkgayZvdW1sO25uZW4gV2lsZGNhcmRzIHZlcndlbmRldCB3ZXJkZW4sIHVtICZ1dW1sO2Jlcmdlb3JkbmV0ZS91bnRlcmdlb3JkbmV0ZSBCZXppZWh1bmdlbiBlYmVuZmFsbHMgYW56dXplaWdlbi4gWi5CLiBnaWJ0IHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7TEtXcyomIzAzOTt9IGVpbmUgWnVzYW1tZW5mYXNzdW5nIGFsbGVyIExLV3MgYXVzLCBlaW5zY2hsaWUmc3psaWc7bGljaCBhbGxlciB1bnRlcmdlb3JkbmV0ZW4gRWxlbWVudGUgZGVyIEhpZXJhcmNoaWUuIEdlbmF1c28gZ2lidCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5OypMS1dzJiMwMzk7fSBlaW5lIFp1c2FtbWVuZmFzc3VuZyBhbGxlciBMS1dzIGF1cywgZWluc2NobGllJnN6bGlnO2xpY2ggZGVyICZ1dW1sO2Jlcmdlb3JkbmV0ZW4gRWxlbWVudGUgaW4gZGVyIEhpZXJhcmNoaWUuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnRGllc2VyIFBhcmFtZXRlciB3aXJkIHZlcndlbmRldCwgdW0gZGFzIFRlbXBsYXRlIGZlc3R6dWxlZ2VuLCB3ZWxjaGVzIGYmdXVtbDtyIGRpZSBIaWVyYXJjaGllYW5zaWNodCB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGwuIE9obmUgVm9yZ2FiZSB3aXJkIGRhcyBTdGFuZGFyZC1UZW1wbGF0ZSB2ZXJ3ZW5kZXQuJzsKJGxhbmdbJ3BhcmFtX2lubGluZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IHRoZSBvdXRwdXQgb2YgdGhlIHN1bW1hcnkgdmlldyBzaG91bGQgYmUgZGlzcGxheWVkIGlubGluZSc7CiRsYW5nWydwYXJhbV9wYWdlbGltaXQnXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgaW4gZGVyIDxlbT5kZWZhdWx0PC9lbT4tQXVzZ2FiZSBzaW5udm9sbC4gRXIgbGVndCBmZXN0LCB3aWUgdmllbGUgRWxlbWVudGUgcHJvIFNlaXRlIGFuZ2V6ZWlndCB3ZXJkZW4gc29sbGVuLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgaW4gZGVyIDxlbT5oaWVyYXJjaHk8L2VtPi1BdXNnYWJlIHNpbm52b2xsLiBFciBsZWd0IGRpZSBIaWVyYXJjaGllLUlEIGZlc3QsIGFiIHdlbGNoZXIgZGllIEFydGlrZWwgYXVzZ2VnZWJlbiB3ZXJkZW4gc29sbGVuLic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgaW4gZGVyIDxlbT5kZXRhaWw8L2VtPiBBcnRpa2VsYW5zaWNodCBzaW5udm9sbC4gRXIgbGVndCBmZXN0LCB3ZWxjaGVyIEFydGlrZWwgYW5nZXplaWd0IHdlcmRlbiBzb2xsLic7CiRsYW5nWydwYXJhbV9wcm9kdWN0bGlzdCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBpbnRlZ2VyIHByb2R1Y3QgaWRzIHRvIGRpc3BsYXkuICBObyBwYWdpbmF0aW9uIG9yIHNvcnRpbmcgaXMgcGVyZm9ybWVkIG9uIHRoZXNlIHZhbHVlcywgYW5kIGlmIHNwZWNpZmllZCB0aGUgb3RoZXIgZmlsdGVyaW5nIHBhcmFtZXRlcnMgdG8gdGhlIHN1bW1hcnkgdmlldyBhcmUgaWdub3JlZC4nOwokbGFuZ1sncGFyYW1fcmVzdWx0cGFnZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoLCBhbmQgY2F0ZWdvcnkgbGlzdCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgYSBwYWdlIGlkIG9yIGFsaWFzIHRvIHVzZSB0byBkaXNwbGF5IHRoZSBzdW1tYXJ5IHJlc3VsdHMnOwokbGFuZ1sncGFyYW1fc2VhcmNoZmllbGQnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIG1heSBjb250YWluIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZmllbGQgbmFtZXMgdG8gaW5jbHVkZSBpbiB0aGUgc2VhcmNoJzsKJGxhbmdbJ3BhcmFtX3NlYXJjaGZvcm10ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpc3BhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCBmb3JtIHRlbXBsYXRlJzsKJGxhbmdbJ3BhcmFtX3Nob3dhbGwnXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgaW4gZGVyIDxlbT5jYXRlZ29yeWxpc3Q8L2VtPiBLYXRlZ29yaWVsaXN0ZW5hbnNpY2h0IHNpbm52b2xsLiBJc3QgZGllc2VyIFdlcnQgZ3Imb3VtbDsmc3psaWc7ZXIgYWxzIDAsIHdlcmRlbiBhbGxlIEthdGVnaWVuIGFuZ2V6ZWlndCAoYXUmc3psaWc7ZXIgZGVuZW4sIGRpZSBub2NoIGtlaW5lIEFydGlrZWwgZW50aGFsdGVuKS4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnTGVndCBkaWUgUmVpaGVuZm9sZ2UgZGVyIEZlbGQtU29ydGllcnVuZyBpbiBkZXIgTGlzdGVuYW5zaWNodCBmZXN0LiBNJm91bWw7Z2xpY2hlIFdlcnRlIHNpbmQ6DQo8dWw+DQogIDxsaT48c3Ryb25nPmFzYzwvc3Ryb25nPiAtLSBBdWZzdGVpZ2VuZGUgUmVpaGVuZm9sZ2U8L2xpPg0KICA8bGk+ZGVzYyAtLSBBYnN0ZWlnZW5kZSBSZWloZW5mb2xnZTwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdEaWVzZXIgUGFyYW1ldGVyIGlzdCBudXIgaW4gZGVyIExpc3RlbmFuc2ljaHQgc2lubnZvbGwuIEVyIGxlZ3QgZGllIFNvcnRpZXJ1bmcgZGVyIEFydGlrZWwgZmVzdC4gTSZvdW1sO2dsaWNoZSBXZXJ0ZSBzaW5kOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz4gLS0gZGVyIEFydGlrZWxuYW1lPC9saT4NCiAgPGxpPmlkIC0tIGRpZSBBcnRpa2VsLUlEPC9saT4NCiAgPGxpPndlaWdodCAtLSBkYXMgR2V3aWNodCBkZXMgQXJ0aWtlbHM8L2xpPg0KICA8bGk+cHJpY2UgLS0gZGVyIFByZWlzIGRlcyBBcnRpa2VsczwvbGk+DQogIDxsaT5zdGF0dXMgLS0gU3RhdHVzIChFbnR3dXJmIG9kZXIgVmVyJm91bWw7ZmZlbnRsaWNodCk8L2xpPg0KICA8bGk+cmFuZG9tIC0tIHZlcndlbmRldCBiZWkgamVkZXIgQW5mcmFnZSBlaW5lIHp1ZiZhdW1sO2xsaWdlIFJlaWhlbmZvbGdlPC9saT4NCiAgPGxpPmNyZWF0ZWQgLS0gZGFzIEVyc3RlbGx1bmdzZGF0dW0gZGVzIEFydGlrZWxzL2xpPg0KICA8bGk+bW9kaWZpZWQgLS0gZGFzICZBdW1sO25kZXJ1bmdzZGF0dW0gZGVzIEFydGlrZWxzPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NvcnR0eXBlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkZWZhdWx0IHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgaXMgdXNlZCB0byBjb252ZXJ0IHRoZSB2YWx1ZXMgdG8gYW5vdGhlciB0eXBlIGZvciBzb3J0aW5nLiAgdmFsaWQgdmFsdWVzIGFyZSBTVFJJTkcsU0lHTkVEIGFuZCBVTlNJR05FRC4gIElmIG5vdCBzdXBwbGllZCB0aGUgZGVmYXVsdCBTVFJJTkcgdHlwZSBpcyBhc3N1bWVkLic7CiRsYW5nWydwYXJhbV9zdW1tYXJ5cGFnZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgYWN0aW9uPWhpZXJhcmNoeSwgYWxsb3dzIHNwZWNpZnlpbmcgYSBwYWdlIGlkIG9yIGFsaWFzIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBhbnkgbGlua3MgdG8gc3VtbWFyeSB2aWV3JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0RpZXNlciBQYXJhbWV0ZXIgd2lyZCB2ZXJ3ZW5kZXQsIHVtIGRhcyBUZW1wbGF0ZSBmZXN0enVsZWdlbiwgd2VsY2hlcyBmJnV1bWw7ciBkaWUgWnVzYW1tZW5mYXNzdW5nc2Fuc2ljaHQgdmVyd2VuZGV0IHdlcmRlbiBzb2xsLiBPaG5lIFZvcmdhYmUgd2lyZCBkYXMgU3RhbmRhcmQtVGVtcGxhdGUgdmVyd2VuZGV0Lic7CiRsYW5nWydwYXJlbnQnXSA9ICcmVXVtbDtiZXJnZW9yZG5ldGVzIEVsZW1lbnQnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEYXMgUHJvZHVjdHMtTW9kdWwgd3VyZGUgIGluc3RhbGxpZXJ0Lic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRGFzIFByb2R1Y3RzLU1vZHVsIHd1cmRlIGVpbnNjaGxpZSZzemxpZztsaWNoIGFsbGVyIHp1Z2VoJm91bWw7cmlnZW4gRGF0ZW4gZW50ZmVybnQuJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnRWluc3RlbGx1bmdlbic7CiRsYW5nWydwcmV1bmluc3RhbGwnXSA9ICdXZW5uIFNpZSBkaWVzZXMgTW9kdWwgZW50ZmVybmVuLCB3ZXJkZW4gYXVjaCBhbGxlIHp1Z2VoJm91bWw7cmlnZW4gRGF0ZW4gZ2VsJm91bWw7c2NodC4gV29sbGVuIFNpZSBkYXMgd2lya2xpY2g/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJlaXMnOwokbGFuZ1sncHJpY2VfYWRqdXN0bWVudCddID0gJ1ByZWlzLUVpbnN0ZWxsdW5nJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcm9kdWN0J10gPSAnQXJ0aWtlbCc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ0FydGlrZWwtTmFtZSc7CiRsYW5nWydwcm9kdWN0cyddID0gJ0FydGlrZWwnOwokbGFuZ1sncHJvZHVjdF9kZXRhaWxfc2V0dGluZ3MnXSA9ICdBcnRpa2VsZGV0YWlsLUVpbnN0ZWxsdW5nZW4nOwokbGFuZ1sncHJvZHVjdF9lZGl0aW5nX3NldHRpbmdzJ10gPSAnUHJvZHVrdCBCZWFyYmVpdHVuZ3NvcHRpb25lbiAnOwokbGFuZ1sncHJvZHVjdF9zdW1tYXJ5X3NldHRpbmdzJ10gPSAnUHJvZHVrdCZ1dW1sO2JlcnNpY2h0IEVpbnN0ZWxsdW5nZW4nOwokbGFuZ1sncHJvZHVjdF9oaWVyYXJjaHknXSA9ICdBcnRpa2VsLUhpZXJhcmNoaWUnOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnQXJ0aWtlbHZlcndhbHR1bmcnOwokbGFuZ1sncHJvZ3Jlc3MnXSA9ICdGb3J0c2Nocml0dCc7CiRsYW5nWydwcm9tcHQnXSA9ICdFaW5nYWJlJzsKJGxhbmdbJ3Byb21wdF9hZGRfYXR0cmlic2V0J10gPSAnQXR0cmlidXRlaW5zdGVsbHVuZ2VuIGhpbnp1ZiZ1dW1sO2dlbi9iZWFyYmVpdGVuJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ0RhcyBIb2NobGFkZW4gdm9uIERhdGVpZW4gbWl0IGRpZXNlbiBFbmR1bmdlbiAoZiZ1dW1sO3IgRmVsZGVyIGRlcyBUeXBzICYjMDM5O2ZpbGUmIzAzOTspIGVybGF1YmVuJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdEYXMgSG9jaGxhZGVuIHZvbiBCaWxkZXJuIG1pdCBkaWVzZW4gRW5kdW5nZW4gKGYmdXVtbDtyIEZlbGRlciBkZXMgVHlwcyAmIzAzOTtpbWFnZSYjMDM5OykgZXJsYXViZW4nOwokbGFuZ1sncHJvbXB0X2F0dHJpYnRlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgZGllIEFuemVpZ2Ugdm9uIFByb2R1a3QgQXR0cmlidXR3ZXJ0ZSBpbiBEcm9wZG93bic7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ1ZvcnNjaGF1YmlsZGVyIGF1dG9tYXRpc2NoIGVyemV1Z2VuJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsX3NpemUnXSA9ICdNYXhpbWFsZSBHciZvdW1sOyZzemxpZztlIGRlciBWb3JzY2hhdWJpbGRlci4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQXV0b21hdGlzY2ggVm9yc2NoYXViaWxkZXIgZGVyIEJpbGRlciBlcnN0ZWxsZW4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nX3NpemUnXSA9ICdNYXhpbWFsZSBHciZvdW1sOyZzemxpZztlIChnciZvdW1sOyZzemxpZzt0ZSBBdXNkZWhudW5nKSBkZXMgVm9yc2NoYXViaWxkZXMuJzsKJGxhbmdbJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJ10gPSAnQXV0b21hdGlzY2ggV2Fzc2VyemVpY2hlbiBhdWYgZGVuIEJpbGRlcm4gZXJ6ZXVnZW4nOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdBa3RpdmllcnVuZyBwZXIgVm9yZWluc3RlbGx1bmcgZiZ1dW1sO3IgYWxsZSBuZXVlbiBBcnRpa2VsJzsKJGxhbmdbJ3Byb21wdF9iYXRjaHNpemUnXSA9ICdCbG9ja2dyJm91bWw7JnN6bGlnO2UnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlJ10gPSAnQ2FydC1Nb2R1bCc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnQ2FydC1Nb2R1bCBQYXJhbWV0ZXInOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdLYXRlZ29yaWVuIGVyc3RlbGxlbic7CiRsYW5nWydwcm9tcHRfY3JlYXRlZmllbGRzJ10gPSAnQXJ0aWtlbGZlbGRlciBlcnN0ZWxsZW4/JzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVoaWVyYXJjaHknXSA9ICdFaW5lIEFydGlrZWwtSGllcmFyY2hpZSBlcnN0ZWxsZW4nOwokbGFuZ1sncHJvbXB0X2NzdmZpbGUnXSA9ICdFaW5lIENTVi1EYXRlaSBob2NobGFkZW4nOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ1cmYXVtbDtocnVuZ3MtWmVpY2hlbic7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdXJmF1bWw7aHJ1bmdzc3ltYm9sJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3N0YXR1cyddID0gJ1ZvcmVpbmdlc3RlbGx0IGhhYmVuIGFsbGUgbmV1ZW4gQXJ0aWtlbCBkaWVzZW4gU3RhdHVzJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3RheGFibGUnXSA9ICdWb3JlaW5nZXN0ZWxsdCBlbnRoYWx0ZW4gYWxsZSBuZXVlbiBBcnRpa2VsIGVpbmVuIFN0ZXVlcmFudGVpbCc7CiRsYW5nWydwcm9tcHRfZGVsZXRlcHJvZHVjdGZpbGVzJ10gPSAnQWxsZSB6dW0gQXJ0aWtlbCBnZWgmb3VtbDtyZW5kZW4gRGF0ZWllbiBsJm91bWw7c2NoZW4sIHdlbm4gZGVyIEFydGlrZWwgZ2VsJm91bWw7c2NodCB3aXJkPyc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnRmVsZHRyZW5uZXInOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdWb3JlaW5nZXN0ZWxsdGUgRGV0YWlsLVNlaXRlJzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxzZm9yJ10gPSAnRGV0YWlscyBmJnV1bWw7ciAlcyc7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdXaWUgc29sbGVuIGRvcHBlbHRlIFByb2R1a3RlIGdlaGFuZGhhYnQgd2VyZGVuPyc7CiRsYW5nWydwcm9tcHRfZmFsc2UnXSA9ICdOZWluJzsKJGxhbmdbJ3Byb21wdF9oYW5kbGVpbWFnZXMnXSA9ICdCaWxkZXIgdmVyYXJiZWl0ZW4/JzsKJGxhbmdbJ3Byb21wdF9pbWFnZXBhdGgnXSA9ICdCaWxkZXJwZmFkJzsKJGxhbmdbJ3Byb21wdF9sZW5ndGh1bml0cyddID0gJ0wmYXVtbDtuZ2VuZWluaGVpdGVuJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9iZWhhdmlvciddID0gJ1dlbGNoZSBBa3Rpb24gc29sbCBhdXNnZWYmdXVtbDtocnQgd2VyZGVuLCB3ZW5uIGVpbiBBcnRpa2VsIG5pY2h0IGFuZ2V6ZWlndCB3ZXJkZW4ga29ubnRlPyc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfNDA0J10gPSAnRWluZW4gNDA0ZXIgRmVobGVyIGVyemV1Z2VuJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF8zMDEnXSA9ICdFaW5lIDMwMWVyIFdlaXRlcmxlaXR1bmcgZXJ6ZXVnZW4nOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2Vycm9ybXNnJ10gPSAnRWluZSBGZWhsZXJtZWxkdW5nIGFuemVpZ2VuJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9tc2cnXSA9ICdGZWhsZXJtZWxkdW5nLCB3ZW5uIGVpbiBBcnRpa2VsIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiBrb25udGUnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX3BhZ2UnXSA9ICdTZWl0ZSBmJnV1bWw7ciBkYXVlcmhhZnRlIFVtbGVpdHVuZz8nOwokbGFuZ1sncHJvbXB0X2hpZXJwYWdlJ10gPSAnVm9yZWluZ2VzdGVsbHRlIFNlaXRlIGYmdXVtbDtyIEhpZXJhcmNoaWUtTGlzdGVuYW5zaWNodCc7CiRsYW5nWydwcm9tcHRfcHJldHR5aGllcnVybHMnXSA9ICdTdWNobWFzY2hpbmVuZnJldW5kbGljaGUgVVJMcyAoUHJldHR5IFVSTFMpIGYmdXVtbDtyIEhpZXJhcmNoaWVhbnNpY2h0ZW4gdmVyd2VuZGVuJzsKJGxhbmdbJ3Byb21wdF9wcm9kX2RldGFpbHBhZ2UnXSA9ICdTdGFuZGFyZHNlaXRlIGYmdXVtbDtyIFByb2R1a3QgRGV0YWlsYW5zaWNodCc7CiRsYW5nWydwcm9tcHRfcHJvZHVjdHNfbWF0Y2hpbmcnXSA9ICdQcm9kdWt0ZSBwYXNzZW5kICVzJzsKJGxhbmdbJ3Byb21wdF9za3VfcmVxdWlyZWQnXSA9ICdBcnQuLU5yIGlzdCBlaW4gUGZsaWNodGZlbGQgKG11c3MgYmVpIGFsbGVuIEFydGlrZWxuIGFuZ2VnZWJlbiB3ZXJkZW4pJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5cGFnZWxpbWl0J10gPSAnVm9yZWluZ2VzdGVsbHRlcyBQcm9kdWt0bGltaXQgaW4gZGVyIExpc3RlbmFuc2ljaHQnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdWb3JlaW5nZXN0ZWxsdGUgU29ydGllci1SZWloZW5mb2xnZSBpbiBkZXIgTGlzdGVuYW5zaWNodCc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdWb3JlaW5nZXN0ZWxsdGVzIFNvcnRpZXItRmVsZCBpbiBkZXIgTGlzdGVuYW5zaWNodCc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZS1RdWVsbGUnOwokbGFuZ1sncHJvbXB0X3RydWUnXSA9ICdKYSc7CiRsYW5nWydwcm9tcHRfdXJscHJlZml4J10gPSAnRGllc2UgWmVpY2hlbmtldHRlIGluIGFsbGUgVVJMcyBlaW5mJnV1bWw7Z2VuLCBkaWUgc2ljaCBhdWYgZGllc2VzIE1vZHVsIGJlemllaGVuJzsKJGxhbmdbJ3Byb21wdF91c2VfZGV0YWlscGFnZV9mb3Jfc2VhcmNoJ10gPSAnRGllc2UgU2VpdGUgYXVjaCBmJnV1bWw7ciBTdWNoZXJnZWJuaXNzZSB2ZXJ3ZW5kZW4gPGVtPihFcnNldHp0IGRlbiA8Y29kZT5yZXN1bHRwYWdlPC9jb2RlPiBQYXJhbWV0ZXIgZGVzIFN1Y2hlIE1vZHVscyk8L2VtPic7CiRsYW5nWydwcm9tcHRfdXNlaGllcnBhdGh1cmxzJ10gPSAnRGllIEhpZXJhcmNoaWVuYW1lbiBpbiBkaWUgVVJMIHZvbiBBcnRpa2VsZGV0YWlscyBlaW5mJnV1bWw7Z2VuJzsKJGxhbmdbJ3Byb21wdF93ZWlnaHR1bml0cyddID0gJ0dld2ljaHRzLUVpbmhlaXQnOwokbGFuZ1sncHVibGljJ10gPSAnSXN0IGRpZXMgZWluICZvdW1sO2ZmZW50bGljaGVzIEZlbGQ/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ1ZlciZvdW1sO2ZmZW50bGljaHQnOwokbGFuZ1sncmFuZG9tJ10gPSAnWnVmJmF1bWw7bGxpZyc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ0F1ZiBkaWUgcHJvZ3JhbW1zZWl0aWdlbiBWb3JlaW5zdGVsbHVuZ2VuIHp1ciZ1dW1sO2Nrc2V0emVuJzsKJGxhbmdbJ3JldHVybiddID0gJ1p1ciZ1dW1sO2NrJzsKJGxhbmdbJ3JldHVybl90b190b3AnXSA9ICdadXImdXVtbDtjayBuYWNoIG9iZW4nOwokbGFuZ1sncm9vdCddID0gJ1d1cnplbHZlcnplaWNobmlzJzsKJGxhbmdbJ3NlYXJjaF9kZXNjcmlwdGlvbiddID0gJ1N1Y2hlIG5hY2ggRWlnZW5zY2hhZnQgQmVzY2hyZWlidW5nJzsKJGxhbmdbJ3NlYXJjaF9leHByJ10gPSAnU29sbHRlIGRpZSBBYmZyYWdlIGYmdXVtbDtyIGFsbGUgb2RlciBlaW5lbiBkZXIgVGVzdHMgdW50ZW4gZW50c3ByZWNoZW4/JzsKJGxhbmdbJ3NlYXJjaF9uYW1lJ10gPSAnU3VjaGUgbmFjaCBFaWdlbnNjaGFmdCBOYW1lJzsKJGxhbmdbJ3NlYXJjaF9wcmljZSddID0gJ1ByZWlzc3Bhbm5lJzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdIaW56dWYmdXVtbDtnZW4vQmVhcmJlaXRlbiBTdWNoZm9ybXVsYXIgVGVtcGxhdGUnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVzJ10gPSAnU3VjaGZvcm11bGFyIFRlbXBsYXRlcyc7CiRsYW5nWydzZWxlY3RfYWxsJ10gPSAnQWxsZSBhdXN3JmF1bWw7aGxlbic7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnQml0dGUgYXVzdyZhdW1sO2hsZW4nOwokbGFuZ1snc2V0ZHJhZnQnXSA9ICdTdGF0dXMgYXVmICZxdW90O0VudHVyZiZxdW90OyBzZXR6ZW4nOwokbGFuZ1snc2V0cHVibGlzaGVkJ10gPSAnU3RhdHVzIGF1ZiAmcXVvdDtWZXImb3VtbDtmZmVudGxpY2h0JnF1b3Q7IHNldHplbic7CiRsYW5nWydza3UnXSA9ICdBcnQuLU5yLic7CiRsYW5nWydzb3J0X2J5J10gPSAnU29ydGllcnQgbmFjaCc7CiRsYW5nWydzb3J0X29yZGVyJ10gPSAnU29ydGllci1SZWloZW5mb2xnZSc7CiRsYW5nWydzb3VyY2UnXSA9ICdRdWVsbGUnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzICc7CiRsYW5nWydzdWJtaXQnXSA9ICdBYnNlbmRlbic7CiRsYW5nWydzdWJzY3JpcHRpb24nXSA9ICdBYm9ubmVtZW50JzsKJGxhbmdbJ3N1YnNjcl9leHBpcnknXSA9ICdWZXJmYWxsJzsKJGxhbmdbJ3N1YnNjcl9leHBpcnkyJ10gPSAnVmVyZiZhdW1sO2xsdCc7CiRsYW5nWydzdWJzY3JfbW9udGhseSddID0gJ01vbmF0bGljaCc7CiRsYW5nWydzdWJzY3JfZGVscGVyaW9kJ10gPSAnTGllZmVyLUgmYXVtbDt1Zmlna2VpdCc7CiRsYW5nWydzdWJzY3JfZGVscGVyaW9kMiddID0gJ0dlbGllZmVydCc7CiRsYW5nWydzdWJzY3JfcGF5cGVyaW9kJ10gPSAnWmFobHVuZ3MtSCZhdW1sO3VmaWdrZWl0JzsKJGxhbmdbJ3N1YnNjcl9wYXlwZXJpb2QyJ10gPSAnQmV6YWhsdCc7CiRsYW5nWydzdWJzY3JfcXVhcnRlcmx5J10gPSAnVmllcnRlbGomYXVtbDtocmxpY2gnOwokbGFuZ1snc3Vic2NyX3NlbWlhbnVhbGx5J10gPSAnSGFsYmomYXVtbDtocmxpY2gnOwokbGFuZ1snc3Vic2NyX3llYXJseSddID0gJ0omYXVtbDtocmxpY2gnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1p1c2FtbWVuZmFzc3VuZ3MtVGVtcGxhdGVzJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnRWluIFp1c2FtbWVuZmFzc3VuZ3MtVGVtcGxhdGUgaGluenVmJnV1bWw7Z2VuLyZhdW1sO25kZXJuJzsKJGxhbmdbJ3RheGFibGUnXSA9ICdNd1N0Lic7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdCAnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdNZWhyemVpbGlnZXMgVGV4dGZlbGQnOwokbGFuZ1sndGV4dGJveCddID0gJ0VpbnplaWxpZ2VzIFRleHRmZWxkJzsKJGxhbmdbJ3RpdGxlX2J5aGllcmFyY2h5X2RmbHR0ZW1wbGF0ZSddID0gJ1ZvcmVpbnN0ZWxsdW5nIE5ldWVzIEhpZXJhcmNoaWUgQXVzZ2FiZSBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnVm9yZWluc3RlbGx1bmcgTmV1ZXMgS2F0ZWdvcmllLUF1c2dhYmUgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfZGV0YWlsX2RmbHR0ZW1wbGF0ZSddID0gJ1ZvcmVpbnN0ZWxsdW5nIE5ldWVzIEFydGlrZWwtRGV0YWlsYW5zaWNodCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zZWFyY2hfZGZsdHRlbXBsYXRlJ10gPSAnVm9yZWluc3RlbGx1bmcgTmV1ZXMgU3VjaGZvcm11bGFyIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlfZGZsdHRlbXBsYXRlJ10gPSAnVm9yZWluc3RlbGx1bmcgTmV1ZXMgQXJ0aWtlbC1MaXN0ZW5hbnNpY2h0IFRlbXBsYXRlJzsKJGxhbmdbJ3R5cGUnXSA9ICdUeXAnOwokbGFuZ1sndXAnXSA9ICdOYWNoIG9iZW4nOwokbGFuZ1sndXBkYXRlJ10gPSAnQWt0dWFsaXNpZXJlbic7CiRsYW5nWyd1cGxvYWQnXSA9ICdIb2NoenVsYWRlbmRlIERhdGVpIGF1c3cmYXVtbDtobGVuJzsKJGxhbmdbJ3VybF9hbGlhcyddID0gJ1VSTC1BbGlhcyc7CiRsYW5nWyd2YWxpZCddID0gJ0cmdXVtbDtsdGlnJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnV2VydCc7CiRsYW5nWyd2YWx1ZXMnXSA9ICdXZXJ0ZSc7CiRsYW5nWyd2aWV3J10gPSAnQW56ZWlnZW4nOwokbGFuZ1sndmlld2FibGVfZmllbGRzJ10gPSAnVyZhdW1sO2hsZW4gU2llIGJlbnV0emVyZGVmaW5pZXJ0ZSBGZWxkZXIgaW4gZGVyIFRhYmVsbGVuYW5zaWNodCc7CiRsYW5nWyd3YXRlcm1hcmtfbG9jYXRpb24nXSA9ICdQbGF0emllcnVuZyBkZXMgV2Fzc2VyemVpY2hlbnMnOwokbGFuZ1snd2VpZ2h0J10gPSAnR2V3aWNodCc7CiRsYW5nWyd3aXRoX3NlbGVjdGVkJ10gPSAnQXVzZ2V3JmF1bWw7aGx0ZSBFaW50ciZhdW1sO2dlJzsKJGxhbmdbJ3llcyddID0gJ0phJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTEzNjI3Nzk3NjAtMTMwOTI2NTY4MjYzNic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE2ODEyOTUyMTcuMTMxMTk2MTgyMS4xMzEyMzE3Njk4LjEzMTIzNzc3ODMuMTYnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzExOTYxODIxLjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0xpc2EnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdMaXNhIGthdGVnb29yaWEnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdMaXNhIHYmYXVtbDtsaSc7CiRsYW5nWydhZGp1c3RhYmxlJ10gPSAnTXV1ZGV0YXYnOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ0xpc2EgdG9vZGUnOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdMaXNhIGF0dHJpYnV1dCc7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdTZW8gdiZhdW1sO2xpIGthdGVnb29yaWFnYTogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnTGlzYSBoaWVyYXJoaWEgZWxlbWVudCc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnTGlzYSBhdHRyaWJ1dWRpIHZhbGlrJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdLYXMgYWludWx0IGFkbWlubmlkIHNhYXZhZCBuJmF1bWw7aGEgc2VkYSBhdHRyaWJ1dXRpPyc7CiRsYW5nWydhbGlnbl91bCddID0gJyZVdW1sO2xlcyB2YXNha3VsZSc7CiRsYW5nWydhbGlnbl91YyddID0gJyZVdW1sO2xlcyBrZXNrZWxlJzsKJGxhbmdbJ2FsaWduX3VyJ10gPSAnJlV1bWw7bGVzIHBhcmVtYWxlJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnVmFzYWt1bGUga2Vza2VsZSc7CiRsYW5nWydhbGlnbl9tYyddID0gJ0tlc2tlbGUnOwokbGFuZ1snYWxpZ25fbXInXSA9ICdQYXJlbWFsZSBrZXNrZWxlJzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnQWxsYSB2YXNha3VsZSc7CiRsYW5nWydhbGlnbl9sYyddID0gJ0FsbGEga2Vza2VsZSc7CiRsYW5nWydhbGlnbl9sciddID0gJ0FsbGEgcGFyZW1hbGUnOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ0smb3RpbGRlO2lrIGthdGVnb29yaWFkJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdPbGVkIHNhIGtpbmRlbD8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnT2xlZCBzYSBraW5kZWwsIGV0IHNvb3ZpZCBrdXN0dXRhZGEgc2VsbGUgdG9vdGUgamEgayZvdGlsZGU7aWsgc2VsbGVnYSBzZW9zdHV2YSBpbmZvcm1hdHNpb29uaT8nOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnS2FzdmF2YWx0JzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnQXR0cmlidXVkaSBuaW1pJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYWF0bmUnOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZXMnXSA9ICdIaWVyYXJjaHkgUmVwb3J0IFRlbXBsYXRlcyc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZGQvRWRpdCBIaWVyYXJjaHkgUmVwb3J0IFRlbXBsYXRlJzsKJGxhbmdbJ2NhbmNlbCddID0gJ1QmdXVtbDtoaXN0YSc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvb3JpYWQnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdLYXRlZ29vcmlhJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnU2VsbGlzZSBuaW1lZ2Ega2F0ZWdvb3JpYSBla3Npc3RlZXJpYiBqdWJhJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0NhdGVnb3J5TGlzdCBUZW1wbGF0ZXMnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEEgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdPbGVkIHNhIGtpbmRlbCwgZXQgc29vdmlkIGt1c3R1dGFkYSBzZWxsZSBlbGVtZW5kaT8gSyZvdGlsZGU7aWsgdG9vdGVkLCBtaXMga2FzdXRhdmFkIHNlZGEgZWxlbWVudGksIHNlYXRha3NlIHB1dWR1dmFrcyBoaWVyYXJoaWFrcyc7CiRsYW5nWydjb25maXJtX2ltcG9ydCddID0gJ09sZWQgc2Ega2luZGVsLCBldCBzYSB0Jm90aWxkZTtlc3RpIHNvb3ZpZCBzZWRhIHRlaGE/XG5cbkViYWtvcnJla3RzZWQgc2VhZGVkIHYmb3RpbGRlO2kgdmFsZSBrb25maWd1cmF0c2lvb25pIGZhaWwgdiZvdGlsZGU7aXZhZCB0JmF1bWw7aWVzdGkgcmlra3VkYSBwcmFlZ3VzZSB0b2ltaXZhIHMmdXVtbDtzdGVlbWkuJzsKJGxhbmdbJ2NvcHknXSA9ICdLb3BlZXJpJzsKJGxhbmdbJ2NvcHlfY2F0ZWdvcnknXSA9ICdLb3BlZXJpIGthdGVnb29yaWEnOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdMb29kdWQnOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ0hldGtldiZhdW1sOyZhdW1sO3J0dXMnOwokbGFuZ1snZGF0YSddID0gJ0FuZG1lZCc7CiRsYW5nWydkZWZhdWx0J10gPSAnVmFpa2ltaXNpJzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdWYWlraW1pc2kgbWFsbGlkJzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVfbm90aWNlJ10gPSAnPHN0cm9uZz5Ob3RlOjwvc3Ryb25nPiBUaGUgY29udGVudHMgb2YgdGhlc2UgdGV4dCBhcmVhcyBhcmUgdXNlZCB0byBkZXRlcm1pbmUgdGhlIGRlZmF1bHQgY29udGVudCBvZiB0ZW1wbGF0ZXMgd2hlbiB5b3UgY2xpY2sgJnF1b3Q7QWRkIFRlbXBsYXRlJnF1b3Q7IGluIHRoZSBhcHByb3ByaWF0ZSB0ZW1wbGF0ZSB0YWIuICBFZGl0aW5nIG9uZSBvZiB0aGVzZSB0ZXh0IGFyZWFzIHdpbGwgaGF2ZSBubyBpbW1lZGlhdGUgZWZmZWN0IG9uIHlvdXIgd2Vic2l0ZS4nOwokbGFuZ1snZGVsZXRlJ10gPSAnS3VzdHV0YSc7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnS3VzdHV0YSBhdHRyaWJ1dXQnOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnS3VzdHV0YSBoaWVyYXJoaWEgZWxlbWVudCc7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnS2FoYW5ldmFsdCc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0tpcmplbGR1cyc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0YWlsaWQnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWlsaWRlIG1hbGwnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ0xpc2EvTXV1ZGEgZGV0YWlsaWRlIG1hbGwnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdEaXNhYmxlZCc7CiRsYW5nWydkcmFmdCddID0gJ011c3RhbmQnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93bic7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnRHJvcGRvd24gT3B0aW9ucyA8ZW0+KGFwcGxpY2FibGUgb25seSBmb3IgZHJvcGRvd24gZmllbGRzKTwvZW0+PGJyLz48YnIvPjxlbT4ob25lIGVudHJ5IHBlciBsaW5lKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdNdXVkYSc7CiRsYW5nWydlZGl0X2F0dHJpYnNldCddID0gJ011dWRhIGF0dHJpYnV1dGknOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzJ10gPSAnTXV1ZGEgYXR0cmlidXVkaSBzZWFkZWlkJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdFZGl0IEF0dHJpYnV0ZSBTZXRzIEZvcic7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdNdXVkYSBhdHRyaWJ1dXRlJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdNdXVkYSBrYXRlZ29vcmlhdCc7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ011dWRhIGthdGVnb29yaWEgdiZhdW1sO2xqdSc7CiRsYW5nWydlZGl0X2hpZXJhcmNoeV9pdGVtJ10gPSAnTXV1ZGEgaGllcmFyaGlhIGVsZW1lbnRpJzsKJGxhbmdbJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnXSA9ICdTZWxsaXNlIG5pbWVnYSBhdHRyaWJ1dXQgb24ganViYSBvbGVtYXMnOwokbGFuZ1snZXJyb3JfZmllbGR2YWx1ZV9lbXB0eSddID0gJ1YmYXVtbDtsamEgdiZhdW1sOyZhdW1sO3J0dXMgZWkgc2FhIG9sbGEgdCZ1dW1sO2hpJzsKJGxhbmdbJ2Vycm9yX2ZpbGVmb3JtYXQnXSA9ICdGYWlsaSBmb3JtYWFkaSBwcm9ibGVlbSc7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdGYWlsaSBlaSBsZWl0dWQnOwokbGFuZ1snZXJyb3JfZmlsZW9wZW4nXSA9ICdQcm9ibGVlbSBmYWlsaSAlcyBhdmFtaXNlbCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnVmFsZSB2YW5lbSAoaGllcmFyaGlhIGVsZW1lbnQgZWkgc2FhIG9sbGEgaXNlZW5kYSB2YW5lbSknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9uYW1lJ10gPSAnVGhlIGN1c3RvbSBmaWVsZCB2YWx1ZSBlbnRlcmVkIGlzIGludmFsaWQgKGNvbnRhaW5zIG5vbiBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnQSByZXF1aXJlZCBwYXJhbWV0ZXIgaXMgbWlzc2luZyBvciBpbnZhbGlkJzsKJGxhbmdbJ2Vycm9yX25hbWV1c2VkJ10gPSAnQW4gaXRlbSBieSB0aGF0IG5hbWUgaXMgYWxyZWFkeSBpbiB1c2UnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdQbGVhc2Ugc2VsZWN0IGEgZmllbGQgdHlwZSc7CiRsYW5nWydlcnJvcl9ub25hbWUnXSA9ICdZb3UgbXVzdCBzdXBwbHkgYSBuYW1lJzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnXSA9ICdQZXJtaXNzaW9uIERlbmllZCc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25hbWV1c2VkJ10gPSAnU2VsbGlzZSBuaW1lIHRvb2RlIG9uIGp1YmEgb2xlbWFzJzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdWYWxlIGhpbm5hIG11dWRhdHVzZSB2JmF1bWw7JmF1bWw7cnR1cyBlbGVtZW5kaWxlICVzJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICcmVXVtbDtsZXNsYWFkaW1pbmUgZWJhJm90aWxkZTtubmVzdHVzOiAlcyc7CiRsYW5nWydleHRyYTEnXSA9ICdFa3N0cmEgdiZhdW1sO2xpIDEnOwokbGFuZ1snZXh0cmEyJ10gPSAnRWtzdHJhIHYmYXVtbDtsaSAyJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnViZhdW1sO2xpJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnViZhdW1sO2xqYSBkZWZpbml0c2lvb24nOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnViZhdW1sO2xqYSBkZWZpbml0c2lvb25pZCc7CiRsYW5nWydmaWxlJ10gPSAnRmFpbCc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdHJpZCc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnUGVhbWlzZWQgc2VhZGVkJzsKJGxhbmdbJ2dvJ10gPSAnTWluZSc7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJoaWEnOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAnSGllcmFyaGlhIHBvc2l0c2lvb24nOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdQaWx0JzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX3NldHRpbmdzJ10gPSAnUGlsZGkgayZhdW1sO2l0bGVtaXNlIHNlYWRlZCc7CiRsYW5nWydpbXBvcnRfZnJvbV9jc3YnXSA9ICdJbXBvcnQgUHJvZHVjdHMgZnJvbSBDU1YgZmlsZSc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnSW5jbHVkZSBDaGlsZHJlbj8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICdPbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLiBObyB3aGl0ZXNwYWNlLCBxdW90ZXMsIG9yIG5vbiBsZXR0ZXIvbnVtYmVyIGNvbWJpbmF0aW9ucyc7CiRsYW5nWydpbmZvX2F1dG93YXRlcm1hcmsnXSA9ICdXYXRlcm1hcmsgc2V0dGluZ3MgYXJlIHRha2VuIGZyb20gdGhlIENHRXh0ZW5zaW9ucyBNb2R1bGUnOwokbGFuZ1snaW5mb19iYXRjaHNpemUnXSA9ICdTZXQgdGhlIG51bWJlciBvZiBsaW5lcyB0byBwcm9jZXNzIHBlciAmcXVvdDtiYXRjaCZxdW90Oy4gIEFmdGVyIGEgYmF0Y2ggaXMgY29tcGxldGUsIHRoZSBpbXBvcnRlciB3aWxsIHJlZGlyZWN0LCBhbmQgcmVzdW1lIG9wZXJhdGlvbnMuICBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBtZW1vcnkgZXJyb3JzLCBvciB0aW1lb3V0IHByb2JsZW1zIGR1ZSB0byBsYXJnZSBhbW91bnRzIG9mIHByb2Nlc3NpbmcsIHlvdSBtYXkgbmVlZCB0byBjb25zdWx0IHlvdXIgaG9zdCBwcm92aWRlciwgb3IgcmVkdWNlIHRoaXMgbnVtYmVyJzsKJGxhbmdbJ2luZm9fY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnVGhlc2UgcGFyYW1ldGVycyBhcmUgZ2l2ZW4gdG8gdGhlIHNlbGVjdGVkIGNhcnQgbW9kdWxlIGZyb20gdGhlIHByb2R1Y3QgZGV0YWlsIGFuZCBzdW1tYXJ5IGRpc3BsYXlzJzsKJGxhbmdbJ2luZm9fY3JlYXRlZmllbGRzJ10gPSAnQ3JlYXRlIHVua25vd24gcHJvZHVjdCBmaWVsZHMgYXV0b21hdGljYWxseT8gPGVtPihUaGV5IHdpbGwgYmUgY3JlYXRlZCBhcyB0ZXh0IGZpZWxkcyk8L2VtPic7CiRsYW5nWydpbmZvX2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdBdXRvbWF0aWNhbGx5IGNyZWF0ZSBwcm9kdWN0IGNhdGVnb3JpZXMgdG8gbWF0Y2ggdGhvc2Ugb2YgdGhlIENTViBmaWxlLCBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0JzsKJGxhbmdbJ2luZm9fY3JlYXRlaGllcmFyY2h5J10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgcHJvZHVjdCBoaWVyYXJjaGllcyB0byBtYXRjaCB0aG9zZSBvZiB0aGUgQ1NWIGZpbGUgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdCc7CiRsYW5nWydpbmZvX2RlY2ltYWxfdW5pdHMnXSA9ICdUaGlzIHN5c3RlbSB1bmRlcnN0YW5kcyAoLikgYXMgdGhlIGRlY2ltYWwgcG9pbnQgc2VwYXJhdG9yLiBpLmUuOiA8c3Ryb25nPjUuMjU8L3N0cm9uZz4nOwokbGFuZ1snaW5mb19kZWxpbWl0ZXInXSA9ICdTcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgKG9yIGNoYXJhY3RlcnMpIHRoYXQgc2VwZXJhdGUgZWFjaCBmaWVsZCc7CiRsYW5nWydpbmZvX2R1cGxpY2F0ZXByb2R1Y3RzJ10gPSAnU3BlY2lmeSBob3cgdGhlIHN5c3RlbSBzaG91bGQgaGFuZGxlIGEgcHJvZHVjdCB3aG9zIG5hbWUgYWxyZWFkeSBleGlzdHMgaW4gdGhlIENTViBmaWxlJzsKJGxhbmdbJ2luZm9fZmllbGRkZWZzX3RhYiddID0gJzxzdHJvbmc+Tm90ZTogPC9zdHJvbmc+IEFsbCBGaWVsZHMgZGVmaW5lZCBoZXJlIGFyZSBhdmFpbGFibGUgdG8gYWxsIHByb2R1Y3RzLic7CiRsYW5nWydpbmZvX2ZpZWxkcHJvYmxlbXMnXSA9ICdQcm9ibGVtcyB3ZXJlIGVuY291bnRlcmVkIHdoZW4gZGVhbGluZyB3aXRoIG9uZSBvciBtb3JlIGN1c3RvbSBmaWVsZHMuICBUaGUgYWN0aW9uIGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBob3dldmVyIHlvdSBzaG91bGQgaW52ZXN0aWdhdGUgYW5kIGNvcnJlY3QgdGhlc2UgcHJvYmxlbXMnOwokbGFuZ1snaW5mb19oYW5kbGVpbWFnZXMnXSA9ICdVcG9uIGltcG9ydCwgaWYgYW4gaW1hZ2UgZmlsZW5hbWUgaXMgZm91bmQgaW4gYSBmaWVsZCBjb2x1bW4sIHNob3VsZCBpdCBiZSBtb3ZlZCBmcm9tIHRoZSBzb3VyY2UgbG9jYXRpb24sIHdhdGVybWFya2VkLCB0aHVtYm5haWxlZCwgYW5kIHRoZSBmaWVsZCB0eXBlIGNoYW5nZWQgdG8gJnF1b3Q7aW1hZ2UmcXVvdDsnOwokbGFuZ1snaW5mb19pbWFnZXBhdGgnXSA9ICdUaGUgcGF0aCAocmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyZWN0b3J5KSB3aGVyZSBpbWFnZXMgcmVmZXJyZWQgdG8gaW4gdGhlIGltcG9ydCBmaWxlLCBjYW4gYmUgZm91bmQnOwokbGFuZ1snaW5mb19pbXBvcnRfdGVzdF9wYXNzZWQnXSA9ICdBIGJyaWVmIHRlc3QgYXMgYmVlbiBwZXJmb3JtZWQgb24gdGhlIGlucHV0IGZpbGUgc3BlY2lmaWVkLCBhbmQgZXZlcnl0aGluZyBhcHBlYXJzIHRvIGJlIGNvcnJlY3QuPGJyLz5UaGlzIGlzIG5vIGluZGljYXRpb24gdGhhdCB0aGVyZSBhcmUgbm8gZXJyb3JzIGluIHRoZSBmaWxlLic7CiRsYW5nWydpbmZvX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdWYWxpZCB2YWx1ZXMgYXJlICstKiMuIyMnOwokbGFuZ1snaW5mb19wdWJsaWNmaWVsZCddID0gJ1B1YmxpYyBmaWVsZHMgYXJlIGF2YWlsYWJsZSBmb3IgdGhlIHB1YmxpYyB0byBzZWUnOwokbGFuZ1snbGFiZWwnXSA9ICdMYWJlbCc7CiRsYW5nWydsYWJlbF9za2lwJ10gPSAnU2tpcCc7CiRsYW5nWydsYWJlbF9vdmVyd3JpdGUnXSA9ICdPdmVyd3JpdGUnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnVmlpbWF0aSBtdXVkZXR1ZCc7CiRsYW5nWydsb2dvdGV4dCddID0gJ1RlaW5lIHBpbHQnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW11bSBsZW5ndGggPGVtPihhcHBsaWNhYmxlIG9ubHkgb24gdGV4dGJveCBmaWVsZHMpPC9lbT4nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnbXV1ZGV0dWQnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgZm9yIG1hbmFnaW5nIGEgY2F0YWxvZyBvZiBwcm9kdWN0cywgdGhlaXIgcHJpY2UsIGltYWdlcywgZXRjLCBhbmQgZm9yIGFsbG93aW5nIHVzZXJzIHRvIGJ1aWxkIGEgY2FydCc7CiRsYW5nWyduYW1lJ10gPSAnTmltaSc7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ1lvdSBkbyBub3QgaGF2ZSB0aGUgcmVxdWlyZWQgcGVybWlzc2lvbjogJXMnOwokbGFuZ1snbmV3X2NhdGVnb3J5X25hbWUnXSA9ICdVdXMga2F0ZWdvb3JpYSBuaW1pJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydubyddID0gJ0VpJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTmltZSBlaSBlc2l0YXR1ZCc7CiRsYW5nWydub25lJ10gPSAnUG9sZSc7CiRsYW5nWydvZiddID0gJ2tva2t1JzsKJGxhbmdbJ3BhZ2UnXSA9ICdMZWhlayZ1dW1sO2xnJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdMZWhlayZ1dW1sO2xnICVzICVzJiMwMzk7c3QnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ0xlaGVrJnV1bWw7bGplIGxpbWlpdCc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5oaWVyYXJjaHkgLS0gRGlzcGxheSBhIHByb2R1Y3QgbGlzdCBieSBoaWVyYXJjaHk8L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdCBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyeSBvZiBwcm9kdWN0czwvbGk+DQogIDxsaT5kZXRhaWxzIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIHByb2R1Y3Q8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdXaGVuIHVzZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGNhdGVnb3J5IHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IG9ubHkgdGhvc2UgcHJvZHVjdHMgdGhhdCBhcmUgaW4gdGhhdCBjYXRlZ29vcnkuIChhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IGNhbiBiZSBzdXBwbGllZCknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ1RoaXMgc3BlY2lmaWVzIHRoZSBwYWdlaWQgb3IgYWxpYXMgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkaXNwbGF5IHRoZSBkZXRhaWwgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRldGFpbCBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCBvbmx5IGl0ZW1zIGluIHRoYXQgbG9jYXRpb24gb2YgdGhlIGhpZXJhcmNoeSBzaG91bGQgYmUgZGlzcGxheWVkLiAgV2lsZGNhcmQgY2hhcmFjdGVyIGNhbiBiZSB1c2VkIHNvIHRoYXQgeW91IGNhbiBzcGVjaWZ5IHBhcmVudC9jaGlsZCByZWxhdGlvbnNoaXBzIGFzIHdlbGwuICBpLmUge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTt0cnVja3MqJiMwMzk7fSB3aWxsIGNyZWF0ZSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGluY2x1ZGluZyB0aGUgY2hpbGRyZW4gaW4gdGhlIGhpZXJhcmNoeS4gIFNpbWlsYXJseSwge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTsqdHJ1Y2tzJiMwMzk7fSB3aWxsIGRpc3BsYXkgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBhbmQgYWxsIHByb2R1Y3RzIGJlbG9naW5nIHRvIGFueSBwYXJlbnQgaW4gdGhlIGhpZXJhcmNoeS4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBoaWVyYXJjaHkgZGlzcGxheS4gSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgaG93IG1hbnkgaXRlbXMgc2hvdWxkIGJlIGxpc3RlZCBvbiBlYWNoIHBhZ2UuJzsKJGxhbmdbJ3BhcmFtX3BhcmVudCddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+aGllcmFyY2h5PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGhpZXJhcmNoeSBpZCBvZiB0aGUgc3RhcnRpbmcgbG9jYXRpb24gb2YgdGhlIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGlkJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgZGV0YWlsIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHdoYXQgcHJvZHVjdCB0byB1c2UgZm9yIHRoZSBkaXNwbGF5Lic7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICdTcGVjaWZ5IHRoZSBvcmRlciBvZiBzb3J0ZWQgZmllbGRzIGluIHN1bW1hcnkgdmlldy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPmFzYzwvc3Ryb25nPiAtLSBBc2NlbmRpbmcgb3JkZXI8L2xpPg0KICA8bGk+ZGVzYyAtLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NvcnRieSddID0gJ0FwcGxpY2FibGUgb25seSBpbiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyIGRldGVybWluZXMgdGhlIHNvcnRpbmcgb2YgdGhlIG91dHB1dCBwcm9kdWN0cy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPnByb2R1Y3RfbmFtZTwvc3Ryb25nPjwvbGk+DQogIDxsaT5pZCAtLSBUaGUgcHJvZHVjdCBpZDwvbGk+DQogIDxsaT53ZWlnaHQgLS0gVGhlIHByb2R1Y3Qgd2VpZ2h0PC9saT4NCiAgPGxpPnByaWNlIC0tIFRoZSBwcm9kdWN0IGJhc2UgcHJpY2U8L2xpPg0KICA8bGk+c3RhdHVzIC0tIERyYWZ0IG9yIHB1Ymxpc2hlZDwvbGk+DQogIDxsaT5yYW5kb20gLS0gRGlzcGxheSBpbiByYW5kb20gb3JkZXIgb24gZWFjaCByZXF1ZXN0PC9saT4NCiAgPGxpPmNyZWF0ZWQgLS0gVGhlIGNyZWF0aW9uIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KICA8bGk+bW9kaWZpZWQgLS0gVGhlIG1vZGlmaWVkIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgc3VtbWFyeSBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyZW50J10gPSAnRWVsbWluZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1Rvb2RldGUgbW9vZHVsIG9uIGVkdWthbHQgcGFpZ2FsZGF0dWQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1Rvb2RldGUgbW9vZHVsIG9uIGVlbWxkYXR1ZCBrb29zIGsmb3RpbGRlO2lraWRlIHNlb3R1ZCBhbmRtZXRlZ2EnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdFZWxpc3R1c2VkJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1NlbGxlIG1vb2R1bGkgZWVtYWxkYW1pbmUgZWVtYWxkYWIga2EgayZvdGlsZGU7aWsgc2VvdHVkIGFuZG1lZCwgb2xlZCBzYSBraW5kZWwsIGV0IHNvb3ZpZCBqJmF1bWw7dGthdGE/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnSGluZCc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnSGlubmEgbXV1ZGF0dXMnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdUb29kZSc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ1Rvb3RlIG5pbWknOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdUb290ZWQnOwokbGFuZ1sncHJvZHVjdF9oaWVyYXJjaHknXSA9ICdUb290ZSBoaWVyYXJoaWEnOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnVG9vdGUgaGFsZHVyJzsKJGxhbmdbJ3Byb2dyZXNzJ10gPSAnUHJvZ3Jlc3MnOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ0FsbG93IHVwbG9hZCBvZiBmaWxlcyB3aXRoIHRoZXNlIGV4dGVuc2lvbnMgKGZvciBmaWxlIHR5cGUgZmllbGRzKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZXR5cGVzJ10gPSAnQWxsb3cgdXBsb2FkIG9mIGltYWdlcyB3aXRoIHRoZXNlIGV4dGVuc2lvbnMgKGZvciBpbWFnZSB0eXBlIGZpZWxkcyknOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWwnXSA9ICdBdXRvbWF0aWNhbGx5IGNyZWF0ZSB0aHVtYm5haWxzIG9mIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWF4aW11bSBzaXplIChsYXJnZXN0IGRpbWVuc2lvbikgb2YgdGhlIHRodW1ibmFpbC4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgcHJldmlldyBpbWFnZXMgb2YgaW1hZ2VzJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZ19zaXplJ10gPSAnTWF4aW11bSBzaXplIChsYXJnZXN0IGRpbWVuc2lvbikgb2YgdGhlIHByZXZpZXcgaW1hZ2UuJzsKJGxhbmdbJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJ10gPSAnQXV0b21hdGljYWxseSBwbGFjZSB3YXRlcm1hcmtzIG9uIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ0VuYWJsZSBieSBkZWZhdWx0IGZvciBhbGwgbmV3IHByb2R1Y3RzJzsKJGxhbmdbJ3Byb21wdF9iYXRjaHNpemUnXSA9ICdCYXRjaCBTaXplJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZSddID0gJ0NhcnQgTW9kdWxlJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdDYXJ0IE1vZHVsZSBQYXJhbWV0ZXJzJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVjYXRlZ29yaWVzJ10gPSAnTG9vIGthdGVnb29yaWFpZCc7CiRsYW5nWydwcm9tcHRfY3JlYXRlZmllbGRzJ10gPSAnTG9vIHRvb3RlIHYmYXVtbDtsamFzaWQ/JzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVoaWVyYXJjaHknXSA9ICdMb28gdG9vdGUgaGllcmFyaGlhJzsKJGxhbmdbJ3Byb21wdF9jc3ZmaWxlJ10gPSAnVXBsb2FkIENTViBGaWxlJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeWNvZGUnXSA9ICdWYWx1dXRhIGtvb2QnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5c3ltYm9sJ10gPSAnVmFsdXV0YSBzJnV1bWw7bWJvbCc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICdWYWlraW1pc2kgayZvdGlsZGU7aWtpZGVsIHV1dGVsIHRvb2RldGVsIG9uIHNlZSBvbGVrJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3RheGFibGUnXSA9ICdWYWlraW1pc2kgayZvdGlsZGU7aWsgdXVlZCB0b290ZWQgb24gbWFrc3VzdGF2YWQnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ0t1c3R1dGEgayZvdGlsZGU7aWsgdG9vdGVnYSBzZW90dWQgZmFpbGlkLCBrdWkgdG9vZGUga3VzdHV0YXRha3NlPyc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnViZhdW1sO2xqYSBlcmFsZGFqYSc7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ1ZhaWtpbWlzaSBkZXRhaWxpIGxlaHQnOwokbGFuZ1sncHJvbXB0X2R1cGxpY2F0ZXByb2R1Y3RzJ10gPSAnSG93IHRvIGhhbmRsZSBkdXBsaWNhdGUgcHJvZHVjdHM/JzsKJGxhbmdbJ3Byb21wdF9oYW5kbGVpbWFnZXMnXSA9ICdIYW5kbGUgaW1hZ2VzPyc7CiRsYW5nWydwcm9tcHRfaW1hZ2VwYXRoJ10gPSAnSW1hZ2UgUGF0aCc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRvcmRlciddID0gJ0RlZmF1bHQgU29ydCBPcmRlciBpbiBzdW1tYXJ5IG1vZGUnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0aW5nJ10gPSAnRGVmYXVsdCBTb3J0IEZpZWxkIGluIHN1bW1hcnkgbW9kZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBTb3VyY2UnOwokbGFuZ1sncHJvbXB0X3VybHByZWZpeCddID0gJ1ByZWZpeCB0byB1c2Ugb24gYWxsIFVSTFMgdGFyZ2V0ZWQgdG8gdGhpcyB0aGlzIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfd2VpZ2h0dW5pdHMnXSA9ICdLYWFsdSAmdXVtbDtoaWt1ZCc7CiRsYW5nWydwdWJsaWMnXSA9ICdLYXMgc2VlIG9uIGF2YWxpayB2JmF1bWw7bGk/Pyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICdBdmFsZGF0dWQnOwokbGFuZ1sncmFuZG9tJ10gPSAnU3V2YWxpbmUnOwokbGFuZ1sncmVzZXR0b2ZhY3RvcnknXSA9ICdUYWFzdGEgdGVoYXNlIHYmYXVtbDsmYXVtbDtydHVzZWQnOwokbGFuZ1sncmV0dXJuJ10gPSAnVGFnYXNpJzsKJGxhbmdbJ3JldHVybl90b190b3AnXSA9ICdUYWdhc2kgdmFhdGUgdGlwcHUnOwokbGFuZ1sncm9vdCddID0gJ0p1dXInOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1ZhbGkgJnV1bWw7a3MnOwokbGFuZ1snc29ydF9ieSddID0gJ1NvcnRlZXJpJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTb3J0ZWVyaSBqJmF1bWw7cmpla29yZCc7CiRsYW5nWydzdGF0dXMnXSA9ICdPbGVrJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NhYWRhJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdLb2trdXYmb3RpbGRlO3R0ZSBtYWxsJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnTGlzYS9NdXVkYSBrb2trdXYmb3RpbGRlO3R0ZSBtYWxsJzsKJGxhbmdbJ3RheGFibGUnXSA9ICdNYWtzdXN0YXRhdic7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdCc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHQgQXJlYSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dCBJbnB1dCc7CiRsYW5nWyd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnXSA9ICdEZWZhdWx0IE5ldyBIaWVyYXJjaHkgUmVwb3J0IFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5bGlzdF9kZmx0dGVtcGxhdGUnXSA9ICdEZWZhdWx0IE5ldyBDYXRlZ29yeUxpc3QgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfZGV0YWlsX2RmbHR0ZW1wbGF0ZSddID0gJ0RlZmF1bHQgTmV3IERldGFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ0RlZmF1bHQgTmV3IFN1bW1hcnkgVGVtcGxhdGUnOwokbGFuZ1sndHlwZSddID0gJ1QmdXVtbDsmdXVtbDtwJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1V1ZW5kYSc7CiRsYW5nWyd1cGxvYWQnXSA9ICdWYWxpIGZhaWwgJnV1bWw7bGVzbGFhZGltaXNla3MnOwokbGFuZ1sndmFsaWQnXSA9ICdLZWh0aXYnOwokbGFuZ1sndmFsdWUnXSA9ICdWJmF1bWw7JmF1bWw7cnR1cyc7CiRsYW5nWyd2YWx1ZXMnXSA9ICdWJmF1bWw7JmF1bWw7cnR1c2VkJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ1Zlc2lwaWxkaSBhc3Vrb2h0JzsKJGxhbmdbJ3dlaWdodCddID0gJ0thYWwnOwokbGFuZ1sneWVzJ10gPSAnSmFoJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMzIxNTU0NTI2NjczMjAxOTAwMC4xMjQxMDkxNzg3LjEyNTU1MjgzMzAuMTI1NTYwMjI5MC4xNjUnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjU0NDY5MDgzLjE0NS4yOC51dG1jY249KG9yZ2FuaWMpfHV0bWNzcj1nb29nbGV8dXRtY3RyPWNtc21zIHJlcXVpcmVtZW50c3x1dG1jbWQ9b3JnYW5pYyc7CiRsYW5nWydxY2EnXSA9ICcxMjQwNjgzNjE1LTU4NDA5OTczLTc5OTE1MzAzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMS4xMC4xMjU1NjAyMjkwJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FiYnJfbGVuZ3RoJ10gPSAnTCc7CiRsYW5nWydhYmJyX3dpZHRoJ10gPSAnVyc7CiRsYW5nWydhYmJyX2hlaWdodCddID0gJ0gnOwokbGFuZ1snYWRkJ10gPSAnTGlzJmF1bWw7JmF1bWw7JzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnTGlzJmF1bWw7JmF1bWw7IGthdGVnb3JpYSc7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0xpcyZhdW1sOyZhdW1sOyBrZW50dCZhdW1sOyc7CiRsYW5nWydhZGp1c3RhYmxlJ10gPSAnUyZhdW1sOyZhdW1sO2RldHQmYXVtbDt2JmF1bWw7JzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICdMaXMmYXVtbDsmYXVtbDsgdHVvdGUnOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdMaXMmYXVtbDsmYXVtbDsgYXR0cmlidXV0dGknOwokbGFuZ1snYWRkX2NhdGVnb3J5X2ZpZWxkJ10gPSAnTGlpdCZhdW1sOyBrZW50dCZhdW1sOyBrYXRlZ29yaWFhbjogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnTGlzJmF1bWw7JmF1bWw7IGhpZXJhcmtpYSc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnTGlzJmF1bWw7JmF1bWw7IGF0dHJpYnV1dHRpIG9wdGlvJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdOJmF1bWw7a3l2eXlzIHBlbGsmYXVtbDtzdCZhdW1sOyZhdW1sO24gYWRtaW5laWxsZSB0JmF1bWw7aCZhdW1sO24gYXR0cmlidXV0dGlpbj8nOwokbGFuZ1snYWR2YW5jZWQnXSA9ICdLZWhpdHR5bnl0JzsKJGxhbmdbJ2FsaWduX3VsJ10gPSAnWWwmb3VtbDtzIHZhc2VtbWFsbGUnOwokbGFuZ1snYWxpZ25fdWMnXSA9ICdZbCZvdW1sO3Mga2Vza2VsbGUnOwokbGFuZ1snYWxpZ25fdXInXSA9ICdZbCZvdW1sO3Mgb2lrZWFsbGUnOwokbGFuZ1snYWxpZ25fbWwnXSA9ICdLZXNrZWxsZSB2YXNlbW1hbGxlJzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnS2Vza2VsbGUnOwokbGFuZ1snYWxpZ25fbXInXSA9ICdLZXNrZWxsZSBvaWtlYWxsZSc7CiRsYW5nWydhbGlnbl9sbCddID0gJ0FsYXMgdmFzZW1tYWxsZSc7CiRsYW5nWydhbGlnbl9sYyddID0gJ0FsYXMga2Vza2VsbGUnOwokbGFuZ1snYWxpZ25fbHInXSA9ICdBbGFzIG9pa2VhbGxlJzsKJGxhbmdbJ2FsbCddID0gJ0thaWtraSc7CiRsYW5nWydhbGxjYXRlZ29yaWVzJ10gPSAnS2Fpa2tpIGthdGVnb3JpYXQnOwokbGFuZ1snYW55J10gPSAnTWlrJmF1bWw7IHRhaGFuc2EnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ09sZXRrbyB2YXJtYT8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnT2xldGtvIHZhcm1hLCBldHQmYXVtbDsgaGFsdWF0IHBvaXN0YWEgdCZhdW1sO20mYXVtbDtuIHR1b3R0ZWVuIGphIHNlbiB0aWVkb3Q/JzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ05vdXNldmEnOwokbGFuZ1snYXR0cmlidXRlX25hbWUnXSA9ICdBdHRyaWJ1dXRpbiBuaW1pJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYWF0dGluZW4nOwokbGFuZ1snYnRuX3NldGVjb21oYW5kbGVycyddID0gJ0FzZXRhIHZlcmtrb2thdXBhbiB0YXBhaHR1bWFrJmF1bWw7c2l0dGVsaWomYXVtbDt0JzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVzJ10gPSAnSGllcmFya2lhIHJhcG9ydHRpcG9oamF0JzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0xpcyZhdW1sOyZhdW1sOy9tdW9ra2FhIEhpZXJhcmtpYSByYXBvcnR0aXBvaGphYSc7CiRsYW5nWydjYW5jZWwnXSA9ICdQZXJ1dXRhJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZ29yaWF0JzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWdvcmlhJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnVCZhdW1sO20mYXVtbDtuIG5pbWluZW4ga2F0ZWdvcmlhIG9uIGpvIGx1b3R1JzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0thdGVnb3JpYWxpc3RhIHBvaGphdCc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnTGlzJmF1bWw7JmF1bWw7L211b2trYWEga2F0ZWdvcmlhbGlzdGEgcG9oamFhJzsKJGxhbmdbJ2NlbnRpbWV0ZXJzJ10gPSAnU2VudHRpbWV0cml0JzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnVmFsaW50YWxhYXRpa2tvJzsKJGxhbmdbJ2NvbmZpcm1fY29weWF0dHJpYnV0ZXMnXSA9ICdLYWlra2kgYXNldGV0dXQgYXR0cmlidXV0aXQgdCZhdW1sO2xsZSB0dW90dGVlbGxlIHBvaXN0ZXRhYW4uIE9sZXRrbyB2YXJtYSBldHQmYXVtbDsgaGFsdWF0IGphdGthYT8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdPbGV0a28gdmFybWEsIGV0dCZhdW1sOyBoYWx1YXQgcG9pc3RhYSB0JmF1bWw7bSZhdW1sO24gbm9kZW4/IEthaWtraSB0dW90dGVldCwgam90a2EgayZhdW1sO3l0dCZhdW1sO3YmYXVtbDt0IHQmYXVtbDt0JmF1bWw7IG5vZGVhIGFzZXRldGFhbiB0aWxhYW4gJnF1b3Q7ZWkgaGllcmFya2lhYSZxdW90Oy4nOwokbGFuZ1snY29uZmlybV9pbXBvcnQnXSA9ICdPbGV0a28gdmFybWEsIGV0dCZhdW1sOyBoYWx1YXQgdGVoZCZhdW1sOyB0JmF1bWw7bSZhdW1sO24/XG5cblYmYXVtbDsmYXVtbDtyJmF1bWw7dCBhc2V0dWtzZXQgdGFpIHZpcmhlZWxsaW5lbiBjb25maWctdGllZG9zdG8gdm9pIHB5c3l2JmF1bWw7c3RpIGtvcnJ1cHRvaWRhIHRvaW1pdmFuIHN5c3RlZW1pbic7CiRsYW5nWydjb3B5J10gPSAnS29waW9pJzsKJGxhbmdbJ2NvcHlfcHJvZHVjdCddID0gJ0tvcGlvaSB0JmF1bWw7bSZhdW1sOyB0dW90ZSc7CiRsYW5nWydjb3B5X2F0dHJpYl9zZXRzJ10gPSAnS29waW9pIGF0dHJpYnV1dGluIGFzZXR1a3NldCc7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnS29waW9pJzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnTHVvbnRpcCZhdW1sO2l2JmF1bWw7JzsKJGxhbmdbJ2N1cnJlbnRfdmFsdWUnXSA9ICdOeWt5aW5lbiBhcnZvJzsKJGxhbmdbJ2RhdGEnXSA9ICdUaWV0byc7CiRsYW5nWydkZWZhdWx0J10gPSAnT2xldHVzJzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdPbGV0dXNwb2hqYXQnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPkh1b206PC9zdHJvbmc+IE4mYXVtbDtpZGVuIHRla3N0aWtlbnR0aWVuIHNpcyZhdW1sO2xsJm91bWw7aWxsJmF1bWw7IG0mYXVtbDsmYXVtbDtyaXRldCZhdW1sOyZhdW1sO24gb2xldHVzc2lzJmF1bWw7bHQmb3VtbDsgcG9oamlsbGUsIGpvc3NhIGx1b3QgdXVkZW4gcG9oamFuIGtsaWtrYWFtYWxsYSAmYW1wO3F1b3Q7TGlzJmF1bWw7JmF1bWw7IHBvaGphJmFtcDtxdW90Oy4gVCZhdW1sO25uZSB0ZWhkeXQgbXV1dG9rc2V0IGVpdiZhdW1sO3QgdmFpa3V0YSBzdW9yYWFuIHNpdnVpbGxhIG4mYXVtbDtreXYmYXVtbDsmYXVtbDtuIHNpcyZhdW1sO2x0Jm91bWw7Jm91bWw7biAodmFpbiBvbGV0dXNwb2hqaWluKS4nOwokbGFuZ1snZGVsZXRlJ10gPSAnUG9pc3RhJzsKJGxhbmdbJ2RlbGV0ZV9hdHRyaWJzZXQnXSA9ICdQb2lzdGEgYXR0cmlidXV0dGknOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnUG9pc3RhIGhpZXJhcmtpYSBuaW1pa2UnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0xhc2tldmEnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdLdXZhdXMnOwokbGFuZ1snZGVzdGluYXRpb24nXSA9ICdLb2hkZSc7CiRsYW5nWydkZXRhaWxzJ10gPSAnVGllZG90JzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ1lrc2l0eWlza29odGFpbmVuIHBvaGphdCc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnTGlzJmF1bWw7JmF1bWw7L211b2trYWEgeWtzaXR5aXNrb2h0YWlzdGEgcG9oamFhJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdNaXRhdCc7CiRsYW5nWydkaXNhYmxlZCddID0gJ0FrdGl2b2l0dSc7CiRsYW5nWydkb3duJ10gPSAnU2lpcnImYXVtbDsgYWxhcyc7CiRsYW5nWydkcmFmdCddID0gJ0x1b25ub3MnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdQdWRvdHVzdmFsaWtrbyc7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnUHVkb3R1c3ZhbGlrb24gYXNldHVrc2V0IDxlbT4oc292ZWxsZXRhYW4gdmFpbiBwdWRvdHVzdmFsaWtvbiBrZW50dGlpbik8L2VtPjxici8+PGJyLz48ZW0+KHlrc2kga2VudHQmYXVtbDsgLyByaXZpKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdNdW9ra2FhJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0J10gPSAnTXVva2thYSBhdHRyaWJ1dXR0aWEnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzJ10gPSAnTXVva2thYSBhdHRyaWJ1dXRpbiBhc2V0dWtzaWEnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ011b2trYWEgYXR0cmlidXV0aW4gYXNldHVrc2lhJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ011b2trYWEgYXR0cmlidXV0dGVqYSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnTGlzJmF1bWw7JmF1bWw7IGthdGVnb3JpYSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ011b2trYWEga2F0ZWdvcmlhIGtlbnR0aSZhdW1sOyAmcXVvdDslcyZxdW90OzpsbGUnOwokbGFuZ1snZWRpdF9oaWVyYXJjaHlfaXRlbSddID0gJ011b2trYWEgaGllcmFya2lhIGl0ZW1pJmF1bWw7JzsKJGxhbmdbJ2Vycm9ycyddID0gJ1ZpcmhlZXQnOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ1NhbWFubmltaW5lbiBhdHRyaWJ1dXR0aSBvbiBqbyBsdW90dSc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnVGlldG9rYW50YSB2aXJoZSc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVfc2t1J10gPSAnRHVibGlrYWF0dGkgU0tVIGFydm8gbCZvdW1sO3lkZXR0eSc7CiRsYW5nWydlcnJvcl9maWVsZHZhbHVlX2VtcHR5J10gPSAnS2VudHQmYXVtbDsgZWkgdm9pIG9sbGEgdHloaiZhdW1sOyc7CiRsYW5nWydlcnJvcl9maWxlZm9ybWF0J10gPSAnVGllZG9zdG9mb3JtYWF0dGktb25nZWxtYSc7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdUaWVkb3N0b2EgZWkgbCZvdW1sO3lkeSc7CiRsYW5nWydlcnJvcl9maWxlb3BlbiddID0gJ1ZpcmhlIGF2YXR0YWVzc2EgdGllZG9zdG9hICVzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJlbnQnXSA9ICdJbnZhbGlkIFBhcmVudCAoYSBoaWVyYXJjaHkgbm9kZSBjYW5ub3QgYmUgaXQmIzAzOTtzIG93biBwYXJlbnQpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfbmFtZSddID0gJ1RoZSBjdXN0b20gZmllbGQgdmFsdWUgZW50ZXJlZCBpcyBpbnZhbGlkIChjb250YWlucyBub24gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdmFsdWUnXSA9ICdJbnZhbGlkIHZhbHVlIHNwZWNpZmllZCc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdBIHJlcXVpcmVkIHBhcmFtZXRlciBpcyBtaXNzaW5nIG9yIGludmFsaWQnOwokbGFuZ1snZXJyb3JfbmFtZXVzZWQnXSA9ICdBbiBpdGVtIGJ5IHRoYXQgbmFtZSBpcyBhbHJlYWR5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9ub2ZpZWxkdHlwZSddID0gJ1BsZWFzZSBzZWxlY3QgYSBmaWVsZCB0eXBlJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ1lvdSBtdXN0IHN1cHBseSBhIG5hbWUnOwokbGFuZ1snZXJyb3Jfb25lcXVhbnRpdHlmaWVsZCddID0gJ09ubHkgb25lIHF1YW50aXR5IGZpZWxkIGlzIGFsbG93ZWQnOwokbGFuZ1snZXJyb3Jfb25lc3Vic2NyaXB0aW9uZmllbGQnXSA9ICdPbmx5IG9uZSBzdWJzY3JpcHRpb24gZmllbGQgaXMgYWxsb3dlZCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnUGVybWlzc2lvbiBEZW5pZWQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9hbGlhc3VzZWQnXSA9ICdUaGUgYWxpYXMgc3BlY2lmaWVkIGlzIGFscmVhZHkgaW4gdXNlJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdBbiBpdGVtIGJ5IHRoYXQgbmFtZSBhbHJlYWR5IGV4aXN0cyc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25vdGZvdW5kJ10gPSAnVGhlIHJlcXVlc3RlZCBpdGVtIGNvdWxkIG5vdCBiZSBmb3VuZCc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X3NrdXVzZWQnXSA9ICdUaGF0IFNLVSB2YWx1ZSBpcyBhbHJlYWR5IGluIHVzZSBieSBhbm90aGVyIGl0ZW0nOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ0ludmFsaWQgcHJpY2UgYWRqdXN0bWVudCB2YWx1ZSBmb3IgaXRlbSAlcyc7CiRsYW5nWydlcnJvcl9za3VfcmVxdWlyZWQnXSA9ICdQbGVhc2UgZW50ZXIgYSB1bmlxdWUgU0tVJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICdVcGxvYWQgZmFpbGVkOiAlcyc7CiRsYW5nWydleGNsdWRlX2NhdGVnb3JpZXMnXSA9ICdFeGNsdWRlIGl0ZW1zIGluIHRoZSBzZWxlY3RlZCBjYXRlZ29yaWVzIGZyb20gdGhlIHJlc3VsdHMnOwokbGFuZ1snZXhwaXJlX3NpeF9tb250aHMnXSA9ICdLdXVkZW4ga3V1a2F1ZGVuIGomYXVtbDtsa2Vlbic7CiRsYW5nWydleHBpcmVfb25lX3llYXInXSA9ICdZaGRlbiB2dW9kZW4gaiZhdW1sO2xrZWVuJzsKJGxhbmdbJ2V4cGlyZV90d29feWVhciddID0gJ0thaGRlbiB2dW9kZW4gaiZhdW1sO2xrZWVuJzsKJGxhbmdbJ2V4cG9ydF90b19jc3YnXSA9ICdMdW8gQ1NWJzsKJGxhbmdbJ2V4cG9ydGF0dHJpYnMnXSA9ICdWaWUgYXR0cmlidXV0aXQnOwokbGFuZ1snZXhwb3J0Y2F0cyddID0gJ1ZpZSBrYWVvcmlhdCc7CiRsYW5nWydleHBvcnRkZWxpbSddID0gJ1ZpZSBrZW50JmF1bWw7biBlcm90dGltZXQnOwokbGFuZ1snZXhwb3J0ZHJhZnQnXSA9ICdWaWUgbHVvbm5va3NldCc7CiRsYW5nWydleHBvcnRmaWVsZHMnXSA9ICdWaWUga2VudCZhdW1sO3QnOwokbGFuZ1snZXh0cmExJ10gPSAnRXh0cmEta2VudHQmYXVtbDsgMSc7CiRsYW5nWydleHRyYTInXSA9ICdFeHRyYS1rZW50dCZhdW1sOyAyJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnS2VudHQmYXVtbDsnOwokbGFuZ1snZmllbGRzJ10gPSAnS2VudCZhdW1sO3QnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdLZW50JmF1bWw7biBtJmF1bWw7JmF1bWw7cml0eWtzZXQnOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnS2VudHRpZW4gbSZhdW1sOyZhdW1sO3JpdHlrc2V0JzsKJGxhbmdbJ2ZpbGUnXSA9ICdUaWVkb3N0byc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0dGVyaSc7CiRsYW5nWydmaWx0ZXJpbnVzZSddID0gJ1ZvaW1hc3NhJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0dGVyaXQnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ1lsZWlzZXQgYXNldHVrc2V0JzsKJGxhbmdbJ2dvJ10gPSAnTWVuZSc7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJraWEnOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAnSGllcmFya2lhbiBzaWphaW50aSc7CiRsYW5nWydoaWVyYXJjaHlfc2V0dGluZ3MnXSA9ICdIaWVyYXJraWFuIGFzZXR1a3NldCc7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0t1dmEnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfc2V0dGluZ3MnXSA9ICdLdXZhbiBrJmF1bWw7c2l0dGVseWFzZXR1a3NldCc7CiRsYW5nWydpbXBvcnRfZnJvbV9jc3YnXSA9ICdUdW8gdHVvdHRlZXQgQ1NWLXRpZWRvc3Rvc3RhJzsKJGxhbmdbJ2luY2hlcyddID0gJ1R1dW1hdCc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnSW5jbHVkZSBDaGlsZHJlbj8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICdPbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzLiBObyB3aGl0ZXNwYWNlLCBxdW90ZXMsIG9yIG5vbiBsZXR0ZXIvbnVtYmVyIGNvbWJpbmF0aW9ucyc7CiRsYW5nWydpbmZvX2F0dHJpYnRlbXBsYXRlJ10gPSAnUG9zc2libGUgdmFyaWFibGVzIGFyZTogeyRhdHRyaWJfdGV4dH0seyRhdHRyaWJfYWRqdXN0fSx7JGN1cnJlbmN5X3N5bWJvbH0nOwokbGFuZ1snaW5mb19hdHRyaWJ1dGVzX2NvcGllZCddID0gJ0F0dHJpYnV1dHRpIGtvcGlvaXR1JzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ1dhdGVybWFyayBzZXR0aW5ncyBhcmUgdGFrZW4gZnJvbSB0aGUgQ0dFeHRlbnNpb25zIE1vZHVsZSc7CiRsYW5nWydpbmZvX2JhdGNoc2l6ZSddID0gJ1NldCB0aGUgbnVtYmVyIG9mIGxpbmVzIHRvIHByb2Nlc3MgcGVyICZxdW90O2JhdGNoJnF1b3Q7LiAgQWZ0ZXIgYSBiYXRjaCBpcyBjb21wbGV0ZSwgdGhlIGltcG9ydGVyIHdpbGwgcmVkaXJlY3QsIGFuZCByZXN1bWUgb3BlcmF0aW9ucy4gIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIG1lbW9yeSBlcnJvcnMsIG9yIHRpbWVvdXQgcHJvYmxlbXMgZHVlIHRvIGxhcmdlIGFtb3VudHMgb2YgcHJvY2Vzc2luZywgeW91IG1heSBuZWVkIHRvIGNvbnN1bHQgeW91ciBob3N0IHByb3ZpZGVyLCBvciByZWR1Y2UgdGhpcyBudW1iZXInOwokbGFuZ1snaW5mb19jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdUaGVzZSBwYXJhbWV0ZXJzIGFyZSBnaXZlbiB0byB0aGUgc2VsZWN0ZWQgY2FydCBtb2R1bGUgZnJvbSB0aGUgaXRlbSBkZXRhaWwgYW5kIHN1bW1hcnkgZGlzcGxheXMnOwokbGFuZ1snaW5mb19jb3B5X2F0dHJpYnNldHMnXSA9ICdUaGlzIGFjdGlvbiB3aWxsIGNvcHkgQXR0cmlidXRlIFNldHMgKGV4Y2x1ZGluZyBza3UgdmFsdWVzKSBmcm9tIGFub3RoZXIgaXRlbS4nOwokbGFuZ1snaW5mb19jbGVhcmF0dHJpYnMnXSA9ICdPbmx5IGFwcGxpY2FibGUgd2hlbiB1cGRhdGluZyBleGlzdGluZyBpdGVtcywgdGhpcyB3aWxsIGNsZWFyIGFsbCBhdHRyaWJ1dGUgaW5mb3JtYXRpb24gZnJvbSB0aGUgZGF0YWJhc2UgZm9yIGl0ZW1zIGJlZm9yZSBjcmVhdGluZyBuZXcgb25lcyc7CiRsYW5nWydpbmZvX2NsZWFyY2F0ZWdvcmllcyddID0gJ09ubHkgYXBwbGljYWJsZSB3aGVuIHVwZGF0aW5nIGV4aXN0aW5nIGl0ZW1zLCB0aGlzIHdpbGwgY2xlYXIgYWxsIGNhdGVnb3J5IG1lbWJlcnNoaXBzIGJlZm9lIGNyZWF0aW5nIG5ldyBvbmVzJzsKJGxhbmdbJ2luZm9fY2xlYXJmaWVsZHMnXSA9ICdPbmx5IGFwcGxpY2FibGUgd2hlbiB1cGRhdGluZyBleGlzdGluZyBpdGVtcywgdGhpcyB3aWxsIGNsZWFyIGFsbCBmaWVsZHMgYmVmb2UgY3JlYXRpbmcgZmllbGQgdmFsdWVzJzsKJGxhbmdbJ2luZm9fY3JlYXRlZmllbGRzJ10gPSAnQ3JlYXRlIHVua25vd24gaXRlbSBmaWVsZHMgYXV0b21hdGljYWxseT8gPGVtPihUaGV5IHdpbGwgYmUgY3JlYXRlZCBhcyB0ZXh0IGZpZWxkcyk8L2VtPic7CiRsYW5nWydpbmZvX2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdBdXRvbWF0aWNhbGx5IGNyZWF0ZSBpdGVtIGNhdGVnb3JpZXMgdG8gbWF0Y2ggdGhvc2Ugb2YgdGhlIENTViBmaWxlLCBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0JzsKJGxhbmdbJ2luZm9fY3JlYXRlaGllcmFyY2h5J10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgaXRlbSBoaWVyYXJjaGllcyB0byBtYXRjaCB0aG9zZSBvZiB0aGUgQ1NWIGZpbGUgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdCc7CiRsYW5nWydpbmZvX2RlY2ltYWxfdW5pdHMnXSA9ICdUaGlzIHN5c3RlbSB1bmRlcnN0YW5kcyAoLikgYXMgdGhlIGRlY2ltYWwgcG9pbnQgc2VwYXJhdG9yLiBpLmUuOiA8c3Ryb25nPjUuMjU8L3N0cm9uZz4nOwokbGFuZ1snaW5mb19kZWxpbWl0ZXInXSA9ICdTcGVjaWZ5IHRoZSBjaGFyYWN0ZXIgKG9yIGNoYXJhY3RlcnMpIHRoYXQgc2VwZXJhdGUgZWFjaCBmaWVsZCc7CiRsYW5nWydpbmZvX2R1cGxpY2F0ZXByb2R1Y3RzJ10gPSAnU3BlY2lmeSBob3cgdGhlIHN5c3RlbSBzaG91bGQgaGFuZGxlIGFuIGl0ZW0gd2hvcyBuYW1lIGFscmVhZHkgZXhpc3RzIGluIHRoZSBDU1YgZmlsZSc7CiRsYW5nWydpbmZvX2ZpZWxkZGVmc190YWInXSA9ICc8c3Ryb25nPk5vdGU6IDwvc3Ryb25nPiBBbGwgRmllbGRzIGRlZmluZWQgaGVyZSBhcmUgYXZhaWxhYmxlIHRvIGFsbCBpdGVtcy4nOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnUHJvYmxlbXMgd2VyZSBlbmNvdW50ZXJlZCB3aGVuIGRlYWxpbmcgd2l0aCBvbmUgb3IgbW9yZSBjdXN0b20gZmllbGRzLiAgVGhlIGFjdGlvbiBoYXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgaG93ZXZlciB5b3Ugc2hvdWxkIGludmVzdGlnYXRlIGFuZCBjb3JyZWN0IHRoZXNlIHByb2JsZW1zJzsKJGxhbmdbJ2luZm9faGFuZGxlaW1hZ2VzJ10gPSAnVXBvbiBpbXBvcnQsIGlmIGFuIGltYWdlIGZpbGVuYW1lIGlzIGZvdW5kIGluIGEgZmllbGQgY29sdW1uLCBzaG91bGQgaXQgYmUgbW92ZWQgZnJvbSB0aGUgc291cmNlIGxvY2F0aW9uLCB3YXRlcm1hcmtlZCwgdGh1bWJuYWlsZWQsIGFuZCB0aGUgZmllbGQgdHlwZSBjaGFuZ2VkIHRvICZxdW90O2ltYWdlJnF1b3Q7JzsKJGxhbmdbJ2luZm9faGllcnBhZ2UnXSA9ICdVc2UgdGhpcyBwYWdlIGZvciBoaWVyYXJjaHkgdmlld3MuICBUaGUgcGFnZWlkIHdpbGwgbm90IGJlIHNwZWZpcmllZCBvbiB0aGUgVVJMLic7CiRsYW5nWydpbmZvX2ltYWdlcGF0aCddID0gJ1RoZSBwYXRoIChyZWxhdGl2ZSB0byB0aGUgdXBsb2FkcyBkaXJlY3RvcnkpIHdoZXJlIGltYWdlcyByZWZlcnJlZCB0byBpbiB0aGUgaW1wb3J0IGZpbGUsIGNhbiBiZSBmb3VuZCc7CiRsYW5nWydpbmZvX2ltYWdlc3R1ZmZfZGVwcmVjYXRlZCddID0gJ0ltYWdlIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFyZSBkZXByZWNhdGVkIGFuZCB3aWxsIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbi4gIFVzZSBDR1NtYXJ0SW1hZ2UgZm9yIGlubGluZSBpbWFnZSBwcm9jZXNzaW5nLic7CiRsYW5nWydpbmZvX2ltcG9ydF90ZXN0X3Bhc3NlZCddID0gJ0EgYnJpZWYgdGVzdCBhcyBiZWVuIHBlcmZvcm1lZCBvbiB0aGUgaW5wdXQgZmlsZSBzcGVjaWZpZWQsIGFuZCBldmVyeXRoaW5nIGFwcGVhcnMgdG8gYmUgY29ycmVjdC48YnIvPlRoaXMgaXMgbm8gaW5kaWNhdGlvbiB0aGF0IHRoZXJlIGFyZSBubyBlcnJvcnMgaW4gdGhlIGZpbGUuJzsKJGxhbmdbJ2luZm9fcHJldHR5aGllcnVybHMnXSA9ICdJbmNsdWRlIHRoZSBoaWVyYXJjaHkgaXRlbSBuYW1lIG9uIHRoZSBVUkwnOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnVmFsaWQgdmFsdWVzIGFyZSArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHJvZG5vdGZvdW5kJ10gPSAnVGhpcyBvcHRpb24gZGV0ZXJtaW5lcyB0aGUgYmVoYXZpb3VyIG9mIHRoZSB3ZWJzaXRlIGlmIGFuIGl0ZW0gZGV0YWlsIHZpZXcgaXMgYWNjZXNzZWQgZGlyZWN0bHkgYnkgVVJMLCBhbmQgdGhhdCBpdGVtIGZvciB3aGF0ZXZlciByZWFzb24gKGRpc2FibGVkLCBkZWxldGVkLCBldGMpIGNhbm5vdCBiZSBhY2Nlc3NlZC4nOwokbGFuZ1snaW5mb19wdWJsaWNmaWVsZCddID0gJ1B1YmxpYyBmaWVsZHMgYXJlIGF2YWlsYWJsZSBmb3IgdGhlIHB1YmxpYyB0byBzZWUnOwokbGFuZ1snaW5mb19yZW9yZGVyX2NvbnRlbnQnXSA9ICdUaGlzIG9wZXJhdGlvbiBhbGxvd3MgZHJhZ2dpbmcgdGhlIGluZGl2aWR1YWwgbm9kZXMgaW4gdGhlIHRyZWUgdG8gYWRqdXN0IHRoZSBvcmRlciB0aGF0IHRoZXkgd2lsbCBiZSBkaXNwbGF5ZWQgaW4gaW4gdGhlIGhpZXJhcmNoeSB2aWV3JzsKJGxhbmdbJ2luZm9fc2V0ZWNvbWhhbmRsZXJzJ10gPSAnVGhpcyBidXR0b24gd2lsbCBlbnN1cmUgdGhhdCBldmVudCBoYW5kbGVycyBmb3IgZWNvbW1lcmNlIGV2ZW50cyBhcmUgaW4gcGxhY2UuICBUaGlzIGlzIHVzZWZ1bCBpZiBhc2tpbmcgdGhlIGl0ZW1zIG1vZHVsZSB0byBrZWVwIHRyYWNrIG9mIGEgcXVhbnRpdHkgb24gaGFuZCwgYnV0IHRoZSBldmVudCBoYW5kbGVycyBkaWQgbm90IGdldCBjcmVhdGVkIGR1cmluZyBpbnN0YWxsIG9yIHVwZ3JhZGUnOwokbGFuZ1snbGFiZWwnXSA9ICdPdHNpa2tvJzsKJGxhbmdbJ2xhYmVsX3NraXAnXSA9ICdPaGl0YSc7CiRsYW5nWydsYWJlbF9vdmVyd3JpdGUnXSA9ICdZbGlraXJqb2l0YSc7CiRsYW5nWydsYWJlbF91cGRhdGUnXSA9ICdQJmF1bWw7aXYmYXVtbDt0JmF1bWw7JzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnPj4nOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJ1ZpaW1lZWtzaSBtdW9rYXR0dSc7CiRsYW5nWydsb2dvdGV4dCddID0gJ1RvaW5lbiBrdXZhJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoIDxlbT4oYXBwbGljYWJsZSBvbmx5IG9uIHRleHRib3ggZmllbGRzKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ011b2trYXVzcCZhdW1sO2l2JmF1bWw7bSZhdW1sOyZhdW1sO3ImYXVtbDsnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgZm9yIG1hbmFnaW5nIGEgY2F0YWxvZyBvZiBpdGVtcywgdGhlaXIgcHJpY2UsIGltYWdlcywgZXRjLCBhbmQgZm9yIGFsbG93aW5nIHVzZXJzIHRvIGJ1aWxkIGEgY2FydCc7CiRsYW5nWydtb3ZlX2Rvd24nXSA9ICdTaWlyciZhdW1sOyBhbGFzJzsKJGxhbmdbJ21vdmVfdXAnXSA9ICdTaWlyciZhdW1sOyB5bCZvdW1sO3MnOwokbGFuZ1snbXNnX2V2ZW50aGFuZGxlcnNfY3JlYXRlZCddID0gJ0V2ZW50IEhhbmRsZXJzIENyZWF0ZWQnOwokbGFuZ1snbXNnX3Byb2R1Y3Rjb3BpZWQnXSA9ICdJdGVtIHN1Y2Nlc3NmdWxseSBjb3BpZWQuICBZb3UgYXJlIG5vdyBlZGl0aW5nIHRoZSBjb3B5LiAgQW55IHNrdSBpbmZvcm1hdGlvbiBpbiB0aGUgaXRlbSwgYW5kL29yIGF0dHJpYnV0ZXMgaGFzIGJlZW4gY2xlYXJlZCc7CiRsYW5nWyduYW1lJ10gPSAnTmltaSc7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ1NpbnVsbGEgZWkgb2xlIHRhcnZpdHRhdmlhIG9pa2V1a3NpYTogJXMnOwokbGFuZ1snbmV3X2NhdGVnb3J5X25hbWUnXSA9ICdVdXNpIGthdGVnb3JpYW4gbmltaSc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm8nXSA9ICdFaSc7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ05pbWUmYXVtbDsgZWkgYW5uZXR0dSc7CiRsYW5nWydub25lJ10gPSAnRWkgeWh0JmF1bWw7JmF1bWw7bic7CiRsYW5nWydub3RoaW5nX3NlbGVjdGQnXSA9ICdNaXQmYXVtbDsmYXVtbDtuIGVpIHZhbGl0dHUnOwokbGFuZ1snb2YnXSA9ICdPZic7CiRsYW5nWydvcGVyYXRpb25fY2FuY2VsbGVkJ10gPSAnT3BlcmFhdGlvIHBlcnV1dGV0dHUnOwokbGFuZ1snb3BlcmF0aW9uX2NvbXBsZXRlJ10gPSAnT3BlcmFhdGlvIHN1b3JpdGV0dHUnOwokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1sncGFnZV9vZiddID0gJ1NpdnUgJXMgb2YgJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ1NpdnVyYWpvaXR1cyc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5oaWVyYXJjaHkgLS0gRGlzcGxheSBhbiBpdGVtIGxpc3QgYnkgaGllcmFyY2h5PC9saT4NCiAgPGxpPmNhdGVnb3J5bGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIGl0ZW0gY2F0ZWdvcmllczwvbGk+DQogIDxsaT48ZW0+ZGVmYXVsdDwvZW0+IC0gRGlzcGxheSBhIHN1bW1hcnkgb2YgaXRlbXM8L2xpPg0KICA8bGk+ZGV0YWlscyAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBpdGVtPC9saT4NCiAgPGxpPmZpZWxkbGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIHZhbHVlcyBmcm9tIGEgc3BlY2lmaWVkIGZpZWxkLg0KICAgICA8cD4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGEgbmF2aWdhdGlvbiBmcm9tIHRoZSB2YWx1ZXMgb2YgYSBzcGVjaWZpYyBmaWVsZC4gIGkuZTogIHlvdSBjb3VsZCBjcmVhdGUgYSBjdXN0b20gZHJvcGRvd24gZmllbGQgY2FsbGVkICZxdW90O2NvbG9yJnF1b3Q7IGFuZCB0aGVuIGNyZWF0ZSBhIG5hdmlnYXRpb24gYmFzZWQgb24gdGhlIGRpZmZlcmVudCBjb2xvcnMuDQogICAgIDwvcD4NCiAgPC9saT4NCiAgPGxpPnNlYXJjaCAtIERpc3BsYXkgYSBmb3JtIHRvIGFsbG93IHNlYXJjaGluZyBpdGVtcyBvbiB2YXJpb3VzIGNyaXRlcml1bTwvbGk+DQo8bGk+YWpheF9wcm9wdmFsIC0gUmV0dXJuIGEganNvbiBlbmNvZGVkIGxpc3Qgb2YgcHJvcGVydHkgdmFsdWVzIG1hdGNoaW5nIHRoZSBjcml0ZXJpYSBzcGVjaWZpZWQuICBUaGlzIGFjdGlvbiBpcyBpbnRlbmRlZCB0byBiZSB1c2VkIHZpYSBhamF4LCBhbmQgc2hvdWxkIGJlIGNhbGxlZCB3aXRoIHRoZSBzaG93dGVtcGxhdGU9ZmFsc2UgcGFyYW1ldGVyIG9uIHRoZSBVUkwuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnV2hlbiB1c2VkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiBhbiBleGlzdGluZyBjYXRlZ29yeSB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSBvbmx5IHRob3NlIGl0ZW1zIHRoYXQgYXJlIGluIHRoYXQgY2F0ZWdvb3J5LiAoYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBjYW4gYmUgc3VwcGxpZWQpLiAgVGhpcyBwYXJhbWV0ZXIgY2FuIGFsc28gYmUgdXNlZCB3aXRoIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uIHRvIGxpbWl0IHRoZSBvdXRwdXQgdG8gdGhlIHNwZWNpZmllZCBpdGVtIGNhdGVnb3JpZXMuJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5ZmllbGQnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlICZxdW90O2NhdGVnb3J5bGlzdCZxdW90OyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGZpbHRlciBjYXRlZ29yaWVzIGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiBhIGNhdGVnb3J5IGZpZWxkLiAgSXQgd2lsbCBub3Qgd29yayBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtjYXRlZ29yeSZxdW90OyBvciAmcXVvdDtjYXRlZ29yeV9pZCZxdW90OyBwYXJhbWV0ZXJzLiAgIFRoZSBzeW50YXggb2YgdGhpcyBwYXJhbWV0ZXIgaXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBmaWVsZCBuYW1lcywgYW5kIGZpZWxkIHZhbHVlcy4gIGkuZTogIGNhdGVnb3J5bGlzdD0mcXVvdDtmaWVsZCBuYW1lOnZhbHVlLGZpZWxkIG5hbWUgMjp2YWx1ZSAyJnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFuZCBmaWVsZGxpc3QgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdGR0bHRlbXBsYXRlJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkgb2YgdGhlIGNhdGVnb3J5IGRldGFpbHMuICBUaGlzIHVzZXMgYSBjYXRlZ29yeSBsaXN0IHRlbXBsYXRlLi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdUaGlzIHNwZWNpZmllcyB0aGUgcGFnZWlkIG9yIGFsaWFzIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgZGV0YWlsIHJlcG9ydC4gIEl0IGNhbiBiZSB1c2VkIHdpdGggdGhlIDxlbT5kZWZhdWx0PC9lbT4gb3Igc2VhcmNoIGFjdGlvbnMuICBUaGlzIG9wdGlvbiBpcyBub3QgY29tcGF0aWJsZSB3aXRoIHByZXR0eSB1cmxzIG9mIGFueSBzb3J0Lic7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRldGFpbCBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4gIFRoaXMgcGFyYW1ldGVyIGhhcyBubyB1c2Ugd2hlbiBwcmV0dHkgdXJscyBhcmUgZW5hYmxlZC4nOwokbGFuZ1sncGFyYW1fZXhjbHVkZWNhdCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgdmlldywgdGhpcyBwYXJhbWV0ZXIgd2lsbCBhbGxvdyBleGNsdWRpbmcgaXRlbXMgdGhhdCBhcmUgaW4gYSBzcGVjaWZpYyBjYXRlZ29yeSBmcm9tIHRoZSByZXN1bHQuIEEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgY2F0ZWdvcnkgbmFtZXMgaXMgYWxsb3dlZC4gVGhpcyBwYXJhbWV0ZXIgY2FuIHdvcmsgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgY2F0ZWdvcnkgcGFyYW1ldGVyIHRvIHByb3ZpZGUgYSBsaXN0IG9mIHRoZSBpdGVtcyB0aGF0IGFyZSBpbiB0aGlzIGNhdGVnb3J5LCBidXQgbm90IGluIHRoYXQgY2F0ZWdvcnknOwokbGFuZ1sncGFyYW1fZmllbGQnXSA9ICdVc2VkIGluIHRoZSA8ZW0+ZmllbGRsaXN0PC9lbT4gYW5kIHRoZSA8ZW0+YWpheF9wcm9wdmFsPC9lbT4gYWN0aW9ucy4gSW4gdGhlIGZpZWxkbGlzdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgYSB1c2VyIGRlZmluZWQgcHJvcGVydHkgdG8gY3JlYXRlIGEgbGlzdCBmcm9tLiAgSW4gdGhlIGFqYXhfcHJvcHZhbCBhY3Rpb24gdGhpcyBwYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoaWNoIGZpZWxkIHRvIHVzZSB0byBleHRyYWN0IGEgbGlzdCBvZiB2YWx1ZXMuICBBbnkgdmFsaWQgZmllbGQgbmFtZXMgYXJlIGFjY2VwdGVkICh0aG91Z2ggb25seSB0ZXh0IGZpZWxkIGFuZCBkcm9wZG93biBmaWVsZCBuYW1lcyB3aWxsIHdvcmsgcHJvcGVybHkuICBBZGRpdGlvbmFsbHkgdGhlIHNwZWNpYWwgdmFsdWVzIDo6bmFtZTo6LCA6OnNrdTo6LCBhbmQgOjphbGlhczo6IGNhbiBiZSBzcGVjaWZpZWQgdG8gcmV0dXJuIHZhbHVlcyBmcm9tIHRoZSBpdGVtIG5hbWUsIHNrdSBhbmQgYWxpYXMgcmVzcGVjdGl2ZWx5Lic7CiRsYW5nWydwYXJhbV9maWVsZHZhbCddID0gJ1VzZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gYW5kIDxlbT5hamF4X3Byb3B2YWw8L2VtPiBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGZpZWxkIHZhbHVlIHRvIGxpbWl0IHJlc3VsdHMgYnkuICBJbiB0aGUgZGVmYXVsdCB2YWx1ZSB0aGVzZSBzcGVjaWFsIHZhbHVlcyBhcmUgYWNjZXB0ZWQ6ICZxdW90Ozo6bnVsbDo6JnF1b3Q7ICZxdW90Ozo6bm90bnVsbDo6JnF1b3Q7LiBJbiB0aGUgYWpheF9wcm9wdmFsIGFjdGlvbiB0aGlzIGZpZWxkIGlzIGV4cGVjdGVkIHRvIGNvbnRhaW4gb25seSBhIGZldyBsZXR0ZXJzLCB0byBpbmRpY2F0ZSBhIHNtYWxsIGZpbHRlci4gIGkuZTogZmllbGR2YWw9YiB0byByZXR1cm4gYWxsIGZpZWxkIHZhbHVlcyB0aGF0IGJlZ2luIHdpdGggdGhlIGxldHRlciBiLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdVc2VlZCBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhbmQgaGllcmFjaHkgYWN0aW9ucyB0aGlzIHBhcmFtZXRlciBoYXMgdHdvIHVzZXMuICBXaGVuIHVzZWQgaW4gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgb25seSBpdGVtcyBpbiB0aGF0IGxvY2F0aW9uIG9mIHRoZSBoaWVyYXJjaHkgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFdpbGRjYXJkIGNoYXJhY3RlciBjYW4gYmUgdXNlZCBzbyB0aGF0IHlvdSBjYW4gc3BlY2lmeSBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwcyBhcyB3ZWxsLiAgaS5lIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gd2lsbCBjcmVhdGUgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBpbmNsdWRpbmcgdGhlIGNoaWxkcmVuIGluIHRoZSBoaWVyYXJjaHkuICBTaW1pbGFybHksIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBpdGVtcyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuICBBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGV4cHJlc3Npb25zIGNhbiBiZSBzdXBwbGllZC4gIGkuZToge1Byb2R1Y3RzIGFjdGlvbj1oaWVyYXJjaHkgaGllcmFyY2h5PSYjMDM5O3RydWNrcyxjYXJzJiMwMzk7fSc7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGhpZXJhcmNoeSBkaXNwbGF5LiBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1faW5saW5lJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgdGhlIG91dHB1dCBvZiB0aGUgc3VtbWFyeSB2aWV3IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5saW5lJzsKJGxhbmdbJ3BhcmFtX25vdHByZXR0eSddID0gJ1RoaWUgcGFyYW1ldGVyIHNwZWNpZmllcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGFjdGlvbnMgdG8gd2hpY2ggcHJldHR5IHVybHMgc2hvdWxkIG5vdCBiZSBnZW5lcmF0ZWQuICBpLmU6IG5vdHByZXR0eT1oaWVyYXJjaHksZGVmYXVsdCB3aWxsIG5vdCBnZW5lcmF0ZSBwcmV0dHkgdXJscyB0byBoaWVyYXJjaHksIG9yIHN1bW1hcnkgKGRlZmF1bHQpIGFjdGlvbnMsIGJ1dCB3aWxsIGFsbG93IGdlbmVyYXRpb24gb2YgcHJldHR5IHVybHMgdG8gZGV0YWlsIHZpZXdzLiAgQXMgYSBzcGVjaWFsIHZhdWUgJnF1b3Q7YWxsJnF1b3Q7IGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhhdCBubyBwcmV0dHkgdXJscyBzaG91bGQgYmUgZ2VuZXJhdGVkJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIDxlbT5kZWZhdWx0PC9lbT4gb3Igc2VhcmNoIGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBob3cgbWFueSBpdGVtcyBzaG91bGQgYmUgbGlzdGVkIG9uIGVhY2ggcGFnZS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5oaWVyYXJjaHk8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaGllcmFyY2h5IGlkIG9mIHRoZSBzdGFydGluZyBsb2NhdGlvbiBvZiB0aGUgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9wYXJlbnRzJ10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5oaWVyYXJjaHk8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGhpZXJhcmNoeSBuYW1lcyB0aGF0IHNwZWNpZnkgdG8gY3JlYXRlIG51bWVyb3VzIGhlaXJhcmNoeSB0cmVlcyBmcm9tIHRoZSBzcGVjaWZpZWQgbG9jYXRpb24ocykuICBIaWVyYXJjaHkgbmFtZXMgbXVzdCBiZSB1bmlxdWUsIGFuZCBub3QgY29udGFpbiBhbnkgc3BlY2lhbCBjaGFycy4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGlkJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgZGV0YWlsIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHdoYXQgaXRlbSB0byB1c2UgZm9yIHRoZSBkaXNwbGF5Lic7CiRsYW5nWydwYXJhbV9wcm9kdWN0bGlzdCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBpbnRlZ2VyIHByb2R1Y3QgaWRzIHRvIGRpc3BsYXkuICBObyBwYWdpbmF0aW9uIG9yIHNvcnRpbmcgaXMgcGVyZm9ybWVkIG9uIHRoZXNlIHZhbHVlcywgYW5kIGlmIHNwZWNpZmllZCB0aGUgb3RoZXIgZmlsdGVyaW5nIHBhcmFtZXRlcnMgdG8gdGhlIHN1bW1hcnkgdmlldyBhcmUgaWdub3JlZC4nOwokbGFuZ1sncGFyYW1fcmVzdWx0cGFnZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoLCBhbmQgY2F0ZWdvcnkgbGlzdCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgYSBwYWdlIGlkIG9yIGFsaWFzIHRvIHVzZSB0byBkaXNwbGF5IHRoZSBzdW1tYXJ5IHJlc3VsdHMnOwokbGFuZ1sncGFyYW1fc2VhcmNoZmllbGQnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIG1heSBjb250YWluIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZmllbGQgbmFtZXMgdG8gaW5jbHVkZSBpbiB0aGUgc2VhcmNoJzsKJGxhbmdbJ3BhcmFtX3NlYXJjaGZvcm10ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpc3BhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCBmb3JtIHRlbXBsYXRlJzsKJGxhbmdbJ3BhcmFtX3Nob3dhbGwnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGNhdGVnb3J5bGlzdCBhbmQgZmllbGRsaXN0IGFjdGlvbnMsIGlmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIG5vbiAwIGludGVnZXIgdmFsdWUgYWxsIGNhdGVnb3JpZXMgKGV2ZW4gdGhvc2Ugd2l0aG91dCBpdGVtcykgd2lsbCBiZSBkaXNwbGF5ZWQuJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ1NwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSAoaW5jbHVkaW5nIGFmdGVyIGEgc2VhcmNoKSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnQXBwbGljYWJsZSBpbiB0aGUgc3VtbWFyeSwgY2F0ZWdvcnlsaXN0IG9yIHNlYXJjaCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5pdGVtX25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+aWQgLS0gVGhlIGl0ZW0gaWQ8L2xpPg0KICA8bGk+d2VpZ2h0IC0tIFRoZSBpdGVtIHdlaWdodDwvbGk+DQogIDxsaT5wcmljZSAtLSBUaGUgaXRlbSBiYXNlIHByaWNlPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPmY6ZmllbGRuYW1lIC0tIEFsbG93cyBzb3J0aW5nIGJ5IHZhbHVlcyBvZiBjdXN0b20gZmllbGRzLjwvbGk+DQo8L3VsPg0KPHA+VGhlIGNhdGVnb3J5IGxpc3QgdmlldyBzdXBwb3J0cyBvbmx5IGEgZmV3IHNwZWNpZmljIHNvcnRpbmcgb3B0aW9uczo8L3A+DQo8dWw+DQogIDxsaT5pZCAtLSBUaGUgY2F0ZWdvcnkgaWQuPC9saT4NCiAgPGxpPjxzdHJvbmc+bmFtZTwvc3Ryb25nPiAtLSBUaGUgY2F0ZWdvcnkgbmFtZS48L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydHR5cGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRlZmF1bHQgc3VtbWFyeSB2aWV3LCB0aGlzIHBhcmFtZXRlciBpcyB1c2VkIHRvIGNvbnZlcnQgdGhlIHZhbHVlcyB0byBhbm90aGVyIHR5cGUgZm9yIHNvcnRpbmcuICB2YWxpZCB2YWx1ZXMgYXJlIFNUUklORyxTSUdORUQgYW5kIFVOU0lHTkVELiAgSWYgbm90IHN1cHBsaWVkIHRoZSBkZWZhdWx0IFNUUklORyB0eXBlIGlzIGFzc3VtZWQuJzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnlwYWdlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBhY3Rpb249aGllcmFyY2h5LCBhbGxvd3Mgc3BlY2lmeWluZyBhIHBhZ2UgaWQgb3IgYWxpYXMgdGhhdCB3aWxsIGJlIHVzZWQgZm9yIGFueSBsaW5rcyB0byBzdW1tYXJ5IHZpZXcnOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgc3VtbWFyeSBtb2RlIGRpc3BsYXkuICBJdCBpcyBhbHNvIGFjY2VwdGVkIGluIHRoZSBzZWFyY2ggYWN0aW9uLiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ1BhcmVudCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1Byb2R1Y3RzIG1vZHV1bGkgb24gb25uaXN0dW5lZXN0aSBhc2VubmV0dHUnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1RoZSBQcm9kdWN0cyBtb2R1bGUgaGFzIGJlZW4gcmVtb3ZlZCBhbG9uZyB3aXRoIGFsbCBhc3NvY2lhdGVkIGRhdGEnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdBc2V0dWtzZXQnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnUmVtb3ZpbmcgdGhpcyBtb2R1bGUgd2lsbCBhbHNvIHJlbW92ZSBhbGwgYXNzb2NpYXRlZCBkYXRhLCBhcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcHJvY2VlZD8nOwokbGFuZ1sncHJpY2UnXSA9ICdIaW50YSc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnUHJpY2UgQWRqdXN0bWVudCc7CiRsYW5nWydwcmVmaXhfY29weW9mJ10gPSAnS29waW8nOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdUdW90ZSc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ1R1b3R0ZWVuIG5pbWknOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdUdW90ZWV0JzsKJGxhbmdbJ3Byb2R1Y3RfZGV0YWlsX3NldHRpbmdzJ10gPSAnVHVvdGVlbiBhc2V0dWtzZXQnOwokbGFuZ1sncHJvZHVjdF9lZGl0aW5nX3NldHRpbmdzJ10gPSAnVHVvdGVlbiBtdW9ra2F1c2FzZXR1a3NldCc7CiRsYW5nWydwcm9kdWN0X3N1bW1hcnlfc2V0dGluZ3MnXSA9ICdUdW90dGVlbiBrb29vc3RlYXNldHVrc2V0JzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnVHVvdGVoaWVyYXJraWEnOwokbGFuZ1sncHJvZHVjdF9pbmZvJ10gPSAnVHVvdGV0aWVkb3QnOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnUHJvZHVjdCBNYW5hZ2VyJzsKJGxhbmdbJ3Byb2dyZXNzJ10gPSAnUHJvZ3Jlc3MnOwokbGFuZ1sncHJvbXB0J10gPSAnUHJvbXB0JzsKJGxhbmdbJ3Byb21wdF9hZGRfYXR0cmlic2V0J10gPSAnQWRkL0VkaXQgQXR0cmlidXRlIFNldCc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdBbGxvdyB1cGxvYWQgb2YgZmlsZXMgd2l0aCB0aGVzZSBleHRlbnNpb25zIChmb3IgYWxsIHVwbG9hZCBmaWVsZHMpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdBbGxvdyBwcm9jZXNzaW5nIG9mIGltYWdlcyB3aXRoIHRoZXNlIGV4dGVuc2lvbnMgKGZvciBpbWFnZSB0eXBlIGZpZWxkcyknOwokbGFuZ1sncHJvbXB0X2F0dHJpYnRlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZm9yIGRpc3BsYXkgb2YgaXRlbSBhdHRyaWJ1dGUgdmFsdWVzIGluIGRyb3Bkb3duJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsJ10gPSAnQXV0b21hdGljYWxseSBjcmVhdGUgdGh1bWJuYWlscyBvZiBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWxfc2l6ZSddID0gJ01heGltdW0gc2l6ZSAobGFyZ2VzdCBkaW1lbnNpb24pIG9mIHRoZSB0aHVtYm5haWwuJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZyddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHByZXZpZXcgaW1hZ2VzIG9mIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXV0b3ByZXZpZXdpbWdfc2l6ZSddID0gJ01heGltdW0gc2l6ZSAobGFyZ2VzdCBkaW1lbnNpb24pIG9mIHRoZSBwcmV2aWV3IGltYWdlLic7CiRsYW5nWydwcm9tcHRfYXV0b3dhdGVybWFyayddID0gJ0F1dG9tYXRpY2FsbHkgcGxhY2Ugd2F0ZXJtYXJrcyBvbiBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdFbmFibGUgYnkgZGVmYXVsdCBmb3IgYWxsIG5ldyBpdGVtcyc7CiRsYW5nWydwcm9tcHRfYmF0Y2hzaXplJ10gPSAnRXImYXVtbDtuIGtva28nOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlJ10gPSAnQ2FydCBNb2R1bGUnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0NhcnQgTW9kdWxlIFBhcmFtZXRlcnMnOwokbGFuZ1sncHJvbXB0X2NsZWFyYXR0cmlicyddID0gJ0NsZWFyIGF0dHJpYnV0ZXMgb24gdXBkYXRlJzsKJGxhbmdbJ3Byb21wdF9jbGVhcmNhdGVnb3JpZXMnXSA9ICdDbGVhciBjYXRlZ29yaWVzIG9uIHVwZGF0ZSc7CiRsYW5nWydwcm9tcHRfY2xlYXJmaWVsZHMnXSA9ICdDbGVhciBmaWVsZHMgb24gdXBkYXRlJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVjYXRlZ29yaWVzJ10gPSAnQ3JlYXRlIENhdGVnb3JpZXMnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWZpZWxkcyddID0gJ0NyZWF0ZSBJdGVtIEZpZWxkcz8nOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWhpZXJhcmNoeSddID0gJ0NyZWF0ZSBJdGVtIEhpZXJhcmNoeSc7CiRsYW5nWydwcm9tcHRfY3N2ZmlsZSddID0gJ1R1byBDU1YgdGllZG9zdG8nOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ1ZhbHV1dHRha29vZGknOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5c3ltYm9sJ10gPSAnVmFsdXV0YW4gc3ltYm9saSc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICdCeSBkZWZhdWx0IGFsbCBuZXcgaXRlbXMgaGF2ZSB0aGlzIHN0YXR1cyc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnQnkgZGVmYXVsdCBhbGwgbmV3IGl0ZW1zIGFyZSB0YXhhYmxlJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnXSA9ICdEZWxldGUgYW55IGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgaXRlbSB3aGVuIHRoZSBpdGVtIGlzIGRlbGV0ZWQ/JzsKJGxhbmdbJ3Byb21wdF9kZWxpbWl0ZXInXSA9ICdGaWVsZCBEZWxpbWl0ZXInOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdEZWZhdWx0IERldGFpbCBQYWdlJzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxzZm9yJ10gPSAnRGV0YWlscyBmb3IgJXMnOwokbGFuZ1sncHJvbXB0X2R1cGxpY2F0ZXByb2R1Y3RzJ10gPSAnSG93IHRvIGhhbmRsZSBkdXBsaWNhdGUgaXRlbXM/JzsKJGxhbmdbJ3Byb21wdF9mYWxzZSddID0gJ0VwJmF1bWw7dG9zaSc7CiRsYW5nWydwcm9tcHRfaGFuZGxlaW1hZ2VzJ10gPSAnSGFuZGxlIGltYWdlcz8nOwokbGFuZ1sncHJvbXB0X2ltYWdlcGF0aCddID0gJ0t1dmFuIHRpZWRvc3RvcG9sa3UnOwokbGFuZ1sncHJvbXB0X2xlbmd0aHVuaXRzJ10gPSAnTGVuZ3RoIFVuaXRzJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9iZWhhdmlvciddID0gJ1doYXQgYWN0aW9uIHNob3VsZCBiZSB0YWtlbiB3aGVuIGFuIGl0ZW0gY2Fubm90IGJlIGRpc3BsYXllZD8nOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kXzQwNCddID0gJ0dlbmVyYXRlIGEgNDA0IGVycm9yJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF8zMDEnXSA9ICdHZW5lcmF0ZSBhIDMwMSByZWRpcmVjdCc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfZXJyb3Jtc2cnXSA9ICdEaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2UnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX21zZyddID0gJ0Vycm9yIG1lc3NhZ2UgZm9yIHdoZW4gYW4gaXRlbSBjYW5ub3QgYmUgZm91bmQnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX3BhZ2UnXSA9ICdQYWdlIHRvIGRvIHBlcm1hbmVudCByZWRpcmVjdCB0bz8nOwokbGFuZ1sncHJvbXB0X2hpZXJwYWdlJ10gPSAnRGVmYXVsdCBQYWdlIGZvciBIaWVyYXJjaHkgVmlldyc7CiRsYW5nWydwcm9tcHRfcHJldHR5aGllcnVybHMnXSA9ICdVc2UgUHJldHR5IFVSTFMgdG8gSGllcmFyY2h5IFZpZXdzJzsKJGxhbmdbJ3Byb21wdF9wcm9kX2RldGFpbHBhZ2UnXSA9ICdEZWZhdWx0IFBhZ2UgZm9yIEl0ZW0gRGV0YWlsIFZpZXdzJzsKJGxhbmdbJ3Byb21wdF9wcm9kdWN0c19tYXRjaGluZyddID0gJ0l0ZW1zIG1hdGNoaW5nICVzJzsKJGxhbmdbJ3Byb21wdF9za3VfcmVxdWlyZWQnXSA9ICdTS1UgaXMgcmVxdWlyZWQgZm9yIGFsbCBpdGVtcyBhbmQgYXR0cmlidXRlcyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeV9uZXdkZWZhdWx0J10gPSAnVXNlIG5ldyBzdW1tYXJ5IHZpZXcnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlwYWdlbGltaXQnXSA9ICdEZWZhdWx0IHBhZ2UgbGltaXQgaW4gc3VtbWFyeSBtb2RlJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAnRGVmYXVsdCBTb3J0IE9yZGVyIGluIHN1bW1hcnkgbW9kZSc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdEZWZhdWx0IFNvcnQgRmllbGQgaW4gc3VtbWFyeSBtb2RlJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIFNvdXJjZSc7CiRsYW5nWydwcm9tcHRfdHJ1ZSddID0gJ1Rvc2knOwokbGFuZ1sncHJvbXB0X3VybHByZWZpeCddID0gJ1ByZWZpeCB0byB1c2Ugb24gYWxsIFVSTFMgdGFyZ2V0ZWQgdG8gdGhpcyB0aGlzIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfdXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCddID0gJ1VzZSB0aGlzIHBhZ2UgZm9yIHNlYXJjaCByZXN1bHRzIHRvbyA8ZW0+KG92ZXJyaWRlcyB0aGUgc2VhcmNocmVzdWx0cyBwYWdlIHBhcmFtZXRlciBpbiB0aGUgc2VhcmNoIG1vZHVsZSk8L2VtPic7CiRsYW5nWydwcm9tcHRfdXNlaGllcnBhdGh1cmxzJ10gPSAnVXNlIEhpZXJhcmNoeSBQYXRoIGluIEl0ZW0gRGV0YWlsIFVSTFMnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnUGFpbm9uIG1pdHRheWtzaWtrJm91bWw7JzsKJGxhbmdbJ3B1YmxpYyddID0gJ0lzIHRoaXMgYSBwdWJsaWMgZmllbGQ/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ0p1bGthaXN0dSc7CiRsYW5nWydxdWFudGl0eV9vbl9oYW5kJ10gPSAnUXVhbnRpdHkgb24gSGFuZCc7CiRsYW5nWydyYW5kb20nXSA9ICdTYXR1bm5haW5lbic7CiRsYW5nWydyZW9yZGVyX2hpZXJhcmNoeSddID0gJ0omYXVtbDtyamVzdCZhdW1sOyBoaWVyYXJraWEnOwokbGFuZ1sncmVzZXQnXSA9ICdOb2xsYXRhJzsKJGxhbmdbJ3Jlc2V0dG9mYWN0b3J5J10gPSAnUGFsYXV0YSB0ZWhkYXNhc2V0dWtzZXQnOwokbGFuZ1sncmV0dXJuJ10gPSAnUGFsYWEnOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJ1BhbGFhIHAmYXVtbDsmYXVtbDtuJmF1bWw7a3ltJmF1bWw7JmF1bWw7bic7CiRsYW5nWydyb290J10gPSAnUm9vdCc7CiRsYW5nWydzZWFyY2hfZGVzY3JpcHRpb24nXSA9ICdTZWFyY2ggUHJvcGVydHkgRGVzY3JpcHRpb24nOwokbGFuZ1snc2VhcmNoX2V4cHInXSA9ICdTaG91bGQgdGhlIHF1ZXJ5IG1hdGNoIGFsbCwgb3IgYW55IG9mIHRoZSB0ZXN0cyBiZWxvdz8nOwokbGFuZ1snc2VhcmNoX25hbWUnXSA9ICdTZWFyY2ggUHJvcGVydHkgTmFtZSc7CiRsYW5nWydzZWFyY2hfcHJpY2UnXSA9ICdIaW50YXJhamEnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlcyddID0gJ1NlYXJjaCBUZW1wbGF0ZXMnOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ1ZhbGl0c2Uga2Fpa2tpJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdWYWxpdHNlIHlrc2knOwokbGFuZ1snc2V0ZHJhZnQnXSA9ICdBc2V0YSBsdW9ubm9rc2Vrc2knOwokbGFuZ1snc2V0cHVibGlzaGVkJ10gPSAnQXNldGEganVsa2lzZWtzaSc7CiRsYW5nWydza3UnXSA9ICdTS1UnOwokbGFuZ1snc29ydF9ieSddID0gJ0omYXVtbDtyamVzdCZhdW1sOyc7CiRsYW5nWydzb3J0X29yZGVyJ10gPSAnU29ydCBPcmRlcic7CiRsYW5nWydzb3VyY2UnXSA9ICdMJmF1bWw7aGRlJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1RpbGEnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ3N1YnNjcmlwdGlvbiddID0gJ1N1YnNjcmlwdGlvbic7CiRsYW5nWydzdWJzY3JfZXhwaXJ5J10gPSAnRXhwaXJ5JzsKJGxhbmdbJ3N1YnNjcl9leHBpcnkyJ10gPSAnRXhwaXJlcyc7CiRsYW5nWydzdWJzY3JfbW9udGhseSddID0gJ01vbnRobHknOwokbGFuZ1snc3Vic2NyX2RlbHBlcmlvZCddID0gJ0RlbGl2ZXJ5IEZyZXF1ZW5jeSc7CiRsYW5nWydzdWJzY3JfZGVscGVyaW9kMiddID0gJ0RlbGlldmVyZWQnOwokbGFuZ1snc3Vic2NyX3BheXBlcmlvZCddID0gJ1BheW1lbnQgRnJlcXVlbmN5JzsKJGxhbmdbJ3N1YnNjcl9wYXlwZXJpb2QyJ10gPSAnTWFrc2V0dHUnOwokbGFuZ1snc3Vic2NyX3F1YXJ0ZXJseSddID0gJ1F1YXJ0ZXJseSc7CiRsYW5nWydzdWJzY3Jfc2VtaWFudWFsbHknXSA9ICdTZW1pIEFudWFsbHknOwokbGFuZ1snc3Vic2NyX3llYXJseSddID0gJ1llYXJseSc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAnU3VtbWFyeSBUZW1wbGF0ZXMnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZGQvRWRpdCBBIFN1bW1hcnkgVGVtcGxhdGUnOwokbGFuZ1sndGF4YWJsZSddID0gJ1RheGFibGUnOwokbGFuZ1sndGVzdCddID0gJ1Rlc3QnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0IEFyZWEnOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHQgSW5wdXQnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdEZWZhdWx0IE5ldyBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VhcmNoX2RmbHR0ZW1wbGF0ZSddID0gJ0RlZmF1bHQgTmV3IFNlYXJjaCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ0RlZmF1bHQgTmV3IFN1bW1hcnkgVGVtcGxhdGUnOwokbGFuZ1sndHlwZSddID0gJ1R5cGUnOwokbGFuZ1sndXAnXSA9ICdNb3ZlIFVwJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1VwZGF0ZSc7CiRsYW5nWyd1cGxvYWQnXSA9ICdTZWxlY3QgYSBmaWxlIHRvIHVwbG9hZCc7CiRsYW5nWyd1cmxfYWxpYXMnXSA9ICdVUkwgQWxpYXMnOwokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZCc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbHVlJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1ZhbHVlcyc7CiRsYW5nWyd2aWV3J10gPSAnVmlldyc7CiRsYW5nWyd2aWV3YWJsZV9maWVsZHMnXSA9ICdTZWxlY3QgY3VzdG9tIGZpZWxkcyB0byB2aWV3IGluIHRoZSB0YWJsZSc7CiRsYW5nWyd3YXRlcm1hcmtfbG9jYXRpb24nXSA9ICdXYXRlcm1hcmsgTG9jYXRpb24nOwokbGFuZ1snd2VpZ2h0J10gPSAnV2VpZ2h0JzsKJGxhbmdbJ3dpdGhfc2VsZWN0ZWQnXSA9ICdXaXRoIFNlbGVjdGVkJzsKJGxhbmdbJ3llcyddID0gJ1llcyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjEwNjYwOTE4MzguMTM0OTI4NTQxNC4xMzQ5Mjg1NDE0LjEzNDkyODU0MTQuMSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM0OTI4NTQxNC4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FiYnJfbGVuZ3RoJ10gPSAnTGFyZy4nOwokbGFuZ1snYWJicl93aWR0aCddID0gJ0xvbmcuJzsKJGxhbmdbJ2FiYnJfaGVpZ2h0J10gPSAnSGF1dC4nOwokbGFuZ1snYWRkJ10gPSAnQWpvdXRlcic7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0Fqb3V0ZXIgdW5lIGNhdCZlYWN1dGU7Z29yaWUnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdBam91dGVyIHVuIGNoYW1wJzsKJGxhbmdbJ2FkanVzdGFibGUnXSA9ICdBanVzdGFibGUnOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ0Fqb3V0ZXIgdW4gcHJvZHVpdCc7CiRsYW5nWydhZGRfYXR0cmliX3NldCddID0gJ0Fqb3V0ZXIgdW4gYXR0cmlidXQnOwokbGFuZ1snYWRkX2NhdGVnb3J5X2ZpZWxkJ10gPSAnQXNzb2NpZSB1biBjaGFtcCAmYWdyYXZlOyBsYSBjYXQmZWFjdXRlO2dvcmllIDogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnQWpvdXRlIHVuZSBoaSZlYWN1dGU7cmFyY2hpZSBkJiMwMzk7YXJ0aWNsZSc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnQWpvdXRlciB1bmUgb3B0aW9uIGQmIzAzOTthdHRyaWJ1dCc7CiRsYW5nWydhZG1pbl9vbmx5J10gPSAnU2V1bHMgbGVzIGFkbWluaXN0cmF0ZXVycyBwZXV2ZW50IHZvaXIgY2V0IGF0dHJpYnV0ID8nOwokbGFuZ1snYWR2YW5jZWQnXSA9ICdBdmFuYyZlYWN1dGU7JzsKJGxhbmdbJ2FsaWduX3VsJ10gPSAnSGF1dCBnYXVjaGUnOwokbGFuZ1snYWxpZ25fdWMnXSA9ICdIYXV0IGNlbnRyZSc7CiRsYW5nWydhbGlnbl91ciddID0gJ0hhdXQgZHJvaXQnOwokbGFuZ1snYWxpZ25fbWwnXSA9ICdNaWxpZXUgZ2F1Y2hlJzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnQ2VudHJlJzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnTWlsaWV1IGRyb2l0JzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnQmFzIGdhdWNoZSc7CiRsYW5nWydhbGlnbl9sYyddID0gJ0JhcyBjZW50cmUnOwokbGFuZ1snYWxpZ25fbHInXSA9ICdCYXMgZHJvaXQnOwokbGFuZ1snYWxsJ10gPSAnVG91cyc7CiRsYW5nWydhbGxjYXRlZ29yaWVzJ10gPSAnVG91dGVzIGxlcyBjYXQmZWFjdXRlO2dvcmllcyc7CiRsYW5nWydhbnknXSA9ICdBdWN1bic7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnJkVjaXJjO3Rlcy12b3VzIHMmdWNpcmM7ciA/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlcHJvZHVjdCddID0gJyZFY2lyYzt0ZXMtdm91cyBzJnVjaXJjO3IgZGUgdm91bG9pciBzdXBwcmltZXIgY2UgcHJvZHVpdCwgZXQgdG91dGUgbCYjMDM5O2luZm9ybWF0aW9uIGwmIzAzOTthY2NvbXBhZ25hbnQgPyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBc2NlbmRhbnQnOwokbGFuZ1snYXR0cmlidXRlX25hbWUnXSA9ICdOb20gZGUgbCYjMDM5O2F0dHJpYnV0JzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYXRpcXVlJzsKJGxhbmdbJ2J0bl9zZXRlY29taGFuZGxlcnMnXSA9ICdJbnN0YWxsZXIgbGVzIGdlc3Rpb25uYWlyZXMgZCYjMDM5OyZlYWN1dGU7diZlZ3JhdmU7bmVtZW50cyBFLWNvbW1lcmNlJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgZGUgaGkmZWFjdXRlO3JhcmNoaWUnOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWpvdXRlci9FZGl0ZXIgdW4gZ2FiYXJpdCBkZSBoaSZlYWN1dGU7cmFyY2hpZSc7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGVyJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXQmZWFjdXRlO2dvcmllcyc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0NhdCZlYWN1dGU7Z29yaWUnOwokbGFuZ1snY2F0ZWdvcnlleGlzdHMnXSA9ICdVbmUgY2F0JmVhY3V0ZTtnb3JpZSBkdSBtJmVjaXJjO21lIG5vbSBleGlzdGUgZCZlYWN1dGU7aiZhZ3JhdmU7JzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIGxhIGxpc3RlIGRlcyBjYXQmZWFjdXRlO2dvcmllcyc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWpvdXQgb3UgJmVhY3V0ZTtkaXRpb24gZCYjMDM5O3VuIGdhYmFyaXQgZGUgbGlzdGUgZGUgY2F0JmVhY3V0ZTtnb3JpZXMnOwokbGFuZ1snY2VudGltZXRlcnMnXSA9ICdDZW50aW0mZWdyYXZlO3RyZXMnOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDYXNlICZhZ3JhdmU7IGNvY2hlcic7CiRsYW5nWydjb25maXJtX2NvcHlhdHRyaWJ1dGVzJ10gPSAnVG91cyBsZXMgamV1eCBkJiMwMzk7YXR0cmlidXRzIGRlIGNlIHByb2R1aXQgdm9udCAmZWNpcmM7dHJlIHN1cHByaW0mZWFjdXRlO3MuICZFY2lyYzt0ZXMtdm91cyBzJnVjaXJjO3IgPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9oaWVyYXJjaHlfbm9kZSddID0gJ0NvbmZpcm1lei12b3VzIGxhIHN1cHByZXNzaW9uIGRlIGNldCAmZWFjdXRlO2wmZWFjdXRlO21lbnQgPyBUb3VzIGxlcyBwcm9kdWl0cyBxdWkgbCYjMDM5O3V0aWxpc2VudCBuZSBmaWd1cmVyb250IHBsdXMgZGFucyBsYSBoaSZlYWN1dGU7cmFyY2hpZS4nOwokbGFuZ1snY29uZmlybV9pbXBvcnQnXSA9ICdWb3VsZXotdm91cyByJmVhY3V0ZTtlbGxlbWVudCBlZmZlY3R1ZXIgY2V0dGUgYWN0aW9uID9cblxuRGVzIHBhcmFtJmVncmF2ZTt0cmVzIGluY29ycmVjdHMgb3UgdW4gZmljaGllciBkZSBjb25maWd1cmF0aW9uIGludmFsaWRlIHBldXZlbnQgY29ycm9tcHJlIGxlIGNhdGFsb2d1ZSBkZSBwcm9kdWl0cyBldCBsZSByZW5kcmUgaW51dGlsaXNhYmxlLic7CiRsYW5nWydjb3B5J10gPSAnQ29waWVyJzsKJGxhbmdbJ2NvcHlfYXR0cmliX3NldHMnXSA9ICdDb3BpZXIgbGVzIGpldXggZCYjMDM5O2F0dHJpYnV0cyc7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnQ29waWVyIGxhIGNhdCZlYWN1dGU7Z29yaWUnOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdEYXRlIGRlIGNyJmVhY3V0ZTthdGlvbic7CiRsYW5nWydjdXJyZW50X3ZhbHVlJ10gPSAnVmFsZXVyIGFjdHVlbGxlJzsKJGxhbmdbJ2RhdGEnXSA9ICdEb25uJmVhY3V0ZTtlcyc7CiRsYW5nWydkZWZhdWx0J10gPSAnRCZlYWN1dGU7ZmF1dCc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAnR2FiYXJpdHMgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk5vdGU6PC9zdHJvbmc+TGUgY29udGVudSBkZSBjZXMgem9uZXMgZCYjMDM5OyZlYWN1dGU7ZGl0aW9uIHNvbnQgdXRpbGlzJmVhY3V0ZTtzIHBvdXIgZCZlYWN1dGU7dGVybWluZXIgbGUgY29udGVudSBwYXIgZCZlYWN1dGU7ZmF1dCBkZXMgZ2FiYXJpdHMgcXVhbmQgdm91cyBjbGlxdWV6IHN1ciAmcXVvdDtBam91dCBkJiMwMzk7dW4gbm91dmVhdSBnYWJhcml0JnF1b3Q7IGRhbnMgbCYjMDM5O29uZ2xldCBjb3JyZXNwb25kYW50LiBMYSBtb2RpZmljYXRpb24gZHUgY29udGVudSBkYW5zIGNlcyB6b25lcyBkJiMwMzk7JmVhY3V0ZTtkaXRpb24gbiYjMDM5O2F1cmEgcGFzIGQmIzAzOTtlZmZldCBpbW0mZWFjdXRlO2RpYXQgc3VyIHZvdHJlIHNpdGUnOwokbGFuZ1snZGVsZXRlJ10gPSAnU3VwcHJpbWVyJzsKJGxhbmdbJ2RlbGV0ZV9hdHRyaWJzZXQnXSA9ICdTdXBwcmltZXIgbCYjMDM5O2F0dHJpYnV0JzsKJGxhbmdbJ2RlbGV0ZV9oaWVyYXJjaHlfaXRlbSddID0gJ1N1cHByaW1lciB1biAmZWFjdXRlO2wmZWFjdXRlO21lbnQgZGUgaGkmZWFjdXRlO3JhcmNoaWUnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0Rlc2NlbmRhbnQnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbiAnOwokbGFuZ1snZGVzdGluYXRpb24nXSA9ICdEZXN0aW5hdGlvbiAnOwokbGFuZ1snZGV0YWlscyddID0gJ0QmZWFjdXRlO3RhaWxzJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGQmZWFjdXRlO3RhaWxzJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBam91dCBvdSAmZWFjdXRlO2RpdGlvbiBkJiMwMzk7dW4gZ2FiYXJpdCBkJmVhY3V0ZTt0YWlscyc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnRGltZW5zaW9ucyAnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdEJmVhY3V0ZTtzYWN0aXYmZWFjdXRlOyc7CiRsYW5nWydkb3duJ10gPSAnRGVzY2VuZHJlJzsKJGxhbmdbJ2RyYWZ0J10gPSAnJkVhY3V0ZTtiYXVjaGUnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdNZW51IGQmZWFjdXRlO3JvdWxhbnQnOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ09wdGlvbnMgZHUgbWVudSBkJmVhY3V0ZTtyb3VsYW50IDxlbT4odW5pcXVlbWVudCBwb3VyIGxlcyBjaGFtcHMgZGUgdHlwZSBNZW51IGQmZWFjdXRlO3JvdWxhbnQpPC9lbT48YnIvPjxici8+PGVtPih1bmUgb3B0aW9uIGRlIG1lbnUgcGFyIGxpZ25lKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0ZXInOwokbGFuZ1snZWRpdF9hdHRyaWJzZXQnXSA9ICdFZGl0ZXIgbGVzIEF0dHJpYnV0cyc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICcmRWFjdXRlO2RpdGVyIGxlcyBqZXV4IGQmIzAzOTthdHRyaWJ1dHMnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJyZFYWN1dGU7ZGl0ZXIgbGVzIGpldXggZCYjMDM5O2F0dHJpYnV0cyBwb3VyJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJyZFYWN1dGU7ZGl0ZXIgbGVzIGF0dHJpYnV0cyc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnRWRpdGVyIGxhIGNhdCZlYWN1dGU7Z29yaWUnOwokbGFuZ1snZWRpdF9jYXRlZ29yeV9maWVsZHMnXSA9ICdFZGl0ZXIgbGVzIGNoYW1wcyBkZSBsYSBjYXQmZWFjdXRlO2dvcmllJzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdFZGl0ZXIgbCYjMDM5OyZlYWN1dGU7bCZlYWN1dGU7bWVudCBkZSBoaSZlYWN1dGU7cmFyY2hpZSc7CiRsYW5nWydlcnJvcl9hdHRyaWJzZXRfZXhpc3RzJ10gPSAnSWwgeSBhIGQmZWFjdXRlO2omYWdyYXZlOyB1biBhdHRyaWJ1dCBkdSBtJmVjaXJjO21lIG5vbSc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVfc2t1J10gPSAnUGx1c2lldXJzIHZhbGV1cnMgU0tVIGlkZW50aXF1ZXMgdHJvdXYmZWFjdXRlO2VzJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdVbmUgdmFsZXVyIGRvaXQgJmVjaXJjO3RyZSBpbmRpcXUmZWFjdXRlO2UnOwokbGFuZ1snZXJyb3JfZmlsZWZvcm1hdCddID0gJ1Byb2JsJmVncmF2ZTttZSBkZSBmb3JtYXQgZGUgZmljaGllcic7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdGaWNoaWVyIGludHJvdXZhYmxlJzsKJGxhbmdbJ2Vycm9yX2ZpbGVvcGVuJ10gPSAnRXJyZXVyICZhZ3JhdmU7IGwmIzAzOTtvdXZlcnR1cmUgZHUgZmljaGllciAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnUGFyZW50IGludmFsaWRlICh1biBlbGVtZW50IGRlIGhpJmVhY3V0ZTtyYXJjaGllIG5lIHBldXQgJmVjaXJjO3RyZSBzb24gcHJvcHJlIHBhcmVudCknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9uYW1lJ10gPSAnTGEgdmFsZXVyIGR1IGNoYW1wIHBlcnNvbm5hbGlzJmVhY3V0ZTsgZXN0IGludmFsaWRlIChzZXVscyBsZXMgY2FyYWN0JmVncmF2ZTtyZXMgYWxwaGFudW0mZWFjdXRlO3JpcXVlcyBzb250IGF1dG9yaXMmZWFjdXRlO3MpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdmFsdWUnXSA9ICdWYWxldXIgaW5jb3JyZWN0ZSBlbnRyJmVhY3V0ZTtlJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1VuIHBhcmFtJmVncmF2ZTt0cmUgcmVxdWlzIGVzdCBtYW5xdWFudCBvdSBpbnZhbGlkZSc7CiRsYW5nWydlcnJvcl9uYW1ldXNlZCddID0gJ1VuICZlYWN1dGU7bCZlYWN1dGU7bWVudCBwb3J0YW50IGNlIG5vbSBleGlzdGUgZCZlYWN1dGU7aiZhZ3JhdmU7JzsKJGxhbmdbJ2Vycm9yX25vZmllbGR0eXBlJ10gPSAnQ2hvaXNpc3NlciBsZSB0eXBlIGR1IGNoYW1wJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ1VuIG5vbSBkb2l0ICZlY2lyYzt0cmUgaW5kaXF1JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3Jfb25lcXVhbnRpdHlmaWVsZCddID0gJ1NldWwgdW4gY2hhbXAgZGUgcXVhbnRpdCZlYWN1dGU7IGVzdCBhdXRvcmlzJmVhY3V0ZTsnOwokbGFuZ1snZXJyb3Jfb25lc3Vic2NyaXB0aW9uZmllbGQnXSA9ICdVbiBzZXVsIGNoYW1wcyBkZSBzb3VzY3JpcHRpb24gZXN0IGF1dG9yaXMmZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnUGVybWlzc2lvbiByZWZ1cyZlYWN1dGU7ZSc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X2FsaWFzdXNlZCddID0gJ0wmIzAzOTthbGlhcyBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7IGVzdCBkJmVhY3V0ZTtqJmFncmF2ZTsgdXRpbGlzJmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9uYW1ldXNlZCddID0gJ1VuIHByb2R1aXQgcG9ydGFudCBjZSBub20gZXhpc3RlIGQmZWFjdXRlO2omYWdyYXZlOyc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25vdGZvdW5kJ10gPSAnTGUgcHJvZHVpdCBkJmVhY3V0ZTtzaXImZWFjdXRlOyBuJiMwMzk7YSBwYXMgcHUgJmVjaXJjO3RyZSByZXRyb3V2JmVhY3V0ZTsnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9za3V1c2VkJ10gPSAnQ2V0dGUgdmFsZXVyIFNLVSBlc3QgZCZlYWN1dGU7aiZhZ3JhdmU7IHV0aWxpcyZlYWN1dGU7ZSBwYXIgdW4gYXV0cmUgcHJvZHVpdCc7CiRsYW5nWydlcnJvcl9wcmljZV9hZGp1c3RtZW50J10gPSAnTGEgdmFsZXVyIGQmIzAzOTthanVzdGVtZW50IGR1IHByaXggZXN0IGludmFsaWRlIHBvdXIgbCYjMDM5O29iamV0ICVzJzsKJGxhbmdbJ2Vycm9yX3NrdV9yZXF1aXJlZCddID0gJ01lcmNpIGQmIzAzOTtlbnRyZXIgdW4gU0tVIHVuaXF1ZSc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnTCYjMDM5O2Vudm9pIGR1IGZpY2hpZXIgYSAmZWFjdXRlO2Nob3UmZWFjdXRlOyA6ICVzJzsKJGxhbmdbJ2V4Y2x1ZGVfY2F0ZWdvcmllcyddID0gJ0V4Y2x1cmUgbGVzIHByb2R1aXRzIGRlcyBjYXQmZWFjdXRlO2dvcmllcyBzJmVhY3V0ZTtsZWN0aW9ubiZlYWN1dGU7ZXMgZGVzIHImZWFjdXRlO3N1bHRhdHMnOwokbGFuZ1snZXhwaXJlX3NpeF9tb250aHMnXSA9ICdBcHImZWdyYXZlO3Mgc2l4IG1vaXMnOwokbGFuZ1snZXhwaXJlX29uZV95ZWFyJ10gPSAnQXByJmVncmF2ZTtzIHVuIGFuJzsKJGxhbmdbJ2V4cGlyZV90d29feWVhciddID0gJ0FwciZlZ3JhdmU7cyBkZXV4IGFucyc7CiRsYW5nWydleHRyYTEnXSA9ICdDaGFtcCBzdXBwbCZlYWN1dGU7bWVudGFpcmUgMSc7CiRsYW5nWydleHRyYTInXSA9ICdDaGFtcCBzdXBwbCZlYWN1dGU7bWVudGFpcmUgMic7CiRsYW5nWydmaWVsZCddID0gJ0NoYW1wJzsKJGxhbmdbJ2ZpZWxkcyddID0gJ0NoYW1wcyc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0QmZWFjdXRlO2Zpbml0aW9uIGQmIzAzOTt1biBjaGFtcCc7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdEJmVhY3V0ZTtmaW5pdGlvbnMgZGVzIGNoYW1wcyc7CiRsYW5nWydmaWxlJ10gPSAnRmljaGllcic7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdHJlcyc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICcmYW1wO2x0OyZhbXA7bHQ7JzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdQYXJhbSZlZ3JhdmU7dHJlcyBnJmVhY3V0ZTtuJmVhY3V0ZTtyYXV4JzsKJGxhbmdbJ2dvJ10gPSAnRW52b3llcic7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJjaGllJzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ1Bvc2l0aW9uIGRhbnMgbGEgaGkmZWFjdXRlO3JhcmNoaWUnOwokbGFuZ1snaGllcmFyY2h5X3NldHRpbmdzJ10gPSAnUGFyYW0mZWdyYXZlO3RyZXMgZGUgaGkmZWFjdXRlO3JhcmNoaWUnOwokbGFuZ1snaWQnXSA9ICdJZCAnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnSW1hZ2UgJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX3NldHRpbmdzJ10gPSAnUGFyYW0mZWdyYXZlO3RyZXMgZGUgbWFuaXB1bGF0aW9uIGRlcyBpbWFnZXMnOwokbGFuZ1snaW1wb3J0X2Zyb21fY3N2J10gPSAnSW1wb3J0ZXIgbGVzIHByb2R1aXRzIGRlcHVpcyB1biBmaWNoaWVyIENTVic7CiRsYW5nWydpbmNoZXMnXSA9ICdQb3VjZXMnOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ0F2ZWMgbGVzIGRlc2NlbmRhbnRzID8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICdDYXJhY3QmZWdyYXZlO3JlcyBhbHBoYW51bSZlYWN1dGU7cmlxdWVzIHVuaXF1ZW1lbnQuIFBhcyBkJiMwMzk7ZXNwYWNlcywgZGUgZ3VpbGxlbWV0cyBvdSBkZSBjb21iaW5haXNvbnMgYXV0cmVzIHF1ZSBsZXR0cmVzIGV0IGNoaWZmcmVzLic7CiRsYW5nWydpbmZvX2F0dHJpYnRlbXBsYXRlJ10gPSAnTGVzIHZhcmlhYmxlcyBwb3NzaWJsZXMgc29udCA6IHskYXR0cmliX3RleHR9LHskYXR0cmliX2FkanVzdH0seyRjdXJyZW5jeV9zeW1ib2x9JzsKJGxhbmdbJ2luZm9fYXR0cmlidXRlc19jb3BpZWQnXSA9ICdBdHRyaWJ1dHMgY29waSZlYWN1dGU7cyc7CiRsYW5nWydpbmZvX2F1dG93YXRlcm1hcmsnXSA9ICdMYSBjb25maWd1cmF0aW9uIGRlcyBmaWxpZ3JhbmVzIGVzdCBjZWxsZSBkdSBtb2R1bGUgQ0dFeHRlbnNpb25zJzsKJGxhbmdbJ2luZm9fYmF0Y2hzaXplJ10gPSAnSW5kaXF1ZXogbGUgbm9tYnJlIGRlIGxpZ25lcyAmYWdyYXZlOyB0cmFpdGVyICZhZ3JhdmU7IGNoYXF1ZSBpdCZlYWN1dGU7cmF0aW9uLiBEJmVncmF2ZTtzIHF1JiMwMzk7dW5lIGl0JmVhY3V0ZTtyYXRpb24gZXN0IHRlcm1pbiZlYWN1dGU7ZSwgbGUgc3lzdCZlZ3JhdmU7bWUgZCYjMDM5O2ltcG9ydGF0aW9uIGQmZWFjdXRlO21hcnJlIGxhIHN1aXZhbnRlLiBTaSBkZXMgcHJvYmwmZWdyYXZlO21lcyBkZSBtJmVhY3V0ZTttb2lyZSBvdSBkZSB0ZW1wcyBkJiMwMzk7ZXgmZWFjdXRlO2N1dGlvbiBzZSBwcm9kdWlzZW50LCByJmVhY3V0ZTtkdWlzZXogY2V0dGUgdmFsZXVyLCBvdSBjb25zdWx0ZXogbGUgZm91cm5pc3NldXIgZGUgdm90cmUgaCZlYWN1dGU7YmVyZ2VtZW50Lic7CiRsYW5nWydpbmZvX2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0NlcyBwYXJhbSZlZ3JhdmU7dHJlcyBzb250IHBhc3MmZWFjdXRlO3MgYXUgbW9kdWxlIHBhbmllciBzJmVhY3V0ZTtsZWN0aW9ubiZlYWN1dGU7LCAmYWdyYXZlOyBwYXJ0aXIgZGUgbGEgZGVzY3JpcHRpb24gZXQgZHUgciZlYWN1dGU7c3VtJmVhY3V0ZTsgZHUgcHJvZHVpdC4nOwokbGFuZ1snaW5mb19jb3B5X2F0dHJpYnNldHMnXSA9ICdDZXR0ZSBhY3Rpb24gY29waWUgbGVzIGpldXggZCYjMDM5O2F0dHJpYnV0cyAoaG9ycyB2YWxldXJzIFNLVSkgZGVwdWlzIHVuIGF1dHJlIHByb2R1aXQuJzsKJGxhbmdbJ2luZm9fY3JlYXRlZmllbGRzJ10gPSAnQ3ImZWFjdXRlO2VyIGF1dG9tYXRpcXVlbWVudCBsZXMgY2hhbXBzIGluY29ubnVzID8gPGVtPihjciZlYWN1dGU7YXRpb24gZGUgY2hhbXBzIGRlIHR5cGUgdGV4dGUpPC9lbT4nOwokbGFuZ1snaW5mb19jcmVhdGVjYXRlZ29yaWVzJ10gPSAnQ3ImZWFjdXRlO2VyIGF1dG9tYXRpcXVlbWVudCBsZXMgY2F0JmVhY3V0ZTtnb3JpZXMgZGUgcHJvZHVpdHMgcHImZWFjdXRlO3NlbnRlcyBkYW5zIGxlIGZpY2hpZXIgQ1NWLCBzaSBlbGxlcyBuJiMwMzk7ZXhpc3RlbnQgcGFzIGQmZWFjdXRlO2omYWdyYXZlOyc7CiRsYW5nWydpbmZvX2NyZWF0ZWhpZXJhcmNoeSddID0gJ0NyJmVhY3V0ZTtlciBhdXRvbWF0aXF1ZW1lbnQgbGVzICZlYWN1dGU7bCZlYWN1dGU7bWVudHMgZGUgaGkmZWFjdXRlO3JhcmNoaWUgZGUgcHJvZHVpdHMgcHImZWFjdXRlO3NlbnRlcyBkYW5zIGxlIGZpY2hpZXIgQ1NWLCBzaSBpbHMgbiYjMDM5O2V4aXN0ZW50IHBhcyBkJmVhY3V0ZTtqJmFncmF2ZTsnOwokbGFuZ1snaW5mb19kZWNpbWFsX3VuaXRzJ10gPSAnVXRpbGlzZXIgbGUgcG9pbnQgKC4pIGNvbW1lIHMmZWFjdXRlO3BhcmF0ZXVyIGQmZWFjdXRlO2NpbWFsLiBFeGVtcGxlOiAgPHN0cm9uZz41LjI1PC9zdHJvbmc+JzsKJGxhbmdbJ2luZm9fZGVsaW1pdGVyJ10gPSAnSW5kaXF1ZXIgbGUgY2F0YWN0JmVncmF2ZTtyZSAob3UgbGVzIGNhcmFjdCZlZ3JhdmU7cmVzKSBzJmVhY3V0ZTtwYXJhdGV1cnMgZGUgY2hhbXBzJzsKJGxhbmdbJ2luZm9fZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdUcmFpdGVtZW50IGEgYXBwbGlxdWVyIGF1eCBwcm9kdWl0cyBkb250IGxlIG5vbSBleGlzdGUgZCZlYWN1dGU7aiZhZ3JhdmU7IGRhbnMgbGUgZmljaGllciBDU1YnOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz5Ob3RlOiA8L3N0cm9uZz4gTGVzIGNoYW1wcyBkJmVhY3V0ZTtmaW5pcyBpY2kgc29udCBjb21tdW5zICZhZ3JhdmU7IHRvdXMgbGVzIHByb2R1aXRzJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ1VuZSBlcnJldXIgZXN0IHN1cnZlbnVlIGxvcnMgZHUgdHJhaXRlbWVudCBkJiMwMzk7dW4gb3UgcGx1c2lldXJzIGNoYW1wcyBwZXJzb25uYWxpcyZlYWN1dGU7cy4gTCYjMDM5O2FjdGlvbiBzJiMwMzk7ZXN0IHRlcm1pbiZlYWN1dGU7ZSBjb3JyZWN0ZW1lbnQsIG1haXMgdm91cyBkZXZyaWV6IGNoZXJjaGVyIGxhIGNhdXNlIGRlIGwmIzAzOTtlcnJldXIuJzsKJGxhbmdbJ2luZm9faGFuZGxlaW1hZ2VzJ10gPSAnTG9ycyBkZSBsJiMwMzk7aW1wb3J0YXRpb24sIHNpIHVuIG5vbSBkZSBmaWNoaWVyIGltYWdlIGVzdCB0cm91diZlYWN1dGU7IGRhbnMgdW5lIGNvbG9ubmUsIGZhdXQtaWwgbGUgZCZlYWN1dGU7cGxhY2VyIGRlIHNvbiByJmVhY3V0ZTtwZXJ0b2lyZSBkJiMwMzk7b3JpZ2luZSwgbHVpIGFqb3V0ZXIgdW4gZmlsaWdyYW5lLCBjciZlYWN1dGU7ZXIgdW5lIG1pbmlhdHVyZSwgZXQgY2hhbmdlciBsZSB0eXBlIGR1IGNoYW1wIGFzc29jaSZlYWN1dGU7IGVuIGNoYW1wICZxdW90O2ltYWdlJnF1b3Q7ID8nOwokbGFuZ1snaW5mb19oaWVycGFnZSddID0gJ1BhciBkJmVhY3V0ZTtmYXV0LCB1dGlsaXNlciBjZXR0ZSBwYWdlIHBvdXIgbGEgdnVlIGRlIGhpZXJhcmNoaWUuIEwmIzAzOTtJRCBkZSBsYSBwYWdlIG5lIHNlcmEgcGFzIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTsgZGFucyBsJiMwMzk7VVJMLic7CiRsYW5nWydpbmZvX2ltYWdlcGF0aCddID0gJ0NoZW1pbiAocmVsYXRpZiBhdSByJmVhY3V0ZTtwZXJ0b2lyZSB1cGxvYWRzKSBkZXMgaW1hZ2VzIHImZWFjdXRlO2YmZWFjdXRlO3JlbmMmZWFjdXRlO2VzIHBhciBsZSBmaWNoaWVyIGltcG9ydCZlYWN1dGU7ICc7CiRsYW5nWydpbmZvX2ltYWdlc3R1ZmZfZGVwcmVjYXRlZCddID0gJ0xlcyBmb25jdGlvbnMgZGUgdHJhaXRlbWVudCBkJiMwMzk7aW1hZ2VzIHNvbnQgZCZlYWN1dGU7cHImZWFjdXRlO2NpJmVhY3V0ZTtlcyBldCB2b250ICZlY2lyYzt0cmUgc3VwcHJpbSZlYWN1dGU7ZXMgZGFucyB1bmUgZnV0dXJlIHZlcnNpb24uIFV0aWxpc2V6IGxlIG1vZHVsZSBDR1NtYXJ0SW1hZ2UgcG91ciBsZSB0cmFpdGVtZW50IGQmIzAzOTtpbWFnZXMuJzsKJGxhbmdbJ2luZm9faW1wb3J0X3Rlc3RfcGFzc2VkJ10gPSAnQXByJmVncmF2ZTtzIHVuIGV4YW1lbiBwciZlYWN1dGU7bGltaW5haXJlLCBsZSBmaWNoaWVyIHNlbWJsZSBjb3JyZWN0Ljxici8+Q2VwZW5kYW50LCBpbCBzZSBwZXV0IHF1JiMwMzk7aWwgY29udGllbm5lIHRvdXQgZGUgbSZlY2lyYzttZSBkZXMgZXJyZXVycyBxdWkgbmUgcG91cnJvbnQgJmVjaXJjO3RyZSBkJmVhY3V0ZTt0ZWN0JmVhY3V0ZTtlcyBxdWUgbG9ycyBkZSBsJiMwMzk7aW1wb3J0YXRpb24uJzsKJGxhbmdbJ2luZm9fcHJldHR5aGllcnVybHMnXSA9ICdJbmNsdXJlIGxlIG5vbSBkZSBsYSBoaSZlYWN1dGU7cmFyY2hpZSBkYW5zIGwmIzAzOTtVUkwnOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnTGVzIHZhbGV1cnMgdmFsaWRlcyBzb250ICstKiMuIyMnOwokbGFuZ1snaW5mb19wcm9kbm90Zm91bmQnXSA9ICdDZXR0ZSBvcHRpb24gcGFyYW0mZWdyYXZlO3RyZSBsZSBjb21wb3J0ZW1lbnQgZHUgc2l0ZSBsb3JzcXUmIzAzOTt1bmUgZmljaGUgcHJvZHVpdCBlc3QgYWZmaWNoJmVhY3V0ZTtlIGRpcmVjdGVtZW50ICZhZ3JhdmU7IGxhIHNhaXNpZSBkJiMwMzk7dW5lIFVSTCwgZXQgcXVlIGNlIHByb2R1aXQgbmUgcGV1dCAmZWNpcmM7dHJlIGFmZmljaCZlYWN1dGU7IChwb3VyIHRvdXRlcyByYWlzb25zIDogZCZlYWN1dGU7c2FjdGl2JmVhY3V0ZTssIHN1cHByaW0mZWFjdXRlOywgZXRjLikuJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdMZXMgY2hhbXBzIHB1YmxpY3Mgc29udCB2aXNpYmxlcyBwYXIgbGVzIHV0aWxpc2F0ZXVycy4nOwokbGFuZ1snaW5mb19yZW9yZGVyX2NvbnRlbnQnXSA9ICdUaGlzIG9wZXJhdGlvbiBhbGxvd3MgZHJhZ2dpbmcgdGhlIGluZGl2aWR1YWwgbm9kZXMgaW4gdGhlIHRyZWUgdG8gYWRqdXN0dGggb3JkZXIgdGhhdCB0aGV5IHdpbGwgYmUgZGlzcGxheWVkIGluIGluIHRoZSBoaWVyYXJjaHkgdmlldyc7CiRsYW5nWydpbmZvX3NldGVjb21oYW5kbGVycyddID0gJ0NldHRlIGZvbmN0aW9uIHZhIHMmIzAzOTthc3N1cmVyIHF1ZSB0b3VzIGxlcyBnZXN0aW9ubmFpcmVzIGQmIzAzOTsmZWFjdXRlO3YmZWdyYXZlO25lbWVudHMgRS1jb21tZXJjZSBzb250IGluc3RhbGwmZWFjdXRlO3MuIENlY2kgZXN0IHV0aWxlIGxvcnNxdWUgdm91cyBzb3VoYWl0ZXogZyZlYWN1dGU7cmVyIGxlcyBzdG9ja3MgLyBxdWFudGl0JmVhY3V0ZTtzIGV0IHF1ZSBsZXMgZ2VzdGlvbm5haXJlcyBuJiMwMzk7b250IHBhcyAmZWFjdXRlO3QmZWFjdXRlO3MgbWlzIGVuIHBsYWNlIGxvcnMgZGUgbCYjMDM5O2luc3RhbGxhdGlvbiBvdSBsYSBtaXNlICZhZ3JhdmU7IGpvdXIuJzsKJGxhbmdbJ2xhYmVsJ10gPSAnJkVhY3V0ZTt0aXF1ZXR0ZSc7CiRsYW5nWydsYWJlbF9za2lwJ10gPSAnSWdub3Jlcic7CiRsYW5nWydsYWJlbF9vdmVyd3JpdGUnXSA9ICdFY3Jhc2VyJzsKJGxhbmdbJ2xhc3RwYWdlJ10gPSAnJmFtcDtndDsmYW1wO2d0Oyc7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnRGVybmkmZWdyYXZlO3JlIG1vZGlmaWNhdGlvbic7CiRsYW5nWydsb2dvdGV4dCddID0gJ0xvZ28gJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ0xvbmdldXIgTWF4aW1hbGUgPGVtPihhcHBsaWNhYmxlIHNldWxlbWVudCBhdXggY2hhbXBzIHRleHRib3gpPC9lbT4nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnRGF0ZSBkZSBtb2RpZmljYXRpb24nOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnVW4gbW9kdWxlIGRlIGdlc3Rpb24gZCYjMDM5O3VuIGNhdGFsb2d1ZSBkZSBwcm9kdWl0cywgZGUgbGV1cnMgcHJpeCwgaW1hZ2VzLCBldGMuIFBlcm1ldCBhdXNzaSBhdXggdXRpbGlzYXRldXJzIGRlIHJlbXBsaXIgdW4gcGFuaWVyIGQmIzAzOTthY2hhdC4nOwokbGFuZ1snbW92ZV9kb3duJ10gPSAnRGVzY2VuZHJlJzsKJGxhbmdbJ21vdmVfdXAnXSA9ICdSZW1vbnRlcic7CiRsYW5nWydtc2dfZXZlbnRoYW5kbGVyc19jcmVhdGVkJ10gPSAnR2VzdGlvbm5haXJlcyBkJiMwMzk7JmVhY3V0ZTt2JmVncmF2ZTtuZW1lbnRzIGNyJmVhY3V0ZTtlcyc7CiRsYW5nWyduYW1lJ10gPSAnTm9tJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnVm91cyBuJiMwMzk7YXZleiBwYXMgbGEgcGVybWlzc2lvbiByZXF1aXNlJm5ic3A7OiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ05vdXZlYXUgbm9tIGRlIGNhdCZlYWN1dGU7Z29yaWUnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICcmYW1wO2d0Oyc7CiRsYW5nWydubyddID0gJ05vbic7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ1ZvdXMgbiYjMDM5O2F2ZXogcGFzIGRvbm4mZWFjdXRlOyBkZSBub20nOwokbGFuZ1snbm9uZSddID0gJ0F1Y3VuJzsKJGxhbmdbJ25vdGhpbmdfc2VsZWN0ZCddID0gJ1ZvdXMgbiYjMDM5O2F2ZXogcmllbiBzJmVhY3V0ZTtsZWN0aW9ubiZlYWN1dGU7JzsKJGxhbmdbJ29mJ10gPSAnZGUnOwokbGFuZ1snb3BlcmF0aW9uX2NhbmNlbGxlZCddID0gJ09wJmVhY3V0ZTtyYXRpb24gYW5udWwmZWFjdXRlO2UnOwokbGFuZ1snb3BlcmF0aW9uX2NvbXBsZXRlJ10gPSAnT3AmZWFjdXRlO3JhdGlvbiByJmVhY3V0ZTthbGlzJmVhY3V0ZTtlJzsKJGxhbmdbJ3BhZ2UnXSA9ICdQYWdlICc7CiRsYW5nWydwYWdlX29mJ10gPSAnUGFnZSAlcyBzdXIgJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ0VsJmVhY3V0ZTttZW50cyBwYXIgcGFnZSc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcCZlYWN1dGU7Y2lmaWUgbGUgY29tcG9ydGVtZW50IGR1IG1vZHVsZS4gTGVzIHZhbGV1cnMgcG9zc2libGVzIHNvbnQmbmJzcDs6DQo8dWw+DQogIDxsaT5oaWVyYXJjaHkgLSBBZmZpY2hlciBsYSBoaSZlYWN1dGU7cmFyY2hpZSBkZSBwcm9kdWl0czwvbGk+DQogIDxsaT5jYXRlZ29yeWxpc3QgLSBBZmZpY2hlciB1bmUgbGlzdGUgZGUgY2F0JmVhY3V0ZTtnb3JpZXMgZGUgcHJvZHVpdHM8L2xJDQogIDxsaT48ZW0+ZGVmYXVsdDwvZW0+IC0gQWZmaWNoZSBsZSBzb21tYWlyZSBkZXMgcHJvZHVpdHM8L2xpPg0KICA8bGk+ZGV0YWlscyAtIEFmZmljaGUgbGUgZCZlYWN1dGU7dGFpbCBkJiMwMzk7dW4gcHJvZHVpdCBkb25uJmVhY3V0ZTs8L2xpPg0KICA8bGk+ZmllbGRsaXN0IC0gQWZmaWNoZSBsYSBsaXN0ZSBkZXMgdmFsZXVycyBkdSBjaGFtcCBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7Lg0KICAgICA8cD4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy0gQ2V0dGUgYWN0aW9uIHBldXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlO2UgcG91ciBjciZlYWN1dGU7ZXIgdW5lIG5hdmlnYXRpb24gJmFncmF2ZTsgcGFydGlyIGRlcyB2YWxldXJzIGQmIzAzOTt1biBjaGFtcCBzcCZlYWN1dGU7Y2lmaXF1ZS4gUGFyIGV4ZW1wbGUsIHZvdXMgcG91dmV6IGNyJmVhY3V0ZTtlciB1bmUgbGlzdGUgZCZlYWN1dGU7cm91bGFudGUgcGVyc29ubmFsaXMmZWFjdXRlO2UgYXBwZWwmZWFjdXRlO2UgJnF1b3Q7Q291bGV1ciZxdW90OyBldCBhbG9ycyBjciZlYWN1dGU7ZXIgdW5lIG5hdmlnYXRpb24gYmFzJmVhY3V0ZTtlIHN1ciBsZXMgZGlmZiZlYWN1dGU7cmVudGVzIGNvdWxldXJzLg0KICAgICA8L3A+DQogIDwvbGk+DQogIDxsaT5zZWFyY2ggLSBBZmZpY2hlciB1biBmb3JtdWxhaXJlIGRlIHJlY2hlcmNoZSBkZSBwcm9kdWl0cyBtdWx0aS1jcml0JmVncmF2ZTtyZXM8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdMb3JzIGRlIGwmIzAzOTt1dGlsaXNhdGlvbiBlbiBtb2RlIHNvbW1haXJlICg8ZW0+ZGVmYXVsdDwvZW0+KSwgY2UgcGFyYW0mZWdyYXZlO3RyZSwgcXVpIGRldnJhaXQgY29ycmVzcG9uZHJlIGF1IG5vbSBkJiMwMzk7dW5lIGNhdCZlYWN1dGU7Z29yaWUgZXhpc3RhbnRlLCBzZXJhIHV0aWxpcyZlYWN1dGU7IHBvdXIgYWZmaWNoZXIgc2V1bGVtZW50IGxlcyBlbnRyJmVhY3V0ZTtlcyBxdWkgc29udCBkYW5zIGNldHRlIGNhdCZlYWN1dGU7Z29yaWUgKHVuZSBsaXN0ZSBzJmVhY3V0ZTtwYXImZWFjdXRlO2UgcGFyIGRlcyB2aXJndWxlcyBwZXV0ICZlY2lyYzt0cmUgZm91cm5pZSknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlmaWVsZCddID0gJ1V0aWxpcyZlYWN1dGU7IHNldWxlbWVudCBhY3Rpb24gbCYjMDM5O2FjdGlvbiA8ZW0+Y2F0ZWdvcnlsaXN0PC9lbT4sIGNlIHBhcmFtJmVncmF2ZTt0cmUgcGV1dCAmZWNpcmM7dHJlIHV0aWxpcyZlYWN1dGU7IHBvdXIgZmlsdHJlciBsZXMgY2F0JmVhY3V0ZTtnb3JpZXMgZW4gc2UgYmFzYW50IHN1ciB1bmUgdmFsZXVyIGQmIzAzOTt1biBjaGFtcCBkZSBjYXQmZWFjdXRlO2dvcmllLiBJbCBuZSBmb25jdGlvbm5lcmEgcGFzIGF2ZWMgbGVzIHBhcmFtJmVncmF2ZTt0cmVzIDxlbT5jYXRlZ29yeTwvZW0+IG91IDxlbT5jYXRlZ29yeV9pZDwvZW0+LiBMYSBzeW50YXhlIGRlIGNlIHBhcmFtJmVncmF2ZTt0cmUgZXN0IHVuZSBsaXN0ZSBkZSBub21zIGRlIGNoYW1wcyBldCBkZSB2YWxldXJzIHMmZWFjdXRlO3BhciZlYWN1dGU7ZXMgcGFyIGRlcyB2aXJndWxlcy4gIFBhciBleGVtcGxlIDogY2F0ZWdvcnlsaXN0PSZxdW90O25vbV9jaGFtcDp2YWxldXIsbm9tX2NoYW1wMjp2YWxldXJfMiZxdW90Oyc7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddID0gJ1V0aWxpcyZlYWN1dGU7IHNldWxlbWVudCBhdmVjIGwmIzAzOTthY3Rpb24gPGVtPmNhdGVnb3J5bGlzdDwvZW0+LCBjZSBwYXJhbSZlZ3JhdmU7dHJlIGluZGlxdWUgcXVlbCBnYWJhcml0IGRvaXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBwb3VyIGwmIzAzOTthZmZpY2hhZ2UuIFNpIGF1Y3VuZSB2YWxldXIgbiYjMDM5O2VzdCBmb3VybmllLCBsZSBnYWJhcml0IHBhciBkJmVhY3V0ZTtmYXV0IGFjdHVlbCBkZSBjZSB0eXBlIGVzdCB1dGlsaXMmZWFjdXRlOy4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0ZHRsdGVtcGxhdGUnXSA9ICdVdGlsaXMmZWFjdXRlOyBzZXVsZW1lbnQgYXZlYyBsJiMwMzk7YWN0aW9uIDxlbT5jYXRlZ29yeWxpc3Q8L2VtPiwgY2UgcGFyYW0mZWdyYXZlO3RyZSBpbmRpcXVlIHF1ZWwgZ2FiYXJpdCBkb2l0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTsgcG91ciBsJiMwMzk7YWZmaWNoYWdlIGR1IGQmZWFjdXRlO3RhaWwgZCYjMDM5O3VuZSBjYXQmZWFjdXRlO2dvcmllLiBDZSBwYXJhbSZlZ3JhdmU7dHJlIHV0aWxpc2UgdW4gZ2FiYXJpdCBkZSBsaXN0ZSBkZSBjYXQmZWFjdXRlO2dvcmllcy4uLiBTaSBhdWN1bmUgdmFsZXVyIG4mIzAzOTtlc3Qgc3AmZWFjdXRlO2NpZmkmZWFjdXRlO2UsIGMmIzAzOTtlc3QgbGUgZ2FiYXJpdCBwYXIgZCZlYWN1dGU7ZmF1dCBkZSBjZSB0eXBlIHF1aSBlc3QgdXRpbGlzJmVhY3V0ZTsuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdTcCZlYWN1dGU7Y2lmaWUgbCYjMDM5O2lkIG91IGwmIzAzOTthbGlhcyBkZSBsYSBwYWdlIHF1aSBkb2l0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTtlIHBvdXIgYWZmaWNoZXIgbGUgZCZlYWN1dGU7dGFpbC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdDZSBwYXJhbSZlZ3JhdmU7dHJlIHNwJmVhY3V0ZTtjaWZpZSBxdWVsIGdhYmFyaXQgZGV2cmFpdCAmZWNpcmM7dHJlIHV0aWxpcyZlYWN1dGU7IHBvdXIgbCYjMDM5O2FmZmljaGFnZSBlbiBtb2RlIGQmZWFjdXRlO3RhaWxzLiBTaSBhdWN1bmUgdmFsZXVyIG4mIzAzOTtlc3QgZm91cm5pZSwgbGUgZ2FiYXJpdCBwYXIgZCZlYWN1dGU7ZmF1dCBhY3R1ZWwgZGUgY2UgdHlwZSBlc3QgdXRpbGlzJmVhY3V0ZTsuJzsKJGxhbmdbJ3BhcmFtX2V4Y2x1ZGVjYXQnXSA9ICdVdGlsaXMmZWFjdXRlOyBzZXVsZW1lbnQgYXZlYyBsJiMwMzk7YWN0aW9uIHBhciBkJmVhY3V0ZTtmYXV0IChzdW1tYXJ5KSwgY2UgcGFyYW0mZWdyYXZlO3RyZSB2b3VzIHBlcm1ldCBkJiMwMzk7ZXhjbHVyZSBsZXMgcHJvZHVpdHMgZGUgY2VydGFpbmVzIGNhdCZlYWN1dGU7Z29yaWVzIGR1IHImZWFjdXRlO3N1bHRhdC4gVm91cyBwb3V2ZXogdXRpbGlzZXIgdW5lIGxpc3RlIGRlIG5vbXMgZGUgY2F0JmVhY3V0ZTtnb3JpZXMgcyZlYWN1dGU7cGFyJmVhY3V0ZTtzIHBhciBkZXMgdmlyZ3VsZXMuIENlIHBhcmFtJmVncmF2ZTt0cmUgcGV1dCBmb25jdGlvbm5lciBlbiBjb25qb25jdGlvbiBhdmVjIGxlIHBhcmFtJmVncmF2ZTt0cmUgPGVtPmNhdGVnb3J5PC9lbT4gcG91ciBhZmZpY2hlciB1bmUgbGlzdGUgZGUgcHJvZHVpdHMgcXVpIHNvbnQgZGFucyB1bmUgY2F0JmVhY3V0ZTtnb3JpZSBtYWlzIHBhcyBkYW5zIGQmIzAzOTthdXRyZXMuJzsKJGxhbmdbJ3BhcmFtX2ZpZWxkJ10gPSAnVXRpbGlzJmVhY3V0ZTsgc2V1bGVtZW50IGF2ZWMgbCYjMDM5O2FjdGlvbiA8ZW0+ZmllbGRsaXN0PC9lbT4sIGNlIHBhcmFtJmVncmF2ZTt0cmUgZXN0IG9ibGlnYXRvaXJlIHBvdXIgcHImZWFjdXRlO2Npc2VyIGxlIG5vbSBkdSBjaGFtcCBwcm9kdWl0ICZhZ3JhdmU7IHV0aWxpc2VyIHBvdXIgY3ImZWFjdXRlO2VyIGxhIGxpc3RlIGQmZWFjdXRlO3JvdWxhbnRlLic7CiRsYW5nWydwYXJhbV9maWVsZHZhbCddID0gJ1V0aWxpcyZlYWN1dGU7IHNldWxlbWVudCBhdmVjIGwmIzAzOTthY3Rpb24gPGVtPmRlZmF1bHQ8L2VtPiwgY2UgcGFyYW0mZWdyYXZlO3RyZSBwZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciBsYSB2YWxldXIgZCYjMDM5O3VuIGNoYW1wIHBvdXIgbGltaXRlciBsZXMgciZlYWN1dGU7c3VsdGF0cyBhZmZpY2gmZWFjdXRlO3MuIFZhbGV1cnMgc3AmZWFjdXRlO2NpYWxlcyBwb3NzaWJsZXMgOiAmcXVvdDs6Om51bGw6OiZxdW90OyAtICZxdW90Ozo6bm90bnVsbDo6JnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeSddID0gJ1V0aWxpcyZlYWN1dGU7IHNldWxlbWVudCBhdmVjIGwmIzAzOTthY3Rpb24gPGVtPmRlZmF1bHQ8L2VtPiwgY2UgcGFyYW0mZWdyYXZlO3RyZSBpbmRpcXVlIHF1ZSBzZXVscyBsZXMgcHJvZHVpdHMgYXBwYXJ0ZW5hbnQgJmFncmF2ZTsgY2V0ICZlYWN1dGU7bCZlYWN1dGU7bWVudCBkZSBoaSZlYWN1dGU7cmFyY2hpZSBkb2l2ZW50ICZlY2lyYzt0cmUgYWZmaWNoJmVhY3V0ZTtzLiAgRGVzIGpva2VycyBwZXV2ZW50ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTtzIHBvdXIgJmVhY3V0ZTt0ZW5kcmUgbCYjMDM5O2FmZmljaGFnZSBhdXggcGFyZW50IG91IGVuZmFudHMgZGUgbCYjMDM5OyZlYWN1dGU7bCZlYWN1dGU7bWVudCBkZSBoaSZlYWN1dGU7cmFyY2hpZSBpbmRpcXUmZWFjdXRlOy4gIFBhciBleGVtcGxlIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7cG90aXJvbnMqJiMwMzk7fSBhZmZpY2hlIHVuIHNvbW1haXJlIGRlIHRvdXMgbGVzIHBvdGlyb25zLCBldCBkZXMgcHJvZHVpdHMgYXBwYXJ0ZW5hbnQgYXV4IGRlc2NlbmRhbnRzIGRlIGwmIzAzOTsmZWFjdXRlO2wmZWFjdXRlO21lbnQgZGUgaGkmZWFjdXRlO3JhcmNoaWUgJiMwMzk7cG90aXJvbnMmIzAzOTsuICBEZSBtJmVjaXJjO21lLCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5Oypwb3Rpcm9ucyYjMDM5O30gYWZmaWNoZSB1biBzb21tYWlyZSBkZSB0b3VzIGxlcyBwb3Rpcm9ucywgZXQgZGVzIHByb2R1aXRzIGFwcGFydGVuYW50IGF1eCBwYXJlbnRzIGRlIGwmIzAzOTsmZWFjdXRlO2wmZWFjdXRlO21lbnQgZGUgaGkmZWFjdXRlO3JhcmNoaWUgJiMwMzk7cG90aXJvbnMmIzAzOTsnOwokbGFuZ1sncGFyYW1faGllcmFyY2h5dGVtcGxhdGUnXSA9ICdDZSBwYXJhbSZlZ3JhdmU7dHJlIGluZGlxdWUgbGUgZ2FiYXJpdCAmYWdyYXZlOyB1dGlsaXNlciBsb3JzIGRlIGwmIzAzOTthZmZpY2hhZ2UgZGUgbGEgaGkmZWFjdXRlO3JhcmNoaWUuIExlIGdhYmFyaXQgZGUgaGkmZWFjdXRlO3JhcmNoaWUgcGFyIGQmZWFjdXRlO2ZhdXQgZXN0IHV0aWxpcyZlYWN1dGU7IHNpIGNlIHBhcmFtJmVncmF2ZTt0cmUgZXN0IGFic2VudCBvdSB2aWRlLic7CiRsYW5nWydwYXJhbV9pbmxpbmUnXSA9ICdVdGlsaXMmZWFjdXRlOyBzZXVsZW1lbnQgYXZlYyBsJiMwMzk7YWN0aW9uIDxlbT5zZWFyY2g8L2VtPiwgY2UgcGFyYW0mZWdyYXZlO3RyZSBzcCZlYWN1dGU7Y2lmaWUgcXVlIGxhIHBhZ2UgZGUgciZlYWN1dGU7c3VsdGF0cyBhZmZpY2gmZWFjdXRlO2UgZG9pdCAmZWNpcmM7dHJlIGFmZmljaCZlYWN1dGU7ZSAmcXVvdDtlbiBsaWduZSZxdW90OyBvdSBub24uJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ1V0aWxpcyZlYWN1dGU7IHNldWxlbWVudCBhdmVjIGwmIzAzOTthY3Rpb24gPGVtPmRlZmF1bHQ8L2VtPiwgY2UgcGFyYW0mZWdyYXZlO3RyZSBzcCZlYWN1dGU7Y2lmaWUgY29tYmllbiBkJiMwMzk7YXJ0aWNsZXMgZG9pdmVudCAmZWNpcmM7dHJlIGxpc3QmZWFjdXRlO3Mgc3VyIGNoYXF1ZSBwYWdlLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdVdGlsaXMmZWFjdXRlOyBzZXVsZW1lbnQgYXZlYyBsJiMwMzk7YWN0aW9uIDxlbT5oaWVyYXJjaHk8L2VtPiwgY2UgcGFyYW0mZWdyYXZlO3RyZSBpbmRpcXVlIHF1ZWwgZXN0ICBsJiMwMzk7SUQgZHUgcHJlbWllciAmZWFjdXRlO2wmZWFjdXRlO21lbnQgZGUgbGEgaGkmZWFjdXRlO3JhcmNoaWUgJmFncmF2ZTsgYWZmaWNoZXInOwokbGFuZ1sncGFyYW1fcHJvZHVjdGlkJ10gPSAnVXRpbGlzJmVhY3V0ZTsgc2V1bGVtZW50IGF2ZWMgbCYjMDM5O2FjdGlvbiBkJmVhY3V0ZTt0YWlsLCBjZSBwYXJhbSZlZ3JhdmU7dHJlIGluZGlxdWUgcXVlbHMgcHJvZHVpdHMgdXRpbGlzZXIgcG91ciBsJiMwMzk7YWZmaWNoYWdlLic7CiRsYW5nWydwYXJhbV9wcm9kdWN0bGlzdCddID0gJ1V0aWxpcyZlYWN1dGU7IHNldWxlbWVudCBhdmVjIGwmIzAzOTthY3Rpb24gPGVtPmRlZmF1bHQ8L2VtPiwgY2UgcGFyYW0mZWdyYXZlO3RyZSBwZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciB1bmUgbGlzdGUgZGVzIHByb2R1aXRzICZhZ3JhdmU7IGFmZmljaGVyIHZpYSBsZXVycyBJRHMgKCZlYWN1dGU7bCZlYWN1dGU7bWVudHMgcyZlYWN1dGU7cGFyJmVhY3V0ZTtzIHBhciBkZXMgdmlyZ3VsZXMpLg0KQXVjdW5lIHBhZ2luYXRpb24gb3UgdHJpIG4mIzAzOTtlc3QgciZlYWN1dGU7YWxpcyZlYWN1dGU7IGVuIHNlIGJhc2FudCBzdXIgY2VzIHZhbGV1cnMsIGFuZCBpZiBzcGVjaWZpZWQgdGhlIG90aGVyIGZpbHRlcmluZyBwYXJhbWV0ZXJzIHRvIHRoZSBzdW1tYXJ5IHZpZXcgYXJlIGlnbm9yZWQuJzsKJGxhbmdbJ3BhcmFtX3Jlc3VsdHBhZ2UnXSA9ICdVdGlsaXMmZWFjdXRlOyBzZXVsZW1lbnQgYXZlYyBsZXMgYWN0aW9ucyA8ZW0+c2VhcmNoPC9lbT4gZXQgPGVtPmNhdGVnb3J5bGlzdDwvZW0+LCBjZSBwYXJhbSZlZ3JhdmU7dHJlIHNwJmVhY3V0ZTtjaWZpZSBsJiMwMzk7SUQgb3UgbCYjMDM5O2FsaWFzIGRlIHBhZ2UgJmFncmF2ZTsgdXRpbGlzZXIgcG91ciBhZmZpY2hlciBsYSBsaXN0ZSBkZXMgciZlYWN1dGU7c3VsdGF0cy4nOwokbGFuZ1sncGFyYW1fc2VhcmNoZmllbGQnXSA9ICdVdGlsaXMmZWFjdXRlOyBzZXVsZW1lbnQgYXZlYyBsJiMwMzk7YWN0aW9uIDxlbT5zZWFyY2g8L2VtPiwgY2UgcGFyYW0mZWdyYXZlO3RyZSBwZXV0IGNvbnRlbmlyIHVuZSBsaXN0ZSBzJmVhY3V0ZTtwYXImZWFjdXRlO2UgcGFyIGRlcyB2aXJndWxlcyBkZSBub21zIGRlIGNoYW1wcyAmYWdyYXZlOyBpbmNsdXJlIGRhbnMgbGEgcmVjaGVyY2hlLic7CiRsYW5nWydwYXJhbV9zZWFyY2hmb3JtdGVtcGxhdGUnXSA9ICdVdGlsaXMmZWFjdXRlOyBzZXVsZW1lbnQgYXZlYyBsJiMwMzk7YWN0aW9uIDxlbT5zZWFyY2g8L2VtPiwgY2UgcGFyYW0mZWdyYXZlO3RyZSBwZXJtZXQgZGUgZCZlYWN1dGU7ZmluaXIgbGUgZ2FiYXJpdCBkdSBmb3JtdWxhaXJlIGRlIHJlY2hlcmNoZS4nOwokbGFuZ1sncGFyYW1fc2hvd2FsbCddID0gJ1V0aWxpcyZlYWN1dGU7IHNldWxlbWVudCBhdmVjIGxlcyBhY3Rpb25zIDxlbT5maWVsZGxpc3Q8L2VtPiBldCA8ZW0+Y2F0ZWdvcnlsaXN0PC9lbT4sIHNpIGNlIHBhcmFtJmVncmF2ZTt0cmUgZXN0IHVuIGVudGllciBkaWZmJmVhY3V0ZTtyZW50IGRlIDAsIHRvdXRlcyBsZXMgY2F0JmVhY3V0ZTtnb3JpZXMgKG0mZWNpcmM7bWUgY2VsbGVzIHNhbnMgcHJvZHVpdHMpIHNlcm9udCBhZmZpY2gmZWFjdXRlO2VzLic7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICdTcCZlYWN1dGU7Y2lmaWUgbCYjMDM5O29yZHJlIGRlcyBjaGFtcHMgdHJpJmVhY3V0ZTtzIGVuIG1vZGUgc29tbWFpcmUuIExlcyB2YWxldXJzIHBvc3NpYmxlcyBzb250Og0KPHVsPg0KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gT3JkcmUgYXNjZW5kYW50PC9saT4NCiAgPGxpPmRlc2MgLS0gT3JkZXIgZGVzY2VuZGFudDwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdVdGlsaXMmZWFjdXRlOyBzZXVsZW1lbnQgYXZlYyBsZXMgYWN0aW9ucyA8ZW0+c3VtbWFyeTwvZW0+LCA8ZW0+Y2F0ZWdvcnlsaXN0PC9lbT4gZXQgPGVtPnNlYXJjaDwvZW0+LCBjZSBwYXJhbSZlZ3JhdmU7dHJlIGQmZWFjdXRlO3Rlcm1pbmUgbGUgdHJpIGRlcyBlbnRyJmVhY3V0ZTtlcy4gTGVzIHZhbGV1cnMgcG9zc2libGVzIGRlIHRyaSBzb250IDoNCjx1bD4NCiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+IC0tIG5vbSBkZSBwcm9kdWl0PC9saT4NCiAgPGxpPmlkIC0tIElEPC9saT4NCiAgPGxpPndlaWdodCAtLSBQb2lkcyBkdSBwcm9kdWl0PC9saT4NCiAgPGxpPnByaWNlIC0tIFByaXggZGUgYmFzZSBkdSBwcm9kdWl0PC9saT4NCiAgPGxpPnN0YXR1cyAtLSBTdGF0dXQgOiA8ZW0+ZHJhZnQ8L2VtPiAoJmVhY3V0ZTtiYXVjaGUpIG91IDxlbT5wdWJsaXNoZWQ8L2VtPiAocHVibGkmZWFjdXRlOyk8L2xpPg0KICA8bGk+cmFuZG9tIC0tIEFmZmljaGUgdW5lIGxpc3RlIGFsJmVhY3V0ZTthdG9pcmUgJmFncmF2ZTsgY2hhcXVlIGFmZmljaGFnZTwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIERhdGUgZGUgY3ImZWFjdXRlO2F0aW9uIGRlIGwmIzAzOTsmZWFjdXRlO2wmZWFjdXRlO21lbnQ8L2xpPg0KICA8bGk+bW9kaWZpZWQgLS0gRGF0ZSBkZSBtb2RpZmljYXRpb24gZGUgbCYjMDM5OyZlYWN1dGU7bCZlYWN1dGU7bWVudDwvbGk+DQogIDxsaT5mOmZpZWxkbmFtZSAtLSBUcmkgc2Vsb24gbGVzIHZhbGV1cnMgZGVzIGNoYW1wcyBwZXJzb25uYWxpcyZlYWN1dGU7cy4gRXhlbXBsZSA6IDxlbT5mOmNvdWxldXI8L2VtPiBvJnVncmF2ZTsgJnF1b3Q7Y291bGV1ciZxdW90OyBlc3QgdW4gY2hhbXAgcGVyc29ubmFsaXMmZWFjdXRlOzwvbGk+DQo8L3VsPg0KPHA+TGEgdnVlIGRlIGxpc3RlIGRlIGNhdCZlYWN1dGU7Z29yaWVzIHBldXQgcHJlbmRyZSBlbiBjb21wdGUgZCYjMDM5O2F1dHJlcyBvcHRpb25zIGRlIHRyaSA6DQo8dWw+DQogIDxsaT5pZCAtLSBJRCBkZSBjYXQmZWFjdXRlO2dvcmllPC9saT4NCiAgPGxpPjxzdHJvbmc+bmFtZTwvc3Ryb25nPiAtLSBOb20gZGUgY2F0JmVhY3V0ZTtnb3JpZTwvbGk+DQo8L3VsPjwvcD4nOwokbGFuZ1sncGFyYW1fc29ydHR5cGUnXSA9ICdVdGlsaXMmZWFjdXRlOyBzZXVsZW1lbnQgYXZlYyBsJiMwMzk7YWN0aW9uIDxlbT5kZWZhdWx0PC9lbT4sIGNlIHBhcmFtJmVncmF2ZTt0cmUgZXN0IHV0aWxpcyZlYWN1dGU7IHBvdXIgY29udmVydGlyIGRlcyB2YWxldXJzIGQmIzAzOTthdXRyZXMgdHlwZXMgcG91ciBsZSB0cmkuIExlcyB2YWxldXJzIHZhbGlkZXMgc29udCA6IFNUUklORywgU0lHTkVEIGV0IFVOU0lHTkVELiBTaSBub24gcHImZWFjdXRlO2NpcyZlYWN1dGU7LCBsZSB0eXBlIFNUUklORyBlc3QgdXRpbGlzJmVhY3V0ZTsgcGFyIGQmZWFjdXRlO2ZhdXQuJzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnlwYWdlJ10gPSAnVXRpbGxpcyZlYWN1dGU7IHNldWxlbWVudCBhdmVjIGwmIzAzOTthY3Rpb24gPGVtPmhpZXJhcmNoeTwvZW0+LCBjZSBwYXJhbSZlZ3JhdmU7dHJlIHBlcm1ldCBkZSBwciZlYWN1dGU7Y2lzZXIgbCYjMDM5O0lEIG91IEFsaWFzIGRlIHBhZ2UgJmFncmF2ZTsgdXRpbGlzZXIgcG91ciBsZXMgbGllbnMgdmVycyBsYSBsaXN0ZSBkZXMgcHJvZHVpdHMgZCYjMDM5O3VuICZlYWN1dGU7bCZlYWN1dGU7bWVudCAgZGUgaGkmZWFjdXRlO3JhcmNoaWUuJzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0NlIHBhcmFtJmVncmF2ZTt0cmUgc3AmZWFjdXRlO2NpZmllIHF1ZWwgZ2FiYXJpdCBkb2l0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTsgZW4gYWZmaWNoYWdlIG1vZGUgc29tbWFpcmUuIFNpIGF1Y3VuZSB2YWxldXIgbiYjMDM5O2VzdCBmb3VybmllLCBsZSBnYWJhcml0IHBhciBkJmVhY3V0ZTtmYXV0IGFjdHVlbCBkZSBjZSB0eXBlIGVzdCB1dGlsaXMmZWFjdXRlOy4nOwokbGFuZ1sncGFyZW50J10gPSAnUGFyZW50ICc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0xlIG1vZHVsZSBQcm9kdWl0cyBhICZlYWN1dGU7dCZlYWN1dGU7IGluc3RhbGwmZWFjdXRlOyBhdmVjIHN1Y2MmZWdyYXZlO3MnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0xlIG1vZHVsZSBQcm9kdWl0cyBhICZlYWN1dGU7dCZlYWN1dGU7IHN1cHByaW0mZWFjdXRlOywgYWluc2kgcXVlIHRvdXRlcyBsZXMgZG9ubiZlYWN1dGU7ZXMgYXNzb2NpJmVhY3V0ZTtlcy4nOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1N1cHByaW1lciBjZSBtb2R1bGUgdmEgYXVzc2kgc3VwcHJpbWVyIHRvdXRlcyBsZXMgZG9ubiZlYWN1dGU7ZXMgYXNzb2NpJmVhY3V0ZTtlcywgJmVjaXJjO3Rlcy12b3VzIHMmdWNpcmM7ciBkZSB2b3Vsb2lyIGNvbnRpbnVlcj8nOwokbGFuZ1sncHJpY2UnXSA9ICdQcml4JzsKJGxhbmdbJ3ByaWNlX2FkanVzdG1lbnQnXSA9ICdBanVzdGVtZW50IGRlIHByaXgnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICcmYW1wO2x0Oyc7CiRsYW5nWydwcm9kdWN0J10gPSAnUHJvZHVpdCc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ05vbSBkdSBwcm9kdWl0JzsKJGxhbmdbJ3Byb2R1Y3RzJ10gPSAnR2VzdGlvbm5haXJlIGRlIHByb2R1aXRzJzsKJGxhbmdbJ3Byb2R1Y3RfZGV0YWlsX3NldHRpbmdzJ10gPSAnUGFyYW0mZWdyYXZlO3RyZXMgRCZlYWN1dGU7dGFpbHMgZHUgcHJvZHVpdCc7CiRsYW5nWydwcm9kdWN0X2VkaXRpbmdfc2V0dGluZ3MnXSA9ICdQYXJhbSZlZ3JhdmU7dHJlcyBkJiMwMzk7JmVhY3V0ZTtkaXRpb24gZGUgcHJvZHVpdCc7CiRsYW5nWydwcm9kdWN0X3N1bW1hcnlfc2V0dGluZ3MnXSA9ICdQYXJhbSZlZ3JhdmU7dHJlcyBkZXMgbGlzdGVzIGRlIHByb2R1aXRzJzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnSGllcmFyY2hpZSBkZSBwcm9kdWl0cyc7CiRsYW5nWydwcm9kdWN0X2luZm8nXSA9ICdJbmZvcm1hdGlvbiBwcm9kdWl0JzsKJGxhbmdbJ3Byb2R1Y3RfbWFuYWdlciddID0gJ0dlc3Rpb25uYWlyZSBkZSBwcm9kdWl0cyc7CiRsYW5nWydwcm9ncmVzcyddID0gJ1Byb2dyZXNzaW9uJzsKJGxhbmdbJ3Byb21wdCddID0gJ0xpYmVsbCZlYWN1dGU7JzsKJGxhbmdbJ3Byb21wdF9hZGRfYXR0cmlic2V0J10gPSAnQWpvdXRlci9Nb2RpZmllciBsZXMgcGFyYW0mZWdyYXZlO3RyZXMgZGVzIGF0dHJpYnV0cyc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdFeHRlbnNpb25zIGRlIGZpY2hpZXJzIGF1dG9yaXMmZWFjdXRlO2VzIChwb3VyIGxlcyBjaGFtcHMgZGUgdHlwZSBmaWNoaWVyKSAnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ0V4dGVuc2lvbnMgZGUgZmljaGllcnMgaW1hZ2UgYXV0b3JpcyZlYWN1dGU7ZXMgKHBvdXIgbGVzIGNoYW1wcyBkZSB0eXBlIGltYWdlKSAnOwokbGFuZ1sncHJvbXB0X2F0dHJpYnRlbXBsYXRlJ10gPSAnR2FiYXJpdCBkJiMwMzk7YWZmaWNoYWdlIGRlcyB2YWxldXJzIGQmIzAzOTthdHRyaWJ1dHMgZGUgcHJvZHVpdHMgZGFucyBsYSBsaXN0ZSBkJmVhY3V0ZTtyb3VsYW50ZSc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ0NyJmVhY3V0ZTtlciBhdXRvbWF0aXF1ZW1lbnQgbGVzIG1pbmlhdHVyZXMgZGVzIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnVGFpbGxlIG1heGltdW0gKGMmb2NpcmM7dCZlYWN1dGU7IGxlIHBsdXMgbG9uZykgZGUgbGEgbWluaWF0dXJlLic7CiRsYW5nWydwcm9tcHRfYXV0b3ByZXZpZXdpbWcnXSA9ICdDciZlYWN1dGU7ZXIgYXV0b21hdGlxdWVtZW50IHVuZSBwciZlYWN1dGU7dmlzdWFsaXNhdGlvbiBkZSBsJiMwMzk7aW1hZ2UnOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nX3NpemUnXSA9ICdUYWlsbGUgbWF4aW11bSAoYyZvY2lyYzt0JmVhY3V0ZTsgbGUgcGx1cyBsb25nKSBkZSBsYSBwciZlYWN1dGU7dmlzdWFsaXNhdGlvbiBkZSBsJiMwMzk7aW1hZ2UuJzsKJGxhbmdbJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJ10gPSAnUGxhY2VyIGF1dG9tYXRpcXVlbWVudCB1biBmaWxpZ3JhbmUgZGFucyBsZXMgaW1hZ2VzJzsKJGxhbmdbJ3Byb21wdF9hcHBsaWNhYmxlJ10gPSAnQWN0aXZlciBwYXIgZCZlYWN1dGU7ZmF1dCBwb3VyIHRvdXMgbGVzIG5vdXZlYXV4IHByb2R1aXRzJzsKJGxhbmdbJ3Byb21wdF9iYXRjaHNpemUnXSA9ICdOb21icmUgZGUgbGlnbmVzIGltcG9ydCZlYWN1dGU7ZXMgJmFncmF2ZTsgY2hhcXVlIGl0JmVhY3V0ZTtyYXRpb24nOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlJ10gPSAnTW9kdWxlIFBhbmllciAoQ2FydCknOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ1BhcmFtJmVncmF2ZTt0cmUgZHUgbW9kdWxlIHBhbmllcic7CiRsYW5nWydwcm9tcHRfY3JlYXRlY2F0ZWdvcmllcyddID0gJ0NyJmVhY3V0ZTtlciBkZXMgY2F0JmVhY3V0ZTtnb3JpZXMnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWZpZWxkcyddID0gJ0NyJmVhY3V0ZTtlciBsZXMgY2hhbXBzIGRlcyBwcm9kdWl0cyA/JzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVoaWVyYXJjaHknXSA9ICdDciZlYWN1dGU7ZXIgdW5lIGhpJmVhY3V0ZTtyYXJjaGllIGRlIHByb2R1aXRzJzsKJGxhbmdbJ3Byb21wdF9jc3ZmaWxlJ10gPSAnRW52b3llciB1biBmaWNoaWVyIENTVic7CiRsYW5nWydwcm9tcHRfY3VycmVuY3ljb2RlJ10gPSAnQ29kZSBtb24mZWFjdXRlO3RhaXJlJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCddID0gJ01vbm5haWUnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfc3RhdHVzJ10gPSAnU3RhdHV0IHBhciBkJmVhY3V0ZTtmYXV0IGRlcyBub3V2ZWF1eCBwcm9kdWl0cyc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnVG91cyBsZXMgcHJvZHVpdHMgc29udCB0YXgmZWFjdXRlO3MgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ0VmZmFjZXIgbGVzIGZpY2hpZXJzIGF0dGFjaCZlYWN1dGU7cyBhdSBwcm9kdWl0IGxvcnMgZGUgc2Egc3VwcHJlc3Npb24gPyc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnUyZlYWN1dGU7cGFyYXRldXIgZGUgY2hhbXBzJzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxwYWdlJ10gPSAnUGFnZSBkJmVhY3V0ZTt0YWlsIHBhciBkJmVhY3V0ZTtmYXV0JzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxzZm9yJ10gPSAnRCZlYWN1dGU7dGFpbHMgcG91ciAlcyc7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdNb2RlIGRlIGdlc3Rpb24gZGVzIHByb2R1aXRzIGVuIGRvdWJsb24gPyc7CiRsYW5nWydwcm9tcHRfZmFsc2UnXSA9ICdGYXV4JzsKJGxhbmdbJ3Byb21wdF9oYW5kbGVpbWFnZXMnXSA9ICdHJmVhY3V0ZTtyZXIgbGVzIGltYWdlcyA/JzsKJGxhbmdbJ3Byb21wdF9pbWFnZXBhdGgnXSA9ICdDaGVtaW4gZGVzIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfbGVuZ3RodW5pdHMnXSA9ICdVbml0JmVhY3V0ZTtzIGRlIGxvbmd1ZXVyJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9iZWhhdmlvciddID0gJ1F1ZWxsZSBhY3Rpb24gZG9pdCAmZWNpcmM7dHJlIHImZWFjdXRlO2FsaXMmZWFjdXRlO2UgbG9yc3F1JiMwMzk7dW4gcHJvZHVpdCBuZSBwZXV0ICZlY2lyYzt0cmUgYWZmaWNoJmVhY3V0ZTsgJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF80MDQnXSA9ICdHJmVhY3V0ZTtuJmVhY3V0ZTtyZXIgdW5lIGVycmV1ciA0MDQnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kXzMwMSddID0gJ0cmZWFjdXRlO24mZWFjdXRlO3JlciB1bmUgcmVkaXJlY3Rpb24gMzAxJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9lcnJvcm1zZyddID0gJ0FmZmljaGVyIHVuIG1lc3NhZ2UgZCYjMDM5O2VycmV1cic7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfbXNnJ10gPSAnTWVzc2FnZSBkJiMwMzk7ZXJyZXVyIGxvcnNxdSYjMDM5O3VuIHByb2R1aXQgbiYjMDM5O2VzdCBwYXMgdHJvdXYmZWFjdXRlOyAnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX3BhZ2UnXSA9ICdQYWdlIHBvdXIgZmFpcmUgbGVzIHJlZGlyZWN0aW9ucyBwZXJtYW5lbnRlcyAnOwokbGFuZ1sncHJvbXB0X2hpZXJwYWdlJ10gPSAnUGFnZSBwYXIgZCZlYWN1dGU7ZmF1dCBwb3VyIGxhIHZ1ZSBkZSBoaSZlYWN1dGU7cmFyY2hpZSAnOwokbGFuZ1sncHJvbXB0X3ByZXR0eWhpZXJ1cmxzJ10gPSAnVXRpbGlzZXIgbGVzIFVybHMgciZlYWN1dGU7JmVhY3V0ZTtjcml0ZXMgcG91ciBsZXMgdnVlcyBkZSBoaSZlYWN1dGU7cmFyY2hpZSAnOwokbGFuZ1sncHJvbXB0X3Byb2RfZGV0YWlscGFnZSddID0gJ1BhZ2UgcGFyIGQmZWFjdXRlO2ZhdXQgcG91ciB2b2lyIGxlIGQmZWFjdXRlO3RhaWwgZGVzIHByb2R1aXRzICc7CiRsYW5nWydwcm9tcHRfcHJvZHVjdHNfbWF0Y2hpbmcnXSA9ICdQcm9kdWl0cyBjb3JyZXNwb25kYW50ICZhZ3JhdmU7ICVzJzsKJGxhbmdbJ3Byb21wdF9za3VfcmVxdWlyZWQnXSA9ICdMZSBTS1UgKFVHUyAtIFVuaXQmZWFjdXRlOyBkZSBnZXN0aW9uIGRlcyBzdG9ja3MpIGVzdCByZXF1aXMgcG91ciB0b3VzIGxlcyBwcm9kdWl0cyBldCBhdHRyaWJ1dHMnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlwYWdlbGltaXQnXSA9ICdOb21icmUgZGUgcHJvZHVpdHMgcGFyIGQmZWFjdXRlO2ZhdXQgZXQgcGFyIHBhZ2UgZW4gbW9kZSBTb21tYWlyZSAnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdPcmRyZSBkZSB0cmkgcGFyIGQmZWFjdXRlO2ZhdXQgZW4gbW9kZSBzb21tYWlyZSAnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0aW5nJ10gPSAnQ2hhbXAgZGUgdHJpIHBhciBkJmVhY3V0ZTtmYXV0IGVuIG1vZGUgc29tbWFpcmUgJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ1NvdXJjZSBkdSBnYWJhcml0JzsKJGxhbmdbJ3Byb21wdF90cnVlJ10gPSAnVnJhaSc7CiRsYW5nWydwcm9tcHRfdXJscHJlZml4J10gPSAnUHImZWFjdXRlO2ZpeGUgJmFncmF2ZTsgdXRpbGlzZXIgc3VyIHRvdXRlcyBsZXMgVVJMIGNpYmwmZWFjdXRlO2VzIGRlIGNlIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfdXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCddID0gJ1V0aWxpc2VyIGNldHRlIHBhZ2UgcG91ciBsZXMgciZlYWN1dGU7c3VsdGF0cyBkZSByZWNoZXJjaGU8ZW0+KHJlbXBsYWNlIGxlIHBhcmFtJmVncmF2ZTt0cmUgJiMwMzk7cGFnZSBkZXMgciZlYWN1dGU7c3VsdGF0cyBkZSBsYSByZWNoZXJjaGUmIzAzOTsgZGFucyBsZSBtb2R1bGUgc2VhcmNoKTwvZW0+JzsKJGxhbmdbJ3Byb21wdF91c2VoaWVycGF0aHVybHMnXSA9ICdVdGlsaXNlciBsZSBjaGVtaW4gZGUgaGkmZWFjdXRlO3JhcmNoaWUgZGFucyBsZXMgdXJscyBkZXMgZCZlYWN1dGU7dGFpbHMgZGUgcHJvZHVpdCc7CiRsYW5nWydwcm9tcHRfd2VpZ2h0dW5pdHMnXSA9ICdVbml0JmVhY3V0ZTtzIGRlIHBvaWRzJzsKJGxhbmdbJ3B1YmxpYyddID0gJ0VzdC1jZSB1biBjaGFtcCBwdWJsaWMgPyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICdQdWJsaSZlYWN1dGU7JzsKJGxhbmdbJ3F1YW50aXR5X29uX2hhbmQnXSA9ICdRdWFudGl0JmVhY3V0ZTsgZW4gc3RvY2snOwokbGFuZ1sncmFuZG9tJ10gPSAnQXUgaGFzYXJkJzsKJGxhbmdbJ3Jlb3JkZXJfaGllcmFyY2h5J10gPSAnUiZlYWN1dGU7b3Jkb25uZXIgbGEgaGkmZWFjdXRlO3JhcmNoaWUnOwokbGFuZ1sncmVzZXR0b2ZhY3RvcnknXSA9ICdSJmVhY3V0ZTtpbml0aWFsaXNlciBhdXggdmFsZXVycyBwYXIgZCZlYWN1dGU7ZmF1dCc7CiRsYW5nWydyZXR1cm4nXSA9ICdSZXRvdXInOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJ1JldG91ciBlbiBoYXV0IGRlIHBhZ2UnOwokbGFuZ1sncm9vdCddID0gJ1JhY2luZSc7CiRsYW5nWydzZWFyY2hfZGVzY3JpcHRpb24nXSA9ICdEZXNjcmlwdGlvbic7CiRsYW5nWydzZWFyY2hfZXhwciddID0gJ0xhIHJlcXUmZWNpcmM7dGUgZGV2cmEgZWxsZSBjb3JyZXNwb25kZW50ICZhZ3JhdmU7IGxhIHRvdGFsaXQmZWFjdXRlOywgb3UgYXUgbW9pbnMgJmFncmF2ZTsgbCYjMDM5O3VuIGRlcyB0ZXN0cyBjaS1kZXNzb3VzPyc7CiRsYW5nWydzZWFyY2hfbmFtZSddID0gJ05vbSBkZSBwcm9kdWl0JzsKJGxhbmdbJ3NlYXJjaF9wcmljZSddID0gJ0dhbW1lIGRlIHByaXgnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVfYWRkZWRpdCddID0gJ0Fqb3V0ZXIvTW9kaWZpZXIgbGUgZ2FiYXJpdCBkZSBmb3JtdWxhaXJlIGRlIHJlY2hlcmNoZSc7CiRsYW5nWydzZWFyY2h0ZW1wbGF0ZXMnXSA9ICdHYWJhcml0IGRlIHJlY2hlcmNoZSc7CiRsYW5nWydzZWxlY3RfYWxsJ10gPSAnVG91dCBzJmVhY3V0ZTtsZWN0aW9ubmVyJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdDaG9pc2lyLi4uJzsKJGxhbmdbJ3NldGRyYWZ0J10gPSAnRCZlYWN1dGU7ZmluaXIgJmFncmF2ZTsgQnJvdWlsbG9uJzsKJGxhbmdbJ3NldHB1Ymxpc2hlZCddID0gJ0QmZWFjdXRlO2ZpbmlyICZhZ3JhdmU7IFB1YmxpJmVhY3V0ZTsnOwokbGFuZ1snc2t1J10gPSAnU0tVIChpZGVudGlmaWFudCBkZSBxdWFudGl0JmVhY3V0ZTsgZW4gc3RvY2spJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdUcmkgcGFyJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdPcmRyZSBkZSB0cmknOwokbGFuZ1snc291cmNlJ10gPSAnU291cmNlICc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXQnOwokbGFuZ1snc3VibWl0J10gPSAnU291bWV0dHJlJzsKJGxhbmdbJ3N1YnNjcmlwdGlvbiddID0gJ0Fib25uZW1lbnQnOwokbGFuZ1snc3Vic2NyX2V4cGlyeSddID0gJ0V4cGlyJmVhY3V0ZTsnOwokbGFuZ1snc3Vic2NyX2V4cGlyeTInXSA9ICdFeHBpciZlYWN1dGU7cyc7CiRsYW5nWydzdWJzY3JfbW9udGhseSddID0gJ01lbnN1ZWwnOwokbGFuZ1snc3Vic2NyX2RlbHBlcmlvZCddID0gJ0ZyJmVhY3V0ZTtxdWVuY2UgZGUgbGl2cmFpc29uJzsKJGxhbmdbJ3N1YnNjcl9kZWxwZXJpb2QyJ10gPSAnTGl2ciZlYWN1dGU7JzsKJGxhbmdbJ3N1YnNjcl9wYXlwZXJpb2QnXSA9ICdGciZlYWN1dGU7cXVlbmNlIGRlIHBhaWVtZW50JzsKJGxhbmdbJ3N1YnNjcl9wYXlwZXJpb2QyJ10gPSAnUGF5JmVhY3V0ZTsnOwokbGFuZ1snc3Vic2NyX3F1YXJ0ZXJseSddID0gJ1RyaW1lc3RyaWVsJzsKJGxhbmdbJ3N1YnNjcl9zZW1pYW51YWxseSddID0gJ1NlbWktQW5udWVsJzsKJGxhbmdbJ3N1YnNjcl95ZWFybHknXSA9ICdBbm51ZWwnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ0dhYmFyaXRzIGRlIHNvbW1haXJlJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWpvdXQgb3UgJmVhY3V0ZTtkaXRpb24gZCYjMDM5O3VuIGdhYmFyaXQgZGUgc29tbWFpcmUnOwokbGFuZ1sndGF4YWJsZSddID0gJ1RheGFibGUgJzsKJGxhbmdbJ3Rlc3QnXSA9ICdUZXN0ICc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1pvbmUgZGUgdGV4dGUnOwokbGFuZ1sndGV4dGJveCddID0gJ0NoYW1wIHRleHRlJzsKJGxhbmdbJ3RpdGxlX2J5aGllcmFyY2h5X2RmbHR0ZW1wbGF0ZSddID0gJ0dhYmFyaXQgZGUgaGkmZWFjdXRlO3JhcmNoaWUgcGFyIGQmZWFjdXRlO2ZhdXQnOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlsaXN0X2RmbHR0ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcGFyIGQmZWFjdXRlO2ZhdXQgcG91ciB1bmUgbm91dmVsbGUgbGlzdGUgZGUgY2F0JmVhY3V0ZTtnb3JpZXMnOwokbGFuZ1sndGl0bGVfZGV0YWlsX2RmbHR0ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcGFyIGQmZWFjdXRlO2ZhdXQgcG91ciBsJiMwMzk7YWZmaWNoYWdlIGR1IGQmZWFjdXRlO3RhaWwnOwokbGFuZ1sndGl0bGVfc2VhcmNoX2RmbHR0ZW1wbGF0ZSddID0gJ0dhYmFyaXQgcGFyIGQmZWFjdXRlO2ZhdXQgZGVzIE5vdXZlbGxlcyByZWNoZXJjaGVzJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlfZGZsdHRlbXBsYXRlJ10gPSAnR2FiYXJpdCBwYXIgZCZlYWN1dGU7ZmF1dCBwb3VyIGwmIzAzOTthZmZpY2hhZ2UgZHUgc29tbWFpcmUnOwokbGFuZ1sndHlwZSddID0gJ1R5cGUgJzsKJGxhbmdbJ3VwJ10gPSAnUmVtb250ZXInOwokbGFuZ1sndXBkYXRlJ10gPSAnTWlzZSAmYWdyYXZlOyBqb3VyJzsKJGxhbmdbJ3VwbG9hZCddID0gJ0Nob2lzaXNzZXogbGUgZmljaGllciAmYWdyYXZlOyBlbnZveWVyJzsKJGxhbmdbJ3VybF9hbGlhcyddID0gJ0FsaWFzIFVSTCAnOwokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZGUnOwokbGFuZ1sndmFsdWUnXSA9ICdWYWxldXInOwokbGFuZ1sndmFsdWVzJ10gPSAnVmFsZXVycyc7CiRsYW5nWyd2aWV3J10gPSAnVnVlJzsKJGxhbmdbJ3ZpZXdhYmxlX2ZpZWxkcyddID0gJ1MmZWFjdXRlO2xlY3Rpb25uZXIgbGVzIGNoYW1wcyBwZXJzb25uYWxpcyZlYWN1dGU7cyAmYWdyYXZlOyBhZmZpY2hlciBkYW5zIGxhIGxpc3RlJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ0VtcGxhY2VtZW50IGR1IGZpbGlncmFuZSc7CiRsYW5nWyd3ZWlnaHQnXSA9ICdQb2lkcyc7CiRsYW5nWyd3aXRoX3NlbGVjdGVkJ10gPSAnUHJvZHVpdHMgcyZlYWN1dGU7bGVjdGlvbm4mZWFjdXRlO3MnOwokbGFuZ1sneWVzJ10gPSAnT3VpJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMjA2NTY4MDU3LjEzMTc2MjgwNTMuMTMxNzYyODA1My4xMzE3NjI4MDUzLjEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMTc2MjgwNTMuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FiYnJfbGVuZ3RoJ10gPSAnUCc7CiRsYW5nWydhYmJyX3dpZHRoJ10gPSAnTCc7CiRsYW5nWydhYmJyX2hlaWdodCddID0gJ0EnOwokbGFuZ1snYWRkJ10gPSAnQWdnaXVuZ2VyZSc7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ0FnZ2l1bmdlcmUgdW5hIGNhdGVnb3JpYSc7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0FnZ2l1bmdlcmUgdW4gY2FtcG8nOwokbGFuZ1snYWRqdXN0YWJsZSddID0gJ01vZGlmaWNhYmlsZSc7CiRsYW5nWydhZGRwcm9kdWN0J10gPSAnQWdnaXVuZ2VyZSB1biBQcm9kb3R0byc7CiRsYW5nWydhZGRfYXR0cmliX3NldCddID0gJ0FnZ2l1bmdlcmUgdW4gYXR0cmlidXRvJzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ0Fzc29jaWEgY2FtcG8gY29uIGNhdGVnb3JpYTogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnQWdnaXVuZ2VyZSB1biBJdGVtIGdlcmFyY2hpY28nOwokbGFuZ1snYWRkX29wdGlvbiddID0gJ0FnZ2l1bmdlcmUgdW5hIG9wemlvbmUgYXR0cmlidXRvJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdTb2xvIGwmIzAzOTthZG1pbiBwdSZvZ3JhdmU7IHZlcmUgcXVlc3RvIGF0dHJpYnV0bz8nOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdBbHRvIFNpbmlzdHJvJzsKJGxhbmdbJ2FsaWduX3VjJ10gPSAnQWx0byBDZW50cmF0byc7CiRsYW5nWydhbGlnbl91ciddID0gJ0FsdG8gRGVzdHJvJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnTWVkaW8gU2luaXN0cm8nOwokbGFuZ1snYWxpZ25fbWMnXSA9ICdDZW50cmF0byc7CiRsYW5nWydhbGlnbl9tciddID0gJ01lZGlvIERlc3Rybyc7CiRsYW5nWydhbGlnbl9sbCddID0gJ0Jhc3NvIFNpbmlzdHJvJzsKJGxhbmdbJ2FsaWduX2xjJ10gPSAnQmFzc28gQ2VudHJhdG8nOwokbGFuZ1snYWxpZ25fbHInXSA9ICdCYXNzbyBEZXN0cm8nOwokbGFuZ1snYWxsJ10gPSAnVHV0dGknOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ1R1dHRlIGxlIGNhdGVnb3JpZSc7CiRsYW5nWydhbnknXSA9ICdRdWFsc2lhc2knOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1NpZXRlIHNpY3VyaT8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnU2lldGUgc2ljdXJvIGRpIHZvbGVyIHByb3ByaW8gY2FuY2VsbGFyZSBxdWVzdG8gcHJvZG90dG8gZSB0dXR0ZSBsZSBpbmZvcm1hemlvbmkgY29ycmVsYXRlPyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBc2NlbmRlbnRlJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnTm9tZSBhdHRyaWJ1dG8nOwokbGFuZ1snYXV0b21hdGljJ10gPSAnQXV0b21hdGljbyc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ01vZGVsbGkgUmVwb3J0IGdlcmFyY2hpY2knOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSB1biBNb2RlbGxvIFJlcG9ydCBnZXJhcmNoaWNvJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbGxhJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWUnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yaWEnOwokbGFuZ1snY2F0ZWdvcnlleGlzdHMnXSA9ICdVbmEgY2F0ZWdvcmlhIGNvbiBxdWVsIG5vbWUgZ2kmYWdyYXZlOyBlc2lzdGUnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVzJ10gPSAnTW9kZWxsaSBMaXN0YSBjYXRlZ29yaWUnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FnZ2l1bmdlcmUvTW9kaWZpY2EgdW4gTW9kZWxsbyBMaXN0YUNhdGVnb3JpZSc7CiRsYW5nWydjZW50aW1ldGVycyddID0gJ0NlbnRpbWV0cmknOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCAnOwokbGFuZ1snY29uZmlybV9jb3B5YXR0cmlidXRlcyddID0gJ1R1dHRpIGwmIzAzOTtpbnNpZW1lIGRpIGF0dHJpYnV0aSBwZXIgcXVlc3RvIHByb2RvdHRvIHNhciZhZ3JhdmU7IHJpbW9zc28uIFNpZXRlIHNpY3VybyBkaSB2b2xlciBjb250aW51YXJlPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9oaWVyYXJjaHlfbm9kZSddID0gJ1NpZXRlIHNpY3VybyBkaSB2b2xlciBwcm9wcmlvIGNhbmNlbGxhcmUgcXVlc3RvIG5vZG8/IFR1dHRpIGkgcHJvZG90dGkgY2hlIHN0YW5ubyB1c2FuZG8gcXVlc3RvIG5vZG8gbm9uIHNhcmFubm8gcGkmdWdyYXZlOyBnZXJhcmNoaWNpJzsKJGxhbmdbJ2NvbmZpcm1faW1wb3J0J10gPSAnU2lldGUgdmVyYW1lbnRlIHNpY3VyaSBkaSB2b2xlciBmYXJlIHF1ZXN0bz9cblxuQ29uZmlndXJhemlvbmkgbm9uIGNvcnJldHRlIG8gdW4gZmlsZSBkaSBjb25maWd1cmF6aW9uZSBub24gdmFsaWRvIHBvdHJlYmJlcm8gY29ycm9tcGVyZSBpbCBzaXN0ZW1hLic7CiRsYW5nWydjb3B5J10gPSAnQ29waWEnOwokbGFuZ1snY29weV9hdHRyaWJfc2V0cyddID0gJ0NvcGlhIGwmIzAzOTtpbnNpZW1lIGRlZ2xpIEF0dHJpYnV0aSc7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnQ29waWEgQ2F0ZWdvcmlhJzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnRGF0YSBkaSBjcmVhemlvbmUnOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ1ZhbG9yZSBjb3JyZW50ZSc7CiRsYW5nWydkYXRhJ10gPSAnRGF0YSAnOwokbGFuZ1snZGVmYXVsdCddID0gJ1ByZWRlZmluaXRvJzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdNb2RlbGxpIHByZWRlZmluaXRpJzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVfbm90aWNlJ10gPSAnPHN0cm9uZz5Ob3RhOjwvc3Ryb25nPiBJbCBjb250ZW51dG8gZGkgcXVlc3RlIGFyZWUgdGVzdG8gc29ubyB1c2F0ZSBwZXIgZGV0ZXJtaW5hcmUgaWwgY29udGVudXRvIHByZWRlZmluaXRvIGRlaSBNb2RlbGxpIHF1YW5kbyBzY2VnbGlldGUgJnF1b3Q7QWdnaXVuZ2VyZSBNb2RlbGxvJnF1b3Q7IG5lbGwmIzAzOTthcHByb3ByaWF0byB0YWIuIE1vZGlmaWNhbmRvIHVuYSBkaSBxdWVzdGUgYXJlZSB0ZXN0byBub24gYXZyYW5ubyBuZXNzdW4gZWZmZXR0byBzdWwgdm9zdHJvIHNpdG8uJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0NhbmNlbGxhJzsKJGxhbmdbJ2RlbGV0ZV9hdHRyaWJzZXQnXSA9ICdDYW5jZWxsYSBhdHRyaWJ1dG8nOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnQ2FuY2VsbGEgdW4gSXRlbSBnZXJhcmNoaWNvJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdEaXNjZW5kZW50ZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaXppb25lJzsKJGxhbmdbJ2Rlc3RpbmF0aW9uJ10gPSAnRGVzdGluYXppb25lJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXR0YWdsaSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdNb2RlbGxpIERldHRhZ2xpbyc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSB1biBNb2RlbGxvIERldHRhZ2xpbyc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAnRGltZW5zaW9uaSc7CiRsYW5nWydkaXNhYmxlZCddID0gJ0Rpc2FiaWxpdGF0byc7CiRsYW5nWydkb3duJ10gPSAnTXVvdmkgZ2kmdWdyYXZlOyc7CiRsYW5nWydkcmFmdCddID0gJ0JvenphJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnVGVuZGluYSc7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnT3B6aW9uaSBUZW5kaW5hIDxlbT4oYXBwbGljYWJpbGUgc29sbyBwZXIgY2FtcGkgZHJvcGRvd24pPC9lbT48YnIvPjxici8+PGVtPih1biB0ZXJtaW5lIHBlciBvZ25pIHJpZ2EpPC9lbT4nOwokbGFuZ1snZWRpdCddID0gJ01vZGlmaWNhJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0J10gPSAnTW9kaWZpY2EgQXR0cmlidXRvJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ01vZGlmaWNhIHNldHRhZ2dpIEF0dHJpYnV0byc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHNfZm9yJ10gPSAnTW9kaWZpY2Egc2V0dGFnZ2kgQXR0cmlidXRvIHBlcic7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdNb2RpZmljYSBBdHRyaWJ1dGknOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ01vZGlmaWNhIENhdGVnb3JpYSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ01vZGlmaWNhIGNhbXBpIGRlbGxhIENhdGVnb3JpYSc7CiRsYW5nWydlZGl0X2hpZXJhcmNoeV9pdGVtJ10gPSAnTW9kaWZpY2EgdW4gSXRlbSBnZXJhcmNoaWNvJzsKJGxhbmdbJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnXSA9ICdVbiBhdHRyaWJ1dG8gY29uIHF1ZWwgbm9tZSBnaSZhZ3JhdmU7IGVzaXN0ZSc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVfc2t1J10gPSAnRHVwbGljYSBpbCB2YWxvcmUgU0tVIHRyb3ZhdG8nOwokbGFuZ1snZXJyb3JfZmllbGR2YWx1ZV9lbXB0eSddID0gJ0lsIHZhbG9yZSBkZWwgY2FtcG8gbm9uIHB1Jm9ncmF2ZTsgZXNzZXJlIHZ1b3RvJzsKJGxhbmdbJ2Vycm9yX2ZpbGVmb3JtYXQnXSA9ICdQcm9ibGVtYSBuZWwgZm9ybWF0byBGaWxlJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0ZpbGUgbm9uIHRyb3ZhdG8nOwokbGFuZ1snZXJyb3JfZmlsZW9wZW4nXSA9ICdQcm9ibGVtYSBuZWxsJiMwMzk7YXBlcnR1cmEgZGVsIEZpbGUgJXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmVudCddID0gJ1BhcmVudCBpbnZhbGlkbyAodW4gbm9kbyBnZXJhcmNoaWNvIG5vbiBwdSZvZ3JhdmU7IGVzc2VyZSBpbCBwcm9wcmlvIHBhcmVudCknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9uYW1lJ10gPSAnSWwgdmFsb3JlIGRlbCBjYW1wbyBwZXJzb25hbGl6emF0byBub24gJmVncmF2ZTsgdmFsaWRvIChjb250aWVuZSBjYXJhdHRlcmkgbm9uIGFsZmFudW1lcmljaSknOwokbGFuZ1snZXJyb3JfaW52YWxpZF92YWx1ZSddID0gJ1ZhbHVlIHNwZWNpZmljYXRvIG5vbiB2YWxpZG8nOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnVW4gcGFyYW1ldHJvIHJpY2hpZXN0byAmZWdyYXZlOyBtYW5jYW50ZSBvIG5vbiB2YWxpZG8nOwokbGFuZ1snZXJyb3JfbmFtZXVzZWQnXSA9ICdVbiBpdGVtIGNvbiBxdWVsIG5vbWUgJmVncmF2ZTsgZ2kmYWdyYXZlOyBpbiB1c28nOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdTaSBwcmVnYSBzaSBzZWxlemlvbmFyZSBpbCB0aXBvIGRpIGNhbXBvJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ1R1IGRldmkgYWdnaXVuZ2VyZSB1biBub21lJzsKJGxhbmdbJ2Vycm9yX29uZXN1YnNjcmlwdGlvbmZpZWxkJ10gPSAnU29sbyB1biBjYW1wbyBkaSBzb3R0b3Njcml6aW9uZSAmZWdyYXZlOyBwZXJtZXNzbyc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnUGVybWVzc28gbmVnYXRvJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfYWxpYXN1c2VkJ10gPSAnTG8gc3BlY2lmaWNhdG8gYWxpYXMgJmVncmF2ZTsgZ2kmYWdyYXZlOyBpbiB1c28nOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9uYW1ldXNlZCddID0gJ1VuIFByb2RvdHRvIGNvbiBxdWVsIG5vbWUgZ2kmYWdyYXZlOyBlc2lzdGUnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9ub3Rmb3VuZCddID0gJ2lsIHByb2RvdHRvIHJpY2hpZXN0byBub24gcHUmb2dyYXZlOyBlc3NlcmUgdHJvdmF0byc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X3NrdXVzZWQnXSA9ICdJbCB2YWxvcmUgZGkgU0tVICZlZ3JhdmU7IGdpJmFncmF2ZTsgaW4gdXNvIGRhIHVuJiMwMzk7YWx0cm8gcHJvZG90dG8nOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ1ZhbG9yZSBkZWwgcHJlenpvIGRpIGFkZWd1YW1lbnRvIG5vbiB2YWxpZG8gcGVyIGlsIHRlcm1pbmUgJXMnOwokbGFuZ1snZXJyb3JfdXBsb2FkX2ZhaWxlZCddID0gJ1VwbG9hZCBmYWxsaXRvOiAlcyc7CiRsYW5nWydleHBpcmVfc2l4X21vbnRocyddID0gJ0RvcG8gNiBNZXNpJzsKJGxhbmdbJ2V4cGlyZV9vbmVfeWVhciddID0gJ0RvcG8gMSBhbm5vJzsKJGxhbmdbJ2V4cGlyZV90d29feWVhciddID0gJ0RvcG8gMiBhbm5pJzsKJGxhbmdbJ2V4dHJhMSddID0gJ0NhbXBvIEV4dHJhIDEnOwokbGFuZ1snZXh0cmEyJ10gPSAnQ2FtcG8gRXh0cmEgMic7CiRsYW5nWydmaWVsZCddID0gJ0NhbXBvJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRGVmaW5pemlvbmUgQ2FtcG8nOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRGVmaW5pemlvbmkgQ2FtcG8nOwokbGFuZ1snZmlsZSddID0gJ0ZpbGUgJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0cmknOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ0NvbmZpZ3VyYXppb25pIGdlbmVyYWxpJzsKJGxhbmdbJ2dvJ10gPSAnVmFpJzsKJGxhbmdbJ2hpZXJhcmNoeSddID0gJ0dlcmFyY2hpYSc7CiRsYW5nWydoaWVyYXJjaHlfcG9zaXRpb24nXSA9ICdQb3NpemlvbmUgZ2VyYXJjaGlhJzsKJGxhbmdbJ2hpZXJhcmNoeV9zZXR0aW5ncyddID0gJ0NvbmZpZ3VyYXppb25pIGRlbGxhIEdlcmFyY2hpYSc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ0ltbWFnaW5lJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX3NldHRpbmdzJ10gPSAnQ29uZmlndXJhemlvbmUgSW1tYWdpbmknOwokbGFuZ1snaW1wb3J0X2Zyb21fY3N2J10gPSAnUHJvZG90dGkgaW1wb3J0YXRpIGRhIGZpbGUgQ1NWJzsKJGxhbmdbJ2luY2hlcyddID0gJ1BvbGxpY2knOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ0luY2x1ZG8gRmlnbGk/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnU29sbyBjYXJhdHRlcmkgYWxmYW51bWVyaWNpLiBObyBzcGF6aSwgdmlyZ29sZXR0ZSwgYXBpY2kgbyBjb21iaW5hemlvbmkgbGV0dGVyZS9udW1lcmknOwokbGFuZ1snaW5mb19hdHRyaWJ0ZW1wbGF0ZSddID0gJ1ZhbG9yaSBwb3NzaWJpbGkgc29ubzogeyRhdHRyaWJfdGV4dH0seyRhdHRyaWJfYWRqdXN0fSx7JGN1cnJlbmN5X3N5bWJvbH0nOwokbGFuZ1snaW5mb19hdHRyaWJ1dGVzX2NvcGllZCddID0gJ0F0dHJpYnV0aSBDb3BpYXRpJzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ0NvbmZpZ3VyYXppb25lIGRlaSBXYXRlcm1hcmsgc29ubyBwcmVzZSBkYWwgbW9kdWxvIENHRXh0ZW5zaW9ucyc7CiRsYW5nWydpbmZvX2JhdGNoc2l6ZSddID0gJ1NldCB0aGUgbnVtYmVyIG9mIGxpbmVzIHRvIHByb2Nlc3MgcGVyICZxdW90O2JhdGNoJnF1b3Q7LiAgQWZ0ZXIgYSBiYXRjaCBpcyBjb21wbGV0ZSwgdGhlIGltcG9ydGVyIHdpbGwgcmVkaXJlY3QsIGFuZCByZXN1bWUgb3BlcmF0aW9ucy4gIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIG1lbW9yeSBlcnJvcnMsIG9yIHRpbWVvdXQgcHJvYmxlbXMgZHVlIHRvIGxhcmdlIGFtb3VudHMgb2YgcHJvY2Vzc2luZywgeW91IG1heSBuZWVkIHRvIGNvbnN1bHQgeW91ciBob3N0IHByb3ZpZGVyLCBvciByZWR1Y2UgdGhpcyBudW1iZXInOwokbGFuZ1snaW5mb19jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdRdWVzdGkgcGFyYW1ldHJpIHNvbm8gZGF0aSBhbCBtb2R1bG8gQ2FycmVsbG8gc2VsZXppb25hdG8gZGFsIGRldHRhZ2xpbyBwcm9kb3R0aSBlIHZpc3VhbGl6emF6aW9uZSBzb21tYXJpbyc7CiRsYW5nWydpbmZvX2NvcHlfYXR0cmlic2V0cyddID0gJ1F1ZXN0YSBhemlvbmUgY29waWVyJmFncmF2ZTsgbCYjMDM5O2luc2llbWUgZGVnbGkgQXR0cmlidXRpIChlc2NsdWRlbmRvIGkgdmFsb3JpIHNrdSkgZGEgdW4gYWx0cm8gcHJvZG90dG8uJzsKJGxhbmdbJ2luZm9fY3JlYXRlZmllbGRzJ10gPSAnQ3JlbyBhdXRvbWF0aWNhbWVudGUgY2FtcGkgcHJvZG90dGkgc2VuemEgbm9tZT8gPGVtPihTYXJhbm5vIGNyZWF0aSBjb21lIGNhbXBpIHRlc3RvKTwvZW0+JzsKJGxhbmdbJ2luZm9fY3JlYXRlY2F0ZWdvcmllcyddID0gJ0F1dG9tYXRpY2FtZW50ZSBjcmVvIGNhdGVnb3JpZSBwcm9kdXR0byBjaGUgY29pbmNpZG9ubyBjb24gcXVlbGxlIGRlbCBmaWxlIENTViwgc2Ugbm9uIGVzaXN0b25vIGFuY29yYSc7CiRsYW5nWydpbmZvX2NyZWF0ZWhpZXJhcmNoeSddID0gJ0F1dG9tYXRpY2FtZW50ZSBjcmVvIGdlcmFyY2hpZSBwcm9kdXR0byBjaGUgY29pbmNpZG9ubyBjb24gcXVlbGxlIGRlbCBmaWxlIENTViwgc2Ugbm9uIGVzaXN0b25vIGFuY29yYSc7CiRsYW5nWydpbmZvX2RlY2ltYWxfdW5pdHMnXSA9ICdRdWVzdG8gc2lzdGVtYSBjYXBpc2NlIGlsIHB1bnRvICguKSBjb21lIHNlcGFyYXRvcmUgZGVjaW1hbGUuIGFkIGVzZW1waW86IDxzdHJvbmc+NS4yNTwvc3Ryb25nPic7CiRsYW5nWydpbmZvX2RlbGltaXRlciddID0gJ1NwZWNpZmljYSBpbCBjYXJhdHRlcmUgKG8gY2FyYXR0ZXJpKSBjaGUgc2VwYXJhbm8gY2lhc2N1biBjYW1wbyc7CiRsYW5nWydpbmZvX2R1cGxpY2F0ZXByb2R1Y3RzJ10gPSAnU3BlY2lmaWNhIGNvbWUgaWwgc2lzdGVtYSBkb3ZyZWJiZSB0ZW5lcmUgdW4gcHJvZG90dG8gcXVhbmRvIGlsIG5vbWUgc2VtcHJlIGVzaXN0ZSBuZWwgZmlsZSBDU1YnOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz5Ob3RhOjwvc3Ryb25nPiBUdXR0aSBpIENhbXBpIHF1YSBkZWZpbml0aSBzb25vIHV0aWxpenphYmlsaSBwZXIgdHV0dGkgaSBwcm9kb3R0aS4nOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnUHJvYmxlbWEgY29uIHVubyBvIHBpJnVncmF2ZTsgZGVpIGNhbXBpIHBlcnNvbmFsaXp6YXRpLiBMJiMwMzk7YXppb25lIGhhIHRlcm1pbmF0byBjb24gc3VjY2Vzc28sIHR1dHRhdmlhIHZvaSBkb3ZyZXN0ZSBpbnZlc3RpZ2FyZSBlIGNvcnJlZ2dlcmUgcXVlc3RpIHByb2JsZW1pJzsKJGxhbmdbJ2luZm9faGFuZGxlaW1hZ2VzJ10gPSAnVXBvbiBpbXBvcnQsIGlmIGFuIGltYWdlIGZpbGVuYW1lIGlzIGZvdW5kIGluIGEgZmllbGQgY29sdW1uLCBzaG91bGQgaXQgYmUgbW92ZWQgZnJvbSB0aGUgc291cmNlIGxvY2F0aW9uLCB3YXRlcm1hcmtlZCwgdGh1bWJuYWlsZWQsIGFuZCB0aGUgZmllbGQgdHlwZSBjaGFuZ2VkIHRvICZxdW90O2ltYWdlJnF1b3Q7JzsKJGxhbmdbJ2luZm9faGllcnBhZ2UnXSA9ICdVc2EgcXVlc3RhIHBhZ2luYSBwZXIgbGEgdmlzdWFsaXp6YXppb25lIGdlcmFyY2hpY2EuICBJbCBwYWdlaWQgbm9uIHNhciZhZ3JhdmU7IHNwZWNpZmljYXRvIG5lbGwmIzAzOTtVUkwuJzsKJGxhbmdbJ2luZm9faW1hZ2VwYXRoJ10gPSAnSWwgcGF0aCAocmVsYXRpdm8gYWxsYSBkaXJlY3RvcnkgZGkgdXBsb2FkcykgZG92ZSBsZSBpbW1hZ2luaSwgcmlmZXJpdGUgYWwgZmlsZSBkaSBpbXBvcnRhemlvbmUsIHBvc3Nvbm8gZXNzZXJlIHRyb3ZhdGUnOwokbGFuZ1snaW5mb19pbXBvcnRfdGVzdF9wYXNzZWQnXSA9ICdBIGJyaWVmIHRlc3QgYXMgYmVlbiBwZXJmb3JtZWQgb24gdGhlIGlucHV0IGZpbGUgc3BlY2lmaWVkLCBhbmQgZXZlcnl0aGluZyBhcHBlYXJzIHRvIGJlIGNvcnJlY3QuPGJyLz5UaGlzIGlzIG5vIGluZGljYXRpb24gdGhhdCB0aGVyZSBhcmUgbm8gZXJyb3JzIGluIHRoZSBmaWxlLic7CiRsYW5nWydpbmZvX3ByZXR0eWhpZXJ1cmxzJ10gPSAnSW5jbHVkZSB0aGUgaGllcmFyY2h5IGl0ZW0gbmFtZSBvbiB0aGUgVVJMJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ1ZhbG9yaSB2YWxpZGkgc29ubyArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHJvZG5vdGZvdW5kJ10gPSAnVGhpcyBvcHRpb24gZGV0ZXJtaW5lcyB0aGUgYmVoYXZpb3VyIG9mIHRoZSB3ZWJzaXRlIGlmIGEgcHJvZHVjdCBkZXRhaWwgdmlldyBpcyBhY2Nlc3NlZCBkaXJlY3RseSBieSBVUkwsIGFuZCB0aGF0IHByb2R1Y3QgZm9yIHdoYXRldmVyIHJlYXNvbiAoZGlzYWJsZWQsIGRlbGV0ZWQsIGV0YykgY2Fubm90IGJlIGFjY2Vzc2VkLic7CiRsYW5nWydpbmZvX3B1YmxpY2ZpZWxkJ10gPSAnQ2FtcGkgcHViYmxpY2kgc29ubyB1dGlsaXp6YWJpbGkgcGVyIGlsIHB1YmJsaWNvIGRhIHZlZGVyZSc7CiRsYW5nWydsYWJlbCddID0gJ0V0aWNoZXR0YSc7CiRsYW5nWydsYWJlbF9za2lwJ10gPSAnU2FsdGEnOwokbGFuZ1snbGFiZWxfb3ZlcndyaXRlJ10gPSAnU292cmFzY3Jpdm8nOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnVWx0aW1hIG1vZGlmaWNhJzsKJGxhbmdbJ2xvZ290ZXh0J10gPSAnU2Vjb25kYSBpbW1hZ2luZSc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYXNzaW1hIGx1bmdoZXp6YSA8ZW0+KGFwcGxpY2FiaWxlIHNvbG8gc3UgY2FtcGkgdGV4dGJveCk8L2VtPic7CiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICdEYXRhIGRpIG1vZGlmaWNhJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ1VuIG1vZHVsbyBwZXIgZ2VzdGlyZSB1biBjYXRhbG9nbyBkaSBwcm9kb3R0aSwgbG9ybyBwcmV6emksIGltbWFnaW5pLCBldGMsIGUgcGVybWV0dGUgYWdsaSB1dGVudGkgZGkgY29zdHJ1aXJlIHVuIGNhcnJlbGxvJzsKJGxhbmdbJ21vdmVfZG93biddID0gJ011b3ZpIGdpJnVncmF2ZTsnOwokbGFuZ1snbW92ZV91cCddID0gJ011b3ZpIHN1JzsKJGxhbmdbJ25hbWUnXSA9ICdOb21lJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnTm9uIGF2ZXRlIGkgcGVybWVzc2kgcmljaGllc3RpOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ051b3ZvIG5vbWUgQ2F0ZWdvcmlhJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydubyddID0gJ05vICc7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ05lc3N1biBub21lIGluc2VyaXRvJzsKJGxhbmdbJ25vbmUnXSA9ICdOZXNzdW5vJzsKJGxhbmdbJ29mJ10gPSAnZGknOwokbGFuZ1sncGFnZSddID0gJ1BhZ2luYSc7CiRsYW5nWydwYWdlX29mJ10gPSAnUGFnaW5hICVzIGRpICVzJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICdMaW1pdGUgcGFnaW5hJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPmhpZXJhcmNoeSAtLSBEaXNwbGF5IGEgcHJvZHVjdCBsaXN0IGJ5IGhpZXJhcmNoeTwvbGk+DQogIDxsaT5jYXRlZ29yeWxpc3QgLSBEaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0IGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIHByb2R1Y3RzPC9saT4NCiAgPGxpPmRldGFpbHMgLSBEaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgcHJvZHVjdDwvbGk+DQogIDxsaT5maWVsZGxpc3QgLSBEaXNwbGF5IGEgbGlzdCBvZiB2YWx1ZXMgZnJvbSBhIHNwZWNpZmllZCBmaWVsZC4NCiAgICAgPHA+DQogLSBUaGlzIGFjdGlvbiBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYSBuYXZpZ2F0aW9uIGZyb20gdGhlIHZhbHVlcyBvZiBhIHNwZWNpZmljIGZpZWxkLiAgaS5lOiAgeW91IGNvdWxkIGNyZWF0ZSBhIGN1c3RvbSBkcm9wZG93biBmaWVsZCBjYWxsZWQgJnF1b3Q7Y29sb3ImcXVvdDsgYW5kIHRoZW4gY3JlYXRlIGEgbmF2aWdhdGlvbiBiYXNlZCBvbiB0aGUgZGlmZmVyZW50IGNvbG9ycy4NCiAgICAgPC9wPg0KICA8L2xpPg0KICA8bGk+c2VhcmNoIC0gRGlzcGxheSBhIGZvcm0gdG8gYWxsb3cgc2VhcmNoaW5nIHByb2R1Y3RzIG9uIHZhcmlvdXMgY3JpdGVyaXVtPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnUXVhbmRvIHVzYXRvIG5lbCBtb2RvIDxlbT5kZWZhdWx0PC9lbT4gc29tbWFyaW8sIHF1ZXN0byBwYXJhbWV0cm8sIGRvdnJlYmJlIGNvcnJpc3BvbmRlcmUgY29sIG5vbWUgZGkgdW5hIGNhdGVnb3JpYSBlc2lzdGVudGUgdXNhdGEgcGVyIHZpc3VhbGl6emFyZSBzb2xvIHF1ZWkgdGVybWluaSBjaGUgc29ubyBpbiBxdWVsbGEgY2F0ZWdvcmlhLiAocHUmb2dyYXZlOyBlc3NlcmUgZm9ybml0YSB1bmEgbGlzdGEgc2VwYXJhdGEgZGEgdmlyZ29sYSknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdVdGlsZSBzb2xvIGNvbiBsJiMwMzk7YXppb25lIGNhdGVnb3J5bGlzdCwgcXVlc3RvIHBhcmFtZXRybyBpbmRpY2EgaWwgTW9kZWxsbyBjaGUgZG92cmViYmUgZXNzZXJlIHV0aWxpenphdG8gcGVyIGxhIHZpc3VhbGl6emF6aW9uZS4gU2UgbmVzc3VuIHZhbG9yZSAmZWdyYXZlOyBzcGVjaWZpY2F0byBhbGxvcmEgJmVncmF2ZTsgdXNhdG8gaWwgTW9kZWxsbyBwcmVkZWZpbml0byBjb3JyZW50ZSBkaSBxdWVsIHRpcG8uJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdGR0bHRlbXBsYXRlJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkgb2YgdGhlIGNhdGVnb3J5IGRldGFpbHMuICBUaGlzIHVzZXMgYSBjYXRlZ29yeSBsaXN0IHRlbXBsYXRlLi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdRdWVzdG8gc3BlY2lmaWNhIGlsIElEIGRpIHBhZ2luYSBvIGFsaWFzIGNoZSBkb3ZyZWJiZSBlc3NlcmUgdXNhdG8gcGVyIHZpc3VhbGl6emFyZSBpbCByZXBvcnQgZGV0dGFnbGlvLic7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1F1ZXN0byBwYXJhbWV0cm8gc3BlY2lmaWNhIGlsIE1vZGVsbG8gY2hlIGRvdnJlYmJlIGVzc2VyZSB1c2F0byBwZXIgbGEgdmlzdWFsaXp6YXppb25lIGRldHRhZ2xpby4gU2UgbmVzc3VuIHZhbG9yZSAmZWdyYXZlOyBzcGVjaWZpY2F0bywgYWxsb3JhIHNhciZhZ3JhdmU7IHVzYXRvIGlsIE1vZGVsbG8gcHJlZGVmaW5pdG8gZGVsIHRpcG8gY29ycmVudGUuJzsKJGxhbmdbJ3BhcmFtX2ZpZWxkJ10gPSAnVXNhdG8gc29sbyBuZWwgPGVtPmZpZWxkbGlzdDwvZW0+IHF1ZXN0byBwYXJhbWV0cm8gJmVncmF2ZTsgcmljaGllc3RvIHBlciBzcGVjaWZpY2FyZSBpbCBub21lIGRpIHVuIHVzZXIgZGVmaW5lZCBwcm9wZXJ0eSBwZXIgY3JlYXJlIHVuYSBsaXN0YS4nOwokbGFuZ1sncGFyYW1fZmllbGR2YWwnXSA9ICdVc2VkIG9ubHkgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGZpZWxkIHZhbHVlIHRvIGxpbWl0IHJlc3VsdHMgYnkuICBTcGVjaWFsIHZhbHVlcyBmb3IgdGhpcyBmaWVsZCBhcmUgJnF1b3Q7OjpudWxsOjomcXVvdDsgJnF1b3Q7Ojpub3RudWxsOjomcXVvdDsnOwokbGFuZ1sncGFyYW1faGllcmFyY2h5J10gPSAnVXRpbGUgc29sbyBjb24gbCYjMDM5O2F6aW9uZSA8ZW0+ZGVmYXVsdDwvZW0+LCBxdWVzdG8gcGFyYW1ldHJvIHNwZWNpZmljYSBjaGUgc29sb2kgdGVybWluaSBuZWxsYSBsb2NhemlvbmUgZ2VyYXJjaGljYSBkb3ZyZWJiZXJvIGVzc2VyZSB2aXN1YWxpenphdGkuIENhcmF0dGVyaSB3aWxkY2FyZCBwb3Nzb25vIGVzc2VyZSB1c2F0aSBjb3MmaWdyYXZlOyBjaGUgdm9pIHBvdGV0ZSBzcGVjaWZpY2FyZSByZWxhemlvbmkgcGFyZW50L2ZpZ2xpLiBQZXIgZXNlbXBpbyB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5O3RydWNrcyomIzAzOTt9IGNyZWEgdW4gcmVwb3J0IHNvbW1hcmlvIGRpIHR1dHRpIGkgdHJ1Y2tzLCBpbmNsdXNvIGkgZmlnbGkgbmVsbGEgZ2VyYXJjaGlhLiBTaW1pbG1lbnRlLCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5Oyp0cnVja3MmIzAzOTt9IHZpc3VhbGl6emEgdW4gcmVwb3J0IHNvbW1hcmlvIGRpIHR1dHRpIGkgdHJ1Y2tzIGUgdHV0dGkgaSBwcm9kb3R0aSB0ZW51dGkgZGEgb2duaSBwYXJlbnQgbmVsbGEgZ2VyYXJjaGlhLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ1F1ZXN0byBwYXJhbWV0cm8gc3BlY2lmaWNhIGlsIE1vZGVsbG8gY2hlIGRvdnJlYmJlIGVzc2VyZSB1c2F0byBwZXIgbGEgdmlzdWFsaXp6YXppb25lIGdlcmFyY2hpYS4gU2UgbmVzc3VuIHZhbG9yZSAmZWdyYXZlOyBzcGVjaWZpY2F0bywgYWxsb3JhIHNhciZhZ3JhdmU7IHVzYXRvIGlsIE1vZGVsbG8gcHJlZGVmaW5pdG8gZGkgcXVlbCB0aXBvLic7CiRsYW5nWydwYXJhbV9pbmxpbmUnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCB0aGUgb3V0cHV0IG9mIHRoZSBzdW1tYXJ5IHZpZXcgc2hvdWxkIGJlIGRpc3BsYXllZCBpbmxpbmUnOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnVXRpbGUgc29sbyBjb24gbCYjMDM5O2F6aW9uZSA8ZW0+ZGVmYXVsdDwvZW0+LCBxdWVzdG8gcGFyYW1ldHJvIHNwZWNpZmljYSBxdWFudGkgdGVybWluaSBkb3ZyZWJiZXJvIGVzc2VyZSB2aXN1YWxpenphdGkgc3UgY2lhc2N1bmEgcGFnaW5hLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdVdGlsZSBzb2xvIGNvbiBsJiMwMzk7YXppb25lIDxlbT5nZXJhcmNoaWE8L2VtPiwgcXVlc3RvIHBhcmFtZXRybyBzcGVjaWZpY2EgbCYjMDM5O2lkIGRlbGxhIGdlcmFyY2hpYSBkZWxsYSBsb2NhemlvbmUgZGkgcGFydGVuemEgZGVsIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGlkJ10gPSAnVXRpbGUgc29sbyBjb24gbCYjMDM5O2F6aW9uZSBkZXR0YWdsaW8sIHF1ZXN0byBwYXJhbWV0cm8gaW5kaWNhIGlsIHByb2RvdHRvIGNoZSBkb3ZyZWJiZSBlc3NlcmUgdXRpbGl6emF0byBwZXIgbGEgdmlzdWFsaXp6YXppb25lLic7CiRsYW5nWydwYXJhbV9wcm9kdWN0bGlzdCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBpbnRlZ2VyIHByb2R1Y3QgaWRzIHRvIGRpc3BsYXkuICBObyBwYWdpbmF0aW9uIG9yIHNvcnRpbmcgaXMgcGVyZm9ybWVkIG9uIHRoZXNlIHZhbHVlcywgYW5kIGlmIHNwZWNpZmllZCB0aGUgb3RoZXIgZmlsdGVyaW5nIHBhcmFtZXRlcnMgdG8gdGhlIHN1bW1hcnkgdmlldyBhcmUgaWdub3JlZC4nOwokbGFuZ1sncGFyYW1fcmVzdWx0cGFnZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoLCBhbmQgY2F0ZWdvcnkgbGlzdCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgYSBwYWdlIGlkIG9yIGFsaWFzIHRvIHVzZSB0byBkaXNwbGF5IHRoZSBzdW1tYXJ5IHJlc3VsdHMnOwokbGFuZ1sncGFyYW1fc2VhcmNoZmllbGQnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIG1heSBjb250YWluIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZmllbGQgbmFtZXMgdG8gaW5jbHVkZSBpbiB0aGUgc2VhcmNoJzsKJGxhbmdbJ3BhcmFtX3NlYXJjaGZvcm10ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpc3BhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCBmb3JtIHRlbXBsYXRlJzsKJGxhbmdbJ3BhcmFtX3Nob3dhbGwnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGNhdGVnb3J5bGlzdCBhbmQgZmllbGRsaXN0IGFjdGlvbnMsIGlmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIG5vbiAwIGludGVnZXIgdmFsdWUgYWxsIGNhdGVnb3JpZXMgKGV2ZW4gdGhvc2Ugd2l0aG91dCBwcm9kdWN0cykgd2lsbCBiZSBkaXNwbGF5ZWQuJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ1NwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnQXBwbGljYWJsZSBvbmx5IGluIHRoZSBzdW1tYXJ5IG9yIHNlYXJjaCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQgcHJvZHVjdHMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+aWQgLS0gVGhlIHByb2R1Y3QgaWQ8L2xpPg0KICA8bGk+d2VpZ2h0IC0tIFRoZSBwcm9kdWN0IHdlaWdodDwvbGk+DQogIDxsaT5wcmljZSAtLSBUaGUgcHJvZHVjdCBiYXNlIHByaWNlPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPmY6ZmllbGRuYW1lIC0tIEFsbG93cyBzb3J0aW5nIGJ5IHZhbHVlcyBvZiBjdXN0b20gZmllbGRzLjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0dHlwZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCBzdW1tYXJ5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGlzIHVzZWQgdG8gY29udmVydCB0aGUgdmFsdWVzIHRvIGFub3RoZXIgdHlwZSBmb3Igc29ydGluZy4gIHZhbGlkIHZhbHVlcyBhcmUgU1RSSU5HLFNJR05FRCBhbmQgVU5TSUdORUQuICBJZiBub3Qgc3VwcGxpZWQgdGhlIGRlZmF1bHQgU1RSSU5HIHR5cGUgaXMgYXNzdW1lZC4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXBhZ2UnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGFjdGlvbj1oaWVyYXJjaHksIGFsbG93cyBzcGVjaWZ5aW5nIGEgcGFnZSBpZCBvciBhbGlhcyB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgYW55IGxpbmtzIHRvIHN1bW1hcnkgdmlldyc7CiRsYW5nWydwYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdRdWVzdG8gcGFyYW1ldHJvIHNwZWNpZmljYSBpbCBNb2RlbGxvIGNoZSBzYXImYWdyYXZlOyB1dGlsaXp6YXRvIHBlciBsYSB2aXN1YWxpenphemlvbmUgZGVsIG1vZG8gc29tbWFyaW8uIFNlIG5lc3N1biB2YWxvcmUgJmVncmF2ZTsgc3BlY2lmaWNhdG8sIGFsbG9yYSBpbCBzYXImYWdyYXZlOyB1dGlsaXp6YXRvIGlsIE1vZGVsbG8gcHJlZGVmaW5pdG8gZGkgcXVlbCB0aXBvLic7CiRsYW5nWydwYXJlbnQnXSA9ICdQYWRyZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0lsIG1vZHVsbyBQcm9kdWN0cyAmZWdyYXZlOyBzdGF0byBpbnN0YWxsYXRvIGNvbiBzdWNjZXNzbyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnSWwgbW9kdWxvIFByb2R1Y3RzICZlZ3JhdmU7IHN0YXRvIHJpbW9zc28gY29uIHR1dHRpIGkgZGF0aSBhc3NvY2lhdGknOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbnplJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1JpbXVvdmVyZSBxdWVzdG8gbW9kdWxvIHJpbXVvdmVyJmFncmF2ZTsgYW5jaGUgdHV0dGkgaSBkYXRpIGFzc29jaWF0aSwgc2lldGUgc2ljdXJpIGRpIHZvbGVyIHByb2NlZGVyZT8nOwokbGFuZ1sncHJpY2UnXSA9ICdQcmV6em8nOwokbGFuZ1sncHJpY2VfYWRqdXN0bWVudCddID0gJ1ByZXp6byBkaSBhZGVndWFtZW50byc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJvZHVjdCddID0gJ1Byb2RvdHRvJzsKJGxhbmdbJ3Byb2R1Y3RuYW1lJ10gPSAnTm9tZSBQcm9kb3R0byc7CiRsYW5nWydwcm9kdWN0cyddID0gJ0dlc3Rpb25lIFByb2RvdHRvJzsKJGxhbmdbJ3Byb2R1Y3RfZGV0YWlsX3NldHRpbmdzJ10gPSAnQ29uZmlndXJhemlvbmkgZGV0dGFnbGlvIFByb2RvdHRpJzsKJGxhbmdbJ3Byb2R1Y3RfZWRpdGluZ19zZXR0aW5ncyddID0gJ1Byb2R1Y3QgRWRpdGluZyBTZXR0aW5ncyc7CiRsYW5nWydwcm9kdWN0X3N1bW1hcnlfc2V0dGluZ3MnXSA9ICdQcm9kdWN0IFN1bW1hcnkgU2V0dGluZ3MnOwokbGFuZ1sncHJvZHVjdF9oaWVyYXJjaHknXSA9ICdHZXJhcmNoaWEgUHJvZG90dG8nOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnR2VzdG9yZSBQcm9kb3R0byc7CiRsYW5nWydwcm9ncmVzcyddID0gJ0F2YW56YW1lbnRvJzsKJGxhbmdbJ3Byb21wdCddID0gJ1Byb21wdCAnOwokbGFuZ1sncHJvbXB0X2FkZF9hdHRyaWJzZXQnXSA9ICdBZ2dpdW5nZXJlL01vZGlmaWNhIEF0dHJpYnV0aSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnXSA9ICdQZXJtZXR0ZXJlIGwmIzAzOTt1cGxvYWQgZGkgZmlsZXMgY29uIHF1ZXN0ZSBlc3RlbnNpb25pIChwZXIgY2FtcGkgdGlwbyBmaWxlKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZXR5cGVzJ10gPSAnUGVybWV0dGVyZSBsJiMwMzk7dXBsb2FkIGRpIGltbWFnaW5pIGNvbiBxdWVzdGUgZXN0ZW5zaW9uaSAgKHBlciBjYW1waSB0aXBvIGltbWFnaW5lKSc7CiRsYW5nWydwcm9tcHRfYXR0cmlidGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBmb3IgZGlzcGxheSBvZiBwcm9kdWN0IGF0dHJpYnV0ZSB2YWx1ZXMgaW4gZHJvcGRvd24nOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWwnXSA9ICdBdXRvbWF0aWNhbWVudGUgY3JlYSBtaW5pYXR1cmUgZGkgaW1tYWdpbmknOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWxfc2l6ZSddID0gJ0RpbWVuc2lvbmUgbWFzc2ltYSAobGEgcGkmdWdyYXZlOyBncmFuZGUpIGRlbGxhIG1pbmlhdHVyYS4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQXV0b21hdGljYW1lbnRlIGNyZWEgaW1tYWdpbmkgZGkgYW50ZXByaW1hIGRlbGxlIGltbWFnaW5pJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZ19zaXplJ10gPSAnRGltZW5zaW9uZSBtYXNzaW1hIChsYSBwaSZ1Z3JhdmU7IGdyYW5kZSkgZGVsbGEgaW1tYWdpbmUgZGkgYW50ZXByaW1hLic7CiRsYW5nWydwcm9tcHRfYXV0b3dhdGVybWFyayddID0gJ0F1dG9tYXRpY2FtZW50ZSBwb3NpemlvbmEgd2F0ZXJtYXJrcyBzdWxsZSBpbW1hZ2luaSc7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ0FiaWxpdGF0byBwZXIgdHV0dGkgaSBudW92aSBwcm9kb3R0aSc7CiRsYW5nWydwcm9tcHRfYmF0Y2hzaXplJ10gPSAnQmF0Y2ggU2l6ZSc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGUnXSA9ICdNb2R1bG8gQ2FydCc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnUGFyYW1ldHJpIGRlbCBtb2R1bG8gQ2FydCc7CiRsYW5nWydwcm9tcHRfY3JlYXRlY2F0ZWdvcmllcyddID0gJ0NyZWEgQ2F0ZWdvcmllJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVmaWVsZHMnXSA9ICdDcmVvIGNhbXBpIFByb2RvdHRvPyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlaGllcmFyY2h5J10gPSAnQ3JlYSBnZXJhcmNoaWEgUHJvZG90dG8nOwokbGFuZ1sncHJvbXB0X2NzdmZpbGUnXSA9ICdVcGxvYWQgZmlsZSBDU1YnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ0NvZGljZSBwZXIgbGEgdmFsdXRhJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCddID0gJ1NpbWJvbG8gZGkgdmFsdXRhJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3N0YXR1cyddID0gJ0lsIHByZWRlZmluaXRvICZlZ3JhdmU7IGNoZSB0dXR0aSBpIG51b3ZpIHByb2RvdHRpIGhhbm5vIHF1ZXN0byBzdGF0byc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnSWwgcHJlZGVmaW5pdG8gJmVncmF2ZTsgY2hlIHR1dHRpIGkgbnVvdmkgcHJvZG90dGkgaGFubm8gbGEgdGFzc2EnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ0NhbmNlbGxhIGkgZmlsZXMgYXNzb2NpYXRpIGNvbiBpbCBwcm9kb3R0byBxdWFuZG8gdmllbmUgY2FuY2VsbGF0bz8nOwokbGFuZ1sncHJvbXB0X2RlbGltaXRlciddID0gJ0NhbXBvIGRlbGltaXRhdG9yZSc7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ1BhZ2luYSBkZXR0YWdsaW8gcHJlZGVmaW5pdGEnOwokbGFuZ1sncHJvbXB0X2RldGFpbHNmb3InXSA9ICdEZXR0YWdsaW8gcGVyICVzJzsKJGxhbmdbJ3Byb21wdF9kdXBsaWNhdGVwcm9kdWN0cyddID0gJ0NvbWUgZGV2byB0ZW5lcmUgcHJvZG90dGkgZHVwbGljYXRpPyc7CiRsYW5nWydwcm9tcHRfZmFsc2UnXSA9ICdGYWxzbyc7CiRsYW5nWydwcm9tcHRfaGFuZGxlaW1hZ2VzJ10gPSAnTWFuZWdnaWFyZSBsZSBpbW1hZ2luaT8nOwokbGFuZ1sncHJvbXB0X2ltYWdlcGF0aCddID0gJ1BhdGggaW1tYWdpbmUnOwokbGFuZ1sncHJvbXB0X2xlbmd0aHVuaXRzJ10gPSAnVW5pdCZhZ3JhdmU7IGRpIGx1bmdoZXp6YSc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfYmVoYXZpb3InXSA9ICdRdWFsZSBhemlvbmUgZG92cmViYmUgZXNzZXJlIGVzZWd1aXRhIHF1YW5kbyB1biBwcm9kb3R0byBub24gcHUmb2dyYXZlOyBlc3NlcmUgdmlzdWFsaXp6YXRvPyc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfNDA0J10gPSAnR2VuZXJhIHVuIGVycm9yZSA0MDQnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kXzMwMSddID0gJ0dlbmVyYSB1bmEgcmVkaXJlemlvbmUgMzAxJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9lcnJvcm1zZyddID0gJ1Zpc3VhbGl6emEgdW4gbWVzc2FnZ2lvIGRpIGVycm9yZSc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfbXNnJ10gPSAnTWVzc2FnZ2lvIGRpIGVycm9yZSBxdWFuZG8gdW4gcHJvZG90dG8gbm9uIHB1Jm9ncmF2ZTsgZXNzZXJlIHRyb3ZhdG8nOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX3BhZ2UnXSA9ICdQYWdpbmEgcGVyIGZhcmUgdW5hIHJlZGlyZXppb25lIHBlcm1hbmVudGU/JzsKJGxhbmdbJ3Byb21wdF9oaWVycGFnZSddID0gJ0RlZmF1bHQgUGFnZSBmb3IgSGllcmFyY2h5IFZpZXcnOwokbGFuZ1sncHJvbXB0X3ByZXR0eWhpZXJ1cmxzJ10gPSAnVXNlIFByZXR0eSBVUkxTIHRvIEhpZXJhcmNoeSBWaWV3cyc7CiRsYW5nWydwcm9tcHRfcHJvZF9kZXRhaWxwYWdlJ10gPSAnUGFnaW5hIHByZWRlZmluaXRhIHBlciBsYSBWaXN1YWxpenphemlvbmUgRGV0dGFnbGlvIFByb2R1dHRvJzsKJGxhbmdbJ3Byb21wdF9wcm9kdWN0c19tYXRjaGluZyddID0gJ1Byb2RvdHRpIGNoZSBjb21iYWNpYW5vIGNvbiAlcyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXBhZ2VsaW1pdCddID0gJ0RlZmF1bHQgcGFnZSBsaW1pdCBpbiBzdW1tYXJ5IG1vZGUnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdPcmRpbmUgcHJlZGVmaW5pdG8gbmVsIG1vZG8gc29tbWFyaW8nOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0aW5nJ10gPSAnQ2FtcG8gZGVsbCYjMDM5O29yZGluZSBwcmVkZWZpbml0byBuZWwgbW9kbyBzb21tYXJpbyc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIHNvcmdlbnRlJzsKJGxhbmdbJ3Byb21wdF90cnVlJ10gPSAnVmVybyc7CiRsYW5nWydwcm9tcHRfdXJscHJlZml4J10gPSAnUHJlZml4IHRvIHVzZSBvbiBhbGwgVVJMUyB0YXJnZXRlZCB0byB0aGlzIHRoaXMgbW9kdWxlJzsKJGxhbmdbJ3Byb21wdF91c2VfZGV0YWlscGFnZV9mb3Jfc2VhcmNoJ10gPSAnVXNlIHRoaXMgcGFnZSBmb3Igc2VhcmNoIHJlc3VsdHMgdG9vIDxlbT4ob3ZlcnJpZGVzIHRoZSBzZWFyY2hyZXN1bHRzIHBhZ2UgcGFyYW1ldGVyIGluIHRoZSBzZWFyY2ggbW9kdWxlKTwvZW0+JzsKJGxhbmdbJ3Byb21wdF91c2VoaWVycGF0aHVybHMnXSA9ICdVc2UgSGllcmFyY2h5IFBhdGggaW4gUHJvZHVjdCBEZXRhaWwgVVJMUyc7CiRsYW5nWydwcm9tcHRfd2VpZ2h0dW5pdHMnXSA9ICdVbml0JmFncmF2ZTsgZGkgcGVzbyc7CiRsYW5nWydwdWJsaWMnXSA9ICdFJiMwMzk7IHVuIGNhbXBvIHB1YmJsaWNvPyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICdQdWJibGljYXRvJzsKJGxhbmdbJ3JhbmRvbSddID0gJ1JhbmRvbSAnOwokbGFuZ1sncmVzZXR0b2ZhY3RvcnknXSA9ICdBenplcmEgYWkgdmFsb3JpIGluaXppYWxpJzsKJGxhbmdbJ3JldHVybiddID0gJ1JpdG9ybmEnOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJ1JpdG9ybmEgYWxsJiMwMzk7aW5pemlvJzsKJGxhbmdbJ3Jvb3QnXSA9ICdSYWRpY2UnOwokbGFuZ1snc2VhcmNoX2Rlc2NyaXB0aW9uJ10gPSAnU2VhcmNoIFByb3BlcnR5IERlc2NyaXB0aW9uJzsKJGxhbmdbJ3NlYXJjaF9leHByJ10gPSAnU2hvdWxkIHRoZSBxdWVyeSBtYXRjaCBhbGwsIG9yIGFueSBvZiB0aGUgdGVzdHMgYmVsb3c/JzsKJGxhbmdbJ3NlYXJjaF9uYW1lJ10gPSAnQ2VyY2Egbm9tZSBkZWxsYSBwcm9wcmlldCZhZ3JhdmU7JzsKJGxhbmdbJ3NlYXJjaF9wcmljZSddID0gJ0ludGVydmFsbG8gZGkgcHJlenpvJzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZ2dpdWdlL01vZGlmaWNhIE1vZHVsbyBTZWFyY2ggVGVtcGxhdGUnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUgZGkgUmljZXJjYSc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnU2VsZXppb25hIHVubyc7CiRsYW5nWydza3UnXSA9ICdTS1UgJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdPcmRpbmUgcGVyJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdUaXBvIG9yZGluZSc7CiRsYW5nWydzb3VyY2UnXSA9ICdTb3JnZW50ZSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0byc7CiRsYW5nWydzdWJtaXQnXSA9ICdJbnZpbyc7CiRsYW5nWydzdWJzY3JpcHRpb24nXSA9ICdTb3R0b3Njcml6aW9uZSc7CiRsYW5nWydzdWJzY3JfZXhwaXJ5J10gPSAnU2NhZGVuemEnOwokbGFuZ1snc3Vic2NyX2V4cGlyeTInXSA9ICdTY2FkdXRpJzsKJGxhbmdbJ3N1YnNjcl9tb250aGx5J10gPSAnTWVuc2lsbWVudGUnOwokbGFuZ1snc3Vic2NyX2RlbHBlcmlvZCddID0gJ0ZyZXF1ZW56YSBkaSBkaXN0cmlidXppb25lJzsKJGxhbmdbJ3N1YnNjcl9kZWxwZXJpb2QyJ10gPSAnRGlzdHJpYnV6aW9uZSc7CiRsYW5nWydzdWJzY3JfcGF5cGVyaW9kJ10gPSAnRnJlcXVlbnphIGRpIHBhZ2FtZW50byc7CiRsYW5nWydzdWJzY3JfcGF5cGVyaW9kMiddID0gJ1BhZ2FtZW50byc7CiRsYW5nWydzdWJzY3JfcXVhcnRlcmx5J10gPSAnUXVhZGltZXN0cmFsZSc7CiRsYW5nWydzdWJzY3Jfc2VtaWFudWFsbHknXSA9ICdTZW1lc3RyYWxlJzsKJGxhbmdbJ3N1YnNjcl95ZWFybHknXSA9ICdBbm51YWxlJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdNb2RlbGxpIFNvbW1hcmlvJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWdnaXVuZ2VyZS9Nb2RpZmljYSB1biBNb2RlbGxvIFNvbW1hcmlvJzsKJGxhbmdbJ3RheGFibGUnXSA9ICdJbXBvbmliaWxlJzsKJGxhbmdbJ3Rlc3QnXSA9ICdUZXN0ICc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHQgYXJlYSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGV4dCBpbnB1dCc7CiRsYW5nWyd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnXSA9ICdNb2RlbGxvIG51b3ZvIFJlcG9ydCBnZXJhcmNoaWNvJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5bGlzdF9kZmx0dGVtcGxhdGUnXSA9ICdNb2RlbGxvIG51b3ZvIExpc3RhIGNhdGVnb3JpZSBwcmVkZWZpbml0byc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfZGZsdHRlbXBsYXRlJ10gPSAnTW9kZWxsbyBudW92byBkZXR0YWdsaW8gcHJlZGVmaW5pdG8nOwokbGFuZ1sndGl0bGVfc2VhcmNoX2RmbHR0ZW1wbGF0ZSddID0gJ051b3ZvIFNlYXJjaCBUZW1wbGF0ZSBwcmVkZWZpbml0byc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ01vZGVsbG8gbnVvdm8gc29tbWFyaW8gcHJlZGVmaW5pdG8nOwokbGFuZ1sndHlwZSddID0gJ1RpcG8nOwokbGFuZ1sndXAnXSA9ICdNdW92aSBzdSc7CiRsYW5nWyd1cGRhdGUnXSA9ICdBZ2dpb3JuYSc7CiRsYW5nWyd1cGxvYWQnXSA9ICdTZWxlemlvbmEgdW4gZmlsZSBwZXIgdXBsb2FkJzsKJGxhbmdbJ3VybF9hbGlhcyddID0gJ1VSTCBhbGlhcyc7CiRsYW5nWyd2YWxpZCddID0gJ1ZhbGlkbyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbG9yZSc7CiRsYW5nWyd2YWx1ZXMnXSA9ICdWYWxvcmknOwokbGFuZ1sndmlldyddID0gJ1Zpc3VhbGl6emEnOwokbGFuZ1sndmlld2FibGVfZmllbGRzJ10gPSAnQ2FtcGkgU2VsZWN0IGNhc3RvbWl6emF0aSBwZXIgdmlzdWFsaXp6YXJlIGluIHVuYSB0YWJlbGxhJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ0xvY2F6aW9uZSBkZWwgV2F0ZXJtYXJrJzsKJGxhbmdbJ3dlaWdodCddID0gJ1Blc28nOwokbGFuZ1sneWVzJ10gPSAnUyZpZ3JhdmU7JzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuOTc0MzQ5MTU1LjEyOTkwNzI0NjguMTI5OTA3MjQ2OC4xMjk5MDc0NTU0LjInOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyOTkwNzI0NjguMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/lt_LT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ1ByaWTEl3RpJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnUHJpZMSXdGkga2F0ZWdvcmlqxIUnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdQcmlkxJd0aSBsYXVrxIUnOwokbGFuZ1snYWRqdXN0YWJsZSddID0gJ0FkanVzdGFibGUnOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ1ByaWTEl3RpIHByb2R1a3TEhSc7CiRsYW5nWydhZGRfYXR0cmliX3NldCddID0gJ1ByaWTEl3RpIGF0cmlidXTEhSc7CiRsYW5nWydhZGRfY2F0ZWdvcnlfZmllbGQnXSA9ICdBc3NvY2lhdGUgRmllbGQgd2l0aCBDYXRlZ29yeTogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnUHJpZMSXdGkgaGllcmFyY2hpam9zIHB1bmt0xIUnOwokbGFuZ1snYWRkX29wdGlvbiddID0gJ1ByaWTEl3RpIGF0cmlidXRvIHNhdnlixJknOwokbGFuZ1snYWRtaW5fb25seSddID0gJ0FyIHRpayBhZG1pbmlzdHJhdG9yaXVzIGdhbGkgbWF0eXRpICZzY2Fyb247xK8gYXRyaWJ1dMSFPyc7CiRsYW5nWydhbGlnbl91bCddID0gJ1RvcCBMZWZ0JzsKJGxhbmdbJ2FsaWduX3VjJ10gPSAnVG9wIENlbnRlcic7CiRsYW5nWydhbGlnbl91ciddID0gJ1RvcCBSaWdodCc7CiRsYW5nWydhbGlnbl9tbCddID0gJ01pZGRsZSBMZWZ0JzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnQ2VudGVyJzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnTWlkZGxlIFJpZ2h0JzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnQm90dG9tIExlZnQnOwokbGFuZ1snYWxpZ25fbGMnXSA9ICdCb3R0b20gQ2VudGVyJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnQm90dG9tIFJpZ2h0JzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdWaXNvcyBrYXRlZ29yaWpvcyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnQXIgSsWrcyDEr3NpdGlraW7EmXM/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlcHJvZHVjdCddID0gJ0FyIHRpa3JhaSBub3JpdGUgaSZzY2Fyb247dHJpbnRpICZzY2Fyb247xK8gcHJvZHVrdMSFIGlyIHZpc8SFIHN1IGp1byBzdXNpanVzacSFIGluZm9ybWFjaWrEhT8nOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnRGlkxJdqYW7EjWlhaSc7CiRsYW5nWydhdHRyaWJ1dGVfbmFtZSddID0gJ0F0cmlidXRvIHBhdmFkaW5pbWFzJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYXRpYyc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ0hpZXJhcmNoaW7El3MgYXRhc2thaXRvcyAmc2Nhcm9uO2FibG9uYXMnOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnUHJpZMSXdGkva2Vpc3RpIGhpZXJhcmNoaW7El3MgYXRhc2thaXRvcyAmc2Nhcm9uO2FibG9uxIUnOwokbGFuZ1snY2FuY2VsJ10gPSAnQXQmc2Nhcm9uO2F1a3RpJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZ29yaWpvcyc7CiRsYW5nWydjYXRlZ29yeSddID0gJ2thdGVnb3JpamEnOwokbGFuZ1snY2F0ZWdvcnlleGlzdHMnXSA9ICdLYXRlZ29yaWphIHRva2kgcGF2YWRpbmltdSBqYXUgeXJhJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0thdGVnb3JpasWzIHPEhXJhJnNjYXJvbjtvICZzY2Fyb247YWJsb25hcyc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnUHJpZMSXdGkva2Vpc3RpIGthdGVnb3JpasWzIHPEhXJhJnNjYXJvbjtvICZzY2Fyb247YWJsb27EhSc7CiRsYW5nWydjaGVja2JveCddID0gJ1Zhcm5lbMSXJzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX2hpZXJhcmNoeV9ub2RlJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIG5vZGU/ICBBbnkgcHJvZHVjdHMgdGhhdCBhcmUgdXNpbmcgdGhpcyBub2RlIHdpbGwgYmUgc2V0IHRvIG5vIGhpZXJhcmNoeSc7CiRsYW5nWydjb3B5J10gPSAnQ29weSc7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnQ29weSBDYXRlZ29yeSc7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ1N1a8WrcmltbyBkYXRhJzsKJGxhbmdbJ2N1cnJlbnRfdmFsdWUnXSA9ICdQYXN0YXJvamkgcmVpayZzY2Fyb247bcSXJzsKJGxhbmdbJ2RhdGEnXSA9ICdEYXRhJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdEZWZhdWx0JzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdOdW1hdHl0aWVqaSAmc2Nhcm9uO2FibG9uYWknOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBjb250ZW50cyBvZiB0aGVzZSB0ZXh0IGFyZWFzIGFyZSB1c2VkIHRvIGRldGVybWluZSB0aGUgZGVmYXVsdCBjb250ZW50IG9mIHRlbXBsYXRlcyB3aGVuIHlvdSBjbGljayAmcXVvdDtBZGQgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4gIEVkaXRpbmcgb25lIG9mIHRoZXNlIHRleHQgYXJlYXMgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24geW91ciB3ZWJzaXRlLic7CiRsYW5nWydkZWxldGUnXSA9ICdUcmludGknOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ1RyaW50aSBhdHJpYnV0xIUnOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnVHJpbnRpIGhpZXJhcmNoaWpvcyBwdW5rdMSFJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdNYcW+xJdqYW7EjWlhaSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0FwaWLFq2RpbmltYXMnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFsxJdzJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ0RldGFsacWzICZzY2Fyb247YWJsb25hcyc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnUHJpZMSXdGkva2Vpc3RpIGRldGFsacWzICZzY2Fyb247YWJsb27EhSc7CiRsYW5nWydkaXNhYmxlZCddID0gJ0kmc2Nhcm9uO2p1bmd0YXMnOwokbGFuZ1snZHJhZnQnXSA9ICdKdW9kcmEmc2Nhcm9uO3Rpcyc7CiRsYW5nWydkcm9wZG93biddID0gJ0kmc2Nhcm9uO2tyZW50YW50aXMgbWVuaXUnOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ0Ryb3Bkb3duIE9wdGlvbnMgPGVtPihhcHBsaWNhYmxlIG9ubHkgZm9yIGRyb3Bkb3duIGZpZWxkcyk8L2VtPjxici8+PGJyLz48ZW0+KG9uZSBlbnRyeSBwZXIgbGluZSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnS2Vpc3RpJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ0tlaXN0aSBhdHJpYnV0xbMgcmlua2luxK8nOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ0tlaXN0aSBhdHJpYnV0xbMgcmlua2luxK8gKGthbT8pJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ0tlaXN0aSBhdHJpYnV0dXMnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ1JlZGFndW90aSBrYXRlZ29yaWrEhSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ0VkaXQgQ2F0ZWdvcnkgRmllbGRzJzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdLZWlzdGkgaGllcmFyY2hpam9zIHB1bmt0xIUnOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0F0cmlidXRhcyB0b2tpdSB2YXJkdSBqYXUgeXJhJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdUaGUgRmllbGQgVmFsdWUgY2Fubm90IGJlIGVtcHR5JzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0ZpbGUgTm90IEZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJlbnQnXSA9ICdJbnZhbGlkIFBhcmVudCAoYSBoaWVyYXJjaHkgbm9kZSBjYW5ub3QgYmUgaXQmIzAzOTtzIG93biBwYXJlbnQpJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfbmFtZSddID0gJ1RoZSBjdXN0b20gZmllbGQgdmFsdWUgZW50ZXJlZCBpcyBpbnZhbGlkIChjb250YWlucyBub24gYWxwaGFudW1lcmljIGNoYXJhY3RlcnMpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1Ryxatrc3RhIGFyYmEgbmV0ZWlzaW5nYXMgcHJpdmFsb21hcyBwYXJhbWV0cmFzJzsKJGxhbmdbJ2Vycm9yX25hbWV1c2VkJ10gPSAnQW4gaXRlbSBieSB0aGF0IG5hbWUgaXMgYWxyZWFkeSBpbiB1c2UnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdQYXNpcmlua2l0ZSBsYXVrbyB0aXDEhSc7CiRsYW5nWydlcnJvcl9ub25hbWUnXSA9ICdZb3UgbXVzdCBzdXBwbHkgYSBuYW1lJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdQcm9kdWt0YXMgdG9raXUgcGF2YWRpbmltdSBqYXUgeXJhJzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdOZXRlaXNpbmdhIGthaW5vcyBwYWtlaXRpbW8gcmVpayZzY2Fyb247bcSXICAmc2Nhcm9uO2lhbSDEr3JhJnNjYXJvbjt1aTogJXMnOwokbGFuZ1snZXJyb3JfdXBsb2FkX2ZhaWxlZCddID0gJ8Sua8SXbGltYXMgbmVwYXZ5a286ICVzJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnTGF1a2FzJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnTGF1a28gYXBpYnLEl8W+aW1hcyc7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdMYXVrbyBhcGlicsSXxb5pbWFpJzsKJGxhbmdbJ2ZpbGUnXSA9ICdCeWxhJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0cmFpJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ2hpZXJhcmNoeSddID0gJ0hpZXJhcmNoaWphJzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ0hpZXJhcmNoaWpvcyBwb3ppY2lqYSc7CiRsYW5nWydpZCddID0gJ0lkJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ1BhdmVpa3NsYXMnOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ8SudHJhdWt0aSB2aWRpbmVzPyc7CiRsYW5nWydpbmZvX2FsbnVtb25seSddID0gJ09ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMuIE5vIHdoaXRlc3BhY2UsIHF1b3Rlcywgb3Igbm9uIGxldHRlci9udW1iZXIgY29tYmluYXRpb25zJzsKJGxhbmdbJ2luZm9fYXV0b3RodW1ibmFpbCddID0gJ1RodW1ibmFpbCBzZXR0aW5ncyBhcmUgdGFrZW4gZnJvbSB0aGUgQ0dFeHRlbnNpb25zIE1vZHVsZSc7CiRsYW5nWydpbmZvX2F1dG93YXRlcm1hcmsnXSA9ICdXYXRlcm1hcmsgc2V0dGluZ3MgYXJlIHRha2VuIGZyb20gdGhlIENHRXh0ZW5zaW9ucyBNb2R1bGUnOwokbGFuZ1snaW5mb19jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdUaGVzZSBwYXJhbWV0ZXJzIGFyZSBnaXZlbiB0byB0aGUgc2VsZWN0ZWQgY2FydCBtb2R1bGUgZnJvbSB0aGUgcHJvZHVjdCBkZXRhaWwgYW5kIHN1bW1hcnkgZGlzcGxheXMnOwokbGFuZ1snaW5mb19kZWNpbWFsX3VuaXRzJ10gPSAnVGhpcyBzeXN0ZW0gdW5kZXJzdGFuZHMgKC4pIGFzIHRoZSBkZWNpbWFsIHBvaW50IHNlcGFyYXRvci4gaS5lLjogPHN0cm9uZz41LjI1PC9zdHJvbmc+JzsKJGxhbmdbJ2luZm9fZmllbGRkZWZzX3RhYiddID0gJzxzdHJvbmc+Tm90ZTogPC9zdHJvbmc+IEFsbCBGaWVsZHMgZGVmaW5lZCBoZXJlIGFyZSBhdmFpbGFibGUgdG8gYWxsIHByb2R1Y3RzLic7CiRsYW5nWydpbmZvX2ZpZWxkcHJvYmxlbXMnXSA9ICdQcm9ibGVtcyB3ZXJlIGVuY291bnRlcmVkIHdoZW4gZGVhbGluZyB3aXRoIG9uZSBvciBtb3JlIGN1c3RvbSBmaWVsZHMuICBUaGUgYWN0aW9uIGhhcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LCBob3dldmVyIHlvdSBzaG91bGQgaW52ZXN0aWdhdGUgYW5kIGNvcnJlY3QgdGhlc2UgcHJvYmxlbXMnOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnR2FsaW1vcyB0aWsgdG9raW9zIHZlcnTEl3M6ICstKiMuIyMnOwokbGFuZ1snaW5mb19wdWJsaWNmaWVsZCddID0gJ1ZpZSZzY2Fyb247aSBsYXVrYWkgeXJhIHZpZSZzY2Fyb247YWkgbWF0b21pJzsKJGxhbmdbJ2xhYmVsJ10gPSAnRXRpa2V0xJcnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnUGFza3V0aW7ElyBtb2RpZmlrYWNpamEnOwokbGFuZ1snbG9nb3RleHQnXSA9ICdBbnRyYXMgcGF2ZWlrc2xhcyc7CiRsYW5nWydtYXhsZW5ndGgnXSA9ICdNYWtzaW1hbHVzIGlsZ2lzPGVtPih0YWlrb21hIHRpayAmcXVvdDt0ZXh0Ym94JnF1b3Q7IGxhdWt1aSk8L2VtPic7CiRsYW5nWydtb2RpZmllZGRhdGUnXSA9ICdNb2RpZmlrYXZpbW8gZGF0YSc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSBmb3IgbWFuYWdpbmcgYSBjYXRhbG9nIG9mIHByb2R1Y3RzLCB0aGVpciBwcmljZSwgaW1hZ2VzLCBldGMsIGFuZCBmb3IgYWxsb3dpbmcgdXNlcnMgdG8gYnVpbGQgYSBjYXJ0JzsKJGxhbmdbJ25hbWUnXSA9ICdQYXZhZGluaW1hcyc7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ0rFq3MgbmV0dXJpdGUgcmVpa2lhbcWzIGxlaWRpbcWzOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ05ldyBDYXRlZ29yeSBOYW1lJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ0pva3MgdmFyZGFzIG5lcGF0ZWlrdGFzJzsKJGxhbmdbJ25vbmUnXSA9ICdKb2tpbyc7CiRsYW5nWydvZiddID0gJ09mJzsKJGxhbmdbJ3BhZ2UnXSA9ICdQdXNsYXBpcyc7CiRsYW5nWydwYWdlX29mJ10gPSAnUHVzbGFwaXMgJXMgaSZzY2Fyb247ICVzJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICfErnJhJnNjYXJvbjvFsyBza2FpxI1pdXMgcHVzbGFweWplJzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPmhpZXJhcmNoeSAtLSBEaXNwbGF5IGEgcHJvZHVjdCBsaXN0IGJ5IGhpZXJhcmNoeTwvbGk+DQogIDxsaT5jYXRlZ29yeWxpc3QgLSBEaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0IGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIHByb2R1Y3RzPC9saT4NCiAgPGxpPmRldGFpbCAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBwcm9kdWN0PC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnV2hlbiB1c2VkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiBhbiBleGlzdGluZyBjYXRlZ29yeSB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSBvbmx5IHRob3NlIHByb2R1Y3RzIHRoYXQgYXJlIGluIHRoYXQgY2F0ZWdvb3J5LiAoYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBjYW4gYmUgc3VwcGxpZWQpJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdUaGlzIHNwZWNpZmllcyB0aGUgcGFnZWlkIG9yIGFsaWFzIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgZGV0YWlsIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZXRhaWwgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeSddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgb25seSBpdGVtcyBpbiB0aGF0IGxvY2F0aW9uIG9mIHRoZSBoaWVyYXJjaHkgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFdpbGRjYXJkIGNoYXJhY3RlciBjYW4gYmUgdXNlZCBzbyB0aGF0IHlvdSBjYW4gc3BlY2lmeSBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwcyBhcyB3ZWxsLiAgaS5lIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gd2lsbCBjcmVhdGUgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBpbmNsdWRpbmcgdGhlIGNoaWxkcmVuIGluIHRoZSBoaWVyYXJjaHkuICBTaW1pbGFybHksIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBwcm9kdWN0cyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgaGllcmFyY2h5IGRpc3BsYXkuIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9wYWdlbGltaXQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGhvdyBtYW55IGl0ZW1zIHNob3VsZCBiZSBsaXN0ZWQgb24gZWFjaCBwYWdlLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmhpZXJhcmNoeTwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBoaWVyYXJjaHkgaWQgb2YgdGhlIHN0YXJ0aW5nIGxvY2F0aW9uIG9mIHRoZSByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGRldGFpbCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB3aGF0IHByb2R1Y3QgdG8gdXNlIGZvciB0aGUgZGlzcGxheS4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnU3BlY2lmeSB0aGUgb3JkZXIgb2Ygc29ydGVkIGZpZWxkcyBpbiBzdW1tYXJ5IHZpZXcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gQXNjZW5kaW5nIG9yZGVyPC9saT4NCiAgPGxpPmRlc2MgLS0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdBcHBsaWNhYmxlIG9ubHkgaW4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQgcHJvZHVjdHMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+cHJpY2UgLS0gVGhlIHByb2R1Y3QgYmFzZSBwcmljZTwvbGk+DQogIDxsaT5zdGF0dXMgLS0gRHJhZnQgb3IgcHVibGlzaGVkPC9saT4NCiAgPGxpPnJhbmRvbSAtLSBEaXNwbGF5IGluIHJhbmRvbSBvcmRlciBvbiBlYWNoIHJlcXVlc3Q8L2xpPg0KICA8bGk+Y3JlYXRlZCAtLSBUaGUgY3JlYXRpb24gZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQogIDxsaT5tb2RpZmllZCAtLSBUaGUgbW9kaWZpZWQgZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBzdW1tYXJ5IG1vZGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJlbnQnXSA9ICdUxJd2YXMnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdQcm9kdWN0cyBtb2R1bGlzIGluc3RhbGl1b3RhcyBzxJdrbWluZ2FpJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgUHJvZHVjdHMgbW9kdWxlIGhhcyBiZWVuIHJlbW92ZWQgYWxvbmcgd2l0aCBhbGwgYXNzb2NpYXRlZCBkYXRhJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnUGFzaXJpbmtpbWFpJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1JlbW92aW5nIHRoaXMgbW9kdWxlIHdpbGwgYWxzbyByZW1vdmUgYWxsIGFzc29jaWF0ZWQgZGF0YSwgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHByb2NlZWQ/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnS2FpbmEnOwokbGFuZ1sncHJpY2VfYWRqdXN0bWVudCddID0gJ0thaW5vcyBwYWtlaXRpbWFzJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcm9kdWN0J10gPSAnUHJvZHVrdGFzJzsKJGxhbmdbJ3Byb2R1Y3RuYW1lJ10gPSAnUHJvZHVrdG8gcGF2YWRpbmltYXMnOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdQcm9kdWt0YWknOwokbGFuZ1sncHJvZHVjdF9oaWVyYXJjaHknXSA9ICdQcm90dWt0xbMgaGllcmFyY2hpamEnOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnUHJvZHVrdMWzIHR2YXJreW1hcyc7CiRsYW5nWydwcm9tcHQnXSA9ICdVxb51b21pbmEnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfZmlsZXR5cGVzJ10gPSAnTGVpc3RpIHRpayB0b2tpbyBmb3JtYXRvIHBhdmVpa3NsxbMgxK9rxJdsaW3EhSBieWzFsyB0aXBvIGxhdWt1b3NlJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdMZWlzdGkgdGlrIHRva2lvIGZvcm1hdG8gcGF2ZWlrc2zFsyDEr2vEl2xpbcSFIHBhdmVpa3NsxbMgdGlwbyBsYXVrdW9zZSc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ0F1dG9tYXRpJnNjYXJvbjtrYWkgZ2VuZXJ1b3RpIHBhdmVpa3NsxbMgbWluaWF0acWrcmFzJzsKJGxhbmdbJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJ10gPSAnQXV0b21hdGljYWxseSBwbGFjZSB3YXRlcm1hcmtzIG9uIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ0xlaXN0aSBwYWdhbCBudXR5bMSXamltxIUgdmlzaWVtcyBuYXVqaWVtcyBwcm9kdWt0YW1zJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZSddID0gJ0NhcnQgTW9kdWxlJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdDYXJ0IE1vZHVsZSBQYXJhbWV0ZXJzJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeWNvZGUnXSA9ICdWYWxpdXRvcyBrb2Rhcyc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdWYWxpdXRvcyBzaW1ib2xpcyc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICdCeSBkZWZhdWx0IGFsbCBuZXcgcHJvZHVjdHMgaGF2ZSB0aGlzIHN0YXR1cyc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnQnkgZGVmYXVsdCBhbGwgbmV3IHByb2R1Y3RzIGFyZSB0YXhhYmxlJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnXSA9ICdJJnNjYXJvbjt0cmludGkgYnlsYXMgc3VzaWp1c2lhcyBzdSBwcm9kdWt0YWlzLCBrYWkgJnNjYXJvbjtpZSB5cmEgaSZzY2Fyb247dHJpbmFtaT8nOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdOdW1hdHl0YXNpcyBkZXRhbGnFsyBwdXNsYXBpcyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRvcmRlciddID0gJ051bWF0eXRvamkgcsWrJnNjYXJvbjtpYXZpbW8gdHZhcmthIHNhbnRyYXVrb3MgbW9kb2plJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydGluZyddID0gJ051bWF0eXRhc2lzIHLFqyZzY2Fyb247aWF2aW1vIGxhdWthcyBzYW50cmF1a29zIG1vZG9qZSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9ubyAmc2Nhcm9uO2FsdGluaXMnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnU3ZvcmlvIHZpZW5ldGFpJzsKJGxhbmdbJ3B1YmxpYyddID0gJ0FyICZzY2Fyb247aXMgbGF1a2FzIHZpZSZzY2Fyb247YXM/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ1Bhc2tlbGJ0YSc7CiRsYW5nWydyYW5kb20nXSA9ICdBdHNpdGlrdGlpbmFpJzsKJGxhbmdbJ3Jlc2V0dG9mYWN0b3J5J10gPSAnR3LEhcW+aW50aSBnYW15a2xpbmVzIHJlaWsmc2Nhcm9uO21lcyc7CiRsYW5nWydyZXR1cm4nXSA9ICdSZXR1cm4nOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJ1JldHVybiB0byB0aGUgdG9wIG9mIHRoZSB2aWV3JzsKJGxhbmdbJ3Jvb3QnXSA9ICdSb290JzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdQYXNpcmlua2l0ZSB2aWVuxIUnOwokbGFuZ1snc29ydF9ieSddID0gJ1LFqyZzY2Fyb247aXVvdGkgcGFnYWwnOwokbGFuZ1snc29ydF9vcmRlciddID0gJ1LFqyZzY2Fyb247aWF2aW1vIHR2YXJrYSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXNhcyc7CiRsYW5nWydzdWJtaXQnXSA9ICdQYXRlaWt0aSc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAnU2FudHJhdWtvcyAmc2Nhcm9uO2FibG9uYXMnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdQcmlkxJd0aS9rZWlzdGkgc2FudHJhdWtvcyAmc2Nhcm9uO2FibG9uxIUnOwokbGFuZ1sndGF4YWJsZSddID0gJ0FwbW9rZXN0aW5hbWEnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZWtzdGluxJcgc3JpdGlzJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZWtzdG8gxK92ZXN0aXMnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnTnVtYXR5dGFzaXMgbmF1am9zIGhpZXJhcmNoaW7El3MgYXRhc2thaXRvcyAmc2Nhcm9uO2FibG9uYXMnOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlsaXN0X2RmbHR0ZW1wbGF0ZSddID0gJ051bWF0eXRhc2lzIG5hdWpvIGthdGVnb3JpasWzIHPEhXJhJnNjYXJvbjtvICZzY2Fyb247YWJsb25hcyc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfZGZsdHRlbXBsYXRlJ10gPSAnTnVtYXR5dGFzaXMgbmF1asWzIGRldGFsacWzICZzY2Fyb247YWJsb25hcyc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ051bWF0eXRhc2lzIG5hdWpvcyBzYW50cmF1a29zICZzY2Fyb247YWJsb25hcyc7CiRsYW5nWyd0eXBlJ10gPSAnVGlwYXMnOwokbGFuZ1sndXBkYXRlJ10gPSAnTmF1amludGknOwokbGFuZ1sndXBsb2FkJ10gPSAnUGFzaXJpbmt0aSBieWzEhSDEr2vEl2xpbXVpJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnVmFsaWQnOwokbGFuZ1sndmFsdWUnXSA9ICdSZWlrJnNjYXJvbjttxJcnOwokbGFuZ1sndmFsdWVzJ10gPSAnUmVpayZzY2Fyb247bcSXcyc7CiRsYW5nWyd3YXRlcm1hcmtfbG9jYXRpb24nXSA9ICdXYXRlcm1hcmsgTG9jYXRpb24nOwokbGFuZ1snd2VpZ2h0J10gPSAnU3ZvcmlzJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMzMwMTE1NTMwNTc2MjU3OTAwMC4xMjIwMzQ1MDcwLjEyMjg5MDI4NDcuMTIyODk4NjM1MS4yMCc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyMjg5ODYzNTEuMjAuMTUudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWZvcnVtLmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vaW5kZXgucGhwL3RvcGljLDI4MjE5LjAuaHRtbHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FiYnJfbGVuZ3RoJ10gPSAnTCAnOwokbGFuZ1snYWJicl93aWR0aCddID0gJ0IgJzsKJGxhbmdbJ2FiYnJfaGVpZ2h0J10gPSAnSCAnOwokbGFuZ1snYWRkJ10gPSAnTGVnZyB0aWwnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdMZWdnIHRpbCBlbiBrYXRlZ29yaSc7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0xlZ2cgdGlsIGZlbHQnOwokbGFuZ1snYWRqdXN0YWJsZSddID0gJ0pzdXRlcmJhcnQnOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ0xlZ2cgdGlsIHByb2R1a3QnOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdMZWdnIHRpbCBhdHRyaWJ1dHQnOwokbGFuZ1snYWRkX2NhdGVnb3J5X2ZpZWxkJ10gPSAnQXNzb3NpZXIgRmVsdCBtZWQgS2F0ZWdvcmk6ICZxdW90OyVzJnF1b3Q7JzsKJGxhbmdbJ2FkZF9oaWVyYXJjaHlfaXRlbSddID0gJ0xlZ2cgdGlsIGhpZXJhcmtpIGFydGlra2VsJzsKJGxhbmdbJ2FkZF9vcHRpb24nXSA9ICdMZWdnIHRpbCBhdHRyaWJ1dHQgdmFsZyc7CiRsYW5nWydhZG1pbl9vbmx5J10gPSAnS2FuIGt1biBhZG1pbmlzdHJhdG9yZXIgc2UgZGVubmUgYXR0cmlidXR0ZW4/JzsKJGxhbmdbJ2FkdmFuY2VkJ10gPSAnQXZhbnNlcnQnOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdUb3BwIHZlbnN0cmUnOwokbGFuZ1snYWxpZ25fdWMnXSA9ICdUb3BwIHNlbnRlcic7CiRsYW5nWydhbGlnbl91ciddID0gJ1RvcHAgaCZvc2xhc2g7eXJlJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnTWlkdGVuIHZlbnN0cmUnOwokbGFuZ1snYWxpZ25fbWMnXSA9ICdTZW50ZXInOwokbGFuZ1snYWxpZ25fbXInXSA9ICdNaWR0ZW4gaCZvc2xhc2g7eXJlJzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnQnVubiB2ZW5zdHJlJzsKJGxhbmdbJ2FsaWduX2xjJ10gPSAnQnVubiBzZW50ZXInOwokbGFuZ1snYWxpZ25fbHInXSA9ICdCdW5uIGgmb3NsYXNoO3lyZSc7CiRsYW5nWydhbGwnXSA9ICdBbGxlJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdBbGxlIGthdGVnb3JpZXInOwokbGFuZ1snYW55J10gPSAnTm9lbic7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnRXIgZHUgc2lra2VyPyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXByb2R1Y3QnXSA9ICdFciBkdSB2aXJrZWxpZyBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIHNsZXR0ZSBkZXR0ZSBwcm9kdWt0ZXQgb2cgYWxsIGRldHMgdGlsaCZvc2xhc2g7cmVuZGUgaW5mb3JtYXNqb24/JzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ1N0aWdlbmRlJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnQXR0cmlidXR0IG5hdm4nOwokbGFuZ1snYXR0cmliX3RleHQnXSA9ICdUZWtzdCc7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICdBdXRvbWF0aXNrJzsKJGxhbmdbJ2J0bl9zZXRlY29taGFuZGxlcnMnXSA9ICdTZXR0IEVjb21tZXJjZSBoZW5kZWxzZXMgYmVoYW5kbGVyZSc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ0hpZXJhcmtpIHJhcHBvcm1hbGVyJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgSGllcmFya2kgcmFwcG9ybWFsJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0F2YnJ5dCc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvcmllcic7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnRW4ga2F0ZWdvcmkgbWVkIGRldCBuYXZuZXQgZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZXMnXSA9ICdLYXRlZ29yaWxpc3RlIG1hbGVyJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIGthdGVnb3JpIExpc3RlbWFsJzsKJGxhbmdbJ2NlbnRpbWV0ZXJzJ10gPSAnQ2VudGltZXRlcic7CiRsYW5nWydjaGVja2JveCddID0gJ0F2a3J5c25pbmdzYm9rcyc7CiRsYW5nWydjb25maXJtX2NvcHlvcHRpb25zJ10gPSAnQWxsZSBla3Npc3RlcmVuZGUgdmFsZyBmb3IgZGV0dGUgcHJvZHVrdGV0IHZpbCBibGkgZXJzdGF0dGV0LiBFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIGZvcnRzZXR0ZT8nOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIHNsZXR0ZSBkZW5uZSBub2Rlbj8gQWxsZSBwcm9kdWt0ZXIgc29tIGJydWtlciBkZW5uZSBub2RlbiB2aWwgYmxpIHNhdHQgdGlsIGluZ2VuIGhpZXJhcmtpJzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlYWxsb3B0aW9ucyddID0gJ0VyIGR1IHNpa2tlciBwJmFyaW5nOyBhdCBkdSB2aWwgc2xldHRlIGFsbGUgdmFsZyBmb3IgZGV0dGUgcHJvZHVrdGV0Pyc7CiRsYW5nWydjb25maXJtX2ltcG9ydCddID0gJ0VyIGR1IGhlbHQgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBnaiZvc2xhc2g7cmUgZGV0dGU/XG5cbkZlaWwgaW5uc3RpbGxpbmdlciBlbGxlciBlbiB1Z3lsZGlnIGtvbmZpZ3VyYXNqb25zZmlsIGthbiBmdWxsc3RlbmRpZyAmb3NsYXNoO2RlbGVnZ2UgZXQgbiZhcmluZzsgZ3lsZGlnIG9nIGZ1bmdlcmVuZGUgc3lzdGVtLic7CiRsYW5nWydjb3B5J10gPSAnS29waWVyJzsKJGxhbmdbJ2NvcHlfcHJvZHVjdCddID0gJ0tvcGllciBkZXR0ZSBwcm9kdWt0ZXQnOwokbGFuZ1snY29weV9hdHRyaWJfc2V0cyddID0gJ0tvcGllciBhdHRyaWJ1dHRzZXR0ZW5lJzsKJGxhbmdbJ2NvcHlfY2F0ZWdvcnknXSA9ICdLb3BpZXIga2F0ZWdvcmknOwokbGFuZ1snY29weV9vcHRpb25zX2Zyb20nXSA9ICdLb3BpZXIgYWxsZSB2YWxnIGZyYSc7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ09wcHJldHRldCBkYXRvJzsKJGxhbmdbJ2N1cnJlbnRfdmFsdWUnXSA9ICdOJmFyaW5nO3YmYWVsaWc7cmVuZGUgdmVyZGknOwokbGFuZ1snZGF0YSddID0gJ0RhdGEgJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdTdGFuZGFyZCc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAnU3RhbmRhcmQgbWFsZXInOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk1lcms6PC9zdHJvbmc+IElubmhvbGRldCBpIGRpc3NlIHRla3NvbXImYXJpbmc7ZGVuZSBiZW55dHRlcyBmb3IgJmFyaW5nOyBsYWdlIHN0YW5kYXJkaW5uaG9sZCBpIG1hbGVuZSBuJmFyaW5nO3IgZHUga2xpa2tlciAmIzAzOTtMZWdnIHRpbCBtYWwmIzAzOTsgaSBkZW4gYWt0dWVsbGUgbWFsZmFuZW4uICZBcmluZzsgcmVkaWdlcmUgZW4gYXYgZGlzc2UgdGVrc3RvbXImYXJpbmc7ZGVuZSB2aWwgaWtrZSBoYSB1bWlkZGVsYmFyIGVmZmVrdCBwJmFyaW5nOyBkaXR0IG5ldHRzdGVkLic7CiRsYW5nWydkZWxldGUnXSA9ICdTbGV0dCc7CiRsYW5nWydkZWxldGVfYWxsJ10gPSAnU2xldHQgYWxsZSc7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnU2xldHQgYXR0cmlidXR0JzsKJGxhbmdbJ2RlbGV0ZV9oaWVyYXJjaHlfaXRlbSddID0gJ1NsZXR0IGhpZXJhcmtpIGFydGlra2VsJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdTeW5rZW5kZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Jlc2tyaXZlbHNlJzsKJGxhbmdbJ2Rlc3RpbmF0aW9uJ10gPSAnTSZhcmluZztsJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXRhbGplcic7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdEZXRhbGptYWxlcic7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnTGVnZyB0aWwvcmVkaWdlciBlbiBkZXRhbGptYWwnOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ00mYXJpbmc7bCc7CiRsYW5nWydkaXNhYmxlZCddID0gJ0RlYWt0aXZlcnQnOwokbGFuZ1snZG93biddID0gJ0ZseXR0IG5lZCc7CiRsYW5nWydkcmFmdCddID0gJ0tsYWRkJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTmVkdHJla2snOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ05lZHRyZWtrc3ZhbGcgPGVtPihrdW4gZ3lsZGlnIGZvciBuZWR0cmVra3NmZWx0KTwvZW0+PGJyLz48YnIvPjxlbT4oZW4gcG9zdCBwciBsaW5qZSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnUmVkaWdlcic7CiRsYW5nWydlZGl0X2F0dHJpYnNldCddID0gJ1JlZGlnZXIgYXR0cmlidXR0JzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ1JlZGlnZXIgYXR0cmlidXR0IHNldHQnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ1JlZGlnZXIgYXR0cmlidXR0IHNldHQgZm9yJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ1JlZGlnZXIgYXR0cmlidXR0ZXInOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ1JlZGlnZXIgS2F0ZWdvcmknOwokbGFuZ1snZWRpdF9jYXRlZ29yeV9maWVsZHMnXSA9ICdSZWRpZ2VyIEthdGVnb3JpIGZlbHRlcic7CiRsYW5nWydlZGl0X2hpZXJhcm9jaHlfaXRlbSddID0gJ1JlZGlnZXIgaGllcmFya2kgYXJ0aWtrZWwnOwokbGFuZ1snZWRpdF9vcHRpb25fbm90ZXMnXSA9ICdSZWRpZ2VyIHZhbGcgbm90ZXInOwokbGFuZ1snZWRpdF9vcHRpb25zJ10gPSAnUmVkaWdlciBwcm9kdWt0IHZhbGcnOwokbGFuZ1snZWRpdF9wcm9kdWN0J10gPSAnUmVkaWdlciBwcm9kdWt0JzsKJGxhbmdbJ2Vycm9ycyddID0gJ0ZlaWwnOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0VuIGF0dHJpYnV0dCBtZWQgZGV0IG5hdm5ldCBla3Npc3RlcmVyIGFsbGVyZWRlJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZWZlaWwnOwokbGFuZ1snZXJyb3JfZHVwbGljYXRlX3NrdSddID0gJ0R1cGxpa2F0IFYubnIuKFNLVSkgZnVubmV0JzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdGZWx0dmVyZGllbiBrYW4gaWtrZSB2JmFlbGlnO3JlIHRvbSc7CiRsYW5nWydlcnJvcl9maWxlZm9ybWF0J10gPSAnRmlsZm9ybWF0IHJwb2JsZW0nOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnRmlsIGlra2UgZnVubmV0JzsKJGxhbmdbJ2Vycm9yX2ZpbGVvcGVuJ10gPSAnUHJvYmxlbSBtZWQgJmFyaW5nOyAmYXJpbmc7cG5lIGZpbGVuICVzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbWNvdW50J10gPSAnVWd5bGRpZyAoZWxsZXIgaWtrZSBzYW1zdmFyZW5kZSkgcGFyYW1ldGVyIHRlbGxlcic7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnVWd5bGRpZyBmb3JlbGRyZSAoZW4gaGllcmFya2kgbm9kZSBrYW4gaWtrZSB2JmFlbGlnO3JlIHNpbiBlZ2VuIGZvcmVsZHJlKSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdFa3N0cmEoY3VzdG9tKSBmZWx0dmVyZGllbiBzb20gYmxlIG9wcGdpdHQgZXIgdWd5bGRpZyAoaW5uZWhvbGRlciBpa2tlLWFsZmFudW1tZXJpc2tlIHRlZ24pJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfdmFsdWUnXSA9ICdVZ3lsZGlnIHZlcmRpIG9wcGdpdHQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnRW4gbiZvc2xhc2g7ZHZlbmRpZyBwYXJhbWV0ZXIgbWFuZ2xlciBlbGxlciBlciB1Z3lsZGlnJzsKJGxhbmdbJ2Vycm9yX25hbWV1c2VkJ10gPSAnRW4gYXJ0aWtrZWwgbWVkIGRldCBuYXZuZXQgZWtzaXN0ZXJlciBhbGxlcmVkZSc7CiRsYW5nWydlcnJvcl9uZWVkdHdvcm93cyddID0gJ0V0IG1pbmltdW0gYXYgdG8gcmFkZXIgZXIgcCZhcmluZztrcmV2ZCc7CiRsYW5nWydlcnJvcl9ub2ZpZWxkdHlwZSddID0gJ1Zlbm5saWdzdCB2ZWxnIGVuIGZlbHR0eXBlJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ0R1IG0mYXJpbmc7IG9wcGdpIGV0IG5hdm4nOwokbGFuZ1snZXJyb3Jfb25lcXVhbnRpdHlmaWVsZCddID0gJ0t1biBldCBtZW5nZGUtZmVsdCB0aWxsYXR0JzsKJGxhbmdbJ2Vycm9yX29uZXN1YnNjcmlwdGlvbmZpZWxkJ10gPSAnQmFyZSBldHQgYWJvbm5lbWVudCBmZWx0IGVyIHRpbGxhdHQnOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbmRlbmllZCddID0gJ1RpbGdhbmcgbmVrdGV0JzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfYWxpYXN1c2VkJ10gPSAnQWxpYXMgc29tIGJsZSBvcHBnaXR0IGVyIGFsbGVyZWRlIGkgYnJ1ayc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25hbWV1c2VkJ10gPSAnRXQgcHJvZHVrdCBtZWQgZGV0IG5hdm5ldCBla3Npc3RlcmVyIGFsbGVyZWRlJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3Rfbm90Zm91bmQnXSA9ICdQcm9kdWt0ZXQgYmxlIGlra2UgZnVubmV0JzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3Rfc2t1dXNlZCddID0gJ0RldHRlIFYubnIuKFNLVSkgZXIgYWxsZXJlZGUgaSBicnVrIGF2IGV0IGFubmV0IHByb2R1a3QnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9za3V1c2VkX2F0cm93J10gPSAnRGVubmUgU0tVL3ZhcmVudW1tZXIgdmVyZGkgcCZhcmluZzsgcmFkICVkIGVyIGFsbGVyZWRlIGkgYnJ1ayBhdiBldCBhbm5ldCBwcm9kdWt0JzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdVZ3lsZGlnIHByaXNqdXN0ZXJpbmdzdmVyZGkgZm9yIGVuaGV0ICVzJzsKJGxhbmdbJ2Vyb3JyX3FvaF9uZWdhdGl2ZV9hdHJvdyddID0gJ0FudGFsbCBwJmFyaW5nOyBoJmFyaW5nO25kZW4ga2FuIGlra2UgdiZhZWxpZztyZSBuZWdhdGl2IHAmYXJpbmc7IHJhZCAlZCc7CiRsYW5nWydlcnJvcl9za3VfcmVxdWlyZWQnXSA9ICdWZW5ubGlnc3Qgb3BwZ2l0IGV0IHVuaWt0IFYubnIuKFNLVSkgJzsKJGxhbmdbJ2Vycm9yX3NrdV9yZXF1aXJlZF9hdHJvdyddID0gJ1Zlbm5saWdzdCBvcHBnaSBlbiB1bmlrIFNLVS92YXJlbnVtbWVyIHAmYXJpbmc7IHJhZCAlZCc7CiRsYW5nWydlcnJvcl90ZXh0X2VtcHR5X2F0cm93J10gPSAnVGVrc3RmZWx0ZXQgcCZhcmluZzsgcmFkICVkIGthbiBpa2tlIHYmYWVsaWc7cmUgdG9tdCc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnT3BwbGFzdGluZyBmZWlsZXQ6ICVzJzsKJGxhbmdbJ2V4Y2x1ZGVfY2F0ZWdvcmllcyddID0gJ0Vrc2tsdWRlciBwcm9kdWt0ZXIgaSBkZSB2YWxndGUga2F0ZWdvcmllbmUgZnJhIHJlc3VsdGF0ZW5lJzsKJGxhbmdbJ2V4cGlyZV9zaXhfbW9udGhzJ10gPSAnRXR0ZXIgc2VrcyBtJmFyaW5nO25lZGVyJzsKJGxhbmdbJ2V4cGlyZV9vbmVfeWVhciddID0gJ0V0dGVyIGV0dCAmYXJpbmc7cic7CiRsYW5nWydleHBpcmVfdHdvX3llYXInXSA9ICdFdHRlciB0byAmYXJpbmc7cic7CiRsYW5nWydleHBvcnRfdG9fY3N2J10gPSAnRWtzcG9ydCB0aWwgQ1NWJzsKJGxhbmdbJ2V4cG9ydGF0dHJpYnMnXSA9ICdFa3Nwb3J0IGF0cmlidXR0ZXInOwokbGFuZ1snZXhwb3J0Y2F0cyddID0gJ0Vrc3BvcnQga2F0ZWdvcmllcic7CiRsYW5nWydleHBvcnRkZWxpbSddID0gJ0Vrc3BvcnQgZmVsdHNraWxsZXRlZ24nOwokbGFuZ1snZXhwb3J0ZHJhZnQnXSA9ICdFa3Nwb3J0IGtsYWRkIHByb2R1a3Rlcic7CiRsYW5nWydleHBvcnRmaWVsZHMnXSA9ICdFa3Nwb3J0IGVnZW5kZWZpbmVydGUgZmVsdGVyJzsKJGxhbmdbJ2V4dHJhMSddID0gJ0Vrc3RyYWZlbHQgMSc7CiRsYW5nWydleHRyYTInXSA9ICdFa3N0cmFmZWx0IDInOwokbGFuZ1snZmllbGQnXSA9ICdGZWx0JzsKJGxhbmdbJ2ZpZWxkcyddID0gJ0ZlbHRlcic7CiRsYW5nWydmaWVsZGRlZiddID0gJ0ZlbHRkZWZpbmlzam9uJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ0ZlbHRkZWZpbmlzam9uZXInOwokbGFuZ1snZmlsZSddID0gJ0ZpbCc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXIgJzsKJGxhbmdbJ2ZpbHRlcmludXNlJ10gPSAnYWt0aXZlcnQnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRyZSc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCAnOwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ0dlbmVyZWxsZSBpbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ2dvJ10gPSAnU3RhcnQnOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFya2knOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAnSGllcmFya2kgcG9zaXNqb24nOwokbGFuZ1snaGllcmFyY2h5X3NldHRpbmdzJ10gPSAnSGllcmFya2kgaW5uc3RpbGxpbmdlcic7CiRsYW5nWydpZCddID0gJ0lkICc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdCaWxkZSc7CiRsYW5nWydpbWFnZV9oYW5kbGluZ19zZXR0aW5ncyddID0gJ0JpbGRlYmVoYW5kbGluZ3Npbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ2ltcG9ydF9mcm9tX2NzdiddID0gJ0ltcG9ydGVyIHByb2R1a3RlciBmcmEgQ1NWIGZpbCc7CiRsYW5nWydpbmNoZXMnXSA9ICdUb21tZXInOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ0lua2x1ZGVyIGJhcm4/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnS3VuIGFsZmFudW1tZXJpc2tlIHRlZ24uIEluZ2VuIG1lbGxvbXJvbSwgYW5mJm9zbGFzaDtyc2Vsc3RlZ24gZWxsZXIgaWtrZS1ib2tzdGF2L3RhbGwga29tYmluYXNqb25lcic7CiRsYW5nWydpbmZvX2F0dHJpYnRlbXBsYXRlJ10gPSAnTXVsaWdlIHZhcmlhYmxlciBlcjogKCRhdHRyaWJfdGV4dCksICgkYXR0cmliX2FkanVzdCksICgkY3VycmVuY3lfc3ltYm9sKSc7CiRsYW5nWydpbmZvX2F0dHJpYnV0ZXNfY29waWVkJ10gPSAnQXRyaWJ1dHRlciBrb3BpZXJ0JzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ1Zhbm5tZXJrZSBpbm5zdGlsbGluZ2VuZSBlciBoZW50ZXQgZnJhIENHRXh0ZW5zaW9ucyBNb2R1bGVuJzsKJGxhbmdbJ2luZm9fYmF0Y2hzaXplJ10gPSAnU2V0dCBldCBhbnRhbGwgbGluamVyIHNvbSBza2FsIHByb3Nlc3NlcmVzIHBlciAmcXVvdDtiYXRjaCZxdW90Oy4gRXR0ZXIgaHZlciBiYXRjaCBlciBmZXJkaWcsIHZpbCBpbXBvcnRlcmVyZW4gb21kaXJpZ2VyZSwgb2cgZm9ydHNldHRlIG9wZXJhc2pvbmVuZS4gT20gZHUgb3BwbGV2ZXIgbWlubmUgZmVpbCBlbGxlciB0aWRzYXZicnVkZCBwcm9ibGVtZXIgcCZhcmluZzsgZ3J1bm4gYXYgc3RvcmUgbWVuZ2RlciBpIHByb3Nlc3NlcmluZywgc28gYiZvc2xhc2g7ciBkdSBrYW5za2plIGtvbnRha3RlIGRpbiBkaW4gbmV0dHN0ZWRzdmVydCwgZWxsZXIgcmVkdXNlcmUgZGV0dGUgYW50YWxsZXQnOwokbGFuZ1snaW5mb19jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdEaXNzZSBwYXJhbWV0ZXJlIGdpcyB0aWwgZGVuIHZhbGd0ZSBoYW5kbGVrdXJ2KGNhcnQpIG1vZHVsZW4gZnJhIHByb2R1a3QtZGV0YWxqIG9nIC1zYW1tZW5kcmFnc3Zpc25pbmdlbmUnOwokbGFuZ1snaW5mb19jb3B5X2F0dHJpYnNldHMnXSA9ICdEZW5uZSBoYW5kbGluZ2VuIHZpbCBrb3BpZXJlIGF0dHJpYnV0dHNldHQgKHVubnRhdHQgc2t1IHZlcmRpZXIpIGZyYSBldCBhbm5ldCBwcm9kdWt0Lic7CiRsYW5nWydpbmZvX2NsZWFyYXR0cmlicyddID0gJ0dqZWxkZXIgYmFyZSBuJmFyaW5nO3IgZHUgb3BwZGF0ZXJlciBla3Npc3RlcmVuZGUgcHJvZHVrdGVyLCBkZXR0ZSB2aWwgZmplcm5lIGFsbCBhdHRyaWJ1dHQgaW5mb3JtYXNqb24gZnJhIGRhdGFiYXNlbiBmb3IgcHJvZHVrdGVyIGYmb3NsYXNoO3Igb3BwcmV0dGluZyBhdiBueWUnOwokbGFuZ1snaW5mb19jbGVhcmNhdGVnb3JpZXMnXSA9ICdHamVsZGVyIGJhcmUgbiZhcmluZztyIGR1IG9wcGRhdGVyZXIgZWtzaXN0ZXJlbmRlIHByb2R1a3RlciwgdmlsIGRldHRlIGZqZXJuZSBhbGxlIGthdGVnb3JpIG1lZGxlbXNrYXAgZiZvc2xhc2g7ciBueWUgb3BwcmV0dGVzJzsKJGxhbmdbJ2luZm9fY2xlYXJmaWVsZHMnXSA9ICdHamVsZGVyIGJhcmUgbiZhcmluZztyIGR1IG9wcGRhdGVyZXIgZWtzaXN0ZXJlbmRlIHByb2R1a3RlciwgdmlsIGRldHRlIGZqZXJuZSBhbGxlIGZlbHQgZiZvc2xhc2g7ciBueWUgZmVsdHZlcmRpZXIgb3BwcmV0dGVzJzsKJGxhbmdbJ2luZm9fY3JlYXRlZmllbGRzJ10gPSAnT3BwcmV0dCB1a2plbnRlIHByb2R1a3RmZWx0ZXIgYXV0b21hdGlzaz8gPGVtPihEZSB2aWwgYmxpIG9wcHJldHRldCBzb20gdGVrc3RmZWx0ZXIpPC9lbT4nOwokbGFuZ1snaW5mb19jcmVhdGVjYXRlZ29yaWVzJ10gPSAnT3BwcmV0dCBhdXRvbWF0aXNrIHByb2R1a3RrYXRlZ29yaWVyIGZvciAmYXJpbmc7IHNhbXN2YXJlIG1lZCBkZSBzb20gZXIgaSBDU1YgZmlsZW4sIG9tIGRlIGlra2UgYWxsZXJlZGUgZWtzaXN0ZXJlcic7CiRsYW5nWydpbmZvX2NyZWF0ZWhpZXJhcmNoeSddID0gJ09wcHJldHQgcHJvZHVrdGhpZXJhcmtpZXIgYXV0b21hdGlzayBmb3IgJmFyaW5nOyBzYW1zdmFyZSBtZWQgZGUgc29tIGVyIGkgQ1NWIGZpbGVuLCBvbSBkZSBpa2tlIGFsbGVyZWRlIGVrc2lzdGVyZXInOwokbGFuZ1snaW5mb19kZWNpbWFsX3VuaXRzJ10gPSAnU3lzdGVtZXQgZm9yc3QmYXJpbmc7ciAoLikgc29tIGRlc2ltYWxzZXBhcmF0b3IgKGlra2Uga29tbWEhKS4gRi5la3MuOiA8c3Ryb25nPjUuMjU8L3N0cm9uZz4nOwokbGFuZ1snaW5mb19kZWxpbWl0ZXInXSA9ICdTcGVzaWZpc2VyIGJva3N0YXZlbiAoZWxsZXIgYm9rc3RhdmVuZSkgc29tIHNlcGFyZXJlciBodmVydCBmZWx0JzsKJGxhbmdbJ2luZm9fZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdTcGVzaWZpc2VyIGh2b3JkYW4gc3lzdGVtZXQgc2thbCBiZWhhbmRsZSBldCBwcm9kdWt0IHNvbSBoYXIgZXQgbmF2biBzb20gYWxsZXJlZGUgZWtzaXN0ZXJlciBpIENTViBmaWxlbic7CiRsYW5nWydpbmZvX2ZpZWxkZGVmc190YWInXSA9ICc8c3Ryb25nPk1lcms6IDwvc3Ryb25nPiBBbGxlIGZlbHRlciBkZWZpbmVydCBoZXIgZXIgdGlsZ2plbmdqZWxpZ2UgZm9yIGFsbGUgcHJvZHVrdGVyLic7CiRsYW5nWydpbmZvX2ZpZWxkcHJvYmxlbXMnXSA9ICdQcm9ibGVtZXIgYmxlIG9wcGRhZ2V0IHVuZGVyIGgmYXJpbmc7bmR0ZXJpbmcgYXYgZXQgZWxsZXIgZmxlcmUgZWtzdHJhKGN1c3RvbSkgZmVsdGVyLiBIYW5kbGluZ2VuIGVyIHZlbGx5a2tldCBmdWxsZiZvc2xhc2g7cnQsIG1lbiBkdSBiJm9zbGFzaDtyIHVuZGVycyZvc2xhc2g7a2Ugb2cga29ycmlnZXJlIGRpc3NlIHByb2JsZW1lbmUnOwokbGFuZ1snaW5mb19oYW5kbGVpbWFnZXMnXSA9ICdWZWQgaW1wb3J0LCBvbSBldCBiaWxkZSBmaWxuYXZuIGJsaXIgZnVubmV0IGkgZW4gZmVsdGtvbG9ubmUsIHNrYWwgZGV0IGJsaSBmbHl0dGV0IGZyYSBraWxkZSBsb2thc2pvbmVuLCB2YW5ubWVya2V0LCBtaW5pYXR5cmJpbGRldCwgb2cgZmVsdHR5cGVuIGVuZHJlcyB0aWwgJnF1b3Q7aW1hZ2UmcXVvdDsnOwokbGFuZ1snaW5mb19oaWVycGFnZSddID0gJ0JydWsgZGVubmUgc2lkZW4gZm9yIGhpZXJhcmtpdmlzbmluZ2VyLiBEZW5lIHNpZGVJRCB2aWwgaWtrZSBibGkgc3Blc2lmaXNlcnQgcCZhcmluZzsgd2ViYWRyZXNzZW4uJzsKJGxhbmdbJ2luZm9faW1hZ2VwYXRoJ10gPSAnU3RpZW4gKHJlbGF0aXZ0IHRpbCB1cGxvYWRzIGthdGFsb2dlbikgaHZvciBiaWxkZXIgcmVmZXJlcnQgdGlsIGkgaW1wb3J0ZmlsZW4sIGthbiBibGkgZnVubmV0JzsKJGxhbmdbJ2luZm9faW1hZ2VzdHVmZl9kZXByZWNhdGVkJ10gPSAnQmlsZGViZWhhbmRsaW5nc2Z1bmtzam9uZXIgZXIgZm9yZWxkZXQgb2cgdmlsIGJsaSBmamVybmV0IGkgZW4gZnJlbXRpZGlnIHZlcnNqb24uIEJydWsgQ0dTbWFydEltYWdlIGZvciBpbmxpbmUgYmlsZGViZWhhbmRsaW5nLic7CiRsYW5nWydpbmZvX2ltcG9ydF90ZXN0X3Bhc3NlZCddID0gJ0VuIGtvcnQgdGVzdCBoYXIgYmxpdHQgdXRmJm9zbGFzaDtydCBwJmFyaW5nOyBkZW4gc3Blc2lmaXNlcnRlIGlubmZpbGVuLCBvZyBhbHQgc2VyIHV0IHRpbCAmYXJpbmc7IHYmYWVsaWc7cmUgaSBvcmRlbi48YnIvPkRldHRlIGVyIGlra2UgZW4gaW5kaWthc2pvbiBwJmFyaW5nOyBhdCBkZXQgaWtrZSBrYW4gdiZhZWxpZztyZSBmZWlsIGkgZmlsZW4uJzsKJGxhbmdbJ2luZm9fcHJldHR5aGllcnVybHMnXSA9ICdJbmtsdWRlciBoaWVyYXJraSBlbGVtZW50bmF2bmV0IHAmYXJpbmc7IFVSTGVuJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ0d5bGRpZ2UgdmVyZGllciBlciArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHJvZG5vdGZvdW5kJ10gPSAnRGV0dGUgYWx0ZXJuYXRpdmV0IGJlc3RlbW1lciBvcHBmJm9zbGFzaDtyc2VsZW4gdGlsIG5ldHRzdGVkZXQgaHZpcyBlbiBoYXIgZyZhcmluZzt0dCByZXR0IHRpbCBwcm9kdWt0LWRldGFsanZpc25pbmcgdmlhIGVuIG5ldHRhZHJlc3NlLCBvZyBhdCBwcm9kdWt0ZXQgYXYgZW4gZWxsZXIgYW5uZW4gZ3J1bm4gKGRlYWt0aXZlcnQsIHNsZXR0ZXQsIG9zdi4pIGlra2Uga2FuICZhcmluZztwbmVzLic7CiRsYW5nWydpbmZvX3B1YmxpY2ZpZWxkJ10gPSAnT2ZmZW50bGlnZSBmZWx0IGVyIHRpbGdqZW5nZWxpZ2UgJmFyaW5nOyBzZSBmb3IgYWxsZSc7CiRsYW5nWydpbmZvX3Jlb3JkZXJfY29udGVudCddID0gJ0Rlbm5lIG9wZXJhc2pvbmVuIHRpbGxhdGVyICZhcmluZzsgZHJhIGRlIGVua2VsdGUgbm9kZXIgaSB0cmVldCBmb3IgJmFyaW5nOyBlbmRyZSByZWtrZWYmb3NsYXNoO2xnZW4gZGUgdmlzZXMgcCZhcmluZzsgaSBoaWVyYXJraXZpc25pbmcnOwokbGFuZ1snaW5mb19zZXRlY29taGFuZGxlcnMnXSA9ICdEZW5uZSBrbmFwcGVuIHZpbCBzaWtyZSBhdCBoZW5kZWxzZXNiZWhhbmRsZXJuZSBmb3IgZS1oYW5kZWwgaGVuZGVsc2VyIGVyIHAmYXJpbmc7IHBsYXNzLiBEZXR0ZSBlciBueXR0aWcgb20gZW4gYmVyIFByb2R1a3Rtb2R1bGVuIG9tICZhcmluZzsgaG9sZGUgc3R5ciBwJmFyaW5nOyBtZW5nZGUgdGlsZ2plbmdlbGlnLCBtZW4gaGVuZGluZ3Nha3RpdmF0b3JlciBpa2tlIGJsZSBvcHByZXR0ZXQgdW5kZXIgaW5zdGFsbGFzam9uIGVsbGVyIG9wcGdyYWRlcmluZyc7CiRsYW5nWydsYWJlbCddID0gJ0V0aWtldHQnOwokbGFuZ1snbGFiZWxfc2tpcCddID0gJ0hvcHAgb3Zlcic7CiRsYW5nWydsYWJlbF9vdmVyd3JpdGUnXSA9ICdPdmVyc2tyaXYnOwokbGFuZ1snbGFiZWxfdXBkYXRlJ10gPSAnT3BwZGF0ZXInOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICcgPj4nOwokbGFuZ1snbGFzdF9tb2RpZmllZCddID0gJ1Npc3QgZW5kcmV0JzsKJGxhbmdbJ2xvZ290ZXh0J10gPSAnQW5kcmUgYmlsZGUnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWFrc2ltdW0gbGVuZ2RlIDxlbT4oa2FuIGJlbnl0dGVzIGt1biBwJmFyaW5nOyB0ZWtzdGJva3MgZmVsdGVyKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ0VuZHJldCBkYXRvJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ0VuIG1vZHVsIGZvciAmYXJpbmc7IGJlaGFuZGxlIGVuIGthdGFsb2cgbWVkIHByb2R1a3RlciwgZGV0cyBwcmlzLCBiaWxkZXIsIG9zdiwgb2cgZm9yICZhcmluZzsgdGlsbGF0ZSBicnVrZXJlICZhcmluZzsgYnlnZ2UgZW4gaGFuZGxla3Vydic7CiRsYW5nWydtb3ZlX2Rvd24nXSA9ICdGbHl0dCBuZWQnOwokbGFuZ1snbW92ZV91cCddID0gJ0ZseXR0IG9wcCc7CiRsYW5nWydtc2dfZXZlbnRoYW5kbGVyc19jcmVhdGVkJ10gPSAnSGVuZGVsc2VzYmVoYW5kbGVyZSBvcHByZXR0ZXQnOwokbGFuZ1snbXNnX29wdGlvbnNjb3BpZWQnXSA9ICdQcm9kdWt0IHZhbGcga29waWVydCAobWVuIGlra2UgbGFncmV0IGVubiZhcmluZzspJzsKJGxhbmdbJ21zZ19vcHRpb25zX2RlbGV0ZWQnXSA9ICdQcm9kdWt0IHZhbGcgc2xldHRldCBmb3IgcHJvZHVrdCAlZCc7CiRsYW5nWydtc2dfb3B0aW9uc19zYXZlZCddID0gJ1Byb2R1a3QgdmFsZyBsYWdyZXQnOwokbGFuZ1snbXNnX3Byb2R1Y3Rjb3BpZWQnXSA9ICdQcm9kdWt0ZXQgYmxlIGtvcGllcnQuIER1IHJlZGlnZXJlciBuJmFyaW5nOyBrb3BpZW4uIEVuaHZlciBza3UvdmFyZW51bW1lciBpbmZvcm1hc2pvbiBpIHByb2R1a3RldCwgb2cvZWxsZXIgYXR0cmlidXR0ZXIgZXIgZmplcm5ldCc7CiRsYW5nWyduYW1lJ10gPSAnTmF2bic7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ0R1IGhhciBpa2tlIGRlbiBuJm9zbGFzaDtkdmVuZGlnZSByZXR0aWdoZXRlbjogJXMnOwokbGFuZ1snbmV3X2NhdGVnb3J5X25hbWUnXSA9ICdOeXR0IGthdGVnb3JpIG5hdm4nOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICcgPic7CiRsYW5nWydubyddID0gJ05laSc7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ0luZ2VuIG5hdm4gb3BwZ2l0dCc7CiRsYW5nWydub25lJ10gPSAnSW5nZW4nOwokbGFuZ1snbm90ZXMnXSA9ICdNZXJrbmFkZXInOwokbGFuZ1snbm90aGluZ19zZWxlY3RkJ10gPSAnSW5nZW50aW5nIHZhbGd0JzsKJGxhbmdbJ29mJ10gPSAnYXYnOwokbGFuZ1snb2snXSA9ICdPSyc7CiRsYW5nWydvcGVyYXRpb25fY2FuY2VsbGVkJ10gPSAnT3BlcmFzam9uIGF2YnJ1dHQnOwokbGFuZ1snb3BlcmF0aW9uX2NvbXBsZXRlJ10gPSAnT3BlcmFzam9uIGZlcmRpZyc7CiRsYW5nWydwYWdlJ10gPSAnU2lkZSc7CiRsYW5nWydwYWdlX29mJ10gPSAnU2lkZSAlcyBhdiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnU2lkZSBiZWdyZW5zbmluZyc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5oaWVyYXJjaHkgLS0gRGlzcGxheSBhIHByb2R1Y3QgbGlzdCBieSBoaWVyYXJjaHk8L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdCBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyeSBvZiBwcm9kdWN0czwvbGk+DQogIDxsaT5kZXRhaWxzIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIHByb2R1Y3Q8L2xpPg0KICA8bGk+ZmllbGRsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgdmFsdWVzIGZyb20gYSBzcGVjaWZpZWQgZmllbGQuDQogICAgIDxwPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYSBuYXZpZ2F0aW9uIGZyb20gdGhlIHZhbHVlcyBvZiBhIHNwZWNpZmljIGZpZWxkLiAgaS5lOiAgeW91IGNvdWxkIGNyZWF0ZSBhIGN1c3RvbSBkcm9wZG93biBmaWVsZCBjYWxsZWQgJmFtcDtxdW90O2NvbG9yJmFtcDtxdW90OyBhbmQgdGhlbiBjcmVhdGUgYSBuYXZpZ2F0aW9uIGJhc2VkIG9uIHRoZSBkaWZmZXJlbnQgY29sb3JzLg0KICAgICA8L3A+DQogIDwvbGk+DQogIDxsaT5zZWFyY2ggLSBEaXNwbGF5IGEgZm9ybSB0byBhbGxvdyBzZWFyY2hpbmcgcHJvZHVjdHMgb24gdmFyaW91cyBjcml0ZXJpdW08L2xpPg0KPGxpPmFqYXhfcHJvcHZhbCAtIFJldHVybiBhIGpzb24gZW5jb2RlZCBsaXN0IG9mIHByb3BlcnR5IHZhbHVlcyBtYXRjaGluZyB0aGUgY3JpdGVyaWEgc3BlY2lmaWVkLiAgVGhpcyBhY3Rpb24gaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCB2aWEgYWpheCwgYW5kIHNob3VsZCBiZSBjYWxsZWQgd2l0aCB0aGUgc2hvd3RlbXBsYXRlPWZhbHNlIHBhcmFtZXRlciBvbiB0aGUgVVJMLjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ04mYXJpbmc7ciBiZW55dHRldCBtZWQgPGVtPnN0YW5kYXJkPC9lbT4gc2FtbWVuZHJhZ3Ntb2R1cyB2aWwgZGVubmUgcGFyYW1ldGVyLCBzb20gc2thbCB2JmFlbGlnO3JlIGxpayBuYXZuZXQgcCZhcmluZzsgZW4gZWtzaXN0ZXJlbmRlIGthdGVnb3JpLCBibGkgYmVueXR0ZXQgZm9yICZhcmluZzsgdmlzZSBrdW4gZGUgcHJvZHVrdGVuZSBzb20gZXIgaSBkZW5uZSBrYXRlZ29yaWVuLiAoZW4ga29tbWFzZXBhcmVydCBsaXN0ZSBrYW4gb3BwZ2lzKSBEZW5uZSBwYXJhbWV0ZXJlbiBrYW4gb2dzJmFyaW5nOyBiZW55dHRlcyBtZWQgY2F0ZWdvcnlsaXN0IGhhbmRsaW5nZW4gZm9yICZhcmluZzsgYmVncmVuc2UgdXRkYXRhIHRpbCBkZSBzcGVzaWZpc2VydGUgcHJvZHVrdGthdGFnb3JpZW5lLic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWZpZWxkJ10gPSAnR2plbGRlciBrdW4gdGlsICZxdW90O2NhdGVnb3J5bGlzdCZxdW90OyBoYW5kbGluZywgaHZvciBkZW5uZSBwYXJhbWV0ZXJlbiBrYW4gYnJ1a2VzIHRpbCAmYXJpbmc7IGZpbHRyZXJlIGthdGVnb3JpZXIgYmFzZXJ0IHAmYXJpbmc7IHZlcmRpZW4gYXYgZXQga2F0ZWdvcmlmZWx0LiBEZXR0ZSB2aWwgaWtrZSBmdW5nZXJlIGkgZm9yYmluZGVsc2UgbWVkICZxdW90O2thdGVnb3JpJnF1b3Q7IGVsbGVyICZxdW90O2NhdGVnb3J5X2lkJnF1b3Q7IHBhcmFtZXRlcmUuIFN5bnRha3NlbiBmb3IgZGVubmUgcGFyYW1ldGVyZW4gZXIgZW4ga29tbWFzZXBhcmVydCBsaXN0ZSBtZWQgZmVsdG5hdm4sIG9nIGZlbHR2ZXJkaWVyLiBkdnMuOiBjYXRlZ29yeWxpc3Q9JmFtcDtxdW90O2ZlbHRuYXZuZXQ6dmVyZGksZmVsdG5hdm4yOnZlcmRpZW4gMiZhbXA7cXVvdDsnOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdNZWQga2F0ZWdvcmlsaXN0ZSAgb2cgZmllbGRsaXN0IGhhbmRsaW5nZW5lLCB2aWwgZGVubmUgcGFyYW1ldGVyIGluZGlrZXJlIG1hbGVuIHNvbSBza2FsIGJlbnl0dGVzIGZvciB2aXNuaW5nLiBPbSBpbmdlbiB2ZXJkaSBlciBvcHBnaXR0IHZpbCBuJmFyaW5nO3YmYWVsaWc7cmVuZGUgc3RhbmRhcmQgbWFsIGF2IGRlbm5lIHR5cGUgYmxpIGJlbnl0dGV0Lic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3RkdGx0ZW1wbGF0ZSddID0gJ0thbiBrdW4gYmVueXR0ZXMgbWVkIGNhdGVnb3J5bGlzdCBoYW5kbGluZ2VuZSwgaHZvciBkZW5uZSBwYXJhbWV0ZXJlbiBpbmRpa2VyZXIgbWFsZW4gc29tIHNrYWwgYmVueXR0ZXMgZm9yIHZpc25pbmcgYXYga2F0ZWdvcmlkZXRhbGplci4gRGV0dGUgYmVueXR0ZXIgZW4ga2F0YWdvcmlsaXN0ZW1hbC4uIE9tIGluZ2VuIHZlcmRpIGVyIHNwZXNpZmlzZXJ0IHMmYXJpbmc7IHZpbCBuJmFyaW5nO3YmYWVsaWc7cmVuZGUgc3RhbmRhcmRtYWwgYXYgZGVubmUgdHlwZW4gYmxpIGJlbnl0dGV0Lic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnRGV0dGUgc3Blc2lmaXNlcmVyIHNpZGVpZCYjMDM5O2VuIGVsbGVyIHNpZGVhbGlhcyBzb20gc2thbCBiZW55dHRlcyBmb3IgJmFyaW5nOyB2aXNlIGRldGFsanJhcHBvcnRlbi4gRGV0dGUga2FuIGJlbnl0dGVzIG1lZCA8ZW0+ZGVmYXVsdDwvZW0+IGVsbGVyIHMmb3NsYXNoO2sgaGFuZGxpbmdlbmUuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnRGVubmUgcGFyYW1ldGVyIHNwZXNpZmlzZXJlciBtYWxlbiBzb20gc2thbCBiZW55dHRlcyBmb3IgZGV0YWxqbW9kdXMgdmlzbmluZy4gT20gaW5nZW4gdmVyZGkgZXIgb3BwZ2l0dCB2aWwgbiZhcmluZzt2JmFlbGlnO3JlbmRlIHN0YW5kYXJkIG1hbCBhdiBkZW5uZSB0eXBlIGJsaSBiZW55dHRldC4gRGVubmUgcGFyYW1ldGVyIGhhciBpbmdlbiB2aXJrbmluZyBuJmFyaW5nO3IgdmFrcmUgdXJsZXIgZXIgcCZhcmluZztzbCZhcmluZzt0dC4nOwokbGFuZ1sncGFyYW1fZXhjbHVkZWNhdCddID0gJ0dqZWxkZXIga3VuIHRpbCBzdGFuZGFyZCAoc2FtbWVuZHJhZykgdmlzbmluZywgaHZvciBkZW5uZSBwYXJhbWV0ZXJlbiB2aWwgdGlsbGF0ZSB1bm50YWsgYXYgcHJvZHVrdGVyIHNvbSBlciBpIGVuIGJlc3RlbXQga2F0ZWdvcmkgZnJhIHJlc3VsdGF0ZXQuIEVuIGtvbW1hc2VwYXJlcnQgbGlzdGUgbWVkIGthdGVnb3JpbmF2biBlciB0aWxsYXR0LiBEZW5uZSBwYXJhbWV0ZXJlbiBrYW4gZnVuZ2VyZSBzYW1tZW4gbWVkIGthdGVnb3JpLXBhcmFtZXRlcmVuIGZvciAmYXJpbmc7IGdpIGVuIGxpc3RlIG92ZXIgcHJvZHVrdGVyIHNvbSBlciBpIGRlbm5lIGthdGVnb3JpZW4sIG1lbiBpa2tlIGkgZGVuIGthdGVnb3JpZW4nOwokbGFuZ1sncGFyYW1fZmllbGQnXSA9ICdVc2VkIGluIHRoZSA8ZW0+ZmllbGRsaXN0PC9lbT4gYW5kIHRoZSA8ZW0+YWpheF9wcm9wdmFsPC9lbT4gYWN0aW9ucy4gSW4gdGhlIGZpZWxkbGlzdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgYSB1c2VyIGRlZmluZWQgcHJvcGVydHkgdG8gY3JlYXRlIGEgbGlzdCBmcm9tLiAgSW4gdGhlIGFqYXhfcHJvcHZhbCBhY3Rpb24gdGhpcyBwYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoaWNoIGZpZWxkIHRvIHVzZSB0byBleHRyYWN0IGEgbGlzdCBvZiB2YWx1ZXMuICBBbnkgdmFsaWQgZmllbGQgbmFtZXMgYXJlIGFjY2VwdGVkICh0aG91Z2ggb25seSB0ZXh0IGZpZWxkIGFuZCBkcm9wZG93biBmaWVsZCBuYW1lcyB3aWxsIHdvcmsgcHJvcGVybHkuICBBZGRpdGlvbmFsbHkgdGhlIHNwZWNpYWwgdmFsdWVzIDo6bmFtZTo6LCA6OnNrdTo6LCBhbmQgOjphbGlhczo6IGNhbiBiZSBzcGVjaWZpZWQgdG8gcmV0dXJuIHZhbHVlcyBmcm9tIHRoZSBwcm9kdWN0IG5hbWUsIHNrdSBhbmQgYWxpYXMgcmVzcGVjdGl2ZWx5Lic7CiRsYW5nWydwYXJhbV9maWVsZHZhbCddID0gJ1VzZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gYW5kIDxlbT5hamF4X3Byb3B2YWw8L2VtPiBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIGZpZWxkIHZhbHVlIHRvIGxpbWl0IHJlc3VsdHMgYnkuICBJbiB0aGUgZGVmYXVsdCB2YWx1ZSB0aGVzZSBzcGVjaWFsIHZhbHVlcyBhcmUgYWNjZXB0ZWQ6ICZhbXA7cXVvdDs6Om51bGw6OiZhbXA7cXVvdDsgJmFtcDtxdW90Ozo6bm90bnVsbDo6JmFtcDtxdW90Oy4gSW4gdGhlIGFqYXhfcHJvcHZhbCBhY3Rpb24gdGhpcyBmaWVsZCBpcyBleHBlY3RlZCB0byBjb250YWluIG9ubHkgYSBmZXcgbGV0dGVycywgdG8gaW5kaWNhdGUgYSBzbWFsbCBmaWx0ZXIuICBpLmU6IGZpZWxkdmFsPWIgdG8gcmV0dXJuIGFsbCBmaWVsZCB2YWx1ZXMgdGhhdCBiZWdpbiB3aXRoIHRoZSBsZXR0ZXIgYi4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5J10gPSAnS2FuIGt1biBiZW55dHRlcyBpIDxlbT5kZWZhdWx0PC9lbT4gb2cgaGllcmFya2kgaGFuZGxpbmdlci4gRGVubmUgcGFyYW1ldGVyIGhhciB0byBvcHBnYXZlciAtIGRlbiBzcGVzaWZpc2VyZXIgYXQga3VuIGFydGlrbGVyIGkgZGVubmUgbG9rYXNqb25lbiBpIGhpZXJhcmtpZXQgc2thbCB2aXNlcy4gIEpva2VydGVnbiBrYW4gYmVueXR0ZXMgcyZhcmluZzsgZHUgb2dzJmFyaW5nOyBrYW4gc3Blc2lmaXNlcmUgZm9yZWxkcmUvYmFybiByZWxhc2pvbmVyLiBGLmVrcy4ge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTt0cnVja3MqJiMwMzk7fSB2aWwgbGFnZSBlbiBzYW1tZW5kcmFnc3JhcHBvcnQgbWVkIGFsbGUgdHJ1Y2tzLCBpbmtsdWRlcnQgYmFybmEgaSBoaWVyYXJraWV0LiAgUCZhcmluZzsgc2FtbWUgbSZhcmluZzt0ZSwge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTsqdHJ1Y2tzJiMwMzk7fSB2aWwgdmlzZSBlbiBzYW1tZW5kcmFnc3JhcHBvcnQgbWVkIGFsbGUgdHJ1Y2tzIG9nIGFsbGUgcHJvZHVrdGVyIHRpbGgmb3NsYXNoO3JlbmRlIGVuaHZlciBmb3JlbGRyZSBpIGhpZXJhcmtpZXQuIE4mYXJpbmc7ciBiZW55dHRldCBtZWQgaGllcmFya2loYW5kbGluZ2VuIHMmYXJpbmc7IGthbiBkZW5uZSBwYXJhbWV0ZXIgZ2kgZW4gbGlzdGUgbWVkIGhpZXJhcmtpbmF2biBmb3IgJmFyaW5nOyB2aXNlIGFra3VyYXQgZGlzc2UuIEYuZWtzLiB7UHJvZHVjdHMgYWN0aW9uPWhpZXJhcmNoeSBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzLGNhcnMmIzAzOTt9JzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnRGVubmUgcGFyYW1ldGVyIHNwZXNpZmlzZXJlciBtYWxlbiBzb20gc2thbCBicnVrZXMgZm9yIGhpZXJhcmtpIHZpc25pbmcuIE9tIGluZ2VuIHZlcmRpIGVyIHNhdHQgdmlsIHN0YW5kYXJkIG1hbCBhdiBkZW4gdHlwZW4gYmxpIGJlbnl0dGV0Lic7CiRsYW5nWydwYXJhbV9pbmxpbmUnXSA9ICdLdW4gbnl0dGlnIGZvciBzJm9zbGFzaDtrLWhhbmRsaW5nZW4sIGRlciBkZW5uZSBwYXJhbWV0ZXJlbiBzcGVzaWZpc2VyZXIgYXQgdXRkYXRhIGZvciBzYW1tZW5kcmFnZXN2aXNuaW5nZW4gc2thbCB2aXNlcyBpbmxpbmUnOwokbGFuZ1sncGFyYW1fbm90cHJldHR5J10gPSAnRGVubmUgcGFyYW1ldGVyIGFuZ2lyIGVuIGtvbW1hc2VwYXJlcnQgbGlzdGUgb3ZlciBoYW5kbGluZ2VyIHNvbSB2YWtyZSB3ZWJhZHJlc3NlciBpa2tlIGImb3NsYXNoO3IgZ2VuZXJlcmVzIGZvciBmLmVrcy46IG5vdHByZXR0eT1oaWVyYXJjaHksIGRlZmF1bHQgdmlsIGlra2UgZ2VuZXJlcmUgdmFrcmUgdXJsZXIgdGlsIGhpZXJhcmNoeSwgZWxsZXIgc3VtbWFyeSAoc3RhbmRhcmQpIGhhbmRsaW5nZW5lLCBtZW4gdmlsIHRpbGxhdGUgZ2VuZXJlcmluZyBhdiB2YWtyZSB3ZWJhZHJlc3NlciB0aWwgZGV0YWxqdmlzbmluZy4gU29tIGVuIHNwZXNpZWxsIHZlcmRpICZxdW90O2FsbCZxdW90OyBrYW4gYnJ1a2VzIHRpbCAmYXJpbmc7IGFuZ2kgYXQgaW5nZW4gcGVuZSB1cmxlciBza2FsIGdlbmVyZXJlcyc7CiRsYW5nWydwYXJhbV9wYWdlbGltaXQnXSA9ICdCZW55dHRldCBtZWQgPGVtPnN0YW5kYXJkPC9lbT4gaGFuZGxpbmdlbiB2aWwgZGVubmUgcGFyYW1ldGVyIHNwZXNpZmlzZXJlIGh2b3IgbWFuZ2UgcHJvZHVrdGVyIHNvbSBza2FsIGxpc3RlcyBwJmFyaW5nOyBodmVyIHNpZGUuJzsKJGxhbmdbJ3BhcmFtX3BhcmVudCddID0gJ0thbiBrdW4gYmVueXR0ZXMgaSA8ZW0+aGllcmFyY2h5PC9lbT4gaGFuZGxpbmdlbi4gRGVubmUgcGFyYW1ldGVyIHNwZXNpZmlzZXJlciBoaWVyYXJraSBpZCB0aWwgc3RhcnQgcG9zaXNqb25lbiBpIHJhcHBvcnRlbi4nOwokbGFuZ1sncGFyYW1fcGFyZW50cyddID0gJ055dHRpZyBiYXJlIGkgPGVtPmhpZXJhcmNoeTwvZW0+IGhhbmRsaW5nZW4sIGFuZ2lyIGRlbm5lIHBhcmFtZXRlcmVuIGVuIGtvbW1hc2VwYXJlcnQgbGlzdGUgbWVkIGhpZXJhcmtpIG5hdm4gc29tIHNwZXNpZmlzZXJlciBmb3Igb3BwcmV0dGluZyBlbiByZWtrZSBoaWVyYXJraSB0ciZhZWxpZztyIGZyYSBkZW4vZGUgYW5naXR0ZSBwbGFzc2VyaW5nKGVuZSkuIEhpZXJhcmtpIG5hdm4gbSZhcmluZzsgdiZhZWxpZztyZSB1bmlrZSwgb2cgaWtrZSBpbm5laG9sZGUgc3Blc2lhbHRlZ24uJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ0Jlbnl0dGV0IG1lZCBkZXRhbGogaGFuZGxpbmdlbiB2aWwgZGVubmUgcGFyYW1ldGVyIGluZGlrZXJlIGh2aWxrZXQgcHJvZHVrdCBzb20gc2thbCB2aXNlcyBwJmFyaW5nOyBzaWRlbi4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGxpc3QnXSA9ICdHamVsZGVyIGt1biB0aWwgc3RhbmRhcmQgKHNhbW1lbmRyYWcpIHZpc25pbmcsIGh2b3IgZGVubmUgcGFyYW1ldGVyZW4ga2FuIGFuZ2kgZW4ga29tbWFzZXBhcmVydCBsaXN0ZSBtZWQgaGVsdGFsbCBwcm9kdWt0LUlEZXIgJmFyaW5nOyB2aXNlLiBJbmdlbiBwYWdpbmVyaW5nIGVsbGVyIHNvcnRlcmluZyB1dGYmb3NsYXNoO3JlcyBkYSBwJmFyaW5nOyBkaXNzZSB2ZXJkaWVuZS4gQW5kcmUgc3Blc2lmaXNlcnRlIGZpbHRyZXJpbmdzcGFyYW1ldGVyZSwgb20gZGV0dGUgZXIgc3Blc2lmaXNlcnQgZm9yIHNhbW1lbmRyYWdzdmlzbmluZ2VuLCB2aWwgb2dzJmFyaW5nOyBpZ25vcmVyZXMuJzsKJGxhbmdbJ3BhcmFtX3Jlc3VsdHBhZ2UnXSA9ICdLdW4gZ3lsZGlnIGZvciBzJm9zbGFzaDtrIGhhbmRsaW5nZW4sIGh2b3IgZGVubmUgcGFyYW1ldGVyZW4gc3Blc2lmaXNlcmVyIGVuIHNpZGUtaWQgZWxsZXIgYWxpYXMgJmFyaW5nOyBiZW55dHRlIGZvciAmYXJpbmc7IHZpc2UgcyZvc2xhc2g7a2VyZXN1bHRhdGVuZSc7CiRsYW5nWydwYXJhbV9zZWFyY2hmaWVsZCddID0gJ0t1biBneWxkaWcgZm9yIHMmb3NsYXNoO2sgaGFuZGxpbmdlbiwgaHZvciBkZW5uZSBwYXJhbWV0ZXJlbiBrYW4gaW5uZWhvbGRlIGVuIGtvbW1hc2VwYXJlcnQgbGlzdGUgbWVkIGZlbHRuYXZuICZhcmluZzsgaW5rbHVkZXJlIGkgcyZvc2xhc2g7a2V0JzsKJGxhbmdbJ3BhcmFtX3NlYXJjaGZvcm10ZW1wbGF0ZSddID0gJ0t1biBneWxkaWcgZm9yIHMmb3NsYXNoO2sgaGFuZGxpbmdlbiwgaHZvciBkZW5uZSBwYXJhbWV0ZXJlbiB0aWxsYXRlciAmYXJpbmc7IHNwZXNpZmlzZXJlIGVuIGlra2Utc3RhbmRhcmQgcyZvc2xhc2g7a2Vza2plbWFtYWwnOwokbGFuZ1sncGFyYW1fc2hvd2FsbCddID0gJ0dqZWxkZXIga3VuIHRpbCBjYXRlZ29yeWxpc3Qgb2cgZmllbGRsaXN0IGhhbmRsaW5nZW5lLCBkZXJzb20gZGVubmUgcGFyYW1ldGVyZW4gZXIgc2F0dCB0aWwgZW4gaWtrZSAwIGhlbHRhbGxzdmVyZGkgdmlsIGFsbGUga2F0ZWdvcmllciAob2dzJmFyaW5nOyBkZSB1dGVuIHByb2R1a3RlcikgYmxpIHZpc3QuJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ1NwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnQXBwbGljYWJsZSBpbiB0aGUgc3VtbWFyeSwgY2F0ZWdvcnlsaXN0IG9yIHNlYXJjaCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+aWQgLS0gVGhlIHByb2R1Y3QgaWQ8L2xpPg0KICA8bGk+d2VpZ2h0IC0tIFRoZSBwcm9kdWN0IHdlaWdodDwvbGk+DQogIDxsaT5wcmljZSAtLSBUaGUgcHJvZHVjdCBiYXNlIHByaWNlPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPmY6ZmllbGRuYW1lIC0tIEFsbG93cyBzb3J0aW5nIGJ5IHZhbHVlcyBvZiBjdXN0b20gZmllbGRzLjwvbGk+DQo8L3VsPg0KPHA+VGhlIGNhdGVnb3J5IGxpc3QgdmlldyBzdXBwb3J0cyBvbmx5IGEgZmV3IHNwZWNpZmljIHNvcnRpbmcgb3B0aW9uczo8L3A+DQo8dWw+DQogIDxsaT5pZCAtLSBUaGUgY2F0ZWdvcnkgaWQuPC9saT4NCiAgPGxpPjxzdHJvbmc+bmFtZTwvc3Ryb25nPiAtLSBUaGUgY2F0ZWdvcnkgbmFtZS48L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydHR5cGUnXSA9ICdEZW5uZSBwYXJhbWV0ZXJlbiBlciBrdW4gZ3lsZGlnIGZvciBzdGFuZGFyZCBzYW1lbW5kcmFnc3Zpc25pbmdlbiwgaHZvciBkZW5uZSBwYXJhbWV0ZXJlbiBiZW55dHRlcyB0aWwgJmFyaW5nOyBrb252ZXJ0ZXJlIHZlcmRpZW5lIHRpbCBlbiBhbm5lbiB0eXBlIHMmYXJpbmc7IGRlIGthbiBiZW55dHRlcyB0aWwgc29ydGVyaW5nLiBHeWxkaWdlIHZlcmRpZXIgZXIgU1RSSU5HLFNJR05FRCBvZyBVTlNJR05FRC4gT20gZGV0dGUgaWtrZSBlciBzYXR0IGhlciBzJmFyaW5nOyB2aWwgc3RhbmRhcmR0eXBlbiBTVFJJTkcgYmxpIGJlbnl0dGV0Lic7CiRsYW5nWydwYXJhbV9zdW1tYXJ5cGFnZSddID0gJ0Rlbm5lIHBhcmFtZXRlciBlciBrdW4gYWt0dWVsbCBmb3IgYWN0aW9uPWhpZXJhcmNoeSwgaHZvciBkZW4gdGlsbGF0ZXIgJmFyaW5nOyBzcGVzaWZpc2VyZSBlbiBzaWRlSUQgZWxsZXIgYWxpYXMgc29tIHZpbCBibGkgYmVueXR0ZXQgZm9yIGFsbGUgbGVua2VyIGZvciBzYW1tZW5kcmFnc3Zpc25pbmcnOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnRGVubmUgcGFyYW1ldGVyIHNwZXNpZmlzZXJlciBtYWxlbiBzb20gc2thbCBiZW55dHRlcyBmb3Igc2FtbWVuZHJhZ3Ntb2R1cyB2aXNuaW5nZW4uIE9tIGluZ2VuIHZlcmRpIGVyIG9wcGdpdHQgdmlsIG4mYXJpbmc7diZhZWxpZztyZW5kZSBzdGFuZGFyZCBtYWwgYXYgZGVubmUgdHlwZSBibGkgYmVueXR0ZXQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ0ZvcmVsZHJlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnUHJvZHVjdHMgbW9kdWxlbiBoYXIgYmxpdHQgaW5zdGFsbGVydCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnUHJvZHVjdHMgbW9kdWxlbiBvZyBhbGxlIGFzc29zaWVydGUgZGF0YSBoYXIgYmxpdHQgZmplcm5ldCc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmFuc2VyJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJyZBcmluZzsgZmplcm5lIGRlbm5lIG1vZHVsZW4gdmlsIG9ncyZhcmluZzsgZmplcm5lIGFsbGUgYXNzb3NpZXJ0ZSBkYXRhLCBlciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIGZvcnRzZXR0ZT8nOwokbGFuZ1sncHJpY2UnXSA9ICdQcmlzJzsKJGxhbmdbJ3ByaWNlX2FkanVzdG1lbnQnXSA9ICdQcmlzanVzdGVyaW5nJzsKJGxhbmdbJ3ByZWZpeF9jb3B5b2YnXSA9ICdLb3BpIGF2ICc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwgJzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdQcm9kdWt0JzsKJGxhbmdbJ3Byb2R1Y3RuYW1lJ10gPSAnUHJvZHVrdG5hdm4nOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdQcm9kdWt0IGFkbWluaXN0cmFzam9uJzsKJGxhbmdbJ3Byb2R1Y3RfZGV0YWlsX3NldHRpbmdzJ10gPSAnUHJvZHVrdCBkZXRhbGppbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3Byb2R1Y3RfZWRpdGluZ19zZXR0aW5ncyddID0gJ1Byb2R1a3RyZWRpZ2VyaW5ncyBpbm5zdGlsbGluZ2VyJzsKJGxhbmdbJ3Byb2R1Y3Rfc3VtbWFyeV9zZXR0aW5ncyddID0gJ1Byb2R1a3RzYW1tZW5kcmFnIGlubnN0aWxsaW5nZXInOwokbGFuZ1sncHJvZHVjdF9oaWVyYXJjaHknXSA9ICdQcm9kdWt0IGhpZXJhcmtpJzsKJGxhbmdbJ3Byb2R1Y3RfaW5mbyddID0gJ1Byb2R1a3RpbmZvcm1hc2pvbic7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICdQcm9kdWt0IGJlaGFuZGxlcic7CiRsYW5nWydwcm9ncmVzcyddID0gJ0ZyZW1kcmlmdCc7CiRsYW5nWydwcm9tcHQnXSA9ICdFdGlrZXR0IChzcCZvc2xhc2g7cnNtJmFyaW5nO2wvcHJvbXB0KSc7CiRsYW5nWydwcm9tcHRfYWRkX2F0dHJpYnNldCddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgYXRyaWJ1dHRzZXR0JzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ1RpbGxhdCBvcHBsYXN0aW5nIGF2IGZpbGUgbWVkIGRpc3NlIGZpbGVuZGVsc2VyIChmb3IgZmlsIHR5cGUgZmVsdGVyKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZXR5cGVzJ10gPSAnVGlsbGF0IG9wcGxhc3RpbmcgYXYgYmlsZGVyIG1lZCBkaXNzZSBmaWxlbmRlbHNlciAoZm9yIGJpbGRlIHR5cGUgZmVsdGVyKSc7CiRsYW5nWydwcm9tcHRfYXR0cmlidGVtcGxhdGUnXSA9ICdNYWwgZm9yIHZpc25pbmcgYXYgcHJvZHVrdGV0cyBhdHRyaWJ1dHR2ZXJkaWVyIGkgbmVkdHJla2snOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWwnXSA9ICdPcHByZXR0IG1pbmlhdHlyYmlsZGVyIGF1dG9tYXRpc2sgZnJhIGJpbGRlcic7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWFrc2ltdW0gc3Qmb3NsYXNoO3JyZWxzZSAoc3Qmb3NsYXNoO3JzdGUgZGltZW5zam9uKSBmb3IgbWluaWF0eXJiaWxkZXQuJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZyddID0gJ0xhZyBmb3JoJmFyaW5nO25kc3Zpc25pbmdzYmlsZGVyIGF1dG9tYXRpc2sgYXYgYmlsZGVuZSc7CiRsYW5nWydwcm9tcHRfYXV0b3ByZXZpZXdpbWdfc2l6ZSddID0gJ01ha3NpbXVtIHN0Jm9zbGFzaDtycmVsc2UgKHN0Jm9zbGFzaDtyc3RlIGRpbWVuc2pvbikgZm9yIGZvcmgmYXJpbmc7bmRzdmlzbmluZ3NiaWxkZXQuJzsKJGxhbmdbJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJ10gPSAnUGxhc3NlciB2YW5ubWVya2VyIHAmYXJpbmc7IGJpbGRlciBhdXRvbWF0aXNrJzsKJGxhbmdbJ3Byb21wdF9hcHBsaWNhYmxlJ10gPSAnU2wmYXJpbmc7IHAmYXJpbmc7IHNvbSBzdGFuZGFyZCBmb3IgYWxsZSBueWUgcHJvZHVrdGVyJzsKJGxhbmdbJ3Byb21wdF9iYXRjaHNpemUnXSA9ICdCYXRjaCBzdCZvc2xhc2g7cnJlbHNlJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZSddID0gJ0hhbmRsZWt1cnYoY2FydCkgbW9kdWwnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0hhbmRsZWt1cnYoY2FydCkgbW9kdWwgcGFyYW1ldGVyZSc7CiRsYW5nWydwcm9tcHRfY2xlYXJhdHRyaWJzJ10gPSAnUmVucyBhdHRyaWJ1dHRlciB2ZWQgb3BwZGF0ZXJpbmcnOwokbGFuZ1sncHJvbXB0X2NsZWFyY2F0ZWdvcmllcyddID0gJ1JlbnMga2F0ZWdvcmllciB2ZWQgb3BwZGF0ZXJpbmcnOwokbGFuZ1sncHJvbXB0X2NsZWFyZmllbGRzJ10gPSAnUmVucyBmZWx0ZXIgdmVkIG9wcGRhdGVyaW5nJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVjYXRlZ29yaWVzJ10gPSAnT3BwcmV0dCBrYXRlZ29yaWVyJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVmaWVsZHMnXSA9ICdPcHByZXR0IHByb2R1a3RrYXRlZ29yaWVyPyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlaGllcmFyY2h5J10gPSAnT3BwcmV0dCBwcm9kdWt0a2F0ZWdvcmknOwokbGFuZ1sncHJvbXB0X2NzdmZpbGUnXSA9ICdMYXN0IG9wcCBDU1YgZmlsJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeWNvZGUnXSA9ICdWYWx1dGFrb2RlJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCddID0gJ1ZhbHV0YXN5bWJvbCc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICdTb20gc3RhbmRhcmQgaGFyIGFsbGUgbnllIHByb2R1a3RlciBkZW5uZSBzdGF0dXNlbic7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnU29tIHN0YW5kYXJkIGVyIGFsbGUgbnllIHByb2R1a3RlciBhdmdpZnRzcGxpa3RpZ2UnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ1NsZXR0IGFsbGUgZmlsZXIgdGlsa255dHRldCBwcm9kdWt0ZXQgbiZhcmluZztyIHByb2R1a3RldCBzbGV0dGVzPyc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnRmVsdCBza2lsbGV0ZWduJzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxwYWdlJ10gPSAnU3RhbmRhcmQgZGV0YWxqc2lkZSc7CiRsYW5nWydwcm9tcHRfZGV0YWlsc2ZvciddID0gJ0RldGFsamVyIGZvICVzJzsKJGxhbmdbJ3Byb21wdF9kdXBsaWNhdGVwcm9kdWN0cyddID0gJ0h2b3JkYW4gc2thbCBkdXBsaWthdGUgcHJvZHVrdGVyIGJlaGFuZGxlcz8nOwokbGFuZ1sncHJvbXB0X2ZhbHNlJ10gPSAnVXNhbm4nOwokbGFuZ1sncHJvbXB0X2hhbmRsZWltYWdlcyddID0gJ0JlaGFuZGxlIGJpbGRlcj8nOwokbGFuZ1sncHJvbXB0X2ltYWdlcGF0aCddID0gJ0JpbGRlc3RpJzsKJGxhbmdbJ3Byb21wdF9sZW5ndGh1bml0cyddID0gJ0xlbmdkZWVuaGV0ZXInOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2JlaGF2aW9yJ10gPSAnSHZpbGtlbiBoYW5kbGluZyBza2FsIHV0ZiZvc2xhc2g7cmVzIG9tIGV0IHByb2R1a3QgaWtrZSBrYW4gdmlzZXM/JzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF80MDQnXSA9ICdHZW5lcmVyIGVuIDQwNCBmZWlsJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF8zMDEnXSA9ICdHZW5lcmVyIGVuIDMwMSBvbWRpcmlnZXJpbmcnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2Vycm9ybXNnJ10gPSAnVmlzIGVuIGZlaWxtZWxkaW5nJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9tc2cnXSA9ICdGZWlsbWVsZGluZyBmb3IgbiZhcmluZztyIGV0IHByb2R1a3QgaWtrZSBibGlyIGZ1bm5ldCc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfcGFnZSddID0gJ1NpZGUgJmFyaW5nOyBvbWRpcmlnZXJlIHRpbCBwZXJtYW5lbnQ/JzsKJGxhbmdbJ3Byb21wdF9oaWVycGFnZSddID0gJ1N0YW5kYXJkc2lkZSBmb3IgaGllcmFya2l2aXNuaW5nJzsKJGxhbmdbJ3Byb21wdF9wcmV0dHloaWVydXJscyddID0gJ0Jlbnl0dCB2YWtyZSBVUkxlciBmb3IgaGllcmFya2l2aXNuaW5nZW5lJzsKJGxhbmdbJ3Byb21wdF9wcm9kX2RldGFpbHBhZ2UnXSA9ICdTdGFuZGFyZHNpZGUgZm9yIFByb2R1Y3QgZGV0YWxqdmlzbmluZyc7CiRsYW5nWydwcm9tcHRfcHJvZHVjdHNfbWF0Y2hpbmcnXSA9ICdQcm9kdWt0ZXIgc29tIHBhc3NlciAlcyc7CiRsYW5nWydwcm9tcHRfc2t1X3JlcXVpcmVkJ10gPSAnVi5uci4oU0tVKSBlciBwJmFyaW5nO2tyZXZkIGZvciBhbGxlIHByb2R1a3RlciBvZyBhdHRyaWJ1dHRlcic7CiRsYW5nWydwcm9tcHRfc3VtbWFyeV9uZXdkZWZhdWx0J10gPSAnQmVueXR0IG55IHNhbWVuZHJhZ3N2aXNuaW5nJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5cGFnZWxpbWl0J10gPSAnU3RhbmRhcmQgc2lkZWdyZW5zZSBpIHNhbW1lbmRyYWdzbW9kdXMnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdTdGFuZGFyZCBzb3J0ZXJpbmcgaSBzYW1tZW5kcmFnc21vZHVzJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydGluZyddID0gJ1N0YW5kYXJkIHNvcnRlcmluZ3NmZWx0IGkgc2FtbWVuZHJhZ3Ntb2R1cyc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdNYWxraWxkZSc7CiRsYW5nWydwcm9tcHRfdHJ1ZSddID0gJ1Nhbm4nOwokbGFuZ1sncHJvbXB0X3VybHByZWZpeCddID0gJ1ByZWZpa3MgdGlsIGJydWsgcCZhcmluZzsgYWxsZSBuZXR0YWRyZXNzZXIgbSZhcmluZztscmV0dGV0IHRpbCBkZW5uZSBkZW5uZSBtb2R1bGVuJzsKJGxhbmdbJ3Byb21wdF91c2VfZGV0YWlscGFnZV9mb3Jfc2VhcmNoJ10gPSAnQmVueXR0IGRlbm5lIHNpZGVuIGZvciBzJm9zbGFzaDtrZXJlc3VsdGF0ZXIgb2dzJmFyaW5nOyA8ZW0+KG92ZXJzdHlyZXIgc2VhcmNocmVzdWx0cyBzaWRlcGFyYW1ldGVyZW4gaSBzJm9zbGFzaDtrZW1vZHVsZW4pPC9lbT4nOwokbGFuZ1sncHJvbXB0X3VzZWhpZXJwYXRodXJscyddID0gJ0Jlbnl0dCBoaWVyYWtpc3RpIGkgUHJvZHVjdCBkZXRhbGogVVJMZXInOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnVmVrdGVuaGV0ZXInOwokbGFuZ1sncHVibGljJ10gPSAnRXIgZGV0dGUgZXQgb2ZmZW50bGlnIGZlbHQ/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ1B1Ymxpc2VydCc7CiRsYW5nWydxdWFudGl0eV9vbl9oYW5kJ10gPSAnTWVuZ2RlIHRpbGdqZW5nZWxpZyc7CiRsYW5nWydyYW5kb20nXSA9ICdUaWxmZWxkaWcnOwokbGFuZ1sncmVvcmRlcl9oaWVyYXJjaHknXSA9ICdPbW9yZ2FuaXNlciBoaWVyYXJraSc7CiRsYW5nWydyZXNldCddID0gJ051bGxzdGlsbCc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ1NldHQgdGlsYmFrZSB0aWwgZmFicmlra2lubnN0aWxsaW5nZXInOwokbGFuZ1sncmV0dXJuJ10gPSAnVGlsYmFrZSc7CiRsYW5nWydyZXR1cm5fdG9fdG9wJ10gPSAnUmV0dXJuZXIgdGlsIHRvcHBlbiBhdiB2aXNuaW5nZW4nOwokbGFuZ1sncm9vdCddID0gJ1JvdGEnOwokbGFuZ1snc2VhcmNoX2Rlc2NyaXB0aW9uJ10gPSAnUyZvc2xhc2g7a2VlZ2Vuc2thcCBiZXNrcml2ZWxzZSc7CiRsYW5nWydzZWFyY2hfZXhwciddID0gJ1NrYWwgc3Amb3NsYXNoO3JyaW5nZW4gcGFzc2UgYWxsZSBlbGxlciBub2VuIGF2IGtyaXRlcmllbmUgbmVkZW5mb3I/JzsKJGxhbmdbJ3NlYXJjaF9uYW1lJ10gPSAnUyZvc2xhc2g7a2VlZ2Vuc2thcHNuYXZuJzsKJGxhbmdbJ3NlYXJjaF9wcmljZSddID0gJ1ByaXNpbnRlcnZhbGwnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVfYWRkZWRpdCddID0gJ0xlZ2cgdGlsL3JlZGlnZXIgUyZvc2xhc2g7a2Vza2plbWFtYWwnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVzJ10gPSAnUyZvc2xhc2g7a2UgbWFsZXInOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ1ZlbGcgYWxsZSc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnVmVsZyBlbic7CiRsYW5nWydzZXRkcmFmdCddID0gJ1NldHQgc29tIGtsYWRkJzsKJGxhbmdbJ3NldHB1Ymxpc2hlZCddID0gJ1NldHQgc29tIHB1Ymxpc2VydCc7CiRsYW5nWydza3UnXSA9ICdWLm5yLihTS1UpJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdTb3J0ZXIgZXR0ZXInOwokbGFuZ1snc29ydF9vcmRlciddID0gJ1NvcnRlcmluZ3NyZWtrZWYmb3NsYXNoO2xnZSc7CiRsYW5nWydzb3VyY2UnXSA9ICdLaWxkZSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMgJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1V0ZiZvc2xhc2g7cic7CiRsYW5nWydzdWJzY3JpcHRpb24nXSA9ICdBYm9ubmVtZW50JzsKJGxhbmdbJ3N1YnNjcl9leHBpcnknXSA9ICdVdGwmb3NsYXNoO3Blcic7CiRsYW5nWydzdWJzY3JfZXhwaXJ5MiddID0gJ1V0bCZvc2xhc2g7cGVyJzsKJGxhbmdbJ3N1YnNjcl9tb250aGx5J10gPSAnTSZhcmluZztuZWRsaWcnOwokbGFuZ1snc3Vic2NyX2RlbHBlcmlvZCddID0gJ0RldmVyaW5nc2ZyZWt2ZW5zJzsKJGxhbmdbJ3N1YnNjcl9kZWxwZXJpb2QyJ10gPSAnTGV2ZXJ0JzsKJGxhbmdbJ3N1YnNjcl9wYXlwZXJpb2QnXSA9ICdCZXRhbGluZ3NmcmVrdmVucyc7CiRsYW5nWydzdWJzY3JfcGF5cGVyaW9kMiddID0gJ0JldGFsdCc7CiRsYW5nWydzdWJzY3JfcXVhcnRlcmx5J10gPSAnS3ZhcnRhbHN2aXMnOwokbGFuZ1snc3Vic2NyX3NlbWlhbnVhbGx5J10gPSAnSGFsdiZhcmluZztybGlnJzsKJGxhbmdbJ3N1YnNjcl95ZWFybHknXSA9ICcmQXJpbmc7cmxpZyc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAnU2FtbWVuZHJhZ3NtYWwnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdMZWdnIHRpbC9yZWRpZ2VyIHNhbW1lbmRyYWdzbWFsJzsKJGxhbmdbJ3RheGFibGUnXSA9ICdLYW4gaWxlZ2dlcyBhdmdpZnQnOwokbGFuZ1sndGVzdCddID0gJ1Rlc3QgJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGVrc3RvbXImYXJpbmc7ZGUnOwokbGFuZ1sndGV4dGJveCddID0gJ1Rla3N0IGlubnNrcml2aW5nJzsKJGxhbmdbJ3RpdGxlX2J5aGllcmFyY2h5X2RmbHR0ZW1wbGF0ZSddID0gJ1N0YW5kYXJkIEhpZXJhcmtpIHJhcHBvcnRtYWwnOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlsaXN0X2RmbHR0ZW1wbGF0ZSddID0gJ1N0YW5kYXJkIG55IGthdGVnb3JpbGlzdGVtYWwnOwokbGFuZ1sndGl0bGVfZGV0YWlsX2RmbHR0ZW1wbGF0ZSddID0gJ1N0YW5kYXJkIG55IGRldGFsam1hbCc7CiRsYW5nWyd0aXRsZV9zZWFyY2hfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhcmQgbnkgcyZvc2xhc2g7a2VtYWwnOwokbGFuZ1sndGl0bGVfc3VtbWFyeV9kZmx0dGVtcGxhdGUnXSA9ICdTdGFuZGFyZCBueSBzYW1tZW5kcmFnc21hbCc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSAnOwokbGFuZ1sndXAnXSA9ICdGbHl0dCBvcHAnOwokbGFuZ1sndXBkYXRlJ10gPSAnT3BwZGF0ZXInOwokbGFuZ1sndXBsb2FkJ10gPSAnVmVsZyBlbiBmaWwgJmFyaW5nOyBsYXN0ZSBvcHAnOwokbGFuZ1sndXJsX2FsaWFzJ10gPSAnVVJMIGFsaWFzJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnR3lsZGlnJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnVmVyZGknOwokbGFuZ1sndmFsdWVzJ10gPSAnVmVyZGllcic7CiRsYW5nWyd2aWV3J10gPSAnVmlzJzsKJGxhbmdbJ3ZpZXdhYmxlX2ZpZWxkcyddID0gJ1ZlbGcgYnJ1a2VyZGVmaW5lcnRlIGZlbHRlciBzb20gc2thbCB2aXNlcyBpIHRhYmVsbGVuJzsKJGxhbmdbJ3dhcm5fZWRpdF9wcm9kdWN0X29wdGlvbnMnXSA9ICdIdmVydCBwcm9kdWt0IHZhbGcgbSZhcmluZzsgaGEgZW4gdW5payBzdHJlbmcuIE9tIFNLVS92YXJlbnVtbWVyIGVyIHAmYXJpbmc7a3JldmQgcyZhcmluZzsgbSZhcmluZzsgZGV0IHYmYWVsaWc7cmUgdW5pa3QgcCZhcmluZzsgdHZlcnMgYXYgaGVsZSBzeXN0ZW1ldC4nOwokbGFuZ1snd2F0ZXJtYXJrX2xvY2F0aW9uJ10gPSAnVmFubm1lcmtlIGxva2Fzam9uJzsKJGxhbmdbJ3dlaWdodCddID0gJ1Zla3QnOwokbGFuZ1snd2l0aF9zZWxlY3RlZCddID0gJ01lZCB2YWxndGUnOwokbGFuZ1sneWVzJ10gPSAnSmEnOwokbGFuZ1sncWNhJ10gPSAnUDAtNTM2ODQ5MTE1LTEzMDc5ODM0OTUyMTAnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xNDEwNjY5NDYwLjEzNjAzMzQ3NDguMTM2MzkwODY1NS4xMzYzOTkwMTYwLjU3JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM2MDMzNDc0OC4xLjEudXRtY3NyPShkaXJlY3QpfHV0bWNjbj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMy4xMC4xMzYzOTkwMTYwJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FiYnJfbGVuZ3RoJ10gPSAnTCAnOwokbGFuZ1snYWJicl93aWR0aCddID0gJ0JyJzsKJGxhbmdbJ2FiYnJfaGVpZ2h0J10gPSAnSGcnOwokbGFuZ1snYWRkJ10gPSAnVm9lZyB0b2UnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdWb2VnIGNhdGVnb3JpZSB0b2UnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdWb2VnIHZlbGQgdG9lJzsKJGxhbmdbJ2FkanVzdGFibGUnXSA9ICdXaWp6aWdiYWFyJzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICdWb2VnIHByb2R1Y3QgdG9lJzsKJGxhbmdbJ2FkZF9hdHRyaWJfc2V0J10gPSAnVm9lZyBhdHRyaWJ1dXQgdG9lJzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ0tvcHBlbCB2ZWxkIG1ldCBjYXRlZ29yaWU6ICZxdW90OyVzJnF1b3Q7JzsKJGxhbmdbJ2FkZF9oaWVyYXJjaHlfaXRlbSddID0gJ1ZvZWcgaGllcmFyY2hpZS1hcnRpa2VsIHRvZSc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnVm9lZyBhdHRyaWJ1dXRvcHRpZSB0b2UnOwokbGFuZ1snYWRtaW5fb25seSddID0gJ0thbiBhbGxlZW4gZGUgYWRtaW5pc3RyYXRvciBkaXQgYXR0cmlidXV0IHppZW4/JzsKJGxhbmdbJ2FkdmFuY2VkJ10gPSAnR2VhdmFuY2VlcmQnOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdCb3ZlbiBMaW5rcyc7CiRsYW5nWydhbGlnbl91YyddID0gJ0JvdmVuIE1pZGRlbic7CiRsYW5nWydhbGlnbl91ciddID0gJ0JvdmVuIFJlY2h0cyc7CiRsYW5nWydhbGlnbl9tbCddID0gJ01pZGRlbiBMaW5rcyc7CiRsYW5nWydhbGlnbl9tYyddID0gJ01pZGRlbic7CiRsYW5nWydhbGlnbl9tciddID0gJ01pZGRlbiBSZWNodHMnOwokbGFuZ1snYWxpZ25fbGwnXSA9ICdPbmRlciBMaW5rcyc7CiRsYW5nWydhbGlnbl9sYyddID0gJ09uZGVyIE1pZGRlbic7CiRsYW5nWydhbGlnbl9sciddID0gJ09uZGVyIFJlY2h0cyc7CiRsYW5nWydhbGwnXSA9ICdBbGxlJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdBbGxlIGNhdGVnb3JpZSZldW1sO24nOwokbGFuZ1snYW55J10gPSAnRW5pZ2UnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1dlZXQgdSBkaXQgemVrZXI/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlcHJvZHVjdCddID0gJ1dlZXQgdSB6ZWtlciBkYXQgdSBkaXQgcHJvZHVjdCBlbiBhbGxlIGJpamJlaG9yZW5kZSBpbmZvcm1hdGllIHdpbHQgdmVyd2lqZGVyZW4/JzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ09wbG9wZW5kJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnQXRyaWJ1dXQgTmFhbSc7CiRsYW5nWydhdHRyaWJfdGV4dCddID0gJ1Rla3N0JzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ0F1dG9tYXRpc2NoJzsKJGxhbmdbJ2J0bl9zZXRlY29taGFuZGxlcnMnXSA9ICdFY29tbWVyY2UgR2ViZXVydGVuaXNzZW4gaW5zdGVsbGVuJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVzJ10gPSAnSGllcmFyY2hpZSBSYXBwb3J0IFNqYWJsb25lbic7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdIaWVyYXJjaGllIFJhcHBvcnQgU2phYmxvb24gdG9ldm9lZ2VuL2FhbnBhc3Nlbic7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGVyZW4nOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZSZldW1sO24nOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yaWUnOwokbGFuZ1snY2F0ZWdvcnlleGlzdHMnXSA9ICdFciBiZXN0YWF0IGFsIGVlbiBjYXRlZ29yaWUgbWV0IGRlemUgbmFhbSc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZXMnXSA9ICdDYXRlZ29yaWUgTGlqc3QgU2phYmxvbmVuJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdDYXRlZ29yaWUgTGlqc3QgU2phYmxvb24gdG9ldm9lZ2VuL2FhbnBhc3Nlbic7CiRsYW5nWydjZW50aW1ldGVycyddID0gJ0NlbnRpbWV0ZXInOwokbGFuZ1snY2hlY2tib3gnXSA9ICdWaW5rdmFramUnOwokbGFuZ1snY29uZmlybV9jb3B5b3B0aW9ucyddID0gJ0FueSBleGlzdGluZyBvcHRpb25zIGZvciB0aGlzIGl0ZW0gd2lsbCBiZSByZXBsYWNlZC4gQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNvbnRpbnVlPyc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9oaWVyYXJjaHlfbm9kZSddID0gJ0JlbnQgdSB6ZWtlciBkYXQgdSBkZXplIG5vZGUgd2lsdCB2ZXJ3aWpkZXJlbj8gIEVsayBwcm9kdWN0IHdhdCBnZWJydWlrIG1hYWt0IHZhbiBkZXplIG5vZGUgemFsIG5pZXQgbWVlciBvbmRlciBlZW4gaGkmZXVtbDtyYXJjaGllIHZhbGxlbi4nOwokbGFuZ1snY29uZmlybV9kZWxldGVhbGxvcHRpb25zJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSBhbGwgb3B0aW9ucyBmb3IgdGhpcyBwcm9kdWN0Pyc7CiRsYW5nWydjb25maXJtX2ltcG9ydCddID0gJ0JlbnQgdSB6ZWtlciBkYXQgdSBkaXQgd2lsdCB1aXR2b2VyZW4/XG5cblZlcmtlZXJkZSBpbnN0ZWxsaW5nZW4gb2YgZWVuIHZlcmtlZXJkIGNvbmZpZ3VyYXRpZWJlc3RhbmQga2FuIGhldCBoZWxlIHN5c3RlZW0gaW4gZGUgd2FyIGJyZW5nZW4uIFdhdCByZXN1bHRlZXJ0IGluIGVlbiBuaWV0IHdlcmtlbmRlIHByb2R1Y3RlbiBtb2R1bGUuJzsKJGxhbmdbJ2NvcHknXSA9ICdLb3BpZSc7CiRsYW5nWydjb3B5X3Byb2R1Y3QnXSA9ICdLb3BpZWVyIGRpdCBpdGVtJzsKJGxhbmdbJ2NvcHlfYXR0cmliX3NldHMnXSA9ICdLb3BpZWVyIGF0dHJpYnV0ZW5zZXQnOwokbGFuZ1snY29weV9jYXRlZ29yeSddID0gJ0NhdGVnb3JpZSBrb3BpZXJlbic7CiRsYW5nWydjb3B5X29wdGlvbnNfZnJvbSddID0gJ0tvcGllZXIgYWxsZSBvcHRpZXMgdmFuJzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnQWFuZ2VtYWFrdCBvcCc7CiRsYW5nWydjdXJyZW50X3ZhbHVlJ10gPSAnSHVpZGlnZSB3YWFyZGUnOwokbGFuZ1snZGF0YSddID0gJ0RhdGEgJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdTdGFuZGFhcmQnOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlcyddID0gJ1N0YW5kYWFyZCBTamFibG9uZW4nOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk9wbWVya2luZzo8L3N0cm9uZz4gRGUgaW5ob3VkIHZhbiBkZXplIHRla3N0Ymxva2tlbiB3b3JkZW4gZ2VicnVpa3Qgb20gZGUgc3RhbmRhYXJkIHdhYXJkZW4gdmFuIGVlbiB0ZW1wbGF0ZSBvcCB0ZSBzbGFhbi4gQWxzIHUgb3AgZGUga25vcCAmcXVvdDtWb2VnIHRlbXBsYXRlIHRvZSZxdW90OyBrbGlrdCBkYW4genVsbGVuIGRlemUgc3RhbmRhYXJkIHdhYXJkZW4gaW4gaGV0IG5pZXV3ZSB0ZW1wbGF0ZSB3b3JkZW4gb3BnZW5vbWVuLic7CiRsYW5nWydkZWxldGUnXSA9ICdWZXJ3aWpkZXJlbic7CiRsYW5nWydkZWxldGVfYWxsJ10gPSAnVmVyd2lqZGVyIGFsbGVzJzsKJGxhbmdbJ2RlbGV0ZV9hdHRyaWJzZXQnXSA9ICdBdHRyaWJ1dXQgdmVyd2lqZGVyZW4nOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnVmVyd2lqZGVyIEhpZXJhcmNoaWUgSXRlbSc7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnQWZsb3BlbmQnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdPbXNjaHJpanZpbmcnOwokbGFuZ1snZGVzdGluYXRpb24nXSA9ICdCZXN0ZW1taW5nJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXRhaWxzICc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdEZXRhaWwgU2phYmxvbmVuJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdUb2V2b2VnZW4vd2lqemlnZW4gRGV0YWlsIFNqYWJsb29uJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdEaW1lbnNpZSc7CiRsYW5nWydkaXNhYmxlZCddID0gJ1VpdGdlc2NoYWtlbGQnOwokbGFuZ1snZG93biddID0gJ05hYXIgYmVuZWRlbic7CiRsYW5nWydkcmFmdCddID0gJ0NvbmNlcHQnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdEcm9wZG93biAnOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ0Ryb3Bkb3duIG9wdGllcyA8ZW0+KHdvcmR0IGFsbGVlbiB0b2VnZXBhc3Qgb3AgdmVsZGVuKTwvZW0+PGJyLz48YnIvPjxlbT4oMSBpbnZvZXIgcGVyIHJlZ2VsKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdBYW5wYXNzZW4nOwokbGFuZ1snZWRpdF9hdHRyaWJzZXQnXSA9ICdXaWp6aWcgYXR0cmlidXV0JzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ0F0dHJpYnV1dCBHcm9lcGVuIGFhbnBhc3Nlbic7CiRsYW5nWydlZGl0X2F0dHJpYnNldHNfZm9yJ10gPSAnQXR0cmlidXV0IEdyb2VwIGFhbnBhc2VuIHZvb3InOwokbGFuZ1snZWRpdF9hdHRyaWJ1dGVzJ10gPSAnQXR0cmlidXV0IGFhbnBhc3Nlbic7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnQ2F0ZWdvcmllIGFhbnBhc3Nlbic7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ0NhdGVnb3JpZSBWZWxkZW4gYWFucGFzc2VuJzsKJGxhbmdbJ2VkaXRfaGllcmFyb2NoeV9pdGVtJ10gPSAnRWRpdCBIaWVyYXJjaHkgSXRlbSc7CiRsYW5nWydlZGl0X29wdGlvbl9ub3RlcyddID0gJ0VkaXQgT3B0aW9uIE5vdGVzJzsKJGxhbmdbJ2VkaXRfb3B0aW9ucyddID0gJ0VkaXQgUHJvZHVjdCBPcHRpb25zJzsKJGxhbmdbJ2VkaXRfcHJvZHVjdCddID0gJ1dpanppZyBJdGVtICc7CiRsYW5nWydlcnJvcnMnXSA9ICdGb3V0ZW4nOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0VyIGJlc3RhYXQgYWwgZWVuIGF0dHJpYnV1dCBtZXQgZGV6ZSBuYWFtJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZSBmb3V0JzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZV9za3UnXSA9ICdEdWJiZWxlIFVpdGxldmVyZWVuaGVpZCB3YWFyZGUgZ2V2b25kZW4nOwokbGFuZ1snZXJyb3JfZmllbGR2YWx1ZV9lbXB0eSddID0gJ0RlIFZlbGQgV2FhcmRlIG1hZyBuaWV0IGxlZWcgemlqbic7CiRsYW5nWydlcnJvcl9maWxlZm9ybWF0J10gPSAnRmlsZSBGb3JtYXQgcHJvYmxlZW0nOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnQmVzdGFuZCBuaWV0IGdldm9uZGVuJzsKJGxhbmdbJ2Vycm9yX2ZpbGVvcGVuJ10gPSAnUHJvYmxlZW0gbWV0IG9wZW5lbiB2YW4gYmVzdGFuZCAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW1jb3VudCddID0gJ0ludmFsaWQgKG9yIG5vdCBtYXRjaGluZykgcGFyYW1ldGVyIGNvdW50JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJlbnQnXSA9ICdPbmdlbGRpZ2UgT3VkZXIgKGVlbiBoaWVyYXJjaGllIG5vZGUga2FuIG5pZXQgemlqbiBlaWdlbiBvdWRlciB6aWpuKSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdEZSBhYW5nZXBhc3RlIHZlbGQgd2FhcmRlIGRpZSB1IGhlZWZ0IGluZ2V2b2VyZCBrbG9wdCBuaWV0IChlciBzdGFhbiBvb2sgbmlldCBhbGZudW1lcmlla2Uga2FyYWt0ZXJzIGluKSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ZhbHVlJ10gPSAnT25nZWxkaWdlIHdhYXJkZSBvcGdlZ2V2ZW4nOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnRWVuIGJlbm9kaWdkZSBwYXJhbWV0ZXIgbWlzdCBvZiBpcyBuaWV0IGdlbGRpZyc7CiRsYW5nWydlcnJvcl9uYW1ldXNlZCddID0gJ0VlbiBpdGVtIG1ldCBkZXplIG5hYW0gaXMgYWwgaW4gZ2VicnVpayc7CiRsYW5nWydlcnJvcl9uZWVkdHdvcm93cyddID0gJ0EgbWluaW11bSBvZiB0d28gcm93cyBpcyByZXF1cmllZCc7CiRsYW5nWydlcnJvcl9ub2ZpZWxkdHlwZSddID0gJ1NlbGVjdGVlciBhLnUuYi4gZWVuIHZlbGR0eXBlJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ1UgbW9ldCBlZW4gbmFhbSBpbnZvZXJlbic7CiRsYW5nWydlcnJvcl9vbmVxdWFudGl0eWZpZWxkJ10gPSAnRXIgaXMgc2xlY2h0cyBlZW4gdmVsZCBtZXQgZGUgaG9ldmVlbGhlaWQgdG9lZ2VzdGFhbic7CiRsYW5nWydlcnJvcl9vbmVzdWJzY3JpcHRpb25maWVsZCddID0gJ0VyIGlzICZlYWN1dGU7JmVhY3V0ZTtuIGxpZG1hYXRzY2hhcHZlbGQgdG9lZ2VzdGFhbic7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnVG9lZ2FuZyBnZXdlaWdlcmQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9hbGlhc3VzZWQnXSA9ICdEZSBnZW5vZW1kZSBhbGlhcyBpcyBhbCBpbiBnZWJydWlrJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdFciBiZXN0YWF0IGFsIGVlbiBwcm9kdWN0IG1ldCBkZXplIG5hYW0nOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9ub3Rmb3VuZCddID0gJ0hldCBnZXZyYWFnZGUgcHJvZHVjdCBrYW4gbmlldCB3b3JkZW4gZ2V2b25kZW4nOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9za3V1c2VkJ10gPSAnRGV6ZSBVaXRsZXZlcmVlbmhlaWQgaXMgYWwgaW4gZ2VicnVpayBkb29yIGVlbiBhbmRlciBwcm9kdWN0JzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3Rfc2t1dXNlZF9hdHJvdyddID0gJ1RoYXQgU0tVIHZhbHVlIGF0IHJvdyAlZCBpcyBhbHJlYWR5IGluIHVzZSBieSBhbm90aGVyIGl0ZW0nOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ09uZ2VsZGlnZSBwcmlqcyBhYW5wYXNzaW5nIHZhbiBpdGVtICVzJzsKJGxhbmdbJ2Vyb3JyX3FvaF9uZWdhdGl2ZV9hdHJvdyddID0gJ1F1YW50aXR5IG9uIGhhbmQgY2Fubm90IGJlIG5lZ2F0aXZlIGF0IHJvdyAlZCc7CiRsYW5nWydlcnJvcl9za3VfcmVxdWlyZWQnXSA9ICdWb2VyIGVlbiB1bmlla2UgU0tVIGluJzsKJGxhbmdbJ2Vycm9yX3NrdV9yZXF1aXJlZF9hdHJvdyddID0gJ1BsZWFzZSBlbnRlciBhIHVuaXF1ZSBTS1Ugb24gcm93ICVkJzsKJGxhbmdbJ2Vycm9yX3RleHRfZW1wdHlfYXRyb3cnXSA9ICdUaGUgdGV4dCBmaWVsZCBhdCByb3cgJWQgY2Fubm90IGJlIGVtcHR5JzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICdVcGxvYWQgbWlzbHVrdDogJXMnOwokbGFuZ1snZXhjbHVkZV9jYXRlZ29yaWVzJ10gPSAnU2x1aXQgcHJvZHVjdGVuIGluIGRlIGdlc2VsZWN0ZWVyZGUgY2F0ZWdvcmkmZXVtbDtuIHVpdCB2YW4gZGUgcmVzdWx0YXRlbic7CiRsYW5nWydleHBpcmVfc2l4X21vbnRocyddID0gJ05hIHplcyBtYWFuZGVuJzsKJGxhbmdbJ2V4cGlyZV9vbmVfeWVhciddID0gJ05hIGVlbiBqYWFyJzsKJGxhbmdbJ2V4cGlyZV90d29feWVhciddID0gJ05hIHR3ZWUgamFhcic7CiRsYW5nWydleHBvcnRfdG9fY3N2J10gPSAnRXhwb3J0IG5hYXIgQ1NWJzsKJGxhbmdbJ2V4cG9ydGF0dHJpYnMnXSA9ICdFeHBvcnQgQXR0cmlidXRlbic7CiRsYW5nWydleHBvcnRjYXRzJ10gPSAnRXhwb3J0IENhdGVnb3JpJmV1bWw7bic7CiRsYW5nWydleHBvcnRkZWxpbSddID0gJ0V4cG9ydCBmaWVsZCBEZWxpbWl0ZXInOwokbGFuZ1snZXhwb3J0ZHJhZnQnXSA9ICdFeHBvcnQgRHJhZnQgSXRlbXMnOwokbGFuZ1snZXhwb3J0ZmllbGRzJ10gPSAnRXhwb3J0IEN1c3RvbSBGaWVsZHMnOwokbGFuZ1snZXh0cmExJ10gPSAnRXh0cmEgdmVsZCAxJzsKJGxhbmdbJ2V4dHJhMiddID0gJ0V4dHJhIHZlbGQgMic7CiRsYW5nWydmaWVsZCddID0gJ1ZlbGQnOwokbGFuZ1snZmllbGRzJ10gPSAnVmVsZGVuJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnVmVsZGRlZmluaXRpZSc7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdWZWxkZGVmaW5pdGllcyc7CiRsYW5nWydmaWxlJ10gPSAnQmVzdGFuZCc7CiRsYW5nWydmaWx0ZXInXSA9ICdGaWx0ZXIgJzsKJGxhbmdbJ2ZpbHRlcmludXNlJ10gPSAnaW4gd2Vya2luZyc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdGVycyAnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snZ2VuZXJhbF9zZXR0aW5ncyddID0gJ0FsZ2VtZW5lIGluc3RlbGxpbmdlbic7CiRsYW5nWydnbyddID0gJ0dhIG5hYXInOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyY2hpZSc7CiRsYW5nWydoaWVyYXJjaHlfcG9zaXRpb24nXSA9ICdIaWVyYXJjaGllIFBvc2l0aWUnOwokbGFuZ1snaGllcmFyY2h5X3NldHRpbmdzJ10gPSAnSGllcmFjaGllIGluc3RlbGxpbmdlbic7CiRsYW5nWydpZCddID0gJ0lkICc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdBZmJlZWxkaW5nJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX3NldHRpbmdzJ10gPSAnSW5zdGVsbGluZ2VuIGFmYmVlbGRpbmcgYWZoYW5kZWxpbmcnOwokbGFuZ1snaW1wb3J0X2Zyb21fY3N2J10gPSAnSW1wb3J0ZWVyIHByb2R1Y3RlbiB2YW51aXQgZWVuIENTViBmaWxlJzsKJGxhbmdbJ2luY2hlcyddID0gJ0luY2hlcyAnOwokbGFuZ1snaW5jbHVkZV9jaGlsZHJlbiddID0gJ0luY2x1c2llZiBvbmRlcmxpZ2dlbmRlbj8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICdBbGxlZW4gYWxmYW51bWVyaWVrZSBrYXJha3RlcnMuIEdlZW4gd2l0cnVpbXRlLCBhYW5oYWxpbmdzdGVrZW5zIG9mIGxldHRlci9udW1tZXIgY29tYmluYXRpZXMnOwokbGFuZ1snaW5mb19hdHRyaWJ0ZW1wbGF0ZSddID0gJ01vZ2VsaWprZSB3YWFyZGVuIHppam46IHskYXR0cmliX3RleHR9LCB7JGF0dHJpYl9hZGp1c3R9LCB7JGN1cnJlbmN5X3N5bWJvbH0nOwokbGFuZ1snaW5mb19hdHRyaWJ1dGVzX2NvcGllZCddID0gJ0F0dHJpYnV0ZW4gZ2Vrb3BpZSZldW1sO3JkJzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ0RlIHdhdGVybWVyayBpbnN0ZWxsaW5nZW4gemlqbiBhZmtvbXN0aWcgdWl0IGRlIENHRXh0ZW5zaW9ucyBNb2R1bGUnOwokbGFuZ1snaW5mb19iYXRjaHNpemUnXSA9ICdTdGVsIGhldCBhYW50YWwgcmVnZWxzIG9tIHVpdCB0ZSB2b2VyZW4gcGVyICYjMDM5O2JhdGNoJiMwMzk7IGluLiBOYWRhdCBlZW4gYmF0Y2ggaXMgdm9sdG9vaWQsIHphbCBkZSBpbXBvcnRlciB3b3JkZW4gZG9vcnZlcndlemVuIGVuIGRvb3JnYWFuIG1ldCBkZSBvcGVyYXRpZS4gQWxzIHUgdmVyd2FjaHQgZGF0IGVyIG1vZ2VsaWprIGdlaGV1Z2VuZm91dGVuIGdhYW4gb250c3RhYW4gb2YgdGltZS1vdXRwcm9ibGVtZW4gZG9vciBoZXQgaG9nZSBhYW50YWwgcmVnZWxzIHBlciBrZWVyLCBkYW4ga3VudCB1IGJldGVyIGNvbnRhY3Qgb3BuZW1lbiBtZXQgdXcgaG9zdGluZ3Byb3ZpZGVyIG9mIGRpdCBudW1tZXIgbGFnZXIgaW5zdGVsbGVuLic7CiRsYW5nWydpbmZvX2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0RlemUgcGFyYW1ldGVycyB3b3JkZW4gZG9vcmdlZ2V2ZW4gYWFuIGRlIGdlc2VsZWN0ZWVyZGUgY2FydCBtb2R1bGUgdmFudWl0IGhldCAgcHJvZHVjdCB1aXRnZWJyZWlkIGVuIG9wc29tbWluZyBkaXNwbGF5cyc7CiRsYW5nWydpbmZvX2NvcHlfYXR0cmlic2V0cyddID0gJ0RlemUgYWN0aWUgemFsIGRlIGF0dHJpYnV0ZW5zZXRzIGtvcGllJmV1bWw7cmVuIChleGNsdXNpZWYgc2t1IHdhYXJkZXMpIHZhbiBlZW4gYW5kZXIgcHJvZHVjdCc7CiRsYW5nWydpbmZvX2NsZWFyYXR0cmlicyddID0gJ09ubHkgYXBwbGljYWJsZSB3aGVuIHVwZGF0aW5nIGV4aXN0aW5nIGl0ZW1zLCB0aGlzIHdpbGwgY2xlYXIgYWxsIGF0dHJpYnV0ZSBpbmZvcm1hdGlvbiBmcm9tIHRoZSBkYXRhYmFzZSBmb3IgaXRlbXMgYmVmb3JlIGNyZWF0aW5nIG5ldyBvbmVzJzsKJGxhbmdbJ2luZm9fY2xlYXJjYXRlZ29yaWVzJ10gPSAnT25seSBhcHBsaWNhYmxlIHdoZW4gdXBkYXRpbmcgZXhpc3RpbmcgaXRlbXMsIHRoaXMgd2lsbCBjbGVhciBhbGwgY2F0ZWdvcnkgbWVtYmVyc2hpcHMgYmVmb2UgY3JlYXRpbmcgbmV3IG9uZXMnOwokbGFuZ1snaW5mb19jbGVhcmZpZWxkcyddID0gJ09ubHkgYXBwbGljYWJsZSB3aGVuIHVwZGF0aW5nIGV4aXN0aW5nIGl0ZW1zLCB0aGlzIHdpbGwgY2xlYXIgYWxsIGZpZWxkcyBiZWZvZSBjcmVhdGluZyBmaWVsZCB2YWx1ZXMnOwokbGFuZ1snaW5mb19jcmVhdGVmaWVsZHMnXSA9ICdNYWFrIG9uYmVrZW5kZSBwcm9kdWN0dmVsZGVuIGF1dG9tYXRpc2NoIGFhbj8gPGVtPihaZSB3b3JkZW4gZGFuIGFhbmdlbWFha3QgYWxzIHRla3N0dmVsZCk8L2VtPic7CiRsYW5nWydpbmZvX2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdNYWFrIGF1dG9tYXRpc2NoIGVlbiBwcm9kdWN0Y2F0ZWdvcmllIGFhbiBkaWUgdm9vcmtvbXQgaW4gaGV0IENTViBmaWxlIGFscyBkZXplIG5vZyBuaWV0IGJlc3RhYXQnOwokbGFuZ1snaW5mb19jcmVhdGVoaWVyYXJjaHknXSA9ICdNYWFrIGF1dG9tYXRpc2NoIGVlbiBwcm9kdWN0IGhpJmV1bWw7cmFyY2hpZSBhYW4gZGllIHZvb3Jrb210IGluIGhldCBDU1YgZmlsZSBhbHMgZGV6ZSBub2cgbmlldCBiZXN0YWFuJzsKJGxhbmdbJ2luZm9fZGVjaW1hbF91bml0cyddID0gJ0RlIG1vZHVsZSBnZWJydWlrdCBlZW4gcHVudCAoLikgYWxzIGhldCBkZWNpbWFsZSBzY2hlaWRpbmdzdGVrZW4gYi52LjogPHN0cm9uZz41LjI1PC9zdHJvbmc+JzsKJGxhbmdbJ2luZm9fZGVsaW1pdGVyJ10gPSAnU3BlY2lmaWNlZXIgaGV0IGthcmFrdGVyKHMpIGRhdCBnZWJydWlrdCBtb2V0IHdvcmRlbiBvbSB2ZWxkZW4gdGUgc2NoZWlkZW4nOwokbGFuZ1snaW5mb19kdXBsaWNhdGVwcm9kdWN0cyddID0gJ1NwZWNpZmljZWVyIGhvZSBoZXQgc3lzdGVlbSBtb2V0IGhhbmRlbGVuIGFscyBlciBlZW4gcHJvZHVjdCB2b29ya29tdCBtZXQgZGV6ZWxmZGUgbmFhbSBpbiBoZXQgQ1NWIGZpbGUnOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz5PcG1lcmtpbmc6PC9zdHJvbmc+IERlIGhpZXIgYWFud2V6aWdlIHZlbGRlbiB6aWpuIGJlc2NoaWtiYWFyIHZvb3IgYWxsZSBwcm9kdWN0ZW4uJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ0VyIGlzIHByb2JsZWVtIG9udHN0YWFuIG1ldCBoZXQgdmVyd2Vya2VuIHZhbiBlZW4gb2YgbWVlciBhYW5nZW1hYWt0ZSB2ZWxkZW4uICBEZXplIGFjdGllIGlzIGNvcnJlY3QgdWl0Z2V2b2VyZC4gbWFhciBoZXQgaXMgdmVyc3RhbmRpZyBhbGxlcyB0ZSBjb250cm9sZXJlbiBlbiBldmVudHVlZWwgdGUgaGVyc3RlbGxlbi4nOwokbGFuZ1snaW5mb19oYW5kbGVpbWFnZXMnXSA9ICdBbHMgYmlqIGVlbiBpbXBvcnQgZWVuIGJlc3RhbmRzbmFhbSB2YW4gZWVuIGFmYmVlbGRpbmcgd29yZHQgZ2V2b25kZW4sIG1vZXQgaGV0IGRhbiB2ZXJwbGFhdHN0IHdvcmRlbiB2YW4gZGUgYnJvbmxvY2F0aWUsIHdvcmRlbiBnZXdhdGVybWVya3QsIGdldGh1bW5haWxlZCBvZiBoZXQgYmVzdGFuZHN0eXBlIHdvcmRlbiBnZXdpanppZ2QgbmFhciAmcXVvdDtpbWFnZSZxdW90Oy4nOwokbGFuZ1snaW5mb19oaWVycGFnZSddID0gJ0dlYnJ1aWsgZGV6ZSBwYWdpbmEgdm9vciBkZSBoaWUmYXVtbDtyY2hpc2NoZSB3ZWVyZ2F2ZS4gRGUgcGFnaW5haWQgemFsIG5pZXQgd29yZGVuIHdlZXJnZWdldmVuIGluIGRlIFVSTC4nOwokbGFuZ1snaW5mb19pbWFnZXBhdGgnXSA9ICdJbiBkaXQgcGFkIChnZXppZW4gdmFuYWYgZGUgdXBsb2Fkcy1tYXApIGt1bm5lbiBkZSBhZmJlZWxkaW5nZW4gd29yZGVuIGdldm9uZGVuIGRpZSB6aWpuIG9wZ2VnZXZlbiBpbiBoZXQgZ2UmaXVtbDttcG9ydGVlcmRlIGJlc3RhbmQuJzsKJGxhbmdbJ2luZm9faW1hZ2VzdHVmZl9kZXByZWNhdGVkJ10gPSAnRGUgZnVuY3RpZXMgdmVyd2Vya2VuIHZhbiBhZmJlZWxkaW5nZW4gemlqbiB2ZXJsb3BlbiBlbiB6dWxsZW4gd29yZGVuIHZlcndpamRlcmQgaW4gdG9la29tc3RpZ2UgdmVyc2llcy4gR2VicnVpayBDR1NtYXJ0SW1hZ2Ugdm9vciBoZXQgdmVyd2Vya2VuIHZhbiBhZmJlZWxkaW5nZW4uJzsKJGxhbmdbJ2luZm9faW1wb3J0X3Rlc3RfcGFzc2VkJ10gPSAnRWVuIGtvcnRlIHRlc3QgaGVlZnQgcGxhYXRzZ2V2b25kZW4gb3AgaGV0IGdlc2VsZWN0ZWVyZGUgZ2VzZWxlY3RlZXJkZSBiZXN0YW5kIGVuIGFsbGVzIGxpamt0IGluIG9yZGUuPGJyLz5EaXQgaXMgZWNodGVyIGdlZW4gZ2FyYW50aWUgZGF0IGVyIGdlZW4gZm91dGVuIGluIGhldCBiZXN0YW5kIGFhbndlemlnIHppam4uJzsKJGxhbmdbJ2luZm9fcHJldHR5aGllcnVybHMnXSA9ICdWb2VnIGRlIGhpZSZhdW1sO3JjaGllIG5hYW0gdG9lIGFhbiBkZSBVUkwnOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnR2VhY2NlcHRlZXJkZSB3YWFyZGVuIHppam4gKy0qIy4jIyc7CiRsYW5nWydpbmZvX3Byb2Rub3Rmb3VuZCddID0gJ0RlemUgb3B0aWUgYmVwYWFsZCBoZXQgZ2VkcmFnIHZhbiBkZSB3ZWJzaXRlIHdhbm5lZXIgZWVuIGRldGFpbHdlZXJnYXZlIHZhbiBlZW4gcHJvZHVjdCByZWNodHN0cmVla3Mgd29yZHQgYmV6b2NodCBtZXQgZWVuIFVSTCBlbiBkYXQgcHJvZHVjdCBvbSBlZW4gYmVwYWFsZGUgcmVkZW4gKHVpdGdlc2NoYWtlbGQsIHZlcndpamRlcmQsIGV0Yy4pIG5pZXQga2FuIHdvcmRlbiBiZXpvY2h0Lic7CiRsYW5nWydpbmZvX3B1YmxpY2ZpZWxkJ10gPSAnUHVibGlla2UgdmVsZGVuIHppam4gemljaHRiYWFyIHZvb3IgaGV0IHB1YmxpZWsnOwokbGFuZ1snaW5mb19yZW9yZGVyX2NvbnRlbnQnXSA9ICdEZXplIGFjdGllIHN0YWF0IGhldCBzbGVwZW4gdmFuIGluZGl2aWR1ZWxlIGl0ZW1zIGluIGRlIGJvb21zdHJ1Y3R1dXIgdG9lLiBabyBrdW50IHUgZGUgdm9sZ29yZGUgYWFucGFzc2VuIHdhYXJpbiBkZSBpdGVtcyB3b3JkZW4gd2VlcmdldmVuIGluIGRlIGhpJmV1bWw7cmFyY2hpc2NoZSB3ZWVyZ2F2ZS4nOwokbGFuZ1snaW5mb19zZXRlY29taGFuZGxlcnMnXSA9ICdEZXplIGtub3AgZ2FyYW5kZWVydCBkYXQgZGUgZ2ViZXVydGVuaXNzZW4gdm9vciBlLWNvbW1lcmNlYWN0aXZpdGVpdGVuIGp1aXN0IHppam4gZ2UmaXVtbDtuc3RhbGxlZXJkLiBEaXQgaXMgaGFuZGlnIHdhbm5lZXIgZGUgcHJvZHVjdGVubW9kdWxlIGRlIGJlc2NoaWtiYXJlIGhvZXZlZWxoZWRlbiBiaWogd2lsIGhvdWRlbiwgbWFhciBkZSBnZWJldXJ0ZW5pc2hhbmRsZXJzIG5pZXQgemlqbiBhYW5nZW1hYWt0IHRpamRlbiBkZSBpbnN0YWxsYXRpZSBvZiB1cGdyYWRlLic7CiRsYW5nWydsYWJlbCddID0gJ0xhYmVsICc7CiRsYW5nWydsYWJlbF9za2lwJ10gPSAnU2xhIG92ZXInOwokbGFuZ1snbGFiZWxfb3ZlcndyaXRlJ10gPSAnT3ZlcnNjaHJpanZlbic7CiRsYW5nWydsYWJlbF91cGRhdGUnXSA9ICdCaWp3ZXJrZW4nOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnTGFhdHN0IGFhbmdlcGFzdCBvcCc7CiRsYW5nWydsb2dvdGV4dCddID0gJ1R3ZWVkZSBBZmJlZWxkaW5nJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltYWxlIGxlbmd0ZSA8ZW0+KGFsbGVlbiB2YW4gdG9lcGFzc2luZyBvcCBoZXQgdGVrc3R2ZWxkKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ0FhbmdlcGFzdCBvcCc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdFZW4gbW9kdWxlIHZvb3IgaGV0IG1hbmFnZW4gdmFuIGVlbiBwcm9kdWN0Y2F0YWxvZ3VzLiBEZSBwcm9kdWN0ZW4gemlqbiB2b29yemllbiB2YW4gZWVuIHByaWpzLCBlZW4gZm90bywgZXRjLiBPb2sgaXMgZXIgZWVuIG1vZ2VsaWpraGVpZCB2b29yIGVlbiB3aW5rZWx3YWdlbiB0ZSBtYWtlbi4nOwokbGFuZ1snbW92ZV9kb3duJ10gPSAnVmVyc2NodWlmIG5hYXIgYmVuZWRlbic7CiRsYW5nWydtb3ZlX3VwJ10gPSAnVmVyc2NodWlmIG5hYXIgYm92ZW4nOwokbGFuZ1snbXNnX2V2ZW50aGFuZGxlcnNfY3JlYXRlZCddID0gJ0dlYmV1cnRlbmlzaGFuZGxlcnMgZ2VjcmVlJmV1bWw7cmQuJzsKJGxhbmdbJ21zZ19vcHRpb25zY29waWVkJ10gPSAnUHJvZHVjdCBvcHRpb25zIGNvcGllZCAoYnV0IG5vdCBzYXZlZCB5ZXQpJzsKJGxhbmdbJ21zZ19vcHRpb25zX2RlbGV0ZWQnXSA9ICdQcm9kdWN0IG9wdGlvbnMgZGVsZXRlZCBmb3IgcHJvZHVjdCAlZCc7CiRsYW5nWydtc2dfb3B0aW9uc19zYXZlZCddID0gJ1Byb2R1Y3Qgb3B0aW9ucyBzYXZlZCc7CiRsYW5nWydtc2dfcHJvZHVjdGNvcGllZCddID0gJ0l0ZW0gc3VjY2Vzc2Z1bGx5IGNvcGllZC4gIFlvdSBhcmUgbm93IGVkaXRpbmcgdGhlIGNvcHkuICBBbnkgc2t1IGluZm9ybWF0aW9uIGluIHRoZSBpdGVtLCBhbmQvb3IgYXR0cmlidXRlcyBoYXMgYmVlbiBjbGVhcmVkJzsKJGxhbmdbJ25hbWUnXSA9ICdOYWFtJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnVSBoZWVmdCBuaWV0IGRlIHZlcmVpc3RlIHJlY2h0ZW46ICVzJzsKJGxhbmdbJ25ld19jYXRlZ29yeV9uYW1lJ10gPSAnTmlldXdlIENhdGVnb3JpZSBOYWFtJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydubyddID0gJ05lZSc7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ0VyIGlzIGdlZW4gbmFhbSBpbmdldnVsZCc7CiRsYW5nWydub25lJ10gPSAnR2Vlbic7CiRsYW5nWydub3RlcyddID0gJ09wbWVya2luZ2VuJzsKJGxhbmdbJ25vdGhpbmdfc2VsZWN0ZCddID0gJ05pZXRzIGdlc2VsZWN0ZWVyZCc7CiRsYW5nWydvZiddID0gJ1Zhbic7CiRsYW5nWydvayddID0gJ09rJmVhY3V0ZTsnOwokbGFuZ1snb3BlcmF0aW9uX2NhbmNlbGxlZCddID0gJ0FjdGllIGdlYW5udWxlZXJkJzsKJGxhbmdbJ29wZXJhdGlvbl9jb21wbGV0ZSddID0gJ09wZXJhdGllIHVpdGdldm9lcmQnOwokbGFuZ1sncGFnZSddID0gJ1BhZ2luYSc7CiRsYW5nWydwYWdlX29mJ10gPSAnUGFnaW5hICVzIHZhbiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnUGFnaW5hIExpbWlldCc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICcNClNwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPmhpZXJhcmNoeSAtLSBEaXNwbGF5IGFuIGl0ZW0gbGlzdCBieSBoaWVyYXJjaHk8L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgaXRlbSBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyeSBvZiBpdGVtczwvbGk+DQogIDxsaT5kZXRhaWxzIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIGl0ZW08L2xpPg0KICA8bGk+ZmllbGRsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgdmFsdWVzIGZyb20gYSBzcGVjaWZpZWQgZmllbGQuDQogICAgIDxwPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYSBuYXZpZ2F0aW9uIGZyb20gdGhlIHZhbHVlcyBvZiBhIHNwZWNpZmljIGZpZWxkLiAgaS5lOiAgeW91IGNvdWxkIGNyZWF0ZSBhIGN1c3RvbSBkcm9wZG93biBmaWVsZCBjYWxsZWQgJmFtcDtxdW90O2NvbG9yJmFtcDtxdW90OyBhbmQgdGhlbiBjcmVhdGUgYSBuYXZpZ2F0aW9uIGJhc2VkIG9uIHRoZSBkaWZmZXJlbnQgY29sb3JzLg0KICAgICA8L3A+DQogIDwvbGk+DQogIDxsaT5zZWFyY2ggLSBEaXNwbGF5IGEgZm9ybSB0byBhbGxvdyBzZWFyY2hpbmcgaXRlbXMgb24gdmFyaW91cyBjcml0ZXJpdW08L2xpPg0KPGxpPmFqYXhfcHJvcHZhbCAtIFJldHVybiBhIGpzb24gZW5jb2RlZCBsaXN0IG9mIHByb3BlcnR5IHZhbHVlcyBtYXRjaGluZyB0aGUgY3JpdGVyaWEgc3BlY2lmaWVkLiAgVGhpcyBhY3Rpb24gaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCB2aWEgYWpheCwgYW5kIHNob3VsZCBiZSBjYWxsZWQgd2l0aCB0aGUgc2hvd3RlbXBsYXRlPWZhbHNlIHBhcmFtZXRlciBvbiB0aGUgVVJMLjwvbGk+DQo8L3VsPiAnOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICcNCldoZW4gdXNlZCBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgbWF0Y2ggdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgY2F0ZWdvcnkgd2lsbCBiZSB1c2VkIHRvIGRpc3BsYXkgb25seSB0aG9zZSBpdGVtcyB0aGF0IGFyZSBpbiB0aGF0IGNhdGVnb29yeS4gKGEgY29tbWEgc2VwZXJhdGVkIGxpc3QgY2FuIGJlIHN1cHBsaWVkKS4gIFRoaXMgcGFyYW1ldGVyIGNhbiBhbHNvIGJlIHVzZWQgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiB0byBsaW1pdCB0aGUgb3V0cHV0IHRvIHRoZSBzcGVjaWZpZWQgaXRlbSBjYXRlZ29yaWVzLiAnOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlmaWVsZCddID0gJ0FsbGVlbiB2YW4gdG9lcGFzc2luZyBvcCBkZSAmcXVvdDtjYXRlZ29yeWxpc3QmcXVvdDsgYWN0aWUsIGRlemUgcGFyYW1ldGVyIGthbiBnZWJydWlrdCB3b3JkZW4gb20gY2F0ZWdvcmkmZXVtbDtuIHRlIGZpbHRlcmVuIG9wIGJhc2lzIHZhbiBkZSB3YWFyZGUgdmFuIGhldCBjYXRlZ29yaWV2ZWxkLiBIZXQgd2Vya3QgbmlldCBpbiBjb21iaW5hdGllIG1ldCBkZSAmcXVvdDtjYXRlZ29yeSZxdW90OyBvZiBkZSAmcXVvdDtjYXRlZ29yeV9pZCZxdW90OyBwYXJhbWV0ZXJzLiBEZSBzeW50YXggdmFuIGRlemUgcGFyYW1ldGVyIGlzIGVlbiBrb21tYWdlc2NoZWlkZW4gbGlqc3QgbWV0IHZlbGRuYW1lbiBlbiB2ZWxkd2FhcmRlbi4gIEJpanZvb3JiZWVsZDogIGNhdGVnb3J5bGlzdD0mcXVvdDt2ZWxkbmFhbTp3YWFyZGUsdmVsZG5hYW0gMjp3YWFyZGUgMiZxdW90Oyc7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3RkdGx0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5IG9mIHRoZSBjYXRlZ29yeSBkZXRhaWxzLiAgVGhpcyB1c2VzIGEgY2F0ZWdvcnkgbGlzdCB0ZW1wbGF0ZS4uICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLiAnOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJw0KVGhpcyBzcGVjaWZpZXMgdGhlIHBhZ2VpZCBvciBhbGlhcyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQuICBJdCBjYW4gYmUgdXNlZCB3aXRoIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IG9yIHNlYXJjaCBhY3Rpb25zLiAgVGhpcyBvcHRpb24gaXMgbm90IGNvbXBhdGlibGUgd2l0aCBwcmV0dHkgdXJscyBvZiBhbnkgc29ydC4gJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnDQpUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZXRhaWwgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuICBUaGlzIHBhcmFtZXRlciBoYXMgbm8gdXNlIHdoZW4gcHJldHR5IHVybHMgYXJlIGVuYWJsZWQuICc7CiRsYW5nWydwYXJhbV9leGNsdWRlY2F0J10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkZWZhdWx0IChzdW1tYXJ5KSB2aWV3LCB0aGlzIHBhcmFtZXRlciB3aWxsIGFsbG93IGV4Y2x1ZGluZyBwcm9kdWN0cyB0aGF0IGFyZSBpbiBhIHNwZWNpZmljIGNhdGVnb3J5IGZyb20gdGhlIHJlc3VsdC4gQSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBjYXRlZ29yeSBuYW1lcyBpcyBhbGxvd2VkLiBUaGlzIHBhcmFtZXRlciBjYW4gd29yayBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSBjYXRlZ29yeSBwYXJhbWV0ZXIgdG8gcHJvdmlkZSBhIGxpc3Qgb2YgdGhlIHByb2R1Y3RzIHRoYXQgYXJlIGluIHRoaXMgY2F0ZWdvcnksIGJ1dCBub3QgaW4gdGhhdCBjYXRlZ29yeSAnOwokbGFuZ1sncGFyYW1fZmllbGQnXSA9ICcNClVzZWQgaW4gdGhlIDxlbT5maWVsZGxpc3Q8L2VtPiBhbmQgdGhlIDxlbT5hamF4X3Byb3B2YWw8L2VtPiBhY3Rpb25zLiBJbiB0aGUgZmllbGRsaXN0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiBhIHVzZXIgZGVmaW5lZCBwcm9wZXJ0eSB0byBjcmVhdGUgYSBsaXN0IGZyb20uICBJbiB0aGUgYWpheF9wcm9wdmFsIGFjdGlvbiB0aGlzIHBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hpY2ggZmllbGQgdG8gdXNlIHRvIGV4dHJhY3QgYSBsaXN0IG9mIHZhbHVlcy4gIEFueSB2YWxpZCBmaWVsZCBuYW1lcyBhcmUgYWNjZXB0ZWQgKHRob3VnaCBvbmx5IHRleHQgZmllbGQgYW5kIGRyb3Bkb3duIGZpZWxkIG5hbWVzIHdpbGwgd29yayBwcm9wZXJseS4gIEFkZGl0aW9uYWxseSB0aGUgc3BlY2lhbCB2YWx1ZXMgOjpuYW1lOjosIDo6c2t1OjosIGFuZCA6OmFsaWFzOjogY2FuIGJlIHNwZWNpZmllZCB0byByZXR1cm4gdmFsdWVzIGZyb20gdGhlIGl0ZW0gbmFtZSwgc2t1IGFuZCBhbGlhcyByZXNwZWN0aXZlbHkuICc7CiRsYW5nWydwYXJhbV9maWVsZHZhbCddID0gJw0KVXNlZCBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhbmQgPGVtPmFqYXhfcHJvcHZhbDwvZW0+IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZmllbGQgdmFsdWUgdG8gbGltaXQgcmVzdWx0cyBieS4gIEluIHRoZSBkZWZhdWx0IHZhbHVlIHRoZXNlIHNwZWNpYWwgdmFsdWVzIGFyZSBhY2NlcHRlZDogJmFtcDtxdW90Ozo6bnVsbDo6JmFtcDtxdW90OyAmYW1wO3F1b3Q7Ojpub3RudWxsOjomYW1wO3F1b3Q7LiBJbiB0aGUgYWpheF9wcm9wdmFsIGFjdGlvbiB0aGlzIGZpZWxkIGlzIGV4cGVjdGVkIHRvIGNvbnRhaW4gb25seSBhIGZldyBsZXR0ZXJzLCB0byBpbmRpY2F0ZSBhIHNtYWxsIGZpbHRlci4gIGkuZTogZmllbGR2YWw9YiB0byByZXR1cm4gYWxsIGZpZWxkIHZhbHVlcyB0aGF0IGJlZ2luIHdpdGggdGhlIGxldHRlciBiLiAnOwokbGFuZ1sncGFyYW1faGllcmFyY2h5J10gPSAnDQpVc2VlZCBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhbmQgaGllcmFjaHkgYWN0aW9ucyB0aGlzIHBhcmFtZXRlciBoYXMgdHdvIHVzZXMuICBXaGVuIHVzZWQgaW4gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgb25seSBpdGVtcyBpbiB0aGF0IGxvY2F0aW9uIG9mIHRoZSBoaWVyYXJjaHkgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFdpbGRjYXJkIGNoYXJhY3RlciBjYW4gYmUgdXNlZCBzbyB0aGF0IHlvdSBjYW4gc3BlY2lmeSBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwcyBhcyB3ZWxsLiAgaS5lIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gd2lsbCBjcmVhdGUgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBpbmNsdWRpbmcgdGhlIGNoaWxkcmVuIGluIHRoZSBoaWVyYXJjaHkuICBTaW1pbGFybHksIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBpdGVtcyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuICBBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGV4cHJlc3Npb25zIGNhbiBiZSBzdXBwbGllZC4gIGkuZToge1Byb2R1Y3RzIGFjdGlvbj1oaWVyYXJjaHkgaGllcmFyY2h5PSYjMDM5O3RydWNrcyxjYXJzJiMwMzk7fSAnOwokbGFuZ1sncGFyYW1faGllcmFyY2h5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBoaWVyYXJjaHkgZGlzcGxheS4gSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuICc7CiRsYW5nWydwYXJhbV9pbmxpbmUnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCB0aGUgb3V0cHV0IG9mIHRoZSBzdW1tYXJ5IHZpZXcgc2hvdWxkIGJlIGRpc3BsYXllZCBpbmxpbmUgJzsKJGxhbmdbJ3BhcmFtX25vdHByZXR0eSddID0gJ1RoaWUgcGFyYW1ldGVyIHNwZWNpZmllcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGFjdGlvbnMgdG8gd2hpY2ggcHJldHR5IHVybHMgc2hvdWxkIG5vdCBiZSBnZW5lcmF0ZWQuICBpLmU6IG5vdHByZXR0eT1oaWVyYXJjaHksZGVmYXVsdCB3aWxsIG5vdCBnZW5lcmF0ZSBwcmV0dHkgdXJscyB0byBoaWVyYXJjaHksIG9yIHN1bW1hcnkgKGRlZmF1bHQpIGFjdGlvbnMsIGJ1dCB3aWxsIGFsbG93IGdlbmVyYXRpb24gb2YgcHJldHR5IHVybHMgdG8gZGV0YWlsIHZpZXdzLiAgQXMgYSBzcGVjaWFsIHZhdWUgJnF1b3Q7YWxsJnF1b3Q7IGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgdGhhdCBubyBwcmV0dHkgdXJscyBzaG91bGQgYmUgZ2VuZXJhdGVkJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgaG93IG1hbnkgaXRlbXMgc2hvdWxkIGJlIGxpc3RlZCBvbiBlYWNoIHBhZ2UuJzsKJGxhbmdbJ3BhcmFtX3BhcmVudCddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+aGllcmFyY2h5PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGhpZXJhcmNoeSBpZCBvZiB0aGUgc3RhcnRpbmcgbG9jYXRpb24gb2YgdGhlIHJlcG9ydC4gJzsKJGxhbmdbJ3BhcmFtX3BhcmVudHMnXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmhpZXJhcmNoeTwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgaGllcmFyY2h5IG5hbWVzIHRoYXQgc3BlY2lmeSB0byBjcmVhdGUgbnVtZXJvdXMgaGVpcmFyY2h5IHRyZWVzIGZyb20gdGhlIHNwZWNpZmllZCBsb2NhdGlvbihzKS4gIEhpZXJhcmNoeSBuYW1lcyBtdXN0IGJlIHVuaXF1ZSwgYW5kIG5vdCBjb250YWluIGFueSBzcGVjaWFsIGNoYXJzLic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICdIZWVmdCBhbGxlZW4gemluIGluIGRlIHVpdGdlYnJlaWRlIHNqYWJsb29uLiBEZXplIHBhcmFtZXRlciBnZWVmdCBhYW4gd2VsayBwcm9kdWN0IHRlIGdlYnJ1aWtlbiBiaWogaGV0IHdlZXJnZXZlbi4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGxpc3QnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgaW50ZWdlciBwcm9kdWN0IGlkcyB0byBkaXNwbGF5LiAgTm8gcGFnaW5hdGlvbiBvciBzb3J0aW5nIGlzIHBlcmZvcm1lZCBvbiB0aGVzZSB2YWx1ZXMsIGFuZCBpZiBzcGVjaWZpZWQgdGhlIG90aGVyIGZpbHRlcmluZyBwYXJhbWV0ZXJzIHRvIHRoZSBzdW1tYXJ5IHZpZXcgYXJlIGlnbm9yZWQuICc7CiRsYW5nWydwYXJhbV9yZXN1bHRwYWdlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgYSBwYWdlIGlkIG9yIGFsaWFzIHRvIHVzZSB0byBkaXNwbGF5IHRoZSBzZWFyY2ggcmVzdWx0cyc7CiRsYW5nWydwYXJhbV9zZWFyY2hmaWVsZCddID0gJ0FsbGVlbiB2YW4gdG9lcGFzc2luZyBvcCBkZSB6b2VrYWN0aWVzLCBkZXplIHBhcmFtZXRlciBrYW4gZWVuIGtvbW1hZ2VzY2hlaWRlbiBsaWpzdCBiZXZhdHRlbiBtZXQgZGFhcmluIHZlbGRuYW1lbiBkaWUga3VubmVuIHdvcmRlbiB0b2VnZXZvZWdkIGluIGRlIHpvZWthY3RpZS4nOwokbGFuZ1sncGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJ10gPSAnQWxsZWVuIHZhbiB0b2VwYXNzaW5nIG9wIGRlIHpvZWthY3RpZXMsIGRlemUgcGFyYW1ldGVyIHN0YWF0IG51IG9tIGVlbiBuaWV0IHN0YW5kYWFyZCB6b2Vrc2phYmxvb24gdGUgZ2VicnVpa2VuJzsKJGxhbmdbJ3BhcmFtX3Nob3dhbGwnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24sIGlmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIG5vbiAwIGludGVnZXIgdmFsdWUgYWxsIGNhdGVnb3JpZXMgKGV2ZW4gdGhvc2Ugd2l0aG91dCBwcm9kdWN0cykgd2lsbCBiZSBkaXNwbGF5ZWQuJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ1NwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnDQpBcHBsaWNhYmxlIGluIHRoZSBzdW1tYXJ5LCBjYXRlZ29yeWxpc3Qgb3Igc2VhcmNoIGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGRldGVybWluZXMgdGhlIHNvcnRpbmcgb2YgdGhlIG91dHB1dC4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPml0ZW1fbmFtZTwvc3Ryb25nPjwvbGk+DQogIDxsaT5pZCAtLSBUaGUgaXRlbSBpZDwvbGk+DQogIDxsaT53ZWlnaHQgLS0gVGhlIGl0ZW0gd2VpZ2h0PC9saT4NCiAgPGxpPnByaWNlIC0tIFRoZSBpdGVtIGJhc2UgcHJpY2U8L2xpPg0KICA8bGk+c3RhdHVzIC0tIERyYWZ0IG9yIHB1Ymxpc2hlZDwvbGk+DQogIDxsaT5yYW5kb20gLS0gRGlzcGxheSBpbiByYW5kb20gb3JkZXIgb24gZWFjaCByZXF1ZXN0PC9saT4NCiAgPGxpPmNyZWF0ZWQgLS0gVGhlIGNyZWF0aW9uIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KICA8bGk+bW9kaWZpZWQgLS0gVGhlIG1vZGlmaWVkIGRhdGUgZm9yIHRoaXMgY29tcGFueSByZWNvcmQ8L2xpPg0KICA8bGk+ZjpmaWVsZG5hbWUgLS0gQWxsb3dzIHNvcnRpbmcgYnkgdmFsdWVzIG9mIGN1c3RvbSBmaWVsZHMuPC9saT4NCjwvdWw+DQo8cD5UaGUgY2F0ZWdvcnkgbGlzdCB2aWV3IHN1cHBvcnRzIG9ubHkgYSBmZXcgc3BlY2lmaWMgc29ydGluZyBvcHRpb25zOjwvcD4NCjx1bD4NCiAgPGxpPmlkIC0tIFRoZSBjYXRlZ29yeSBpZC48L2xpPg0KICA8bGk+PHN0cm9uZz5uYW1lPC9zdHJvbmc+IC0tIFRoZSBjYXRlZ29yeSBuYW1lLjwvbGk+DQo8L3VsPiAnOwokbGFuZ1sncGFyYW1fc29ydHR5cGUnXSA9ICdBbGxlZW4gdmFuIHRvZXBhc3Npbmcgb3AgZGUgc3RhbmRhYXJkIHNhbWVudmF0dGluZ3N3ZWVyZ2F2ZSwgZGV6ZSBwYXJhbWV0ZXIga2FuIHdvcmRlbiBnZWJydWlrdCBvbSB3YWFyZGVzIG9tIHRlIHpldHRlbiBuYWFyIGVlbiBhbmRlciB0eXBlIHZvb3Igc29ydGVyaW5nLiAgR2VsZGlnZSB3YWFyZGVuIHppam4gU1RSSU5HLCBTSUdORUQgZW4gVU5TSUdORUQuIEFscyBkaXQgbmlldCBpcyBvcGdlZ2V2ZW4gZGFuIHphbCBzdGFuZGFhcmQgU1RSSU5HIHdvcmRlbiBnZWtvemVuLic7CiRsYW5nWydwYXJhbV9zdW1tYXJ5cGFnZSddID0gJ0FsbGVlbiB2YW4gdG9lcGFzc2luZyBvcCBhY3Rpb249aGllcmFyY2h5LCBzdGFhdCB0b2Ugb3AgZWVuIHBhZ2luYSBpZCBvZiBhbGlhcyBvcCB0ZSBnZXZlbiBkaWUgbW9ldCB3b3JkZW4gZ2VicnVpa3Qgdm9vciBkZSBsaW5rcyBpbiBkZSBzYW1lbnZhdHRpbmdzd2VlcmdhdmUuJzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ0RlemUgcGFyYW1ldGVyIGdlZWZ0IGFhbiB3ZWxrZSBvcHNvbW1pbmcgc2phYmxvb24gZXIgZ2VicnVpa3QgbW9ldCB3b3JkZW4uIEFscyBlciBnZWVuIGdlc2VsZWN0ZWVyZCB3b3JkdCBkYW4gd29yZCBkZSBzdGFuZGFhcmQgc2phYmxvb24gZ2VicnVpa3QuJzsKJGxhbmdbJ3BhcmVudCddID0gJ0JvdmVubGlnZ2VuZGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdEZSBQcm9kdWN0cyBtb2R1bGUgaXMgZ2VpbnN0YWxsZWVyZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRGUgUHJvZHVjdHMgbW9kdWxlIGlzIHZlcndpamRlcmQgaW5jbHVzaWVmIGFsbGUgYmlqYmVob3JlbmRlIGRhdGEnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdWb29ya2V1cmVuJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ0FscyBkZSBtb2R1bGUgd29yZHQgdmVyd2lqZGVyZCBkYW4gd29yZCBvb2sgYWxsZSBhYW53ZXppZ2UgZGF0YSBnZXdpc3QuIEJlbnQgdSB6ZWtlciBkYXQgdSB3aWx0IHZlcmRlcmdhYW4/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJpanMnOwokbGFuZ1sncHJpY2VfYWRqdXN0bWVudCddID0gJ1ByaWpzd2lqemlnaW5nJzsKJGxhbmdbJ3ByZWZpeF9jb3B5b2YnXSA9ICdLb3BpZWVyIHZhbic7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJvZHVjdCddID0gJ1Byb2R1Y3QgJzsKJGxhbmdbJ3Byb2R1Y3RuYW1lJ10gPSAnUHJvZHVjdG5hYW0nOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdQcm9kdWN0ZW4nOwokbGFuZ1sncHJvZHVjdF9kZXRhaWxfc2V0dGluZ3MnXSA9ICdQcm9kdWN0IERldGFpbCBJbnN0ZWxsaW5nZW4nOwokbGFuZ1sncHJvZHVjdF9lZGl0aW5nX3NldHRpbmdzJ10gPSAnUHJvZHVjdCBXaWp6aWdlbiBpbnN0ZWxsaW5nZW4nOwokbGFuZ1sncHJvZHVjdF9zdW1tYXJ5X3NldHRpbmdzJ10gPSAnUHJvZHVjdHNhbWVudmF0dGluZyBpbnN0ZWxsaW5nZW4nOwokbGFuZ1sncHJvZHVjdF9oaWVyYXJjaHknXSA9ICdQcm9kdWN0aGllcmFyY2hpZSc7CiRsYW5nWydwcm9kdWN0X2luZm8nXSA9ICdQcm9kdWN0aW5mb3JtYXRpZSc7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICdQcm9kdWN0bWFuYWdlcic7CiRsYW5nWydwcm9ncmVzcyddID0gJ1Zvb3J0Z2FuZyc7CiRsYW5nWydwcm9tcHQnXSA9ICdQcm9tcHQgJzsKJGxhbmdbJ3Byb21wdF9hZGRfYXR0cmlic2V0J10gPSAnVG9ldm9lZ2VuL1dpanppZ2VuIEF0dHJpYnV0ZW4gU2V0JzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ1N0YSBoZXQgdXBsb2FkZW4gdmFuIGJlc3RhbmRlbiB0b2UgbWV0IGRlemUgZXh0ZW5zaWVzICh2b29yIG5pZXQtYWZiZWVsZGluZ2VuKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZXR5cGVzJ10gPSAnU3RhIGhldCB1cGxvYWRlbiB2YW4gYmVzdGFuZGVuIHRvZSBtZXQgZGV6ZSBleHRlbnNpZXMgKHZvb3IgYWZiZWVsZGluZ2VuKSc7CiRsYW5nWydwcm9tcHRfYXR0cmlidGVtcGxhdGUnXSA9ICdTamFibG9vbiB2b29yIGhldCwgaW4gZWVuIGRyb3Bkb3duIHRvbmVuIHZhbiBwcm9kdWN0IGF0dHJpYnV0ZW4nOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWwnXSA9ICdNYWFrIGF1dG9tYXRpc2NoIG1pbmlhdHVyZW4gdmFuIGRlIGFmYmVlbGRpbmdlbic7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWF4aW1hbGUgYWZtZXRpbmcgKGdyb290c3RlIHppamRlKSB2YW4gaGV0IG1pbmlhdHV1ci4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQXV0b21hdGlzY2ggZ2VuZXJlcmVuIHZhbiBrbGVpbmUgcHJvZHVjdGFmYmVlbGRpbmdlbiB2YW4gZGUgYWZiZWVsZGluZ2VuJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZ19zaXplJ10gPSAnTWF4aW1hbGUgYWZtZXRpbmcgKGdyb290c3RlIHppamRlKSB2YW4gZGUga2xlaW5lIHByb2R1Y3RhZmJlZWxkaW5nLic7CiRsYW5nWydwcm9tcHRfYXV0b3dhdGVybWFyayddID0gJ1BsYWF0cyBhdXRvbWF0aXNjaCBlZW4gd2F0ZXJtZXJrIG9wIGRlIGFmYmVlbGRpbmdlbic7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ1NjaGFrZWwgc3RhbmRhYXJkIGluIHZvb3IgYWxsZSBuaWV1d2UgcHJvZHVjdGVuJzsKJGxhbmdbJ3Byb21wdF9iYXRjaHNpemUnXSA9ICdWb2x1bWUgZ3Jvb3R0ZSc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGUnXSA9ICdDYXJ0IE1vZHVsZSAnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0NhcnQgTW9kdWxlIFBhcmFtZXRlcnMgJzsKJGxhbmdbJ3Byb21wdF9jbGVhcmF0dHJpYnMnXSA9ICdDbGVhciBhdHRyaWJ1dGVzIG9uIHVwZGF0ZSc7CiRsYW5nWydwcm9tcHRfY2xlYXJjYXRlZ29yaWVzJ10gPSAnQ2xlYXIgY2F0ZWdvcmllcyBvbiB1cGRhdGUnOwokbGFuZ1sncHJvbXB0X2NsZWFyZmllbGRzJ10gPSAnQ2xlYXIgZmllbGRzIG9uIHVwZGF0ZSc7CiRsYW5nWydwcm9tcHRfY3JlYXRlY2F0ZWdvcmllcyddID0gJ01hYWsgY2F0ZWdvcmkmZXVtbDtuJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVmaWVsZHMnXSA9ICdNYWFrIHByb2R1Y3QgdmVsZGVuPyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlaGllcmFyY2h5J10gPSAnTWFhayBwcm9kdWN0IGhpJmV1bWw7cmFyY2hpZSc7CiRsYW5nWydwcm9tcHRfY3N2ZmlsZSddID0gJ1VwbG9hZCBlZW4gQ1NWIGJlc3RhbmQnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ1ZhbHV0YWNvZGUnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5c3ltYm9sJ10gPSAnVmFsdXRhdGVrZW4nOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfc3RhdHVzJ10gPSAnU3RhbmRhYXJkIGhlYmJlbiBhbGxlIG5pZXV3ZSBwcm9kdWN0ZW4gZGV6ZSBzdGF0dXMnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfdGF4YWJsZSddID0gJ1N0YW5kYWFyZCB6aWpuIGFsbGUgcHJvZHVjdGVuIGJlbGFzdGJhYXInOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ0FscyBlZW4gcHJvZHVjdCB3b3JkdCB2ZXJ3aWpkZXJkLCBtb2V0ZW4gYWxsZSBiZXN0YW5kZW4gZGllIGVyIGFhbiBnZWtvcHBlbGQgemlqbiBvb2sgd29yZGVuIHZlcndpamRlcmQ/JzsKJGxhbmdbJ3Byb21wdF9kZWxpbWl0ZXInXSA9ICdWZWxkIHNjaGVpZGluZ3N0ZWtlbic7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ1N0YW5kYWFyZCBkZXRhaWxwYWdpbmEnOwokbGFuZ1sncHJvbXB0X2RldGFpbHNmb3InXSA9ICdEZXRhaWxzIHZvb3IgJXMnOwokbGFuZ1sncHJvbXB0X2R1cGxpY2F0ZXByb2R1Y3RzJ10gPSAnSG9lIG9tIHRlIGdhYW4gbWV0IGRlemVsZmRlIHByb2R1Y3Rlbj8nOwokbGFuZ1sncHJvbXB0X2ZhbHNlJ10gPSAnTmlldCc7CiRsYW5nWydwcm9tcHRfaGFuZGxlaW1hZ2VzJ10gPSAnVmVyd2VyayBhZmJlZWxkaW5nZW4/JzsKJGxhbmdbJ3Byb21wdF9pbWFnZXBhdGgnXSA9ICdBZmJlZWxkaW5nIHBhZCc7CiRsYW5nWydwcm9tcHRfbGVuZ3RodW5pdHMnXSA9ICdMZW5ndGUgRWVuaGVkZW4nOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2JlaGF2aW9yJ10gPSAnV2F0IG1vZXQgZXIgd29yZGVuIGdlZGFhbiBhbHMgZWVuIHByb2R1Y3QgbmlldCBnZXZvbmRlbiB3b3JkdD8nOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kXzQwNCddID0gJ0dlbmVyZWVyIGVlbiA0MDQgbWVsZGluZyc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfMzAxJ10gPSAnR2VuZXJlZXIgZWVuIDMwMSByZWRpcmVjdCc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfZXJyb3Jtc2cnXSA9ICdUb29uIGVlbiBmb3V0bWVsZGluZyc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfbXNnJ10gPSAnRm91dG1lbGRpbmcgYWxzIGVlbiBwcm9kdWN0IG5pZXQgZ2V2b25kZW4gaXMnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX3BhZ2UnXSA9ICdQYWdpbmEgb20gcGVybWFuZW50IG5hYXIgdGUgdmVyd2lqemVuPyc7CiRsYW5nWydwcm9tcHRfaGllcnBhZ2UnXSA9ICdTdGFuZGFhcmQgcGFnaW5hIHZvb3IgaGllJmF1bWw7cmNoaXNjaGUgd2VlcmdhdmUnOwokbGFuZ1sncHJvbXB0X3ByZXR0eWhpZXJ1cmxzJ10gPSAnR2VicnVpayBQcmV0dHkgVVJMJiMwMzk7cyB2b29yIGRlIGhpZSZhdW1sO3JjaGlzY2hlIHdlZXJnYXZlJzsKJGxhbmdbJ3Byb21wdF9wcm9kX2RldGFpbHBhZ2UnXSA9ICdTdGFuZGFhcmQgUGFnaW5hIHZvb3IgUHJvZHVjdCBEZXRhaWwgT3ZlcnppY2h0ZW4nOwokbGFuZ1sncHJvbXB0X3Byb2R1Y3RzX21hdGNoaW5nJ10gPSAnUHJvZHVjdGVuIGdlbGlqayBhYW4gJXMnOwokbGFuZ1sncHJvbXB0X3NrdV9yZXF1aXJlZCddID0gJ0VlbiBTS1UgaXMgdmVyZWlzdCB2b29yIGFsbGUgcHJvZHVjdGVuIGVuIGF0dHJpYnV0ZW4nOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlfbmV3ZGVmYXVsdCddID0gJ1VzZSBuZXcgc3VtbWFyeSB2aWV3JzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5cGFnZWxpbWl0J10gPSAnU3RhbmRhYXJkIHBhZ2luYWxpbWlldCBpbiBzYW1lbnZhdHRpbmdzbW9kdXMnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdTdGFuZGFhcmQgc29ydGVlcnZvbGdvcmRlIGluIHNhbWVudmF0dGluZ3Ntb2R1cyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdTdGFuZGFhcmQgdmVsZHZvbGdvcmRlIGluIHNhbWVudmF0dGluZ3Ntb2R1cyc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICdTamFibG9vbiBCcm9uJzsKJGxhbmdbJ3Byb21wdF90cnVlJ10gPSAnV2VsJzsKJGxhbmdbJ3Byb21wdF91cmxwcmVmaXgnXSA9ICdUZSBnZWJydWlrZW4gcHJlZml4IHZvb3IgYWxsZSBVUkxzIGRpZSBkZXplIG1vZHVsZSBnZWJydWlrdCc7CiRsYW5nWydwcm9tcHRfdXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCddID0gJ0dlYnJ1aWsgZGV6ZSBwYWdpbmEgb29rIHZvb3Igem9la3Jlc3VsdGF0ZW4gPGVtPihvdmVyc2NocmlqZnQgZGUgem9la3Jlc3VsdGF0ZW4gcGFnaW5hIHBhcmFtZXRlciBpbiBkZSBab2VrIG1vZHVsZSk8L2VtPic7CiRsYW5nWydwcm9tcHRfdXNlaGllcnBhdGh1cmxzJ10gPSAnR2VicnVpayBQYWQgSGllcmFyY2hpZSBpbiBkZSBQcm9kdWN0IERldGFpbCBVcmwmIzAzOTtzJzsKJGxhbmdbJ3Byb21wdF93ZWlnaHR1bml0cyddID0gJ0dld2ljaHRlZW5oZWlkJzsKJGxhbmdbJ3B1YmxpYyddID0gJ0lzIGRpdCBlZW4gcHVibGllayB2ZWxkPyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICdHZXB1YmxpY2VlcmQnOwokbGFuZ1sncXVhbnRpdHlfb25faGFuZCddID0gJ0Jlc2NoaWtiYXJlIGhvZXZlZWxoZWlkJzsKJGxhbmdbJ3JhbmRvbSddID0gJ1dpbGxla2V1cmlnJzsKJGxhbmdbJ3Jlb3JkZXJfaGllcmFyY2h5J10gPSAnSGVyb3JkZXIgaGllcmFyY2hpZSc7CiRsYW5nWydyZXNldCddID0gJ1Jlc2V0ICc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ1Jlc2V0IG5hYXIgc3RhbmRhYXJkaW5zdGVsbGluZ2VuJzsKJGxhbmdbJ3JldHVybiddID0gJ0tlZXIgdGVydWcnOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJ0dhIHRlcnVnIG5hYXIgZGUgYm92ZW5rYW50IHZhbiBkZSBwYWdpbmEnOwokbGFuZ1sncm9vdCddID0gJ1N0YXJ0JzsKJGxhbmdbJ3NlYXJjaF9kZXNjcmlwdGlvbiddID0gJ1pvZWtlaWdlbnNjaGFwIE9tc2NocmlqdmluZyc7CiRsYW5nWydzZWFyY2hfZXhwciddID0gJ01vZXQgZGUgem9la29wZHJhY2h0IHZvbGRvZW4gYWFuICZlYWN1dGU7JmVhY3V0ZTtuLCBvZiBhYW4gYWxsZSB0ZXN0ZW4gaGllcm9uZGVyPyc7CiRsYW5nWydzZWFyY2hfbmFtZSddID0gJ1pvZWtlaWdlbnNjaGFwIE5hYW0nOwokbGFuZ1snc2VhcmNoX3ByaWNlJ10gPSAnUHJpanMgbWFyZ2UnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVfYWRkZWRpdCddID0gJ1RvZXZvZWdlbi93aWp6aWdlbiBab2VrZm9ybXVsaWVyIHNqYWJsb29uJzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlcyddID0gJ1pvZWsgU2phYmxvbmVuJzsKJGxhbmdbJ3NlbGVjdF9hbGwnXSA9ICdTZWxlY3RlZXIgYWtrZXMnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ0tpZXMgJmVhY3V0ZTsmZWFjdXRlO24nOwokbGFuZ1snc2V0ZHJhZnQnXSA9ICdNYXJrZWVyIGFscyBjb25jZXB0JzsKJGxhbmdbJ3NldHB1Ymxpc2hlZCddID0gJ01hcmtlZXIgYWxzIGdlcHVibGljZWVyZCc7CiRsYW5nWydza3UnXSA9ICdVaXRsZXZlcmVlbmhlaWQgJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdTb3J0ZWVyIG9wJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTb3J0ZWVydm9sZ29yZGUnOwokbGFuZ1snc291cmNlJ10gPSAnQnJvbic7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF0dXMgJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1ZlcnN0dXJlbic7CiRsYW5nWydzdWJzY3JpcHRpb24nXSA9ICdMaWRtYWF0c2NoYXAnOwokbGFuZ1snc3Vic2NyX2V4cGlyeSddID0gJ1ZlcmxvcGVuJzsKJGxhbmdbJ3N1YnNjcl9leHBpcnkyJ10gPSAnVmVybG9vcHQnOwokbGFuZ1snc3Vic2NyX21vbnRobHknXSA9ICdNYWFuZGVsaWprcyc7CiRsYW5nWydzdWJzY3JfZGVscGVyaW9kJ10gPSAnVWl0bGV2ZXJmcmVxdWVudGllJzsKJGxhbmdbJ3N1YnNjcl9kZWxwZXJpb2QyJ10gPSAnVWl0Z2VsZXZlcmQnOwokbGFuZ1snc3Vic2NyX3BheXBlcmlvZCddID0gJ0JldGFsaW5nc2ZyZXF1ZW50aWUnOwokbGFuZ1snc3Vic2NyX3BheXBlcmlvZDInXSA9ICdCZXRhYWxkJzsKJGxhbmdbJ3N1YnNjcl9xdWFydGVybHknXSA9ICdQZXIga3dhcnRhYWwnOwokbGFuZ1snc3Vic2NyX3NlbWlhbnVhbGx5J10gPSAnT20gaGV0IGphYXInOwokbGFuZ1snc3Vic2NyX3llYXJseSddID0gJ0phYXJsaWprcyc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAnU2FtZW52YXR0aW5nc3NhYmxvbmVuJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnVG9ldm9lZ2VuL3dpanppZ2VuIFNhbWVudmF0dGluZyBTamFibG9vbic7CiRsYW5nWyd0YXhhYmxlJ10gPSAnQmVsYXN0YmFhcic7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdGVuJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGVrc3RydWltdGUnOwokbGFuZ1sndGV4dGJveCddID0gJ1Rla3N0IEludm9lcic7CiRsYW5nWyd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgbmlldXcgSGllcmFjaGllIFJhcHBvcnQgU2phYmxvb24nOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlsaXN0X2RmbHR0ZW1wbGF0ZSddID0gJ1N0YW5kYWFyZCBuaWV1dyBDYXRlZ29yaWVsaWpzdCBTamFibG9vbic7CiRsYW5nWyd0aXRsZV9kZXRhaWxfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhYXJkIG5pZXV3IERldGFpbCBTamFibG9vbic7CiRsYW5nWyd0aXRsZV9zZWFyY2hfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhYXJkIG5pZXV3IFpvZWsgU2phYmxvb24nOwokbGFuZ1sndGl0bGVfc3VtbWFyeV9kZmx0dGVtcGxhdGUnXSA9ICdTdGFuZGFhcmQgbmlldXdlIFNhbWVudmF0dGluZyBTamFibG9vbic7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSAnOwokbGFuZ1sndXAnXSA9ICdPbWhvb2cnOwokbGFuZ1sndXBkYXRlJ10gPSAnQmlqd2Vya2VuICc7CiRsYW5nWyd1cGxvYWQnXSA9ICdTZWxlY3RlZXIgZWVuIGJlc3RhbmQgb20gdGUgdXBsb2FkZW4nOwokbGFuZ1sndXJsX2FsaWFzJ10gPSAnQWxpYXMgaW4gcGFnaW5hIHVybCc7CiRsYW5nWyd2YWxpZCddID0gJ0NvcnJlY3QnOwokbGFuZ1sndmFsdWUnXSA9ICdXYWFyZGUnOwokbGFuZ1sndmFsdWVzJ10gPSAnV2FhcmRlbic7CiRsYW5nWyd2aWV3J10gPSAnQmVraWprJzsKJGxhbmdbJ3ZpZXdhYmxlX2ZpZWxkcyddID0gJ1NlbGVjdGVlciB2ZWxkZW4gb20gaW4gaGV0IHRhYmVsIHRlIHRvbmVuJzsKJGxhbmdbJ3dhcm5fZWRpdF9wcm9kdWN0X29wdGlvbnMnXSA9ICdFYWNoIHByb2R1Y3Qgb3B0aW9uIG11c3QgaGF2ZSBhIHVuaXF1ZSBzdHJpbmcuICBJZiBTS1UgaXMgcmVxdWlyZWQgdGhlbiBpdCBtdXN0IGJlIHVuaXF1ZSBhY3Jvc3MgdGhlIGVudGlyZSBzeXN0ZW0uJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ1BsYWF0cyBXYXRlcm1lcmsnOwokbGFuZ1snd2VpZ2h0J10gPSAnR2V3aWNodCc7CiRsYW5nWyd3aXRoX3NlbGVjdGVkJ10gPSAnTWV0IGdlc2VsZWN0ZWVyZGVuJzsKJGxhbmdbJ3llcyddID0gJ0phJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNjc5MzA0MDc4LjEzNTY2OTM1MjYuMTM1Njc5NTcxMS4xMzU2ODExNjIxLjQnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzU2NjkzNTI2LjEuMS51dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L3Byb2plY3QvZmlsZXMvNic7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FiYnJfbGVuZ3RoJ10gPSAnTCc7CiRsYW5nWydhYmJyX3dpZHRoJ10gPSAnVyc7CiRsYW5nWydhYmJyX2hlaWdodCddID0gJ0gnOwokbGFuZ1snYWRkJ10gPSAnRG9kYWonOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdEb2RhaiBrYXRlZ29yacSZJzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnRG9kYWogcG9sZSc7CiRsYW5nWydhZGp1c3RhYmxlJ10gPSAnWm1pZW5pYWxueSc7CiRsYW5nWydhZGRwcm9kdWN0J10gPSAnRG9kYWogcHJvZHVrdCc7CiRsYW5nWydhZGRfYXR0cmliX3NldCddID0gJ0RvZGFqIGF0cnlidXQnOwokbGFuZ1snYWRkX2NhdGVnb3J5X2ZpZWxkJ10gPSAnUHJ6eXBpc2HEhyBwb2xlIGRvIGthdGVnb3JpaTogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnRG9kYWogZWxlbWVudCBoaWVyYXJjaGlpJzsKJGxhbmdbJ2FkZF9vcHRpb24nXSA9ICdEb2RhaiBvcGNqxJkgYXRyeWJ1dHUnOwokbGFuZ1snYWRtaW5fb25seSddID0gJ0N6eSB0eWxrbyBhZG1pbmlzdHJhdG9yenkgbW9nxIUgd2lkemllxIcgdGVuIGF0cnlidXQ/JzsKJGxhbmdbJ2FkdmFuY2VkJ10gPSAnWmFhd2Fuc293YW5lJzsKJGxhbmdbJ2FsaWduX3VsJ10gPSAnRyZvYWN1dGU7cm55IGxld3knOwokbGFuZ1snYWxpZ25fdWMnXSA9ICdHJm9hY3V0ZTtybnkgxZtyb2Rlayc7CiRsYW5nWydhbGlnbl91ciddID0gJ0cmb2FjdXRlO3JueSBwcmF3eSc7CiRsYW5nWydhbGlnbl9tbCddID0gJ8Wacm9kZWsgbGV3eSc7CiRsYW5nWydhbGlnbl9tYyddID0gJ8Wacm9kZWsnOwokbGFuZ1snYWxpZ25fbXInXSA9ICfFmnJvZGVrIHByYXd5JzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnRCZvYWN1dGU7xYIgbGV3eSc7CiRsYW5nWydhbGlnbl9sYyddID0gJ0Qmb2FjdXRlO8WCIMWbcm9kZWsnOwokbGFuZ1snYWxpZ25fbHInXSA9ICdEJm9hY3V0ZTvFgiBwcmF3eSc7CiRsYW5nWydhbGwnXSA9ICdXc3p5c3RraWUnOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ1dzenlzdGtpZSBrYXRlZ29yaWUnOwokbGFuZ1snYW55J10gPSAnSmFraWtvbHdpZWsnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0N6eSBuYSBwZXdubyB1c3VuxIXEhz8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGVwcm9kdWN0J10gPSAnQ3p5IG5hcGV3bm8gY2hjZXN6IHVzdW7EhcSHIHRlbiBwcm9kdWt0IG9yYXogd3N6eXN0a2llIGRvZGF0a293ZSBpbmZvcm1hY2plIG5hIGplZ28gdGVtYXQ/JzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ1Jvc27EhWNvJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnTmF6d2EgYXRyeWJ1dHUnOwokbGFuZ1snYXV0b21hdGljJ10gPSAnQXV0b21hdHljem5pZSc7CiRsYW5nWydidG5fc2V0ZWNvbWhhbmRsZXJzJ10gPSAnU2V0IEVjb21tZXJjZSBFdmVudCBIYW5kbGVycyc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ1N6YWJsb255IHJhcG9ydCZvYWN1dGU7dyBoaWVyYXJjaGlpJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ0RvZGFqL0VkeXR1aiBzemFibG9uIHJhcG9ydHUgaGllcmFyY2hpaSc7CiRsYW5nWydjYW5jZWwnXSA9ICdBbnVsdWonOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0thdGVnb3JpZSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpYSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ0thdGVnb3JpYSBvIHRlaiBuYXp3aWUganXFvCBpc3RuaWVqZSc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZXMnXSA9ICdTemFibG9ueSBsaXN0eSBrYXRlZ29yaWknOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0RvZGFqL0VkeXR1aiBzemFibG9uIGxpc3R5IGthdGVnb3JpaSc7CiRsYW5nWydjZW50aW1ldGVycyddID0gJ0NlbnR5bWV0cnknOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydjb25maXJtX2NvcHlhdHRyaWJ1dGVzJ10gPSAnQW55IGV4aXN0aW5nIGF0dHJpYnV0ZSBzZXRzIGZvciB0aGlzIHByb2R1Y3Qgd2lsbCBiZSByZW1vdmVkLiBBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY29udGludWU/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX2hpZXJhcmNoeV9ub2RlJ10gPSAnQ3p5IG5hcGV3bm8gY2hjZXN6IHVzdW7EhcSHIHRlbiBlbGVtZW50IGhpZXJhcmNoaWk/IFdzenlzdGtpZSBwcm9kdWt0eSB1xbx5d2FqxIVjZSB0ZWdvIGVsZW1lbnR1IG5pZSBixJlkxIUgcHJ6eXBpc2FuZSBkbyDFvGFkbmVqIGhpZXJhcmNoaWknOwokbGFuZ1snY29uZmlybV9pbXBvcnQnXSA9ICdBcmUgeW91IHN1cmUgeW91IHJlYWxseSB3YW50IHRvIGRvIHRoaXM/XG5cbkltcHJvcGVyIHNldHRpbmdzLCBvciBhbiBpbnZhbGlkIGNvbmZpZyBmaWxlIGNvdWxkIGNvbXBsZXRlbHkgY29ycnVwdCBhIGN1cnJlbnRseSB2YWxpZCBhbmQgd29ya2luZyBzeXN0ZW0uJzsKJGxhbmdbJ2NvcHknXSA9ICdTa29waXVqJzsKJGxhbmdbJ2NvcHlfYXR0cmliX3NldHMnXSA9ICdDb3B5IEF0dHJpYnV0ZSBTZXRzJzsKJGxhbmdbJ2NvcHlfY2F0ZWdvcnknXSA9ICdTa29waXVqIGthdGVnb3JpxJknOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdEYXRhIHV0d29yemVuaWEnOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ0FrdHVhbG5hIHdhcnRvxZvEhyc7CiRsYW5nWydkYXRhJ10gPSAnRGFuZSc7CiRsYW5nWydkZWZhdWx0J10gPSAnRG9tecWbbG55JzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdTemFibG9ueSBkb215xZtsbmUnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPlV3YWdhOjwvc3Ryb25nPiBaYXdhcnRvxZvEhyB0eWNoIHAmb2FjdXRlO2wgdGVrc3Rvd3ljaCBqZXN0IHXFvHl3YW5hIGRvIG9rcmXFm2xlbmlhIGRvbXnFm2xuZWogemF3YXJ0b8WbY2kgc3phYmxvbiZvYWN1dGU7dyB3IG1vbWVuY2llIHd5YnJhbmlhIG9wY2ppICZhbXA7cXVvdDtEb2RhaiBzemFibG9uJmFtcDtxdW90OyBuYSBvZHBvd2llZG5pZWogemFrxYJhZGNlLiBFZHljamEgdHljaCBwJm9hY3V0ZTtsIG5pZSB3cMWCeXdhIGJlenBvxZtyZWRuaW8gbmEgaXN0bmllasSFY2Ugc3phYmxvbnkuJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ1NrYXN1aic7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnU2thc3VqIGF0cnlidXQnOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnU2thc3VqIGVsZW1lbnQgaGllcmFyY2hpaSc7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnTWFsZWrEhWNvJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnT3Bpcyc7CiRsYW5nWydkZXN0aW5hdGlvbiddID0gJ0Rlc3RpbmF0aW9uJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdTemN6ZWcmb2FjdXRlO8WCeSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdTemFibG9ueSBzemN6ZWcmb2FjdXRlO8WCb3dlJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdEb2Rhai9lZHl0dWogc3phYmxvbiBzemN6ZWcmb2FjdXRlO8WCb3d5JzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdXeW1pYXJ5JzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnV3nFgsSFY3pvbnknOwokbGFuZ1snZG93biddID0gJ1ByemVzdcWEIHcgZCZvYWN1dGU7xYInOwokbGFuZ1snZHJhZnQnXSA9ICdLb3BpYSByb2JvY3phJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTGlzdGEgcm96d2lqYWxuYSc7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnT3BjamVsaXN0eSByb3p3aWphbG5laiA8ZW0+KGF0byBwb2xlIGplc3QgdcW8eXdhbmUgdHlsa28gcHJ6eSBsaXN0YWNoIHJvendpamFsbnljaCk8L2VtPjxici8+PGJyLz48ZW0+KGplZG5hIGxpbmlhIHRvIGplZG5hIG9wY2phKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdFZHl0dWonOwokbGFuZ1snZWRpdF9hdHRyaWJzZXQnXSA9ICdFZHl0dWogYXRyeWJ1dCc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICdFZHl0dWogemVzdGF3IGF0cnlidXQmb2FjdXRlO3cnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ0VkeXR1aiBhdHJ5YnV0eSBkbGEnOwokbGFuZ1snZWRpdF9hdHRyaWJ1dGVzJ10gPSAnRWR5dHVqIGF0cnlidXR5JzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdFZHl0dWoga2F0ZWdvcmnEmSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ0VkeXR1aiBwb2xhIGthdGVnb3JpaSc7CiRsYW5nWydlZGl0X2hpZXJhcmNoeV9pdGVtJ10gPSAnRWR5dHVqIGVsZW1lbnQgaGllcmFyY2hpaSc7CiRsYW5nWydlcnJvcl9hdHRyaWJzZXRfZXhpc3RzJ10gPSAnQXRyeWJ1dCB6IHRha8SFIG5henfEhSBqdcW8IGlzdG5pZWplJzsKJGxhbmdbJ2Vycm9yX2R1cGxpY2F0ZV9za3UnXSA9ICdabmFsZXppb25vIHpkdXBsaWtvd2FuxIUgd2FydG/Fm8SHIFNLVSc7CiRsYW5nWydlcnJvcl9maWVsZHZhbHVlX2VtcHR5J10gPSAnV2FydG/Fm8SHIHBvbGEgbmllIG1vxbxlIGJ5xIcgcHVzdGEnOwokbGFuZ1snZXJyb3JfZmlsZWZvcm1hdCddID0gJ1Byb2JsZW0geiBmb3JtYXRlbSBwbGlrdSc7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICdOaWUgb2RuYWxlemlvbm8gcGxpa3UnOwokbGFuZ1snZXJyb3JfZmlsZW9wZW4nXSA9ICdQcm9ibGVtIHBvZGN6YXMgb3R3aWVyYW5pYSBwbGlrdSAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnTmllcHJhd2lkxYJvd3kgZWxlbWVudCBuYWRyesSZZG55IChnYcWCxIXFuiBoaWVyYXJjaGlpIG5pZSBtb8W8ZSBiecSHIHN3b2ltIHfFgmFzbnltIGVsZW1lbnRlbSBuYWRyesSZZG55bSknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9uYW1lJ10gPSAnV2FydG/Fm8SHIHBvbGEgamVzdCBuaWVwb3ByYXduYSAobW/FvGUgemF3aWVyYcSHIHR5bGtvIHpuYWtpIGFsZmFudW1lcnljem5lKSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ZhbHVlJ10gPSAnSW52YWxpZCB2YWx1ZSBzcGVjaWZpZWQnOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnV1ltYWdhbnkgcGFyYW1ldHIgamVzdCBuaWVwcmF3aWTFgm93eSBsdWIgcHVzdHknOwokbGFuZ1snZXJyb3JfbmFtZXVzZWQnXSA9ICdFbGVtZW50IHogdGFrxIUgbmF6d8SFIGp1xbwgaXN0bmllamUnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdQcm9zesSZIHd5YnJhxId0eXAgcG9sYSc7CiRsYW5nWydlcnJvcl9ub25hbWUnXSA9ICdNdXNpc3ogd3Bpc2HEhyBuYXp3xJknOwokbGFuZ1snZXJyb3Jfb25lcXVhbnRpdHlmaWVsZCddID0gJ09ubHkgb25lIHF1YW50aXR5IGZpZWxkIGlzIGFsbG93ZWQnOwokbGFuZ1snZXJyb3Jfb25lc3Vic2NyaXB0aW9uZmllbGQnXSA9ICdPbmx5IG9uZSBzdWJzY3JpcHRpb24gZmllbGQgaXMgYWxsb3dlZCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnRG9zdMSZcCB6YWJyb25pb255JzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfYWxpYXN1c2VkJ10gPSAnT2tyZcWbbG9ueSBhbGlhcyBqZXN0IGp1xbwgdcW8eXR5JzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdQcm9kdWt0IHogdGFrxIUgbmF6d8SFIGp1xbwgaXN0bmllamUnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9ub3Rmb3VuZCddID0gJ1RoZSByZXF1ZXN0ZWQgcHJvZHVjdCBjb3VsZCBub3QgYmUgZm91bmQnOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9za3V1c2VkJ10gPSAnVGEgd2FydG/Fm8SHIFNLVSBqZXN0IGp1xbwgcHJ6eXBpc2FuYSBpbm5lbXUgcHJvZHVrdG93aSc7CiRsYW5nWydlcnJvcl9wcmljZV9hZGp1c3RtZW50J10gPSAnTmllcHJhd2lkxYJvd2Egem1pYW5hIHdhcnRvxZtjaSBjZW55IGRsYSBlbGVtZW50dSAlcyc7CiRsYW5nWydlcnJvcl9za3VfcmVxdWlyZWQnXSA9ICdXcGlzeiB1bmlrYWxuZSBTS1UnOwokbGFuZ1snZXJyb3JfdXBsb2FkX2ZhaWxlZCddID0gJ1phxYJhZG93YW5pZSBwbGlrdSBuaWUgcG93aW9kxYJvIHNpxJk6ICVzJzsKJGxhbmdbJ2V4Y2x1ZGVfY2F0ZWdvcmllcyddID0gJ0V4Y2x1ZGUgcHJvZHVjdHMgaW4gdGhlIHNlbGVjdGVkIGNhdGVnb3JpZXMgZnJvbSB0aGUgcmVzdWx0cyc7CiRsYW5nWydleHBpcmVfc2l4X21vbnRocyddID0gJ1BvIHN6ZcWbY2l1IG1pZXNpxIVjYWNoJzsKJGxhbmdbJ2V4cGlyZV9vbmVfeWVhciddID0gJ1BvIHJva3UnOwokbGFuZ1snZXhwaXJlX3R3b195ZWFyJ10gPSAnUG8gZHcmb2FjdXRlO2NoIGxhdGFjaCc7CiRsYW5nWydleHRyYTEnXSA9ICdQb2xlIEV4dHJhIDEnOwokbGFuZ1snZXh0cmEyJ10gPSAnUG9sZSBFeHRyYSAyJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnUG9sZSc7CiRsYW5nWydmaWVsZHMnXSA9ICdQb2xhJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRGVmaW5pY2phIHBvbGEnOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRGVmaW5pY2plIHAmb2FjdXRlO2wnOwokbGFuZ1snZmlsZSddID0gJ1BsaWsnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRyeSc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnVXN0YXdpZW5pYSc7CiRsYW5nWydnbyddID0gJ0dvJzsKJGxhbmdbJ2hpZXJhcmNoeSddID0gJ0hpZXJhcmNoaWEnOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAnUG96eWNqYSB3IGhpZXJhcmNoaWknOwokbGFuZ1snaGllcmFyY2h5X3NldHRpbmdzJ10gPSAnVXN0YXdpZW5pYSBoaWVyYXJjaGlpJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnT2JyYXplayc7CiRsYW5nWydpbWFnZV9oYW5kbGluZ19zZXR0aW5ncyddID0gJ1VzdGF3aWVuaWEgb2JzxYJ1Z2kgb2JyYXprJm9hY3V0ZTt3JzsKJGxhbmdbJ2ltcG9ydF9mcm9tX2NzdiddID0gJ1phaW1wb3J0dWogUHJvZHVrdHkgeiBwbGlrdSBDU1YnOwokbGFuZ1snaW5jaGVzJ10gPSAnQ2FsZSc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnRG/FgsSFY3p5xIcgZWxlbWVudHkgcG9kcnrEmWRuZT8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICdUeWxrbyB6bmFraSBhbGZhbnVtZXJ5Y3puZSAoYmV6IHNwYWNqaSwgYXBvc3Ryb2Ymb2FjdXRlO3csIGN1ZHp5c8WCb3cmb2FjdXRlO3csIHBvbHNraWNoIHpuYWsmb2FjdXRlO3cpJzsKJGxhbmdbJ2luZm9fYXR0cmlidGVtcGxhdGUnXSA9ICdNb8W8bGl3ZSB3YXJ0b8WbY2kgdG86IHskYXR0cmliX3RleHR9LHskYXR0cmliX2FkanVzdH0seyRjdXJyZW5jeV9zeW1ib2x9JzsKJGxhbmdbJ2luZm9fYXR0cmlidXRlc19jb3BpZWQnXSA9ICdBdHJ5YnV0eSBza29waW93YW5lJzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ1VzdGF3aWVuaWEgem5hayZvYWN1dGU7dyB3b2RueWNoIHPEhSBwb2JpZXJhbmUgeiBtb2R1xYJ1IENHRXh0ZW5zaW9ucyc7CiRsYW5nWydpbmZvX2JhdGNoc2l6ZSddID0gJ1NldCB0aGUgbnVtYmVyIG9mIGxpbmVzIHRvIHByb2Nlc3MgcGVyICZxdW90O2JhdGNoJnF1b3Q7LiAgQWZ0ZXIgYSBiYXRjaCBpcyBjb21wbGV0ZSwgdGhlIGltcG9ydGVyIHdpbGwgcmVkaXJlY3QsIGFuZCByZXN1bWUgb3BlcmF0aW9ucy4gIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIG1lbW9yeSBlcnJvcnMsIG9yIHRpbWVvdXQgcHJvYmxlbXMgZHVlIHRvIGxhcmdlIGFtb3VudHMgb2YgcHJvY2Vzc2luZywgeW91IG1heSBuZWVkIHRvIGNvbnN1bHQgeW91ciBob3N0IHByb3ZpZGVyLCBvciByZWR1Y2UgdGhpcyBudW1iZXInOwokbGFuZ1snaW5mb19jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdUaGVzZSBwYXJhbWV0ZXJzIGFyZSBnaXZlbiB0byB0aGUgc2VsZWN0ZWQgY2FydCBtb2R1bGUgZnJvbSB0aGUgcHJvZHVjdCBkZXRhaWwgYW5kIHN1bW1hcnkgZGlzcGxheXMnOwokbGFuZ1snaW5mb19jb3B5X2F0dHJpYnNldHMnXSA9ICdUaGlzIGFjdGlvbiB3aWxsIGNvcHkgQXR0cmlidXRlIHNldHMgKGV4Y2x1ZGluZyBza3UgdmFsdWVzKSBmcm9tIGFub3RoZXIgcHJvZHVjdC4nOwokbGFuZ1snaW5mb19jcmVhdGVmaWVsZHMnXSA9ICdDcmVhdGUgdW5rbm93biBwcm9kdWN0IGZpZWxkcyBhdXRvbWF0aWNhbGx5PyA8ZW0+KFRoZXkgd2lsbCBiZSBjcmVhdGVkIGFzIHRleHQgZmllbGRzKTwvZW0+JzsKJGxhbmdbJ2luZm9fY3JlYXRlY2F0ZWdvcmllcyddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHByb2R1Y3QgY2F0ZWdvcmllcyB0byBtYXRjaCB0aG9zZSBvZiB0aGUgQ1NWIGZpbGUsIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QnOwokbGFuZ1snaW5mb19jcmVhdGVoaWVyYXJjaHknXSA9ICdBdXRvbWF0aWNhbGx5IGNyZWF0ZSBwcm9kdWN0IGhpZXJhcmNoaWVzIHRvIG1hdGNoIHRob3NlIG9mIHRoZSBDU1YgZmlsZSBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0JzsKJGxhbmdbJ2luZm9fZGVjaW1hbF91bml0cyddID0gJ1RoaXMgc3lzdGVtIHVuZGVyc3RhbmRzICguKSBhcyB0aGUgZGVjaW1hbCBwb2ludCBzZXBhcmF0b3IuIGkuZS46IDxzdHJvbmc+NS4yNTwvc3Ryb25nPic7CiRsYW5nWydpbmZvX2RlbGltaXRlciddID0gJ1NwZWNpZnkgdGhlIGNoYXJhY3RlciAob3IgY2hhcmFjdGVycykgdGhhdCBzZXBlcmF0ZSBlYWNoIGZpZWxkJzsKJGxhbmdbJ2luZm9fZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdTcGVjaWZ5IGhvdyB0aGUgc3lzdGVtIHNob3VsZCBoYW5kbGUgYSBwcm9kdWN0IHdob3MgbmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgQ1NWIGZpbGUnOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz5Vd2FnYTogPC9zdHJvbmc+IFdzenlzdGtpZSBwb2xhIHpkZWZpbmlvd2FuZSB0dXRhaiBzxIUgZG9zdMSZcG5lIGRsYSB3c3p5c3RraWNoIHByb2R1a3Qmb2FjdXRlO3cuJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ1d5c3TEhXBpxYJ5IHByb2JsZW15IHogb2JzxYJ1Z8SFIGplZG5lZ28gbHViIHdpxJljZWogcCZvYWN1dGU7bCB6ZGVmaW5pb3dhbnljaC4gQWtjamEgem9zdGHFgmEgcHJ6ZXByb3dhZHpvbmEgcG9wcmF3bmllLCBqZWRuYWsgcG93aW5pZW5lxZsgc3ByYXdkemnEhyBjenkgd3N6eXN0a28gamVzdCB3IHBvcnrEhWRrdSc7CiRsYW5nWydpbmZvX2hhbmRsZWltYWdlcyddID0gJ1Vwb24gaW1wb3J0LCBpZiBhbiBpbWFnZSBmaWxlbmFtZSBpcyBmb3VuZCBpbiBhIGZpZWxkIGNvbHVtbiwgc2hvdWxkIGl0IGJlIG1vdmVkIGZyb20gdGhlIHNvdXJjZSBsb2NhdGlvbiwgd2F0ZXJtYXJrZWQsIHRodW1ibmFpbGVkLCBhbmQgdGhlIGZpZWxkIHR5cGUgY2hhbmdlZCB0byAmcXVvdDtpbWFnZSZxdW90Oyc7CiRsYW5nWydpbmZvX2hpZXJwYWdlJ10gPSAnVXNlIHRoaXMgcGFnZSBmb3IgaGllcmFyY2h5IHZpZXdzLiAgVGhlIHBhZ2VpZCB3aWxsIG5vdCBiZSBzcGVmaXJpZWQgb24gdGhlIFVSTC4nOwokbGFuZ1snaW5mb19pbWFnZXBhdGgnXSA9ICdUaGUgcGF0aCAocmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyZWN0b3J5KSB3aGVyZSBpbWFnZXMgcmVmZXJyZWQgdG8gaW4gdGhlIGltcG9ydCBmaWxlLCBjYW4gYmUgZm91bmQnOwokbGFuZ1snaW5mb19pbWFnZXN0dWZmX2RlcHJlY2F0ZWQnXSA9ICdLb253ZXJ0b3dhbmllIG9icmF6ayZvYWN1dGU7dyBqZXN0IHByemVzdGFyemHFgmUgaSB6b3N0YW5pZSB1c3VuacSZdGUgdyBub3dzenljaCB3ZXJzamFjaC4gVcW8eWogQ0dTbWFydEltYWdlIGRsYSBrb253ZXJ0b3dhbmlhIG9icmF6ayZvYWN1dGU7dyB3IGxvY2llLic7CiRsYW5nWydpbmZvX2ltcG9ydF90ZXN0X3Bhc3NlZCddID0gJ0EgYnJpZWYgdGVzdCBhcyBiZWVuIHBlcmZvcm1lZCBvbiB0aGUgaW5wdXQgZmlsZSBzcGVjaWZpZWQsIGFuZCBldmVyeXRoaW5nIGFwcGVhcnMgdG8gYmUgY29ycmVjdC48YnIvPlRoaXMgaXMgbm8gaW5kaWNhdGlvbiB0aGF0IHRoZXJlIGFyZSBubyBlcnJvcnMgaW4gdGhlIGZpbGUuJzsKJGxhbmdbJ2luZm9fcHJldHR5aGllcnVybHMnXSA9ICdJbmNsdWRlIHRoZSBoaWVyYXJjaHkgaXRlbSBuYW1lIG9uIHRoZSBVUkwnOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnUG9wcmF3bmUgd2FydG/Fm2NpIHBvbGEgdG8gKy0qIy4jIyc7CiRsYW5nWydpbmZvX3Byb2Rub3Rmb3VuZCddID0gJ1RoaXMgb3B0aW9uIGRldGVybWluZXMgdGhlIGJlaGF2aW91ciBvZiB0aGUgd2Vic2l0ZSBpZiBhIHByb2R1Y3QgZGV0YWlsIHZpZXcgaXMgYWNjZXNzZWQgZGlyZWN0bHkgYnkgVVJMLCBhbmQgdGhhdCBwcm9kdWN0IGZvciB3aGF0ZXZlciByZWFzb24gKGRpc2FibGVkLCBkZWxldGVkLCBldGMpIGNhbm5vdCBiZSBhY2Nlc3NlZC4nOwokbGFuZ1snaW5mb19wdWJsaWNmaWVsZCddID0gJ1BvbGEgcHVibGljem5lIHPEhSB3aWRvY3puZSBkbGEgd3N6eXN0a2ljaCc7CiRsYW5nWydpbmZvX3Jlb3JkZXJfY29udGVudCddID0gJ1RoaXMgb3BlcmF0aW9uIGFsbG93cyBkcmFnZ2luZyB0aGUgaW5kaXZpZHVhbCBub2RlcyBpbiB0aGUgdHJlZSB0byBhZGp1c3QgdGhlIG9yZGVyIHRoYXQgdGhleSB3aWxsIGJlIGRpc3BsYXllZCBpbiBpbiB0aGUgaGllcmFyY2h5IHZpZXcnOwokbGFuZ1snaW5mb19zZXRlY29taGFuZGxlcnMnXSA9ICdUaGlzIGJ1dHRvbiB3aWxsIGVuc3VyZSB0aGF0IGV2ZW50IGhhbmRsZXJzIGZvciBlY29tbWVyY2UgZXZlbnRzIGFyZSBpbiBwbGFjZS4gIFRoaXMgaXMgdXNlZnVsIGlmIGFza2luZyB0aGUgcHJvZHVjdHMgbW9kdWxlIHRvIGtlZXAgdHJhY2sgb2YgYSBxdWFudGl0eSBvbiBoYW5kLCBidXQgdGhlIGV2ZW50IGhhbmRsZXJzIGRpZCBub3QgZ2V0IGNyZWF0ZWQgZHVyaW5nIGluc3RhbGwgb3IgdXBncmFkZSc7CiRsYW5nWydsYWJlbCddID0gJ0V0eWtpZXRhJzsKJGxhbmdbJ2xhYmVsX3NraXAnXSA9ICdQb21pxYQnOwokbGFuZ1snbGFiZWxfb3ZlcndyaXRlJ10gPSAnTmFkcGlzeic7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdPc3RhdG5pYSBtb2R5ZmlrYWNqYSc7CiRsYW5nWydsb2dvdGV4dCddID0gJ0RydWdpIG9icmF6ZWsnOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWFrc3ltYWxuYSBkxYJ1Z2/Fm8SHIDxlbT4oZG90eWN6eSB0eWxrbyBwJm9hY3V0ZTtsIHRla3N0b3d5Y2gpPC9lbT4nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnRGF0YSBtb2R5ZmlrYWNqaSc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdNb2R1xYIgcG96d2FsYWrEhWN5IG5hIHN0d29yemVuaWUga2F0YWxvZ3UgcHJvZHVrdCZvYWN1dGU7dyB6IGNlbmFtaSwgemRqxJljaWFtaSBpdHAuIFBvendhbGEgdGFrxbxlIG5hIHR3b3J6ZW5pZSBrb3N6eWthLic7CiRsYW5nWydtb3ZlX2Rvd24nXSA9ICdQcnplc3XFhCB3IGQmb2FjdXRlO8WCJzsKJGxhbmdbJ21vdmVfdXAnXSA9ICdQcnplc3XFhCB3IGcmb2FjdXRlO3LEmSc7CiRsYW5nWydtc2dfZXZlbnRoYW5kbGVyc19jcmVhdGVkJ10gPSAnT2JzxYJ1Z2EgemRhcnplxYQgc3R3b3J6b25hJzsKJGxhbmdbJ25hbWUnXSA9ICdOYXp3YSc7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ05pZSBwb3NpYWRhc3ogd3ltYWdhbmVnbyB1cHJhd25pZW5pYTogJXMnOwokbGFuZ1snbmV3X2NhdGVnb3J5X25hbWUnXSA9ICdOb3dhIG5hendhIGthdGVnb3JpaSc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm8nXSA9ICdOaWUnOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdOaWUgcG9kYW5vIG5hend5JzsKJGxhbmdbJ25vbmUnXSA9ICdCcmFrJzsKJGxhbmdbJ25vdGhpbmdfc2VsZWN0ZCddID0gJ05pYyBuaWUgemF6bmFjem9ubyc7CiRsYW5nWydvZiddID0gJ3onOwokbGFuZ1snb3BlcmF0aW9uX2NhbmNlbGxlZCddID0gJ09wZXJhY2phIGFudWxvd2FuYSc7CiRsYW5nWydvcGVyYXRpb25fY29tcGxldGUnXSA9ICdPcGVyYWNqYSB6YWtvxYRjem9uYSc7CiRsYW5nWydwYWdlJ10gPSAnU3Ryb25hJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdTdHJvbmEgJXMgeiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnTGltaXQgbmEgc3Ryb27EmSc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTU3BlY2lmeSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+aGllcmFyY2h5IC0tIERpc3BsYXkgYSBwcm9kdWN0IGxpc3QgYnkgaGllcmFyY2h5PC9saT4NCiAgPGxpPmNhdGVnb3J5bGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3QgY2F0ZWdvcmllczwvbGk+DQogIDxsaT48ZW0+ZGVmYXVsdDwvZW0+IC0gRGlzcGxheSBhIHN1bW1hcnkgb2YgcHJvZHVjdHM8L2xpPg0KICA8bGk+ZGV0YWlscyAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBwcm9kdWN0PC9saT4NCiAgPGxpPmZpZWxkbGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIHZhbHVlcyBmcm9tIGEgc3BlY2lmaWVkIGZpZWxkLg0KICAgICA8cD4NCiZuYnNwOyZuYnNwOyZuYnNwOyZuYnNwOy0gVGhpcyBhY3Rpb24gY2FuIGJlIHVzZWQgdG8gY3JlYXRlIGEgbmF2aWdhdGlvbiBmcm9tIHRoZSB2YWx1ZXMgb2YgYSBzcGVjaWZpYyBmaWVsZC4gIGkuZTogIHlvdSBjb3VsZCBjcmVhdGUgYSBjdXN0b20gZHJvcGRvd24gZmllbGQgY2FsbGVkICZhbXA7cXVvdDtjb2xvciZhbXA7cXVvdDsgYW5kIHRoZW4gY3JlYXRlIGEgbmF2aWdhdGlvbiBiYXNlZCBvbiB0aGUgZGlmZmVyZW50IGNvbG9ycy4NCiAgICAgPC9wPg0KICA8L2xpPg0KICA8bGk+c2VhcmNoIC0gRGlzcGxheSBhIGZvcm0gdG8gYWxsb3cgc2VhcmNoaW5nIHByb2R1Y3RzIG9uIHZhcmlvdXMgY3JpdGVyaXVtPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnV2hlbiB1c2VkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiBhbiBleGlzdGluZyBjYXRlZ29yeSB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSBvbmx5IHRob3NlIHByb2R1Y3RzIHRoYXQgYXJlIGluIHRoYXQgY2F0ZWdvb3J5LiAoYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBjYW4gYmUgc3VwcGxpZWQpLiAgVGhpcyBwYXJhbWV0ZXIgY2FuIGFsc28gYmUgdXNlZCB3aXRoIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uIHRvIGxpbWl0IHRoZSBvdXRwdXQgdG8gdGhlIHNwZWNpZmllZCBwcm9kdWN0IGNhdGVnb3JpZXMuJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5ZmllbGQnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlICZxdW90O2NhdGVnb3J5bGlzdCZxdW90OyBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGZpbHRlciBjYXRlZ29yaWVzIGJhc2VkIG9uIHRoZSB2YWx1ZSBvZiBhIGNhdGVnb3J5IGZpZWxkLiAgSXQgd2lsbCBub3Qgd29yayBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtjYXRlZ29yeSZxdW90OyBvciAmcXVvdDtjYXRlZ29yeV9pZCZxdW90OyBwYXJhbWV0ZXJzLiAgIFRoZSBzeW50YXggb2YgdGhpcyBwYXJhbWV0ZXIgaXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBmaWVsZCBuYW1lcywgYW5kIGZpZWxkIHZhbHVlcy4gIGkuZTogIGNhdGVnb3J5bGlzdD0mcXVvdDtmaWVsZCBuYW1lOnZhbHVlLGZpZWxkIG5hbWUgMjp2YWx1ZSAyJnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdGR0bHRlbXBsYXRlJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkgb2YgdGhlIGNhdGVnb3J5IGRldGFpbHMuICBUaGlzIHVzZXMgYSBjYXRlZ29yeSBsaXN0IHRlbXBsYXRlLi4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdUaGlzIHNwZWNpZmllcyB0aGUgcGFnZWlkIG9yIGFsaWFzIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgZGV0YWlsIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZXRhaWwgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2V4Y2x1ZGVjYXQnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIHZpZXcsIHRoaXMgcGFyYW1ldGVyIHdpbGwgYWxsb3cgZXhjbHVkaW5nIHByb2R1Y3RzIHRoYXQgYXJlIGluIGEgc3BlY2lmaWMgY2F0ZWdvcnkgZnJvbSB0aGUgcmVzdWx0LiBBIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGNhdGVnb3J5IG5hbWVzIGlzIGFsbG93ZWQuIFRoaXMgcGFyYW1ldGVyIGNhbiB3b3JrIGluIGNvbmp1bmN0aW9uIHdpdGggdGhlIGNhdGVnb3J5IHBhcmFtZXRlciB0byBwcm92aWRlIGEgbGlzdCBvZiB0aGUgcHJvZHVjdHMgdGhhdCBhcmUgaW4gdGhpcyBjYXRlZ29yeSwgYnV0IG5vdCBpbiB0aGF0IGNhdGVnb3J5JzsKJGxhbmdbJ3BhcmFtX2ZpZWxkJ10gPSAnVXNlZCBvbmx5IGluIHRoZSA8ZW0+ZmllbGRsaXN0PC9lbT4gdGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgdG8gc3BlY2lmeSB0aGUgbmFtZSBvZiBhIHVzZXIgZGVmaW5lZCBwcm9wZXJ0eSB0byBjcmVhdGUgYSBsaXN0IGZyb20uJzsKJGxhbmdbJ3BhcmFtX2ZpZWxkdmFsJ10gPSAnVXNlZCBvbmx5IGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBmaWVsZCB2YWx1ZSB0byBsaW1pdCByZXN1bHRzIGJ5LiAgU3BlY2lhbCB2YWx1ZXMgZm9yIHRoaXMgZmllbGQgYXJlICZxdW90Ozo6bnVsbDo6JnF1b3Q7ICZxdW90Ozo6bm90bnVsbDo6JnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeSddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgb25seSBpdGVtcyBpbiB0aGF0IGxvY2F0aW9uIG9mIHRoZSBoaWVyYXJjaHkgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFdpbGRjYXJkIGNoYXJhY3RlciBjYW4gYmUgdXNlZCBzbyB0aGF0IHlvdSBjYW4gc3BlY2lmeSBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwcyBhcyB3ZWxsLiAgaS5lIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gd2lsbCBjcmVhdGUgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBpbmNsdWRpbmcgdGhlIGNoaWxkcmVuIGluIHRoZSBoaWVyYXJjaHkuICBTaW1pbGFybHksIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBwcm9kdWN0cyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgaGllcmFyY2h5IGRpc3BsYXkuIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9pbmxpbmUnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCB0aGUgb3V0cHV0IG9mIHRoZSBzdW1tYXJ5IHZpZXcgc2hvdWxkIGJlIGRpc3BsYXllZCBpbmxpbmUnOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBvciBzZWFyY2ggYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGhvdyBtYW55IGl0ZW1zIHNob3VsZCBiZSBsaXN0ZWQgb24gZWFjaCBwYWdlLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmhpZXJhcmNoeTwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBoaWVyYXJjaHkgaWQgb2YgdGhlIHN0YXJ0aW5nIGxvY2F0aW9uIG9mIHRoZSByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGRldGFpbCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB3aGF0IHByb2R1Y3QgdG8gdXNlIGZvciB0aGUgZGlzcGxheS4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGxpc3QnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGRlZmF1bHQgKHN1bW1hcnkpIHZpZXcsIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgaW50ZWdlciBwcm9kdWN0IGlkcyB0byBkaXNwbGF5LiAgTm8gcGFnaW5hdGlvbiBvciBzb3J0aW5nIGlzIHBlcmZvcm1lZCBvbiB0aGVzZSB2YWx1ZXMsIGFuZCBpZiBzcGVjaWZpZWQgdGhlIG90aGVyIGZpbHRlcmluZyBwYXJhbWV0ZXJzIHRvIHRoZSBzdW1tYXJ5IHZpZXcgYXJlIGlnbm9yZWQuJzsKJGxhbmdbJ3BhcmFtX3Jlc3VsdHBhZ2UnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCwgYW5kIGNhdGVnb3J5IGxpc3QgYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGEgcGFnZSBpZCBvciBhbGlhcyB0byB1c2UgdG8gZGlzcGxheSB0aGUgc3VtbWFyeSByZXN1bHRzJzsKJGxhbmdbJ3BhcmFtX3NlYXJjaGZpZWxkJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBtYXkgY29udGFpbiBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIGZpZWxkIG5hbWVzIHRvIGluY2x1ZGUgaW4gdGhlIHNlYXJjaCc7CiRsYW5nWydwYXJhbV9zZWFyY2hmb3JtdGVtcGxhdGUnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXNwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBub24gZGVmYXVsdCBzZWFyY2ggZm9ybSB0ZW1wbGF0ZSc7CiRsYW5nWydwYXJhbV9zaG93YWxsJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBjYXRlZ29yeWxpc3QgYW5kIGZpZWxkbGlzdCBhY3Rpb25zLCBpZiB0aGlzIHBhcmFtZXRlciBpcyBzZXQgdG8gYSBub24gMCBpbnRlZ2VyIHZhbHVlIGFsbCBjYXRlZ29yaWVzIChldmVuIHRob3NlIHdpdGhvdXQgcHJvZHVjdHMpIHdpbGwgYmUgZGlzcGxheWVkLic7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICdTcGVjaWZ5IHRoZSBvcmRlciBvZiBzb3J0ZWQgZmllbGRzIGluIHN1bW1hcnkgdmlldy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPmFzYzwvc3Ryb25nPiAtLSBBc2NlbmRpbmcgb3JkZXI8L2xpPg0KICA8bGk+ZGVzYyAtLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NvcnRieSddID0gJ0FwcGxpY2FibGUgaW4gdGhlIHN1bW1hcnksIGNhdGVnb3J5bGlzdCBvciBzZWFyY2ggYWN0aW9ucywgdGhpcyBwYXJhbWV0ZXIgZGV0ZXJtaW5lcyB0aGUgc29ydGluZyBvZiB0aGUgb3V0cHV0LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+PC9saT4NCiAgPGxpPmlkIC0tIFRoZSBwcm9kdWN0IGlkPC9saT4NCiAgPGxpPndlaWdodCAtLSBUaGUgcHJvZHVjdCB3ZWlnaHQ8L2xpPg0KICA8bGk+cHJpY2UgLS0gVGhlIHByb2R1Y3QgYmFzZSBwcmljZTwvbGk+DQogIDxsaT5zdGF0dXMgLS0gRHJhZnQgb3IgcHVibGlzaGVkPC9saT4NCiAgPGxpPnJhbmRvbSAtLSBEaXNwbGF5IGluIHJhbmRvbSBvcmRlciBvbiBlYWNoIHJlcXVlc3Q8L2xpPg0KICA8bGk+Y3JlYXRlZCAtLSBUaGUgY3JlYXRpb24gZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQogIDxsaT5tb2RpZmllZCAtLSBUaGUgbW9kaWZpZWQgZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQogIDxsaT5mOmZpZWxkbmFtZSAtLSBBbGxvd3Mgc29ydGluZyBieSB2YWx1ZXMgb2YgY3VzdG9tIGZpZWxkcy48L2xpPg0KPC91bD4NCjxwPlRoZSBjYXRlZ29yeSBsaXN0IHZpZXcgc3VwcG9ydHMgb25seSBhIGZldyBzcGVjaWZpYyBzb3J0aW5nIG9wdGlvbnM6PC9wPg0KPHVsPg0KICA8bGk+aWQgLS0gVGhlIGNhdGVnb3J5IGlkLjwvbGk+DQogIDxsaT48c3Ryb25nPm5hbWU8L3N0cm9uZz4gLS0gVGhlIGNhdGVnb3J5IG5hbWUuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NvcnR0eXBlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBkZWZhdWx0IHN1bW1hcnkgdmlldywgdGhpcyBwYXJhbWV0ZXIgaXMgdXNlZCB0byBjb252ZXJ0IHRoZSB2YWx1ZXMgdG8gYW5vdGhlciB0eXBlIGZvciBzb3J0aW5nLiAgdmFsaWQgdmFsdWVzIGFyZSBTVFJJTkcsU0lHTkVEIGFuZCBVTlNJR05FRC4gIElmIG5vdCBzdXBwbGllZCB0aGUgZGVmYXVsdCBTVFJJTkcgdHlwZSBpcyBhc3N1bWVkLic7CiRsYW5nWydwYXJhbV9zdW1tYXJ5cGFnZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgYWN0aW9uPWhpZXJhcmNoeSwgYWxsb3dzIHNwZWNpZnlpbmcgYSBwYWdlIGlkIG9yIGFsaWFzIHRoYXQgd2lsbCBiZSB1c2VkIGZvciBhbnkgbGlua3MgdG8gc3VtbWFyeSB2aWV3JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHN1bW1hcnkgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ0VsZW1lbnQgbmFkcnrEmWRueSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHXFgiBLYXRhbG9nIHByb2R1a3Qmb2FjdXRlO3cgem9zdGHFgiBwb215xZtsbmllIHphaW5zdGFsb3dhbnknOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHXFgiBLYXRhbG9nIHByb2R1a3Qmb2FjdXRlO3cgem9zdGHFgiBvZGluc3RhbG93YW55Lic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1VzdGF3aWVuaWEnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnVXN1bmnEmWNpZSB0ZWdvIG1vZHXFgnUgc3Bvd29kdWplIHVzdW5pxJljaWUgd3N6eXN0a2ljaCBkYW55Y2gga2F0YWxvZ3UuIEN6eSBuYXBld25vIGNoY2VzeiBrb250eW51b3dhxIc/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnQ2VuYSc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnWm1pYW5hIGNlbnknOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdQcm9kdWt0JzsKJGxhbmdbJ3Byb2R1Y3RuYW1lJ10gPSAnTmF6d2EgcHJvZHVrdHUnOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdQcm9kdWt0eSc7CiRsYW5nWydwcm9kdWN0X2RldGFpbF9zZXR0aW5ncyddID0gJ1VzdGF3aWVuaWEgc3pjemVnJm9hY3V0ZTvFgiZvYWN1dGU7dyBwcm9kdWt0Jm9hY3V0ZTt3JzsKJGxhbmdbJ3Byb2R1Y3RfZWRpdGluZ19zZXR0aW5ncyddID0gJ1VzdGF3aWVuaWEgZWR5Y2ppIHByb2R1a3Qmb2FjdXRlO3cnOwokbGFuZ1sncHJvZHVjdF9zdW1tYXJ5X3NldHRpbmdzJ10gPSAnVXN0YXdpZW5pYSB3aWRva3Ugb2cmb2FjdXRlO2xuZWdvJzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnSGllcmFyY2hpYSBwcm9kdWt0Jm9hY3V0ZTt3JzsKJGxhbmdbJ3Byb2R1Y3RfaW5mbyddID0gJ0luZm9ybWFjamUgbyBwcm9kdWtjaWUnOwokbGFuZ1sncHJvZHVjdF9tYW5hZ2VyJ10gPSAnS2F0YWxvZyBwcm9kdWt0Jm9hY3V0ZTt3JzsKJGxhbmdbJ3Byb2dyZXNzJ10gPSAnUHJvZ3Jlc3MnOwokbGFuZ1sncHJvbXB0J10gPSAnWmFjaMSZdGEnOwokbGFuZ1sncHJvbXB0X2FkZF9hdHRyaWJzZXQnXSA9ICdBZGQvRWRpdCBBdHRyaWJ1dGUgU2V0JzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ1Bvencmb2FjdXRlO2wgbmEgdXBsb2FkIHBsaWsmb2FjdXRlO3cgdGVnbyB0eXB1IChkbGEgcCZvYWN1dGU7bCB0eXB1IHBsaWspJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdQb3p3Jm9hY3V0ZTtsIG5hIHVwbG9hZCBvYnJhemsmb2FjdXRlO3cgdGVnbyB0eXB1IChkbGEgcCZvYWN1dGU7bCB0eXB1IG9icmF6ZWspJzsKJGxhbmdbJ3Byb21wdF9hdHRyaWJ0ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGZvciBkaXNwbGF5IG9mIHByb2R1Y3QgYXR0cmlidXRlIHZhbHVlcyBpbiBkcm9wZG93bic7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ1R3Jm9hY3V0ZTtyeiBhdXRvbWF0eWN6bmllIG1pbmlhdHVyeSBvYnJhemsmb2FjdXRlO3cnOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWxfc2l6ZSddID0gJ01ha3N5bWFsbnkgcm96bWlhciAobmFqZMWCdcW8c3p5IGJvaykgbWluaWF0dXJraS4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQXV0b21hdHljem5pZSB0dyZvYWN1dGU7cnogb2JyYXpraSBwb2dsxIVkb3dlJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZ19zaXplJ10gPSAnTWFrc3ltYWxueSByb3ptaWFyIChuYWpkxYJ1xbxzenkgYm9rKSBvYnJhemthIHBvZ2zEhWRvd2Vnby4nOwokbGFuZ1sncHJvbXB0X2F1dG93YXRlcm1hcmsnXSA9ICdBdXRvbWF0eWN6bmllIG5ha8WCYWRhaiB6bmFraSB3b2RuZSBuYSDFgmFkb3dhbmUgb2JyYXpraSc7CiRsYW5nWydwcm9tcHRfYXBwbGljYWJsZSddID0gJ1fFgsSFY3ogZG9tecWbbG5pZSBkbGEgbm93eWNoIHByb2R1a3Qmb2FjdXRlO3cnOwokbGFuZ1sncHJvbXB0X2JhdGNoc2l6ZSddID0gJ0JhdGNoIFNpemUnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlJ10gPSAnQ2FydCBNb2R1bGUnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0NhcnQgTW9kdWxlIFBhcmFtZXRlcnMnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdDcmVhdGUgQ2F0ZWdvcmllcyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlZmllbGRzJ10gPSAnQ3JlYXRlIFByb2R1Y3QgRmllbGRzPyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlaGllcmFyY2h5J10gPSAnQ3JlYXRlIFByb2R1Y3QgSGllcmFyY2h5JzsKJGxhbmdbJ3Byb21wdF9jc3ZmaWxlJ10gPSAnV2dyYWogcGxpayBDU1YnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ0tvZCB3YWx1dHknOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5c3ltYm9sJ10gPSAnU3ltYm9sIHdhbHV0eSc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICdEb215xZtsbnkgc3RhdHVzIHdzenlzdGtpY2ggbm93eWNoIHByb2R1a3Qmb2FjdXRlO3cnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfdGF4YWJsZSddID0gJ0RvbXnFm2xuaWUgd3N6eXN0a2llIG5vd2UgcHJvZHVrdHkgc8SFIG9wb2RhdGtvd2FuZSc7CiRsYW5nWydwcm9tcHRfZGVsZXRlcHJvZHVjdGZpbGVzJ10gPSAnU2thc293YcSHIHdzenlzdGtpZSBwbGlraSB6d2nEhXphbmUgeiBwcm9kdWt0ZW0gZ2R5IGplc3Qgb24ga2Fzb3dhbnk/JzsKJGxhbmdbJ3Byb21wdF9kZWxpbWl0ZXInXSA9ICdGaWVsZCBEZWxpbWl0ZXInOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdEb215xZtsbmEgc3Ryb25hIHdpZG9rdSBzemN6ZWcmb2FjdXRlO8WCb3dlZ28nOwokbGFuZ1sncHJvbXB0X2RldGFpbHNmb3InXSA9ICdEZXRhaWxzIGZvciAlcyc7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdIb3cgdG8gaGFuZGxlIGR1cGxpY2F0ZSBwcm9kdWN0cz8nOwokbGFuZ1sncHJvbXB0X2ZhbHNlJ10gPSAnRmHFgnN6JzsKJGxhbmdbJ3Byb21wdF9oYW5kbGVpbWFnZXMnXSA9ICdIYW5kbGUgaW1hZ2VzPyc7CiRsYW5nWydwcm9tcHRfaW1hZ2VwYXRoJ10gPSAnSW1hZ2UgUGF0aCc7CiRsYW5nWydwcm9tcHRfbGVuZ3RodW5pdHMnXSA9ICdKZWRub3N0a2kgbWlhcnknOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2JlaGF2aW9yJ10gPSAnQ28genJvYmnEhywgamXFvGVsaSBwcm9kdWt0IG5pZSBtb8W8ZSB6b3N0YcSHIHd5xZt3aWV0bG9ueT8nOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kXzQwNCddID0gJ0dlbmVydWogYsWCxIVkIDQwNCc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfMzAxJ10gPSAnR2VuZXJ1aiBwcnpla2llcm93YW5pZSAzMDEnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2Vycm9ybXNnJ10gPSAnV3nFm3dpZXRsIHdpYWRvbW/Fm8SHIG8gYsWCxJlkemllJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9tc2cnXSA9ICdFcnJvciBtZXNzYWdlIGZvciB3aGVuIGEgcHJvZHVjdCBjYW5ub3QgYmUgZm91bmQnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX3BhZ2UnXSA9ICdQYWdlIHRvIGRvIHBlcm1hbmVudCByZWRpcmVjdCB0bz8nOwokbGFuZ1sncHJvbXB0X2hpZXJwYWdlJ10gPSAnRG9tecWbbG5hIHN0cm9uYSBkbGEgd2lkb2t1IGhpZXJhcmNoaWknOwokbGFuZ1sncHJvbXB0X3ByZXR0eWhpZXJ1cmxzJ10gPSAnVXNlIFByZXR0eSBVUkxTIHRvIEhpZXJhcmNoeSBWaWV3cyc7CiRsYW5nWydwcm9tcHRfcHJvZF9kZXRhaWxwYWdlJ10gPSAnRGVmYXVsdCBQYWdlIGZvciBQcm9kdWN0IERldGFpbCBWaWV3cyc7CiRsYW5nWydwcm9tcHRfcHJvZHVjdHNfbWF0Y2hpbmcnXSA9ICdQcm9kdWN0cyBtYXRjaGluZyAlcyc7CiRsYW5nWydwcm9tcHRfc2t1X3JlcXVpcmVkJ10gPSAnU0tVIGlzIHJlcXVpcmVkIGZvciBhbGwgcHJvZHVjdHMgYW5kIGF0dHJpYnV0ZXMnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlwYWdlbGltaXQnXSA9ICdEb215xZtsbnkgbGltaXQgc3Ryb24gdyB3aWRva3UgcG9kc3Vtb3dhbmlhJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAnRG9tecWbbG5hIGtvbGVqbm/Fm8SHIHNvcnRvd2FuaWEgdyB3aWRva3UgbGlzdHknOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0aW5nJ10gPSAnRG9tecWbbG5lIHBvbGUgdcW8eXdhbmUgZG8gc29ydG93YW5pYSB3IHdpZG9rdSBsaXN0eSc7CiRsYW5nWydwcm9tcHRfdGVtcGxhdGUnXSA9ICfFuXImb2FjdXRlO2TFgm8gc3phYmxvbnUnOwokbGFuZ1sncHJvbXB0X3RydWUnXSA9ICdQcmF3ZGEnOwokbGFuZ1sncHJvbXB0X3VybHByZWZpeCddID0gJ1ByZWZpeCB0byB1c2Ugb24gYWxsIFVSTFMgdGFyZ2V0ZWQgdG8gdGhpcyB0aGlzIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfdXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCddID0gJ1VzZSB0aGlzIHBhZ2UgZm9yIHNlYXJjaCByZXN1bHRzIHRvbyA8ZW0+KG92ZXJyaWRlcyB0aGUgc2VhcmNocmVzdWx0cyBwYWdlIHBhcmFtZXRlciBpbiB0aGUgc2VhcmNoIG1vZHVsZSk8L2VtPic7CiRsYW5nWydwcm9tcHRfdXNlaGllcnBhdGh1cmxzJ10gPSAnVXNlIEhpZXJhcmNoeSBQYXRoIGluIFByb2R1Y3QgRGV0YWlsIFVSTFMnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnSmVkbm9zdGkgd2FnaSc7CiRsYW5nWydwdWJsaWMnXSA9ICdDenkgdG8gamVzdCBwb2xlIGRvc3TEmXBuZSBkbGEgd3N6eXN0a2ljaD8nOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnT3B1Ymxpa293YW55JzsKJGxhbmdbJ3F1YW50aXR5X29uX2hhbmQnXSA9ICdEb3N0xJlwbmEgaWxvxZvEhyB3IG1hZ2F6eW5pZSc7CiRsYW5nWydyYW5kb20nXSA9ICdMb3Nvd3knOwokbGFuZ1sncmVvcmRlcl9oaWVyYXJjaHknXSA9ICdabWllxYQga29sZWpub8WbxIcgaGllcmFyY2hpaSc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ1Byenl3ciZvYWN1dGU7xIcgd2FydG/Fm2NpIGRvbXnFm2xuZSc7CiRsYW5nWydyZXR1cm4nXSA9ICdQb3dyJm9hY3V0ZTt0JzsKJGxhbmdbJ3JldHVybl90b190b3AnXSA9ICdSZXR1cm4gdG8gdGhlIHRvcCBvZiB0aGUgdmlldyc7CiRsYW5nWydyb290J10gPSAnR8WCJm9hY3V0ZTt3bnknOwokbGFuZ1snc2VhcmNoX2Rlc2NyaXB0aW9uJ10gPSAnU2VhcmNoIFByb3BlcnR5IERlc2NyaXB0aW9uJzsKJGxhbmdbJ3NlYXJjaF9leHByJ10gPSAnU2hvdWxkIHRoZSBxdWVyeSBtYXRjaCBhbGwsIG9yIGFueSBvZiB0aGUgdGVzdHMgYmVsb3c/JzsKJGxhbmdbJ3NlYXJjaF9uYW1lJ10gPSAnU2VhcmNoIFByb3BlcnR5IE5hbWUnOwokbGFuZ1snc2VhcmNoX3ByaWNlJ10gPSAnUHJpY2UgUmFuZ2UnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IFNlYXJjaCBGb3JtIFRlbXBsYXRlJzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlcyddID0gJ1NlYXJjaCBUZW1wbGF0ZXMnOwokbGFuZ1snc2VsZWN0X2FsbCddID0gJ1phem5hY3ogd3N6eXN0a2llJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdXeWJpZXJ6IG9wY2rEmSc7CiRsYW5nWydzZXRkcmFmdCddID0gJ1VzdGF3IGpha28ga29waWEgcm9ib2N6YSc7CiRsYW5nWydzZXRwdWJsaXNoZWQnXSA9ICdVc3RhdyBqYWtvIG9wdWJsaWtvd2FuZSc7CiRsYW5nWydza3UnXSA9ICdTS1UgJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdTb3J0dWogcG8nOwokbGFuZ1snc29ydF9vcmRlciddID0gJ0tvbGVqbm/Fm8SHIHNvcnRvd2FuaWEnOwokbGFuZ1snc291cmNlJ10gPSAnU291cmNlJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyAnOwokbGFuZ1snc3VibWl0J10gPSAnWmFwaXN6JzsKJGxhbmdbJ3N1YnNjcmlwdGlvbiddID0gJ1N1YnNjcmlwdGlvbic7CiRsYW5nWydzdWJzY3JfZXhwaXJ5J10gPSAnRXhwaXJ5JzsKJGxhbmdbJ3N1YnNjcl9leHBpcnkyJ10gPSAnRXhwaXJlcyc7CiRsYW5nWydzdWJzY3JfbW9udGhseSddID0gJ01vbnRobHknOwokbGFuZ1snc3Vic2NyX2RlbHBlcmlvZCddID0gJ0RlbGl2ZXJ5IEZyZXF1ZW5jeSc7CiRsYW5nWydzdWJzY3JfZGVscGVyaW9kMiddID0gJ0RlbGlldmVyZWQnOwokbGFuZ1snc3Vic2NyX3BheXBlcmlvZCddID0gJ1BheW1lbnQgRnJlcXVlbmN5JzsKJGxhbmdbJ3N1YnNjcl9wYXlwZXJpb2QyJ10gPSAnUGFpZCc7CiRsYW5nWydzdWJzY3JfcXVhcnRlcmx5J10gPSAnUXVhcnRlcmx5JzsKJGxhbmdbJ3N1YnNjcl9zZW1pYW51YWxseSddID0gJ1NlbWkgQW51YWxseSc7CiRsYW5nWydzdWJzY3JfeWVhcmx5J10gPSAnWWVhcmx5JzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTemFibG9ueSBsaXN0JzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnRG9kYWovZWR5dHVqIHN6YWJsb24gbGlzdHknOwokbGFuZ1sndGF4YWJsZSddID0gJ09wb2RhdGtvd2FueSc7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdCc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1BvbGUgdGVrc3Rvd2UgKHRleHRhcmVhKSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnUG9sZSB0ZWtzdG93ZSc7CiRsYW5nWyd0aXRsZV9ieWhpZXJhcmNoeV9kZmx0dGVtcGxhdGUnXSA9ICdEb215xZtsbnkgbm93eSBzemFibG9uIHJhcG9ydHUgaGllcmFyY2hpaSc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnRG9tecWbbG55IG5vd3kgc3phYmxvbiBsaXN0eSBrYXRlZ29yaWknOwokbGFuZ1sndGl0bGVfZGV0YWlsX2RmbHR0ZW1wbGF0ZSddID0gJ0RvbXnFm2xueSBub3d5IHN6YWJsb24gd2lkb2t1IHN6Y3plZyZvYWN1dGU7xYJvd2Vnbyc7CiRsYW5nWyd0aXRsZV9zZWFyY2hfZGZsdHRlbXBsYXRlJ10gPSAnRG9tecWbbG55IG5vd3kgc3phYmxvbiB3eXN6dWtpd2Fya2knOwokbGFuZ1sndGl0bGVfc3VtbWFyeV9kZmx0dGVtcGxhdGUnXSA9ICdEb215xZtsbnkgbm93eSBzemFibG9uIHdpZG9rdSBsaXN0eSc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ3VwJ10gPSAnUHJ6ZXN1xYQgZG8gZyZvYWN1dGU7cnknOwokbGFuZ1sndXBkYXRlJ10gPSAnQWt0dWFsaXp1aic7CiRsYW5nWyd1cGxvYWQnXSA9ICdXeWJpZXJ6IHBsaWsnOwokbGFuZ1sndXJsX2FsaWFzJ10gPSAnQWxpYXMgVVJMJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnUG9wcmF3bnknOwokbGFuZ1sndmFsdWUnXSA9ICdXYXJ0b8WbxIcnOwokbGFuZ1sndmFsdWVzJ10gPSAnV2FydG/Fm2NpJzsKJGxhbmdbJ3ZpZXcnXSA9ICdab2JhY3onOwokbGFuZ1sndmlld2FibGVfZmllbGRzJ10gPSAnU2VsZWN0IGN1c3RvbSBmaWVsZHMgdG8gdmlldyBpbiB0aGUgdGFibGUnOwokbGFuZ1snd2F0ZXJtYXJrX2xvY2F0aW9uJ10gPSAnxZpjaWXFvGthIGRvIHBsaWt1IHplIHpuYWtpZW0gd29kbnltJzsKJGxhbmdbJ3dlaWdodCddID0gJ1dhZ2EnOwokbGFuZ1snd2l0aF9zZWxlY3RlZCddID0gJ1phem5hY3pvbmUnOwokbGFuZ1sneWVzJ10gPSAnVGFrJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTEzMTgyMTM3MzktMTI3NTY2ODM3MTMwMyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE4NzM0OTYyODMuMTI5NDM0MDc2Mi4xMjk0MzQwNzYyLjEyOTQzNDA3NjIuMSc7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FiYnJfbGVuZ3RoJ10gPSAnTCAnOwokbGFuZ1snYWJicl93aWR0aCddID0gJ1cgJzsKJGxhbmdbJ2FiYnJfaGVpZ2h0J10gPSAnSCAnOwokbGFuZ1snYWRkJ10gPSAnQWRpY2lvbmFyJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnQWRpY2lvbmFyIENhdGVnb3JpYSc7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0FkaWNpb25hciBDYW1wbyc7CiRsYW5nWydhZGp1c3RhYmxlJ10gPSAnQWRqdXN0JmFhY3V0ZTt2ZWwnOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ0FkaWNpb25hciBQcm9kdXRvJzsKJGxhbmdbJ2FkZF9hdHRyaWJfc2V0J10gPSAnQWRpY2lvbmFyIEF0cmlidXRvJzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ0NhbXBvIEFzc29jaSZhYWN1dGU7dmVsIGNvbSBhIENhdGVnb3JpYTogJnF1b3Q7JXMmcXVvdDsnOwokbGFuZ1snYWRkX2hpZXJhcmNoeV9pdGVtJ10gPSAnQWRpY2lvbmFyIEl0ZW0gJmFncmF2ZTsgSGllcmFycXVpYSc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnQWRpY2lvbmFyIE9wJmNjZWRpbDsmYXRpbGRlO28gZGUgQXRyaWJ1dG8nOwokbGFuZ1snYWRtaW5fb25seSddID0gJ1Mmb2FjdXRlOyBhcGVuYXMgQWRtaW4mIzAzOTtzIHBvZGVtIHZpc3VhbGl6YXIgZXN0ZSBhdHJpYnV0bz8nOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdUb3BvIEVzcXVlcmRhJzsKJGxhbmdbJ2FsaWduX3VjJ10gPSAnVG9wbyBDZW50cm8nOwokbGFuZ1snYWxpZ25fdXInXSA9ICdUb3BvIERpcmVpdGEnOwokbGFuZ1snYWxpZ25fbWwnXSA9ICdNZWlvIEVzcXVlcmRhJzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnQ2VudHJvJzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnTWVpbyBEaXJlaXRhJzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnQmFpeG8gRXNxdWVyZGEnOwokbGFuZ1snYWxpZ25fbGMnXSA9ICdCYWl4byBDZW50cm8nOwokbGFuZ1snYWxpZ25fbHInXSA9ICdCYWl4byBEaXJlaXRhJzsKJGxhbmdbJ2FsbCddID0gJ1RvZG9zJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdUb2RhcyBhcyBDYXRlZ29yaWFzJzsKJGxhbmdbJ2FueSddID0gJ1F1YWxxdWVyJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdUZW0gYSBjZXJ0ZXphPyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXByb2R1Y3QnXSA9ICdUZW0gY2VydGV6YSBxdWUgZGVzZWphIGFwYWdhciBlc3RlIHByb2R1dG8sIGJlbSBjb21vIG8gYWNvbXBhbmhhbWVudG8gZGUgdG9kYXMgYXMgaW5mb3JtYSZjY2VkaWw7Jm90aWxkZTtlcyByZWZlcmVudGVzIGFvIG1lc21vPyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdBc2NlbmRlbnRlJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnQXRyaWJ1dG8gTm9tZSc7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICdBdXRvbSZhYWN1dGU7dGljbyc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlcyddID0gJ0hpZXJhcnF1aWEgUmVsYXQmb2FjdXRlO3JpbyB0ZW1wbGF0ZXMnOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWRpY2lvbmFyL0VkaXRhciBIaWVyYXJxdWlhIFJlbGF0Jm9hY3V0ZTtyaW8gdGVtcGxhdGVzJzsKJGxhbmdbJ2NhbmNlbCddID0gJ0NhbmNlbGFyJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdDYXRlZ29yaWFzJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnQ2F0ZWdvcmlhJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAnTyBub21lIGRhIGNhdGVnb3JpYSBqJmFhY3V0ZTsgZXhpc3RlJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ1RlbXBsYXRlcyBMaXN0YSBkZSBDYXRlZ29yaWFzJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZGljaW9uYXIvRWRpdGFyIFRlbXBsYXRlcyBMaXN0YSBkZSBDYXRlZ29yaWFzJzsKJGxhbmdbJ2NlbnRpbWV0ZXJzJ10gPSAnQ2VudCZpYWN1dGU7bWV0cm9zJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2FpeGEgZGUgVmVyaWZpY2EmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9oaWVyYXJjaHlfbm9kZSddID0gJ1RlbSBjZXJ0ZXphIGRlIHF1ZSBkZXNlamEgZXhjbHVpciBlc3RlIG4mb2FjdXRlOz8gUXVhbHF1ZXIgcHJvZHV0byBxdWUgZXN0ZWphIGEgdXNhciBlc3RlIG4mb2FjdXRlOyBzZXImYWFjdXRlOyBjb25maWd1cmFkbyBwYXJhIG4mYXRpbGRlO28gdXNhcmVtIGhpZXJhcnF1aWEnOwokbGFuZ1snY29uZmlybV9pbXBvcnQnXSA9ICdUZW0gY2VydGV6YSBkZSBxdWUgcmVhbG1lbnRlIHF1ZXIgZmF6ZXIgaXNzbz9cblxuQ29uZmlndXJhJmNjZWRpbDsmb3RpbGRlO2VzIGltcHJvcHJpYXMgb3UgaW52JmFhY3V0ZTtsaWRhcyBwb2RlciZhYWN1dGU7IGhhdmVyIGNvbXBsZXRhbWVudGUgdW1hIGNvcnJ1cCZjY2VkaWw7JmF0aWxkZTtvIG5vIHNpc3RlbWEgYWN0dWFsbWVudGUgZW0gdmlnb3IuJzsKJGxhbmdbJ2NvcHknXSA9ICdDb3BpYXInOwokbGFuZ1snY29weV9jYXRlZ29yeSddID0gJ0NvcGlhciBDYXRlZ29yaWEnOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdEYXRhIGRhIENyaWEmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWydjdXJyZW50X3ZhbHVlJ10gPSAnVmFsb3IgQWN0dWFsJzsKJGxhbmdbJ2RhdGEnXSA9ICdEYXRhICc7CiRsYW5nWydkZWZhdWx0J10gPSAnUGFkciZhdGlsZGU7byc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAnVGVtcGxhdGVzIFBhZHImYXRpbGRlO28nOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk5vdGE6PC9zdHJvbmc+IE8gY29udGUmdWFjdXRlO2RvIGRlc3RhcyAmYWFjdXRlO3JlYXMgdGV4dG9zICBzJmF0aWxkZTtvIHVzYWRhcyBwYXJhIGRldGVybWluYXIgbyBjb250ZSZ1YWN1dGU7ZG8gZG9zIHRlbXBsYXRlcyBwYWRyJmF0aWxkZTtvIHF1YW5kbyBjbGljYXIgZW0gJnF1b3Q7QWRpY2lvbmFyIFRlbXBsYXRlJnF1b3Q7IG5hIFRhYiBhcHJvcHJpYWRhLiBFZGl0YW5kbyB1bWEgZGVzdGFzICZhYWN1dGU7cmVhcyBkZSB0ZXh0byBuJmF0aWxkZTtvIHRlciZhYWN1dGU7IGVmZWl0b3MgaW1lZGlhdG9zIG5vIHNldSBzaXRlLic7CiRsYW5nWydkZWxldGUnXSA9ICdFbGltaW5hcic7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnRWxpbWluYXIgQXRyaWJ1dG8nOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnRWxpbWluYXIgSGllcmFycXVpYSBJdGVtJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdEZXNjZW5kZW50ZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ0Rlc2NyaSZjY2VkaWw7JmF0aWxkZTtvJzsKJGxhbmdbJ2RldGFpbHMnXSA9ICdEZXRhbGhlcyc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICdUZW1wbGF0ZXMgRGV0YWxoZXMnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkaWNpb25hci9FZGl0YXIgVGVtcGxhdGVzIERldGFsaGVzJzsKJGxhbmdbJ2RpbWVuc2lvbnMnXSA9ICdEaW1lbnMmb3RpbGRlO2VzJzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnRGVzYXRpdmFkbyc7CiRsYW5nWydkcmFmdCddID0gJ1Jhc2N1bmhvJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnTWVudSBNJnVhY3V0ZTtsdGlwbG8gKERyb3Bkb3duKSc7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnTWVudSBNJnVhY3V0ZTtsdGlwbG8gKERyb3Bkb3duKSA8ZW0+KGFwbGljYXIgcyZvYWN1dGU7IGNhbXBvcyBNZW51IE0mdWFjdXRlO2x0aXBsbyAoRHJvcGRvd24pICk8L2VtPjxici8+PGJyLz48ZW0+KHVtYSBlbnRyYWRhIHBvciBsaW5oYSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnRWRpdGFyICc7CiRsYW5nWydlZGl0X2F0dHJpYnNldCddID0gJ0VkaXRhciBBdHJpYnV0byc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICdFZGl0YXIgRGVmaW5pJmNjZWRpbDsmb3RpbGRlO2VzIGRlIEF0cmlidXRvcyc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHNfZm9yJ10gPSAnRWRpdGFyIERlZmluaSZjY2VkaWw7Jm90aWxkZTtlcyBkZSBBdHJpYnV0b3MgUGFyYSc7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdFZGl0YXIgQXRyaWJ1dG9zJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdFZGl0YXIgQ2F0ZWdvcmlhJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnlfZmllbGRzJ10gPSAnRWRpdGFyIENhdGVnb3JpYSBDYW1wb3MnOwokbGFuZ1snZWRpdF9oaWVyYXJjaHlfaXRlbSddID0gJ0VkaXRhciBIaWVyYXJxdWlhIEl0ZW0nOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ1VtIGF0cmlidXRvIGNvbSBlc3NlIG5vbWUgaiZhYWN1dGU7IGV4aXN0ZSc7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVfc2t1J10gPSAnVmFsb3IgU0tVIGR1cGxpY2FkbyBmb2kgZW5jb250cmFkbyc7CiRsYW5nWydlcnJvcl9maWVsZHZhbHVlX2VtcHR5J10gPSAnTyB2YWxvciBkbyBDYW1wbyBuJmF0aWxkZTtvIHBvZGUgZXN0YXIgdmF6aW8nOwokbGFuZ1snZXJyb3JfZmlsZWZvcm1hdCddID0gJ1Byb2JsZW1hIGNvbSBvIGZvcm1hdG8gZG8gZmljaGVpcm8nOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnRmljaGVpcm8gTiZhdGlsZGU7byBFbmNvbnRyYWRvJzsKJGxhbmdbJ2Vycm9yX2ZpbGVvcGVuJ10gPSAnUHJvYmxlbWEgYW8gYWJyaXIgbyBmaWNoZWlybyAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnUGFyZW50ZSBJbnYmYWFjdXRlO2xpZG8gIChvIG5vZGUgZGUgSGllcmFycXVpYSAgbiZhdGlsZGU7byBwb2RlIHNlciwgJmVhY3V0ZTsgbyBwciZvYWN1dGU7cHJpbyknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9uYW1lJ10gPSAnTyB2YWxvciBkbyBjYW1wbyBwZXJzb25hbGl6YWRvIGRpZ2l0YWRvICZlYWN1dGU7IGludiZhYWN1dGU7bGlkbyAobiZhdGlsZGU7byBjb250JmVhY3V0ZTttIGNhcmFjdGVyZXMgYWxmYW51bSZlYWN1dGU7cmljb3MpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1VtIHBhciZhY2lyYzttZXRybyBvYnJpZ2F0Jm9hY3V0ZTtyaW8gZXN0JmFhY3V0ZTsgYXVzZW50ZSBvdSAmZWFjdXRlOyBpbnYmYWFjdXRlO2xpZG8nOwokbGFuZ1snZXJyb3JfbmFtZXVzZWQnXSA9ICdVbSBpdGVtIGNvbSBlc3NlIG5vbWUgaiZhYWN1dGU7IGVzdCZhYWN1dGU7IGVtIHVzbyc7CiRsYW5nWydlcnJvcl9ub2ZpZWxkdHlwZSddID0gJ1BvciBGYXZvciBzZWxlY2lvbmUgdW0gdGlwbyBkZSBjYW1wbyc7CiRsYW5nWydlcnJvcl9ub25hbWUnXSA9ICdZb3UgZGV2ZSBmb3JuZWNlciB1bSBub21lJzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnXSA9ICdQZXJtaXNzJmF0aWxkZTtvIE5lZ2FkYSc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X2FsaWFzdXNlZCddID0gJ08gYWxpYXMgZXNwZWNpZmljYWRvIGomYWFjdXRlOyBlc3QmYWFjdXRlOyBlbSB1c28nOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9uYW1ldXNlZCddID0gJ1VtIHByb2R1dG8gcG9yIGVzc2Ugbm9tZSBqJmFhY3V0ZTsgZXhpc3RlJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3Rfbm90Zm91bmQnXSA9ICdPIHByb2R1dG8gc29saWNpdGFkbyBuJmF0aWxkZTtvIHAmb2NpcmM7ZGUgc2VyIGVuY29udHJhZG8nOwokbGFuZ1snZXJyb3JfcHJvZHVjdF9za3V1c2VkJ10gPSAnU0tVIGNvbSBlc3RlIHZhbG9yIGomYWFjdXRlOyBlc3QmYWFjdXRlOyBlbSB1c28gZW0gdW0gb3V0cm8gcHJvZHV0byc7CiRsYW5nWydlcnJvcl9wcmljZV9hZGp1c3RtZW50J10gPSAnTyB2YWxvciBhanVzdGFkbyBkbyBwcmUmY2NlZGlsO28gJmVhY3V0ZTsgaW52JmFhY3V0ZTtsaWRvIHBhcmEgbyBpdGVtICVzJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICdDYXJyZWdhbWVudG8gZmFsaG91OiAlcyc7CiRsYW5nWydleHRyYTEnXSA9ICdDYW1wbyBFeHRyYSAxJzsKJGxhbmdbJ2V4dHJhMiddID0gJ0NhbXBvIEV4dHJhIDInOwokbGFuZ1snZmllbGQnXSA9ICdDYW1wbyc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0RlZmluaSZjY2VkaWw7JmF0aWxkZTtvIGRvIENhbXBvJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ0RlZmluaSZjY2VkaWw7Jm90aWxkZTtlcyBkb3MgQ2FtcG9zJzsKJGxhbmdbJ2ZpbGUnXSA9ICdBcnF1aXZvJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0cm9zJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdDb25maWd1cmEmY2NlZGlsOyZvdGlsZGU7ZXMgR2VyYWlzJzsKJGxhbmdbJ2dvJ10gPSAnSXInOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFycXVpYSc7CiRsYW5nWydoaWVyYXJjaHlfcG9zaXRpb24nXSA9ICdQb3NpJmNjZWRpbDsmYXRpbGRlO28gcG9yIEhpZXJhcnF1aWEgJzsKJGxhbmdbJ2lkJ10gPSAnSUQnOwokbGFuZ1snaW1hZ2V0ZXh0J10gPSAnSW1hZ2VtJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX3NldHRpbmdzJ10gPSAnRGVmaW5pJmNjZWRpbDsmb3RpbGRlO2VzIERlIEltYWdlJzsKJGxhbmdbJ2ltcG9ydF9mcm9tX2NzdiddID0gJ0ltcG9ydGEmY2NlZGlsOyZhdGlsZGU7byBkZSBQcm9kdXRvcyBwb3IgQ1NWJzsKJGxhbmdbJ2luY2hlcyddID0gJ1BvbGVnYWRhcyc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnSW5jbHVpciBGaWxob3M/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnU29tZW50ZSBjYXJhY3RlcmVzIGFsZmFudW0mZWFjdXRlO3JpY29zLiBOJmF0aWxkZTtvIGFjZWl0YSBlc3BhJmNjZWRpbDtvcyBlbSBicmFuY28sIGFzcGFzLCBvdSBsZXRyYS9uJnVhY3V0ZTttZXJvIHNlbSBjb21iaW5hJmNjZWRpbDsmb3RpbGRlO2VzJzsKJGxhbmdbJ2luZm9fYXR0cmlidGVtcGxhdGUnXSA9ICdQb3NzJmlhY3V0ZTt2ZWlzIHZhcmkmYWFjdXRlO3ZlaXMgcyZhdGlsZGU7bzogeyRhdHRyaWJfdGV4dH0seyRhdHRyaWJfYWRqdXN0fSx7JGN1cnJlbmN5X3N5bWJvbH0nOwokbGFuZ1snaW5mb19hdXRvd2F0ZXJtYXJrJ10gPSAnRGVmaW5pJmNjZWRpbDsmb3RpbGRlO2VzIFdhdGVybWFyayBzJmF0aWxkZTtvIHJlYWxpemFkYXMgYSBwYXJ0aXIgZG8gTSZvYWN1dGU7ZHVsbyBDR0V4dGVuc2lvbnMnOwokbGFuZ1snaW5mb19iYXRjaHNpemUnXSA9ICdEZWZpbmlyIG8gbiZ1YWN1dGU7bWVybyBkZSBsaW5oYXMgYSBwcm9jZXNzbyBwb3IgJnF1b3Q7bG90ZSZxdW90Oy4gT3BlcmEmY2NlZGlsOyZvdGlsZGU7ZXMgYXAmb2FjdXRlO3MgdW0gbG90ZSBzZXIgY29tcGxldG8sIG8gaW1wb3J0YWRvciBpciZhYWN1dGU7IHJlZGlyZWNjaW9uYXIsIGUgcmV0b21hciBhcyBvcGVyYSZjY2VkaWw7Jm90aWxkZTtlcy4gU2UgZXN0JmFhY3V0ZTsgY29tIGVycm9zIGRlIG1lbSZvYWN1dGU7cmlhLCBvdSBwcm9ibGVtYXMgZGUgJnF1b3Q7dGltZW91dCZxdW90OyBkZXZpZG8gYSBncmFuZGUgcXVhbnRpZGFkZSBkZSBwcm9jZXNzYW1lbnRvLCBwb2RlIHByZWNpc2FyIGRlIGNvbnN1bHRhciBvIHNldSBwcm92ZWRvciBkZSBob3NwZWRhZ2VtLCBvdSByZWR1emlyIGVzdGUgbiZ1YWN1dGU7bWVybyc7CiRsYW5nWydpbmZvX2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0Vzc2VzIHBhciZhY2lyYzttZXRyb3MgcyZhdGlsZGU7byBpbmRpY2Fkb3MgcGFyYSBvIG0mb2FjdXRlO2R1bG8gQ2FycmluaG8gc2VsZWNjaW9uYWRvIGRvIHByb2R1dG8gZGV0YWxoZSBlIGV4aWJlIHN1bSZhYWN1dGU7cmlvJzsKJGxhbmdbJ2luZm9fY3JlYXRlZmllbGRzJ10gPSAnQ3JpYXIgY2FtcG9zIGRlIHByb2R1dG8gZGVzY29uaGVjaWRvIGF1dG9tYXRpY2FtZW50ZT8gPGVtPiAoRWxlcyBzZXImYXRpbGRlO28gY3JpYWRvcyBjb21vIGNhbXBvcyBkZSB0ZXh0bykgPC9lbT4nOwokbGFuZ1snaW5mb19jcmVhdGVjYXRlZ29yaWVzJ10gPSAnQ3JpYXIgYXV0b21hdGljYW1lbnRlIGFzIGNhdGVnb3JpYXMgZGUgcHJvZHV0b3MgcGFyYSBjb2luY2lkaXIgY29tIGFzIGRvIGFycXVpdm8gQ1NWLCBzZSBuJmF0aWxkZTtvIGV4aXN0aXIgYWluZGEnOwokbGFuZ1snaW5mb19jcmVhdGVoaWVyYXJjaHknXSA9ICdDcmlhciBhdXRvbWF0aWNhbWVudGUgYXMgIGhpZXJhcnF1aWFzIGRlIHByb2R1dG9zIHBhcmEgY29pbmNpZGlyIGNvbSBhcyBkbyBhcnF1aXZvIENTViwgc2UgbiZhdGlsZGU7byBleGlzdGlyIGFpbmRhJzsKJGxhbmdbJ2luZm9fZGVjaW1hbF91bml0cyddID0gJ0VzdGUgc2lzdGVtYSBjb21wcmVlbmRlICguKSBDb21vIG8gcG9udG8gZGVjaW1hbCBzZXBhcmFkb3IuIG91IHNlamE6IDxzdHJvbmc+IDUuMjUgPC9zdHJvbmc+JzsKJGxhbmdbJ2luZm9fZGVsaW1pdGVyJ10gPSAnRXNwZWNpZmlxdWUgbyBjYXImYWFjdXRlO2N0ZXIgKG91IGNhcmFjdGVyZXMpIHF1ZSBzZXBhcmFtIGNhZGEgY2FtcG8nOwokbGFuZ1snaW5mb19kdXBsaWNhdGVwcm9kdWN0cyddID0gJ0VzcGVjaWZpY2FyIGNvbW8gbyBzaXN0ZW1hIGRldmUgdHJhdGFyIHVtIHByb2R1dG8gZW0gcXVlIG8gbm9tZSBqJmFhY3V0ZTsgZXhpc3RlIG5vIGFycXVpdm8gQ1NWJzsKJGxhbmdbJ2luZm9fZmllbGRkZWZzX3RhYiddID0gJzxzdHJvbmc+Tm90YTogPC9zdHJvbmc+VG9kb3Mgb3MgY2FtcG9zIGRlZmluaWRvcyBlc3QmYXRpbGRlO28gYXF1aSBkaXNwb24maWFjdXRlO3ZlaXMgcGFyYSB0b2RvcyBvcyBwcm9kdXRvcy4nOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnRm9yYW0gZW5jb250cmFkb3MgcHJvYmxlbWFzIHF1YW5kbyBzZSB0cmF0YSBkZSB1bSBvdSBtYWlzIGNhbXBvcyBwZXJzb25hbGl6YWRvcy4gQSBhYyZjY2VkaWw7JmF0aWxkZTtvIGZvaSBjb25jbHUmaWFjdXRlO2RhIGNvbSBzdWNlc3NvLCBubyBlbnRhbnRvIHZvYyZlY2lyYzsgZGV2ZXImYWFjdXRlOyBpbnZlc3RpZ2FyIGUgY29ycmlnaXIgZXN0ZXMgcHJvYmxlbWFzJzsKJGxhbmdbJ2luZm9faGFuZGxlaW1hZ2VzJ10gPSAnQXAmb2FjdXRlO3MgYSBpbXBvcnRhJmNjZWRpbDsmYXRpbGRlO28sIHNlIHVtIGFycXVpdm8gZGUgaW1hZ2VtIGZvciBlbmNvbnRyYWRhIGVtIHVtYSBjb2x1bmEgZGUgY2FtcG8sIGVsYSBkZXZlIHNlciB0cmFuc2ZlcmlkYSBkbyBsb2NhbCBkZSBvcmlnZW0sIG1hcmNhIGRlICZhYWN1dGU7Z3VhLCBtaW5pYXR1cmFzLCBlIG8gdGlwbyBkZSBjYW1wbyBhbHRlcmFkbyBwYXJhIGEgJnF1b3Q7aW1hZ2VtJnF1b3Q7JzsKJGxhbmdbJ2luZm9faW1hZ2VwYXRoJ10gPSAnTyBjYW1pbmhvIChyZWxhdGl2byBhbyBkaXJlY3Qmb2FjdXRlO3JpbyBkZSAvdXBsb2FkcykgZW0gcXVlIGFzIGltYWdlbnMgcmVmZXJpZGFzIG5vIGFycXVpdm8gZGUgaW1wb3J0YSZjY2VkaWw7JmF0aWxkZTtvLCBwb2RlbSBzZXIgZW5jb250cmFkYXMnOwokbGFuZ1snaW5mb19pbXBvcnRfdGVzdF9wYXNzZWQnXSA9ICdVbSB0ZXN0ZSBicmV2ZSAgZm9pIHJlYWxpemFkbyBuYSBlbnRyYWRhIGRvIGNhbXBvIGVzcGVjaWZpY2FkbywgZSB0dWRvIHBhcmVjZSBlc3RhciBjb3JyZXRvLiA8YnIvPiBFc3RlIG4mYXRpbGRlO28gJmVhY3V0ZTsgdW0gaW5kJmlhY3V0ZTtjaW8gZGUgcXVlIG4mYXRpbGRlO28gaCZhYWN1dGU7IGVycm9zIG5vIGFycXVpdm8uJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ1ZhbG9yZXMgViZhYWN1dGU7bGlkb3MgcyZhdGlsZGU7byArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHJvZG5vdGZvdW5kJ10gPSAnRXN0YSBvcCZjY2VkaWw7JmF0aWxkZTtvIGRldGVybWluYSBvIGNvbXBvcnRhbWVudG8gZG8gc2l0ZSwgc2UgdW0gZGV0YWlsIHZpZXcgZG8gcHJvZHV0byAmZWFjdXRlOyBhY2VzcyZpYWN1dGU7dmVsIGRpcmVjdGFtZW50ZSBwZWxhIFVSTCwgZSBxdWUgbyBwcm9kdXRvIHBvciBxdWFscXVlciBtb3Rpdm8gKGRlc2FiaWxpdGFkbywgZXhjbHUmaWFjdXRlO2RvLCBldGMpIG4mYXRpbGRlO28gcG9kZW0gc2VyIGFjZXNzJmlhY3V0ZTt2ZWlzLic7CiRsYW5nWydpbmZvX3B1YmxpY2ZpZWxkJ10gPSAnJkFhY3V0ZTtyZWFzIHAmdWFjdXRlO2JsaWNhcyBlc3QmYXRpbGRlO28gZGlzcG9uJmlhY3V0ZTt2ZWlzIHBhcmEgc2VyZW0gdmlzdWFsaXphZGFzJzsKJGxhbmdbJ2xhYmVsJ10gPSAnQmxvY28gKExhYmVsKSc7CiRsYW5nWydsYWJlbF9za2lwJ10gPSAnU2FsdGFyJzsKJGxhbmdbJ2xhYmVsX292ZXJ3cml0ZSddID0gJ1N1YnN0aXR1aXInOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnJlVhY3V0ZTtsdGltYSBNb2RpZmljYSZjY2VkaWw7JmF0aWxkZTtvJzsKJGxhbmdbJ2xvZ290ZXh0J10gPSAnU2VndW5kYSBJbWFnZW0nOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnQ29tcHJpbWVudG8gbSZhYWN1dGU7eGltbyA8ZW0+KGFwbGljJmFhY3V0ZTt2ZWwgc29tZW50ZSBub3MgY2FtcG9zIGNhaXhhcyBkZSB0ZXh0byApPC9lbT4nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnRGF0YSBkYSBtb2RpZmljYSZjY2VkaWw7JmF0aWxkZTtvJzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ1VtIG0mb2FjdXRlO2R1bG8gZGUgZ2VzdCZhdGlsZGU7byBkZSB1bSBjYXQmYWFjdXRlO2xvZ28gZGUgcHJvZHV0b3MsIG9zIHNldXMgcHJlJmNjZWRpbDtvcywgaW1hZ2VucywgZXRjLCBlIHBhcmEgcGVybWl0aXIgcXVlIG9zIHVzdSZhYWN1dGU7cmlvcyB0ZW5oYW0gdW0gY2FycmluaG8nOwokbGFuZ1snbW92ZV9kb3duJ10gPSAnRGVzY2VyJzsKJGxhbmdbJ21vdmVfdXAnXSA9ICdTdWJpcic7CiRsYW5nWyduYW1lJ10gPSAnTm9tZSc7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ04mYXRpbGRlO28gdGVtIGEgYXV0b3JpemEmY2NlZGlsOyZhdGlsZGU7byBuZWNlc3MmYWFjdXRlO3JpYTogJXMnOwokbGFuZ1snbmV3X2NhdGVnb3J5X25hbWUnXSA9ICdOb3ZhIENhdGVnb3JpYSBOb21lJzsKJGxhbmdbJ25leHRwYWdlJ10gPSAnPic7CiRsYW5nWydubyddID0gJ04mYXRpbGRlO28nOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdOZW5odW0gbm9tZSBmb2kgZm9ybmVjaWRvJzsKJGxhbmdbJ25vbmUnXSA9ICdOJmF0aWxkZTtvJzsKJGxhbmdbJ29mJ10gPSAnZGUnOwokbGFuZ1sncGFnZSddID0gJ1AmYWFjdXRlO2dpbmEnOwokbGFuZ1sncGFnZV9vZiddID0gJ1AmYWFjdXRlO2dpbmEgJXMgZGUgJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ1AmYWFjdXRlO2dpbmEgTCZpYWN1dGU7bWl0ZSc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5oaWVyYXJjaHkgLS0gRGlzcGxheSBhIHByb2R1Y3QgbGlzdCBieSBoaWVyYXJjaHk8L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdCBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyeSBvZiBwcm9kdWN0czwvbGk+DQogIDxsaT5kZXRhaWxzIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIHByb2R1Y3Q8L2xpPg0KICA8bGk+ZmllbGRsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgdmFsdWVzIGZyb20gYSBzcGVjaWZpZWQgZmllbGQuDQogICAgIDxwPg0KJm5ic3A7Jm5ic3A7Jm5ic3A7Jm5ic3A7LSBUaGlzIGFjdGlvbiBjYW4gYmUgdXNlZCB0byBjcmVhdGUgYSBuYXZpZ2F0aW9uIGZyb20gdGhlIHZhbHVlcyBvZiBhIHNwZWNpZmljIGZpZWxkLiAgaS5lOiAgeW91IGNvdWxkIGNyZWF0ZSBhIGN1c3RvbSBkcm9wZG93biBmaWVsZCBjYWxsZWQgJmFtcDtxdW90O2NvbG9yJmFtcDtxdW90OyBhbmQgdGhlbiBjcmVhdGUgYSBuYXZpZ2F0aW9uIGJhc2VkIG9uIHRoZSBkaWZmZXJlbnQgY29sb3JzLg0KICAgICA8L3A+DQogIDwvbGk+DQogIDxsaT5zZWFyY2ggLSBEaXNwbGF5IGEgZm9ybSB0byBhbGxvdyBzZWFyY2hpbmcgcHJvZHVjdHMgb24gdmFyaW91cyBjcml0ZXJpdW08L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdRdWFuZG8gdXRpbGl6YWRvIGVtIDxlbT4gcGFkciZhdGlsZGU7byA8LyBlbT4gbW9kbyBzdW0mYWFjdXRlO3JpbywgZXN0ZSBwYXImYWNpcmM7bWV0cm8sIGRldmUgc2VyIGlndWFsIGFvIG5vbWUgZGUgdW1hIGNhdGVnb3JpYSBleGlzdGVudGUgc2VyJmFhY3V0ZTsgdXRpbGl6YWRvIHBhcmEgZXhpYmlyIGFwZW5hcyBhcyBlbXByZXNhcyBxdWUgZXN0JmF0aWxkZTtvIG5lc3NhIGNhdGVnb3JpYS4gKFVtYSBsaXN0YSBzZXBhcmFkYSBwb3IgdiZpYWN1dGU7cmd1bGFzIHBvZGUgc2VyIGZvcm5lY2lkYSknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICcmVWFjdXRlO3RpbCBhcGVuYXMgY29tIG8gbGlzdGFzIGRlIGNhdGVnb3JpYXMsIGVzdGUgcGFyJmFjaXJjO21ldHJvIGluZGljYSBvIHRlbXBsYXRlIHF1ZSBkZXZlIHNlciB1dGlsaXphZG8gcGFyYSBhIGV4aWJpJmNjZWRpbDsmYXRpbGRlO28uIFNlIG5lbmh1bSB2YWxvciBmb3IgZXNwZWNpZmljYWRvLCBlbnQmYXRpbGRlO28gbyBhY3R1YWwgdGVtcGxhdGUgcGFkciZhdGlsZGU7byAmZWFjdXRlOyB1c2Fkby4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0ZHRsdGVtcGxhdGUnXSA9ICcmVWFjdXRlO3RpbCBhcGVuYXMgY29tIGFzIGEmY2NlZGlsOyZvdGlsZGU7ZXMgJnF1b3Q7Y2F0ZWdvcnlsaXN0JnF1b3Q7ICwgZXN0ZSBwYXImYWNpcmM7bWV0cm8gaW5kaWNhIG8gdGVtcGxhdGUgcXVlIGRldmUgc2VyIHV0aWxpemFkbyBwYXJhIGEgZXhpYmkmY2NlZGlsOyZhdGlsZGU7byBkbyBkZXRhbGhlIGRhIGNhdGVnb3JpYS4gU2UgbmVuaHVtIHZhbG9yIGZvciBlc3BlY2lmaWNhZG8sIGVudCZhdGlsZGU7byBvIGFjdHVhbCB0ZW1wbGF0ZSBwYWRyJmF0aWxkZTtvICZlYWN1dGU7IHVzYWRvLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnRXNwZWNpZmljYSBvIHBhZ2VpZCBvdSBhbGlhcyBxdWUgZGV2ZSBzZXIgdXNhZG8gcGFyYSBleGliaXIgbyByZWxhdCZvYWN1dGU7cmlvIGRlIGRldGFsaGVzIC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdFc3RlIHBhciZhY2lyYzttZXRybyBlc3BlY2lmaWNhIG8gdGVtcGxhdGUgcXVlIGRldmUgc2VyIHV0aWxpemFkbyBwYXJhIG8gZGV0YWxoZS4gU2UgbmVuaHVtIHZhbG9yIGZvciBlc3BlY2lmaWNhZG8sIG8gdGVtcGxhdGUgcGFkciZhdGlsZGU7byAmZWFjdXRlOyB1c2Fkby4nOwokbGFuZ1sncGFyYW1fZmllbGQnXSA9ICdVc2FkbyBzJm9hY3V0ZTsgZW0gPGVtPmZpZWxkbGlzdDwvZW0+IGFjJmNjZWRpbDsmYXRpbGRlO28sIG5lc3RlIHBhciZhY2lyYzttZXRybyAmZWFjdXRlOyBuZWNlc3MmYWFjdXRlO3JpbyBlc3BlY2lmaWNhciBvIG5vbWUgZGUgdW1hIHByb3ByaWVkYWRlIGRlZmluaWRhIHBlbG8gdXRpbGl6YWRvciBwYXJhIGNyaWFyIHVtYSBsaXN0YSBkZSBkZS4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5J10gPSAnJlVhY3V0ZTt0ZWlzIGFwZW5hcyBubyA8ZW0+IHBhZHImYXRpbGRlO28gPC9lbT4sIGVzdGUgcGFyJmFjaXJjO21ldHJvIGVzcGVjaWZpY2EgcXVlIGFwZW5hcyBvcyBpdGVucyBlbSBxdWUgYSBsb2NhbGl6YSZjY2VkaWw7JmF0aWxkZTtvIGRhIGhpZXJhcnF1aWEgZGV2ZSBzZXIgZXhpYmlkby4gV2lsZGNhcmQgcG9kZW0gc2VyIHV0aWxpemFkb3MgZGUgbW9kbyBxdWUgcG9kZSBlc3BlY2lmaWNhciBtJmF0aWxkZTtlL2ZpbGhvIHJlbGFjaW9uYW1lbnRvcy4gRS5YLiB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5O3RydWNrcyomIzAzOTt9IGlyJmFhY3V0ZTsgY3JpYXIgdW1hIHMmaWFjdXRlO250ZXNlIGRlIHRvZG9zIG9zIGNhbWkmb3RpbGRlO2VzLCBpbmNsdWluZG8gb3MgZmlsaG9zIG5hIGhpZXJhcnF1aWEuIERhIG1lc21hIG1hbmVpcmEsIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gZXhpYmlyJmFhY3V0ZTsgdW0gcmVsYXQmb2FjdXRlO3Jpby1zJmlhY3V0ZTtudGVzZSBkZSB0b2RvcyBvcyBjYW1pJm90aWxkZTtlcywgZSB0b2RvcyBvcyBwcm9kdXRvcyBwZXJ0ZW5jZW50ZXMgYSBxdWFscXVlciBwYWkgbmEgaGllcmFycXVpYS4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5dGVtcGxhdGUnXSA9ICdFc3RlIHBhciZhY2lyYzttZXRybyBlc3BlY2lmaWNhIG8gdGVtcGxhdGUgcXVlIGRldmUgc2VyIHVzYWRvIHBhcmEgZXhpYmlyIGEgaGllcmFycXVpYS4gU2UgbmVuaHVtIHZhbG9yIGZvciBlc3BlY2lmaWNhZG8sIGVudCZhdGlsZGU7byBvIGFjdHVhbCB0ZW1wbGF0ZSBwYWRyJmF0aWxkZTtvIGRvIHRpcG8gcXVlIGVzdCZhYWN1dGU7IHNlciB1c2Fkby4nOwokbGFuZ1sncGFyYW1faW5saW5lJ10gPSAnJlVhY3V0ZTt0aWwgYXBlbmFzIGNvbSBhIGFjJmNjZWRpbDsmYXRpbGRlO28gZGUgcGVzcXVpc2EsIGVzdGUgcGFyJmFjaXJjO21ldHJvIGVzcGVjaWZpY2EgcXVlIGEgc2EmaWFjdXRlO2RhIGRhIGV4aWJpJmNjZWRpbDsmYXRpbGRlO28gZGUgc3VtbSZhYWN1dGU7cmlvIGRldmUgc2VyIGV4aWJpZG8gJnF1b3Q7aW5saW5lJnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJyZVYWN1dGU7dGlsIGFwZW5hcyBjb20gYSBhYyZjY2VkaWw7JmF0aWxkZTtvICA8ZW0+cGFkciZhdGlsZGU7bzwvZW0+ICwgZXN0ZSBwYXImYWNpcmM7bWV0cm8gZXNwZWNpZmljYSBxdWFudG9zIGl0ZW5zIGRldmVtIHNlciBsaXN0YWRvcyBlbSBjYWRhIHAmYWFjdXRlO2dpbmEuJzsKJGxhbmdbJ3BhcmFtX3BhcmVudCddID0gJyZVYWN1dGU7dGVpcyBhcGVuYXMgbmEgPGVtPiBoaWVyYXJxdWlhIDwvZW0+LCBlc3RlIHBhciZhY2lyYzttZXRybyBlc3BlY2lmaWNhIGEgaGllcmFycXVpYSBpZCBkYSBwYXJ0aWRhIGRhIGxvY2FsaXphJmNjZWRpbDsmYXRpbGRlO28gZG8gcmVsYXQmb2FjdXRlO3Jpby4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGlkJ10gPSAnJlVhY3V0ZTt0aWwgYXBlbmFzIGNvbSBhIGFjJmNjZWRpbDsmYXRpbGRlO28gZGUgZGV0YWxoZSAsIGVzdGUgcGFyJmFjaXJjO21ldHJvIGluZGljYSBvIHByb2R1dG8gcXVlIHByZXRlbmRlIGV4aWJpci4nOwokbGFuZ1sncGFyYW1fcmVzdWx0cGFnZSddID0gJ0FwbGljJmFhY3V0ZTt2ZWwgYXBlbmFzICZhZ3JhdmU7IGFjJmNjZWRpbDsmYXRpbGRlO28gZGUgcGVzcXVpc2EsIGVzdGUgcGFyJmFjaXJjO21ldHJvIGVzcGVjaWZpY2EgdW1hICZxdW90O3BhZ2VJRCZxdW90OyAgb3UgJnF1b3Q7YWxpYXMmcXVvdDsgYSBzZXIgdXNhZG8gcGFyYSBleGliaXIgb3MgcmVzdWx0YWRvcyBkZSBwZXNxdWlzYSc7CiRsYW5nWydwYXJhbV9zZWFyY2hmaWVsZCddID0gJ0FwbGljJmFhY3V0ZTt2ZWwgYXBlbmFzICZhZ3JhdmU7IGFjJmNjZWRpbDsmYXRpbGRlO28gZGUgcGVzcXVpc2EsIGVzdGUgcGFyJmFjaXJjO21ldHJvIHBvZGUgY29udGVyIHVtYSBsaXN0YSBzZXBhcmFkYSBwb3IgdiZpYWN1dGU7cmd1bGFzIGRlIG5vbWVzIGRlIGNhbXBvcyBwYXJhIGluY2x1aXIgbmEgcGVzcXVpc2EnOwokbGFuZ1sncGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJ10gPSAnQXBsaWMmYWFjdXRlO3ZlbCBhcGVuYXMgJmFncmF2ZTsgYWMmY2NlZGlsOyZhdGlsZGU7byBkZSBwZXNxdWlzYSwgZXN0ZSBwYXImYWNpcmM7bWV0cm8gcGVybWl0ZSBlc3BlY2lmaWNhciB1bSwgIHRlbXBsYXRlIG4mYXRpbGRlO28gcGFkciZhdGlsZGU7byBkZSBvIGZvcm11bCZhYWN1dGU7cmlvIGRhIHBlc3F1aXNhICc7CiRsYW5nWydwYXJhbV9zaG93YWxsJ10gPSAnQXBsaWMmYWFjdXRlO3ZlbCBhcGVuYXMgJmFncmF2ZTsgYWMmY2NlZGlsOyZhdGlsZGU7byBjYXRlZ29yeWxpc3QsIHNlIGVzdGUgcGFyJmFjaXJjO21ldHJvIGZvciBkZWZpbmlkbyBwYXJhIHVtIHZhbG9yIG4mYXRpbGRlO28gaW50ZWlybyAwLCB0b2RhcyBhcyBjYXRlZ29yaWFzIChtZXNtbyBhcXVlbGVzIHNlbSBwcm9kdXRvcykgc2VyJmF0aWxkZTtvIGV4aWJpZGFzLic7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICdFc3BlY2lmaWNhciBhIG9yZGVtIGRvcyBjYW1wb3Mgb3JkZW5hZG9zIG5vIHN1bSZhYWN1dGU7cmlvLiBPcyB2YWxvcmVzIHBvc3MmaWFjdXRlO3ZlaXMgcyZhdGlsZGU7bzoNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnQXBsaWMmYWFjdXRlO3ZlbCBhcGVuYXMgZW0gbW9kbyBzdW0mYWFjdXRlO3JpbywgZXN0ZSBwYXImYWNpcmM7bWV0cm8gZGV0ZXJtaW5hIGEgdHJpYWdlbSBkYXMgZW1wcmVzYXMgZGUgc2EmaWFjdXRlO2RhLiBPcyB2YWxvcmVzIHBvc3MmaWFjdXRlO3ZlaXMgcyZhdGlsZGU7bzoNCjx1bD4NCiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+PC9saT4NCiAgPGxpPmlkIC0tIFRoZSBwcm9kdWN0IGlkPC9saT4NCiAgPGxpPndlaWdodCAtLSBUaGUgcHJvZHVjdCB3ZWlnaHQ8L2xpPg0KICA8bGk+cHJpY2UgLS0gVGhlIHByb2R1Y3QgYmFzZSBwcmljZTwvbGk+DQogIDxsaT5zdGF0dXMgLS0gRHJhZnQgb3IgcHVibGlzaGVkPC9saT4NCiAgPGxpPnJhbmRvbSAtLSBEaXNwbGF5IGluIHJhbmRvbSBvcmRlciBvbiBlYWNoIHJlcXVlc3Q8L2xpPg0KICA8bGk+Y3JlYXRlZCAtLSBUaGUgY3JlYXRpb24gZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQogIDxsaT5tb2RpZmllZCAtLSBUaGUgbW9kaWZpZWQgZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQogIDxsaT5mOmZpZWxkbmFtZSAtLSBBbGxvd3Mgc29ydGluZyBieSB2YWx1ZXMgb2YgY3VzdG9tIGZpZWxkcy48L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydHR5cGUnXSA9ICdBcGxpYyZhYWN1dGU7dmVsIGFwZW5hcyBhbyBzdW1tYXJ5IHZpZXcgcGFkciZhdGlsZGU7bywgZXNzZSBwYXImYWNpcmM7bWV0cm8gJmVhY3V0ZTsgdXNhZG8gcGFyYSBjb252ZXJ0ZXIgb3MgdmFsb3JlcyBwYXJhIG91dHJvIHRpcG8gZGUgb3JkZW5hJmNjZWRpbDsmYXRpbGRlO28uIFZhbG9yZXMgdiZhYWN1dGU7bGlkb3MgcyZhdGlsZGU7bzogU1RSSU5HLFNJR05FRCBlIFVOU0lHTkVELiBTZSBuJmF0aWxkZTtvIGZvciBmb3JuZWNpZG8gcXVhbHF1ZXIgZGFkbywgbyB0aXBvIFNUUklORyAmZWFjdXRlOyBhc3N1bWlkbyBwb3IgcGFkciZhdGlsZGU7by4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXBhZ2UnXSA9ICdBcGxpYyZhYWN1dGU7dmVsIGFwZW5hcyAmYWdyYXZlOyAmcXVvdDthY3Rpb249aGllcmFyY2h5JnF1b3Q7LCBwZXJtaXRlIGVzcGVjaWZpY2FyIHVtYSBpZCBkYSBwJmFhY3V0ZTtnaW5hIG91IGFsaWFzIHF1ZSBzZXImYWFjdXRlOyB1dGlsaXphZG8gcGFyYSBxdWFpc3F1ZXIgbGlua3MgcGFyYSB2ZXIgc3VtbWFyeSc7CiRsYW5nWydwYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdFc3RlIHBhciZhY2lyYzttZXRybyBlc3BlY2lmaWNhIG5vIHRlbXBsYXRlIHF1ZSBkZXZlIHNlciB1dGlsaXphZG8gcGFyYSBhIGV4aWJpJmNjZWRpbDsmYXRpbGRlO28gZG8gc3VtJmFhY3V0ZTtyaW8uIFNlIG5lbmh1bSB2YWxvciBmb3IgZXNwZWNpZmljYWRvLCBvIHBhZHImYXRpbGRlO28gYWN0dWFsICZlYWN1dGU7IHVzYWRvLic7CiRsYW5nWydwYXJhbV91c2VvbGRoaWVyYXJjaHknXSA9ICdVc2FyIG8gbW9kbyBhbnRpZ2EgZGEgaGllcmFycXVpYSBxdWUgZ2VyYSB1bWEgbGlzdGEgZml4YSBkZSBoaWVyYXJxdWlhcyBhYmFpeG8gZG8gbiZpYWN1dGU7dmVsIGFjdHVhbC4gRXN0YSBtb2RhbGlkYWRlIGVzdCZhYWN1dGU7IG9ic29sZXRhIGUgc2VyJmFhY3V0ZTsgcmVtb3ZpZGEgZW0gdW1hIGRhdGEgcG9zdGVyaW9yLic7CiRsYW5nWydwYXJlbnQnXSA9ICdQYXJlbnRlJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTSZvYWN1dGU7ZHVsbyBQcm9kdXRvcyBmb2kgaW5zdGFsYWRvIGNvbSBzdWNlc3NvJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdPIG0mb2FjdXRlO2R1bG8gUHJvZHV0b3MgZm9pIHJlbW92aWRvIGp1bnRhbWVudGUgY29tIHRvZG9zIG9zIGRhZG9zIGFzc29jaWFkb3MnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXImZWNpcmM7bmNpYXMnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnUmVtb3ZlbmRvIGVzdGUgbSZvYWN1dGU7ZHVsbyB0YW1iJmVhY3V0ZTttIGlyJmFhY3V0ZTsgcmVtb3ZlciB0b2RvcyBvcyBkYWRvcyBhc3NvY2lhZG9zLCB0ZW0gY2VydGV6YSBkZSBxdWUgZGVzZWphIHByb3NzZWd1aXI/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJlJmNjZWRpbDtvJzsKJGxhbmdbJ3ByaWNlX2FkanVzdG1lbnQnXSA9ICdBanVzdGVzIGRlIHByZSZjY2VkaWw7b3MnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdQcm9kdWN0byc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ1Byb2R1Y3RvIE5vbWUnOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdHZXN0JmF0aWxkZTtvIGRvIFByb2R1Y3RvJzsKJGxhbmdbJ3Byb2R1Y3RfZGV0YWlsX3NldHRpbmdzJ10gPSAnQ29uZmlndXJhJmNjZWRpbDsmYXRpbGRlO28gRGV0YWxoZSBkbyBQcm9kdXRvJzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnSGllcmFycXVpYSBQcm9kdWN0byc7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICdHZXN0JmF0aWxkZTtvIGRlIFByb2R1dG9zJzsKJGxhbmdbJ3Byb2dyZXNzJ10gPSAnUHJvZ3Jlc3NvJzsKJGxhbmdbJ3Byb21wdCddID0gJ0NvbWFuZG8nOwokbGFuZ1sncHJvbXB0X2FkZF9hdHRyaWJzZXQnXSA9ICdBZGljaW5hci9FZGl0YXIgQ29uanVudG8gZGUgYXRyaWJ1dG9zJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ1Blcm1pdGlyIGNhcnJlZ2FyIGFycXVpdm9zIGNvbSBhcyBleHRlbnMmb3RpbGRlO2VzIChwYXJhIG8gdGlwbyBjYW1wb3MgZGUgYXJxdWl2byApJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdQZXJtaXRpciBjYXJyZWdhciBpbWFnZW5zIGNvbSBlc3NhcyBleHRlbnMmb3RpbGRlO2VzIChwYXJhIG8gdGlwbyBjYW1wb3MgZGUgaW1hZ2VtKSc7CiRsYW5nWydwcm9tcHRfYXR0cmlidGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBwYXJhIGFwcmVzZW50YSZjY2VkaWw7JmF0aWxkZTtvIGRlIHZhbG9yZXMgZG9zIGF0cmlidXRvcyBkbyBwcm9kdXRvIGVtIG1lbnUgc3VzcGVuc28nOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWwnXSA9ICdDcmlhciBhdXRvbWF0aWNhbWVudGUgbWluaWF0dXJhcyBkYXMgaW1hZ2Vucyc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnVGFtYW5obyBtJmFhY3V0ZTt4aW1vIChtYWlvciBkaW1lbnMmYXRpbGRlO28pIGRhIG1pbmlhdHVyYS4nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nJ10gPSAnQ3JpYXIgYXV0b21hdGljYW1lbnRlIGltYWdlbnMgZGUgdmlzdWFsaXphJmNjZWRpbDsmYXRpbGRlO28nOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nX3NpemUnXSA9ICdUYW1hbmhvIG0mYWFjdXRlO3hpbW8gKG1haW9yIGRpbWVucyZhdGlsZGU7bykgZGEgaW1hZ2VtIGRlIHZpc3VhbGl6YSZjY2VkaWw7JmF0aWxkZTtvLic7CiRsYW5nWydwcm9tcHRfYXV0b3dhdGVybWFyayddID0gJ0x1Z2FyIGF1dG9tJmFhY3V0ZTt0aWNvIGRhcyBtYXJjYXMgZCYjMDM5OyZhYWN1dGU7Z3VhIGVtIGltYWdlbnMnOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdBY3RpdmFyIHBvciBwYWRyJmF0aWxkZTtvIHBhcmEgdG9kb3Mgb3Mgbm92b3MgcHJvZHV0b3MnOwokbGFuZ1sncHJvbXB0X2JhdGNoc2l6ZSddID0gJ1RhbWFuaG8gZG8gTG90ZSc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGUnXSA9ICdDYXJyaW5obyBNJm9hY3V0ZTtkdWxvJzsKJGxhbmdbJ3Byb21wdF9jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdDYXJyaW5obyBNJm9hY3V0ZTtkdWxvIFBhciZhY2lyYzttZXRyb3MnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdDcmlhciBDYXRlZ29yaWFzJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVmaWVsZHMnXSA9ICdDcmlhciBDYW1wb3Mgbm8gUHJvZHV0bz8nOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWhpZXJhcmNoeSddID0gJ0NyaWFyIHVtIFByb2R1Y3RvIEhpZXJhcnF1aWEnOwokbGFuZ1sncHJvbXB0X2NzdmZpbGUnXSA9ICdDYXJyZWdhciBmaWNoZWlybyBDU1YnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ0Mmb2FjdXRlO2RpZ28gZG8gUyZpYWN1dGU7bWJvbG8nOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5c3ltYm9sJ10gPSAnUyZpYWN1dGU7bWJvbG8gZGEgbW9lZGEnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfc3RhdHVzJ10gPSAnUG9yIGRlZmVpdG8sIHRvZG9zIG9zIG5vdm9zIHByb2R1dG9zIHQmZWNpcmM7bSBlc3RlIGVzdGFkbyc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnUG9yIGRlZmVpdG8sIHRvZG9zIG9zIG5vdm9zIHByb2R1dG9zIHMmYXRpbGRlO28gdHJpYnV0JmFhY3V0ZTt2ZWlzJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnXSA9ICdFeGNsdWEgcXVhaXNxdWVyIGFycXVpdm9zIGFzc29jaWFkb3MgY29tIG8gcHJvZHV0bywgcXVhbmRvIG8gcHJvZHV0byBmb3IgZXhjbHUmaWFjdXRlO2RvPyc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnRGVsaW1pdGFkb3IgZGUgQ2FtcG8nOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdQJmFhY3V0ZTtnaW5hIERldGFsaGUgUGFkciZhdGlsZGU7byc7CiRsYW5nWydwcm9tcHRfZGV0YWlsc2ZvciddID0gJ0RldGFpbGhlcyBwYXJhICVzJzsKJGxhbmdbJ3Byb21wdF9kdXBsaWNhdGVwcm9kdWN0cyddID0gJ0NvbW8gbGlkYXIgY29tIHByb2R1dG9zIGR1cGxpY2Fkb3M/JzsKJGxhbmdbJ3Byb21wdF9oYW5kbGVpbWFnZXMnXSA9ICdNYW5pcHVsYXIgaW1hZ2Vucz8nOwokbGFuZ1sncHJvbXB0X2ltYWdlcGF0aCddID0gJ0NhbWluaG8gZGEgSW1hZ2VtJzsKJGxhbmdbJ3Byb21wdF9sZW5ndGh1bml0cyddID0gJ1VuaWRhZGVzIGRlIGNvbXByaW1lbnRvJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9iZWhhdmlvciddID0gJ1F1ZSBhYyZjY2VkaWw7JmF0aWxkZTtvIGRldmUgc2VyIHRvbWFkYSBxdWFuZG8gdW0gcHJvZHV0byBuJmF0aWxkZTtvIHBvZGUgc2VyIGV4aWJpZG8/JzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF80MDQnXSA9ICdHZXJhciB1bSBlcnJvIDQwNCc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfMzAxJ10gPSAnR2VyYXIgdW0gcmVkaXJlY2lvbmFtZW50byAzMDEnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2Vycm9ybXNnJ10gPSAnRXhpYmlyIHVtYSBtZW5zYWdlbSBkZSBlcnJvJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9tc2cnXSA9ICdNZW5zYWdlbSBkZSBlcnJvIHBhcmEgcXVhbmRvIHVtIHByb2R1dG8gbiZhdGlsZGU7byBwb2RlIHNlciBlbmNvbnRyYWRvJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF9wYWdlJ10gPSAnUCZhYWN1dGU7Z2luYSBkZSBmYXplciByZWRpcmVjaW9uYW1lbnRvIHBlcm1hbmVudGUgcGFyYT8nOwokbGFuZ1sncHJvbXB0X3Byb2RfZGV0YWlscGFnZSddID0gJ1AmYWFjdXRlO2dpbmEgcGFkciZhdGlsZGU7byBwYXJhIG9zIFZpZXdzIFByb2R1Y3QgRGV0YWlsJzsKJGxhbmdbJ3Byb21wdF9wcm9kdWN0c19tYXRjaGluZyddID0gJ1Byb2R1dG9zIHF1ZSBjb3JyZXNwb25kZW0gICVzJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAnT3JkZW5hJmNjZWRpbDsmYXRpbGRlO28gUGFkciZhdGlsZGU7byBkbyBzdW0mYWFjdXRlO3Jpbyc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdPcmRlbmEmY2NlZGlsOyZhdGlsZGU7byBQYWRyJmF0aWxkZTtvIGRvcyBjYW1wb3Mgbm8gc3VtJmFhY3V0ZTtyaW8nOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgRm9udGUnOwokbGFuZ1sncHJvbXB0X3VybHByZWZpeCddID0gJ1ByZWZpeG8gYSBzZXIgdXNhZG8gZW0gdG9kYXMgYXMgVVJMcyBkaXJlY2lvbmFkb3MgcGFyYSBlc3RlIG0mb2FjdXRlO2R1bG8nOwokbGFuZ1sncHJvbXB0X3VzZV9kZXRhaWxwYWdlX2Zvcl9zZWFyY2gnXSA9ICdVc2UgZXN0YSBwJmFhY3V0ZTtnaW5hIHBhcmEgcmVzdWx0YWRvcyBkZSBwZXNxdWlzYSB0YW1iJmVhY3V0ZTttIDxlbT4oc3Vic3RpdHVpIG8gcGFyJmFjaXJjO21ldHJvIGRhIHAmYWFjdXRlO2dpbmEgU2VhcmNocmVzdWx0cyBubyBtJm9hY3V0ZTtkdWxvIGRlIHBlc3F1aXNhKTwvZW0+JzsKJGxhbmdbJ3Byb21wdF91c2VoaWVycGF0aHVybHMnXSA9ICdVc2FyIENhbWluaG8gcGFyYSBhIEhpZXJhcnF1aWEgbm8gZGV0YWxoZSBkYXMgVVJMUyc7CiRsYW5nWydwcm9tcHRfd2VpZ2h0dW5pdHMnXSA9ICdVbmlkYWRlcyBkZSBQZXNvICc7CiRsYW5nWydwdWJsaWMnXSA9ICcmRWFjdXRlOyB1bSBjYW1wbyBwJnVhY3V0ZTtibGljbz8nOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnUCZ1YWN1dGU7YmxpY2Fkbyc7CiRsYW5nWydyYW5kb20nXSA9ICdBbGlhdCZvYWN1dGU7cmlvJzsKJGxhbmdbJ3Jlc2V0dG9mYWN0b3J5J10gPSAnUmVkZWZlbmlyIHBhcmEgb3MgdmFsb3JlcyBQYWRyJmF0aWxkZTtvJzsKJGxhbmdbJ3JldHVybiddID0gJ1ZvbHRhcic7CiRsYW5nWydyZXR1cm5fdG9fdG9wJ10gPSAnVm9sdGFyIHBhcmEgbyB0b3BvIGRhIHZpc3RhJzsKJGxhbmdbJ3Jvb3QnXSA9ICdSYWl6IChSb290KSc7CiRsYW5nWydzZWFyY2hfZGVzY3JpcHRpb24nXSA9ICdQZXNxdWlzYSBQcm9wcmllZGFkZSBEZXNjcmkmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWydzZWFyY2hfZXhwciddID0gJ1BvZGUgYSBjb25zdWx0YSBjb3JyZXNwb25kZXIgYSB0b2Rhcywgb3UgcXVhbHF1ZXIgdW0gZG9zIHRlc3RlcyBhYmFpeG8/JzsKJGxhbmdbJ3NlYXJjaF9uYW1lJ10gPSAnUGVzcXVpc2EgTm9tZSBkYSBwcm9wcmllZGFkZSc7CiRsYW5nWydzZWFyY2hfcHJpY2UnXSA9ICdPcmRlbmEmY2NlZGlsOyZhdGlsZGU7byBQcmUmY2NlZGlsO28nOwokbGFuZ1snc2VhcmNodGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkaWNpb25hci9FZGl0YXIgUGVzcXVpc2EgRm9ybXVsJmFhY3V0ZTtyaW8gVGVtcGxhdGUnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVzJ10gPSAnVGVtcGxhdGUgUGVzcXVpc2EnOwokbGFuZ1snc2VsZWN0X29uZSddID0gJ1NlbGVjY2lvbmFyIFVtJzsKJGxhbmdbJ3NrdSddID0gJ1NLVSAnOwokbGFuZ1snc29ydF9ieSddID0gJ09yZGVuYXIgUG9yJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdPcmRlbSBkYSBPcmRlbmEmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWydzdGF0dXMnXSA9ICdFc3RhZG8nOwokbGFuZ1snc3VibWl0J10gPSAnUHJvY2Vzc2FyJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICdTdW0mYWFjdXRlO3JpbyBUZW1wbGF0ZXMnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZGljaW9uYXIvRWRpdGFyICBTdW0mYWFjdXRlO3JpbyBUZW1wbGF0ZXMnOwokbGFuZ1sndGF4YWJsZSddID0gJ1RyaWJ1dCZhYWN1dGU7dmVpcyc7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdGUnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICcmQWFjdXRlO3JlYSBkZSBUZXh0byc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnQ2FtcG8gZGUgVGV4dG8nOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnSGllcmFycXVpYSBQYWRyJmF0aWxkZTtvIG5vdm8gdGVtcGxhdGUgZGUgcmVsYXQmb2FjdXRlO3Jpbyc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnTm92byBUZW1wbGF0ZSBQYWRyJmF0aWxkZTtvIENhdGVnb3JpYSBMaXN0YSc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfZGZsdHRlbXBsYXRlJ10gPSAnTm92byBUZW1wbGF0ZSBQYWRyJmF0aWxkZTtvIERldGFsaGVzJzsKJGxhbmdbJ3RpdGxlX3NlYXJjaF9kZmx0dGVtcGxhdGUnXSA9ICdOb3ZvIFRlbXBsYXRlIFBhZHImYXRpbGRlO28gUGVzcXVpc2EnOwokbGFuZ1sndGl0bGVfc3VtbWFyeV9kZmx0dGVtcGxhdGUnXSA9ICdOb3ZvIFRlbXBsYXRlIFBhZHImYXRpbGRlO28gU3VtJmFhY3V0ZTtyaW8nOwokbGFuZ1sndHlwZSddID0gJ1RpcG8nOwokbGFuZ1sndXBkYXRlJ10gPSAnQWN0dWFsaXphcic7CiRsYW5nWyd1cGxvYWQnXSA9ICdTZWxlY2Npb25lIHVtIGFycXVpdm8gYSBjYXJyZWdhcic7CiRsYW5nWyd1cmxfYWxpYXMnXSA9ICdVUkwgQWxpYXMgJzsKJGxhbmdbJ3ZhbGlkJ10gPSAnViZhYWN1dGU7bGlkbyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbG9yJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1ZhbG9yZXMnOwokbGFuZ1sndmlldyddID0gJ1Zpc3RhJzsKJGxhbmdbJ3ZpZXdhYmxlX2ZpZWxkcyddID0gJ1NlbGVjaW9uYXIgY2FtcG9zIHBlcnNvbmFsaXphZG9zIHBhcmEgdmVyIG5hIHRhYmVsYSc7CiRsYW5nWyd3YXRlcm1hcmtfbG9jYXRpb24nXSA9ICdXYXRlcm1hcmsgTG9jYWxpemEmY2NlZGlsOyZhdGlsZGU7byc7CiRsYW5nWyd3ZWlnaHQnXSA9ICdQZXNvJzsKJGxhbmdbJ3llcyddID0gJ1NpbSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjk3OTczNTQ0Mi4xMjcyMzI1Nzk2LjEyNzQwMzQ0NTMuMTI3NDEzMDYxOS4yMSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNzMwNTk2NDkuMTMuNC51dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjbj0ocmVmZXJyYWwpfHV0bWNtZD1yZWZlcnJhbHx1dG1jY3Q9L3Byb2plY3QvZmlsZXMvNjknOwokbGFuZ1sncWNhJ10gPSAnUDAtMTk4MzY1MDQwMS0xMjcyMzI1Nzk2NjQ1JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FiYnJfbGVuZ3RoJ10gPSAn0JQnOwokbGFuZ1snYWJicl93aWR0aCddID0gJ9CoJzsKJGxhbmdbJ2FiYnJfaGVpZ2h0J10gPSAn0JInOwokbGFuZ1snYWRkJ10gPSAn0JTQvtCx0LDQstC40YLRjCc7CiRsYW5nWydhZGRjYXRlZ29yeSddID0gJ9CU0L7QsdCw0LLQuNGC0Ywg0LrQsNGC0LXQs9C+0YDQuNGOJzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAn0JTQvtCx0LDQstC40YLRjCDQv9C+0LvQtSc7CiRsYW5nWydhZGp1c3RhYmxlJ10gPSAn0JLRgNGD0YfQvdGD0Y4nOwokbGFuZ1snYWRkcHJvZHVjdCddID0gJ9CU0L7QsdCw0LLQuNGC0Ywg0L/RgNC+0LTRg9C60YInOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICfQlNC+0LHQsNCy0LjRgtGMINCw0YLRgNC40LHRg9GCJzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ0Fzc29jaWF0ZSBGaWVsZCB3aXRoIENhdGVnb3J5OiAiJXMiJzsKJGxhbmdbJ2FkZF9oaWVyYXJjaHlfaXRlbSddID0gJ9CU0L7QsdCw0LLQuNGC0Ywg0Y3Qu9C10LzQtdC90YIg0LIg0LjQtdGA0LDRgNGF0LjRjic7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAn0JTQvtCx0LDQstC40YLRjCDQstCw0YDQuNCw0L3RgiDQsNGC0YDQuNCx0YPRgtCwJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICfQkNGC0YDQuNCx0YPRgtGLINC00L7RgdGC0YPQv9C90Ysg0YLQvtC70YzQutC+INCw0LTQvNC40L3Rgz8nOwokbGFuZ1snYWxpZ25fdWwnXSA9ICfQktCy0LXRgNGF0YMg0YHQu9C10LLQsCc7CiRsYW5nWydhbGlnbl91YyddID0gJ9CS0LLQtdGA0LfRgyDQsiDRhtC10L3RgtGA0LUnOwokbGFuZ1snYWxpZ25fdXInXSA9ICfQktCy0LXRgNGF0YMg0YHQv9GA0LDQstCwJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAn0J/QvtGB0LXRgNC10LTQuNC90LUg0YHQu9C10LLQsCc7CiRsYW5nWydhbGlnbl9tYyddID0gJ9CSINGG0LXQvdGC0YDQtSc7CiRsYW5nWydhbGlnbl9tciddID0gJ9Cf0L7RgdC10YDQtdC00LjQvdC1INGB0L/RgNCw0LLQsCc7CiRsYW5nWydhbGlnbl9sbCddID0gJ9CS0L3QuNC30YMg0YHQu9C10LLQsCc7CiRsYW5nWydhbGlnbl9sYyddID0gJ9CS0L3QuNC30YMg0LIg0YbQtdC90YLRgNC1JzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAn0JLQvdC40LfRgyDRgdC/0YDQsNCy0LAnOwokbGFuZ1snYWxsJ10gPSAn0JLRgdC1JzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICfQktGB0LUg0LrQsNGC0LXQs9C+0YDQuNC4JzsKJGxhbmdbJ2FueSddID0gJ9Cb0Y7QsdC+0LknOwokbGFuZ1snYXJleW91c3VyZSddID0gJ9CS0Ysg0YPQstC10YDQtdC90Ys/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlcHJvZHVjdCddID0gJ9CS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0YPQtNCw0LvQuNGC0Ywg0Y3RgtC+0YIg0YLQvtCy0LDRgCwg0Lgg0LLRgdGOINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INC90LXQvD8nOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAn0J/QviDQstC+0LfRgNCw0YHRgtCw0L3QuNGOJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAn0J3QsNC30LLQsNC90LjQtSDQsNGC0YDQuNCx0YPRgtCwJzsKJGxhbmdbJ2F1dG9tYXRpYyddID0gJ9CQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4JzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVzJ10gPSAn0KjQsNCx0LvQvtC90Ysg0LjQtdGA0LDRgNGF0LjQuCc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICfQlNC+0LHQsNCy0LjRgtGML9CY0LfQvNC10L3QuNGC0Ywg0YjQsNCx0LvQvtC9INCy0YvQstC+0LTQsCDQuNC10YDQsNGA0YXQuNC4JzsKJGxhbmdbJ2NhbmNlbCddID0gJ9Ce0YLQvNC10L3QsCc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAn0JrQsNGC0LXQs9C+0YDQuNC4JzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAn0JrQsNGC0LXQs9C+0YDQuNGPJzsKJGxhbmdbJ2NhdGVnb3J5ZXhpc3RzJ10gPSAn0JrQsNGC0LXQs9C+0YDQuNGPINGBINGC0LDQutC40Lwg0LjQvNC10L3QtdC8INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgic7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZXMnXSA9ICfQqNCw0LHQu9C+0L0g0YHQv9C40YHQutCwINC60LDRgtC10LPQvtGA0LjQuSc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAn0JTQvtCx0LDQstC40YLRjC/QoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDRiNCw0LHQu9C+0L0g0YHQv9C40YHQutCwINC60LDRgtC10LPQvtGA0LjQuSc7CiRsYW5nWydjZW50aW1ldGVycyddID0gJ9Ch0LDQvdGC0LjQvNC10YLRgNGLJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAn0KfQtdC60LHQvtC60YEnOwokbGFuZ1snY29uZmlybV9jb3B5YXR0cmlidXRlcyddID0gJ9CS0YHQtSDRgdGD0YnQtdGB0YLQstGD0Y7RidC40LUg0LDRgtGA0LjQsdGD0YLRiyDQv9GA0L7QtNGD0LrRgtGLINCx0YPQtNGD0YIg0YPQtNCw0LvQtdC90YsuINCS0Ysg0YPQstC10YDQtdC90YssINGH0YLQviDRhdC+0YLQuNGC0LUg0L/RgNC+0LTQvtC70LbQuNGC0Yw/JzsKJGxhbmdbJ2NvbmZpcm1fZGVsZXRlX2hpZXJhcmNoeV9ub2RlJ10gPSAn0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDRg9C00LDQu9C40YLRjCDRjdGC0L7RgiDRg9C30LXQuz8g0JLRgdC1INC/0YDQvtC00YPQutGC0YssINC90LDRhdC+0LTQtdGJ0LjQtdGB0Y8g0LIg0YPQt9C70LUg0LHRg9C00YPRgiDQv9C10YDQtdC80LXRidC10L3RiyDQsiDQutC+0YDQtdC90YwnOwokbGFuZ1snY29uZmlybV9pbXBvcnQnXSA9ICfQktGLINGD0LLQtdGA0LXQvdGLLCDRh9GC0L4g0YXQvtGC0LjRgtC1INGD0LTQsNC70LjRgtGMP1xcblxcbtCd0LXQstC10YDQvdGL0LUg0L3QsNGB0YLRgNC+0LnQutC4INC40LvQuCDQutC+0L3RhNC40LPRg9GA0LDRhtC40Y8g0LzQvtC20LXRgiDQv9C+0LvQvdC+0YHRgtGM0Y4g0L3QsNGA0YPRiNC40YLRjCDRgNCw0LHQvtGC0L7RgdC/0L7RgdC+0LHQvdC+0YHRgtGMINCS0LDRiNC10LPQviDRgdCw0LnRgtCwLic7CiRsYW5nWydjb3B5J10gPSAn0JrQvtC/0LjRgNC+0LLQsNGC0YwnOwokbGFuZ1snY29weV9hdHRyaWJfc2V0cyddID0gJ9Ch0LrQvtC/0LjRgNC+0LLQsNGC0Ywg0LDRgtGA0LjQsdGD0YLRiyDQv9GA0L7QtNGD0LrRgtCwJzsKJGxhbmdbJ2NvcHlfY2F0ZWdvcnknXSA9ICfQmtC+0L/QuNGA0L7QstCw0YLRjCDQutCw0YLQtdCz0L7RgNC40Y4nOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICfQodC+0LfQtNCw0L0nOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ9CX0L3QsNGH0LXQvdC40LUnOwokbGFuZ1snZGF0YSddID0gJ9CU0LDRgtCwJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICfQn9C+INGD0LzQvtC70YfQsNC90LjRjic7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAn0KjQsNCx0LvQvtC90Ysg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBjb250ZW50cyBvZiB0aGVzZSB0ZXh0IGFyZWFzIGFyZSB1c2VkIHRvIGRldGVybWluZSB0aGUgZGVmYXVsdCBjb250ZW50IG9mIHRlbXBsYXRlcyB3aGVuIHlvdSBjbGljayAiQWRkIFRlbXBsYXRlIiBpbiB0aGUgYXBwcm9wcmlhdGUgdGVtcGxhdGUgdGFiLiAgRWRpdGluZyBvbmUgb2YgdGhlc2UgdGV4dCBhcmVhcyB3aWxsIGhhdmUgbm8gaW1tZWRpYXRlIGVmZmVjdCBvbiB5b3VyIHdlYnNpdGUuJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ9Cj0LTQsNC70LjRgtGMJzsKJGxhbmdbJ2RlbGV0ZV9hdHRyaWJzZXQnXSA9ICfQo9C00LDQu9C40YLRjCDQsNGC0YDQuNCx0YPRgic7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICfQo9C00LDQu9C40YLRjCDQrdC70LXQvNC10L3RgiDQmNC10YDQsNGA0YXQuNC4JzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICfQn9C+INGD0LHRi9Cy0LDQvdC40Y4nOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICfQntC/0LjRgdCw0L3QuNC1JzsKJGxhbmdbJ2Rlc3RpbmF0aW9uJ10gPSAn0J3QsNC30L3QsNGH0LXQvdC40LUnOwokbGFuZ1snZGV0YWlscyddID0gJ9Ce0L/QuNGB0LDQvdC40LUnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAn0KjQsNCx0LvQvtC9INCa0LDRgNGC0L7Rh9C60Lgg0YLQvtCy0LDRgNCwJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlX2FkZGVkaXQnXSA9ICfQlNC+0LHQsNCy0LjRgtGML9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINGI0LDQsdC70L7QvSDQutCw0YDRgtC+0YfQutC4INGC0L7QstCw0YDQsCc7CiRsYW5nWydkaW1lbnNpb25zJ10gPSAn0KDQsNC30LzQtdGA0YsnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICfQntGC0LrQu9GO0YfQtdC90L4nOwokbGFuZ1snZG93biddID0gJ9Cf0LXRgNC10LTQstC40L3Rg9GC0Ywg0LLQvdC40LcnOwokbGFuZ1snZHJhZnQnXSA9ICfQp9C10YDQvdC+0LLQuNC6JzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAn0JLRi9C/0LDQtNCw0Y7RidC40Lkg0YHQv9C40YHQvtC6JzsKJGxhbmdbJ2Ryb3Bkb3duX29wdGlvbnMnXSA9ICfQrdC70LXQvNC10L3RgtGLINCy0YvQv9Cw0LTQsNGO0YnQtdCz0L4g0YHQv9C40YHQutCwIDxlbT4o0L/RgNC40LzQtdC90LjQvNC+INGC0L7Qu9GM0LrQviDQtNC70Y8g0L/QvtC70LXQuSDRgtC40L/QsCAi0LLRi9C/0LDQtNCw0Y7RidC40Lkg0YHQv9C40YHQvtC6Iik8L2VtPjxici8+PGJyLz48ZW0+KNCy0YHQtSDRjdC70LXQvNC10L3RgtGLINCyINGA0LDQt9C90YvRhSDRgdGC0YDQvtC60LDRhSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0YwnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXQnXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQsNGC0YDQuNCx0YPRgic7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQvdCw0LHQvtGAINCw0YLRgNC40LHRg9GC0L7Qsic7CiRsYW5nWydlZGl0X2F0dHJpYnNldHNfZm9yJ10gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0L3QsNCx0L7RgCDQsNGC0YDQuNCx0YPRgtC+0LIg0LTQu9GPJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINCw0YLRgNC40LHRg9GC0YsnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINC60LDRgtC10LPQvtGA0LjRjic7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ9Cg0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMINC/0L7Qu9GPINC60LDRgtC10LPQvtGA0LjQuCc7CiRsYW5nWydlZGl0X2hpZXJhcmNoeV9pdGVtJ10gPSAn0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0Y3Qu9C10LzQtdC90YIg0LjQtdGA0LDRgNGF0LjQuCc7CiRsYW5nWydlcnJvcl9hdHRyaWJzZXRfZXhpc3RzJ10gPSAn0JDRgtGA0LjQsdGD0YIg0YEg0Y3RgtC40Lwg0LjQvNC10L3QtdC8INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgic7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVfc2t1J10gPSAn0JTRg9Cx0LvQuNGA0YPQtdGC0YHRjyDQt9C90LDRh9C10L3QuNC1IFNLVSc7CiRsYW5nWydlcnJvcl9maWVsZHZhbHVlX2VtcHR5J10gPSAn0J3QtdC+0LHRhdC+0LTQuNC80L4g0LfQsNC/0L7Qu9C90LjRgtGMINC/0L7Qu9C1JzsKJGxhbmdbJ2Vycm9yX2ZpbGVmb3JtYXQnXSA9ICfQntGI0LjQsdC60LAg0YTQvtGA0LzQsNGC0LAg0YTQsNC50LvQsCc7CiRsYW5nWydlcnJvcl9maWxlbm90Zm91bmQnXSA9ICfQpNCw0LnQuyDQvdC1INC90LDQudC00LXQvSc7CiRsYW5nWydlcnJvcl9maWxlb3BlbiddID0gJ9Cd0LUg0YPQtNCw0LvQvtGB0Ywg0L7RgtC60YDRi9GC0Ywg0YTQsNC50LsgJXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmVudCddID0gJ0ludmFsaWQgUGFyZW50IChhIGhpZXJhcmNoeSBub2RlIGNhbm5vdCBiZSBpdFwncyBvd24gcGFyZW50KSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdUaGUgY3VzdG9tIGZpZWxkIHZhbHVlIGVudGVyZWQgaXMgaW52YWxpZCAoY29udGFpbnMgbm9uIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzKSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX3ZhbHVlJ10gPSAn0KPQutCw0LfQsNC90L4g0L3QtdCy0LXRgNC90L7QtSDQt9C90LDRh9C10L3QuNC1JzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ9Ce0LHRj9C30LDRgtC10LvRjNC90YvQuSDQv9Cw0YDQsNC80LXRgtGAINC/0YDQvtC/0YPRidC10L0g0LjQu9C4INGD0LrQsNC30LDQvSDQvdC10LLQtdGA0L3Qvic7CiRsYW5nWydlcnJvcl9uYW1ldXNlZCddID0gJ9Ci0L7QstCw0YAg0YEg0YLQsNC60LjQvCDQvdCw0LfQstCw0L3QuNC10Lwg0YPQttC1INGB0YPRidC10YHRgtCy0YPQtdGCJzsKJGxhbmdbJ2Vycm9yX25vZmllbGR0eXBlJ10gPSAn0J/QvtC20LDQu9GD0LnRgdGC0LAg0YPQutCw0LbQuNGC0LUg0YLQuNC/INC/0L7Qu9GPJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ9CS0Ysg0LTQvtC70LbQvdGLINGD0LrQsNC30LDRgtGMINC40LzRjyc7CiRsYW5nWydlcnJvcl9vbmVzdWJzY3JpcHRpb25maWVsZCddID0gJ09ubHkgb25lIHN1YnNjcmlwdGlvbiBmaWVsZCBpcyBhbGxvd2VkJzsKJGxhbmdbJ2Vycm9yX3Blcm1pc3Npb25kZW5pZWQnXSA9ICfQlNC+0YHRgtGD0L8g0LfQsNC/0YDQtdGJ0LXQvSc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X2FsaWFzdXNlZCddID0gJ9Cj0LrQsNC30LDQvdGL0Lkg0LDQu9C40LDRgSDRg9C20LUg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICfQotC+0LLQsNGAINGBINGC0LDQutC40Lwg0L3QsNC30LLQsNC90LjQtdC8INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgic7CiRsYW5nWydlcnJvcl9wcm9kdWN0X25vdGZvdW5kJ10gPSAn0JfQsNC/0YDQsNGI0LjQstCw0LXQvNGL0Lkg0YLQvtCy0LDRgCDQvdC1INC90LDQudC00LXQvSc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X3NrdXVzZWQnXSA9ICdUaGF0IFNLVSB2YWx1ZSBpcyBhbHJlYWR5IGluIHVzZSBieSBhbm90aGVyIHByb2R1Y3QnOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ0ludmFsaWQgcHJpY2UgYWRqdXN0bWVudCB2YWx1ZSBmb3IgaXRlbSAlcyc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnVXBsb2FkIGZhaWxlZDogJXMnOwokbGFuZ1snZXhwaXJlX3NpeF9tb250aHMnXSA9ICdBZnRlciBTaXggTW9udGhzJzsKJGxhbmdbJ2V4cGlyZV9vbmVfeWVhciddID0gJ0FmdGVyIE9uZSBZZWFyJzsKJGxhbmdbJ2V4cGlyZV90d29feWVhciddID0gJ0FmdGVyIFR3byBZZWFycyc7CiRsYW5nWydleHRyYTEnXSA9ICfQlNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC1INC/0L7Qu9C1IDEnOwokbGFuZ1snZXh0cmEyJ10gPSAn0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7QtSDQv9C+0LvQtSAyJzsKJGxhbmdbJ2ZpZWxkJ10gPSAn0J/QvtC70LUnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdGaWVsZCBEZWZpbml0aW9uJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ9Cf0L7Qu9GPJzsKJGxhbmdbJ2ZpbGUnXSA9ICfQpNCw0LnQuyc7CiRsYW5nWydmaWx0ZXJzJ10gPSAn0KTQuNC70YzRgtGAJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICfQntCx0YnQuNC1INC90LDRgdGC0YDQvtC50LrQuCc7CiRsYW5nWydnbyddID0gJ0dvJzsKJGxhbmdbJ2hpZXJhcmNoeSddID0gJ9CY0LXRgNCw0YDRhdC40Y8nOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAn0J/QvtC30LjRhtC40Y8g0LIg0LjQtdGA0LDRgNGF0LjQuCc7CiRsYW5nWydoaWVyYXJjaHlfc2V0dGluZ3MnXSA9ICdIaWVyYXJjaHkgU2V0dGluZ3MnOwokbGFuZ1snaWQnXSA9ICcg0JrQvtC0JzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ9CY0LfQvtCx0YDQsNC20LXQvdC40LUnOwokbGFuZ1snaW1hZ2VfaGFuZGxpbmdfc2V0dGluZ3MnXSA9ICdJbWFnZSBIYW5kbGluZyBTZXR0aW5ncyc7CiRsYW5nWydpbXBvcnRfZnJvbV9jc3YnXSA9ICfQmNC80L/QvtGA0YIg0L/RgNC+0LTRg9C60YLQvtCyINC40LcgQ1NWINGE0LDQudC70LAnOwokbGFuZ1snaW5jaGVzJ10gPSAnSW5jaGVzJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICfQktC60LvRjtGH0LDRgtGMINC/0L7QtNC60LDRgtC10LPQvtGA0LjQuD8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICfQotC+0LvRjNC60L4g0LvQsNGC0LjQvdGB0LrQuNC1INCx0YPQutCy0LXQvdC90L4t0YbQuNGE0YDQvtCy0YvQtSDRgdC40LzQstC+0LvRiy4g0JHQtdC3INC/0YDQvtCx0LXQu9C+0LIsINC60LDQstGL0YfQutC4LCDQuNC70Lgg0L3QtdC/0LXRh9Cw0YLQsNC10LzRi9GFINGB0LjQvNCy0L7Qu9C+0LInOwokbGFuZ1snaW5mb19hdHRyaWJ0ZW1wbGF0ZSddID0gJ1Bvc3NpYmxlIHZhcmlhYmxlcyBhcmU6IHskYXR0cmliX3RleHR9LHskYXR0cmliX2FkanVzdH0seyRjdXJyZW5jeV9zeW1ib2x9JzsKJGxhbmdbJ2luZm9fYXR0cmlidXRlc19jb3BpZWQnXSA9ICdBdHRyaWJ1dGVzIENvcGllZCc7CiRsYW5nWydpbmZvX2F1dG93YXRlcm1hcmsnXSA9ICfQn9Cw0YDQsNC80LXRgtGA0Ysg0LLQvtC00L3Ri9GFINC30L3QsNC60L7QsiDRg9GB0YLQsNC90LDQstC70LjQstCw0Y7RgtGM0YHRjyDQuNC3IENHRXh0ZW5zaW9ucyDQvNC+0LTRg9C70Y8nOwokbGFuZ1snaW5mb19iYXRjaHNpemUnXSA9ICdTZXQgdGhlIG51bWJlciBvZiBsaW5lcyB0byBwcm9jZXNzIHBlciAiYmF0Y2giLiAgQWZ0ZXIgYSBiYXRjaCBpcyBjb21wbGV0ZSwgdGhlIGltcG9ydGVyIHdpbGwgcmVkaXJlY3QsIGFuZCByZXN1bWUgb3BlcmF0aW9ucy4gIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIG1lbW9yeSBlcnJvcnMsIG9yIHRpbWVvdXQgcHJvYmxlbXMgZHVlIHRvIGxhcmdlIGFtb3VudHMgb2YgcHJvY2Vzc2luZywgeW91IG1heSBuZWVkIHRvIGNvbnN1bHQgeW91ciBob3N0IHByb3ZpZGVyLCBvciByZWR1Y2UgdGhpcyBudW1iZXInOwokbGFuZ1snaW5mb19jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdUaGVzZSBwYXJhbWV0ZXJzIGFyZSBnaXZlbiB0byB0aGUgc2VsZWN0ZWQgY2FydCBtb2R1bGUgZnJvbSB0aGUgcHJvZHVjdCBkZXRhaWwgYW5kIHN1bW1hcnkgZGlzcGxheXMnOwokbGFuZ1snaW5mb19jb3B5X2F0dHJpYnNldHMnXSA9ICdUaGlzIGFjdGlvbiB3aWxsIGNvcHkgQXR0cmlidXRlIHNldHMgKGV4Y2x1ZGluZyBza3UgdmFsdWVzKSBmcm9tIGFub3RoZXIgcHJvZHVjdC4nOwokbGFuZ1snaW5mb19jcmVhdGVmaWVsZHMnXSA9ICdDcmVhdGUgdW5rbm93biBwcm9kdWN0IGZpZWxkcyBhdXRvbWF0aWNhbGx5PyA8ZW0+KFRoZXkgd2lsbCBiZSBjcmVhdGVkIGFzIHRleHQgZmllbGRzKTwvZW0+JzsKJGxhbmdbJ2luZm9fY3JlYXRlY2F0ZWdvcmllcyddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHByb2R1Y3QgY2F0ZWdvcmllcyB0byBtYXRjaCB0aG9zZSBvZiB0aGUgQ1NWIGZpbGUsIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QnOwokbGFuZ1snaW5mb19jcmVhdGVoaWVyYXJjaHknXSA9ICdBdXRvbWF0aWNhbGx5IGNyZWF0ZSBwcm9kdWN0IGhpZXJhcmNoaWVzIHRvIG1hdGNoIHRob3NlIG9mIHRoZSBDU1YgZmlsZSBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0JzsKJGxhbmdbJ2luZm9fZGVjaW1hbF91bml0cyddID0gJ9CSINC60LDRh9C10YHRgtCy0LUg0LTQtdGB0Y/RgtC40YfQvdC+0LPQviDRgNCw0LfQtNC10LvQuNGC0LXQu9GPINC40YHQv9C+0LvRjNC30YPQudGC0LUg0YLQvtGH0LrRgyAoLikg0L3QsNC/0YDQuNC80LXRgDogPHN0cm9uZz4gNTkuOTAgPC8gU1RST05HPic7CiRsYW5nWydpbmZvX2RlbGltaXRlciddID0gJ1NwZWNpZnkgdGhlIGNoYXJhY3RlciAob3IgY2hhcmFjdGVycykgdGhhdCBzZXBlcmF0ZSBlYWNoIGZpZWxkJzsKJGxhbmdbJ2luZm9fZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdTcGVjaWZ5IGhvdyB0aGUgc3lzdGVtIHNob3VsZCBoYW5kbGUgYSBwcm9kdWN0IHdob3MgbmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgQ1NWIGZpbGUnOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz7Qn9GA0LjQvNC10YfQsNC90LjQtTogPC9zdHJvbmc+INCS0YHQtSDQv9C+0LvRjyDQvtC/0YDQtdC00LXQu9GP0LXQvNGL0LUg0LfQtNC10YHRjCDQtNC+0YHRgtGD0L/QvdGLINC00LvRjyDQstGB0LXRhSDRgtC+0LLQsNGA0L7Qsi4nOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAn0JLQvtC30L3QuNC60LvQuCDQv9GA0L7QsdC70LXQvNGLINC/0YDQuCDRgNCw0LHQvtGC0LUg0YEg0L7QtNC90LjQvCDQuNC70Lgg0LHQvtC70LXQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70YzRgdC60LjRhSDQv9C+0LvQtdC5LiDQtNC10LnRgdGC0LLQuNC1INC30LDQstC10YDRiNC10L3QviDRg9GB0L/QtdGI0L3Qviwg0L7QtNC90LDQutC+INCy0Ysg0LTQvtC70LbQvdGLINC40LfRg9GH0LjRgtGMINC4INC40YHQv9GA0LDQstC40YLRjCDRjdGC0Lgg0L/RgNC+0LHQu9C10LzRiy4nOwokbGFuZ1snaW5mb19oYW5kbGVpbWFnZXMnXSA9ICdVcG9uIGltcG9ydCwgaWYgYW4gaW1hZ2UgZmlsZW5hbWUgaXMgZm91bmQgaW4gYSBmaWVsZCBjb2x1bW4sIHNob3VsZCBpdCBiZSBtb3ZlZCBmcm9tIHRoZSBzb3VyY2UgbG9jYXRpb24sIHdhdGVybWFya2VkLCB0aHVtYm5haWxlZCwgYW5kIHRoZSBmaWVsZCB0eXBlIGNoYW5nZWQgdG8gImltYWdlIic7CiRsYW5nWydpbmZvX2hpZXJwYWdlJ10gPSAnVXNlIHRoaXMgcGFnZSBmb3IgaGllcmFyY2h5IHZpZXdzLiAgVGhlIHBhZ2VpZCB3aWxsIG5vdCBiZSBzcGVmaXJpZWQgb24gdGhlIFVSTC4nOwokbGFuZ1snaW5mb19pbWFnZXBhdGgnXSA9ICdUaGUgcGF0aCAocmVsYXRpdmUgdG8gdGhlIHVwbG9hZHMgZGlyZWN0b3J5KSB3aGVyZSBpbWFnZXMgcmVmZXJyZWQgdG8gaW4gdGhlIGltcG9ydCBmaWxlLCBjYW4gYmUgZm91bmQnOwokbGFuZ1snaW5mb19pbXBvcnRfdGVzdF9wYXNzZWQnXSA9ICdBIGJyaWVmIHRlc3QgYXMgYmVlbiBwZXJmb3JtZWQgb24gdGhlIGlucHV0IGZpbGUgc3BlY2lmaWVkLCBhbmQgZXZlcnl0aGluZyBhcHBlYXJzIHRvIGJlIGNvcnJlY3QuPGJyLz5UaGlzIGlzIG5vIGluZGljYXRpb24gdGhhdCB0aGVyZSBhcmUgbm8gZXJyb3JzIGluIHRoZSBmaWxlLic7CiRsYW5nWydpbmZvX3ByZXR0eWhpZXJ1cmxzJ10gPSAnSW5jbHVkZSB0aGUgaGllcmFyY2h5IGl0ZW0gbmFtZSBvbiB0aGUgVVJMJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ9CU0L7Qv9GD0YHRgtC40LzRi9C1INC30L3QsNGH0LXQvdC40Y8gKy0qIy4jIyc7CiRsYW5nWydpbmZvX3Byb2Rub3Rmb3VuZCddID0gJ1RoaXMgb3B0aW9uIGRldGVybWluZXMgdGhlIGJlaGF2aW91ciBvZiB0aGUgd2Vic2l0ZSBpZiBhIHByb2R1Y3QgZGV0YWlsIHZpZXcgaXMgYWNjZXNzZWQgZGlyZWN0bHkgYnkgVVJMLCBhbmQgdGhhdCBwcm9kdWN0IGZvciB3aGF0ZXZlciByZWFzb24gKGRpc2FibGVkLCBkZWxldGVkLCBldGMpIGNhbm5vdCBiZSBhY2Nlc3NlZC4nOwokbGFuZ1snaW5mb19wdWJsaWNmaWVsZCddID0gJ9Cf0YPQsdC70LjRh9C90YvQtSDQv9C+0LvRjyDQtNC+0YHRgtGD0L/QvdGLINC00LvRjyDQv9GA0L7RgdC80L7RgtGA0LAg0L/QvtGB0LXRgtC40YLQtdC70Y/QvNC4JzsKJGxhbmdbJ2xhYmVsJ10gPSAn0J/QvtC00L/QuNGB0YwnOwokbGFuZ1snbGFiZWxfc2tpcCddID0gJ9Cf0YDQvtC/0YPRgdGC0LjRgtGMJzsKJGxhbmdbJ2xhYmVsX292ZXJ3cml0ZSddID0gJ9Cf0LXRgNC10LfQsNC/0LjRgdCw0YLRjCc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICfQmNC30LzQtdC90LXQvSc7CiRsYW5nWydsb2dvdGV4dCddID0gJ9CS0YLQvtGA0L7QtSDQuNC30L7QsdGA0LDQttC10L3QuNC1JzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoIDxlbT4oYXBwbGljYWJsZSBvbmx5IG9uIHRleHRib3ggZmllbGRzKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ9CY0LfQvNC10L3QtdC9JzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ0EgbW9kdWxlIGZvciBtYW5hZ2luZyBhIGNhdGFsb2cgb2YgcHJvZHVjdHMsIHRoZWlyIHByaWNlLCBpbWFnZXMsIGV0YywgYW5kIGZvciBhbGxvd2luZyB1c2VycyB0byBidWlsZCBhIGNhcnQnOwokbGFuZ1snbW92ZV9kb3duJ10gPSAnTW92ZSBEb3duJzsKJGxhbmdbJ21vdmVfdXAnXSA9ICdNb3ZlIFVwJzsKJGxhbmdbJ25hbWUnXSA9ICfQndCw0LfQstCw0L3QuNC1JzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnWW91IGRvIG5vdCBoYXZlIHRoZSByZXF1aXJlZCBwZXJtaXNzaW9uOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ9Cd0L7QstC+0LUg0L3QsNC30LLQsNC90LjQtSDQutCw0YLQtdCz0L7RgNC40LgnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vJ10gPSAn0J3QtdGCJzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnTm8gbmFtZSB3YXMgc3VwcGxpZWQnOwokbGFuZ1snbm9uZSddID0gJzzQndC10YI+JzsKJGxhbmdbJ29mJ10gPSAn0JjQtyc7CiRsYW5nWydwYWdlJ10gPSAn0KHRgtGA0LDQvdC40YbQsCc7CiRsYW5nWydwYWdlX29mJ10gPSAn0KHRgtGA0LDQvdC40YbQsCAlcyDQuNC3ICVzJzsKJGxhbmdbJ3BhZ2VfbGltaXQnXSA9ICfQn9GA0L7QtNGD0LrRgtC+0LIg0L3QsCDRgdGC0YDQsNC90LjRhtC1JzsKJGxhbmdbJ3BhcmFtX2FjdGlvbiddID0gJ1NwZWNpZnkgdGhlIGJlaGF2aW91ciBvZiB0aGUgbW9kdWxlLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPmhpZXJhcmNoeSAtLSBEaXNwbGF5IGEgcHJvZHVjdCBsaXN0IGJ5IGhpZXJhcmNoeTwvbGk+DQogIDxsaT5jYXRlZ29yeWxpc3QgLSBEaXNwbGF5IGEgbGlzdCBvZiBwcm9kdWN0IGNhdGVnb3JpZXM8L2xpPg0KICA8bGk+PGVtPmRlZmF1bHQ8L2VtPiAtIERpc3BsYXkgYSBzdW1tYXJ5IG9mIHByb2R1Y3RzPC9saT4NCiAgPGxpPmRldGFpbHMgLSBEaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgcHJvZHVjdDwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ1doZW4gdXNlZCBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgbWF0Y2ggdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgY2F0ZWdvcnkgd2lsbCBiZSB1c2VkIHRvIGRpc3BsYXkgb25seSB0aG9zZSBwcm9kdWN0cyB0aGF0IGFyZSBpbiB0aGF0IGNhdGVnb29yeS4gKGEgY29tbWEgc2VwZXJhdGVkIGxpc3QgY2FuIGJlIHN1cHBsaWVkKSc7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3RkdGx0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5IG9mIHRoZSBjYXRlZ29yeSBkZXRhaWxzLiAgVGhpcyB1c2VzIGEgY2F0ZWdvcnkgbGlzdCB0ZW1wbGF0ZS4uICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnVGhpcyBzcGVjaWZpZXMgdGhlIHBhZ2VpZCBvciBhbGlhcyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGV0YWlsIG1vZGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9maWVsZCddID0gJ1VzZWQgb25seSBpbiB0aGUgPGVtPmZpZWxkbGlzdDwvZW0+IHRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgYSB1c2VyIGRlZmluZWQgcHJvcGVydHkgdG8gY3JlYXRlIGEgbGlzdCBmcm9tLic7CiRsYW5nWydwYXJhbV9maWVsZHZhbCddID0gJ1VzZWQgb25seSBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZmllbGQgdmFsdWUgdG8gbGltaXQgcmVzdWx0cyBieS4gIFNwZWNpYWwgdmFsdWVzIGZvciB0aGlzIGZpZWxkIGFyZSAiOjpudWxsOjoiICI6Om5vdG51bGw6OiInOwokbGFuZ1sncGFyYW1faGllcmFyY2h5J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCBvbmx5IGl0ZW1zIGluIHRoYXQgbG9jYXRpb24gb2YgdGhlIGhpZXJhcmNoeSBzaG91bGQgYmUgZGlzcGxheWVkLiAgV2lsZGNhcmQgY2hhcmFjdGVyIGNhbiBiZSB1c2VkIHNvIHRoYXQgeW91IGNhbiBzcGVjaWZ5IHBhcmVudC9jaGlsZCByZWxhdGlvbnNoaXBzIGFzIHdlbGwuICBpLmUge1Byb2R1Y3RzIGhpZXJhcmNoeT1cJ3RydWNrcypcJ30gd2lsbCBjcmVhdGUgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBpbmNsdWRpbmcgdGhlIGNoaWxkcmVuIGluIHRoZSBoaWVyYXJjaHkuICBTaW1pbGFybHksIHtQcm9kdWN0cyBoaWVyYXJjaHk9XCcqdHJ1Y2tzXCd9IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGFuZCBhbGwgcHJvZHVjdHMgYmVsb2dpbmcgdG8gYW55IHBhcmVudCBpbiB0aGUgaGllcmFyY2h5Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGhpZXJhcmNoeSBkaXNwbGF5LiBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1faW5saW5lJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgdGhlIG91dHB1dCBvZiB0aGUgc3VtbWFyeSB2aWV3IHNob3VsZCBiZSBkaXNwbGF5ZWQgaW5saW5lJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgaG93IG1hbnkgaXRlbXMgc2hvdWxkIGJlIGxpc3RlZCBvbiBlYWNoIHBhZ2UuJzsKJGxhbmdbJ3BhcmFtX3BhcmVudCddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+aGllcmFyY2h5PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGhpZXJhcmNoeSBpZCBvZiB0aGUgc3RhcnRpbmcgbG9jYXRpb24gb2YgdGhlIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGlkJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgZGV0YWlsIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHdoYXQgcHJvZHVjdCB0byB1c2UgZm9yIHRoZSBkaXNwbGF5Lic7CiRsYW5nWydwYXJhbV9wcm9kdWN0bGlzdCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCAoc3VtbWFyeSkgdmlldywgdGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBpbnRlZ2VyIHByb2R1Y3QgaWRzIHRvIGRpc3BsYXkuICBObyBwYWdpbmF0aW9uIG9yIHNvcnRpbmcgaXMgcGVyZm9ybWVkIG9uIHRoZXNlIHZhbHVlcywgYW5kIGlmIHNwZWNpZmllZCB0aGUgb3RoZXIgZmlsdGVyaW5nIHBhcmFtZXRlcnMgdG8gdGhlIHN1bW1hcnkgdmlldyBhcmUgaWdub3JlZC4nOwokbGFuZ1sncGFyYW1fcmVzdWx0cGFnZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoLCBhbmQgY2F0ZWdvcnkgbGlzdCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgYSBwYWdlIGlkIG9yIGFsaWFzIHRvIHVzZSB0byBkaXNwbGF5IHRoZSBzdW1tYXJ5IHJlc3VsdHMnOwokbGFuZ1sncGFyYW1fc2VhcmNoZmllbGQnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIHNlYXJjaCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIG1heSBjb250YWluIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgZmllbGQgbmFtZXMgdG8gaW5jbHVkZSBpbiB0aGUgc2VhcmNoJzsKJGxhbmdbJ3BhcmFtX3NlYXJjaGZvcm10ZW1wbGF0ZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpc3BhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG5vbiBkZWZhdWx0IHNlYXJjaCBmb3JtIHRlbXBsYXRlJzsKJGxhbmdbJ3BhcmFtX3Nob3dhbGwnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGNhdGVnb3J5bGlzdCBhbmQgZmllbGRsaXN0IGFjdGlvbnMsIGlmIHRoaXMgcGFyYW1ldGVyIGlzIHNldCB0byBhIG5vbiAwIGludGVnZXIgdmFsdWUgYWxsIGNhdGVnb3JpZXMgKGV2ZW4gdGhvc2Ugd2l0aG91dCBwcm9kdWN0cykgd2lsbCBiZSBkaXNwbGF5ZWQuJzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ1NwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnQXBwbGljYWJsZSBvbmx5IGluIHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIgZGV0ZXJtaW5lcyB0aGUgc29ydGluZyBvZiB0aGUgb3V0cHV0IHByb2R1Y3RzLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+PC9saT4NCiAgPGxpPmlkIC0tIFRoZSBwcm9kdWN0IGlkPC9saT4NCiAgPGxpPndlaWdodCAtLSBUaGUgcHJvZHVjdCB3ZWlnaHQ8L2xpPg0KICA8bGk+cHJpY2UgLS0gVGhlIHByb2R1Y3QgYmFzZSBwcmljZTwvbGk+DQogIDxsaT5zdGF0dXMgLS0gRHJhZnQgb3IgcHVibGlzaGVkPC9saT4NCiAgPGxpPnJhbmRvbSAtLSBEaXNwbGF5IGluIHJhbmRvbSBvcmRlciBvbiBlYWNoIHJlcXVlc3Q8L2xpPg0KICA8bGk+Y3JlYXRlZCAtLSBUaGUgY3JlYXRpb24gZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQogIDxsaT5tb2RpZmllZCAtLSBUaGUgbW9kaWZpZWQgZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0dHlwZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCBzdW1tYXJ5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGlzIHVzZWQgdG8gY29udmVydCB0aGUgdmFsdWVzIHRvIGFub3RoZXIgdHlwZSBmb3Igc29ydGluZy4gIHZhbGlkIHZhbHVlcyBhcmUgU1RSSU5HLFNJR05FRCBhbmQgVU5TSUdORUQuICBJZiBub3Qgc3VwcGxpZWQgdGhlIGRlZmF1bHQgU1RSSU5HIHR5cGUgaXMgYXNzdW1lZC4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXBhZ2UnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGFjdGlvbj1oaWVyYXJjaHksIGFsbG93cyBzcGVjaWZ5aW5nIGEgcGFnZSBpZCBvciBhbGlhcyB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgYW55IGxpbmtzIHRvIHN1bW1hcnkgdmlldyc7CiRsYW5nWydwYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBzdW1tYXJ5IG1vZGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJlbnQnXSA9ICfQoNC+0LTQuNGC0LXQu9GMJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnVGhlIFByb2R1Y3RzIG1vZHVsZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUaGUgUHJvZHVjdHMgbW9kdWxlIGhhcyBiZWVuIHJlbW92ZWQgYWxvbmcgd2l0aCBhbGwgYXNzb2NpYXRlZCBkYXRhJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAn0J3QsNGB0YLRgNC+0LnQutC4JzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1JlbW92aW5nIHRoaXMgbW9kdWxlIHdpbGwgYWxzbyByZW1vdmUgYWxsIGFzc29jaWF0ZWQgZGF0YSwgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHByb2NlZWQ/JzsKJGxhbmdbJ3ByaWNlJ10gPSAn0KbQtdC90LAnOwokbGFuZ1sncHJpY2VfYWRqdXN0bWVudCddID0gJ9Ca0L7RgNGA0LXQutGC0LjRgNC+0LLQutCwINGG0LXQvSc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJvZHVjdCddID0gJ9Ci0L7QstCw0YAnOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICfQndCw0LfQstCw0L3QuNC1JzsKJGxhbmdbJ3Byb2R1Y3RzJ10gPSAn0KLQvtCy0LDRgNGLJzsKJGxhbmdbJ3Byb2R1Y3RfZGV0YWlsX3NldHRpbmdzJ10gPSAnUHJvZHVjdCBEZXRhaWwgU2V0dGluZ3MnOwokbGFuZ1sncHJvZHVjdF9lZGl0aW5nX3NldHRpbmdzJ10gPSAnUHJvZHVjdCBFZGl0aW5nIFNldHRpbmdzJzsKJGxhbmdbJ3Byb2R1Y3Rfc3VtbWFyeV9zZXR0aW5ncyddID0gJ1Byb2R1Y3QgU3VtbWFyeSBTZXR0aW5ncyc7CiRsYW5nWydwcm9kdWN0X2hpZXJhcmNoeSddID0gJ9CY0LXRgNCw0YDRhdC40Y8g0JrQsNGC0LDQu9C+0LPQsCc7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICfQo9C/0YDQsNCy0LvQtdC90LjQtSDQv9GA0L7QtNGD0LrRgtCw0LzQuCc7CiRsYW5nWydwcm9ncmVzcyddID0gJ1Byb2dyZXNzJzsKJGxhbmdbJ3Byb21wdCddID0gJ9Cf0L7QtNGB0LrQsNC30LrQsCc7CiRsYW5nWydwcm9tcHRfYWRkX2F0dHJpYnNldCddID0gJ0FkZC9FZGl0IEF0dHJpYnV0ZSBTZXQnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfZmlsZXR5cGVzJ10gPSAn0KDQsNC30YDQtdGI0LjRgtGMINC30LDQs9GA0YPQttCw0YLRjCDRhNCw0LnQu9GLINGBINGA0LDRgdGI0LjRgNC10L3QuNGP0LzQuCAo0LTQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNGFINC/0L7Qu9C10Lkg0YLQuNC/0LAgItGE0LDQudC7IiknOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcyddID0gJ9Cg0LDQt9GA0LXRiNC40YLRjCDQt9Cw0LPRgNGD0LbQsNGC0Ywg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDRgSDRjdGC0LjQvNC4INGA0LDRgdGI0LjRgNC10L3QuNGP0LzQuCAo0LTQu9GPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNGFINC/0L7Qu9C10Lkg0YLQuNC/0LAgItC40LfQvtCx0YDQsNC20LXQvdC40LUiKSc7CiRsYW5nWydwcm9tcHRfYXR0cmlidGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBmb3IgZGlzcGxheSBvZiBwcm9kdWN0IGF0dHJpYnV0ZSB2YWx1ZXMgaW4gZHJvcGRvd24nOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWwnXSA9ICfQkNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDRgdC+0LfQtNCw0LLQsNGC0Ywg0Y3RgdC60LjQt9GLINC40LfQvtCx0YDQsNC20LXQvdC40LknOwokbGFuZ1sncHJvbXB0X2F1dG90aHVtYm5haWxfc2l6ZSddID0gJ01heGltdW0gc2l6ZSAobGFyZ2VzdCBkaW1lbnNpb24pIG9mIHRoZSB0aHVtYm5haWwuJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZyddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHByZXZpZXcgaW1hZ2VzIG9mIGltYWdlcyc7CiRsYW5nWydwcm9tcHRfYXV0b3ByZXZpZXdpbWdfc2l6ZSddID0gJ01heGltdW0gc2l6ZSAobGFyZ2VzdCBkaW1lbnNpb24pIG9mIHRoZSBwcmV2aWV3IGltYWdlLic7CiRsYW5nWydwcm9tcHRfYXV0b3dhdGVybWFyayddID0gJ9CQ0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4INGB0YLQsNCy0LjRgtGMINCy0L7QtNGP0L3Ri9C1INC30L3QsNC60Lgg0L3QsCDQuNC30L7QsdGA0LDQttC10L3QuNGP0YUnOwokbGFuZ1sncHJvbXB0X2FwcGxpY2FibGUnXSA9ICdFbmFibGUgYnkgZGVmYXVsdCBmb3IgYWxsIG5ldyBwcm9kdWN0cyc7CiRsYW5nWydwcm9tcHRfYmF0Y2hzaXplJ10gPSAnQmF0Y2ggU2l6ZSc7CiRsYW5nWydwcm9tcHRfY2FydF9tb2R1bGUnXSA9ICfQnNC+0LTRg9C70Ywg0LrQvtGA0LfQuNC90YsnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ9Cf0LDRgNC80LXRgtGA0Ysg0LzQvtC00YPQu9GPINC60L7RgNC30LjQvdGLJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVjYXRlZ29yaWVzJ10gPSAnQ3JlYXRlIENhdGVnb3JpZXMnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWZpZWxkcyddID0gJ0NyZWF0ZSBQcm9kdWN0IEZpZWxkcz8nOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWhpZXJhcmNoeSddID0gJ0NyZWF0ZSBQcm9kdWN0IEhpZXJhcmNoeSc7CiRsYW5nWydwcm9tcHRfY3N2ZmlsZSddID0gJ9CX0LDQs9GA0YPQt9C40YLRjCBDVlMg0YTQsNC50LsnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5Y29kZSddID0gJ9Ca0L7QtCDQstCw0LvRjtGC0YsnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5c3ltYm9sJ10gPSAn0KHQuNC80LLQvtC7INCy0LDQu9GO0YLRiyc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICfQn9C+INGD0LzQvtC70YfQsNC90LjRjiDQstGB0LUg0L3QvtCy0YvQtSDQv9GA0L7QtNGD0LrRgtGLINC40LzQtdGO0YIg0YHRgtCw0YLRg9GBJzsKJGxhbmdbJ3Byb21wdF9kZWZhdWx0X3RheGFibGUnXSA9ICfQn9C+INGD0LzQvtC70YfQsNC90LjRjiDQstGB0LUg0L3QvtCy0YvQtSDQv9GA0L7QtNGD0LrRgtGLINC+0LHQu9Cw0LPQsNGO0YLRgdGPINC90LDQu9C+0LPQvtC8JzsKJGxhbmdbJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnXSA9ICfQo9C00LDQu9GP0YLRjCDQstGB0LUg0YTQsNC50LvRiywg0YHQstGP0LfQsNC90L3Ri9C1INGBINC/0YDQvtC00YPQutGC0L7QvCwg0LrQvtCz0LTQsCDQv9GA0L7QtNGD0LrRgiDQsdGD0LTQtdGCINGD0LTQsNC70LXQvT8nOwokbGFuZ1sncHJvbXB0X2RlbGltaXRlciddID0gJ0ZpZWxkIERlbGltaXRlcic7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ9Ch0YLRgNCw0L3QuNGG0LAg0L7Qv9C40YHQsNC90LjRjyDRgtC+0LLQsNGA0LAg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1sncHJvbXB0X2RldGFpbHNmb3InXSA9ICdEZXRhaWxzIGZvciAlcyc7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdIb3cgdG8gaGFuZGxlIGR1cGxpY2F0ZSBwcm9kdWN0cz8nOwokbGFuZ1sncHJvbXB0X2ZhbHNlJ10gPSAnRmFsc2UnOwokbGFuZ1sncHJvbXB0X2hhbmRsZWltYWdlcyddID0gJ0hhbmRsZSBpbWFnZXM/JzsKJGxhbmdbJ3Byb21wdF9pbWFnZXBhdGgnXSA9ICdJbWFnZSBQYXRoJzsKJGxhbmdbJ3Byb21wdF9sZW5ndGh1bml0cyddID0gJ0xlbmd0aCBVbml0cyc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfYmVoYXZpb3InXSA9ICdXaGF0IGFjdGlvbiBzaG91bGQgYmUgdGFrZW4gd2hlbiBhIHByb2R1Y3QgY2Fubm90IGJlIGRpc3BsYXllZD8nOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kXzQwNCddID0gJ0dlbmVyYXRlIGEgNDA0IGVycm9yJzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF8zMDEnXSA9ICdHZW5lcmF0ZSBhIDMwMSByZWRpcmVjdCc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfZXJyb3Jtc2cnXSA9ICdEaXNwbGF5IGFuIGVycm9yIG1lc3NhZ2UnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX21zZyddID0gJ0Vycm9yIG1lc3NhZ2UgZm9yIHdoZW4gYSBwcm9kdWN0IGNhbm5vdCBiZSBmb3VuZCc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfcGFnZSddID0gJ1BhZ2UgdG8gZG8gcGVybWFuZW50IHJlZGlyZWN0IHRvPyc7CiRsYW5nWydwcm9tcHRfaGllcnBhZ2UnXSA9ICdEZWZhdWx0IFBhZ2UgZm9yIEhpZXJhcmNoeSBWaWV3JzsKJGxhbmdbJ3Byb21wdF9wcmV0dHloaWVydXJscyddID0gJ1VzZSBQcmV0dHkgVVJMUyB0byBIaWVyYXJjaHkgVmlld3MnOwokbGFuZ1sncHJvbXB0X3Byb2RfZGV0YWlscGFnZSddID0gJ0RlZmF1bHQgUGFnZSBmb3IgUHJvZHVjdCBEZXRhaWwgVmlld3MnOwokbGFuZ1sncHJvbXB0X3Byb2R1Y3RzX21hdGNoaW5nJ10gPSAnUHJvZHVjdHMgbWF0Y2hpbmcgJXMnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlwYWdlbGltaXQnXSA9ICdEZWZhdWx0IHBhZ2UgbGltaXQgaW4gc3VtbWFyeSBtb2RlJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAn0J/QvtGA0Y/QtNC+0Log0YHQvtGA0YLQuNGA0L7QstC60Lgg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0LIg0YHRg9C80LzQsNGA0L3QvtC8INGA0LXQttC40LzQtSc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICfQn9C+0LvRjyDRgdC+0YDRgtC40YDQvtCy0LrQuCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiDQsiDRgdGD0LzQvNCw0YDQvdC+0Lwg0YDQtdC20LjQvNC1JzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIFNvdXJjZSc7CiRsYW5nWydwcm9tcHRfdHJ1ZSddID0gJ1RydWUnOwokbGFuZ1sncHJvbXB0X3VybHByZWZpeCddID0gJ1ByZWZpeCB0byB1c2Ugb24gYWxsIFVSTFMgdGFyZ2V0ZWQgdG8gdGhpcyB0aGlzIG1vZHVsZSc7CiRsYW5nWydwcm9tcHRfdXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCddID0gJ1VzZSB0aGlzIHBhZ2UgZm9yIHNlYXJjaCByZXN1bHRzIHRvbyA8ZW0+KG92ZXJyaWRlcyB0aGUgc2VhcmNocmVzdWx0cyBwYWdlIHBhcmFtZXRlciBpbiB0aGUgc2VhcmNoIG1vZHVsZSk8L2VtPic7CiRsYW5nWydwcm9tcHRfdXNlaGllcnBhdGh1cmxzJ10gPSAnVXNlIEhpZXJhcmNoeSBQYXRoIGluIFByb2R1Y3QgRGV0YWlsIFVSTFMnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAn0JXQtNC40L3QuNGG0LAg0LLQtdGB0LAnOwokbGFuZ1sncHVibGljJ10gPSAn0K/QstC70Y/QtdGC0YHRjyDQu9C4INGN0YLQviDQv9C+0LvQtSDQv9GD0LHQu9C40YfQvdGL0Lw/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ9Ce0L/Rg9Cx0LvQuNC60L7QstCw0L0nOwokbGFuZ1sncmFuZG9tJ10gPSAnUmFuZG9tJzsKJGxhbmdbJ3Jlc2V0dG9mYWN0b3J5J10gPSAnUmVzZXQgdG8gRmFjdG9yeSBWYWx1ZXMnOwokbGFuZ1sncmV0dXJuJ10gPSAn0J3QsNC30LDQtCc7CiRsYW5nWydyZXR1cm5fdG9fdG9wJ10gPSAnUmV0dXJuIHRvIHRoZSB0b3Agb2YgdGhlIHZpZXcnOwokbGFuZ1sncm9vdCddID0gJ9Ca0LDRgtCw0LvQvtCzJzsKJGxhbmdbJ3NlYXJjaF9kZXNjcmlwdGlvbiddID0gJ1NlYXJjaCBQcm9wZXJ0eSBEZXNjcmlwdGlvbic7CiRsYW5nWydzZWFyY2hfZXhwciddID0gJ1Nob3VsZCB0aGUgcXVlcnkgbWF0Y2ggYWxsLCBvciBhbnkgb2YgdGhlIHRlc3RzIGJlbG93Pyc7CiRsYW5nWydzZWFyY2hfbmFtZSddID0gJ1NlYXJjaCBQcm9wZXJ0eSBOYW1lJzsKJGxhbmdbJ3NlYXJjaF9wcmljZSddID0gJ1ByaWNlIFJhbmdlJzsKJGxhbmdbJ3NlYXJjaHRlbXBsYXRlX2FkZGVkaXQnXSA9ICdBZGQvRWRpdCBTZWFyY2ggRm9ybSBUZW1wbGF0ZSc7CiRsYW5nWydzZWFyY2h0ZW1wbGF0ZXMnXSA9ICdTZWFyY2ggVGVtcGxhdGVzJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdTZWxlY3QgT25lJzsKJGxhbmdbJ3NrdSddID0gJ1NLVSc7CiRsYW5nWydzb3J0X2J5J10gPSAn0KHQvtGA0YLQuNGA0L7QstCw0YLRjCDQv9C+JzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICfQn9C+0YDRj9C00L7QuiDRgdC+0YDRgtC40YDQvtCy0LrQuCc7CiRsYW5nWydzb3VyY2UnXSA9ICdTb3VyY2UnOwokbGFuZ1snc3RhdHVzJ10gPSAn0KHRgtCw0YLRg9GBJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ9Ce0YLQv9GA0LDQstC40YLRjCc7CiRsYW5nWydzdWJzY3JpcHRpb24nXSA9ICdTdWJzY3JpcHRpb24nOwokbGFuZ1snc3Vic2NyX2V4cGlyeSddID0gJ0V4cGlyeSc7CiRsYW5nWydzdWJzY3JfZXhwaXJ5MiddID0gJ0V4cGlyZXMnOwokbGFuZ1snc3Vic2NyX21vbnRobHknXSA9ICdNb250aGx5JzsKJGxhbmdbJ3N1YnNjcl9kZWxwZXJpb2QnXSA9ICdEZWxpdmVyeSBGcmVxdWVuY3knOwokbGFuZ1snc3Vic2NyX2RlbHBlcmlvZDInXSA9ICdEZWxpZXZlcmVkJzsKJGxhbmdbJ3N1YnNjcl9wYXlwZXJpb2QnXSA9ICdQYXltZW50IEZyZXF1ZW5jeSc7CiRsYW5nWydzdWJzY3JfcGF5cGVyaW9kMiddID0gJ1BhaWQnOwokbGFuZ1snc3Vic2NyX3F1YXJ0ZXJseSddID0gJ1F1YXJ0ZXJseSc7CiRsYW5nWydzdWJzY3Jfc2VtaWFudWFsbHknXSA9ICdTZW1pIEFudWFsbHknOwokbGFuZ1snc3Vic2NyX3llYXJseSddID0gJ1llYXJseSc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVzJ10gPSAn0KHRg9C80LzQsNGA0L3Ri9C5INGI0LDQsdC70L7QvSc7CiRsYW5nWydzdW1tYXJ5dGVtcGxhdGVfYWRkZWRpdCddID0gJ9CU0L7QsdCw0LLQuNGC0Ywv0KDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YHRg9C80LzQsNGA0L3Ri9C5INGI0LDQsdC70L7QvSc7CiRsYW5nWyd0YXhhYmxlJ10gPSAn0J7QsdC70LDQs9Cw0LXQvNGL0Lkg0L3QsNC70L7Qs9C+0LwnOwokbGFuZ1sndGVzdCddID0gJ9Cf0YDQvtCy0LXRgNC60LAnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICfQotC10LrRgdGC0L7QstCw0Y8g0L7QsdC70LDRgdGC0YwnOwokbGFuZ1sndGV4dGJveCddID0gJ9Ci0LXQutGB0YLQvtCy0LDRjyDRgdGC0YDQvtC60LAnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAn0KjQsNCx0LvQvtC9INC40LXRgNCw0YDRhdC40Lgg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlsaXN0X2RmbHR0ZW1wbGF0ZSddID0gJ9Co0LDQsdC70L7QvSDRgdC/0LjRgdC60LAg0LrQsNGC0LXQs9C+0YDQuNC5INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICfQqNCw0LHQu9C+0L0g0LrQsNGA0YLQvtGH0LrQuCDRgtC+0LLQsNGA0LAg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1sndGl0bGVfc2VhcmNoX2RmbHR0ZW1wbGF0ZSddID0gJ0RlZmF1bHQgTmV3IFNlYXJjaCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ9Ch0YPQvNC80LDRgNC90YvQuSDRiNCw0LHQu9C+0L0g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4nOwokbGFuZ1sndHlwZSddID0gJ9Ci0LjQvyc7CiRsYW5nWyd1cCddID0gJ01vdmUgVXAnOwokbGFuZ1sndXBkYXRlJ10gPSAn0J7QsdC90L7QstC40YLRjCc7CiRsYW5nWyd1cGxvYWQnXSA9ICfQktGL0LHQtdGA0LjRgtC1INGE0LDQudC7INC00LvRjyDQt9Cw0LPRgNGD0LfQutC4JzsKJGxhbmdbJ3VybF9hbGlhcyddID0gJ1VSTCBBbGlhcyc7CiRsYW5nWyd2YWxpZCddID0gJ1ZhbGlkJzsKJGxhbmdbJ3ZhbHVlJ10gPSAn0JfQvdCw0YfQtdC90LjQtSc7CiRsYW5nWyd2YWx1ZXMnXSA9ICfQl9C90LDRh9C10L3QuNGPJzsKJGxhbmdbJ3ZpZXcnXSA9ICdWaWV3JzsKJGxhbmdbJ3ZpZXdhYmxlX2ZpZWxkcyddID0gJ1NlbGVjdCBjdXN0b20gZmllbGRzIHRvIHZpZXcgaW4gdGhlIHRhYmxlJzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ9Cg0LDRgdC/0L7Qu9C+0LbQtdC90LjQtSDQstC+0LTRj9C90YvRhSDQt9C90LDQutC+0LIo0L/QvtC00L/QuNGB0Lgg0L3QsCDQuNC30L7QsdGA0LDQttC10L3QuNC1KSc7CiRsYW5nWyd3ZWlnaHQnXSA9ICfQktC10YEnOwokbGFuZ1sneWVzJ10gPSAn0JTQsCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE1ODYyNTIxNzQuMTMwMjU1NDExMi4xMzAyNTU0MTEyLjEzMDI1NTQxMTIuMSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzLjQuOS4xMzAyNTU0NjIzNDUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzAyNTU0MTEyLjEuMS51dG1jc3I9eWFuZGV4fHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtcyBtYWRlIHNpbXBsZSc7CiRsYW5nWydxY2EnXSA9ICdQMC01NDc1NzAyNS0xMzAyNTU0MTEyMDk4JzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sk_SK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ1ByaWRhxaUnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdQcmlkYcWlIGthdGVnJm9hY3V0ZTtyaXUnOwokbGFuZ1snYWRkZmllbGRkZWYnXSA9ICdQcmlkYcWlIHBvbGUnOwokbGFuZ1snYWRqdXN0YWJsZSddID0gJ05hc3Rhdml0ZcS+biZlYWN1dGU7JzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICdQcmlkYcWlIHByb2R1a3QnOwokbGFuZ1snYWRkX2F0dHJpYl9zZXQnXSA9ICdQcmlkYcWlIGF0cmliJnVhY3V0ZTt0JzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ1ByaXBvamnFpSAgcG9sZSBrdSBrYXRlZyZvYWN1dGU7cmlpOiAmcXVvdDslcyZxdW90Oyc7CiRsYW5nWydhZGRfaGllcmFyY2h5X2l0ZW0nXSA9ICdQcmlkYcWlIHBvbG/Fvmt1IHYgaGllcmFyY2hpaSc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnUHJpZGHFpSBhdHJpYiZ1YWN1dGU7dCB2b8S+YnknOwokbGFuZ1snYWRtaW5fb25seSddID0gJ00mb2NpcmM7xb51IHRlbnRvIGF0cmliJnVhY3V0ZTt0IHZpZGllxaUgbGVuIGFkbWluaXN0ciZhYWN1dGU7dG9yaT8nOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdWxL5hdm8gaG9yZSc7CiRsYW5nWydhbGlnbl91YyddID0gJ1Ygc3RyZWRlIGhvcmUnOwokbGFuZ1snYWxpZ25fdXInXSA9ICdWcHJhdm8gaG9yZSc7CiRsYW5nWydhbGlnbl9tbCddID0gJ1Ygc3RyZWRlIHbEvmF2byc7CiRsYW5nWydhbGlnbl9tYyddID0gJ1Ygc3RyZWRlJzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnViBzdHJlZGUgdnByYXZvJzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnRG9sZSB2xL5hdm8nOwokbGFuZ1snYWxpZ25fbGMnXSA9ICdEb2xlIHYgc3RyZWRlJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnRG9sZSB2cHJhdm8nOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ1Ymc2Nhcm9uO2V0a3kga2F0ZWcmb2FjdXRlO3JpZSc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnU3RlIHNpIGlzdCZ5YWN1dGU7Pyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXByb2R1Y3QnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssLCDFvmUgY2hjZXRlIHNrdXRvxI1uZSBvZHN0ciZhYWN1dGU7bmnFpSB0ZW50byBwcm9kdWt0LCB2ciZhYWN1dGU7dGFuZSB2JnNjYXJvbjtldGt5Y2ggcHJpZHJ1xb5lbiZ5YWN1dGU7Y2ggaW5mb3JtJmFhY3V0ZTtjaWk/JzsKJGxhbmdbJ2FzY2VuZGluZyddID0gJ1Z6b3N0dXBuZSc7CiRsYW5nWydhdHRyaWJ1dGVfbmFtZSddID0gJ04mYWFjdXRlO3pvdiBhdHJpYiZ1YWN1dGU7dHUnOwokbGFuZ1snYXV0b21hdGljJ10gPSAnQXV0b21hdGljayZ5YWN1dGU7JzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVzJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hIHYmeWFjdXRlO3Bpc3UgdiBoaWVyYXJjaGlpJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVfYWRkZWRpdCddID0gJ1ByaWRhxaUvVXByYXZpxaUgJnNjYXJvbjthYmwmb2FjdXRlO25hIHYmeWFjdXRlO3Bpc3UgdiBoaWVyYXJjaGlpJzsKJGxhbmdbJ2NhbmNlbCddID0gJ1pydSZzY2Fyb247acWlJzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZyZvYWN1dGU7cmllJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWcmb2FjdXRlO3JpYSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ0thdGVnJm9hY3V0ZTtyaWEgcyB0JnlhY3V0ZTttdG8gbiZhYWN1dGU7enZvbSB1xb4gZXhpc3R1amUnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVzJ10gPSAnJlNjYXJvbjthYmwmb2FjdXRlO25hICB6b3puYW11IGthdGVnJm9hY3V0ZTtyaWknOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ1ByaWRhxaUvVXByYXZpxaUgJnNjYXJvbjthYmwmb2FjdXRlO251IHpvem5hbXUga2F0ZWcmb2FjdXRlO3JpaSc7CiRsYW5nWydjaGVja2JveCddID0gJ1phJnNjYXJvbjtrcnQmYWFjdXRlO3ZhY2llIHBvbGUnOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdTdGUgc2kgaXN0JnlhY3V0ZTssIMW+ZSBjaGNldGUgb2RzdHImYWFjdXRlO25pxaUgdCZ1YWN1dGU7dG8gJnVhY3V0ZTtyb3ZlxYg/ICBQcm9kdWt0eSB2IHRlanRvICZ1YWN1dGU7cm92bmkgIHByJmlhY3V0ZTtkdSBhdXRvbWF0aWNreSBvIHphcmFkZW5pZSB2IGhpZXJhcmNoaWknOwokbGFuZ1snY29weSddID0gJ0tvcCZpYWN1dGU7cm92YcWlJzsKJGxhbmdbJ2NvcHlfY2F0ZWdvcnknXSA9ICdLb3AmaWFjdXRlO3JvdmHFpSBrYXRlZyZvYWN1dGU7cml1JzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnRCZhYWN1dGU7dHVtIHZ5dHZvcmVuaWEnOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ1MmdWFjdXRlO8SNYXNuJmFhY3V0ZTsgaG9kbm90YSc7CiRsYW5nWydkYXRhJ10gPSAnRCZhYWN1dGU7dGEnOwokbGFuZ1snZGVmYXVsdCddID0gJ1ByZWRuYXN0YXZlbiZlYWN1dGU7JzsKJGxhbmdbJ2RlZmF1bHR0ZW1wbGF0ZXMnXSA9ICdQcmVkYXN0YXZlbiZlYWN1dGU7ICZzY2Fyb247YWJsJm9hY3V0ZTtueSc7CiRsYW5nWydkZWZhdWx0X3RlbXBsYXRlX25vdGljZSddID0gJzxzdHJvbmc+UG96biZhYWN1dGU7bWthOjwvc3Ryb25nPiBPYnNhaHkgdCZ5YWN1dGU7Y2h0byB0ZXh0b3YmeWFjdXRlO2NoIG9ibGFzdCZpYWN1dGU7IHNhIHBvdcW+JmlhY3V0ZTt2YWomdWFjdXRlOyBuYSB2eXR2b3JlbmllIHByZWRuYXN0YXZlbiZlYWN1dGU7aG8gb2JzYWh1ICZzY2Fyb247YWJsJm9hY3V0ZTtuIHByZSBqZWRub3RsaXYmZWFjdXRlOyAmc2Nhcm9uO2FsYiZvYWN1dGU7bnkuIEljaCAmdWFjdXRlO3ByYXZvdm91IG5lc3Amb2NpcmM7c29iJmlhY3V0ZTt0ZSDFvmlhZGVuIGVmZWt0IG5hIHMmdWFjdXRlO8SNYXNuZSB2eXR2b3JlbiZlYWN1dGU7ICZzY2Fyb247YWJsJm9hY3V0ZTtueS4nOwokbGFuZ1snZGVsZXRlJ10gPSAnT2RzdHImYWFjdXRlO25pxaUnOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ09kc3RyJmFhY3V0ZTtuacWlIGF0cmliJnVhY3V0ZTt0JzsKJGxhbmdbJ2RlbGV0ZV9oaWVyYXJjaHlfaXRlbSddID0gJ09kc3RyJmFhY3V0ZTtuacWlIHBvbG/Fvmt1IHYgaGllcmFyY2hpaSc7CiRsYW5nWydkZXNjZW5kaW5nJ10gPSAnWm9zdHVwbmUnOwokbGFuZ1snZGVzY3JpcHRpb24nXSA9ICdQb3Bpcyc7CiRsYW5nWydkZXRhaWxzJ10gPSAnRGV0YWlseSc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZXMnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bmEgZGV0YWlseSAnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ1ByaWRhxaUvdXByYXZpxaUgJnNjYXJvbjthYmwmb2FjdXRlO251IGRldGFpbHUnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdWeXBuJnVhY3V0ZTvFpSc7CiRsYW5nWydkcmFmdCddID0gJ04mYWFjdXRlO3ZyaCc7CiRsYW5nWydkcm9wZG93biddID0gJ1YmeWFjdXRlO2Jlcm92JmVhY3V0ZTsgcG9sZSc7CiRsYW5nWydkcm9wZG93bl9vcHRpb25zJ10gPSAnSG9kbm90eSB2JnlhY3V0ZTtiZXJvdiZlYWN1dGU7aG8gcG/EvmEgPGVtPihidWQmdWFjdXRlOyBwb3XFvml0JmVhY3V0ZTsgaWJhIHByZSB2JnlhY3V0ZTtiZXJvdiZlYWN1dGU7IHBvbGlhKTwvZW0+PGJyLz48YnIvPjxlbT4obm92JmFhY3V0ZTsgcG9sb8W+a2EgbmEgbm92JnlhY3V0ZTsgcmlhZG9rKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdVcHJhdmnFpSc7CiRsYW5nWydlZGl0X2F0dHJpYnNldHMnXSA9ICdVcHJhdmnFpSBzZXR5IGF0cmliJnVhY3V0ZTt0b3YnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ1VwcmF2acWlIHNldHkgYXRyaWImdWFjdXRlO3RvdiBwcmUnOwokbGFuZ1snZWRpdF9hdHRyaWJ1dGVzJ10gPSAnVXByYXZpxaUgYXRyaWImdWFjdXRlO3R5JzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdVcHJhdmnFpSBrYXRlZyZvYWN1dGU7cml1JzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnlfZmllbGRzJ10gPSAnVXByYXZpxaUgcG9saWEga2F0ZWcmb2FjdXRlO3JpZSc7CiRsYW5nWydlZGl0X2hpZXJhcmNoeV9pdGVtJ10gPSAnVXByYXZpxaUgcG9sb8W+a3UgdiBoaWVyYXJjaGlpJzsKJGxhbmdbJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnXSA9ICdBdHJpYiZ1YWN1dGU7xaUgcyB0JnlhY3V0ZTttdG8gbiZhYWN1dGU7enZvbSB1xb4gZXhpc3R1amUnOwokbGFuZ1snZXJyb3JfZmllbGR2YWx1ZV9lbXB0eSddID0gJ0hvZG5vdGEgbmVtJm9jaXJjO8W+ZSBiecWlIHByJmFhY3V0ZTt6ZG5hJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ1MmdWFjdXRlO2JvciBuZW4mYWFjdXRlO2pkZW4meWFjdXRlOyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnTmVwbGF0biZ5YWN1dGU7IHJvZGnEjSAocHJ2b2sgdiBoaWVyYXJjaGlpIG5lbSZvY2lyYzvFvmUgYnnFpSBzdm9qIHZsYXN0biZ5YWN1dGU7IHJvZGnEjSknOwokbGFuZ1snZXJyb3JfaW52YWxpZF9uYW1lJ10gPSAnSG9kbm90YSB2bGFzdG4mZWFjdXRlO2hvIHBvxL5hIG9ic2FodWplIG5lcG92b2xlbiZlYWN1dGU7IHpuYWt5IChwb3ZvbGVuJmVhY3V0ZTsgcyZ1YWN1dGU7IGxlbiBhbGZhbnVtZXJpY2smZWFjdXRlOyknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnUG92aW5uJnlhY3V0ZTsgcGFyYW1ldGVyIG5lYm9sIHZ5cGxuZW4mZWFjdXRlOywgYWxlIGJvbCB2eXBsbmVuJnlhY3V0ZTsgbmVzcHImYWFjdXRlO3ZuZSc7CiRsYW5nWydlcnJvcl9uYW1ldXNlZCddID0gJ1BvbG/FvmthIHMgdCZ5YWN1dGU7bXRvIG4mYWFjdXRlO3p2b20gZXhpc3R1amUnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdQcm9zJmlhY3V0ZTttIHZ5YmVydGUgdHlwIHBvxL5hJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ011cyZpYWN1dGU7dGUgdnlwbG5pxaUgbiZhYWN1dGU7em92JzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdQcm9kdWt0IHMgdCZ5YWN1dGU7bXRvIG4mYWFjdXRlO3p2b20gZXhpc3R1amUnOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ05lcGxhdG4mYWFjdXRlOyBob2Rub3RhIHVwcmF2ZW5laiBjZW55IHByZSBwb2xvxb5rdSAgJXMnOwokbGFuZ1snZXJyb3JfdXBsb2FkX2ZhaWxlZCddID0gJ05haHImYWFjdXRlO3ZhbmllIHpseWhhbG86ICVzJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnUG9sZSc7CiRsYW5nWydmaWVsZGRlZiddID0gJ0RlZmluJmlhY3V0ZTtjaWEgcG/EvmEnOwokbGFuZ1snZmllbGRkZWZzJ10gPSAnRGVmaW4maWFjdXRlO2NpYSBwb2wmaWFjdXRlOyc7CiRsYW5nWydmaWxlJ10gPSAnUyZ1YWN1dGU7Ym9yJzsKJGxhbmdbJ2ZpbHRlcnMnXSA9ICdGaWx0cmUnOwokbGFuZ1snZmlyc3RwYWdlJ10gPSAnPDwnOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFyY2hpYSc7CiRsYW5nWydoaWVyYXJjaHlfcG9zaXRpb24nXSA9ICdQb3omaWFjdXRlO2NpYSB2IGhpZXJhcmNoaWknOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdPYnImYWFjdXRlO3pvayc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnVnImYWFjdXRlO3RhbmUgcG9kJnVhY3V0ZTtyb3ZuZT8nOwokbGFuZ1snaW5mb19hbG51bW9ubHknXSA9ICdJYmEgYWxmYW51bWVyaWNrJmVhY3V0ZTsgem5hbWt5LCBiZXogbWVkemllciwgJnVhY3V0ZTt2b2R6b3ZpZWssIGEgb3N0YXRuJnlhY3V0ZTtjaCB6bmFrb3YgbWltbyDEjSZpYWN1dGU7c2llbCBhIHAmaWFjdXRlO3NtZW4uJzsKJGxhbmdbJ2luZm9fYXV0b3RodW1ibmFpbCddID0gJ05hc3RhdmVuaWUgbiZhYWN1dGU7aMS+YWRvdiZ5YWN1dGU7Y2ggb2JyJmFhY3V0ZTt6a292IHMmdWFjdXRlOyB6IG1vZHVsdSBDR0V4dGVuc2lvbnMnOwokbGFuZ1snaW5mb19hdXRvd2F0ZXJtYXJrJ10gPSAnTmFzdGF2ZW5pYSB2b2Rvem5ha3UgcyZ1YWN1dGU7ICB6IG1vZHVsdSBDR0V4dGVuc2lvbnMnOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz5Qb3puJmFhY3V0ZTtta2E6IDwvc3Ryb25nPiBWJnNjYXJvbjtldGt5IHBvbGlhIHR1IHMmdWFjdXRlOyBkb3N0dXBuJmVhY3V0ZTsgcHJlIHYmc2Nhcm9uO2V0a3kgcHJvZHVrdHknOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnUHJvYmxlbXMgd2VyZSBlbmNvdW50ZXJlZCB3aGVuIGRlYWxpbmcgd2l0aCBvbmUgb3IgbW9yZSBjdXN0b20gZmllbGRzLiAgVGhlIGFjdGlvbiBoYXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseSwgaG93ZXZlciB5b3Ugc2hvdWxkIGludmVzdGlnYXRlIGFuZCBjb3JyZWN0IHRoZXNlIHByb2JsZW1zJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ1Bvdm9sZW4mZWFjdXRlOyB6bmFreSBzJnVhY3V0ZTsgKy0qIy4jIyc7CiRsYW5nWydpbmZvX3B1YmxpY2ZpZWxkJ10gPSAnVmVyZWpuJmVhY3V0ZTsgcG9saWEgcyZ1YWN1dGU7IHZpZGl0ZcS+biZlYWN1dGU7IHByZSB2JnNjYXJvbjtldGs9eWNoJzsKJGxhbmdbJ2xhYmVsJ10gPSAnWm5hxI1rYSc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdQb3NsZWRuJmFhY3V0ZTsgem1lbmEnOwokbGFuZ1snbG9nb3RleHQnXSA9ICdEcnVoJnlhY3V0ZTsgb2JyJmFhY3V0ZTt6b2snOwokbGFuZ1snbWF4bGVuZ3RoJ10gPSAnTWF4aW0mYWFjdXRlO2xuYSBkxLrFvmxhIDxlbT4ocGxhdG4mZWFjdXRlOyBpYmEgdiB0ZXh0b3ZvbSBwb2xpKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ0QmYWFjdXRlO3R1bSAmdWFjdXRlO3ByYXZ5JzsKJGxhbmdbJ21vZHVsZV9kZXNjcmlwdGlvbiddID0gJ01vZHVsIHByZSBzcHImYWFjdXRlO3Z1IHByb2R1a3RvdiwgaWNoIGNpZW4sIG9iciZhYWN1dGU7emtvdiwgYXTEjy4gTSZvY2lyYzvFvm5vc8WlIHBvdcW+acWlIHYga29tYmluJmFhY3V0ZTtjaWkgcyBtb2R1bG9tIG4mYWFjdXRlO2t1cG4mZWFjdXRlO2hvIGtvJnNjYXJvbjsmaWFjdXRlO2thIChDYXJ0KSBhIG1vZHVsb20gb2JqZWRuJmFhY3V0ZTt2b2sgKE9yZGVycyknOwokbGFuZ1snbmFtZSddID0gJ04mYWFjdXRlO3pvdic7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ05lbSZhYWN1dGU7dGUgcG90cmVibiZlYWN1dGU7IHByJmFhY3V0ZTt2YTogJXMnOwokbGFuZ1snbmV3X2NhdGVnb3J5X25hbWUnXSA9ICdOJmFhY3V0ZTt6b3Ygbm92ZWoga2F0ZWcmb2FjdXRlO3JpZSc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICfFvWlhZG55IG4mYWFjdXRlO3pvdiBuZWJvbCB6YWRhbiZ5YWN1dGU7JzsKJGxhbmdbJ25vbmUnXSA9ICfFvWlhZG5lJzsKJGxhbmdbJ29mJ10gPSAneic7CiRsYW5nWydwYWdlJ10gPSAnU3RyYW5hJzsKJGxhbmdbJ3BhZ2Vfb2YnXSA9ICdTdHJhbmEgJXMgeiAlcyc7CiRsYW5nWydwYWdlX2xpbWl0J10gPSAnTWF4LiBuYSBzdHImYWFjdXRlO25rdSc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5oaWVyYXJjaHkgLS0gRGlzcGxheSBhIHByb2R1Y3QgbGlzdCBieSBoaWVyYXJjaHk8L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdCBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyeSBvZiBwcm9kdWN0czwvbGk+DQogIDxsaT5kZXRhaWwgLSBEaXNwbGF5IGEgZGV0YWlsIHZpZXcgb2YgYSBzaW5nbGUgcHJvZHVjdDwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeSddID0gJ1doZW4gdXNlZCBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyLCB3aGljaCBzaG91bGQgbWF0Y2ggdGhlIG5hbWUgb2YgYW4gZXhpc3RpbmcgY2F0ZWdvcnkgd2lsbCBiZSB1c2VkIHRvIGRpc3BsYXkgb25seSB0aG9zZSBwcm9kdWN0cyB0aGF0IGFyZSBpbiB0aGF0IGNhdGVnb29yeS4gKGEgY29tbWEgc2VwZXJhdGVkIGxpc3QgY2FuIGJlIHN1cHBsaWVkKSc7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3R0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnVGhpcyBzcGVjaWZpZXMgdGhlIHBhZ2VpZCBvciBhbGlhcyB0aGF0IHNob3VsZCBiZSB1c2VkIHRvIGRpc3BsYXkgdGhlIGRldGFpbCByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGV0YWlsIG1vZGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IG9ubHkgaXRlbXMgaW4gdGhhdCBsb2NhdGlvbiBvZiB0aGUgaGllcmFyY2h5IHNob3VsZCBiZSBkaXNwbGF5ZWQuICBXaWxkY2FyZCBjaGFyYWN0ZXIgY2FuIGJlIHVzZWQgc28gdGhhdCB5b3UgY2FuIHNwZWNpZnkgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcHMgYXMgd2VsbC4gIGkuZSB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5O3RydWNrcyomIzAzOTt9IHdpbGwgY3JlYXRlIGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgaW5jbHVkaW5nIHRoZSBjaGlsZHJlbiBpbiB0aGUgaGllcmFyY2h5LiAgU2ltaWxhcmx5LCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5Oyp0cnVja3MmIzAzOTt9IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGFuZCBhbGwgcHJvZHVjdHMgYmVsb2dpbmcgdG8gYW55IHBhcmVudCBpbiB0aGUgaGllcmFyY2h5Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGhpZXJhcmNoeSBkaXNwbGF5LiBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBob3cgbWFueSBpdGVtcyBzaG91bGQgYmUgbGlzdGVkIG9uIGVhY2ggcGFnZS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5oaWVyYXJjaHk8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgaGllcmFyY2h5IGlkIG9mIHRoZSBzdGFydGluZyBsb2NhdGlvbiBvZiB0aGUgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9wcm9kdWN0aWQnXSA9ICdQb3XFviZpYWN1dGU7dmEgc2EgdiZ5YWN1dGU7aHJhZG5lIHByaSBtJm9hY3V0ZTtkZSBkZXRhaWwsYSB6b2JyYXp1amUgZGV0YWlsIHByb2R1a3R1JzsKJGxhbmdbJ3BhcmFtX3NvcnRvcmRlciddID0gJ1NwZWNpZnkgdGhlIG9yZGVyIG9mIHNvcnRlZCBmaWVsZHMgaW4gc3VtbWFyeSB2aWV3LiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+YXNjPC9zdHJvbmc+IC0tIEFzY2VuZGluZyBvcmRlcjwvbGk+DQogIDxsaT5kZXNjIC0tIERlc2NlbmRpbmcgb3JkZXI8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fc29ydGJ5J10gPSAnUG91xb4maWFjdXRlO3ZhIHNhIHYmeWFjdXRlO2hyYWRuZSB2IG0mb2FjdXRlO2RlIHByZWjEvmFkdSAoc3VtbWFyeSkgYSB6YWJlenBlxI11amUgdHJpZWRlbmllIHByb2R1a3RvdiBuYSB2JnlhY3V0ZTtzdHVwZS4gTW/Fvm4mZWFjdXRlOyBob2Rub3R5IHBhcmFtZXRyYToNCjx1bD4NCiAgPGxpPjxzdHJvbmc+cHJvZHVjdF9uYW1lPC9zdHJvbmc+PC9saT4NCiAgPGxpPnByaWNlIC0tIHomYWFjdXRlO2tsYWRuJmFhY3V0ZTsgY2VuYSBwcm9kdWt0dTwvbGk+DQogIDxsaT5zdGF0dXMgLS0gRHJhZnQgYWxlYm8gcHVibGlzaGVkPC9saT4NCiAgPGxpPnJhbmRvbSAtLSBuJmFhY3V0ZTtob2RuJnlhY3V0ZTsgdiZ5YWN1dGU7YmVyPC9saT4NCiAgPGxpPmNyZWF0ZWQgLS0gZCZhYWN1dGU7dHVtIHZ5dHZvcnJlbmlhPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIGQmYWFjdXRlO3R1bSBwb3NsZWRuZWogJnVhY3V0ZTtwcmF2eTwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zdW1tYXJ5dGVtcGxhdGUnXSA9ICdUZW50byBwYXJhbWV0ZXIgJnNjYXJvbjtwZWNpZmlrdWplICZzY2Fyb247YWJsJm9hY3V0ZTtudSBwcmUgcHJlIG0mb2FjdXRlO2QgcHJlaMS+YWR5ICZxdW90O3N1bW1hcnkmcXVvdDsuIEFrIG5pZWplIHphZGFuJnlhY3V0ZTssIHBvdcW+aWplIHNhIHByZWRuYXN0YXZlbiZhYWN1dGU7ICZzY2Fyb247YWJsJm9hY3V0ZTtuYS4nOwokbGFuZ1sncGFyZW50J10gPSAnUm9kacSNJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWwgYm9sICZ1YWN1dGU7c3BlJnNjYXJvbjtuZSBuYWluJnNjYXJvbjt0YWxvdmFuJnlhY3V0ZTsnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1Byb2R1a3RvdiZ5YWN1dGU7IG1vZHVsIGJvbCBvZHN0ciZhYWN1dGU7bmVuJnlhY3V0ZTsgc28gdiZzY2Fyb247ZXRrJnlhY3V0ZTttaSBkJmFhY3V0ZTt0YW1pdSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ05hc3RhdmVuaWEnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnT2RzdHImYWFjdXRlO25lbiZpYWN1dGU7bSBtb2R1bHUgc3RyYXQmaWFjdXRlO3RlIHYmc2Nhcm9uO2V0a3kgZCZhYWN1dGU7dGEgcyBuJmlhY3V0ZTttIHMmdWFjdXRlO3Zpc2VqJnVhY3V0ZTtjZSwgY2hjZXRlIHBva3JhxI1vdmHFpT8nOwokbGFuZ1sncHJpY2UnXSA9ICdDZW5hJzsKJGxhbmdbJ3ByaWNlX2FkanVzdG1lbnQnXSA9ICdQcmlwJm9jaXJjO3NvYmVuaWUgY2VueSc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJvZHVjdCddID0gJ1Byb2R1a3QnOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICdOJmFhY3V0ZTt6b3YgcHJvZHVrdHUnOwokbGFuZ1sncHJvZHVjdHMnXSA9ICdQcm9kdWt0eSc7CiRsYW5nWydwcm9kdWN0X2hpZXJhcmNoeSddID0gJ0hpZXJhcmNoaWEgcHJvZHVrdG92JzsKJGxhbmdbJ3Byb2R1Y3RfbWFuYWdlciddID0gJ1Byb2R1a3RvdiZ5YWN1dGU7IG1vZHVsJzsKJGxhbmdbJ3Byb21wdCddID0gJ0hsJmFhY3V0ZTsmc2Nhcm9uO2thJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ1Bvdm9sacWlIG5haHImYWFjdXRlO3ZhxaUgcyZ1YWN1dGU7Ym9yeSBzIHQmeWFjdXRlO21pdG8ga29uY292a2FtaSAocHJlIHBvbGUgcyZ1YWN1dGU7Ym9yKSc7CiRsYW5nWydwcm9tcHRfYWxsb3dlZF9pbWFnZXR5cGVzJ10gPSAnUG92b2xpxaUgbmFociZhYWN1dGU7dmHFpSBvYnImYWFjdXRlO3preSBzIHQmeWFjdXRlO21pIGtvbmNvdmthbWkgKHByZSBwb2xlIG9iciZhYWN1dGU7em9rKSc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ0F1dG9tYXRpY2t5IHZ5dHZvcmnFpSBuYWjEvmFkIG9iciZhYWN1dGU7emthJzsKJGxhbmdbJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJ10gPSAnQXV0b21hdGlja3kgdmxvxb5pxaUgdm9kb3puYWsgZG8gb2JyJmFhY3V0ZTt6a292JzsKJGxhbmdbJ3Byb21wdF9hcHBsaWNhYmxlJ10gPSAnWmFwbiZ1YWN1dGU7xaUgYWtvIHByZWRuYXN0YXZlbiZlYWN1dGU7IHByZSB2JnNjYXJvbjtldGt5IG5vdiZlYWN1dGU7IHByb2R1a3R5JzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeWNvZGUnXSA9ICdTJnVhY3V0ZTvEjWFzbiZ5YWN1dGU7IGsmb2FjdXRlO2QnOwokbGFuZ1sncHJvbXB0X2N1cnJlbmN5c3ltYm9sJ10gPSAnUyZ1YWN1dGU7xI1hc24meWFjdXRlOyBzeW1ib2wnOwokbGFuZ1sncHJvbXB0X2RlbGV0ZXByb2R1Y3RmaWxlcyddID0gJ09kc3RyYW5pxaUgdiZzY2Fyb247ZXRreSBzJnVhY3V0ZTtib3J5IHNwb2plbiZlYWN1dGU7IHMgdCZ5YWN1dGU7bXRvIHByb2R1a3RvbSBwcmkgamVobyBvZHN0ciZhYWN1dGU7bmVuJmlhY3V0ZTs/JzsKJGxhbmdbJ3Byb21wdF9kZXRhaWxwYWdlJ10gPSAnUHJlZG5hc3RhdmVuJmFhY3V0ZTsgc3RyJmFhY3V0ZTtua2EgZGV0YWlsdSc7CiRsYW5nWydwcm9tcHRfdGF4cmF0ZSddID0gJ1NhZHpiYSBkYW5lJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAnUHJlZG5hc3RhdmVuJmVhY3V0ZTsgdHJpZWRlbmllIHYgbSZvYWN1dGU7ZGUgcHJlaMS+YWR1IChzdW1tYXJ5KSc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdQcmVkbmFzdGF2ZW4mZWFjdXRlOyB0cmllZGVuaWUgdiBtJm9hY3V0ZTtkZSBwcmVoxL5hZHUgKHN1bW1hcnkpJzsKJGxhbmdbJ3Byb21wdF90YXgxJ10gPSAnUHJ2JmFhY3V0ZTsgZGHFiCc7CiRsYW5nWydwcm9tcHRfdGF4MiddID0gJ0RydWgmYWFjdXRlOyBkYcWIJzsKJGxhbmdbJ3Byb21wdF90YXhuYW1lJ10gPSAnTiZhYWN1dGU7em92IGRhbmUnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnWmRyb2ogJnNjYXJvbjthYmwmb2FjdXRlO255JzsKJGxhbmdbJ3Byb21wdF93ZWlnaHR1bml0cyddID0gJ0plZG5vdGt5IGhtb3Rub3N0aSc7CiRsYW5nWydwdWJsaWMnXSA9ICdKZSB0b3RvIHZlcmVqbiZlYWN1dGU7IHBvbGU/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ1B1Ymxpa292YW4mZWFjdXRlOyc7CiRsYW5nWydyYW5kb20nXSA9ICdOJmFhY3V0ZTtob2RuZSc7CiRsYW5nWydyZXNldHRvZmFjdG9yeSddID0gJ1ByZWRuYXN0YXZpxaUgbmEgcHJlZHZvbGVuJmVhY3V0ZTsgaG9kbm90eSc7CiRsYW5nWydyb290J10gPSAnUm9kacSNb3ZzayZ5YWN1dGU7IGFkcmVzJmFhY3V0ZTtyJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdWeWJlcnRlIGplZG51JzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdab3RyaWVkacWlIHBvZMS+YSc7CiRsYW5nWydzb3J0X29yZGVyJ10gPSAnUG9yYWRpZSc7CiRsYW5nWydzdGF0dXMnXSA9ICdTdGF2JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ09kb3NsYcWlJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZXMnXSA9ICcmU2Nhcm9uO2FibCZvYWN1dGU7bnkgcHJlaMS+YWRvdiAoc3VtbWFyeSknOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdQcmlkYcWlL3VwcmF2acWlICZzY2Fyb247YWJsJm9hY3V0ZTtudSBwcmVoxL5hZHUnOwokbGFuZ1sndGF4YWJsZSddID0gJ1pkYW5lbiZlYWN1dGU7JzsKJGxhbmdbJ3RheF9tb2R1bGUnXSA9ICdNb2R1bCBwcmUgZGFuZSc7CiRsYW5nWyd0ZXh0YXJlYSddID0gJ1RleHRvdiZhYWN1dGU7IG9ibGFzxaUnOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHRvdiZlYWN1dGU7IHBvbGUnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnUHJlZG5hc3RhdmVuJmFhY3V0ZTsgJnNjYXJvbjthYmwmb2FjdXRlO25hIHYmeWFjdXRlO3Bpc3UgdiBoaWVyYXJjaGkmaWFjdXRlOyc7CiRsYW5nWyd0aXRsZV9jYXRlZ29yeWxpc3RfZGZsdHRlbXBsYXRlJ10gPSAnUHJlZG5hc3RhdmVuJmFhY3V0ZTsgJnNjYXJvbjthYmwmb2FjdXRlO25hIHYmeWFjdXRlO3Bpc3Uga2F0ZWcmb2FjdXRlO3JpaSc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfZGZsdHRlbXBsYXRlJ10gPSAnUHJlZG5hc3RhdmVuJmFhY3V0ZTsgJnNjYXJvbjthYmwmb2FjdXRlO25hIGRldGFpbHUnOwokbGFuZ1sndGl0bGVfc3VtbWFyeV9kZmx0dGVtcGxhdGUnXSA9ICdQcmVkbmFzdGF2ZW4mYWFjdXRlOyAmc2Nhcm9uO2FibCZvYWN1dGU7bmEgcyZ1YWN1dGU7aHJudSc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1VwcmF2acWlJzsKJGxhbmdbJ3VwbG9hZCddID0gJ1Z5YnJhxaUgcyZ1YWN1dGU7Ym9yIHByZSBuYWhyYXRpZSc7CiRsYW5nWyd2YWxpZCddID0gJ1NwciZhYWN1dGU7dm5lJzsKJGxhbmdbJ3ZhbHVlJ10gPSAnSG9kbm90YSc7CiRsYW5nWyd2YWx1ZXMnXSA9ICdIb2Rub3R5JzsKJGxhbmdbJ3dhdGVybWFya19sb2NhdGlvbiddID0gJ0FkcmVzYSB2b2Rvem5ha3UnOwokbGFuZ1snd2VpZ2h0J10gPSAnViZhYWN1dGU7aGEnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMjI0NzYxMTA3LjM4OC4yNi51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9dmFzc2FsZ3ltLnNrfHV0bWNjdD0vYWRtaW4vbGlzdGNvbnRlbnQucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjQzMDA3NDI2ODkyNzU2MDE0MDAuMTIxMzI1Njk1My4xMjI1MTEwMjgwLjEyMjUxMTQ0NDEuMzk5JzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1My41LjEwLjEyMjUxMTQ0NDEnOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sl_SI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0RvZGFqJzsKJGxhbmdbJ2FkZGNhdGVnb3J5J10gPSAnRG9kYWoga2F0ZWdvcmlqbyc7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0RvZGFqIHBvbGplJzsKJGxhbmdbJ2FkanVzdGFibGUnXSA9ICdOYXN0YXZsaml2byc7CiRsYW5nWydhZGRwcm9kdWN0J10gPSAnRG9kYWogYXJ0aWtlbCc7CiRsYW5nWydhZGRfYXR0cmliX3NldCddID0gJ0RvZGFqIGF0cmlidXQnOwokbGFuZ1snYWRkX2NhdGVnb3J5X2ZpZWxkJ10gPSAnRG9kZWxpIHBvbGplIGthdGVnb3Jpamk6ICZxdW90OyVzJnF1b3Q7JzsKJGxhbmdbJ2FkZF9oaWVyYXJjaHlfaXRlbSddID0gJ0RvZGFqIGVsZW1lbnQgaGllcmFyaGlqZSc7CiRsYW5nWydhZGRfb3B0aW9uJ10gPSAnRG9kYWogbW/Fvm5vc3QgYXRyaWJ1dGEnOwokbGFuZ1snYWRtaW5fb25seSddID0gJ0FsaSBsYWhrbyBzYW1vIGFkbWluaXN0cmF0b3JqaSB2aWRpam8gdGEgYXRyaWJ1dD8nOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdaZ29yYWogbGV2byc7CiRsYW5nWydhbGlnbl91YyddID0gJ1pnb3JhaiBzcmVkaW5hJzsKJGxhbmdbJ2FsaWduX3VyJ10gPSAnWmdvcmFqIGRlc25vJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnU3JlZGluYSBsZXZvJzsKJGxhbmdbJ2FsaWduX21jJ10gPSAnU3JlZGluYSc7CiRsYW5nWydhbGlnbl9tciddID0gJ1NyZWRpbmEgZGVzbm8nOwokbGFuZ1snYWxpZ25fbGwnXSA9ICdTcG9kYWogbGV2byc7CiRsYW5nWydhbGlnbl9sYyddID0gJ1Nwb2RhaiBzcmVkaW5hJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnU3BvZGFqIGRlc25vJzsKJGxhbmdbJ2FsbGNhdGVnb3JpZXMnXSA9ICdWc2Uga2F0ZWdvcmlqZSc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnU3RlIHByZXByacSNYW5pPyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXByb2R1Y3QnXSA9ICdTdGUgcHJlcHJpxI1hbmksIGRhIMW+ZWxpdGUgaXpicmlzYXRpIHRhIGFydGlrZWwgdGVyIHZzZSBpbmZvcm1hY2lqZSwga2kgc28geiBuamltIHBvdmV6YW5lPyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdOYXJhJnNjYXJvbjvEjWFqb8SNZSc7CiRsYW5nWydhdHRyaWJ1dGVfbmFtZSddID0gJ0ltZSBhdHJpYnV0YSc7CiRsYW5nWydhdXRvbWF0aWMnXSA9ICdBdnRvbWF0acSNbm8nOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZXMnXSA9ICdQcmVkbG9nZSB6YSBwb3JvxI1pbG8gaGllcmFyaGlqZSc7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdEb2Rhai91cmVkaSBwcmVkbG9nbyBwb3JvxI1pbGEgaGllcmFyaGlqZSc7CiRsYW5nWydjYW5jZWwnXSA9ICdQcmVrbGnEjWknOwokbGFuZ1snY2FydF9tb2R1bGUnXSA9ICdNb2R1bCB6YSB2b3ppxI1layc7CiRsYW5nWydjYXRlZ29yaWVzJ10gPSAnS2F0ZWdvcmlqZSc7CiRsYW5nWydjYXRlZ29yeSddID0gJ0thdGVnb3JpamEnOwokbGFuZ1snY2F0ZWdvcnlleGlzdHMnXSA9ICdLYXRlZ29yaWphIHMgdGVtIGltZW5vbSDFvmUgb2JzdGFqYSc7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZXMnXSA9ICdQcmVkbG9nZSB6YSBwcmVnbGVkIGthdGVnb3Jpaic7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnRG9kYWovdXJlZGkgcHJlZGxvZ28gemEgcHJlZ2xlZCBrYXRlZ29yaWonOwokbGFuZ1snY2hlY2tib3gnXSA9ICdDaGVja2JveCc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9oaWVyYXJjaHlfbm9kZSddID0gJ1N0ZSBwcmVwcmnEjWFuaSwgZGEgxb5lbGl0ZSBpemJyaXNhdGkgdGEgbml2bz8gVnNpIGFydGlrbGksIGtpIHVwb3JhYmxqYWpvIHRhIG5pdm8gYm9kbyBvZHN0cmFuamVuaSBpeiBoaWVyYXJoaWplLic7CiRsYW5nWydjb3B5J10gPSAnS29waXJhaic7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnS29waXJhaiBrYXRlZ29yaWpvJzsKJGxhbmdbJ2NyZWF0ZWRkYXRlJ10gPSAnRGF0dW0gdm5vc2EnOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ1RyZW51dG5hIHZyZWRub3N0JzsKJGxhbmdbJ2RhdGEnXSA9ICdQb2RhdGtpJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdQcml2emV0byc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAnUHJpdnpldGUgcHJlZGxvZ2UnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPlBvem9yOjwvc3Ryb25nPiBWc2ViaW5hIHRlaCBwb2xqIGplIHVwb3JhYmxqZW5hIHphIGRvbG/EjWFuamUgcHJpdnpldGUgdnNlYmluZSBwcmVkbG9nLCBrbyBrbGlrbmV0ZSAmcXVvdDtEb2RhaiBwcmVkbG9nbyZxdW90OyB2IHVzdHJlem5lbSB6YXZpaGt1IHMgcHJlZGxvZ2FtaS4gU3ByZW1pbmphbmplIHZzZWJpbmUgdGVoIHBvbCBuZSBibyB2cGxpdmFsbyBuYSB2YSZzY2Fyb247byBzcGxldG5vIHN0cmFuLic7CiRsYW5nWydkZWxldGUnXSA9ICdJemJyaSZzY2Fyb247aSc7CiRsYW5nWydkZWxldGVfYXR0cmlic2V0J10gPSAnSXpicmkmc2Nhcm9uO2kgYXRyaWJ1dCc7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICdJemJyaSZzY2Fyb247aSBlbGVtZW50IGhpZXJhcmhpamUnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ1BhZGFqb8SNZSc7CiRsYW5nWydkZXNjcmlwdGlvbiddID0gJ09waXMnOwokbGFuZ1snZGV0YWlscyddID0gJ1BvZHJvYm5vc3RpJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ1ByZWRsb2dlIHphIHBvZHJvYm5vc3QnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ0RvZGFqL3VyZWRpIHByZWRsb2dvIHphIHBvZHJvYm5vc3QnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdPbmVtb2dvxI1lbm8nOwokbGFuZ1snZHJhZnQnXSA9ICdPc251dGVrJzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnSXp2bGXEjW5pIG1lbmknOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ01vxb5ub3N0aSBpenZsZcSNbmVnYSBtZW5pamEgPGVtPihzYW1vIHByaSBpenZsZcSNbmloIHBvbGppaCk8L2VtPjxici8+PGJyLz48ZW0+KGVuIHphcGlzIG5hIHZyc3RpY28pPC9lbT4nOwokbGFuZ1snZWRpdCddID0gJ1VyZWRpJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ1VyZWphbmplIG5hYm9yb3YgYXRyaWJ1dG92JzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdVcmVqYW5qZSBuYWJvcm92IGF0cmlidXRvdiB6YSc7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdVcmVqYW5qZSBhdHJpYnV0b3YnOwokbGFuZ1snZWRpdF9jYXRlZ29yeSddID0gJ1VyZWphbmplIGthdGVnb3JpamUnOwokbGFuZ1snZWRpdF9jYXRlZ29yeV9maWVsZHMnXSA9ICdVcmVqYW5qZSBwb2xqIGthdGVnb3JpamUnOwokbGFuZ1snZWRpdF9oaWVyYXJjaHlfaXRlbSddID0gJ1VyZWphbmplIGVsZW1lbnRhIGhpZXJhcmhpamUnOwokbGFuZ1snZXJyb3JfYXR0cmlic2V0X2V4aXN0cyddID0gJ0F0cmlidXQgcyB0ZW0gaW1lbm9tIMW+ZSBvYnN0YWphJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdWcmVkbm9zdCBwb2xqYSBuZSBtb3JlIGJpdGkgcHJhem5hJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0RhdG90ZWthIG5lIG9ic3RhamEnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmVudCddID0gJ05hcGHEjWVuIG5hZHJlamVuaSBlbGVtZW50IChlbGVtZW50IGhpZXJhcmhpamUgbmUgbW9yZSBiaXRpIG5hZHJlamVuIHNhbWVtdSBzZWJpKSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdWcmVkbm9zdCBwcmlsYWdvamVuZWdhIHBvbGphIGplIG5hcGHEjW5hICh2c2VidWplIHBvc2VibmUgem5ha2UpJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ09idmV6ZW4gcGFyYW1ldGVyIG5lIG9ic3RhamEgYWxpIHBhIGplIG5hcGHEjWVuJzsKJGxhbmdbJ2Vycm9yX25hbWV1c2VkJ10gPSAnRWxlbWVudCBzIHRlbSBpbWVub20gxb5lIG9ic3RhamEnOwokbGFuZ1snZXJyb3Jfbm9maWVsZHR5cGUnXSA9ICdQcm9zaW1vLCBpemJlcml0ZSB0aXAgcG9samEnOwokbGFuZ1snZXJyb3Jfbm9uYW1lJ10gPSAnVnBpc2F0aSBtb3JhdGUgaW1lJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdBcnRpa2VsIHMgdGVtIGltZW5vbSDFvmUgb2JzdGFqYSc7CiRsYW5nWydlcnJvcl9wcmljZV9hZGp1c3RtZW50J10gPSAnTmFwYcSNbmEgdnJlZG5vc3QgY2VuZSB6YSBhcnRpa2VsICVzJzsKJGxhbmdbJ2Vycm9yX3VwbG9hZF9mYWlsZWQnXSA9ICdQcmVub3MgbmkgdXNwZSZzY2Fyb247ZW46ICVzJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnUG9samUnOwokbGFuZ1snZmllbGRkZWYnXSA9ICdEZWZpbmljaWphIHBvbGphJzsKJGxhbmdbJ2ZpZWxkZGVmcyddID0gJ0RlZmluaWNpamUgcG9saic7CiRsYW5nWydmaWxlJ10gPSAnRGF0b3Rla2EnOwokbGFuZ1snZmlsdGVycyddID0gJ0ZpbHRyaSc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydoaWVyYXJjaHknXSA9ICdIaWVyYXJoaWphJzsKJGxhbmdbJ2hpZXJhcmNoeV9wb3NpdGlvbiddID0gJ1BvbG/FvmFqIHYgaGllcmFyaGlqaSc7CiRsYW5nWydpZCddID0gJ0lEJzsKJGxhbmdbJ2ltYWdldGV4dCddID0gJ1NsaWthJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdWa2xqdcSNaSBwb2RyZWplbmU/JzsKJGxhbmdbJ2luZm9fYWxudW1vbmx5J10gPSAnU2FtbyBhbGZhbnVtZXJpxI1uaSB6bmFraS4gQnJleiBwcmVzbGVka292LCBuYXJla292YWpldiwgJnNjYXJvbjt1bW5pa292IGluIHBvc2VibmloIHpuYWtvdi4nOwokbGFuZ1snaW5mb19hdXRvdGh1bWJuYWlsJ10gPSAnTmFzdGF2aXR2ZSBwb21hbmomc2Nhcm9uO2FuaWggc2xpayBuYXN0YXZpdGUgdiBtb2R1bHUgQ0dFeHRlbnNpb25zJzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ05hc3Rhdml0dmUgdm9kbmVnYSDFvmlnYSBuYXN0YXZpdGUgdiBtb2R1bHUgQ0dFeHRlbnNpb25zJzsKJGxhbmdbJ2luZm9fZmllbGRkZWZzX3RhYiddID0gJzxzdHJvbmc+T3Bvem9yaWxvOiA8L3N0cm9uZz4gVnNhIHR1a2FqIGRlZmluaXJhbmEgcG9samEgc28gbmEgdm9sam8gdnNlbSBhcnRpa2xvbS4nOwokbGFuZ1snaW5mb19maWVsZHByb2JsZW1zJ10gPSAnUHJpJnNjYXJvbjtsbyBqZSBkbyB0ZcW+YXYgcHJpIHVwcmF2bGphbmp1IHogZW5pbSBhbGkgdmXEjSBwcmlsYWdvamVuaWggcG9sai4gQWtjaWphIGplIGJpbGEgdXNwZSZzY2Fyb247bm8gemFrbGp1xI1lbmEsIHZlbmRhciBwcmV2ZXJpdGUgaW4gb2RwcmF2aXRlIG5hcGFrZS4nOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnRG92b2xqZW5lIHZyZWRub3N0aSBzbyArLSojLiMjJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdKYXZuYSBwb2xqYSBsYWhrbyB2aWRpam8gdnNpJzsKJGxhbmdbJ2xhYmVsJ10gPSAnTmF6aXYnOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnWmFkbmphIHNwcmVtZW1iYSc7CiRsYW5nWydsb2dvdGV4dCddID0gJ0RydWdhIHNsaWthJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ05hanZlxI1qYSBkb2zFvmluYSA8ZW0+KHNhbW8gcHJpIHRleHRib3ggcG9samloKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ0RhdHVtIHNwcmVtZW1iZSc7CiRsYW5nWydtb2R1bGVfZGVzY3JpcHRpb24nXSA9ICdNb2R1bCB6YSB1cHJhdmxqYW5qZSBzIGthdGFsb2dvbSBhcnRpa2xvdiwgY2VuYW1pLCBzbGlrYW1pIGl0ZC4nOwokbGFuZ1snbmFtZSddID0gJ0ltZSc7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ05pbWF0ZSB6YWRvc3RuaWggcHJhdmljOiAlcyc7CiRsYW5nWyduZXdfY2F0ZWdvcnlfbmFtZSddID0gJ0ltZSBub3ZlIGthdGVnb3JpamUnOwokbGFuZ1snbmV4dHBhZ2UnXSA9ICc+JzsKJGxhbmdbJ25vbmFtZWdpdmVuJ10gPSAnSW1lIG5pIGJpbG8gcG9kYW5vJzsKJGxhbmdbJ25vbmUnXSA9ICdOb2Jlbic7CiRsYW5nWydvZiddID0gJ29kJzsKJGxhbmdbJ3BhZ2UnXSA9ICdTdHJhbic7CiRsYW5nWydwYWdlX29mJ10gPSAnU3RyYW4gJXMgb2QgJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ09tZWppdGV2IHN0cmFuaSc7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5oaWVyYXJjaHkgLS0gRGlzcGxheSBhIHByb2R1Y3QgbGlzdCBieSBoaWVyYXJjaHk8L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdCBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyeSBvZiBwcm9kdWN0czwvbGk+DQogIDxsaT5kZXRhaWxzIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIHByb2R1Y3Q8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdXaGVuIHVzZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGNhdGVnb3J5IHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IG9ubHkgdGhvc2UgcHJvZHVjdHMgdGhhdCBhcmUgaW4gdGhhdCBjYXRlZ29vcnkuIChhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IGNhbiBiZSBzdXBwbGllZCknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBjYXRlZ29yeWxpc3QgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1fZGV0YWlscGFnZSddID0gJ1RoaXMgc3BlY2lmaWVzIHRoZSBwYWdlaWQgb3IgYWxpYXMgdGhhdCBzaG91bGQgYmUgdXNlZCB0byBkaXNwbGF5IHRoZSBkZXRhaWwgcmVwb3J0Lic7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIGRldGFpbCBtb2RlIGRpc3BsYXkuICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQsIHRoZW4gdGhlIGN1cnJlbnQgZGVmYXVsdCB0ZW1wbGF0ZSBvZiB0aGF0IHR5cGUgaXMgdXNlZC4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5J10gPSAnVXNlZnVsIG9ubHkgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCBvbmx5IGl0ZW1zIGluIHRoYXQgbG9jYXRpb24gb2YgdGhlIGhpZXJhcmNoeSBzaG91bGQgYmUgZGlzcGxheWVkLiAgV2lsZGNhcmQgY2hhcmFjdGVyIGNhbiBiZSB1c2VkIHNvIHRoYXQgeW91IGNhbiBzcGVjaWZ5IHBhcmVudC9jaGlsZCByZWxhdGlvbnNoaXBzIGFzIHdlbGwuICBpLmUge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTt0cnVja3MqJiMwMzk7fSB3aWxsIGNyZWF0ZSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGluY2x1ZGluZyB0aGUgY2hpbGRyZW4gaW4gdGhlIGhpZXJhcmNoeS4gIFNpbWlsYXJseSwge1Byb2R1Y3RzIGhpZXJhcmNoeT0mIzAzOTsqdHJ1Y2tzJiMwMzk7fSB3aWxsIGRpc3BsYXkgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBhbmQgYWxsIHByb2R1Y3RzIGJlbG9naW5nIHRvIGFueSBwYXJlbnQgaW4gdGhlIGhpZXJhcmNoeS4nOwokbGFuZ1sncGFyYW1faGllcmFyY2h5dGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBoaWVyYXJjaHkgZGlzcGxheS4gSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX3BhZ2VsaW1pdCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIDxlbT5kZWZhdWx0PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgaG93IG1hbnkgaXRlbXMgc2hvdWxkIGJlIGxpc3RlZCBvbiBlYWNoIHBhZ2UuJzsKJGxhbmdbJ3BhcmFtX3BhcmVudCddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+aGllcmFyY2h5PC9lbT4gYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIGhpZXJhcmNoeSBpZCBvZiB0aGUgc3RhcnRpbmcgbG9jYXRpb24gb2YgdGhlIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fcHJvZHVjdGlkJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgZGV0YWlsIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHdoYXQgcHJvZHVjdCB0byB1c2UgZm9yIHRoZSBkaXNwbGF5Lic7CiRsYW5nWydwYXJhbV9zb3J0b3JkZXInXSA9ICdTcGVjaWZ5IHRoZSBvcmRlciBvZiBzb3J0ZWQgZmllbGRzIGluIHN1bW1hcnkgdmlldy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPmFzYzwvc3Ryb25nPiAtLSBBc2NlbmRpbmcgb3JkZXI8L2xpPg0KICA8bGk+ZGVzYyAtLSBEZXNjZW5kaW5nIG9yZGVyPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3NvcnRieSddID0gJ0FwcGxpY2FibGUgb25seSBpbiBzdW1tYXJ5IG1vZGUsIHRoaXMgcGFyYW1ldGVyIGRldGVybWluZXMgdGhlIHNvcnRpbmcgb2YgdGhlIG91dHB1dCBwcm9kdWN0cy4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT48c3Ryb25nPnByb2R1Y3RfbmFtZTwvc3Ryb25nPjwvbGk+DQogIDxsaT5wcmljZSAtLSBUaGUgcHJvZHVjdCBiYXNlIHByaWNlPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHN1bW1hcnkgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ05hZHJlamVuaSBlbGVtZW50JzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWwgUHJvZHVrdGkgamUgYmlsIHVzcGUmc2Nhcm9uO25vIG5hbWUmc2Nhcm9uO8SNZW4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsIFByb2R1a3RpIGplIGJpbCB1c3BlJnNjYXJvbjtubyBvZHN0cmFuamVuIHogdnNlbWkgcG9kYXRraSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ05hc3Rhdml0dmUnOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnxIxlIG9kc3RyYW5pdGUgdGEgbW9kdWwsIGJvc3RlIG9kc3RyYW5pbGkgdHVkaSB2c2UgcG9kYXRrZSwga2kgbXUgcHJpcGFkYWpvLiBTdGUgcHJlcHJpxI1hbmksIGRhIMW+ZWxpdGUgbmFkYWxqZXZhdGk/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnQ2VuYSc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnTmFzdGF2aXRldiBjZW5lJzsKJGxhbmdbJ3ByZXZwYWdlJ10gPSAnPCc7CiRsYW5nWydwcm9kdWN0J10gPSAnQXJ0aWtlbCc7CiRsYW5nWydwcm9kdWN0bmFtZSddID0gJ0ltZSBhcnRpa2xhJzsKJGxhbmdbJ3Byb2R1Y3RzJ10gPSAnUHJvZHVrdGknOwokbGFuZ1sncHJvZHVjdF9oaWVyYXJjaHknXSA9ICdIaWVyYXJoaWphIHByb2R1a3Rvdic7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICdVcHJhdml0ZWxqIHByb2R1a3Rvdic7CiRsYW5nWydwcm9tcHQnXSA9ICdWcHJhJnNjYXJvbjthbmplJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ZpbGV0eXBlcyddID0gJ0Rvdm9saSBuYWxhZ2FuamUgZGF0b3RlayBzIHRlbWkga29uxI1uaWNhbWkgKHphIHBvbGphIHRpcGEgZGF0b3Rla2EpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdEb3ZvbGkgbmFsYWdhbmplIGRhdG90ZWsgcyB0ZW1pIGtvbsSNbmljYW1pICh6YSBwb2xqYSB0aXBhIHNsaWthKSc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ0F2dG9tYXRpxI1ubyB1c3R2YXJpIHBvbWFuaiZzY2Fyb247YW5lIHNsaWtlJzsKJGxhbmdbJ3Byb21wdF9hdXRvd2F0ZXJtYXJrJ10gPSAnQXZ0b21hdGnEjW5vIHZzdGF2aSB2b2RuaSDFvmlnIG5hIHNsaWtlJzsKJGxhbmdbJ3Byb21wdF9hcHBsaWNhYmxlJ10gPSAnT21vZ2/EjWkgcHJpdnpldG8gemEgdnNlIG5vdmUgYXJ0aWtsZSc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3ljb2RlJ10gPSAnJlNjYXJvbjtpZnJhIHZhbHV0ZSc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3lzeW1ib2wnXSA9ICdTaW1ib2wgdmFsdXRlJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnXSA9ICdJemJyaSZzY2Fyb247ZW0gdnNlIGRhdG90ZWtlLCBraSBzbyBwb3ZlemFuZSB6IGFydGlrbG9tLCBrbyBpemJyaSZzY2Fyb247ZW0gYXJ0aWtlbD8nOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdQcml2emV0YSBzdHJhbiBzIHBvZHJvYm5vc3RtaSc7CiRsYW5nWydwcm9tcHRfdGF4cmF0ZSddID0gJ1N0b3BuamEgZGF2a2EnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdQcml2emV0YSBzbWVyIHJhenZyJnNjYXJvbjvEjWFuamEgYXJ0aWtsb3YgdiBwb3Z6ZXRrdSc7CiRsYW5nWydwcm9tcHRfc3VtbWFyeXNvcnRpbmcnXSA9ICdQcml2emV0byBwb2xqZSB6YSByYXp2ciZzY2Fyb247xI1hbmplIGFydGlrbG92IHYgcG92emV0a3UnOwokbGFuZ1sncHJvbXB0X3RheDEnXSA9ICdQcnZpIGRhdmVrJzsKJGxhbmdbJ3Byb21wdF90YXgyJ10gPSAnRHJ1Z2kgZGF2ZWsnOwokbGFuZ1sncHJvbXB0X3RheG5hbWUnXSA9ICdJbWUgZGF2a2EnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnS29kYSBwcmVkbG9nZSc7CiRsYW5nWydwcm9tcHRfd2VpZ2h0dW5pdHMnXSA9ICdFbm90YSB0ZcW+ZSc7CiRsYW5nWydwdWJsaWMnXSA9ICdKZSB0byBwb2xqZSBqYXZubz8nOwokbGFuZ1sncHVibGlzaGVkJ10gPSAnT2JqYXZsamVubyc7CiRsYW5nWydyYW5kb20nXSA9ICdOYWtsanXEjW5vJzsKJGxhbmdbJ3Jlc2V0dG9mYWN0b3J5J10gPSAnUG9uYXN0YXZpIG5hIHRvdmFybmkmc2Nhcm9uO2tlIG5hc3Rhdml0dmUnOwokbGFuZ1sncm9vdCddID0gJ0tvcmVuJzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdJemJlcml0ZSBlbm8nOwokbGFuZ1snc29ydF9ieSddID0gJ1JhenZyc3RpIHBvJzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTbWVyIHJhenZyJnNjYXJvbjvEjWFuamEnOwokbGFuZ1snc3RhdHVzJ10gPSAnU3RhdHVzJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1BvJnNjYXJvbjtsamknOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1ByZWRsb2dlIHphIHBvdnpldGVrJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnRG9kYWovdXJlZGkgcHJlZGxvZ28gemEgcG92emV0ZWsnOwokbGFuZ1sndGF4YWJsZSddID0gJ09iZGF2xI1lbm8nOwokbGFuZ1sndGF4X21vZHVsZSddID0gJ01vZHVsIHphIGRhdmVrJzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGVrc3Rvdm5vIHBvZHJvxI1qZSc7CiRsYW5nWyd0ZXh0Ym94J10gPSAnVGVrc3Rvdm5pIHZub3MnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnUHJpdnpldG8gemEgbm92ZSBwcmVkbG9nZSBoaWVyYXJoaWplJzsKJGxhbmdbJ3RpdGxlX2NhdGVnb3J5bGlzdF9kZmx0dGVtcGxhdGUnXSA9ICdQcml2emV0byB6YSBub3ZlIHByZWRsb2dlIHByZWdsZWRhIGthdGVnb3Jpaic7CiRsYW5nWyd0aXRsZV9kZXRhaWxfZGZsdHRlbXBsYXRlJ10gPSAnUHJpdnpldG8gemEgbm92ZSBwcmVkbG9nZSBwb2Ryb2Jub3N0aSc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ1ByaXZ6ZXRvIHphIG5vdmUgcHJlZGxvZ2UgcG92emV0a2EnOwokbGFuZ1sndHlwZSddID0gJ1RpcCc7CiRsYW5nWyd1cGRhdGUnXSA9ICdQb3NvZG9iaSc7CiRsYW5nWyd1cGxvYWQnXSA9ICdJemJlcml0ZSBkYXRvdGVrbyB6YSBuYWxhZ2FuamUnOwokbGFuZ1sndmFsaWQnXSA9ICdWZWxqYXZubyc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZyZWRub3N0JzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1ZyZWRub3N0aSc7CiRsYW5nWyd3YXRlcm1hcmtfbG9jYXRpb24nXSA9ICdMb2thY2lqYSB2b2RuZWdhIMW+aWdhJzsKJGxhbmdbJ3dlaWdodCddID0gJ1Rlxb5hJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNTg3OTU5Mjc3LjEyMTc0MzM1OTUuMTIyMjU4ODIxNi4xMjI2Njc3MTY3LjIxJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTIyMjU4ODIxNi4yMC4xMS51dG1jc3I9Z29vZ2xlfHV0bWNjbj0ob3JnYW5pYyl8dXRtY21kPW9yZ2FuaWN8dXRtY3RyPWNtcyBtYWRlIHNpbXBsZSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/sv_SE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FiYnJfbGVuZ3RoJ10gPSAnTCc7CiRsYW5nWydhYmJyX3dpZHRoJ10gPSAnVyc7CiRsYW5nWydhYmJyX2hlaWdodCddID0gJ0gnOwokbGFuZ1snYWRkJ10gPSAnTCZhdW1sO2dnIHRpbGwnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdMJmF1bWw7Z2cgdGlsbCBlbiBrYXRlZ29yaSc7CiRsYW5nWydhZGRmaWVsZGRlZiddID0gJ0wmYXVtbDtnZyB0aWxsIGV0dCBmJmF1bWw7bHQnOwokbGFuZ1snYWRqdXN0YWJsZSddID0gJ0p1c3RlcmJhcic7CiRsYW5nWydhZGRwcm9kdWN0J10gPSAnTCZhdW1sO2dnIHRpbGwgZW4gcHJvZHVrdCc7CiRsYW5nWydhZGRfYXR0cmliX3NldCddID0gJ0wmYXVtbDtnZyB0aWxsIGF0dHJpYnV0JzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ0Fzc29jaWVyYW5kZSBmJmF1bWw7bHQgbWVkIGthdGVnb3JpOiAmcXVvdDslcyZxdW90Oyc7CiRsYW5nWydhZGRfaGllcmFyY2h5X2l0ZW0nXSA9ICdMJmF1bWw7Z2cgdGlsbCBoaWVyYXJraSBvYmpla3QnOwokbGFuZ1snYWRkX29wdGlvbiddID0gJ0wmYXVtbDtnZyB0aWxsIGV0dCBhdHRyaWJ1dCBhbHRlcm5hdGl2JzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdEZXR0YSBhdHRyaWJ1dCBrYW4gZW5kYXN0IHNlcyBhdiBhZG1pbj8nOwokbGFuZ1snYWxpZ25fdWwnXSA9ICdUb3BwZW4gdGlsbCB2JmF1bWw7bnN0ZXInOwokbGFuZ1snYWxpZ25fdWMnXSA9ICdUb3BwZW4gY2VudHJlcmF0JzsKJGxhbmdbJ2FsaWduX3VyJ10gPSAnVG9wcGVuIGgmb3VtbDtnZXInOwokbGFuZ1snYWxpZ25fbWwnXSA9ICdNaXR0ZW4gdGlsbCB2JmF1bWw7bnN0ZXInOwokbGFuZ1snYWxpZ25fbWMnXSA9ICdDZW50cmVyYXQnOwokbGFuZ1snYWxpZ25fbXInXSA9ICdNaXR0ZW4gdGlsbCBoJm91bWw7Z2VyJzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnTmVkZXJzdCB0aWxsIHYmYXVtbDtuc3Rlcic7CiRsYW5nWydhbGlnbl9sYyddID0gJ05lZGVyc3QgQ2VudHJlcmF0JzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnTmVkZXJzdCB0aWxsIGgmb3VtbDtnZXInOwokbGFuZ1snYWxsJ10gPSAnQWxsYSc7CiRsYW5nWydhbGxjYXRlZ29yaWVzJ10gPSAnQWxsYSBrYXRlZ29yaWVyJzsKJGxhbmdbJ2FueSddID0gJ1ZpbGtlbic7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyPyc7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXByb2R1Y3QnXSA9ICcmQXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZlcmtsaWdlbiB2aWxsIHRhIGJvcnQgZGVuIGgmYXVtbDtyIHByb2R1a3Rlbiwgb2NoIGFsbGEgZGUga29tcGxldHRlcmFuZGUgaW5mb3JtYXRpb24gZiZvdW1sO3IgZGVuPyc7CiRsYW5nWydhc2NlbmRpbmcnXSA9ICdTdGlnYW5kZSc7CiRsYW5nWydhdHRyaWJ1dGVfbmFtZSddID0gJ0F0dHJpYnV0IG5hbW4nOwokbGFuZ1snYXV0b21hdGljJ10gPSAnQXV0b21hdGlza3QnOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZXMnXSA9ICdIaWVyYXJraW1hbGxhcic7CiRsYW5nWydieWhpZXJhcmNoeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdMJmF1bWw7Z2cgdGlsbC9SZWRpZ2VyYSBIaWVyYXJraW1hbGwnOwokbGFuZ1snY2FuY2VsJ10gPSAnQXZicnl0JzsKJGxhbmdbJ2NhdGVnb3JpZXMnXSA9ICdLYXRlZ29yaWVyJzsKJGxhbmdbJ2NhdGVnb3J5J10gPSAnS2F0ZWdvcmknOwokbGFuZ1snY2F0ZWdvcnlleGlzdHMnXSA9ICdFbiBrYXRlZ29yaSBtZWQgZGV0IG5hbW5ldCBmaW5ucyByZWRhbic7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZXMnXSA9ICdLYXRlZ29yaW1hbGxhcic7CiRsYW5nWydjYXRlZ29yeWxpc3R0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnTCZhdW1sO2dnIHRpbGwvcmVkaWdlcmEga2F0ZWdvcmltYWxsJzsKJGxhbmdbJ2NlbnRpbWV0ZXJzJ10gPSAnQ2VudGltZXRlcic7CiRsYW5nWydjaGVja2JveCddID0gJ0tyeXNzcnV0YSc7CiRsYW5nWydjb25maXJtX2RlbGV0ZV9oaWVyYXJjaHlfbm9kZSddID0gJyZBdW1sO3IgZHUgcyZhdW1sO2tlciBwJmFyaW5nOyBhdHQgZHUgdmlsbCB0YSBib3J0IGRlbm5hIG5vZD8gQWxsYSBwcm9kdWt0ZXIgc29tIGFudiZhdW1sO25kZXIgZGVubmEgbm9kIGtvbW1lciBpbnRlIGF0dCB0aWxsaCZvdW1sO3JhIG4mYXJpbmc7Z29uIGhpZXJhcmtpJzsKJGxhbmdbJ2NvbmZpcm1faW1wb3J0J10gPSAnJkF1bWw7ciBkdSBzJmF1bWw7a2VyIHAmYXJpbmc7IGF0dCBkdSB2ZXJrbGlnZW4gdmlsbCBnJm91bWw7cmEgZGV0dGE/IFwgbiBcIG5JbXByb3BlciBpbnN0JmF1bWw7bGxuaW5nYXIsIGVsbGVyIGVuIG9naWx0aWd0IGtvbmZpZ3VyYXRpb25zZmlsIGt1bmRlIGhlbHQgZiZvdW1sO3JkJmF1bWw7cnZhdCBmdW5nZXJhbmRlIHN5c3RlbS4nOwokbGFuZ1snY29weSddID0gJ0tvcGllcmEnOwokbGFuZ1snY29weV9jYXRlZ29yeSddID0gJ0tvcGllcmEgS2F0ZWdvcmknOwokbGFuZ1snY3JlYXRlZGRhdGUnXSA9ICdTa2FwYWQgZGF0dW0nOwokbGFuZ1snY3VycmVudF92YWx1ZSddID0gJ051dmFyYW5kZSB2JmF1bWw7cmRlJzsKJGxhbmdbJ2RhdGEnXSA9ICdEYXRhICc7CiRsYW5nWydkZWZhdWx0J10gPSAnU3RhbmRhcmQnOwokbGFuZ1snZGVmYXVsdHRlbXBsYXRlcyddID0gJ1N0YW5kYXJkbWFsbGFyJzsKJGxhbmdbJ2RlZmF1bHRfdGVtcGxhdGVfbm90aWNlJ10gPSAnPHN0cm9uZz5Ob3Rpczo8L3N0cm9uZz4gSW5uZWgmYXJpbmc7bGxldCBpIGRlc3NhIHRleHQgb21yJmFyaW5nO2RlbiBhbnYmYXVtbDtuZHMgZiZvdW1sO3IgYXR0IGJlc3QmYXVtbDttbWEgc3RhbmRhcmRpbm5laCZhcmluZztsbCBhdiBkaW5hIG1hbGxhciBuJmF1bWw7ciBkdSBrbGlja2FyIHAmYXJpbmc7ICZxdW90O0wmYXVtbDtnZyB0aWxsIG1hbGwmcXVvdDsgaSBsJmF1bWw7bXBsaWcgbWFsbCBmbGlrLiBSZWRpZ2VyaW5nIGF2IGVuIHRleHQgaSBkZXNzYSBvbXImYXJpbmc7ZGVuIGtvbW1lciBhdHQgaGEgb21lZGVsYmFyIGVmZmVrdCBwJmFyaW5nOyBkaW4gd2ViYnBsYXRzLic7CiRsYW5nWydkZWxldGUnXSA9ICdSYWRlcmEnOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ1JhZGVyYSBhdHRyaWJ1dCc7CiRsYW5nWydkZWxldGVfaGllcmFyY2h5X2l0ZW0nXSA9ICdSYWRlcmEgaGllcmFya2kgb2JqZWt0ZXQnOwokbGFuZ1snZGVzY2VuZGluZyddID0gJ0ZhbGxhbmRlJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnQmVza3Jpdm5pbmcnOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFsamVyJzsKJGxhbmdbJ2RldGFpbHRlbXBsYXRlcyddID0gJ0RldGFsam1hbGwnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVfYWRkZWRpdCddID0gJ0wmYXVtbDtnZyB0aWxsL3JlZGlnZXJhIGVuIGRldGFsam1hbGwnOwokbGFuZ1snZGltZW5zaW9ucyddID0gJ0RpbWVuc2lvbmVyJzsKJGxhbmdbJ2Rpc2FibGVkJ10gPSAnSW5ha3RpdmVyYWQnOwokbGFuZ1snZHJhZnQnXSA9ICdVdGthc3QnOwokbGFuZ1snZHJvcGRvd24nXSA9ICdOZWRydWxsbmluZ3NiYXInOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ0Ryb3Bkb3duIFZhbCA8ZW0+KGcmYXVtbDtsbGVyIGVuZGFzdCBmJm91bWw7ciBkcm9wZG93biBvbXImYXJpbmc7ZGVuKTwvZW0+PGJyLz48YnIvPjxlbT4oZW4gcG9zdCBwZXIgcmFkKTwvZW0+JzsKJGxhbmdbJ2VkaXQnXSA9ICdSZWRpZ2VyYSc7CiRsYW5nWydlZGl0X2F0dHJpYnNldCddID0gJ1JlZGlnZXJhIGF0dHJpYnV0JzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ1JlZGlnZXJhIGF0dHJpYnV0dXBwcyZhdW1sO3R0bmluZ2FyJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0c19mb3InXSA9ICdSZWRpZ2VyYSBhdHRyaWJ1dHVwcHMmYXVtbDt0dG5pbmdhciBmJm91bWw7cic7CiRsYW5nWydlZGl0X2F0dHJpYnV0ZXMnXSA9ICdSZWRpZ2VyYSBhdHRyaWJ1dGVyJzsKJGxhbmdbJ2VkaXRfY2F0ZWdvcnknXSA9ICdSZWRpZ2VyYSBrYXRlZ29yaSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ1JlZGlnZXJhIGthdGVnb3JpIGYmYXVtbDtsdGV0JzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdSZWRpZ2VyYSBoaWVyYWtpIG9iamVrdGV0JzsKJGxhbmdbJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnXSA9ICdFbiBhdHRyaWJ1dCBtZWQgZGV0IG5hbW5ldCBmaW5ucyByZWRhbic7CiRsYW5nWydlcnJvcl9kdXBsaWNhdGVfc2t1J10gPSAnRGV0dGEgU0tVIHYmYXVtbDtyZGV0IGZpbm5zIHJlZGFuJzsKJGxhbmdbJ2Vycm9yX2ZpZWxkdmFsdWVfZW1wdHknXSA9ICdGJmF1bWw7bHRldHMgdiZhdW1sO3JkZSBrYW4gaW50ZSB2YXJhIHRvbXQnOwokbGFuZ1snZXJyb3JfZmlsZWZvcm1hdCddID0gJ0ZpbGZvcm1hdHNwcm9ibGVtJzsKJGxhbmdbJ2Vycm9yX2ZpbGVub3Rmb3VuZCddID0gJ0ZpbGVuIGhpdHRhZGVzIGludGUnOwokbGFuZ1snZXJyb3JfZmlsZW9wZW4nXSA9ICdQcm9ibGVtIGF0dCAmb3VtbDtwcG5hIGZpbCUgcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnSW52YWxpZCBQYXJlbnQgKGEgaGllcmFyY2h5IG5vZGUgY2Fubm90IGJlIGl0JiMwMzk7cyBvd24gcGFyZW50KSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdGJmF1bWw7bHRldHMgdiZhdW1sO3JkZSAmYXVtbDtyIG9naWx0aWcgKGlubmVoJmFyaW5nO2xsZXIgaWNrZSBhbGZhbnVtZXJpc2thIHRlY2tlbiknOwokbGFuZ1snZXJyb3JfbWlzc2luZ3BhcmFtJ10gPSAnRW4gbiZvdW1sO2R2JmF1bWw7bmRpZyBwYXJhbWV0ZXIgc2FrbmFzIGVsbGVyICZhdW1sO3Igb2dpbHRpZyc7CiRsYW5nWydlcnJvcl9uYW1ldXNlZCddID0gJ0V0dCBvYmpla3QgbWVkIGRldCBuYW1uZXQgYW52JmF1bWw7bmRzIHJlZGFuJzsKJGxhbmdbJ2Vycm9yX25vZmllbGR0eXBlJ10gPSAnViZhdW1sO2xqIGYmYXVtbDtsdCB0eXAnOwokbGFuZ1snZXJyb3Jfbm9uYW1lJ10gPSAnRHUgbSZhcmluZztzdGUgdXBwZ2UgZXR0IG5hbW4nOwokbGFuZ1snZXJyb3Jfb25lc3Vic2NyaXB0aW9uZmllbGQnXSA9ICdPbmx5IG9uZSBzdWJzY3JpcHRpb24gZmllbGQgaXMgYWxsb3dlZCc7CiRsYW5nWydlcnJvcl9wZXJtaXNzaW9uZGVuaWVkJ10gPSAnTmVrYXQgdGlsbHN0JmFyaW5nO25kJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfYWxpYXN1c2VkJ10gPSAnRGV0IHNwZWNpZmljZXJhZGUgYWxpYXMgYW52JmF1bWw7bmRzIHJlZGFuJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdFbiBwcm9kdWt0IG1lZCBkZXQgbmFtbmV0IGZpbm5zIHJlZGFuJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3Rfbm90Zm91bmQnXSA9ICdEZW4gYmVnJmF1bWw7cmRhIHByb2R1a3RlbiBrdW5kZSBpbnRlIGhpdHRhcyc7CiRsYW5nWydlcnJvcl9wcm9kdWN0X3NrdXVzZWQnXSA9ICdTS1UtdiZhdW1sO3JkZXQgYW52JmF1bWw7bmRzIHJlZGFuIGF2IGVuIGFubmFuIHByb2R1a3QnOwokbGFuZ1snZXJyb3JfcHJpY2VfYWRqdXN0bWVudCddID0gJ09naWx0aWcgcHJpc2p1c3RlcmluZ3MgdiZhdW1sO3JkZSBmJm91bWw7ciBvYmpla3RldCAlcyc7CiRsYW5nWydlcnJvcl91cGxvYWRfZmFpbGVkJ10gPSAnVXBwbGFkZG5pbmdzIGZlbDogJXMnOwokbGFuZ1snZXhwaXJlX3NpeF9tb250aHMnXSA9ICdFZnRlciA2IG0mYXJpbmc7bmFkZXInOwokbGFuZ1snZXhwaXJlX29uZV95ZWFyJ10gPSAnRWZ0ZXIgMSAmYXJpbmc7cic7CiRsYW5nWydleHBpcmVfdHdvX3llYXInXSA9ICdFZnRlciAyICZhcmluZztyJzsKJGxhbmdbJ2V4dHJhMSddID0gJ0V4dHJhIGYmYXVtbDtsdCAxJzsKJGxhbmdbJ2V4dHJhMiddID0gJ0V4dHJhIGYmYXVtbDtsdCAyJzsKJGxhbmdbJ2ZpZWxkJ10gPSAnRiZhdW1sO2x0JzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRiZhdW1sO2x0ZGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdGJmF1bWw7bHRkZWZpbml0aW9uZXInOwokbGFuZ1snZmlsZSddID0gJ0ZpbCc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdGVyJzsKJGxhbmdbJ2ZpcnN0cGFnZSddID0gJzw8JzsKJGxhbmdbJ2dlbmVyYWxfc2V0dGluZ3MnXSA9ICdTdGFuZGFyZCBpbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1snZ28nXSA9ICdWaWRhcmUnOwokbGFuZ1snaGllcmFyY2h5J10gPSAnSGllcmFya2knOwokbGFuZ1snaGllcmFyY2h5X3Bvc2l0aW9uJ10gPSAnSGllcmFya2kgcG9zaXRpb24nOwokbGFuZ1snaWQnXSA9ICdJRCc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdCaWxkJzsKJGxhbmdbJ2ltYWdlX2hhbmRsaW5nX3NldHRpbmdzJ10gPSAnQmlsZGhhbnRlcmluZ3MgaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ2ltcG9ydF9mcm9tX2NzdiddID0gJ0ltcG9ydGVyYSBwcm9kdWt0ZXIgZnImYXJpbmc7biBDU1YtZmlsJzsKJGxhbmdbJ2luY2hlcyddID0gJ1R1bSc7CiRsYW5nWydpbmNsdWRlX2NoaWxkcmVuJ10gPSAnSW5rbHVkZXJhIGNoaWxkcmVuPyc7CiRsYW5nWydpbmZvX2FsbnVtb25seSddID0gJ0VuZGFzdCBhbGZhbnVtZXJpc2thIHRlY2tlbi4gSW5nYSBibGFua3N0ZWcsIGNpdGF0dGVja2VuIGVsbGVyIGlja2Ugc2tyaXZlbHNlIC8gbnVtbWVyIGtvbWJpbmF0aW9uZXInOwokbGFuZ1snaW5mb19hdHRyaWJ0ZW1wbGF0ZSddID0gJ00mb3VtbDtqbGlnYSB2YXJpYWJsZXIgJmF1bWw7cjogeyRhdHRyaWJfdGV4dH0seyRhdHRyaWJfYWRqdXN0fSx7JGN1cnJlbmN5X3N5bWJvbH0nOwokbGFuZ1snaW5mb19hdXRvd2F0ZXJtYXJrJ10gPSAnVmF0dGVuc3QmYXVtbDttcGVscyBpbnN0JmF1bWw7bGxuaW5nYXJuYSAmYXVtbDtyIGgmYXVtbDttdGFkZSBmciZhcmluZztuIENHRXh0ZW5zaW9ucyBNb2R1bGUnOwokbGFuZ1snaW5mb19iYXRjaHNpemUnXSA9ICdTZXQgdGhlIG51bWJlciBvZiBsaW5lcyB0byBwcm9jZXNzIHBlciAmcXVvdDtiYXRjaCZxdW90Oy4gIEFmdGVyIGEgYmF0Y2ggaXMgY29tcGxldGUsIHRoZSBpbXBvcnRlciB3aWxsIHJlZGlyZWN0LCBhbmQgcmVzdW1lIG9wZXJhdGlvbnMuICBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBtZW1vcnkgZXJyb3JzLCBvciB0aW1lb3V0IHByb2JsZW1zIGR1ZSB0byBsYXJnZSBhbW91bnRzIG9mIHByb2Nlc3NpbmcsIHlvdSBtYXkgbmVlZCB0byBjb25zdWx0IHlvdXIgaG9zdCBwcm92aWRlciwgb3IgcmVkdWNlIHRoaXMgbnVtYmVyJzsKJGxhbmdbJ2luZm9fY2FydF9tb2R1bGVfcGFyYW1zJ10gPSAnRGVzc2EgcGFyYW1ldHJhciBmaW5ucyB0aWxsIGRlbiB2YWxkYSBrdW5kdmFnbnNtb2R1bGVuIGZyJmFyaW5nO24gcHJvZHVrdGRldGFsaiBvY2ggc2FtbWFuZmF0dG5pbmcnOwokbGFuZ1snaW5mb19jcmVhdGVmaWVsZHMnXSA9ICdTa2FwYSBhdXRvbWF0aXNrdCBldHQgb2smYXVtbDtudCBwcm9kdWt0ZiZhdW1sO2x0PyA8ZW0+IChEZSBrb21tZXIgYXR0IHNrYXBhcyBzb20gdGV4dGYmYXVtbDtsdCkgPC8gZW0+JzsKJGxhbmdbJ2luZm9fY3JlYXRlY2F0ZWdvcmllcyddID0gJ0F1dG9tYXRpc2t0IHNrYXBhIHByb2R1a3RrYXRlZ29yaWVyIGYmb3VtbDtyIGF0dCBtYXRjaGEgZGVtIGkgQ1NWLWZpbGVuLCBvbSBkZXQgaW50ZSByZWRhbiBmaW5ucyc7CiRsYW5nWydpbmZvX2NyZWF0ZWhpZXJhcmNoeSddID0gJ0F1dG9tYXRpc2t0IHNrYXBhIHByb2R1a3QgaGllcmFya2llciBmJm91bWw7ciBhdHQgbWF0Y2hhIGRlbSBpIENTVi1maWxlbiBvbSBkZXQgaW50ZSByZWRhbiBmaW5ucyc7CiRsYW5nWydpbmZvX2RlY2ltYWxfdW5pdHMnXSA9ICdEZXR0YSBzeXN0ZW0gZiZvdW1sO3JzdCZhcmluZztyICguKSBzb20gZGVjaW1hbHRlY2tlbnNlcGFyYXRvci4gZHZzOiA8c3Ryb25nPjUsMjU8L3N0cm9uZz4nOwokbGFuZ1snaW5mb19kZWxpbWl0ZXInXSA9ICdBbmdlIHZpbGtldCB0ZWNrZW4gKGVsbGVyIHRlY2tlbikgc29tIHNlcGFyZXJhIHZhcmplIGYmYXVtbDtsdCc7CiRsYW5nWydpbmZvX2R1cGxpY2F0ZXByb2R1Y3RzJ10gPSAnQW5nZSBodXIgc3lzdGVtZXQgc2thIGhhbnRlcmEgZW4gcHJvZHVrdCB2aWxrZXRzIG5hbW4gcmVkYW4gZmlubnMgaSBDU1YtZmlsZW4nOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz5Ob3RpczogPC9zdHJvbmc+IEFsbGEgZiZhdW1sO2x0IHNvbSBkZWZpbmllcmFzIGgmYXVtbDtyICZhdW1sO3IgdGlsbGcmYXVtbDtuZ2xpZ2EgZiZvdW1sO3IgYWxsYSBwcm9kdWt0ZXIuJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ1Byb2JsZW0gdXBwc3RvZCBuJmF1bWw7ciBtYW4gaGFyIGF0dCBnJm91bWw7cmEgbWVkIGVuIGVsbGVyIGZsZXJhIGVnbmEgZiZhdW1sO2x0LiAmQXJpbmc7dGcmYXVtbDtyZGVuICZhdW1sO3Iga2xhciwgbWVuIGR1IGImb3VtbDtyIHVuZGVycyZvdW1sO2thIG9jaCByJmF1bWw7dHRhIHRpbGwgZGVzc2EgcHJvYmxlbSc7CiRsYW5nWydpbmZvX2hhbmRsZWltYWdlcyddID0gJ1Vwb24gaW1wb3J0LCBpZiBhbiBpbWFnZSBmaWxlbmFtZSBpcyBmb3VuZCBpbiBhIGZpZWxkIGNvbHVtbiwgc2hvdWxkIGl0IGJlIG1vdmVkIGZyb20gdGhlIHNvdXJjZSBsb2NhdGlvbiwgd2F0ZXJtYXJrZWQsIHRodW1ibmFpbGVkLCBhbmQgdGhlIGZpZWxkIHR5cGUgY2hhbmdlZCB0byAmcXVvdDtpbWFnZSZxdW90Oyc7CiRsYW5nWydpbmZvX2ltYWdlcGF0aCddID0gJ1YmYXVtbDtnZW4gKGkgZiZvdW1sO3JoJmFyaW5nO2xsYW5kZSB0aWxsIGlubGFnZGEga2F0YWxvZ2VuKSB2YXIgYmlsZGVybmEgc29tIGF2c2VzIGkgaW1wb3J0ZmlsZW4sIGZpbm5zJzsKJGxhbmdbJ2luZm9faW1wb3J0X3Rlc3RfcGFzc2VkJ10gPSAnQSBicmllZiB0ZXN0IGFzIGJlZW4gcGVyZm9ybWVkIG9uIHRoZSBpbnB1dCBmaWxlIHNwZWNpZmllZCwgYW5kIGV2ZXJ5dGhpbmcgYXBwZWFycyB0byBiZSBjb3JyZWN0Ljxici8+VGhpcyBpcyBubyBpbmRpY2F0aW9uIHRoYXQgdGhlcmUgYXJlIG5vIGVycm9ycyBpbiB0aGUgZmlsZS4nOwokbGFuZ1snaW5mb19wcmljZV9hZGp1c3RtZW50J10gPSAnR2lsdGlnYSB2JmF1bWw7cmRlbiAmYXVtbDtyICstKiMuIyMnOwokbGFuZ1snaW5mb19wcm9kbm90Zm91bmQnXSA9ICdUaGlzIG9wdGlvbiBkZXRlcm1pbmVzIHRoZSBiZWhhdmlvdXIgb2YgdGhlIHdlYnNpdGUgaWYgYSBwcm9kdWN0IGRldGFpbCB2aWV3IGlzIGFjY2Vzc2VkIGRpcmVjdGx5IGJ5IFVSTCwgYW5kIHRoYXQgcHJvZHVjdCBmb3Igd2hhdGV2ZXIgcmVhc29uIChkaXNhYmxlZCwgZGVsZXRlZCwgZXRjKSBjYW5ub3QgYmUgYWNjZXNzZWQuJzsKJGxhbmdbJ2luZm9fcHVibGljZmllbGQnXSA9ICdPZmZlbnRsaWdhIGYmYXVtbDtsdCBzb20gJmF1bWw7ciB0aWxsZyZhdW1sO25nbGlnYSBmJm91bWw7ciBhbGxtJmF1bWw7bmhldGVuIGF0dCBzZSc7CiRsYW5nWydsYWJlbCddID0gJ0V0aWtldHQnOwokbGFuZ1snbGFiZWxfc2tpcCddID0gJ0hvcHBhICZvdW1sO3Zlcic7CiRsYW5nWydsYWJlbF9vdmVyd3JpdGUnXSA9ICdTa3JpdiAmb3VtbDt2ZXInOwokbGFuZ1snbGFzdHBhZ2UnXSA9ICc+Pic7CiRsYW5nWydsYXN0X21vZGlmaWVkJ10gPSAnU2VuYXN0IHVwcGRhdGVyYWQnOwokbGFuZ1snbG9nb3RleHQnXSA9ICdBbmRyYSBiaWxkJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltYWwgbCZhdW1sO25nZCA8ZW0+KHRpbGwmYXVtbDttcGFzIGVuZGFzdCBwJmFyaW5nOyB0ZXh0cnV0YW5zIG9tciZhcmluZztkZW4pPC9lbT4nOwokbGFuZ1snbW9kaWZpZWRkYXRlJ10gPSAnJkF1bWw7bmRyYXQgZGF0dW0nOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnRW4gbW9kdWwgZiZvdW1sO3IgYXR0IGhhbnRlcmEgZXR0IHNvcnRpbWVudCBhdiBwcm9kdWt0ZXIsIGRlcmFzIHByaXMsIGJpbGRlciwgZXRjLCBvY2ggZyZvdW1sO3JhIGRldCBtJm91bWw7amxpZ3QgZiZvdW1sO3IgYW52JmF1bWw7bmRhcmUgYXR0IGJ5Z2dhIGVuIGt1bmR2YWduJzsKJGxhbmdbJ21vdmVfZG93biddID0gJ0ZseXR0YSBuZXInOwokbGFuZ1snbW92ZV91cCddID0gJ0ZseXR0YSB1cHAnOwokbGFuZ1snbmFtZSddID0gJ1Byb2R1a3RuYW1uJzsKJGxhbmdbJ25lZWRwZXJtaXNzaW9uJ10gPSAnRHUgaGFyIGludGUgciZhdW1sO3R0aWdoZXRlciBmJm91bWw7cjogJXMnOwokbGFuZ1snbmV3X2NhdGVnb3J5X25hbWUnXSA9ICdOeXR0IGthdGVnb3JpbmFtbic7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm8nXSA9ICdOZWonOwokbGFuZ1snbm9uYW1lZ2l2ZW4nXSA9ICdJbmdldCBwcm9kdWt0bmFtbiBoYXIgdXBwZ2V0dHMnOwokbGFuZ1snbm9uZSddID0gJ0luZ2VuJzsKJGxhbmdbJ29mJ10gPSAnQXYnOwokbGFuZ1sncGFnZSddID0gJ1NpZGEnOwokbGFuZ1sncGFnZV9vZiddID0gJ1NpZGEgJXMgb2YgJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ01heCBhbnRhbCBzaWRvcic7CiRsYW5nWydwYXJhbV9hY3Rpb24nXSA9ICdTcGVjaWZ5IHRoZSBiZWhhdmlvdXIgb2YgdGhlIG1vZHVsZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5oaWVyYXJjaHkgLS0gRGlzcGxheSBhIHByb2R1Y3QgbGlzdCBieSBoaWVyYXJjaHk8L2xpPg0KICA8bGk+Y2F0ZWdvcnlsaXN0IC0gRGlzcGxheSBhIGxpc3Qgb2YgcHJvZHVjdCBjYXRlZ29yaWVzPC9saT4NCiAgPGxpPjxlbT5kZWZhdWx0PC9lbT4gLSBEaXNwbGF5IGEgc3VtbWFyeSBvZiBwcm9kdWN0czwvbGk+DQogIDxsaT5kZXRhaWxzIC0gRGlzcGxheSBhIGRldGFpbCB2aWV3IG9mIGEgc2luZ2xlIHByb2R1Y3Q8L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnknXSA9ICdXaGVuIHVzZWQgaW4gdGhlIDxlbT5kZWZhdWx0PC9lbT4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciwgd2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBuYW1lIG9mIGFuIGV4aXN0aW5nIGNhdGVnb3J5IHdpbGwgYmUgdXNlZCB0byBkaXNwbGF5IG9ubHkgdGhvc2UgcHJvZHVjdHMgdGhhdCBhcmUgaW4gdGhhdCBjYXRlZ29vcnkuIChhIGNvbW1hIHNlcGVyYXRlZCBsaXN0IGNhbiBiZSBzdXBwbGllZCknOwokbGFuZ1sncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnXSA9ICdBbnYmYXVtbDtuZGJhciBlbmRhc3QgbWVkIGthdGVnb3JpbGlzdGFucyAmYXJpbmc7dGcmYXVtbDtyZGVyLCBkZW4gaCZhdW1sO3IgcGFyYW1ldGVybiBhbmdlciBkZW4gbWFsbCBzb20gc2thIGFudiZhdW1sO25kYXMgZiZvdW1sO3IgaHVyIGxpc3RhbiBza2EgdmlzYXMuIE9tIGluZ2V0IHYmYXVtbDtyZGUgYW5nZXMga29tbWVyIGRlbiBudXZhcmFuZGUgc3RhbmRhcmRtYWxsIGF2IGRlbm5hIHR5cCBhbnYmYXVtbDtuZGFzLic7CiRsYW5nWydwYXJhbV9jYXRlZ29yeWxpc3RkdGx0ZW1wbGF0ZSddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGNhdGVnb3J5bGlzdCBhY3Rpb25zLCB0aGlzIHBhcmFtZXRlciBpbmRpY2F0ZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkaXNwbGF5IG9mIHRoZSBjYXRlZ29yeSBkZXRhaWxzLiAgVGhpcyB1c2VzIGEgY2F0ZWdvcnkgbGlzdCB0ZW1wbGF0ZS4uICBJZiBubyB2YWx1ZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9kZXRhaWxwYWdlJ10gPSAnRGV0dGEgYW5nZXIgcGFnZWlkIGVsbGVyIGFsaWFzIHNvbSBiJm91bWw7ciBhbnYmYXVtbDtuZGFzIGYmb3VtbDtyIGF0dCB2aXNhIGVuIGRldGFsaiByYXBwb3J0Lic7CiRsYW5nWydwYXJhbV9kZXRhaWx0ZW1wbGF0ZSddID0gJ0RlbiBoJmF1bWw7ciBwYXJhbWV0ZXJuIGFuZ2VyIGRlbiBtYWxsIHNvbSBza2EgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBodXIgZGV0YWxqLWwmYXVtbDtnZSB2aXNhcy4gT20gaW5nZXQgdiZhdW1sO3JkZSBhbmdlcywgZCZhcmluZzsga29tbWVyIGRlbiBudXZhcmFuZGUgc3RhbmRhcmRtYWxsIGF2IGRlbm5hIHR5cCBhdHQgYW52JmF1bWw7bmRhcy4nOwokbGFuZ1sncGFyYW1fZmllbGQnXSA9ICdVc2VkIG9ubHkgaW4gdGhlIDxlbT5maWVsZGxpc3Q8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIHRvIHNwZWNpZnkgdGhlIG5hbWUgb2YgYSB1c2VyIGRlZmluZWQgcHJvcGVydHkgdG8gY3JlYXRlIGEgbGlzdCBmcm9tLic7CiRsYW5nWydwYXJhbV9maWVsZHZhbCddID0gJ1VzZWQgb25seSBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgZmllbGQgdmFsdWUgdG8gbGltaXQgcmVzdWx0cyBieS4gIFNwZWNpYWwgdmFsdWVzIGZvciB0aGlzIGZpZWxkIGFyZSAmcXVvdDs6Om51bGw6OiZxdW90OyAmcXVvdDs6Om5vdG51bGw6OiZxdW90Oyc7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHknXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmRlZmF1bHQ8L2VtPiBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGF0IG9ubHkgaXRlbXMgaW4gdGhhdCBsb2NhdGlvbiBvZiB0aGUgaGllcmFyY2h5IHNob3VsZCBiZSBkaXNwbGF5ZWQuICBXaWxkY2FyZCBjaGFyYWN0ZXIgY2FuIGJlIHVzZWQgc28gdGhhdCB5b3UgY2FuIHNwZWNpZnkgcGFyZW50L2NoaWxkIHJlbGF0aW9uc2hpcHMgYXMgd2VsbC4gIGkuZSB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5O3RydWNrcyomIzAzOTt9IHdpbGwgY3JlYXRlIGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgaW5jbHVkaW5nIHRoZSBjaGlsZHJlbiBpbiB0aGUgaGllcmFyY2h5LiAgU2ltaWxhcmx5LCB7UHJvZHVjdHMgaGllcmFyY2h5PSYjMDM5Oyp0cnVja3MmIzAzOTt9IHdpbGwgZGlzcGxheSBhIHN1bW1hcnkgcmVwb3J0IG9mIGFsbCB0cnVja3MsIGFuZCBhbGwgcHJvZHVjdHMgYmVsb2dpbmcgdG8gYW55IHBhcmVudCBpbiB0aGUgaGllcmFyY2h5Lic7CiRsYW5nWydwYXJhbV9oaWVyYXJjaHl0ZW1wbGF0ZSddID0gJ0RlbiBoJmF1bWw7ciBwYXJhbWV0ZXJuIGFuZ2VyIGRlbiBtYWxsIHNvbSBza2EgYW52JmF1bWw7bmRhcyBmJm91bWw7ciBoaWVyYXJraW4gZGlzcGxheWVuLiBPbSBpbmdldCB2JmF1bWw7cmRlIGFuZ2VzLCBkJmFyaW5nOyBrb21tZXIgZGVuIG51dmFyYW5kZSBzdGFuZGFyZG1hbGwgYXYgZGVubmEgdHlwIGF0dCBhbnYmYXVtbDtuZGFzLic7CiRsYW5nWydwYXJhbV9pbmxpbmUnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhhdCB0aGUgb3V0cHV0IG9mIHRoZSBzdW1tYXJ5IHZpZXcgc2hvdWxkIGJlIGRpc3BsYXllZCBpbmxpbmUnOwokbGFuZ1sncGFyYW1fcGFnZWxpbWl0J10gPSAnQW52JmF1bWw7bmRiYXIgZW5kYXN0IG1lZCA8ZW0+IHN0YW5kYXJkIDwvIGVtPiAmYXJpbmc7dGcmYXVtbDtyZGVyLCBkZW5uYSBwYXJhbWV0ZXIgYW5nZXIgaHVyIG0mYXJpbmc7bmdhIG9iamVrdCBza2EgYW5nZXMgcCZhcmluZzsgdmFyamUgc2lkYS4nOwokbGFuZ1sncGFyYW1fcGFyZW50J10gPSAnQW52JmF1bWw7bmRiYXIgZW5kYXN0IGkgPGVtPiBoaWVyYXJraSA8LyBlbT4gJmFyaW5nO3RnJmF1bWw7cmRlciwgZGVubmEgcGFyYW1ldGVyIGFuZ2VyIGhpZXJhcmtpbiBpZCBiJm91bWw7cmphbnMgcGxhdHMgaSByYXBwb3J0ZW4uJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ0FudiZhdW1sO25kYmFyIGVuZGFzdCBtZWQgZGV0YWxqICZhcmluZzt0ZyZhdW1sO3JkZXIsIGRlbiBoJmF1bWw7ciBwYXJhbWV0ZXJuIGFuZ2VyIHZpbGtlbiBwcm9kdWt0IHNvbSBza2EgYW52JmF1bWw7bmRhcyBmJm91bWw7ciB2aXNuaW5nLic7CiRsYW5nWydwYXJhbV9yZXN1bHRwYWdlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2gsIGFuZCBjYXRlZ29yeSBsaXN0IGFjdGlvbnMsIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyBhIHBhZ2UgaWQgb3IgYWxpYXMgdG8gdXNlIHRvIGRpc3BsYXkgdGhlIHN1bW1hcnkgcmVzdWx0cyc7CiRsYW5nWydwYXJhbV9zZWFyY2hmaWVsZCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgc2VhcmNoIGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgbWF5IGNvbnRhaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBmaWVsZCBuYW1lcyB0byBpbmNsdWRlIGluIHRoZSBzZWFyY2gnOwokbGFuZ1sncGFyYW1fc2VhcmNoZm9ybXRlbXBsYXRlJ10gPSAnQXBwbGljYWJsZSBvbmx5IHRvIHRoZSBzZWFyY2ggYWN0aW9uLCB0aGlzcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbm9uIGRlZmF1bHQgc2VhcmNoIGZvcm0gdGVtcGxhdGUnOwokbGFuZ1sncGFyYW1fc2hvd2FsbCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiwgaWYgdGhpcyBwYXJhbWV0ZXIgaXMgc2V0IHRvIGEgbm9uIDAgaW50ZWdlciB2YWx1ZSBhbGwgY2F0ZWdvcmllcyAoZXZlbiB0aG9zZSB3aXRob3V0IHByb2R1Y3RzKSB3aWxsIGJlIGRpc3BsYXllZC4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnU3BlY2lmeSB0aGUgb3JkZXIgb2Ygc29ydGVkIGZpZWxkcyBpbiBzdW1tYXJ5IHZpZXcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gQXNjZW5kaW5nIG9yZGVyPC9saT4NCiAgPGxpPmRlc2MgLS0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdBcHBsaWNhYmxlIG9ubHkgaW4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQgcHJvZHVjdHMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+cHJpY2UgLS0gVGhlIHByb2R1Y3QgYmFzZSBwcmljZTwvbGk+DQogIDxsaT5zdGF0dXMgLS0gRHJhZnQgb3IgcHVibGlzaGVkPC9saT4NCiAgPGxpPnJhbmRvbSAtLSBEaXNwbGF5IGluIHJhbmRvbSBvcmRlciBvbiBlYWNoIHJlcXVlc3Q8L2xpPg0KICA8bGk+Y3JlYXRlZCAtLSBUaGUgY3JlYXRpb24gZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQogIDxsaT5tb2RpZmllZCAtLSBUaGUgbW9kaWZpZWQgZGF0ZSBmb3IgdGhpcyBjb21wYW55IHJlY29yZDwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0dHlwZSddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUgZGVmYXVsdCBzdW1tYXJ5IHZpZXcsIHRoaXMgcGFyYW1ldGVyIGlzIHVzZWQgdG8gY29udmVydCB0aGUgdmFsdWVzIHRvIGFub3RoZXIgdHlwZSBmb3Igc29ydGluZy4gIHZhbGlkIHZhbHVlcyBhcmUgU1RSSU5HLFNJR05FRCBhbmQgVU5TSUdORUQuICBJZiBub3Qgc3VwcGxpZWQgdGhlIGRlZmF1bHQgU1RSSU5HIHR5cGUgaXMgYXNzdW1lZC4nOwokbGFuZ1sncGFyYW1fc3VtbWFyeXBhZ2UnXSA9ICdBcHBsaWNhYmxlIG9ubHkgdG8gdGhlIGFjdGlvbj1oaWVyYXJjaHksIGFsbG93cyBzcGVjaWZ5aW5nIGEgcGFnZSBpZCBvciBhbGlhcyB0aGF0IHdpbGwgYmUgdXNlZCBmb3IgYW55IGxpbmtzIHRvIHN1bW1qYXJ5IHZpZXcnOwokbGFuZ1sncGFyYW1fc3VtbWFyeXRlbXBsYXRlJ10gPSAnRGVuIGgmYXVtbDtyIHBhcmFtZXRlcm4gYW5nZXIgZGVuIG1hbGwgc29tIHNrYSBhbnYmYXVtbDtuZGFzIGYmb3VtbDtyIHNhbW1hbmZhdHRuaW5ncyBsJmF1bWw7Z2UuIE9tIGluZ2V0IHYmYXVtbDtyZGUgYW5nZXMsIGQmYXJpbmc7IGtvbW1lciBkZW4gbnV2YXJhbmRlIHN0YW5kYXJkbWFsbCBhdiBkZW5uYSB0eXAgYXR0IGFudiZhdW1sO25kYXMuJzsKJGxhbmdbJ3BhcmVudCddID0gJ0Ymb3VtbDtyZWcmYXJpbmc7ZW5kZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1Byb2R1Y3RzIG1vZHVsZW4gJmF1bWw7ciBudSBpbnN0YWxsZXJhZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnUHJvZHVjdHMgbW9kdWxlbiAmYXVtbDtyIG51IGJvcnR0YWdlbiBzYW10IGFsbCB0aWxsaCZvdW1sO3JhbmRlIGRhdGEnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdJbnN0JmF1bWw7bGxuaW5nYXInOwokbGFuZ1sncHJldW5pbnN0YWxsJ10gPSAnR2Vub20gYXR0IHRhIGJvcnQgZGVuIGgmYXVtbDtyIG1vZHVsZW4gcyZhcmluZzsga29tbWVyIG9ja3MmYXJpbmc7IGF0dCBhbGwgdGlsbGgmb3VtbDtyYW5kZSBkYXRhIHRhcyBib3J0LCAmYXVtbDtyIGR1IHMmYXVtbDtrZXIgcCZhcmluZzsgYXR0IGR1IHZpbGwgZm9ydHMmYXVtbDt0dGE/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJpcyc7CiRsYW5nWydwcmljZV9hZGp1c3RtZW50J10gPSAnUHJpc2p1c3RlcmluZyc7CiRsYW5nWydwcmV2cGFnZSddID0gJzwnOwokbGFuZ1sncHJvZHVjdCddID0gJ1Byb2R1a3QnOwokbGFuZ1sncHJvZHVjdG5hbWUnXSA9ICdQcm9kdWt0bmFtbic7CiRsYW5nWydwcm9kdWN0cyddID0gJ1Byb2R1a3Rlcic7CiRsYW5nWydwcm9kdWN0X2RldGFpbF9zZXR0aW5ncyddID0gJ1Byb2R1a3QgRGV0YWxqaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ3Byb2R1Y3RfaGllcmFyY2h5J10gPSAnUHJvZHVrdCBIaWVyYXJraSc7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICdQcm9kdWt0IE1hbmFnZXInOwokbGFuZ1sncHJvZ3Jlc3MnXSA9ICdGcmFtc3RlZyc7CiRsYW5nWydwcm9tcHQnXSA9ICdVcHBtYW5hJzsKJGxhbmdbJ3Byb21wdF9hZGRfYXR0cmlic2V0J10gPSAnTCZhdW1sO2dnIHRpbGwgLyByZWRpZ2VyYSBhdHRyaWJ1dHVwcHMmYXVtbDt0dG5pbmcnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfZmlsZXR5cGVzJ10gPSAnVGlsbCZhcmluZzt0IGF0dCBsYWRkYSB1cHAgZmlsZXIgbWVkIGRlc3NhIGYmb3VtbDtybCZhdW1sO25nbmluZ2FyIChmJm91bWw7ciBmaWx0eXBlbiBmJmF1bWw7bHQpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdUaWxsJmFyaW5nO3QgdXBwbGFkZG5pbmcgYXYgYmlsZGVyIG1lZCBkZXNzYSBmaWx0JmF1bWw7bmRlbHNlcihmJm91bWw7ciBiaWxkZiZhdW1sO2x0ZW4pJzsKJGxhbmdbJ3Byb21wdF9hdHRyaWJ0ZW1wbGF0ZSddID0gJ01hbGwgZiZvdW1sO3IgdmlzbmluZyBhdiBwcm9kdWt0YXR0cmlidXRlciBpIGVuIGRyb3Bkb3duJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsJ10gPSAnQXV0b21hdGlza3Qgc2thcGEgdHVtbmFnZWxiaWxkICh0aHVtYm5haWwpIGF2IGJpbGRlcic7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbF9zaXplJ10gPSAnTWF4aW1hbCBzdG9ybGVrIHAmYXJpbmc7IHR1bW5hZ2VsYmlsZCAodGh1bWJuYWlsKSc7CiRsYW5nWydwcm9tcHRfYXV0b3ByZXZpZXdpbWcnXSA9ICdBdXRvbWF0aXNrdCBza2FwYSBmJm91bWw7cmhhbmRzZ3JhbnNrbmluZ3NiaWxkZXIgYXYgYmlsZGVyJzsKJGxhbmdbJ3Byb21wdF9hdXRvcHJldmlld2ltZ19zaXplJ10gPSAnTWF4aW1hbCBzdG9ybGVrIHAmYXJpbmc7IGYmb3VtbDtyaGFuZHNncmFuc2tuaW5nc2JpbGQnOwokbGFuZ1sncHJvbXB0X2F1dG93YXRlcm1hcmsnXSA9ICdBdXRvbWF0aXNrdCBwbGFjZXJhIHZhdHRlbm0mYXVtbDtya2UgcCZhcmluZzsgYmlsZGVyJzsKJGxhbmdbJ3Byb21wdF9hcHBsaWNhYmxlJ10gPSAnQWt0aXZlcmEgYXV0b21hdGlza3QgZiZvdW1sO3IgYWxsYSBueWEgcHJvZHVrdGVyJzsKJGxhbmdbJ3Byb21wdF9iYXRjaHNpemUnXSA9ICdQYXJ0aXN0b3JsZWsnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlJ10gPSAnS3VuZHZhZ25zbW9kdWwnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ1BhcmFtZXRyYXIgZiZvdW1sO3IgS3VuZHZhZ25zbW9kdWwnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdTa2FwYSBrYXRlZ29yaWVyJzsKJGxhbmdbJ3Byb21wdF9jcmVhdGVmaWVsZHMnXSA9ICdTa2FwYSBwcm9kdWt0ZiZhdW1sO2x0Pyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlaGllcmFyY2h5J10gPSAnU2thcGEgcHJvZHVrdGhpcmFya2knOwokbGFuZ1sncHJvbXB0X2NzdmZpbGUnXSA9ICdMYWRkYSB1cHAgQ1NWLWZpbCc7CiRsYW5nWydwcm9tcHRfY3VycmVuY3ljb2RlJ10gPSAnVmFsdXRha29kJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCddID0gJ1ZhbHV0YXN5bWJvbCc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICdTb20gc3RhbmRhcmQgaGFyIGFsbGEgbnlhIHByb2R1a3RlciBkZW5uYSBzdGF0dXMnOwokbGFuZ1sncHJvbXB0X2RlZmF1bHRfdGF4YWJsZSddID0gJ1NvbSBzdGFuZGFyZCAmYXVtbDtyIGFsbGEgbiB5YSBwcm9kdWt0ZXIgYmVza2F0dG5pbmdzYmFyYSc7CiRsYW5nWydwcm9tcHRfZGVsZXRlcHJvZHVjdGZpbGVzJ10gPSAnVGEgYm9ydCBhbGxhIGZpbGVyIGkgc2FtYmFuZCBtZWQgcHJvZHVrdGVuIG4mYXVtbDtyIHByb2R1a3RlbiBza2FsbCByYWRlcmFzPyc7CiRsYW5nWydwcm9tcHRfZGVsaW1pdGVyJ10gPSAnRiZhdW1sO2x0IGF2Z3ImYXVtbDtuc2FyZSc7CiRsYW5nWydwcm9tcHRfZGV0YWlscGFnZSddID0gJ1N0YW5kYXJkIGRldGFsanNpZGEnOwokbGFuZ1sncHJvbXB0X2RldGFpbHNmb3InXSA9ICdEZXRhbGplciBmJm91bWw7ciAlcyc7CiRsYW5nWydwcm9tcHRfZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdIdXIgbWFuIGhhbnRlcmFyIGR1cGxpa2F0IHByb2R1a3Rlcj8nOwokbGFuZ1sncHJvbXB0X2ZhbHNlJ10gPSAnRmFsc2snOwokbGFuZ1sncHJvbXB0X2hhbmRsZWltYWdlcyddID0gJ0hhbnRlcmEgYmlsZGVyPyc7CiRsYW5nWydwcm9tcHRfaW1hZ2VwYXRoJ10gPSAnQmlsZHMmb3VtbDtrdiZhdW1sO2cnOwokbGFuZ1sncHJvbXB0X2xlbmd0aHVuaXRzJ10gPSAnTCZhdW1sO25nZGVuaGV0ZXInOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2JlaGF2aW9yJ10gPSAnVmFkIHNrYSBoJmF1bWw7bmRhIG4mYXVtbDtyIGVuIHByb2R1a3QgaW50ZSBrYW4gdmlzYXM/JzsKJGxhbmdbJ3Byb21wdF9ub3Rmb3VuZF80MDQnXSA9ICdHZW5lcmVyYSBldHQgNDA0LWZlbCc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfMzAxJ10gPSAnR2VuZXJlcmEgZXR0IDMwMS1vbWRpcmlnZXJpbmcnOwokbGFuZ1sncHJvbXB0X25vdGZvdW5kX2Vycm9ybXNnJ10gPSAnVmlzYSBldHQgZmVsbWVkZGVsYW5kZSc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfbXNnJ10gPSAnRmVsbWVkZGVsYW5kZSBmJm91bWw7ciBuJmF1bWw7ciBlbiBwcm9kdWt0IGludGUga2FuIGhpdHRhcyc7CiRsYW5nWydwcm9tcHRfbm90Zm91bmRfcGFnZSddID0gJ1NpZGEgYXR0IGcmb3VtbDtyYSBwZXJtYW5lbnQgb21kaXJpZ2VyaW5nIHRpbGw/JzsKJGxhbmdbJ3Byb21wdF9wcm9kX2RldGFpbHBhZ2UnXSA9ICdTdGFuZGFyZHNpZGEgZiZvdW1sO3IgUHJvZHVrdCBkZXRhbGp2eWVyJzsKJGxhbmdbJ3Byb21wdF9wcm9kdWN0c19tYXRjaGluZyddID0gJ1Byb2R1a3RlciBtYXRjaGFyICVzJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydG9yZGVyJ10gPSAnU3RhbmRhcmQgc29ydGVyaW5nc29yZG5pbmcgaSBzYW1tYW5kcmFncyBsJmF1bWw7Z2UnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0aW5nJ10gPSAnU3RhbmRhcmQgc29ydGVyaW5nc29yZG5pbmcgaSBmJmF1bWw7bHRlbnMgc2FtbWFuZHJhZ3MgbCZhdW1sO2dlJzsKJGxhbmdbJ3Byb21wdF90ZW1wbGF0ZSddID0gJ01hbGxlbnMgayZhdW1sO2xsYSc7CiRsYW5nWydwcm9tcHRfdHJ1ZSddID0gJ1Nhbm4nOwokbGFuZ1sncHJvbXB0X3VybHByZWZpeCddID0gJ1ByZWZpeCBhdHQgYW52JmF1bWw7bmRhIHAmYXJpbmc7IGFsbGEgd2ViYmFkcmVzc2VyIHNvbSAmYXVtbDtyIGlucmlrdGFkIHAmYXJpbmc7IGRlbm5hIG1vZHVsZW4nOwokbGFuZ1sncHJvbXB0X3VzZV9kZXRhaWxwYWdlX2Zvcl9zZWFyY2gnXSA9ICdBbnYmYXVtbDtuZCBkZW4gaCZhdW1sO3Igc2lkYW4gZiZvdW1sO3IgcyZvdW1sO2tyZXN1bHRhdCBmJm91bWw7ciA8ZW0+ICgmYXJpbmc7c2lkb3MmYXVtbDt0dGVyIHMmb3VtbDtrcmVzdWx0YXQgc2lkcGFyYW1ldGVybiBpIG1vZHVsZW4pIDwvIGVtPic7CiRsYW5nWydwcm9tcHRfdXNlaGllcnBhdGh1cmxzJ10gPSAnVXNlIEhpZXJhcmNoeSBQYXRoIGluIFByb2R1Y3QgRGV0YWlsIFVSTFMnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnVmlrdCBlbmhldGVyJzsKJGxhbmdbJ3B1YmxpYyddID0gJyZBdW1sO3IgZGV0dGEgZXR0IG9mZmVudGxpZ3QgZiZhdW1sO2x0Pyc7CiRsYW5nWydwdWJsaXNoZWQnXSA9ICdQdWJsaWNlcmFkJzsKJGxhbmdbJ3JhbmRvbSddID0gJ1NsdW1wdmlzJzsKJGxhbmdbJ3Jlc2V0dG9mYWN0b3J5J10gPSAnJkFyaW5nO3RlcnN0JmF1bWw7bGwgdGlsbCBmYWJyaWtzaW5zdCZhdW1sO2xsbmluZ2FyJzsKJGxhbmdbJ3JldHVybiddID0gJyZBcmluZzt0ZXJ2JmF1bWw7bmQnOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJyZBcmluZzt0ZXJ2JmF1bWw7bmQgdGlsbCB0b3BwZW4nOwokbGFuZ1sncm9vdCddID0gJ1JPT1QnOwokbGFuZ1snc2VhcmNoX2Rlc2NyaXB0aW9uJ10gPSAnU2VhcmNoIFByb3BlcnR5IERlc2NyaXB0aW9uJzsKJGxhbmdbJ3NlYXJjaF9leHByJ10gPSAnU2thIGZyJmFyaW5nO2dhbiBtYXRjaGEgYWxsYSBlbGxlciBuJmFyaW5nO2dvbiBhdiB0ZXN0ZW4gbmVkYW4/JzsKJGxhbmdbJ3NlYXJjaF9uYW1lJ10gPSAnU2VhcmNoIFByb3BlcnR5IE5hbWUnOwokbGFuZ1snc2VhcmNoX3ByaWNlJ10gPSAnUHJpc2ludGVydmFsbCc7CiRsYW5nWydzZWFyY2h0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnTCZhdW1sO2dnIHRpbGwgLyByZWRpZ2VyYSBTJm91bWw7ayBmb3JtdWwmYXVtbDtyc21hbGwnOwokbGFuZ1snc2VhcmNodGVtcGxhdGVzJ10gPSAnUyZvdW1sO2sgbWFsbCc7CiRsYW5nWydzZWxlY3Rfb25lJ10gPSAnViZhdW1sO2xqIGVuJzsKJGxhbmdbJ3NrdSddID0gJ1NLVSc7CiRsYW5nWydzb3J0X2J5J10gPSAnU29ydGVyYSc7CiRsYW5nWydzb3J0X29yZGVyJ10gPSAnU29ydGVyaW5nc29yZGVyJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyAnOwokbGFuZ1snc3VibWl0J10gPSAnU3BhcmEnOwokbGFuZ1snc3Vic2NyaXB0aW9uJ10gPSAnU3Vic2NyaXB0aW9uJzsKJGxhbmdbJ3N1YnNjcl9leHBpcnknXSA9ICdFeHBpcnknOwokbGFuZ1snc3Vic2NyX2V4cGlyeTInXSA9ICdFeHBpcmVzJzsKJGxhbmdbJ3N1YnNjcl9tb250aGx5J10gPSAnTW9udGhseSc7CiRsYW5nWydzdWJzY3JfZGVscGVyaW9kJ10gPSAnRGVsaXZlcnkgRnJlcXVlbmN5JzsKJGxhbmdbJ3N1YnNjcl9kZWxwZXJpb2QyJ10gPSAnTGV2ZXJlcmFkJzsKJGxhbmdbJ3N1YnNjcl9wYXlwZXJpb2QnXSA9ICdQYXltZW50IEZyZXF1ZW5jeSc7CiRsYW5nWydzdWJzY3JfcGF5cGVyaW9kMiddID0gJ0JldGFsZCc7CiRsYW5nWydzdWJzY3JfcXVhcnRlcmx5J10gPSAnUXVhcnRlcmx5JzsKJGxhbmdbJ3N1YnNjcl9zZW1pYW51YWxseSddID0gJ1NlbWkgQW51YWxseSc7CiRsYW5nWydzdWJzY3JfeWVhcmx5J10gPSAnJkFyaW5nO3JsaWcnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1N1bW1lcmluZ3NtYWxsYXInOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlX2FkZGVkaXQnXSA9ICdMJmF1bWw7Z2cgdGlsbC9yZWRpZ2VyYSBlbiBzdW1tZXJpbmdzbWFsbCc7CiRsYW5nWyd0YXhhYmxlJ10gPSAnQmVza2F0dG5pbmdzYmFyYSc7CiRsYW5nWyd0ZXN0J10gPSAnVGVzdCAnOwokbGFuZ1sndGV4dGFyZWEnXSA9ICdUZXh0LUFyZWEnOwokbGFuZ1sndGV4dGJveCddID0gJ1RleHQtSW5wdXQnOwokbGFuZ1sndGl0bGVfYnloaWVyYXJjaHlfZGZsdHRlbXBsYXRlJ10gPSAnU3RhbmRhcmRoaWVyYXJraW1hbGwnOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlsaXN0X2RmbHR0ZW1wbGF0ZSddID0gJ1N0YW5kYXJka2F0ZWdvcmltYWxsJzsKJGxhbmdbJ3RpdGxlX2RldGFpbF9kZmx0dGVtcGxhdGUnXSA9ICdTdGFuZGFyZGRldGFsam1hbGwnOwokbGFuZ1sndGl0bGVfc2VhcmNoX2RmbHR0ZW1wbGF0ZSddID0gJ055IHN0YW5kYXJkIHMmb3VtbDtrbWFsbCc7CiRsYW5nWyd0aXRsZV9zdW1tYXJ5X2RmbHR0ZW1wbGF0ZSddID0gJ1N0YW5kYXJkc2FtbWFuZmF0dG5pbmdzbWFsbCc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwJzsKJGxhbmdbJ3VwZGF0ZSddID0gJ1VwcGRhdGVyYSc7CiRsYW5nWyd1cGxvYWQnXSA9ICdWJmF1bWw7bGogZW4gZmlsIHNvbSBza2EgbGFkZGFzIHVwcCc7CiRsYW5nWyd1cmxfYWxpYXMnXSA9ICdVcmwgQWxpYXMnOwokbGFuZ1sndmFsaWQnXSA9ICdHaWx0aWcnOwokbGFuZ1sndmFsdWUnXSA9ICdWJmF1bWw7cmRlJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1YmYXVtbDtyZGVuJzsKJGxhbmdbJ3ZpZXcnXSA9ICdHcmFuc2thJzsKJGxhbmdbJ3ZpZXdhYmxlX2ZpZWxkcyddID0gJ1YmYXVtbDtsaiBhbnBhc3NhZGUgZiZhdW1sO2x0IGYmb3VtbDtyIGF0dCB2aXNhIGkgdGFiZWxsZW4nOwokbGFuZ1snd2F0ZXJtYXJrX2xvY2F0aW9uJ10gPSAnVmF0dGVubSZhdW1sO3JrZXRzIHBsYWNlcmluZyc7CiRsYW5nWyd3ZWlnaHQnXSA9ICdWaWt0JzsKJGxhbmdbJ3llcyddID0gJ0phPyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjYyMjYxMzI5MC4xMjgyMDY4ODAxLjEyODU2MTg2MjguMTI4NTYyMTM3MC4xOSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyODQ2NTIzMTQuMTQuNC51dG1jc3I9ZmVlZGJ1cm5lcnx1dG1jY249RmVlZDogY21zbWFkZXNpbXBsZS9ibG9nIChDTVMgTWFkZSBTaW1wbGUpfHV0bWNtZD1mZWVkJzsKJGxhbmdbJ3FjYSddID0gJ1AwLTEyNjcyMTgzNjgtMTI4MjA2ODgwMTc4OCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMuMi4xMC4xMjg1NjIxMzcwJzsKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/tr_TR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FkZCddID0gJ0VrbGUnOwokbGFuZ1snYWRkY2F0ZWdvcnknXSA9ICdLYXRlZ29yaSBFa2xlJzsKJGxhbmdbJ2FkZGZpZWxkZGVmJ10gPSAnQWxhbiBFa2xlJzsKJGxhbmdbJ2FkanVzdGFibGUnXSA9ICdVeWFybGFuYWJpbGlyJzsKJGxhbmdbJ2FkZHByb2R1Y3QnXSA9ICcmVXVtbDtyJnV1bWw7biBFa2xlJzsKJGxhbmdbJ2FkZF9hdHRyaWJfc2V0J10gPSAnTml0ZWxpayBFa2xlJzsKJGxhbmdbJ2FkZF9jYXRlZ29yeV9maWVsZCddID0gJ0Fzc29jaWF0ZSBGaWVsZCB3aXRoIENhdGVnb3J5OiAmcXVvdDslcyZxdW90Oyc7CiRsYW5nWydhZGRfaGllcmFyY2h5X2l0ZW0nXSA9ICdBZGQgSGllcmFyY2h5IEl0ZW0nOwokbGFuZ1snYWRkX29wdGlvbiddID0gJ0FkZCBBdHRyaWJ1dGUgT3B0aW9uJzsKJGxhbmdbJ2FkbWluX29ubHknXSA9ICdDYW4gb25seSBhZG1pbnMgc2VlIHRoaXMgYXR0cmlidXRlPyc7CiRsYW5nWydhbGlnbl91bCddID0gJyZVdW1sO3N0IFNvbCc7CiRsYW5nWydhbGlnbl91YyddID0gJyZVdW1sO3N0IE9ydGEnOwokbGFuZ1snYWxpZ25fdXInXSA9ICcmVXVtbDtzdCBTYcSfJzsKJGxhbmdbJ2FsaWduX21sJ10gPSAnT3J0YSBTb2wnOwokbGFuZ1snYWxpZ25fbWMnXSA9ICdPcnRhJzsKJGxhbmdbJ2FsaWduX21yJ10gPSAnT3J0YSBTYcSfJzsKJGxhbmdbJ2FsaWduX2xsJ10gPSAnQWx0IFNvbCc7CiRsYW5nWydhbGlnbl9sYyddID0gJ0FsdCBPcnRhJzsKJGxhbmdbJ2FsaWduX2xyJ10gPSAnQWx0IFNhxJ8nOwokbGFuZ1snYWxsY2F0ZWdvcmllcyddID0gJ1QmdXVtbDttIEthdGVnb3JpbGVyJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgWW91IFN1cmU/JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRlcHJvZHVjdCddID0gJ0FyZSB5b3Ugc3VyZSB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgcHJvZHVjdCwgYW5kIGFsbCBvZiB0aGUgYWNjb21wYW55aW5nIGluZm9ybWF0aW9uIGZvciBpdD8nOwokbGFuZ1snYXNjZW5kaW5nJ10gPSAnQXNjZW5kaW5nJzsKJGxhbmdbJ2F0dHJpYnV0ZV9uYW1lJ10gPSAnQXR0cmlidXRlIE5hbWUnOwokbGFuZ1snYXV0b21hdGljJ10gPSAnQXV0b21hdGljJzsKJGxhbmdbJ2J5aGllcmFyY2h5dGVtcGxhdGVzJ10gPSAnSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZXMnOwokbGFuZ1snYnloaWVyYXJjaHl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWRkL0VkaXQgSGllcmFyY2h5IFJlcG9ydCBUZW1wbGF0ZSc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snY2F0ZWdvcmllcyddID0gJ0NhdGVnb3JpZXMnOwokbGFuZ1snY2F0ZWdvcnknXSA9ICdDYXRlZ29yeSc7CiRsYW5nWydjYXRlZ29yeWV4aXN0cyddID0gJ0EgY2F0ZWdvcnkgYnkgdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2NhdGVnb3J5bGlzdHRlbXBsYXRlcyddID0gJ0NhdGVnb3J5TGlzdCBUZW1wbGF0ZXMnOwokbGFuZ1snY2F0ZWdvcnlsaXN0dGVtcGxhdGVfYWRkZWRpdCddID0gJ0FkZC9FZGl0IEEgQ2F0ZWdvcnlMaXN0IFRlbXBsYXRlJzsKJGxhbmdbJ2NoZWNrYm94J10gPSAnQ2hlY2tib3gnOwokbGFuZ1snY29uZmlybV9kZWxldGVfaGllcmFyY2h5X25vZGUnXSA9ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgbm9kZT8gIEFueSBwcm9kdWN0cyB0aGF0IGFyZSB1c2luZyB0aGlzIG5vZGUgd2lsbCBiZSBzZXQgdG8gbm8gaGllcmFyY2h5JzsKJGxhbmdbJ2NvbmZpcm1faW1wb3J0J10gPSAnQXJlIHlvdSBzdXJlIHlvdSByZWFsbHkgd2FudCB0byBkbyB0aGlzP1xuXG5JbXByb3BlciBzZXR0aW5ncywgb3IgYW4gaW52YWxpZCBjb25maWcgZmlsZSBjb3VsZCBjb21wbGV0ZWx5IGNvcnJ1cHQgYSBjdXJyZW50bHkgdmFsaWQgYW5kIHdvcmtpbmcgc3lzdGVtLic7CiRsYW5nWydjb3B5J10gPSAnQ29weSc7CiRsYW5nWydjb3B5X2NhdGVnb3J5J10gPSAnQ29weSBDYXRlZ29yeSc7CiRsYW5nWydjcmVhdGVkZGF0ZSddID0gJ0NyZWF0ZWQgRGF0ZSc7CiRsYW5nWydjdXJyZW50X3ZhbHVlJ10gPSAnQ3VycmVudCBWYWx1ZSc7CiRsYW5nWydkYXRhJ10gPSAnRGF0YSc7CiRsYW5nWydkZWZhdWx0J10gPSAnRGVmYXVsdCc7CiRsYW5nWydkZWZhdWx0dGVtcGxhdGVzJ10gPSAnRGVmYXVsdCBUZW1wbGF0ZXMnOwokbGFuZ1snZGVmYXVsdF90ZW1wbGF0ZV9ub3RpY2UnXSA9ICc8c3Ryb25nPk5vdGU6PC9zdHJvbmc+IFRoZSBjb250ZW50cyBvZiB0aGVzZSB0ZXh0IGFyZWFzIGFyZSB1c2VkIHRvIGRldGVybWluZSB0aGUgZGVmYXVsdCBjb250ZW50IG9mIHRlbXBsYXRlcyB3aGVuIHlvdSBjbGljayAmcXVvdDtBZGQgVGVtcGxhdGUmcXVvdDsgaW4gdGhlIGFwcHJvcHJpYXRlIHRlbXBsYXRlIHRhYi4gIEVkaXRpbmcgb25lIG9mIHRoZXNlIHRleHQgYXJlYXMgd2lsbCBoYXZlIG5vIGltbWVkaWF0ZSBlZmZlY3Qgb24geW91ciB3ZWJzaXRlLic7CiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOwokbGFuZ1snZGVsZXRlX2F0dHJpYnNldCddID0gJ0RlbGV0ZSBBdHRyaWJ1dGUnOwokbGFuZ1snZGVsZXRlX2hpZXJhcmNoeV9pdGVtJ10gPSAnRGVsZXRlIEhpZXJhcmNoeSBJdGVtJzsKJGxhbmdbJ2Rlc2NlbmRpbmcnXSA9ICdEZXNjZW5kaW5nJzsKJGxhbmdbJ2Rlc2NyaXB0aW9uJ10gPSAnRGVzY3JpcHRpb24nOwokbGFuZ1snZGV0YWlscyddID0gJ0RldGFpbHMnOwokbGFuZ1snZGV0YWlsdGVtcGxhdGVzJ10gPSAnRGV0YWlsIFRlbXBsYXRlcyc7CiRsYW5nWydkZXRhaWx0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWRkL0VkaXQgQSBEZXRhaWwgVGVtcGxhdGUnOwokbGFuZ1snZGlzYWJsZWQnXSA9ICdEaXNhYmxlZCc7CiRsYW5nWydkcmFmdCddID0gJ0RyYWZ0JzsKJGxhbmdbJ2Ryb3Bkb3duJ10gPSAnRHJvcGRvd24nOwokbGFuZ1snZHJvcGRvd25fb3B0aW9ucyddID0gJ0Ryb3Bkb3duIE9wdGlvbnMgPGVtPihhcHBsaWNhYmxlIG9ubHkgZm9yIGRyb3Bkb3duIGZpZWxkcyk8L2VtPjxici8+PGJyLz48ZW0+KG9uZSBlbnRyeSBwZXIgbGluZSk8L2VtPic7CiRsYW5nWydlZGl0J10gPSAnRWRpdCc7CiRsYW5nWydlZGl0X2F0dHJpYnNldCddID0gJ0VkaXQgQXR0cmlidXRlJzsKJGxhbmdbJ2VkaXRfYXR0cmlic2V0cyddID0gJ0VkaXQgQXR0cmlidXRlIFNldHMnOwokbGFuZ1snZWRpdF9hdHRyaWJzZXRzX2ZvciddID0gJ0VkaXQgQXR0cmlidXRlIFNldHMgRm9yJzsKJGxhbmdbJ2VkaXRfYXR0cmlidXRlcyddID0gJ0VkaXQgQXR0cmlidXRlcyc7CiRsYW5nWydlZGl0X2NhdGVnb3J5J10gPSAnRWRpdCBDYXRlZ29yeSc7CiRsYW5nWydlZGl0X2NhdGVnb3J5X2ZpZWxkcyddID0gJ0VkaXQgQ2F0ZWdvcnkgRmllbGRzJzsKJGxhbmdbJ2VkaXRfaGllcmFyY2h5X2l0ZW0nXSA9ICdFZGl0IEhpZXJhcmNoeSBJdGVtJzsKJGxhbmdbJ2Vycm9yX2F0dHJpYnNldF9leGlzdHMnXSA9ICdBbiBhdHRyaWJ1dGUgd2l0aCB0aGF0IG5hbWUgYWxyZWFkeSBleGlzdHMnOwokbGFuZ1snZXJyb3JfZmllbGR2YWx1ZV9lbXB0eSddID0gJ1RoZSBGaWVsZCBWYWx1ZSBjYW5ub3QgYmUgZW1wdHknOwokbGFuZ1snZXJyb3JfZmlsZWZvcm1hdCddID0gJ0ZpbGUgRm9ybWF0IFByb2JsZW0nOwokbGFuZ1snZXJyb3JfZmlsZW5vdGZvdW5kJ10gPSAnRmlsZSBOb3QgRm91bmQnOwokbGFuZ1snZXJyb3JfZmlsZW9wZW4nXSA9ICdQcm9ibGVtIG9wZW5pbmcgZmlsZSAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyZW50J10gPSAnSW52YWxpZCBQYXJlbnQgKGEgaGllcmFyY2h5IG5vZGUgY2Fubm90IGJlIGl0JiMwMzk7cyBvd24gcGFyZW50KSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX25hbWUnXSA9ICdUaGUgY3VzdG9tIGZpZWxkIHZhbHVlIGVudGVyZWQgaXMgaW52YWxpZCAoY29udGFpbnMgbm9uIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzKSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdBIHJlcXVpcmVkIHBhcmFtZXRlciBpcyBtaXNzaW5nIG9yIGludmFsaWQnOwokbGFuZ1snZXJyb3JfbmFtZXVzZWQnXSA9ICdBbiBpdGVtIGJ5IHRoYXQgbmFtZSBpcyBhbHJlYWR5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9ub2ZpZWxkdHlwZSddID0gJ1BsZWFzZSBzZWxlY3QgYSBmaWVsZCB0eXBlJzsKJGxhbmdbJ2Vycm9yX25vbmFtZSddID0gJ1lvdSBtdXN0IHN1cHBseSBhIG5hbWUnOwokbGFuZ1snZXJyb3JfcGVybWlzc2lvbmRlbmllZCddID0gJ1Blcm1pc3Npb24gRGVuaWVkJzsKJGxhbmdbJ2Vycm9yX3Byb2R1Y3RfbmFtZXVzZWQnXSA9ICdBIHByb2R1Y3QgYnkgdGhhdCBuYW1lIGFscmVhZHkgZXhpc3RzJzsKJGxhbmdbJ2Vycm9yX3ByaWNlX2FkanVzdG1lbnQnXSA9ICdJbnZhbGlkIHByaWNlIGFkanVzdG1lbnQgdmFsdWUgZm9yIGl0ZW0gJXMnOwokbGFuZ1snZXJyb3JfdXBsb2FkX2ZhaWxlZCddID0gJ1VwbG9hZCBmYWlsZWQ6ICVzJzsKJGxhbmdbJ2V4dHJhMSddID0gJ0V4dHJhIEZpZWxkIDEnOwokbGFuZ1snZXh0cmEyJ10gPSAnRXh0cmEgRmllbGQgMic7CiRsYW5nWydmaWVsZCddID0gJ0ZpZWxkJzsKJGxhbmdbJ2ZpZWxkZGVmJ10gPSAnRmllbGQgRGVmaW5pdGlvbic7CiRsYW5nWydmaWVsZGRlZnMnXSA9ICdGaWVsZCBEZWZpbml0aW9ucyc7CiRsYW5nWydmaWxlJ10gPSAnRmlsZSc7CiRsYW5nWydmaWx0ZXJzJ10gPSAnRmlsdGVycyc7CiRsYW5nWydmaXJzdHBhZ2UnXSA9ICc8PCc7CiRsYW5nWydnZW5lcmFsX3NldHRpbmdzJ10gPSAnR2VuZXJhbCBTZXR0aW5ncyc7CiRsYW5nWydnbyddID0gJ0dvJzsKJGxhbmdbJ2hpZXJhcmNoeSddID0gJ0hpZXJhcmNoeSc7CiRsYW5nWydoaWVyYXJjaHlfcG9zaXRpb24nXSA9ICdIaWVyYXJjaHkgUG9zaXRpb24nOwokbGFuZ1snaWQnXSA9ICdJZCc7CiRsYW5nWydpbWFnZXRleHQnXSA9ICdJbWFnZSc7CiRsYW5nWydpbWFnZV9oYW5kbGluZ19zZXR0aW5ncyddID0gJ0ltYWdlIEhhbmRsaW5nIFNldHRpbmdzJzsKJGxhbmdbJ2ltcG9ydF9mcm9tX2NzdiddID0gJ0ltcG9ydCBQcm9kdWN0cyBmcm9tIENTViBmaWxlJzsKJGxhbmdbJ2luY2x1ZGVfY2hpbGRyZW4nXSA9ICdJbmNsdWRlIENoaWxkcmVuPyc7CiRsYW5nWydpbmZvX2FsbnVtb25seSddID0gJ09ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMuIE5vIHdoaXRlc3BhY2UsIHF1b3Rlcywgb3Igbm9uIGxldHRlci9udW1iZXIgY29tYmluYXRpb25zJzsKJGxhbmdbJ2luZm9fYXV0b3dhdGVybWFyayddID0gJ1dhdGVybWFyayBzZXR0aW5ncyBhcmUgdGFrZW4gZnJvbSB0aGUgQ0dFeHRlbnNpb25zIE1vZHVsZSc7CiRsYW5nWydpbmZvX2JhdGNoc2l6ZSddID0gJ1NldCB0aGUgbnVtYmVyIG9mIGxpbmVzIHRvIHByb2Nlc3MgcGVyICZxdW90O2JhdGNoJnF1b3Q7LiAgQWZ0ZXIgYSBiYXRjaCBpcyBjb21wbGV0ZSwgdGhlIGltcG9ydGVyIHdpbGwgcmVkaXJlY3QsIGFuZCByZXN1bWUgb3BlcmF0aW9ucy4gIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIG1lbW9yeSBlcnJvcnMsIG9yIHRpbWVvdXQgcHJvYmxlbXMgZHVlIHRvIGxhcmdlIGFtb3VudHMgb2YgcHJvY2Vzc2luZywgeW91IG1heSBuZWVkIHRvIGNvbnN1bHQgeW91ciBob3N0IHByb3ZpZGVyLCBvciByZWR1Y2UgdGhpcyBudW1iZXInOwokbGFuZ1snaW5mb19jYXJ0X21vZHVsZV9wYXJhbXMnXSA9ICdUaGVzZSBwYXJhbWV0ZXJzIGFyZSBnaXZlbiB0byB0aGUgc2VsZWN0ZWQgY2FydCBtb2R1bGUgZnJvbSB0aGUgcHJvZHVjdCBkZXRhaWwgYW5kIHN1bW1hcnkgZGlzcGxheXMnOwokbGFuZ1snaW5mb19jcmVhdGVmaWVsZHMnXSA9ICdDcmVhdGUgdW5rbm93biBwcm9kdWN0IGZpZWxkcyBhdXRvbWF0aWNhbGx5PyA8ZW0+KFRoZXkgd2lsbCBiZSBjcmVhdGVkIGFzIHRleHQgZmllbGRzKTwvZW0+JzsKJGxhbmdbJ2luZm9fY3JlYXRlY2F0ZWdvcmllcyddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHByb2R1Y3QgY2F0ZWdvcmllcyB0byBtYXRjaCB0aG9zZSBvZiB0aGUgQ1NWIGZpbGUsIGlmIGl0IGRvZXMgbm90IGFscmVhZHkgZXhpc3QnOwokbGFuZ1snaW5mb19jcmVhdGVoaWVyYXJjaHknXSA9ICdBdXRvbWF0aWNhbGx5IGNyZWF0ZSBwcm9kdWN0IGhpZXJhcmNoaWVzIHRvIG1hdGNoIHRob3NlIG9mIHRoZSBDU1YgZmlsZSBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0JzsKJGxhbmdbJ2luZm9fZGVjaW1hbF91bml0cyddID0gJ1RoaXMgc3lzdGVtIHVuZGVyc3RhbmRzICguKSBhcyB0aGUgZGVjaW1hbCBwb2ludCBzZXBhcmF0b3IuIGkuZS46IDxzdHJvbmc+NS4yNTwvc3Ryb25nPic7CiRsYW5nWydpbmZvX2RlbGltaXRlciddID0gJ1NwZWNpZnkgdGhlIGNoYXJhY3RlciAob3IgY2hhcmFjdGVycykgdGhhdCBzZXBlcmF0ZSBlYWNoIGZpZWxkJzsKJGxhbmdbJ2luZm9fZHVwbGljYXRlcHJvZHVjdHMnXSA9ICdTcGVjaWZ5IGhvdyB0aGUgc3lzdGVtIHNob3VsZCBoYW5kbGUgYSBwcm9kdWN0IHdob3MgbmFtZSBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgQ1NWIGZpbGUnOwokbGFuZ1snaW5mb19maWVsZGRlZnNfdGFiJ10gPSAnPHN0cm9uZz5Ob3RlOiA8L3N0cm9uZz4gQWxsIEZpZWxkcyBkZWZpbmVkIGhlcmUgYXJlIGF2YWlsYWJsZSB0byBhbGwgcHJvZHVjdHMuJzsKJGxhbmdbJ2luZm9fZmllbGRwcm9ibGVtcyddID0gJ1Byb2JsZW1zIHdlcmUgZW5jb3VudGVyZWQgd2hlbiBkZWFsaW5nIHdpdGggb25lIG9yIG1vcmUgY3VzdG9tIGZpZWxkcy4gIFRoZSBhY3Rpb24gaGFzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHksIGhvd2V2ZXIgeW91IHNob3VsZCBpbnZlc3RpZ2F0ZSBhbmQgY29ycmVjdCB0aGVzZSBwcm9ibGVtcyc7CiRsYW5nWydpbmZvX2hhbmRsZWltYWdlcyddID0gJ1Vwb24gaW1wb3J0LCBpZiBhbiBpbWFnZSBmaWxlbmFtZSBpcyBmb3VuZCBpbiBhIGZpZWxkIGNvbHVtbiwgc2hvdWxkIGl0IGJlIG1vdmVkIGZyb20gdGhlIHNvdXJjZSBsb2NhdGlvbiwgd2F0ZXJtYXJrZWQsIHRodW1ibmFpbGVkLCBhbmQgdGhlIGZpZWxkIHR5cGUgY2hhbmdlZCB0byAmcXVvdDtpbWFnZSZxdW90Oyc7CiRsYW5nWydpbmZvX2ltYWdlcGF0aCddID0gJ1RoZSBwYXRoIChyZWxhdGl2ZSB0byB0aGUgdXBsb2FkcyBkaXJlY3RvcnkpIHdoZXJlIGltYWdlcyByZWZlcnJlZCB0byBpbiB0aGUgaW1wb3J0IGZpbGUsIGNhbiBiZSBmb3VuZCc7CiRsYW5nWydpbmZvX2ltcG9ydF90ZXN0X3Bhc3NlZCddID0gJ0EgYnJpZWYgdGVzdCBhcyBiZWVuIHBlcmZvcm1lZCBvbiB0aGUgaW5wdXQgZmlsZSBzcGVjaWZpZWQsIGFuZCBldmVyeXRoaW5nIGFwcGVhcnMgdG8gYmUgY29ycmVjdC48YnIvPlRoaXMgaXMgbm8gaW5kaWNhdGlvbiB0aGF0IHRoZXJlIGFyZSBubyBlcnJvcnMgaW4gdGhlIGZpbGUuJzsKJGxhbmdbJ2luZm9fcHJpY2VfYWRqdXN0bWVudCddID0gJ1ZhbGlkIHZhbHVlcyBhcmUgKy0qIy4jIyc7CiRsYW5nWydpbmZvX3B1YmxpY2ZpZWxkJ10gPSAnUHVibGljIGZpZWxkcyBhcmUgYXZhaWxhYmxlIGZvciB0aGUgcHVibGljIHRvIHNlZSc7CiRsYW5nWydsYWJlbCddID0gJ0xhYmVsJzsKJGxhbmdbJ2xhYmVsX3NraXAnXSA9ICdTa2lwJzsKJGxhbmdbJ2xhYmVsX292ZXJ3cml0ZSddID0gJ092ZXJ3cml0ZSc7CiRsYW5nWydsYXN0cGFnZSddID0gJz4+JzsKJGxhbmdbJ2xhc3RfbW9kaWZpZWQnXSA9ICdMYXN0IE1vZGlmaWVkJzsKJGxhbmdbJ2xvZ290ZXh0J10gPSAnU2Vjb25kIEltYWdlJzsKJGxhbmdbJ21heGxlbmd0aCddID0gJ01heGltdW0gbGVuZ3RoIDxlbT4oYXBwbGljYWJsZSBvbmx5IG9uIHRleHRib3ggZmllbGRzKTwvZW0+JzsKJGxhbmdbJ21vZGlmaWVkZGF0ZSddID0gJ01vZGlmaWVkIERhdGUnOwokbGFuZ1snbW9kdWxlX2Rlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgZm9yIG1hbmFnaW5nIGEgY2F0YWxvZyBvZiBwcm9kdWN0cywgdGhlaXIgcHJpY2UsIGltYWdlcywgZXRjLCBhbmQgZm9yIGFsbG93aW5nIHVzZXJzIHRvIGJ1aWxkIGEgY2FydCc7CiRsYW5nWyduYW1lJ10gPSAnTmFtZSc7CiRsYW5nWyduZWVkcGVybWlzc2lvbiddID0gJ1lvdSBkbyBub3QgaGF2ZSB0aGUgcmVxdWlyZWQgcGVybWlzc2lvbjogJXMnOwokbGFuZ1snbmV3X2NhdGVnb3J5X25hbWUnXSA9ICdOZXcgQ2F0ZWdvcnkgTmFtZSc7CiRsYW5nWyduZXh0cGFnZSddID0gJz4nOwokbGFuZ1snbm8nXSA9ICdObyc7CiRsYW5nWydub25hbWVnaXZlbiddID0gJ05vIG5hbWUgd2FzIHN1cHBsaWVkJzsKJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsKJGxhbmdbJ29mJ10gPSAnT2YnOwokbGFuZ1sncGFnZSddID0gJ1BhZ2UnOwokbGFuZ1sncGFnZV9vZiddID0gJ1BhZ2UgJXMgb2YgJXMnOwokbGFuZ1sncGFnZV9saW1pdCddID0gJ1BhZ2UgTGltaXQnOwokbGFuZ1sncGFyYW1fYWN0aW9uJ10gPSAnU3BlY2lmeSB0aGUgYmVoYXZpb3VyIG9mIHRoZSBtb2R1bGUuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+aGllcmFyY2h5IC0tIERpc3BsYXkgYSBwcm9kdWN0IGxpc3QgYnkgaGllcmFyY2h5PC9saT4NCiAgPGxpPmNhdGVnb3J5bGlzdCAtIERpc3BsYXkgYSBsaXN0IG9mIHByb2R1Y3QgY2F0ZWdvcmllczwvbGk+DQogIDxsaT48ZW0+ZGVmYXVsdDwvZW0+IC0gRGlzcGxheSBhIHN1bW1hcnkgb2YgcHJvZHVjdHM8L2xpPg0KICA8bGk+ZGV0YWlscyAtIERpc3BsYXkgYSBkZXRhaWwgdmlldyBvZiBhIHNpbmdsZSBwcm9kdWN0PC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5J10gPSAnV2hlbiB1c2VkIGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IHN1bW1hcnkgbW9kZSwgdGhpcyBwYXJhbWV0ZXIsIHdoaWNoIHNob3VsZCBtYXRjaCB0aGUgbmFtZSBvZiBhbiBleGlzdGluZyBjYXRlZ29yeSB3aWxsIGJlIHVzZWQgdG8gZGlzcGxheSBvbmx5IHRob3NlIHByb2R1Y3RzIHRoYXQgYXJlIGluIHRoYXQgY2F0ZWdvb3J5LiAoYSBjb21tYSBzZXBlcmF0ZWQgbGlzdCBjYW4gYmUgc3VwcGxpZWQpJzsKJGxhbmdbJ3BhcmFtX2NhdGVnb3J5bGlzdHRlbXBsYXRlJ10gPSAnVXNlZnVsIG9ubHkgd2l0aCB0aGUgY2F0ZWdvcnlsaXN0IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgaW5kaWNhdGVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgZGlzcGxheS4gIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2RldGFpbHBhZ2UnXSA9ICdUaGlzIHNwZWNpZmllcyB0aGUgcGFnZWlkIG9yIGFsaWFzIHRoYXQgc2hvdWxkIGJlIHVzZWQgdG8gZGlzcGxheSB0aGUgZGV0YWlsIHJlcG9ydC4nOwokbGFuZ1sncGFyYW1fZGV0YWlsdGVtcGxhdGUnXSA9ICdUaGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgdGhlIHRlbXBsYXRlIHRoYXQgc2hvdWxkIGJlIHVzZWQgZm9yIHRoZSBkZXRhaWwgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeSddID0gJ1VzZWZ1bCBvbmx5IGluIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoYXQgb25seSBpdGVtcyBpbiB0aGF0IGxvY2F0aW9uIG9mIHRoZSBoaWVyYXJjaHkgc2hvdWxkIGJlIGRpc3BsYXllZC4gIFdpbGRjYXJkIGNoYXJhY3RlciBjYW4gYmUgdXNlZCBzbyB0aGF0IHlvdSBjYW4gc3BlY2lmeSBwYXJlbnQvY2hpbGQgcmVsYXRpb25zaGlwcyBhcyB3ZWxsLiAgaS5lIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7dHJ1Y2tzKiYjMDM5O30gd2lsbCBjcmVhdGUgYSBzdW1tYXJ5IHJlcG9ydCBvZiBhbGwgdHJ1Y2tzLCBpbmNsdWRpbmcgdGhlIGNoaWxkcmVuIGluIHRoZSBoaWVyYXJjaHkuICBTaW1pbGFybHksIHtQcm9kdWN0cyBoaWVyYXJjaHk9JiMwMzk7KnRydWNrcyYjMDM5O30gd2lsbCBkaXNwbGF5IGEgc3VtbWFyeSByZXBvcnQgb2YgYWxsIHRydWNrcywgYW5kIGFsbCBwcm9kdWN0cyBiZWxvZ2luZyB0byBhbnkgcGFyZW50IGluIHRoZSBoaWVyYXJjaHkuJzsKJGxhbmdbJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJ10gPSAnVGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSB0ZW1wbGF0ZSB0aGF0IHNob3VsZCBiZSB1c2VkIGZvciB0aGUgaGllcmFyY2h5IGRpc3BsYXkuIElmIG5vIHZhbHVlIGlzIHNwZWNpZmllZCwgdGhlbiB0aGUgY3VycmVudCBkZWZhdWx0IHRlbXBsYXRlIG9mIHRoYXQgdHlwZSBpcyB1c2VkLic7CiRsYW5nWydwYXJhbV9wYWdlbGltaXQnXSA9ICdVc2VmdWwgb25seSB3aXRoIHRoZSA8ZW0+ZGVmYXVsdDwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIGhvdyBtYW55IGl0ZW1zIHNob3VsZCBiZSBsaXN0ZWQgb24gZWFjaCBwYWdlLic7CiRsYW5nWydwYXJhbV9wYXJlbnQnXSA9ICdVc2VmdWwgb25seSBpbiB0aGUgPGVtPmhpZXJhcmNoeTwvZW0+IGFjdGlvbiwgdGhpcyBwYXJhbWV0ZXIgc3BlY2lmaWVzIHRoZSBoaWVyYXJjaHkgaWQgb2YgdGhlIHN0YXJ0aW5nIGxvY2F0aW9uIG9mIHRoZSByZXBvcnQuJzsKJGxhbmdbJ3BhcmFtX3Byb2R1Y3RpZCddID0gJ1VzZWZ1bCBvbmx5IHdpdGggdGhlIGRldGFpbCBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIGluZGljYXRlcyB3aGF0IHByb2R1Y3QgdG8gdXNlIGZvciB0aGUgZGlzcGxheS4nOwokbGFuZ1sncGFyYW1fc29ydG9yZGVyJ10gPSAnU3BlY2lmeSB0aGUgb3JkZXIgb2Ygc29ydGVkIGZpZWxkcyBpbiBzdW1tYXJ5IHZpZXcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5hc2M8L3N0cm9uZz4gLS0gQXNjZW5kaW5nIG9yZGVyPC9saT4NCiAgPGxpPmRlc2MgLS0gRGVzY2VuZGluZyBvcmRlcjwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zb3J0YnknXSA9ICdBcHBsaWNhYmxlIG9ubHkgaW4gc3VtbWFyeSBtb2RlLCB0aGlzIHBhcmFtZXRlciBkZXRlcm1pbmVzIHRoZSBzb3J0aW5nIG9mIHRoZSBvdXRwdXQgcHJvZHVjdHMuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+PHN0cm9uZz5wcm9kdWN0X25hbWU8L3N0cm9uZz48L2xpPg0KICA8bGk+aWQgLS0gVGhlIHByb2R1Y3QgaWQ8L2xpPg0KICA8bGk+d2VpZ2h0IC0tIFRoZSBwcm9kdWN0IHdlaWdodDwvbGk+DQogIDxsaT5wcmljZSAtLSBUaGUgcHJvZHVjdCBiYXNlIHByaWNlPC9saT4NCiAgPGxpPnN0YXR1cyAtLSBEcmFmdCBvciBwdWJsaXNoZWQ8L2xpPg0KICA8bGk+cmFuZG9tIC0tIERpc3BsYXkgaW4gcmFuZG9tIG9yZGVyIG9uIGVhY2ggcmVxdWVzdDwvbGk+DQogIDxsaT5jcmVhdGVkIC0tIFRoZSBjcmVhdGlvbiBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCiAgPGxpPm1vZGlmaWVkIC0tIFRoZSBtb2RpZmllZCBkYXRlIGZvciB0aGlzIGNvbXBhbnkgcmVjb3JkPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX3N1bW1hcnl0ZW1wbGF0ZSddID0gJ1RoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB0aGUgdGVtcGxhdGUgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgdGhlIHN1bW1hcnkgbW9kZSBkaXNwbGF5LiAgSWYgbm8gdmFsdWUgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjdXJyZW50IGRlZmF1bHQgdGVtcGxhdGUgb2YgdGhhdCB0eXBlIGlzIHVzZWQuJzsKJGxhbmdbJ3BhcmVudCddID0gJ1BhcmVudCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ1RoZSBQcm9kdWN0cyBtb2R1bGUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVGhlIFByb2R1Y3RzIG1vZHVsZSBoYXMgYmVlbiByZW1vdmVkIGFsb25nIHdpdGggYWxsIGFzc29jaWF0ZWQgZGF0YSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ3ByZXVuaW5zdGFsbCddID0gJ1JlbW92aW5nIHRoaXMgbW9kdWxlIHdpbGwgYWxzbyByZW1vdmUgYWxsIGFzc29jaWF0ZWQgZGF0YSwgYXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHByb2NlZWQ/JzsKJGxhbmdbJ3ByaWNlJ10gPSAnUHJpY2UnOwokbGFuZ1sncHJpY2VfYWRqdXN0bWVudCddID0gJ1ByaWNlIEFkanVzdG1lbnQnOwokbGFuZ1sncHJldnBhZ2UnXSA9ICc8JzsKJGxhbmdbJ3Byb2R1Y3QnXSA9ICdQcm9kdWN0JzsKJGxhbmdbJ3Byb2R1Y3RuYW1lJ10gPSAnUHJvZHVjdCBOYW1lJzsKJGxhbmdbJ3Byb2R1Y3RzJ10gPSAnUHJvZHVjdHMnOwokbGFuZ1sncHJvZHVjdF9oaWVyYXJjaHknXSA9ICdQcm9kdWN0IEhpZXJhcmNoeSc7CiRsYW5nWydwcm9kdWN0X21hbmFnZXInXSA9ICdQcm9kdWN0IE1hbmFnZXInOwokbGFuZ1sncHJvZ3Jlc3MnXSA9ICdQcm9ncmVzcyc7CiRsYW5nWydwcm9tcHQnXSA9ICdQcm9tcHQnOwokbGFuZ1sncHJvbXB0X2FsbG93ZWRfZmlsZXR5cGVzJ10gPSAnQWxsb3cgdXBsb2FkIG9mIGZpbGVzIHdpdGggdGhlc2UgZXh0ZW5zaW9ucyAoZm9yIGZpbGUgdHlwZSBmaWVsZHMpJzsKJGxhbmdbJ3Byb21wdF9hbGxvd2VkX2ltYWdldHlwZXMnXSA9ICdBbGxvdyB1cGxvYWQgb2YgaW1hZ2VzIHdpdGggdGhlc2UgZXh0ZW5zaW9ucyAoZm9yIGltYWdlIHR5cGUgZmllbGRzKSc7CiRsYW5nWydwcm9tcHRfYXV0b3RodW1ibmFpbCddID0gJ0F1dG9tYXRpY2FsbHkgY3JlYXRlIHRodW1ibmFpbHMgb2YgaW1hZ2VzJzsKJGxhbmdbJ3Byb21wdF9hdXRvdGh1bWJuYWlsX3NpemUnXSA9ICdNYXhpbXVtIHNpemUgKGxhcmdlc3QgZGltZW5zaW9uKSBvZiB0aGUgdGh1bWJuYWlsLic7CiRsYW5nWydwcm9tcHRfYXV0b3ByZXZpZXdpbWcnXSA9ICdBdXRvbWF0aWNhbGx5IGNyZWF0ZSBwcmV2aWV3IGltYWdlcyBvZiBpbWFnZXMnOwokbGFuZ1sncHJvbXB0X2F1dG9wcmV2aWV3aW1nX3NpemUnXSA9ICdNYXhpbXVtIHNpemUgKGxhcmdlc3QgZGltZW5zaW9uKSBvZiB0aGUgcHJldmlldyBpbWFnZS4nOwokbGFuZ1sncHJvbXB0X2F1dG93YXRlcm1hcmsnXSA9ICdBdXRvbWF0aWNhbGx5IHBsYWNlIHdhdGVybWFya3Mgb24gaW1hZ2VzJzsKJGxhbmdbJ3Byb21wdF9hcHBsaWNhYmxlJ10gPSAnRW5hYmxlIGJ5IGRlZmF1bHQgZm9yIGFsbCBuZXcgcHJvZHVjdHMnOwokbGFuZ1sncHJvbXB0X2JhdGNoc2l6ZSddID0gJ0JhdGNoIFNpemUnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlJ10gPSAnQ2FydCBNb2R1bGUnOwokbGFuZ1sncHJvbXB0X2NhcnRfbW9kdWxlX3BhcmFtcyddID0gJ0NhcnQgTW9kdWxlIFBhcmFtZXRlcnMnOwokbGFuZ1sncHJvbXB0X2NyZWF0ZWNhdGVnb3JpZXMnXSA9ICdDcmVhdGUgQ2F0ZWdvcmllcyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlZmllbGRzJ10gPSAnQ3JlYXRlIFByb2R1Y3QgRmllbGRzPyc7CiRsYW5nWydwcm9tcHRfY3JlYXRlaGllcmFyY2h5J10gPSAnQ3JlYXRlIFByb2R1Y3QgSGllcmFyY2h5JzsKJGxhbmdbJ3Byb21wdF9jc3ZmaWxlJ10gPSAnVXBsb2FkIENTViBGaWxlJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeWNvZGUnXSA9ICdDdXJyZW5jeSBDb2RlJzsKJGxhbmdbJ3Byb21wdF9jdXJyZW5jeXN5bWJvbCddID0gJ0N1cnJlbmN5IFN5bWJvbCc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF9zdGF0dXMnXSA9ICdCeSBkZWZhdWx0IGFsbCBuZXcgcHJvZHVjdHMgaGF2ZSB0aGlzIHN0YXR1cyc7CiRsYW5nWydwcm9tcHRfZGVmYXVsdF90YXhhYmxlJ10gPSAnQnkgZGVmYXVsdCBhbGwgbmV3IHByb2R1Y3RzIGFyZSB0YXhhYmxlJzsKJGxhbmdbJ3Byb21wdF9kZWxldGVwcm9kdWN0ZmlsZXMnXSA9ICdEZWxldGUgYW55IGZpbGVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgcHJvZHVjdCB3aGVuIHRoZSBwcm9kdWN0IGlzIGRlbGV0ZWQ/JzsKJGxhbmdbJ3Byb21wdF9kZWxpbWl0ZXInXSA9ICdGaWVsZCBEZWxpbWl0ZXInOwokbGFuZ1sncHJvbXB0X2RldGFpbHBhZ2UnXSA9ICdEZWZhdWx0IERldGFpbCBQYWdlJzsKJGxhbmdbJ3Byb21wdF9kdXBsaWNhdGVwcm9kdWN0cyddID0gJ0hvdyB0byBoYW5kbGUgZHVwbGljYXRlIHByb2R1Y3RzPyc7CiRsYW5nWydwcm9tcHRfaGFuZGxlaW1hZ2VzJ10gPSAnSGFuZGxlIGltYWdlcz8nOwokbGFuZ1sncHJvbXB0X2ltYWdlcGF0aCddID0gJ0ltYWdlIFBhdGgnOwokbGFuZ1sncHJvbXB0X3N1bW1hcnlzb3J0b3JkZXInXSA9ICdEZWZhdWx0IFNvcnQgT3JkZXIgaW4gc3VtbWFyeSBtb2RlJzsKJGxhbmdbJ3Byb21wdF9zdW1tYXJ5c29ydGluZyddID0gJ0RlZmF1bHQgU29ydCBGaWVsZCBpbiBzdW1tYXJ5IG1vZGUnOwokbGFuZ1sncHJvbXB0X3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgU291cmNlJzsKJGxhbmdbJ3Byb21wdF91cmxwcmVmaXgnXSA9ICdQcmVmaXggdG8gdXNlIG9uIGFsbCBVUkxTIHRhcmdldGVkIHRvIHRoaXMgdGhpcyBtb2R1bGUnOwokbGFuZ1sncHJvbXB0X3dlaWdodHVuaXRzJ10gPSAnV2VpZ2h0IFVuaXRzJzsKJGxhbmdbJ3B1YmxpYyddID0gJ0lzIHRoaXMgYSBwdWJsaWMgZmllbGQ/JzsKJGxhbmdbJ3B1Ymxpc2hlZCddID0gJ1B1Ymxpc2hlZCc7CiRsYW5nWydyYW5kb20nXSA9ICdSYW5kb20nOwokbGFuZ1sncmVzZXR0b2ZhY3RvcnknXSA9ICdSZXNldCB0byBGYWN0b3J5IFZhbHVlcyc7CiRsYW5nWydyZXR1cm4nXSA9ICdSZXR1cm4nOwokbGFuZ1sncmV0dXJuX3RvX3RvcCddID0gJ1JldHVybiB0byB0aGUgdG9wIG9mIHRoZSB2aWV3JzsKJGxhbmdbJ3Jvb3QnXSA9ICdSb290JzsKJGxhbmdbJ3NlbGVjdF9vbmUnXSA9ICdTZWxlY3QgT25lJzsKJGxhbmdbJ3NvcnRfYnknXSA9ICdTb3J0IEJ5JzsKJGxhbmdbJ3NvcnRfb3JkZXInXSA9ICdTb3J0IE9yZGVyJzsKJGxhbmdbJ3N0YXR1cyddID0gJ1N0YXR1cyc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtaXQnOwokbGFuZ1snc3VtbWFyeXRlbXBsYXRlcyddID0gJ1N1bW1hcnkgVGVtcGxhdGVzJzsKJGxhbmdbJ3N1bW1hcnl0ZW1wbGF0ZV9hZGRlZGl0J10gPSAnQWRkL0VkaXQgQSBTdW1tYXJ5IFRlbXBsYXRlJzsKJGxhbmdbJ3RheGFibGUnXSA9ICdUYXhhYmxlJzsKJGxhbmdbJ3Rlc3QnXSA9ICdUZXN0JzsKJGxhbmdbJ3RleHRhcmVhJ10gPSAnVGV4dCBBcmVhJzsKJGxhbmdbJ3RleHRib3gnXSA9ICdUZXh0IElucHV0JzsKJGxhbmdbJ3RpdGxlX2J5aGllcmFyY2h5X2RmbHR0ZW1wbGF0ZSddID0gJ0RlZmF1bHQgTmV3IEhpZXJhcmNoeSBSZXBvcnQgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfY2F0ZWdvcnlsaXN0X2RmbHR0ZW1wbGF0ZSddID0gJ0RlZmF1bHQgTmV3IENhdGVnb3J5TGlzdCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9kZXRhaWxfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgRGV0YWlsIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3N1bW1hcnlfZGZsdHRlbXBsYXRlJ10gPSAnRGVmYXVsdCBOZXcgU3VtbWFyeSBUZW1wbGF0ZSc7CiRsYW5nWyd0eXBlJ10gPSAnVHlwZSc7CiRsYW5nWyd1cGRhdGUnXSA9ICdVcGRhdGUnOwokbGFuZ1sndXBsb2FkJ10gPSAnU2VsZWN0IGEgZmlsZSB0byB1cGxvYWQnOwokbGFuZ1sndmFsaWQnXSA9ICdWYWxpZCc7CiRsYW5nWyd2YWx1ZSddID0gJ1ZhbHVlJzsKJGxhbmdbJ3ZhbHVlcyddID0gJ1ZhbHVlcyc7CiRsYW5nWyd3YXRlcm1hcmtfbG9jYXRpb24nXSA9ICdXYXRlcm1hcmsgTG9jYXRpb24nOwokbGFuZ1snd2VpZ2h0J10gPSAnV2VpZ2h0JzsKJGxhbmdbJ3llcyddID0gJ1llcyc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjg5NjE4NzYzMS4xMjM2Njc2MTIxLjEyNDI5MDQwODkuMTI0MjkxMDIyMC4yNSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEyNDI5MDQwODkuMjQuOS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vcHJvamVjdC9saXN0fHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.hierarchy_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBoaWVyYXJjaHlfb3BzCnsKICBwcml2YXRlIHN0YXRpYyAkX2FsbGhpZXJhcmNoeTsKCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX3VwZGF0ZV9oaWVyYXJjaHlfY291bnRzKCYkZGF0YSwkcGFyZW50X2lkID0gLTEpCiAgewogICAgJG4gPSAwOwogICAgZm9yZWFjaCggJGRhdGEgYXMgJiRyZWMgKSB7CiAgICAgIGlmKCAhaXNzZXQoJHJlY1snY291bnQnXSkgKSBjb250aW51ZTsKICAgICAgaWYoICRyZWNbJ3BhcmVudF9pZCddICE9ICRwYXJlbnRfaWQgKSBjb250aW51ZTsKICAgICAgaWYoICRyZWNbJ2NvdW50J10gPT0gMCApIHsKCSRyZWNbJ2NvdW50J10gPSBzZWxmOjpfdXBkYXRlX2hpZXJhcmNoeV9jb3VudHMoJGRhdGEsJHJlY1snaWQnXSk7CiAgICAgIH0KICAgICAgJG4gKz0gKGludCkkcmVjWydjb3VudCddOwogICAgfQogICAgcmV0dXJuICRuOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfYWxsX2hpZXJhcmNoeV9pbmZvKCRjb3VudCA9IEZBTFNFLCAkYWxsID0gVFJVRSkKICB7CiAgICBpZiggIWlzX2FycmF5KHNlbGY6OiRfYWxsaGllcmFyY2h5KSApIHNlbGY6OiRfYWxsaGllcmFyY2h5ID0gYXJyYXkoKTsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgaWYoICEkY291bnQgKSB7CiAgICAgICRrZXkgPSAnbm9jb3VudCc7CgogICAgICBpZiggIWlzc2V0KHNlbGY6OiRfYWxsaGllcmFyY2h5WyRrZXldKSApIHsKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5JzsKCSR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CglpZiggaXNfYXJyYXkoJHRtcCkgJiYgY291bnQoJHRtcCkgKSB7CgkgICR0bXAgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKCX0KCXNlbGY6OiRfYWxsaGllcmFyY2h5WyRrZXldID0gJHRtcDsKICAgICAgfQogICAgfQogICAgZWxzZSB7CiAgICAgIC8vIGFsbCBpcyBvbmx5IGFwcGxpY2FibGUgaGVyZS4KICAgICAgJGtleSA9ICdjb3VudCc7CiAgICAgIGlmKCAhaXNzZXQoc2VsZjo6JF9hbGxoaWVyYXJjaHlbJGtleV0pICkgewoJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCSRxdWVyeSA9ICdTRUxFQ1QgcGguKixjb3VudChwci5pZCkgQVMgY291bnQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSBwaAogICAgICAgICAgICAgICAgICBMRUZUIE9VVEVSIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyIHB0aAogICAgICAgICAgICAgICAgICBPTiBwaC5pZCA9IHB0aC5oaWVyYXJjaHlfaWQKICAgICAgICAgICAgICAgICAgTEVGVCBPVVRFUiBKT0lOICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMgcHIKICAgICAgICAgICAgICAgICAgT04gcHRoLnByb2R1Y3RfaWQgPSBwci5pZCc7CglpZiggISRhbGwgKSAkcXVlcnkgLicgQU5EIHByLnN0YXR1cyA9ICcuJGRiLT5xc3RyKCdwdWJsaXNoZWQnKTsKCSRxdWVyeSAuPSAnIEdST1VQIEJZIHBoLmlkCiAgICAgICAgICAgICAgICAgICBPUkRFUiBCWSBwaC5oaWVyYXJjaHknOwoJJHRtcCA9ICRkYi0+R2V0QWxsKCRxdWVyeSk7CglpZiggaXNfYXJyYXkoJHRtcCkgJiYgY291bnQoJHRtcCkgKSB7CgkgICR0bXAgPSBjZ2VfYXJyYXk6OnRvX2hhc2goJHRtcCwnaWQnKTsKCX0KCXNlbGY6Ol91cGRhdGVfaGllcmFyY2h5X2NvdW50cygkdG1wKTsKCXNlbGY6OiRfYWxsaGllcmFyY2h5WyRrZXldID0gJHRtcDsKICAgICAgfQogICAgfQogICAgcmV0dXJuIHNlbGY6OiRfYWxsaGllcmFyY2h5WyRrZXldOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2hpZXJhcmNoeV9pbmZvKCRoaWVyYXJjaHlfaWQpCiAgewogICAgJGFsbGluZm8gPSBzZWxmOjpnZXRfYWxsX2hpZXJhcmNoeV9pbmZvKCk7CiAgICBpZiggaXNfYXJyYXkoJGFsbGluZm8pICYmIGNvdW50KCRhbGxpbmZvKSApIHsKICAgICAgaWYoIGlzc2V0KCRhbGxpbmZvWyRoaWVyYXJjaHlfaWRdKSApIHsKCXJldHVybiAkYWxsaW5mb1skaGllcmFyY2h5X2lkXTsKICAgICAgfQogICAgfQogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2hpZXJhcmNoeV9wYXRoKCRoaWVyX2lkKQogIHsKICAgICRvdXQgPSBhcnJheSgpOwogICAgd2hpbGUoICRoaWVyX2lkID4gMCApCiAgICAgIHsKCSRvdXRbXSA9ICRoaWVyX2lkOwoKCSRoaWVyX2luZm8gPSBzZWxmOjpnZXRfaGllcmFyY2h5X2luZm8oJGhpZXJfaWQpOwoJaWYoICEkaGllcl9pbmZvICkgYnJlYWs7CgoJJGhpZXJfaWQgPSAkaGllcl9pbmZvWydwYXJlbnRfaWQnXTsKCWlmKCAkaGllcl9pZCA8IDAgKSBicmVhazsKICAgICAgfQoKICAgIHJldHVybiBhcnJheV9yZXZlcnNlKCRvdXQpOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2JyZWFkY3J1bWIoJGlkLCRoaWVyX2lkLCRoaWVycGFnZSwkZGVsaW0gPSAnICZndDsgJykKICB7CiAgICAkaGllcmFyY2h5X3BhdGggPSBzZWxmOjpnZXRfaGllcmFyY2h5X3BhdGgoJGhpZXJfaWQpOwogICAgaWYoICEkaGllcmFyY2h5X3BhdGggKSByZXR1cm4gRkFMU0U7CgogICAgJG1vZHVsZSA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnUHJvZHVjdHMnKTsKICAgICR0bXAgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJGhpZXJhcmNoeV9wYXRoIGFzICRvbmUgKSB7CiAgICAgICRpbmZvID0gaGllcmFyY2h5X29wczo6Z2V0X2hpZXJhcmNoeV9pbmZvKCRvbmUpOwogICAgICAkbGluayA9ICRtb2R1bGUtPkNyZWF0ZVByZXR0eUxpbmsoJGlkLCdoaWVyYXJjaHknLCRoaWVycGFnZSwKCQkJCQkkaW5mb1snbmFtZSddLGFycmF5KCdwYXJlbnQnPT4kaW5mb1snaWQnXSkpOwogICAgICAkdG1wW10gPSAkbGluazsKICAgIH0KICAgIGlmKCAkZGVsaW0gIT0gJycgKSB7CiAgICAgIHJldHVybiBpbXBsb2RlKCRkZWxpbSwkdG1wKTsKICAgIH0KICAgIHJldHVybiAkdG1wOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZmxhdF9saXN0KCRmdWxsID0gVFJVRSwkaWQgPSAncHJvZCcsJHJldHVybmRpZCA9ICcnKQogIHsKICAgIGlmKCAhZnVuY3Rpb25fZXhpc3RzKCdfX2hpZXJ0cmVlX2NiJykgKSB7CiAgICAgIGZ1bmN0aW9uIF9faGllcnRyZWVfY2IoJiRyb3cpIAogICAgICB7CglnbG9iYWwgJGlkLCRyZXR1cm5pZCwkZW50cnlhcnJheTsKCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Byb2R1Y3RzJyk7CglpZiggaXNfb2JqZWN0KCRtb2QpICkgewoJICAkcm93WydlZGl0X3VybCddID0gJG1vZC0+Q3JlYXRlVVJMKCRpZCwnYWRtaW5fZWRpdF9oaWVyYXJjaHlfaXRlbScsCgkJCQkJICAgICAkcmV0dXJuaWQsCgkJCQkJICAgICBhcnJheSgnaGllcmFyY2h5X2lkJz0+JHJvd1snaWQnXSkpOwoJICAkcm93WydkZXB0aCddID0gY291bnQoZXhwbG9kZSgnLicsICRyb3dbJ2hpZXJhcmNoeSddKSkgLSAxOwoJICAkcm93WydlZGl0X2xpbmsnXSA9ICRtb2QtPkNyZWF0ZUltYWdlTGluaygkaWQsJ2FkbWluX2VkaXRfaGllcmFyY2h5X2l0ZW0nLAoJCQkJCQkgICAgJHJldHVybmlkLAoJCQkJCQkgICAgJG1vZC0+TGFuZygnZWRpdF9oaWVyYXJjaHlfaXRlbScpLAoJCQkJCQkgICAgJ2ljb25zL3N5c3RlbS9lZGl0LmdpZicsCgkJCQkJCSAgICBhcnJheSgnaGllcmFyY2h5X2lkJz0+JHJvd1snaWQnXSkpOwoJICAkcm93WydkZWxldGVfbGluayddID0gJG1vZC0+Q3JlYXRlSW1hZ2VMaW5rKCRpZCwnYWRtaW5fZGVsZXRlX2hpZXJhcmNoeV9pdGVtJywKCQkJCQkJICAgICAgJHJldHVybmlkLAoJCQkJCQkgICAgICAkbW9kLT5MYW5nKCdkZWxldGVfaGllcmFyY2h5X2l0ZW0nKSwKCQkJCQkJICAgICAgJ2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJywKCQkJCQkJICAgICAgYXJyYXkoJ2hpZXJhcmNoeV9pZCc9PiRyb3dbJ2lkJ10pLCcnLAoJCQkJCQkgICAgICAkbW9kLT5MYW5nKCdjb25maXJtX2RlbGV0ZV9oaWVyYXJjaHlfbm9kZScpKTsKCgkgICRlbnRyeWFycmF5W10gPSAkcm93OwoJfQogICAgICB9CgogICAgICBmdW5jdGlvbiBfX2hpZXJ0cmVlX2ZsYXR0ZW4oJHRyZWUsJiRlbnRyeWFycmF5KQogICAgICB7CglpZiggaXNfYXJyYXkoJHRyZWUpICYmIGNvdW50KCR0cmVlKSApIHsKCSAgZm9yZWFjaCggJHRyZWUgYXMgJG9uZSApIHsKCSAgICAkY29weSA9ICRvbmU7CgkgICAgdW5zZXQoJGNvcHlbJ2NoaWxkcmVuJ10pOwoJICAgICRlbnRyeWFycmF5W10gPSAkY29weTsKCSAgICBpZiggaXNzZXQoJG9uZVsnY2hpbGRyZW4nXSkgKSB7CgkgICAgICBfX2hpZXJ0cmVlX2ZsYXR0ZW4oJG9uZVsnY2hpbGRyZW4nXSwkZW50cnlhcnJheSk7CgkgICAgfQoJICB9Cgl9CiAgICAgIH0gLy8gZnVuY3Rpb24uCiAgICB9CgogICAgJGVudHJ5YXJyYXkgPSBhcnJheSgpOwogICAgJGNiID0gJyc7CiAgICBpZiggJGZ1bGwgKSAkY2IgPSAnX19oaWVydHJlZV9jYic7CiAgICAkdHJlZSA9IHByb2R1Y3RfdXRpbHM6OmhpZXJhcmNoeV9nZXRfdHJlZSgtMSwwLCRjYik7CiAgICBfX2hpZXJ0cmVlX2ZsYXR0ZW4oJHRyZWUsJGVudHJ5YXJyYXkpOwogICAgcmV0dXJuICRlbnRyeWFycmF5OwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.importImageHandler.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBpbXBvcnRJbWFnZUhhbmRsZXIKewogIHZhciAkX21vZHVsZTsKICB2YXIgJF9zcmNwYXRoOwogIHZhciAkX2Rlc3RwYXRoOwogIHZhciAkX3VuaXF1ZV9uYW1lczsKCiAgZnVuY3Rpb24gaW1wb3J0SW1hZ2VIYW5kbGVyKCYkbW9kKQogIHsKICAgICR0aGlzLT5fbW9kdWxlID0gJG1vZDsKICAgICR0aGlzLT5fdW5pcXVlX25hbWVzID0gMDsKICB9CgoKICBmdW5jdGlvbiBzZXRVbmlxdWVOYW1lcygkdmFsdWUgPSAxKQogIHsKICAgICR0aGlzLT5fdW5pcXVlX25hbWVzID0gKGludCkkdmFsdWU7CiAgfQoKCiAgZnVuY3Rpb24gc2V0U291cmNlTG9jYXRpb24oJHBhdGgpCiAgewogICAgaWYoIGlzX2RpcigkcGF0aCkgKQogICAgICB7CgkkdGhpcy0+X3NyY3BhdGggPSAkcGF0aDsKICAgICAgfQogIH0KCgogIGZ1bmN0aW9uIHNldERlc3RpbmF0aW9uQmFzZSgkcGF0aCkKICB7CiAgICAkdGhpcy0+X2Rlc3RwYXRoID0gJHBhdGg7CiAgfQoKCiAgZnVuY3Rpb24gaGFuZGxlSW1hZ2UoJHByb2R1Y3RfaWQsJGZpbGVuYW1lKQogIHsKICAgICRkZXN0cGF0aCA9IGNtc19qb2luX3BhdGgoJHRoaXMtPl9kZXN0cGF0aCwncHJvZHVjdF8nLiRwcm9kdWN0X2lkKTsKICAgICRtb2QgPSYgJHRoaXMtPl9tb2R1bGU7CiAgICBjZ2VfZGlyOjpta2RpcnIoJGRlc3RwYXRoKTsKICAgIGlmKCAhaXNfZGlyKCRkZXN0cGF0aCkgKSByZXR1cm4gRkFMU0U7CgogICAgJGV4dCA9IHN1YnN0cigkZmlsZW5hbWUsIHN0cnJwb3MoJGZpbGVuYW1lLCAnLicpICsgMSk7CiAgICAkYWxsb3dlZCA9IGV4cGxvZGUoJywnLCRtb2QtPkdldFByZWZlcmVuY2UoJ2FsbG93ZWRfaW1hZ2V0eXBlcycpKTsKICAgIGlmKCAhaW5fYXJyYXkoJGV4dCwkYWxsb3dlZCkgKSByZXR1cm4gRkFMU0U7CgogICAgJHNyY3NwZWMgPSBjbXNfam9pbl9wYXRoKCR0aGlzLT5fc3JjcGF0aCwkZmlsZW5hbWUpOwogICAgaWYoICFmaWxlX2V4aXN0cygkc3Jjc3BlYykgKSByZXR1cm4gRkFMU0U7CgogICAgJHBvc3RmaXggPSAwOwogICAgJGZuYW1lID0gc3Vic3RyKCRmaWxlbmFtZSwwLHN0cmxlbigkZmlsZW5hbWUpLXN0cmxlbigkZXh0KSk7CiAgICAkZGVzdHNwZWMgPSBjbXNfam9pbl9wYXRoKCRkZXN0cGF0aCwkZmlsZW5hbWUpOwogICAgd2hpbGUoIGZpbGVfZXhpc3RzKCRkZXN0c3BlYykgJiYgJHRoaXMtPl91bmlxdWVfbmFtZXMgJiYgKCRwb3N0Zml4IDwgMTAwKSApCiAgICAgIHsKCSRwb3N0Zml4Kys7CgkkZGVzdHNwZWMgPSBjbXNfam9pbl9wYXRoKCRkZXN0cGF0aCwkZm5hbWUuJ18nLiRwb3N0Zml4LiRleHQpOwogICAgICB9CiAgICBpZiggZmlsZV9leGlzdHMoJGRlc3RzcGVjKSApIHJldHVybiBGQUxTRTsKCiAgICAvLyB3ZSBoYXZlIHRoZSBzb3VyY2UgbmFtZSwgYW5kIGRlc3RpbmF0aW9uIG5hbWUKICAgIC8vIGNvcHkgdGhlIGZpbGUKICAgIEBjb3B5KCRzcmNzcGVjLCRkZXN0c3BlYyk7CiAgICBpZiggIWZpbGVfZXhpc3RzKCRkZXN0c3BlYykgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gYmFzZW5hbWUoJGRlc3RzcGVjKTsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.productsCsvImporter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBwcm9kdWN0c0NzdkltcG9ydGVyCnsKICB2YXIgJF9kZWZzX2J5bmFtZTsKICB2YXIgJF9kZWZzX2J5aW5kZXg7CiAgdmFyICRfcmVjb3JkOwogIHZhciAkX2xpbmVudW07CiAgdmFyICRfbGluZTsKICB2YXIgJF9kZWxpbTsKICB2YXIgJF9lcnJvcnM7CiAgdmFyICRfbW9kdWxlOwogIHZhciAkX2ZpZWxkX21hcDsKICB2YXIgJF9jYXRlZ29yeV9tYXA7CiAgdmFyICRfaGllcmFyY2h5X21hcDsKICB2YXIgJF9wb2xpY3k7CiAgdmFyICRfaW1hZ2VIYW5kbGVyOwoKCiAgcHVibGljIGZ1bmN0aW9uIHByb2R1Y3RzQ3N2SW1wb3J0ZXIoJiRtb2QpCiAgewogICAgJHRoaXMtPl9tb2R1bGUgPSAkbW9kOwogICAgJHRoaXMtPl9saW5lbnVtID0gMDsKICAgICR0aGlzLT5fZGVsaW0gPSAnfCc7CiAgICAkdGhpcy0+X3BvbGljeSA9IGFycmF5KCk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldEltYWdlSGFuZGxlcigmJGhhbmRsZXIpCiAgewogICAgaWYoICFpc19vYmplY3QoJGhhbmRsZXIpICkgcmV0dXJuIEZBTFNFOwogICAgJHRoaXMtPl9pbWFnZUhhbmRsZXIgPSAkaGFuZGxlcjsKICAgIHJldHVybiBUUlVFOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBzZXRQb2xpY3lWYWx1ZSgka2V5LCR2YWx1ZSkKICB7CiAgICAkdGhpcy0+X3BvbGljeVska2V5XSA9ICR2YWx1ZTsKICB9CgogIAogIHByaXZhdGUgZnVuY3Rpb24gX2dldFBvbGljeVZhbHVlKCRrZXksJGRmbHQgPSBGQUxTRSkKICB7CiAgICBpZiggIWlzc2V0KCR0aGlzLT5fcG9saWN5WyRrZXldKSApIHJldHVybiAkZGZsdDsKICAgIHJldHVybiAkdGhpcy0+X3BvbGljeVska2V5XTsKICB9CgoKICBwcml2YXRlIGZ1bmN0aW9uIF9zZXRFcnJvcigkdG1wKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9lcnJvcnMpICkKICAgICAgewoJJHRoaXMtPl9lcnJvcnMgPSBhcnJheSgpOwogICAgICB9CiAgICAkdGhpcy0+X2Vycm9yc1tdID0gJHRoaXMtPl9saW5lbnVtLic6ICcuJHRtcDsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gY2xlYXJFcnJvcnMoKQogIHsKICAgICR0aGlzLT5fZXJyb3JzID0gYXJyYXkoKTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gZ2V0RXJyb3JzKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9lcnJvcnM7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldERlbGltKCRkZWxpbSkKICB7CiAgICBpZiggZW1wdHkoJGRlbGltKSApIHJldHVybiBGQUxTRTsKICAgICR0aGlzLT5fZGVsaW0gPSAkZGVsaW07CiAgICByZXR1cm4gVFJVRTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2V0RmllbGREZWZzQnlOYW1lKCR0bXApCiAgewogICAgaWYoICFpc19hcnJheSgkdG1wKSApIHJldHVybiBGQUxTRTsKICAgICR0aGlzLT5fZGVmc19ieW5hbWUgPSAkdG1wOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHNldEZpZWxkRGVmc0J5SW5kZXgoJHRtcCkKICB7CiAgICBpZiggIWlzX2FycmF5KCR0bXApICkgcmV0dXJuIEZBTFNFOwogICAgJHRoaXMtPl9kZWZzX2J5aW5kZXggPSAkdG1wOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIHByaXZhdGUgZnVuY3Rpb24gX3NldExpbmUoJHRtcCkKICB7CiAgICAkdGhpcy0+X2xpbmUgPSAkdG1wOwogICAgJHRoaXMtPl9saW5lbnVtKys7CiAgICAkdGhpcy0+X3JlY29yZCA9IGNnZV9hcnJheTo6c21hcnRfZXhwbG9kZSgkdGhpcy0+X2xpbmUsJHRoaXMtPl9kZWxpbSk7CiAgICBpZiggZW5kc3dpdGgoJHRtcCwkdGhpcy0+X2RlbGltKSApIHsKICAgICAgJHRoaXMtPl9yZWNvcmRbXSA9ICcnOwogICAgfQogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgcHJpdmF0ZSBmdW5jdGlvbiBfZ2V0RmllbGRJZCgkbmFtZSkKICB7CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fZmllbGRfbWFwKSApIHsKICAgICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxuYW1lLHR5cGUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyc7CiAgICAgICR0bXAgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CiAgICAgIGlmKCBpc19hcnJheSgkdG1wKSApIHsKCSR0aGlzLT5fZmllbGRfbWFwID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ25hbWUnKTsKICAgICAgfQogICAgfQogICAgaWYoIGlzX2FycmF5KCR0aGlzLT5fZmllbGRfbWFwKSAmJiBpc3NldCgkdGhpcy0+X2ZpZWxkX21hcFskbmFtZV0pICkgewogICAgICByZXR1cm4gJHRoaXMtPl9maWVsZF9tYXBbJG5hbWVdWydpZCddOwogICAgfQogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIHByaXZhdGUgZnVuY3Rpb24gX2dldEZpZWxkVHlwZSgkbmFtZSkKICB7CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fZmllbGRfbWFwKSApCiAgICAgIHsKCSR0bXAgPSAkdGhpcy0+X2dldEZpZWxkSWQoJG5hbWUpOwogICAgICB9CiAgICBpZiggaXNfYXJyYXkoJHRoaXMtPl9maWVsZF9tYXApICYmIGlzc2V0KCR0aGlzLT5fZmllbGRfbWFwWyRuYW1lXSkgKQogICAgICB7CglyZXR1cm4gJHRoaXMtPl9maWVsZF9tYXBbJG5hbWVdWyd0eXBlJ107CiAgICAgIH0KICAgIHJldHVybiBGQUxTRTsKICB9CgoKICBwcml2YXRlIGZ1bmN0aW9uIF9zZXRGaWVsZFZhbHVlKCRwcm9kdWN0X2lkLCRmaWQsJHZhbCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCB2YWx1ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzIFdIRVJFIHByb2R1Y3RfaWQgPSA/IEFORCBmaWVsZGRlZl9pZCA9ID8nOwogICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkcHJvZHVjdF9pZCwkZmlkKSk7CiAgICBpZiggJHRtcCApIHsKICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyBTRVQgdmFsdWUgPSA/IFdIRVJFIHByb2R1Y3RfaWQgPSA/IEFORCBmaWVsZGRlZl9pZCA9ID8nOwogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdmFsLCRwcm9kdWN0X2lkLCRmaWQpKTsKICAgIH0gZWxzZSB7CiAgICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyAodmFsdWUsIHByb2R1Y3RfaWQsIGZpZWxkZGVmX2lkKSBWQUxVRVMgKD8sPyw/KSc7CiAgICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCR2YWwsJHByb2R1Y3RfaWQsJGZpZCkpOwogICAgfQogICAgaWYoICEkZGJyICkgewogICAgICAkdGhpcy0+X3NldEVycm9yKCdQcm9ibGVtIGluc2VydGluZyBmaWVsZCB2YWx1ZSBmb3IgZmllbGQgJy4kZmlkKTsKICAgICAgcmV0dXJuIEZBTFNFOwogICAgfQogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgcHJpdmF0ZSBmdW5jdGlvbiBfZ2V0Q2F0ZWdvcnlJZCgkbmFtZSkKICB7CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fY2F0ZWdvcnlfbWFwKSApCiAgICAgIHsKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcXVlcnkgPSAnU0VMRUNUIGlkLG5hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMnOwoJJHRtcCA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCWlmKCBpc19hcnJheSgkdG1wKSApCgkgIHsKCSAgICAkdGhpcy0+X2NhdGVnb3J5X21hcCA9IGNnZV9hcnJheTo6dG9faGFzaCgkdG1wLCduYW1lJyk7CgkgIH0KICAgICAgfQogICAgaWYoIGlzX2FycmF5KCR0aGlzLT5fY2F0ZWdvcnlfbWFwKSAmJiBpc3NldCgkdGhpcy0+X2NhdGVnb3J5X21hcFskbmFtZV0pICkKICAgICAgewoJcmV0dXJuICR0aGlzLT5fY2F0ZWdvcnlfbWFwWyRuYW1lXVsnaWQnXTsKICAgICAgfQogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIHByaXZhdGUgZnVuY3Rpb24gX19nZXRIaWVyYXJjaHlDYWNoZSgpCiAgewogICAgLy8gbWFrZSBzdXJlIHdlIGhhdmUgZXZlcnl0aGluZyBpbiBtZW1vcnkuCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCxsb25nX25hbWUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSc7CiAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgaWYoIGlzX2FycmF5KCR0bXApICkKICAgICAgewoJJHRoaXMtPl9oaWVyYXJjaHlfbWFwID0gY2dlX2FycmF5Ojp0b19oYXNoKCR0bXAsJ2xvbmdfbmFtZScpOwogICAgICB9CiAgfQoKCiAgcHJpdmF0ZSBmdW5jdGlvbiBfc2V0SGllcmFyY2h5SWQoJHByb2R1Y3RfaWQsJGhpZXJfaWQpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUIGhpZXJhcmNoeV9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHRvaGllcgogICAgICAgICAgICAgICBXSEVSRSBwcm9kdWN0X2lkID0gPyc7CiAgICAkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRwcm9kdWN0X2lkKSk7CiAgICBpZiggJHRtcCApIHsKICAgICAgJHF1ZXJ5ID0gJ1VQREFURSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R0b2hpZXIKICAgICAgICAgICAgICAgIFNFVCBoaWVyYXJjaHlfaWQgPSA/IFdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGhpZXJfaWQsJHByb2R1Y3RfaWQpKTsKICAgIH0KICAgIGVsc2UgewogICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19wcm9kdG9oaWVyCiAgICAgICAgICAgICAgICAgKHByb2R1Y3RfaWQsaGllcmFyY2h5X2lkKSBWQUxVRVMgKD8sPyknOwogICAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcHJvZHVjdF9pZCwkaGllcl9pZCkpOwogICAgfQogICAgaWYoICEkZGJyICkgewogICAgICAkdGhpcy0+X3NldEVycm9yKCdwcm9ibGVtIGFkanVzdGluZyBoaWVyYXJjaHkgZm9yICcuJHByb2R1Y3RfaWQpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgICByZXR1cm4gVFJVRTsKICB9CgogIHByaXZhdGUgZnVuY3Rpb24gX2dldEhpZXJhcmNoeUlkKCRoaWVyKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9oaWVyYXJjaHlfbWFwKSApCiAgICAgIHsKCSR0aGlzLT5fX2dldEhpZXJhcmNoeUNhY2hlKCk7CiAgICAgIH0KICAgIGlmKCAkdGhpcy0+X2dldFBvbGljeVZhbHVlKCdjcmVhdGVfaGllcmFyY2h5JykgKQogICAgICB7CglpZiggKGlzX2FycmF5KCR0aGlzLT5faGllcmFyY2h5X21hcCkgJiYgIWlzc2V0KCR0aGlzLT5faGllcmFyY2h5X21hcFskaGllcl0pKSB8fAoJICAgICFpc19hcnJheSgkdGhpcy0+X2hpZXJhcmNoeV9tYXApICkKCSAgewoJICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CgoJICAgIC8vIHdlIGhhdmUgZXZlcnl0aGluZyBpbiBtZW1vcnkKCSAgICAvLyBpdCdzIGp1c3Qgbm90IHRoZXJlCgkgICAgLy8gc28gd2UgaGF2ZSB0byBjcmVhdGUgaXQuCgkgICAgJHBhdGggPSBleHBsb2RlKCcgfCAnLCRoaWVyKTsKCSAgICAkcGFyZW50ID0gLTE7CgkgICAgJGl0ZW1fb3JkZXIgPSAxOwoJICAgICRmcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkgV0hFUkUgbmFtZSA9ID8gQU5EIHBhcmVudF9pZCA9ID8nOwoJICAgICRpcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkgKG5hbWUscGFyZW50X2lkKSBWQUxVRVMgKD8sPyknOwoJICAgIGZvcmVhY2goICRwYXRoIGFzICRvbmUgKQoJICAgICAgewoJCSRuYW1lID0gdHJpbSgkb25lKTsKCQkkbmFtZSA9IHRyaW0oJG5hbWUsJyJcJycpOwoJCWlmKCBlbXB0eSgkbmFtZSkgKSBjb250aW51ZTsKCQkkdF9pZCA9ICRkYi0+R2V0T25lKCRmcXVlcnksYXJyYXkoJG5hbWUsJHBhcmVudCkpOwoJCWlmKCAhJHRfaWQgKQoJCSAgewoJCSAgICAvLyBnb3R0YSBpbnNlcnQgaXQKCQkgICAgJGRiLT5FeGVjdXRlKCRpcXVlcnksYXJyYXkoJG5hbWUsJHBhcmVudCkpOwoJCSAgICAkdF9pZCA9ICRkYi0+SW5zZXJ0X0lEKCk7CgkJICAgICR0aGlzLT5fbW9kdWxlLT5VcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKTsKCQkgIH0KCQkkcGFyZW50ID0gJHRfaWQ7CgkgICAgICB9CgkgIH0KCgkvLyByZWZyZXNoIHRoZSBtZW1vcnkKCSR0aGlzLT5fX2dldEhpZXJhcmNoeUNhY2hlKCk7CiAgICAgIH0KCiAgICAvLyByZXR1cm4gdGhlIGRlc2lyZWQgdmFsdWUKICAgIGlmKCBpc19hcnJheSgkdGhpcy0+X2hpZXJhcmNoeV9tYXApICYmIGlzc2V0KCR0aGlzLT5faGllcmFyY2h5X21hcFskaGllcl0pICkKICAgICAgewoJcmV0dXJuICR0aGlzLT5faGllcmFyY2h5X21hcFskaGllcl1bJ2lkJ107CiAgICAgIH0KCiAgICAvLyB0aGlzIGlhIHJlYWxseSBhIHByb2JsZW0KICAgIHJldHVybiBGQUxTRTsKICB9CgoKICBwcml2YXRlIGZ1bmN0aW9uIF9oYXNGaWVsZCgkbmFtZSkKICB7CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fcmVjb3JkKSApIHJldHVybiBGQUxTRTsKICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9kZWZzX2J5bmFtZSkgKSByZXR1cm4gRkFMU0U7CiAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGVmc19ieW5hbWVbJG5hbWVdKSApIHJldHVybiBGQUxTRTsKICAgICRpZHggPSAkdGhpcy0+X2RlZnNfYnluYW1lWyRuYW1lXTsKICAgIGlmKCAkaWR4ID49IGNvdW50KCR0aGlzLT5fcmVjb3JkKSApIHJldHVybiBGQUxTRTsKICAgIHJldHVybiAkaWR4OwogIH0KCgogIHByaXZhdGUgZnVuY3Rpb24gX2dldEZpZWxkKCRuYW1lLCRkZmx0ID0gRkFMU0UpCiAgewogICAgJGlkeCA9ICR0aGlzLT5faGFzRmllbGQoJG5hbWUpOwogICAgaWYoICRpZHggPT09IEZBTFNFICkKICAgICAgewoJcmV0dXJuICRkZmx0OwogICAgICB9CiAgICAkdmFsID0gdHJpbSgkdGhpcy0+X3JlY29yZFskaWR4XSwnXCciJyk7CiAgICByZXR1cm4gJHZhbDsKICB9CgoKICBwcml2YXRlIGZ1bmN0aW9uIF9nZXREZWZDb3VudCgpCiAgewogICAgcmV0dXJuIGNvdW50KCR0aGlzLT5fZGVmc19ieWluZGV4KTsKICB9CgoKICBwcml2YXRlIGZ1bmN0aW9uIF9nZXRGaWVsZENvdW50KCkgIHsKICAgIHJldHVybiBjb3VudCgkdGhpcy0+X3JlY29yZCk7CiAgfQoKCiAgcHJpdmF0ZSBmdW5jdGlvbiBfZ2V0Q3VycmVuY3koJHN0cikKICB7CiAgICAkTG9jYWxlSW5mbyA9IGxvY2FsZWNvbnYoKTsKICAgICRjdXJyZW5jeV9zeW1ib2wgPSAnJCc7CiAgICBpZiggaXNzZXQoJExvY2FsZUluZm9bJ2N1cnJlbmN5X3N5bWJvbCddKSAmJiAkTG9jYWxlSW5mb1snY3VycmVuY3lfc3ltYm9sJ10gIT0gJycgKQogICAgICAkY3VycmVuY3lfc3ltYm9sID0gJExvY2FsZUluZm9bJ2N1cnJlbmN5X3N5bWJvbCddOwoKICAgICRzdHIgPSB0cmltKCRzdHIpOwogICAgJHN0ciA9IHRyaW0oJHN0ciwkY3VycmVuY3lfc3ltYm9sKTsKICAgICRzdHIgPSBzdHJfcmVwbGFjZSgkTG9jYWxlSW5mb1sibW9uX3Rob3VzYW5kc19zZXAiXSAsICIiLCAkc3RyKTsKICAgICRzdHIgPSBzdHJfcmVwbGFjZSgkTG9jYWxlSW5mb1sibW9uX2RlY2ltYWxfcG9pbnQiXSAsICIuIiwgJHN0cik7CiAgICAkdmFsID0gZmxvYXR2YWwoJHN0cik7IAogICAgcmV0dXJuICR2YWw7CiAgfQoKCiAgcHJpdmF0ZSBmdW5jdGlvbiBfZ2V0RmllbGROYW1lc0xpa2UoJHByZWZpeCkKICB7CiAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5fZGVmc19ieWluZGV4KSApIHJldHVybiBGQUxTRTsKICAgICRyZXMgPSBhcnJheSgpOwogICAgZm9yKCRpID0gMDsgJGkgPCBjb3VudCgkdGhpcy0+X2RlZnNfYnlpbmRleCk7ICRpKysgKQogICAgICB7CgkkdG1wID0gdHJpbSh0cmltKCR0aGlzLT5fZGVmc19ieWluZGV4WyRpXSksJ1wnIicpOwoJaWYoIHN0YXJ0c3dpdGgoJHRtcCwkcHJlZml4KSApCgkgIHsKCSAgICAkcmVzW10gPSAkdG1wOwoJICB9CiAgICAgIH0KICAgIHJldHVybiAkcmVzOwogIH0KCgogIHByaXZhdGUgZnVuY3Rpb24gX2hhbmRsZUZpcnN0TGluZSgpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRub3cgPSAkZGItPkRiVGltZVN0YW1wKHRpbWUoKSk7CgogICAgLy8gMC4gIEdldCB0aGUgZmllbGQgZGVmaW5pdGlvbnMKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5fcmVjb3JkKTsgJGkrKyApCiAgICAgIHsKCSR0bXAgPSB0cmltKHRyaW0oJHRoaXMtPl9yZWNvcmRbJGldKSwnIlwnJyk7CgkkYnluYW1lWyR0bXBdID0gJGk7CiAgICAgIH0KICAgICR0aGlzLT5fZGVmc19ieW5hbWUgPSAkYnluYW1lOwogICAgJHRoaXMtPl9kZWZzX2J5aW5kZXggPSAkdGhpcy0+X3JlY29yZDsKCgogICAgLy8gMS4gZmlyc3QgbWFrZSBzdXJlIHdlIGhhdmUgYWxsIHRoZSByZXF1aXJlZCBmaWVsZHMuCiAgICAkcmVxdWlyZWRfZmllbGRzID0gZXhwbG9kZSgnLCcsJyNGTEFHLCNuYW1lLCNwcmljZScpOwogICAgZm9yZWFjaCggJHJlcXVpcmVkX2ZpZWxkcyBhcyAkb25lICkKICAgICAgewoJaWYoICFhcnJheV9rZXlfZXhpc3RzKCRvbmUsJHRoaXMtPl9kZWZzX2J5bmFtZSkgKQoJICB7CgkgICAgJHRoaXMtPl9zZXRFcnJvcignbWlzc2luZyByZXF1aXJlZCBmaWVsZCAnLiRvbmUpOwoJICAgIHJldHVybiBGQUxTRTsKCSAgfQogICAgICB9CgogICAgLy8gMi4gZ28gdGhyb3VnaCBhbmQgZ2V0IGNhdGVnb3JpZXMKICAgIC8vIGFuZCBtYWtlIHN1cmUgdGhleSBleGlzdAogICAgaWYoICR0aGlzLT5fZ2V0UG9saWN5VmFsdWUoJ2NyZWF0ZV9jYXRlZ29yaWVzJykgKQogICAgICB7CgkkY2F0cyA9ICR0aGlzLT5fZ2V0RmllbGROYW1lc0xpa2UoJyNDQVQnKTsKCWlmKCBpc19hcnJheSgkY2F0cykgKQoJICB7CgkgICAgJGZxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgV0hFUkUgbmFtZSA9ID8nOwoJICAgICRpcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIChuYW1lLGNyZWF0ZV9kYXRlLG1vZGlmaWVkX2RhdGUpIFZBTFVFUyAoPywkbm93LCRub3cpIjsKCSAgICBmb3JlYWNoKCAkY2F0cyBhcyAkb25lICkKCSAgICAgIHsKCQkkdG1wID0gdHJpbShzdWJzdHIoJG9uZSw1KSk7CgkJJHRtcCA9IHRyaW0oJHRtcCwnIlwnJyk7CgkJaWYoIGVtcHR5KCR0bXApICkgY29udGludWU7CgkJJHRfaWQgPSAkZGItPkdldE9uZSgkZnF1ZXJ5LGFycmF5KCR0bXApKTsKCQlpZiggISR0X2lkICkKCQkgIHsKCQkgICAgLy8gb29wcywgZ290dGEgYWRkIGl0CgkJICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJGlxdWVyeSxhcnJheSgkdG1wKSk7CgkJICAgIGlmKCAhJGRiciApCgkJICAgICAgewoJCQkkdGhpcy0+X3NldEVycm9yKCdwcm9ibGVtIGNyZWF0aW5nIGNhdGVnb3J5ICcuJHRtcCk7CgkJCSR0aGlzLT5fc2V0RXJyb3IoJ0RFQlVHOiAnLiRkYi0+c3FsLicgLS0gJy4kZGItPkVycm9yTXNnKCkpOwoJCSAgICAgIH0KCQkgIH0KCSAgICAgIH0KCSAgfQogICAgICB9CgogICAgLy8gMy4gdGhlbiBmaWVsZHMKICAgIC8vIGFuZCBtYWtlIHN1cmUgdGhleSBleGlzdAogICAgaWYoICR0aGlzLT5fZ2V0UG9saWN5VmFsdWUoJ2NyZWF0ZV9maWVsZHMnKSApIHsKICAgICAgJGZpZWxkcyA9ICR0aGlzLT5fZ2V0RmllbGROYW1lc0xpa2UoJyNGSUVMRCcpOwogICAgICBpZiggaXNfYXJyYXkoJGZpZWxkcykgKSB7CgkkZmllbGRfdHlwZXMgPSBhcnJheV9rZXlzKHByb2R1Y3RfdXRpbHM6OmdldF9maWVsZF90eXBlcygpKTsKCSRmcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgV0hFUkUgbmFtZSA9ID8nOwoJJG9xdWVyeSA9ICdTRUxFQ1QgbWF4KGl0ZW1fb3JkZXIpICsgMSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzJzsKCSRpcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgCiAgICAgICAgICAgICAgICAgICAgICAobmFtZSwgcHJvbXB0LCB0eXBlLCBtYXhfbGVuZ3RoLCBpdGVtX29yZGVyLCBjcmVhdGVfZGF0ZSwgbW9kaWZpZWRfZGF0ZSwgcHVibGljKQogICAgICAgICAgICAgICAgICAgVkFMVUVTKD8sPyw/LD8sPywkbm93LCRub3csMSkiOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAoJZm9yZWFjaCggJGZpZWxkcyBhcyAkb25lICkgewoJICAkdG1wID0gZXhwbG9kZSgnOicsJG9uZSk7CgkgIGlmKCBjb3VudCgkdG1wKSAhPSAzICkgY29udGludWU7CgkgICR0eXBlID0gdHJpbSh0cmltKCR0bXBbMV0pLCciXCcnKTsKCSAgJG5hbWUgPSB0cmltKHRyaW0oJHRtcFsyXSksJyJcJycpOwoJICBpZiggZW1wdHkoJHR5cGUpIHx8IGVtcHR5KCRuYW1lKSApIGNvbnRpbnVlOwoJICBpZiggIWluX2FycmF5KCR0eXBlLCRmaWVsZF90eXBlcykgKSB7CgkgICAgJHRoaXMtPl9zZXRFcnJvcignSW52YWxpZCBmaWVsZCB0eXBlOiAnLiR0eXBlLicgZm9yIGZpZWxkICcuJG5hbWUpOwoJICAgIHJldHVybiBGQUxTRTsKCSAgfQoJICAkdF9pZCA9ICRkYi0+R2V0T25lKCRmcXVlcnksYXJyYXkoJG5hbWUpKTsKCSAgaWYoICEkdF9pZCApIHsKCSAgICAkcHJvbXB0ID0gdWN3b3JkcygkbmFtZSk7CgkgICAgLy8gb29wcywgZ290dGEgYWRkIGl0LgoJICAgICRtYXggPSAkZGItPkdldE9uZSgkb3F1ZXJ5KTsKCSAgICBpZiggISRtYXggKSAkbWF4ID0gMDsKCSAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRpcXVlcnksYXJyYXkoJG5hbWUsJHByb21wdCwkdHlwZSwyNTUsJG1heCkpOwoJICAgIGlmKCAhJGRiciApIHsKCSAgICAgICR0aGlzLT5fc2V0RXJyb3IoJ1Byb2JsZW0gY3JlYXRpbmcgZmllbGQgJy4kbmFtZSk7CgkgICAgICAkdGhpcy0+X3NldEVycm9yKCdERUJVRzogJy4kZGItPnNxbC4nIC0tICcuJGRiLT5FcnJvck1zZygpKTsKCSAgICB9CgkgIH0KCX0KICAgICAgfQogICAgfQoKICAgIHJldHVybiBUUlVFOwogIH0KCgogIHByaXZhdGUgZnVuY3Rpb24gX2hhbmRsZVByb2R1Y3RMaW5lKCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJG5vdyA9ICRkYi0+RGJUaW1lU3RhbXAodGltZSgpKTsKICAgIAogICAgLy8gZ2V0IHRoZSBpbmZvIGZvciB0aGUgcHJvZHVjdAogICAgLy8gYW5kIGluc2VydCBpdAogICAgJHRub3cgPSB0cmltKCRub3csIiciKTsKICAgICRuYW1lID0gJHRoaXMtPl9nZXRGaWVsZCgnI25hbWUnKTsKICAgIGlmKCBlbXB0eSgkbmFtZSkgKSB7CiAgICAgICR0aGlzLT5fc2V0RXJyb3IoImVtcHR5IHByb2R1Y3QgbmFtZSIpOwogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgICAkZnF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMgV0hFUkUgcHJvZHVjdF9uYW1lID0gPyc7CiAgICAkdF9pZCA9ICRkYi0+R2V0T25lKCRmcXVlcnksYXJyYXkoJG5hbWUpKTsKICAgICRpc191cGRhdGUgPSBGQUxTRTsKICAgIGlmKCAkdF9pZCApIHsKICAgICAgLy8gdWgtb2gsIGl0J3MgYSBkdXBsaWNhdGUgcHJvZHVjdC4KICAgICAgJGhhbmRsZXIgPSAkdGhpcy0+X2dldFBvbGljeVZhbHVlKCdvbl9kdXBsaWNhdGVfcHJvZHVjdCcpOwogICAgICBpZiggJGhhbmRsZXIgPT0gJ3NraXAnICkgewoJLy8gd29vaG9vLCB3ZSBnZXQgdG8gc2tpcCB0aGlzIHdob2xlIGxpbmUKCSR0aGlzLT5fc2V0RXJyb3IoImR1cGxpY2F0ZSBwcm9kdWN0ICRuYW1lIik7CglyZXR1cm4gRkFMU0U7CiAgICAgIH0KICAgICAgZWxzZSBpZiggJGhhbmRsZXIgPT0gJ3VwZGF0ZScgKSB7CgkvLyBpdCdzIGFuIHVwZGF0ZS4uLiBub3RoaW5nIGhlcmUuCgkkaXNfdXBkYXRlID0gVFJVRTsKICAgICAgfQogICAgICBlbHNlIHsKCS8vIHVoLW9oIHdlIGdvdHRhIGRlbGV0ZSB0aGlzIGV4aXN0aW5nIHByb2R1Y3QgZmlyc3QuCgkkdGhpcy0+X21vZHVsZS0+RGVsZXRlUHJvZHVjdCgkdF9pZCk7CgkkdF9pZCA9IG51bGw7CiAgICAgIH0KICAgIH0KCiAgICBpZiggISR0X2lkICkgewogICAgICAkaXF1ZXJ5ID0gJ0lOU0VSVCBJTlRPICcuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHMKICAgICAgICAgICAgICAgICAocHJvZHVjdF9uYW1lLGRldGFpbHMscHJpY2UsY3JlYXRlX2RhdGUsbW9kaWZpZWRfZGF0ZSx0YXhhYmxlLHN0YXR1cyx3ZWlnaHQsc2t1KQogICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPyw/LD8sPyw/LD8pIjsKICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkaXF1ZXJ5LGFycmF5KCR0aGlzLT5fZ2V0RmllbGQoJyNuYW1lJyksCgkJCQkJJHRoaXMtPl9nZXRGaWVsZCgnI2RldGFpbHMnLCcnKSwKCQkJCQkkdGhpcy0+X2dldEN1cnJlbmN5KCR0aGlzLT5fZ2V0RmllbGQoJyNwcmljZScsMCkpLAoJCQkJCSR0aGlzLT5fZ2V0RmllbGQoJyNjcmVhdGVfZGF0ZScsJHRub3cpLAoJCQkJCSR0aGlzLT5fZ2V0RmllbGQoJyNtb2RpZmllZF9kYXRlJywkdG5vdyksCgkJCQkJJHRoaXMtPl9nZXRGaWVsZCgnI3RheGFibGUnLDEpLAoJCQkJCSR0aGlzLT5fZ2V0RmllbGQoJyNzdGF0dXMnLCdwdWJsaXNoZWQnKSwKCQkJCQkkdGhpcy0+X2dldEZpZWxkKCcjd2VpZ2h0JywwKSwKCQkJCQkkdGhpcy0+X2dldEZpZWxkKCcjc2t1JywnJykpKTsKICAgICAgaWYoICEkZGJyICkgewoJJHRoaXMtPl9zZXRFcnJvcigncHJvZHVjdCBpbnNlcnQgZmFpbGVkJyk7CglyZXR1cm4gRkFMU0U7CiAgICAgIH0KICAgICAgJHByb2R1Y3RfaWQgPSAkZGItPkluc2VydF9JRCgpOwogICAgfQogICAgZWxzZSB7CiAgICAgIC8vIGl0J3MgYSBwcm9kdWN0IHVwZGF0ZS4KICAgICAgJHByb2R1Y3RfaWQgPSAkdF9pZDsKICAgICAgJHVxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cwogICAgICAgICAgICAgICAgIFNFVCBwcm9kdWN0X25hbWUgPSA/LCBkZXRhaWxzID0gPywgcHJpY2UgPSA/LCBtb2RpZmllZF9kYXRlID0gPywgdGF4YWJsZSA9ID8sIAogICAgICAgICAgICAgICAgICAgICBzdGF0dXMgPSA/LCB3ZWlnaHQgPSA/LCBza3UgPSA/CiAgICAgICAgICAgICAgICAgV0hFUkUgaWQgPSA/JzsKICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkdXF1ZXJ5LGFycmF5KCR0aGlzLT5fZ2V0RmllbGQoJyNuYW1lJyksCgkJCQkgICAgICAgICR0aGlzLT5fZ2V0RmllbGQoJyNkZXRhaWxzJywnJyksCgkJCQkgICAgICAgICR0aGlzLT5fZ2V0Q3VycmVuY3koJHRoaXMtPl9nZXRGaWVsZCgnI3ByaWNlJywwKSksCgkJCQkgICAgICAgICR0aGlzLT5fZ2V0RmllbGQoJyNtb2RpZmllZF9kYXRlJywkdG5vdyksCgkJCQkgICAgICAgICR0aGlzLT5fZ2V0RmllbGQoJyN0YXhhYmxlJywxKSwKCQkJCSAgICAgICAgJHRoaXMtPl9nZXRGaWVsZCgnI3N0YXR1cycsJ3B1Ymxpc2hlZCcpLAoJCQkJICAgICAgICAkdGhpcy0+X2dldEZpZWxkKCcjd2VpZ2h0JywwKSwKCQkJCSAgICAgICAgJHRoaXMtPl9nZXRGaWVsZCgnI3NrdScsJycpLAoJCQkJICAgICAgICAkcHJvZHVjdF9pZCkpOwogICAgfQoKCiAgICAvLyBnZXQgdGhlIGhpZXJhcmNoeQogICAgLy8gYW5kIGluc2VydCBpdAogICAgJGhpZXIgPSAkdGhpcy0+X2dldEZpZWxkKCcjSElFUicpOwogICAgaWYoICRoaWVyICkgewogICAgICAkdG1wID0gZXhwbG9kZSgnPj4nLCRoaWVyKTsKICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKSB7CgkkdG1wWyRpXSA9IHRyaW0odHJpbSgkdG1wWyRpXSksJyJcJycpOwogICAgICB9CiAgICAgICRoaWVyID0gaW1wbG9kZSgnIHwgJywkdG1wKTsKCiAgICAgICRoaWQgPSAkdGhpcy0+X2dldEhpZXJhcmNoeUlkKCRoaWVyKTsKICAgICAgaWYoICRoaWQgKSB7CgkkdCA9ICR0aGlzLT5fc2V0SGllcmFyY2h5SWQoJHByb2R1Y3RfaWQsJGhpZCk7CiAgICAgIH0KICAgIH0KCiAgICAvLyBnZXQgdGhlIGluZm8gZm9yIGZpZWxkcwogICAgLy8gYW5kIGluc2VydCB0aGVtCiAgICBpZiggJGlzX3VwZGF0ZSAmJiAkdGhpcy0+X2dldFBvbGljeVZhbHVlKCdjbGVhcmZpZWxkcycpICkgewogICAgICAkcXVlcnkgPSAnREVMRVRFIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgV0hFUkUgcHJvZHVjdF9pZCA9ID8nOwogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwcm9kdWN0X2lkKSk7CiAgICB9CiAgICAkZmllbGRzID0gJHRoaXMtPl9nZXRGaWVsZE5hbWVzTGlrZSgnI0ZJRUxEJyk7CiAgICBpZiggaXNfYXJyYXkoJGZpZWxkcykgKSB7CiAgICAgIGZvcmVhY2goICRmaWVsZHMgYXMgJG9uZSApIHsKCSR0bXAgPSBleHBsb2RlKCc6Jywkb25lKTsKCWlmKCBjb3VudCgkdG1wKSAhPSAzICkgY29udGludWU7CgkkbmFtZSA9IHRyaW0odHJpbSgkdG1wWzJdKSwnIlwnJyk7CgkkdHlwZV9hID0gdHJpbSh0cmltKCR0bXBbMV0pLCciXCcnKTsKCSR2YWwgPSAkdGhpcy0+X2dldEZpZWxkKCRvbmUpOwoJJHZhbCA9IHRyaW0odHJpbSgkdmFsKSwnIlwnJyk7CgoJJGZpZCA9ICR0aGlzLT5fZ2V0RmllbGRJZCgkbmFtZSk7CglpZiggJGZpZCA9PT0gRkFMU0UgKSB7CgkgICR0aGlzLT5fc2V0RXJyb3IoJ2ZpZWxkICcuJG5hbWUuJyBub3QgZm91bmQnKTsKCSAgY29udGludWU7Cgl9CgoJJHR5cGUgPSAkdGhpcy0+X2dldEZpZWxkVHlwZSgkbmFtZSk7CglpZiggJHR5cGVfYSAhPSAkdHlwZSApIHsKCSAgJHRoaXMtPl9zZXRFcnJvcignSW52YWxpZCB0eXBlIGZvciBmaWVsZCAnLiRuYW1lKTsKCSAgY29udGludWU7Cgl9CgoJaWYoICR0eXBlID09ICdzdWJzY3JpcHRpb24nICkgewoJICAvLyB3ZSBkb24ndCBpbXBvcnQgdGhlc2UuCgkgIGNvbnRpbnVlOwoJfQoKCWlmKCAkdHlwZSA9PSAnZGltZW5zaW9ucycgKSB7CgkgICRwYXJ0cyA9IGV4cGxvZGUoJywnLCR2YWwpOwoJICBpZiggY291bnQoJHBhcnRzKSAhPSAzICkgewoJICAgICR0aGlzLT5fc2V0RXJyb3IoJ0ludmFsaWQgdmFsdWUgZm9yIGRpbWVuc2lvbnMgZmllbGQnKTsKCSAgICBjb250aW51ZTsKCSAgfQoJICAkZGF0YSA9IGFycmF5KCdsZW5ndGgnPT4nJywnd2lkdGgnPT4nJywnaGVpZ2h0Jz0+JycpOwoJICAkZXJyID0gZmFsc2U7CgkgIGZvcmVhY2goICRwYXJ0cyBhcyAkb25lICkgewoJICAgIGxpc3QoJGssJHYpID0gZXhwbG9kZSgnOicsJG9uZSwyKTsKCSAgICBzd2l0Y2goJGspIHsKCSAgICBjYXNlICdsJzoKCSAgICAgICRkYXRhWydsZW5ndGgnXSA9ICR2OwoJICAgICAgYnJlYWs7CgkgICAgY2FzZSAndyc6CgkgICAgICAkZGF0YVsnd2lkdGgnXSA9ICR2OwoJICAgICAgYnJlYWs7CgkgICAgY2FzZSAnaCc6CgkgICAgICAkZGF0YVsnaGVpZ2h0J10gPSAkdjsKCSAgICAgIGJyZWFrOwoJICAgIGRlZmF1bHQ6CgkgICAgICAkdGhpcy0+X3NldEVycm9yKCdJbnZhbGlkIHZhbHVlIGZvciBkaW1lbnNpb25zIGZpZWxkJyk7CgkgICAgICAkZXJyID0gdHJ1ZTsKCSAgICAgIGJyZWFrOwoJICAgIH0KCSAgfQoJICBpZiggJGVyciApIGNvbnRpbnVlOwoJICAkdmFsID0gc2VyaWFsaXplKCRkYXRhKTsKCX0KCgkkaW5zZXJ0ID0gdHJ1ZTsKCWlmKCAkdHlwZSA9PSAnaW1hZ2UnKSB7CgkgIC8vIGl0J3MgYW4gaW1hZ2UuLi4gCgkgIGlmKCAhJHRoaXMtPl9nZXRQb2xpY3lWYWx1ZSgnaGFuZGxlX2ltYWdlcycpIHx8IGVtcHR5KCR2YWwpCgkgICAgICB8fCBlbXB0eSgkdGhpcy0+X2ltYWdlSGFuZGxlcikgfHwgIWlzX29iamVjdCgkdGhpcy0+X2ltYWdlSGFuZGxlcikgKSB7CgkgICAgLy8gd2UncmUgbm90IGhhbmRsaW5nIGltYWdlcywgb3IgdGhlIHZhbHVlIGlzIGVtcHR5LgoJICAgICRpbnNlcnQgPSBmYWxzZTsKCSAgfQoJICBlbHNlIHsKCSAgICAvLyBidWlsZCBzb3VyY2UgbmFtZQoJICAgICRyZXMgPSAkdGhpcy0+X2ltYWdlSGFuZGxlci0+aGFuZGxlSW1hZ2UoJHByb2R1Y3RfaWQsJHZhbCk7CgkgICAgaWYoICRyZXMgPT0gRkFMU0UgKSB7CgkgICAgICAkdGhpcy0+X3NldEVycm9yKCdwcm9ibGVtIGhhbmRsaW5nIGltYWdlICcuJHZhbCk7CgkgICAgICAkaW5zZXJ0ID0gZmFsc2U7CgkgICAgfQoJICAgIGVsc2UgewoJICAgICAgJHZhbCA9ICRyZXM7CgkgICAgfQoJICB9Cgl9CgoJaWYoICRpbnNlcnQgKSB7CgkgIC8vIGdvb2QgdG8gaW5zZXJ0LgoJICBpZiggISR0aGlzLT5fc2V0RmllbGRWYWx1ZSgkcHJvZHVjdF9pZCwkZmlkLCR2YWwpICkgewoJICAgIGNvbnRpbnVlOwoJICB9Cgl9CQogICAgICB9IC8vIGZpZWxkcy4KICAgIH0KCiAgICAvLyBnZXQgdGhlIGluZm8gZm9yIGNhdGVnb3JpZXMKICAgIC8vIGFuZCBpbnNlcnQgdGhlbQogICAgLy8gaGVyZSBzaG91bGQgd2UgbnVrZSBleGlzdGluZyBjYXRlZ29yaWVzPwogICAgaWYoICRpc191cGRhdGUgJiYgJHRoaXMtPl9nZXRQb2xpY3lWYWx1ZSgnY2xlYXJjYXRlZ29yaWVzJykgKSB7CiAgICAgICRxdWVyeSA9ICdERUxFVEUgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcwogICAgICAgICAgICAgICAgV0hFUkUgcHJvZHVjdF9pZCA9ID8nOwogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwcm9kdWN0X2lkKSk7CiAgICB9CiAgICAkY2F0cyA9ICR0aGlzLT5fZ2V0RmllbGROYW1lc0xpa2UoJyNDQVQnKTsKICAgIGlmKCBpc19hcnJheSgkY2F0cykgKSB7CiAgICAgICRpcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMKICAgICAgICAgICAgICAgICAocHJvZHVjdF9pZCxjYXRlZ29yeV9pZCxjcmVhdGVfZGF0ZSxtb2RpZmllZF9kYXRlKQogICAgICAgICAgICAgICAgIFZBTFVFUyAoPyw/LCRub3csJG5vdykiOyAKICAgICAgZm9yZWFjaCggJGNhdHMgYXMgJG9uZSApIHsKCSR0bXAgPSBleHBsb2RlKCc6Jywkb25lKTsKCWlmKCBjb3VudCgkdG1wKSAhPSAyICkgY29udGludWU7CgkkbmFtZSA9IHRyaW0odHJpbSgkdG1wWzFdKSwnIlwnJyk7CgkkdmFsID0gJHRoaXMtPl9nZXRGaWVsZCgkb25lKTsKCSR2YWwgPSB0cmltKHRyaW0oJHZhbCksJyJcJycpOwoKCSRjaWQgPSAkdGhpcy0+X2dldENhdGVnb3J5SWQoJG5hbWUpOwoJaWYoICEoaW50KSR2YWwgJiYgISR0aGlzLT5fZ2V0UG9saWN5VmFsdWUoJ2NsZWFyY2F0ZWdvcmllcycpICkgewoJICBpZiggJGNpZCApIHsKCSAgICAkZHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzIAogICAgICAgICAgICAgICAgICAgICAgIFdIRVJFIHByb2R1Y3RfaWQgPSA/IEFORCBjYXRlZ29yeV9pZCA9ID8nOwoJICAgICRkYi0+RXhlY3V0ZSgkZHF1ZXJ5LGFycmF5KCRwcm9kdWN0X2lkLCRjaWQpKTsKCSAgICBjb250aW51ZTsKCSAgfQoJfQkKCS8vIGdldCB0aGUgY2F0ZWdvcnkgaWQgZnJvbSBjYWNoZQoJaWYoICRjaWQgPT09IEZBTFNFICkgewoJICAkdGhpcy0+X3NldEVycm9yKCdmaWVsZCAnLiRuYW1lLicgbm90IGZvdW5kJyk7Cgl9CgllbHNlIGlmKCAkdmFsICkgewoJICAkZGJyID0gJGRiLT5FeGVjdXRlKCRpcXVlcnksYXJyYXkoJHByb2R1Y3RfaWQsJGNpZCkpOwoJICBpZiggISRkYnIgKSB7CgkgICAgJHRoaXMtPl9zZXRFcnJvcigicHJvYmxlbSBhc3NvY2lhdGluZyBjYXRlZ29yeSAkY2lkIHdpdGggcHJvZHVjdCAkcHJvZHVjdF9pZCIpOwoJICB9Cgl9CiAgICAgIH0KICAgIH0KCiAgICAvLyBnZXQgYXR0cmlidXRlcwogICAgLy8gaW5zZXJ0IHRoZW0uCiAgICBpZiggJGlzX3VwZGF0ZSAmJiAkdGhpcy0+X2dldFBvbGljeVZhbHVlKCdjbGVhcmF0dHJpYnMnKSApIHsKICAgICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfYXR0cmlicwogICAgICAgICAgICAgICAgV0hFUkUgcHJvZHVjdF9pZCA9ID8nOwogICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwcm9kdWN0X2lkKSk7CiAgICB9CiAgICAkdG1wID0gJHRoaXMtPl9nZXRGaWVsZCgnI0FUVFJJQlMnKTsKICAgIGlmKCAhZW1wdHkoJHRtcCkgKSB7CiAgICAgICRhdHRyaWJzID0gZXhwbG9kZSgnLS0nLCR0bXApOwogICAgICBmb3JlYWNoKCAkYXR0cmlicyBhcyAkb25lICkgewoJJG9uZSA9IHRyaW0oJG9uZSk7Cgkkb25lID0gdHJpbSgkb25lLCciXCcnKTsKCWxpc3QoJGF0dHIsJGFkaiwkc2t1LCRxb2gpID0gZXhwbG9kZSgnOicsJG9uZSk7CgkkYXR0ciA9IHRyaW0oJGF0dHIsJyJcJycpOwoJJGF0dHIgPSB0cmltKCRhdHRyKTsKCSRhZGogPSB0cmltKCRhZGosJyJcJycpOwoJJGFkaiA9IHRyaW0oJGFkaik7Cgkkc2t1ID0gdHJpbSgkc2t1LCciXCcnKTsKCSRza3UgPSB0cmltKCRza3UpOwoJJHFvaCA9IHRyaW0oJHFvaCwnIlwnJyk7CgkkcW9oID0gdHJpbSgkcW9oKTsKCSRxb2ggPSAoaW50KSRxb2g7CgkKCWlmKCBlbXB0eSgkYXR0cikgKSBjb250aW51ZTsKCQoJLy8gYWRkIHRoZSBhdHRyaWJ1dGUgdmFsdWUKCWlmKCAhJGF0dHJfaWQgKSB7CgkgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnMKICAgICAgICAgICAgICAgICAgICAocHJvZHVjdF9pZCx0ZXh0LGFkanVzdG1lbnQsc2t1LHFvaCkKICAgICAgICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyknOwoJICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwcm9kdWN0X2lkLCRhdHRyLCRhZGosJHNrdSwkcW9oKSk7Cgl9CiAgICAgIAogICAgICB9IC8vIGZvcmVhY2gKICAgIH0KCiAgICByZXR1cm4gVFJVRTsKICB9CgoKICBwcml2YXRlIGZ1bmN0aW9uIF90ZXN0Rmlyc3RMaW5lKCYkbWVzc2FnZXMpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkdGhpcy0+X3JlY29yZCk7ICRpKysgKQogICAgICB7CgkkdG1wID0gdHJpbSh0cmltKCR0aGlzLT5fcmVjb3JkWyRpXSksJyJcJycpOwoJJGJ5bmFtZVskdG1wXSA9ICRpOwogICAgICB9CiAgICAkdGhpcy0+X2RlZnNfYnluYW1lID0gJGJ5bmFtZTsKICAgICR0aGlzLT5fZGVmc19ieWluZGV4ID0gJHRoaXMtPl9yZWNvcmQ7CgogICAgJHJlcXVpcmVkX2ZpZWxkcyA9IGV4cGxvZGUoJywnLCcjRkxBRywjbmFtZSwjcHJpY2UnKTsKICAgIGZvcmVhY2goICRyZXF1aXJlZF9maWVsZHMgYXMgJG9uZSApCiAgICAgIHsKCWlmKCAhYXJyYXlfa2V5X2V4aXN0cygkb25lLCR0aGlzLT5fZGVmc19ieW5hbWUpICkKCSAgewoJICAgICR0aGlzLT5fc2V0RXJyb3IoJ21pc3NpbmcgcmVxdWlyZWQgZmllbGQgJy4kb25lKTsKCSAgICByZXR1cm4gRkFMU0U7CgkgIH0KICAgICAgfQoKICAgICRtZXNzYWdlc1tdID0gJ2ZvdW5kIGFsbCByZXF1aXJlZCBmaWVsZHMnOwoKICAgICRjYXRzID0gJHRoaXMtPl9nZXRGaWVsZE5hbWVzTGlrZSgnI0NBVCcpOwogICAgaWYoIGlzX2FycmF5KCRjYXRzKSApCiAgICAgIHsKCWZvcmVhY2goICRjYXRzIGFzICRvbmUgKQoJICB7CgkgICAgJGZxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgV0hFUkUgbmFtZSA9ID8nOwoKCSAgICAkdG1wID0gdHJpbShzdWJzdHIoJG9uZSw1KSk7CgkgICAgJHRtcCA9IHRyaW0oJHRtcCwnIlwnJyk7CgkgICAgaWYoIGVtcHR5KCR0bXApICkgY29udGludWU7CgkgICAgJHRfaWQgPSAkZGItPkdldE9uZSgkZnF1ZXJ5LGFycmF5KCR0bXApKTsKCSAgICBpZiggJHRfaWQgKQoJICAgICAgewoJCSRtZXNzYWdlc1tdID0gJ2ZvdW5kIGV4aXN0aW5nIGNhdGVnb3J5ICcuJHRtcDsKCSAgICAgIH0KCSAgICBlbHNlCgkgICAgICB7CgkJJG1lc3NhZ2VzW10gPSAndW5rbm93biBjYXRlZ29yeSAnLiR0bXA7CgkgICAgICB9CgkgIH0KICAgICAgfQogICAgCiAgICAkZmllbGRzID0gJHRoaXMtPl9nZXRGaWVsZE5hbWVzTGlrZSgnI0ZJRUxEJyk7CiAgICBpZiggaXNfYXJyYXkoJGZpZWxkcykgKQogICAgICB7CgkkZmllbGRfdHlwZXMgPSBhcnJheV9rZXlzKHByb2R1Y3RfdXRpbHM6OmdldF9maWVsZF90eXBlcygpKTsKCSRmcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgV0hFUkUgbmFtZSA9ID8nOwoJZm9yZWFjaCggJGZpZWxkcyBhcyAkb25lICkKCSAgewoJICAgICR0bXAgPSBleHBsb2RlKCc6Jywkb25lKTsKCSAgICBpZiggY291bnQoJHRtcCkgIT0gMyApIGNvbnRpbnVlOwoJICAgICR0eXBlID0gdHJpbSh0cmltKCR0bXBbMV0pLCciXCcnKTsKCSAgICAkbmFtZSA9IHRyaW0odHJpbSgkdG1wWzJdKSwnIlwnJyk7CgkgICAgaWYoIGVtcHR5KCR0eXBlKSB8fCBlbXB0eSgkbmFtZSkgKQoJICAgICAgewoJCSR0aGlzLT5fc2V0RXJyb3IoJ0ludmFsaWQgZmllbGQgZGVmaW5pdGlvbjogJy4kb25lKTsKCQlyZXR1cm4gRkFMU0U7CgkgICAgICB9CgkgICAgaWYoICFpbl9hcnJheSgkdHlwZSwkZmllbGRfdHlwZXMpICkKCSAgICAgIHsKCQkkdGhpcy0+X3NldEVycm9yKCdJbnZhbGlkIGZpZWxkIHR5cGU6ICcuJHR5cGUpOwoJCXJldHVybiBGQUxTRTsKCSAgICAgIH0KCSAgICAkdF9pZCA9ICRkYi0+R2V0T25lKCRmcXVlcnksYXJyYXkoJG5hbWUpKTsKCSAgICBpZiggISR0X2lkICkKCSAgICAgIHsKCQkkbWVzc2FnZXNbXSA9ICd1bmtub3duIGZpZWxkICcuJG5hbWU7CgkgICAgICB9CgkgICAgZWxzZQoJICAgICAgewoJCSRtZXNzYWdlc1tdID0gJ2ZvdW5kIGZpZWxkICcuJG5hbWUuJyBvZiB0eXBlICcuJHR5cGU7CgkgICAgICB9CgkgIH0KICAgICAgfQoKICAgIHJldHVybiBUUlVFOwogIH0KCgogIHByaXZhdGUgZnVuY3Rpb24gX3Rlc3ROZXdQcm9kdWN0KCYkbWVzc2FnZSkKICB7CiAgICAvLyBtYWtlIHN1cmUgd2UgaGF2ZSB0aGUgcmVxdWlyZWQgbnVtYmVyIG9mIGZpZWxkcwogICAgLy8gYWNjb3JkaW5nIHRvIHRoZSBoZWFkZXIuCiAgICBpZiggJHRoaXMtPl9nZXRGaWVsZENvdW50KCkgIT0gJHRoaXMtPl9nZXREZWZDb3VudCgpICkKICAgICAgewoJJHRoaXMtPl9zZXRFcnJvcignaW52YWxpZCBmaWVsZCBjb3VudCAoJy4kdGhpcy0+X2dldEZpZWxkQ291bnQoKS4nIG9mIGV4cGVjdGVkICcuJHRoaXMtPl9nZXREZWZDb3VudCgpLicpJyk7CglyZXR1cm4gRkFMU0U7CiAgICAgIH0KCiAgICByZXR1cm4gVFJVRTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdGVzdExpbmUoJGxpbmUsJiRtZXNzYWdlcykKICB7CiAgICAkcG9zID0gc3RycG9zKCRsaW5lLCcvLycpOwogICAgaWYoICRwb3MgIT09IEZBTFNFICkKICAgICAgewoJJGxpbmUgPSBzdWJzdHIoJGxpbmUsMCwkcG9zKTsKICAgICAgfQogICAgJGxpbmUgPSB0cmltKCRsaW5lKTsKICAgIGlmKCBlbXB0eSgkbGluZSkgKSByZXR1cm4gVFJVRTsKICAgIAogICAgJHJlcyA9ICR0aGlzLT5fc2V0TGluZSgkbGluZSk7CiAgICBpZiggJHJlcyA9PT0gRkFMU0UgKSByZXR1cm4gRkFMU0U7CgogICAgaWYoICR0aGlzLT5fbGluZW51bSA9PSAxICkKICAgICAgewoJJHJlcyA9ICR0aGlzLT5fdGVzdEZpcnN0TGluZSgkbWVzc2FnZXMpOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCWlmKCAkdGhpcy0+X2dldEZpZWxkKCcjRkxBRycpID09ICdQJyApCgkgIHsKCSAgICAkcmVzID0gJHRoaXMtPl90ZXN0TmV3UHJvZHVjdCgkbWVzc2FnZXMpOwoJICB9CgllbHNlCgkgIHsKCSAgICAkdGhpcy0+X3NldEVycm9yKCdpbnZhbGlkIGZpZWxkOiAjRkxBRycpOwoJICAgICRyZXMgPSBGQUxTRTsKCSAgfQogICAgICB9CiAgICByZXR1cm4gJHJlczsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gaGFuZGxlTGluZSgkbGluZSkKICB7CiAgICAvLyB0cmltIG9mZiBjb21tZW50cy4KICAgICRwb3MgPSBzdHJwb3MoJGxpbmUsJy8vJyk7CiAgICBpZiggJHBvcyAhPT0gRkFMU0UgKQogICAgICB7CgkkbGluZSA9IHN1YnN0cigkbGluZSwwLCRwb3MpOwogICAgICB9CiAgICAkbGluZSA9IHRyaW0oJGxpbmUpOwogICAgaWYoIGVtcHR5KCRsaW5lKSApIHJldHVybiBUUlVFOwoKICAgICRyZXMgPSAkdGhpcy0+X3NldExpbmUoJGxpbmUpOwogICAgaWYoICRyZXMgPT09IEZBTFNFICkgcmV0dXJuIEZBTFNFOwogICAgaWYoICR0aGlzLT5fbGluZW51bSA9PSAxICkgewogICAgICAkcmVzID0gJHRoaXMtPl9oYW5kbGVGaXJzdExpbmUoKTsKICAgIH0KICAgIGVsc2UgewogICAgICBpZiggJHRoaXMtPl9nZXRGaWVsZCgnI0ZMQUcnKSA9PSAnUCcgKSB7CgkkcmVzID0gJHRoaXMtPl90ZXN0TmV3UHJvZHVjdCgkbWVzc2FnZXMpOwoJaWYoICRyZXMgKSB7CgkgICRyZXMgPSAkdGhpcy0+X2hhbmRsZVByb2R1Y3RMaW5lKCk7Cgl9CiAgICAgIH0gZWxzZSB7CgkkdGhpcy0+X3NldEVycm9yKCdpbnZhbGlkIGZpZWxkOiAjRkxBRycpOwoJJHJlcyA9IEZBTFNFOwogICAgICB9CiAgICB9CgogICAgcmV0dXJuICRyZXM7CiAgfQoKCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIGlzX25ld19yZWNvcmQoJGxpbmUpCiAgewogICAgLy8gYSBmdW5jdGlvbiB0byB0ZXN0IGlmIHRoaXMgbGluZSBkZW5vdGVzIHRoZSBzdGFydCBvZiBhIG5ldyByZWNvcmQuCiAgICAkdmFsaWQgPSBhcnJheSgnI0ZMQUcnLCdQJywnIiNGTEFHIicsJyJQIicpOwoKICAgIGZvcmVhY2goICR2YWxpZCBhcyAkb25lICkKICAgICAgewoJJG9uZSAuPSAkdGhpcy0+X2RlbGltOwoJaWYoIHN0YXJ0c3dpdGgoJGxpbmUsJG9uZSkgKSByZXR1cm4gVFJVRTsKICAgICAgfQogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIHByaXZhdGUgZnVuY3Rpb24gbXlfZmdldHMoJGZoKQogIHsKICAgIGlmKCAhJGZoICkgcmV0dXJuOwogICAgJHBvczEgPSBmdGVsbCgkZmgpOwogICAgCiAgICAkbGluZSA9IGZnZXRzKCRmaCk7CiAgICBpZiggc3RycG9zKCRsaW5lLCJcciIpID09PSBGQUxTRSApCiAgICAgIHsKCXJldHVybiAkbGluZTsKICAgICAgfQogICAgCiAgICAvLyBsaW5lIGlzIHByb2JhYmx5IGEgY3JhcHB5IG1hYyBsaW5lLgogICAgJGxlbjEgPSBzdHJsZW4oJGxpbmUpOwogICAgJHBvcyA9IHN0cnBvcygkbGluZSwiXHIiKTsKICAgIAogICAgJGxpbmUgPSBzdWJzdHIoJGxpbmUsMCwkcG9zKTsKICAgIGZzZWVrKCRmaCwoJGxlbjEgLSAkcG9zIC0xICkgKiAtMSxTRUVLX0NVUik7CiAgICByZXR1cm4gJGxpbmU7ICAgIAogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfdW5wYXJzZWRfcmVjb3JkKCRmaCkKICB7CiAgICAkbGluZSA9ICcnOwogICAgd2hpbGUoICFmZW9mKCRmaCkgKSB7CiAgICAgICRwb3MgPSBmdGVsbCgkZmgpOwogICAgICAkdGRhdGEgPSAkdGhpcy0+bXlfZmdldHMoJGZoKTsKICAgICAgaWYoICEkdGhpcy0+aXNfbmV3X3JlY29yZCgkdGRhdGEpICkgewoJJGxpbmUgLj0gJHRkYXRhOwoJY29udGludWU7CiAgICAgIH0KCiAgICAgIGlmKCBzdHJsZW4oJGxpbmUpID4gMCApIHsKCWZzZWVrKCRmaCwkcG9zKTsKCWJyZWFrOwogICAgICB9CiAgICAgICRsaW5lID0gJHRkYXRhOwogICAgfQoKICAgIHJldHVybiAkbGluZTsKICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKCgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/lib/class.products_attrib.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKZmluYWwgY2xhc3MgcHJvZHVjdHNfYXR0cmliIGltcGxlbWVudHMgQXJyYXlBY2Nlc3MKewogIHByaXZhdGUgc3RhdGljICRfa2V5cyA9IGFycmF5KCdpZCcsJ3Byb2R1Y3RfaWQnLCd0ZXh0JywnYWRqdXN0bWVudCcsJ3NrdScsJ3FvaCcsJ25vdGVzJyk7CiAgcHJpdmF0ZSAkX2RhdGEgPSBhcnJheSgnaWQnPT4nJywncHJvZHVjdF9pZCc9PicnLCd0ZXh0Jz0+JycsJ2FkanVzdG1lbnQnPT4nJywnc2t1Jz0+JycsJ3FvaCc9PicnLCdub3Rlcyc9PicnKTsKICBwcml2YXRlICRfZGlydHk7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2Nsb25lKCkKICB7CiAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICAgICR0aGlzLT5fZGF0YVsnaWQnXSA9ICcnOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEdldCgka2V5KSB7CiAgICBpZiggIWluX2FycmF5KCRrZXksc2VsZjo6JF9rZXlzKSApIHsKICAgICAgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignSW52YWxpZCBrZXkgJy4ka2V5Licgc3BlY2lmaWVkIGZvciBwcm9kdWN0c19hdHRyaWIgb2JqZWN0Jyk7CiAgICB9CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKSApIHJldHVybiAkdGhpcy0+X2RhdGFbJGtleV07CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0U2V0KCRrZXksJHZhbHVlKSB7CiAgICBpZiggIWluX2FycmF5KCRrZXksc2VsZjo6JF9rZXlzKSApIHsKICAgICAgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignSW52YWxpZCBrZXkgJy4ka2V5Licgc3BlY2lmaWVkIGZvciBwcm9kdWN0c19hdHRyaWIgb2JqZWN0Jyk7CiAgICB9CgogICAgc3dpdGNoKCAka2V5ICkgewogICAgY2FzZSAnaWQnOgogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdpZCBjYW5ub3QgYmUgc2V0IGZvciB0aGUgcHJvZHVjdHNfYXR0cmliIG9iamVjdCcpOwogICAgICBicmVhazsKCiAgICBjYXNlICdwcm9kdWN0X2lkJzoKICAgICAgJHZhbHVlID0gKGludCkkdmFsdWU7CiAgICAgIGlmKCAkdmFsdWUgPCAxICkgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbigncHJvZHVjdCBpZCBjYW5ub3QgYmUgbmVnYXRpdmUgb3IgemVybyBmb3IgcHJvZHVjdHNfYXR0cmliIG9iamVjdCcpOwogICAgICBicmVhazsKCiAgICBjYXNlICdxb2gnOgogICAgICAkdmFsdWUgPSAoaW50KSR2YWx1ZTsKICAgICAgaWYoICR2YWx1ZSA8IDAgKSB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdRT0ggY2Fubm90IGJlIG5lZ2F0aXZlIGZvciBwcm9kdWN0c19hdHRyaWIgb2JqZWN0Jyk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ3RleHQnOgogICAgY2FzZSAnYWRqdXN0bWVudCc6CiAgICBjYXNlICdza3UnOgogICAgY2FzZSAnbm90ZXMnOgogICAgICAkdmFsdWUgPSB0cmltKCR2YWx1ZSk7CiAgICB9CiAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSAoc3RyaW5nKSR2YWx1ZTsKICAgICR0aGlzLT5fZGlydHkgPSBUUlVFOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldFVuc2V0KCRrZXkpIHsKICAgIGlmKCAhaW5fYXJyYXkoJGtleSxzZWxmOjokX2tleXMpICkgewogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdJbnZhbGlkIGtleSAnLiRrZXkuJyBzcGVjaWZpZWQgZm9yIHByb2R1Y3RzX2F0dHJpYiBvYmplY3QnKTsKICAgIH0KICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgewogICAgICB1bnNldCgkdGhpcy0+X2RhdGFbJGtleV0pOwogICAgICAkdGhpcy0+X2RpcnR5ID0gVFJVRTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRFeGlzdHMoJGtleSkgewogICAgaWYoICFpbl9hcnJheSgka2V5LHNlbGY6OiRfa2V5cykgKSB7CiAgICAgIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJ0ludmFsaWQga2V5ICcuJGtleS4nIHNwZWNpZmllZCBmb3IgcHJvZHVjdHNfYXR0cmliIG9iamVjdCcpOwogICAgfQogICAgaWYoIGlzc2V0KCR0aGlzLT5fZGF0YVska2V5XSkgKSByZXR1cm4gVFJVRTsKICAgIHJldHVybiBGQUxTRTsKICB9CgogIHByaXZhdGUgZnVuY3Rpb24gX2luc2VydCgpCiAgewogICAgJGRhdGEgPSAkdGhpcy0+X2RhdGE7CiAgICBmb3JlYWNoKCBzZWxmOjokX2tleXMgYXMgJGtleSApIHsKICAgICAgaWYoICFpc3NldCgkZGF0YVska2V5XSkgKSAkZGF0YVska2V5XSA9IG51bGw7CiAgICB9CgogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdJTlNFUlQgSU5UTyAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnMKICAgICAgICAgICAgICAocHJvZHVjdF9pZCx0ZXh0LGFkanVzdG1lbnQsc2t1LHFvaCxub3RlcykKICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZGF0YVsncHJvZHVjdF9pZCddLCRkYXRhWyd0ZXh0J10sJGRhdGFbJ2FkanVzdG1lbnQnXSwKCQkJCSAgICAgJGRhdGFbJ3NrdSddLCRkYXRhWydxb2gnXSwkZGF0YVsnbm90ZXMnXSkpOwogICAgaWYoICEkZGJyICkgewogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdTUUwgRVJST1I6ICcuJGRiLT5FcnJvck1zZygpLicgLS0gJy4kZGItPnNxbCk7CiAgICB9CiAgfQoKICBwcml2YXRlIGZ1bmN0aW9uIF91ZHBhdGUoKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkZGF0YSA9ICR0aGlzLT5fZGF0YTsKICAgIGZvcmVhY2goIHNlbGY6OiRfa2V5cyBhcyAka2V5ICkgewogICAgICBpZiggIWlzc2V0KCRkYXRhWyRrZXldKSApICRkYXRhWyRrZXldID0gbnVsbDsKICAgIH0KCiAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfYXR0cmlicwogICAgICAgICAgICAgIFNFVCB0ZXh0ID0gPywgYWRqdXN0bWVudCA9ID8sIHNrdSA9ID8sIHFvaCA9ID8sIG5vdGVzID0gPwogICAgICAgICAgICAgIFdIRVJFIGlkID0gPyc7CiAgICAkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkZGF0YVsndGV4dCddLCRkYXRhWydhZGp1c3RtZW50J10sJGRhdGFbJ3NrdSddLAoJCQkJICAgICAkZGF0YVsncW9oJ10sJGRhdGFbJ25vdGVzJ10sJGRhdGFbJ2lkJ10pKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiB2YWxpZGF0ZSgpCiAgewogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ3Byb2R1Y3RfaWQnXSkgfHwgJHRoaXMtPl9kYXRhWydwcm9kdWN0X2lkJ10gPCAxICkgewogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdFYWNoIHByb2R1Y3RzX2F0dHJpYiBvYmplY3QgbmVlZHMgYSBwcm9kdWN0X2lkJyk7CiAgICB9CiAgICBpZiggIWlzc2V0KCR0aGlzLT5fZGF0YVsndGV4dCddKSB8fCAkdGhpcy0+X2RhdGFbJ3RleHQnXSA9PSAnJyApIHsKICAgICAgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignRWFjaCBwcm9kdWN0c19hdHRyaWIgb2JqZWN0IG5lZWRzIHNvbWUgdGV4dCcpOwogICAgfQogICAgaWYoICFpc3NldCgkdGhpcy0+X2RhdGFbJ2FkanVzdG1lbnQnXSkgfHwgJHRoaXMtPl9kYXRhWydhZGp1c3RtZW50J10gPT0gJycgKSB7CiAgICAgIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJ0VhY2ggcHJvZHVjdHNfYXR0cmliIG9iamVjdCBuZWVkcyBzb21lIGFkanVzdG1lbnQgdmFsdWUnKTsKICAgIH0KICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Byb2R1Y3RzJyk7CiAgICAkc2t1X3JlcXVpcmVkID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc2t1cmVxdWlyZWQnLDApOwogICAgaWYoICRza3VfcmVxdWlyZWQgJiYgKCFpc3NldCgkdGhpcy0+X2RhdGFbJ3NrdSddKSB8fCAkdGhpcy0+X2RhdGFbJ3NrdSddID09IG51bGwpICkgewogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdBIHNrdSBpcyByZXF1aXJlZCBmb3IgYSBwcm9kdWN0c19hdHRyaWIgb2JqZWN0Jyk7CiAgICB9CiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydza3UnXSkgJiYgJHRoaXMtPl9kYXRhWydza3UnXSAhPSAnJyApIHsKICAgICAgaWYoIHByb2R1Y3Rfb3BzOjpjaGVja19za3VfdXNlZCgkdGhpcy0+X2RhdGFbJ3NrdSddLCR0aGlzLT5fZGF0YVsncHJvZHVjdF9pZCddKSApIHsKCQl0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdTS1UgJy4kdGhpcy0+X2RhdGFbJ3NrdSddLicgaXMgYWxyZWFkeSBpbiB1c2UgYnkgYW5vdGhlciBwcm9kdWN0Jyk7CiAgICAgIH0KICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBzYXZlKCkKICB7CiAgICBpZiggISR0aGlzLT5fZGlydHkgKSByZXR1cm47CiAgICAkdGhpcy0+dmFsaWRhdGUoKTsKCiAgICBpZiggaXNzZXQoJHRoaXMtPl9kYXRhWydpZCddKSAmJiAkdGhpcy0+X2RhdGFbJ2lkJ10gIT0gJycgKSB7CiAgICAgICR0aGlzLT5fdXBkYXRlKCk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgJHRoaXMtPl9pbnNlcnQoKTsKICAgIH0KICB9CgogIHByb3RlY3RlZCBzdGF0aWMgZnVuY3Rpb24gJmxvYWRfZnJvbV9kYXRhKCRkYXRhKQogIHsKICAgIGZvcmVhY2goIHNlbGY6OiRfa2V5cyBhcyAkayApIHsKICAgICAgaWYoICRrICE9ICdpZCcgJiYgIWluX2FycmF5KCRrLGFycmF5X2tleXMoJGRhdGEpKSApIHsKCQl0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCRrLicgaXMgbWlzc2luZyBmcm9tIGxvYWRlZCBhdHRyaWIgcmVjb3JkJyk7CiAgICAgIH0KICAgIH0KICAgIGZvcmVhY2goIGFycmF5X2tleXMoJGRhdGEpIGFzICRrZXkgKSB7CiAgICAgIGlmKCAhaW5fYXJyYXkoJGtleSxzZWxmOjokX2tleXMpICkgewoJCXRocm93IG5ldyBDbXNFeGNlcHRpb24oJ1Vua25vd24gb3IgZXh0cmEgZGF0YSBleGlzdHMgaW4gdGhlIHN1cHBsb2VkIGF0dHJpYiByZWNvcmQnKTsKICAgICAgfQogICAgfQoKICAgICRvYiA9IG5ldyBwcm9kdWN0c19hdHRyaWI7CiAgICAkb2ItPl9kYXRhID0gJGRhdGE7CiAgICAkb2ItPl9kaXJ0eSA9IFRSVUU7CiAgICByZXR1cm4gJG9iOwogIH0KCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBsb2FkX2Zyb21fZm9ybSgkcGFyYW1zKQogIHsKICAgIGlmKCAhaXNzZXQoJHBhcmFtc1sncHJvZGlkJ10pICkgewogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdNaXNzaW5nIHByb2R1Y3QgaWQgdmFsdWUgZnJvbSBmb3JtJyk7CiAgICB9CiAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ3NrdSddKSAmJiAhaXNfYXJyYXkoJHBhcmFtc1snc2t1J10pICkgewogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdNaXNzaW5nIFNLVSBkYXRhIGZyb20gZm9ybScpOwogICAgfQogICAgaWYoICFpc3NldCgkcGFyYW1zWyd0ZXh0J10pICYmICFpc19hcnJheSgkcGFyYW1zWyd0ZXh0J10pICkgewogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdNaXNzaW5nIFRleHQgZGF0YSBmcm9tIGZvcm0nKTsKICAgIH0KICAgIGlmKCAhaXNzZXQoJHBhcmFtc1snYWRqdXN0bWVudCddKSAmJiAhaXNfYXJyYXkoJHBhcmFtc1snYWRqdXN0bWVudCddKSApIHsKICAgICAgdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignTWlzc2luZyBhZGp1c3RtZW50IGRhdGEgZnJvbSBmb3JtJyk7CiAgICB9CiAgICBpZiggIWlzc2V0KCRwYXJhbXNbJ3FvaCddKSAmJiAhaXNfYXJyYXkoJHBhcmFtc1sncW9oJ10pICkgewogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdNaXNzaW5nIHFvaCBpbmZvcm1hdGlvbiBmcm9tIGZvcm0nKTsKICAgIH0KICAgIGlmKCAhaXNzZXQoJHBhcmFtc1snbm90ZXMnXSkgJiYgIWlzX2FycmF5KCRwYXJhbXNbJ25vdGVzJ10pICkgewogICAgICB0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdNaXNzaW5nIG5vdGVzIGluZm9ybWF0aW9uIGZyb20gZm9ybScpOwogICAgfQogICAgaWYoIChjb3VudCgkcGFyYW1zWydza3UnXSkgIT0gY291bnQoJHBhcmFtc1sndGV4dCddKSkgfHwKCShjb3VudCgkcGFyYW1zWydza3UnXSkgIT0gY291bnQoJHBhcmFtc1snYWRqdXN0bWVudCddKSkgfHwKCShjb3VudCgkcGFyYW1zWydza3UnXSkgIT0gY291bnQoJHBhcmFtc1sncW9oJ10pKSB8fAoJKGNvdW50KCRwYXJhbXNbJ3NrdSddKSAhPSBjb3VudCgkcGFyYW1zWydub3RlcyddKSkgKSB7CiAgICAgIHRocm93IG5ldyBDbXNFeGNlcHRpb24oJ0ludmFsaWQgcGFyYW1ldGVyIGNvdW50IChsZW5ndGggb2Ygc2t1IGZpZWxkIGRvZXMgbm90IG1hdGNoIG9uZSBvZiB0aGUgb3RoZXJzJyk7CiAgICB9CgogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnUHJvZHVjdHMnKTsKICAgICRza3VfcmVxdWlyZWQgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdza3VyZXF1aXJlZCcsMCk7CiAgICAkaSA9IDA7CiAgICBmb3JlYWNoKCAkcGFyYW1zWydza3UnXSBhcyAkb25lICkgewogICAgICAkb25lID0gdHJpbSgkb25lKTsKICAgICAgaWYoICEkb25lICYmICRza3VfcmVxdWlyZWQgKSB7CgkJdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignU0tVIHJlcXVpcmVkIGF0IHJvdyAnLiRpKTsKICAgICAgfQogICAgfQoKICAgICRpID0gMTsKICAgIGZvcmVhY2goICRwYXJhbXNbJ3RleHQnXSBhcyAkb25lICkgewogICAgICBpZiggISRvbmUgKSB7CgkJdGhyb3cgbmV3IENtc0V4Y2VwdGlvbignT3B0aW9uIHRleHQgZW1wdHkgYXQgcm93ICcuJGkpOwogICAgICB9CiAgICAgICRpKys7CiAgICB9CgogICAgLy8gY2hlY2sgcW9oCiAgICAkaSA9IDE7CiAgICBmb3JlYWNoKCAkcGFyYW1zWydxb2gnXSBhcyAkb25lICkgewogICAgICBpZiggKGludCkkb25lIDwgMCApIHsKCQl0aHJvdyBuZXcgQ21zRXhjZXB0aW9uKCdRT0ggaXMgbmVnYXRpdmUgYXQgcm93ICcuJGkpOwogICAgICB9CiAgICAgICRpKys7CiAgICB9CgogICAgJG91dCA9IGFycmF5KCk7CiAgICAka2V5cyA9IGFycmF5KCd0ZXh0JywnYWRqdXN0bWVudCcsJ3NrdScsJ3FvaCcsJ25vdGVzJyk7CiAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkcGFyYW1zWydza3UnXSk7ICRpKysgKSB7CiAgICAgICRyZWMgPSBhcnJheSgncHJvZHVjdF9pZCc9PihpbnQpJHBhcmFtc1sncHJvZGlkJ10pOwogICAgICBmb3JlYWNoKCAka2V5cyBhcyAka2V5ICkgewoJCSRyZWNbJGtleV0gPSAkcGFyYW1zWyRrZXldWyRpXTsKICAgICAgfQogICAgICAkb3V0W10gPSBzZWxmOjpsb2FkX2Zyb21fZGF0YSgkcmVjKTsKICAgIH0KCiAgICByZXR1cm4gJG91dDsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gbG9hZF9ieV9wcm9kdWN0KCRpZCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJzCiAgICAgICAgICAgICAgV0hFUkUgcHJvZHVjdF9pZCA9ID8nOwogICAgJGRiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5LGFycmF5KChpbnQpJGlkKSk7CiAgICBpZiggIWlzX2FycmF5KCRkYnIpIHx8IGNvdW50KCRkYnIpID09IDAgKSByZXR1cm47CgogICAgJHJlcyA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkZGJyIGFzICRvbmUgKSB7CiAgICAgICRyZXNbXSA9IHNlbGY6OmxvYWRfZnJvbV9kYXRhKCRvbmUpOwogICAgfQogICAgcmV0dXJuICRyZXM7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGRlbGV0ZV9ieV9wcm9kdWN0KCRpZCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ0RFTEVURSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfYXR0cmlicwogICAgICAgICAgICAgIFdIRVJFIHByb2R1Y3RfaWQgPSA/JzsKICAgICRkYnIgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KChpbnQpJGlkKSk7CiAgICBpZiggISRkYnIgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gVFJVRTsKICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.products_query.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAxMiBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBwcm9kdWN0c19xdWVyeSBpbXBsZW1lbnRzIEFycmF5QWNjZXNzCnsKICBwcml2YXRlIHN0YXRpYyAkX2tleXMgPSBhcnJheSgncHJvZHVjdGlkJywncHJvZHVjdF9pZCcsJ3Byb2R1Y3RsaXN0JywnYWxpYXMnLCdjYXRlZ29yeScsJ2NhdGVnb3J5aWQnLCdleGNsdWRlY2F0JywKCQkJCQkJCQknaGllcmFyY2h5JywnaGllcmFyY2h5aWQnLCdmaWVsZGlkJywnZmllbGR2YWwnLCdzb3J0b3JkZXInLCdza3UnLCdvcHRza3UnLAoJCQkJCQkJCSdzb3J0YnknLCdzb3J0dHlwZScsJ3BhZ2VsaW1pdCcsJ2xpbWl0JywncGFnZScsJ3N0YXR1cycpOwogIHByaXZhdGUgc3RhdGljICRfc29ydGluZ3MgPSBhcnJheSgnaWQnLCdwcm9kdWN0X25hbWUnLCdwcmljZScsJ2NyZWF0ZV9kYXRlJywnbW9kaWZpZWQnLCdzdGF0dXMnLCd3ZWlnaHQnLCdyYW5kb20nKTsKICBwcml2YXRlICRfZGF0YSA9IGFycmF5KCk7CiAgcHJpdmF0ZSAkX29yaWdwYXJtcyA9IG51bGw7CiAgcHJpdmF0ZSAkX3NvcnRmaWVsZCA9IDA7CiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpc19rZXkoJHRlc3QpCiAgewoJaWYoIGluX2FycmF5KCR0ZXN0LHNlbGY6OiRfa2V5cykgKSByZXR1cm4gVFJVRTsKCXJldHVybiBGQUxTRTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkZGF0YSA9IGFycmF5KCkpCiAgewogICAgJHRoaXMtPl9vcmlncGFybXMgPSAkZGF0YTsKICAgICR0aGlzLT5yZXNldCgpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHJlc2V0KCkKICB7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdQcm9kdWN0cycpOwogICAgJHRoaXMtPl9kYXRhWydwYWdlbGltaXQnXSA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ3N1bW1hcnlfcGFnZWxpbWl0JywxMDAwMCk7CiAgICAkdGhpcy0+X2RhdGFbJ3NvcnRieSddID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc29ydGJ5JywncHJvZHVjdF9uYW1lJyk7CiAgICAkdGhpcy0+X2RhdGFbJ3NvcnRvcmRlciddID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnc29ydG9yZGVyJywnREVTQycpOwogICAgJHRoaXMtPl9kYXRhWydzdGF0dXMnXSA9ICdwdWJsaXNoZWQnOwoJJHRoaXMtPl9kYXRhWydwYWdlJ10gPSAxOwoKICAgIGZvcmVhY2goICR0aGlzLT5fb3JpZ3Bhcm1zIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICBpZiggaW5fYXJyYXkoJGtleSxzZWxmOjokX2tleXMpICkgJHRoaXNbJGtleV0gPSAkdmFsdWU7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0R2V0KCRrZXkpCiAgewogICAgaWYoICFpbl9hcnJheSgka2V5LHNlbGY6OiRfa2V5cykgKQogICAgICB0aHJvdyBuZXcgUHJvZHVjdHNFeGNlcHRpb24oJ0dldDogaW52YWxpZCBrZXkgJy4ka2V5Licgc3BlY2lmaWVkIGZvciBwcm9kdWN0c19xdWVyeScpOwoKICAgIGlmKCBpc3NldCgkdGhpcy0+X2RhdGFbJGtleV0pICkgcmV0dXJuICR0aGlzLT5fZGF0YVska2V5XTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRTZXQoJGtleSwkdmFsdWUpCiAgewogICAgaWYoICFpbl9hcnJheSgka2V5LHNlbGY6OiRfa2V5cykgKQogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdTZXQ6IEludmFsaWQgS2V5ICcuJGtleS4nIHNwZWNpZmllZCBmb3IgcHJvZHVjdHNfcXVlcnknKTsKCiAgICBpZiggISR2YWx1ZSApIHJldHVybjsKCiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdQcm9kdWN0cycpOwogICAgc3dpdGNoKCAka2V5ICkgewoJY2FzZSAnc3RhdHVzJzoKCSAgJHZhbHVlID0gc3RydG9sb3dlcigkdmFsdWUpOwoJICBzd2l0Y2goICR2YWx1ZSApIHsKCSAgY2FzZSAnZHJhZnQnOgoJICBjYXNlICdkaXNhYmxlZCc6CgkgIGNhc2UgJ3B1Ymxpc2hlZCc6CgkgIGNhc2UgJyFkcmFmdCc6CgkgIGNhc2UgJyFkaXNhYmxlZCc6CgkgIGNhc2UgJyFwdWJsaXNoZWQnOgoJICBjYXNlICcqJzoKCQkkdGhpcy0+X2RhdGFbJ3N0YXR1cyddID0gJHZhbHVlOwoJCWJyZWFrOwoJICB9CgkgIGJyZWFrOwoKCWNhc2UgJ3NrdSc6CgkgICR0aGlzLT5fZGF0YVsnc2t1J10gPSB0cmltKCR2YWx1ZSk7CgkgIHVuc2V0KCR0aGlzLT5fZGF0YVsnb3B0c2t1J10pOwoJICB1bnNldCgkdGhpcy0+X2RhdGFbJ2FsaWFzJ10pOwoJICB1bnNldCgkdGhpcy0+X2RhdGFbJ3Byb2R1Y3RsaXN0J10pOwoJICB1bnNldCgkdGhpcy0+X2RhdGFbJ3Byb2R1Y3RfaWQnXSk7CgkgIGJyZWFrOwoKCWNhc2UgJ29wdHNrdSc6CgkgICR0aGlzLT5fZGF0YVsnb3B0c2t1J10gPSB0cmltKCR2YWx1ZSk7CgkgIHVuc2V0KCR0aGlzLT5fZGF0YVsnc2t1J10pOwoJICB1bnNldCgkdGhpcy0+X2RhdGFbJ2FsaWFzJ10pOwoJICB1bnNldCgkdGhpcy0+X2RhdGFbJ3Byb2R1Y3RsaXN0J10pOwoJICB1bnNldCgkdGhpcy0+X2RhdGFbJ3Byb2R1Y3RfaWQnXSk7CgkgIGJyZWFrOwoKCWNhc2UgJ2FsaWFzJzoKCSAgJHRoaXMtPl9kYXRhWydhbGlhcyddID0gdHJpbSgkdmFsdWUpOwoJICB1bnNldCgkdGhpcy0+X2RhdGFbJ29wdHNrdSddKTsKCSAgdW5zZXQoJHRoaXMtPl9kYXRhWydza3UnXSk7CgkgIHVuc2V0KCR0aGlzLT5fZGF0YVsncHJvZHVjdGxpc3QnXSk7CgkgIHVuc2V0KCR0aGlzLT5fZGF0YVsncHJvZHVjdF9pZCddKTsKCSAgYnJlYWs7CgogICAgY2FzZSAncHJvZHVjdGlkJzoKICAgIGNhc2UgJ3Byb2R1Y3RfaWQnOgogICAgICAkdGhpcy0+X2RhdGFbJ3Byb2R1Y3RfaWQnXSA9IChpbnQpJHZhbHVlOwoJICB1bnNldCgkdGhpcy0+X2RhdGFbJ29wdHNrdSddKTsKCSAgdW5zZXQoJHRoaXMtPl9kYXRhWydza3UnXSk7CiAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsncHJvZHVjdGxpc3QnXSk7CgkgIHVuc2V0KCR0aGlzLT5fZGF0YVsnYWxpYXMnXSk7CiAgICAgIGJyZWFrOwogICAgICAKICAgIGNhc2UgJ3Byb2R1Y3RsaXN0JzoKCSAgJHRtcCA9ICR2YWx1ZTsKCSAgaWYoIGlzX3N0cmluZygkdmFsdWUpICkgJHRtcCA9IGV4cGxvZGUoJywnLCR2YWx1ZSk7CiAgICAgIGlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApIHsKCQlmb3JlYWNoKCAkdG1wIGFzICYkb25lICkgewoJCSAgJG9uZSA9IChpbnQpJG9uZTsKCQl9CgkJJHZhbHVlID0gaW1wbG9kZSgnLCcsJHRtcCk7CgkJJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbHVlOwogICAgICB9CiAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsncHJvZHVjdF9pZCddKTsKCSAgdW5zZXQoJHRoaXMtPl9kYXRhWydhbGlhcyddKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnY2F0ZWdvcnknOgogICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWx1ZSk7CiAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsnY2F0ZWdvcnlpZCddKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnY2F0ZWdvcnlpZCc6CiAgICAgICR0aGlzLT5fZGF0YVska2V5XSA9IChpbnQpJHZhbHVlOwogICAgICB1bnNldCgkdGhpcy0+X2RhdGFbJ2NhdGVnb3J5J10pOwogICAgICBicmVhazsKCiAgICBjYXNlICdleGNsdWRlY2F0JzoKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsdWUpOwogICAgICBicmVhazsKCiAgICBjYXNlICdoaWVyYXJjaHknOgogICAgICAkdGhpcy0+X2RhdGFbJGtleV0gPSB0cmltKCR2YWx1ZSk7CiAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsnaGllcmFyY2h5aWQnXSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2hpZXJhcmNoeWlkJzoKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gKGludCkkdmFsdWU7CiAgICAgIHVuc2V0KCR0aGlzLT5fZGF0YVsnaGllcmFyY2h5J10pOwogICAgICBicmVhazsKCiAgICBjYXNlICdmaWVsZGlkJzoKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gKGludCkkdmFsdWU7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2ZpZWxkdmFsJzoKICAgICAgJHRoaXMtPl9kYXRhWyRrZXldID0gdHJpbSgkdmFsdWUpOwogICAgICBicmVhazsKCiAgICBjYXNlICdzb3J0b3JkZXInOgogICAgICAkdmFsdWUgPSBzdHJ0b2xvd2VyKHRyaW0oJHZhbHVlKSk7CiAgICAgIHN3aXRjaCggJHZhbHVlICkgewogICAgICBjYXNlICdhc2MnOgogICAgICBjYXNlICdkZXNjJzoKCQkkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsdWU7CgkJYnJlYWs7CiAgICAgIH0KICAgICAgYnJlYWs7CgogICAgY2FzZSAnc29ydGJ5JzoKICAgICAgJHZhbHVlID0gc3RydG9sb3dlcih0cmltKCR2YWx1ZSkpOwogICAgICBpZiggaW5fYXJyYXkoJHZhbHVlLHNlbGY6OiRfc29ydGluZ3MpICkgewoJCSR0aGlzLT5fZGF0YVska2V5XSA9ICR2YWx1ZTsKICAgICAgfSBlbHNlIGlmKCBzdGFydHN3aXRoKCR2YWx1ZSwnZjonKSApIHsKCQkkZmllbGRuYW1lID0gc3Vic3RyKCR2YWx1ZSxzdHJsZW4oJ2Y6JykpOwogCQkkZmllbGRkZWZzID0gcHJvZHVjdF91dGlsczo6Z2V0X2ZpZWxkZGVmcyhGQUxTRSxUUlVFLFRSVUUpOwogCQlpZiggaXNfYXJyYXkoJGZpZWxkZGVmcykgJiYgaXNzZXQoJGZpZWxkZGVmc1skZmllbGRuYW1lXSkgKSAkdGhpcy0+X2RhdGFbJGtleV0gPSAkdmFsdWU7CiAgICAgIH0KICAgICAgYnJlYWs7CgogICAgY2FzZSAnc29ydHR5cGUnOgogICAgICAkdmFsdWUgPSB0cmltKHN0cnRvdXBwZXIoJHZhbHVlKSk7CiAgICAgIHN3aXRjaCggJHZhbHVlICkgewogICAgICBjYXNlICdTVFJJTkcnOgoJCSR0aGlzLT5fZGF0YVska2V5XSA9ICcnOwoJCWJyZWFrOwogICAgICBjYXNlICdTSUdORUQnOgogICAgICBjYXNlICdVTlNJR05FRCc6CgkJJHRoaXMtPl9kYXRhWyRrZXldID0gJHZhbHVlOwoJCWJyZWFrOwogICAgICB9CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ3BhZ2VsaW1pdCc6CiAgICBjYXNlICdsaW1pdCc6CiAgICAgICR2YWx1ZSA9IG1heCgxLChpbnQpJHZhbHVlKTsKICAgICAgJHRoaXMtPl9kYXRhWydwYWdlbGltaXQnXSA9ICR2YWx1ZTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAncGFnZSc6CiAgICAgICR2YWx1ZSA9IG1heCgxLChpbnQpJHZhbHVlKTsKICAgICAgJHRoaXMtPl9kYXRhWydwYWdlJ10gPSAkdmFsdWU7CiAgICAgIGJyZWFrOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIG9mZnNldEV4aXN0cygka2V5KQogIHsKICAgIGlmKCAhaW5fYXJyYXkoJGtleSxzZWxmOjokX2tleXMpICkKICAgICAgdGhyb3cgbmV3IFByb2R1Y3RzRXhjZXB0aW9uKCdFeGlzdHM6IEludmFsaWQgS2V5ICcuJGtleS4nIHNwZWNpZmllZCBmb3IgcHJvZHVjdHNfcXVlcnknKTsKCiAgICByZXR1cm4gaXNzZXQoJHRoaXMtPl9kYXRhWyRrZXldKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRVbnNldCgka2V5KQogIHsKICAgIGlmKCAhaW5fYXJyYXkoJGtleSxzZWxmOjokX2tleXMpICkKICAgICAgdGhyb3cgbmV3IFByb2R1Y3RzRXhjZXB0aW9uKCdFeGlzdHM6IEludmFsaWQgS2V5ICcuJGtleS4nIHNwZWNpZmllZCBmb3IgcHJvZHVjdHNfcXVlcnknKTsKCiAgICByZXR1cm4gRkFMU0U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gJmV4ZWN1dGUoKQogIHsKICAgICRycyA9IG5ldyBwcm9kdWN0c19yZXN1bHRzZXQoJHRoaXMpOwogICAgcmV0dXJuICRyczsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.products_resultset.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAxMiBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBwcm9kdWN0c19yZXN1bHRzZXQKewogIHByaXZhdGUgJF9xdWVyeTsKICBwcml2YXRlICRfcnM7CiAgcHJpdmF0ZSAkX3RvdGFsbWF0Y2hpbmdyb3dzOwogIHByaXZhdGUgJF9jYXRlZ29yeV9jYWNoZTsKICBwcml2YXRlICRfZmllbGRfY2FjaGU7CiAgcHJpdmF0ZSAkX2F0dHJpYnV0ZV9jYWNoZTsKICBwcml2YXRlICRfZGV0YWlscGFnZTsKICBwcml2YXRlICRfaGllcnBhZ2U7CiAgcHJpdmF0ZSAkX2N1cnBhZ2U7CiAgcHJpdmF0ZSAkX25vdHByZXR0eTsKICBwcml2YXRlICRfZGV0YWlsdGVtcGxhdGU7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdChwcm9kdWN0c19xdWVyeSAkcXVlcnkpCiAgewogICAgJHRoaXMtPl9xdWVyeSA9ICRxdWVyeTsKICB9CgogIHByaXZhdGUgZnVuY3Rpb24gX2V4ZWN1dGUoKQogIHsKCWlmKCAhaXNfbnVsbCgkdGhpcy0+X3JzKSApIHJldHVybjsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkb2JqID0gJHRoaXMtPl9xdWVyeTsKCiAgICAkcXVlcnkgPSAnU0VMRUNUIFNRTF9DQUxDX0ZPVU5EX1JPV1MgQy4qLFBILmhpZXJhcmNoeV9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMgQyc7CiAgICAkd2hlcmUgPSBhcnJheSgpOwogICAgJHFwYXJtcyA9IGFycmF5KCk7CiAgICAkam9pbnMgPSBhcnJheSgpOwoKCSRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHRvaGllciBQSCBPTiBQSC5wcm9kdWN0X2lkID0gQy5pZCc7CgoJaWYoIGlzc2V0KCRvYmpbJ3Byb2R1Y3RfaWQnXSkgJiYgJG9ialsncHJvZHVjdF9pZCddICE9ICcnICkgewoJICAkd2hlcmVbXSA9ICdDLmlkID0gPyc7CgkgICRxcGFybXNbXSA9ICRvYmpbJ3Byb2R1Y3RfaWQnXTsKCX0KCWVsc2UgaWYoIGlzc2V0KCRvYmpbJ2FsaWFzJ10pICYmICRvYmpbJ2FsaWFzJ10gIT0gJycgKSB7CgkgICR3aGVyZVtdID0gJ0MuYWxpYXMgPSA/JzsKCSAgJHFwYXJtc1tdID0gJG9ialsnYWxpYXMnXTsKCX0KCWVsc2UgaWYoIGlzc2V0KCRvYmpbJ3NrdSddKSAmJiAkb2JqWydza3UnXSAhPSAnJyApIHsKCSAgJHdoZXJlW10gPSAnQy5za3UgPSA/JzsKCSAgJHFwYXJtc1tdID0gJG9ialsnc2t1J107Cgl9CglpZiggaXNzZXQoJG9ialsnb3B0c2t1J10pICYmICRvYmpbJ29wdHNrdSddICE9ICcnICkgewoJICAkc3VicXVlcnkgPSAnU0VMRUNUIERJU1RJTkNUIHByb2R1Y3RfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnMgV0hFUkUgc2t1ID0gPyc7CgkgICRzdWJwYXJtcyA9IGFycmF5KCRvYmpbJ29wdHNrdSddKTsKCSAgCgkgICRwaWQgPSAkZGItPkdldE9uZSgkc3VicXVlcnksJHN1YnBhcm1zKTsKCSAgJHdoZXJlW10gPSAnQy5pZCA9ID8nOwoJICAkcXBhcm1zW10gPSAkcGlkOwoJfQoKCWVsc2UgaWYoIGlzc2V0KCRvYmpbJ3Byb2R1Y3RsaXN0J10pICYmICRvYmpbJ3Byb2R1Y3RsaXN0J10gIT0gJycgKSB7CgkgICR0bXAgPSAkb2JqWydwcm9kdWN0bGlzdCddOwoJICBpZiggIWlzX2FycmF5KCR0bXApICkgewoJCSR0bXAgPSBleHBsb2RlKCcsJywkdG1wKTsKCSAgfQoJICAkbGlzdCA9IGFycmF5KCk7CgkgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApIHsKCQkkb25lID0gKGludCkkb25lOwoJCWlmKCAkb25lID4gMCApICRsaXN0W10gPSAoaW50KSRvbmU7CiAgICAgIH0KCSAgJGxpc3QgPSBhcnJheV91bmlxdWUoJGxpc3QpOwoJICAkd2hlcmVbXSA9ICdDLmlkIElOICgnLmltcGxvZGUoJywnLCRsaXN0KS4nKSc7Cgl9CgoJaWYoIGlzc2V0KCRvYmpbJ3N0YXR1cyddKSAmJiAkb2JqWydzdGF0dXMnXSAhPSAnKicpIHsKCSAgJHZhbCA9ICRvYmpbJ3N0YXR1cyddOwoJICBpZiggc3RhcnRzd2l0aCgkdmFsLCchJykgKSB7CgkJJHdoZXJlW10gPSAnQy5zdGF0dXMgIT0gPyc7CgkJJHZhbCA9IHN1YnN0cigkdmFsLDEpOwoJICB9IGVsc2UgewoJCSR3aGVyZVtdID0gJ0Muc3RhdHVzID0gPyc7CgkgIH0KCSAgJHFwYXJtc1tdID0gJHZhbDsKCX0KCiAgICBpZiggaXNzZXQoJG9ialsnY2F0ZWdvcnlpZCddKSAmJiAkb2JqWydjYXRlZ29yeWlkJ10gIT0gJycgKSB7CiAgICAgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzIHBjIE9OIHBjLnByb2R1Y3RfaWQgPSBDLmlkJzsKICAgICAgJHdoZXJlW10gPSAncGMuY2F0ZWdvcnlfaWQgPSA/JzsKICAgICAgJHFwYXJtc1tdID0gJG9ialsnY2F0ZWdvcnlpZCddOwogICAgfQoKCWlmKCBpc3NldCgkb2JqWydoaWVyYXJjaHknXSkgJiYgJG9ialsnaGllcmFyY2h5J10gIT0gJycgKSB7CgkgICRzdWJxdWVyeSA9ICdTRUxFQ1QgRElTVElOQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSBoIFdIRVJFICc7CgkgICRzdWJwYXJtcyA9IGFycmF5KCk7CgkgICR0bXAgPSBleHBsb2RlKCcsJywkb2JqWydoaWVyYXJjaHknXSk7CgkgICR0bXAyID0gYXJyYXkoKTsKCSAgZm9yZWFjaCggJHRtcCBhcyAkb25lICkgewoJCWlmKCBzdHJzdHIoJG9uZSwnKicpICE9PSBGQUxTRSApIHsKCQkgICR0bXAyW10gPSAndXBwZXIoaC5sb25nX25hbWUpIExJS0UgdXBwZXIoPyknOwoJCX0KCQllbHNlIHsKCQkgICR0bXAyW10gPSAndXBwZXIoaC5uYW1lKSA9IHVwcGVyKD8pJzsKCQl9CgkJCgkJJG9uZSA9IGNtc19odG1sX2VudGl0eV9kZWNvZGUoJG9uZSk7CgkJJG9uZSA9IHRyaW0oc3RyX3JlcGxhY2UoJyonLCclJyxzdHJfcmVwbGFjZSgnIicsJ18nLCRvbmUpKSk7CgkJJHN1YnBhcm1zW10gPSAkb25lOwoJICB9CgkgICRzdWJxdWVyeSAuPSBpbXBsb2RlKCcgT1IgJywkdG1wMik7CgkgICRoaWVyYXJjaHlfaWRzID0gJGRiLT5HZXRDb2woJHN1YnF1ZXJ5LCRzdWJwYXJtcyk7CgoJICBpZiggaXNfYXJyYXkoJGhpZXJhcmNoeV9pZHMpICYmIGNvdW50KCRoaWVyYXJjaHlfaWRzKSApIHsKCQkkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R0b2hpZXIgcGggT04gcGgucHJvZHVjdF9pZCA9IEMuaWQnOwoJCSR3aGVyZVtdID0gJ3BoLmhpZXJhcmNoeV9pZCBJTiAoJy5pbXBsb2RlKCcsJywkaGllcmFyY2h5X2lkcykuJyknOwoJICB9Cgl9CgllbHNlIGlmKCBpc3NldCgkb2JqWydoaWVyYXJjaHlpZCddKSApIHsKCSAgJHdoZXJlW10gPSAnUEguaGllcmFyY2h5X2lkID0gPyc7CgkgICRxcGFybXNbXSA9IChpbnQpJG9ialsnaGllcmFyY2h5aWQnXTsKCX0KCiAgICBpZiggaXNzZXQoJG9ialsnY2F0ZWdvcnknXSkgJiYgJG9ialsnY2F0ZWdvcnknXSAhPSAnJyApIHsKICAgICAgLy8gZ2V0IHRoZSBjYXRlZ29yeSdzCiAgICAgICRvY2F0cyA9IHByb2R1Y3RfdXRpbHM6OmdldF9jYXRlZ29yaWVzKFRSVUUpOwogICAgICAkaWNhdHMgPSBleHBsb2RlKCcsJywkb2JqWydjYXRlZ29yeSddKTsKICAgICAgaWYoIGlzX2FycmF5KCRpY2F0cykgJiYgY291bnQoJGljYXRzKSApIHsKCQkkaWNhdGlkcyA9IGFycmF5KCk7CgkJZm9yZWFjaCggJGljYXRzIGFzICRvbmUgKSB7CgkJICAkb25lID0gdHJpbSgkb25lKTsKCQkgIGlmKCBpc3NldCgkb2NhdHNbJG9uZV0pICkgJGljYXRpZHNbXSA9IChpbnQpJG9jYXRzWyRvbmVdLT5pZDsKCQl9CgkJaWYoIGNvdW50KCRpY2F0aWRzKSApIHsKCQkgICRqb2luc1tdID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzIGNjIE9OIGNjLnByb2R1Y3RfaWQgPSBDLmlkJzsKCQkgICR3aGVyZVtdID0gJ2NjLmNhdGVnb3J5X2lkIElOICgnLmltcGxvZGUoJywnLCRpY2F0aWRzKS4nKSc7CgkJfQogICAgICB9CiAgICB9CgogICAgaWYoIGlzc2V0KCRvYmpbJ2V4Y2x1ZGVjYXQnXSkgJiYgJG9ialsnZXhjbHVkZWNhdCddICE9ICcnICkgewogICAgICAvLyBnZXQgdGhlIGNhdGVvZ3J5IGlkJ3MgZnJvbSB0aGUgbmFtZS4KICAgICAgJG9jYXRzID0gcHJvZHVjdF91dGlsczo6Z2V0X2NhdGVnb3JpZXMoVFJVRSk7CgkgICRlY2F0cyA9IGV4cGxvZGUoJywnLCRvYmpbJ2V4Y2x1ZGVjYXQnXSk7CgkgICRleGNsdWRlX2lkcyA9IGFycmF5KCk7CgkgIGZvcmVhY2goICRpY2F0cyBhcyAkZWNhdCApIHsKCQlpZiggaXNfbnVtZXJpYygkZWNhdCkgKSB7CgkJICAkZXhjbHVkZV9pZHMgPSAoaW50KSRlY2F0OwoJCX0KCQllbHNlIHsKCQkgIGlmKCBpc3NldCgkb2NhdHNbJGVjYXRdKSApICRleGNsdWRlX2lkcyA9IChpbnQpJG9jYXRzWyRjYXRdWydpZCddOwoJCX0KCSAgfQogICAgfQoKCWlmKCBpc3NldCgkb2JqWydmaWVsZGlkJ10pICYmICRvYmpbJ2ZpZWxkaWQnXSA+IDAgJiYgaXNzZXQoJG9ialsnZmllbGR2YWwnXSkgJiYgJG9ialsnZmllbGR2YWwnXSAhPSAnJyApIHsKCSAgJGZpZWxkaWQgPSAkb2JqWydmaWVsZGlkJ107CgkgICRmaWVsZHZhbCA9ICRvYmpbJ2ZpZWxkdmFsJ107CgoJICBpZiggJGZpZWxkdmFsID09ICc6Om51bGw6OicgKSB7CgkJLy8gaGFuZGxlIGEgY2FzZSB3aGVyZSBhIGZpZWxkIGlzIG5vdCBzZXQgZm9yIGEgcHJvZHVjdC4KCQkkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyBGVkEgT04gQy5pZCA9IEZWQS5wcm9kdWN0X2lkIEFORCBGVkEuZmllbGRkZWZfaWQgPSA/JzsKCQkkd2hlcmVbXSA9ICcoRlZBLnZhbHVlIElTIE5VTEwpJzsKCQlhcnJheV91bnNoaWZ0KCRxcGFybXMsJGZpZWxkaWQpOwoJICB9CgkgIGVsc2UgaWYoICRmaWVsZHZhbCA9PSAnOjpub3RudWxsOjonICkgewoJCS8vIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBhIGZpZWxkIGlzIHNldCBmb3IgYSBwcm9kdWN0LCBidXQgd2UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgdmFsdWUuCgkJJGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgRlZBIE9OIEMuaWQgPSBGVkEucHJvZHVjdF9pZCBBTkQgRlZBLmZpZWxkZGVmX2lkID0gPyc7CgkJJHdoZXJlW10gPSAnKEZWQS52YWx1ZSAhPSBcJ1wnKSc7CgkJYXJyYXlfdW5zaGlmdCgkcXBhcm1zLCRmaWVsZGlkKTsKCSAgfQoJICBlbHNlIHsKCQkvLyBsaW1pdCByZXN1bHRzIHRvIGFsbCBvZiB0aGUgaXRlbXMgdGhhdCBoYXZlIHRoaXMgZmllbGQsIGFuZCBmaWVsZCB2YWx1ZS4KCQkkam9pbnNbXSA9IGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyBGVkEgT04gQy5pZCA9IEZWQS5wcm9kdWN0X2lkIEFORCBGVkEuZmllbGRkZWZfaWQgPSA/JzsKCQkkd2hlcmVbXSA9ICcoRlZBLnZhbHVlID0gPyknOwoJCWFycmF5X3Vuc2hpZnQoJHFwYXJtcywkZmllbGRpZCk7CgkJJHFwYXJtc1tdID0gJGZpZWxkdmFsOwoJICB9Cgl9CgoJJHNvcnRieSA9ICRvYmpbJ3NvcnRieSddOwoJJHNvcnRvcmRlciA9ICRvYmpbJ3NvcnRvcmRlciddOwoJaWYoIHN0YXJ0c3dpdGgoJHNvcnRieSwnZjonKSApIHsKCSAgJHNvcnRieSA9IHN1YnN0cigkc29ydGJ5LDIpOwoJICAkZmllbGRkZWZzID0gcHJvZHVjdF91dGlsczo6Z2V0X2ZpZWxkZGVmcyhGQUxTRSxUUlVFLFRSVUUpOwoJICBpZiggaXNfYXJyYXkoJGZpZWxkZGVmcykgJiYgY291bnQoJGZpZWxkZGVmcykgJiYgaXNzZXQoJGZpZWxkZGVmc1skc29ydGJ5XSkgKSB7CgkJJGpvaW5zW10gPSBjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgRlZTIE9OIEMuaWQgPSBGVlMucHJvZHVjdF9pZCBBTkQgRlZTLmZpZWxkZGVmX2lkID0gJy4oaW50KSRmaWVsZGRlZnNbJHNvcnRieV0tPmlkOwoJCSRzb3J0YnkgPSAnRlZTLnZhbHVlJzsKCSAgfQoJICBlbHNlIHsKCQkkc29ydGJ5ID0gJ3Byb2R1Y3RfbmFtZSc7CgkgIH0KCX0KCWVsc2UgaWYoICRzb3J0YnkgPT0gJ3JhbmRvbScgKSB7CgkgICRzb3J0YnkgPSAnUkFORCgpJzsKCSAgJHNvcnRvcmRlciA9ICcnOwoJfQoKCS8vCgkvLyBidWlsZCB0aGUgcXVlcnkgbm93LgoJLy8KCWlmKCBjb3VudCgkam9pbnMpICkgJHF1ZXJ5IC49ICcgTEVGVCBKT0lOICcuaW1wbG9kZSgnIExFRlQgSk9JTiAnLCRqb2lucyk7CglpZiggY291bnQoJHdoZXJlKSApICRxdWVyeSAuPSAnIFdIRVJFICcuaW1wbG9kZSgnIEFORCAnLCR3aGVyZSk7CglpZiggJG9ialsnc29ydHR5cGUnXSA9PSAnJyApIHsKCSAgJHF1ZXJ5IC49ICcgT1JERVIgQlkgJy4kc29ydGJ5LicgJy4kb2JqWydzb3J0b3JkZXInXTsKCX0KCWVsc2UgewoJICAkcXVlcnkgLj0gJyBPUkRFUiBCWSBDQVNUKCcuJHNvcnRieS4nIEFTICcuJG9ialsnc29ydHR5cGUnXS4nKSAnLiRvYmpbJ3NvcnRvcmRlciddOwoJfQoJCgkkc3RhcnRlbGVtZW50ID0gMDsKCSRsaW1pdCA9IDEwMDAwMDsKCWlmKCBpc3NldCgkb2JqWydwYWdlJ10pICYmICRvYmpbJ3BhZ2UnXSA+IDAgJiYgaXNzZXQoJG9ialsncGFnZWxpbWl0J10pICYmICRvYmpbJ3BhZ2VsaW1pdCddID4gMCApIHsKCSAgJGxpbWl0ID0gKGludCkkb2JqWydwYWdlbGltaXQnXTsKCSAgJHN0YXJ0ZWxlbWVudCA9ICgoaW50KSRvYmpbJ3BhZ2UnXSAtIDEpICogJGxpbWl0OwoJfQoJJHRoaXMtPl9ycyA9ICRkYi0+U2VsZWN0TGltaXQoJHF1ZXJ5LCRsaW1pdCwkc3RhcnRlbGVtZW50LCRxcGFybXMpOwoJaWYoICEkdGhpcy0+X3JzICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignSU5URVJOQUwgRVJST1I6IFF1ZXJ5IGZhaWxlZCAtICcuJGRiLT5zcWwuJyAtLSAnLiRkYi0+RXJyb3JNc2coKSk7CgkkdGhpcy0+X3RvdGFsbWF0Y2hpbmdyb3dzID0gJGRiLT5HZXRPbmUoJ1NFTEVDVCBGT1VORF9ST1dTKCknKTsKCgkkdGhpcy0+X3ByZWxvYWQoKTsKICB9IC8vIF9leGVjdXRlCgoKICBwcml2YXRlIGZ1bmN0aW9uIF9wcmVsb2FkX2NhdGVnb3JpZXMoJHByb2R1Y3RfaWRzKQogIHsKCWlmKCAhaXNfYXJyYXkoJHByb2R1Y3RfaWRzKSB8fCBjb3VudCgkcHJvZHVjdF9pZHMpID09IDAgKSByZXR1cm47CgoJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCSRxdWVyeSA9ICdTRUxFQ1QgcHJvZHVjdF9pZCxjYXRlZ29yeV9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzCiAgICAgICAgICAgICAgV0hFUkUgcHJvZHVjdF9pZCBJTiAoJy5pbXBsb2RlKCcsJywkcHJvZHVjdF9pZHMpLicpIE9SREVSIEJZIHByb2R1Y3RfaWQgQVNDJzsKCSRkYnIgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CglpZiggIWlzX2FycmF5KCRkYnIpIHx8IGNvdW50KCRkYnIpID09IDAgKSByZXR1cm47CgoJJHRoaXMtPl9jYXRlZ29yeV9jYWNoZSA9ICRkYnI7CiAgfQoKCiAgcHJpdmF0ZSBmdW5jdGlvbiBfcHJlbG9hZF9maWVsZHMoJHByb2R1Y3RfaWRzKQogIHsKCWlmKCAhaXNfYXJyYXkoJHByb2R1Y3RfaWRzKSB8fCBjb3VudCgkcHJvZHVjdF9pZHMpID09IDAgKSByZXR1cm47CgoJJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKCSRxdWVyeSA9ICdTRUxFQ1QgcHJvZHVjdF9pZCxmaWVsZGRlZl9pZCx2YWx1ZSBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzCiAgICAgICAgICAgICAgV0hFUkUgcHJvZHVjdF9pZCBJTiAoJy5pbXBsb2RlKCcsJywkcHJvZHVjdF9pZHMpLicpIE9SREVSIEJZIHByb2R1Y3RfaWQgQVNDJzsKCSRkYnIgPSAkZGItPkdldEFycmF5KCRxdWVyeSk7CglpZiggIWlzX2FycmF5KCRkYnIpIHx8IGNvdW50KCRkYnIpID09IDAgKSByZXR1cm47CgoJJHRoaXMtPl9maWVsZF9jYWNoZSA9ICRkYnI7CiAgfQoKCiAgcHJpdmF0ZSBmdW5jdGlvbiBfcHJlbG9hZF9hdHRyaWJ1dGVzKCRwcm9kdWN0X2lkcykKICB7CglpZiggIWlzX2FycmF5KCRwcm9kdWN0X2lkcykgfHwgY291bnQoJHByb2R1Y3RfaWRzKSA9PSAwICkgcmV0dXJuOwoKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnMKICAgICAgICAgICAgICBXSEVSRSBwcm9kdWN0X2lkIElOICgnLmltcGxvZGUoJywnLCRwcm9kdWN0X2lkcykuJykgT1JERVIgQlkgcHJvZHVjdF9pZCBBU0MsIGlkIEFTQyc7CgkkYXR0cmlicyA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCWlmKCAhaXNfYXJyYXkoJGF0dHJpYnMpIHx8IGNvdW50KCRhdHRyaWJzKSA9PSAwICkgcmV0dXJuOwoKCSR0aGlzLT5fYXR0cmlidXRlX2NhY2hlID0gYXJyYXkoKTsKCWZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRhdHRyaWJzKTsgJGkrKyApIHsKCSAgJG9uZXNldCA9JiAkYXR0cmlic1skaV07CgkgICRwaWQgPSAkb25lc2V0Wydwcm9kdWN0X2lkJ107CgkgIGlmKCAhaXNzZXQoJHRoaXMtPl9hdHRyaWJ1dGVfY2FjaGVbJHBpZF0pICkgJHRoaXMtPl9hdHRyaWJ1dGVfY2FjaGVbJHBpZF0gPSBhcnJheSgpOwoJICAkZGF0YSA9JiAkdGhpcy0+X2F0dHJpYnV0ZV9jYWNoZVskcGlkXTsKCgkgICRkYXRhW10gPSAkb25lc2V0OwoJfQogIH0KCgogIHByaXZhdGUgZnVuY3Rpb24gX3ByZWxvYWQoKSAKICB7CglpZiggISR0aGlzLT5fcnMgKSByZXR1cm47CgoJJHByb2R1Y3RfaWRzID0gYXJyYXkoKTsKCSR0aGlzLT5fcnMtPk1vdmVGaXJzdCgpOwoJd2hpbGUoICEkdGhpcy0+X3JzLT5FT0YgKSB7CgkgICRwcm9kdWN0X2lkc1tdID0gJHRoaXMtPl9ycy0+ZmllbGRzWydpZCddOwoJICAkdGhpcy0+X3JzLT5Nb3ZlTmV4dCgpOwoJfQoJJHRoaXMtPl9ycy0+TW92ZUZpcnN0KCk7CgoJaWYoICFjb3VudCgkcHJvZHVjdF9pZHMpICkgcmV0dXJuOwoJJHByb2R1Y3RfaWRzID0gYXJyYXlfdW5pcXVlKCRwcm9kdWN0X2lkcyk7CgoJLy8gcHJlbG9hZCBjYXRlZ29yeSBpbmZvIGZvciBwcm91ZGN0KHMpLgoJJGFsbGNhdHMgPSBwcm9kdWN0X3V0aWxzOjpnZXRfY2F0ZWdvcmllcyhUUlVFKTsKCWlmKCBpc19hcnJheSgkYWxsY2F0cykgJiYgY291bnQoJGFsbGNhdHMpICkgJHRoaXMtPl9wcmVsb2FkX2NhdGVnb3JpZXMoJHByb2R1Y3RfaWRzKTsKCgkvLyBwcmVsb2FkIGZpZWxkIGluZm8KCSRhbGxmaWVsZHMgPSBwcm9kdWN0X3V0aWxzOjpnZXRfZmllbGRkZWZzKFRSVUUsVFJVRSk7CglpZiggaXNfYXJyYXkoJGFsbGZpZWxkcykgJiYgY291bnQoJGFsbGZpZWxkcykgKSAkdGhpcy0+X3ByZWxvYWRfZmllbGRzKCRwcm9kdWN0X2lkcyk7CgoJLy8gcHJlbG9hZCBhdHRyaWJ1dGVzCgkkdGhpcy0+X3ByZWxvYWRfYXR0cmlidXRlcygkcHJvZHVjdF9pZHMpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIFJlY29yZENvdW50KCkgCiAgewoJJHRoaXMtPl9leGVjdXRlKCk7CglpZiggJHRoaXMtPl9ycyApIHJldHVybiAkdGhpcy0+X3JzLT5SZWNvcmRDb3VudCgpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE1vdmVOZXh0KCkKICB7CgkkdGhpcy0+X2V4ZWN1dGUoKTsKCWlmKCAkdGhpcy0+X3JzICkgcmV0dXJuICR0aGlzLT5fcnMtPk1vdmVOZXh0KCk7CglyZXR1cm4gRkFMU0U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gTW92ZUZpcnN0KCkKICB7CgkkdGhpcy0+X2V4ZWN1dGUoKTsKCWlmKCAkdGhpcy0+X3JzICkgcmV0dXJuICR0aGlzLT5fcnMtPk1vdmVGaXJzdCgpOwoJcmV0dXJuIEZBTFNFOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIFJld2luZCgpCiAgewoJJHRoaXMtPl9leGVjdXRlKCk7CglyZXR1cm4gJHRoaXMtPk1vdmVGaXJzdCgpOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIE1vdmVMYXN0KCkKICB7CgkkdGhpcy0+X2V4ZWN1dGUoKTsKCWlmKCAkdGhpcy0+X3JzICkgcmV0dXJuICR0aGlzLT5fcnMtPk1vdmVMYXN0KCk7CglyZXR1cm4gRkFMU0U7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gRU9GKCkKICB7CgkkdGhpcy0+X2V4ZWN1dGUoKTsKICAgIGlmKCAkdGhpcy0+X3JzICkgcmV0dXJuICR0aGlzLT5fcnMtPkVPRigpOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gQ2xvc2UoKQogIHsKCSR0aGlzLT5fZXhlY3V0ZSgpOwogICAgaWYoICR0aGlzLT5fcnMgKSByZXR1cm4gJHRoaXMtPl9ycy0+Q2xvc2UoKTsKICAgIHJldHVybiBUUlVFOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIF9fZ2V0KCRrZXkpCiAgewoJJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnUHJvZHVjdHMnKTsKCglpZiggJGtleSA9PSAnZGV0YWlscGFnZScgKSB7CgkgIGlmKCAkdGhpcy0+X2RldGFpbHBhZ2UgKSByZXR1cm4gJHRoaXMtPl9kZXRhaWxwYWdlOwoJICAkZGZsdHJldHVybmlkID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnZGV0YWlscGFnZScsLTEpOwoJICBpZiggJGRmbHRyZXR1cm5pZCA+IDAgKSByZXR1cm4gJGRmbHRyZXR1cm5pZDsKCSAgaWYoICR0aGlzLT5fY3VycGFnZSApIHJldHVybiAkdGhpcy0+X2N1cnBhZ2U7CgkgIHJldHVybiBjbXNtcygpLT5HZXRDb250ZW50T3BlcmF0aW9ucygpLT5HZXREZWZhdWx0Q29udGVudCgpOwoJfQoJaWYoICRrZXkgPT0gJ2RldGFpbHRlbXBsYXRlJyApIHJldHVybiAkdGhpcy0+X2RldGFpbHRlbXBsYXRlOwoJaWYoICRrZXkgPT0gJ2hpZXJwYWdlJyApIHsKCSAgaWYoICR0aGlzLT5faGllcnBhZ2UgKSByZXR1cm4gJHRoaXMtPl9oaWVycGFnZTsKCSAgJGRmbHRyZXR1cm5pZCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2hpZXJwYWdlJywtMSk7CgkgIGlmKCAkZGZsdHJldHVybmlkID4gMCApIHJldHVybiAkZGZsdHJldHVybmlkOwoJICBpZiggJHRoaXMtPl9jdXJwYWdlICkgcmV0dXJuICR0aGlzLT5fY3VycGFnZTsKCSAgcmV0dXJuIGNtc21zKCktPkdldENvbnRlbnRPcGVyYXRpb25zKCktPkdldERlZmF1bHRDb250ZW50KCk7Cgl9CglpZiggJGtleSA9PSAnY3VycGFnZScgKSByZXR1cm4gJHRoaXMtPl9jdXJwYWdlOwoJaWYoICRrZXkgPT0gJ25vdHByZXR0eScgKSByZXR1cm4gJHRoaXMtPl9ub3RwcmV0dHk7CgoJJHRoaXMtPl9leGVjdXRlKCk7CglpZiggJGtleSA9PSAnRU9GJyApIHJldHVybiAkdGhpcy0+X3JzLT5FT0YoKTsKCWlmKCAka2V5ID09ICd0b3RhbHJvd3MnICkgcmV0dXJuICR0aGlzLT5fdG90YWxtYXRjaGluZ3Jvd3M7CglpZiggJGtleSA9PSAnZmllbGRzJyAmJiAkdGhpcy0+X3JzICYmICEkdGhpcy0+X3JzLT5FT0YoKSApIHJldHVybiAkdGhpcy0+X3JzLT5maWVsZHM7CglpZiggJGtleSA9PSAnbnVtcGFnZXMnICkgcmV0dXJuIGNlaWwoJHRoaXMtPl90b3RhbG1hdGNoaW5ncm93cyAvICR0aGlzLT5fcXVlcnlbJ3BhZ2VsaW1pdCddKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBfX3NldCgka2V5LCR2YWx1ZSkKICB7CgkkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdQcm9kdWN0cycpOwoJc3dpdGNoKCAka2V5ICkgewoJY2FzZSAnZGV0YWlscGFnZSc6CgkgICR0bXAgPSAkbW9kLT5yZXNvbHZlX2FsaWFzX29yX2lkKCR2YWx1ZSk7CgkgIGlmKCAkdG1wICkgJHRoaXMtPl9kZXRhaWxwYWdlID0gJHRtcDsKCSAgYnJlYWs7CgljYXNlICdoaWVycGFnZSc6CgkgICR0bXAgPSAkbW9kLT5yZXNvbHZlX2FsaWFzX29yX2lkKCR2YWx1ZSk7CgkgIGlmKCAkdG1wICkgJHRoaXMtPl9oaWVycGFnZSA9ICR2YWx1ZTsKCSAgYnJlYWs7CgljYXNlICdjdXJwYWdlJzoKCSAgJHRtcCA9ICRtb2QtPnJlc29sdmVfYWxpYXNfb3JfaWQoJHZhbHVlKTsKCSAgaWYoICR0bXAgKSAkdGhpcy0+X2N1cnBhZ2UgPSAkdmFsdWU7CgkgIGJyZWFrOwoJY2FzZSAnbm90cHJldHR5JzoKCSAgJHRoaXMtPl9ub3RwcmV0dHkgPSB0cmltKCR2YWx1ZSk7CgkgIGJyZWFrOwoJY2FzZSAnZGV0YWlsdGVtcGxhdGUnOgoJICAkdGhpcy0+X2RldGFpbHRlbXBsYXRlID0gJHZhbHVlOwoJICBpZiggJHRoaXMtPl9ub3RwcmV0dHkgPT0gJycgKSAkdGhpcy0+X25vdHByZXR0eSA9ICdkZXRhaWxzJzsKCSAgYnJlYWs7CgoJZGVmYXVsdDoKCSAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ2Fubm90IHNldCAnLiRrZXkuJyBpbnRvIHRoaXMgb2JqZWN0Jyk7Cgl9CiAgfQoKICAvLyByZXR1cm4gdGhlIGZ1bGwgcHJvZHVjdCAod2l0aCBmaWVsZHMsIGFuZCBhdHRyaWJ1dGVzKQogIHB1YmxpYyBmdW5jdGlvbiAmZ2V0X3Byb2R1Y3QoJGJhcmUgPSBmYWxzZSwkYXNfYXJyYXkgPSBGQUxTRSkKICB7CgkkcmV0ID0gbnVsbDsKCWlmKCAhJHRoaXMtPl9ycyApIHJldHVybiAkcmV0OwoKCSRvbmVyb3cgPSAkdGhpcy0+X3JzLT5maWVsZHM7CgoJJHByb2R1Y3RfaWQgPSAkdGhpcy0+X3JzLT5maWVsZHNbJ2lkJ107CgkkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdQcm9kdWN0cycpOwoJJGZpbGVkaXIgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3VwbG9hZHNfcGF0aCddLCRtb2R1bGUtPkdldE5hbWUoKSwncHJvZHVjdF8nLiRwcm9kdWN0X2lkKTsKCgkvLyBjYXRlZ29yaWVzCglpZiggaXNfYXJyYXkoJHRoaXMtPl9jYXRlZ29yeV9jYWNoZSkgJiYgY291bnQoJHRoaXMtPl9jYXRlZ29yeV9jYWNoZSkgKSB7CgkgICRjYXRzID0gcHJvZHVjdF91dGlsczo6Z2V0X2Z1bGxfY2F0ZWdvcmllcygpOwoJICAkY2F0YXJyYXkgPSBhcnJheSgpOwoJICAkY2F0bmFtZWFycmF5ID0gYXJyYXkoKTsKCSAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRoaXMtPl9jYXRlZ29yeV9jYWNoZSk7ICRpKysgKSB7CgkJaWYoICR0aGlzLT5fY2F0ZWdvcnlfY2FjaGVbJGldWydwcm9kdWN0X2lkJ10gPCAkcHJvZHVjdF9pZCApIGNvbnRpbnVlOwoJCWlmKCAkdGhpcy0+X2NhdGVnb3J5X2NhY2hlWyRpXVsncHJvZHVjdF9pZCddID4gJHByb2R1Y3RfaWQgKSBicmVhazsKCgkJZm9yZWFjaCggJGNhdHMgYXMgJG9uZWNhdCApIHsKCQkgIGlmKCAkdGhpcy0+X2NhdGVnb3J5X2NhY2hlWyRpXVsnY2F0ZWdvcnlfaWQnXSAhPSAkb25lY2F0LT5pZCApIGNvbnRpbnVlOwoJCSAgJGVudHJ5ID0gY2xvbmUgJG9uZWNhdDsKCQkgICRlbnRyeS0+dmFsdWUgPSB0cnVlOwoJCSAgJGNhdG5hbWVhcnJheVtdID0gJGVudHJ5LT5uYW1lOwoJCSAgJGNhdGFycmF5W10gPSAkZW50cnk7CgkJfQoJICB9CgkgICRvbmVyb3dbJ2NhdGVnb3JpZXMnXSA9ICRjYXRhcnJheTsKCSAgJG9uZXJvd1snY2F0bmFtZWFycmF5J10gPSAkY2F0bmFtZWFycmF5OwoJfQoKCS8vIGZpZWxkcwoJaWYoIGlzX2FycmF5KCR0aGlzLT5fZmllbGRfY2FjaGUpICYmIGNvdW50KCR0aGlzLT5fZmllbGRfY2FjaGUpICkgewoJICAkZmxkZGVmcyA9IHByb2R1Y3RfdXRpbHM6OmdldF9maWVsZGRlZnMoRkFMU0UsVFJVRSk7CgkgICRmbGRhcnJheSA9IGFycmF5KCk7CgkgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0aGlzLT5fZmllbGRfY2FjaGUpOyAkaSsrICkgewoJCWlmKCAkdGhpcy0+X2ZpZWxkX2NhY2hlWyRpXVsncHJvZHVjdF9pZCddIDwgJHByb2R1Y3RfaWQgKSBjb250aW51ZTsKCQlpZiggJHRoaXMtPl9maWVsZF9jYWNoZVskaV1bJ3Byb2R1Y3RfaWQnXSA+ICRwcm9kdWN0X2lkICkgYnJlYWs7CgoJCWZvcmVhY2goICRmbGRkZWZzIGFzICRvbmVkZWYgKSB7CgkJICBpZiggJHRoaXMtPl9maWVsZF9jYWNoZVskaV1bJ2ZpZWxkZGVmX2lkJ10gIT0gJG9uZWRlZi0+aWQgKSBjb250aW51ZTsKCgkJICAkZW50cnkgPSBjbG9uZSAkb25lZGVmOwoJCSAgJGVudHJ5LT52YWx1ZSA9ICR0aGlzLT5fZmllbGRfY2FjaGVbJGldWyd2YWx1ZSddOwoJCSAgaWYoICRlbnRyeS0+dHlwZSA9PSAnZGltZW5zaW9ucycgfHwgJGVudHJ5LT50eXBlID09ICdzdWJzY3JpcHRpb24nICkgewoJCQkkZW50cnktPnZhbHVlID0gdW5zZXJpYWxpemUoJGVudHJ5LT52YWx1ZSk7CgkJICB9CgkJICBlbHNlIGlmKCAkZW50cnktPnR5cGUgPT0gJ2ltYWdlJyApIHsKCQkJaWYoICRlbnRyeS0+dmFsdWUgJiYgZmlsZV9leGlzdHMoY21zX2pvaW5fcGF0aCgkZmlsZWRpciwndGh1bWJfJy4kZW50cnktPnZhbHVlKSkgKSB7CgkJCSAgJGVudHJ5LT50aHVtYm5haWwgPSAndGh1bWJfJy4kZW50cnktPnZhbHVlOwoJCQl9CgkJCWlmKCAkZW50cnktPnZhbHVlICYmIGZpbGVfZXhpc3RzKGNtc19qb2luX3BhdGgoJGZpbGVkaXIsJ3ByZXZpZXdfJy4kZW50cnktPnZhbHVlKSkgKSB7CgkJCSAgJGVudHJ5LT5wcmV2aWV3ID0gJ3ByZXZpZXdfJy4kZW50cnktPnZhbHVlOwoJCQl9CgkJICB9CgkJICAkZW50cnktPmZpZWxkZGVmX2lkID0gJGVudHJ5LT5pZDsgLy8gPz8KCQkgICRmbGRhcnJheVskZW50cnktPm5hbWVdID0gJGVudHJ5OwoJCX0KCSAgfQoJICAkb25lcm93WydmaWVsZHMnXSA9ICRmbGRhcnJheTsKCX0KCgkvLyBhdHRyaWJ1dGVzCglpZiggaXNfYXJyYXkoJHRoaXMtPl9hdHRyaWJ1dGVfY2FjaGUpICYmIGlzc2V0KCR0aGlzLT5fYXR0cmlidXRlX2NhY2hlWyRwcm9kdWN0X2lkXSkgJiYKCQlpc19hcnJheSgkdGhpcy0+X2F0dHJpYnV0ZV9jYWNoZVskcHJvZHVjdF9pZF0pICYmCgkJY291bnQoJHRoaXMtPl9hdHRyaWJ1dGVfY2FjaGVbJHByb2R1Y3RfaWRdKSApIHsKCSAgJG9uZXJvd1snYXR0cmlidXRlcyddID0gJHRoaXMtPl9hdHRyaWJ1dGVfY2FjaGVbJHByb2R1Y3RfaWRdOwoJfQoKCXByb2R1Y3Rfb3BzOjpzZXRfcHJvZHVjdCgkb25lcm93KTsKCWlmKCAkYXNfYXJyYXkgKSByZXR1cm4gJG9uZXJvdzsKCSRvbmVyb3cgPSBjZ2VfYXJyYXk6OnRvX29iamVjdCgkb25lcm93KTsJCglyZXR1cm4gJG9uZXJvdzsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gJmdldF9wcm9kdWN0X2Zvcl9kaXNwbGF5KCkKICB7CgkkcmV0ID0gbnVsbDsKCWlmKCAhJHRoaXMtPl9ycyApIHJldHVybiAkcmV0OwoKCSRvbmVyb3cgPSAkdGhpcy0+Z2V0X3Byb2R1Y3QoKTsKCWlmKCAhJG9uZXJvdyApIHJldHVybiAkcmV0OwoKCSRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKCSRtb2R1bGUgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Byb2R1Y3RzJyk7CgoJJG9uZXJvdy0+ZmlsZV9sb2NhdGlvbiA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uJy8nLiRtb2R1bGUtPkdldE5hbWUoKS4nL3Byb2R1Y3RfJy4kb25lcm93LT5pZDsKCgkkcHJldHR5X3VybCA9ICcnOwoJJHBhcm1zID0gYXJyYXkoKTsKCWlmKCAkdGhpcy0+X25vdHByZXR0eSAhPSAnJyApIHsKCSAgJHBhcm1zWydub3RwcmV0dHknXSA9ICR0aGlzLT5fbm90cHJldHR5OwoJfQoJaWYoIHByb2R1Y3RfdXRpbHM6OmNhbl9kb19wcmV0dHkoJ2RldGFpbHMnLCRwYXJtcykgKSB7CgkgICRwcmV0dHlfdXJsID0gcHJvZHVjdF9vcHM6OnByZXR0eV91cmwoJG9uZXJvdy0+aWQsJHRoaXMtPmRldGFpbHBhZ2UpOwoJfQoKCSRwYXJtcyA9IGFycmF5KCk7CgkkcGFybXNbJ3Byb2R1Y3RpZCddID0gJG9uZXJvdy0+aWQ7CglpZiggJHRoaXMtPl9kZXRhaWxwYWdlICkgJHBhcm1zWydkZXRhaWxwYWdlJ10gPSAkdGhpcy0+X2RldGFpbHBhZ2U7CglpZiggJHRoaXMtPl9kZXRhaWx0ZW1wbGF0ZSApICRwYXJtc1snZGV0YWlsdGVtcGxhdGUnXSA9ICR0aGlzLT5fZGV0YWlsdGVtcGxhdGU7Cgkkb25lcm93LT5kZXRhaWxfdXJsID0gJG1vZHVsZS0+Y3JlYXRlX3VybCgncHJvZCcsJ2RldGFpbHMnLCR0aGlzLT5kZXRhaWxwYWdlLCRwYXJtcyxmYWxzZSxmYWxzZSwkcHJldHR5X3VybCk7CglpZiggJG9uZXJvdy0+aGllcmFyY2h5X2lkICkgewoJICAkb25lcm93LT5icmVhZGNydW1iID0gaGllcmFyY2h5X29wczo6Z2V0X2JyZWFkY3J1bWIoJ2NudG50MDEnLCRvbmVyb3ctPmhpZXJhcmNoeV9pZCwkdGhpcy0+aGllcnBhZ2UpOwoJfQoKCXJldHVybiAkb25lcm93OwogIH0gLy8gZnVuY3Rpb24KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.product_ops.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgoKZmluYWwgY2xhc3MgcHJvZHVjdF9vcHMKewogIHN0YXRpYyBwcml2YXRlICRfZmllbGRkZWZzOwogIHN0YXRpYyBwcml2YXRlICRfcHJvZGhpZXI7CiAgc3RhdGljIHByaXZhdGUgJF9wcm9kdWN0X2NhY2hlOwoKICBwcml2YXRlIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkge30KCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBzZXRfcHJvZHVjdCgkcHJvZHVjdCkKICB7CiAgICBpZiggIWlzc2V0KCRwcm9kdWN0WydpZCddKSB8fCAhaXNzZXQoJHByb2R1Y3RbJ25hbWUnXSkgKSB7CiAgICAgIHNlbGY6OiRfcHJvZHVjdF9jYWNoZVskcHJvZHVjdFsnaWQnXV0gPSAkcHJvZHVjdDsKICAgIH0KICB9CgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gZ2V0X3Byb2R1Y3QoJHByb2R1Y3RfaWQsJGFueXN0YXR1cyA9IEZBTFNFKQogIHsKICAgICRwcm9kdWN0X2l0ID0gKGludCkkcHJvZHVjdF9pZDsKICAgIGlmKCBpc19hcnJheShzZWxmOjokX3Byb2R1Y3RfY2FjaGUpICYmIGlzc2V0KHNlbGY6OiRfcHJvZHVjdF9jYWNoZVskcHJvZHVjdF9pZF0pICkgewogICAgICByZXR1cm4gc2VsZjo6JF9wcm9kdWN0X2NhY2hlWyRwcm9kdWN0X2lkXTsKICAgIH0KCiAgICAkcXVlcnkgPSBuZXcgcHJvZHVjdHNfcXVlcnkoKTsKICAgICRxdWVyeVsncHJvZHVjdF9pZCddID0gKGludCkkcHJvZHVjdF9pZDsKICAgIGlmKCAkYW55c3RhdHVzICkgJHF1ZXJ5WydzdGF0dXMnXSA9ICcqJzsKICAgICRyZXN1bHRzID0gbmV3IHByb2R1Y3RzX3Jlc3VsdHNldCgkcXVlcnkpOwogICAgaWYoICRyZXN1bHRzLT5SZWNvcmRDb3VudCgpID4gMSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0lOVEVSTkFMIEVSUk9SOiBNb3JlIHRoYW4gb25lIHByb2R1Y3Qgd2l0aCB0aGUgaWQgJy4kcHJvZHVjdF9pZCk7CgogICAgJHByb2R1Y3QgPSAkcmVzdWx0cy0+Z2V0X3Byb2R1Y3QoRkFMU0UsVFJVRSk7CiAgICBpZiggIWlzX2FycmF5KHNlbGY6OiRfcHJvZHVjdF9jYWNoZSkgKSBzZWxmOjokX3Byb2R1Y3RfY2FjaGUgPSBhcnJheSgpOwogICAgc2VsZjo6JF9wcm9kdWN0X2NhY2hlWyRwcm9kdWN0X2lkXSA9ICRwcm9kdWN0OwogICAgcmV0dXJuIHNlbGY6OiRfcHJvZHVjdF9jYWNoZVskcHJvZHVjdF9pZF07CiAgfQoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGlzX3ZhbGlkX2NhdGVnb3J5KCRuYW1lKQogIHsKICAgICRkYiA9IGNtc21zKCktPkdldERiKCk7CiAgICAkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIFdIRVJFIG5hbWUgPSA/JzsKICAgICR0bXAgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJG5hbWUpKTsKICAgIGlmKCAkdG1wICkgcmV0dXJuIFRSVUU7CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBpc192YWxpZF9wcm9kdWN0X2lkKCRwaWQpCiAgewogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIFdIRVJFIGlkID0gPyc7CiAgICAkdG1wID0gJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGlkKSk7CiAgICBpZiggJHRtcCApIHJldHVybiBUUlVFOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaXNfdmFsaWRfaGllcmFyY2h5KCRzdHIpCiAgewogICAgLy8gYWNjZXB0IHN0cmluZyBvZiAibmFtZS5uYW1lLm5hbWUubmFtZSIgYW5kIAogICAgLy8gY29udmVydCBpbnRvICJuYW1lIHwgbmFtZSB8IG5hbWUgfCBuYW1lIjsKICAgICR0bXAgPSBleHBsb2RlKCcuJywkc3RyKTsKICAgICR0bXAyID0gYXJyYXkoKTsKICAgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApIHsKICAgICAgJHRtcDJbXSA9IHRyaW0odHJpbSgkb25lLCciJykpOwogICAgfQogICAgJHRtcDMgPSBpbXBsb2RlKCcgfCAnLCR0bXAyKTsKCiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IFdIRVJFIGxvbmdfbmFtZSA9ID8nOwogICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkdG1wMykpOwogICAgaWYoICEkdG1wICkgcmV0dXJuIEZBTFNFOwogICAgcmV0dXJuIFRSVUU7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBjaGVja19za3VfdXNlZCgkc2t1LCRwcm9kdWN0aWQgPSAnJywkcHJvZHVjdG9ubHkgPSBmYWxzZSkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMgV0hFUkUgc2t1ID0gPyc7CiAgICAkcGFybXMgPSBhcnJheSgkc2t1KTsKICAgIGlmKCAhZW1wdHkoJHByb2R1Y3RpZCkgKSB7CiAgICAgICRxdWVyeSAuPSAnIEFORCBpZCAhPSA/JzsKICAgICAgJHBhcm1zW10gPSAkcHJvZHVjdGlkOwogICAgfQogICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSwkcGFybXMpOwogICAgaWYoICR0bXAgKSByZXR1cm4gVFJVRTsKCiAgICBpZiggISRwcm9kdWN0b25seSApIHsKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfYXR0cmlicyBXSEVSRSBza3UgPSA/JzsKICAgICAgJHRtcCA9ICRkYi0+R2V0T25lKCRxdWVyeSxhcnJheSgkc2t1KSk7CiAgICAgIGlmKCAkdG1wICkgcmV0dXJuIFRSVUU7CiAgICB9CgogICAgcmV0dXJuIEZBTFNFOwogIH0KCgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gY2hlY2tfYWxpYXNfdXNlZCgkYWxpYXMsJHByb2R1Y3RpZCA9ICcnKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICRkYiA9ICRnQ21zLT5HZXREYigpOwoKICAgICRwYXJtcyA9IGFycmF5KCk7CiAgICAkcGFybXNbXSA9ICRhbGlhczsKICAgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIFdIRVJFIGFsaWFzID0gPyc7CiAgICBpZiggIWVtcHR5KCRwcm9kdWN0aWQpICkgewogICAgICAkcXVlcnkgLj0gJ0FORCBpZCAhPSA/JzsKICAgICAgJHBhcm1zW10gPSAoaW50KSRwcm9kdWN0aWQ7CiAgICB9CiAgICAkdG1wID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LCRwYXJtcyk7CiAgICBpZiggISR0bXAgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gVFJVRTsKICB9CgoKICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIGdlbmVyYXRlX2FsaWFzKCRwcm9kdWN0X25hbWUpCiAgewogICAgJHN0ciA9IG11bmdlX3N0cmluZ190b191cmwoJHByb2R1Y3RfbmFtZSk7CiAgICAkcG9zdGZpeCA9ICcnOwogICAgCiAgICB3aGlsZSggJHBvc3RmaXggPCAxMDAwICkgewogICAgICAkYWxpYXMgPSAkc3RyLiRwb3N0Zml4OwogICAgICBpZiggIXNlbGY6OmNoZWNrX2FsaWFzX3VzZWQoJGFsaWFzKSApIHJldHVybiAkYWxpYXM7CiAgICAgIGlmKCAkcG9zdGZpeCA9PSAnJyApICRwb3N0Zml4ID0gMTsKICAgICAgJHBvc3RmaXgrKzsKICAgIH0KCiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgLy8gY3JlYXRlcyBhIHByb2R1Y3QgZGV0YWlsIHVybC4KICBzdGF0aWMgcHVibGljIGZ1bmN0aW9uIHByZXR0eV91cmwoJHBpZCwkcmV0dXJuaWQgPSAnJykKICB7CiAgICAkbW9kdWxlID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdQcm9kdWN0cycpOwogICAgJHByb2R1Y3QgPSBzZWxmOjpnZXRfcHJvZHVjdCgkcGlkKTsKICAgIGlmKCAhJHByb2R1Y3QgKSByZXR1cm47CiAgICAkZGIgPSBjbXNtcygpLT5HZXREQigpOwogICAgCiAgICAkdXNlcmV0dXJuaWQgPSB0cnVlOyAgICAKICAgIGlmKCAkcmV0dXJuaWQgPT0gLTEgKSB7CiAgICAgIGdsb2JhbCAkZ0NtczsKICAgICAgJGNvbnRlbnRvcHMgPSAkZ0Ntcy0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKICAgICAgJHJldHVybmlkID0gJGNvbnRlbnRvcHMtPkdldERlZmF1bHRDb250ZW50KCk7CiAgICB9CiAgICAkZGZsdHJldHVybmlkID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnZGV0YWlscGFnZScsLTEpOwogICAgaWYoICRkZmx0cmV0dXJuaWQgPT0gJHJldHVybmlkIHx8ICRyZXR1cm5pZCA9PSAnJyApIHsKICAgICAgJHVzZXJldHVybmlkID0gZmFsc2U7CiAgICAgICRyZXR1cm5pZCA9ICRkZmx0cmV0dXJuaWQ7CiAgICB9CgogICAgJHByZXR0eV91cmwgPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCRtb2R1bGUtPkdldE5hbWUoKSk7CiAgICAkZG9uZSA9IGZhbHNlOwogICAgaWYoICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ3VzZWhpZXJwYXRodXJscycsMCkgJiYgIWVtcHR5KCRwcm9kdWN0WydhbGlhcyddKSAmJiAoJHByb2R1Y3RbJ2hpZXJfaWQnXSA+IDApICkgewogICAgICAkaGllcl9pZCA9IHNlbGY6OmdldF9wcm9kdWN0X2hpZXJhcmNoeV9pZCgkcGlkKTsKICAgICAgaWYoICRoaWVyX2lkICkgewoJJHRtcCA9IGhpZXJhcmNoeV9vcHM6OmdldF9oaWVyYXJjaHlfaW5mbygkaGllcl9pZCk7CglpZiggJHRtcCApIHsKCSAgJHRtcDIgPSBleHBsb2RlKCcgfCAnLCR0bXBbJ2xvbmdfbmFtZSddKTsKCSAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcDIpOyAkaSsrICkgewoJICAgICR0bXAyWyRpXSA9IG11bmdlX3N0cmluZ190b191cmwoJHRtcDJbJGldKTsKCSAgfQoJICAkcGF0aCA9IGltcGxvZGUoJy8nLCR0bXAyKTsKCgkgICRwcmV0dHlfdXJsIC49ICcvZGV0YWlscyc7CgoJICBpZiggJHVzZXJldHVybmlkICkgJHByZXR0eV91cmwgLj0gIi8kcmV0dXJuaWQiOwoJICBpZiggIWVtcHR5KCRwYXRoKSApICRwcmV0dHlfdXJsIC49ICIvJHBhdGgiOwoKCSAgJHByZXR0eV91cmwgLj0gIi8iLiRwcm9kdWN0WydhbGlhcyddOwoJICAkZG9uZSA9IHRydWU7Cgl9CiAgICAgIH0KICAgIH0KCiAgICBpZiggISRkb25lICkgewogICAgICAkcHJldHR5X3VybCAuPSAiLyRwaWQiOwogICAgICBpZiggJHVzZXJldHVybmlkICkgJHByZXR0eV91cmwgLj0gIi8kcmV0dXJuaWQiOwogICAgICAkYWxpYXMgPSAkcHJvZHVjdFsnYWxpYXMnXTsKICAgICAgaWYoIGVtcHR5KCRhbGlhcykgKSAkYWxpYXMgPSAkbW9kdWxlLT5tYWtlX2FsaWFzKCRwcm9kdWN0Wydwcm9kdWN0X25hbWUnXSk7CiAgICAgICRwcmV0dHlfdXJsIC49ICIvJGFsaWFzIjsKICAgIH0KICAgIHJldHVybiAkcHJldHR5X3VybDsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9wcm9kdWN0X2hpZXJhcmNoeV9pZCgkcHJvZHVjdGlkKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoc2VsZjo6JF9wcm9kaGllcikgfHwgIWlzc2V0KHNlbGY6OiRfcHJvZGhpZXJbJHByb2R1Y3RpZF0pICkgewogICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAkcXVlcnkgPSAnU0VMRUNUIGhpZXJhcmNoeV9pZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHRvaGllcgogICAgICAgICAgICAgICAgV0hFUkUgcHJvZHVjdF9pZCA9ID8gTElNSVQgMSc7CiAgICAgICRoaWVyX2lkID0gJGRiLT5HZXRPbmUoJHF1ZXJ5LGFycmF5KCRwcm9kdWN0aWQpKTsKICAgICAgaWYoICRoaWVyX2lkIDw9IDAgKSByZXR1cm4gRkFMU0U7CiAgICAgIGlmKCAhaXNfYXJyYXkoc2VsZjo6JF9wcm9kaGllcikgKSBzZWxmOjokX3Byb2RoaWVyID0gYXJyYXkoKTsKICAgICAgc2VsZjo6JF9wcm9kaGllclskcHJvZHVjdGlkXSA9ICRoaWVyX2lkOwogICAgfQogICAgcmV0dXJuIHNlbGY6OiRfcHJvZGhpZXJbJHByb2R1Y3RpZF07CiAgfQoKCiAgLyogZGVwcmVjYXRlZCAqLwogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3Byb2R1Y3RfaGllcmFyY2h5X3BhdGgoJHByb2R1Y3RpZCkKICB7CiAgICAkaGllcl9pZCA9IHNlbGY6OmdldF9wcm9kdWN0X2hpZXJhcmNoeV9pZCgkcHJvZHVjdGlkKTsKICAgIGlmKCAkaGllcl9pZCApIHJldHVybiBoaWVyYXJjaHlfb3BzOjpnZXRfaGllcmFyY2h5X3BhdGgoJGhpZXJfaWQpOwogIH0KCgogIC8qIGRlcHJlY2F0ZWQgKi8KICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNyZWF0ZV9oaWVyYXJjaHlfYnJlYWRjcnVtYigkaWQsJHByb2R1Y3RfaWQsICRoaWVycGFnZSwgJGRlbGltID0gJyAmZ3Q7ICcpCiAgewogICAgJGhpZXJfaWQgPSBzZWxmOjpnZXRfcHJvZHVjdF9oaWVyYXJjaHlfaWQoJHByb2R1Y3RfaWQpOwogICAgaWYoICRoaWVyX2lkIDw9IDAgKSByZXR1cm4gRkFMU0U7CiAgICByZXR1cm4gaGllcmFyY2h5X29wczo6Z2V0X2JyZWFkY3J1bWIoJGlkLCRoaWVyX2lkLCRoaWVycGFnZSwkZGVsaW0pOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X3NlYXJjaF9yZXN1bHQoJHJldHVybmlkLCAkcHJvZHVjdGlkLCAkYXR0ciA9ICcnKQogIHsKICAgICRyZXN1bHQgPSBhcnJheSgpOwogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnUHJvZHVjdHMnKTsKICAgIAogICAgaWYgKCRhdHRyICE9ICdwcm9kdWN0JykgcmV0dXJuICRyZXN1bHQ7CiAgICBpZiggJG1vZC0+R2V0UHJlZmVyZW5jZSgndXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCcsMCkgKSAkcmV0dXJuaWQgPSAnJzsKCiAgICAkZGIgPSAkbW9kLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUIHByb2R1Y3RfbmFtZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHMgV0hFUkUgaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkcHJvZHVjdGlkICkgKTsKICAgIGlmICgkZGJyZXN1bHQpIHsKICAgICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKCiAgICAgIC8vMCBwb3NpdGlvbiBpcyB0aGUgcHJlZml4IGRpc3BsYXllZCBpbiB0aGUgbGlzdCByZXN1bHRzLgogICAgICAkcmVzdWx0WzBdID0gJG1vZC0+R2V0RnJpZW5kbHlOYW1lKCk7CgogICAgICAvLzEgcG9zaXRpb24gaXMgdGhlIHRpdGxlCiAgICAgICRyZXN1bHRbMV0gPSAkcm93Wydwcm9kdWN0X25hbWUnXTsKCiAgICAgIC8vMiBwb3NpdGlvbiBpcyB0aGUgVVJMIHRvIHRoZSB0aXRsZS4KICAgICAgJHByZXR0eXVybCA9IHNlbGY6OnByZXR0eV91cmwoJHByb2R1Y3RpZCwkcmV0dXJuaWQpOwogICAgICAkcmVzdWx0WzJdID0gJG1vZC0+Q3JlYXRlTGluaygnY250bnQwMScsICdkZXRhaWxzJywgJHJldHVybmlkLCAnJywgYXJyYXkoJ3Byb2R1Y3RpZCcgPT4gJHByb2R1Y3RpZCkgLAoJCQkJICAgICcnLCB0cnVlLCBmYWxzZSwgJycsIHRydWUsICRwcmV0dHl1cmwpOwogICAgfQoKICAgIHJldHVybiAkcmVzdWx0OwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2N1cnJlbmN5X3N5bWJvbCgpCiAgewogICAgaWYoIGNsYXNzX2V4aXN0cygnY2dfZWNvbW0nKSApIHJldHVybiBjZ19lY29tbTo6Z2V0X2N1cnJlbmN5X3N5bWJvbCgpOwogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnUHJvZHVjdHMnKTsKICAgIHJldHVybiAkbW9kLT5HZXRQcmVmZXJlbmNlKCdwcm9kdWN0c19jdXJyZW5jeXN5bWJvbCcsJyQnKTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF93ZWlnaHRfdW5pdHMoKQogIHsKICAgIGlmKCBjbGFzc19leGlzdHMoJ2NnX2Vjb21tJykgKSByZXR1cm4gY2dfZWNvbW06OmdldF93ZWlnaHRfdW5pdHMoKTsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ1Byb2R1Y3RzJyk7CiAgICByZXR1cm4gJG1vZC0+R2V0UHJlZmVyZW5jZSgncHJvZHVjdHNfd2VpZ2h0dW5pdHMnLCdrZycpOwogIH0KCiAgCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfbGVuZ3RoX3VuaXRzKCkKICB7CiAgICBpZiggY2xhc3NfZXhpc3RzKCdjZ19lY29tbScpICkgcmV0dXJuIGNnX2Vjb21tOjpnZXRfbGVuZ3RoX3VuaXRzKCk7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdQcm9kdWN0cycpOwogICAgcmV0dXJuICRtb2QtPkdldFByZWZlcmVuY2UoJ3Byb2R1Y3RzX2xlbmd0aHVuaXRzJywna2cnKTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9maWVsZHMoKQogIHsKICAgIGlmKCAhaXNfYXJyYXkoc2VsZjo6JF9maWVsZGRlZnMpICkgewogICAgICBnbG9iYWwgJGdDbXM7CiAgICAgICRkYiA9ICRnQ21zLT5HZXREYigpOwoKICAgICAgJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgT1JERVIgQlkgaXRlbV9vcmRlcic7CiAgICAgIHNlbGY6OiRfZmllbGRkZWZzID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgfQogICAgcmV0dXJuIHNlbGY6OiRfZmllbGRkZWZzOwogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2ZpZWxkX29wdGlvbnMoJHR5cGUgPSAnJykKICB7CiAgICAkdG1wID0gc2VsZjo6Z2V0X2ZpZWxkcygpOwogICAgaWYoICFpc19hcnJheSgkdG1wKSApIHJldHVybjsKCiAgICAkcmVzdWx0ID0gYXJyYXkoKTsKICAgIGZvciggJGkgPSAwOyAkaSA8IGNvdW50KCR0bXApOyAkaSsrICkgewogICAgICBpZiggJHR5cGUgPT0gJycgfHwgJHRtcFskaV1bJ3R5cGUnXSA9PSAkdHlwZSApICRyZXN1bHRbJHRtcFskaV1bJ2lkJ11dID0gJHRtcFskaV1bJ3Byb21wdCddOwogICAgfQogICAgcmV0dXJuICRyZXN1bHQ7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfcHJvZHVjdF9hdHRyaWJ1dGVzX2Z1bGwoJHByb2R1Y3RfaWQpCiAgewogICAgJGRhdGEgPSBwcm9kdWN0c19hdHRyaWI6OmxvYWRfYnlfcHJvZHVjdCgkcHJvZHVjdF9pZCk7CiAgICBpZiggIWNvdW50KCRkYXRhKSApIHJldHVybiBmYWxzZTsKICAgIHJldHVybiAkZGF0YTsKICB9Cn0gLy8gY2xhc3MKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.product_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpmaW5hbCBjbGFzcyBwcm9kdWN0X3V0aWxzCnsKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQogIHByaXZhdGUgc3RhdGljICRfY2F0ZWdvcnlfY2FjaGU7CiAgc3RhdGljIHByaXZhdGUgJF9mbGRkZWZfY2FjaGU7CgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gZ2V0X2ZpZWxkX3R5cGVzKCRzZWxlY3RvbmUgPSBmYWxzZSkKICB7CiAgICAkbW9kID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdQcm9kdWN0cycpOwogICAgJGl0ZW1zID0gYXJyYXkoKTsKICAgIGlmKCAkc2VsZWN0b25lICkgJGl0ZW1zWyRtb2QtPkxhbmcoJ3NlbGVjdF9vbmUnKV0gPSAnJzsKICAgICRpdGVtc1skbW9kLT5MYW5nKCd0ZXh0Ym94JyldID0gJ3RleHRib3gnOwogICAgJGl0ZW1zWyRtb2QtPkxhbmcoJ2NoZWNrYm94JyldID0gJ2NoZWNrYm94JzsKICAgICRpdGVtc1skbW9kLT5MYW5nKCd0ZXh0YXJlYScpXSA9ICd0ZXh0YXJlYSc7CiAgICAkaXRlbXNbJG1vZC0+TGFuZygnZHJvcGRvd24nKV0gPSAnZHJvcGRvd24nOwogICAgJGl0ZW1zWyRtb2QtPkxhbmcoJ2ltYWdldGV4dCcpXSA9ICdpbWFnZSc7CiAgICAkaXRlbXNbJG1vZC0+TGFuZygnZmlsZScpXSA9ICdmaWxlJzsKICAgICRpdGVtc1skbW9kLT5MYW5nKCdkaW1lbnNpb25zJyldID0gJ2RpbWVuc2lvbnMnOwogICAgJGl0ZW1zWyRtb2QtPkxhbmcoJ3N1YnNjcmlwdGlvbicpXSA9ICdzdWJzY3JpcHRpb24nOwogICAgJGl0ZW1zWyRtb2QtPkxhbmcoJ3F1YW50aXR5X29uX2hhbmQnKV0gPSAncXVhbnRpdHknOwogICAgcmV0dXJuIGFycmF5X2ZsaXAoJGl0ZW1zKTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGdldF9kaXNwbGF5YWJsZV9maWVsZHZhbCgkZmllbGRuYW1lLCRmaWVsZHZhbCkKICB7CiAgICAkbW9kID0gY2dlX3V0aWxzOjpnZXRfbW9kdWxlKCdQcm9kdWN0cycpOwogICAgJGZpZWxkcyA9IHByb2R1Y3Rfb3BzOjpnZXRfZmllbGRzKCk7CiAgICAkZmllbGRzID0gY2dlX2FycmF5Ojp0b19oYXNoKCRmaWVsZHMsJ25hbWUnKTsKICAgICRmaWVsZHR5cGUgPSAkZmllbGRzWyRmaWVsZG5hbWVdWyd0eXBlJ107CiAgICAkcmVzID0gJGZpZWxkdmFsOwogICAgc3dpdGNoKCAkZmllbGR0eXBlICkgewogICAgY2FzZSAnY2hlY2tib3gnOgogICAgICBpZiggIWlzX251bGwoJHJlcykgKSAkcmVzID0gJG1vZC0+TGFuZygncHJvbXB0XycuJHJlcyk7CiAgICAgIGJyZWFrOwogICAgY2FzZSAndGV4dGFyZWEnOgogICAgICAkcmVzID0gJyc7CiAgICAgIGJyZWFrOwogICAgY2FzZSAnZHJvcGRvd24nOgogICAgY2FzZSAnaW1hZ2UnOgogICAgY2FzZSAnZmlsZSc6CiAgICAgIGJyZWFrOwogICAgY2FzZSAnZGltZW5zaW9ucyc6CiAgICAgIHsKCWlmKCBpc19hcnJheSgkcmVzKSAmJiAkcmVzWydsZW5ndGgnXSA+IDAgJiYgJHJlc1snd2lkdGgnXSA+IDAgJiYgJHJlc1snaGVpZ2h0J10gPiAwICkgewoJICAkcmVzID0gc3ByaW50ZignJXM6ICVkLCAlczogJWQsICVzOiAlZCcsCgkJCSAkbW9kLT5MYW5nKCdhYmJyX2xlbmd0aCcpLCRyZXNbJ2xlbmd0aCddLAoJCQkgJG1vZC0+TGFuZygnYWJicl93aWR0aCcpLCRyZXNbJ3dpZHRoJ10sCgkJCSAkbW9kLT5MYW5nKCdhYmJyX2hlaWdodCcpLCRyZXNbJ2hlaWdodCddKTsKCX0KCWVsc2UgewoJICAkcmVzID0gJG1vZC0+TGFuZygnbm9uZScpOwoJfQogICAgICB9CiAgICAgIGJyZWFrOwogICAgY2FzZSAnc3Vic2NyaXB0aW9uJzoKICAgICAgewoJaWYoIGlzX2FycmF5KCRyZXMpICYmICRyZXNbJ3BheXBlcmlvZCddICE9IC0xICYmICRyZXNbJ2RlbHBlcmlvZCddICE9IC0xICkgewoJICAkc3Vic2NyaWJlX29wdHMgPSBhcnJheSgpOwoJICAkc3Vic2NyaWJlX29wdHNbLTFdID0gJG1vZC0+TGFuZygnbm9uZScpOwoJICAkc3Vic2NyaWJlX29wdHNbJ21vbnRobHknXSA9ICRtb2QtPkxhbmcoJ3N1YnNjcl9tb250aGx5Jyk7CgkgICRzdWJzY3JpYmVfb3B0c1sncXVhcnRlcmx5J10gPSAkbW9kLT5MYW5nKCdzdWJzY3JfcXVhcnRlcmx5Jyk7CgkgICRzdWJzY3JpYmVfb3B0c1snc2VtaWFudWFsbHknXSA9ICRtb2QtPkxhbmcoJ3N1YnNjcl9zZW1pYW51YWxseScpOwoJICAkc3Vic2NyaWJlX29wdHNbJ3llYXJseSddID0gJG1vZC0+TGFuZygnc3Vic2NyX3llYXJseScpOwoKCSAgJGV4cGlyZV9vcHRzID0gYXJyYXkoKTsKCSAgJGV4cGlyZV9vcHRzWyRtb2QtPkxhbmcoJ25vbmUnKV0gPSAtMTsKCSAgJGV4cGlyZV9vcHRzWyRtb2QtPkxhbmcoJ2V4cGlyZV9zaXhfbW9udGgnKV0gPSAnNic7CgkgICRleHBpcmVfb3B0c1skbW9kLT5MYW5nKCdleHBpcmVfb25lX3llYXInKV0gPSAnMTInOwoJICAkZXhwaXJlX29wdHNbJG1vZC0+TGFuZygnZXhwaXJlX3R3b195ZWFyJyldID0gJzI0JzsKCSAgJGV4cGlyZV9vcHRzID0gYXJyYXlfZmxpcCgkZXhwaXJlX29wdHMpOwoKCSAgJGV4cGlyeSA9ICdub25lJzsKCSAgaWYoICRmaWVsZHZhbFsnZXhwaXJlJ10gIT0gLTEgKSAkZXhwaXJ5ID0gJGZpZWxkdmFsWydleHBpcmUnXTsKCSAgJHJlcyA9IHNwcmludGYoJyVzOiAlcywgJXM6ICVzLCAlczogJXMnLAoJCQkgJG1vZC0+TGFuZygnc3Vic2NyX3BheXBlcmlvZDInKSwkZmllbGR2YWxbJ3BheXBlcmlvZCddLAoJCQkgJG1vZC0+TGFuZygnc3Vic2NyX2RlbHBlcmlvZDInKSwkZmllbGR2YWxbJ2RlbHBlcmlvZCddLAoJCQkgJG1vZC0+TGFuZygnc3Vic2NyX2V4cGlyeTInKSwkZXhwaXJ5KTsKCX0KCWVsc2UgewoJICAkcmVzID0gJG1vZC0+TGFuZygnbm9uZScpOwoJfQogICAgICB9CiAgICAgIGJyZWFrOwogICAgfQoKICAgIHJldHVybiAkcmVzOwogIH0KCgogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gaGllcmFyY2h5X2dldF90cmVlKCRwYXJlbnRfaWQgPSAtMSwkc2hvd2FsbCA9IDAsJGNhbGxiYWNrX2ZuID0gJycpCiAgewogICAgJGhpZXJhcmNoeV9tYXAgPSBoaWVyYXJjaHlfb3BzOjpnZXRfYWxsX2hpZXJhcmNoeV9pbmZvKFRSVUUsJHNob3dhbGwpOwogICAgaWYoICFpc19hcnJheSgkaGllcmFyY2h5X21hcCkgfHwgY291bnQoJGhpZXJhcmNoeV9tYXApID09IDAgKSByZXR1cm4gRkFMU0U7CgogICAgJG91dCA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkaGllcmFyY2h5X21hcCBhcyAkb25laGllciApIHsKICAgICAgaWYoICRvbmVoaWVyWydwYXJlbnRfaWQnXSAhPSAkcGFyZW50X2lkICkgY29udGludWU7CiAgICAgIGlmKCAkY2FsbGJhY2tfZm4gIT0gJycgJiYgZnVuY3Rpb25fZXhpc3RzKCRjYWxsYmFja19mbikgKSAkY2FsbGJhY2tfZm4oJG9uZWhpZXIpOwogICAgICAkdG1wID0gc2VsZjo6aGllcmFyY2h5X2dldF90cmVlKCRvbmVoaWVyWydpZCddLCRzaG93YWxsLCRjYWxsYmFja19mbik7CiAgICAgIGlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApICRvbmVoaWVyWydjaGlsZHJlbiddID0gJHRtcDsKICAgICAgJG91dFtdID0gJG9uZWhpZXI7CiAgICB9CiAgICByZXR1cm4gJG91dDsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHVwZGF0ZV9oaWVyYXJjaHlfcG9zaXRpb25zKCkKICB7CiAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwoJCiAgICAkcXVlcnkgPSAiU0VMRUNUIGlkLCBpdGVtX29yZGVyLCBuYW1lIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkiOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7CiAgICBpZiggISRkYnJlc3VsdCApIHsgZWNobyAkZGItPnNxbC4nPGJyLz4nOyBkaWUoICRkYi0+RXJyb3JNc2coKSApOyB9CiAgICB3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpIHsKICAgICAgJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uID0gIiI7CiAgICAgICRjdXJyZW50X2xvbmdfbmFtZSA9ICIiOwogICAgICAkY29udGVudF9pZCA9ICRyb3dbJ2lkJ107CiAgICAgICRjdXJyZW50X3BhcmVudF9pZCA9ICRyb3dbJ2lkJ107CiAgICAgICRjb3VudCA9IDA7CgogICAgICB3aGlsZSAoJGN1cnJlbnRfcGFyZW50X2lkID4gLTEpIHsKCSRxdWVyeSA9ICJTRUxFQ1QgaWQsIGl0ZW1fb3JkZXIsIG5hbWUsIHBhcmVudF9pZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IAogICAgICAgICAgICAgICAgICBXSEVSRSBpZCA9ID8iOwoJJHJvdzIgPSAkZGItPkdldFJvdygkcXVlcnksIGFycmF5KCRjdXJyZW50X3BhcmVudF9pZCkpOwoJaWYgKCRyb3cyKSB7CgkgICRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN0cl9wYWQoJHJvdzJbJ2l0ZW1fb3JkZXInXSwgNSwgJzAnLCBTVFJfUEFEX0xFRlQpIC4gIi4iIC4gJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uOwoJICAkY3VycmVudF9sb25nX25hbWUgPSAkcm93MlsnbmFtZSddIC4gJyB8ICcgLiAkY3VycmVudF9sb25nX25hbWU7CgkgICRjdXJyZW50X3BhcmVudF9pZCA9ICRyb3cyWydwYXJlbnRfaWQnXTsKCSAgJGNvdW50Kys7Cgl9CgllbHNlIHsKCSAgJGN1cnJlbnRfcGFyZW50X2lkID0gMDsKCX0KICAgICAgfQoJCSAgCiAgICAgIGlmIChzdHJsZW4oJGN1cnJlbnRfaGllcmFyY2h5X3Bvc2l0aW9uKSA+IDApIHsKCSRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiA9IHN1YnN0cigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24sIDAsIHN0cmxlbigkY3VycmVudF9oaWVyYXJjaHlfcG9zaXRpb24pIC0gMSk7CiAgICAgIH0KCQkgIAogICAgICBpZiAoc3RybGVuKCRjdXJyZW50X2xvbmdfbmFtZSkgPiAwKSAkY3VycmVudF9sb25nX25hbWUgPSBzdWJzdHIoJGN1cnJlbnRfbG9uZ19uYW1lLCAwLCBzdHJsZW4oJGN1cnJlbnRfbG9uZ19uYW1lKSAtIDMpOwoJICAKICAgICAgJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSAKICAgICAgICAgICAgICAgIFNFVCBoaWVyYXJjaHkgPSA/LCBsb25nX25hbWUgPSA/IFdIRVJFIGlkID0gPyI7CiAgICAgICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50X2hpZXJhcmNoeV9wb3NpdGlvbiwgJGN1cnJlbnRfbG9uZ19uYW1lLCAkY29udGVudF9pZCkpOwogICAgfQogIH0KCgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gaGllcmFyY2h5X3NhdmVfdHJlZSgkdHJlZSwkZGVwdGggPSAwLCR1cGRhdGVfaGllcmFyY2h5ID0gVFJVRSkKICB7CiAgICAkcXVlcnkgPSAnVVBEQVRFICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IFNFVCBwYXJlbnRfaWQgPSA/LCBpdGVtX29yZGVyID0gPyBXSEVSRSBpZCA9ID8nOwogICAgJGRiID0gY21zbXMoKS0+R2V0RGIoKTsKICAgIGZvcmVhY2goICR0cmVlIGFzICYkbm9kZSApIHsKICAgICAgJGRiciA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJG5vZGVbJ3BhcmVudF9pZCddLCRub2RlWydpdGVtX29yZGVyJ10sJG5vZGVbJ2lkJ10pKTsKICAgICAgaWYoIGlzc2V0KCRub2RlWydjaGlsZHJlbiddKSApIHNlbGY6OmhpZXJhcmNoeV9zYXZlX3RyZWUoJG5vZGVbJ2NoaWxkcmVuJ10sJGRlcHRoKzEpOwogICAgfQoKICAgIGlmKCAkZGVwdGggPT0gMCAmJiAkdXBkYXRlX2hpZXJhcmNoeSApIHNlbGY6OnVwZGF0ZV9oaWVyYXJjaHlfcG9zaXRpb25zKCk7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfY2F0ZWdvcmllcygkYnlfbmFtZSA9IEZBTFNFKQogIHsKICAgIGlmKCBpc19udWxsKHNlbGY6OiRfY2F0ZWdvcnlfY2FjaGUpICkgewogICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgT1JERVIgQlkgbmFtZSBBU0MnOwogICAgICAkdG1wID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwogICAgICBzZWxmOjokX2NhdGVnb3J5X2NhY2hlID0gRkFMU0U7CiAgICAgIGlmKCBpc19hcnJheSgkdG1wKSAmJiBjb3VudCgkdG1wKSApIHsKCXNlbGY6OiRfY2F0ZWdvcnlfY2FjaGUgPSBhcnJheSgpOwoJZm9yZWFjaCggJHRtcCBhcyAkcm93ICkgewoJICAkcm93ID0gY2dlX2FycmF5Ojp0b19vYmplY3QoJHJvdyk7CgkgIHNlbGY6OiRfY2F0ZWdvcnlfY2FjaGVbJHJvdy0+aWRdID0gJHJvdzsKCX0KICAgICAgfQogICAgfQoKICAgIGlmKCAhJGJ5X25hbWUgKSByZXR1cm4gc2VsZjo6JF9jYXRlZ29yeV9jYWNoZTsKCiAgICBpZiggaXNfYXJyYXkoc2VsZjo6JF9jYXRlZ29yeV9jYWNoZSkgKSB7CiAgICAgICRvdXQgPSBhcnJheSgpOwogICAgICBmb3JlYWNoKCBzZWxmOjokX2NhdGVnb3J5X2NhY2hlIGFzICRyb3cgKSB7Cgkkb3V0WyRyb3ctPm5hbWVdID0gJHJvdzsKICAgICAgfQogICAgICByZXR1cm4gJG91dDsKICAgIH0KICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gZ2V0X2Z1bGxfY2F0ZWdvcmllcygkYnlfbmFtZSA9IEZBTFNFKQogIHsKICAgICRjYXRlZ29yaWVzID0gc2VsZjo6Z2V0X2NhdGVnb3JpZXMoKTsKICAgIGlmKCAhaXNfYXJyYXkoJGNhdGVnb3JpZXMpIHx8IGNvdW50KCRjYXRlZ29yaWVzKSA9PSAwICkgcmV0dXJuOwogICAgCiAgICAka2V5cyA9IGFycmF5X2tleXMoJGNhdGVnb3JpZXMpOwogICAgJGZpZCA9ICRrZXlzWzBdOyAvLyBmaXJzdCBmaWVsZC4KICAgIGlmKCAhaXNzZXQoc2VsZjo6JF9jYXRlZ29yeV9jYWNoZVskZmlkXS0+ZGF0YSkgKSB7CiAgICAgIC8vIHdlJ3JlIGdvbm5hIHVzZSB0aGUgc2FtZSBjYWNoZSBhZ2Fpbi4uLgogICAgICAkZGIgPSBjbXNtcygpLT5HZXREYigpOwogICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdQcm9kdWN0cycpOwogICAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAgICRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcnlfZmllbGRzIE9SREVSIEJZIGNhdGVnb3J5X2lkLGZpZWxkX29yZGVyJzsKICAgICAgJGRiciA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKICAgICAgZm9yZWFjaCggJGtleXMgYXMgJG9uZSApIHsKCSRjYXQgPSYgc2VsZjo6JF9jYXRlZ29yeV9jYWNoZVskb25lXTsKCWlmKCAhaXNzZXQoJGNhdC0+ZGF0YSkgKSAkY2F0LT5kYXRhID0gYXJyYXkoKTsKCSRjYXQtPmZpbGVfbG9jYXRpb24gPSAkY29uZmlnWyd1cGxvYWRzX3VybCddLicvJy4kbW9kLT5HZXROYW1lKCkuJy9jYXRlZ29yaWVzLycuJGNhdC0+aWQ7Cglmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkZGJyKTsgJGkrKyApIHsKCSAgLy8kY2F0aWQgPSAkZGJyWyRpXVsnY2F0ZWdvcnlfaWQnXTsKCSAgaWYoICRjYXQtPmlkID09ICRkYnJbJGldWydjYXRlZ29yeV9pZCddICkgICRjYXQtPmRhdGFbXSA9ICRkYnJbJGldOwoJfQogICAgICB9CiAgICB9CgogICAgaWYoICEkYnlfbmFtZSApIHJldHVybiBzZWxmOjokX2NhdGVnb3J5X2NhY2hlOwoKICAgIGlmKCBpc19hcnJheShzZWxmOjokX2NhdGVnb3J5X2NhY2hlKSApIHsKICAgICAgJG91dCA9IGFycmF5KCk7CiAgICAgIGZvcmVhY2goIHNlbGY6OiRfY2F0ZWdvcnlfY2FjaGUgYXMgJHJvdyApIHsKCSRvdXRbJHJvdy0+bmFtZV0gPSAkcm93OwogICAgICB9CiAgICAgIHJldHVybiAkb3V0OwogICAgfQogIH0KCiAgc3RhdGljIHB1YmxpYyBmdW5jdGlvbiBnZXRfZmllbGRkZWZzKCRhZG1pbiA9IGZhbHNlLCRwdWJsaWMgPSB0cnVlLCRhc19oYXNoID0gRkFMU0UpCiAgewogICAgaWYoICFpc19hcnJheShzZWxmOjokX2ZsZGRlZl9jYWNoZSkgKSB7CiAgICAgICRlbnRyeWFycmF5ID0gYXJyYXkoKTsKICAgICAgJGRiID0gY21zbXMoKS0+R2V0REIoKTsKCQkKICAgICAgaWYoICRhZG1pbiA9PSB0cnVlICYmICRwdWJsaWMgPT0gdHJ1ZSApIHsKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIE9SREVSIEJZIGl0ZW1fb3JkZXInOwogICAgICB9CiAgICAgIGVsc2UgaWYoICRwdWJsaWMgPT0gdHJ1ZSApIHsKCSRxdWVyeSA9ICdTRUxFQ1QgKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIFdIRVJFIHB1YmxpYyA+IDAgT1JERVIgQlkgaXRlbV9vcmRlcic7CiAgICAgIH0KICAgICAgZWxzZSB7CgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcyBXSEVSRSBhZG1pbl9vbmx5IDw9IDAgT1JERVIgQlkgaXRlbV9vcmRlcic7CiAgICAgIH0KICAgICAgJGRicmVzdWx0ID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoJCQogICAgICBpZiggaXNfYXJyYXkoJGRicmVzdWx0KSApIHsKCWZvcmVhY2goICRkYnJlc3VsdCBhcyAkcm93ICkgewoJICAkb25lcm93ID0gbmV3IHN0ZENsYXNzKCk7CgkJCQkKCSAgJG9uZXJvdy0+aWQgPSAkcm93WydpZCddOwoJICAkb25lcm93LT5uYW1lID0gJHJvd1snbmFtZSddOwoJICAkb25lcm93LT5wcm9tcHQgPSAkcm93Wydwcm9tcHQnXTsKCSAgJG9uZXJvdy0+dHlwZSA9ICRyb3dbJ3R5cGUnXTsKCSAgJHRtcCA9IGV4cGxvZGUoIlxuIiwkcm93WydvcHRpb25zJ10pOwoJICAkdG1wMiA9IGFycmF5KCk7CgkgIGZvcmVhY2goICR0bXAgYXMgJG9uZSApIHsKCSAgICAkb25lID0gdHJpbSgkb25lKTsKCSAgICAkdG1wMlskb25lXSA9ICRvbmU7CgkgIH0KCSAgJG9uZXJvdy0+b3B0aW9ucyA9ICR0bXAyOwoJICAkb25lcm93LT5tYXhfbGVuZ3RoID0gJHJvd1snbWF4X2xlbmd0aCddOwoJICAKCSAgJGVudHJ5YXJyYXlbXSA9ICRvbmVyb3c7Cgl9CiAgICAgIH0KICAgICAgc2VsZjo6JF9mbGRkZWZfY2FjaGUgPSAkZW50cnlhcnJheTsKICAgIH0KCiAgICBpZiggISRhc19oYXNoICkgcmV0dXJuIHNlbGY6OiRfZmxkZGVmX2NhY2hlOwoKICAgICRvdXQgPSBhcnJheSgpOwogICAgZm9yZWFjaCggc2VsZjo6JF9mbGRkZWZfY2FjaGUgYXMgJG9uZSApIHsKICAgICAgJG91dFskb25lLT5uYW1lXSA9ICRvbmU7CiAgICB9CiAgICByZXR1cm4gJG91dDsKICB9CgogIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gY2FuX2RvX3ByZXR0eSgkYWN0aW9uLCRwYXJhbXMpIHsKICAgIGlmKCAhaXNzZXQoJHBhcmFtc1snbm90cHJldHR5J10pICkgcmV0dXJuIFRSVUU7CgogICAgaWYoIHN0cnBvcygkcGFyYW1zWydub3RwcmV0dHknXSwnYWxsJykgIT09IEZBTFNFIHx8IHN0cnBvcygkcGFyYW1zWydub3RwcmV0dHknXSwkYWN0aW9uKSAhPT0gRkFMU0UgKSB7CiAgICAgIHJldHVybiBGQUxTRTsKICAgIH0KCiAgICByZXR1cm4gVFJVRTsKICB9Cn0gLy8gcHJvZHVjdCB1dGlscwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0gJHRoaXMtPkdldERiKCk7CgokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CiRmbGRzID0gIgoJaWQgSSBLRVkgQVVUTywKCXByb2R1Y3RfbmFtZSBDKDI1NSkgTk9UIE5VTEwsCglkZXRhaWxzIFgsCiAgICAgICAgcHJpY2UgRiwKCWNyZWF0ZV9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiLAoJbW9kaWZpZWRfZGF0ZSAiIC4gQ01TX0FET0RCX0RUIC4gIiwKICAgICAgICB0YXhhYmxlIEksCiAgICAgICAgc3RhdHVzIEMoNTApLAogICAgICAgIHdlaWdodCBGLAogICAgICAgIHNrdSAgICBDKDI1KSwKICAgICAgICBhbGlhcyAgQygyNTUpCiI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0cyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoKJGZsZHMgPSAiCglpZCBJIEtFWSBBVVRPLAoJbmFtZSBDKDI1NSkgTk9UIE5VTEwsCgljcmVhdGVfZGF0ZSAiIC4gQ01TX0FET0RCX0RUIC4gIiwKCW1vZGlmaWVkX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIKIjsKCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIiwgCgkJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgokZmxkcyA9ICIKCXByb2R1Y3RfaWQgSSBOT1QgTlVMTCwKCWNhdGVnb3J5X2lkIEkgTk9UIE5VTEwsCgljcmVhdGVfZGF0ZSAiIC4gQ01TX0FET0RCX0RUIC4gIiwKCW1vZGlmaWVkX2RhdGUgIiAuIENNU19BRE9EQl9EVDsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcyIsIAoJCQkJICAkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiRmbGRzID0gIgogICAgICAgIGNhdGVnb3J5X2lkIEksCiAgICAgICAgZmllbGRfdHlwZSAgQygyMCksCiAgICAgICAgZmllbGRfbmFtZSAgQygyNTUpLAogICAgICAgIGZpZWxkX3Byb21wdCBDKDI1NSksCiAgICAgICAgZmllbGRfdmFsdWUgIFgsCiAgICAgICAgZmllbGRfb3JkZXIgIEkKIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoKJGZsZHMgPSAiCglpZCBJIEtFWSBBVVRPLAoJbmFtZSBDKDI1NSkgTk9UIE5VTEwsCiAgICAgICAgcHJvbXB0IEMoMjU1KSwKCXR5cGUgQyg1MCksCgltYXhfbGVuZ3RoIEksCiAgICAgICAgb3B0aW9ucyBYLAoJY3JlYXRlX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIsCgltb2RpZmllZF9kYXRlICIgLiBDTVNfQURPREJfRFQgLiAiLAogICAgICAgIGl0ZW1fb3JkZXIgSSwKICAgICAgICBwdWJsaWMgSQoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIiwgCgkJJGZsZHMsICR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgokZmxkcyA9ICIKCXByb2R1Y3RfaWQgSSBLRVksCglmaWVsZGRlZl9pZCBJIEtFWSwKCXZhbHVlIFgsCgljcmVhdGVfZGF0ZSAiIC4gQ01TX0FET0RCX0RUIC4gIiwKCW1vZGlmaWVkX2RhdGUgIiAuIENNU19BRE9EQl9EVCAuICIKIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoKLyoKICogbm90IHVzZWQgYW55IG1vcmUsIGJ1dCBoZXJlIGZvciByZWZlcmVuY2UgdGVtcG9yYXJpbHkuCiRmbGRzID0gIgogICAgICAgIGF0dHJpYl9zZXRfaWQgSSBLRVkgQVVUTywKICAgICAgICBwcm9kdWN0X2lkIEkgS0VZLAogICAgICAgIGF0dHJpYl9zZXRfbmFtZSBDKDI1NSkgTk9UIE5VTEwKIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnNldHMiLCAKCQkkZmxkcywgJHRhYm9wdGFycmF5KTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCiRmbGRzID0gIgogICAgICAgIGF0dHJpYl9pZCBJIEtFWSBBVVRPLAogICAgICAgIGF0dHJpYl9zZXRfaWQgSSBLRVksCiAgICAgICAgYXR0cmliX3RleHQgICBDKDI1NSkgS0VZLAogICAgICAgIGF0dHJpYl9hZGp1c3RtZW50IEMoNTApLAogICAgICAgIHNrdSBDKDI1KQoiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfYXR0cmlidXRlcyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiovCgokZmxkcyA9ICJpZCBJIEtFWSBBVVRPLAogICAgICAgICBwcm9kdWN0X2lkIEkgS0VZIE5PVCBOVUxMLAogICAgICAgICB0ZXh0IEMoMjU1KSBLRVkgTk9UIE5VTEwsCiAgICAgICAgIGFkanVzdG1lbnQgQyg1MCksCiAgICAgICAgIHNrdSAgQygyNSksCiAgICAgICAgIHFvaCBJLAogICAgICAgICBub3RlcyBYIjsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnMnLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICJpZCBJIEtFWSBBVVRPLAogICAgICAgICBuYW1lIEMoMjU1KSBOT1QgTlVMTCwKICAgICAgICAgcGFyZW50X2lkIEksCiAgICAgICAgIGl0ZW1fb3JkZXIgSSwKICAgICAgICAgaGllcmFyY2h5IEMoMjU1KSwKICAgICAgICAgaW1hZ2UgQygyNTUpLAogICAgICAgICBsb25nX25hbWUgWCwKICAgICAgICAgZGVzY3JpcHRpb24gWCwKICAgICAgICAgZXh0cmExIEMoMjU1KSwKICAgICAgICAgZXh0cmEyIEMoMjU1KSI7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHknLAoJCQkJICAkZmxkcywkdGFib3B0YXJyYXkpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgokZmxkcyA9ICJwcm9kdWN0X2lkIEkgS0VZLAogICAgICAgICBoaWVyYXJjaHlfaWQgSSBLRVkiOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHRvaGllcicsCgkJCQkgICRmbGRzLCR0YWJvcHRhcnJheSk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiMKIyBJbmRleGVzCiMKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19uYW1lJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cycsJ3Byb2R1Y3RfbmFtZScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfc3RhdHVzJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cycsJ3N0YXR1cycpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfc3RhdHVzJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0cycsJ2FsaWFzJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19wcmljZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMnLCdwcmljZScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfZGF0ZXMnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzJywnY3JlYXRlX2RhdGUsbW9kaWZpZWRfZGF0ZScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfY2F0X25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMnLCduYW1lJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19wcm9kX2NhdCcsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzJywncHJvZHVjdF9pZCxjYXRlZ29yeV9pZCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfY2F0X3Byb2QnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcycsJ2NhdGVnb3J5X2lkLHByb2R1Y3RfaWQnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2NhdF9mbGRfbmFtZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcnlfZmllbGRzJywnY2F0ZWdvcnlfaWQsZmllbGRfbmFtZScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfZmxkZGVmX25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcycsJ25hbWUnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2ZsZGRlZl90eXBlJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMnLCd0eXBlJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19mbGR2YWxfcHJvZF9kZWYnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWx2YWxzJywncHJvZHVjdF9pZCxmaWVsZGRlZl9pZCcpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfZmxkdmFsX2RlZl9wcm9kJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsdmFscycsJ2ZpZWxkZGVmX2lkLHByb2R1Y3RfaWQnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2hpZXJfbmFtZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5JywnbmFtZScpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfaGllcl9uYW1lJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHknLCduYW1lJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19oaWVyX3BhcmVudCcsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5JywncGFyZW50X2lkJyk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19oaWVyX2xvbmduYW1lJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHknLCdsb25nX25hbWUnKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2hpZXJfaGllcmFyY2h5JyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHknLCdoaWVyYXJjaHknKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzJywncHJvZHVjdF9hbGlhcycpOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoKCiMKIyBUZW1wbGF0ZXMKIwoKCiMgU2V0dXAgc3VtbWFyeSB0ZW1wbGF0ZQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX3N1bW1hcnlfdGVtcGxhdGUudHBsJyk7CmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQogIHsKICAgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCAkZm4gKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfTkVXU1VNTUFSWV9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzdW1tYXJ5X1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVFNVTU1BUllfVEVNUExBVEUsJ1NhbXBsZScpOwogIH0KCiMgU2V0dXAgZGV0YWlsIHRlbXBsYXRlCiRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfZGV0YWlsX3RlbXBsYXRlLnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkKICB7CiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cyggJGZuICk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV0RFVEFJTF9URU1QTEFURSwkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdkZXRhaWxfU2FtcGxlJywkdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUREVUQUlMX1RFTVBMQVRFLCdTYW1wbGUnKTsKICB9CgojIFNldHVwIGRlZmF1bHQgaGllcmFyY2h5IHJlcG9ydCB0ZW1wbGF0ZQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX2J5aGllcmFyY2h5X3RlbXBsYXRlLnRwbCcpOwppZiggZmlsZV9leGlzdHMoICRmbiApICkKICB7CiAgICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cyggJGZuICk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV0JZSElFUkFSQ0hZX1RFTVBMQVRFLCR0ZW1wbGF0ZSk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2J5aGllcmFyY2h5X1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVEJZSElFUkFSQ0hZX1RFTVBMQVRFLCdTYW1wbGUnKTsKICB9CgojIFNldHVwIGRlZmF1bHQgY2F0ZWdvcnkgbGlzdCB0ZW1wbGF0ZQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX2NhdGVnb3J5bGlzdF90ZW1wbGF0ZS50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoICRmbiApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdDQVRFR09SWUxJU1RfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnY2F0ZWdvcnlsaXN0X1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVENBVEVHT1JZTElTVF9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKIyBTZXR1cCBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZQokZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX3NlYXJjaF90ZW1wbGF0ZS50cGwnKTsKaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCiAgewogICAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoICRmbiApOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdTRUFSQ0hfVEVNUExBVEUsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VhcmNoX1NhbXBsZScsJHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVFNFQVJDSF9URU1QTEFURSwnU2FtcGxlJyk7CiAgfQoKCiNTZXQgUGVybWlzc2lvbgokdGhpcy0+Q3JlYXRlUGVybWlzc2lvbignTW9kaWZ5IFByb2R1Y3RzJywgJ01vZGlmeSBQcm9kdWN0cycpOwoKI1ByZWZlcmVuY2VzCiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdwcm9kdWN0c19jdXJyZW5jeXN5bWJvbCcsJyQnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Byb2R1Y3RzX3dlaWdodHVuaXRzJywna2cnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsbG93ZWRfaW1hZ2V0eXBlcycsJ2pwZyxqcGVnLGdpZixwbmcnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsbG93ZWRfZmlsZXR5cGVzJywncGRmLGRvYyx0eHQsanBnLGpwZWcsZ2lmLHBuZycpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b3RodW1ibmFpbCcsMSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdkZWxldGVwcm9kdWN0ZmlsZXMnLDEpOwoKIyBFdmVudHMKJHRoaXMtPkFkZEV2ZW50SGFuZGxlcignQ0dFY29tbWVyY2VCYXNlJywnT3JkZXJVcGRhdGVkJyxGQUxTRSk7CgojCiMgRU9GCiMKPz4K]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmICghaXNzZXQoJGdDbXMpKSBleGl0OwoKJGRiID0gJHRoaXMtPkdldERiKCk7CgokZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19wcm9kdWN0X2NhdGVnb3JpZXMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIiApOwokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7Cgokc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCi8qCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnNldHMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKKi8KCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnMiICk7CiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTCggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfcHJvZHRvaGllciIgKTsKJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKJHRoaXMtPkRlbGV0ZVRlbXBsYXRlKCk7CiR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKCk7CiR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNb2RpZnkgUHJvZHVjdHMnKTsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMgVmVyc2lvbjogMS4xLjUKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNSBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpCiMgVGhpcyBwcm9qZWN0J3MgaG9tZXBhZ2UgaXM6IGh0dHA6Ly93d3cuY21zbWFkZXNpbXBsZS5vcmcKIwojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KIwojIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24gdG8gdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBkaXN0cmlidXRlZAojIGFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQojIGluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMKIyBNYWRlIHNpbXBsZSB0aGF0IGRvZXMgbm90IGluZGljYXRlIGNsZWFybHkgYW5kIG9idmlvdXNseSBpbiBpdHMgYWRtaW4gCiMgc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS4KIwojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCiMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiNFTkRfTElDRU5TRQoKc3dpdGNoKCAkb2xkdmVyc2lvbiApCiAgewogIGNhc2UgJzEuMCc6CiAgY2FzZSAnMS4wLjEnOgogICAgewogICAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICAgJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOwogICAgICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoKICAgICAgJGZsZHMgPSAiCiAgICAgICAgYXR0cmliX3NldF9pZCBJIEtFWSBBVVRPLAogICAgICAgIHByb2R1Y3RfaWQgSSBLRVksCiAgICAgICAgYXR0cmliX3NldF9uYW1lIEMoMjU1KQogICAgICAiOwogICAgICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfYXR0cmlic2V0cyIsIAoJCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgogICAgICAkZmxkcyA9ICIKICAgICAgICBhdHRyaWJfc2V0X2lkIEkgS0VZLAogICAgICAgIGF0dHJpYl90ZXh0ICAgQygyNTUpIEtFWSwKICAgICAgICBhdHRyaWJfYWRqdXN0bWVudCBDKDUwKQogICAgICAiOwogICAgICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfYXR0cmlidXRlcyIsIAoJCQkJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICB9CgoKICBjYXNlICcyLjAnOgogIGNhc2UgJzIuMC4xJzoKICBjYXNlICcyLjAuMic6CiAgICB7CiAgICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiAgICAgICR0YWJvcHRhcnJheSA9IGFycmF5KCdteXNxbCcgPT4gJ1RZUEU9TXlJU0FNJyk7CgogICAgICAkZmxkcyA9ICIKICAgICAgICAgIGNhdGVnb3J5X2lkIEksCiAgICAgICAgICBmaWVsZF90eXBlICBDKDIwKSwKICAgICAgICAgIGZpZWxkX25hbWUgIEMoMjU1KSwKICAgICAgICAgIGZpZWxkX3Byb21wdCBDKDI1NSksCiAgICAgICAgICBmaWVsZF92YWx1ZSAgWAogICAgICAiOwogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcnlfZmllbGRzIiwgCgkgICAgICRmbGRzLCAkdGFib3B0YXJyYXkpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICB9CgogIGNhc2UgJzIuMSc6CiAgICB7CiAgICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgICAkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMnOwogICAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiAgICAgICRkYXRhID0gJGRiLT5HZXRBcnJheSgkcXVlcnkpOwoKICAgICAgJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJ1dGVzJyk7CiAgICAgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCiAgICAgICRmbGRzID0gIgogICAgICAgIGF0dHJpYl9pZCBJIEtFWSBBVVRPLAogICAgICAgIGF0dHJpYl9zZXRfaWQgSSwKICAgICAgICBhdHRyaWJfdGV4dCAgIEMoMjU1KSwKICAgICAgICBhdHRyaWJfYWRqdXN0bWVudCBDKDUwKQogICAgICAiOwogICAgICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHNfYXR0cmlidXRlcyIsIAoJCSRmbGRzLCAkdGFib3B0YXJyYXkpOwogICAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgogICAgICAkcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJ1dGVzCiAgICAgICAgICAgICAgICAoYXR0cmliX3NldF9pZCwgYXR0cmliX3RleHQsIGF0dHJpYl9hZGp1c3RtZW50KQogICAgICAgICAJICAgIFZBTFVFUyAoPyw/LD8pJzsKICAgICAgZm9yZWFjaCggJGRhdGEgYXMgJG9uZSApCiAgICAgIHsKICAgICAgICAkZGItPkV4ZWN1dGUoJHF1ZXJ5LAogICAgICAgICAgIGFycmF5KCRvbmVbJ2F0dHJpYl9zZXRfaWQnXSwkb25lWydhdHRyaWJfdGV4dCddLCRvbmVbJ2F0dHJpYl9hZGp1c3RtZW50J10pKTsKICAgICAgfQogICAgfQogCiAgY2FzZSAnMi4xLjInOgoJewoJICAkbmV3bmFtZSA9IHN0cl9yZXBsYWNlKCcuJywnXycsJ3VwZ3JhZGVfdG9fJy4kdGhpcy0+R2V0VmVyc2lvbigpKTsKCSAgCgkgIC8vIHNldHVwIGEgbmV3IGRlZmF1bHQgc3VtbWFyeSB0ZW1wbGF0ZS4KCSAgLy8gYnV0IGRvbid0IGRlc3Ryb3kgYW55IG90aGVycy4KCSAgJGZuID0gY21zX2pvaW5fcGF0aChkaXJuYW1lKF9fRklMRV9fKSwndGVtcGxhdGVzJywnb3JpZ19zdW1tYXJ5X3RlbXBsYXRlLnRwbCcpOwoJICBpZiggZmlsZV9leGlzdHMoICRmbiApICkKCQl7CgkJICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cyggJGZuICk7CgkJICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3N1bW1hcnlfJy4kbmV3bmFtZSwkdGVtcGxhdGUpOwoJCSAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUU1VNTUFSWV9URU1QTEFURSwkbmV3bmFtZSk7CgkJfQoKCSAgLy8gc2V0dXAgYSBuZXcgZGVmYXVsdCBkZXRhaWwgdGVtcGxhdGUuCgkgIC8vIGJ1dCBkb24ndCBkZXN0cm95IGFueSBvdGhlcnMuCgkgICRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfZGV0YWlsX3RlbXBsYXRlLnRwbCcpOwoJICBpZiggZmlsZV9leGlzdHMoICRmbiApICkKCQl7CgkJICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cyggJGZuICk7CgkJICAkdGhpcy0+U2V0VGVtcGxhdGUoJ2RldGFpbF8nLiRuZXduYW1lLCR0ZW1wbGF0ZSk7CgkJICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX0RGTFRERVRBSUxfVEVNUExBVEUsJG5ld25hbWUpOwoJCX0KCgkgIC8vIHNldHVwIGEgbmV3IGRlZmF1bHQgYnloaWVyYXJjaHkgdGVtcGxhdGUuCgkgIC8vIGJ1dCBkb24ndCBkZXN0cm95IGFueSBvdGhlcnMuCgkgICRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfYnloaWVyYXJjaHlfdGVtcGxhdGUudHBsJyk7CgkgIGlmKCBmaWxlX2V4aXN0cyggJGZuICkgKQoJCXsKCQkgICR0ZW1wbGF0ZSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCAkZm4gKTsKCQkgICR0aGlzLT5TZXRUZW1wbGF0ZSgnYnloaWVyYXJjaHlfJy4kbmV3bmFtZSwkdGVtcGxhdGUpOwoJCSAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUQllISUVSQVJDSFlfVEVNUExBVEUsJG5ld25hbWUpOwoJCX0KCgkgIC8vIHNldHVwIGEgbmV3IGRlZmF1bHQgY2F0ZWdvcnlsaXN0IHRlbXBsYXRlLgoJICAvLyBidXQgZG9uJ3QgZGVzdHJveSBhbnkgb3RoZXJzLgoJICAkZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX2NhdGVnb3J5bGlzdF90ZW1wbGF0ZS50cGwnKTsKCSAgaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCgkJewoJCSAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoICRmbiApOwoJCSAgJHRoaXMtPlNldFRlbXBsYXRlKCdjYXRlZ29yeWxpc3RfJy4kbmV3bmFtZSwkdGVtcGxhdGUpOwoJCSAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUQ0FURUdPUllMSVNUX1RFTVBMQVRFLCRuZXduYW1lKTsKCQl9CgoJfSAvLyAyLjEuMQoKICBjYXNlICcyLjInOgogIGNhc2UgJzIuMi4xJzoKICBjYXNlICcyLjIuMic6CiAgY2FzZSAnMi4yLjMnOgogIGNhc2UgJzIuMi40JzoKCXsKICAgICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfbmFtZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMnLCdwcm9kdWN0X25hbWUnKTsKCSAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX3N0YXR1cycsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMnLCdwcm9kdWN0X3N0YXR1cycpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfcHJpY2UnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzJywncHJvZHVjdF9wcmljZScpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfZGF0ZXMnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzJywnY3JlYXRlX2RhdGUsbW9kaWZpZWRfZGF0ZScpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfY2F0X25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMnLCduYW1lJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19wcm9kX2NhdCcsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfcHJvZHVjdF9jYXRlZ29yaWVzJywncHJvZHVjdF9pZCxjYXRlZ29yeV9pZCcpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfY2F0X3Byb2QnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcycsJ2NhdGVnb3J5X2lkLHByb2R1Y3RfaWQnKTsKCSAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2NhdF9mbGRfbmFtZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfY2F0ZWdvcnlfZmllbGRzJywnY2F0ZWdvcnlfaWQsZmllbGRfbmFtZScpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfZmxkZGVmX25hbWUnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkZGVmcycsJ25hbWUnKTsKCSAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2ZsZGRlZl90eXBlJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMnLCd0eXBlJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19mbGR2YWxfcHJvZF9kZWYnLGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWx2YWxzJywncHJvZHVjdF9pZCxmaWVsZGRlZl9pZCcpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfZmxkdmFsX2RlZl9wcm9kJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsdmFscycsJ2ZpZWxkZGVmX2lkLHByb2R1Y3RfaWQnKTsKCSAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2hpZXJfbmFtZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5JywnbmFtZScpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfaGllcl9uYW1lJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHknLCduYW1lJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19oaWVyX3BhcmVudCcsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5JywncGFyZW50X2lkJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZUluZGV4U1FMKCdwcm9kdWN0c19oaWVyX2xvbmduYW1lJyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHknLCdsb25nX25hbWUnKTsKCSAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoJICAkc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlSW5kZXhTUUwoJ3Byb2R1Y3RzX2hpZXJfaGllcmFyY2h5JyxjbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHknLCdoaWVyYXJjaHknKTsKCSAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCSAgJHNxbGFycmF5ID0gJGRpY3QtPkFkZENvbHVtblNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9wcm9kdWN0c19oaWVyYXJjaHkiLCAiZXh0cmExIEMoMjU1KSxleHRyYTIgQygyNTUpIik7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgl9CgogIGNhc2UgJzIuMyc6CiAgY2FzZSAnMi4zLjEnOgoJewoJICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b190aHVtYm5haWxfc2l6ZScsNzUpOwoJICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b3ByZXZpZXdpbWcnLDApOwoJICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnYXV0b19wcmV2aWV3aW1nX3NpemUnLDE1MCk7CgkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCdwcm9kdWN0cycpOwoJfQoKICBjYXNlICcyLjQnOgogIGNhc2UgJzIuNC4xJzoKICBjYXNlICcyLjQuMic6CiAgY2FzZSAnMi40LjMnOgogIGNhc2UgJzIuNC40JzoKICBjYXNlICcyLjQuNSc6CiAgY2FzZSAnMi40LjYnOgogIGNhc2UgJzIuNC43JzoKICBjYXNlICcyLjQuOCc6Cgl7CiAgICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgoJICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzIiwgInNrdSBDKDI1KSIpOwoJICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJICAkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnV0ZXMiLCAic2t1IEMoMjUpIik7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCX0KCiAgY2FzZSAnMi41JzoKCXsKICAgICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAgICRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsKCgkgICRzcWxhcnJheSA9ICRkaWN0LT5BZGRDb2x1bW5TUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfcHJvZHVjdHMiLCAiYWxpYXMgQygyNTUpIik7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVJbmRleFNRTCgncHJvZHVjdHNfbmFtZScsY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHMnLCdwcm9kdWN0X2FsaWFzJyk7CgkgICRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgl9CgogIGNhc2UgJzIuNic6CiAgY2FzZSAnMi42LjEnOgogIGNhc2UgJzIuNi4yJzoKICBjYXNlICcyLjcnOgoJewoJICAvLyBTZXR1cCBkZWZhdWx0IHNlYXJjaCB0ZW1wbGF0ZQoJICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV1NFQVJDSF9URU1QTEFURSk7CgkgICR0aGlzLT5SZW1vdmVQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVFNFQVJDSF9URU1QTEFURSk7CgkgICRmbiA9IGNtc19qb2luX3BhdGgoZGlybmFtZShfX0ZJTEVfXyksJ3RlbXBsYXRlcycsJ29yaWdfc2VhcmNoX3RlbXBsYXRlLnRwbCcpOwoJICBpZiggZmlsZV9leGlzdHMoICRmbiApICkKCQl7CgkJICAkdGVtcGxhdGUgPSBmaWxlX2dldF9jb250ZW50cyggJGZuICk7CgkJICAkdGhpcy0+U2V0UHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX05FV1NFQVJDSF9URU1QTEFURSwkdGVtcGxhdGUpOwoJCSAgJHRoaXMtPlNldFRlbXBsYXRlKCdzZWFyY2hfU2FtcGxlJywkdGVtcGxhdGUpOwoJCSAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ERkxUU0VBUkNIX1RFTVBMQVRFLCdTYW1wbGUnKTsKCQl9Cgl9CgogIGNhc2UgJzIuNy4xJzoKICBjYXNlICcyLjcuMic6CiAgY2FzZSAnMi43LjMnOgogIGNhc2UgJzIuNy40JzoKCXsKCSAgLy8gU2V0dXAgZGVmYXVsdCBzZWFyY2ggdGVtcGxhdGUKCSAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdTRUFSQ0hfVEVNUExBVEUpOwoJICAkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZShQUk9EVUNUU19QUkVGX0RGTFRTRUFSQ0hfVEVNUExBVEUpOwoJICAkZm4gPSBjbXNfam9pbl9wYXRoKGRpcm5hbWUoX19GSUxFX18pLCd0ZW1wbGF0ZXMnLCdvcmlnX3NlYXJjaF90ZW1wbGF0ZS50cGwnKTsKCSAgaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApCgkJewoJCSAgJHRlbXBsYXRlID0gZmlsZV9nZXRfY29udGVudHMoICRmbiApOwoJCSAgJHRoaXMtPlNldFByZWZlcmVuY2UoUFJPRFVDVFNfUFJFRl9ORVdTRUFSQ0hfVEVNUExBVEUsJHRlbXBsYXRlKTsKCQkgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VhcmNoX1NhbXBsZScsJHRlbXBsYXRlKTsKCQkgICR0aGlzLT5TZXRQcmVmZXJlbmNlKFBST0RVQ1RTX1BSRUZfREZMVFNFQVJDSF9URU1QTEFURSwnU2FtcGxlJyk7CgkJfQoJfQoKCS8vIGFkZCBhIG5ldyBmaWVsZCB0byB0aGUgY2F0ZWdvcnkgZmllbGRzIHRhYmxlLgoJJGRiID0gJHRoaXMtPkdldERiKCk7CgkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7Cgkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyIsICJmaWVsZF9vcmRlciBJIik7CgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJLy8gbm93IHVwZGF0ZSB0aGUgY2F0ZWdvcnkgZmllbGRzIHN0dWZmLgoJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMKICAgICAgICAgICAgICAgT1JERVIgQlkgY2F0ZWdvcnlfaWQsZmllbGRfbmFtZSc7CgkkZGF0YSA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCSRwcmV2X2NhdGVnb3J5X2lkID0gLTE7Cgkkb3JkZXIgPSAwOwoJZm9yZWFjaCgkZGF0YSBhcyAkcm93KQoJICB7CgkJaWYoICRyb3dbJ2NhdGVnb3J5X2lkJ10gIT0gJHByZXZfY2F0ZWdvcnlfaWQgKQoJCSAgewoJCQkkb3JkZXIgPSAwOwoJCSAgfQoKCQkkcm93WydmaWVsZF9vcmRlciddID0gJG9yZGVyOwoJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMKICAgICAgICAgICAgICAgICAgICAgU0VUIGZpZWxkX29yZGVyID0gPyBXSEVSRSBjYXRlZ29yeV9pZCA9ID8gQU5EIGZpZWxkX25hbWUgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRvcmRlciwkcm93WydjYXRlZ29yeV9pZCddLCRyb3dbJ2ZpZWxkX25hbWUnXSkpOwoKCQkkb3JkZXIrKzsKCQkkcHJldl9jYXRlZ29yeV9pZCA9ICRyb3dbJ2NhdGVnb3J5X2lkJ107CgkgIH0KCiAgY2FzZSAnMi43LjUnOgoJLy8gbm93IHJlLW9yZGVyIGNhdGVnb3J5IGZpZWxkIHN0dWZmIGFnYWluLgoJJHF1ZXJ5ID0gJ1NFTEVDVCAqIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMKICAgICAgICAgICAgICAgT1JERVIgQlkgY2F0ZWdvcnlfaWQsZmllbGRfbmFtZSc7CgkkZGF0YSA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5KTsKCSRwcmV2X2NhdGVnb3J5X2lkID0gLTE7Cgkkb3JkZXIgPSAwOwoJZm9yZWFjaCgkZGF0YSBhcyAkcm93KQoJICB7CgkJaWYoICRyb3dbJ2NhdGVnb3J5X2lkJ10gIT0gJHByZXZfY2F0ZWdvcnlfaWQgKQoJCSAgewoJCQkkb3JkZXIgPSAwOwoJCSAgfQoKCQkkcm93WydmaWVsZF9vcmRlciddID0gJG9yZGVyOwoJCSRxdWVyeSA9ICdVUERBVEUgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yeV9maWVsZHMKICAgICAgICAgICAgICAgICAgICAgU0VUIGZpZWxkX29yZGVyID0gPyBXSEVSRSBjYXRlZ29yeV9pZCA9ID8gQU5EIGZpZWxkX25hbWUgPSA/JzsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRvcmRlciwkcm93WydjYXRlZ29yeV9pZCddLCRyb3dbJ2ZpZWxkX25hbWUnXSkpOwoKCQkkb3JkZXIrKzsKCQkkcHJldl9jYXRlZ29yeV9pZCA9ICRyb3dbJ2NhdGVnb3J5X2lkJ107CgkgIH0KCiAgfQoKaWYoIHZlcnNpb25fY29tcGFyZSgkb2xkdmVyc2lvbiwnMi4xNCcpIDwgMCApCiAgewoJZnVuY3Rpb24gcHJvZHVjdHNfaGllcnRyZWVfdXBkYXRlX29yZGVyKCYkdHJlZSkKCXsKCSAgJG9yZGVyID0gMTsKCSAgZm9yZWFjaCggJHRyZWUgYXMgJiRub2RlICkKCQl7CgkJICAkbm9kZVsnaXRlbV9vcmRlciddID0gJG9yZGVyKys7CgkJICBpZiggaXNzZXQoJG5vZGVbJ2NoaWxkcmVuJ10pICkKCQkJewoJCQkgIHByb2R1Y3RzX2hpZXJ0cmVlX3VwZGF0ZV9vcmRlcigkbm9kZVsnY2hpbGRyZW4nXSk7CgkJCX0KCQl9Cgl9CgoJJGRiID0gJHRoaXMtPkdldERiKCk7CgkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7Cgkkc3FsYXJyYXkgPSAkZGljdC0+QWRkQ29sdW1uU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeSIsICJpdGVtX29yZGVyIEkiKTsKCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsKCgkkdHJlZSA9IHByb2R1Y3RfdXRpbHM6OmhpZXJhcmNoeV9nZXRfdHJlZSgpOwoJcHJvZHVjdHNfaGllcnRyZWVfdXBkYXRlX29yZGVyKCR0cmVlKTsKCXByb2R1Y3RfdXRpbHM6OmhpZXJhcmNoeV9zYXZlX3RyZWUoJHRyZWUpOwogIH0KCgppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCcyLjE0JykgPCAwICkKICB7CgkkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCdDR0Vjb21tZXJjZUJhc2UnLCdPcmRlclVwZGF0ZWQnLEZBTFNFKTsKICB9CgppZiggdmVyc2lvbl9jb21wYXJlKCRvbGR2ZXJzaW9uLCcyLjE5JykgPCAwICkKICB7CgkkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CgkkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoKCSRmbGRzID0gImlkIEkgS0VZIEFVVE8sCiAgICAgICAgICAgICBwcm9kdWN0X2lkIEkgS0VZIE5PVCBOVUxMLAogICAgICAgICAgICAgdGV4dCBDKDI1NSkgS0VZIE5PVCBOVUxMLAogICAgICAgICAgICAgYWRqdXN0bWVudCBDKDUwKSwKICAgICAgICAgICAgIHNrdSAgQygyNSksCiAgICAgICAgICAgICBxb2ggSSwKICAgICAgICAgICAgIG5vdGVzIFgiOwoJJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2F0dHJpYnMnLAoJCQkJCQkJCQkgICRmbGRzLCR0YWJvcHRhcnJheSk7CgkkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CgoJc2V0X3RpbWVfbGltaXQoOTk5OSk7CgoJLy8gbG9hZCBhbGwgZXhpc3Rpbmcgc2t1cwoJJHF1ZXJ5ID0gJ1NFTEVDVCBza3UgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzIE9SREVSIEJZIHNrdSc7Cgkkc2t1cyA9ICRkYi0+R2V0Q29sKCRxdWVyeSk7CglpZiggaXNfYXJyYXkoJHNrdXMpICkgewoJICAkdG1wID0gYXJyYXlfdW5pcXVlKCRza3VzKTsKCSAgaWYoIGNvdW50KCR0bXApIDwgY291bnQoJHNrdXMpICkgewoJCWF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ1dBUk5JTkc6IFByb2R1Y3RzIG1vZHVsZSB1cGdyYWRlIGRldGVjdGVkIGR1cGxpY2F0ZSBza3UgdmFsdWVzIGluIHRoZSBkYXRhYmFzZScpOwoJCSRza3VzID0gJHRtcDsKCSAgfQoJfQoJCiAJLy8gY29udmVydCBhdHRyaWJzZXRzIGFuZCBhdHRyaWJ1dGVzIHRvICJhdHRyaWJzIgoJLy8gdGV4dF9mb3JtYXQgPSBzZXRfbmFtZSA6IGF0dHJpYl90ZXh0JwoJJHF1ZXJ5ID0gJ1NFTEVDVCBTLiosQS4qIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJzZXRzIFMKICAgICAgICAgICAgICBMRUZUIEpPSU4gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJ1dGVzIEEKICAgICAgICAgICAgICBPTiBTLmF0dHJpYl9zZXRfaWQgPSBBLmF0dHJpYl9zZXRfaWQnOwoKCSRpcXVlcnkgPSAnSU5TRVJUIElOVE8gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19hdHRyaWJzCiAgICAgICAgICAgICAgIChwcm9kdWN0X2lkLHRleHQsYWRqdXN0bWVudCxza3UscW9oLG5vdGVzKQogICAgICAgICAgICAgICBWQUxVRVMgKD8sPyw/LD8sPyw/KSc7CgkkZGJyID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7Cgkkbm90ZXMgPSAnVXBncmFkZWQgZnJvbSBQcm9kdWN0cyAnLiRvbGR2ZXJzaW9uLicgYXQgJy5zdHJmdGltZSgnJXggJVgnKS4iXG5Ob3RlLCBhdHRyaWJ1dGUgY29tYmluYXRpb25zIHdlcmUgbm90IGltcG9ydGVkLiI7Cgl3aGlsZSggISRkYnItPkVPRiApIHsKCSAgJHJvdyA9ICRkYnItPmZpZWxkczsKCgkgICR0ZXh0ID0gc3ByaW50ZignJXMgOiAlcycsc3Vic3RyKCRyb3dbJ2F0dHJpYl9zZXRfbmFtZSddLDAsMzApLHN1YnN0cigkcm93WydhdHRyaWJfdGV4dCddLDAsMjU1LTMwLTMpKTsKCSAgJHNrdSA9ICRyb3dbJ3NrdSddOwoJICBpZiggaW5fYXJyYXkoJHNrdSwkc2t1cykgKSB7CgkJJHNrdSA9ICcnOwoJCWF1ZGl0KCcnLCR0aGlzLT5HZXROYW1lKCksJ1dBUk5JTkc6IFByb2R1Y3RzIG1vZHVsZSB1cGdyYWRlIGRldGVjdGVkIGR1cGxpY2F0ZSBza3UgdmFsdWVzIGluIGF0dHJpYnV0ZXMgZm9yIHByb2R1Y3QgJy4kcm93Wydwcm9kdWN0X2lkJ10pOzsKCSAgfQoJICBlbHNlIHsKCQkkc2t1c1tdID0gJHNrdTsKCSAgfQoJICAkZGJyMiA9ICRkYi0+RXhlY3V0ZSgkaXF1ZXJ5LCRyb3dbJ3Byb2R1Y3RfaWQnXSwkdGV4dCwkcm93WydhdHRyaWJfYWRqdXN0bWVudCddLCRza3UsMCwkbm90ZXMpOwoJICAkZGJyLT5Nb3ZlTmV4dCgpOwoJfQoKCSRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfYXR0cmlic2V0cycpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwoKCSRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfYXR0cmlidXRlcycpOwoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOwogIH0KCmlmKCB2ZXJzaW9uX2NvbXBhcmUoJG9sZHZlcnNpb24sJzIuMTkuMicpIDwgMCApIAogIHsKCSRxdWVyeSA9ICdBTFRFUiBUQUJMRSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2ZpZWxkdmFscyBBREQgUFJJTUFSWSBLRVkgKHByb2R1Y3RfaWQsZmllbGRkZWZfaWQpJzsKCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOwogIH0KCi8vIEVPRgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/Products.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAgIC8qIC0qLSBNb2RlOiBQSFA7IHRhYi13aWR0aDogNDsgYy1iYXNpYy1vZmZzZXQ6IDIgLSotICovCiNCRUdJTl9MSUNFTlNFCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgTW9kdWxlOiBQcm9kdWN0cyAoYykgMjAwOCBieSBSb2JlcnQgQ2FtcGJlbGwgCiMgICAgICAgICAoY2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZykKIyAgQW4gYWRkb24gbW9kdWxlIGZvciBDTVMgTWFkZSBTaW1wbGUgdG8gYWxsb3cgdXNlcnMgdG8gY3JlYXRlLCBtYW5hZ2UKIyAgYW5kIGRpc3BsYXkgcHJvZHVjdHMgaW4gYSB2YXJpZXR5IG9mIHdheXMuCiMgCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgokY2dleHRlbnNpb25zID0gY21zX2pvaW5fcGF0aCgkZ0Ntcy0+Y29uZmlnWydyb290X3BhdGgnXSwnbW9kdWxlcycsJ0NHRXh0ZW5zaW9ucycsJ0NHRXh0ZW5zaW9ucy5tb2R1bGUucGhwJyk7CmlmKCAhaXNfcmVhZGFibGUoICRjZ2V4dGVuc2lvbnMgKSApCnsKICBlY2hvICc8aDE+PGZvbnQgY29sb3I9InJlZCI+RVJST1I6IFRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlIGNvdWxkIG5vdCBiZSBmb3VuZC48L2ZvbnQ+PC9oMT4nOwogIHJldHVybjsKfQpyZXF1aXJlX29uY2UoJGNnZXh0ZW5zaW9ucyk7CgpkZWZpbmUoJ1BST0RVQ1RTX1BSRUZfTkVXU1VNTUFSWV9URU1QTEFURScsJ3Byb2R1Y3RzX3ByZWZfbmV3c3VtbWFyeV90ZW1wbGF0ZScpOwpkZWZpbmUoJ1BST0RVQ1RTX1BSRUZfREZMVFNVTU1BUllfVEVNUExBVEUnLCdwcm9kdWN0c19wcmVmX2RmbHRzdW1tYXJ5X3RlbXBsYXRlJyk7CmRlZmluZSgnUFJPRFVDVFNfUFJFRl9ORVdERVRBSUxfVEVNUExBVEUnLCdwcm9kdWN0c19wcmVmX25ld2RldGFpbF90ZW1wbGF0ZScpOwpkZWZpbmUoJ1BST0RVQ1RTX1BSRUZfREZMVERFVEFJTF9URU1QTEFURScsJ3Byb2R1Y3RzX3ByZWZfZGZsdGRldGFpbF90ZW1wbGF0ZScpOwpkZWZpbmUoJ1BST0RVQ1RTX1BSRUZfTkVXQ0FURUdPUllMSVNUX1RFTVBMQVRFJywncHJvZHVjdHNfcHJlZl9uZXdjYXRlZ29yeWxpc3RfdGVtcGxhdGUnKTsKZGVmaW5lKCdQUk9EVUNUU19QUkVGX0RGTFRDQVRFR09SWUxJU1RfVEVNUExBVEUnLCdwcm9kdWN0c19wcmVmX2RmbHRjYXRlZ29yeWxpc3RfdGVtcGxhdGUnKTsKZGVmaW5lKCdQUk9EVUNUU19QUkVGX05FV0JZSElFUkFSQ0hZX1RFTVBMQVRFJywncHJvZHVjdHNfcHJlZl9uZXdieWhpZXJhcmNoeV90ZW1wbGF0ZScpOwpkZWZpbmUoJ1BST0RVQ1RTX1BSRUZfREZMVEJZSElFUkFSQ0hZX1RFTVBMQVRFJywncHJvZHVjdHNfcHJlZl9kZmx0YnloaWVyYXJjaHlfdGVtcGxhdGUnKTsKZGVmaW5lKCdQUk9EVUNUU19QUkVGX05FV1NFQVJDSF9URU1QTEFURScsJ3Byb2R1Y3RzX3ByZWZfbmV3c2VhcmNoX3RlbXBsYXRlJyk7CmRlZmluZSgnUFJPRFVDVFNfUFJFRl9ERkxUU0VBUkNIX1RFTVBMQVRFJywncHJvZHVjdHNfcHJlZl9kZmx0c2VhcmNoX3RlbXBsYXRlJyk7CgpmaW5hbCBjbGFzcyBQcm9kdWN0cyBleHRlbmRzIENHRXh0ZW5zaW9ucwp7CiAgcHJpdmF0ZSAkX2FkbWluX2xvYWRlZDsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICBwYXJlbnQ6Ol9fY29uc3RydWN0KCk7CgkkdGhpcy0+X2FkbWluX2xvYWRlZCA9IGZhbHNlOwoJJHRoaXMtPkFkZEltYWdlRGlyKCdpY29ucycpOwoKICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCSRzbWFydHktPnJlZ2lzdGVyX2Z1bmN0aW9uKCdwcm9kdWN0c19nZXRjYXRlZ29yeScsYXJyYXkoJHRoaXMsJ19zbWFydHlfcHJvZHVjdHNfZ2V0Y2F0ZWdvcnknKSk7Cgkkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigncHJvZHVjdHNfaGllcmFyY2h5X2JyZWFkY3J1bWInLGFycmF5KCR0aGlzLCdfc21hcnR5X3Byb2R1Y3RzX2hpZXJhcmNoeV9icmVhZGNydW1iJykpOwoJJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oJ3Byb2R1Y3RzX2hpZXJhcmNoeV9wYXJlbnQnLGFycmF5KCR0aGlzLCdfc21hcnR5X3Byb2R1Y3RzX2hpZXJhcmNoeV9wYXJlbnQnKSk7CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gR2V0TmFtZSgpIHsgcmV0dXJuICdQcm9kdWN0cyc7IH0KICBwdWJsaWMgZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Byb2R1Y3RfbWFuYWdlcicpOyB9CiAgcHVibGljIGZ1bmN0aW9uIEFsbG93QXV0b0luc3RhbGwoKSB7IHJldHVybiBGQUxTRTsgfQogIHB1YmxpYyBmdW5jdGlvbiBBbGxvd0F1dG9VcGdyYWRlKCkgeyByZXR1cm4gRkFMU0U7IH0KICBwdWJsaWMgZnVuY3Rpb24gSXNQbHVnaW5Nb2R1bGUoKSB7IHJldHVybiB0cnVlOyB9CiAgcHVibGljIGZ1bmN0aW9uIEhhc0FkbWluKCkgewlyZXR1cm4gdHJ1ZTsgfQogIHB1YmxpYyBmdW5jdGlvbiBHZXRWZXJzaW9uKCkgeyByZXR1cm4gJzIuMTkuNic7IH0KICBwdWJsaWMgZnVuY3Rpb24gTWluaW11bUNNU1ZlcnNpb24oKSB7IHJldHVybiAnMS4xMS40JzsgfQogIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZHVsZV9kZXNjcmlwdGlvbicpOyB9CiAgcHVibGljIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsgfQogIHB1YmxpYyBmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3ByZXVuaW5zdGFsbCcpOyB9CiAgcHVibGljIGZ1bmN0aW9uIEdldEhlbHAoKSB7CXJldHVybiBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvaGVscC5pbmMnKTsgfQogIHB1YmxpYyBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7IHJldHVybiAnY29udGVudCc7IH0KICBwdWJsaWMgZnVuY3Rpb24gR2V0QXV0aG9yKCkgeyByZXR1cm4gJ2NhbGd1eTEwMDAnOyB9CiAgcHVibGljIGZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgeyByZXR1cm4gJ2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcnOyB9CiAgcHVibGljIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsgcmV0dXJuIGZpbGVfZ2V0X2NvbnRlbnRzKF9fRElSX18uJy9jaGFuZ2Vsb2cuaHRtbCcpOyB9CiAgcHVibGljIGZ1bmN0aW9uIEdldEV2ZW50RGVzY3JpcHRpb24oICRldmVudG5hbWUgKSB7IHJldHVybiAkdGhpcy0+bGFuZygnZXZlbnRkZXNjLScgLiAkZXZlbnRuYW1lKTsgfQogIHB1YmxpYyBmdW5jdGlvbiBHZXRFdmVudEhlbHAoICRldmVudG5hbWUgKSB7CXJldHVybiAkdGhpcy0+bGFuZygnZXZlbnRoZWxwLScgLiAkZXZlbnRuYW1lKTsgfQogIHB1YmxpYyBmdW5jdGlvbiBIYW5kbGVyc0V2ZW50cygpIHsgcmV0dXJuIFRSVUU7IH0KICBwdWJsaWMgZnVuY3Rpb24gQWxsb3dTbWFydHlDYWNoaW5nKCkgeyByZXR1cm4gVFJVRTsgfQogIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEZyb250ZW5kKCkgeyByZXR1cm4gRkFMU0U7IH0gIAogIHB1YmxpYyBmdW5jdGlvbiBMYXp5TG9hZEFkbWluKCkgeyByZXR1cm4gVFJVRTsgfQogIHB1YmxpYyBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsgfQoKICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKCXJldHVybiBhcnJheSgnQ0dFeHRlbnNpb25zJz0+JzEuMzIuNScsCgkJCQkgJ0NHU2ltcGxlU21hcnR5Jz0+JzEuNi4xJywKCQkJCSAnSlF1ZXJ5VG9vbHMnPT4nMS4yLjQnKTsKICB9CgogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewoJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBQcm9kdWN0cycpIHx8CgkgICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBUZW1wbGF0ZXMnKSB8fAoJICAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpOwogIH0KCiAgZnVuY3Rpb24gR2V0SGVhZGVySFRNTCgpCiAgewoJJG9iaiA9IGNnZV91dGlsczo6Z2V0X21vZHVsZSgnSlF1ZXJ5VG9vbHMnLCcxLjInKTsKICAgIGlmKCBpc19vYmplY3QoJG9iaikgKSB7CiR0bXBsID0gPDw8RU9UCntKUXVlcnlUb29scyBhY3Rpb249J3JlcXVpcmUnIGxpYj0ndGFibGVzb3J0ZXIsanF1ZXJ5dG9vbHMnfQp7SlF1ZXJ5VG9vbHMgYWN0aW9uPSdwbGFjZW1hcmtlcid9CkVPVDsKICAgICAgICByZXR1cm4gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0bXBsKTsKICAgICAgfQogIH0JCgogIGZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQogIHsKCSR0aGlzLT5SZWdpc3Rlck1vZHVsZVBsdWdpbigpOwoJJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwoKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2FjdGlvbicsJ2RlZmF1bHQnLCR0aGlzLT5MYW5nKCdwYXJhbV9hY3Rpb24nKSk7CgoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncHJvZHVjdGlkJywnJywkdGhpcy0+TGFuZygncGFyYW1fcHJvZHVjdGlkJykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Byb2R1Y3RpZCcsQ0xFQU5fSU5UKTsKCgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdkZXRhaWxwYWdlJywnJywkdGhpcy0+TGFuZygncGFyYW1fZGV0YWlscGFnZScpKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdkZXRhaWxwYWdlJyxDTEVBTl9TVFJJTkcpOwoKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NhdGVnb3J5bGlzdHRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygncGFyYW1fY2F0ZWdvcnlsaXN0dGVtcGxhdGUnKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnlsaXN0dGVtcGxhdGUnLENMRUFOX1NUUklORyk7CgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdjYXRlZ29yeWxpc3RkdGx0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2NhdGVnb3J5bGlzdGR0bHRlbXBsYXRlJykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2NhdGVnb3J5bGlzdGR0bHRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2RldGFpbHRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygncGFyYW1fZGV0YWlsdGVtcGxhdGUnKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZGV0YWlsdGVtcGxhdGUnLENMRUFOX1NUUklORyk7CgoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc3VtbWFyeXRlbXBsYXRlJywnJywkdGhpcy0+TGFuZygncGFyYW1fc3VtbWFyeXRlbXBsYXRlJykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N1bW1hcnl0ZW1wbGF0ZScsQ0xFQU5fU1RSSU5HKTsKCgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdoaWVyYXJjaHl0ZW1wbGF0ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2hpZXJhcmNoeXRlbXBsYXRlJykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2hpZXJhcmNoeXRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignaGllcmFyY2h5cGFnZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2hpZXJhcmNoeXBhZ2UnKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaGllcmFyY2h5cGFnZScsQ0xFQU5fU1RSSU5HKTsKCgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzb3J0YnknLCdwcm9kdWN0X25hbWUnLCR0aGlzLT5MYW5nKCdwYXJhbV9zb3J0YnknKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydGJ5JyxDTEVBTl9TVFJJTkcpOwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc29ydG9yZGVyJywnYXNjJywkdGhpcy0+TGFuZygncGFyYW1fc29ydG9yZGVyJykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3NvcnRvcmRlcicsQ0xFQU5fU1RSSU5HKTsKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NvcnR0eXBlJywnJywkdGhpcy0+TGFuZygncGFyYW1fc29ydHR5cGUnKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc29ydHR5cGUnLENMRUFOX1NUUklORyk7CgkKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2V4Y2x1ZGVjYXQnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9leGNsdWRlY2F0JykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2V4Y2x1ZGVjYXQnLENMRUFOX1NUUklORyk7CgoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbm90cHJldHR5JywnJywkdGhpcy0+TGFuZygncGFyYW1fbm90cHJldHR5JykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vdHByZXR0eScsQ0xFQU5fU1RSSU5HKTsKCQoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY2F0ZWdvcnknLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9jYXRlZ29yeScpKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjYXRlZ29yeScsQ0xFQU5fU1RSSU5HKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdjYXRlZ29yeW5hbWUnLENMRUFOX1NUUklORyk7CgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdoaWVyYXJjaHknLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9oaWVyYXJjaHknKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaGllcmFyY2h5JyxDTEVBTl9TVFJJTkcpOwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncGFnZWxpbWl0JywnJywkdGhpcy0+TGFuZygncGFyYW1fcGFnZWxpbWl0JykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2VsaW1pdCcsQ0xFQU5fSU5UKTsKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3BhcmVudCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX3BhcmVudCcpKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYXJlbnQnLENMRUFOX0lOVCk7CgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwYXJlbnRzJywnJywkdGhpcy0+TGFuZygncGFyYW1fcGFyZW50cycpKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdwYXJlbnRzJyxDTEVBTl9TVFJJTkcpOwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2hvd2FsbCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX3Nob3dhbGwnKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2hvd2FsbCcsQ0xFQU5fSU5UKTsKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpZWxkJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmllbGQnKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZmllbGQnLENMRUFOX1NUUklORyk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZmllbGRpZCcsQ0xFQU5fSU5UKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdmaWVsZHZhbCcsQ0xFQU5fU1RSSU5HKTsKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpZWxkdmFsJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmllbGR2YWwnKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnlmaWVsZCcsQ0xFQU5fU1RSSU5HKTsKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2NhdGVnb3J5ZmllbGQnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9jYXRlZ29yeWZpZWxkJykpOwoKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2lubGluZScsMCwkdGhpcy0+TGFuZygncGFyYW1faW5saW5lJykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ2lubGluZScsQ0xFQU5fSU5UKTsKCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3Jlc3VsdHBhZ2UnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9yZXN1bHRwYWdlJykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Jlc3VsdHBhZ2UnLENMRUFOX1NUUklORyk7CgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzZWFyY2hmb3JtdGVtcGxhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9zZWFyY2hmb3JtdGVtcGxhdGUnKSk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc2VhcmNoZm9ybXRlbXBsYXRlJyxDTEVBTl9TVFJJTkcpOwoJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignc2VhcmNoZmllbGQnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9zZWFyY2hmaWVsZCcpKTsKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzZWFyY2hmaWVsZCcsQ0xFQU5fU1RSSU5HKTsKCgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzdW1tYXJ5cGFnZScsJHRoaXMtPkxhbmcoJ3BhcmFtX3N1bW1hcnlwYWdlJykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3N1bW1hcnlwYWdlJyxDTEVBTl9TVFJJTkcpOwoKCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdqdW5rJyxDTEVBTl9TVFJJTkcpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3BhZ2UnLENMRUFOX0lOVCk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYWxpYXMnLENMRUFOX1NUUklORyk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaGllcmFyY2h5aWQnLENMRUFOX0lOVCk7CgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2F0ZWdvcnlpZCcsQ0xFQU5fSU5UKTsKCgkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdwcm9kdWN0bGlzdCcsJHRoaXMtPkxhbmcoJ3BhcmFtX3Byb2R1Y3RsaXN0JykpOwoJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3Byb2R1Y3RsaXN0JyxDTEVBTl9OT05FKTsKCgkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9jZF8uKi8nLENMRUFOX1NUUklORyk7CgoJLy8gRnJpZW5kbHkgVVJMIHN0dWZmCiAgICAkZGV0YWlscGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZXRhaWxwYWdlJywtMSk7CiAgICBpZiggJGRldGFpbHBhZ2UgPT0gLTEgKSB7CgkgICRjb250ZW50b3BzID0gY21zbXMoKS0+R2V0Q29udGVudE9wZXJhdGlvbnMoKTsKCSAgJGRldGFpbHBhZ2UgPSAkY29udGVudG9wcy0+R2V0RGVmYXVsdFBhZ2VJRCgpOwoJfQoJJHN0ciA9ICcvJy4kdGhpcy0+R2V0UHJlZmVyZW5jZSgndXJscHJlZml4JywnW1BwXXJvZHVjdHMnKTsKCWlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXNlaGllcnBhdGh1cmxzJykgKSB7CgkgICR0aGlzLT5SZWdpc3RlclJvdXRlKCRzdHIuJ1wvZGV0YWlsc1wvKD9QPHJldHVybmlkPlswLTldKylcLyhbXlwvXStcLykrKD9QPGFsaWFzPi4qKSQvJywKCQkJCQkJICAgYXJyYXkoJ2FjdGlvbic9PidkZXRhaWxzJywncmV0dXJuaWQnPT4kZGV0YWlscGFnZSkpOwoJICAkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL2RldGFpbHNcLyhbXlwvXStcLykrKD9QPGFsaWFzPi4qKSQvJyxhcnJheSgnYWN0aW9uJz0+J2RldGFpbHMnLCdyZXR1cm5pZCc9PiRkZXRhaWxwYWdlKSk7Cgl9CgoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJHN0ci4nXC8oP1A8cHJvZHVjdGlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nLGFycmF5KCdhY3Rpb24nPT4nZGV0YWlscycpKTsKCSR0aGlzLT5SZWdpc3RlclJvdXRlKCRzdHIuJ1wvKD9QPHByb2R1Y3RpZD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nLCBhcnJheSgnYWN0aW9uJz0+J2RldGFpbHMnLCdyZXR1cm5pZCc9PiRkZXRhaWxwYWdlKSk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL3ZpZXdjYXRlZ29yeVwvKD9QPGNhdGVnb3J5aWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLycsYXJyYXkoJ2FjdGlvbic9PidjYXRlZ29yeWxpc3QnKSk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcLyg/UDxwcm9kdWN0aWQ+WzAtOV0rKSQvJyk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL3N1bW1hcnlcLygkUDxyZXR1cm5pZD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nKTsKCSR0aGlzLT5SZWdpc3RlclJvdXRlKCRzdHIuJ1wvc3VtbWFyeVwvKCRQPHJldHVybmlkPlswLTldKykkLycpOwoJJHRoaXMtPlJlZ2lzdGVyUm91dGUoJHN0ci4nXC9ieWNhdGVnb3J5XC8oP1A8Y2F0ZWdvcnlpZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJyk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL2J5Y2F0ZWdvcnlcLyg/UDxjYXRlZ29yeWlkPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8nKTsKCSR0aGlzLT5SZWdpc3RlclJvdXRlKCRzdHIuJ1wvYnloaWVyYXJjaHlcLyg/UDxoaWVyYXJjaHlpZD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJyk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL2J5aGllcmFyY2h5XC8oP1A8aGllcmFyY2h5aWQ+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLycpOwoKCSRoaWVycGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdoaWVycGFnZScsLTEpOwoJaWYoICRoaWVycGFnZSA8PSAwICkgJGhpZXJwYWdlID0gJGRldGFpbHBhZ2U7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL2hpZXJhcmNoeVwvKD9QPHBhcmVudD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvJyk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL2hpZXJhcmNoeVwvKD9QPHBhcmVudD5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKVwvKD9QPGp1bms+Lio/KSQvJyk7CgkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgkc3RyLidcL2hpZXJhcmNoeVwvKD9QPHBhcmVudD5bMC05XSspXC8oP1A8anVuaz4uKj8pJC8nLAoJCQkJCQkgYXJyYXkoJ2FjdGlvbic9PidoaWVyYXJjaHknLCdyZXR1cm5pZCc9PiRoaWVycGFnZSkpOwogIH0KCiAgZnVuY3Rpb24gRG9BY3Rpb24oJG5hbWUsJGlkLCRwYXJhbXMsJHJldHVybmlkPScnKQogIHsKICAgICRzbWFydHkgPSBjbXNtcygpLT5HZXRTbWFydHkoKTsKCiAgICAkc21hcnR5LT5hc3NpZ25fYnlfcmVmKCdtb2QnLCR0aGlzKTsKICAgICRzbWFydHktPmFzc2lnbigncmV0dXJuaWQnLCRyZXR1cm5pZCk7CiAgICBwYXJlbnQ6OkRvQWN0aW9uKCRuYW1lLCRpZCwkcGFyYW1zLCRyZXR1cm5pZCk7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX2xvYWRfYWRtaW4oKQogIHsKCWlmKCAhJHRoaXMtPl9hZG1pbl9sb2FkZWQgKSB7CgkgIHJlcXVpcmVfb25jZShfX0RJUl9fLicvZnVuY3Rpb25zLmFkbWluX3Rvb2xzLnBocCcpOwoJICAkdGhpcy0+X2FkbWluX2xvYWRlZCA9IHRydWU7Cgl9CiAgfQoKICAvLyBkZXByZWNhdGVkCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIEdldFR5cGVzRHJvcGRvd24oICRpZCwgJG5hbWUsICRzZWxlY3RlZCA9ICcnLCAkYWRkdGV4dCA9ICcnLCAkc2VsZWN0b25lID0gZmFsc2UgKQogIHsKCSR0aGlzLT5fbG9hZF9hZG1pbigpOwoJcmV0dXJuIHByb2R1Y3RzX0dldFR5cGVzRHJvcGRvd24oJHRoaXMsJGlkLCRuYW1lLCRzZWxlY3RlZCwkYWRkdGV4dCwkc2VsZWN0b25lKTsKICB9CgkKICAvLyBkZXByZWNhdGVkCiAgZnVuY3Rpb24gJkdldENhdGVnb3J5KCRjYXRlZ29yeV9pZCwkZnVsbCA9IGZhbHNlKQogIHsKCSRnQ21zID0gY21zbXMoKTsKCSRkYiA9ICRnQ21zLT5HZXREYigpOwoJJGNvbmZpZyA9ICRnQ21zLT5HZXRDb25maWcoKTsKCgkkcXVlcnkgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3JpZXMgV0hFUkUgaWQgPSA/JzsKICAgICRxdWVyeTIgPSAnU0VMRUNUICogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2NhdGVnb3J5X2ZpZWxkcyAKICAgICAgICAgICAgICAgV0hFUkUgY2F0ZWdvcnlfaWQgPSA/JzsKCgkkcm93ID0gJGRiLT5HZXRSb3coJHF1ZXJ5LGFycmF5KCRjYXRlZ29yeV9pZCkpOwoJaWYoICEkcm93ICkgcmV0dXJuIEZBTFNFOwoKCSRvbmVyb3cgPSBuZXcgc3RkQ2xhc3MoKTsKCSRvbmVyb3ctPmlkID0gJHJvd1snaWQnXTsKCSRvbmVyb3ctPm5hbWUgPSAkcm93WyduYW1lJ107Cgkkb25lcm93LT52YWx1ZSA9IGZhbHNlOwoJJG9uZXJvdy0+ZmlsZV9sb2NhdGlvbiA9ICRjb25maWdbJ3VwbG9hZHNfdXJsJ10uJy8nLiR0aGlzLT5HZXROYW1lKCkuJy9jYXRlZ29yaWVzLycuJG9uZXJvdy0+aWQ7CgoJaWYoICRmdWxsICkgewoJICAkdG1wMiA9ICRkYi0+R2V0QXJyYXkoJHF1ZXJ5Miwkcm93WydpZCddKTsKCSAgaWYoIGlzX2FycmF5KCR0bXAyKSApICRvbmVyb3ctPmRhdGEgPSAkdG1wMjsKCX0KCglyZXR1cm4gJG9uZXJvdzsKICB9CgogIC8vIGRlcHJlY2F0ZWQKICBmdW5jdGlvbiBHZXRDYXRlZ29yaWVzKCRmdWxsID0gZmFsc2UpCiAgewoJaWYoICRmdWxsICkgcmV0dXJuIHByb2R1Y3RfdXRpbHM6OmdldF9mdWxsX2NhdGVnb3JpZXMoJGZ1bGwpOwoJcmV0dXJuIHByb2R1Y3RfdXRpbHM6OmdldF9jYXRlZ29yaWVzKCRmdWxsKTsKICB9CgogIC8vIGRlcHJlY2F0ZWQKICBmdW5jdGlvbiBHZXRDYXRlZ29yaWVzRm9yUHJvZHVjdCgkcHJvZHVjdCwkYnJpZWYgPSBmYWxzZSwkZnVsbCA9IGZhbHNlKQogIHsKCSRlbnRyeWFycmF5ID0gYXJyYXkoKTsKCgkkZ0NtcyA9IGNtc21zKCk7CgkkZGIgPSAkZ0Ntcy0+R2V0REIoKTsKCQoJJGVudHJ5YXJyYXkgPSAkdGhpcy0+R2V0Q2F0ZWdvcmllcygkZnVsbCk7CgoJJHF1ZXJ5ID0gJ1NFTEVDVCBjLiogRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcyBjIFdIRVJFIGMucHJvZHVjdF9pZCA9ID8gT1JERVIgQlkgYy5jYXRlZ29yeV9pZCc7CgkkcHJvZGNhdHMgPSAkZGItPkdldEFycmF5KCRxdWVyeSxhcnJheSgkcHJvZHVjdCkpOwoJCgkkcmVzdWx0cyA9IGFycmF5KCk7CglpZiggJGJyaWVmICkgewoJICBmb3JlYWNoKCAkcHJvZGNhdHMgYXMgJG9uZXByb2RjYXQgKSB7CgkJZm9yZWFjaCggJGVudHJ5YXJyYXkgYXMgJGVudHJ5ICkgewoJCSAgaWYoICRvbmVwcm9kY2F0WydjYXRlZ29yeV9pZCddID09ICRlbnRyeS0+aWQgKSB7CgkJCSRlbnRyeS0+dmFsdWUgPSB0cnVlOwoJCQkkcmVzdWx0c1tdID0gJGVudHJ5OwoJCQlicmVhazsKCQkgIH0KCQl9CgkgIH0KCX0KCWVsc2UgaWYoIGlzX2FycmF5KCRlbnRyeWFycmF5KSAmJiBjb3VudCgkZW50cnlhcnJheSkgKSB7CgkgIC8vIGZ1bGwgbGlzdCBvZiBjYXRlZ29yaWVzLAoJICAvLyBzZXQgdmFsdWUgdG8gdHJ1ZSBpZiB0aGlzIHByb2R1Y3QgaXMgYSBtZW1iZXIgb2YgdGhpcyBjYXRlZ29yeQoJICBmb3JlYWNoKCAkZW50cnlhcnJheSBhcyAkZW50cnkgKSB7CgkJJGVudHJ5LT52YWx1ZSA9IGZhbHNlOwoJCWZvcmVhY2goICRwcm9kY2F0cyBhcyAkb25lcHJvZGNhdCApIHsKCQkgIGlmKCAkb25lcHJvZGNhdFsnY2F0ZWdvcnlfaWQnXSA9PSAkZW50cnktPmlkICkgewoJCQkkZW50cnktPnZhbHVlID0gdHJ1ZTsKCQkJYnJlYWs7CgkJICB9CgkJfQoKCQkkcmVzdWx0c1tdID0gJGVudHJ5OwoJICB9Cgl9CglyZXR1cm4gJHJlc3VsdHM7CiAgfQoJCiAgLy8gZGVwcmVjYXRlZAogIGZ1bmN0aW9uIEdldEZpZWxkRGVmcygkYWRtaW4gPSBmYWxzZSwkcHVibGljID0gdHJ1ZSkKICB7CglyZXR1cm4gcHJvZHVjdF91dGlsczo6Z2V0X2ZpZWxkZGVmcygkYWRtaW4sJHB1YmxpYyk7CiAgfQoKICAvLyBkZXByZWNhdGVkLCBtb3ZlIHRvIGNsYXNzCiAgZnVuY3Rpb24gR2V0RmllbGREZWZzRm9yUHJvZHVjdCgkaWQsJGFkbWluID0gZmFsc2UsJHB1YmxpYyA9IHRydWUpCiAgewoJJGdDbXMgPSBjbXNtcygpOwoJJGRiID0gJGdDbXMtPkdldERCKCk7CgkJCgkkZW50cnlhcnJheSA9ICR0aGlzLT5HZXRGaWVsZERlZnMoJGFkbWluLCRwdWJsaWMpOwoKCSRxdWVyeSA9ICcnOwoJaWYoICRhZG1pbiA9PSB0cnVlICYmICRwdWJsaWMgPT0gdHJ1ZSApIHsKCSAgJHF1ZXJ5ID0gJ1NFTEVDVCBmdi4qIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgZnYgV0hFUkUgZnYucHJvZHVjdF9pZCA9ID8nOwoJfQoJZWxzZSBpZiggJHB1YmxpYyA9PSB0cnVlICkgewoJICAkcXVlcnkgPSAnU0VMRUNUIGIuKiBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGRkZWZzIGEsICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfZmllbGR2YWxzIGIgV0hFUkUgYS5pZCA9IGIuZmllbGRkZWZfaWQgQU5EIGEucHVibGljID4gMCBhbmQgYi5wcm9kdWN0X2lkID0gPyc7Cgl9CgllbHNlIHsKCSAgJHF1ZXJ5ID0gJ1NFTEVDVCBiLiogRlJPTSAgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZGRlZnMgYSwgJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19maWVsZHZhbHMgYiBXSEVSRSBhLmlkID0gYi5maWVsZGRlZl9pZCBBTkQgYS5hZG1pbl9vbmx5IDw9IDAgYW5kIGIucHJvZHVjdF9pZCA9ID8nOwoJfQoJJGRicmVzdWx0ID0gJGRiLT5HZXRBcnJheSgkcXVlcnksIGFycmF5KCRpZCkpOwoKCSRyZXMgPSBhcnJheSgpOwoJaWYoIGlzX2FycmF5KCRlbnRyeWFycmF5KSAmJiBjb3VudCgkZW50cnlhcnJheSkgKSB7CgkgIGZvcmVhY2goICRlbnRyeWFycmF5IGFzICRlbnRyeSApIHsKCSAgICAkbmV3ZW50cnkgPSBjbG9uZSAkZW50cnk7CgkgICAgJG5ld2VudHJ5LT52YWx1ZSA9IG51bGw7CgkgICAgZm9yZWFjaCAoJGRicmVzdWx0IGFzICRyb3cpIHsKCQkgIGlmICgkcm93WydmaWVsZGRlZl9pZCddID09ICRuZXdlbnRyeS0+aWQpIHsKCQkJaWYoICRuZXdlbnRyeS0+dHlwZSA9PSAnZGltZW5zaW9ucycgfHwgJG5ld2VudHJ5LT50eXBlID09ICdzdWJzY3JpcHRpb24nKSB7CgkJCSAgJHJvd1sndmFsdWUnXSA9IHVuc2VyaWFsaXplKCRyb3dbJ3ZhbHVlJ10pOwoJCQl9CgkJCSRuZXdlbnRyeS0+dmFsdWUgPSAkcm93Wyd2YWx1ZSddOwoJCQkkbmV3ZW50cnktPmZpZWxkZGVmX2lkID0gJG5ld2VudHJ5LT5pZDsgLy8gPz8KCQkJYnJlYWs7CgkJICB9CgkgICAgfQoJICAgICRyZXNbXSA9ICRuZXdlbnRyeTsKCSAgfQoJfQoKCXJldHVybiAkcmVzOwogIH0KCQogIGZ1bmN0aW9uIFNlYXJjaFJlc3VsdCgkcmV0dXJuaWQsICRwcm9kdWN0aWQsICRhdHRyID0gJycpCiAgewoJcmV0dXJuIHByb2R1Y3Rfb3BzOjpnZXRfc2VhcmNoX3Jlc3VsdCgkcmV0dXJuaWQsJHByb2R1Y3RpZCwkYXR0cik7CiAgfQoJCiAgZnVuY3Rpb24gU2VhcmNoUmVpbmRleCgmJG1vZHVsZSkKICB7CgkkdGhpcy0+X2xvYWRfYWRtaW4oKTsKCXJldHVybiBwcm9kdWN0c19TZWFyY2hSZWluZGV4KCR0aGlzLCRtb2R1bGUpOwogIH0KCiAgLy8gZGVwcmVjYXRlZCAuLi4gbW92ZSB0byBjbGFzcwogIHByb3RlY3RlZCBmdW5jdGlvbiBHZXRTZWFyY2hhYmxlVGV4dCgkcHJvZHVjdF9pZCkKICB7CgkvLyB0aGUgcHJvZHVjdCBuYW1lLCB0aGUgZGVzY3JpcHRpb24sIGFuZCBhbGwgZGF0YSBmcm9tCgkvLyB0ZXh0IGZpZWxkcywgdGV4dGFyYSBmaWVsZHMsIGFuZCBkcm9wZG93bnMKCSRwcm9kdWN0ID0gcHJvZHVjdF9vcHM6OmdldF9wcm9kdWN0KCRwcm9kdWN0X2lkKTsKCWlmKCAkcHJvZHVjdFsnc3RhdHVzJ10gIT0gJ3B1Ymxpc2hlZCcgKSByZXR1cm4gYXJyYXkoKTsKCSRkZWZzID0gJHRoaXMtPkdldEZpZWxkRGVmc0ZvclByb2R1Y3QoJHByb2R1Y3RfaWQpOwoKCSRyZXN1bHRzID0gYXJyYXkoKTsKCSRyZXN1bHRzW10gPSAkcHJvZHVjdFsncHJvZHVjdF9uYW1lJ107CgkkcmVzdWx0c1tdID0gJHByb2R1Y3RbJ2RldGFpbHMnXTsKCSRyZXN1bHRzW10gPSAkcHJvZHVjdFsnc2t1J107CgkkcmVzdWx0c1tdID0gJHByb2R1Y3RbJ2FsaWFzJ107Cglmb3JlYWNoKCAkZGVmcyBhcyAkb25lZGVmICkgewoJICBzd2l0Y2goICRvbmVkZWYtPnR5cGUgKSB7CgkgIGNhc2UgJ3RleHRib3gnOgoJICBjYXNlICd0ZXh0YXJlYSc6CgkgIGNhc2UgJ2Ryb3Bkb3duJzoKCQlpZiggaXNzZXQoJG9uZWRlZi0+dmFsdWUpICkgJHJlc3VsdHNbXSA9ICRvbmVkZWYtPnZhbHVlOwoJCWJyZWFrOwoJICB9Cgl9CglyZXR1cm4gJHJlc3VsdHM7CiAgfQoKICAvLyBkZXByZWNhdGVkCiAgZnVuY3Rpb24gR2V0UHJvZHVjdE5hbWVGcm9tSWQoICRpZCApCiAgewoJJHByb2R1Y3QgPSBwcm9kdWN0X29wczo6Z2V0X3Byb2R1Y3QoJGlkKTsKCXJldHVybiAkcHJvZHVjdFsncHJvZHVjdF9uYW1lJ107CiAgfQoKICAvLyBkZXByZWFjYXRlZAogIGZ1bmN0aW9uIGlzX3RheGFibGUoJHByb2R1Y3RfaWQpCiAgewoJJHRtcCA9IHByb2R1Y3Rfb3BzOjpnZXRfcHJvZHVjdCgkcHJvZHVjdF9pZCk7CglyZXR1cm4gJHRtcFsndGF4YWJsZSddOwogIH0KCiAgZnVuY3Rpb24gaXNfc2hpcHBhYmxlKCRwcm9kdWN0X2lkKQogIHsKCS8vIHRvZG86IGFkZCBzb21ldGhpbmcgaGVyZS4KCXJldHVybiBUUlVFOwogIH0KCiAgLy8gZGVwcmVjYXRlZAogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gR2V0UHJvZHVjdElkc0Zyb21DYXRlZ29yaWVzKCRzdHIsJGRlbGltID0gJywnKQogIHsKCWlmKCBlbXB0eSgkc3RyKSApIHJldHVybiBGQUxTRTsKCSRuYW1lcyA9IGV4cGxvZGUoJGRlbGltLCRzdHIpOwoJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJG5hbWVzKTsgJGkrKyApIHsKCSAgJG5hbWVzWyRpXSA9IHRyaW0odHJpbSgkbmFtZXNbJGldKSwiJyIpOwoJfQoKCSRkYiA9IGNtc21zKCktPkdldERiKCk7CgoJLy8gY29udmVydCBuYW1lcyB0byBjYXRlZ29yeSBpZHMuCgkkcXVlcnkgPSAnU0VMRUNUIGlkIEZST00gJy5jbXNfZGJfcHJlZml4KCkuJ21vZHVsZV9wcm9kdWN0c19jYXRlZ29yaWVzCiAgICAgICAgICAgICAgIFdIRVJFIG5hbWUgSU4gKCcuaW1wbG9kZSgnLCcsJG5hbWVzKS4nKSc7CgkkY2F0ZWdvcmllcyA9ICRkYi0+R2V0Q29sKCRxdWVyeSk7CglpZiggISRjYXRlZ29yaWVzICkgcmV0dXJuIEZBTFNFOwoJCgkkcXVlcnkgPSAnU0VMRUNUIHByb2R1Y3RfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX3Byb2R1Y3RfY2F0ZWdvcmllcwogICAgICAgICAgICAgICBXSEVSRSBjYXRlZ29yeV9pZCBJTiAoJy5pbXBsb2RlKCcsJywkY2F0ZWdvcmllcykuJyknOwoJJHByb2R1Y3RzID0gJGRiLT5HZXRDb2woJHF1ZXJ5KTsKCXJldHVybiAkcHJvZHVjdHM7CiAgfQoKICAvLyBkZXByZWNhdGVkIAogIHN0YXRpYyBwdWJsaWMgZnVuY3Rpb24gR2V0UHJvZHVjdElkc0Zyb21IaWVyYXJjaHkoJGhpZXJfc3RyLCRkZWxpbSA9ICcgfCAnKQogIHsKCWlmKCBlbXB0eSgkaGllcl9zdHIpICkgcmV0dXJuIEZBTFNFOwoJJGhpZXJfc3RyID0gdHJpbSgkaGllcl9zdHIpOwoJaWYoICRkZWxpbSAhPSAnIHwgJyApICRoaWVyX3N0ciA9IHN0cl9yZXBsYWNlKCRkZWxpbSwnIHwgJywkaGllcl9zdHIpOwoJCgkkZ0NtcyA9IGNtc21zKCk7CgkkZGIgPSAkZ0Ntcy0+R2V0RGIoKTsKCSRoaWVyYXJjaGllcyA9IGFycmF5KCk7CglpZiggZW5kc3dpdGgoJGhpZXJfc3RyLCcqJykgKSB7CgkgICRoaWVyX3N0ciA9IHN0cl9yZXBsYWNlKCcqJywnJScsJGhpZXJfc3RyKTsKCSAgJHF1ZXJ5ID0gJ1NFTEVDVCBpZCBGUk9NICcuY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfcHJvZHVjdHNfaGllcmFyY2h5IAogICAgICAgICAgICAgICAgV0hFUkUgdXBwZXIobG9uZ19uYW1lKSBMSUtFIHVwcGVyKD8pJzsKCSAgJGhpZXJhcmNoaWVzID0gJGRiLT5HZXRDb2woJHF1ZXJ5LGFycmF5KCRoaWVyX3N0cikpOwoJfQoJZWxzZSB7CgkgICRxdWVyeSA9ICdTRUxFQ1QgaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4nbW9kdWxlX3Byb2R1Y3RzX2hpZXJhcmNoeQogICAgICAgICAgICAgICAgV0hFUkUgdXBwZXIobG9uZ19uYW1lKSA9IHVwcGVyKD8pJzsKCSAgJGhpZXJfaWQgPSAkZGItPkdldE9uZSgkcXVlcnksYXJyYXkoJGhpZXJfc3RyKSk7CgkgIGlmKCAhJGhpZXJfaWQgKSByZXR1cm4gRkFMU0U7CgkgICRoaWVyYXJjaGllc1tdID0gJGhpZXJfaWQ7Cgl9CgoJJHRtcCA9IGltcGxvZGUoJywnLCRoaWVyYXJjaGllcyk7CgkkcXVlcnkgPSAnU0VMRUNUIHByb2R1Y3RfaWQgRlJPTSAnLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3Byb2R1Y3RzX3Byb2R0b2hpZXIKICAgICAgICAgICAgICAgICBXSEVSRSBoaWVyYXJjaHlfaWQgSU4gKCR0bXApIjsKCSRwcm9kdWN0cyA9ICRkYi0+R2V0Q29sKCRxdWVyeSk7CglyZXR1cm4gJHByb2R1Y3RzOwogIH0KCiAgLy8gZGVwcmVjYXRlZCwgbW92ZSB0byBvcHMKICAvLyBpbnRlcm5hbAogIHB1YmxpYyBmdW5jdGlvbiBVcGRhdGVIaWVyYXJjaHlQb3NpdGlvbnMoKQogIHsKCXJldHVybiBwcm9kdWN0X3V0aWxzOjp1cGRhdGVfaGllcmFyY2h5X3Bvc2l0aW9ucygpOwogIH0KCiAgLy8gZGVwcmVjYXRlZCwgbW92ZSB0byBvcHMKICAvLyBpbnRlcm5hbAogIHB1YmxpYyBmdW5jdGlvbiBCdWlsZEhpZXJhcmNoeUxpc3QoKQogIHsKCSR0bXAgPSBoaWVyYXJjaHlfb3BzOjpnZXRfZmxhdF9saXN0KEZBTFNFKTsKCSRsaXN0ID0gYXJyYXkoJHRoaXMtPkxhbmcoJ25vbmUnKT0+LTEpOwoJaWYoIGlzX2FycmF5KCR0bXApICYmIGNvdW50KCR0bXApICkgewoJICBmb3JlYWNoKCAkdG1wIGFzICRvbmUgKSB7CgkJJGxpc3RbJG9uZVsnbG9uZ19uYW1lJ11dID0gJG9uZVsnaWQnXTsgLy8gYmFja3dhcmRzLgoJICB9Cgl9CglyZXR1cm4gJGxpc3Q7CiAgfQoKICAvLyBkZXByZWNhdGVkLCBtb3ZlIHRvIG9wcwogIGZ1bmN0aW9uIENyZWF0ZUhpZXJhcmNoeURyb3Bkb3duKCRpZCwkbmFtZSwkc2VsZWN0ZWR2YWx1ZSkKICB7CgkkdG1wID0gJHRoaXMtPkJ1aWxkSGllcmFyY2h5TGlzdCgpOwoJJHRtcCA9IGFycmF5X21lcmdlKGFycmF5KCR0aGlzLT5MYW5nKCdhbnknKT0+JycpLCR0bXApOwoJcmV0dXJuICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwkbmFtZSwkdG1wLC0xLCRzZWxlY3RlZHZhbHVlKTsKICB9CgogIC8vIGRlcHJlY2F0ZWQuLi4gdXNlIGdldF9wcmV0dHlfdXJsCiAgZnVuY3Rpb24gQ3JlYXRlUHJldHR5TGluaygkaWQsICRhY3Rpb24sICRyZXR1cm5pZD0nJywgJGNvbnRlbnRzPScnLCAkcGFyYW1zPWFycmF5KCksIAoJCQkJCQkJJHdhcm5fbWVzc2FnZT0nJywgJG9ubHlocmVmPWZhbHNlLCAkaW5saW5lPWZhbHNlLCAkYWRkdGV4dD0nJywgCgkJCQkJCQkkdGFyZ2V0Y29udGVudG9ubHk9ZmFsc2UsICRwcmV0dHl1cmw9JycpCiAgewoJLy8gdGhpcyBtZXRob2QsIGlmIG92ZXJyaWRkZW4sIHNob3VsZCBjYWxsIENyZWF0ZUxpbmsgZm9yIGFsbCBzdHVmZiBpdCBjYW4ndAoJLy8gdW5kZXJzdGFuZAoJJHByb2R1Y3RzID0gJyc7CgkkcHJldHR5dXJsID0gJyc7CgoJaWYoIHByb2R1Y3RfdXRpbHM6OmNhbl9kb19wcmV0dHkoJGFjdGlvbiwkcGFyYW1zKSApIHsKCSAgc3dpdGNoKCAkYWN0aW9uICkgewoJICBjYXNlICdkZXRhaWxzJzoKCQkkcHJldHR5dXJsID0gcHJvZHVjdF9vcHM6OnByZXR0eV91cmwoJHBhcmFtc1sncHJvZHVjdGlkJ10sJHJldHVybmlkLCRwYXJhbXMpOwoJCWJyZWFrOwoKCSAgY2FzZSAnZGVmYXVsdCc6CgkJaWYoIGlzc2V0KCRwYXJhbXNbJ2NhdGVnb3J5aWQnXSkgKSB7CgkJICAvLyBpZiB0aGUgY2F0ZWdvcnkgaWQgcGFyYW1ldGVyIGlzIHNldCwgdXNlIGJ5Y2F0ZWdvcnkKCQkgICRwcmV0dHl1cmwgPSBzcHJpbnRmKCIlcy9ieWNhdGVnb3J5LyVkLyVkIiwKCQkJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCdwcm9kdWN0cycpLAoJCQkJCQkJICAgKGludCkkcGFyYW1zWydjYXRlZ29yeWlkJ10sJHJldHVybmlkKTsKCQkgIGlmKCBpc3NldCgkcGFyYW1zWydjYXRlZ29yeW5hbWUnXSkgKSAkcHJldHR5dXJsIC49ICcvJy5tdW5nZV9zdHJpbmdfdG9fdXJsKCRwYXJhbXNbJ2NhdGVnb3J5bmFtZSddKTsKCQl9CgkJZWxzZSBpZiggaXNzZXQoJHBhcmFtc1snaGllcmFyY2h5aWQnXSkgKSB7CgkJICAvLyBpZiB0aGUgaGllcmFyY2h5IGlkIHBhcmFtZXRlciBpcyBzZXQsIHVzZSBieWhpZXJhcmNoeQoJCSAgJHByZXR0eXVybCA9IHNwcmludGYoIiVzL2J5aGllcmFyY2h5LyVkLyVkIiwKCQkJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCdwcm9kdWN0cycpLAoJCQkJCQkJICAgKGludCkkcGFyYW1zWydoaWVyYXJjaHlpZCddLCRyZXR1cm5pZCk7CgkJfQoJCWVsc2UgaWYoIGlzc2V0KCRwYXJhbXNbJ2ZpZWxkaWQnXSkgKSB7CgkJICAvLyBubyBwcmV0dHkgdXJscyBmb3IgdGhpcyBhdG0uCgkJICAkcHJldHR5dXJsID0gJyc7CgkJfQoJCWVsc2UgewoJCSAgLy8gb3RoZXJ3aXNlIHVzZSBzdW1tYXJ5CgkJICAkcHJldHR5dXJsID0gc3ByaW50ZigiJXMvc3VtbWFyeS8lZCIsCgkJCQkJCQkgICAkdGhpcy0+R2V0UHJlZmVyZW5jZSgndXJscHJlZml4JywncHJvZHVjdHMnKSwKCQkJCQkJCSAgICRyZXR1cm5pZCk7CgkJfQoJCWJyZWFrOwoKCSAgY2FzZSAnY2F0ZWdvcnlsaXN0JzoKCQlpZiggaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlpZCddKSAmJiAhaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlsaXN0ZHRsdGVtcGxhdGUnXSkgKSB7CgkJICAkcHJldHR5dXJsID0gc3ByaW50ZigiJXMvdmlld2NhdGVnb3J5LyVzLyVzIiwKCQkJCQkJCSAgICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCdwcm9kdWN0cycpLAoJCQkJCQkJICAgKGludCkkcGFyYW1zWydjYXRlZ29yeWlkJ10sJHJldHVybmlkKTsKCQl9CgkJYnJlYWs7CgoJICBjYXNlICdoaWVyYXJjaHknOgoJCSRwcmV0dHl1cmwgPSBzcHJpbnRmKCclcy9oaWVyYXJjaHkvJWQnLAoJCQkJCQkJICR0aGlzLT5HZXRQcmVmZXJlbmNlKCd1cmxwcmVmaXgnLCdwcm9kdWN0cycpLAoJCQkJCQkJIChpbnQpJHBhcmFtc1sncGFyZW50J10pOwoJCWlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGllcnBhZ2UnLC0xKSA9PSAtMSApIHsKCQkgIC8vIHVzZSByZXR1cm5pZCBpbiB0aGUgbGluay4KCQkgICRwcmV0dHl1cmwgLj0gJy8nLiRyZXR1cm5pZDsKCQl9CgkJaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdwcmV0dHloaWVydXJscycsMCkgKSB7CgkJICAvLyBhZGQgdGhlIG5hbWUgdG8gdGhlIHVybC4KCQkgICRpbmZvID0gaGllcmFyY2h5X29wczo6Z2V0X2hpZXJhcmNoeV9pbmZvKCRwYXJhbXNbJ3BhcmVudCddKTsKCQkgIGlmKCBpc19hcnJheSgkaW5mbykgKSAkcHJldHR5dXJsIC49ICcvJy5tdW5nZV9zdHJpbmdfdG9fdXJsKCRpbmZvWyduYW1lJ10pOwoJCX0KCQlicmVhazsKCSAgfSAvLyBzd2l0Y2gKCX0KCglpZiggaXNzZXQoJHBhcmFtc1sncmV0dXJuaWQnXSkgKSB1bnNldCgkcGFyYW1zWydyZXR1cm5pZCddKTsKCSRvdXQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJGFjdGlvbiwkcmV0dXJuaWQsJGNvbnRlbnRzLCRwYXJhbXMsJHdhcm5fbWVzc2FnZSwKCQkJCQkJCSAkb25seWhyZWYsJGlubGluZSwkYWRkdGV4dCwkdGFyZ2V0Y29udGVudG9ubHksJHByZXR0eXVybCk7CgoJcmV0dXJuICRvdXQ7CiAgfQoKICAvLyBjcmVhdGVzIGEgZm9ybS1zYWZlIGFsaWFzIHN0cmluZwogIGZ1bmN0aW9uIG1ha2VfYWxpYXMoJHN0cmluZywgJGlzRm9ybT1mYWxzZSkKICB7Cgkkc3RyaW5nID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkc3RyaW5nKTsKCSRzdHJpbmcgPSB0cmltKCRzdHJpbmcsICdfJyk7CglyZXR1cm4gc3RydG9sb3dlcigkc3RyaW5nKTsKICB9CgogIGZ1bmN0aW9uIEhhbmRsZVVwbG9hZGVkSW1hZ2UoJGlkLCRuYW1lLCRkZXN0ZGlyLCYkZXJyb3JzLCRzdWJmaWVsZD0nJywkd21sb2NhdGlvbj0nJywkb3ZlcndyaXRlPWZhbHNlKQogIHsKCSR0aGlzLT5fbG9hZF9hZG1pbigpOwoJcmV0dXJuIHByb2R1Y3RzX0hhbmRsZVVwbG9hZGVkSW1hZ2UoJHRoaXMsJGlkLCRuYW1lLCRkZXN0ZGlyLCRlcnJvcnMsJHN1YmZpZWxkLAoJCQkJCQkJCQkJJHdtbG9jYXRpb24sJG92ZXJ3cml0ZSk7CiAgfQoKICAvLyBkZXByZWNhdGVkCiAgZnVuY3Rpb24gR2V0SGllcmFyY2h5SW5mbygkaGllcmFyY2h5X2lkKQogIHsKCXJldHVybiBoaWVyYXJjaHlfb3BzOjpnZXRfaGllcmFyY2h5X2luZm8oJGhpZXJhcmNoeV9pZCk7CiAgfQoKICAvLyBkZXByZWNhdGVkCiAgZnVuY3Rpb24gR2V0SGllcmFyY2h5UGF0aCgkaGllYXJjaHlfaWQpCiAgewoJcmV0dXJuIGhpZXJhcmNoeV9vcHM6OmdldF9oaWVyYXJjaHlfcGF0aCgkaGllcmFyY2h5X2lkKTsKICB9CgogIC8vIGRlcHJlY2F0ZWQKICBmdW5jdGlvbiBHZXRQcm9kdWN0SGllcmFyY2h5UGF0aCgkcHJvZHVjdGlkKQogIHsKCXJldHVybiBwcm9kdWN0X29wczo6Z2V0X3Byb2R1Y3RfaGllcmFyY2h5X3BhdGgoJHByb2R1Y3RpZCk7CiAgfQoKICBmdW5jdGlvbiBEZWxldGVQcm9kdWN0KCRwcm9kdWN0aWQsJHVwZGF0ZV9zZWFyY2g9dHJ1ZSkKICB7CgkkdGhpcy0+X2xvYWRfYWRtaW4oKTsKCXJldHVybiBwcm9kdWN0c19EZWxldGVQcm9kdWN0KCR0aGlzLCRwcm9kdWN0aWQsJHVwZGF0ZV9zZWFyY2gpOwogIH0KCiAgZnVuY3Rpb24gX3NtYXJ0eV9wcm9kdWN0c19nZXRjYXRlZ29yeSgkcGFyYW1zLCYkc21hcnR5KQogIHsKCWlmKCAhaXNzZXQoJHBhcmFtc1snY2F0ZWdvcnlpZCddKSApIHJldHVybjsKCgkkY2F0aWQgPSAoaW50KSRwYXJhbXNbJ2NhdGVnb3J5aWQnXTsKCSRvYmogPSAkdGhpcy0+R2V0Q2F0ZWdvcnkoJGNhdGlkKTsKCQoJaWYoIGlzc2V0KCRwYXJhbXNbJ2Fzc2lnbiddKSApIHsKCSAgJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbJ2Fzc2lnbiddLCRvYmopOwoJICByZXR1cm47Cgl9CglyZXR1cm4gJG9iajsKICB9CgogIGZ1bmN0aW9uIF9zbWFydHlfcHJvZHVjdHNfaGllcmFyY2h5X2JyZWFkY3J1bWIoJHBhcmFtcywmJHNtYXJ0eSkKICB7CglpZiggIWlzc2V0KCRwYXJhbXNbJ2hpZXJhcmNoeWlkJ10pICkgcmV0dXJuOwoJJHJldHVybmlkID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ2hpZXJwYWdlJyk7CglpZiggJHJldHVybmlkIDw9IDAgKSAkcmV0dXJuaWQgPSBjbXNfdXRpbHM6OmdldF9jdXJyZW50X3BhZ2VpZCgpOwoJaWYoIGlzc2V0KCRwYXJhbXNbJ3BhZ2VpZCddKSApIHsKCSAgJHRtcCA9ICR0aGlzLT5yZXNvbHZlX2FsaWFzX29yX2lkKCRwYXJhbXNbJ3BhZ2VpZCddKTsKCSAgaWYoICR0bXAgKSAkcmV0dXJuaWQgPSAkdG1wOwoJfQoJJGRlbGltID0gJyAmcmFxdW8gJzsKCWlmKCBpc3NldCgkcGFyYW1zWydkZWxpbSddKSApICRkZWxpbSA9ICRwYXJhbXNbJ2RlbGltJ107CgoJJGhpZXJpZCA9IChpbnQpJHBhcmFtc1snaGllcmFyY2h5aWQnXTsKCSRiYyA9IGhpZXJhcmNoeV9vcHM6OmdldF9icmVhZGNydW1iKCdwcm9kJywkaGllcmlkLCRyZXR1cm5pZCwkZGVsaW0pOwoKCWlmKCBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgKSB7CgkgICRzbWFydHktPmFzc2lnbigkcGFyYW1zWydhc3NpZ24nXSwkYmMpOwoJICByZXR1cm47Cgl9CglyZXR1cm4gJGJjOwogIH0KCiAgZnVuY3Rpb24gX3NtYXJ0eV9wcm9kdWN0c19oaWVyYXJjaHlfcGFyZW50KCRwYXJhbXMsJiRzbWFydHkpCiAgewoJaWYoICFpc3NldCgkcGFyYW1zWydoaWVyYXJjaHlpZCddKSApIHJldHVybjsKCSRoaWQgPSAoaW50KSRwYXJhbXNbJ2hpZXJhcmNoeWlkJ107CgkkaW5mbyA9IGhpZXJhcmNoeV9vcHM6OmdldF9oaWVyYXJjaHlfaW5mbygkaGlkKTsKCWlmKCAhaXNfYXJyYXkoJGluZm8pICkgcmV0dXJuOwoKCWlmKCBpc3NldCgkcGFyYW1zWydhc3NpZ24nXSkgKSB7CgkgICRzbWFydHktPmFzc2lnbigkcGFyYW1zWydhc3NpZ24nXSwkaW5mb1sncGFyZW50X2lkJ10pOwoJICByZXR1cm47Cgl9CglyZXR1cm4gJGluZm9bJ3BhcmVudF9pZCddOwogIH0KCiAgZnVuY3Rpb24gZ2V0X3Byb2R1Y3RfaW5mbygkcHJvZHVjdF9pZCkKICB7CgkkdG1wID0gcHJvZHVjdF9vcHM6OmdldF9wcm9kdWN0KCRwcm9kdWN0X2lkKTsKCWlmKCAhaXNfYXJyYXkoJHRtcCkgKSByZXR1cm4gRkFMU0U7CglyZXR1cm4gJHRtcDsKICB9Cn0gLy8gY2xhc3MKCiMgdmltOnRzPTQgc3c9NCBub2V0Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/skeleton.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFByb2R1Y3RzIChjKSAyMDA4IGJ5IFJvYmVydCBDYW1wYmVsbCAKIyAgICAgICAgIChjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnKQojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyB1c2VycyB0byBjcmVhdGUsIG1hbmFnZQojICBhbmQgZGlzcGxheSBwcm9kdWN0cyBpbiBhIHZhcmlldHkgb2Ygd2F5cy4KIyAKIyBWZXJzaW9uOiAxLjEuNQojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/addcategoryfield.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdhZGRfY2F0ZWdvcnlfZmllbGQnLCRjYXRlZ29yeS5uYW1lKX08L2gzPgoKeyRmb3Jtc3RhcnR9CjxkaXY+eyRoaWRkZW4xfTwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3R5cGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZmllbGR0eXBlfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbmFtZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9maWVsZG5hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHQnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfZmllbGRwcm9tcHR9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd2YWx1ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAge2lmICRmaWVsZHR5cGUgPT0gJ2ZpbGUnIHx8ICRmaWVsZHR5cGUgPT0gJ2ltYWdlJ30KICAgIHtpZiBpc3NldCgkaW5wdXRfaGlkZGVuKX08ZGl2PnskaW5wdXRfaGlkZGVufTwvZGl2PnsvaWZ9CiAgICB7JG1vZC0+TGFuZygnY3VycmVudF92YWx1ZScpfTombmJzcDt7JGZpZWxkdmFsdWV9CiAgICB7aWYgaXNzZXQoJGZpbGVleGlzdHMpfSZuYnNwO3skbW9kLT5MYW5nKCd2YWxpZCcpfXtlbHNlfTxlbT4oeyRtb2QtPkxhbmcoJ2Vycm9yX2ZpbGVub3Rmb3VuZCcpfSk8L2VtPnsvaWZ9CiAgICA8YnIvPgogIHsvaWZ9CiAgeyRpbnB1dF9maWVsZHZhbHVlfQogIHtpZiAkZmllbGR0eXBlID09ICdpbWFnZScgJiYgaXNzZXQoJGlucHV0X3dhdGVybWFya2xvY2F0aW9uKX0KICAgIDxici8+CiAgICB7JHByb21wdF93YXRlcm1hcmtsb2NhdGlvbn06Jm5ic3A7eyRpbnB1dF93YXRlcm1hcmtsb2NhdGlvbn0KICB7L2lmfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/add_attrib_set.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdwcm9tcHRfYWRkX2F0dHJpYnNldCcpfTwvaDM+CjxoND57JG1vZC0+TGFuZygncHJvZHVjdCcpfTombmJzcDsgeyRwcm9kdWN0LnByb2R1Y3RfbmFtZX0gKHskcHJvZHVjdC5pZH0pe2lmICRwcm9kdWN0LnNrdSAhPSAnJ308YnIvPnskbW9kLT5MYW5nKCdza3UnKX06Jm5ic3A7eyRwcm9kdWN0LnNrdX17L2lmfTwvaDQ+CnskZm9ybXN0YXJ0fQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfc2V0X25hbWV9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NldF9uYW1lfTwvcD4KPC9kaXY+Cgp7aWYgY291bnQoJHZhbHVlcyl9Cjxici8+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+Cjx0YWJsZT4KICA8dGhlYWQ+CiAgICA8dGg+eyRpZHRleHR9PC90aD4KICAgIDx0aD4qeyRrZXl0ZXh0fTwvdGg+CiAgICA8dGg+eyR2YWx1ZXRleHR9PGJyLz57JGluZm9fdmFsdWV0ZXh0fTwvdGg+CiAgICA8dGg+e2lmICRtb2QtPkdldFByZWZlcmVuY2UoJ3NrdXJlcXVpcmVkJyl9KnsvaWZ9eyRtb2QtPkxhbmcoJ3NrdScpfTwvdGg+CiAgPC90aGVhZD4KICA8dGJvZHk+CiAge2ZvcmVhY2ggZnJvbT0kdmFsdWVzIGl0ZW09J29uZXZhbHVlJ30KICA8dHI+CiAgICA8dGQ+eyRvbmV2YWx1ZS0+aWR4fTwvdGQ+CiAgICA8dGQ+eyRvbmV2YWx1ZS0+a2V5fTwvdGQ+CiAgICA8dGQ+eyRvbmV2YWx1ZS0+dmFsdWV9PC90ZD4KICAgIDx0ZD57JG9uZXZhbHVlLT5za3V9PC90ZD4KICA8L3RyPgogIHsvZm9yZWFjaH0KICA8L3Rib2R5Pgo8L3RhYmxlPgo8L2Rpdj4KPGJyLz4Key9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCIgYm9yZGVyPSIwIj4KICAgICB7JGlucHV0X3VwZGF0ZX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fSZuYnNwO3skY2FuY2VsfTwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_add_hierarchy_item.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPntsaXRlcmFsfQokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJ2EucG9wdXBfaW1hZ2UnKS5mYW5jeWJveCgpOwp9KTsKey9saXRlcmFsfTwvc2NyaXB0Pgp7aWYgaXNzZXQoJGhpZXJhcmNoeV9pZCl9CjxoMz57JG1vZC0+TGFuZygnZWRpdF9oaWVyYXJjaHlfaXRlbScpfTwvaDM+CntlbHNlfQo8aDM+eyRtb2QtPkxhbmcoJ2FkZF9oaWVyYXJjaHlfaXRlbScpfTwvaDM+CnsvaWZ9Cgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCduYW1lJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfW5hbWUiIHZhbHVlPSJ7JG5hbWV9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiPjwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncGFyZW50Jyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbW9kLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRhY3Rpb25pZCwncGFyZW50JywkaGllcmFyY2h5X2l0ZW1zLCctMScsJHBhcmVudCl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkZXNjcmlwdGlvbicpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JG1vZC0+Q3JlYXRlVGV4dEFyZWEoJ3RydWUnLCRhY3Rpb25pZCwkZGVzY3JpcHRpb24sJ2Rlc2NyaXB0aW9uJyl9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdpbWFnZXRleHQnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAge2lmIGlzc2V0KCRpbWFnZSkgJiYgIWVtcHR5KCRpbWFnZSkgJiYgJGltYWdlICE9ICcwJ317JG1vZC0+TGFuZygnY3VycmVudF92YWx1ZScpfTombmJzcDs8YSBjbGFzcz0icG9wdXBfaW1hZ2UiIGhyZWY9InskaW1hZ2VfdXJsfSI+eyRpbWFnZX08L2E+PGJyLz4KICAgICAgIHskbW9kLT5MYW5nKCdkZWxldGUnKX06PGlucHV0IHR5cGU9ImNoZWNrYm94IiBuYW1lPSJ7JG1vZC0+R2V0QWN0aW9uSWQoKX1kZWxldGVpbWciIHZhbHVlPSIxIj48YnIvPgogICAgIHsvaWZ9CiAgICAgPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9InskYWN0aW9uaWR9ZmlsZSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ij4KICAgICB7aWYgaXNzZXQoJHdhdGVybWFya19sb2NhdGlvbil9CiAgICAgICA8YnIvPgogICAgICAgeyRtb2QtPkxhbmcoJ3dhdGVybWFya19sb2NhdGlvbicpfTombmJzcDt7JHdhdGVybWFya19sb2NhdGlvbn0KICAgICB7L2lmfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZXh0cmExJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWV4dHJhMSIgdmFsdWU9InskZXh0cmExfSIgc2l6ZT0iNTAiIG1heGxlbmd0aD0iMjU1Ij48L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2V4dHJhMicpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1leHRyYTIiIHZhbHVlPSJ7JGV4dHJhMn0iIHNpemU9IjUwIiBtYXhsZW5ndGg9IjI1NSI+PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+PGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ij4mbmJzcDs8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iPjwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_copyattribsets.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdjb3B5X2F0dHJpYl9zZXRzJyl9PC9oMz4KPHA+eyRtb2QtPkxhbmcoJ2luZm9fY29weV9hdHRyaWJzZXRzJyl9PC9wPgp7JGZvcm1zdGFydH0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdzb3VyY2UnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXNyY19jb21waWQiPgogICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRwcm9kdWN0X2xpc3R9CiAgICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdkZXN0aW5hdGlvbicpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7JGRlc3RfcHJvZHVjdF9uYW1lfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9IiBvbmNsaWNrPSJyZXR1cm4gY29uZmlybSgneyRtb2QtPkxhbmcoJ2NvbmZpcm1fY29weWF0dHJpYnV0ZXMnKX0nKTsiLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0K]]></data>
	</file>
	<file>
	  <filename>/templates/admin_edit_attribs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X29wdGlvbnMnKX08L2gzPgo8aDQ+eyRwcm9kdWN0LnByb2R1Y3RfbmFtZX0mbmJzcDsoeyRwcm9kdWN0LmlkfSk8L2g0PgoKPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgokKGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogICQoJy5jb3B5X29wdGlvbicpLmxpdmUoJ2NsaWNrJyxmdW5jdGlvbigpewogICAgLy8gZmluZCB0aGUgcHJlY2VkaW5nIHJvdy4uIGFuZCBjb3B5IGl0LgogICAgdmFyIHRyID0gJCh0aGlzKS5jbG9zZXN0KCd0cicpOwogICAgdmFyIGNsb25lID0gdHIuY2xvbmUoKTsKICAgIHRyLmFmdGVyKGNsb25lKTsKICB9KTsKICAkKCcuZGVsX29wdGlvbicpLmxpdmUoJ2NsaWNrJyxmdW5jdGlvbigpewogICAgdmFyIHRibCA9ICQodGhpcykuY2xvc2VzdCgndGFibGUnKTsKICAgIHZhciBsZW4gPSAkKCd0Ym9keSB0cicsdGJsKS5sZW5ndGg7CiAgICBpZiggbGVuIDw9IDEgKSB7CglhbGVydCgneyRtb2QtPkxhbmcoJ2Vycm9yX2RlbGV0ZV9sYXN0cm93Jyl9Jyk7CiAgICAgICAgcmV0dXJuOwogICAgfQogICAgJCh0aGlzKS5jbG9zZXN0KCd0cicpLnJlbW92ZSgpOwogIH0pOwogICQoJy5lZGl0X25vdGVzJykubGl2ZSgnY2xpY2snLGZ1bmN0aW9uKCl7CiAgICB2YXIgYSA9ICQodGhpcykuY2xvc2VzdCgndHInKTsKICAgIHZhciBiID0gJCgnLm5vdGVzJyxhKTsKICAgIHZhciBpZHggPSBhLnByZXZBbGwoKS5sZW5ndGg7CiAgICAkKCcjbm90ZXNfaWR4JykudmFsKGlkeCk7CiAgICAkKCcjbm90ZXNfdHh0JykudmFsKGIudmFsKCkpOwogICAgJCgnI25vdGVzX2RpYWxvZycpLmRpYWxvZyh7CiAgICAgIG1vZGFsOiB0cnVlLAogICAgICBidXR0b25zOiBbeyB0ZXh0OiAieyRtb2QtPkxhbmcoJ29rJyl9IiwgY2xpY2s6IGZ1bmN0aW9uKCl7CgkJICB2YXIgdHh0ID0gJCgnI25vdGVzX3R4dCcpLnZhbCgpOwoJCSAgdmFyIGlkeCA9ICQoJyNub3Rlc19pZHgnKS52YWwoKTsKICAgICAgICAgICAgICAgICAgLy9hbGVydCgnZm9vYmFyICcrdHh0KycgLS0gJytpZHgpOwoJCSAgJCgnI2F0dHJpYl90YWJsZSB0Ym9keSB0cicpLmVxKGlkeCkuZmluZCgnLm5vdGVzJykudmFsKHR4dCk7CiAgICAgICAgICAgICAgICAgICQodGhpcykuZGlhbG9nKCdjbG9zZScpOwogICAgICAgICAgICAgICAgICB9IH1dCiAgICB9KTsKICB9KTsKICAkKCcjc3VibWl0JykuY2xpY2soZnVuY3Rpb24oKXsKICAgIHZhciBsID0gJCgnI2F0dHJpYl90YWJsZSB0Ym9keSB0cicpLmxlbmd0aDsKICAgIGlmKCBsIDwgMiApIHsKICAgICAgYWxlcnQoJ3skbW9kLT5MYW5nKCdlcnJvcl9uZWVkdHdvcm93cycpfScpOwogICAgICByZXR1cm4gZmFsc2U7CiAgICB9CiAgfSk7CiAgJCgnI2RlbGV0ZWFsbCcpLmxpdmUoJ2NsaWNrJyxmdW5jdGlvbigpewogICAgcmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdjb25maXJtX2RlbGV0ZWFsbG9wdGlvbnMnKX0nKTsKICB9KTsKICAkKCcjY29weWF0dHJpYnMnKS5jbGljayhmdW5jdGlvbigpewogICAgcmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdjb25maXJtX2NvcHlvcHRpb25zJyl9Jyk7CiAgfSk7Cn0pOwo8L3NjcmlwdD4KCjxkaXYgaWQ9Im5vdGVzX2RpYWxvZyIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ2VkaXRfb3B0aW9uX25vdGVzJyl9Ij4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbm90ZXMnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxpbnB1dCB0eXBlPSJoaWRkZW4iIGlkPSJub3Rlc19pZHgiIHZhbHVlPSIiLz4KICAgICAgPHRleHRhcmVhIGlkPSJub3Rlc190eHQiIHJvd3M9IjUiIGNvbHVtbnM9IjQwIj48L3RleHRhcmVhPgogICAgPC9wPgogIDwvZGl2Pgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZXdhcm5pbmciPnskbW9kLT5MYW5nKCd3YXJuX2VkaXRfcHJvZHVjdF9vcHRpb25zJyl9PC9kaXY+Cgp7JGZvcm1zdGFydH0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUiIGNlbGxzcGFjaW5nPSIwIiBpZD0iYXR0cmliX3RhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD48c3BhbiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3RpdGxlX3NrdScpfSI+e2lmICRza3VfaXNfcmVxdWlyZWR9KnsvaWZ9eyRtb2QtPkxhbmcoJ3NrdScpfTwvc3Bhbj48L3RoPgogICAgICA8dGg+PHNwYW4gdGl0bGU9InskbW9kLT5MYW5nKCd0aXRsZV9hdHRyaWJfdGV4dCcpfSI+KnskbW9kLT5MYW5nKCdhdHRyaWJfdGV4dCcpfTwvc3Bhbj48L3RoPgogICAgICA8dGg+PHNwYW4gdGl0bGU9InskbW9kLT5MYW5nKCd0aXRsZV9hZGp1c3RtZW50Jyl9Ij57JG1vZC0+TGFuZygncHJpY2VfYWRqdXN0bWVudCcpfTwvc3Bhbj48L3RoPgogICAgICA8dGg+PHNwYW4gdGl0bGU9InskbW9kLT5MYW5nKCd0aXRsZV9xb2gnKX0iPnskbW9kLT5MYW5nKCdxdWFudGl0eV9vbl9oYW5kJyl9PC9zcGFuPjwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+CiAgICAgIDx0aCBjbGFzcz0icGFnZWljb24iPjwvdGg+CiAgICA8L3RyPgogIDwvdGhlYWQ+CiAgPHRib2R5PgogIHtmb3JlYWNoIGZyb209JGF0dHJpYnMgbmFtZT0nYXR0cmliJyBpdGVtPSdhdHRyaWInfQogICAgPHRyPgogICAgICA8dGQ+PGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9c2t1W10iIHZhbHVlPSJ7JGF0dHJpYi5za3V9IiBzaXplPSIxMCIgbWF4bGVuZ3RoPSIyNSIvPjwvdGQ+CiAgICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH10ZXh0W10iIHZhbHVlPSJ7JGF0dHJpYi50ZXh0fSIgc2l6ZT0iODAiIG1heGxlbmd0aD0iMjU1Ii8+PC90ZD4KICAgICAgPHRkPjxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWFkanVzdG1lbnRbXSIgdmFsdWU9InskYXR0cmliLmFkanVzdG1lbnR9IiBzaXplPSIxMCIgbWF4bGVuZ3RoPSIxMCIvPjwvdGQ+CiAgICAgIDx0ZD48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1xb2hbXSIgdmFsdWU9InskYXR0cmliLnFvaH0iIHNpemU9IjUiIG1heGxlbmd0aD0iNSIvPjwvdGQ+CiAgICAgIDx0ZD48aW5wdXQgdHlwZT0iaGlkZGVuIiBjbGFzcz0ibm90ZXMiIG5hbWU9InskYWN0aW9uaWR9bm90ZXNbXSIgdmFsdWU9InskYXR0cmliLm5vdGVzfSIvPntjZ2ltYWdlIGltYWdlPSdpY29ucy9zeXN0ZW0vZWRpdC5naWYnIGNsYXNzPSJlZGl0X25vdGVzIiBhbHQ9JG1vZC0+TGFuZygnZWRpdF9ub3RlcycpfTwvdGQ+CiAgICAgIDx0ZD57Y2dpbWFnZSBpbWFnZT0naWNvbnMvc3lzdGVtL2NvcHkuZ2lmJyBjbGFzcz0iY29weV9vcHRpb24iIGFsdD0kbW9kLT5MYW5nKCdjb3B5X2F0dHJpYnV0ZScpfQogICAgICA8dGQ+e2NnaW1hZ2UgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBjbGFzcz0iZGVsX29wdGlvbiIgYWx0PSRtb2QtPkxhbmcoJ2NvcHlfYXR0cmlidXRlJyl9CiAgICA8L3RyPgogIHsvZm9yZWFjaH0KICA8L3Rib2R5Pgo8L3RhYmxlPgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+CntpZiBpc3NldCgkcHJvZHVjdHNfd2l0aF9hdHRyaWJzKX0KICA8bGFiZWwgZm9yPSJjb3B5X2F0dHJpYnNfZnJvbSI+eyRtb2QtPkxhbmcoJ2NvcHlfb3B0aW9uc19mcm9tJyl9OjwvbGFiZWw+Jm5ic3A7CiAgPHNlbGVjdCBpZD0iY29weV9hdHRyaWJzX2Zyb20iIG5hbWU9InskYWN0aW9uaWR9Y29weWZyb20iPgogICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRwcm9kdWN0c193aXRoX2F0dHJpYnN9CiAgPC9zZWxlY3Q+Jm5ic3A7CiAgPGlucHV0IHR5cGU9InN1Ym1pdCIgaWQ9ImNvcHlhdHRyaWJzIiBuYW1lPSJ7JGFjdGlvbmlkfWNvcHlhdHRyaWJzIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ29rJyl9Ii8+CnsvaWZ9CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiBpZD0ic3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jYW5jZWwiIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2FuY2VsJyl9Ii8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0iZGVsZXRlYWxsIiBuYW1lPSJ7JGFjdGlvbmlkfWRlbGV0ZWFsbCIgaWQ9ImRlbGV0ZWFsbCIgdmFsdWU9InskbW9kLT5MYW5nKCdkZWxldGVfYWxsJyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_hierarchy_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGNvdW50KCRlbnRyaWVzKX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8dGFibGUgY2xhc3M9InBhZ2V0YWJsZSIgY2VsbHNwYWNpbmc9IjAiPgogICAgPHRoZWFkPgogICAgICA8dHI+CiAgICAgICAgPHRoIHdpZHRoPSIyJSI+eyRtb2QtPkxhbmcoJ2lkJyl9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ2hpZXJhcmNoeScpfTwvdGg+CiAgICAgICAgPHRoIGNsYXNzPSJwYWdlaWNvbiI+Jm5ic3A7PC90aD4KICAgICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8L3RyPgogICAgPC90aGVhZD4KICAgIDx0Ym9keT4KICAgIHtmb3JlYWNoIGZyb209JGVudHJpZXMgaXRlbT0nb25lZW50cnknfQogICAgICB7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQogICAgICA8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgoJPHRkPnskb25lZW50cnkuaWR9PC90ZD4KICAgICAgICA8dGQ+e2NncmVwZWF0IHRleHQ9JyZuYnNwOyZndDsmbmJzcDsnIGNvdW50PSRvbmVlbnRyeS5kZXB0aH08YSBocmVmPSJ7JG9uZWVudHJ5LmVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0X2hpZXJhcmNoeV9pdGVtJyl9Ij57JG9uZWVudHJ5Lm5hbWV9PC9hPjwvdGQ+CiAgICAgICAgPHRkPnskb25lZW50cnkuZWRpdF9saW5rfTwvdGQ+CiAgICAgICAgPHRkPnskb25lZW50cnkuZGVsZXRlX2xpbmt9PC90ZD4KICAgICAgPC90cj4KICAgIHsvZm9yZWFjaH0KICAgIDwvdGJvZHk+CiAgPC90YWJsZT4KPC9kaXY+CnsvaWZ9Cgo8cCBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICB7JGFkZF9oaWVyYXJjaHlfbGlua30mbmJzcDt7JHJlb3JkZXJfbGlua3xkZWZhdWx0OicnfQo8L3A+]]></data>
	</file>
	<file>
	  <filename>/templates/admin_reorder_hierarchy.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRkZXB0aCA9PSAwfQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CntsaXRlcmFsfQpmdW5jdGlvbiBwYXJzZVRyZWUodWwpewoJdmFyIHRhZ3MgPSBbXTsKCXVsLmNoaWxkcmVuKCJsaSIpLmVhY2goZnVuY3Rpb24oKXsKCQl2YXIgc3VidHJlZSA9CSQodGhpcykuY2hpbGRyZW4oInVsIik7CgkJaWYoc3VidHJlZS5zaXplKCkgPiAwKQoJCQl0YWdzLnB1c2goWyQodGhpcykuYXR0cigiaWQiKSwgcGFyc2VUcmVlKHN1YnRyZWUpXSk7CgkJZWxzZQoJCQl0YWdzLnB1c2goJCh0aGlzKS5hdHRyKCJpZCIpKTsKCX0pOwoJcmV0dXJuIHRhZ3M7Cn0KCiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgJCgndWwuc29ydGFibGUnKS5uZXN0ZWRTb3J0YWJsZSh7CiAgICAgZGlzYWJsZU5lc3Rpbmc6ICduby1uZXN0JywKICAgICBmb3JjZVBsYWNlaG9sZGVyU2l6ZTogdHJ1ZSwKICAgICBoYW5kbGU6ICdkaXYnLAogICAgIGl0ZW1zOiAnbGknLAogICAgIG9wYWNpdHk6IDYsCiAgICAgcGxhY2Vob2xkZXI6ICdwbGFjZWhvbGRlcicsCiAgICAgdGFiU2l6ZTogMzUsCiAgICAgdG9sZXJhbmNlOiAncG9pbnRlcicsCiAgICAgbGlzdFR5cGU6ICd1bCcsCiAgICAgdG9sZXJhbmNlRWxlbWVudDogJz4gZGl2JwogIH0pOwoKICAkKCcjc3VibWl0X2J0bicpLmxpdmUoJ2NsaWNrJyxmdW5jdGlvbigpewogICAgIHZhciB0cmVlID0gJC50b0pTT04ocGFyc2VUcmVlKCQoJ3VsLnNvcnRhYmxlJykpKTsKICAgICAkKCcjb3JkZXJkYXRhJykudmFsKHRyZWUpOwogIH0pOwoKfSk7CnsvbGl0ZXJhbH0KPC9zY3JpcHQ+Cgo8aDM+eyRtb2QtPkxhbmcoJ3Jlb3JkZXJfaGllcmFyY2h5Jyl9PC9oMz4KPGRpdiBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdpbmZvX3Jlb3JkZXJfY29udGVudCcpfTwvZGl2Pgp7JGZvcm1zdGFydH0KPGlucHV0IHR5cGU9ImhpZGRlbiIgbmFtZT0ieyRhY3Rpb25pZH1vcmRlcmRhdGEiIHZhbHVlPSIiIGlkPSJvcmRlcmRhdGEiLz4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPGRpdiBjbGFzcz0icmVvcmRlci1wYWdlcyBwYWdlaW5wdXQiPgp7L2lmfQogICAgPHVsIGNsYXNzPSJzb3J0YWJsZUxpc3Qge2lmICRkZXB0aD09MH1zb3J0YWJsZXsvaWZ9Ij4KICAgIHtmb3JlYWNoIGZyb209JHRyZWUgaXRlbT0naXRlbSd9CiAgICAgIHtpZiAkaXRlbS5wYXJlbnRfaWQgPT0gLTF9CiAgICAgICAge2Fzc2lnbiB2YXI9ImRlcHRoIiB2YWx1ZT0iMCJ9CiAgICAgIHsvaWZ9CiAgICAgIDxsaSBpZD0iaGllcl97JGl0ZW0uaWR9Ij48ZGl2IGNsYXNzPSJsYWJlbCI+PHNwYW4+Jm5ic3A7PC9zcGFuPnskaXRlbS5uYW1lfTwvZGl2PgogICAgICAgIHtpZiBpc3NldCgkaXRlbS5jaGlsZHJlbil9CiAgICAgICAgICB7aW5jbHVkZSBmaWxlPSRzbWFydHkudGVtcGxhdGUgZGVwdGg9JGRlcHRoKzEgdHJlZT0kaXRlbS5jaGlsZHJlbn0KICAgICAgICB7L2lmfQogICAgICA8L2xpPgogICAgey9mb3JlYWNofQogICAgPC91bD4Ke2lmICRkZXB0aCA9PSAwfQogIDwvZGl2Pgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgaWQ9InN1Ym1pdF9idG4iIHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhbmNlbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjYW5jZWwnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9CnsvaWZ9]]></data>
	</file>
	<file>
	  <filename>/templates/categorylist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0KCntpZiAkaXRlbWNvdW50ID4gMH0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aD57JG1vZC0+TGFuZygnY2F0ZWdvcnknKX08L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skZW50cnktPnJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JGVudHJ5LT5yb3djbGFzc30nOyI+CgkJCTx0ZD57JGVudHJ5LT5uYW1lfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5maWVsZHNsaW5rfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5jb3B5bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZWRpdGxpbmt9PC90ZD4KCQkJPHRkPnskZW50cnktPmRlbGV0ZWxpbmt9PC90ZD4KCQk8L3RyPgp7L2ZvcmVhY2h9Cgk8L3Rib2R5Pgo8L3RhYmxlPgp7L2lmfQoKPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRhZGRsaW5rfTwvcD48L2Rpdj4K]]></data>
	</file>
	<file>
	  <filename>/templates/copycategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdjb3B5X2NhdGVnb3J5Jyl9OiB7JGNhdGVnb3J5Lm5hbWV9PC9oMz4KeyRzdGFydGZvcm19CjxkaXY+eyRoaWRkZW59PC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbmV3X2NhdGVnb3J5X25hbWUnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dG5hbWV9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JHN1Ym1pdH17JGNhbmNlbH08L3A+CjwvZGl2Pgp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/dflt_templates.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgeyRpbmZvX2RmbHRfdGVtcGxhdGV9CjwvZGl2PgoKPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRsZWdlbmRfc3VtbWFyeXRlbXBsYXRlfTwvbGVnZW5kPgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3N1bW1hcnl0ZW1wbGF0ZX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdW1tYXJ5dGVtcGxhdGV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0X3N1bW1hcnl0ZW1wbGF0ZX0mbmJzcDt7JHJlc2V0X3N1bW1hcnl0ZW1wbGF0ZX08L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JGxlZ2VuZF9kZXRhaWx0ZW1wbGF0ZX08L2xlZ2VuZD4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9kZXRhaWx0ZW1wbGF0ZX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9kZXRhaWx0ZW1wbGF0ZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXRfZGV0YWlsdGVtcGxhdGV9Jm5ic3A7eyRyZXNldF9kZXRhaWx0ZW1wbGF0ZX08L3A+CiAgPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CiAgPGxlZ2VuZD57JGxlZ2VuZF9ieWhpZXJhcmNoeXRlbXBsYXRlfTwvbGVnZW5kPgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2J5aGllcmFyY2h5dGVtcGxhdGV9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYnloaWVyYXJjaHl0ZW1wbGF0ZX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzdWJtaXRfYnloaWVyYXJjaHl0ZW1wbGF0ZX0mbmJzcDt7JHJlc2V0X2J5aGllcmFyY2h5dGVtcGxhdGV9PC9wPgogIDwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRsZWdlbmRfY2F0ZWdvcnlsaXN0dGVtcGxhdGV9PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfY2F0ZWdvcnlsaXN0dGVtcGxhdGV9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY2F0ZWdvcnlsaXN0dGVtcGxhdGV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0X2NhdGVnb3J5bGlzdHRlbXBsYXRlfSZuYnNwO3skcmVzZXRfY2F0ZWdvcnlsaXN0dGVtcGxhdGV9PC9wPgogIDwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0PgogIDxsZWdlbmQ+eyRsZWdlbmRfc2VhcmNodGVtcGxhdGV9PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfc2VhcmNodGVtcGxhdGV9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc2VhcmNodGVtcGxhdGV9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0X3NlYXJjaHRlbXBsYXRlfSZuYnNwO3skcmVzZXRfc2VhcmNodGVtcGxhdGV9PC9wPgogIDwvZGl2Pgo8L2ZpZWxkc2V0PgoKeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/editcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0KCntpZiBlbXB0eSgkaGlkZGVuKX0KPGgzPnskbW9kLT5MYW5nKCdhZGRjYXRlZ29yeScpfTwvaDM+CntlbHNlfQo8aDM+eyRtb2QtPkxhbmcoJ2VkaXRfY2F0ZWdvcnknKX08L2gzPgp7L2lmfQoKeyRzdGFydGZvcm19Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+KnskbmFtZXRleHR9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0bmFtZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgoJPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/editcategoryfields.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdlZGl0X2NhdGVnb3J5X2ZpZWxkcycsJGNhdGVnb3J5Lm5hbWUpfTwvaDM+CntpZiBpc3NldCgkZmllbGRzKSAmJiBjb3VudCgkZmllbGRzKX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnbmFtZScpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygndHlwZScpfTwvdGg+CiAgICAgIDx0aD57JG1vZC0+TGFuZygndmFsdWUnKX08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgogIDx0Ym9keT4KICB7Zm9yZWFjaCBmcm9tPSRmaWVsZHMgaXRlbT0nb25lZmllbGQnfQogICAgIHtjeWNsZSB2YWx1ZXM9InJvdzEscm93MiIgYXNzaWduPSdyb3djbGFzcyd9CiAgICAgPHRyIGNsYXNzPSJ7JHJvd2NsYXNzfSIgb25tb3VzZW92ZXI9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfWhvdmVyJzsiIG9ubW91c2VvdXQ9InRoaXMuY2xhc3NOYW1lPSd7JHJvd2NsYXNzfSc7Ij4KICAgICAgIDx0ZD57JG9uZWZpZWxkLmZpZWxkX25hbWV9PC90ZD4KICAgICAgIDx0ZD57JG9uZWZpZWxkLmZpZWxkX3R5cGV9PC90ZD4KICAgICAgIDx0ZD57JG9uZWZpZWxkLmZpZWxkX3ZhbHVlfHN0cmlwX3RhZ3N8c3VtbWFyaXplOjEwfTwvdGQ+CiAgICAgICA8dGQ+eyRvbmVmaWVsZC5tb3ZlX3VwfGRlZmF1bHQ6Jyd9PC90ZD4KICAgICAgIDx0ZD57JG9uZWZpZWxkLm1vdmVfZG93bnxkZWZhdWx0OicnfTwvdGQ+CiAgICAgICA8dGQ+eyRvbmVmaWVsZC5lZGl0bGlua308L3RkPgogICAgICAgPHRkPnskb25lZmllbGQuZGVsZXRlbGlua308L3RkPgogICAgIDwvdHI+CiAgey9mb3JlYWNofQogIDwvdGJvZHk+CjwvdGFibGU+CjwvZGl2Pgp7L2lmfQoKPHAgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgeyRhZGRsaW5rfSZuYnNwO3skcmV0dXJuX2xpbmt9CjwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/editfielddef.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0KCnskc3RhcnRmb3JtfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+KnskbW9kLT5MYW5nKCduYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0bmFtZX0mbmJzcDt7JG1vZC0+TGFuZygnaW5mb19hbG51bW9ubHknKX08L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPip7JG1vZC0+TGFuZygncHJvbXB0Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0cHJvbXB0fTwvcD4KPC9kaXY+Cgp7aWYgJHNob3dpbnB1dHR5cGUgZXEgdHJ1ZX0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPip7JG1vZC0+TGFuZygndHlwZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHR5cGV9PC9wPgo8L2Rpdj4Ke2Vsc2V9CiAgeyRpbnB1dHR5cGV9CnsvaWZ9Cgp7aWYgJHR5cGUgPT0gJ3RleHRib3gnfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+KnskbW9kLT5MYW5nKCdtYXhsZW5ndGgnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRtYXhsZW5ndGh9PC9wPgo8L2Rpdj4Key9pZn0KCntpZiAkdHlwZSA9PSAnZHJvcGRvd24nfQo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+KnskbW9kLT5MYW5nKCdkcm9wZG93bl9vcHRpb25zJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij48dGV4dGFyZWEgbmFtZT0ieyRhY3Rpb25pZH1vcHRpb25zIj57JG9wdGlvbnN9PC90ZXh0YXJlYT48L3A+CjwvZGl2Pgp7L2lmfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPip7JHVzZXJ2aWV3dGV4dH06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdXNlcnZpZXd9PGJyLz57JG1vZC0+TGFuZygnaW5mb19wdWJsaWNmaWVsZCcpfTwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/editproduct.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0Ke2xpdGVyYWx9CjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4KalF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewogalF1ZXJ5KCcuZmFuY3lib3gnKS5mYW5jeWJveCgpOwp9KTsKPC9zY3JpcHQ+CnsvbGl0ZXJhbH0KCnskc3RhcnRmb3JtfQp7aWYgaXNzZXQoJGNvbXBpZCl9CjxoMz57JG1vZC0+TGFuZygnZWRpdF9wcm9kdWN0Jyl9Jm5ic3A7KHskY29tcGlkfSk8L2gzPgp7ZWxzZX0KPGgzPnskbW9kLT5MYW5nKCdhZGRwcm9kdWN0Jyl9PC9oMz4Key9pZn0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgoJPC9kaXY+Cnskc3RhcnR0YWJoZWFkZXJzfQp7JHRhYmhlYWRlcl9tYWlufQp7aWYgJGN1c3RvbWZpZWxkc2NvdW50IGd0IDB9eyR0YWJoZWFkZXJfZmllbGRzfXsvaWZ9CnskdGFiaGVhZGVyX2FkdmFuY2VkfQp7JGVuZHRhYmhlYWRlcnN9Cgp7JHN0YXJ0dGFiY29udGVudH0KeyR0YWJfbWFpbn0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4qeyRuYW1ldGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRuYW1lfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcHJpY2V0ZXh0fTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRjdXJyZW5jeV9zeW1ib2x9eyRpbnB1dHByaWNlfTxici8+CgkgICAgICAgICAgeyRtb2QtPkxhbmcoJ2luZm9fZGVjaW1hbF91bml0cycpfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskc3RhdHVzdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRzdGF0dXN9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRkZXRhaWxzdGV4dH06PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRkZXRhaWxzfTwvcD4KCTwvZGl2PgoKCXsqIHRoZSBoaWVyYXJjaHkgc3R1ZmYgKn0KCXtpZiBjb3VudCgkaGllcmFyY2h5X2l0ZW1zKX0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdoaWVyYXJjaHlfcG9zaXRpb24nKX06PC9wPgogICAgICAgICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRtb2QtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGFjdGlvbmlkLCdoaWVyYXJjaHknLCRoaWVyYXJjaHlfaXRlbXMsJy0xJywkaGllcmFyY2h5X3Bvcyl9PC9wPgoJICAgICAgICAgICAgICAgICAgCgk8L2Rpdj4KICAgICAgICB7L2lmfQoKCXsqIHRheGFibGU/ICp9Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyR0YXhhYmxldGV4dH06PC9wPgoJICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0dGF4YWJsZX08L3A+Cgk8L2Rpdj4KCQogICAgICAgIHsqIGNhdGVnb3JpZXMgKn0KICAgICAgICB7aWYgaXNzZXQoJGlucHV0X2NhdGVnb3JpZXMpfQogICAgICAgIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICAgICAgICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnY2F0ZWdvcmllcycpfTwvcD4KICAgICAgICAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2NhdGVnb3JpZXN9PC9wPgogICAgICAgIDwvZGl2PgogICAgICAgIHsvaWZ9CgoKeyRlbmR0YWJ9Cgp7KiBkaXNwbGF5IGN1c3RvbSBmaWVsZHMgKn0Ke2lmICRjdXN0b21maWVsZHNjb3VudCBndCAwfQp7JHRhYl9maWVsZHN9CiAge2ZvcmVhY2ggZnJvbT0kY3VzdG9tZmllbGRzIGl0ZW09Y3VzdG9tZmllbGR9Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+e2lmIGlzc2V0KCRjdXN0b21maWVsZC0+cHJvbXB0KX17JGN1c3RvbWZpZWxkLT5wcm9tcHR9e2Vsc2V9eyRjdXN0b21maWVsZC0+bmFtZX17L2lmfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgICAgICAgICAgICB7aWYgaXNzZXQoJGN1c3RvbWZpZWxkLT52YWx1ZSl9CiAgICAgICAgICAgICAgICAgIHtpZiAkY3VzdG9tZmllbGQtPnR5cGUgPT0gJ2ltYWdlJyAmJiBpc3NldCgkY3VzdG9tZmllbGQtPmltYWdlKSAmJiBpc3NldCgkY3VzdG9tZmllbGQtPnRodW1ibmFpbCl9CiAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9InskY3VzdG9tZmllbGQtPmltYWdlfSIgY2xhc3M9ImZhbmN5Ym94Ij48aW1nIHNyYz0ieyRjdXN0b21maWVsZC0+dGh1bWJuYWlsfSIgYWx0PSJ7JGN1c3RvbWZpZWxkLT52YWx1ZX0iLz48L2E+CiAgICAgICAgICAgICAgICAgIHtlbHNlaWYgJGN1c3RvbWZpZWxkLT50eXBlICE9ICd0ZXh0YXJlYScgJiYgJGN1c3RvbWZpZWxkLT50eXBlICE9ICdkaW1lbnNpb25zJ317JG1vZC0+TGFuZygnY3VycmVudF92YWx1ZScpfTombmJzcDt7JGN1c3RvbWZpZWxkLT52YWx1ZX08YnIvPgogICAgICAgICAgICAgICAgICB7L2lmfQoKICAgICAgICAgICAgICAgICAge2lmIGlzc2V0KCRjdXN0b21maWVsZC0+ZGVsZXRlKX17JG1vZC0+TGFuZygnZGVsZXRlJyl9Jm5ic3A7eyRjdXN0b21maWVsZC0+ZGVsZXRlfTxici8+ey9pZn0KICAgICAgICAgICAgICAgIHsvaWZ9ICAgICAgICAgCiAgICAgICAgICAgICAgICB7aWYgaXNzZXQoJGN1c3RvbWZpZWxkLT5oaWRkZW4pfXskY3VzdG9tZmllbGQtPmhpZGRlbn17L2lmfXskY3VzdG9tZmllbGQtPmlucHV0X2JveH0KICAgICAgICAgICAgICAgIHtpZiBpc3NldCgkY3VzdG9tZmllbGQtPmF0dHJpYnV0ZSl9PGJyLz57JGN1c3RvbWZpZWxkLT5hdHRyaWJ1dGV9ey9pZn0KICAgICAgICAgICAgICAgIDwvcD4KCTwvZGl2PgogIHsvZm9yZWFjaH0KeyRlbmR0YWJ9CnsvaWZ9Cgp7JHRhYl9hZHZhbmNlZH0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57aWYgJG1vZC0+R2V0UHJlZmVyZW5jZSgnc2t1cmVxdWlyZWQnKX0qey9pZn17JG1vZC0+TGFuZygnc2t1Jyl9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0c2t1fTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskd2VpZ2h0dGV4dH0gKHskd2VpZ2h0dW5pdHN9KTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dHdlaWdodH08YnIvPgogICAgICAgICAgICAgICAgICB7JG1vZC0+TGFuZygnaW5mb19kZWNpbWFsX3VuaXRzJyl9PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3VybF9hbGlhcycpfTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dGFsaWFzfTwvcD4KCTwvZGl2Pgp7JGVuZHRhYn0KCnskZW5kdGFiY29udGVudH0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRoaWRkZW59eyRzdWJtaXR9eyRjYW5jZWx9PC9wPgoJPC9kaXY+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/edit_attribsets.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfYXR0cmlic2V0c19mb3J9OiZuYnNwO3skcHJvZHVjdF9uYW1lfTwvaDM+Cgp7aWYgJGl0ZW1jb3VudCA+IDB9Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkJPHRyPgoJCQk8dGg+eyRpZHRleHR9PC90aD4KICAgICAgICAgICAgICAgICAgICAgICAgPHRoPnskbmFtZXRleHR9PC90aD4KCQkJPHRoPnskY291bnR0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPiZuYnNwOzwvdGg+CgkJPC90cj4KCTwvdGhlYWQ+Cgk8dGJvZHk+Cntmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9Cgl7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQoJCTx0ciBjbGFzcz0ieyRyb3djbGFzc30iIG9ubW91c2VvdmVyPSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc31ob3Zlcic7IiBvbm1vdXNlb3V0PSJ0aGlzLmNsYXNzTmFtZT0neyRyb3djbGFzc30nOyI+CgkJCTx0ZD57JGVudHJ5LT5hdHRyaWJfc2V0X2lkfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5hdHRyaWJfc2V0X25hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmNvdW50fTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+CiAgeyRhZGRfbGlua30mbmJzcDt7JGNvcHlfbGlua30mbmJzcDt7JHJldHVybl9saW5rfQo8L2Rpdj4=]]></data>
	</file>
	<file>
	  <filename>/templates/exportcsv.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdleHBvcnRfdG9fY3N2Jyl9PC9oMz4KeyRmb3Jtc3RhcnR9Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2V4cG9ydGRlbGltJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZXhwb3J0ZGVsaW0iIHZhbHVlPSJ7JG9wdGlvbnMuZXhwb3J0ZGVsaW19IiBzaXplPSI1IiBtYXhsZW5ndGg9IjUiLz4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdleHBvcnRkcmFmdCcpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9ZXhwb3J0ZHJhZnQgc2VsZWN0ZWQ9JG9wdGlvbnMuZXhwb3J0ZHJhZnR9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZXhwb3J0Y2F0cycpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9ZXhwb3J0Y2F0cyBzZWxlY3RlZD0kb3B0aW9ucy5leHBvcnRjYXRzfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2V4cG9ydGZpZWxkcycpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9ZXhwb3J0ZmllbGRzIHNlbGVjdGVkPSRvcHRpb25zLmV4cG9ydGZpZWxkc30KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdleHBvcnRhdHRyaWJzJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1leHBvcnRhdHRyaWJzIHNlbGVjdGVkPSRvcHRpb25zLmV4cG9ydGF0dHJpYnN9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/fielddeflist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0KCjxwPnskbW9kLT5MYW5nKCdpbmZvX2ZpZWxkZGVmc190YWInKX08L3A+Cgp7aWYgJGl0ZW1jb3VudCA+IDB9Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cgk8dGhlYWQ+CgkJPHRyPgoJCQk8dGg+eyRmaWVsZGRlZnRleHR9PC90aD4KCQkJPHRoPnskdHlwZXRleHR9PC90aD4KCQkJPHRoIGNsYXNzPSJtb3ZlIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJe2N5Y2xlIHZhbHVlcz0icm93MSxyb3cyIiBhc3NpZ249J3Jvd2NsYXNzJ30KCQk8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgoJCQk8dGQ+eyRlbnRyeS0+bmFtZX08L3RkPgoJCQk8dGQ+e2Fzc2lnbiB2YXI9J3RtcCcgdmFsdWU9JGVudHJ5LT50eXBlfXskZmllbGR0eXBlcy4kdG1wfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT51cGxpbmt9IHskZW50cnktPmRvd25saW5rfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJCTwvdHI+CnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+PHAgY2xhc3M9InBhZ2VvcHRpb25zIj57JGFkZGxpbmt9PC9wPjwvZGl2Pgo=]]></data>
	</file>
	<file>
	  <filename>/templates/importcsv.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskbW9kLT5MYW5nKCdpbXBvcnRfZnJvbV9jc3YnKX08L2gzPgo8c3R5bGUgdHlwZT0idGV4dC9jc3MiPntsaXRlcmFsfQojZXJyb3JibG9jayB7IGRpc3BsYXk6IG5vbmU7IH0KI29wdGlvbmJsb2NrIHsgZGlzcGxheTogbm9uZTsgfQojcHJvY2Vzc2Jsb2NrIHsgZGlzcGxheTogbm9uZTsgfQojcHJvZ3Jlc3MgeyB3aWR0aDogOTAlOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0Key9saXRlcmFsfTwvc3R5bGU+Cgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+e2xpdGVyYWx9CiQoZnVuY3Rpb24oKXsKICAkKCcjcHJvZ3Jlc3MnKS5wcm9ncmVzc2Jhcih7dmFsdWU6IDB9KTsKICAkKCcjcmV0dXJuYnRuJykuY2xpY2soZnVuY3Rpb24oKXsKICAgIHdpbmRvdy5sb2NhdGlvbiA9ICd7L2xpdGVyYWx9eyRkb25ldXJsfXtsaXRlcmFsfSc7CiAgfSk7Cn0pOwpmdW5jdGlvbiBwcm9ncmVzcyhwY3QpIHsKICAkKCcjcHJvZ3Jlc3MnKS5wcm9ncmVzc2JhcigndmFsdWUnLHBjdCk7CiAgJCgnLnVpLXByb2dyZXNzYmFyLXZhbHVlJykuaHRtbChwY3QrJyUnKTsKfQpmdW5jdGlvbiBvbkVycm9yKHN0cikgewogICQoJyNlcnJvcmJsb2NrJykuc2hvdygpOwogICQoJyNlcnJvcnMnKS52YWwoJCgnI2Vycm9ycycpLnZhbCgpK3N0cisnXG4nKTsKfQpmdW5jdGlvbiBkb25lKCkgewogICQoJyNvcHRpb25ibG9jaycpLmZhZGVJbigpOwp9CnsvbGl0ZXJhbH08L3NjcmlwdD4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvZ3Jlc3MnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiIGlkPSJwcm9ncmVzcyI+PC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyIgaWQ9ImVycm9yYmxvY2siPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2Vycm9ycycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8dGV4dGFyZWEgaWQ9ImVycm9ycyI+PC90ZXh0YXJlYT4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0iYWdlb3ZlcmZsb3ciIGlkPSJvcHRpb25ibG9jayI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBpZD0icmV0dXJuYnRuIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3JldHVybicpfSIvPgogIDwvcD4KPC9kaXY+Cgo8aWZyYW1lIHNyYz0ieyRwcm9jZXNzdXJsfSIgaWQ9InByb2Nlc3NibG9jayI+PC9pZnJhbWU+]]></data>
	</file>
	<file>
	  <filename>/templates/importproducts.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogaW1wb3J0IHByb2R1Y3RzIGZvcm0gKn0KPGgzPnskbW9kLT5MYW5nKCdpbXBvcnRfZnJvbV9jc3YnKX08L2gzPgoKeyRmb3Jtc3RhcnR9CntpZiBpc3NldCgkbWVzc2FnZXMpfQoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KPGRpdiBzdHlsZT0ib3ZlcmZsb3c6IGF1dG87IGhlaWdodDogMTBlbTsgd2lkdGg6IDc1JTsgbWFyZ2luLWxlZnQ6IDVlbTsgYm9yZGVyOiAxcHggZGFzaGVkICNjY2M7Ii8+CntzdHJpcH0Ke2ZvcmVhY2ggZnJvbT0kbWVzc2FnZXMgaXRlbT0nb25lJ30KICB7JG9uZX08YnIvPgp7L2ZvcmVhY2h9Cnsvc3RyaXB9CjwvZGl2Pgo8L2Rpdj4KCntlbHNlaWYgaXNzZXQoJGVycm9ycyl9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CjxkaXYgc3R5bGU9Im92ZXJmbG93OiBhdXRvOyBoZWlnaHQ6IDEwZW07IHdpZHRoOiA3NSU7IG1hcmdpbi1sZWZ0OiA1ZW07IGJvcmRlcjogMXB4IGRhc2hlZCAjY2NjOyIvPgp7c3RyaXB9Cntmb3JlYWNoIGZyb209JGVycm9ycyBpdGVtPSdvbmUnfQogIHskb25lfTxici8+CnsvZm9yZWFjaH0Key9zdHJpcH0KPC9kaXY+CjwvZGl2Pgp7L2lmfQoKe2lmICFpc3NldCgkY3N2ZmlsZSl9CnsqIGRpc3BsYXkgdGhlIGZvcm0gKn0KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZGVsaW1pdGVyJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZGVsaW1pdGVyIiB2YWx1ZT0ieyRkZWxpbWl0ZXJ9IiBzaXplPSI1IiBtYXhsZW5ndGg9IjEwIi8+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fZGVsaW1pdGVyJyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NyZWF0ZWZpZWxkcycpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1jcmVhdGVmaWVsZHMiPgogICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JHllc25vIHNlbGVjdGVkPSRmbGFnX2NyZWF0ZWZpZWxkc30KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2NyZWF0ZWZpZWxkcycpfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9oYW5kbGVpbWFnZXMnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9aGFuZGxlaW1hZ2VzIj4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR5ZXNubyBzZWxlY3RlZD0kZmxhZ19oYW5kbGVpbWFnZXN9CiAgICA8L3NlbGVjdD4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19oYW5kbGVpbWFnZXMnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfaW1hZ2VwYXRoJyl9PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9aW1hZ2VwYXRoIiB2YWx1ZT0ieyRpbWFnZXBhdGh9IiBzaXplPSI2MCIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2ltYWdlcGF0aCcpfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jcmVhdGVoaWVyYXJjaHknKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9Y3JlYXRlaGllcmFyY2h5Ij4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR5ZXNubyBzZWxlY3RlZD0kZmxhZ19jcmVhdGVoaWVyYXJjaHl9CiAgICA8L3NlbGVjdD4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19jcmVhdGVoaWVyYXJjaHknKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfY3JlYXRlY2F0ZWdvcmllcycpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1jcmVhdGVjYXRlZ29yaWVzIj4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSR5ZXNubyBzZWxlY3RlZD0kZmxhZ19jcmVhdGVjYXRlZ29yaWVzfQogICAgPC9zZWxlY3Q+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fY3JlYXRlY2F0ZWdvcmllcycpfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kdXBsaWNhdGVwcm9kdWN0cycpfTwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1kdXBsaWNhdGVwcm9kdWN0cyI+CiAgICAgICA8b3B0aW9uIGxhYmVsPSJ7JG1vZC0+TGFuZygnbGFiZWxfc2tpcCcpfSIgdmFsdWU9InNraXAiIHtpZiAkZmxhZ19kdXBsaWNhdGVwcm9kdWN0cyBlcSAic2tpcCJ9c2VsZWN0ZWQ9InNlbGVjdGVkInsvaWZ9PnskbW9kLT5MYW5nKCdsYWJlbF9za2lwJyl9PC9vcHRpb24+CiAgICAgICA8b3B0aW9uIGxhYmVsPSJ7JG1vZC0+TGFuZygnbGFiZWxfdXBkYXRlJyl9IiB2YWx1ZT0idXBkYXRlIiB7aWYgJGZsYWdfZHVwbGljYXRlcHJvZHVjdHMgZXEgInVwZGF0ZSJ9c2VsZWN0ZWQ9InNlbGVjdGVkInsvaWZ9PnskbW9kLT5MYW5nKCdsYWJlbF91cGRhdGUnKX08L29wdGlvbj4KICAgICAgIDxvcHRpb24gbGFiZWw9InskbW9kLT5MYW5nKCdsYWJlbF9vdmVyd3JpdGUnKX0iIHZhbHVlPSJvdmVyd3JpdGUiIHtpZiAkZmxhZ19kdXBsaWNhdGVwcm9kdWN0cyBlcSAib3ZlcndyaXRlIn1zZWxlY3RlZD0ic2VsZWN0ZWQiey9pZn0+eyRtb2QtPkxhbmcoJ2xhYmVsX292ZXJ3cml0ZScpfTwvb3B0aW9uPgogICAgPC9zZWxlY3Q+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fZHVwbGljYXRlcHJvZHVjdHMnKX0KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYmF0Y2hzaXplJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWJhdGNoc2l6ZSIgdmFsdWU9InskYmF0Y2hzaXplfSIgc2l6ZT0iMyIgbWF4bGVuZ3RoPSIzIi8+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fYmF0Y2hzaXplJyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NsZWFyZmllbGRzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9Y2xlYXJmaWVsZHMgc2VsZWN0ZWQ9JGNsZWFyZmllbGRzfQogICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19jbGVhcmZpZWxkcycpfQogIDwvcD4KPC9kaXY+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9jbGVhcmF0dHJpYnMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT1jbGVhcmF0dHJpYnMgc2VsZWN0ZWQ9JGNsZWFyYXR0cmlic30KICAgIDxici8+eyRtb2QtPkxhbmcoJ2luZm9fY2xlYXJhdHRyaWJzJyl9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NsZWFyY2F0ZWdvcmllcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPWNsZWFyY2F0ZWdvcmllcyBzZWxlY3RlZD0kY2xlYXJjYXRlZ29yaWVzfQogICAgPGJyLz57JG1vZC0+TGFuZygnaW5mb19jbGVhcmNhdGVnb3JpZXMnKX0KICA8L3A+CjwvZGl2PgoKey9pZn0KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2NzdmZpbGUnKX08L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7aWYgaXNzZXQoJGNzdmZpbGUpfQogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y3N2ZmlsZSIgdmFsdWU9InskY3N2ZmlsZX0iIHJlYWRvbmx5PXJlYWRvbmx5Lz4KICAgIHtlbHNlfQogICAgPGlucHV0IHR5cGU9ImZpbGUiIG5hbWU9InskYWN0aW9uaWR9Y3N2ZmlsZSIgdmFsdWU9IiIgc2l6ZT0iNjAiLz4KICAgIHsvaWZ9CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7aWYgaXNzZXQoJGNzdmZpbGUpfQogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1nbyIgdmFsdWU9InskbW9kLT5MYW5nKCdnbycpfSIgb25jbGljaz0icmV0dXJuIGNvbmZpcm0oJ3skbW9kLT5MYW5nKCdjb25maXJtX2ltcG9ydCcpfScpOyIvPgogICAge2Vsc2V9CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXRlc3QiIHZhbHVlPSJ7JG1vZC0+TGFuZygndGVzdCcpfSIvPgogICAgey9pZn0KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_byhierarchy_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogaGllcmFyY2h5IHJlcG9ydCB0ZW1wbGF0ZSAqfQp7aWYgIWlzc2V0KCRoZGVwdGgpICYmIGlzc2V0KCRoaWVyYXJjaHlfaXRlbSl9CjxoMz5IaWVyYXJjaHkgRGF0YSBmb3IgeyRoaWVyYXJjaHlfaXRlbS5uYW1lfSAoeyRoaWVyYXJjaHlfaXRlbS5pZH0pPC9oMz4Key9pZn0KCntpZiAhaXNzZXQoJGhkZXB0aCl9e2Fzc2lnbiB2YXI9J2hkZXB0aCcgdmFsdWU9JzAnfXsvaWZ9CnsqCiAvLyBjcmVhdGUgYSBuZXN0ZWQgc2V0IG9mIHVub3JkZXJlZCBsaXN0cyAKIC8vIGlmIHRoZSBhY3RpdmVfaGllcmFyY2h5IHNtYXJ0eSB2YXJpYWJsZSBleGlzdHMKIC8vIGFuZCBtYXRjaGVzIHRoZSBjdXJyZW50IGhpZXJhcmNoeSBpZAogLy8gdGhlIGFjdGl2ZSBjbGFzcyB3aWxsIGJlIGdpdmVuCiAvLyB0byB0aGUgdWwuICBZb3UgbWF5IHdhbnQgdG8gbW9kaWZ5IHlvdXIgc3VtbWFyeSB0ZW1wbGF0ZQogLy8gdG8gc2V0IHRoaXMgdmFyaWFibGUKKn0KPHVsIGNsYXNzPSJwcm9kdWN0c19oaWVyYXJjaHlfbGV2ZWx7JGhkZXB0aH0iPgp7Zm9yZWFjaCBmcm9tPSRoaWVyZGF0YSBrZXk9J2tleScgaXRlbT0naXRlbSd9CntzdHJpcH0KICA8bGkge2lmIGlzc2V0KCRhY3RpdmVfaGllcmFyY2h5KSBhbmQgJGl0ZW0uaWQgPT0gJGFjdGl2ZV9oaWVyYXJjaHl9IGNsYXNzPSJhY3RpdmUiey9pZn0+CiAge2lmICRpdGVtLmNvdW50IGd0IDB9CiAgICAgPGEgaHJlZj0ieyRpdGVtLnVybH0iPnskaXRlbS5uYW1lfSAoeyRpdGVtLmNvdW50fSk8L2E+CiAge2Vsc2V9CiAgICAgeyRpdGVtLm5hbWV9ICh7JGl0ZW0uY291bnR9KQogIHsvaWZ9CiAgCiAge2lmIGlzc2V0KCRpdGVtLmNoaWxkcmVuKSB9CiAgICB7KiB0aGVyZSBhcmUgY2hpbGRyZW4gY2FsbCB0aGlzIHRlbXBsYXRlIGFnYWluICp9CiAgICB7aW5jbHVkZSBmaWxlPSRzbWFydHkudGVtcGxhdGUgaGllcmRhdGE9JGl0ZW0uY2hpbGRyZW4gaGRlcHRoPSRoZGVwdGgrMX0KICB7L2lmfQogIAogIDwvbGk+Cnsvc3RyaXB9CnsvZm9yZWFjaH0KPC91bD4K]]></data>
	</file>
	<file>
	  <filename>/templates/orig_categorylist_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdiBjbGFzcz0icHJvZHVjdHNfY2F0ZWdvcnlfbGlzdCI+Cntmb3JlYWNoIGZyb209JGNhdGVnb3J5bGlzdCBpdGVtPSdvYmonfQogIDxkaXYgY2xhc3M9InByb2R1Y3RzX2NhdGVnb3J5Ij4KICAgIHsqIGNhdGVnb3J5IGZpZWxkcyBhcmUgYXZhaWxhYmxlIGFzIGFuIGFycmF5IGluICRvYmotPmZpZWxkcyAqfQogICAgeyogaS5lOiAkb2JqLT5maWVsZHMuZmllbGRuYW1lLmZpZWxkX3ZhbHVlICp9CiAgICB7aWYgaXNzZXQoJG9iai0+ZmllbGRzKX0KICAgIHtmb3JlYWNoIGZyb209JG9iai0+ZmllbGRzIGtleT0nZmllbGRfbmFtZScgaXRlbT0nZmllbGRkYXRhJ30KICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdHNfY2F0ZWdvcnlfZmllbGQiPgogICAgICAgIHskZmllbGRkYXRhLmZpZWxkX3Byb21wdH0gPSB7JGZpZWxkZGF0YS5maWVsZF92YWx1ZX0KICAgICAgPC9kaXY+CiAgICB7L2ZvcmVhY2h9CiAgICB7L2lmfQogICAge2lmIGlzc2V0KCRvYmotPmRldGFpbF91cmwpfQogICAgICA8YSBocmVmPSJ7JG9iai0+ZGV0YWlsX3VybH0iPkRldGFpbHMgRm9yIHskb2JqLT5uYW1lfTwvYT4mbmJzcDsmbmJzcDsKICAgIHsvaWZ9CiAgICA8YSBocmVmPSJ7JG9iai0+c3VtbWFyeV91cmx9Ij5Qcm9kdWN0cyBNYXRjaGluZyB7JG9iai0+bmFtZX08L2E+KHskb2JqLT5jb3VudH0pCiAgPC9kaXY+CnsvZm9yZWFjaH0KPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_detail_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogdGhpcyBpcyBhIHNhbXBsZSBwcm9kdWN0IGRldGFpbCB0ZW1wbGF0ZSAqfQp7YXNzaWduIHZhcj0ncHJvZHVjdHMnIHZhbHVlPSRtb2R9CjxkaXYgY2xhc3M9IlByb2R1Y3REaXJlY3RvcnlJdGVtIj4KCntpZiBpc19hcnJheSgkZW50cnktPmJyZWFkY3J1bWIpfQpCcmVhZGNydW1iOiAgeycgPj4gJ3xpbXBsb2RlOiRlbnRyeS0+YnJlYWRjcnVtYn08YnIvPgp7L2lmfQoKTmFtZTogPGEgbmFtZT0icHJvZHVjdF9uYW1lIiBzdHlsZT0idGV4dC1kZWNvcmF0aW9uOiBub25lOyI+eyRlbnRyeS0+cHJvZHVjdF9uYW1lfTwvYT48YnIgLz4KRmlsZSBMb2NhdGlvbjogeyRlbnRyeS0+ZmlsZV9sb2NhdGlvbn08YnIvPgoKCntpZiAkZW50cnktPndlaWdodCBuZSAnJ30KV2VpZ2h0IHskd2VpZ2h0X3VuaXRzfTogeyRlbnRyeS0+d2VpZ2h0fTxiciAvPgp7L2lmfQoKeyogc2V0IGEgY2Fub25pY2FsIHVybCAqfQp7aWYgJGVudHJ5LT5kZXRhaWxfdXJsICE9ICcnfXskY2Fub25pY2FsPSRlbnRyeS0+ZGV0YWlsX3VybH17L2lmfQpCcmVhZGNydW1iOiB7JGVudHJ5LT5icmVhZGNydW1ifQoKe2lmICRlbnRyeS0+ZGV0YWlscyBuZSAnJ30KRGV0YWlsczo8YnIgLz4KeyRlbnRyeS0+ZGV0YWlsc308YnIgLz4Key9pZn0KCnsqIHVuY29tbWVudCB0aGUgZm9sbG93aW5nIGxpbmUgaWYgdGhlIFByb21vdGlvbnMgbW9kdWxlIGlzIGluc3RhbGxlZCAqfQp7KiBwcm9tb19nZXRfcHJvZF9kaXNjb3VudCBwcm9kdWN0X2lkPSRlbnRyeS0+aWQgYXNzaWduPSdmb28nICp9CntpZiBpc3NldCgkZm9vLnByb21vX2lkKX0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij5EaXNjb3VudDogIHskY3VycmVuY3lfc3ltYm9sfXskZm9vLmRpc2NvdW50fG51bWJlcl9mb3JtYXQ6Mn0gKHskZm9vLnBlcmNlbnRhZ2V8bnVtYmVyX2Zvcm1hdDoyfSUpPC9zcGFuPjxici8+CntpZiAkZW50cnktPnByaWNlIG5lICcnfQpQcmljZSB7JGN1cnJlbmN5X3N5bWJvbH06IHskZW50cnktPnByaWNlICogJGZvby5kZWNpbWFsfG51bWJlcl9mb3JtYXQ6Mn08YnIgLz4Key9pZn0Ke2Vsc2VpZiAkZW50cnktPnByaWNlIG5lICcnfQpQcmljZSB7JGN1cnJlbmN5X3N5bWJvbH06IHskZW50cnktPnByaWNlfTxiciAvPgp7L2lmfQoKeyogYWNjZXNzaW5nIGFsbCBvZiB0aGUgZmllbGRzIGluIGEgbGlzdCAqfQp7aWYgaXNzZXQoJGVudHJ5LT5maWVsZHMpICYmIGNvdW50KCRlbnRyeS0+ZmllbGRzKX0KICA8aDQ+Q3VzdG9tIEZpZWxkczwvaDQ+CiAge2ZvcmVhY2ggZnJvbT0kZW50cnktPmZpZWxkcyBrZXk9J25hbWUnIGl0ZW09J2ZpZWxkJ30KICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0X2RldGFpbF9maWVsZCI+PHA+CiAgICAgICB7JFByb2R1Y3RzLT5MYW5nKCduYW1lJyl9OiB7JG5hbWV9PGJyLz4KICAgICAgIHskUHJvZHVjdHMtPmxhbmcoJ3R5cGUnKX06IHskZmllbGQtPnR5cGV9PGJyLz4KICAgICAgIHskUHJvZHVjdHMtPmxhbmcoJ3ZhbHVlJyl9OiB7JGZpZWxkLT52YWx1ZX08YnIvPgogICAgICAge2lmICRmaWVsZC0+dHlwZSA9PSAnaW1hZ2UnICYmIGlzc2V0KCRmaWVsZC0+dGh1bWJuYWlsKX0KICAgICAgICAgPGltZyBzcmM9InskZW50cnktPmZpbGVfbG9jYXRpb259L3skZmllbGQtPnRodW1ibmFpbH0iIGFsdD0ieyRmaWVsZC0+dmFsdWV9Ii8+CiAgICAgICB7L2lmfQogICAgIDwvcD48L2Rpdj4KICB7L2ZvcmVhY2h9CnsvaWZ9Cgp7KiBwcmludCBvdXQgYXR0cmlidXRlcyAqfQp7aWYgaXNzZXQoJGVudHJ5LT5hdHRyaWJ1dGVzKX0KICA8aDQ+QXR0cmlidXRlczwvaDQ+CiAgPHRhYmxlPgogICAgPHRoZWFkPgogICAgICA8dHI+CiAgICAgICAgPHRoPlRleHQ8L3RoPgogICAgICAgIDx0aD5Ta3U8L3RoPgogICAgICAgIDx0aD5BZGp1c3RtZW50PC90aD4KICAgICAgPC90cj4KICAgIDwvdGhlYWQ+CiAgICA8dGJvZHk+CiAgICB7Zm9yZWFjaCBmcm9tPSRlbnRyeS0+YXR0cmlidXRlcyBrZXk9J25hbWUnIGl0ZW09J2F0dHJpYid9CiAgICAgIDx0cj4KICAgICAgICA8dGQ+eyRhdHRyaWIudGV4dH08L3RkPgogICAgICAgIDx0ZD57JGF0dHJpYi5za3V9PC90ZD4KICAgICAgICA8dGQ+eyRhdHRyaWIuYWRqdXN0bWVudHxudW1iZXJfZm9ybWF0OjJ9PC90ZD4KICAgICAgIDwvdHI+CiAgICB7L2ZvcmVhY2h9CiAgICA8L3Rib2R5PgogIDwvdGFibGU+CnsvaWZ9Cgp7KiBwcmludCBvdXQgdGhlIGNhdGVnb3JpZXMgKn0Ke2lmIGlzc2V0KCRlbnRyeS0+Y2F0ZWdvcmllcyl9CiAgPGg0PkNhdGVnb3JpZXM8L2g0PgogIHtmb3JlYWNoIGZyb209JGVudHJ5LT5jYXRlZ29yaWVzIGl0ZW09J2NhdGVnb3J5J30KICAgIDxkaXYgY2xhc3M9InByb2R1Y3RfZGV0YWlsX2NhdGVnb3J5Ij48cD4KICAgICAgeyRQcm9kdWN0cy0+TGFuZygnaWQnKX06IHskY2F0ZWdvcnktPmlkfTxici8+CiAgICAgIHskUHJvZHVjdHMtPkxhbmcoJ25hbWUnKX06IHskY2F0ZWdvcnktPm5hbWV9PGJyLz4KICAgICAgeyogaWYgdGhlcmUgYXJlIGRhdGEgZmllbGRzIGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNhdGVnb3J5LCBkaXNwbGF5IHRoZW0gdG9vICp9CiAgICAgIHtpZiBpc3NldCgkY2F0ZWdvcnktPmRhdGEpICYmIGNvdW50KCRjYXRlZ29yeS0+ZGF0YSl9CiAgICAgICAgPGRpdiBjbGFzcz0icHJvZHVjdF9kZXRhaWxfY2F0ZWdvcnlfZmllbGRzIj4KICAgICAgICA8c3Ryb25nPnskUHJvZHVjdHMtPkxhbmcoJ2RhdGEnKX08L3N0cm9uZz48YnIvPgogICAgICAgIHtmb3JlYWNoIGZyb209JGNhdGVnb3J5LT5kYXRhIGl0ZW09J29uZWRhdGFpdGVtJ30KICAgICAgICAgICA8ZGl2IGNsYXNzPSJwcm9kdWN0X2RldGFpbF9jYXRlZ29yeV9vbmVmaWVsZCI+CiAgICAgICAgICAge2lmICRvbmVkYXRhaXRlbS5maWVsZF90eXBlID09ICdpbWFnZSd9CiAgICAgICAgICAgICA8YSBocmVmPSJ7JGNhdGVnb3J5LT5maWxlX2xvY2F0aW9ufS97JG9uZWRhdGFpdGVtLmZpZWxkX3ZhbHVlfSI+PGltZyBzcmM9InskY2F0ZWdvcnktPmZpbGVfbG9jYXRpb259L3RodW1iX3skb25lZGF0YWl0ZW0uZmllbGRfdmFsdWV9IiBhbHQ9InRodW1iIiAvPjwvYT4KICAgICAgICAgICB7ZWxzZWlmICRvbmVkYXRhaXRlbS5maWVsZF90eXBlID09ICdmaWxlJ30KICAgICAgICAgICAgIDxhIGhyZWY9InskY2F0ZWdvcnktPmZpbGVfbG9jYXRpb259L3skb25lZGF0YWl0ZW0uZmllbGRfdmFsdWV9Ij57JG9uZWRhdGFpdGVtLmZpZWxkX3ZhbHVlfTwvYT4KICAgICAgICAgICB7ZWxzZX0KICAgICAgICAgICAgIDxzdHJvbmc+eyRvbmVkYXRhaXRlbS5maWVsZF9wcm9tcHR9PC9zdHJvbmc+OiB7JG9uZWRhdGFpdGVtLmZpZWxkX3ZhbHVlfTxici8+CiAgICAgICAgICAgey9pZn0KICAgICAgICAgICA8L2Rpdj4KICAgICAgICB7L2ZvcmVhY2h9CiAgICAgICAgPC9kaXY+CiAgICAgIHsvaWZ9CiAgICA8L3A+PC9kaXY+IAogIHsvZm9yZWFjaH0Key9pZn0KCnsqIGluY2x1ZGUgdGhlIGNhcnQgKn0KeyogTk9URToKICAgSWYgeW91IGhhdmUgYWRkZWQgYSBjdXN0b20gZmllbGQgd2l0aCB0aGUgYWxpYXMgJ3N0b2NrJyB5b3UgY291bGQgdXNlIHRoZSBmb2xsb3dpbmcgZXhwcmVzc2lvbiB0byBoYW5kbGUgb3V0IG9mIHN0b2NrIGl0ZW1zCiAgIHtjZ2VfaGF2ZV9tb2R1bGUgbT0nQ0dFY29tbWVyY2VCYXNlJyBhc3NpZ249J3RtcCd9CiAgIHtpZiAkdG1wfQogICAgIHtpZiAkZW50cnkuZmllbGRzLnN0b2NrLT52YWx1ZSBsZSAwfQogICAgICAgPHA+Tm90ZTogVGhpcyBpdGVtIGlzIGN1cnJlbnRseSBvdXQgb2Ygc3RvY2ssIGhvd2V2ZXIgd2UgYXJlIGV4cGVjdGluZyBhIG5ldyBzaGlwbWVudCBzaG9ydGx5LiAgUGxlYXNlIGNoZWNrIGJhY2sgYWdhaW4gc29vbi48L3A+CiAgICAge2Vsc2V9CiAgICAgICA8ZGl2PgogICAgICAge2NnZWNvbW1fZm9ybV9hZGR0b2NhcnQgcHJvZHVjdD0kZW50cnktPmlkfSAKICAgICAgIDwvZGl2PgogICAgIHsvaWZ9CiAgIHsvaWZ9Cip9Cgo8ZGl2Pgp7KiBkaXNwbGF5IHRoZSBjYXJ0ICp9CnsqQ2FydDIgc2t1PSRlbnRyeS0+c2t1Kn0KPC9kaXY+Cgp7KiBjcmVhdGUgYSBsaW5rIGJhY2sgdG8gdGhlIHRvcCBvZiB0aGUgcGFnZSAqfQp7YW5jaG9yIGFuY2hvcj0ncHJvZHVjdF9uYW1lJyB0ZXh0PSRQcm9kdWN0cy0+TGFuZygncmV0dXJuX3RvX3RvcCcpIHRpdGxlPSRQcm9kdWN0cy0+TGFuZygncmV0dXJuX3RvX3RvcCcpfQoKPC9kaXY+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/orig_frontendform_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2NnZXJyb3J9eyRtZXNzYWdlfXsvY2dlcnJvcn0KeyRzdGFydGZvcm19CiAgICA8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KICAgIDxkaXYgY2xhc3M9InJvd3RleHQiPnskbmFtZXRleHR9PC9kaXY+Cgk8ZGl2IGNsYXNzPSJyb3dpbnB1dCI+eyRpbnB1dG5hbWV9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZXJvdyI+CgkJICAgPGRpdiBjbGFzcz0icm93dGV4dCI+eyRhZGRyZXNzdGV4dH08L2Rpdj4KCQkgICA8ZGl2IGNsYXNzPSJyb3dpbnB1dCI+eyRpbnB1dGFkZHJlc3N9PC9kaXY+CiAgICAgICAgPC9kaXY+CiAgICAgICAgPGRpdiBjbGFzcz0icGFnZXJvdyI+CgkJICAgPGRpdiBjbGFzcz0icm93dGV4dCI+eyR0ZWxlcGhvbmV0ZXh0fTwvZGl2PgoJCSAgIDxkaXYgY2xhc3M9InJvd2lucHV0Ij57JGlucHV0dGVsZXBob25lfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2Vyb3ciPgoJCSAgIDxkaXYgY2xhc3M9InJvd3RleHQiPnskZmF4dGV4dH08L2Rpdj4KCQkgICA8ZGl2IGNsYXNzPSJyb3dpbnB1dCI+eyRpbnB1dGZheH08L2Rpdj4KICAgICAgICA8L2Rpdj4KICAgICAgICA8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KCQkgICA8ZGl2IGNsYXNzPSJyb3d0ZXh0Ij57JGVtYWlsdGV4dH08L2Rpdj4KCQkgICA8ZGl2IGNsYXNzPSJyb3dpbnB1dCI+eyRpbnB1dGVtYWlsfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2Vyb3ciPgoJCSAgIDxkaXYgY2xhc3M9InJvd3RleHQiPnskd2Vic2l0ZXRleHR9PC9kaXY+CgkJICAgPGRpdiBjbGFzcz0icm93aW5wdXQiPnskaW5wdXR3ZWJzaXRlfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2Vyb3ciPgoJCSAgIDxkaXYgY2xhc3M9InJvd3RleHQiPnskZGV0YWlsc3RleHR9PC9kaXY+CgkJICAgPGRpdiBjbGFzcz0icm93aW5wdXQiPnskaW5wdXRkZXRhaWxzfTwvZGl2PgogICAgICAgIDwvZGl2PgogICAgICAgIDxkaXYgY2xhc3M9InBhZ2Vyb3ciPgoJCSAgIDxkaXYgY2xhc3M9InJvd3RleHQiPnskaW1hZ2V0ZXh0fTwvZGl2PgoJCSAgIDxkaXYgY2xhc3M9InJvd2lucHV0Ij57JGltYWdlY3VycmVudH17JGltYWdlY3VycmVudGhpZGRlbn17JGltYWdldXBsb2FkfXskZGVsZXRldGV4dH17JGltYWdlY3VycmVudGRlbGV0ZX08L2Rpdj4KICAgICAgICA8L2Rpdj4KCSAgICB7aWYgJGN1c3RvbWZpZWxkc2NvdW50IGd0IDB9CgkJICAgIHtmb3JlYWNoIGZyb209JGN1c3RvbWZpZWxkcyBpdGVtPWN1c3RvbWZpZWxkfQoJCQk8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KCQkJCTxwIGNsYXNzPSJyb3d0ZXh0Ij57JGN1c3RvbWZpZWxkLT5uYW1lfTo8L3A+CgkJCQk8cCBjbGFzcz0icm93aW5wdXQiPnskY3VzdG9tZmllbGQtPmlucHV0X2JveH08L3A+CgkJCTwvZGl2PgoJCSAgICB7L2ZvcmVhY2h9CiAgCSAgICB7L2lmfQogICAJICAgIHtpZiAkY2F0ZWdvcmllc2NvdW50IGd0IDB9CgkJICB7Zm9yZWFjaCBmcm9tPSRjYXRlZ29yaWVzIGl0ZW09Y2F0ZWdvcnl9CgkJCTxkaXYgY2xhc3M9InBhZ2Vvcm93Ij4KCQkJCTxwIGNsYXNzPSJyb3d0ZXh0Ij57JGNhdGVnb3J5LT5uYW1lfTo8L3A+CgkJCQk8cCBjbGFzcz0icm93aW5wdXQiPnskY2F0ZWdvcnktPmNoZWNrYm94fTwvcD4KCQkJPC9kaXY+CgkJICB7L2ZvcmVhY2h9CgkgICAgey9pZn0KCSAgICA8ZGl2IGNsYXNzPSJwYWdlcm93Ij4KCQkgIDxwIGNsYXNzPSJyb3d0ZXh0Ij4mbmJzcDs8L3A+CgkJICA8cCBjbGFzcz0icm93aW5wdXQiPnskaGlkZGVufXskc3VibWl0fXskY2FuY2VsfTwvcD4KCSAgICA8L2Rpdj4KICAgICAgeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_search_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogc2VhcmNoIHRlbXBsYXRlICp9CnsqIHZhbGlkIGZpZWxkcyBhcmU6CiAgIHskYWN0aW9uaWR9Y2Rfc3VibWl0ICAgIC0gKHN0cmluZykgZm9yIGEgc3VibWl0IGJ1dHRvbgogICB7JGFjdGlvbmlkfWNkX2NhbmNlbCAgICAtIChzdHJpbmcpIGZvciBhIGNhbmNlbCBidXR0b24KICAgeyRhY3Rpb25pZH1jZF9wcm9kbmFtZSAgLSAoc3RyaW5nKSBmb3IgdGV4dCBmaWVsZCB0byBzZWFyY2ggYWdhaW5zdCBwcm9kdWN0IG5hbWUKICAgeyRhY3Rpb25pZH1jZF9wcm9kZGVzYyAgLSAoc3RyaW5nKSBmb3IgdGV4dCBmaWVsZCB0byBzZWFyY2ggYWdhaW5zdCBwcm9kdWN0IGRlc2NyaXB0aW9uLgogICB7JGFjdGlvbmlkfWNkX3Byb2RwcmljZSAtIChzZWxlY3QpIGZvciBwcmljZSBzZWFyY2hpbmcuCiAgICAgb3B0aW9ucyBtdXN0IGJlIG9mIHR5cGUgc3RyaW5nIHdpdGggaGlnaCBsb3cgbGltaXRzIHNlcGFyYXRlZCBieSBhIDoKICAgICBpLmU6ICAgMTAwMDoyMDAwCiAgICAgYSBzcGVjaWFsIHZhbHVlIG9mIC0xIGNhbiBiZSB1c2VkIHRvIGluZGljYXRlIGFueSBwcmljZS4KICAgeyRhY3Rpb25pZH1jZF9wcm9kcHJpY2VfbWluIC0gKHN0cmluZykgZm9yIG1pbmltdW0gcHJpY2UgdmFsdWUKICAgeyRhY3Rpb25pZH1jZF9wcm9kcHJpY2VfbWF4IC0gKHN0cmluZykgZm9yIG1pbmltdW0gcHJpY2UgdmFsdWUKICAgICBub3RlOiBpdCBpcyBwb3NzaWJsZSB0byBzcGVjaWZ5IG9ubHkgb25lIG9mIHByb2RwcmljZV9taW4gb3IgcHJvZHByaWNlX21heAogICAgIGlmIGVpdGhlciBwcm9kcHJpY2VfbWluIG9yIHByb2RwcmljZV9tYXggaXMgc3BlY2lmaWVkLCBwcm9kcHJpY2UgaXMgaWdub3JlZC4KICAgeyRhY3Rpb25pZH1jZF9hbGxhbnkgICAgLSAoaW50KSB0byBpbmRpY2F0ZSB3ZXRoZXIgYWxsIG9mIHRoZSAKICAgICBjb25kaXRpb25zIG11Y2ggbWF0Y2gsIG9yIGlmIGFueSBvbmUgb2YgdGhlbSBtYXkuCiAgIHskYWN0aW9uaWR9Y2RfcHJvZHZhbHVlIC0gKGFycmF5KSBmaWVsZCB2YWx1ZXMuCiAgIHskYWN0aW9uaWR9Y2RfcHJvZHZhbHVlXzxmbGRuYW1lPl9taW4gLSBNaW5pbXVtIHZhbHVlIHRvIHNlYXJjaCBmb3IgZm9yIGluIHRoZSA8ZmxkbmFtZT4gZmllbGQuCiAgIHskYWN0aW9uaWR9Y2RfcHJvZHZhbHVlXzxmbGRuYW1lPl9tYXggLSBNYXhpbXVtIHZhbHVlIHRvIHNlYXJjaCBmb3IgZm9yIGluIHRoZSA8ZmxkbmFtZT4gZmllbGQuCip9Cgo8ZGl2IGlkPSJwcm9kX3NlYXJjaGZvcm0iPgp7JGZvcm1zdGFydH0KCjxkaXYgY2xhc3M9InJvdyI+CiAgPHAgY2xhc3M9InJvd19wcm9tcHQiPnskbW9kLT5MYW5nKCdzZWFyY2hfZXhwcicpfTo8L3A+CiAgPHAgY2xhc3M9InJvd19pbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9Y2RfYWxsYW55Ij4KICAgICAgPG9wdGlvbiB2YWx1ZT0iMCI+eyRtb2QtPkxhbmcoJ2FsbCcpfTwvb3B0aW9uPgogICAgICA8b3B0aW9uIHZhbHVlPSIxIj57JG1vZC0+TGFuZygnYW55Jyl9PC9vcHRpb24+CiAgICA8L3NlbGVjdD4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icm93Ij4KICA8cCBjbGFzcz0icm93X3Byb21wdCI+eyRtb2QtPkxhbmcoJ3NlYXJjaF9uYW1lJyl9OjwvcD4KICA8cCBjbGFzcz0icm93X2lucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNkX3Byb2RuYW1lIiBzaXplPSI0MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICA8L3A+CjwvZGl2PgoKPGRpdiBjbGFzcz0icm93Ij4KICA8cCBjbGFzcz0icm93X3Byb21wdCI+eyRtb2QtPkxhbmcoJ3NlYXJjaF9kZXNjcmlwdGlvbicpfTo8L3A+CiAgPHAgY2xhc3M9InJvd19pbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jZF9wcm9kZGVzYyIgc2l6ZT0iNDAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgPC9wPgo8L2Rpdj4KCjxkaXYgY2xhc3M9InJvdyI+CiAgPHAgY2xhc3M9InJvd19wcm9tcHQiPnskbW9kLT5MYW5nKCdzZWFyY2hfcHJpY2UnKX06PC9wPgogIDxwIGNsYXNzPSJyb3dfaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWNkX3Byb2RwcmljZSI+CiAgICAgIDxvcHRpb24gdmFsdWU9Ii0xIj57JG1vZC0+TGFuZygnYW55Jyl9PC9vcHRpb24+CiAgICAgIDxvcHRpb24gdmFsdWU9IjA6OTkuOTkiPkxlc3MgVGhhbiAkMTAwPC9vcHRpb24+CiAgICAgIDxvcHRpb24gdmFsdWU9IjEwMDo5OTkuOTkiPiQxMDAgdG8gJDEwMDA8L29wdGlvbj4KICAgICAgPG9wdGlvbiB2YWx1ZT0iMTAwMDo5OTk5Ljk5Ij4kMTAwMCB0byAkMTAwMDA8L29wdGlvbj4KICAgICAgPG9wdGlvbiB2YWx1ZT0iMTAwMDA6OTk5OTk5OSI+R3JlYXRlciB0aGFuICQxMDAwMDwvb3B0aW9uPgogICAgPC9zZWxlY3Q+CiAgPC9wPgo8L2Rpdj4KCntpZiBpc3NldCgkc2VhcmNocHJvcHMpfQp7Zm9yZWFjaCBmcm9tPSRzZWFyY2hwcm9wcyBrZXk9J2ZsZG5hbWUnIGl0ZW09J29iaid9CjxkaXYgY2xhc3M9InJvdyI+CiAgPHAgY2xhc3M9InJvd19wcm9tcHQiPnskb2JqLT5wcm9tcHR9OjwvcD4KICA8cCBjbGFzcz0icm93X2lucHV0Ij4KICAgIHtpZiAkb2JqLT50eXBlID09ICd0ZXh0J30KICAgICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9Y2RfcHJvZHZhbHVlW3skZmxkbmFtZX1dIiBzaXplPSI0MCIgbWF4bGVuZ3RoPSI0MCIvPgogICAge2Vsc2UgaWYgJG9iai0+dHlwZSA9PSAnZHJvcGRvd24nfQogICAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9Y2RfcHJvZHZhbHVlW3skZmxkbmFtZX1dIj4KICAgICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRvYmotPm9wdGlvbnN9CiAgICAgIDwvc2VsZWN0PgogICAgey9pZn0KICA8L3A+CjwvZGl2Pgp7L2ZvcmVhY2h9CnsvaWZ9Cgo8ZGl2IGNsYXNzPSJyb3ciPgogIDxwIGNsYXNzPSJyb3dfcHJvbXB0Ij48L3A+CiAgPHAgY2xhc3M9InJvd19pbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNkX3N1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9Y2RfY2FuY2VsIiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ2NhbmNlbCcpfSIvPgogIDwvcD4KPC9kaXY+CgoKeyRmb3JtZW5kfQo8L2Rpdj57KiBwcm9kX3NlYXJjaGZvcm0gKn0=]]></data>
	</file>
	<file>
	  <filename>/templates/orig_summary_template.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmIGlzc2V0KCRwYWdlY291bnQpICYmICRwYWdlY291bnQgZ3QgMX0KeyRmaXJzdGxpbmt9Jm5ic3A7eyRwcmV2bGlua30mbmJzcDsmbmJzcDt7JHBhZ2V0ZXh0fSB7JGN1cnBhZ2V9IHskb2Z0ZXh0fSB7JHBhZ2Vjb3VudH0mbmJzcDsmbmJzcDt7JG5leHRsaW5rfSZuYnNwO3skbGFzdGxpbmt9CnsvaWZ9Cgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQogICB7KiAKICAgICB0aGUgc3VtbWFyeSB0ZW1wbGF0ZSBoYXMgYWNjZXNzIHRvIGN1c3RvbSBmaWVsZHMgdmlhIHRoZSAkZW50cnktPmZpZWxkcyBoYXNoCiAgICAgYW5kIHRvIGNhdGVnb3JpZXMgdmlhIHRoZSAkZW50cnktPmNhdGVnb3JpZXMgYXJyYXkgb2Ygb2JqZWN0cy4gIEFsc28KICAgICBhdHRyaWJ1dGUgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlIHZpYSAkZW50cnktPmF0dHJpYnV0ZXMuCiAgICAgeW91IHNob3VsZCB1c2UgdGhlIGdldF90ZW1wbGF0ZV92YXJzIGFuZCB0aGUgcHJpbnRfciBtb2RpZmllciB0byBzZWUKICAgICB3aGF0IGlzIGF2YWlsYWJsZQogICAgKn0KICA8ZGl2IGNsYXNzPSJQcm9kdWN0RGlyZWN0b3J5SXRlbSI+CiAgICAgPGEgaHJlZj0ieyRlbnRyeS0+ZGV0YWlsX3VybH0iPnskZW50cnktPnByb2R1Y3RfbmFtZX08L2E+Jm5ic3A7KHskZW50cnktPndlaWdodH17JHdlaWdodF91bml0c30pJm5ic3A7Jm5ic3A7eyRjdXJyZW5jeV9zeW1ib2x9eyRlbnRyeS0+cHJpY2V9CiAgICAge2lmIGlzc2V0KCRlbnRyeS0+Y2F0ZWdvcmllcyl9CiAgICAgICBDYXRlZ29yaWVzOiZuYnNwOwogICAgICAge2ZvcmVhY2ggZnJvbT0kZW50cnktPmNhdGVnb3JpZXMgaXRlbT0nY2F0ZWdvcnknfQogICAgICAgICB7JGNhdGVnb3J5LT5uYW1lfSwmbmJzcDsKICAgICAgIHsvZm9yZWFjaH0KICAgICAgIDxici8+CiAgICAgey9pZn0gICAgIAogIDwvZGl2PgoKICB7KiBpbmNsdWRlIHRoZSBjYXJ0IAogIDxkaXY+CiAge0NhcnQyIHNrdT0kZW50cnktPnNrdX0gCiAgPC9kaXY+CiAgKn0KCnsvZm9yZWFjaH0K]]></data>
	</file>
	<file>
	  <filename>/templates/prefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRzdGFydGZvcm19CjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygnZ2VuZXJhbF9zZXR0aW5ncycpfTo8L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdXJscHJlZml4Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH11cmxwcmVmaXgiIHNpemU9IjIwIiBtYXhsZW5ndGg9IjIwIiB2YWx1ZT0ieyR1cmxwcmVmaXh9Ii8+PC9wPgo8L2Rpdj4Ke2lmIGlzc2V0KCRpbnB1dF9jdXJyZW5jeXN5bWJvbCl9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9jdXJyZW5jeXN5bWJvbH06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY3VycmVuY3lzeW1ib2x9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X3dlaWdodHVuaXRzfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF93ZWlnaHR1bml0c308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbGVuZ3RodW5pdHN9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2xlbmd0aHVuaXRzfTwvcD4KPC9kaXY+CnsvaWZ9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXNldGVjb21oYW5kbGVycyIgdmFsdWU9InskbW9kLT5MYW5nKCdidG5fc2V0ZWNvbWhhbmRsZXJzJyl9Ii8+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fc2V0ZWNvbWhhbmRsZXJzJyl9CiAgPC9wPgo8L2Rpdj4KPC9maWVsZHNldD4KCjxmaWVsZHNldD4KPGxlZ2VuZD57JG1vZC0+TGFuZygncHJvZHVjdF9lZGl0aW5nX3NldHRpbmdzJyl9OjwvbGVnZW5kPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9za3VfcmVxdWlyZWQnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0nc2t1cmVxdWlyZWQnIHNlbGVjdGVkPSRza3VyZXF1aXJlZH0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kZWZhdWx0X3RheGFibGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfdGF4YWJsZX08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9kZWZhdWx0X3N0YXR1cycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zdGF0dXN9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYWxsb3dlZF9maWxldHlwZXMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfYWxsb3dlZF9maWxldHlwZXN9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfZGVsZXRlcHJvZHVjdGZpbGVzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2RlbGV0ZXByb2R1Y3RmaWxlc308L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdwcm9kdWN0X3N1bW1hcnlfc2V0dGluZ3MnKX06PC9sZWdlbmQ+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3N1bW1hcnlfbmV3ZGVmYXVsdCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICB7Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSdzdW1tYXJ5X25ld2RlZmF1bHQnIHNlbGVjdGVkPSRzdW1tYXJ5X25ld2RlZmF1bHR9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfc3VtbWFyeXBhZ2VsaW1pdCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1zdW1tYXJ5X3BhZ2VsaW1pdCIgc2l6ZT0iNSIgbWF4bGVuZ3RoPSI1IiB2YWx1ZT0ieyRzdW1tYXJ5X3BhZ2VsaW1pdH0iLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfc3VtbWFyeXNvcnRvcmRlcn06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfc3VtbWFyeXNvcnRvcmRlcn08L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfc3VtbWFyeXNvcnRpbmd9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3N1bW1hcnlzb3J0aW5nfTwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ3Byb2R1Y3RfZGV0YWlsX3NldHRpbmdzJyl9OjwvbGVnZW5kPgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF91c2VoaWVycGF0aHVybHMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgeyRpbnB1dF91c2VoaWVycGF0aHVybHN9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskcHJvbXB0X2RldGFpbHBhZ2V9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2RldGFpbHBhZ2V9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfdXNlX2RldGFpbHBhZ2VfZm9yX3NlYXJjaCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+IAogICAgeyRpbnB1dF91c2VfZGV0YWlscGFnZV9mb3Jfc2VhcmNofQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X25vdGZvdW5kX2JlaGF2aW9yJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1wcm9kbm90Zm91bmQiPgogICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRub3Rmb3VuZF9vcHRzIHNlbGVjdGVkPSRwcm9kbm90Zm91bmR9CiAgICA8L3NlbGVjdD4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19wcm9kbm90Zm91bmQnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9ub3Rmb3VuZF9wYWdlJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHskaW5wdXRfcHJvZG5vdGZvdW5kcGFnZX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9ub3Rmb3VuZF9tc2cnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHRleHRhcmVhIG5hbWU9InskYWN0aW9uaWR9cHJvZG5vdGZvdW5kbXNnIiByb3dzPSI1Ij57JHByb2Rub3Rmb3VuZG1zZ308L3RleHRhcmVhPgogIDwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZmllbGRzZXQ+CjxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2hpZXJhcmNoeV9zZXR0aW5ncycpfTo8L2xlZ2VuZD4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfaGllcnBhZ2UnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfaGllcnBhZ2V9PGJyLz4KICB7JG1vZC0+TGFuZygnaW5mb19oaWVycGFnZScpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X3ByZXR0eWhpZXJ1cmxzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij57Y2dlX3llc25vX29wdGlvbnMgcHJlZml4PSRhY3Rpb25pZCBuYW1lPSdwcmV0dHloaWVydXJscycgc2VsZWN0ZWQ9JHByZXR0eWhpZXJ1cmxzfTxici8+CiAgeyRtb2QtPkxhbmcoJ2luZm9fcHJldHR5aGllcnVybHMnKX0KICA8L3A+CjwvZGl2Pgo8L2ZpZWxkc2V0PgoKPGZpZWxkc2V0Pgo8bGVnZW5kPnskbW9kLT5MYW5nKCdpbWFnZV9oYW5kbGluZ19zZXR0aW5ncycpfTo8L2xlZ2VuZD4KPHAgc3R5bGU9ImNvbG9yOiByZWQ7Ij57JG1vZC0+TGFuZygnaW5mb19pbWFnZXN0dWZmX2RlcHJlY2F0ZWQnKX08L3A+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2FsbG93ZWRfaW1hZ2V0eXBlcycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hbGxvd2VkX2ltYWdldHlwZXN9PC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYXV0b3RodW1ibmFpbCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hdXRvdGh1bWJuYWlsfTwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2F1dG90aHVtYm5haWxfc2l6ZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1hdXRvdGh1bWJuYWlsX3NpemUiIHNpemU9IjUiIG1heGxlbmd0aD0iNSIgdmFsdWU9InskYXV0b190aHVtYm5haWxfc2l6ZX0iLz4KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9hdXRvcHJldmlld2ltZycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hdXRvcHJldmlld2ltZ308L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3Byb21wdF9hdXRvcHJldmlld2ltZ19zaXplJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWF1dG9wcmV2aWV3aW1nX3NpemUiIHNpemU9IjUiIG1heGxlbmd0aD0iNSIgdmFsdWU9InskYXV0b19wcmV2aWV3aW1nX3NpemV9Ii8+CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwcm9tcHRfYXV0b3dhdGVybWFyaycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9hdXRvd2F0ZXJtYXJrfTxici8+eyRtb2QtPkxhbmcoJ2luZm9fYXV0b3dhdGVybWFyaycpfTwvcD4KPC9kaXY+CjwvZmllbGRzZXQ+Cgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskc3VibWl0fTwvcD4KPC9kaXY+Cgp7JGVuZGZvcm19]]></data>
	</file>
	<file>
	  <filename>/templates/productlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoKI0NNUyAtIENNUyBNYWRlIFNpbXBsZQojKGMpMjAwNC02IGJ5IFRlZCBLdWxwICh0ZWRAY21zbWFkZXNpbXBsZS5vcmcpCiNUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL2Ntc21hZGVzaW1wbGUub3JnCiMKI1RoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiNpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQojdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyhhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCiMKI1RoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAojYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKI01FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKI0dOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCiNZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKI0ZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BICAwMjExMS0xMzA3ICBVU0EKIwojJElkJAkKKn0KCjxkaXYgaWQ9ImZpbHRlcmZvcm0iPgp7JGZvcm1zdGFydH0KPGZpZWxkc2V0IHN0eWxlPSJ3aWR0aDogNDklOyBmbG9hdDogbGVmdDsiPgogIDxsZWdlbmQ+eyRtb2QtPkxhbmcoJ2ZpbHRlcnMnKX06Jm5ic3A7PC9sZWdlbmQ+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2hpZXJhcmNoeScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2hpZXJhcmNoeX0mbmJzcDt7JG1vZC0+TGFuZygnaW5jbHVkZV9jaGlsZHJlbicpfSB7JGlucHV0X2NoaWxkcmVufTwvcD4KICA8L2Rpdj4KICB7aWYgaXNzZXQoJGNhdGVnb3J5X2xpc3QpfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdjYXRlZ29yeScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWNhdGVnb3JpZXNbXSIgbXVsdGlwbGU9Im11bHRpcGxlIiBzaXplPSI1Ij4KICAgICAgICB7aHRtbF9vcHRpb25zIG9wdGlvbnM9JGNhdGVnb3J5X2xpc3Qgc2VsZWN0ZWQ9JGNhdGVnb3JpZXN9CiAgICAgIDwvc2VsZWN0PgogICAgPC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdleGNsdWRlX2NhdGVnb3JpZXMnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9leGNsdWRlY2F0c308L3A+CiAgPC9kaXY+CiAgey9pZn0KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc29ydF9ieScpfTo8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3NvcnRieX08L3A+CiAgPC9kaXY+CiAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICAgIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ3NvcnRfb3JkZXInKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9zb3J0b3JkZXJ9PC9wPgogIDwvZGl2PgogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdwYWdlX2xpbWl0Jyl9OjwvcD4KICAgIDxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfcGFnZWxpbWl0fTwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRtb2QtPkdldEFjdGlvbklkKCl9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSI+CiAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskbW9kLT5HZXRBY3Rpb25JZCgpfXJlc2V0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3Jlc2V0Jyl9Ij4KICAgIDwvcD4KICA8L2Rpdj4KPC9maWVsZHNldD4KPGZpZWxkc2V0IHN0eWxlPSJ3aWR0aDogNDclOyBmbG9hdDogcmlnaHQ7Ij4KICA8bGVnZW5kPnskbW9kLT5MYW5nKCd2aWV3Jyl9PC9sZWdlbmQ+CiAge2lmIGlzc2V0KCRmaWVsZHNfdmlld2FibGUpfQogIDxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCd2aWV3YWJsZV9maWVsZHMnKX06PC9wPgogICAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1jdXN0b21fZmllbGRzW10iIHNpemU9IjMiIG11bHRpcGxlPSJtdWx0aXBsZSI+CiAgICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kZmllbGRzX3ZpZXdhYmxlIHNlbGVjdGVkPSRjdXN0b21fZmllbGRzfQogICAgICA8L3NlbGVjdD4KICAgIDwvcD4KICA8L2Rpdj4KICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogICAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+CiAgICA8cCBjbGFzcz0icGFnZWlucHV0Ij48aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JG1vZC0+R2V0QWN0aW9uSWQoKX1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ij48L3A+CiAgPC9kaXY+CiAgey9pZn0KPC9maWVsZHNldD4KPGRpdiBzdHlsZT0iY2xlYXI6IGJvdGg7Ij48L2Rpdj4KeyRmb3JtZW5kfQo8L2Rpdj48IS0tIGZpbHRlcmZvcm0gLS0+CgoKPGRpdiBpZD0icHJvZHVjdGxpc3QiPgo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+e2xpdGVyYWx9CiQoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7CiAgJCgnI2ZpbHRlcmZvcm0nKS5oaWRlKCk7CiAgJCgnI2ZpbHRlcmJveCcpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICAkKCcjZmlsdGVyZm9ybScpLnRvZ2dsZSgpOwogIH0pOwogICQoJyNzZWxlY3RfYWxsX3Byb2R1Y3RzJykuY2xpY2soZnVuY3Rpb24oKXsKICAgIHZhciBjaGVja2VkID0gJCh0aGlzKS5hdHRyKCdjaGVja2VkJyk7CiAgICBpZiggY2hlY2tlZCA9PSAnY2hlY2tlZCcgKSB7CiAgICAgICQoJy5tdWx0aXNlbGVjdCcpLmF0dHIoJ2NoZWNrZWQnLGNoZWNrZWQpOyAKICAgIH0gZWxzZSB7CiAgICAgICQoJy5tdWx0aXNlbGVjdCcpLnJlbW92ZUF0dHIoJ2NoZWNrZWQnKTsKICAgIH0KICB9KTsKICAkKCcubXVsdGlzZWxlY3QnKS5jbGljayhmdW5jdGlvbigpewogICAgJCgnI3NlbGVjdF9hbGxfcHJvZHVjdHMnKS5yZW1vdmVBdHRyKCdjaGVja2VkJyk7CiAgfSk7CiAgJCgnI2J1bGthY3Rpb25fc3VibWl0JykuY2xpY2soZnVuY3Rpb24oKXsKICAgIHZhciBsZW4gPSAkKCcjcHJvZHVjdGxpc3QgdGJvZHkgaW5wdXQ6Y2hlY2tib3g6Y2hlY2tlZCcpLmxlbmd0aDsKICAgIGlmKCBsZW4gPT0gMCApCiAgICB7CiAgICAgIGFsZXJ0KCd7L2xpdGVyYWx9eyRtb2QtPkxhbmcoJ25vdGhpbmdfc2VsZWN0ZWQnKX17bGl0ZXJhbH0nKTsKICAgICAgcmV0dXJuIGZhbHNlOwogICAgfQogICAgcmV0dXJuIHRydWU7CiAgfSk7Cn0pOwp7L2xpdGVyYWx9PC9zY3JpcHQ+Cgo8ZGl2IGNsYXNzPSJwYWdlb3B0aW9ucyI+CiA8aW5wdXQgdHlwZT0iY2hlY2tib3giIGlkPSJmaWx0ZXJib3giIHZhbHVlPSIxIi8+PGxhYmVsIGZvcj0iZmlsdGVyYm94Ij57JG1vZC0+TGFuZygnZmlsdGVyJyl9e2lmICRmaWx0ZXJpbnVzZX0mbmJzcDs8ZW0+KHskbW9kLT5MYW5nKCdmaWx0ZXJpbnVzZScpfSk8L2VtPnsvaWZ9Jm5ic3A7PC9sYWJlbD4KIHskYWRkbGlua30mbmJzcDt7JGltcG9ydGxpbmt9CjwvZGl2Pgp7aWYgJGl0ZW1jb3VudCBndCAwfQogIHskZm9ybXN0YXJ0Mn0KICB7aWYgaXNzZXQoJGZpcnN0cGFnZV91cmwpfQogICAgPGEgaHJlZj0ieyRmaXJzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdmaXJzdHBhZ2UnKX0iPnskbW9kLT5MYW5nKCdmaXJzdHBhZ2UnKX08L2E+CiAgICA8YSBocmVmPSJ7JHByZXZwYWdlX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygncHJldnBhZ2UnKX0iPnskbW9kLT5MYW5nKCdwcmV2cGFnZScpfTwvYT4KICB7L2lmfQogIHtpZiBpc3NldCgkZmlyc3RwYWdlX3VybCkgfHwgaXNzZXQoJGxhc3RwYWdlX3VybCl9CiAgICB7JG1vZC0+TGFuZygncGFnZV9vZicsJHBhZ2VudW1iZXIsJHBhZ2Vjb3VudCl9CiAgey9pZn0KICB7aWYgaXNzZXQoJGxhc3RwYWdlX3VybCl9CiAgICA8YSBocmVmPSJ7JG5leHRwYWdlX3VybH0iIHRpdGxlPSJ7JG1vZC0+TGFuZygnbmV4dHBhZ2UnKX0iPnskbW9kLT5MYW5nKCduZXh0cGFnZScpfTwvYT4KICAgIDxhIGhyZWY9InskbGFzdHBhZ2VfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdsYXN0cGFnZScpfSI+eyRtb2QtPkxhbmcoJ2xhc3RwYWdlJyl9PC9hPgogIHsvaWZ9CiAgPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIGNtc19zb3J0YWJsZSB0YWJsZXNvcnRlciI+CiAgICA8dGhlYWQ+CiAgICAgIDx0cj4KCTx0aD57JGlkdGV4dH08L3RoPgoJPHRoPnskcHJvZHVjdHRleHR9PC90aD4KICAgICAgICA8dGg+eyRtb2QtPkxhbmcoJ3NrdScpfTwvdGg+Cgk8dGg+eyRwcmljZXRleHR9PC90aD4KCTx0aD57JHdlaWdodHRleHR9ICh7JHdlaWdodF91bml0c30pPC90aD4KCTx0aD57JG1vZC0+TGFuZygnc3RhdHVzJyl9PC90aD4KCTx0aD57JG1vZC0+TGFuZygnbGFzdF9tb2RpZmllZCcpfTwvdGg+CiAgICAgICAge2lmIGlzc2V0KCRjdXN0b21fZmllbGRzKX0KICAgICAgICAgIHtmb3JlYWNoIGZyb209JGN1c3RvbV9maWVsZHMgaXRlbT0nZmlkJ30KICAgICAgICAgICAgPHRoPnskZmllbGRzX3ZpZXdhYmxlLiRmaWR9PC90aD4KICAgICAgICAgIHsvZm9yZWFjaH0KICAgICAgICB7L2lmfQoJPHRoIGNsYXNzPSJwYWdlaWNvbiB7bGl0ZXJhbH17c29ydGVyOiBmYWxzZX17L2xpdGVyYWx9Ij4mbmJzcDs8L3RoPgoJPHRoIGNsYXNzPSJwYWdlaWNvbiB7bGl0ZXJhbH17c29ydGVyOiBmYWxzZX17L2xpdGVyYWx9Ij4mbmJzcDs8L3RoPgoJPHRoIGNsYXNzPSJwYWdlaWNvbiB7bGl0ZXJhbH17c29ydGVyOiBmYWxzZX17L2xpdGVyYWx9Ij4mbmJzcDs8L3RoPgoJPHRoIGNsYXNzPSJwYWdlaWNvbiB7bGl0ZXJhbH17c29ydGVyOiBmYWxzZX17L2xpdGVyYWx9Ij4mbmJzcDs8L3RoPgogICAgICAgIDx0aCBjbGFzcz0icGFnZWljb24ge2xpdGVyYWx9e3NvcnRlcjogZmFsc2V9ey9saXRlcmFsfSI+PGlucHV0IHR5cGU9ImNoZWNrYm94IiB0aXRsZT0ieyRtb2QtPkxhbmcoJ3NlbGVjdF9hbGwnKX0iIHZhbHVlPSIxIiBuYW1lPSJzZWxlY3RfYWxsIiBpZD0ic2VsZWN0X2FsbF9wcm9kdWN0cyI+PC90aD4KICAgICAgPC90cj4KICAgIDwvdGhlYWQ+CiAgICA8dGJvZHk+CiAgICAgIHtmb3JlYWNoIGZyb209JGl0ZW1zIGl0ZW09ZW50cnl9Cgl7Y3ljbGUgdmFsdWVzPSJyb3cxLHJvdzIiIGFzc2lnbj0ncm93Y2xhc3MnfQoJPHRyPgoJPHRkPnskZW50cnkuaWR9PC90ZD4KCTx0ZD48YSBocmVmPSJ7JGVudHJ5LmVkaXRfdXJsfSIgdGl0bGU9InskbW9kLT5MYW5nKCdlZGl0Jyl9Ij57JGVudHJ5LnByb2R1Y3RfbmFtZX08L2E+PC90ZD4KCTx0ZD57JGVudHJ5LnNrdX08L3RkPgoJPHRkPnskZW50cnkucHJpY2V8bnVtYmVyX2Zvcm1hdDoyfTwvdGQ+CiAgICAgICAgPHRkPnskZW50cnkud2VpZ2h0fG51bWJlcl9mb3JtYXQ6Mn08L3RkPgoJPHRkPnskbW9kLT5MYW5nKCRlbnRyeS5zdGF0dXMpfTwvdGQ+Cgk8dGQ+eyRlbnRyeS5tb2RpZmllZF9kYXRlfGNtc19kYXRlX2Zvcm1hdH08L3RkPgogICAgICAgIHtpZiBpc3NldCgkY3VzdG9tX2ZpZWxkcykgJiYgY291bnQoJGN1c3RvbV9maWVsZHMpfQogICAgICAgICAge2ZvcmVhY2ggZnJvbT0kY3VzdG9tX2ZpZWxkcyBpdGVtPSdmaWQnfQogICAgICAgICAgICA8dGQ+e2NhcHR1cmUgYXNzaWduPSd0bXAnfXskZmllbGRfbmFtZXMuJGZpZH17L2NhcHR1cmV9CiAgICAgICAgICAgICAgeyRlbnRyeS4kdG1wfTwvdGQ+CiAgICAgICAgICB7L2ZvcmVhY2h9CiAgICAgICAgey9pZn0KCTx0ZD57bW9kdWxlX2FjdGlvbl9saW5rIG1vZHVsZT0nUHJvZHVjdHMnIGFjdGlvbj0nYWRtaW5fZWRpdF9hdHRyaWJzJyBwcm9kaWQ9JGVudHJ5LmlkIGltYWdlPSd0YWJsZV9yZWxhdGlvbnNoaXAucG5nJyB0ZXh0PSRtb2QtPkxhbmcoJ2VkaXRfb3B0aW9ucycpIGltYWdlb25seT0xfTwvdGQ+Cgk8dGQ+eyRlbnRyeS5lZGl0bGlua308L3RkPgoJPHRkPnskZW50cnkuY29weWxpbmt9PC90ZD4KCTx0ZD57JGVudHJ5LmRlbGV0ZWxpbmt9PC90ZD4gCiAgICAgICAgPHRkPjxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9Im11bHRpc2VsZWN0IiBuYW1lPSJ7JGFjdGlvbmlkfW11bHRpc2VsZWN0W10iIHZhbHVlPSJ7JGVudHJ5LmlkfSI+PC90ZD4KICAgICAgICA8L3RyPgogICAgICB7L2ZvcmVhY2h9CiAgICA8L3Rib2R5PgogIDwvdGFibGU+CgogIDxkaXYgY2xhc3M9InBhZ2VvcHRpb25zIiBzdHlsZT0iaGVpZ2h0OiAyZW07Ij4KICAgIDxkaXYgc3R5bGU9IndpZHRoOiA0MCU7IGZsb2F0OiBsZWZ0OyBtYXJnaW4tdG9wOiAwLjVlbTsiPgogICAgICB7JGFkZGxpbmt9Jm5ic3A7eyRpbXBvcnRsaW5rfXtpZiAkaXRlbWNvdW50IGd0IDB9Jm5ic3A7eyRleHBvcnRsaW5rfXsvaWZ9CiAgICA8L2Rpdj4KICAgIHtpZiAkaXRlbWNvdW50IGd0IDB9CiAgICAgIDxkaXYgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyB3aWR0aDogNDAlOyBmbG9hdDogcmlnaHQ7IG1hcmdpbi10b3A6IDAuNWVtOyBtYXJnaW4tYm90dG9tOiAwLjVlbTsiPgogICAgICAgIHskbW9kLT5MYW5nKCd3aXRoX3NlbGVjdGVkJyl9OgogICAgICAgIDxzZWxlY3QgbmFtZT0ieyRhY3Rpb25pZH1idWxrYWN0aW9uIj57aHRtbF9vcHRpb25zIG9wdGlvbnM9JGJ1bGthY3Rpb25zfTwvc2VsZWN0PgogICAgICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGlkPSJidWxrYWN0aW9uX3N1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnZ28nKX0iLz4KICAgICAgPC9kaXY+CiAgICB7L2lmfQogIDwvZGl2Pgp7JGZvcm1lbmQyfQp7L2lmfQo8L2Rpdj48IS0tIHByb2R1Y3RsaXN0IC0tPgo=]]></data>
	</file>
	<file>
	  <filename>/test_import.csv</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[I0ZMQUd8I25hbWV8I3NrdXwjZGV0YWlsc3wjcHJpY2V8I2NyZWF0ZV9kYXRlfCNtb2RpZmllZF9kYXRlfCN0YXhhYmxlfCNzdGF0dXN8I3dlaWdodHwjSElFUnwjQ0FUOm5ld3wjQ0FUOkRpc2NvbnRpbnVlZHwjRklFTEQ6aW1hZ2U6SW1hZ2V8I0ZJRUxEOnRleHRhcmVhOk5vdGVzfCNBVFRSSUJTClB8UHVwdGVudHxwMDAwMXxPbmUgcGVyc29uIGJhY2twYWNraW5nIFRlbnR8MTQuOTl8MjAwOS0wMS0wMXwyMDA5LTAxLTAxfDF8cHVibGlzaGVkfDEuNXxPdXRkb29ycyA+PiBUZW50c3wxfDB8cHVwdGVudC5wbmd8R3JlYXQgZm9yIHRob3NlIGxvbmcgaGlrZXMgYW5kIGEgd2FybSBuaWdodCBpbiB0aGUgd29vZHN8UmVkOisyLjU6cDAwMDEtcjo1IC0tIEdyZWVuOis0LjU6cDAwMDEtZzo0ClB8MiBNYW4gVGVudHxwMDAwMnxUd28gUGVyc29uIEJhY2twYWNraW5nIFRlbnR8MjMuOTl8MjAwOS0wMi0wMnwyMDA5LTAyLTAyfDF8cHVibGlzaGVkfDIuMjV8T3V0ZG9vcnMgPj4gVGVudHN8MHwxfGJpZ3RlbnQucG5nfEJhY2twYWNraW5nIHdpdGggYSBwYXJ0bmVyLCB0aGlzIHRlbnQgaXMgaWRlYWwgZm9yIHlvdXxSZWQ6KzIuNTpwMDAwMi1yOjMgLS0gR3JlZW46KzQuNTpwMDAwMi1nOjYKUHw0IE1hbiBEb21lIFRlbnR8cDAwMDN8Rm91ciBwZXJzb24gZG9tZSB0ZW50fDM0Ljk5fDIwMDktMDItMDJ8MjAwOS0wMi0wMnwxfHB1Ymxpc2hlZHw0Ljc1fE91dGRvb3JzID4+IFRlbnRzfDB8MXxiaWd0ZW50LnBuZ3xFYXN5IHRvIHNldHVwLCBncmVhdCBmb3IgYSB5b3VuZyBmYW1pbHkufFJlZDorMi41OnAwMDAzLXI6LTEgLS0gR3JlZW46KzQuNTpwMDAwMy1nOi0zClB8NiBQZXJzb24gRmFtaWx5IFRlbnR8cDAwMDR8RWFzeSBTZXR1cCBGYW1pbHkgVGVudHw2Mi45N3wyMDA5LTAzLTAzfDIwMTItMDEtMDF8MXxwdWJsaXNoZWR8MTkuNXxPdXRkb29ycyA+PiBUZW50c3wxfDF8YmlndGVudC5wbmd8Q2FtcGluZyBmb3IgYSBmZXcgZGF5cywgbWF5IGFzIHdlbGwgZG8gaXQgaW4gc3R5bGUhIXxSZWQ6KzIuNTpwMDAwNC1yOjEyIC0tIEdyZWVuOis0LjU6cDAwMDQtZzo5ClB8U3Vydml2YWwgS2l0fHAwMDA1fEJhY2twYWNrZXIgRW1lcmdlbmN5IEtpdHw5Ljk1fDIwMDktMDMtMDN8MjAxMi0wMS0wMXwxfHB1Ymxpc2hlZHwwLjV8T3V0ZG9vcnMgPj4gU3Vydml2YWx8MXwxfHxJZiBCYWNrcGFja2luZyBhbG9uZSwgb3IgaHVudGluZyB0aGlzIGlzIGVzc2VudGlhbCBnZWFyfApQfEZpcmUgU3RhcnRlcnxwMDAwNnxFbWVyZ2VuY3kgRmlyZSBTdGFydGVyfDQuOTl8MjAwOS0wMy0wM3wyMDEyLTAxLTAxfDF8cHVibGlzaGVkfDAuM3xPdXRkb29ycyA+PiBTdXJ2aXZhbHwxfDB8fFRoaXMgZmlyZXN0YXJ0ZXIga2l0IG5ldmVyIGV4cGlyZXMsIGFuZCBuZXZlciBydW5zIG91dCB1c2UgaXQgZm9yZXZlciwgc3RhcnQgYSBmaXJlIHF1aWNrbHkgYW5kIGVhc2lseSBpbiBhbnkgY29uZGl0aW9uc3wKUHxXaW5kIFVwIEFNIFJhZGlvfHAwMDA3fFdpbmQgVXAgQU0gUmFkaW98MTcuOTV8MjAwOS0wMy0wM3wyMDEyLTAxLTAxfDF8cHVibGlzaGVkfDAuNXxPdXRkb29ycyA+PiBDb21tdW5pY2F0aW9ufDF8MHx8TGlzdGVuIHRvIHRoZSByYWRpbyBhbnl3aGVyZSwgYW55IHRpbWUuICBTdXBwb3J0cyBlbWVyZ2VuY3kgYmFuZHN8QmxhY2s6MDpwMDAwNy1iIC0tIENocm9tZTorMTpwMDAwNy1jCg==]]></data>
	</file>
</module>
