<?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>SelfRegistration</name>
	<version>1.1.3</version>
  <mincmsversion>1.2</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGRlc2lnbmVkIHRvIGFsbG93IGZyb250IGVuZCB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzIGFuZCBmaWxsIGluIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbi4gIEl0IHRoZW4gc2VuZHMgYSBjb25maXJtYXRpb24gZW1haWwsIHdpdGggYSBsaW5rIHRvIGEgc2Vjb25kIHBhZ2UgdGhhdCBtdXN0IGJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZS4gIE9uY2UgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLCBhIHVzZXIgYWNjb3VudCBpcyBjcmVhdGVkIGluIHRoZSBmcm9udCBlbmQgdXNlcnMgbW9kdWxlLjwvcD4KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICJFbWFpbCBBZGRyZXNzIiBpbiB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUsIGFuZCBhc3NvY2lhdGUgdGhhdCBwcm9wZXJ0eSB3aXRoIHRoZSBncm91cCB0byBiZSB1c2VkIGZvciBzZWxmIHJlZ2lzdHJhdGlvbi48L3A+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPgo8cD5Zb3UgbXVzdCBoYXZlIHByZXZpb3VzbHkgY3JlYXRlZCBwcm9wZXJ0aWVzIGFuZCB1c2VyIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS48L3A+CjxoMz5QYXJhbWV0ZXJzPC9oMz4KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICJzaWdudXAiIGFuZCAidmVyaWZ5Ii4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICJzaWdudXAiIGlzIGFzc3VtYmVkLjwvcD4KPHA+PHN0cm9uZz5ncm91cDwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAic2lnbnVwIiwgb3IgaWYgbW9kZSBpcyBsZWZ0IGVtcHR5LjwvcD4KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5J3MKbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0Cm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4KCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tIj4mbHQ7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZndDs8L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+CjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+CjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q01TTWFpbGVyID0mZ3Q7IDEuNzMuOTwvbGk+PGxpPkZyb250RW5kVXNlcnMgPSZndDsgMS4zLjE8L2xpPjwvdWw+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PC91bD4=</help>
	<about>PGJyIC8+QXV0aG9yOiBDYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGhvdG1haWwuY29tJmd0OzxiciAvPjxiciAvPlZlcnNpb246IDEuMS4zPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+CjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPgo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+CjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMncyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+CjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+CjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+CjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAiY2hlY2thbGwiPC9wPgo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPgo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICJ5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCIgZW1haWwgdGVtcGxhdGVzPC9wPgo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPgo8cD5BZGRlZCBhICJEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkiIGJ1dHRvbjwvcD4KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+CjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+CjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPgo8cD5UaGUgIlJlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uIiBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPgo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPgo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+CjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPgo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPgo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPgo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+CjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPgo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+CiAgICA8cD5DYXB0Y2hhIHN1cHBvcnQgKHRoYW5rcyBEaXR0bWFuKTwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjEuIC0gQXByIDIwMDc8L3A+CiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMi4wIChtaW5pbXVtKTwvcD4KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+CiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPgogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPgogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+CiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4KICAgIDxwPkZpeCB0aGUgcHJvYmxlbSB3aXRoIHRoZSBVc2VyRGlzcGxheUxvc3RSZWdFbWFpbEZvcm0gdGhpbmc8L3A+CiAgICA8cD5BZGRzIHRoZSBpZCB0byB0aGUgb25Vc2VyUmVnaXN0ZXJlZCBFdmVudDwvcD4KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4yIG1pbmltdW08L3A+CiAgICA8cD5Zb3UgY2FuIG5vdyB1c2Uge1NlbGZSZWdpc3RyYXRpb24gZ3JvdXA9J2JsYWgnfTwvcD4KICAgIDxwPk5vdyBSZXF1aXJlcyBDTVMgMS4zIG1pbmltdW0uPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4KICAgIDxwPkZpeGVzIGlzc3VlIHdpdGggU01UUCBFbWFpbCBhZGRyZXNzIHZhbGlkYXRpb248L3A+CiAgICA8cD5Ob3cgUmVxdWlyZSBGRVUgMS4zLjE8L3A+CiAgICA8cD5BZGRzIHRoZSBub2lubGluZSBwYXJhbWV0ZXI8L3A+CjwvbGk+CjwvdWw+PGJyIC8+</about>
	<description>A module that allows front end users to register themselves.</description>
	<requires>
	  <requiredname>CMSMailer</requiredname>
	  <requiredversion>1.73.9</requiredversion>
	</requires>
	<requires>
	  <requiredname>FrontEndUsers</requiredname>
	  <requiredversion>1.3.1</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gLSBBIG1vZHVsZSB0byBhbGxvdyB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzCiMgV2l0aCBhIHdlYnNpdGUuCiMgVmVyc2lvbjogMS4xLjEgQ2FsZ3V5MTAwMAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVXNlckRpc3BsYXlSZWdpc3RyYXRpb25Gb3JtMSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmdW5jdGlvbiBfVXNlckRpc3BsYXlSZWdpc3RyYXRpb25Gb3JtMSggJiRtb2R1bGUsICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgaWYoICFpc3NldCggJHBhcmFtc1snZ3JvdXAnXSApICkKICAgICAgewoJLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKCS8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKCSRtb2R1bGUtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgJG1vZHVsZS0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJykpOwoJcmV0dXJuOwogICAgICB9CgogICAgJGZldXNlcnMgPSYgJG1vZHVsZS0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKICAgIGlmKCAhJGZldXNlcnMgKQogICAgICB7CgkvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQoJLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAoJJG1vZHVsZS0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAkbW9kdWxlLT5MYW5nKCdlcnJvcl9ub2ZldXNlcnNtb2R1bGUnKSk7CglyZXR1cm47CiAgICAgIH0KCiAgICAkY21zbWFpbGVyID0mICRtb2R1bGUtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKICAgIGlmKCAhJGNtc21haWxlciApCiAgICAgIHsKCS8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCgkvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CgkkbW9kdWxlLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICRtb2R1bGUtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpKTsKCXJldHVybjsKICAgICAgfQoKICAgIC8vIHllcCwgYWxsIHRoZSBtb2R1bGVzIGFyZSBoZXJlLCBub3cgd2UgCiAgICAvLyBoYXZlIHRvIGNvbnZlcnQgdGhlIGdyb3VwbmFtZSBpbnRvIGFuIGlkCiAgICAkZ3JwaWQgPSAkZmV1c2Vycy0+R2V0R3JvdXBJRCgkcGFyYW1zWydncm91cCddKTsKICAgIGlmKCAkZ3JwaWQgPT0gZmFsc2UgKQogICAgICB7CgkvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQoJLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAoJJG1vZHVsZS0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAkbW9kdWxlLT5MYW5nKCdlcnJvcl9ub3N1Y2hncm91cCcpKTsKCXJldHVybjsKICAgICAgfQoKICAgIC8vIG5vdyB3ZSBoYXZlIGFuIGlkLi4uIGhhdmUgdG8gZ2V0IGEgbGlzdCBvZiB0aGUgZ3JvdXBzIHByb3BlcnRpZXMKICAgICRyZWxhdGlvbnMgPSAkZmV1c2Vycy0+R2V0R3JvdXBQcm9wZXJ0eVJlbGF0aW9ucyggJGdycGlkICk7CiAgICBpZiggJHJlbGF0aW9uc1swXSA9PSBmYWxzZSApCiAgICAgIHsKCS8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCgkvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CgkkbW9kdWxlLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsICRyZWxhdGlvbnNbMV0gKTsKCXJldHVybjsKICAgICAgfQogICAgdWFzb3J0KCAkcmVsYXRpb25zLCAKCSAgICBhcnJheSgnU2VsZnJlZ1V0aWxzJywnY29tcGFyZV9lbGVtZW50c19ieV9zb3J0b3JkZXJfa2V5JykgKTsKCiAgICAvLyBub3cgd2UgaGF2ZSB0aGUgcHJvcGVydGllcywgZ290dGEgc2hvdyBzb21ldGhpbmcgdG8gdGhlIHVzZXIKICAgIC8vIGRhbW1pdC4KICAgIGlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkKICAgICAgewoJJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2Vycm9yJywgJHBhcmFtc1snZXJyb3InXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogICAgICB7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICRwYXJhbXNbJ21lc3NhZ2UnXSk7CiAgICAgIH0KCiAgICAvLyBub3cgd2UncmUgcmVhZHkgdG8gcG9wdWxhdGUgdGhlIHRlbXBsYXRlCiAgICAvLyBmaXJzdCB3ZSBwdXQgaW4gc3R1ZmYgdGhhdCBpcyByZXF1aXJlZCAodXNlcm5hbWUsIHBhc3N3b3JkLCBldGMsIGV0YykKICAgICRyb3dhcnJheSA9IGFycmF5KCk7CgogICAgLy8gbWFrZSBzdXJlIHVzZXJuYW1lIGlzIGluIHRoZXJlCiAgICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiAgICAkb25lcm93LT5jb2xvciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9jb2xvcicsJ2JsdWUnKTsKICAgICRvbmVyb3ctPm1hcmtlciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9tYXJrZXInLCcqJyk7CiAgICAkb25lcm93LT5yZXF1aXJlZCA9IDE7CiAgICAkdmFsID0gKGlzc2V0KCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pKSA/ICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gOiAnJzsKICAgICRvbmVyb3ctPmhpZGRlbiA9IFNlbGZyZWdVdGlsczo6bXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnaGlkZGVuX3VzZXJuYW1lJywKCQkJCQkgICBpbXBsb2RlKCI7IixhcnJheSgndXNlcm5hbWUnLDAsMzAsMikpKTsKICAgICRvbmVyb3ctPnByb21wdCA9ICRtb2R1bGUtPkxhbmcoJ3VzZXJuYW1lJyk7CiAgICAkb25lcm93LT5jb250cm9sID0kbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW5wdXRfdXNlcm5hbWUnLCAkdmFsLAoJCQkJCSAgICAgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lZmxkbGVuZ3RoJyksCgkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3VzZXJuYW1lbGVuZ3RoJykpOwogICAgYXJyYXlfcHVzaCggJHJvd2FycmF5LCAkb25lcm93ICk7CgogICAgLy8gYW5kIHBhc3N3b3JkCiAgICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiAgICAkb25lcm93LT5jb2xvciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9jb2xvcicsJ2JsdWUnKTsKICAgICRvbmVyb3ctPm1hcmtlciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9tYXJrZXInLCcqJyk7CiAgICAkb25lcm93LT5yZXF1aXJlZCA9IDE7CiAgICAkdmFsID0gKGlzc2V0KCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10pKSA/ICRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gOiAnJzsKICAgICRvbmVyb3ctPmhpZGRlbiA9IFNlbGZyZWdVdGlsczo6bXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnaGlkZGVuX3Bhc3N3b3JkJywKCQkJCQkgICBpbXBsb2RlKCI7IixhcnJheSgncGFzc3dvcmQnLDAsMzAsMikpKTsKICAgICRvbmVyb3ctPnByb21wdCA9ICRtb2R1bGUtPkxhbmcoJ3Bhc3N3b3JkJyk7CiAgICAkb25lcm93LT5jb250cm9sID0kbW9kdWxlLT5DcmVhdGVJbnB1dFBhc3N3b3JkKCRpZCwgJ2lucHV0X3Bhc3N3b3JkJywgJHZhbCwgCgkJCQkJCSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSwKCQkJCQkJICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnKSk7CiAgICBhcnJheV9wdXNoKCAkcm93YXJyYXksICRvbmVyb3cgKTsKCiAgICAvLyBhbmQgbWFrZSBoaW0gcmVwZWF0IHRoZSBwYXNzd29yZAogICAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOwogICAgJG9uZXJvdy0+Y29sb3IgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCdibHVlJyk7CiAgICAkb25lcm93LT5tYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwogICAgJG9uZXJvdy0+cmVxdWlyZWQgPSAxOwogICAgJHZhbCA9IChpc3NldCgkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddKSkgPyAkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddIDogJyc7CiAgICAkb25lcm93LT5oaWRkZW4gPSBTZWxmcmVnVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2hpZGRlbl9yZXBlYXRwYXNzd29yZCcsCgkJCQkJICAgaW1wbG9kZSgiOyIsYXJyYXkoJ3JlcGVhdHBhc3N3b3JkJywwLDMwLDIpKSk7CiAgICAkb25lcm93LT5wcm9tcHQgPSAkbW9kdWxlLT5MYW5nKCdyZXBlYXRwYXNzd29yZCcpOwogICAgJG9uZXJvdy0+Y29udHJvbCA9JG1vZHVsZS0+Q3JlYXRlSW5wdXRQYXNzd29yZCgkaWQsICdpbnB1dF9yZXBlYXRwYXNzd29yZCcsICR2YWwsIAoJCQkJCQkgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJyksCgkJCQkJCSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpOwogICAgYXJyYXlfcHVzaCggJHJvd2FycmF5LCAkb25lcm93ICk7CgogICAgJHJlbGF0aW9uczIgPSBhcnJheSgpOwogICAgZm9yZWFjaCggJHJlbGF0aW9ucyBhcyAkcmVsbiApCiAgICAgIHsKCSRkZWZuID0gJGZldXNlcnMtPkdldFByb3BlcnR5RGVmbiggJHJlbG5bJ25hbWUnXSApOwoJaWYoICRkZWZuWyd0eXBlJ10gPT0gNiApCgkgIHsKCSAgICAvLyBpbWFnZXMgYXJlIGlnbm9yZWQKCSAgICBjb250aW51ZTsKCSAgfQoKCSRyZWxuWydtYXB0byddID0gJGRlZm5bJ25hbWUnXTsKCSRyZWxuWydwcm9tcHQnXSA9ICRkZWZuWydwcm9tcHQnXTsKCWlmKCAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2ZvcmNlX2VtYWlsX3R3aWNlJyApICkKCSAgewoJICAgICRyZWxhdGlvbnMyW10gPSAkcmVsbjsKCSAgICBpZiggJGRlZm5bJ3R5cGUnXSA9PSAyICkKCSAgICAgIHsKCQkvLyB0b2RvLCBjaGFuZ2Ugc29tZXRoaW5nIGhlcmUKCQkkcmVsblsnbmFtZSddID0gJHJlbG5bJ25hbWUnXS4nX2FnYWluJzsKCQkkcmVsblsnbWFwdG8nXSA9ICRkZWZuWyduYW1lJ107CgkJJHJlbG5bJ3Byb21wdCddID0gJGRlZm5bJ3Byb21wdCddLicgKCcuJG1vZHVsZS0+TGFuZygnYWdhaW4nKS4nKSc7CgkJJHJlbGF0aW9uczJbXSA9ICRyZWxuOwoJICAgICAgfQoJICB9CgllbHNlCgkgIHsKCSAgICAkcmVsYXRpb25zMltdID0gJHJlbG47CgkgIH0KICAgICAgfQoKICAgIGZvcmVhY2goICRyZWxhdGlvbnMyIGFzICRyZWxuICkKICAgIHsKICAgICAgLy8gZG9uJ3QgcHJvY2VzcyBoaWRkZW4gZmllbGRzIGhlcmUKICAgICAgaWYoICRyZWxuWydyZXF1aXJlZCddID09IDMgKSBjb250aW51ZTsKCiAgICAgIC8vIGdldCB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbgogICAgICAkZGVmbiA9ICRmZXVzZXJzLT5HZXRQcm9wZXJ0eURlZm4oICRyZWxuWydtYXB0byddICk7CiAgICAgIAogICAgICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CgogICAgICAkY29sb3IgPSAnJzsKICAgICAgaWYoICRyZWxuWydyZXF1aXJlZCddID09IDIgKSAkY29sb3IgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCdibHVlJyk7CiAgICAgICRtYXJrZXIgPSAnJzsKICAgICAgaWYoICRyZWxuWydyZXF1aXJlZCddID09IDIgKSAkbWFya2VyID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX21hcmtlcicsJyonKTsKICAgICAgJG9uZXJvdy0+cmVxdWlyZWQgPSAoJHJlbG5bJ3JlcXVpcmVkJ10gPT0gMik7CiAgICAgICRvbmVyb3ctPmNvbG9yICAgID0gJGNvbG9yOwogICAgICAkb25lcm93LT5tYXJrZXIgICA9ICRtYXJrZXI7CiAgICAgICRvbmVyb3ctPmhpZGRlbiA9IFNlbGZyZWdVdGlsczo6bXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnaGlkZGVuXycuJHJlbG5bJ25hbWUnXSwKCQkJCQkgICAgIGltcGxvZGUoIjsiLGFycmF5KCRyZWxuWyduYW1lJ10sJGRlZm5bJ3R5cGUnXSwKCQkJCQkJCSAgICAgICAkZGVmblsnbGVuZ3RoJ10sJHJlbG5bJ3JlcXVpcmVkJ10pKSk7CgogICAgICAkdmFsID0gaXNzZXQoJHBhcmFtc1snaW5wdXRfJy4kcmVsblsnbmFtZSddXSkgPyAkcGFyYW1zWydpbnB1dF8nLiRyZWxuWyduYW1lJ11dIDogJyc7CiAgICAgICRvbmVyb3ctPnByb21wdCA9ICRyZWxuWydwcm9tcHQnXTsKICAgICAgJG9uZXJvdy0+bGFiZWxmb3IgPSAkaWQuJHJlbG5bJ25hbWUnXTsKICAgICAgc3dpdGNoKCAkZGVmblsndHlwZSddICkKCXsKCWNhc2UgMDogLy8gdGV4dAoJICAkb25lcm93LT5jb250cm9sID0gJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsICdpbnB1dF8nLiRyZWxuWyduYW1lJ10sCgkJCQkJCSAgICAgJHZhbCwgJGRlZm5bJ2xlbmd0aCddLCAkZGVmblsnbWF4bGVuZ3RoJ10gKTsKCSAgYnJlYWs7CgoJY2FzZSAxOiAvLyBjaGVja2JveAoJICAkb25lcm93LT5jb250cm9sID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgJ2lucHV0XycuJHJlbG5bJ25hbWUnXSwgMSwgJHZhbCApOwoJICBicmVhazsKCgljYXNlIDI6IC8vIGVtYWlsCgkgICRvbmVyb3ctPmNvbnRyb2wgPSAkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0XycuJHJlbG5bJ25hbWUnXSwKCQkJCQkJICAgICAkdmFsLCAkZGVmblsnbGVuZ3RoJ10sICgkZGVmblsnbWF4bGVuZ3RoJ10pICk7CgkgIGJyZWFrOwoKCWNhc2UgMzogLy8gdGV4dGFyZWEKCSAgJG9uZXJvdy0+Y29udHJvbCA9ICRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCAkaWQsICR2YWwsICdpbnB1dF8nLiRyZWxuWyduYW1lJ10pOwoJICBicmVhazsKCgljYXNlIDQ6IC8vIGRyb3Bkb3duCgkgICRvbmVyb3ctPmNvbnRyb2wgPSAkbW9kdWxlLT5DcmVhdGVJbnB1dERyb3Bkb3duKCAKCQkJCQkJCSRpZCwgCgkJCQkJCQknaW5wdXRfJy4kcmVsblsnbmFtZSddLCAKCQkJCQkJCSRmZXVzZXJzLT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sIDEpLCAKCQkJCQkJCS0xLCAKCQkJCQkJCSR2YWwpOwoJICBicmVhazsKCgljYXNlIDU6IC8vIG11bHRpc2VsZWN0CgkgICRvbmVyb3ctPmNvbnRyb2wgPSAkbW9kdWxlLT5DcmVhdGVJbnB1dFNlbGVjdExpc3QoJGlkLAoJCQkJCQkJICAnaW5wdXRfJy4kZGVmblsnbmFtZSddLidbXScsCgkJCQkJCQkgICRmZXVzZXJzLT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sIDEpLAoJCQkJCQkJICBhcnJheSgpLAoJCQkJCQkJICAkdmFsKTsKCSAgYnJlYWs7Cgl9CgogICAgICBhcnJheV9wdXNoKCAkcm93YXJyYXksICRvbmVyb3cgKTsKICAgIH0KCiAgICAkaW5saW5lID0gJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnaW5saW5lX2Zvcm1zJyx0cnVlKTsKICAgIGlmKCBpc3NldCgkcGFyYW1zWydub2lubGluZSddKSApCiAgICAgIHsKCSRpbmxpbmUgPSBmYWxzZTsKICAgICAgfQogICAgLy8gYW5kIHRoZSByZXN0IG9mIHRoZSBzdHVmZgogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24gKCdzdGFydGZvcm0nLAoJCQkgICAkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ3JlZ3VzZXInLCAKCQkJCQkJICAgICAkcmV0dXJuaWQsICdwb3N0JywgJycsICRpbmxpbmUpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduICgnZW5kZm9ybScsICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQgKCkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3RpdGxlJywkbW9kdWxlLT5MYW5nKCd1c2VyX3JlZ2lzdHJhdGlvbicpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgJ2dyb3VwX2lkJywgJGdycGlkICkuCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAnZ3JvdXAnLCAkcGFyYW1zWydncm91cCddICkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2NvbnRyb2xzJywgJHJvd2FycmF5KTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdjb250cm9sY291bnQnLCBjb3VudCgkcm93YXJyYXkpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdzdWJtaXQnLCRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JywKCQkJCQkJCSAgICAkbW9kdWxlLT5MYW5nKCdzdWJtaXQnKSkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2NhbmNlbCcsJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLAoJCQkJCQkJICAgICRtb2R1bGUtPkxhbmcoJ2NhbmNlbCcpKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignbXNnX3NlbmRhbm90aGVyZW1haWwnLAoJCQkgICRtb2R1bGUtPkxhbmcoJ21zZ19zZW5kYW5vdGhlcmVtYWlsJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2xpbmtfc2VuZGFub3RoZXJlbWFpbCcsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkbW9kdWxlLT5MYW5nKCdjbGlja2hlcmUnKSwKCQkJCQkgICAgYXJyYXkoJ21vZGUnPT4nc2VuZGFub3RoZXJlbWFpbCcpLCcnLGZhbHNlLHRydWUpKTsKCiAgICAkY2FwdGNoYSA9JiAkbW9kdWxlLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ2FwdGNoYScpOwogICAgaWYoIGlzX29iamVjdCgkY2FwdGNoYSkgJiYgIWlzc2V0KCRwYXJhbXNbJ25vY2FwdGNoYSddKSApCiAgICAgIHsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdjYXB0Y2hhX3RpdGxlJywgJG1vZHVsZS0+TGFuZygnY2FwdGNoYV90aXRsZScpKTsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdjYXB0Y2hhJywgJGNhcHRjaGEtPmdldENhcHRjaGEoKSk7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfY2FwdGNoYScsCgkJCQkkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9jYXB0Y2hhJywnJywxMCkpOwogICAgICB9CgkKICAgIC8vIHRvZG8sIHB1dCB0aGlzIGludG8gdGhlIGRhdGFiYXNlIGFuZCBsZXQgdGhlIGFkbWluIHBsYXkgd2l0aCBpdC4KICAgIGVjaG8gJG1vZHVsZS0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX3JlZzF0ZW1wbGF0ZScpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVzZXJEaXNwbGF5VmVyaWZpY2F0aW9uRm9ybSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmdW5jdGlvbiBfVXNlckRpc3BsYXlWZXJpZmljYXRpb25Gb3JtKCAmJG1vZHVsZSwgJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICAkZmV1c2VycyA9ICRtb2R1bGUtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggISRmZXVzZXJzICkKICAgICAgewoJJG1vZHVsZS0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJICRtb2R1bGUtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpKTsKCXJldHVybjsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZXJyb3InXSApICkKICAgICAgewoJJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2Vycm9yJywgJHBhcmFtc1snZXJyb3InXSk7CiAgICAgIH0KICAgIGlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogICAgICB7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICRwYXJhbXNbJ21lc3NhZ2UnXSk7CiAgICAgIH0KCiAgICAkdXNlcm5hbWUgPSAnJzsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICAgICAgewoJJHVzZXJuYW1lID0gdHJpbSgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddKTsKICAgICAgfQogICAgJHBhc3N3b3JkID0gJyc7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKSApCiAgICAgIHsKCSRwYXNzd29yZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSk7CiAgICAgIH0KICAgICRjb2RlID0gJyc7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2NvZGUnXSApICkKICAgICAgewoJJGNvZGUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X2NvZGUnXSk7CiAgICAgIH0KICAgICRncm91cF9pZCA9ICcnOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9ncm91cF9pZCddICkgKQogICAgICB7CgkkZ3JvdXBfaWQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X2dyb3VwX2lkJ10pOwogICAgICB9CgogICAgLy8gcHJvY2VzcyB0aGUgdGVtcGxhdGUKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZScsCgkJCSAgJG1vZHVsZS0+TGFuZygndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF91c2VybmFtZScsCgkJCSAgJG1vZHVsZS0+TGFuZygndXNlcm5hbWUnKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfdXNlcm5hbWUnLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCgkaWQsJ2lucHV0X3VzZXJuYW1lJywKCQkJCQkJICR1c2VybmFtZSwgCgkJCQkJCSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgndXNlcm5hbWVmbGRsZW5ndGgnKSwKCQkJCQkJICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfdXNlcm5hbWVsZW5ndGgnKSkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9wYXNzd29yZCcsCgkJCSAgJG1vZHVsZS0+TGFuZygncGFzc3dvcmQnKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfcGFzc3dvcmQnLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCdpbnB1dF9wYXNzd29yZCcsCgkJCQkJCSAgICAgJHBhc3N3b3JkLCAKCQkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncGFzc3dvcmRmbGRsZW5ndGgnKSwKCQkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdwcm9tcHRfY29kZScsCgkJCSAgJG1vZHVsZS0+TGFuZygnY29kZScpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jb2RlJywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoJGlkLCdpbnB1dF9jb2RlJywKCQkJCQkJICRjb2RlLCAzMCwgMzAgKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3VibWl0JywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsJG1vZHVsZS0+TGFuZygnc3VibWl0JykpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdjYW5jZWwnLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnY2FuY2VsJywkbW9kdWxlLT5MYW5nKCdjYW5jZWwnKSkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N0YXJ0Zm9ybScsCgkJCSAgICAkbW9kdWxlLT5DcmVhdGVGcm9udGVuZEZvcm1TdGFydCgkaWQsICRyZXR1cm5pZCwgJ3ZlcmlmeXVzZXInKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaGlkZGVuJywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdpbnB1dF9ncm91cF9pZCcsICRncm91cF9pZCApKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdlbmRmb3JtJywKCQkJICAkbW9kdWxlLT5DcmVhdGVGb3JtRW5kKCkpOwogICAgZWNobyAkbW9kdWxlLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3NlbGZyZWdfcmVnMnRlbXBsYXRlJyk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmZ1bmN0aW9uIF9Vc2VyRGlzcGxheUxvc3RSZWdFbWFpbEZvcm0oICYkbW9kdWxlLCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgICRmZXVzZXJzID0gJG1vZHVsZS0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKICAgIGlmKCAhJGZldXNlcnMgKQogICAgICB7CgkkbW9kdWxlLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgJG1vZHVsZS0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwoJcmV0dXJuOwogICAgICB9CgogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogICAgICB7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZXJyb3InLCAkcGFyYW1zWydlcnJvciddKTsKICAgICAgfQogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydtZXNzYWdlJ10gKSApCiAgICAgIHsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJHBhcmFtc1snbWVzc2FnZSddKTsKICAgICAgfQoKICAgICRpbmxpbmUgPSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpbmxpbmVfZm9ybXMnLHRydWUpOwogICAgaWYoIGlzc2V0KCRwYXJhbXNbJ25vaW5saW5lJ10pICkKICAgICAgewoJJGlubGluZSA9IGZhbHNlOwogICAgICB9CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkJICAgICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCggJGlkLCAnc2VuZGFub3RoZXJlbWFpbCcsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnJywgJGlubGluZSkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24gKCdlbmRmb3JtJywgJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCAoKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbiAoJ2lucHV0X3VzZXJuYW1lJywKCQkJICAgJG9uZXJvdy0+Y29udHJvbCA9JG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgJ2lucHV0X3VzZXJuYW1lJywgCgkJCQkJCQkJICAgICR2YWwsIDIwLCAKCQkJCQkJCQkgICAgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ21heF91c2VybmFtZWxlbmd0aCcpKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3VibWl0JywkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsCgkJCQkJCQkgICAgJG1vZHVsZS0+TGFuZygnc3VibWl0JykpKTsKICAgIGVjaG8gJG1vZHVsZS0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKTsKICB9CgoKCgogICAgJG1vZGUgPSAnc2lnbnVwJzsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snbW9kZSddICkgKQogICAgICB7CgkkbW9kZSA9ICRwYXJhbXNbJ21vZGUnXTsKICAgICAgfQoKICAgIHN3aXRjaCggJG1vZGUgKQogICAgICB7CiAgICAgIGNhc2UgJ3NpZ251cCc6CglfVXNlckRpc3BsYXlSZWdpc3RyYXRpb25Gb3JtMSggJHRoaXMsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CglicmVhazsKCiAgICAgIGNhc2UgJ3ZlcmlmeSc6CglfVXNlckRpc3BsYXlWZXJpZmljYXRpb25Gb3JtKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCWJyZWFrOwoKICAgICAgY2FzZSAnbG9zdGVtYWlsJzoKICAgICAgY2FzZSAnc2VuZGFub3RoZXJlbWFpbCc6CiAgICAgIGNhc2UgJ3NlbmRtb3JlbWFpbCc6CglfVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtKCAkdGhpcywgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCWJyZWFrOwoKICAgICAgZGVmYXVsdDoKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAnJywgJHJldHVybmlkLAoJCQkJICAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZG1vZGUnKSk7CglicmVhazsKICAgICAgfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.do_edituser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gLSBBIG1vZHVsZSB0byBhbGxvdyB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzCiMgV2l0aCBhIHdlYnNpdGUuCiMgVmVyc2lvbjogMS4xLjEgQ2FsZ3V5MTAwMAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmdsb2JhbCAkZ0NtczsKCmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFJlZ2lzdGVyaW5nIFVzZXJzJyApICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CiAgICByZXR1cm47CiAgfQoKICAgIGlmKCAhaXNzZXQoICRwYXJhbXNbJ3VzZXJfaWQnXSApICkKICAgICAgewoJJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKCXJldHVybjsKICAgICAgfQoKJGZldXNlcnMgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKaWYoICEkZmV1c2VycyApCiAgewogICAgLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKICAgIC8vIHRoaXMgc2hvdWxkbid0IGhhcHBlbiBvbmNlIHRoZSB1c2VyIGhhcyBzZWVuIHRoZSBmb3JtLgogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICcnLCAkcmV0dXJuaWQsCgkJCSAgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9ub2ZldXNlcnNtb2R1bGUnKSk7CiAgICByZXR1cm47CiAgfQoKJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CmlmKCAhJGNtc21haWxlciApCiAgewogICAgLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAnJywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwogICAgcmV0dXJuOwogIH0KCi8vIGNoZWNrIGZvciByZXF1aXJlZCBwYXJhbWV0ZXJzCmlmKCAhaXNzZXQoICRwYXJhbXNbJ2dyb3VwX2lkJ10gKSApCiAgewogICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwKCQkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpKTsKICAgIHJldHVybjsKICB9CgovLyBDaGVjayB0byBlbnN1cmUgYWxsIHJlcXVpcmVkIGZpZWxkcyBoYXZlIHNvbWUgY29udGVudAovLyBhbmQgdmFsaWRhdGUgZW1haWwgZmllbGRzCmZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKewogIGlmKCBwcmVnX21hdGNoKCAnL15oaWRkZW5fLycsICRrZXkgKSApCiAgICB7CiAgICAgICRwcm9wbmFtZSA9IHN1YnN0cigka2V5LHN0cmxlbignaGlkZGVuXycpKTsKICAgICAgaWYoICRwcm9wbmFtZSA9PSAncGFzc3dvcmQnIHx8ICRwcm9wbmFtZSA9PSAncmVwZWF0cGFzc3dvcmQnICkKCXsKCSAgY29udGludWU7Cgl9CiAgICAgICRhcnIgPSBzcGxpdCgiOyIsJHBhcmFtc1ska2V5XSk7CiAgICAgICRyZXF1aXJlZCA9ICRhcnJbM107CiAgICAgIGlmKCAkcmVxdWlyZWQgPT0gMiAmJiAKCSAgKCFpc3NldCgkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0pIHx8ICRwYXJhbXNbJ2lucHV0XycuJHByb3BuYW1lXSA9PSAnJyApICkKCXsKCSAgJHBhcmFtc1snZXJyb3InXSA9IDE7CgkgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9yZXF1aXJlZGZpZWxkJywkcHJvcG5hbWUpOwoJICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJfQoKICAgICAgaWYoICRhcnJbMV0gPT0gJzInICkKCXsKCSAgJHJlc3VsdCA9ICRmZXVzZXJzLT5Jc1ZhbGlkRW1haWxBZGRyZXNzKCRwYXJhbXNbJ2lucHV0XycuJHByb3BuYW1lXSk7CgkgIGlmKCAkcmVzdWx0WzBdID09IGZhbHNlICkKCSAgICB7CgkgICAgICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXN1bHRbMV07CgkgICAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICAgIH0KCX0KICAgIH0KfQoKLy8gZ2V0IHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQKJHVzZXJuYW1lID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfdXNlcm5hbWUnXSApICkKICB7CiAgICAkdXNlcm5hbWUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pOwogIH0KJHBhc3N3b3JkID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSApICkKICB7CiAgICAkcGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10pOwogIH0KJHJlcGVhdHBhc3N3b3JkID0gJyc7CmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSApICkKICB7CiAgICAkcmVwZWF0cGFzc3dvcmQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10pOwogIH0KCi8vIGNoZWNrIGlmIHRoZSB1c2VybmFtZSBpcyB2YWxpZCBvciB0YWtlbgppZiggJHVzZXJuYW1lID09ICcnICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9lbXB0eXVzZXJuYW1lJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KaWYoICEkZmV1c2Vycy0+SXNWYWxpZFVzZXJuYW1lKCAkdXNlcm5hbWUgKSApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHVzZXJuYW1lJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KJHVpZCA9ICR0aGlzLT5HZXRUZW1wVXNlcklEKCR1c2VybmFtZSk7CmlmKCAkdWlkICE9IGZhbHNlICYmICR1aWQgIT0gJHBhcmFtc1sndXNlcl9pZCddICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl91c2VybmFtZXRha2VuJyk7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgcmV0dXJuOwogIH0KCgovLyBjaGVjayBpZiB0aGUgcGFzc3dvcmRzIG1hdGNoIG9yIGlmIHRoZXkncmUgdmFsaWQKLy8gaWYgdGhleSdyZSBzZXQgYXRhbGwKaWYoICRwYXNzd29yZCAhPSAnJyApCiAgewogICAgaWYoICRwYXNzd29yZCAhPSAkcmVwZWF0cGFzc3dvcmQgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KICAgICRtaW5wd2xlbiA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtaW5fcGFzc3dvcmRsZW5ndGgnKTsKICAgICRtYXhwd2xlbiA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnKTsKICAgIGlmKCBzdHJsZW4oJHBhc3N3b3JkKSA8ICRtaW5wd2xlbiB8fCBzdHJsZW4oJHBhc3N3b3JkKSA+ICRtYXhwd2xlbiApCiAgICAgIHsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXNzd29yZCcsCgkJCQkJIGFycmF5KCRtaW5wd2xlbiwkbWF4cHdsZW4pKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KICB9CgoKLy8gZmluZCBhbiBlbWFpbCBmaWVsZC4uLiBzb21ldGhpbmcgdGhhdCdzIG5hbWUgaGFzIGVtYWlsIGluIGl0Ci8vIG9yIGlzIG9mIHR5cGUgMgokZW1haWxfZmllbGQgPSAnJzsKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwogICAgICAkYXJyID0gc3BsaXQoIjsiLCRwYXJhbXNbJGtleV0pOwoKICAgICAgaWYoIHByZWdfbWF0Y2goJy9lbWFpbC9pJywkYXJyWzBdKSB8fCAkYXJyWzFdID09IDIgKQoJewoJICAvLyBmb3VuZCBzb21ldGhpbmcgcmVzZW1ibGluZyBhbiBlbWFpbCBmaWVsZAoJICAkZW1haWxfZmllbGQgPSAnaW5wdXRfJy4kcHJvcG5hbWU7CgkgIGJyZWFrOwoJfQogICAgfQp9ICAgIAppZiggJGVtYWlsX2ZpZWxkID09ICcnICkKICB7CiAgICAkcGFyYW1zWydlcnJvciddID0gMTsKICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub2VtYWlsYWRkcmVzcycpOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyBmb3IgYW55IHR5cGUgNSBwcm9wZXJ0aWVzLCB3ZSBjaGFuZ2UgdGhlIAovLyBhcnJheSByZXN1bHQgaW50byBhbiBlbmNvZGVkIHN0cmluZwpmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbCApCnsKICBpZiggcHJlZ19tYXRjaCggJy9eaGlkZGVuXy8nLCAka2V5ICkgKQogICAgewogICAgICAkcHJvcG5hbWUgPSBzdWJzdHIoJGtleSxzdHJsZW4oJ2hpZGRlbl8nKSk7CiAgICAgICRhcnIgPSBzcGxpdCgiOyIsJHBhcmFtc1ska2V5XSk7CiAgICAgIGlmKCAkYXJyWzFdID09IDUgKQoJewoJICAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gPSBpbXBsb2RlKCcsJywkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0pOwoJfQogICAgfQp9CgovLyBnZW5lcmF0ZSBhIHVuaXF1ZSBjb2RlIHRoYXQgdGhlIHVzZXIgY2FuIGVudGVyIHRvIGRvdWJsZSBjb25maXJtCi8vIGhpcyBsb2dpbi4KJGNvZGUgPSAkZmV1c2Vycy0+R2VuZXJhdGVSYW5kb21QcmludGFibGVTdHJpbmcoKTsKCi8vIGhhdmUgdG8gYWRkIHRoZSByZWNvcmQgdG8gdGhlIGRhdGFiYXNlIHNvIHRoYXQgd2Uga25vdyB3aG8gdGhpcyBndXkgaXMKLy8gd2hlbiBoZSBjb21lcyBiYWNrCiRyZXR1cm4gPSAkdGhpcy0+RWRpdFRlbXBVc2VyKCAkcGFyYW1zWyd1c2VyX2lkJ10sICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkY29kZSApOwppZiggJHJldHVyblswXSA9PSBmYWxzZSApCiAgewogICAgJHBhcmFtc1snZXJyb3InXSA9IDE7CiAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmV0dXJuWzFdOwogICAgJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKICAgIHJldHVybjsKICB9CgovLyByZW1vdmUgYW55IGV4aXN0aW5nIHByb3BlcnRpZXMKJHRoaXMtPkRlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHBhcmFtc1sndXNlcl9pZCddICk7CgovLyBhbmQgYWRkIGhpcyBwcm9wZXJ0aWVzIHRvbwovLyBidXQgZmlyc3Qgd2UgcmVtb3ZlIHRoZSBvbmVzIHdlJ3ZlIGhhbmRsZWQgYWxyZWFkeQokdG1wdWlkID0gJHBhcmFtc1sndXNlcl9pZCddOwp1bnNldCgkcGFyYW1zWydpbnB1dF91c2VybmFtZSddICk7CnVuc2V0KCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKTsKdW5zZXQoJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fdXNlcm5hbWUnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fcGFzc3dvcmQnXSApOwp1bnNldCgkcGFyYW1zWydoaWRkZW5fcmVwZWF0cGFzc3dvcmQnXSApOwoKZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQp7CiAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKICAgIHsKICAgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwogICAgICBpZiggIWlzc2V0KCAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKSApIAoJewoJICBjb250aW51ZTsKCX0KICAgICAgJHJldHVybiA9ICR0aGlzLT5BZGRUZW1wVXNlclByb3BlcnR5KCAkdG1wdWlkLCAkcHJvcG5hbWUsIAoJCQkJCSAgICAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKTsKICAgICAgaWYoICRyZXR1cm5bMF0gPT0gZmFsc2UgKQoJewoJICAvLyBub3cgd2UgaGF2ZSBhbiBpc3N1ZSB0byBmaWd1cmUgb3V0CgkgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmV0dXJuWzFdOwoJICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICByZXR1cm47Cgl9CiAgICB9Cn0KCmlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfYWRqdXN0ZW1haWwnXSApICYmICRwYXJhbXNbJ2lucHV0X2FkanVzdGVtYWlsJ10gPT0gMSApCiAgewogICAgLy8gb2theSwgd2UncmUgbm93IHJlYWR5IHRvIHNlbmQgdGhlIGVtYWlsLCB5YWhvbywgeWFob28sIHlhaG9vCiAgICAvLyBub3cgd2UgaGF2ZSB0byBkZWNpZGUgd2hhdCBnb2VzIGluIGl0LgogICAgJGNtc21haWxlci0+QWRkQWRkcmVzcyggJHBhcmFtc1skZW1haWxfZmllbGRdICk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25hbWUnLCR1c2VybmFtZSk7CiAgICBpZiggJHBhc3N3b3JkICE9ICcnICkKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdwYXNzd29yZCcsJHBhc3N3b3JkKTsKICAgICAgfQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb2RlJywkY29kZSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NpdGVuYW1lJywgJGdDbXMtPmNvbmZpZ1sncm9vdF91cmwnXSk7CiAgICAkcGFybXMgPSBhcnJheSggJ21vZGUnID0+ICd2ZXJpZnknLAoJCSAgICAnaW5wdXRfdXNlcm5hbWUnID0+ICR1c2VybmFtZSwKCQkgICAgJ2lucHV0X2dyb3VwX2lkJyA9PiAkcGFyYW1zWydncm91cF9pZCddLAoJCSAgICAnaW5wdXRfY29kZScgPT4gJGNvZGUgKTsKICAgICR1cmwgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwnJywkcGFybXMsJycsdHJ1ZSx0cnVlKTsKICAgICRzbWFsbHVybCA9ICR0aGlzLT5DcmVhdGVMaW5rKCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAnJywgYXJyYXkoJ21vZGUnID0+ICd2ZXJpZnknKSwnJyx0cnVlLHRydWUgKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXJsJywkdXJsKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc21hbGx1cmwnLCRzbWFsbHVybCk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2xpbmsnLCR0aGlzLT5DcmVhdGVMaW5rKCRpZCwnZGVmYXVsdCcsJHJldHVybmlkLCR1cmwsJHBhcm1zLCcnLGZhbHNlLHRydWUpKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc21hbGxsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwKCQkJCQkJCSRzbWFsbHVybCxhcnJheSgnbW9kZSc9Pid2ZXJpZnknKSwnJyxmYWxzZSx0cnVlKSk7CiAgICAkaHRtbGJvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScpOwogICAgJHRleHRib2R5ID0gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlJyk7CiAgICAkY21zbWFpbGVyLT5TZXRCb2R5KCAkdGV4dGJvZHkgKTsKICAgIGlmKCAkaHRtbGJvZHkgIT0gJycgKQogICAgICB7CgkkY21zbWFpbGVyLT5Jc0hUTUwodHJ1ZSk7ICAvLyB3ZSdyZSBzZW5kaW5nIGFuIGh0bWwgbWFpbAoJJGNtc21haWxlci0+U2V0Qm9keSggJGh0bWxib2R5ICk7CgkkY21zbWFpbGVyLT5TZXRBbHRCb2R5KCAkdGV4dGJvZHkgKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkY21zbWFpbGVyLT5Jc0hUTUwoZmFsc2UpOyAgLy8gd2UncmUgc2VuZGluZyBhbiBodG1sIG1haWwKCSRjbXNtYWlsZXItPlNldEJvZHkoICR0ZXh0Ym9keSApOwogICAgICB9CiAgICAkY21zbWFpbGVyLT5TZXRTdWJqZWN0KCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF9zdWJqZWN0JywkdGhpcy0+TGFuZygncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJykpKTsKICAgICRjbXNtYWlsZXItPlNlbmQoKTsKCQogICAgLy8gd2UncmUgbm90IHJlZGlyZWN0aW5nIGFueXdoZXJlIHdlIG5lZWQgdG8gZGlzcGxheSBzb21lIG5pY2UgbWVzc2FnZQogICAgLy8gYWJvdXQgd2UganVzdCBzcGFtbWVkIHlvdXIgaW5ib3gsIGV0YywgZXRjLgogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsJHVzZXJuYW1lKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZW1haWwnLCAkcGFyYW1zWyRlbWFpbF9maWVsZF0gKTsKICAgIGVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19wb3N0cmVnMV90ZW1wbGF0ZScpOwogIH0KCiR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJ2FkbWludXNlcnMnKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.edittempuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gLSBBIG1vZHVsZSB0byBhbGxvdyB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzCiMgV2l0aCBhIHdlYnNpdGUuCiMgVmVyc2lvbjogMS4xLjEgQ2FsZ3V5MTAwMAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCmdsb2JhbCAkZ0NtczsKCmlmKCAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFJlZ2lzdGVyaW5nIFVzZXJzJyApICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CiAgICByZXR1cm47CiAgfQoKaWYoICFpc3NldCggJHBhcmFtc1sndXNlcl9pZCddICkgKQogIHsKICAgIC8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCiAgICAvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJykpOwogICAgcmV0dXJuOwogIH0KCiRmZXVzZXJzID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CmlmKCAhJGZldXNlcnMgKQogIHsKICAgIC8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCiAgICAvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwogICAgcmV0dXJuOwogIH0KCiRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwppZiggISRjbXNtYWlsZXIgKQogIHsKICAgIC8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCiAgICAvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwogICAgcmV0dXJuOwogIH0KCgokdWlkID0gJHBhcmFtc1sndXNlcl9pZCddOwokdXNlcmRldGFpbHMgPSAkdGhpcy0+R2V0VGVtcFVzZXJEZXRhaWxzKCAkdWlkICk7CmlmKCAhJHVzZXJkZXRhaWxzICkKICB7CiAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5vdGZvdW5kJykgKTsKICAgIHJldHVybjsKICB9CgovLyBnZXQgdGhlIGdyb3VwIHByb3BlcnR5IHJlbGF0aW9ucwokcmVsYXRpb25zID0gJGZldXNlcnMtPkdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICR1c2VyZGV0YWlsc1snZ3JvdXBfaWQnXSApOwppZiggJHJlbGF0aW9uc1swXSA9PSBmYWxzZSApCiAgewogICAgLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkgICAgICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9wcm9wcmVsYXRpb25zJykuJyAnLiRyZWxhdGlvbnNbMV0gKTsKICAgIHJldHVybjsKICB9CnVhc29ydCggJHJlbGF0aW9ucywgCglhcnJheSgnU2VsZnJlZ1V0aWxzJywnY29tcGFyZV9lbGVtZW50c19ieV9zb3J0b3JkZXJfa2V5JyApKTsKCi8vIGdldCB0aGUgdXNlcnMnIHByb3BlcnRpZXMKJHByb3BzID0gYXJyYXkoKTsKewogICR0X3Byb3BzID0gJHRoaXMtPkdldFRlbXBVc2VyUHJvcGVydGllcyggJHVpZCApOwogIGlmKCAhJHRfcHJvcHMgKQogICAgewogICAgICAvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQogICAgICAvLyBidXQgYXQgbGVhc3QgdGhlIGFkbWluIHdpbGwgYmUgYWJsZSB0byBmaWd1cmUgaXQgb3V0CiAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJJHRoaXMtPkxhbmcoJ2Vycm9yX25vcHJvcGVydGllcycpLicgJy4kcmVsYXRpb25zWzFdICk7CiAgICAgIHJldHVybjsKICAgIH0KCiAgLy8gYSBsaXR0bGUgcmUtc29ydGluZwogIGZvcmVhY2goICR0X3Byb3BzIGFzICRwcm9wICkKICAgIHsKICAgICAgJHByb3BzWyRwcm9wWyd0aXRsZSddXSA9ICRwcm9wOwogICAgfQp9CgovLyBoZXJlIHdlJ2xsIGRpc3BsYXkgYSBmb3JtIHRoYXQgaXMgc2ltaWxhciB0byB0aGUgcmVnaXN0cmF0aW9uIGZvcm0gaW4gCi8vIGV2ZXJ5IHdheSwKaWYoIGlzc2V0KCAkcGFyYW1zWydlcnJvciddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignZXJyb3InLCAkcGFyYW1zWydlcnJvciddKTsKICB9CmlmKCBpc3NldCggJHBhcmFtc1snbWVzc2FnZSddICkgKQogIHsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignbWVzc2FnZScsICRwYXJhbXNbJ21lc3NhZ2UnXSk7CiAgfQoKJHJvd2FycmF5ID0gYXJyYXkoKTsKCi8vIG1ha2Ugc3VyZSB1c2VybmFtZSBpcyBpbiB0aGVyZQokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5yZXF1aXJlZCA9IDE7CiR2YWwgPSAkdXNlcmRldGFpbHNbJ3VzZXJuYW1lJ107CiRvbmVyb3ctPmhpZGRlbiA9IFNlbGZyZWdVdGlsczo6bXlDcmVhdGVJbnB1dEhpZGRlbiggJGlkLCAnaGlkZGVuX3VzZXJuYW1lJywKCQkJCSAgICAgICBpbXBsb2RlKCI7IixhcnJheSgndXNlcm5hbWUnLDAsMzAsMikpKTsKJG9uZXJvdy0+cHJvbXB0ID0gJHRoaXMtPkxhbmcoJ3VzZXJuYW1lJyk7CiRvbmVyb3ctPmNvbnRyb2wgPSR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAnaW5wdXRfdXNlcm5hbWUnLCAkdmFsLCAKCQkJCQkgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3VzZXJuYW1lZmxkbGVuZ3RoJyksCgkJCQkJICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfdXNlcm5hbWVsZW5ndGgnKSk7CiRyb3dhcnJheVtdID0gJG9uZXJvdzsKCi8vIGFuZCBwYXNzd29yZAokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5leHRyYXRleHQgPSAkdGhpcy0+TGFuZygndHh0X2NoYW5nZXBhc3N3b3JkJyk7CiRvbmVyb3ctPnJlcXVpcmVkID0gMTsKJHZhbCA9ICcnOwokb25lcm93LT5oaWRkZW4gPSBTZWxmcmVnVXRpbHM6Om15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJ2hpZGRlbl9wYXNzd29yZCcsCgkJCQkgICAgICAgaW1wbG9kZSgiOyIsYXJyYXkoJ3Bhc3N3b3JkJywwLDMwLDIpKSk7CiRvbmVyb3ctPnByb21wdCA9ICR0aGlzLT5MYW5nKCdwYXNzd29yZCcpOwokb25lcm93LT5jb250cm9sID0kdGhpcy0+Q3JlYXRlSW5wdXRQYXNzd29yZCgkaWQsICdpbnB1dF9wYXNzd29yZCcsICR2YWwsIAoJCQkJCSAgICAgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJyksCgkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpOwokcm93YXJyYXlbXSA9ICRvbmVyb3c7CgovLyBhbmQgbWFrZSBoaW0gcmVwZWF0IHRoZSBwYXNzd29yZAokb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CiRvbmVyb3ctPmNvbG9yID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX2NvbG9yJywnYmx1ZScpOwokb25lcm93LT5tYXJrZXIgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfbWFya2VyJywnKicpOwokb25lcm93LT5yZXF1aXJlZCA9IDE7CiR2YWwgPSAnJzsKJG9uZXJvdy0+aGlkZGVuID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fcmVwZWF0cGFzc3dvcmQnLAoJCQkJICAgICAgIGltcGxvZGUoIjsiLGFycmF5KCdyZXBlYXRwYXNzd29yZCcsMCwzMCwyKSkpOwokb25lcm93LT5wcm9tcHQgPSAkdGhpcy0+TGFuZygncmVwZWF0cGFzc3dvcmQnKTsKJG9uZXJvdy0+Y29udHJvbCA9JHRoaXMtPkNyZWF0ZUlucHV0UGFzc3dvcmQoJGlkLCAnaW5wdXRfcmVwZWF0cGFzc3dvcmQnLCAkdmFsLAoJCQkJCSAgICAgJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3Bhc3N3b3JkZmxkbGVuZ3RoJyksCgkJCQkJICAgICAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgnbWF4X3Bhc3N3b3JkbGVuZ3RoJykpOwokcm93YXJyYXlbXSA9ICRvbmVyb3c7CgovLyBhbiBvcHRpb24gdG8gc2VuZCBhbm90aGVyIGNvbmZpcm1hdGlvbiBtZXNzYWdlCi8vIGJ1dCBhIGRpZmZlcmVudCBvbmUgZnJvbSB0aGUgbm9ybWFsCiRvbmVyb3cgPSBuZXcgU3RkQ2xhc3MoKTsKJG9uZXJvdy0+Y29sb3IgPSAkZmV1c2Vycy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZWRfZmllbGRfY29sb3InLCdibHVlJyk7CiRvbmVyb3ctPm1hcmtlciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9tYXJrZXInLCcqJyk7CiRvbmVyb3ctPnJlcXVpcmVkID0gMTsKJG9uZXJvdy0+cHJvbXB0ID0gJHRoaXMtPkxhbmcoJ3NlbmRfYWRqdXN0bWVudGVtYWlsJyk7CiRvbmVyb3ctPmV4dHJhdGV4dCA9ICR0aGlzLT5MYW5nKCd0eHRfYWRqdXN0bWVudGVtYWlsJyk7CiRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICdpbnB1dF9hZGp1c3RtZW50ZW1haWwnLCAxLCAxKTsKJHJvd2FycmF5W10gPSAkb25lcm93OwoKZm9yZWFjaCggJHJlbGF0aW9ucyBhcyAkcmVsbiApCnsKICAvLyBkb24ndCBwcm9jZXNzIGhpZGRlbiBmaWVsZHMgaGVyZQogIGlmKCAkcmVsblsncmVxdWlyZWQnXSA9PSAzICkgY29udGludWU7CgogIC8vIGdldCB0aGUgcHJvcGVydHkgZGVmaW5pdGlvbgogICRkZWZuID0gJGZldXNlcnMtPkdldFByb3BlcnR5RGVmbiggJHJlbG5bJ25hbWUnXSApOwoKICBpZiggJGRlZm5bJ3R5cGUnXSA9PSA2ICkKICAgIHsKICAgICAgLy8gaW1hZ2VzIGFyZSBpZ25vcmVkIHRvbwogICAgICBjb250aW51ZTsKICAgIH0KCiAgJG9uZXJvdyA9IG5ldyBTdGRDbGFzcygpOwoKICAkY29sb3IgPSAnJzsKICBpZiggJHJlbG5bJ3JlcXVpcmVkJ10gPT0gMiApICRjb2xvciA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdyZXF1aXJlZF9maWVsZF9jb2xvcicsJ2JsdWUnKTsKICAkbWFya2VyID0gJyc7CiAgaWYoICRyZWxuWydyZXF1aXJlZCddID09IDIgKSAkbWFya2VyID0gJGZldXNlcnMtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVkX2ZpZWxkX21hcmtlcicsJyonKTsKICAkb25lcm93LT5yZXF1aXJlZCA9ICgkcmVsblsncmVxdWlyZWQnXSA9PSAyKTsKICAkb25lcm93LT5jb2xvciAgICA9ICRjb2xvcjsKICAkb25lcm93LT5tYXJrZXIgICA9ICRtYXJrZXI7CiAgJG9uZXJvdy0+aGlkZGVuID0gU2VsZnJlZ1V0aWxzOjpteUNyZWF0ZUlucHV0SGlkZGVuKCAkaWQsICdoaWRkZW5fJy4kcmVsblsnbmFtZSddLAoJCQkJCSBpbXBsb2RlKCI7IixhcnJheSgkcmVsblsnbmFtZSddLCRkZWZuWyd0eXBlJ10sCgkJCQkJCQkgICAkZGVmblsnbGVuZ3RoJ10sJHJlbG5bJ3JlcXVpcmVkJ10pKSk7CgogICR2YWwgPSBpc3NldCgkcHJvcHNbJHJlbG5bJ25hbWUnXV1bJ2RhdGEnXSkgPyAkcHJvcHNbJHJlbG5bJ25hbWUnXV1bJ2RhdGEnXSA6ICcnOwogICRvbmVyb3ctPnByb21wdCA9ICRkZWZuWydwcm9tcHQnXTsKICAkb25lcm93LT5sYWJlbGZvciA9ICRpZC4kZGVmblsnbmFtZSddOwogIHN3aXRjaCggJGRlZm5bJ3R5cGUnXSApCiAgICB7CiAgICBjYXNlIDA6IC8vIHRleHQKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0XycuJHJlbG5bJ25hbWUnXSwKCQkJCQkJICR2YWwsICRkZWZuWydsZW5ndGgnXSwgJGRlZm5bJ21heGxlbmd0aCddICk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMTogLy8gY2hlY2tib3gKICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsICdpbnB1dF8nLiRyZWxuWyduYW1lJ10sIDEsICR2YWwgKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAyOiAvLyBlbWFpbAogICAgICAkb25lcm93LT5jb250cm9sID0gJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfJy4kcmVsblsnbmFtZSddLAoJCQkJCQkgJHZhbCwgJGRlZm5bJ2xlbmd0aCddLCAoJGRlZm5bJ21heGxlbmd0aCddKSApOwogICAgICBicmVhazsKCiAgICBjYXNlIDM6IC8vIHRleHRhcmVhCiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsICRpZCwgJHZhbCwgJ2lucHV0XycuJGRlZm5bJ25hbWUnXSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgNDogLy8gZHJvcGRvd24KICAgICAgJG9uZXJvdy0+Y29udHJvbCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgCgkJCQkJCSAgICAnaW5wdXRfJy4kZGVmblsnbmFtZSddLCAKCQkJCQkJICAgICRmZXVzZXJzLT5HZXRTZWxlY3RPcHRpb25zKCRkZWZuWyduYW1lJ10sIDEpLCAKCQkJCQkJICAgIC0xLCAKCQkJCQkJICAgICR2YWwpOwogICAgICBicmVhazsKCiAgICBjYXNlIDU6IC8vIG11bHRpc2VsZWN0CiAgICAgICRvbmVyb3ctPmNvbnRyb2wgPSAkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwKCQkJCQkJICAgICAgJ2lucHV0XycuJGRlZm5bJ25hbWUnXS4nW10nLAoJCQkJCQkgICAgICAkZmV1c2Vycy0+R2V0U2VsZWN0T3B0aW9ucygkZGVmblsnbmFtZSddLCAxKSwKCQkJCQkJICAgICAgYXJyYXkoKSwKCQkJCQkJICAgICAgJHZhbCk7CiAgICAgIGJyZWFrOwogICAgfQoKICAkcm93YXJyYXlbXSA9ICRvbmVyb3c7Cn0KCiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ3N0YXJ0Zm9ybScsCgkJICAgICAgICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ2RvX2VkaXR1c2VyJywgJHJldHVybmlkKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbiAoJ2VuZGZvcm0nLCAkdGhpcy0+Q3JlYXRlRm9ybUVuZCAoKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigndGl0bGUnLCR0aGlzLT5MYW5nKCdlZGl0dXNlcicpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdoaWRkZW4nLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICd1c2VyX2lkJywgJHVzZXJkZXRhaWxzWydpZCddICkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2hpZGRlbjInLAoJCSAgICAgICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICdncm91cF9pZCcsICR1c2VyZGV0YWlsc1snZ3JvdXBfaWQnXSApKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdjb250cm9scycsICRyb3dhcnJheSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY29udHJvbGNvdW50JywgY291bnQoJHJvd2FycmF5KSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignc3VibWl0JywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLAoJCQkJCQkJJHRoaXMtPkxhbmcoJ3N1Ym1pdCcpKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbignY2FuY2VsJywkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdjYW5jZWwnLAoJCQkJCQkJJHRoaXMtPkxhbmcoJ2NhbmNlbCcpKSk7CgplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2VkaXR1c2VyLnRwbCcpOwoKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.reguser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gLSBBIG1vZHVsZSB0byBhbGxvdyB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzCiMgV2l0aCBhIHdlYnNpdGUuCiMgVmVyc2lvbjogMS4xLjEgQ2FsZ3V5MTAwMAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICBnbG9iYWwgJGdDbXM7CgogICAgJGZldXNlcnMgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0Zyb250RW5kVXNlcnMnKTsKICAgIGlmKCAhJGZldXNlcnMgKQogICAgICB7CgkvLyB0aGlzIGlzIHVnbHkgZm9yIHRoZSB1c2VyIHRvIHNlZQoJLy8gYnV0IGF0IGxlYXN0IHRoZSBhZG1pbiB3aWxsIGJlIGFibGUgdG8gZmlndXJlIGl0IG91dAoJLy8gdGhpcyBzaG91bGRuJ3QgaGFwcGVuIG9uY2UgdGhlIHVzZXIgaGFzIHNlZW4gdGhlIGZvcm0uCgkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJycsICRyZXR1cm5pZCwKCQkJCSAgJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpKTsKCXJldHVybjsKICAgICAgfQoKICAgICRjbXNtYWlsZXIgPSAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NNU01haWxlcicpOwogICAgaWYoICEkY21zbWFpbGVyICkKICAgICAgewoJLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKCS8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAnJywgJHJldHVybmlkLAoJCQkJICAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJykpOwoJcmV0dXJuOwogICAgICB9CgoKICAgIC8vIGNoZWNrIGZvciByZXF1aXJlZCBwYXJhbWV0ZXJzCiAgICBpZiggIWlzc2V0KCAkcGFyYW1zWydncm91cF9pZCddICkgKQogICAgICB7CgkkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLAoJCQkJICAkdGhpcy0+TGFuZygnZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJykpOwoJcmV0dXJuOwogICAgICB9CgogICAgLy8gQ2hlY2sgdG8gZW5zdXJlIGFsbCByZXF1aXJlZCBmaWVsZHMgaGF2ZSBzb21lIGNvbnRlbnQKICAgIC8vIGFuZCB2YWxpZGF0ZSBlbWFpbCBmaWVsZHMKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKICAgIHsKICAgICAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKCXsKCSAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwoJICAkYXJyID0gc3BsaXQoIjsiLCRwYXJhbXNbJGtleV0pOwoJICAkcmVxdWlyZWQgPSAkYXJyWzNdOwoJICBpZiggJHJlcXVpcmVkID09IDIgJiYgCgkgICAgICAoIWlzc2V0KCRwYXJhbXNbJ2lucHV0XycuJHByb3BuYW1lXSkgfHwgJHBhcmFtc1snaW5wdXRfJy4kcHJvcG5hbWVdID09ICcnICkgKQoJICAgIHsKCSAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3JlcXVpcmVkZmllbGQnLCRwcm9wbmFtZSk7CgkgICAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICAgIH0KCgkgIGlmKCAkYXJyWzFdID09ICcyJyApCgkgICAgewoJICAgICAgJHJlc3VsdCA9ICRmZXVzZXJzLT5Jc1ZhbGlkRW1haWxBZGRyZXNzKCAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0pOwoJICAgICAgaWYoICRyZXN1bHRbMF0gPT0gZmFsc2UgKQoJCXsKCQkgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJCSAgJHBhcmFtc1snbWVzc2FnZSddID0gJHJlc3VsdFsxXTsKCQkgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CgkJfQoJICAgIH0KCX0KICAgIH0KCgogICAgLy8gZ2V0IHRoZSB1c2VybmFtZSBhbmQgcGFzc3dvcmQKICAgICR1c2VybmFtZSA9ICcnOwogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF91c2VybmFtZSddICkgKQogICAgICB7CgkkdXNlcm5hbWUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pOwogICAgICB9CiAgICAkcGFzc3dvcmQgPSAnJzsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSApICkKICAgICAgewoJJHBhc3N3b3JkID0gdHJpbSgkcGFyYW1zWydpbnB1dF9wYXNzd29yZCddKTsKICAgICAgfQogICAgJHJlcGVhdHBhc3N3b3JkID0gJyc7CiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gKSApCiAgICAgIHsKCSRyZXBlYXRwYXNzd29yZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcmVwZWF0cGFzc3dvcmQnXSk7CiAgICAgIH0KCiAgICAvLyBjaGVjayBpZiB0aGUgdXNlcm5hbWUgaXMgdmFsaWQgb3IgdGFrZW4KICAgIGlmKCAkdXNlcm5hbWUgPT0gJycgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9lbXB0eXVzZXJuYW1lJyk7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgICB9CgogICAgaWYoICEkZmV1c2Vycy0+SXNWYWxpZFVzZXJuYW1lKCAkdXNlcm5hbWUgKSApCiAgICAgIHsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWR1c2VybmFtZScpOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCXJldHVybjsKICAgICAgfQoKICAgICR1aWQgPSAkdGhpcy0+R2V0VGVtcFVzZXJJRCgkdXNlcm5hbWUpOwogICAgaWYoICR1aWQgIT0gZmFsc2UgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl91c2VybmFtZXRha2VuJyk7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgICB9CiAgICBpZiggJGZldXNlcnMtPkdldFVzZXJJRCgkdXNlcm5hbWUpICkKICAgICAgewoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5hbWV0YWtlbicpOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCXJldHVybjsKICAgICAgfQoKICAgIC8vIGNoZWNrIGlmIHRoZSBwYXNzd29yZHMgbWF0Y2ggb3IgaWYgdGhleSdyZSB2YWxpZAogICAgaWYoICRwYXNzd29yZCAhPSAkcmVwZWF0cGFzc3dvcmQgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KICAgICRtaW5wd2xlbiA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtaW5fcGFzc3dvcmRsZW5ndGgnKTsKICAgICRtYXhwd2xlbiA9ICRmZXVzZXJzLT5HZXRQcmVmZXJlbmNlKCdtYXhfcGFzc3dvcmRsZW5ndGgnKTsKICAgIGlmKCBzdHJsZW4oJHBhc3N3b3JkKSA8ICRtaW5wd2xlbiB8fCBzdHJsZW4oJHBhc3N3b3JkKSA+ICRtYXhwd2xlbiApCiAgICAgIHsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRwYXNzd29yZCcsCgkJCQkJIGFycmF5KCRtaW5wd2xlbiwkbWF4cHdsZW4pKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KCiAgICAvLyBmaW5kIGFuIGVtYWlsIGZpZWxkLi4uIHNvbWV0aGluZyB0aGF0J3MgbmFtZSBoYXMgZW1haWwgaW4gaXQKICAgIC8vIG9yIGlzIG9mIHR5cGUgMgogICAgJGVtYWlsX2ZpZWxkID0gJyc7CiAgICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbCApCiAgICB7CiAgICAgIGlmKCBwcmVnX21hdGNoKCAnL15oaWRkZW5fLycsICRrZXkgKSApCgl7CgkgICRwcm9wbmFtZSA9IHN1YnN0cigka2V5LHN0cmxlbignaGlkZGVuXycpKTsKCSAgJGFyciA9IHNwbGl0KCI7IiwkcGFyYW1zWyRrZXldKTsKCgkgIGlmKCBwcmVnX21hdGNoKCcvZW1haWwvaScsJGFyclswXSkgfHwgJGFyclsxXSA9PSAyICkKCSAgICB7CgkgICAgICAvLyBmb3VuZCBzb21ldGhpbmcgcmVzZW1ibGluZyBhbiBlbWFpbCBmaWVsZAoJICAgICAgJGVtYWlsX2ZpZWxkID0gJ2lucHV0XycuJHByb3BuYW1lOwoJICAgICAgYnJlYWs7CgkgICAgfQoJfQogICAgfSAgICAKICAgIGlmKCAkZW1haWxfZmllbGQgPT0gJycgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub2VtYWlsYWRkcmVzcycpOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJhbXMgKTsKCXJldHVybjsKICAgICAgfQoKICAgIC8vIGZvciBhbnkgdHlwZSA1IHByb3BlcnRpZXMsIHdlIGNoYW5nZSB0aGUgCiAgICAvLyBhcnJheSByZXN1bHQgaW50byBhbiBlbmNvZGVkIHN0cmluZwogICAgZm9yZWFjaCggJHBhcmFtcyBhcyAka2V5ID0+ICR2YWwgKQogICAgICB7CglpZiggcHJlZ19tYXRjaCggJy9eaGlkZGVuXy8nLCAka2V5ICkgKQoJICB7CgkgICAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwoJICAgICRhcnIgPSBzcGxpdCgiOyIsJHBhcmFtc1ska2V5XSk7CgkgICAgaWYoICRhcnJbMV0gPT0gNSApCgkgICAgICB7CgkJJHBhcmFtc1snaW5wdXRfJy4kcHJvcG5hbWVdID0gaW1wbG9kZSgnLCcsJHBhcmFtc1snaW5wdXRfJy4kcHJvcG5hbWVdKTsKCSAgICAgIH0KCSAgfQogICAgICB9CgoKICAgIGlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19mb3JjZV9lbWFpbF90d2ljZScpICkKICAgICAgewoJaWYoICFpc3NldCgkcGFyYW1zWyRlbWFpbF9maWVsZC4nX2FnYWluJ10gKSApCgkgIHsKCSAgICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9zZWNvbmRlbWFpbGFkZHJlc3MnKTsKCSAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJICAgIHJldHVybjsKCSAgfQoKCWlmKCAkcGFyYW1zWyRlbWFpbF9maWVsZF0gIT0gJHBhcmFtc1skZW1haWxfZmllbGQuJ19hZ2FpbiddICkKCSAgewoJICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAgICRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCcpOwoJICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CgkgICAgcmV0dXJuOwoJICB9CiAgICAgIH0KCiAgIAokY2FwdGNoYSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoJ0NhcHRjaGEnKTsKaWYoIGlzX29iamVjdCgkY2FwdGNoYSkgJiYgIWlzc2V0KCRwYXJhbXNbJ25vY2FwdGNoYSddKSApCiAgewogICAgaWYgKCEgJGNhcHRjaGEtPkNoZWNrQ2FwdGNoYSgkcGFyYW1zWydpbnB1dF9jYXB0Y2hhJ10pKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9jYXB0Y2hhbWlzbWF0Y2gnKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KICB9CgovLyBnZW5lcmF0ZSBhIHVuaXF1ZSBjb2RlIHRoYXQgdGhlIHVzZXIgY2FuIGVudGVyIHRvIGRvdWJsZSBjb25maXJtCi8vIGhpcyBsb2dpbi4KJGNvZGUgPSAkZmV1c2Vycy0+R2VuZXJhdGVSYW5kb21QcmludGFibGVTdHJpbmcoKTsKCiAgICAvLyBoYXZlIHRvIGFkZCB0aGUgcmVjb3JkIHRvIHRoZSBkYXRhYmFzZSBzbyB0aGF0IHdlIGtub3cgd2hvIHRoaXMgZ3V5IGlzCiAgICAvLyB3aGVuIGhlIGNvbWVzIGJhY2sKICAgICRyZXR1cm4gPSAkdGhpcy0+Q3JlYXRlVGVtcFVzZXIoICRwYXJhbXNbJ2dyb3VwX2lkJ10sICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkY29kZSApOwogICAgaWYoICRyZXR1cm5bMF0gPT0gZmFsc2UgKQogICAgICB7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXR1cm5bMV07CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwoJcmV0dXJuOwogICAgICB9CgogICAgLy8gYW5kIGFkZCBoaXMgcHJvcGVydGllcyB0b28KICAgIC8vIGJ1dCBmaXJzdCB3ZSByZW1vdmUgdGhlIG9uZXMgd2UndmUgaGFuZGxlZCBhbHJlYWR5CiAgICAkdG1wdWlkID0gJHJldHVyblsxXTsKICAgIHVuc2V0KCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gKTsKICAgIHVuc2V0KCRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKTsKICAgIHVuc2V0KCRwYXJhbXNbJ2lucHV0X3JlcGVhdHBhc3N3b3JkJ10gKTsKICAgIHVuc2V0KCRwYXJhbXNbJ2hpZGRlbl91c2VybmFtZSddICk7CiAgICB1bnNldCgkcGFyYW1zWydoaWRkZW5fcGFzc3dvcmQnXSApOwogICAgdW5zZXQoJHBhcmFtc1snaGlkZGVuX3JlcGVhdHBhc3N3b3JkJ10gKTsKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsICkKICAgIHsKICAgICAgaWYoIHByZWdfbWF0Y2goICcvXmhpZGRlbl8vJywgJGtleSApICkKCXsKCSAgJHByb3BuYW1lID0gc3Vic3RyKCRrZXksc3RybGVuKCdoaWRkZW5fJykpOwoJICBpZiggIWlzc2V0KCAkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKSApIAoJICAgIHsKCSAgICAgIGNvbnRpbnVlOwoJICAgIH0KCSAgJHJldHVybiA9ICR0aGlzLT5BZGRUZW1wVXNlclByb3BlcnR5KCAkdG1wdWlkLCAkcHJvcG5hbWUsIAoJCQkJCQkkcGFyYW1zWydpbnB1dF8nLiRwcm9wbmFtZV0gKTsKCSAgaWYoICRyZXR1cm5bMF0gPT0gZmFsc2UgKQoJICAgIHsKCSAgICAgIC8vIG5vdyB3ZSBoYXZlIGFuIGlzc3VlIHRvIGZpZ3VyZSBvdXQKCSAgICAgICRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJICAgICAgJHBhcmFtc1snbWVzc2FnZSddID0gJHJldHVyblsxXTsKCSAgICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CgkgICAgICByZXR1cm47CgkgICAgfQoJfQogICAgfQoKICAgIGlmKCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nLDEpICkKICAgICAgewoJLy8gb2theSwgd2UncmUgbm93IHJlYWR5IHRvIHNlbmQgdGhlIGVtYWlsLCB5YWhvbywgeWFob28sIHlhaG9vCgkvLyBub3cgd2UgaGF2ZSB0byBkZWNpZGUgd2hhdCBnb2VzIGluIGl0LgoJJHRoaXMtPl9TZW5kVXNlckNvbmZpcm1hdGlvbkVtYWlsKCRpZCwkcmV0dXJuaWQsJHBhcmFtc1skZW1haWxfZmllbGRdLAoJCQkJCSAgJHVzZXJuYW1lLCAkcGFyYW1zWydncm91cF9pZCddLCAkY29kZSApOwoJCgkvLyBzZW5kIGFuIGV2ZW50CgkkdGhpcy0+U2VuZEV2ZW50KCdvbk5ld1VzZXInLAoJCQkgYXJyYXkoJ3VzZXJuYW1lJz0+JHVzZXJuYW1lLAoJCQkgICAgICAgJ2VtYWlsJz0+JHBhcmFtc1skZW1haWxfZmllbGRdKSk7CgoJLy8gd2UncmUgbm90IHJlZGlyZWN0aW5nIGFueXdoZXJlIHdlIG5lZWQgdG8gZGlzcGxheSBzb21lIG5pY2UgbWVzc2FnZQoJLy8gYWJvdXQgd2UganVzdCBzcGFtbWVkIHlvdXIgaW5ib3gsIGV0YywgZXRjLgoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzaXRlbmFtZScsICRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ10pOwoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsJHVzZXJuYW1lKTsKCSR0aGlzLT5zbWFydHktPmFzc2lnbignZW1haWwnLCAkYWRkcmVzcyApOwoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX3Bvc3RyZWcxX3RlbXBsYXRlJyk7CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJLy8gaXQgYXBwZWFycyB3ZSdyZSBhbGxvd2luZyBpbnN0YW50IHJlZ2lzdHJhdGlvbgoJJHJlc3VsdCA9ICR0aGlzLT5fQ3JlYXRlRnJvbnRlbmRVc2VyKCAkdG1wdWlkLCAkcGFyYW1zWydncm91cF9pZCddLAoJCQkJICAgJHVzZXJuYW1lLCAkcGFzc3dvcmQgKTsKCQoJaWYoICRyZXN1bHQgIT0gMCApCgkgIHsKCSAgICAkcGFyYW1zWydlcnJvciddID0gMTsKCSAgICAkcGFyYW1zWydtZXNzYWdlJ10gPSAkcmVzdWx0OwoJICAgICR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CgkgIH0KCgkvLyBzZW5kIGFuIGV2ZW50CgkkdGhpcy0+U2VuZEV2ZW50KCdvbk5ld1VzZXInLAoJCQkgYXJyYXkoJ3VzZXJuYW1lJz0+JHVzZXJuYW1lLAoJCQkgICAgICAgJ2VtYWlsJz0+JHBhcmFtc1skZW1haWxfZmllbGRdKSk7CgoJLy8gd29vaG9vbywgdGhlIHVzZXIgYmUgY3JlYXRlZCAoaG9wZWZ1bGx5KS4KCS8vIGRlbGV0ZSB0aGUgcmVjb3JkcyBmcm9tIHRoZSBTZWxmUmVnIHRhYmxlcwoJJHRoaXMtPkRlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHRtcHVpZCApOwoJJHRoaXMtPkRlbGV0ZVRlbXBVc2VyKCAkdG1wdWlkICk7CiAgICAgIH0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.verifyuser.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gLSBBIG1vZHVsZSB0byBhbGxvdyB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzCiMgV2l0aCBhIHdlYnNpdGUuCiMgVmVyc2lvbjogMS4xLjEgQ2FsZ3V5MTAwMAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgICBnbG9iYWwgJGdDbXM7CgoKICAgIC8vIG5vdyBhbGwgd2UgaGF2ZSB0byBkbyBpcyBnZXQgdGhlIHVzZXJuYW1lLCBjb2RlLCBhbmQgcGFzc3dvcmQKICAgIC8vIGFuZCBtYWtlIHN1cmUgaXQgYWxsIG1hdGNoZXMKICAgIGlmKCAhaXNzZXQoICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gKSApCiAgICAgIHsKCSRwYXJhbXNbJ21vZGUnXSA9ICd2ZXJpZnknOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3Npbmd1c2VybmFtZScpOwoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgICB9CiAgICAkdXNlcm5hbWUgPSB0cmltKCRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10pOwogICAgaWYoICFpc3NldCggJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSApICkKICAgICAgewoJJHBhcmFtc1snbW9kZSddID0gJ3ZlcmlmeSc7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfbWlzc2luZ3Bhc3N3b3JkJyk7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgICAgIH0KICAgICRwYXNzd29yZCA9IHRyaW0oJHBhcmFtc1snaW5wdXRfcGFzc3dvcmQnXSk7CiAgICBpZiggIWlzc2V0KCAkcGFyYW1zWydpbnB1dF9jb2RlJ10gKSApCiAgICAgIHsKCSRwYXJhbXNbJ21vZGUnXSA9ICd2ZXJpZnknOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3Npbmdjb2RlJyk7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgICAgIH0KICAgICRjb2RlID0gdHJpbSgkcGFyYW1zWydpbnB1dF9jb2RlJ10pOwoKICAgIC8vIG5vdyBnZXQgdGhlIGRldGFpbHMgb3V0IG9mIHRoZSBkYXRhYmFzZSBmb3IgdGhzIHVzZXIKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMKICAgICAgICAgIFdIRVJFIHVzZXJuYW1lID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVzZXJuYW1lICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJJHBhcmFtc1snbW9kZSddID0gJ3ZlcmlmeSc7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfZGJlcnJvcicpOwoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgICB9CiAgICBpZiggJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpICE9IDEgKQogICAgICB7CgkkcGFyYW1zWydtb2RlJ10gPSAndmVyaWZ5JzsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl91c2Vybm90Zm91bmQnKTsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJCSAgICAgICR0aGlzLT5MYW5nKCdlcnJvcl91c2Vybm90Zm91bmQnKS4iOiAiLiR1c2VybmFtZSk7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcmFtcyApOwogICAgICB9CiAgICAKICAgICR0bXB1c2VyID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgaWYoIG1kNSgkcGFzc3dvcmQpICE9ICR0bXB1c2VyWydwYXNzc3dvcmQnXSApCiAgICAgIHsKCSRwYXJhbXNbJ21vZGUnXSA9ICd2ZXJpZnknOwoJJHBhcmFtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCcpOwoJJHBhcmFtc1snZXJyb3InXSA9IDE7CgkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCdmcmllbmRseW5hbWUnKSwgCgkJICAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCcpLiI6ICIuJHVzZXJuYW1lKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KICAgIGlmKCAkY29kZSAhPSAkdG1wdXNlclsnY29kZSddICkKICAgICAgewoJJHBhcmFtc1snbW9kZSddID0gJ3ZlcmlmeSc7CgkkcGFyYW1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfY29kZXNkb250bWF0Y2gnKTsKCSRwYXJhbXNbJ2Vycm9yJ10gPSAxOwoJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyksIAoJCSAgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9jb2Rlc2RvbnRtYXRjaCcpLiI6ICIuJHVzZXJuYW1lKTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CiAgICAgIH0KICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZ3JvdXBfaWQnXSApICYmICRwYXJhbXNbJ2lucHV0X2dyb3VwX2lkJ10gIT0gJycgKQogICAgICB7CgkkZ3JvdXBfaWQgPSB0cmltKCRwYXJhbXNbJ2lucHV0X2dyb3VwX2lkJ10pOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRncm91cF9pZCA9ICR0bXB1c2VyWydncm91cF9pZCddOwogICAgICB9CgogICAgJHJlc3VsdCA9ICR0aGlzLT5fQ3JlYXRlRnJvbnRlbmRVc2VyKCAkdG1wdXNlclsnaWQnXSwgJGdyb3VwX2lkLAoJCQkJCSAgJHVzZXJuYW1lLCAkcGFzc3dvcmQgKTsKICAgIGlmKCAkcmVzdWx0ICE9IDAgKQogICAgICB7CgkkcGFyYW1zWydtb2RlJ10gPSAndmVyaWZ5JzsKCSRwYXJhbXNbJ21lc3NhZ2UnXSA9ICRyZXN1bHQ7CgkkcGFyYW1zWydlcnJvciddID0gMTsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFyYW1zICk7CglyZXR1cm47CiAgICAgIH0KCiAgICAvLyB3b29ob29vLCB0aGUgdXNlciBiZSBjcmVhdGVkIChob3BlZnVsbHkpLgogICAgLy8gZGVsZXRlIHRoZSByZWNvcmRzIGZyb20gdGhlIFNlbGZSZWcgdGFibGVzCiAgICAkdGhpcy0+RGVsZXRlVGVtcFVzZXJQcm9wZXJ0aWVzKCAkdG1wdXNlclsnaWQnXSApOwogICAgJHRoaXMtPkRlbGV0ZVRlbXBVc2VyKCAkdG1wdXNlclsnaWQnXSApOwoKdW5zZXQoJHBhcmFtc1snbW9kZSddKTsKdW5zZXQoJHBhcmFtc1snYWN0aW9uJ10pOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/functions.adminpanel.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gLSBBIG1vZHVsZSB0byBhbGxvdyB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzCiMgV2l0aCBhIHdlYnNpdGUuCiMgVmVyc2lvbjogMS4xLjEgQ2FsZ3V5MTAwMAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgX0Rpc3BsYXlBZG1pblBhbmVsKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCApCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX0Rpc3BsYXlBZG1pblBhbmVsKCYkbW9kdWxlLCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgICRhY3RpdmVfdGFiID0gLTE7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkKICAgICAgewoJJGFjdGl2ZV90YWIgPSAkcGFyYW1zWydhY3RpdmVfdGFiJ107CiAgICAgIH0KCiAgICAvLyB0aGUgdGFicwogICAgZWNobyAkbW9kdWxlLT5TdGFydFRhYkhlYWRlcnMoKTsKCiAgICBpZiggJG1vZHVsZS0+Q2hlY2tQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnICkgKQogICAgICB7CgllY2hvICRtb2R1bGUtPlNldFRhYkhlYWRlcignYWRtaW51c2VycycsJG1vZHVsZS0+TGFuZygndXNlcnMnKSwKCQkJCSAoJGFjdGl2ZV90YWIgPT0gJ2FkbWludXNlcnMnKSk7CiAgICAgIH0KCQkJICAgICAgIAogICAgaWYoICRtb2R1bGUtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycgKSApCiAgICAgIHsKCWVjaG8gJG1vZHVsZS0+U2V0VGFiSGVhZGVyKCdyZWcxdGVtcGxhdGUnLCAkbW9kdWxlLT5MYW5nKCdyZWdpc3RyYXRpb24xX3RlbXBsYXRlJyksIAoJCQkJICgkYWN0aXZlX3RhYiA9PSAncmVnMXRlbXBsYXRlJykpOwoJZWNobyAkbW9kdWxlLT5TZXRUYWJIZWFkZXIoJ3JlZzJ0ZW1wbGF0ZScsICRtb2R1bGUtPkxhbmcoJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnKSwgCgkJCQkgKCRhY3RpdmVfdGFiID09ICdyZWcydGVtcGxhdGUnKSk7CgllY2hvICRtb2R1bGUtPlNldFRhYkhlYWRlcignZW1haWxjb25maXJtX3RlbXBsYXRlJywgJG1vZHVsZS0+TGFuZygnZW1haWxjb25maXJtX3RlbXBsYXRlJyksIAoJCQkJICgkYWN0aXZlX3RhYiA9PSAnZW1haWxjb25maXJtX3RlbXBsYXRlJykpOwoJZWNobyAkbW9kdWxlLT5TZXRUYWJIZWFkZXIoJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScsICRtb2R1bGUtPkxhbmcoJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScpLCAKCQkJCSAoJGFjdGl2ZV90YWIgPT0gJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScpKTsKCWVjaG8gJG1vZHVsZS0+U2V0VGFiSGVhZGVyKCdmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnLCAKCQkJCSAkbW9kdWxlLT5MYW5nKCdmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnKSwKCQkJCSAoJGFjdGl2ZV90YWIgPT0gJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScpKTsKICAgICAgICBlY2hvICRtb2R1bGUtPlNldFRhYkhlYWRlcignc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkbW9kdWxlLT5MYW5nKCdzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyksCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgkYWN0aXZlX3RhYiA9PSAnc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScpKTsKICAgICAgfQoKICAgIGlmKCAkbW9kdWxlLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykgKQogICAgICB7CgllY2hvICRtb2R1bGUtPlNldFRhYkhlYWRlcigncHJlZmVyZW5jZXMnLCAkbW9kdWxlLT5MYW5nKCdwcmVmZXJlbmNlcycpLAoJCQkJICgkYWN0aXZlX3RhYiA9PSAncHJlZmVyZW5jZXMnKSk7CiAgICAgIH0KICAgIGVjaG8gJG1vZHVsZS0+RW5kVGFiSGVhZGVycygpOwoKICAgIC8vIHRoZSBjb250ZW50IG9mIHRoZSB0YWJzCiAgICBlY2hvICRtb2R1bGUtPlN0YXJ0VGFiQ29udGVudCgpOwoKICAgIGlmKCAkbW9kdWxlLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycgKSApCiAgICAgIHsKCWVjaG8gJG1vZHVsZS0+U3RhcnRUYWIoJ2FkbWludXNlcnMnKTsKCV9EaXNwbGF5QWRtaW5Vc2Vyc1RhYiggJG1vZHVsZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCWVjaG8gJG1vZHVsZS0+RW5kVGFiKCk7CiAgICAgIH0KCiAgICBpZiggJG1vZHVsZS0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgVGVtcGxhdGVzJyApICkKICAgICAgewoJZWNobyAkbW9kdWxlLT5TdGFydFRhYigncmVnMXRlbXBsYXRlJyk7CglfRGlzcGxheUFkbWluUmVnMVRlbXBsYXRlVGFiKCAkbW9kdWxlLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJZWNobyAkbW9kdWxlLT5FbmRUYWIoKTsKCQoJZWNobyAkbW9kdWxlLT5TdGFydFRhYigncmVnMnRlbXBsYXRlJyk7CglfRGlzcGxheUFkbWluUmVnMlRlbXBsYXRlVGFiKCAkbW9kdWxlLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJZWNobyAkbW9kdWxlLT5FbmRUYWIoKTsKCQoJZWNobyAkbW9kdWxlLT5TdGFydFRhYignZW1haWxjb25maXJtX3RlbXBsYXRlJyk7CglfRGlzcGxheUFkbWluRW1haWxDb25maXJtYXRpb25UZW1wbGF0ZVRhYiggJG1vZHVsZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCWVjaG8gJG1vZHVsZS0+RW5kVGFiKCk7CgkKCWVjaG8gJG1vZHVsZS0+U3RhcnRUYWIoJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScpOwoJX0Rpc3BsYXlBZG1pbkVtYWlsVXNlckVkaXRlZFRlbXBsYXRlVGFiKCAkbW9kdWxlLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJZWNobyAkbW9kdWxlLT5FbmRUYWIoKTsKCQoJZWNobyAkbW9kdWxlLT5TdGFydFRhYignZmluYWxtZXNzYWdlX3RlbXBsYXRlJyk7CglfRGlzcGxheUFkbWluRmluYWxNZXNzYWdlVGVtcGxhdGVUYWIoICRtb2R1bGUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgllY2hvICRtb2R1bGUtPkVuZFRhYigpOwoKCWVjaG8gJG1vZHVsZS0+U3RhcnRUYWIoJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKTsKCV9EaXNwbGF5QWRtaW5TZW5kQW5vdGhlckVtYWlsVGVtcGxhdGVUYWIoICRtb2R1bGUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgllY2hvICRtb2R1bGUtPkVuZFRhYigpOwogICAgICB9CgogICAgaWYoICRtb2R1bGUtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKSApCiAgICAgIHsKCWVjaG8gJG1vZHVsZS0+U3RhcnRUYWIoJ3ByZWZlcmVuY2VzJyk7CglfRGlzcGxheUFkbWluUHJlZmVyZW5jZXNUYWIoICRtb2R1bGUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgllY2hvICRtb2R1bGUtPkVuZFRhYigpOwogICAgICB9CgogICAgZWNobyAkbW9kdWxlLT5FbmRUYWJDb250ZW50KCk7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfRGlzcGxheUFkbWluUHJlZmVyZW5jZXNUYWIoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkICkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pblByZWZlcmVuY2VzVGFiKCAmJG1vZHVsZSwgJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywKCQkJICAkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQoICRpZCwgJ3NldHByZWZzJywgJHJldHVybmlkICkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQoKSk7CgogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9pbmxpbmUnLAoJCQkgICAgJG1vZHVsZS0+TGFuZygndXNlX2lubGluZV9mb3JtcycpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9pbmxpbmUnLAoJCQkgICAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsJ2lucHV0X2lubGluZScsMSwKCQkJCQkJCSAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdpbmxpbmVfZm9ybXMnLDEpKSkKOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9ub3RpZnknLAoJCQkgICRtb2R1bGUtPkxhbmcoJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfbm90aWZ5JywKCQkJICAkbW9kdWxlLT5DcmVhdGVJbnB1dENoZWNrYm94KCAkaWQsIAoJCQkJCQkgICAgICAnaW5wdXRfbm90aWZ5JywgMSwKCQkJCQkJICAgICAgJG1vZHVsZS0+R2V0UHJlZmVyZW5jZSgnbm90aWZ5X29uX3JlZ2lzdHJhdGlvbicpKSk7CgogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9lbWFpbF9jb25maXJtYXRpb24nLAoJCQkgICRtb2R1bGUtPkxhbmcoJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X2VtYWlsX2NvbmZpcm1hdGlvbicsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRDaGVja2JveCggJGlkLCAKCQkJCQkJICAgICAgJ2lucHV0X2VtYWlsX2NvbmZpcm1hdGlvbicsIDEsCgkJCQkJCSAgICAgICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJykpKTsKCiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbigncHJvbXB0X2NvbmZpcm1tYWlsX3RvJywKCQkJICAkbW9kdWxlLT5MYW5nKCdzZW5kX2VtYWlsc190bycpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9jb25maXJtbWFpbF90bycsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRUZXh0KCAkaWQsIAoJCQkJCQkgICdpbnB1dF9jb25maXJtbWFpbF90bycsIAoJCQkJCQkgICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ3NlbmRfZW1haWxzX3RvJyksCgkJCQkJCSAgMzAsIDYwKSk7CgogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3N1Ym1pdCcsJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXQnLAoJCQkJCQkJICAgICRtb2R1bGUtPkxhbmcoJ3N1Ym1pdCcpLCAnJywgJycsCgkJCQkJCQkgICAgJG1vZHVsZS0+TGFuZygnY29uZmlybV9zdWJtaXRwcmVmcycpKSk7CgogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9mb3JjZV9lbWFpbF90d2ljZScsCgkJCSAgJG1vZHVsZS0+TGFuZygnZm9yY2VfZW1haWxfdHdpY2UnKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfZm9yY2VfZW1haWxfdHdpY2UnLAoJCQkgICRtb2R1bGUtPkNyZWF0ZUlucHV0Q2hlY2tib3goICRpZCwgCgkJCQkJCSAgICAgICdpbnB1dF9mb3JjZV9lbWFpbF90d2ljZScsIDEsCgkJCQkJCSAgICAgICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ3NlbGZyZWdfZm9yY2VfZW1haWxfdHdpY2UnKSkpOwogICAgCiAgICAkbnVtID0gJG1vZHVsZS0+Q291bnRUZW1wVXNlcnMoKTsKICAgIGlmKCAkbnVtICkKICAgICAgewoJJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ3Byb21wdF9udW1yZXNldHJlY29yZHMnLAoJCQkgICAgICAkbW9kdWxlLT5MYW5nKCdwcm9tcHRfbnVtcmVzZXRyZWNvcmQnKSk7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignZGF0YV9udW1yZXNldHJlY29yZHMnLCAkbnVtKTsgLy90b2RvCgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfcmVtb3ZlYWxsJywKCQkJICAgICAgJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdpbnB1dF9yZW1vdmVhbGwnLAoJCQkJCQkgICAgICAgJG1vZHVsZS0+TGFuZygncmVtb3ZlYWxsJyksCgkJCQkJCSAgICAgICAnb25jbGljaz0icmV0dXJuIGNvbmZpcm0oXCcnLiRtb2R1bGUtPkxhbmcoJ2FyZXlvdXN1cmUnKS4nXCcpIicpKTsKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZW1vdmUxd2VlaycsCgkJCSAgICAgICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnaW5wdXRfcmVtb3ZlMXdlZWsnLAoJCQkJCQkgICAgICAgJG1vZHVsZS0+TGFuZygncmVtb3ZlMXdlZWsnKSwKCQkJCQkJICAgICAgICdvbmNsaWNrPSJyZXR1cm4gY29uZmlybShcJycuJG1vZHVsZS0+TGFuZygnYXJleW91c3VyZScpLidcJykiJykpOwogICAgICAKCSRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdpbnB1dF9yZW1vdmUxbW9udGgnLAoJCQkgICAgICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2lucHV0X3JlbW92ZTFtb250aCcsCgkJCQkJCSAgICAgICAkbW9kdWxlLT5MYW5nKCdyZW1vdmUxbW9udGgnKSwKCQkJCQkJICAgICAgICdvbmNsaWNrPSJyZXR1cm4gY29uZmlybShcJycuJG1vZHVsZS0+TGFuZygnYXJleW91c3VyZScpLidcJykiJykpOwoJJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2lucHV0X3JlbW92ZTFkYXknLAoJCQkgICAgICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2lucHV0X3JlbW92ZTFkYXknLAoJCQkJCQkgICAgICAgJG1vZHVsZS0+TGFuZygncmVtb3ZlMWRheScpLAoJCQkJCQkgICAgICAgJ29uY2xpY2s9InJldHVybiBjb25maXJtKFwnJy4kbW9kdWxlLT5MYW5nKCdhcmV5b3VzdXJlJykuJ1wnKSInKSk7CgkkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaW5wdXRfbGlzdDFkYXknLAoJCQkgICAgICAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2lucHV0X2xpc3QxZGF5JywKCQkJCQkJICAgICAgICRtb2R1bGUtPkxhbmcoJ2xpc3QxZGF5JykpKTsKICAgICAgfQoKICAgIGVjaG8gJG1vZHVsZS0+UHJvY2Vzc1RlbXBsYXRlKCdwcmVmcy50cGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEaXNwbGF5QWRtaW5SZWcxVGVtcGxhdGVUYWIoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmdW5jdGlvbiBfRGlzcGxheUFkbWluUmVnMVRlbXBsYXRlVGFiKCAmJG1vZHVsZSwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybVN0YXJ0ICgkaWQsICdzZXRfcmVnMXRlbXBsYXRlJyk7CiAgICBlY2hvICc8cD5SZWdpc3RyYXRpb24gVGVtcGxhdGU8L3A+JzsKICAgIGVjaG8gJzxici8+PHA+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwKCQkJCQkgICAkbW9kdWxlLT5HZXRUZW1wbGF0ZSAoJ3NlbGZyZWdfcmVnMXRlbXBsYXRlJyksCgkJCQkJICAgJ3JlZzFfdGVtcGxhdGVjb250ZW50JywgJycpLic8L3A+JzsKICAgIGVjaG8gJzxwPlBvc3QgUmVnaXN0cmF0aW9uIFRlbXBsYXRlPC9wPic7CiAgICBlY2hvICc8YnIvPjxwPicuJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsCgkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdzZWxmcmVnX3Bvc3RyZWcxX3RlbXBsYXRlJyksCgkJCQkJICAgJ3Bvc3RyZWcxX3RlbXBsYXRlY29udGVudCcsICcnKS4nPC9wPic7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ3N1Ym1pdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2RlZmF1bHRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ2RlZmF1bHQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQgKCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRGlzcGxheUFkbWluUmVnMlRlbXBsYXRlVGFiKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KZnVuY3Rpb24gX0Rpc3BsYXlBZG1pblJlZzJUZW1wbGF0ZVRhYiggJiRtb2R1bGUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnc2V0X3JlZzJ0ZW1wbGF0ZScpOwogICAgZWNobyAnPGJyLz48cD4nLiRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhIChmYWxzZSwgJGlkLAoJCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnc2VsZnJlZ19yZWcydGVtcGxhdGUnKSwKCQkJCQkgICAndGVtcGxhdGVjb250ZW50JywgJycpLic8L3A+JzsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdGJ1dHRvbicsCgkJCQkgICAkbW9kdWxlLT5MYW5nICgnc3VibWl0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnZGVmYXVsdGJ1dHRvbicsCgkJCQkgICAkbW9kdWxlLT5MYW5nICgnZGVmYXVsdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCAoKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEaXNwbGF5QWRtaW5Vc2Vyc1RhYigkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmZ1bmN0aW9uIF9EaXNwbGF5QWRtaW5Vc2Vyc1RhYiggJiRtb2R1bGUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkZGIgPSAkbW9kdWxlLT5HZXREYigpOwogICAgLy8gZGlzcGxheSBhIHRhYmxlIHdpdGggdXNlcmlkLCBncm91cF9pZCAobmFtZT8pLCB1c2VybmFtZSwgY3JlYXRlZGF0ZSwgPGVtYWlsIGFkZHJlc3M+CiAgICAvLyBhbmQgYWxsb3cgdGhlIGFkbWluIHRvIGVkaXQsIGRlbGV0ZSwgYW5kIG9yIG9wdGlvbmFsbHkgc2VuZCB0aGF0IHVzZXIgYSBtZXNzYWdlCiAgICAvLyBzaG91bGQgYWxzbyBoYXZlIGEgY2hlY2tib3ggc28gdGhhdCB0aGUgYWRtaW4gY2FuIGRlbGV0ZSBhIGJ1bmNoIG8gdXNlcnMgYXQgdGhlIHNhbWUgdGltZQogICAgLy8gYW5kIGEgc2VsZWN0IGFsbCB3b3VsZCBiZSBjb29sLgoKICAgIC8vIGdldCBhIGxpc3Qgb2YgYWxsIG9mIHRoZSBncnVwcwogICAgJGZldXNlcnMgPSAkbW9kdWxlLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwogICAgaWYoICEkZmV1c2VycyApCiAgICAgIHsKCSRtb2R1bGUtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAkbW9kdWxlLT5MYW5nKCdlcnJvcl9ub2ZldXNlcnNtb2R1bGUnKSk7CglyZXR1cm47CiAgICAgIH0KICAgICRncnBsaXN0ID0gYXJyYXkoKTsKICAgIHsKICAgICAgJHRfZ3JwbGlzdCA9ICRmZXVzZXJzLT5HZXRHcm91cExpc3RGdWxsKCk7CiAgICAgIGlmKCAhaXNfYXJyYXkoICR0X2dycGxpc3QgKSB8fCBjb3VudCgkdF9ncnBsaXN0KSA9PSAwICkKCXsKCSAgJG1vZHVsZS0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJICAgJG1vZHVsZS0+TGFuZygnZXJyb3Jfbm9ncm91cHMnKSk7CgkgIHJldHVybjsKCX0KICAgICAgLy8gZm9yIG91ciBwdXJwb3NlcyBoZXJlLCB3ZSdsbCByZS1vcmcgdF9ncm91cGxpc3QgdG8gYmUga2V5ZWQgYnkgaWQKICAgICAgZm9yZWFjaCggJHRfZ3JwbGlzdCBhcyAkZ3JwICkKCXsKCSAgJGdycGxpc3RbJGdycFsnaWQnXV0gPSAkZ3JwOwoJfQogICAgfQoKICAgIC8vIGFuIGFycmF5IGZvciB0aGUgZ3JvdXAgcHJvcGVydHkgcmVsYXRpb25zICh3ZSdyZSBnb25uYSBjYWNoZSBlbSkKICAgICRyZWxhdGlvbnMgPSBhcnJheSgpOwoKICAgIC8vIGFuIGFycmF5IGZvciB0aGUgZW1haWwgZmllbGQgbmFtZXMsIGJ5IGdyb3VwIGlkICh3ZSdyZSBnb25uYSBjYWNoZSBlbSB0b28pCiAgICAkZW1haWxmbGRzID0gYXJyYXkoKTsKCiAgICAvLyBnZXQgdGhlIHByb3BlcnR5IGRlZmluaXRpb25zCiAgICAkcHJvcHMgPSAkZmV1c2Vycy0+R2V0UHJvcGVydHlEZWZucygpOwogICAgaWYoICRwcm9wcyA9PSBmYWxzZSApCiAgICAgIHsKCSRtb2R1bGUtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAkbW9kdWxlLT5MYW5nKCdlcnJvcl9ub3Byb3BkZWZucycpKTsKCXJldHVybjsKICAgICAgfQoKICAgIC8vIHNvbWUgamF2YXNjcmlwdAogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2phdmFzY3JpcHQnLAonPFNDUklQVCBMQU5HVUFHRT0iSmF2YVNjcmlwdCI+CmZ1bmN0aW9uIGNoZWNrQWxsKGZtb2JqLHN0YXRlKSB7CiAgZm9yICh2YXIgaT0wO2k8Zm1vYmouZWxlbWVudHMubGVuZ3RoO2krKykgewogICAgdmFyIGUgPSBmbW9iai5lbGVtZW50c1tpXTsKICAgIGlmICggKGUudHlwZT09ImNoZWNrYm94IikgJiYgKCFlLmRpc2FibGVkKSApIHsKICAgICAgZS5jaGVja2VkID0gc3RhdGU7CiAgICB9CiAgfQp9IDwvU0NSSVBUPicpOwoKICAgIC8vIHNvbWUgbGFiZWxzCiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3RhcnRmb3JtJywkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCdkb19kZWxldGV1c2Vyc2J1bGsnKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignc3VibWl0JywkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ2RlbGV0ZScsJG1vZHVsZS0+TGFuZygnZGVsZXRlc2VsdXNlcnMnKSkpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2VuZGZvcm0nLCRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQoKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbigndXNlcmlkdGV4dCcsJG1vZHVsZS0+TGFuZygnaGRyX3VzZXJpZCcpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZXRleHQnLCRtb2R1bGUtPkxhbmcoJ2hkcl91c2VybmFtZScpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdncnBuYW1ldGV4dCcsJG1vZHVsZS0+TGFuZygnaGRyX2dycG5hbWUnKSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignY3JlYXRlZHRleHQnLCRtb2R1bGUtPkxhbmcoJ2hkcl9jcmVhdGVkJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2VtYWlsdGV4dCcsJG1vZHVsZS0+TGFuZygnaGRyX2VtYWlsJykpOwogICAgJG1vZHVsZS0+c21hcnR5LT5hc3NpZ24oJ2RlbGV0ZXRleHQnLCRtb2R1bGUtPkxhbmcoJ3NlbGVjdCcpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdjaGVja2FsbGJveCcsCgkJCSAgJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHRhZG1pbicsJHJldHVybmlkLAoJCQkJCSAgICAkbW9kdWxlLT5MYW5nKCdjaGVja19hbGwnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwKCQkJCQkgICAgJ29uQ2xpY2soKT0iY2hlY2tBbGwoZG9jdW1lbnQuZm9ybXNbMF0sdHJ1ZSk7cmV0dXJuIGZhbHNlIicpLgoJCQkgICImbmJzcDsmbmJzcDsiLgoJCQkgICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0YWRtaW4nLCRyZXR1cm5pZCwKCQkJCQkgICAgJG1vZHVsZS0+TGFuZygndW5jaGVja19hbGwnKSwgYXJyYXkoKSwgJycsIGZhbHNlLCBmYWxzZSwKCQkJCQkgICAgJ29uQ2xpY2soKT0iY2hlY2tBbGwoZG9jdW1lbnQuZm9ybXNbMF0sZmFsc2UpO3JldHVybiBmYWxzZSInKSk7CiAgICAKICAgIC8vIHNlbGVjdCBhbGwgdGhlIHVzZXJzCiAgICAkcm93YXJyYXkgPSBhcnJheSgpOwogICAgLy8gdG9kbywgYWRkIHNvbWUgcmVhbCBmaWx0ZXJpbmcgaGVyZQogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMgTElNSVQgMjUwIjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEgKTsKICAgIGlmKCAkZGJyZXN1bHQgJiYgKCRkYnJlc3VsdC0+UmVjb3JkQ291bnQoKSA+IDApICkKICAgICAgewoJLy8gd2UgaGF2ZSByb3dzCgkkcm93Y2xhc3MgPSAncm93MSc7Cgl3aGlsZSggJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSApCgkgIHsKCSAgICAKCSAgICAkb25lcm93ID0gbmV3IFN0ZENsYXNzKCk7CgkgICAgJG9uZXJvdy0+dXNlcmlkID0gJHJvd1snaWQnXTsKCSAgICAkb25lcm93LT51c2VybmFtZSA9ICRyb3dbJ3VzZXJuYW1lJ107CgkgICAgJG9uZXJvdy0+Z3JwbmFtZSA9ICRncnBsaXN0WyRyb3dbJ2dyb3VwX2lkJ11dWydncm91cG5hbWUnXTsgIC8vIHVnbHkgZWgKCSAgICAkb25lcm93LT5jcmVhdGVkID0gJHJvd1snY3JlYXRlZGF0ZSddOwoJICAgICRvbmVyb3ctPnJvd2NsYXNzID0gJHJvd2NsYXNzOwoJICAgIC8vIHRvZG8gZW1haWwsIGVkaXRsaW5rLCBtYXJrZGVsZXRlYm94CgoJICAgIC8vIG5vdyB3ZSBoYXZlIGEgZ3JvdXAgaWQuLi4gaGF2ZSB0byBnZXQgYSBsaXN0IG9mIHRoZSBncm91cHMgcHJvcGVydGllcwoJICAgIGlmKCAhaXNzZXQoICRyZWxhdGlvbnNbICRyb3dbJ2dyb3VwX2lkJ10gXSApICkKCSAgICAgIHsKCQkvLyBub3QgaW4gdGhlIGNhY2hlLCBzbyBnZXQgdGhlbQoJCSR0X3JlbGF0aW9ucyA9ICRmZXVzZXJzLT5HZXRHcm91cFByb3BlcnR5UmVsYXRpb25zKCAkcm93Wydncm91cF9pZCddICk7CgkJaWYoICR0X3JlbGF0aW9uc1swXSA9PSBmYWxzZSApCgkJICB7CgkJICAgIC8vIHRoaXMgaXMgdWdseSBmb3IgdGhlIHVzZXIgdG8gc2VlCgkJICAgIC8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKCQkgICAgJG1vZHVsZS0+X0Rpc3BsYXlFcnJvclBhZ2UoICRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCQkJJHRoaXMtPkxhbmcoJ2Vycm9yX25vZ3JvdXBwcm9wcmVsbnMnLCR0X3JlbGF0aW9uc1sxXSkgKTsKCQkgICAgcmV0dXJuOwoJCSAgfQoKCQkvLyBhbmQgY2FjaGUgdGhlbQoJCSRyZWxhdGlvbnNbICRyb3dbJ2dyb3VwX2lkJ10gXSA9ICR0X3JlbGF0aW9uczsKCSAgICAgIH0KCgkgICAgLy8gbm93LCBnbyB0aHJvdWdoIGFsbCBvZiB0aGUgcmVsYXRpb25zLCB4cmVmIHdpdGggdGhlIHByb3BlcnRpZXMgZmllbGQKCSAgICAvLyBhbmQgdHJ5IHRvIGZpbmQgb25lIHRoYXQncyBhbiBlbWFpbCBhZGRyZXNzIGZvciB0aGlzIGdyb3VwCgkgICAgLy8gd2UnbGwgY2FjaGUgdGhhdCB0b28KCSAgICBpZiggIWlzc2V0KCAkZW1haWxmbGRzWyAkcm93Wydncm91cF9pZCddIF0gKSApCgkgICAgICB7CgkJJGZvdW5kID0gZmFsc2U7CgkJLy8gbm90IGluIHRoZSBjYWNoZSwgc28gd2UnbGwgZmluZCBvbmUKCQlmb3JlYWNoKCAkcmVsYXRpb25zWyAkcm93Wydncm91cF9pZCddIF0gYXMgJHJlbG4gKQoJCSAgewoJCSAgICBmb3JlYWNoKCAkcHJvcHMgYXMgJG9uZXByb3AgKQoJCSAgICAgIHsKCQkJaWYoICRyZWxuWyduYW1lJ10gPT0gJG9uZXByb3BbJ25hbWUnXSAmJgoJCQkgICAgJG9uZXByb3BbJ3R5cGUnXSA9PSAyICkgLy8gZW1haWwgCgkJCSAgewoJCQkgICAgLy8gd29vaG9vLCB3ZSBmb3VuZCBhbiBlbWFpbCBmaWVsZCBpbiB0aGUgcHJvcGVydHkgcmVsYXRpb25zIGZvciB0aGlzCgkJCSAgICAvLyBncm91cAoJCQkgICAgJGVtYWlsZmxkc1skcm93Wydncm91cF9pZCddXSA9ICRyZWxuWyduYW1lJ107CgkJCSAgICAkZm91bmQgPSB0cnVlOwoJCQkgICAgYnJlYWs7CgkJCSAgfQoJCSAgICAgIH0KCQkgIH0KCgkJaWYoICEkZm91bmQgKQoJCSAgewoJCSAgICAkbW9kdWxlLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkJICAgICAkbW9kdWxlLT5MYW5nKCdlcnJvcl9ub2VtYWlsYWRkcmVzcycpKTsKCQkgICAgcmV0dXJuOwoJCSAgfQoJICAgICAgfQoJICAgIAoJICAgIC8vIG5vdywgZ2V0IHRoZSBlbWFpbCBhZGRyZXNzIGZvciB0aGlzIHVzZXIKCSAgICAkb25lcm93LT5lbWFpbCA9ICRtb2R1bGUtPkdldFRlbXBVc2VyUHJvcGVydHkoJHJvd1snaWQnXSwkZW1haWxmbGRzWyRyb3dbJ2dyb3VwX2lkJ11dLAoJCQkJCQkJJG1vZHVsZS0+TGFuZygndW5rbm93bicpKTsKCSAgICAkb25lcm93LT5lZGl0bGluayA9CgkgICAgICAkbW9kdWxlLT5DcmVhdGVMaW5rICgkaWQsICdlZGl0dGVtcHVzZXInLCAkcmV0dXJuaWQsCgkJCQkgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZWRpdC5naWYnLAoJCQkJCQkJCQkgICAgICAgJG1vZHVsZS0+TGFuZyAoJ2VkaXQnKSwgJycsICcnLCAnc3lzdGVtaWNvbicpLAoJCQkJIGFycmF5ICgndXNlcl9pZCcgPT4gJHJvd1snaWQnXSkpOwoJICAgICRvbmVyb3ctPmRlbGV0ZWxpbmsgPQoJICAgICAgJG1vZHVsZS0+Q3JlYXRlTGluayAoJGlkLCAnZGVsZXRldGVtcHVzZXInLCAkcmV0dXJuaWQsCgkJCQkgJGdDbXMtPnZhcmlhYmxlc1snYWRtaW50aGVtZSddLT5EaXNwbGF5SW1hZ2UgKCdpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZicsCgkJCQkJCQkJCSAgICAgICAkbW9kdWxlLT5MYW5nICgnZGVsZXRlJyksICcnLCAnJywgJ3N5c3RlbWljb24nKSwKCQkJCSBhcnJheSAoJ3VzZXJfaWQnID0+ICRyb3dbJ2lkJ10pLAoJCQkJICRtb2R1bGUtPkxhbmcgKCdhcmV5b3VzdXJlX2RlbGV0ZXVzZXInKSk7CgkgICAgJG9uZXJvdy0+bWFya2RlbGV0ZWJveCA9ICRtb2R1bGUtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCdtYXJrZGVsZXRlXycuJHJvd1snaWQnXSwkcm93WydpZCddKTsKCSAgICAKCSAgICAkcm93YXJyYXlbXSA9ICRvbmVyb3c7CgkgICAgKCRyb3djbGFzcyA9PSAicm93MSIgPyAkcm93Y2xhc3MgPSAicm93MiIgOiAkcm93Y2xhc3MgPSAicm93MSIpOwoJICB9CiAgICAgIH0KICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdpdGVtcycsICRyb3dhcnJheSk7CiAgICAkbW9kdWxlLT5zbWFydHktPmFzc2lnbignaXRlbWNvdW50Jyxjb3VudCgkcm93YXJyYXkpKTsKICAgICRtb2R1bGUtPnNtYXJ0eS0+YXNzaWduKCdpdGVtc2ZvdW5kJywkbW9kdWxlLT5MYW5nKCd1c2Vyc2ZvdW5kJykpOwogICAgZWNobyAkbW9kdWxlLT5Qcm9jZXNzVGVtcGxhdGUoJ3VzZXJsaXN0LnRwbCcpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIERpc3BsYXlBZG1pbkVtYWlsQ29uZmlybWF0aW9uVGVtcGxhdGVUYWIoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmdW5jdGlvbiBfRGlzcGxheUFkbWluRW1haWxDb25maXJtYXRpb25UZW1wbGF0ZVRhYiggJiRtb2R1bGUsICRpZCwgJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1TdGFydCAoJGlkLCAnc2V0X2VtYWlsY29uZmlybV90ZW1wbGF0ZScpOwogICAgZWNobyAnPHRhYmxlPic7CiAgICBlY2hvICc8dHIgdmFsaWduPSJ0b3AiPjx0ZD4nLiRtb2R1bGUtPkxhbmcoJ3N1YmplY3QnKS4nOio8L3RkPjx0ZD4nLiRtb2R1bGUtPkNyZWF0ZUlucHV0VGV4dCggJGlkLCAnaW5wdXRfc3ViamVjdCcsCgkJCQkJICAgICRtb2R1bGUtPkdldFByZWZlcmVuY2UoJ3NlbGZyZWdfZW1haWxjb25maXJtX3N1YmplY3QnKSwgODAsIDIwMCApLic8L3RkPjwvdHI+JzsgCiAgICAKICAgIGVjaG8gJzx0ciB2YWxpZ249InRvcCI+PHRkPicuJG1vZHVsZS0+TGFuZygndGV4dGJvZHknKS4nOio8L3RkPjx0ZD4nLiRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhIChmYWxzZSwgJGlkLCAgCgkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdzZWxmcmVnX2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUnKSwKCQkJCQkgICAndGV4dHRlbXBsYXRlY29udGVudCcsICcnKS4nPC90ZD48L3RyPic7CiAgICBlY2hvICc8dHIgdmFsaWduPSJ0b3AiPjx0ZD4nLiRtb2R1bGUtPkxhbmcoJ2h0bWxib2R5JykuJzo8L3RkPjx0ZD4nLiRtb2R1bGUtPkNyZWF0ZVRleHRBcmVhIChmYWxzZSwgJGlkLCAgCgkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdzZWxmcmVnX2VtYWlsY29uZmlybV90ZW1wbGF0ZScpLAoJCQkJCSAgICd0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvdGQ+PC90cj4nOwogICAgZWNobyAnPC90YWJsZT4nOyAgCiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ3N1Ym1pdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2RlZmF1bHRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ2RlZmF1bHQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQgKCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRGlzcGxheUFkbWluRmluYWxNZXNzYWdlVGVtcGxhdGVUYWIoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmdW5jdGlvbiBfRGlzcGxheUFkbWluRmluYWxNZXNzYWdlVGVtcGxhdGVUYWIoICYkbW9kdWxlLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ3NldF9maW5hbG1lc3NhZ2VfdGVtcGxhdGUnKTsKICAgIGVjaG8gJzxici8+PHA+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwKCQkJCQkgICAkbW9kdWxlLT5HZXRUZW1wbGF0ZSAoJ3NlbGZyZWdfZmluYWxtZXNzYWdlX3RlbXBsYXRlJyksCgkJCQkJICAgJ3RlbXBsYXRlY29udGVudCcsICcnKS4nPC9wPic7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdzdWJtaXRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ3N1Ym1pdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ2RlZmF1bHRidXR0b24nLAoJCQkJICAgJG1vZHVsZS0+TGFuZyAoJ2RlZmF1bHQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUZvcm1FbmQgKCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRGlzcGxheUFkbWluRW1haWxVc2VyRWRpdGVkVGVtcGxhdGVUYWIoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwpmdW5jdGlvbiBfRGlzcGxheUFkbWluRW1haWxVc2VyRWRpdGVkVGVtcGxhdGVUYWIoICYkbW9kdWxlLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ3NldF9lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnKTsKICAgIGVjaG8gJzx0YWJsZT4nOwogICAgZWNobyAnPHRyIHZhbGlnbj0idG9wIj48dGQ+Jy4kbW9kdWxlLT5MYW5nKCdzdWJqZWN0JykuJzoqPC90ZD48dGQ+Jy4kbW9kdWxlLT5DcmVhdGVJbnB1dFRleHQoICRpZCwgJ2lucHV0X3N1YmplY3QnLAoJCQkJCSAgICAkbW9kdWxlLT5HZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF9zdWJqZWN0JyksIDgwLCAyMDAgKS4nPC90ZD48L3RyPic7IAogICAgCiAgICBlY2hvICc8dHIgdmFsaWduPSJ0b3AiPjx0ZD4nLiRtb2R1bGUtPkxhbmcoJ3RleHRib2R5JykuJzoqPC90ZD48dGQ+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwgIAoJCQkJCSAgICRtb2R1bGUtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlJyksCgkJCQkJICAgJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnLCAnJykuJzwvdGQ+PC90cj4nOwogICAgZWNobyAnPHRyIHZhbGlnbj0idG9wIj48dGQ+Jy4kbW9kdWxlLT5MYW5nKCdodG1sYm9keScpLic6PC90ZD48dGQ+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwgIAoJCQkJCSAgICRtb2R1bGUtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnKSwKCQkJCQkgICAndGVtcGxhdGVjb250ZW50JywgJycpLic8L3RkPjwvdHI+JzsKICAgIGVjaG8gJzwvdGFibGU+JzsgIAogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnc3VibWl0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdzdWJtaXQnKSk7CiAgICBlY2hvICRtb2R1bGUtPkNyZWF0ZUlucHV0U3VibWl0ICgkaWQsICdkZWZhdWx0YnV0dG9uJywKCQkJCSAgICRtb2R1bGUtPkxhbmcgKCdkZWZhdWx0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtRW5kICgpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIERpc3BsYXlBZG1pblNlbmRBbm90aGVyRW1haWxUZW1wbGF0ZVRhYigkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCmZ1bmN0aW9uIF9EaXNwbGF5QWRtaW5TZW5kQW5vdGhlckVtYWlsVGVtcGxhdGVUYWIoICYkbW9kdWxlLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVGb3JtU3RhcnQgKCRpZCwgJ3NldF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyk7CiAgICBlY2hvICc8YnIvPicuJG1vZHVsZS0+TGFuZygndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScpLgogICAgICAnPHA+Jy4kbW9kdWxlLT5DcmVhdGVUZXh0QXJlYSAoZmFsc2UsICRpZCwKCQkJCSAgICRtb2R1bGUtPkdldFRlbXBsYXRlICgnc2VsZnJlZ19zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyksCgkJCQkgICAndGVtcGxhdGVjb250ZW50JywgJycpLic8L3A+JzsKICAgIGVjaG8gJzxici8+Jy4kbW9kdWxlLT5MYW5nKCd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnKS4KICAgICAgJzxwPicuJG1vZHVsZS0+Q3JlYXRlVGV4dEFyZWEgKGZhbHNlLCAkaWQsCgkJCQkJICAgJG1vZHVsZS0+R2V0VGVtcGxhdGUgKCdzZWxmcmVnX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScpLAoJCQkJCSAgICd0ZW1wbGF0ZWNvbnRlbnQyJywgJycpLic8L3A+JzsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlSW5wdXRTdWJtaXQgKCRpZCwgJ3N1Ym1pdGJ1dHRvbicsCgkJCQkgICAkbW9kdWxlLT5MYW5nICgnc3VibWl0JykpOwogICAgZWNobyAkbW9kdWxlLT5DcmVhdGVJbnB1dFN1Ym1pdCAoJGlkLCAnZGVmYXVsdGJ1dHRvbicsCgkJCQkgICAkbW9kdWxlLT5MYW5nICgnZGVmYXVsdCcpKTsKICAgIGVjaG8gJG1vZHVsZS0+Q3JlYXRlRm9ybUVuZCAoKTsKICB9Cgo/Pg==]]></data>
	</file>
	<file>
	  <filename>/functions.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKLyoKIEZyb250RW5kVXNlcnMuIEEgcGx1Z2luIGZvciBDTVMgLSBDTVMgTWFkZSBTaW1wbGUKIENvcHlyaWdodCAoYykgMjAwNC0wNSBieSBSb2JlcnQgQ2FtcGJlbGwgPHJvYkB0ZWNoY29tLmR5bmRucy5vcmc+CgogVHJhbnNsYXRpb25zOgogRnJlbmNoOiBQYXRyaWNpYSBCcnVuLCBodHRwOi8vd3d3LmJydW1hbHNvbHN0aWNlLmNvbQogTm9yd2VnaWFuIChib2ttP2wpOiBSb2dlciAiU3RpZ21hIiBLbnV0c2VuIDxzdGlnbWFzdGVyQGdtYWlsLmNvbT4KCiBDTVMtIENNUyBNYWRlIFNpbXBsZSBpcyBDb3B5cmlnaHQgKGMpIFRlZCBLdWxwICh3aXNoeUB1c2Vycy5zZi5uZXQpCiBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwoKIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCgogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQogRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgIDAyMTExLTEzMDcgIFVTQQoqLwoKCmNsYXNzIFNlbGZyZWdVdGlscwp7CiAgZnVuY3Rpb24gYXJyYXlfa2V5X2V4aXN0c19zdWJzdHIoICRhcnIsICRleHByICkKICB7CiAgICAka2V5cyA9IGFycmF5X2tleXMoICRhcnIgKTsKICAgIGZvcmVhY2goICRrZXlzIGFzICRrICkKICAgICAgewoJaWYoIHN0cnN0ciggJGssICRleHByICkgKSByZXR1cm4gdHJ1ZTsKICAgICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCiAgZnVuY3Rpb24gYXJyYXlfZmluZF9rZXlfcmVnZXhwKCAkYXJyLCAkZXhwciApCiAgewogICAgJGtleXMgPSBhcnJheV9rZXlzKCAkYXJyICk7CiAgICBmb3JlYWNoKCAka2V5cyBhcyAkayApCiAgICAgIHsKCWlmKCBwcmVnX21hdGNoKCAkZXhwciwgJGsgKSApIHJldHVybiAkazsKICAgICAgfQogICAgcmV0dXJuIGZhbHNlOwogIH0KCgogIGZ1bmN0aW9uIGFycmF5X21lcmdlX2J5X25hbWVfcmVxdWlyZWQoICRhcnIxLCAkYXJyMiApCiAgewogICAgJHh4cmVzdWx0ID0gYXJyYXkoKTsKICAgIC8vIGFkZCBpdGVtcyBjb21tb24gdG8gYXJyMSBhbmQgYXJyMiAKICAgIC8vIGJ1dCBmYXZvciByZXF1aXJlZCBpdGVtcwogICAgaWYoICFpc19hcnJheSggJGFycjEgKSB8fCAhaXNfYXJyYXkoICRhcnIyICkgKQogICAgICB7CglyZXR1cm47CiAgICAgIH0KICAgIGZvcmVhY2goICRhcnIxIGFzICRhMSApCiAgICAgIHsKCWZvcmVhY2goICRhcnIyIGFzICRhMiApCgkgIHsKCSAgICBpZiggJGExWyduYW1lJ10gPT0gJGEyWyduYW1lJ10gKSAKCSAgICAgIHsKCQlpZiggJGExWydyZXF1aXJlZCddID09IDIgKSAKCQkgIHsKCQkgICAgYXJyYXlfcHVzaCggJHh4cmVzdWx0LCAkYTEgKTsKCQkgICAgYnJlYWs7CgkJICB9CgkJZWxzZSAKCQkgIHsKCQkgICAgYXJyYXlfcHVzaCggJHh4cmVzdWx0LCAkYTIgKTsKCQkgICAgYnJlYWs7CgkJICB9CgkgICAgICB9ICAgIAoJICB9CiAgICAgIH0KICAKICAgIC8vIGFkZCBpdGVtcyBpbiBhcnIxIG5vdCBpbiByZXN1bHQKICAgIGZvcmVhY2goICRhcnIxIGFzICRhMSApCiAgICAgIHsKCSRmb3VuZCA9IGZhbHNlOwoJZm9yZWFjaCggJHh4cmVzdWx0IGFzICRyZXMgKQoJICB7CgkgICAgaWYoICRhMVsnbmFtZSddID09ICRyZXNbJ25hbWUnXSApCgkgICAgICB7CgkJJGZvdW5kID0gdHJ1ZTsKCQlicmVhazsKCSAgICAgIH0KCSAgfQoJaWYoICEkZm91bmQgKQoJICB7CgkgICAgYXJyYXlfcHVzaCggJHh4cmVzdWx0LCAkYTEgKTsKCSAgfQogICAgICB9CiAgCiAgICAvLyBhZGQgaXRlbXMgaW4gYXJyMiBub3QgaW4gcmVzdWx0CiAgICBmb3JlYWNoKCAkYXJyMiBhcyAkYTIgKQogICAgICB7CgkkZm91bmQgPSBmYWxzZTsKCWZvcmVhY2goICR4eHJlc3VsdCBhcyAkcmVzICkKCSAgewoJICAgIGlmKCAkYTJbJ25hbWUnXSA9PSAkcmVzWyduYW1lJ10gKQoJICAgICAgewoJCSRmb3VuZCA9IHRydWU7CgkJYnJlYWs7CgkgICAgICB9CgkgIH0KCWlmKCAhJGZvdW5kICkKCSAgewoJICAgIGFycmF5X3B1c2goICR4eHJlc3VsdCwgJGEyICk7CgkgIH0KICAgICAgfQogICAgcmV0dXJuICR4eHJlc3VsdDsKICB9CgoKICBmdW5jdGlvbiBjb21wYXJlX2VsZW1lbnRzX2J5X3NvcnRvcmRlcl9rZXkoICRlMSwgJGUyICkKICB7CiAgICBpZiggJGUxWydzb3J0X2tleSddIDwgJGUyWydzb3J0X2tleSddICkKICAgICAgewoJcmV0dXJuIC0xOwogICAgICB9CiAgICBlbHNlIGlmKCAkZTFbJ3NvcnRfa2V5J10gPiAkZTJbJ3NvcnRfa2V5J10gKQogICAgICB7CglyZXR1cm4gMTsKICAgICAgfQogICAgcmV0dXJuIDA7CiAgfQoKCiAgZnVuY3Rpb24gZXhwbG9kZV93aXRoX2tleSgkc3RyLCAkaW5nbHVlPSc9JywgJG91dGdsdWU9JyYnKQogIHsKICAgICRyZXQgPSBhcnJheSgpOwogICAgJGExID0gc3BsaXQoJG91dGdsdWUsJHN0cik7CiAgICBmb3JlYWNoKCAkYTEgYXMgJGEyICkKICAgICAgewoJbGlzdCggJGssICR2ICkgPSBzcGxpdCggJGluZ2x1ZSwgJGEyICk7CgkkcmV0WyAkayBdID0gJHY7CiAgICAgIH0KICAgIHJldHVybiAkcmV0OwogIH0KCgogIGZ1bmN0aW9uIGZpbmRfaW5kZXhfb2ZfdmFsdWUoICRkYXRhLCAkdmFsdWUsICRkZmx0ICkKICB7CiAgICAkaSA9IDA7CiAgICBmb3JlYWNoKCAkZGF0YSBhcyAkaz0+JHYgKQogICAgICB7CglpZiggJHYgPT0gJHZhbHVlICkKCSAgewoJICAgIHJldHVybiAkaTsKCSAgfQoJJGkrKzsKICAgICAgfQogICAgcmV0dXJuICRkZmx0OwogIH0KCgogIGZ1bmN0aW9uIGltcGxvZGVfd2l0aF9rZXkoJGFzc29jLCAkaW5nbHVlID0gJz0nLCAkb3V0Z2x1ZSA9ICcmJykKICB7CiAgICAkcmV0dXJuID0gbnVsbDsKICAgIGZvcmVhY2ggKCRhc3NvYyBhcyAkdGsgPT4gJHR2KSAkcmV0dXJuIC49ICRvdXRnbHVlLiR0ay4kaW5nbHVlLiR0djsKICAgIHJldHVybiBzdWJzdHIoJHJldHVybixzdHJsZW4oJG91dGdsdWUpKTsKICB9CgoKCiAgZnVuY3Rpb24gbXlDcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJG5hbWUsICR2YWx1ZT0nJywgJHNlbGVjdGVkdmFsdWU9JycsIAoJCQkJICRhZGR0dGV4dD0nJykKICB7CiAgICAkdGV4dCA9ICc8aW5wdXQgdHlwZT0iY2hlY2tib3giIG5hbWU9IicuJGlkLiRuYW1lLiciIHZhbHVlPSInLiR2YWx1ZS4nIic7CiAgICAkYXJyID0gc3BsaXQoIiwiLCRzZWxlY3RlZHZhbHVlKTsKICAgIGZvcmVhY2goICRhcnIgYXMgJGEgKQogICAgICB7CglpZiAoJGEgPT0gJHZhbHVlKQoJICB7CgkgICAgJHRleHQgLj0gJyAnIC4gJ2NoZWNrZWQ9ImNoZWNrZWQiJzsKCSAgfQogICAgICB9CiAgICBpZiAoJGFkZHR0ZXh0ICE9ICcnKQogICAgICB7CgkkdGV4dCAuPSAnICcuJGFkZHR0ZXh0OwogICAgICB9CiAgICAkdGV4dCAuPSAiIC8+XG4iOwogICAgcmV0dXJuICR0ZXh0OwogIH0KCiAgZnVuY3Rpb24gbXlDcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICRuYW1lLCAkdmFsdWU9JycsICRpbWFnZT0nJywgJGFkZHR0ZXh0PScnKQogIHsKICAgIGdsb2JhbCAkZ0NtczsKICAgICR0ZXh0ID0gJzxpbnB1dCBuYW1lPSInLiRpZC4kbmFtZS4nIiB2YWx1ZT0iJy4kdmFsdWUuJyIgdHlwZT0nOwogICAgaWYgKCRpbWFnZSAhPSAnJykKICAgICAgewoJJHRleHQgLj0gJyJpbWFnZSInOwoJJGltZyA9ICRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ10uRElSRUNUT1JZX1NFUEFSQVRPUi4kaW1hZ2U7CgkkdGV4dCAuPSAnIHNyYz0iJy4kaW1nLiciJzsKICAgICAgfQogICAgZWxzZSAKICAgICAgewoJJHRleHQgLj0gJyJzdWJtaXQiJzsKICAgICAgfQogICAgaWYgKCRhZGR0dGV4dCAhPSAnJykKICAgICAgewoJJHRleHQgLj0gJyAnLiRhZGR0dGV4dDsKICAgICAgfQogICAgJHRleHQgLj0gJyAvPic7CiAgICByZXR1cm4gJHRleHQgLiAiXG4iOwogIH0KCgogIGZ1bmN0aW9uIG15Q3JlYXRlSW5wdXRIaWRkZW4oICRpZCwgJG5hbWUsICR2YWx1ZT0nJywgJGFkZHRleHQ9JycsICRkZWxpbT0nLCcpCiAgewogICAgaWYoIGlzX2FycmF5KCAkdmFsdWUgKSApCiAgICAgIHsKCSR2YWwgPSBTZWxmcmVnVXRpbHM6OmltcGxvZGVfd2l0aF9rZXkoICR2YWx1ZSApOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSR2YWwgPSAkdmFsdWU7CiAgICAgIH0KICAgICR2YWwgPSBzdHJfcmVwbGFjZSgnIicsICcmcXVvdDsnLCAkdmFsKTsKICAgICR0ZXh0ID0gJzxpbnB1dCB0eXBlPSJoaWRkZW4iIG5hbWU9IicuJGlkLiRuYW1lLiciIHZhbHVlPSInLiR2YWwuJyInOwogICAgaWYgKCRhZGR0ZXh0ICE9ICcnKQogICAgICB7CgkkdGV4dCAuPSAnICcuJGFkZHRleHQ7CiAgICAgIH0KICAgICR0ZXh0IC49ICIgLz5cbiI7CiAgICByZXR1cm4gJHRleHQ7CiAgfQoKICBmdW5jdGlvbiBpc19hc3NvY2lhdGl2ZSgmJGFycmF5KXsKICAgIGlmICghaXNfYXJyYXkoJGFycmF5KSkgcmV0dXJuIGZhbHNlOwogICAgZm9yZWFjaChhcnJheV9rZXlzKCRhcnJheSkgYXMgJGtleT0+JHZhbHVlKSB7CiAgICAgIGlmKCAhaXNfbnVtZXJpYygka2V5KSApIHJldHVybiB0cnVlOwogICAgfQogICAgcmV0dXJuIGZhbHNlOwp9Cgp9IC8vIEVuZCBvZiBjbGFzcwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ3VzZV9pbmxpbmVfZm9ybXMnXSA9ICdVc2UgSW5saW5lIEZvcm1zIDxlbT4oZm9ybSBvdXRwdXQgcmVwbGFjZXMgdGhlIG1vZHVsZSB0YWcsIG5vdCBhbGwgb2YgY29udGVudCk8L2VtPic7CiRsYW5nWydlcnJvcl9jb2Rlc2RvbnRtYXRjaCddID0gJ1RoZSB2YWxpZGF0aW9uIGtleSBzdXBwbGllZCBpcyBpbnZhbGlkJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ0FuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIG5ldyB1c2VyIGhhcyBjb21wbGV0ZWQgdGhlIHJlZ2lzdHJhdGlvbiBmb3JtJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdBbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSB1c2VyIGhhcyB2ZXJpZmllZCBoaXMgaW5mb3JtYXRpb24gYW5kIGlzIG5vdyBjb21wbGV0ZWx5IHJlZ2lzdGVyZWQnOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICcKPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4KPGxpPjxlbT5lbWFpbDwvZW0+IC0gVGhlIG5ldyB1c2VycyBlbWFpbCBhZGRyZXNzPC9saT4KPC91bD4KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJwo8cD5BbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSB1c2VyIGhhcyBiZWVuIHZlcmlmaWVkIGFuZCBpcyBub3cgcmVnaXN0ZXJlZCB3aXRoIGZldXNlcnM8L3A+CjxoND5QYXJhbWV0ZXJzPC9oND4KPHVsPgo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgcmVnaXN0ZXJlZCB1c2VybmFtZTwvbGk+CjxsaT48ZW0+aWQ8L2VtPiAtIFRoZSBuZXcgdXNlcnMgdWlkPC9saT4KPC91bD4KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdDaGFuZ2UgYWRtaW4gcHJlZmVyZW5jZXM/JzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdMZWF2ZSB0aGlzIGZpZWxkIGVtcHR5IHRvIHByZXNlcnZlIHRoZSB1c2VyIHBhc3N3b3JkJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdMZWF2ZSB0aGlzIGZpZWxkIGVtcHR5IHRvIHByZXNlcnZlIHRoZSB1c2VyIHBhc3N3b3JkJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnRW1haWwgYWRkcmVzc2VzIGRvIG5vdCBtYXRjaCc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ1JlcXVpcmUgdXNlcnMgdG8gZW50ZXIgdGhlaXIgZW1haWwgYWRkcmVzcyB0d2ljZSc7CiRsYW5nWydhZ2FpbiddID0gJ2FnYWluJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnRGVsZXRlIFNlbGVjdGVkIFVzZXJzJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnTm8gcHJvcGVydHkgZGVmaW5pdGlvbnMsIG9yIHByb2JsZW0gcmV0cmVpdmluZyB0aGVtIGZyb20gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnTm8gZ3JvdXBzLCBvciBwcm9ibGVtIHJldHJlaXZpbmcgZ3JvdXAgbGlzdCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2UgZXJyb3InOwokbGFuZ1sndGl0bGVfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnUG9zdCBMb3N0IEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdMb3N0IEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ0NsaWNrIEhlcmUnOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdJIGhhdmUgYWxyZWFkeSBjb21wbGV0ZWQgdGhlIHJlZ2lzdHJhdGlvbiBmb3JtLCBidXQgZGlkIG5vdCByZWNlaXZlIGFuIGVtYWlsLCBjYW4geW91IHBsZWFzZSByZS1zZW5kIGl0JzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdMb3N0IEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnQSBuZXcgdXNlciBoYXMgYmVlbiBhZGRlZCB0byBGcm9udEVuZFVzZXJzJzsKJGxhbmdbJ2VkaXQnXSA9ICdFZGl0JzsKJGxhbmdbJ3Vua25vd24nXSA9ICdVbmtub3duJzsKJGxhbmdbJ3NlbGVjdCddID0gJ1NlbGVjdCc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdDaGVjayBBbGwnOwokbGFuZ1sndW5jaGVja19hbGwnXSA9ICdVbmNoZWNrIEFsbCc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NlbmQgYW4gZW1haWwgdG8gdGhlIHVzZXInOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1zIHRoZSB1c2VyIHRoYXQgdGhlaXIgYWNjb3VudCBoYXMgYmVlbiBhZGp1c3RlZCc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdGaWxsIGluIHRoZXNlIGZpZWxkcyB0byBjaGFuZ2UgdGhlIHVzZXIgcGFzc3dvcmQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdFZGl0IFVzZXInOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHBhcnRpYWxseSByZWdpc3RlcmVkIHVzZXI/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdVc2VySUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnVXNlcm5hbWUnOwokbGFuZ1snaGRyX2dycG5hbWUnXSA9ICdHcm91cCc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0NyZWF0ZWQnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRW1haWknOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzZXJzIGZvdW5kIChsaW1pdGVkIHRvIGEgbWF4aW11bSBvZiAyNTApJzsKJGxhbmdbJ3VzZXJzJ10gPSAnVXNlcnMnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdMaXN0IGFsbCBlbnRyaWVzIG1vcmUgdGhhbiAxIGRheSBvbGQnOwokbGFuZ1snc3ViamVjdCddID0gJ1N1YmplY3QgZm9yIG91dGdvaW5nIGVtYWlsJzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnSFRNTCBtZXNzYWdlIGJvZHknOwokbGFuZ1sndGV4dGJvZHknXSA9ICdUZXh0IG1lc3NhZ2UgYm9keSc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdBIG51bWJlciBvZiB1c2VycyBhcmUgaW4gdGhlIG1pZGRsZSBvZiByZWdpc3RlcmluZy4gIEN1cnJlbnRseSB0aGlzIGNvdW50IGlzIGF0Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ1JlbW92ZSBhbGwgZW50cmllcyBtb3JlIHRoYW4gYSB3ZWVrIG9sZCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgbW9udGggb2xkJzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgZGF5IG9sZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ0FyZSB5b3Ugc3VyZT8nOyAKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ1lvdXIgcmVnaXN0cmF0aW9uIGluZm8gaGFzIGJlZW4gbW9kaWZpZWQnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1JlZ2lzdHJhdGlvbiBDb25maXJtYXRpb24nOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3Rlcic7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdGaW5hbCBNZXNzYWdlIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ1ZlcmlmeSBSZWdpc3RyYXRpb24nOwokbGFuZ1snY29kZSddID0gJ1ZhbGlkYXRpb24gS2V5JzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdTZXQgVG8gRGVmYXVsdHMnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTm8gcHJvcGVydGllcyBmb3VuZCBmb3IgdGhpcyB1c2VyJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ05vIHByb3BlcnR5IHJlbGF0aW9ucyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdJbnZhbGlkIGVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdObyB2YWxpZCBlbWFpbCBhZGRyZXNzIGZpZWxkIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdGaWVsZCAlcyBtdXN0IGJlIGZpbGxlZCBpbic7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmF0aW9uIFRlbXBsYXRlIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ0NvbmZpcm1hdGlvbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdVc2VyIEluZm8gQ2hhbmdlZCBUZW1wbGF0ZSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1VzZXIgbm90IGZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ1VzZXJuYW1lIGlzIGludmFsaWQgKHRvbyBsb25nLCB0b28gc2hvcnQsIG9yIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycykuICBIaW50LSBVc2VybmFtZXMgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgKG5vIHNwYWNlcyknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RoYXQgdXNlcm5hbWUgaXMgY3VycmVudGx5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdFUlJPUjogUGFzc3dvcmRzIGRvbnQgbWF0Y2gnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFzc3dvcmQgaXMgaW52YWxpZCAocGFzc3dvcmRzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMgY2hhcmFjdGVycyBpbiBsZW5ndGgpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdVc2VybmFtZSBjYW5ub3QgYmUgZW1wdHknOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXNzd29yZCAoYWdhaW4pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IG51bWJlciAob3IgaW5jb3JyZWN0KSBwYXJhbWV0ZXJzIHN1cHBsaWVkIHRvIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdDb3VsZCBub3QgZ2V0IGluc3RhbmNlIG9mIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnR3JvdXAgbmFtZSBzcGVjaWZpZWQgZG9lcyBub3QgZXhpc3QnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGhlIHRleHQgZnJvbSB0aGUgaW1hZ2Ugd2FzIG5vdCBlbnRlcmVkIGNvcnJlY3RseSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJhdGlvbiBlbWFpbHMgc2hvdWxkIGJlIHNlbnQgdG8nOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdSZXF1aXJlIHRoZSB1c2VyIHRvIGNvbmZpcm0gcmVnaXN0cmF0aW9uIHZpYSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU2VuZCBhbiBlbWFpbCBub3RpZmljYXRpb24gd2hlbiBzb21lb25lIHJlZ2lzdGVycyc7CiRsYW5nWydjYW5jZWwnXSA9ICdDYW5jZWwnOwokbGFuZ1snc3VibWl0J10gPSAnU3VibWl0JzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NlbGYgUmVnaXN0cmF0aW9uIE1vZHVsZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGxhdGlvbiBzdWNjZXNzZnVsbCwgcGxlYXNlIHJlbWVtYmVyIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24gU2V0dGluZ3MmcXVvdDsgcGVybWlzc2lvbi4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHRoZW4gY2FwdGNoYSBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gIFdlIHN0cm9uZ2x5IHJlY2NvbW1lbmQgdGhhdCB5b3UgaW5zdGFsbCB0aGlzIG1vZHVsZS4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGFuZCB5b3Ugd2FudCB0byBkaXNhYmxlIGl0LCB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbSBpbiB5b3VyIHNlbGZyZWdpc3RyYXRpb24gdGFnLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gbW9kdWxlIGlzIHVuaW5zdGFsbGVkLiAgU2VlIHlvdSBsYXRlci4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGUgUHJlZmVyZW5jZXMnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlIEFkbWluIFBhbmVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gTW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSBtb2R1bGUgdGhhdCBhbGxvd3MgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPldlbGNvbWUgdG8gdGhlIHNlbGYgcmVnaXN0cmF0aW9uIG1vZHVsZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPgo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+CjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPgo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+CjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzXCdzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPgo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICJjaGVja2FsbCI8L3A+CjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+CjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgInlvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkIiBlbWFpbCB0ZW1wbGF0ZXM8L3A+CjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+CjxwPkFkZGVkIGEgIkRlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSIgYnV0dG9uPC9wPgo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPgo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+CjxwPlRoZSAiUmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24iIGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+CjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+CjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+CjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+CjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+CjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPgo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+CjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPgo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPgogICAgPHA+QWRkZWQgZXZlbnRzIGFuZCAxLjAgY29tcGF0aWJpbGl0eTwvcD4KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPgo8L2xpPgo8bGk+PHA+VmVyc2lvbiAxLjEuMS4gLSBBcHIgMjAwNzwvcD4KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPgogICAgPHA+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+CiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+CiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+CjwvbGk+CjxsaT48cD5WZXJzaW9uIDEuMS4yLiAtIE5vdiAyMDA3PC9wPgogICAgPHA+Rml4IHRoZSBwcm9ibGVtIHdpdGggdGhlIFVzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSB0aGluZzwvcD4KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPgogICAgPHA+Rml4ZXMgdGhlIHByb2JsZW0gd2l0aCBjaGVja2JveCBwcm9wZXJ0aWVzIG5vdCB3b3JraW5nPC9wPgogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjIgbWluaW11bTwvcD4KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD1cJ2JsYWhcJ308L3A+CiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4KPC9saT4KPGxpPjxwPlZlcnNpb24gMS4xLjMuIC0gTm92IDIwMDc8L3A+CiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPgogICAgPHA+Tm93IFJlcXVpcmUgRkVVIDEuMy4xPC9wPgogICAgPHA+QWRkcyB0aGUgbm9pbmxpbmUgcGFyYW1ldGVyPC9wPgo8L2xpPgo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIGlzIGRlc2lnbmVkIHRvIGFsbG93IGZyb250IGVuZCB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzIGFuZCBmaWxsIGluIHRoZSByZXF1aXJlZCBpbmZvcm1hdGlvbi4gIEl0IHRoZW4gc2VuZHMgYSBjb25maXJtYXRpb24gZW1haWwsIHdpdGggYSBsaW5rIHRvIGEgc2Vjb25kIHBhZ2UgdGhhdCBtdXN0IGJlIGNvbXBsZXRlZCBiZWZvcmUgdGhlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZS4gIE9uY2UgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLCBhIHVzZXIgYWNjb3VudCBpcyBjcmVhdGVkIGluIHRoZSBmcm9udCBlbmQgdXNlcnMgbW9kdWxlLjwvcD4KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICJFbWFpbCBBZGRyZXNzIiBpbiB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUsIGFuZCBhc3NvY2lhdGUgdGhhdCBwcm9wZXJ0eSB3aXRoIHRoZSBncm91cCB0byBiZSB1c2VkIGZvciBzZWxmIHJlZ2lzdHJhdGlvbi48L3A+CjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPgo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPgo8cD5Zb3UgbXVzdCBoYXZlIHByZXZpb3VzbHkgY3JlYXRlZCBwcm9wZXJ0aWVzIGFuZCB1c2VyIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS48L3A+CjxoMz5QYXJhbWV0ZXJzPC9oMz4KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICJzaWdudXAiIGFuZCAidmVyaWZ5Ii4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICJzaWdudXAiIGlzIGFzc3VtYmVkLjwvcD4KPHA+PHN0cm9uZz5ncm91cDwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAic2lnbnVwIiwgb3IgaWYgbW9kZSBpcyBsZWZ0IGVtcHR5LjwvcD4KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+CjxoMz5TdXBwb3J0PC9oMz4KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPgo8dWw+CjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5XCdzCm1vZHVsZSBob21lcGFnZSBhdCA8YSBocmVmPSJodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnIj50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+CjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zIj5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+CjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgCjwvdWw+CjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dApvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+Cgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSI+Jmx0O2NhbGd1eTEwMDBAaG90bWFpbC5jb20mZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPgonOwo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/cs_CZ.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnUG9za3l0bnV0JnlhY3V0ZTsgb3bEm8WZb3ZhYyZpYWN1dGU7IGsmb2FjdXRlO2QgamUgbmVwbGF0biZ5YWN1dGU7JzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ1VkJmFhY3V0ZTtsb3N0IHZ5dm9sYW4mYWFjdXRlOyBrZHnFviBub3YmeWFjdXRlOyB1xb5pdmF0ZWwgZG9rb27EjWlsIHZ5cGzFiG92JmFhY3V0ZTtuJmlhY3V0ZTsgcmVnaXN0cmHEjW4maWFjdXRlO2hvIGZvcm11bCZhYWN1dGU7xZllJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdVZCZhYWN1dGU7bG9zdCB6bmHEjSZpYWN1dGU7YyZpYWN1dGU7LCDFvmUgdcW+aXZhdGVsIHBvdHZyZGlsIG9kZXNsYW4meWFjdXRlOyBlLW1haWwgYSBqZSBueW4maWFjdXRlOyBrb21wbGV0bsSbIHphcmVnaXN0cm92JmFhY3V0ZTtuJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ1ptxJtuaXQgYWRtaW5pc3RyYcSNbiZpYWN1dGU7IG5hc3RhdmVuJmlhY3V0ZTs/JzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICdQb25lY2h0ZSB0b3RvIHBvbGUgcHImYWFjdXRlO3pkbiZlYWN1dGU7IHBybyB6YWNob3YmYWFjdXRlO24maWFjdXRlOyBzdCZhYWN1dGU7dmFqJmlhY3V0ZTtjJmlhY3V0ZTtobyBoZXNsYSc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnUG9uZWNodGUgdG90byBwb2xlIHByJmFhY3V0ZTt6ZG4mZWFjdXRlOyBwcm8gemFjaG92JmFhY3V0ZTtuJmlhY3V0ZTsgc3QmYWFjdXRlO3ZhaiZpYWN1dGU7YyZpYWN1dGU7aG8gaGVzbGEnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFLW1haWxvdiZlYWN1dGU7IGFkcmVzeSBzZSBuZXNob2R1aiZpYWN1dGU7JzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnVnnFvmFkb3ZhdCwgYWJ5IHXFvml2YXRlbCZlYWN1dGU7IHZsb8W+aWxpIHN2b3UgZS1tYWlsb3ZvdSBhZHJlc3UgZHZha3ImYWFjdXRlO3QnOwokbGFuZ1snYWdhaW4nXSA9ICd6bm92dSc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ1NtYXphdCB2eWJyYW4mZWFjdXRlOyB1xb5pdmF0ZWxlJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnxb0mYWFjdXRlO2RuJmVhY3V0ZTsgZGVmaW5pY2Ugdmxhc3Rub3N0JmlhY3V0ZTssIG5lYm8gZG8mc2Nhcm9uO2xvIGsgY2h5YsSbIHDFmWkgamVqaWNoIHpqaSZzY2Fyb247xaVvdiZhYWN1dGU7biZpYWN1dGU7IHogZGF0YWImYWFjdXRlO3plJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnxb0mYWFjdXRlO2RuJmVhY3V0ZTsgc2t1cGlueSwgbmVibyBkbyZzY2Fyb247bG8gayBwb3QmaWFjdXRlO8W+JmlhY3V0ZTttIHDFmWkgamVqaWNoIHomaWFjdXRlO3NrJmFhY3V0ZTtuJmlhY3V0ZTsgeiBkYXRhYiZhYWN1dGU7emUnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ0NoeWJhIGRhdGFiJmFhY3V0ZTt6ZSc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IExvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnS2xpa27Em3RlIHpkZSc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0ppxb4ganNlbSB2eXBsbmlsIHJlZ2lzdHJhxI1uJmlhY3V0ZTsgZm9ybXVsJmFhY3V0ZTvFmSwgYWxlIG5lb2JkcsW+ZWwganNlbSBlLW1haWwsIG3Fr8W+ZXRlIG1pIGhvIHByb3MmaWFjdXRlO20gem5vdnUgcG9zbGF0Lic7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0RvIEZyb250RW5kVXNlcnMgYnlsIHDFmWlkJmFhY3V0ZTtuIG5vdiZ5YWN1dGU7IHXFvml2YXRlbCc7CiRsYW5nWydlZGl0J10gPSAnVXByYXZpdCc7CiRsYW5nWyd1bmtub3duJ10gPSAnTmV6biZhYWN1dGU7bSZ5YWN1dGU7JzsKJGxhbmdbJ3NlbGVjdCddID0gJ1Z5YnJhdCc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdWeWJyYXQgdiZzY2Fyb247ZSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ1pydSZzY2Fyb247aXQgdiZ5YWN1dGU7YsSbcic7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1Bvc2xhdCBlLW1haWwgdcW+aXZhdGVsaSc7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybXVqZSB1xb5pdmF0ZWxlLCDFvmUgamVqaWNoICZ1YWN1dGU7xI1ldCBieWwgdXByYXZlbic7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdWeXBsxYh0ZSB0YXRvIHBvbGUgcHJvIHptxJtudSB1xb5pdmF0ZWxzayZlYWN1dGU7aG8gaGVzbGEnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdVcHJhdml0IHXFvml2YXRlbGUnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnT3ByYXZkdSBjaGNldGUgdnltYXphdCB0b2hvdG8gxI0mYWFjdXRlO3N0ZcSNbsSbIHJlZ2lzdHJvdmFuJmVhY3V0ZTtobyB1xb5pdmF0ZWxlPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnVXNlcklEJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ1XFvml2YXRlbHNrJmVhY3V0ZTsgam0mZWFjdXRlO25vJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnU2t1cGluYSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ3Z5dHZvxZllbm8nOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdOYWxlemVuJmlhY3V0ZTsgdcW+aXZhdGVsJmVhY3V0ZTsgKG9tZXplbm8gbWF4aW0mYWFjdXRlO2xuJmlhY3V0ZTttIHBvxI10ZW0gMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1XFvml2YXRlbCZlYWN1dGU7JzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnVnlwc2F0IHYmc2Nhcm9uO2VjaG55IHBvbG/Fvmt5IHYmaWFjdXRlO2NlIG5lxb4gMSBkZW4gc3RhciZlYWN1dGU7JzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdQxZllZG3Em3Qgb2RjaG96JmlhY3V0ZTtobyBlLW1haWx1JzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnVMSbbG8gSFRNTCB6cHImYWFjdXRlO3Z5JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVMSbbG8gdGV4dG92JmVhY3V0ZTtobyBlLW1haWx1JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ07Em2t0ZcWZJmlhY3V0ZTsgdcW+aXZhdGVsJmVhY3V0ZTsganNvdSDEjSZhYWN1dGU7c3RlxI1uxJsgcmVnaXN0cm92YW4maWFjdXRlOy4gSmVqaWNoIHBvxI1ldCBqZSBha3R1JmFhY3V0ZTtsbsSbOic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ09kZWJyYXQgdiZzY2Fyb247ZWNobnkgcG9sb8W+a3kgc3RhciZzY2Fyb247JmlhY3V0ZTsgbmXFviB0JnlhY3V0ZTtkZW4nOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnT2RlYnJhdCB2JnNjYXJvbjtlY2hueSBwb2xvxb5reSBzdGFyJnNjYXJvbjsmaWFjdXRlOyBuZcW+IHJvayc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnT2RlYnJhdCB2JnNjYXJvbjtlY2hueSBwb2xvxb5reSBzdGFyJnNjYXJvbjsmaWFjdXRlOyBuZcW+IHQmeWFjdXRlO2Rlbic7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdPZGV2cmF0IHYmc2Nhcm9uO2VjaG55IHomYWFjdXRlO3puYW15JzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdKc3RlIHNpIGppc3Q/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ1ZhJnNjYXJvbjtlIHJlZ2lzdHJhxI1uJmlhY3V0ZTsgJnVhY3V0ZTtkYWplIGJ5bHkgdXByYXZlbnknOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1BvdHZyemVuJmlhY3V0ZTsgcmVnaXN0cmFjZSc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJhY2UnOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnRmluYWwgTWVzc2FnZSBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdPdsSbxZlpdCByZWdpc3RyYWNpJzsKJGxhbmdbJ2NvZGUnXSA9ICdPdsSbxZlvdmFjJmlhY3V0ZTsga2wmaWFjdXRlO8SNJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdOYXN0YXZpdCBuYSB2JnlhY3V0ZTtjaG96JmlhY3V0ZTsgaG9kbm90eSc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdQcm8gdG9ob3RvIHXFvml2YXRlbGUgbmVieWx5IG5hbGV6ZW55IMW+JmFhY3V0ZTtkbiZlYWN1dGU7IHZsYXN0bm9zdGknOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydHkgcmVsYXRpb25zJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ05lcGxhdG4mYWFjdXRlOyBlLW1haWxvdiZhYWN1dGU7IGFkcmVzYSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05lYnlsbyBuYWxlemVubyBwb2xlIG9ic2FodWomaWFjdXRlO2MmaWFjdXRlOyBwbGF0bm91IGUtbWFpbG92b3UgYWRyZXN1JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdQb2xlICVzIG11cyZpYWN1dGU7IGImeWFjdXRlO3QgdnlwbG7Em25vJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYcSNbiZpYWN1dGU7ICZzY2Fyb247YWJsb25hIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhxI1uJmlhY3V0ZTsgJnNjYXJvbjthYmxvbmEgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICcmU2Nhcm9uO2FibG9uYSBlLW1haWx1IHBybyBwb3R2cnplbiZpYWN1dGU7JzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJyZTY2Fyb247YWJsb25hIHptxJtueSB1xb5pdmF0ZWxzayZ5YWN1dGU7Y2ggaW5mb3JtYWMmaWFjdXRlOyc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ05hc3RhdmVuJmlhY3V0ZTsnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnVcW+aXZhdGVsIG5lYnlsIG5hbGV6ZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8gamUgbmVwbGF0biZlYWN1dGU7IChwxZkmaWFjdXRlO2xpJnNjYXJvbjsgZGxvdWgmZWFjdXRlOywgcMWZJmlhY3V0ZTtsaSZzY2Fyb247IGtyJmFhY3V0ZTt0ayZlYWN1dGU7LCBuZWJvIG9ic2FodWplIG5lcGxhdG4mZWFjdXRlOyB6bmFreSAtIHBvdm9sZW5hIGpzb3UgcG91emUgcCZpYWN1dGU7c21lbmEgYmV6IGRpYWtyaXRpa3kgYSBtZXplcikuICc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8gamUgamnFviBwb3XFviZpYWN1dGU7diZhYWN1dGU7bm8nOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnQ0hZQkE6IEhlc2xhIG5lb2Rwb3YmaWFjdXRlO2RhaiZpYWN1dGU7JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ0hlc2xvIGplIG5lcGxhdG4mZWFjdXRlOyAoaGVzbGEgbXVzJmlhY3V0ZTsgbSZpYWN1dGU7dCBkJmVhY3V0ZTtsa3UgbWV6aSAlcyBhICVzIHpuYWt5KSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnVcW+aXZhdGVsc2smZWFjdXRlOyBqbSZlYWN1dGU7bm8gbXVzJmlhY3V0ZTsgYiZ5YWN1dGU7dCB6YWQmYWFjdXRlO25vJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnSGVzbG8gKHpub3Z1KSc7CiRsYW5nWydwYXNzd29yZCddID0gJ0hlc2xvJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnUMWZaWhsYSZzY2Fyb247b3ZhYyZpYWN1dGU7IGptJmVhY3V0ZTtubyc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnVmxvxb50ZSB0ZXh0IHogb2JyJmFhY3V0ZTt6a3UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnUMWZaSB2b2wmYWFjdXRlO24maWFjdXRlOyBtdWR1bHUgYnlsbyBwb3XFvml0byBwxZkmaWFjdXRlO2xpJnNjYXJvbjsgbSZhYWN1dGU7bG8gcGFyYW1ldHLFrywgbmVibyBqc291IHphZGFuJmVhY3V0ZTsgcGFyYW1ldHJ5IG5lcGxhdG4mZWFjdXRlOyc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdOZW1vaHUgc2UgcMWZaXBvaml0IGsgbXVkdWx1IEZyb250RW5kVXNlcnMnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdVdmVkZW4mZWFjdXRlOyBqbSZlYWN1dGU7bm8gc2t1cGlueSBuZWV4aXN0dWplJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1RleHQgeiBvYnImYWFjdXRlO3prdSBuZWJ5bCB2bG/FvmVuIHNwciZhYWN1dGU7dm7Emyc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJhxI1uJmlhY3V0ZTsgZS1tYWlseSBieSBtxJtseSBiJnlhY3V0ZTt0IHphc2wmYWFjdXRlO255IG5hIGUtbWFpbHknOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdWecW+YWRvdmF0IHXFvml2dGVsb3ZvIHBvdHZyemVuJmlhY3V0ZTsgcmVnaXN0cmFjZSBlLW1haWxlbSc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnUG9zbGF0IHVwb3pvcm7Em24maWFjdXRlOyBlLW1haWxlbSwga2R5xb4gc2UgbsSba2RvIHJlZ2lzdHJ1amUnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsU3Rvcm5vJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1Zsb8W+aXQnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnU2Ftb3N0YXRuJmFhY3V0ZTsgcmVnaXN0cmFjZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGxhdGlvbiBzdWNjZXNzZnVsbCwgcGxlYXNlIHJlbWVtYmVyIHRvIHNldCB0aGUgJnF1b3Q7TW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24gU2V0dGluZ3MmcXVvdDsgcGVybWlzc2lvbi4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsIFNhbW9zdGF0biZhYWN1dGU7IHJlZ2lzdHJhY2UgYnlsIG9kaW5zdGFsb3YmYWFjdXRlO24uIE5hc2hsZWRhbm91IHDFmSZpYWN1dGU7JnNjYXJvbjt0xJsuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgb2RpbnN0YWxvdiZhYWN1dGU7bi4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWwgdmVyemUgJXMgaW5zdGFsbG92JmFhY3V0ZTtuLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdWbGFzdG5vc3RpIG1vZHVsdSBuYXN0YXZlbnknOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnUMWZJmlhY3V0ZTtzdHVwIHphayZhYWN1dGU7eiZhYWN1dGU7bi4gUHJvcyZpYWN1dGU7bSB6a29udHJvbHVqdGUgc3YmYWFjdXRlOyBvcHImYWFjdXRlO3ZuxJtuJmlhY3V0ZTsuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnQ2h5YmEhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWwgYWt0dWFsaXpvdiZhYWN1dGU7biBuYSB2ZXJ6aSAlcy4nOwokbGFuZ1sndGl0bGVfbW9kX3ByZWZzJ10gPSAnTmFzdGF2ZW4maWFjdXRlOyBtb2R1bHUnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnQWRtaW5pc3RyYcSNbiZpYWN1dGU7IHBhbmVsIG1vZHVsdSc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ01vZHVsIHNhbW9yZWdpc3RyYWNlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTW9kdWwsIGt0ZXImeWFjdXRlOyB1bW/FvsWIdWplIHNhbW9zdGF0bm91IHJlZ2lzdHJhY2kgdcW+aXZhdGVsxa8uJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPlYmaWFjdXRlO3RlanRlIHYgbW9kdWx1IFNhbW9zdGF0biZhYWN1dGU7IHJlZ2lzdHJhY2UuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMmIzAzOTtzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPg0KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+DQo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICZxdW90O2NoZWNrYWxsJnF1b3Q7PC9wPg0KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4NCjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgJnF1b3Q7eW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWQmcXVvdDsgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgJnF1b3Q7RGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5JnF1b3Q7IGJ1dHRvbjwvcD4NCjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPg0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPg0KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+DQo8cD5UaGUgJnF1b3Q7UmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24mcXVvdDsgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPg0KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4NCjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+DQo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+DQo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4NCjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4NCjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPg0KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPg0KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+DQogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjEuPC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4xLjMgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZW5hYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBUaGUgQ2FwdGNoYSBtb2R1bGUgbXVzdCBiZSBpbnN0YWxsZWQgZm9yIHRoaXMgcGFyYW1ldGVyIHRvIHdvcmsuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExODk4MTEwMzkuMTA1LjYudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPW1pbGhhdXMud2lraWRvdC5jb218dXRtY2N0PS9wcnV6a3VtLWRvbW92c2t5Y2gtc3RyYW5lay1jbXN8dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTYwODg1NTIxMC4xMTY3OTA4MTA5LjExOTAwNDUwOTcuMTE5MDA1MDI2OC4xMTInOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/da_DK.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVGhlIHZhbGlkYXRpb24ga2V5IHN1cHBsaWVkIGlzIGludmFsaWQnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnRW4gYmVnaXZlbmhlZCwgZGVyIGluZGlrZXJlciBhdCBlbiBueSBicnVnZXIgaGFyIHVkZnlsZHQgcmVnaXN0cmVyaW5nc2JsYW5rZXR0ZW4nOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ0VuIGJlZ2l2ZW5oZWQsIGRlciBpbmRpa2VyZXIgYXQgZW4gYnJ1Z2VyIGhhciB2ZXJpZmljZXJldCBzaW4gaW5mb3JtYXRpb24gb2cgaGFyIGZ1bGR0ZW5kdCByZWdpc3RyZXJpbmdlbic7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJzxwPkVuIGJlZ2l2ZW5oZWQsIGRlciBpbmRpa2VyZXIgYXQgZW4gbnkgYnJ1Z2VyIGhhciB1ZGZ5bGR0IHJlZ2lzdHJlcmluZ3NibGFua2V0dGVuPC9wPg0KPGg0PlBhcmFtZXRyZTwvaDQ+DQo8dWw+DQo8bGk+PGVtPmJydWdlcm5hdm48L2VtPiAtIEJydWdlcm5hdm4gdmFsZ3QgYWYgZGVuIG55ZSBicnVnZXI8L2xpPg0KPGxpPjxlbT5lbWFpbDwvZW0+IC0gRGVuIG55ZSBicnVnZXJzIGVtYWlsIGFkcmVzc2U8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX29uVXNlclJlZ2lzdGVyZWQnXSA9ICc8cD5FbiBiZWdpdmVuaGVkLCBkZXIgaW5kaWtlcmVyIGF0IGVuIGJydWdlciBlciBibGV2ZXQgdmVyaWZpY2VyZXQgb2cgbnUgZXIgcmVnaXN0cmVyZXQgc29tIGZyb250IGVuZCBicnVnZXI8L3A+DQo8aDQ+UGFyYW1ldHJlPC9oND4NCjx1bD4NCjxsaT48ZW0+YnJ1Z2VybmF2bjwvZW0+IC0gRGV0IHJlZ2lzdHJlcmVkZSBicnVnZXJuYXZuPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0NoYW5nZSBhZG1pbiBwcmVmZXJlbmNlcz8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xhZCBkZXR0ZSBmZWx0IHYmYWVsaWc7cmUgdG9tdCBmb3IgYXQgYmV2YXJlIGJydWdlcmVucyBrb2Rlb3JkJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdMYWQgZGV0dGUgZmVsdCB2JmFlbGlnO3JlIHRvbXQgZm9yIGF0IGJldmFyZSBicnVnZXJlbnMga29kZW9yZCc7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0VtYWlsIGFkcmVzc2VyIGVyIGlra2UgZW5zJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnS3ImYWVsaWc7diBhdCBicnVnZXJlIGluZHRhc3RlciBkZXJlcyBlbWFpbGFkcmVzc2UgdG8gZ2FuZ2UnOwokbGFuZ1snYWdhaW4nXSA9ICdpZ2VuJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnU2xldCB2YWxndGUgYnJ1Z2VyZSc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ05vIHByb3BlcnR5IGRlZmluaXRpb25zLCBvciBwcm9ibGVtIHJldHJlaXZpbmcgdGhlbSBmcm9tIHRoZSBkYXRhYmFzZSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0luZ2VuIGdydXBwZXIgZWxsZXIgcHJvYmxlbWVyIG1lZCBhdCBoZW50ZSBncnVwcGVvdmVyc2lndCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRmVqbCBpIGRhdGFiYXNlbic7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IExvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnS2xpayBoZXInOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdKZWcgaGFyIGFsbGVyZWRlIHVkZnlsZHQgcmVnaXN0cmVyaW5nc2JsYW5rZXR0ZW4sIG1lbiBqZWcgaGFyIGlra2UgbW9kdGFnZXQgZW4gZW1haWwuIFZpbCBJIHZlbmxpZ3N0IHNlbmRlIGRlbiBpZ2VuPyc7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0VuIG55IGJydWdlciBlciBibGV2ZXQgdGlsZiZvc2xhc2g7amV0IEZyb250RW5kQnJ1Z2VyZSc7CiRsYW5nWydlZGl0J10gPSAnUmV0JzsKJGxhbmdbJ3Vua25vd24nXSA9ICdVa2VuZHQnOwokbGFuZ1snc2VsZWN0J10gPSAnViZhZWxpZztsZyc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdNYXJrZXIgYWxsZSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0ZqZXJuIG1hcmtlcmluZyBmcmEgYWxsZSc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NlbmQgZW4gZW1haWwgdGlsIGJydWdlcmVuJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtZXJlciBicnVnZXJlbiBvbSBhdCBoYW5zIGtvbnRvIGVyIGJsZXZldCAmYWVsaWc7bmRyZXQpJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ1VkZnlsZCBkaXNzZSBmZWx0ZXIgZm9yIGF0ICZhZWxpZztuZHJlIGJydWdlcmVucyBrb2Rlb3JkJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnUmVkaWdlciBicnVnZXInOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnRXIgZHUgc2lra2VyIHAmYXJpbmc7IGF0IGR1IHZpbCBzbGV0dGUgZGVubmUgZGVsdmlzdCBvcHJldHRlZGUgYnJ1Z2VyPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnQnJ1Z2VySUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnQnJ1Z2VybmF2bic7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dydXBwZSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ09wcmV0dGV0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdGdW5kbmUgYnJ1Z2VyZSAoYmVnciZhZWxpZztuc2V0IHRpbCBtYXggMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ0JydWdlcmUnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdWaXMgYWxsZSBpbmRsJmFlbGlnO2csIGRlciBlciBtZXJlIGVuZCBlbiBkYWcgZ2FtbGUnOwokbGFuZ1snc3ViamVjdCddID0gJ0VtbmUgZm9yIHVkZyZhcmluZztlbmRlIG1haWwnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdIVE1MIG1lc3NhZ2UgYm9keSc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ1RleHQgbWVzc2FnZSBib2R5JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0EgbnVtYmVyIG9mIHVzZXJzIGFyZSBpbiB0aGUgbWlkZGxlIG9mIHJlZ2lzdGVyaW5nLiAgQ3VycmVudGx5IHRoaXMgY291bnQgaXMgYXQ6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnU2xldCBhbGxlIGluZGwmYWVsaWc7ZywgZGVyIGVyIG1lcmUgZW5kIGVuIHVnZSBnYW1sZSc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdTbGV0IGFsbGUgaW5kbCZhZWxpZztnLCBkZXIgZXIgbWVyZSBlbmQgZW4gbSZhcmluZztuZWQgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ1NsZXQgYWxsZSBpbmRsJmFlbGlnO2csIGRlciBlciBtZXJlIGVuZCBlbiBkYWcgZ2FtbGUnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnU2xldCBhbGxlIGluZGwmYWVsaWc7Zyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnRXIgZHUgc2lra2VyPyc7CiRsYW5nWydyZWdpc3RyYXRpb25faW5mb19lZGl0ZWQnXSA9ICdEaW5lIHJlZ2lzdHJlcmVkZSBvcGx5c25pbmdlciBlciBibGV2ZXQgJmFlbGlnO25kcmV0JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdCZWtyJmFlbGlnO2Z0ZWxzZSBwJmFyaW5nOyByZWdpc3RyZXJpbmcnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyJmVhY3V0ZTtyJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ0ZpbmFsIE1lc3NhZ2UgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnVmVyaWZpY2VyIHJlZ2lzdHJlcmluZyc7CiRsYW5nWydjb2RlJ10gPSAnVmFsaWRhdGlvbiBLZXknOwokbGFuZ1snZGVmYXVsdCddID0gJ1NldCBUbyBEZWZhdWx0cyc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdObyBwcm9wZXJ0aWVzIGZvdW5kIGZvciB0aGlzIHVzZXInOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTm8gcHJvcGVydHkgcmVsYXRpb25zJzsKJGxhbmdbJ2Vycm9yX2VtYWlsaW52YWxpZCddID0gJ1VneWxkaWcgZW1haWwgYWRyZXNzZSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05vIHZhbGlkIGVtYWlsIGFkZHJlc3MgZmllbGQgZm91bmQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0ZpZWxkICVzIG11c3QgYmUgZmlsbGVkIGluJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYXRpb24gVGVtcGxhdGUgMSc7CiRsYW5nWydyZWdpc3RyYXRpb24yX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmF0aW9uIFRlbXBsYXRlIDInOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnQ29uZmlybWF0aW9uIEVtYWlsIFRlbXBsYXRlJzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ1VzZXIgSW5mbyBDaGFuZ2VkIFRlbXBsYXRlJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnSW5kc3RpbGxpbmdlcic7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdCcnVnZXJlbiBibGV2IGlra2UgZnVuZGV0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ0JydWdlcm5hdm5ldCBlciB1Z3lsZGlndCAoZm9yIGxhbmd0LCBmb3Iga29ydCBlbGxlciBpbmRlaG9sZGVyIHVneWxkaWdlIGthcmFrdGVyZXIpLiBUaXAgLSBicnVnZXJuYXZuZSBtJmFyaW5nOyBrdW4gaW5kZWhvbGRlIGFscGhhbnVtZXJpc2tlIHRlZ24gKGluZ2VuIG1lbGxlbXJ1bSknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0RldCBicnVnZXJuYXZuIGVyIGFsbGVyZWRlIGkgYnJ1Zyc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdGZWpsOiBLb2Rlb3JkIG1hdGNoZXIgaWtrZSc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdLb2Rlb3JkZXQgZXIgaWtrZSBneWxkaWd0IChrb2Rlb3JkIHNrYWwgdiZhZWxpZztyZSBtZWxsZW0gJXMgb2cgJXMgdGVnbiknOwokbGFuZ1snZXJyb3JfZW1wdHl1c2VybmFtZSddID0gJ0ZlbHRldCBicnVnZXJuYXZuIGthbiBpa2tlIHYmYWVsaWc7cmUgdG9tdCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ0tvZGVvcmQgKGlnZW4pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnS29kZW9yZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0JydWdlcm5hdm4nOwokbGFuZ1snY2FwdGNoYV90aXRsZSddID0gJ1Nrcml2IHRla3N0ZW4gZnJhIGJpbGxlZGV0JzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ0luc3VmZmljaWVudCBudW1iZXIgKG9yIGluY29ycmVjdCkgcGFyYW1ldGVycyBzdXBwbGllZCB0byBtb2R1bGUnOwokbGFuZ1snZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJ10gPSAnQ291bGQgbm90IGdldCBpbnN0YW5jZSBvZiBGcm9udEVuZFVzZXJzIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ0dyb3VwIG5hbWUgc3BlY2lmaWVkIGRvZXMgbm90IGV4aXN0JzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ1Rla3N0ZW4gZnJhIGJpbGxlZGVyIGJsZXYgaWtrZSBza3JldmV0IGtvcnJla3QnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdFbWFpbHMgdmVkciZvc2xhc2g7cmVuZGUgcmVnaXN0cmVyaW5nIHNrYWwgc2VuZGVzIHRpbCc7CiRsYW5nWydyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbiddID0gJ0tyJmFlbGlnO3YgYXQgYnJ1Z2VyZW4gYmVrciZhZWxpZztmdGVyIHJlZ2lzdHJlcmluZ2VuIHZpYSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU2VuZCBhbiBlbWFpbCBub3RpZmljYXRpb24gd2hlbiBzb21lb25lIHJlZ2lzdGVycyc7CiRsYW5nWydjYW5jZWwnXSA9ICdBbm51bGxlcic7CiRsYW5nWydzdWJtaXQnXSA9ICdJbmRzZW5kJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ01vZHVsIHRpbCBzZWx2cmVnaXN0cmVyaW5nJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSW5zdGFsbGF0aW9uIHN1Y2Nlc3NmdWxsLCBwbGVhc2UgcmVtZW1iZXIgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90OyBwZXJtaXNzaW9uLiAgSWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgdGhlbiBjYXB0Y2hhIGZ1bmN0aW9uYWxpdHkgaXMgZW5hYmxlZCBieSBkZWZhdWx0LiAgV2Ugc3Ryb25nbHkgcmVjY29tbWVuZCB0aGF0IHlvdSBpbnN0YWxsIHRoaXMgbW9kdWxlLiAgSWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGluc3RhbGxlZCwgYW5kIHlvdSB3YW50IHRvIGRpc2FibGUgaXQsIHVzZSB0aGUgbm9jYXB0Y2hhIHBhcmFtIGluIHlvdXIgc2VsZnJlZ2lzdHJhdGlvbiB0YWcuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdNb2R1bCB0aWwgc2VsdnJlZ2lzdHJlcmluZyBlciBibGV2ZXQgYWZpbnN0YWxsZXJldC4gVmkgc2VzLi4uJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgYWZpbnN0YWxsZXJldCc7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bCB2ZXJzaW9uICVzIGVyIGluc3RhbGxlcmV0Lic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGUgcHJlZmVyZW5jZXMgdXBkYXRlZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWRnYW5nIG4mYWVsaWc7Z3RldC4gQ2hlY2sgZGluZSB0aWxsYWRlbHNlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWpsISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIG9wZ3JhZGVyZXQgdGlsIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZSBQcmVmZXJlbmNlcyc7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bGUgQWRtaW4gUGFuZWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBNb2R1bGUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdFdCBtb2R1bCwgZGVyIHRpbGxhZGVyIGJydWdlcmUgYXQgcmVnaXN0cmVyZSBkZW0gc2Vsdi4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+VmVsa29tbWVuIHRpbCBtb2R1bGV0IGZvciBzZWx2cmVnaXN0cmVyaW5nPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMmIzAzOTtzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPg0KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+DQo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICZxdW90O2NoZWNrYWxsJnF1b3Q7PC9wPg0KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4NCjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgJnF1b3Q7eW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWQmcXVvdDsgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgJnF1b3Q7RGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5JnF1b3Q7IGJ1dHRvbjwvcD4NCjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPg0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPg0KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+DQo8cD5UaGUgJnF1b3Q7UmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24mcXVvdDsgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPg0KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4NCjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+DQo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+DQo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4NCjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4NCjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPg0KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPg0KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+DQogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjEuIC0gQXByIDIwMDc8L3A+DQogICAgPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAxLjIuMCAobWluaW11bSk8L3A+DQogICAgPHA+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4NCiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPg0KICAgIDxwPlNwbGl0IGNvZGUgb3V0IGludG8gbXVsdGlwbGUgZmlsZXMgdG8gcmVkdWNlIG92ZXJhbGwgbWVtb3J5IGZvb3RwcmludDwvcD4NCiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4NCiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+SHZhZCBnJm9zbGFzaDtyIGRldHRlIG1vZHVsPzwvaDM+DQo8cD5EZXR0ZSBtb2R1bCBlciBkZXNpZ25ldCB0aWwgYXQgdGlsbGFkZSBmcm9udCBlbmQgYnJ1Z2VyZSBhdCByZWdpc3RyZXJlIGRlbSBzZWx2IG9nIHVkZnlsZGUgZGVuIHAmYXJpbmc7a3ImYWVsaWc7dm5lIGluZm9ybWF0aW9uLiBEZXQgc2VuZGVyIGVuIGJla3ImYWVsaWc7ZnRlbHNlcyBlbWFpbCBtZWQgZXQgbGluayB0aWwgZW4gYW5kZW4gc2lkZSwgZGVyIHNrYWwgdWRmJm9zbGFzaDtyZXMgaW5kZW4gcmVnaXN0cmVyaW5nZW4gZXIgZnVsZGVuZHQuIE4mYXJpbmc7ciByZWdpc3RyZXJpbmdlbiBlciBmdWxkdGVuZHQgdmlsIGRlciBibGl2ZXIgb3ByZXR0ZXQgZW4gYnJ1Z2Vya29udG8gaSBmcm9udCBlbmQgYnJ1Z2VyIG1vZHVsZXQuPC9wPg0KPHA+Rm9yIGF0IGJydWdlIGRldHRlIG1vZHVsIHNrYWwgZHUgb3ByZXR0ZSBlbiBlZ2Vuc2thYiBtZWQgdHlwZW4gJnF1b3Q7RW1haWwgQWRkcmVzcyZxdW90OyBpIEZyb250ZW5kVXNlcnMgbW9kdWxldCBvZyBhc3NvY2llcmUgZGVuIGVnZW5za2FiIG1lZCBncnVwcGVuLCBkZXIgc2thbCBicnVnZXMgdGlsIHNlbHZyZWdpc3RyZXJpbmcuPC9wPg0KPGgzPkh2b3JkYW4gYnJ1Z2VyIGplZyBkZXQ8L2gzPg0KPHA+RHUgcGxhY2VyZXIgZiZvc2xhc2g7bGdlbmRlIHRhZyBwJmFyaW5nOyBkaW4gc2lkZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+RHUgc2thbCBpbmRlbiBkYSBoYXZlIG9wcmV0dGV0IGVnZW5za2FiZXIgb2cgYnJ1Z2VyZ3J1cHBlciBpIEZyb250RW5kVXNlcnMgbW9kdWxldCBmb3IgYXQgZGV0dGUgdmlsIHZpcmtlIGtvcnJla3QuPC9wPg0KPGgzPlBhcmFtZXRyZTwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIG11bGlnZSB2JmFlbGlnO3JkaWVyIGVyICZxdW90O3NpZ251cCZxdW90OyBvZyAmcXVvdDt2ZXJpZnkmcXVvdDsuICBIdmlzIGRldHRlIHBhcmFtZXRlciBpa2tlIGVyIHNwZWNpZmljZXJldCwgdmlsICZxdW90O3NpZ251cCZxdW90OyBibGl2ZSB2YWxndC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEZXR0ZSBwYXJhbWV0ZXIgZXIgcCZhcmluZztrciZhZWxpZzt2ZXQgaHZpcyBtb2RlIGVyICZxdW90O3NpZ251cCZxdW90OyBlbGxlciBodmlzIG1vZGUgZXIgdG9tLjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEZXR0ZSB2aWwgc2wmYXJpbmc7IGNhcHRjaGEgZnJhIHAmYXJpbmc7IHNpZ251cCBmb3JtdWxhcmVuLiBIdmlzIENhcHRjaGEgbW9kdWxldCBlciBpbnN0YWxsZXJldCB2aWwgY2FwdGNoYSBzdXBwb3J0IHYmYWVsaWc7cmUgc3RhbmRhcmQuICBEZXR0ZSBwYXJhbWV0ZXIgc2wmYXJpbmc7ciBkZXQgZnJhLjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPkRldHRlIG1vZHVsIGlua2x1ZGVyZXIgaWtrZSBrb21tZXJjaWVsIHN1cHBvcnQuIERlciBhbGxpZ2V2ZWwgZm9yc2tlbGxpZ2UgcmVzc291cmNlciB0aWxnJmFlbGlnO25nZWxpZ2UsIGRlciBrYW4gaGomYWVsaWc7bHBlIGRpZyBtZWQgZGV0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My44MTk1MTMwMjcuMTE4NjY2NDIxOC4xMTg2NjY0MjE4LjExODY5ODIwMzYuMic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExODY2NjQyMTguMS4xLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1zdnIudGVjaGNvbS5keW5kbnMub3JnfHV0bWNjdD0vaW5kZXgucGhwfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1jJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnRGVyIGVpbmdlZ2ViZW5lICZVdW1sO2JlcnByJnV1bWw7ZnVuZ3NzY2hsJnV1bWw7c3NlbCBpc3QgdW5nJnV1bWw7bHRpZyc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vbk5ld1VzZXInXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBlaW4gQmVudXR6ZXIgZGFzIFJlZ2lzdHJpZXJ1bmdzZm9ybXVsYXIgdm9sbHN0JmF1bWw7bmRpZyBhdXNnZWYmdXVtbDtsbHQgaGF0JzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdBdXNmJnV1bWw7aHJlbiwgd2VubiBlaW4gQmVudXR6ZXIgc2VpbmUgRGF0ZW4gJnV1bWw7YmVycHImdXVtbDtmdCBoYXQgdW5kIGpldHp0IHZvbGxzdCZhdW1sO25kaWcgcmVnaXN0cmllcnQgaXN0JzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QXVzZiZ1dW1sO2hyZW4sIHdlbm4gZWluIEJlbnV0emVyIGRhcyBSZWdpc3RyaWVydW5nc2Zvcm11bGFyIHZvbGxzdCZhdW1sO25kaWcgYXVzZ2VmJnV1bWw7bGx0IGhhdDwvcD4NCjxoND5QYXJhbWV0ZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gZGVyIE5hbWUgZGVzIG5ldWVuIEJlbnV0emVyczwvbGk+DQo8bGk+PGVtPmVtYWlsPC9lbT4gLSBkaWUgRW1haWxhZHJlc3NlIGRlcyBuZXVlbiBCZW51dHplcnM8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX29uVXNlclJlZ2lzdGVyZWQnXSA9ICc8cD5BdXNmJnV1bWw7aHJlbiwgd2VubiBlaW4gQmVudXR6ZXIgc2VpbmUgRGF0ZW4gJnV1bWw7YmVycHImdXVtbDtmdCBoYXQgdW5kIGpldHp0IHZvbGxzdCZhdW1sO25kaWcgcmVnaXN0cmllcnQgaXN0PC9wPg0KPGg0PlBhcmFtZXRlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBkZXIgcmVnaXN0cmllcnRlIEJlbnV0emVybmFtZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdEaWUgQWRtaW5pc3RyYXRvci1FaW5zdGVsbHVuZ2VuICZhdW1sO25kZXJuPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGFzc2VuIFNpZSBkaWVzZXMgRmVsZCBsZWVyLCB3ZW5uIFNpZSBkYXMgYmlzaGVyaWdlIEJlbnV0emVyLVBhc3N3b3J0IGJlaWJlaGFsdGVuIG0mb3VtbDtjaHRlbi4nOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0xhc3NlbiBTaWUgZGllc2VzIEZlbGQgbGVlciwgd2VubiBTaWUgZGFzIGJpc2hlcmlnZSBCZW51dHplci1QYXNzd29ydCBiZWliZWhhbHRlbiBtJm91bWw7Y2h0ZW4uJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnRGllIEVtYWlsLUFkcmVzc2VuIHN0aW1tZW4gbmljaHQgJnV1bWw7YmVyZWluLic7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ0JlbnV0emVyIG0mdXVtbDtzc2VuIGlocmUgRW1haWxhZHJlc3NlIHp1ciBCZXN0JmF1bWw7dGlndW5nIGVpbiB6d2VpdGVzIE1hbCBlaW5nZWJlbi4nOwokbGFuZ1snYWdhaW4nXSA9ICdOb2NoIGVpbm1hbCc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ0RpZSBhdXNnZXcmYXVtbDtobHRlbiBCZW51dHplciBsJm91bWw7c2NoZW4nOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdLZWluZSBFaWdlbnNjaGFmdHNkZWZpbml0aW9uZW4gdm9yaGFuZGVuLCBvZGVyIFByb2JsZW1lIGJlaSBkZXJlbiBBYnJ1ZiBhdXMgZGVyIERhdGVuYmFuayc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0tlaW5lIEJlbnV0emVyZ3J1cHBlbiB2b3JoYW5kZW4sIG9kZXIgZWluIFByb2JsZW0gYmVpbSBBdWZmaW5kZW4gZGVyIEJlbnV0emVyZ3J1cHBlbmxpc3RlJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRlbmJhbmtmZWhsZXInOwokbGFuZ1sndGl0bGVfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTmFjaGZvbGdlbmRlcyBUZW1wbGF0ZSBiZWkgdmVybG9yZW5nZWdhbmdlbmVyIEVtYWlsJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBiZWkgdmVybG9yZW5nZWdhbmdlbmVyIEVtYWlsJzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ0hpZXIga2xpY2tlbic7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0ljaCBoYWJlIGRhcyBSZWdpc3RyaWVydW5nc2Zvcm11bGFyIGJlcmVpdHMgdm9sbHN0JmF1bWw7bmRpZyBhdXNnZWYmdXVtbDtsbHQsIGhhYmUgYWJlciBub2NoIGtlaW5lIEVtYWlsIGJla29tbWVuLiBLJm91bWw7bm5lbiBTaWUgbWlyIGRpZXNlIG5vY2ggZWlubWFsIHNlbmRlbj8nOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGJlaSB2ZXJsb3JlbmdlZ2FuZ2VuZXIgRW1haWwnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdFaW4gbmV1ZXIgQmVudXR6ZXIgd3VyZGUgaW0gRnJvbnRlbmRVc2Vycy1Nb2R1bCBoaW56dWdlZiZ1dW1sO2d0Lic7CiRsYW5nWydlZGl0J10gPSAnQmVhcmJlaXRlbic7CiRsYW5nWyd1bmtub3duJ10gPSAnVW5iZWthbm50JzsKJGxhbmdbJ3NlbGVjdCddID0gJ0F1c3cmYXVtbDtobGVuJzsKJGxhbmdbJ2NoZWNrX2FsbCddID0gJ0FsbGUgYXVmICYjMDM5OyZVdW1sO2JlcnByJnV1bWw7ZnQmIzAzOTsgc2V0emVuJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnQWxsZSBhdWYgJiMwMzk7TmljaHQgJnV1bWw7YmVycHImdXVtbDtmdCYjMDM5OyBzZXR6ZW4nOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdFaW5lIEVtYWlsIGFuIGRlbiBCZW51dHplciBzZW5kZW4nOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1pZXJ0IGRlbiBCZW51dHplciwgZGFzcyBzZWluIEtvbnRvIGtvcnJpZ2llcnQgd3VyZGUpJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ1NpZSBtJnV1bWw7c3NlbiBkaWVzZSBGZWxkZXIgYXVzZiZ1dW1sO2xsZW4sIHVtIGRhcyBCZW51dHplci1QYXNzd29ydCB6dSAmYXVtbDtuZGVybi4nOwokbGFuZ1snZWRpdHVzZXInXSA9ICdCZW51dHplciBiZWFyYmVpdGVuJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ1NpbmQgU2llIHNpY2hlciwgZGFzcyBTaWUgZGllc2VuIHRlaWx3ZWlzZSByZWdpc3RyaWVydGVuIEJlbnV0emVyIGwmb3VtbDtzY2hlbiB3b2xsZW4/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdCZW51dHplci1JRCc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdCZW51dHplcm5hbWUnOwokbGFuZ1snaGRyX2dycG5hbWUnXSA9ICdCZW51dHplcmdydXBwZSc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0Vyc3RlbGx0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0VtYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdCZW51dHplciBnZWZ1bmRlbiAoYmVzY2hyJmF1bWw7bmt0IGF1ZiBtYXhpbWFsIDI1MCBCZW51dHplcm4pJzsKJGxhbmdbJ3VzZXJzJ10gPSAnQmVudXR6ZXInOwokbGFuZ1snbGlzdDFkYXknXSA9ICdBbGxlIEVpbnRyJmF1bWw7Z2UgYXVmbGlzdGVuLCBkaWUgJmF1bWw7bHRlciBhbHMgMSBUYWcgc2luZCc7CiRsYW5nWydzdWJqZWN0J10gPSAnQmV0cmVmZiBmJnV1bWw7ciBkaWUgYXVzZ2VoZW5kZSBFbWFpbCc7CiRsYW5nWydodG1sYm9keSddID0gJ0luaGFsdCBkZXIgSFRNTC1OYWNocmljaHQnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdJbmhhbHQgZGVyIFRleHQtTmFjaHJpY2h0JzsKJGxhbmdbJ3Byb21wdF9udW1yZXNldHJlY29yZCddID0gJ0FuemFobCB2b24gQmVudXR6ZXJuLCBkaWUgaWhyIHZlcmxvcmVuIGdlZ2FuZ2VuZXMgUGFzc3cmb3VtbDtydGVyIHp1ciZ1dW1sO2Nrc2V0emVuIHdvbGxlbi4gQWt0dWVsbCBzaW5kIGRpZXM6JzsKJGxhbmdbJ3JlbW92ZTF3ZWVrJ10gPSAnQWxsZSBFaW50ciZhdW1sO2dlIGVudGZlcm5lbiwgZGllICZhdW1sO2x0ZXIgYWxzIGVpbmUgV29jaGUgc2luZCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdBbGxlIEVpbnRyJmF1bWw7Z2UgZW50ZmVybmVuLCBkaWUgJmF1bWw7bHRlciBhbHMgZWluIE1vbmF0IHNpbmQnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ0FsbGUgRWludHImYXVtbDtnZSBlbnRmZXJuZW4sIGRpZSAmYXVtbDtsdGVyIGFscyBlaW5lbiBUYWcgc2luZCc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdBbGxlIEVpbnRyJmF1bWw7Z2UgZW50ZmVybmVuJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdTaW5kIFNpZSBzaWNoZXI/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ0locmUgUmVnaXN0cmllcnVuZ3NpbmZvcm1hdGlvbiB3dXJkZSBtb2RpZml6aWVydC4nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1JlZ2lzdHJpZXJ1bmdzYmVzdCZhdW1sO3RpZ3VuZyc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJpZXJlbic7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdUZW1wbGF0ZSBmJnV1bWw7ciBBYnNjaGx1c3NuYWNocmljaHQnOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmllcnVuZyAmdXVtbDtiZXJwciZ1dW1sO2Zlbic7CiRsYW5nWydjb2RlJ10gPSAnJlV1bWw7YmVycHImdXVtbDtmdW5nc3NjaGwmdXVtbDtzc2VsJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdBbHMgU3RhbmRhcmQgc2V0emVuJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0tlaW5lIEVpZ2Vuc2NoYWZ0ZW4gZiZ1dW1sO3IgZGllc2VuIEJlbnV0emVyIGdlZnVuZGVuJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ0tlaW5lIEJlemllaHVuZ2VuIHp1IGRlciBFaWdlbnNjaGFmdCc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdVbmcmdXVtbDtsdGlnZSBFbWFpbGFkcmVzc2UnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdLZWluIGcmdXVtbDtsdGlnZXMgQWRyZXNzZmVsZCBnZWZ1bmRlbic7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnRGFzIEZlbGQgJXMgbXVzcyBhdXNnZWYmdXVtbDtsbHQgd2VyZGVuJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdSZWdpc3RyaWVydW5ncy1UZW1wbGF0ZSAxJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdSZWdpc3RyaWVydW5ncy1UZW1wbGF0ZSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ1RlbXBsYXRlIGYmdXVtbDtyIGRpZSBFbWFpbGJlc3QmYXVtbDt0aWd1bmcnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnVGVtcGxhdGUgZiZ1dW1sO3IgZ2UmYXVtbDtuZGVydGUgQmVudXR6ZXItSW5mb3JtYXRpb25lbic7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0VpbnN0ZWxsdW5nZW4nOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnQmVudXR6ZXIgbmljaHQgZ2VmdW5kZW4nOwokbGFuZ1snZXJyb3JfaW52YWxpZHVzZXJuYW1lJ10gPSAnRGVyIEJlbnV0emVyIGlzdCB1bmcmdXVtbDtsdGlnICh6dSBsYW5nLCB6dSBrdXJ6IG9kZXIgZW50aCZhdW1sO2x0IHVuZyZ1dW1sO2x0aWdlIFplaWNoZW4pLg0KPGI+SGlud2Vpczo8L2I+IEJlbnV0emVybmFtZW4gZCZ1dW1sO3JmZW4gbnVyIGFscGhhbnVtZXJpc2NoZSBaZWljaGVuIGVudGhhbHRlbiAoa2VpbmUgTGVlcnplaWNoZW4pISc7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnRGllc2VyIEJlbnV0emVybmFtZSBpc3QgYmVyZWl0cyB2ZXJnZWJlbiEnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnRkVITEVSOiBEaWUgUGFzc3cmb3VtbDtydGVyIHN0aW1tZW4gbmljaHQgJnV1bWw7YmVyZWluISc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFzc3dvcmQnXSA9ICdEYXMgUGFzc3dvcnQgaXN0IHVuZyZ1dW1sO2x0aWcgKFBhc3N3Jm91bWw7cnRlciBtJnV1bWw7c3NlbiAlcyBiaXMgJXMgWmVpY2hlbiBsYW5nIHNlaW4pJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdEZXIgQmVudXR6ZXJuYW1lIGRhcmYgbmljaHQgbGVlciBnZWxhc3NlbiB3ZXJkZW4hJzsKJGxhbmdbJ3JlcGVhdHBhc3N3b3JkJ10gPSAnUGFzc3dvcnQgKG5vY2ggZWlubWFsKSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhc3N3b3J0JzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQmVudXR6ZXJuYW1lJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdCaXR0ZSBnZWJlbiBTaWUgZGVuIFRleHQgYXVzIGRlbSBCaWxkIGVpbic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdEYXMgTW9kdWwgd3VyZGUgbWl0IHVudm9sbHN0JmF1bWw7bmRpZ2VuIChvZGVyIGZhbHNjaGVuKSBQYXJhbWV0ZXJuIGF1ZmdlcnVmZW4hJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ0tvbm50ZSBrZWluZSBWZXJiaW5kdW5nIHp1bSBGcm9udEVuZFVzZXJzLU1vZHVsIGhlcnN0ZWxsZW4hJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnRGllc2VyIEdydXBwZW5uYW1lIGV4aXN0aWVydCBuaWNodCEnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnRGVyIGF1cyBkZW0gQmlsZCBlaW5nZWdlYmVuZSBUZXh0IHdhciBmYWxzY2gnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdEaWUgUmVnaXN0cmllcnVuZ3NlbWFpbHMgc29sbGVuIHZlcnNhbmR0IHdlcmRlbiBhbic7CiRsYW5nWydyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbiddID0gJ0VyZm9yZGVydCwgZGFzcyBkZXIgQmVudXR6ZXIgZGllIFJlZ2lzdHJpZXJ1bmcgcGVyIEVtYWlsIGJlc3QmYXVtbDt0aWd0JzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdCZW5hY2hyaWNodGlndW5nc2VtYWlsIHZlcnNlbmRlbiwgd2VubiBzaWNoIGplbWFuZCByZWdpc3RyaWVydCc7CiRsYW5nWydjYW5jZWwnXSA9ICdBYmJyZWNoZW4nOwokbGFuZ1snc3VibWl0J10gPSAnQWJzZW5kZW4nOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnU2VsZlJlZ2lzdHJhdGlvbi1Nb2R1bCc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0RpZSBJbnN0YWxsYXRpb24gd2FyIGVyZm9sZ3JlaWNoLiBCaXR0ZSBkZW5rZW4gU2llIGRhcmFuLCBkaWUgQmVyZWNodGlndW5nICYjMDM5O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJiMwMzk7IHp1IHNldHplbi4gV2VubiBkYXMgQ2FwdGNoYS1Nb2R1bCBpbnN0YWxsaWVydCBpc3QsIHN0ZWh0IElobmVuIGRpZSBDYXB0Y2hhLUZ1bmt0aW9uYWxpdCZhdW1sO3Qgc3RhbmRhcmRtJmF1bWw7JnN6bGlnO2lnIHp1ciBWZXJmJnV1bWw7Z3VuZy4gRXMgd2lyZCBkcmluZ2VuZCBlbXBmb2hsZW4sIGRpZXNlcyBNb2R1bHMgenUgdmVyd2VuZGVuLCB1bSBTcGFtIHp1IHZlcm1laWRlbi4gV2VubiBkYXMgQ2FwdGNoYS1Nb2R1bCBpbnN0YWxsaWVydCBpc3QgdW5kIFNpZSBlcyBhYmVyIG5pY2h0IHZlcndlbmRlbiBtJm91bWw7Y2h0ZW4sIG0mdXVtbDtzc2VuIFNpZSBTZWxmUmVnaXN0cmF0aW9uIG1pdCBkZW0gUGFyYW1ldGVyIG5vY2FwdGNoYSBhdWZydWZlbi4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0RhcyBTZWxmUmVnaXN0cmF0aW9uLU1vZHVsIHd1cmRlIGVyZm9sZ3JlaWNoIGRlaW5zdGFsbGllcnQuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWwgZGVpbnN0YWxsaWVydC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWx2ZXJzaW9uICVzIGluc3RhbGxpZXJ0Lic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdNb2R1bGVpbnN0ZWxsdW5nZW4gYWt0dWFsaXNpZXJ0Lic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdadWdyaWZmIHZlcndlaWdlcnQuIEJpdHRlIHByJnV1bWw7ZmVuIFNpZSBJaHJlIEJlcmVjaHRpZ3VuZ2VuLic7CiRsYW5nWydlcnJvciddID0gJ0ZlaGxlciEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb2R1bCBhdWYgVmVyc2lvbiAlcyBha3R1YWxpc2llcnQuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsZWluc3RlbGx1bmdlbic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bGFkbWluaXN0cmF0aW9uJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZlJlZ2lzdHJhdGlvbi1Nb2R1bCc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VpbiBNb2R1bCwgbWl0IGRlbSBzaWNoIEZyb250RW5kLVVzZXIgc2VsYnN0IHJlZ2lzdHJpZXJlbiBrJm91bWw7bm5lbi4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+V2lsbGtvbW1lbiBiZWltIFNlbGZSZWdpc3RyYXRpb24tTW9kdWwuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnNcJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCBcJnF1b3Q7Y2hlY2thbGxcJnF1b3Q7PC9wPg0KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4NCjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgXCZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkXCZxdW90OyBlbWFpbCB0ZW1wbGF0ZXM8L3A+DQo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPg0KPHA+QWRkZWQgYSBcJnF1b3Q7RGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5XCZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlIFwmcXVvdDtSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvblwmcXVvdDsgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPg0KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4NCjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+DQo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+DQo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4NCjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4NCjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPg0KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPg0KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+DQogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjEuPC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4xLjMgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMS4gLSBBcHIgMjAwNzwvcD4NCiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMi4wIChtaW5pbXVtKTwvcD4NCiAgICA8cD5TdXBwb3J0IGZvciBtdWx0aXNlbGVjdCBsaXN0cyBpbiBmZXVzZXJzPC9wPg0KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+DQogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPg0KICAgIDxwPklnbm9yZSBhbGwgaW1hZ2UgZmllbGRzPC9wPg0KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjIuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4IHRoZSBwcm9ibGVtIHdpdGggdGhlIFVzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSB0aGluZzwvcD4NCiAgICA8cD5BZGRzIHRoZSBpZCB0byB0aGUgb25Vc2VyUmVnaXN0ZXJlZCBFdmVudDwvcD4NCiAgICA8cD5GaXhlcyB0aGUgcHJvYmxlbSB3aXRoIGNoZWNrYm94IHByb3BlcnRpZXMgbm90IHdvcmtpbmc8L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjIgbWluaW11bTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyB1c2Uge1NlbGZSZWdpc3RyYXRpb24gZ3JvdXA9JiMwMzk7YmxhaCYjMDM5O308L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjMgbWluaW11bS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjMuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4ZXMgaXNzdWUgd2l0aCBTTVRQIEVtYWlsIGFkZHJlc3MgdmFsaWRhdGlvbjwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZSBGRVUgMS4zLjE8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XYXMgbWFjaHQgZGllc2VzIE1vZHVsPzwvaDM+DQo8cD5NaXQgZGllc2VtIE1vZHVsIGsmb3VtbDtubmVuIEJlbnV0emVyIHNpY2ggc2VsYnN0IHJlZ2lzdHJpZXJlbiB1bmQgZGllIG5vdHdlbmRpZ2VuIEluZm9ybWF0aW9uZW4gZWluZ2ViZW4uIERhbmFjaCB3aXJkIGVpbmUgQmVzdCZhdW1sO3RpZ3VuZ3NlbWFpbCBtaXQgZWluZW0gTGluayB6dSBlaW5lciB6d2VpdGVuIFNlaXRlIHZlcnNhbmR0LCB1bSBkaWUgUmVnaXN0cmllcnVuZyB6dSB2ZXJ2b2xsc3QmYXVtbDtuZGlnZW4uIE5hY2ggZGVtIGVyZm9sZ3JlaWNoZW4gQWJzY2hsdXNzIHdpcmQgaW0gRnJvbnRlbmRVc2Vycy1Nb2R1bCBlaW4gbmV1ZXMgQmVudXR6ZXItS29udG8gZXJzdGVsbHQuPC9wPg0KPHA+VW0gZGllc2VzIE1vZHVsIHp1IHZlcndlbmRlbiwgbSZ1dW1sO3NzZW4gU2llIGltIEZyb250ZW5kVXNlci1Nb2R1bCBlaW5lIEVpZ2Vuc2NoYWZ0IHZvbSBUeXAgJiMwMzk7RW1haWwtQWRyZXNzZSYjMDM5OyBlcnN0ZWxsZW4gdW5kIGRpZXNlIEVpZ2Vuc2NoYWZ0IGRhbm4gbWl0IGRlciBHcnVwcGUgdmVyYmluZGVuLCBkaWUgZiZ1dW1sO3IgU2VsYnN0cmVnaXN0cmllcnVuZ2VuIGVpbmdlc2V0enQgd2VyZGVuIHNvbGwuPC9wPg0KPGgzPldpZSB3aXJkIGVzIGVpbmdlc2V0enQgPzwvaDM+DQo8cD5GJnV1bWw7Z2VuIFNpZSBkZW4gVGFnIHtjbXNfbW9kdWxlIG1vZHVsZT1TZWxmUmVnaXN0cmF0aW9uIGdyb3VwPXVzZXJncm91cH0gaW4gSWhyZSBTZWl0ZSBlaW4uPC9wPg0KPHA+RGFtaXQgZGFzIE1vZHVsIGZ1bmt0aW9uaWVydCwgbSZ1dW1sO3NzZW4gU2llIGplZG9jaCB6dXZvciBkaWUgQmVudXR6ZXJncnVwcGVuIHVuZCBkZXJlbiBFaWdlbnNjaGFmdGVuIGltIEZyb250ZW5kVXNlcnMtTW9kdWwgZXJzdGVsbHQgaGFiZW4uPC9wPg0KPGgzPlBhcmFtZXRlcjwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIG0mb3VtbDtnbGljaGUgV2VydGUgc2luZCAmIzAzOTtzaWdudXAmIzAzOTsgdW5kICYjMDM5O3ZlcmlmeSYjMDM5Oy4gIFdlbm4gZGllc2VyIFBhcmFtZXRlciBuaWNodCBnZXNldHp0IHd1cmRlLCBpc3QgJiMwMzk7c2lnbnVwJiMwMzk7IGRlciBTdGFuZGFyZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEaWVzZXIgUGFyYW1ldGVyIGlzdCBlcmZvcmRlcmxpY2gsIHdlbm4gZGVyIE1vZHVzICYjMDM5O3NpZ251cCYjMDM5OyBpc3Qgb2RlciBuaWNodCBnZXNldHp0IHd1cmRlLjwvcD4NCjxwPjxzdHJvbmc+bm9jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBEaWVzZXIgUGFyYW1ldGVyIGRlYWt0aXZpZXJ0IGRpZSBDYXB0Y2hhLUZ1bmt0aW9uYWxpdCZhdW1sO3QgaW0gUmVnaXN0cmllcnVuZ3Nmb3JtdWxhci4gV2VubiBkYXMgQ2FwdGNoYS1Nb2R1bCBpbnN0YWxsaWVydCBpc3QsIHdpcmQgZGllc2UgRnVua3Rpb25hbGl0JmF1bWw7dCBhdXRvbWF0aXNjaCB2ZXJ3ZW5kZXQuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+RGllc2VzIE1vZHVsIGJlaW5oYWx0ZXQga2VpbmVuIGtvbW1lcnppZWxsZW4gU3VwcG9ydC4gU2llIGsmb3VtbDtubmVuIGplZG9jaCAmdXVtbDtiZXIgZm9sZ2VuZGUgTSZvdW1sO2dsaWNoa2VpdGVuIEhpbGZlIHp1IGRlbSBNb2R1bCBlcmhhbHRlbjo8L3A+DQo8dWw+DQo8bGk+RiZ1dW1sO3IgZGllIGxldHp0ZSBWZXJzaW9uIGRpZXNlcyBNb2R1bHMsIEZBUXMsIGRlbSBWZXJzYW5kIGVpbmVzIEZlaGxlcnJlcG9ydHMgb2RlciBkZW0gS2F1ZiBrb21tZXJ6aWVsbGVuIFN1cHBvcnQgYmVzdWNoZW4gU2llIGJpdHRlIGNhbGd1eXMgDQpIb21lcGFnZSB1bnRlciA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkVpbmUgd2VpdGVyZSBEaXNrdXNzaW9uIHp1IGRpZXNlbSBNb2R1bCBpc3QgYXVjaCBpbiBkZW4gRm9yZW4gdm9uIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZTwvYT4genUgZmluZGVuLjwvbGk+DQo8bGk+RGVyIEF1dG9yIGNhbGd1eTEwMDAsIGlzdCBoJmF1bWw7dWZpZyBpbSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+IHp1IGZpbmRlbi48L2xpPg0KPGxpPkxldHp0bGljaCBrJm91bWw7bm5lbiBTaWUgZGVuIEF1dG9yIGF1Y2ggZGlyZWt0IHBlciBFbWFpbCBrb250YWt0aWVyZW4uPC9saT4gICAgDQo8L3VsPg0KPHA+TmFjaCBkZXIgR1BMIHdpcmQgZGllc2UgU29mdHdhcmUgc28gdmVyJm91bWw7ZmZlbnRsaWNodCwgd2llIHNpZSBpc3QuIEJpdHRlIGxlc2VuIFNpZSBkZW4NCiBMaXplbnp0ZXh0IGYmdXVtbDtyIGRlbiB2b2xsZW4gSGFmdHVuZ3NhdXNzY2hsdXNzLjwvcD4NCg0KPGgzPkNvcHlyaWdodCB1bmQgTGl6ZW56PC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWxsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsZSBSZWNodGUgdm9yYmVoYWx0ZW4uPC9wPg0KPHA+RGllc2VzIE1vZHVsIHd1cmRlIHVudGVyIGRlciA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+IHZlciZvdW1sO2ZmZW50bGljaHQuIFNpZSBtJnV1bWw7c3NlbiBkaWVzZXIgTGl6ZW56IHp1c3RpbW1lbiwgYmV2b3IgU2llIGRhcyBNb2R1bCB2ZXJ3ZW5kZW4uPC9wPic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjcxNzQ2MjczNi4xMTQ3NTExODU2LjExOTUzMDE1MTkuMTE5NTM4MTI4Mi4yNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTk0Mjg0NzE1LjI0NS4xMTQudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWdvb2dsZS5kZXx1dG1jY3Q9L2lnfHV0bWNtZD1yZWZlcnJhbCc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/et_EE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVHVydmFrb29kLCBtaWxsZSBzaXNlc3Rhc2lkLCBvbiB2aWdhbmUnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnUyZ1dW1sO25kbXVzLCBtaXMgbiZhdW1sO2l0YWIsIGV0IHV1cyBrYXN1dGFqYSBvbiByZWdpbWlzdHJlZXJpbWlzdm9ybWkgdCZhdW1sO2l0bnVkJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdTJnV1bWw7bmRtdXMsIG1pcyBuJmF1bWw7aXRhYiwgZXQga2FzdXRhamEgb24gb21hIHJlZ2lzdHJlZXJpbmd1IGtpbm5pdGFudWRuaW5nIG9uIHQmYXVtbDtpZWxpa3VsdCBFTEsga2FzdXRhamFrcyByZWdpc3RyZWVyaXR1ZCc7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJzxwPlMmdXVtbDtuZG11cywgbWlzIG4mYXVtbDtpdGFiLCBldCB1dXMga2FzdXRhamEgb24gcmVnaW1pc3RyZWVyaW1pc3Zvcm1pIHQmYXVtbDtpdG51ZDwvcD4NCjxoND5QYXJhbWVldHJpZDwvaDQ+DQo8dWw+DQo8bGk+PGVtPmthc3V0YWphbmltaTwvZW0+IC0gdXVlIGthc3V0YWphIGthc3V0YWphbmltaTwvbGk+DQo8bGk+PGVtPmUtbWFpbDwvZW0+IC0gdXVlIGthc3V0YWphIGUtbWFpbGkgYWFkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPlMmdXVtbDtuZG11cywgbWlzIG4mYXVtbDtpdGFiLCBldCBrYXN1dGFqYSBvbiBvbWEgcmVnaXN0cmVlcmluZ3Uga2lubml0YW51ZG5pbmcgb24gdCZhdW1sO2llbGlrdWx0IEZFVSBrYXN1dGFqYWtzIHJlZ2lzdHJlZXJpdHVkPC9wPg0KPGg0PlBhcmFtZWV0cmlkPC9oND4NCjx1bD4NCjxsaT48ZW0+a2FzdXRhamFuaW1pPC9lbT4gLSByZWdpc3RyZWVyaW51ZCBrYXN1dGFqYSBrYXN1dGFqYW5pbWk8L2xpPg0KPC91bD4NCic7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnTXV1ZGEgYWRtaW5pc3RyYWF0b3JpIGVlbGlzdHVzaT8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0t1aSBzYSBlaSBzb292aSBrYXN1dGFqYSBwYXJvb2xpIG11dXRhLCBqJmF1bWw7dGEgc2VlIHYmYXVtbDtsaSB0JnV1bWw7aGpha3MnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0t1aSBzYSBlaSBzb292aSBrYXN1dGFqYSBwYXJvb2xpIG11dXRhLCBqJmF1bWw7dGEgc2VlIHYmYXVtbDtsaSB0JnV1bWw7aGpha3MnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFLW1haWxpIGFhZHJlc3NpZCBlaSBrYXR0dSc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ0UtbWFpbGkgcGVhYiBzaXNlc3RhbWEgMiBrb3JkYSc7CiRsYW5nWydhZ2FpbiddID0gJ3V1ZXN0aSc7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ0t1c3R1dGEgVmFsaXR1ZCBLYXN1dGFqYWQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZGVmbnMnXSA9ICdPbWFkdXNpIGVpIG9sZSwgdiZvdGlsZGU7aSBlc2luZXMgcHJvYmxlZW0gbmVuZGUgayZhdW1sO3R0ZXNhYW1pc2VnYSBhbmRtZWJhYXNpc3QuJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnR3J1cHBlIGVpIG9sZSwgdiZvdGlsZGU7aSBlc2luZXMgcHJvYmxlZW0gZ3J1cHBpZGUgbmltZWtpcmphIGsmYXVtbDt0dGVzYWFtaXNlZ2EgYW5kbWViYWFzaXN0Lic7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnQW5kbWViYWFzaSB2aWdhJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Bvc3RpdGEgS2FkdW51ZCBFLW1haWxpIE1hbGwnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0thZHVudWQgRS1tYWlsaSBNYWxsJzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ0tsaWtpIFNpaW4nOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdNYSBvbGVuIGtvcnJhIGp1YmEgcmVnaXN0cmVlcmltaXN2b3JtaSB0JmF1bWw7aXRudWQsIGt1aWQgZWkgc2FhbnVkIGUtbWFpbGkuIEthcyB0ZSBzYWFrc2l0ZSBzZWxsZSBtdWxlIHV1ZXN0aSBzYWF0YT8nOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0thZHVudWQgRS1tYWlsaSBNYWxsJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnVXVzIGthc3V0YWphIGxpc2F0dWQgRUxLLXNzZSc7CiRsYW5nWydlZGl0J10gPSAnTXV1ZGEnOwokbGFuZ1sndW5rbm93biddID0gJ1R1bmRtYXR1JzsKJGxhbmdbJ3NlbGVjdCddID0gJ1ZhbGknOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnTSZhdW1sO3JnaXN0YSBLJm90aWxkZTtpayc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0VlbWFsZGEgTSZhdW1sO3JnaXN0dXNlZCc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NhYWRhIGthc3V0YWphbGUgZS1tYWlsJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtZWVyaWIga2FzdXRhamF0LCBldCB0ZW1hIGtvbnRvdCBvbiBtdXVkZXR1ZCknOwokbGFuZ1sndHh0X2NoYW5nZXBhc3N3b3JkJ10gPSAnVCZhdW1sO2lkYSBuZWVkIHYmYXVtbDtsamFkLCBrdWkgc29vdmlkIG11dXRhIGthc3V0YWphIHBhcm9vbGknOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNdXVkYSBLYXN1dGFqYXQnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnT2xlZCBzYSBraW5kZWwsIGV0IHNvb3ZpZCBrdXN0dXRhZGEgc2VsbGUgb3NhbGlzZWx0IHJlZ2lzdHJlZXJpbnVkIGthc3V0YWphPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnS2FzdXRhamEgSUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnS2FzdXRhamFuaW1pJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3J1cHAnOwokbGFuZ1snaGRyX2NyZWF0ZWQnXSA9ICdMb29kdWQnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRS1tYWlsJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdLYXN1dGFqYSh0KSBsZWl0dWQgKG1ha3NpbWFhbHNlbHQgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ0thc3V0YWphZCc7CiRsYW5nWydsaXN0MWRheSddID0gJ04mYXVtbDtpdGEgayZvdGlsZGU7aWtpIHNpc2VzdHVzaSwgbWlzIG9uIHZhbmVtYWQga3VpIDEgcCZhdW1sO2V2JzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdWJmF1bWw7bGphbWluZXZhIGUtbWFpbGkgdGVlbWEnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdIVE1MIGtpcmphIHNpc3UnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdUZWtzdGlwJm90aWxkZTtoaXNlIGtpcmphIHNpc3UnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnTSZvdGlsZGU7bmluZ2F0ZSBrYXN1dGFqYXRlIHJlZ2lzdHJlZXJpbWluZSBvbiBwb29sZWxpLiBIZXRrZWwgb24gbmVpZCBrYXN1dGFqYWlkOic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ0VlbWFsZGEgayZvdGlsZGU7aWsgc2lzZXN0dXNlZCwgbWlzIG9uIHZhbmVtYWQga3VpIDEgbiZhdW1sO2RhbCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdFZW1hbGRhIGsmb3RpbGRlO2lrIHNpc2VzdHVzZWQsIG1pcyBvbiB2YW5lbWFkIGt1aSAxIGt1dSc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnRWVtYWxkYSBrJm90aWxkZTtpayBzaXNlc3R1c2VkLCBtaXMgb24gdmFuZW1hZCBrdWkgMSBwJmF1bWw7ZXYnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnRWVtYWxkYSBrJm90aWxkZTtpayBzaXNlc3R1c2VkJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdPbGVkIHNhIGtpbmRlbD8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnU2ludSByZWdpc3RyZWVyaW1pc2luZm8gb24gdXVlbmRhdHVkJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdSZWdpc3RyZWVyaW1pc2UgS2lubml0dXMnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3RyZWVyaSc7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdMJm90aWxkZTtwbGlrdSBUZWF0ZSBNYWxsJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ0tpbm5pdGEgUmVnaXN0cmVlcmluZyc7CiRsYW5nWydjb2RlJ10gPSAnVHVydmFrb29kJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdUYWFzdGEgYWxnc2VhZGVkJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ1NlbGxlIGthc3V0YWphIG9tYWR1c2kgZWkgbGVpdHVkJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ1Nlb3NlaWQgb21hZHVzdGVnYSBlaSBvbGUnOwokbGFuZ1snZXJyb3JfZW1haWxpbnZhbGlkJ10gPSAnVmlnYW5lIGUtbWFpbGkgYWFkcmVzcyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0tlaHRpdmF0IGUtbWFpbGkgYWFkcmVzc2kgdiZhdW1sO2xqYSBlaSBsZWl0dWQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJyVzIHYmYXVtbDtsaSBvbiBrb2h1c3R1c2xpayc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnc2l0cmVlcmltaXNlIE1hbGwgMSc7CiRsYW5nWydyZWdpc3RyYXRpb24yX3RlbXBsYXRlJ10gPSAnUmVnc2l0cmVlcmltaXNlIE1hbGwgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdLaW5uaXR1c2UgRS1tYWlsaSBNYWxsJzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ0thc3V0YWphIEluZm8gTXV1ZGV0dWQgTWFsbCc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ0VlbGlzdHVzZWQnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnS2FzdXRhamF0IGVpIGxlaXR1ZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdrYXN1dGFqYW5pbWkgb24gdmlnYW5lIChsaWlnYSBwaWtrLCBsJnV1bWw7aGlrZSwgdiZvdGlsZGU7aSBzaXNhbGRhYiBrZWVsYXR1ZCBtJmF1bWw7cmtlKS4gTWVlbGRldHVsZXR1czoga2FzdXRhamFuaW1pIHYmb3RpbGRlO2liIHNpc2FsZGFkYSB2YWlkIHQmYXVtbDtodGkgKHQmdXVtbDtoaWt1ZCBqYSBzcGV0c2lhYWxzZWQgbSZhdW1sO3JnaWQtcyZ1dW1sO21ib2xpZCBrZWVsYXR1ZCknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1NlZSBrYXN1dGFqYW5pbWkgb24ganViYSBrYXN1dHVzZWwnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnVklHQTogUGFyb29saWQgZWkga2F0dHUnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFyb29sIG9uIHZpZ2FuZSAocGFyb29saWQgcGVhdmFkIG9sZW1hIHYmYXVtbDtoZW1hbHQgJXMga3VuaSAlcyB0JmF1bWw7aGVtJmF1bWw7cmtpIHBpa2FkKSc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnS2FzdXRhamFuaW1pIHBlYWIgb2xlbWEgdCZhdW1sO2lkZXR1ZCc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1Bhcm9vbCAodXVlc3RpKSc7CiRsYW5nWydwYXNzd29yZCddID0gJ1Bhcm9vbCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0thc3V0YWphbmltaSc7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdNb29kdWxpbGUgYW50dWQgcGFyYW1lZXRyaXRlIGFydiBvbiBlYmFwaWlzYXYgdiZvdGlsZGU7aSB2aWdhbmUnOwokbGFuZ1snZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJ10gPSAnRWkgc3V1ZGEgbGFhZGlkYSBFTEsgbW9vZHVsaXQnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdTZWxsaXNlIG5pbWVnYSBncnVwcGkgZWkgZWtzaXN0ZWVyaSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJlZXJpbWlzZSBlLW1hbGlkIHR1bGVrcyBzYWF0YSBhYWRyZXNzaWxlJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnS2FzdXRhamEgcGVhYiBvbWEgcmVnaXN0cmVlcmluZ3UgZS1tYWlsaSB0ZWVsIGtpbm5pdGFtYSc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU2FhZGEgdGVhZGEsIGt1aSBrZWVnaSByZWdpc3RyZWVyaWInOwokbGFuZ1snY2FuY2VsJ10gPSAnVCZ1dW1sO2hpc3RhJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1NhYWRhJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0VuZXNlIFJlZ2lzdHJlZXJpbWlzZSBNb29kdWwnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsZWVyaW1pbmUgJm90aWxkZTtubmVzdHVzLiBNJmF1bWw7JmF1bWw7cmEga2luZGxhc3RpIGFzamFnYSBzZW90dWQga2FzdXRhamF0ZWxlICZxdW90O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJnF1b3Q7ICZvdGlsZGU7aWd1cy4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0VuZXNlIFJlZ2lzdHJlZXJpbWlzZSBNb29kdWwgZWVtYWxkYXR1ZC4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb29kdWwgZWVtYWxkYXR1ZC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9vZHVsaSB2ZXJzaW9vbiAlcyBpbnN0YWxsZWVyaXR1ZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9vZHVsaSBlZWxpc3R1c2VkIHV1ZW5kYXR1ZC4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnTGlnaXAmYXVtbDsmYXVtbDtzIGtlZWxhdHVkLiBQYWx1biBrb250cm9sbGkgb21hICZvdGlsZGU7aWd1c2kuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnVmlnYSEnOwokbGFuZ1sndXBncmFkZWQnXSA9ICdNb29kdWwgdXVlbmRhdHVkIHZlcnNpb29uaWxlICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb29kdWxpIEVlbGlzdHVzZWQnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9vZHVsaSBBZG1pbnN0cmVlcmltaXNwYW5lZWwnOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdFbmVzZSBSZWdpc3RyZWVyaW1pc2UgTW9vZHVsJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnTW9vZHVsLCBtaXMgbGFzZWIgZWVzbGlpdGUgKGtvZHVsZWhlIGthc3V0YWphbGlpZGVzZSkga2FzdXRhamF0ZWwgZW5uYXN0IGlzZSBrYXN1dGFqYWtzIHJlZ3NpdHJlZXJpZGEuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPlRlcmUgdHVsZW1hc3QgRW5lc2UgUmVnaXN0cmVlcmltaXNlIE1vb2R1bGlsZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xLiBPY3QgMjAwNS4gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4yLiBPY3QgMjAwNS4gTW92ZWQgUmFuZG9tIHN0dWZmIGludG8gZmV1c2VycywgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSBvbGQgZW50cmllcyBmcm9tIHRoZSByZWdpc3RyYXRpb24gdGVtcG9yYXJ5IHRhYmxlczwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPg0KPHA+VGhpcyByZWxlYXNlIHdhcyByZW1vdmVkIGR1ZSB0byBwb3NzaWJsZSBlcnJvcnM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+DQo8cD5GaXhlZCBtaW5vciBlcnJvcnMgd2l0aCBDaGVja1Blcm1pc3Npb24sIHJlcGxhY2VkIGFsbCBhc3NpZ25fYnlfcmVmcyYjMDM5O3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgJnF1b3Q7Y2hlY2thbGwmcXVvdDs8L3A+DQo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPg0KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSAmcXVvdDt5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCZxdW90OyBlbWFpbCB0ZW1wbGF0ZXM8L3A+DQo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPg0KPHA+QWRkZWQgYSAmcXVvdDtEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkmcXVvdDsgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAmcXVvdDtSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvbiZxdW90OyBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+DQo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPg0KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4NCjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4NCjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPg0KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPg0KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+DQo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4NCic7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExNTcxMjE2MTguMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE1MjYzMzIwNTMuMTE1NzEyMTYxOC4xMTU3NjU5OTQyLjExNTc3NDU5NTAuNSc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fi_FI.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVmFsdHV1dHVzYXZhaW4gb24gdiZhdW1sOyZhdW1sO3ImYXVtbDsnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnQW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm0nOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ0FuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIHZlcmlmaWVkIGhpcyBpbmZvcm1hdGlvbiBhbmQgaXMgbm93IGNvbXBsZXRlbHkgcmVnaXN0ZXJlZCc7CiRsYW5nWydldmVudF9oZWxwX29uTmV3VXNlciddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIG5ldyB1c2VyIGhhcyBjb21wbGV0ZWQgdGhlIHJlZ2lzdHJhdGlvbiBmb3JtPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gVGhlIG5ldyB1c2VycyBzZWxlY3RlZCB1c2VybmFtZTwvbGk+DQo8bGk+PGVtPmVtYWlsPC9lbT4gLSBUaGUgbmV3IHVzZXJzIGVtYWlsIGFkZHJlc3M8L2xpPg0KPC91bD4NCic7CiRsYW5nWydldmVudF9oZWxwX29uVXNlclJlZ2lzdGVyZWQnXSA9ICc8cD5BbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSB1c2VyIGhhcyBiZWVuIHZlcmlmaWVkIGFuZCBpcyBub3cgcmVnaXN0ZXJlZCB3aXRoIGZldXNlcnM8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgcmVnaXN0ZXJlZCB1c2VybmFtZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdWYWloZGEgaGFsbGlubmFuIGFzZXR1a3NpYT8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0omYXVtbDt0JmF1bWw7IHQmYXVtbDttJmF1bWw7IGtlbnR0JmF1bWw7IHR5aGomYXVtbDtrc2kgcyZhdW1sO2lseXR0JmF1bWw7JmF1bWw7a3Nlc2kgayZhdW1sO3l0dCZhdW1sO2omYXVtbDtuIHNhbGFzYW5hbic7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnSiZhdW1sO3QmYXVtbDsgdCZhdW1sO20mYXVtbDsga2VudHQmYXVtbDsgdHloaiZhdW1sO2tzaSBzJmF1bWw7aWx5dHQmYXVtbDsmYXVtbDtrc2VzaSBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gc2FsYXNhbmFuJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAnRW1haWwgb3NvaXR0ZWV0IGVpdiZhdW1sO3Qgb2xlIHNhbWF0JzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnVmFhZGkgayZhdW1sO3l0dCZhdW1sO2ppbHQmYXVtbDsgZW1haWwgb3NvaXRlIGthaHRlZW4ga2VydGFhbic7CiRsYW5nWydhZ2FpbiddID0gJ3V1ZGVzdGFhbic7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ1BvaXN0YSB2YWxpdHV0IGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7dCc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ0VpIG9taW5haXN1dWtzaWEgdGFpIG9uZ2VsbWEgdGlldG9rYW5uYXNzYSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ0VpIHJ5aG1pJmF1bWw7IHRhaSBvbmdlbG1hIHRpZXRva2FubmFzc2EnOwokbGFuZ1snZXJyb3JfZGJlcnJvciddID0gJ1RpZXRva2FudGEgdmlyaGUnOwokbGFuZ1sndGl0bGVfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTCZhdW1sO2hldCZhdW1sOyB1bm9oZGl0a28gc2FsYXNhbmFzaSBlbWFpbGluIHBvaGphJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdVbm9oZGl0a28gc2FsYXNhbnNpIGVtYWlsIHBvaGphJzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ1BhaW5hIHQmYXVtbDtzdCZhdW1sOyc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ09sZW4gam8gc3Vvcml0dGFudXQgcmVraXN0ZXImb3VtbDtpbm5pbiwgbXV0dGEgZW4gc2FhbnV0IHMmYXVtbDtoayZvdW1sO3Bvc3RpYS4nOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Vub2hkaXRrbyBzYWxhc2Fuc2kgZW1haWwgcG9oamEnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdVdXNpIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7IGxpcyZhdW1sO3R0eSBGcm9udEVuZFVzZXJzaWluJzsKJGxhbmdbJ2VkaXQnXSA9ICdNdW9ra2FhJzsKJGxhbmdbJ3Vua25vd24nXSA9ICdUdW50ZW1hdG9uJzsKJGxhbmdbJ3NlbGVjdCddID0gJ1ZhbGl0c2UnOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnVmFsaXRzZSBrYWlra2lhJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnUG9pc3RhIHZhbGlubmF0JzsKJGxhbmdbJ3NlbmRfYWRqdXN0bWVudGVtYWlsJ10gPSAnTCZhdW1sO2hldCZhdW1sOyBlbWFpbCBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO2xsZSc7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGtlcnRvbyBrJmF1bWw7eXR0JmF1bWw7aiZhdW1sO2xsZSB0aWxpbiBtdW9ra2F1a3Nlc3RhKSc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICdUJmF1bWw7eXQmYXVtbDsgbiZhdW1sO20mYXVtbDsga2VudCZhdW1sO3QgdmFpaHRhYWtzZXNpIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7biBzYWxhc2FuYW4nOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNdW9ra2FhIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7JmF1bWw7JzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ09sZXRrbyB2YXJtYSBldHQmYXVtbDsgaGFsdWF0IHBvaXN0YWEgdCZhdW1sO20mYXVtbDtuIHB1b2xpdHRhaW4gcmVraXN0ZXImb3VtbDtpZHluIGsmYXVtbDt5dHQmYXVtbDtqJmF1bWw7bic7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDsgSUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMnOwokbGFuZ1snaGRyX2dycG5hbWUnXSA9ICdSeWhtJmF1bWw7JzsKJGxhbmdbJ2hkcl9jcmVhdGVkJ10gPSAnTHVvdHUnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ0smYXVtbDt5dHQmYXVtbDtqaSZhdW1sOyBsJm91bWw7eWRldHR5IChuJmF1bWw7eXRldCZhdW1sOyZhdW1sO24gbWFrc2ltaXNzYWFuIDI1MCknOwokbGFuZ1sndXNlcnMnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3QnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdMaXN0YWEgeWxpIHAmYXVtbDtpdiZhdW1sO24gdmFuaGF0JzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdBaWhlIGwmYXVtbDtodGV2aWxsZSBlbWFpbGVpbGxlJzsKJGxhbmdbJ2h0bWxib2R5J10gPSAnSFRNTCBlbWFpbGluIHNpcyZhdW1sO2x0Jm91bWw7JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVGVrc3RpIGVtYWlsaW4gc2lzJmF1bWw7bHQmb3VtbDsnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2ppJmF1bWw7IHQmYXVtbDtsbCZhdW1sOyBoZXRrZWxsJmF1bWw7IHJla2lzdGVyJm91bWw7aXR5bSZhdW1sO3NzJmF1bWw7OiAnOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdQb2lzdGEga2Fpa2tpIHlsaSB2aWlrb24gdmFuaGF0JzsKJGxhbmdbJ3JlbW92ZTFtb250aCddID0gJ1BvaXN0YSBrYWlra2kgeWxpIGt1dWthdWRlbiB2YW5oYXQnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ1BvaXN0YSBrYWlra2kgeWxpIHAmYXVtbDtpdiZhdW1sO24gdmFuaGF0JzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ1BvaXN0YSBrYWlra2knOwokbGFuZ1snYXJleW91c3VyZSddID0gJ09sZXRrbyB2YXJtYT8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnUmVraXN0ZXImb3VtbDtpbnRpIHRpZXRvamEgbXV1dGV0dHUnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1Jla2lzdGVyJm91bWw7aW5uaW4gdmFodmlzdHVzJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVraXN0ZXImb3VtbDtpZHknOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnS2lpdG9zIHZpZXN0aSBwb2hqYSc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWYXJtaXN0YSByZWtpc3RlciZvdW1sO2ludGknOwokbGFuZ1snY29kZSddID0gJ1ZhaHZpc3R1cyBhdmFpbic7CiRsYW5nWydkZWZhdWx0J10gPSAnUGFsYXV0YSBvbGV0dWtzZXQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDtsdCZhdW1sOyBlaSBsJm91bWw7eWR5IG9taW5haXN1dWtzaWEnOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnRWkgb21pbmFpc3V1cyBzdWh0ZWl0YSc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdWaXJoZWVsbGluZW4gZW1haWwgb3NvaXRlJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnRWkgayZhdW1sO3lwJmF1bWw7JmF1bWw7IGVtYWlsIG9zb2l0ZSBrZW50dCZhdW1sOyZhdW1sOyc7CiRsYW5nWydlcnJvcl9yZXF1aXJlZGZpZWxkJ10gPSAnS2VudHQmYXVtbDsgJXMgdCZhdW1sO3l0eXkgdCZhdW1sO3l0dCZhdW1sOyZhdW1sOyc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVraXN0ZXImb3VtbDtpbnRpIHBvaGphIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1Jla2lzdGVyJm91bWw7aW50aSBwb2hqYSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ1ZhaHZpc3R1cyBlbWFpbCBwb2hqYSc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO24gdGlldG9qYSB2YWloZGV0dHUgcG9oamEnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdBc2V0dWtzZXQnOwokbGFuZ1snZXJyb3JfdXNlcm5vdGZvdW5kJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDsmYXVtbDsgZWkgbCZvdW1sO3l0eW55dCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyBvbiB2aXJoZWVsbGluZW4gKGxpaWFuIGx5aHl0LCBsaWlhbiBwaXRrJmF1bWw7IHRhaSBzaXMmYXVtbDtsdCZhdW1sOyZhdW1sOyB2aXJoZWVsbGlzaSZhdW1sOyBtZXJra2VqJmF1bWw7KS4gSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgZWkgc2FhIHNpcyZhdW1sO2x0JmF1bWw7JmF1bWw7IHZhaW4ga2lyamFpbWlhIGphIG51bWVyb2l0YSAoZWkgdiZhdW1sO2xpbHkmb3VtbDtudGkmYXVtbDspJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyBvbiBqbyBrJmF1bWw7eXQmb3VtbDtzcyZhdW1sOyc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdWaXJoZTogc2FsYXNhbmF0IGVpdiZhdW1sO3Qgb2xlIHlodGVuZXYmYXVtbDt0JzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1NhbGFzYW5hIG9uIHZpcmhlZWxsaW5lbi4gU2FsYXNhbmFuIHR1bGVlIG9sbGEgdiZhdW1sO2hpbnQmYXVtbDsmYXVtbDtuICVzIGphIGVuaW50JmF1bWw7JmF1bWw7biAlcyBtZXJra2kmYXVtbDsgcGl0ayZhdW1sOyc7CiRsYW5nWydlcnJvcl9lbXB0eXVzZXJuYW1lJ10gPSAnSyZhdW1sO3l0dCZhdW1sO2omYXVtbDt0dW5udXMgZWkgdm9pIG9sbGEgdHloaiZhdW1sOyc7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1NhbGFzYW5hICh1dWRlc3RhYW4pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnU2FsYXNhbmEnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdLJmF1bWw7eXR0JmF1bWw7aiZhdW1sO3R1bm51cyc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnU3kmb3VtbDt0JmF1bWw7IGt1dmFzc2Egb2xldmEgdGVrc3RpJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ1YmYXVtbDsmYXVtbDtyJmF1bWw7dCBwYXJhbWV0cml0IG1vZHVsaSBrdXRzdXNzYSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdFaSB2b2l0dSBhbHVzdGFhIEZyb250RW5kVXNlcnMgbW9kdWxpYSc7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ1ZhbGl0dHVhIHJ5aG0mYXVtbDsmYXVtbDsgZWkgb2xlJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ0t1dmFzc2Egb2xldmEgamEgc3kmb3VtbDt0ZXR0eSB0ZWtzdGkgZWl2JmF1bWw7dCBvbGUgeWh0ZW5ldiZhdW1sO3QnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdSZWtpc3RlciZvdW1sO2ludGkgZW1haWxpdCBsJmF1bWw7aGV0ZSZhdW1sOyZhdW1sO24gb3NvaXR0ZWVzZWVuJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnVmFhZGkgayZhdW1sO3l0dCZhdW1sO2omYXVtbDsmYXVtbDsgdmFodmlzdGFtYWFuIHJla2lzdGVyJm91bWw7aW50aSBzJmF1bWw7aGsmb3VtbDtwb3N0aWxsYSc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnTCZhdW1sO2hldCZhdW1sOyBlbWFpbCBpbG1vaXR1cyB1dWRlc3RhIHJla2lzdGVyJm91bWw7aW5uaXN0JmF1bWw7JzsKJGxhbmdbJ2NhbmNlbCddID0gJ1BlcnV1dGEnOwokbGFuZ1snc3VibWl0J10gPSAnTCZhdW1sO2hldCZhdW1sOyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBNb2R1bGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRpb24gc3VjY2Vzc2Z1bGwsIHBsZWFzZSByZW1lbWJlciB0byBzZXQgdGhlICZxdW90O01vZGlmeSBTZWxmUmVnaXN0cmF0aW9uIFNldHRpbmdzJnF1b3Q7IHBlcm1pc3Npb24uICBJZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCB0aGVuIGNhcHRjaGEgZnVuY3Rpb25hbGl0eSBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuICBXZSBzdHJvbmdseSByZWNjb21tZW5kIHRoYXQgeW91IGluc3RhbGwgdGhpcyBtb2R1bGUuICBJZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBhbmQgeW91IHdhbnQgdG8gZGlzYWJsZSBpdCwgdXNlIHRoZSBub2NhcHRjaGEgcGFyYW0gaW4geW91ciBzZWxmcmVnaXN0cmF0aW9uIHRhZy4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1NlbGYgUmVnaXN0cmF0aW9uIG1vZHVsZSBpcyB1bmluc3RhbGxlZC4gIFNlZSB5b3UgbGF0ZXIuJzsKJGxhbmdbJ3VuaW5zdGFsbGVkJ10gPSAnTW9kdWxlIFVuaW5zdGFsbGVkLic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsaW4gYXNldHVrc2V0IHAmYXVtbDtpdml0ZXR0eS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzIERlbmllZC4gUGxlYXNlIGNoZWNrIHlvdXIgcGVybWlzc2lvbnMuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnVmlyaGUhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWxlIHVwZ3JhZGVkIHRvIHZlcnNpb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsaW4gYXNldHVrc2V0JzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsaW4gYXNldHVzIHBhbmVlbGknOwokbGFuZ1sndGl0bGVfYWRtaW5fcGFuZWwnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBNb2R1bGUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdBIG1vZHVsZSB0aGF0IGFsbG93cyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcy4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+V2VsY29tZSB0byB0aGUgc2VsZiByZWdpc3RyYXRpb24gbW9kdWxlLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXggdGhlIHByb2JsZW0gd2l0aCB0aGUgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtIHRoaW5nPC9wPg0KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPg0KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMiBtaW5pbXVtPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD0mIzAzOTtibGFoJiMwMzk7fTwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMyBtaW5pbXVtLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMy4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXhlcyBpc3N1ZSB3aXRoIFNNVFAgRW1haWwgYWRkcmVzcyB2YWxpZGF0aW9uPC9wPg0KICAgIDxwPk5vdyBSZXF1aXJlIEZFVSAxLjMuMTwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBkZXNpZ25lZCB0byBhbGxvdyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcyBhbmQgZmlsbCBpbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uICBJdCB0aGVuIHNlbmRzIGEgY29uZmlybWF0aW9uIGVtYWlsLCB3aXRoIGEgbGluayB0byBhIHNlY29uZCBwYWdlIHRoYXQgbXVzdCBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBPbmNlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZSwgYSB1c2VyIGFjY291bnQgaXMgY3JlYXRlZCBpbiB0aGUgZnJvbnQgZW5kIHVzZXJzIG1vZHVsZS48L3A+DQo8cD5JbiBvcmRlciB0byB1c2UgdGhpcyBtb2R1bGUsIHlvdSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IG9mIHR5cGUgJnF1b3Q7RW1haWwgQWRkcmVzcyZxdW90OyBpbiB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUsIGFuZCBhc3NvY2lhdGUgdGhhdCBwcm9wZXJ0eSB3aXRoIHRoZSBncm91cCB0byBiZSB1c2VkIGZvciBzZWxmIHJlZ2lzdHJhdGlvbi48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPllvdSBwbGFjZSB0aGUgZm9sbG93bmcgdGFnIGludG8geW91ciBwYWdlIHtjbXNfbW9kdWxlIG1vZHVsZT1TZWxmUmVnaXN0cmF0aW9uIGdyb3VwPXVzZXJncm91cH08L3A+DQo8cD5Zb3UgbXVzdCBoYXZlIHByZXZpb3VzbHkgY3JlYXRlZCBwcm9wZXJ0aWVzIGFuZCB1c2VyIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS48L3A+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIHBvc3NpYmxlIHZhbHVlcyBhcmUgJnF1b3Q7c2lnbnVwJnF1b3Q7IGFuZCAmcXVvdDt2ZXJpZnkmcXVvdDsuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3BlY2lmaWVkLCAmcXVvdDtzaWdudXAmcXVvdDsgaXMgYXNzdW1iZWQuPC9wPg0KPHA+PHN0cm9uZz5ncm91cDwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAmcXVvdDtzaWdudXAmcXVvdDssIG9yIGlmIG1vZGUgaXMgbGVmdCBlbXB0eS48L3A+DQo8cD48c3Ryb25nPm5vY2FwdGNoYTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyB3aWxsIGRpc2FibGUgY2FwdGNoYSBvbiB0aGUgc2lnbnVwIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGNhcHRjaGEgc3VwcG9ydCBpcyBwcm92aWRlZC4gIFRoaXMgcGFyYW1ldGVyIGRpc2FibGVzIGl0LjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmNvcHk7IDIwMDUsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9JnF1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mcXVvdDs+PGNhbGd1eTEwMDBAaG90bWFpbC5jb20+PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnTGEgY2hpYXZlIGRpIHZhbGlkYXppb25lIG5vbiAmZWdyYXZlOyB2YWxpZGEnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnVW4gZXZlbnRvIGluZGljYSBjaGUgdW4gbnVvdm8gdXRlbnRlIGhhIGNvbXBsZXRhdG8gaWwgbW9kdWxvIGRpIHJlZ2lzdHJhemlvbmUnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ1VuIGV2ZW50byBpbmRpY2EgY2hlIHVuIHV0ZW50ZSBoYSB2ZXJpZmljYXRvIGxlIHN1ZSBpbmZvcm1hemlvbmkgZSBvcmEgJmVncmF2ZTsgY29tcGxldGFtZW50ZSByZWdpc3RyYXRvJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0NhbWJpYXJlIGxlIHByZWZlcmVuemUgZGkgYW1taW5pc3RyYXppb25lPyc7CiRsYW5nWydpbmZvX2FkbWluX3Bhc3N3b3JkJ10gPSAnTGFzY2lhIHF1ZXN0byBjYW1wbyB2dW90byBwZXIgcHJlc2VydmFyZSBsYSBwYXNzd29yZCc7CiRsYW5nWydpbmZvX2FkbWluX3JlcGVhdHBhc3N3b3JkJ10gPSAnTGFzY2lhIHF1ZXN0byBjYW1wbyB2dW90byBwZXIgcHJlc2VydmFyZSBsYSBwYXNzd29yZCc7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0luZGlyaXp6aSBlbWFpbCBub24gY29pbmNpZG9ubyc7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ0UmIzAzOTsgcmljaGllc3RvIGNoZSBsJiMwMzk7dXRlbnRlIGludHJvZHVjYSBsJiMwMzk7aW5kaXJpenpvIGVtYWlsIGR1ZSB2b2x0ZSc7CiRsYW5nWydhZ2FpbiddID0gJ2RpIG51b3ZvJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnQ2FuY2VsbGEgZ2xpIHV0ZW50aSBzZWxlemlvbmF0aSc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ05lc3N1bmEgZGVmaW5pemlvbmUgZGkgcHJvcHJpZXQmYWdyYXZlOywgbyB1biBwcm9ibGVtYSBhIHJpY2V2ZXJsZSBkYWwgZGF0YWJhc2UnOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdOZXNzdW4gZ3J1cHBvLCBvIHVuIHByb2JsZW1hIGEgcmljZXZlcmUgbGEgbGlzdGEgZ3J1cHBpJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcnJvcmUgbmVsIGRhdGFiYXNlJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ01vZGVsbG8gcGVyIEVtYWlsIHBlcnNhIGluc2VyaXRvJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIHBlciBFbWFpbCBwZXJzYSc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdwcmVtZW5kbyBxdWEnOwokbGFuZ1snbXNnX3NlbmRhbm90aGVyZW1haWwnXSA9ICdTZSBhdmV0ZSBjb21wbGV0YXRvIGlsIG1vZHVsbyBkaSByZWdpc3RyYXppb25lIG1hIG5vbiBhdmV0ZSByaWNldnV0byBsYSBlbWFpbCwgcG90ZXRlIHJpc3BlZGlybmUgdW4mIzAzOTthbHRyYSc7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBwZXIgRW1haWwgcGVyc2EnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICdVbiBudW92byB1dGVudGUgJmVncmF2ZTsgc3RhdG8gYWdnaXVudG8gYWkgRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydlZGl0J10gPSAnTW9kaWZpY2EnOwokbGFuZ1sndW5rbm93biddID0gJ1Njb25vc2NpdXRvJzsKJGxhbmdbJ3NlbGVjdCddID0gJ1NlbGV6aW9uYSc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdTZWxlemlvbmEgdHV0dG8nOwokbGFuZ1sndW5jaGVja19hbGwnXSA9ICdEZXNlbGV6aW9uYSB0dXR0byc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NwZWRpc2NlIHVuYSBlbWFpbCBhbGwmIzAzOTt1dGVudGUnOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1hIGwmIzAzOTt1dGVudGUgY2hlIGwmIzAzOTthY2NvdW50ICZlZ3JhdmU7IHN0YXRvIGNvbnNvbGlkYXRvJzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ1JpZW1waXJlIHF1ZXN0aSBjYW1waSBwZXIgY2FtYmlhcmUgbGEgcGFzc3dvcmQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdNb2RpZmljYSB1dGVudGUnOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnU2lldGUgc2ljdXJvIGRpIHZvbGVyIGNhbmNlbGxhcmUgcXVlc3RvIHV0ZW50ZSByZWdpc3RyYXRvIHBhcnppYWxtZW50ZT8nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ0lEIFV0ZW50ZSc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ0dydXBwbyc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0NyZWF0byc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICdFbWFpbCc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVXRlbnRpIHRyb3ZhdGkgKGxpbWl0YXRvIGFkIHVuIG1hc3NpbW8gZGkgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1V0ZW50aSc7CiRsYW5nWydsaXN0MWRheSddID0gJ1Zpc3VhbGl6emEgdHV0dGUgbGUgZW50cmF0ZSBwaSZ1Z3JhdmU7IHZlY2NoaWUgZGkgdW4gZ2lvcm5vJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdPZ2dldHRvIHBlciBsZSBlbWFpbCBpbiB1c2NpdGEnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdDb3JwbyBkZWwgbWVzc2FnZ2lvIGluIEhUTUwnOwokbGFuZ1sndGV4dGJvZHknXSA9ICdDb3JwbyBkZWwgbWVzc2FnZ2lvIGNvbWUgdGVzdG8nOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnVW4gbnVtZXJvIGRpIHV0ZW50aSBzb25vIG5lbCBtZXp6byBkZWxsYSByZWdpc3RyYXppb25lLiBJbiBxdWVzdG8gbW9tZW50byBpbCBjb250YXRvcmUgJmVncmF2ZTsgYTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSaW11b3ZlIHR1dHRlIGxlIGVudHJhdGUgcGkmdWdyYXZlOyB2ZWNjaGllIGRpIHVuYSBzZXR0aW1hbmEnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmltdW92ZSB0dXR0ZSBsZSBlbnRyYXRlIHBpJnVncmF2ZTsgdmVjY2hpZSBkaSB1biBtZXNlJzsKJGxhbmdbJ3JlbW92ZTFkYXknXSA9ICdSaW11b3ZlIHR1dHRlIGxlIGVudHJhdGUgcGkmdWdyYXZlOyB2ZWNjaGllIGRpIHVuIGdpb3Jubyc7CiRsYW5nWydyZW1vdmVhbGwnXSA9ICdSaW11b3ZlIHR1dHRlIGxlIGVudHJhdGUnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1NpZXRlIHNpY3Vybz8nOwokbGFuZ1sncmVnaXN0cmF0aW9uX2luZm9fZWRpdGVkJ10gPSAnTGEgdm9zdHJhIHJlZ2lzdHJhemlvbmUgJmVncmF2ZTsgc3RhdGEgbW9kaWZpY2F0YSc7CiRsYW5nWydyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJ10gPSAnQ29uZmVybWEgZGVsbGEgcmVnaXN0cmF6aW9uZSc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJhdGknOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBkZWwgbWVzc2FnZ2lvIGZpbmFsZSc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZmljYSBkZWxsYSByZWdpc3RyYXppb25lJzsKJGxhbmdbJ2NvZGUnXSA9ICdDaGlhdmUgZGkgdmFsaWRhemlvbmUnOwokbGFuZ1snZGVmYXVsdCddID0gJ1NldHRhIGFpIHZhbG9yaSBwcmVkZWZpbml0aSc7CiRsYW5nWydlcnJvcl9ub3Byb3BlcnRpZXMnXSA9ICdOZXNzdW5hIHByb3ByaWV0JmFncmF2ZTsgcGVyIHF1ZXN0byB1dGVudGUnOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnTmVzc3VuYSByZWxhemlvbmUgZGVsbGUgcHJvcHJpZXQmYWdyYXZlOyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdJbmRpcml6em8gZW1haWwgbm9uIHZhbGlkbyc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ05lc3N1biBjYW1wbyBwZXIgdW4gdmFsaWRvIGluZGlyaXp6byBlbWFpbCAmZWdyYXZlOyBzdGF0byB0cm92YXRvJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdJbCBjYW1wbyAlcyBkZXZlIGVzc2VyZSBwcmVzZW50ZSc7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyAxIHBlciBsYSByZWdpc3RyYXppb25lJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdNb2RlbGxvIDIgcGVyIGxhIHJlZ2lzdHJhemlvbmUnOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBwZXIgbGEgY29uZmVybWEgZGEgZW1haWwnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnTW9kZWxsbyBwZXIgaWwgY2FtYmlvIGRlbGxlIGluZm9ybWF6aW9uaSB1dGVudGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJlbnplJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1V0ZW50ZSBub24gdHJvdmF0byc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdVc2VybmFtZSBub24gdmFsaWRvICh0cm9wcG8gbHVuZ28sIHRyb3BwbyBjb3J0byBvIGNvbnRpZW5lIGNhcmF0dGVyaSBub24gdmFsaWRpKS4gU2kgcmljb3JkYSBjaGUgZGV2ZSBjb250ZW5lcmUgc29sbyBjYXJhdHRlcmkgYWxmYW51bWVyaWNpIHNlbnphIHNwYXppLic7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnUXVlc3RvIHVzZXJuYW1lICZlZ3JhdmU7IGdpJmFncmF2ZTsgaW4gdXNvJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0Vycm9yZTogbGUgcGFzc3dvcmQgbm9uIGNvaW5jaWRvbm8nOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFzc3dvcmQgaW52YWxpZGEgKGRldmUgZXNzZXJlIGNvbXByZXNhIGZyYSAlcyBlICVzIGNhcmF0dGVyaSBhbGZhbnVtZXJpY2kgc2VuemEgc3BhemkpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdVc2VybmFtZSBub24gcHUmb2dyYXZlOyBlc3NlcmUgdnVvdG8nOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXNzd29yZCAoZGkgbnVvdm8pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdOb21lIHV0ZW50ZSc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnSW5zZXJpcmUgaWwgdGVzdG8gZGFsbCYjMDM5O2ltbWFnaW5lJzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ051bWVybyBpbnN1ZmZpY2llbnRlIChvIG5vbiBjb3JyZXR0bykgZGkgcGFyYW1ldHJpIGludHJvZG90dGkgYWwgbW9kdWxvJzsKJGxhbmdbJ2Vycm9yX25vZmV1c2Vyc21vZHVsZSddID0gJ05vbiBwb3NzbyBwcmVuZGVyZSB1bmEgaXN0YW56YSBkZWwgbW9kdWxvIEZyb250RW5kVXNlcnMnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdJbCBub21lIGdydXBwbyBzcGVjaWZpY2F0byBub24gZXNpc3RlJzsKJGxhbmdbJ2Vycm9yX2NhcHRjaGFtaXNtYXRjaCddID0gJ0lsIHRlc3RvIGRhbGwmIzAzOTtpbW1hZ2luZSBub24gJmVncmF2ZTsgc3RhdG8gaW5zZXJpdG8gY29ycmV0dGFtZW50ZSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ0xhIGVtYWlsIGRpIHJlZ2lzdHJhemlvbmUgc2FyJmFncmF2ZTsgc3BlZGl0YSBhJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnU2kgcmljaGllZGUgY2hlIGwmIzAzOTt1dGVudGUgY29uZmVybWkgbGEgcmVnaXN0cmF6aW9uZSB2aWEgZW1haWwnOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1NwZWRpc2NlIHVuYSBlbWFpbCBkaSBub3RpZmljYSBxdWFuZG8gcXVhbGN1bm8gc2kgcmVnaXN0cmEnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsbGEnOwokbGFuZ1snc3VibWl0J10gPSAnSW5vbHRyYSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdNb2R1bG8gZGkgU2VsZiBSZWdpc3RyYXRpb24nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRvIGNvbiBzdWNjZXNzbywgc2kgcmljb3JkaSBzaSBzZXR0YXJlIGlsIHBlcm1lc3NvIHBlciAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90Oy4gU2UgaWwgbW9kdWxvIENhcHRjaGEgJmVncmF2ZTsgaW5zdGFsbGF0bywgYWxsb3JhIGxhIHN1YSBmdW56aW9uYWxpdCZhZ3JhdmU7ICZlZ3JhdmU7IGFiaWxpdGF0YSBwZXIgZGVmYXVsdC4gSW5jb3JhZ2dpYW1vIHRhbGUgaW5zdGFsbGF6aW9uZSBwb2ljaCZlZ3JhdmU7IHV0aWxpenphbmRvIGlsIHBhcmFtZXRybyBub2NhcHRjaGEgJmVncmF2ZTsgcG9zc2liaWxlIGRpc2FiaWxpdGFyZSB0YWxlIGZ1bnppb25hbGl0JmFncmF2ZTsuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdJbCBtb2R1bG8gU2VsZiBSZWdpc3RyYXRpb24gJmVncmF2ZTsgZGlzaW5zdGFsbGF0by4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bG8gZGlzaW5zdGFsbGF0by4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnVmVyc2lvbmUgZGVsIG1vZHVsbyAlcyBpbnN0YWxsYXRhLic7CiRsYW5nWydwcmVmc3VwZGF0ZWQnXSA9ICdQcmVmZXJlbnplIGRlbCBtb2R1bG8gYWdnaW9ybmF0ZS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnQWNjZXNzbyBuZWdhdG8uIFNpIHByZWdhIGRpIGNvbnRyb2xsYXJlIGkgcGVybWVzc2kuJzsKJGxhbmdbJ2Vycm9yJ10gPSAnRXJyb3JlISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsbyBhZ2dpb3JuYXRvIGFsbGEgdmVyc2lvbmUgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ByZWZlcmVuemUgbW9kdWxvJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ1Bhbm5lbGxvIGRpIGFtbWluaXN0cmF6aW9uZSBkZWwgbW9kdWxvJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnTW9kdWxvIFNlbGYgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnVW4gbW9kdWxvIGNoZSBwZXJtZXR0ZSBhZ2xpIHV0ZW50aSBkaSBhdXRvIHJlZ2lzdHJhcnNpLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5CZW52ZW51dGkgbmVsIG1vZHVsbyBkaSBhdXRvcmVnaXN0cmF6aW9uZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xLiBPY3QgMjAwNS4gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4yLiBPY3QgMjAwNS4gTW92ZWQgUmFuZG9tIHN0dWZmIGludG8gZmV1c2VycywgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSBvbGQgZW50cmllcyBmcm9tIHRoZSByZWdpc3RyYXRpb24gdGVtcG9yYXJ5IHRhYmxlczwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPg0KPHA+VGhpcyByZWxlYXNlIHdhcyByZW1vdmVkIGR1ZSB0byBwb3NzaWJsZSBlcnJvcnM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+DQo8cD5GaXhlZCBtaW5vciBlcnJvcnMgd2l0aCBDaGVja1Blcm1pc3Npb24sIHJlcGxhY2VkIGFsbCBhc3NpZ25fYnlfcmVmcyYjMDM5O3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgJnF1b3Q7Y2hlY2thbGwmcXVvdDs8L3A+DQo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPg0KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSAmcXVvdDt5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCZxdW90OyBlbWFpbCB0ZW1wbGF0ZXM8L3A+DQo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPg0KPHA+QWRkZWQgYSAmcXVvdDtEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkmcXVvdDsgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAmcXVvdDtSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvbiZxdW90OyBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+DQo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPg0KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4NCjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4NCjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPg0KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPg0KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+DQo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjAuIC0gRGVjIDIwMDY8L3A+DQogICAgPHA+QWRkZWQgZXZlbnRzIGFuZCAxLjAgY29tcGF0aWJpbGl0eTwvcD4NCiAgICA8cD5DYXB0Y2hhIHN1cHBvcnQgKHRoYW5rcyBEaXR0bWFuKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMS4gLSBBcHIgMjAwNzwvcD4NCiAgICA8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDEuMi4wIChtaW5pbXVtKTwvcD4NCiAgICA8cD5TdXBwb3J0IGZvciBtdWx0aXNlbGVjdCBsaXN0cyBpbiBmZXVzZXJzPC9wPg0KICAgIDxwPk91dHB1dCBzb21lIG1vcmUgZmllbGRzIHRvIHNtYXJ0eSB0byBhbGxvdyBmb3IgaW5jcmVhc2VkIGFjY2Vzc2liaWxpdHk8L3A+DQogICAgPHA+U3BsaXQgY29kZSBvdXQgaW50byBtdWx0aXBsZSBmaWxlcyB0byByZWR1Y2Ugb3ZlcmFsbCBtZW1vcnkgZm9vdHByaW50PC9wPg0KICAgIDxwPklnbm9yZSBhbGwgaW1hZ2UgZmllbGRzPC9wPg0KICAgIDxwPkNoYW5nZSBDYXB0Y2hhIHN1cHBvcnQgdG8gYmUgb24gYnkgZGVmYXVsdCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgZm91bmQ8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjIuIC0gTm92IDIwMDc8L3A+DQogICAgPHA+Rml4IHRoZSBwcm9ibGVtIHdpdGggdGhlIFVzZXJEaXNwbGF5TG9zdFJlZ0VtYWlsRm9ybSB0aGluZzwvcD4NCiAgICA8cD5BZGRzIHRoZSBpZCB0byB0aGUgb25Vc2VyUmVnaXN0ZXJlZCBFdmVudDwvcD4NCiAgICA8cD5GaXhlcyB0aGUgcHJvYmxlbSB3aXRoIGNoZWNrYm94IHByb3BlcnRpZXMgbm90IHdvcmtpbmc8L3A+DQogICAgPHA+Tm93IFJlcXVpcmVzIENNUyAxLjEgbWluaW11bTwvcD4NCiAgICA8cD5Zb3UgY2FuIG5vdyB1c2Uge1NlbGZSZWdpc3RyYXRpb24gZ3JvdXA9JiMwMzk7YmxhaCYjMDM5O308L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+IDxlbT5vcHRpb25hbDwvZW0+IC0gcG9zc2libGUgdmFsdWVzIGFyZSAmcXVvdDtzaWdudXAmcXVvdDsgYW5kICZxdW90O3ZlcmlmeSZxdW90Oy4gIElmIHRoaXMgcGFyYW1ldGVyIGlzIG5vdCBzcGVjaWZpZWQsICZxdW90O3NpZ251cCZxdW90OyBpcyBhc3N1bWJlZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+IDxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAmcXVvdDtzaWdudXAmcXVvdDssIG9yIGlmIG1vZGUgaXMgbGVmdCBlbXB0eS48L3A+DQo8cD48c3Ryb25nPmNhcHRjaGE8L3N0cm9uZz4gPGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZW5hYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBUaGUgQ2FwdGNoYSBtb2R1bGUgbXVzdCBiZSBpbnN0YWxsZWQgZm9yIHRoaXMgcGFyYW1ldGVyIHRvIHdvcmsuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJnF1b3Q7PkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBBbGwgUmlnaHRzIEFyZSBSZXNlcnZlZC48L3A+DQo8cD5UaGlzIG1vZHVsZSBoYXMgYmVlbiByZWxlYXNlZCB1bmRlciB0aGUgPGEgaHJlZj0mcXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmcXVvdDs+R05VIFB1YmxpYyBMaWNlbnNlPC9hPi4gWW91IG11c3QgYWdyZWUgdG8gdGhpcyBsaWNlbnNlIGJlZm9yZSB1c2luZyB0aGUgbW9kdWxlLjwvcD4nOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xODA3MTUxNjQwLjExODI5NjA0NTYuMTE5NDAwMzk4OC4xMTk0MDA4Njc0LjIxOSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjExOTA0ODc4NjguNDUuNS51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9ZGV2LmNtc21hZGVzaW1wbGUub3JnfHV0bWNjdD0vfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nb_NO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVmFsaWRlcmluZ3MgbiZvc2xhc2g7a2tlbGVuIG9wcGdpdHQgZXIgaWtrZSBneWxkaWcnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnRW4gaGVuZGVsc2Ugc29tIGluZGlrZXJlciBhdCBlbiBueSBicnVrZXIgaGFyIGZ5bHQgdXQgcmVnaXN0cmVyaW5nc3NramVtYWV0JzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdFbiBIZW5kZWxzZSBzb20gaW5kaWtlcmVyIGF0IGVuIGJydWtlciBoYXIgYmVrcmVmdGV0IHNpbiBpbmZvcm1hc2pvbiBvZyBlciBuJmFyaW5nOyBmdWxsdCByZWdpc3RyZXJ0JzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+RW4gSGVuZGVsc2Ugc29tIGluZGlrZXJlciBhdCBlbiBueSBicnVrZXIgaGFyIGZ1bGxmJm9zbGFzaDtydCByZWdpc3RyZXJpbmdzc2tqZW1hZXQ8L3A+DQo8aDQ+SW5uc3RpbGxpbmdlcjwvaDQ+DQo8dWw+DQo8bGk+PGVtPmJydWtlcm5hdm48L2VtPiAtIERlbiBueWUgYnJ1a2VyZW5zIHZhbGd0ZSBicnVrZXJuYXZuPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIERlbiBueWUgYnJ1a2VyZW5zIGVtYWlsYWRyZXNzZTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkVuIEhlbmRlbHNlIHNvbSBpbmRpa2VyZXIgYXQgZW4gYnJ1a2VyIGhhciBibGl0dCBiZWtyZWZ0ZXQgb2cgZXIgbiZhcmluZzsgcmVnaXN0cmVydCBwJmFyaW5nOyBmZXVzZXJzPC9wPg0KPGg0PklubnN0aWxsaW5nZXI8L2g0Pg0KPHVsPg0KPGxpPjxlbT5icnVrZXJuYXZuPC9lbT4gLSBEZXQgcmVnaXN0cmVydGUgYnJ1a2VybmF2bjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdGb3JhbmRyZSBhZG1pbiBwcmVmZXJhbnNlcj8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xhIGRldHRlIGZlbHRldCB2JmFlbGlnO3JlIHRvbXQgZm9yICZhcmluZzsgYmVob2xkZSBicnVrZXJwYXNzb3JkZXQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0xhIGRldHRlIGZlbHRldCB2JmFlbGlnO3JlIHRvbXQgZm9yICZhcmluZzsgYmVob2xkZSBicnVrZXJwYXNzb3JkZXQnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFcG9zdGFkcmVzc2VuZSBlciBpa2tlIGxpa2UnOwokbGFuZ1snZm9yY2VfZW1haWxfdHdpY2UnXSA9ICdUdmluZ2VyIGJydWtlcm5lIHRpbCAmYXJpbmc7IHRhc3RlIGlubiBlcG9zdGFkcmVzc2VuIHNpbiB0byBnYW5nZXInOwokbGFuZ1snYWdhaW4nXSA9ICdpZ2plbic7CiRsYW5nWydkZWxldGVzZWx1c2VycyddID0gJ1NsZXR0IHZhbGd0ZSBicnVrZXJlJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnSW5nZW4gZmVsdCBkZWZpbmlzam9uZXIsIGVsbGVyIHByb2JsZW0gbWVkICZhcmluZzsgaGVudGUgZGVtIGZyYSBkYXRhYmFzZW4nOwokbGFuZ1snZXJyb3Jfbm9ncm91cHMnXSA9ICdJbmdlbiBncnVwcGVyIGZ1bm5ldCwgZWxsZXIgcHJvYmxlbWVyIG1lZCAmYXJpbmc7IGxlc2UgZ3J1cHBlbGlzdGVuJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdEYXRhYmFzZWZlaWwnOwokbGFuZ1sndGl0bGVfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTWFsIGZvciAmYXJpbmc7IHNlbmRlIG1pc3RldCBwYXNzb3JkJzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIG1pc3RldCBwYXNzb3JkJzsKJGxhbmdbJ2NsaWNraGVyZSddID0gJ0tsaWtrIGhlcic7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0plZyBoYXIgYWxsZXJlZGUgZnVsbGYmb3NsYXNoO3J0IHJlZ2lzdHJlcmluZ3Nza2plbWFldCwgbWVuIG1vdHRvayBpa2tlIG5vZW4gZXBvc3QuIEthbiBkZXJlIHNlbmRlIGRlbiBwJmFyaW5nOyBueXR0JzsKJGxhbmdbJ3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIG1pc3RldCBwYXNzb3JkJzsKJGxhbmdbJ2luZm9fdXNlcnZlcmlmaWVkJ10gPSAnRW4gbnkgYnJ1a2VyIGVyIGxhZ3QgdGlsIGkgRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydlZGl0J10gPSAnUmVkaWdlcic7CiRsYW5nWyd1bmtub3duJ10gPSAnVWtqZW50JzsKJGxhbmdbJ3NlbGVjdCddID0gJ1ZlbGcnOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnVmVsZyBhbGxlJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnVmVsZyBpbmdlbic7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ1NlbmQgZXBvc3QgdGlsIGJydWtlcmVuJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtZXJlciBicnVrZXJlbiBvbSBhdCBrb250b2VuIGhhciBibGl0dCBqdXN0ZXJ0JzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ0Z5bGwgdXQgZGlzc2UgZmVsdGVuZSBmb3IgJmFyaW5nOyBmb3JhbmRyZSBicnVrZXJwYXNzb3JkZXQnOwokbGFuZ1snZWRpdHVzZXInXSA9ICdSZWRpZ2VyIGJydWtlcic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXVzZXInXSA9ICdFciBkdSBzaWtrZXIgcCZhcmluZzsgYXQgZHUgdmlsIHNsZXR0ZSBkZW5uZSBkZWx2aXMgcmVnaXN0cmVydGUgYnJ1a2VyZW4/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdCcnVrZXJJRCc7CiRsYW5nWydoZHJfdXNlcm5hbWUnXSA9ICdCcnVrZXJuYXZuJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3J1cHBlJzsKJGxhbmdbJ2hkcl9jcmVhdGVkJ10gPSAnT3BwcmV0dGV0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0Vwb3N0JzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdCcnVrZXJlIGZ1bm5ldCAoYmVncmVuc2V0IHRpbCBtYWtzIDI1MCknOwokbGFuZ1sndXNlcnMnXSA9ICdCcnVrZXJlJzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnTGlzdCBhbGxlIGlubmxlZ2cgbWVyIGVubiAxIGRhZyBnYW1sZSc7CiRsYW5nWydzdWJqZWN0J10gPSAnRW1uZSBmb3IgdXRnJmFyaW5nO2VuZGUgZXBvc3QnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdIVE1MIG1lbGRpbmdzLWtyb3BwJzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVGV4dCBtZWxkaW5ncy1rcm9wcCc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdFdCBhbnRhbGwgYnJ1a2VyZSBlciBtaWR0IGkgcmVnaXN0cmVyaW5nZW4uIERldHRlIGFudGFsbGVyIGVyIG4mYXJpbmc7Oic7CiRsYW5nWydyZW1vdmUxd2VlayddID0gJ0ZqZXJuIGFsbGUgaW5ubGVnZyBtZXIgZW5uIGVuIHVrZSBnYW1sZSc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdGamVybiBhbGxlIGlubmxlZ2cgbWVyIGVubiBlbiBtJmFyaW5nO25lZCBnYW1sZSc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnRmplcm4gYWxsZSBpbm5sZWdnIG1lciBlbm4gZW4gZGFnIGdhbWxlJzsKJGxhbmdbJ3JlbW92ZWFsbCddID0gJ0ZqZXJuIGFsbGUgaW5ubGVnZyc7CiRsYW5nWydhcmV5b3VzdXJlJ10gPSAnRXIgZHUgc2lra2VyPyc7CiRsYW5nWydyZWdpc3RyYXRpb25faW5mb19lZGl0ZWQnXSA9ICdEaW5lIHJlZ2lzdHJlcmluZ3NkYXRhIGhhciBibGl0dCBlbmRyZXQnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ0Jla3JlZnRlbHNlIHAmYXJpbmc7IHJlZ2lzdHJlcmluZyc7CiRsYW5nWyd1c2VyX3JlZ2lzdHJhdGlvbiddID0gJ1JlZ2lzdHJlcic7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIGF2c2x1dHRlbmRlIG1lbGRpbmcnOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnQmVrcmVmdCByZWdpc3RyZXJpbmcnOwokbGFuZ1snY29kZSddID0gJ0tvZGVuJm9zbGFzaDtra2VsIChWYWxpZGF0aW9uIEtleSknOwokbGFuZ1snZGVmYXVsdCddID0gJ1RpbGJha2VzdGlsbCB0aWwgc3RhbmRhcmR2ZXJkaWVyJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0luZ2VuIGZlbHRlci9lZ2Vuc2thcGVyIGZ1bm5ldCBmb3IgZGVubmUgYnJ1a2VyZW4nOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnSW5nZW4gZmVsdC9lZ2Vuc2thcCByZWxhc2pvbic7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdVZ3lsZGlnIGVwb3N0YWRyZXNzZSc7CiRsYW5nWydlcnJvcl9ub2VtYWlsYWRkcmVzcyddID0gJ0luZ2VuIGd5bGRpZyBlbWFpbGFkcmVzc2UgZmVsdCBmdW5uZXQnOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ0ZlbHRldCAlcyBtJmFyaW5nOyBmeWxsZXMgdXQnOwokbGFuZ1sncmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSddID0gJ01hbCAxIGZvciByZWdpc3RyZXJpbmcnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ01hbCAyIGZvciByZWdpc3RyZXJpbmcnOwokbGFuZ1snZW1haWxjb25maXJtX3RlbXBsYXRlJ10gPSAnTWFsIGZvciBiZWtyZWZ0ZWxzZSBlcG9zdCc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdNYWwgZm9yIGJydWtlci1pbmZvIGZvcmFuZHJldCc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmFuc2VyJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ0JydWtlciBpa2tlIGZ1bm5ldCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdCcnVrZXJuYXZuZXQgZXIgdWd5bGRpZyAoZm9yIGxhbmd0LCBmb3Iga29ydCwgZWxsZXIgaW5uZWhvbGRlciB1Z3lsZGlnZSB0ZWduKS4gIEhpbnQtIEJydWtlcm5hdm4gbSZhcmluZzsgaW5uZWhvbGRlIGt1biBhbGZhbnVtZXJpc2tlIHRlZ24gKGluZ2VuIG1lbGxvbXJvbSknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ0RldCBicnVrZXJuYXZuZXQgZXIgYWxsZXJlZGUgaSBicnVrJzsKJGxhbmdbJ2Vycm9yX3Bhc3N3b3Jkc2RvbnRtYXRjaCddID0gJ0ZFSUw6IHBhc3NvcmRlbmUgZXIgaWtrZSBsaWtlJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1Bhc3NvcmRldCBlciB1Z3lsZGlnIChwYXNzb3JkIG0mYXJpbmc7IHYmYWVsaWc7cmUgbWVsbG9tICVzIG9nICVzIGthcmFrdGVyZXIgaSBsZW5nZGUpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdCcnVrZXJuYXZuZXQga2FuIGlra2UgdiZhZWxpZztyZSBibGFua3QnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXNzb3JkIChpZ2plbiknOwokbGFuZ1sncGFzc3dvcmQnXSA9ICdQYXNzb3JkJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnQnJ1a2VybmF2bic7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnT3BwZ2kgdGVrc3RlbiBmcmEgYmlsZGV0JzsKJGxhbmdbJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcyddID0gJ1VneWxkaWcgbnVtbWVyIChlbGxlciBmZWlsKSBwYXJhbWV0ZXJlIGdpdHQgdGlsIG1vZHVsZW4nOwokbGFuZ1snZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJ10gPSAnRmFudCBpa2tlIEZyb250RW5kVXNlcnMgbW9kdWxlbic7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ09wcGdpdHQgZ3J1cHBlbmF2biBla3Npc3RlcmVyIGlra2UnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGVrc3RlbiBmcmEgYmlsZGV0IGJsZSBpa2tlIHNrcmV2ZXQgcmlrdGlnJzsKJGxhbmdbJ3NlbmRfZW1haWxzX3RvJ10gPSAnUmVnaXN0cmVyaW5nc2VtYWlsZXIgc2t1bGxlIGJsaSBzZW5kdCB0aWwnOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdLcmV2IGF0IGJydWtlcmVuIG0mYXJpbmc7IGJla3JlZnRlIHJlZ2lzdHJlcmluZ2VuIHZpYSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU2VuZCBlbiBlbWFpbCBtZWxkaW5nIG4mYXJpbmc7ciBub2VuIHJlZ2lzdHJlcmVyIHNlZyc7CiRsYW5nWydjYW5jZWwnXSA9ICdBdmJyeXQnOwokbGFuZ1snc3VibWl0J10gPSAnU2VuZCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTZWx2LXJlZ2lzdHJlcmluZ3MgbW9kdWwnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRzam9uIHZlbGx5a2tldCwgaHVza3QgJmFyaW5nOyBzZXR0ZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90OyByZXR0aWdoZXRlbi4NCk9tIENhcHRjaGEgbW9kdWxlbiBlciBpbnN0YWxsZXJ0LCBzJmFyaW5nOyB2aWwgY2FwdGNoYSBmdW5rc2pvbmVuIGJsaSBzbCZhcmluZzt0dCBwJmFyaW5nOyBzb20gc3RhbmRhcmQuIFZpIGFuYmVmYWxlciBwJmFyaW5nOyBkZXQgc3Rlcmtlc3RlIGF0IGR1IGluc3RhbGxlcmVyIGRlbm5lIG1vZHVsZW4uIE9tIENhcHRjaGEgbW9kdWxlbiBlciBpbnN0YWxsZXJ0IG9nIGR1IGlra2UgdmlsIGJlbnl0dGUgZGV0dGUsIGJydWtlciBkdSBwYXJhbWV0ZXJlbiBub2NhcHRjaGEgaSBkaW4gc2Vsdi1yZWdpc3RyZXJpbmdzIHRhZ2cuJzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdTZWx2cmVnaXN0cmVyaW5ncyBNb2R1bGVuIGVyIGF2aW5zdGFsbGVydC4gIFNlciBkZWcgc2VuZXJlLic7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZW4gYXZpbnN0YWxsZXJ0Lic7CiRsYW5nWydpbnN0YWxsZWQnXSA9ICdNb2R1bCB2ZXJzam9uICVzIGluc3RhbGxlcnQuJzsKJGxhbmdbJ3ByZWZzdXBkYXRlZCddID0gJ01vZHVsIGlubnN0aWxsaW5nZXIgb3BwZGF0ZXJ0Lic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBZGdhbmcgbmVrdGV0LiBWZW5ubGlnc3Qgc2pla2sgZGluZSByZXR0aWdoZXRlci4nOwokbGFuZ1snZXJyb3InXSA9ICdGZWlsISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsIG9wcGdyYWRlcnQgdGlsIHZlcnNqb24gJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ01vZHVsIGlubnN0aWxsbmdlcic7CiRsYW5nWyd0aXRsZV9tb2RfYWRtaW4nXSA9ICdNb2R1bCBhZG1pbmlzdHJhc2pvbnNwYW5lbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ1NlbHZyZWdpc3RyZXJpbmdzIE1vZHVsJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRW4gbW9kdWwgc29tIHRpbGxhdGVyIGZyb250LWVuZCBicnVrZXJlICZhcmluZzsgcmVnaXN0cmVyZSBzZWcgc2Vsdi4nOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+VmVsa29tbWVuIHRpbCBTZWx2cmVnaXN0cmVyaW5ncyBtb2R1bGVuLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMi4gLSBOb3YgMjAwNzwvcD4NCiAgICA8cD5GaXggdGhlIHByb2JsZW0gd2l0aCB0aGUgVXNlckRpc3BsYXlMb3N0UmVnRW1haWxGb3JtIHRoaW5nPC9wPg0KICAgIDxwPkFkZHMgdGhlIGlkIHRvIHRoZSBvblVzZXJSZWdpc3RlcmVkIEV2ZW50PC9wPg0KICAgIDxwPkZpeGVzIHRoZSBwcm9ibGVtIHdpdGggY2hlY2tib3ggcHJvcGVydGllcyBub3Qgd29ya2luZzwvcD4NCiAgICA8cD5Ob3cgUmVxdWlyZXMgQ01TIDEuMSBtaW5pbXVtPC9wPg0KICAgIDxwPllvdSBjYW4gbm93IHVzZSB7U2VsZlJlZ2lzdHJhdGlvbiBncm91cD0mIzAzOTtibGFoJiMwMzk7fTwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBkZXNpZ25lZCB0byBhbGxvdyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcyBhbmQgZmlsbCBpbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uICBJdCB0aGVuIHNlbmRzIGEgY29uZmlybWF0aW9uIGVtYWlsLCB3aXRoIGEgbGluayB0byBhIHNlY29uZCBwYWdlIHRoYXQgbXVzdCBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBPbmNlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZSwgYSB1c2VyIGFjY291bnQgaXMgY3JlYXRlZCBpbiB0aGUgZnJvbnQgZW5kIHVzZXJzIG1vZHVsZS48L3A+DQo8cD5JbiBvcmRlciB0byB1c2UgdGhpcyBtb2R1bGUsIHlvdSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IG9mIHR5cGUgJnF1b3Q7RW1haWwgQWRkcmVzcyZxdW90OyBpbiB0aGUgRnJvbnRlbmRVc2VycyBtb2R1bGUsIGFuZCBhc3NvY2lhdGUgdGhhdCBwcm9wZXJ0eSB3aXRoIHRoZSBncm91cCB0byBiZSB1c2VkIGZvciBzZWxmIHJlZ2lzdHJhdGlvbi48L3A+DQo8aDM+SG93IERvIEkgVXNlIEl0PC9oMz4NCjxwPllvdSBwbGFjZSB0aGUgZm9sbG93bmcgdGFnIGludG8geW91ciBwYWdlIHtjbXNfbW9kdWxlIG1vZHVsZT1TZWxmUmVnaXN0cmF0aW9uIGdyb3VwPXVzZXJncm91cH08L3A+DQo8cD5Zb3UgbXVzdCBoYXZlIHByZXZpb3VzbHkgY3JlYXRlZCBwcm9wZXJ0aWVzIGFuZCB1c2VyIGdyb3VwcyBpbiB0aGUgRnJvbnRFbmRVc2VycyBtb2R1bGUgaW4gb3JkZXIgZm9yIHRoaXMgdG8gd29yayBwcm9wZXJseS48L3A+DQo8aDM+UGFyYW1ldGVyczwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIHBvc3NpYmxlIHZhbHVlcyBhcmUgJnF1b3Q7c2lnbnVwJnF1b3Q7IGFuZCAmcXVvdDt2ZXJpZnkmcXVvdDsuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3BlY2lmaWVkLCAmcXVvdDtzaWdudXAmcXVvdDsgaXMgYXNzdW1iZWQuPC9wPg0KPHA+PHN0cm9uZz5ncm91cDwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyBwYXJhbWV0ZXIgaXMgcmVxdWlyZWQgaWYgbW9kZSBpcyAmcXVvdDtzaWdudXAmcXVvdDssIG9yIGlmIG1vZGUgaXMgbGVmdCBlbXB0eS48L3A+DQo8cD48c3Ryb25nPm5vY2FwdGNoYTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gVGhpcyB3aWxsIGRpc2FibGUgY2FwdGNoYSBvbiB0aGUgc2lnbnVwIGZvcm0uIEJ5IGRlZmF1bHQsIGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGNhcHRjaGEgc3VwcG9ydCBpcyBwcm92aWRlZC4gIFRoaXMgcGFyYW1ldGVyIGRpc2FibGVzIGl0LjwvcD4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9JnF1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZxdW90Oz50ZWNoY29tLmR5bmRucy5vcmc8L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgJmFtcDtjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PiZhbXA7bHQ7Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZhbXA7Z3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gcmVsZWFzZWQgdW5kZXIgdGhlIDxhIGhyZWY9JnF1b3Q7aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMJnF1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+JzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE5MzU3MjYyMC4xODcuOC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Y21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS9tYWluL2RldmVsb3BtZW50X3RlYW18dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuNTI1NDA2ODEyLjExODgwNzc0MTcuMTE5Mzk1MjEzNC4xMTkzOTUzODY4LjIwMCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnRGUgaW5nZXZvZXJkZSB2YWxpZGF0aWVzbGV1dGVsIGlzIG9uZ2VsZGlnJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uTmV3VXNlciddID0gJ0VlbiBnZWJldXJ0ZW5pcyBkaWUgYWFuZ2VlZnQgZGF0IGVlbiBuaWV1d2UgZ2VicnVpa2VyIGhldCByZWdpc3RyYXRpZWZvcm11bGllciBoZWVmdCBpbmdldnVsZCc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vblVzZXJSZWdpc3RlcmVkJ10gPSAnRWVuIGdlYmV1cnRlbmlzIGRpZSBhYW5nZWVmdCBkYXQgZWVuIGdlYnJ1aWtlciB6aWpuIGdlZ2V2ZW5zIGhlZWZ0IGdldmFsaWRlZXJkIGVuIG51IHZvbGxlZGlnIGlzIGdlcmVnaXN0cmVlcmQuJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+RWVuIGdlYmV1cnRlbmlzIGRpZSBhYW5nZWVmdCBkYXQgZWVuIG5pZXV3ZSBnZWJydWlrZXIgaGV0IHJlZ2lzdHJhdGllZm9ybXVsaWVyIGhlZWZ0IGluZ2V2dWxkPC9wPg0KPGg0PlBhcmFtZXRlcnM8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gRGUgZ2VzZWxlY3RlZXJkZSBnZWJydWlrZXJzbmFhbTwvbGk+DQo8bGk+PGVtPmVtYWlsPC9lbT4gLSBIZXQgZ2VzZWxlY3RlZXJkZSBlbWFpbGFkcmVzPC9saT4NCjwvdWw+DQonOwokbGFuZ1snZXZlbnRfaGVscF9vblVzZXJSZWdpc3RlcmVkJ10gPSAnPHA+RWVuIGdlYmV1cnRlbmlzIGRpZSBhYW5nZWVmdCBkYXQgZWVuIGdlYnJ1aWtlciB6aWpuIGdlZ2V2ZW5zIGhlZWZ0IGdldmFsaWRlZXJkIGVuIG51IHZvbGxlZGlnIGlzIGdlcmVnaXN0cmVlcmQ8L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBEZSBnZXJlZ2lzdHJlZXJkZSBnZWJydWlrZXJzbmFhbTwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2NvbmZpcm1fc3VibWl0cHJlZnMnXSA9ICdWZXJhbmRlciBiZWhlZXJzdm9vcmtldXJlbj8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xhYXQgZGl0IHZlbGQgbGVlZyBvbSBoZXQgZ2VicnVpa2Vyc3dhY2h0d29vcmQgdGUgYmVob3VkZW4nOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0xhYXQgZGl0IHZlbGQgbGVlZyBvbSBoZXQgZ2VicnVpa2Vyc3dhY2h0d29vcmQgdGUgYmVob3VkZW4nOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdFbWFpbGFkcmVzc2VuIGtvbWVuIG5pZXQgb3ZlcmVlbic7CiRsYW5nWydmb3JjZV9lbWFpbF90d2ljZSddID0gJ1ZlcnBsaWNodCBnZWJydWlrZXJzIG9tIGh1biBlbWFpbGFkcmVzIHR3ZWUgbWFhbCBpbiB0ZSB2b2VyZW4nOwokbGFuZ1snYWdhaW4nXSA9ICdvcG5pZXV3JzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAnVmVyd2lqZGVyIGdlc2VsZWN0ZWVyZGUgZ2VicnVpa2Vycyc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ0dlZW4gZWlnZW5zY2hhcHNkZWZpbml0aWUgb2YgZWVuIHByb2JsZWVtIG9tIGRlemUgdWl0IGRlIGRhdGFiYXNlIHRlIGhhbGVuJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnR2VlbiBncm9lcGVuIG9mIGVlbiBwcm9ibGVlbSBtZXQgaGV0IG9waGFsZW4gdmFuIGRlIGdyb2VwZW5saWpzdCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnRGF0YWJhc2UtZm91dCc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IHZlcmxvcmVuIGVtYWlsc2phYmxvb24nOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1ZlcmxvcmVuIGVtYWlsc2phYmxvb24nOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnS2xpayBoaWVyJzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAnSWsgaGViIGhldCByZWdpc3RyYXRpZWZvcm11bGllciBhbCBpbmdldnVsZCwgbWFhciBoZWIgbm9nIGdlZW4gZW1haWwgb250dmFuZ2VuLiBLdW50IHUgaGV0IG9wbmlldXcgdmVyc3R1cmVuPyc7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnVmVybG9yZW4gZW1haWxzamFibG9vbic7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0VlbiBuaWV1d2UgZ2VicnVpa2VyIGlzIHRvZWdldm9lZ2QgYWFuIEZyb250RW5kVXNlcnMnOwokbGFuZ1snZWRpdCddID0gJ0Jld2Vyayc7CiRsYW5nWyd1bmtub3duJ10gPSAnT25iZWtlbmQnOwokbGFuZ1snc2VsZWN0J10gPSAnU2VsZWN0ZWVyJzsKJGxhbmdbJ2NoZWNrX2FsbCddID0gJ1NlbGVjdGVlciBhbGxlcyc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0Rlc2VsZWN0ZWVyIGFsbGVzJzsKJGxhbmdbJ3NlbmRfYWRqdXN0bWVudGVtYWlsJ10gPSAnU3R1dXIgZWVuIGVtYWlsIG5hYXIgZGUgZ2VicnVpa2VyJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtZWVydCBkZSBnZWJydWlrZXIgZGF0IHppam4gYWNjb3VudCBpcyBhYW5nZXBhc3QnOwokbGFuZ1sndHh0X2NoYW5nZXBhc3N3b3JkJ10gPSAnVnVsIGRlemUgdmVsZGVuIGluIG9tIGhldCBnZWJydWlrZXJzd2FjaHR3b29yZCB0ZSB2ZXJhbmRlcmVuJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnQmV3ZXJrIGdlYnJ1aWtlcic7CiRsYW5nWydhcmV5b3VzdXJlX2RlbGV0ZXVzZXInXSA9ICdXZWV0IHUgemVrZXIgZGF0IGRlemUsIGRlZWxzIGdlcmVnaXN0cmVlcmRlIGdlYnJ1aWtlciwgdmVyd2lqZGVyZCBtb2V0IHdvcmRlbj8nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ0dlYnJ1aWtlcnMtSUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnR2VicnVpa2Vyc25hYW0nOwokbGFuZ1snaGRyX2dycG5hbWUnXSA9ICdHcm9lcCc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0FhbmdlbWFha3QnOwokbGFuZ1snaGRyX2VtYWlsJ10gPSAnRW1haWwnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ2dlYnJ1aWtlcihzKSBnZXZvbmRlbiAoYmVwZXJrdCB0b3QgbWF4aW1hYWwgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ0dlYnJ1aWtlcnMnOwokbGFuZ1snbGlzdDFkYXknXSA9ICdUb29uIGFsbGUgaW52b2VyIHZhbiBtZWVyIGRhbiAmZWFjdXRlOyZlYWN1dGU7biBkYWcgb3VkJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdPbmRlcndlcnAgdmFuIHVpdGdhYW5kZSBlbWFpbCc7CiRsYW5nWydodG1sYm9keSddID0gJ0hUTUwgdGVrc3QgdmFuIGRlIGVtYWlsJzsKJGxhbmdbJ3RleHRib2R5J10gPSAnUGxhdHRlIHRla3N0IHZhbiBkZSBlbWFpbCc7CiRsYW5nWydwcm9tcHRfbnVtcmVzZXRyZWNvcmQnXSA9ICdFZW4gYWFudGFsIGdlYnJ1aWtlcnMgaXMgemljaCBhYW4gaGV0IHJlZ2lzdHJlcmVuLiBEaXQgemlqbiBlciBudTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdWZXJ3aWpkZXIgYWxsZSBpbnZvZXIgdmFuIG1lZXIgZGFuIGVlbiB3ZWVrIG91ZCc7CiRsYW5nWydyZW1vdmUxbW9udGgnXSA9ICdWZXJ3aWpkZXIgYWxsZSBpbnZvZXIgdmFuIG1lZXIgZGFuIGVlbiBtYWFuZCBvdWQnOwokbGFuZ1sncmVtb3ZlMWRheSddID0gJ1ZlcndpamRlciBhbGxlIGludm9lciB2YW4gbWVlciBkYW4gZWVuIGRhZyBvdWQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnVmVyd2lqZGVyIGFsbGUgaW52b2VyJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdXZWV0IHUgaGV0IHpla2VyPyc7CiRsYW5nWydyZWdpc3RyYXRpb25faW5mb19lZGl0ZWQnXSA9ICdVdyByZWdpc3RyYXRpZWluZm9ybWF0aWUgaXMgYWFuZ2VwYXN0JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9jb25maXJtYXRpb24nXSA9ICdSZWdpc3RyYXRpZWJldmVzdGlnaW5nJzsKJGxhbmdbJ3VzZXJfcmVnaXN0cmF0aW9uJ10gPSAnUmVnaXN0cmVlcic7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdBZnJvbmRpbmdzYm9vZHNjaGFwc2phYmxvb24nOwokbGFuZ1sndGl0bGVfdmVyaWZ5cmVnaXN0cmF0aW9uJ10gPSAnVmVyaWZpZWVyIHJlZ2lzdHJhdGllJzsKJGxhbmdbJ2NvZGUnXSA9ICdWYWxpZGF0aWVzbGV1dGVsJzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdBY3RpdmVlciBzdGFuZGFhcmR3YWFyZGVuJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ0dlZW4gZWlnZW5zY2hhcHBlbiB2b29yIGRlemUgZ2VicnVpa2VyIGdldm9uZGVuJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ0dlZW4gZWlnZW5zY2hhcHNyZWxhdGllcyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdPbmdlbGRpZyBlbWFpbGFkcmVzJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnR2VlbiBnZWxkaWcgZW1haWxhZHJlc3ZlbGQgZ2V2b25kZW4nOwokbGFuZ1snZXJyb3JfcmVxdWlyZWRmaWVsZCddID0gJ1ZlbGQgJXMgbW9ldCBpbmdldnVsZCB6aWpuJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYXRpZXNqYWJsLiAxJzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjJfdGVtcGxhdGUnXSA9ICdSZWdpc3RyYXRpZXNqYWJsLiAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ0JldmVzdGlnaW5nc2VtYWlsLXNqYWJsb29uJzsKJGxhbmdbJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSddID0gJ0dlYnJ1aWtlcnNpbmZvLXNqYWJsb29uJzsKJGxhbmdbJ3ByZWZlcmVuY2VzJ10gPSAnVm9vcmtldXJlbic7CiRsYW5nWydlcnJvcl91c2Vybm90Zm91bmQnXSA9ICdHZWJydWlrZXIgbmlldCBnZXZvbmRlbic7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdHZWJydWlrZXJzbmFhbSBpcyBvbmdlbGRpZyAodGUgbGFuZywgdGUga29ydCBvZiBvbmdlbGRpZ2Uga2FyYWt0ZXJzKS4gVGlwOiBnZWJydWlrZXJzbmFtZW4gbW9nZW4gYWxsZWVuIGFsZmFudW1lcmlla2Uga2FyYWt0ZXJzIGVuIGdlZW4gc3BhdGllcyBiZXZhdHRlbic7CiRsYW5nWydlcnJvcl91c2VybmFtZXRha2VuJ10gPSAnRGUgZ2VicnVpa2Vyc25hYW0gaXMgYWwgaW4gZ2VicnVpayc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdGb3V0OiBXYWNodHdvb3JkZW4ga29tZW4gbmlldCBvdmVyZWVuJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1dhY2h0d29vcmQgaXMgZm91dCAod2FjaHR3b29yZGVuIG1vZXRlbiB0dXNzZW4gZGUgJXMgZW4gJXMga2FyYWt0ZXJzIGxhbmcgemlqbiknOwokbGFuZ1snZXJyb3JfZW1wdHl1c2VybmFtZSddID0gJ0dlYnJ1aWtlcnNuYWFtIGthbiBuaWV0IGxlZWcgemlqbic7CiRsYW5nWydyZXBlYXRwYXNzd29yZCddID0gJ1dhY2h0d29vcmQgKG9wbmlldXcpJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnV2FjaHR3b29yZCc7CiRsYW5nWyd1c2VybmFtZSddID0gJ0dlYnJ1aWtlcnNuYWFtJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdWb2VyIGRlIHRla3N0IHVpdCBoZXQgcGxhYXRqZSBpbic7CiRsYW5nWydlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnXSA9ICdPbnZvbGRvZW5kZSAob2YgaW5jb3JyZWN0ZSkgcGFyYW1ldGVycyBvcGdlZ2V2ZW4gYWFuIGRlIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdLb24gZ2VlbiBpbnN0YW5jZSB2YW4gZGUgRnJvbnRFbmRVc2Vycy1tb2R1bGUga3Jpamdlbic7CiRsYW5nWydlcnJvcl9ub3N1Y2hncm91cCddID0gJ09wZ2VnZXZlbnMgZ3JvZXBzbmFhbSBiZXN0YWF0IG5pZXQnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnRGUgdGVrc3QgdWl0IGhldCBwbGFhdGplIGlzIG5pZXQgZ29lZCBpbmdldm9lcmQnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdSZWdpc3RyYXRpZS1lbWFpbCBtb2V0IHZlcnN0dXVyZCB3b3JkZW4gYWFuJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnVmVycGxpY2h0IGRlIGdlYnJ1aWtlciBvbSBkZSByZWdpc3RyYXRpZSB0ZSBiZXZlc3RpZ2VuIHZpYSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU3R1dXIgZWVuIGVtYWlsYmV2ZXN0aWdpbmcgYWxzIGllbWFuZCB6aWNoIHJlZ2lzdHJlZXJ0JzsKJGxhbmdbJ2NhbmNlbCddID0gJ0FubnVsZWVyJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1ZlcnN0dXVyJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ1NlbGYgUmVnaXN0cmF0aW9uLW1vZHVsZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0RlIGluc3RhbGxhdGllIGlzIGFmZ2Vyb25kLiBWZXJnZWV0IG5pZXQgb20gZGUgcmVjaHRlbiB2YW4gJnF1b3Q7TW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24gU2V0dGluZ3MmcXVvdDsgaW4gdGUgc3RlbGxlbi4gQWxzIGRlIENhcHRjaGEgbW9kdWxlIGdlJml1bWw7bnN0YWxsZWVyZCBpcywgZGFuIHN0YWF0IGRlemUgZnVuY3Rpb25hbGl0ZWl0IHN0YW5kYWFyZCBhYW4uIFdlIHJhZGVuIHUgc3RlcmsgYWFuIG9tIGRlemUgbW9kdWxlIHRlIGluc3RhbGxlcmVuLiBBbHMgZGUgQ2FwdGNoYSBtb2R1bGUgZ2UmaXVtbDtuc3RhbGxlZXJkIGlzIGVuIHUgd2lsdCBkZXplIHVpdHNjaGFrZWxlbiwgZ2VicnVpayBkYW4gZGUgbm9jYXB0Y2hhIHBhcmFtZXRlciBpbiBkZSBzZWxmcmVnaXN0cmF0aW9uIHRhZyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnRGUgU2VsZiBSZWdpc3RyYXRpb24tbW9kdWxlIGlzIGdlJml1bWw7bnN0YWxsZWVyZCc7CiRsYW5nWyd1bmluc3RhbGxlZCddID0gJ01vZHVsZSBnZWRlaW5zdGFsbGVlcmQnOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnTW9kdWxldmVyc2llICVzIGdlJml1bWw7bnN0YWxsZWVyZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxldm9vcmtldXJlbiBnZXVwZGF0ZS4nOwokbGFuZ1snYWNjZXNzZGVuaWVkJ10gPSAnVG9lZ2FuZyBnZXdlaWdlcmQuIENvbnRyb2xlZXIgdXcgcmVjaHRlbi4nOwokbGFuZ1snZXJyb3InXSA9ICdGb3V0ISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSBvcGdld2FhcmRlZXJkIG5hYXIgdmVyc2llICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGV2b29ya2V1cmVuJzsKJGxhbmdbJ3RpdGxlX21vZF9hZG1pbiddID0gJ01vZHVsZWJlaGVlcnBhbmVlbCc7CiRsYW5nWyd0aXRsZV9hZG1pbl9wYW5lbCddID0gJ1NlbGYgUmVnaXN0cmF0aW9uLW1vZHVsZSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VlbiBtb2R1bGUgZGllIGhldCBGcm9udEVuZCBnZWJydWlrZXJzIG1vZ2VsaWprIG1hYWt0IHppY2h6ZWxmIHRlIHJlZ2lzdHJlcmVuLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XZWxrb20gYmlqIGRlIFNlbGYgUmVnaXN0cmF0aW9uLW1vZHVsZS48L3A+JzsKJGxhbmdbJ2NoYW5nZWxvZyddID0gJzx1bD4NCjxsaT5WZXJzaW9uIDAuMC4xLiBPY3QgMjAwNS4gSW5pdGlhbCBOUlBUIChOb3QgUmVhZHkgZm9yIFByaW1lIFRpbWUpIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4wLiBPY3QgMjAwNS4gSW5pdGlhbCByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMS4gT2N0IDIwMDUuIFNldCB0aGUgSFRNTCBtYWlsIGZsYWcuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4yLiBPY3QgMjAwNS4gTW92ZWQgUmFuZG9tIHN0dWZmIGludG8gZmV1c2VycywgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIGRlbGV0ZSBvbGQgZW50cmllcyBmcm9tIHRoZSByZWdpc3RyYXRpb24gdGVtcG9yYXJ5IHRhYmxlczwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuMy4gLSBEZWMgMjAwNTwvcD4NCjxwPkZpeGVkIHRoZSB0b2dnbGVzIGluIHRoZSBhZG1pbiBwcmVmZXJlbmNlcy4gIEFsc28sIGNoYW5nZWQgdGhlIHBlcm1pc3Npb25zIG1vZGVsIHRvIG5vdCByZXF1aXJlIHRoZSB1bmlxdWUgcGVybWlzc2lvbiBhZGRlZCBwcmV2aW91c2x5IGZvciB0aGUgc2VsZnJlZyBtb2R1bGUuPC9wPg0KPHA+VGhpcyByZWxlYXNlIHdhcyByZW1vdmVkIGR1ZSB0byBwb3NzaWJsZSBlcnJvcnM8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjQuIC0gSmFuIDIwMDY8L3A+DQo8cD5GaXhlZCBtaW5vciBlcnJvcnMgd2l0aCBDaGVja1Blcm1pc3Npb24sIHJlcGxhY2VkIGFsbCBhc3NpZ25fYnlfcmVmcyYjMDM5O3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgJnF1b3Q7Y2hlY2thbGwmcXVvdDs8L3A+DQo8cD5Ob3cgcmVxdWlyZSBGRVVzZXJzIDAuMS44IGFuZCBDTVNNYWlsZXIgMS43My45PC9wPg0KPHA+QWRkZWQgYW5vdGhlciB0YWIgZm9yIHRoZSAmcXVvdDt5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCZxdW90OyBlbWFpbCB0ZW1wbGF0ZXM8L3A+DQo8cD5BZGRlZCBDU1YgRXhwb3J0aW5nPC9wPg0KPHA+QWRkZWQgYSAmcXVvdDtEZWxldGUgYWxsIHVzZXJzIG9sZGVyIHRoYW4gYSBkYXkmcXVvdDsgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAmcXVvdDtSZXF1aXJlIGVtYWlsIGNvbmZpcm1hdGlvbiZxdW90OyBjaGVja2JveCBub3cgd29ya3MuICBVc2VycyBhcmUgYWRkZWQgc3RyYWlnaHQgdG8gdGhlIGZyb250ZW5kIHVzZXJzIGRhdGFiYXNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgY29uZmlybWF0aW9uIGVtYWlscyBoYXZpbmcgbGlua3MgdG8gdGhlIGFkbWluIHNlY3Rpb24gKG5ldyBidWcgb25seSkuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4zLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIChvcHRpb25hbCkgYWJpbGl0eSB0byByZXF1aXJlIHRoZSB1c2VyIGVudGVyIHRoZSBlbWFpbCBhZGRyZXNzIHR3aWNlPC9wPg0KPHA+Rml4ZWQgYSBidWcgd2l0aCB0aGUgdXNlcmVkaXRlZCBtZXNzYWdlIG5vdCBiZWluZyB0aHJvd24gdGhyb3VnaCBzbWFydHk8L3A+DQo8cD5GaXhlZCB0aGUgZGVmYXVsdCByZWdpc3RyYXRpb24gdGVtcGxhdGUgYSBiaXQgdG8gYWlkZSBpbiB2YWxpZGF0aW9uIGZvciBub24gcmVxdWlyZWQgZmllbGRzIChmaXhlZCBhIHdhcm5pbmcpPC9wPg0KPHA+Rml4IHByb2JsZW1zIHdpdGggaW5saW5lIGFuZCBub24taW5saW5lIGZvcm1zIGFuZCBsaW5rczwvcD4NCjxwPkhhbmRsZSBhbm90aGVyIGNhc2Ugd2hlcmUgdGhlIGFkbWluIG1heSBub3QgaGF2ZSBjcmVhdGVkIHRoZSBwcm9wZXIgdHlwZSBvZiBlbWFpbCBwcm9wZXJ0eTwvcD4NCjxwPkNoYW5nZWQgdG8gcmVxdWlyZSBDTVMgMC4xMi1iZXRhMiBhdCBhIG1pbmltdW0gKGZvciBzYWZldHkgcHVycG9zZXMpPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC40LiAtIE1hciAyMDA2PC9wPg0KPHA+TW9yZSBjb250cm9sIG92ZXIgdXNlcm5hbWUgYW5kIHBhc3N3b3JkIGZpZWxkIHNpemVzIChjb250cm9sbGVkIGJ5IGZldXNlcnMpPC9wPg0KPHA+Q29uZmlybWF0aW9uIG9uIGVkaXRpbmcgcHJlZmVyZW5jZXM8L3A+DQo8cD5SZXF1aXJlIDAuMTIgcHJvcGVyIG9mIGNtcyBhcyBhIG1pbmltdW08L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjAuIC0gRGVjIDIwMDY8L3A+DQogICAgPHA+QWRkZWQgZXZlbnRzIGFuZCAxLjAgY29tcGF0aWJpbGl0eTwvcD4NCiAgICA8cD5DYXB0Y2hhIHN1cHBvcnQgKHRoYW5rcyBEaXR0bWFuKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMS48L3A+DQogICAgPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAxLjEuMyAobWluaW11bSk8L3A+DQogICAgPHA+U3VwcG9ydCBmb3IgbXVsdGlzZWxlY3QgbGlzdHMgaW4gZmV1c2VyczwvcD4NCiAgICA8cD5PdXRwdXQgc29tZSBtb3JlIGZpZWxkcyB0byBzbWFydHkgdG8gYWxsb3cgZm9yIGluY3JlYXNlZCBhY2Nlc3NpYmlsaXR5PC9wPg0KICAgIDxwPlNwbGl0IGNvZGUgb3V0IGludG8gbXVsdGlwbGUgZmlsZXMgdG8gcmVkdWNlIG92ZXJhbGwgbWVtb3J5IGZvb3RwcmludDwvcD4NCiAgICA8cD5JZ25vcmUgYWxsIGltYWdlIGZpZWxkczwvcD4NCiAgICA8cD5DaGFuZ2UgQ2FwdGNoYSBzdXBwb3J0IHRvIGJlIG9uIGJ5IGRlZmF1bHQgaWYgdGhlIENhcHRjaGEgbW9kdWxlIGlzIGZvdW5kPC9wPg0KPC9saT4NCjwvdWw+JzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2F0IGRvZXQgaGV0PzwvaDM+DQo8cD5EZXplIG1vZHVsZSBpcyBvbnR3b3JwZW4gb20gRnJvbnRFbmRVc2VycyB0b2UgdGUgc3RhYW4gemljaHplbGYgdGUgcmVnaXN0cmVyZW4gZW4gZGUgYmVub2RpZ2RlIGluZm9ybWF0aWUgaW4gdGUgdnVsbGVuLiBIZXQgdmVyc3R1dXJ0IHZlcnZvbGdlbnMgZWVuIGJldmVzdGlnaW5nc21haWwgbWV0IGVlbiBsaW5rIG5hYXIgZWVuIHR3ZWVkZSBwYWdpbmEgZGllIGluZ2V2dWxkIG1vZXQgd29yZGVuIHZvb3IgZGUgcmVnaXN0cmF0aWUgYWZnZXJvbmQga2FuIHdvcmRlbi4gTmEgYWZyb25kaW5nIHZhbiBkZSByZWdpc3RyYXRpZSBpcyBlZW4gZ2VicnVpa2Vyc2FjY291bnQgaW4gZGUgRnJvbnRFbmRVc2Vycy1tb2R1bGUgYWFuZ2VtYWFrdC48L3A+DQo8cD5PbSBkZXplIG1vZHVsZSB0ZSBrdW5uZW4gZ2VicnVpa2VuIGRpZW50IGVlbiBlaWdlbnNjaGFwIHZhbiBoZXQgdHlwZSBFLW1haWxhZHJlcyBpbiBkZSBGcm9udEVuZFVzZXJzLW1vZHVsZSBhYW5nZW1hYWt0IHRlIHdvcmRlbiBlbiBtb2V0IGRlemUgZ2Vrb3BwZWxkIHdvcmRlbiBtZXQgZGUgZ2VicnVpa2Vyc2dyb2VwIGRpZSBnZWJydWlrdCB3b3JkdCB2b29yIGRlIHplbGZyZWdpc3RyYXRpZS48L3A+DQo8aDM+SG9lIGdlYnJ1aWsgaWsgaGV0PzwvaDM+DQo8cD5KZSBwbGFhdHN0IGRlIHZvbGdlbmRlIHRhZyBpbiBqZSBwYWdpbmEge2Ntc19tb2R1bGUgbW9kdWxlPVNlbGZSZWdpc3RyYXRpb24gZ3JvdXA9Z2VicnVpa2Vyc2dyb2VwfTwvcD4NCjxwPkplIG1vZXQgdm9vcmFmIGRlIGVpZ2Vuc2NoYXBwZW4gZW4gZ2VicnVpa2Vyc2dyb2VwZW4gaW4gZGUgRnJvbnRFbmRVc2Vycy1tb2R1bGUgYWFuZ2VtYWFrdCBoZWJiZW4gb20gZGUgemVsZnJlZ2lzdHJhdGllIHRlIGt1bm5lbiBnZWJydWlrZW4uPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmVlbDwvZW0+IC0gbW9nZWxpamtlIHdhYXJkZW4gemlqbiAmcXVvdDtzaWdudXAmcXVvdDsgZW4gJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgQWxzIGRlemUgcGFyYW1ldGVyIG5pZXQgb3BnZWdldmVuIGlzIGdlbGR0ICZxdW90O3NpZ251cCZxdW90Oy48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBWZXJlaXN0IGFscyBkZSBtb2RlICZxdW90O3NpZ251cCZxdW90OyBpcyBvZiBhbHMgZGUgbW9kZSBuaWV0IG9wZ2VnZXZlbiBpcy48L3A+DQo8cD48c3Ryb25nPm5vY2FwdGNoYTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25lZWw8L2VtPiAtIEhpZXJtZWUgd29yZHQgY2FwdGNoYSB1aXRnZXNjaGFrZWxkIG9wIGhldCByZWdpc3RyYXRpZWZvcm11bGllci4gU3RhbmRhYXJkIHdvcmR0IGNhcHRjaGEgb25kZXJzdGV1bmQsIG1pdHMgZGUgQ2FwdGNoYS1tb2R1bGUgZ2UmaXVtbDtuc3RhbGxlZXJkIGlzLiBEZXplIHBhcmFtZXRlciBzY2hha2VsdCBkZSBtb2R1bGUgdWl0LjwvcD4NCjxoMz5PbmRlcnN0ZXVuaW5nPC9oMz4NCjxwPkRlemUgbW9kdWxlIGJldmF0IGdlZW4gY29tbWVyY2kmZXVtbDtsZSBvbmRlcnN0ZXVuaW5nLiBFciB6aWpuIGVjaHRlciBlZW4gYWFudGFsIG1vZ2VsaWpraGVkZW4gb20gamUgZXJtZWUgdGUgaGVscGVuOjwvcD4NCjx1bD4NCjxsaT5Wb29yIGRlIG5pZXV3c3RlIHZlcnNpZSB2YW4gZGV6ZSBtb2R1bGUsIEZBUXMsIG9mIG9tIGVlbiBCdWcgUmVwb3J0IGluIHRlIGRpZW5lbiBvZiBjb21tZXJjaWVsZSBvbmRlcnN0ZXVuaW5nIHRlIHZyYWdlbiwga3VuIGplIGNhbGd1eSYjMDM5O3MNCm1vZHVsZSBob21lcGFnZSBiZXpvZWtlbiBvcCA8YSBocmVmPSZxdW90O2h0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmcmcXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPlZlcmRlcmUgYmVzcHJla2luZ2VuIHZhbiBkZXplIG1vZHVsZSBrYW4gb29rIGdldm9uZGVuIHdvcmRlbiBpbiBkZSA8YSBocmVmPSZxdW90O2h0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyZxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPkRlIGF1dGV1ciwgY2FsZ3V5MTAwMCwga2FuIHZhYWsgYWFuZ2V0cm9mZmVuIHdvcmRlbiBpbiBkZSA8YSBocmVmPSZxdW90O2lyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyZxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+VGVuc2xvdHRlIGthbiBqZSBlbmlnZSBzdWNjZXMgaGViYmVuIGRvb3IgZGUgYXV0ZXVyIGRpcmVjdCB0ZSBlLW1haWxlbi48L2xpPiAgDQo8L3VsPg0KPHA+QXMgcGVyIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgcHJvdmlkZWQgYXMtaXMuIFBsZWFzZSByZWFkIHRoZSB0ZXh0DQpvZiB0aGUgbGljZW5zZSBmb3IgdGhlIGZ1bGwgZGlzY2xhaW1lci48L3A+DQoNCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA1LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSZxdW90O21haWx0bzpjYWxndXkxMDAwQGhvdG1haWwuY29tJnF1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5HTlUgUHVibGljIExpY2Vuc2U8L2E+LiBZb3UgbXVzdCBhZ3JlZSB0byB0aGlzIGxpY2Vuc2UgYmVmb3JlIHVzaW5nIHRoZSBtb2R1bGUuPC9wPg0KJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTU4MTA0MzUyMi4xMTg1MTA4NjU5LjExOTUyMzQ3OTYuMTE5NTM5OTgxNy4zMDQnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTk1MjM0Nzk2LjMwMy4zNy51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9c3ltYmFsb28uY29tfHV0bWNjdD0vbmwvfHV0bWNtZD1yZWZlcnJhbCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pl_PL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnV3Byb3dhZHpvbnkga2x1Y3ogd2FsaWRhY2ppICc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vbk5ld1VzZXInXSA9ICdBbiBldmVudCBpbmRpY2F0aW5nIHRoYXQgYSBuZXcgdXNlciBoYXMgY29tcGxldGVkIHRoZSByZWdpc3RyYXRpb24gZm9ybSc7CiRsYW5nWydldmVudF9kZXNjcmlwdGlvbl9vblVzZXJSZWdpc3RlcmVkJ10gPSAnQW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgdXNlciBoYXMgdmVyaWZpZWQgaGlzIGluZm9ybWF0aW9uIGFuZCBpcyBub3cgY29tcGxldGVseSByZWdpc3RlcmVkJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ0NoYW5nZSBhZG1pbiBwcmVmZXJlbmNlcz8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xlYXZlIHRoaXMgZmllbGQgZW1wdHkgdG8gcHJlc2VydmUgdGhlIHVzZXIgcGFzc3dvcmQnOwokbGFuZ1snaW5mb19hZG1pbl9yZXBlYXRwYXNzd29yZCddID0gJ0xlYXZlIHRoaXMgZmllbGQgZW1wdHkgdG8gcHJlc2VydmUgdGhlIHVzZXIgcGFzc3dvcmQnOwokbGFuZ1snZXJyb3JfZW1haWxkb2Vzbm90bWF0Y2gnXSA9ICdBZHJlc3kgZW1haWwgbmllIHpnYWR6YWrEhSBzacSZJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnV3ltYWdhaiBwb2R3Jm9hY3V0ZTtqbmVnbyB3cHJvd2FkemVuaWEgZW1haWxhJzsKJGxhbmdbJ2FnYWluJ10gPSAncG9ub3duaWUnOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdTa2FzdWogd3licmFueWNoIHXFvHl0a293bmlrJm9hY3V0ZTt3JzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnTm8gcHJvcGVydHkgZGVmaW5pdGlvbnMsIG9yIHByb2JsZW0gcmV0cmVpdmluZyB0aGVtIGZyb20gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnTm8gZ3JvdXBzLCBvciBwcm9ibGVtIHJldHJlaXZpbmcgZ3JvdXAgbGlzdCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAnQsWCxIVkIGJhenkgZGFueWNoJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1Bvc3QgTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydjbGlja2hlcmUnXSA9ICdLbGlrbmlqIHR1dGFqJzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAnSSBoYXZlIGFscmVhZHkgY29tcGxldGVkIHRoZSByZWdpc3RyYXRpb24gZm9ybSwgYnV0IGRpZCBub3QgcmVjZWl2ZSBhbiBlbWFpbCwgY2FuIHlvdSBwbGVhc2UgcmUtc2VuZCBpdCc7CiRsYW5nWydzZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJ10gPSAnTG9zdCBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ0EgbmV3IHVzZXIgaGFzIGJlZW4gYWRkZWQgdG8gRnJvbnRFbmRVc2Vycyc7CiRsYW5nWydlZGl0J10gPSAnRWRpdCc7CiRsYW5nWyd1bmtub3duJ10gPSAnVW5rbm93bic7CiRsYW5nWydzZWxlY3QnXSA9ICdTZWxlY3QnOwokbGFuZ1snY2hlY2tfYWxsJ10gPSAnQ2hlY2sgQWxsJzsKJGxhbmdbJ3VuY2hlY2tfYWxsJ10gPSAnVW5jaGVjayBBbGwnOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdTZW5kIGFuIGVtYWlsIHRvIHRoZSB1c2VyJzsKJGxhbmdbJ3R4dF9hZGp1c3RtZW50ZW1haWwnXSA9ICcoaW5mb3JtcyB0aGUgdXNlciB0aGF0IHRoZWlyIGFjY291bnQgaGFzIGJlZW4gYWRqdXN0ZWQnOwokbGFuZ1sndHh0X2NoYW5nZXBhc3N3b3JkJ10gPSAnRmlsbCBpbiB0aGVzZSBmaWVsZHMgdG8gY2hhbmdlIHRoZSB1c2VyIHBhc3N3b3JkJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnRWRpdCBVc2VyJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBwYXJ0aWFsbHkgcmVnaXN0ZXJlZCB1c2VyPyc7CiRsYW5nWydoZHJfdXNlcmlkJ10gPSAnVXNlcklEJzsKJGxhbmdbJ2hkcl91c2VybmFtZSddID0gJ1VzZXJuYW1lJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3JvdXAnOwokbGFuZ1snaGRyX2NyZWF0ZWQnXSA9ICdDcmVhdGVkJzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0VtYWlpJzsKJGxhbmdbJ3VzZXJzZm91bmQnXSA9ICdVc2VycyBmb3VuZCAobGltaXRlZCB0byBhIG1heGltdW0gb2YgMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1VzZXJzJzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnTGlzdCBhbGwgZW50cmllcyBtb3JlIHRoYW4gMSBkYXkgb2xkJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdTdWJqZWN0IGZvciBvdXRnb2luZyBlbWFpbCc7CiRsYW5nWydodG1sYm9keSddID0gJ0hUTUwgbWVzc2FnZSBib2R5JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVGV4dCBtZXNzYWdlIGJvZHknOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnQSBudW1iZXIgb2YgdXNlcnMgYXJlIGluIHRoZSBtaWRkbGUgb2YgcmVnaXN0ZXJpbmcuICBDdXJyZW50bHkgdGhpcyBjb3VudCBpcyBhdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgd2VlayBvbGQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIG1vbnRoIG9sZCc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIGRheSBvbGQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICdBcmUgeW91IHN1cmU/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ1lvdXIgcmVnaXN0cmF0aW9uIGluZm8gaGFzIGJlZW4gbW9kaWZpZWQnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ1JlZ2lzdHJhdGlvbiBDb25maXJtYXRpb24nOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdSZWdpc3Rlcic7CiRsYW5nWydmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnXSA9ICdGaW5hbCBNZXNzYWdlIFRlbXBsYXRlJzsKJGxhbmdbJ3RpdGxlX3ZlcmlmeXJlZ2lzdHJhdGlvbiddID0gJ1ZlcmlmeSBSZWdpc3RyYXRpb24nOwokbGFuZ1snY29kZSddID0gJ1ZhbGlkYXRpb24gS2V5JzsKJGxhbmdbJ2RlZmF1bHQnXSA9ICdTZXQgVG8gRGVmYXVsdHMnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTm8gcHJvcGVydGllcyBmb3VuZCBmb3IgdGhpcyB1c2VyJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ05vIHByb3BlcnR5IHJlbGF0aW9ucyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdJbnZhbGlkIGVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdObyB2YWxpZCBlbWFpbCBhZGRyZXNzIGZpZWxkIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdGaWVsZCAlcyBtdXN0IGJlIGZpbGxlZCBpbic7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmF0aW9uIFRlbXBsYXRlIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ0NvbmZpcm1hdGlvbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdVc2VyIEluZm8gQ2hhbmdlZCBUZW1wbGF0ZSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1VzZXIgbm90IGZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ1VzZXJuYW1lIGlzIGludmFsaWQgKHRvbyBsb25nLCB0b28gc2hvcnQsIG9yIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycykuICBIaW50LSBVc2VybmFtZXMgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgKG5vIHNwYWNlcyknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RoYXQgdXNlcm5hbWUgaXMgY3VycmVudGx5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdFUlJPUjogUGFzc3dvcmRzIGRvbnQgbWF0Y2gnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFzc3dvcmQgaXMgaW52YWxpZCAocGFzc3dvcmRzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMgY2hhcmFjdGVycyBpbiBsZW5ndGgpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdVc2VybmFtZSBjYW5ub3QgYmUgZW1wdHknOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXNzd29yZCAoYWdhaW4pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFzc3dvcmQnOwokbGFuZ1sndXNlcm5hbWUnXSA9ICdVc2VybmFtZSc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IG51bWJlciAob3IgaW5jb3JyZWN0KSBwYXJhbWV0ZXJzIHN1cHBsaWVkIHRvIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdDb3VsZCBub3QgZ2V0IGluc3RhbmNlIG9mIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnR3JvdXAgbmFtZSBzcGVjaWZpZWQgZG9lcyBub3QgZXhpc3QnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGhlIHRleHQgZnJvbSB0aGUgaW1hZ2Ugd2FzIG5vdCBlbnRlcmVkIGNvcnJlY3RseSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ1JlZ2lzdHJhdGlvbiBlbWFpbHMgc2hvdWxkIGJlIHNlbnQgdG8nOwokbGFuZ1sncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nXSA9ICdSZXF1aXJlIHRoZSB1c2VyIHRvIGNvbmZpcm0gcmVnaXN0cmF0aW9uIHZpYSBlbWFpbCc7CiRsYW5nWydub3RpZnlfb25fcmVnaXN0cmF0aW9uJ10gPSAnU2VuZCBhbiBlbWFpbCBub3RpZmljYXRpb24gd2hlbiBzb21lb25lIHJlZ2lzdGVycyc7CiRsYW5nWydjYW5jZWwnXSA9ICdBbnVsdWonOwokbGFuZ1snc3VibWl0J10gPSAnV3nFm2xpaic7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdBdXRvLXJlamVzdHJhY2phJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnSW5zdGFsbGF0aW9uIHN1Y2Nlc3NmdWxsLCBwbGVhc2UgcmVtZW1iZXIgdG8gc2V0IHRoZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90OyBwZXJtaXNzaW9uLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gbW9kdWxlIGlzIHVuaW5zdGFsbGVkLiAgU2VlIHlvdSBsYXRlci4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGUgUHJlZmVyZW5jZXMnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlIEFkbWluIFBhbmVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnQXV0by1yZWplc3RyYWNqYSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ01vZHXFgiB1bW/FvGxpd2lhasSFY3kgdcW8eXRrb3duaWtvbSBzdHJvbnkgYXV0by1yZWplc3RyYWNqxJknOwokbGFuZ1snd2VsY29tZV90ZXh0J10gPSAnPHA+V2l0YW15IHcgbW9kdWxlIGF1dG8tcmVqZXN0cmFjamkuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnMmIzAzOTtzIHdpdGggYXNzaWducyBmb3IgaG9wZWZ1bCBwaHA1IGNvbXBhdGliaWxpdHkuPC9wPg0KPGxpPjxwPlZlcnNpb24gMC4xLjUuIC0gSmFuIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBzZXQgdGhlIHN1YmplY3Qgb2YgdGhlIGNvbmZpcm1hdGlvbiBlbWFpbCwgYW5kIGFkZGVkIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSB0ZXh0IGJvZHkuICBTdWJqZWN0LCBhbmQgdGV4dCBib2R5IGFyZSByZXF1aXJlZC48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjAuIC0gRmViIDIwMDY8L3A+DQo8cD5GaXhlZCBhIHByb2JsZW0gd2l0aCB0aGUgdmVyaWZ5IG1vZGUuPC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gZWRpdCBhbmQgZGVsZXRlIHVzZXJzLiB3aXRoIHNlbGVjdGlvbiBvbiB0aGUgY2hlY2tib3hlcywgYW5kICZxdW90O2NoZWNrYWxsJnF1b3Q7PC9wPg0KPHA+Tm93IHJlcXVpcmUgRkVVc2VycyAwLjEuOCBhbmQgQ01TTWFpbGVyIDEuNzMuOTwvcD4NCjxwPkFkZGVkIGFub3RoZXIgdGFiIGZvciB0aGUgJnF1b3Q7eW91ciBzZXR0aW5ncyBoYXZlIGJlZW4gYWRqdXN0ZWQmcXVvdDsgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgJnF1b3Q7RGVsZXRlIGFsbCB1c2VycyBvbGRlciB0aGFuIGEgZGF5JnF1b3Q7IGJ1dHRvbjwvcD4NCjxwPk5vdyB3b3JrcyB3aXRoIHRoZSBtYXhpbXVtIGxlbmd0aCBmaWVsZCBvZiBGRVVzZXJzPC9wPg0KPHA+QWRkZWQgc3VwcG9ydCBmb3IgZHJvcGRvd25zIGFuZCB0ZXh0IGFyZWFzPC9wPg0KPHA+RGlzYWxsb3cgcHVuY3R1YXRpb24gY2hhcmFjdGVycyBpbiB1c2VybmFtZTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMS4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IGZvciB1c2VycyB0byByZXF1ZXN0IGFub3RoZXIgcmVnaXN0cmF0aW9uIGVtYWlsICh1c2VzIHRoZSBzYW1lIGNvZGUpLCBpbmNhc2UgdGhleSBsb3N0IHRoZWlyIGZpcnN0IG9uZS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjIuIC0gRmViIDIwMDY8L3A+DQo8cD5UaGUgJnF1b3Q7UmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24mcXVvdDsgY2hlY2tib3ggbm93IHdvcmtzLiAgVXNlcnMgYXJlIGFkZGVkIHN0cmFpZ2h0IHRvIHRoZSBmcm9udGVuZCB1c2VycyBkYXRhYmFzZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIGNvbmZpcm1hdGlvbiBlbWFpbHMgaGF2aW5nIGxpbmtzIHRvIHRoZSBhZG1pbiBzZWN0aW9uIChuZXcgYnVnIG9ubHkpLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMy4gLSBGZWIgMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSAob3B0aW9uYWwpIGFiaWxpdHkgdG8gcmVxdWlyZSB0aGUgdXNlciBlbnRlciB0aGUgZW1haWwgYWRkcmVzcyB0d2ljZTwvcD4NCjxwPkZpeGVkIGEgYnVnIHdpdGggdGhlIHVzZXJlZGl0ZWQgbWVzc2FnZSBub3QgYmVpbmcgdGhyb3duIHRocm91Z2ggc21hcnR5PC9wPg0KPHA+Rml4ZWQgdGhlIGRlZmF1bHQgcmVnaXN0cmF0aW9uIHRlbXBsYXRlIGEgYml0IHRvIGFpZGUgaW4gdmFsaWRhdGlvbiBmb3Igbm9uIHJlcXVpcmVkIGZpZWxkcyAoZml4ZWQgYSB3YXJuaW5nKTwvcD4NCjxwPkZpeCBwcm9ibGVtcyB3aXRoIGlubGluZSBhbmQgbm9uLWlubGluZSBmb3JtcyBhbmQgbGlua3M8L3A+DQo8cD5IYW5kbGUgYW5vdGhlciBjYXNlIHdoZXJlIHRoZSBhZG1pbiBtYXkgbm90IGhhdmUgY3JlYXRlZCB0aGUgcHJvcGVyIHR5cGUgb2YgZW1haWwgcHJvcGVydHk8L3A+DQo8cD5DaGFuZ2VkIHRvIHJlcXVpcmUgQ01TIDAuMTItYmV0YTIgYXQgYSBtaW5pbXVtIChmb3Igc2FmZXR5IHB1cnBvc2VzKTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuNC4gLSBNYXIgMjAwNjwvcD4NCjxwPk1vcmUgY29udHJvbCBvdmVyIHVzZXJuYW1lIGFuZCBwYXNzd29yZCBmaWVsZCBzaXplcyAoY29udHJvbGxlZCBieSBmZXVzZXJzKTwvcD4NCjxwPkNvbmZpcm1hdGlvbiBvbiBlZGl0aW5nIHByZWZlcmVuY2VzPC9wPg0KPHA+UmVxdWlyZSAwLjEyIHByb3BlciBvZiBjbXMgYXMgYSBtaW5pbXVtPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4wLiAtIERlYyAyMDA2PC9wPg0KICAgIDxwPkFkZGVkIGV2ZW50cyBhbmQgMS4wIGNvbXBhdGliaWxpdHk8L3A+DQogICAgPHA+Q2FwdGNoYSBzdXBwb3J0ICh0aGFua3MgRGl0dG1hbik8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4xLjEuPC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4xLjMgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQo8L2xpPg0KPC91bD4nOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgaXMgZGVzaWduZWQgdG8gYWxsb3cgZnJvbnQgZW5kIHVzZXJzIHRvIHJlZ2lzdGVyIHRoZW1zZWx2ZXMgYW5kIGZpbGwgaW4gdGhlIHJlcXVpcmVkIGluZm9ybWF0aW9uLiAgSXQgdGhlbiBzZW5kcyBhIGNvbmZpcm1hdGlvbiBlbWFpbCwgd2l0aCBhIGxpbmsgdG8gYSBzZWNvbmQgcGFnZSB0aGF0IG11c3QgYmUgY29tcGxldGVkIGJlZm9yZSB0aGUgcmVnaXN0cmF0aW9uIGlzIGNvbXBsZXRlLiAgT25jZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUsIGEgdXNlciBhY2NvdW50IGlzIGNyZWF0ZWQgaW4gdGhlIGZyb250IGVuZCB1c2VycyBtb2R1bGUuPC9wPg0KPHA+SW4gb3JkZXIgdG8gdXNlIHRoaXMgbW9kdWxlLCB5b3UgbXVzdCBjcmVhdGUgYSBwcm9wZXJ0eSBvZiB0eXBlICZxdW90O0VtYWlsIEFkZHJlc3MmcXVvdDsgaW4gdGhlIEZyb250ZW5kVXNlcnMgbW9kdWxlLCBhbmQgYXNzb2NpYXRlIHRoYXQgcHJvcGVydHkgd2l0aCB0aGUgZ3JvdXAgdG8gYmUgdXNlZCBmb3Igc2VsZiByZWdpc3RyYXRpb24uPC9wPg0KPGgzPkhvdyBEbyBJIFVzZSBJdDwvaDM+DQo8cD5Zb3UgcGxhY2UgdGhlIGZvbGxvd25nIHRhZyBpbnRvIHlvdXIgcGFnZSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+WW91IG11c3QgaGF2ZSBwcmV2aW91c2x5IGNyZWF0ZWQgcHJvcGVydGllcyBhbmQgdXNlciBncm91cHMgaW4gdGhlIEZyb250RW5kVXNlcnMgbW9kdWxlIGluIG9yZGVyIGZvciB0aGlzIHRvIHdvcmsgcHJvcGVybHkuPC9wPg0KPGgzPlBhcmFtZXRlcnM8L2gzPg0KPHA+PHN0cm9uZz5tb2RlPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBwb3NzaWJsZSB2YWx1ZXMgYXJlICZxdW90O3NpZ251cCZxdW90OyBhbmQgJnF1b3Q7dmVyaWZ5JnF1b3Q7LiAgSWYgdGhpcyBwYXJhbWV0ZXIgaXMgbm90IHNwZWNpZmllZCwgJnF1b3Q7c2lnbnVwJnF1b3Q7IGlzIGFzc3VtYmVkLjwvcD4NCjxwPjxzdHJvbmc+Z3JvdXA8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgcGFyYW1ldGVyIGlzIHJlcXVpcmVkIGlmIG1vZGUgaXMgJnF1b3Q7c2lnbnVwJnF1b3Q7LCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5jYXB0Y2hhPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHdpbGwgZW5hYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBUaGUgQ2FwdGNoYSBtb2R1bGUgbXVzdCBiZSBpbnN0YWxsZWQgZm9yIHRoaXMgcGFyYW1ldGVyIHRvIHdvcmsuPC9wPg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0mYW1wO3F1b3Q7aHR0cDovL3RlY2hjb20uZHluZG5zLm9yZyZhbXA7cXVvdDs+dGVjaGNvbS5keW5kbnMub3JnPC9hPi48L2xpPg0KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mYW1wO3F1b3Q7aHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnJmFtcDtxdW90Oz5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPg0KPGxpPlRoZSBhdXRob3IsIGNhbGd1eTEwMDAsIGNhbiBvZnRlbiBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0mYW1wO3F1b3Q7aXJjOi8vaXJjLmZyZWVub2RlLm5ldC8jY21zJmFtcDtxdW90Oz5DTVMgSVJDIENoYW5uZWw8L2E+LjwvbGk+DQo8bGk+TGFzdGx5LCB5b3UgbWF5IGhhdmUgc29tZSBzdWNjZXNzIGVtYWlsaW5nIHRoZSBhdXRob3IgZGlyZWN0bHkuPC9saT4gIA0KPC91bD4NCjxwPkFzIHBlciB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIHByb3ZpZGVkIGFzLWlzLiBQbGVhc2UgcmVhZCB0aGUgdGV4dA0Kb2YgdGhlIGxpY2Vuc2UgZm9yIHRoZSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mYW1wO3F1b3Q7bWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20mYW1wO3F1b3Q7PjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSZhbXA7cXVvdDtodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwmYW1wO3F1b3Q7PkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My41MzEyMTYyMDAuMTE0ODA3NzUzOS4xMTY4MjU2MzAyLjExNjgzNjE0ODQuOTInOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMTY4MzYxNDg0LjkyLjcudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPXRoZW1lcy5jbXNtYWRlc2ltcGxlLm9yZ3x1dG1jY3Q9L0hvbWUuaHRtbHx1dG1jbWQ9cmVmZXJyYWwnOwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ro_RO.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnQ2hlaWEgZGUgdmFsaWRhcmUgZnVybml6YXRhIGVzdGUgaW52YWxpZGEnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnRXZlbmltZW50IGNhcmUgaW5kaWNhIGNvbXBsZXRhcmVhIGZvcm11bGFydWx1aSBkZSBpbnJlZ2lzdHJhcmUgZGUgY2F0cmUgbm91bCB1dGlsaXphdG9yJzsKJGxhbmdbJ2V2ZW50X2Rlc2NyaXB0aW9uX29uVXNlclJlZ2lzdGVyZWQnXSA9ICdFdmVuaW1lbnQgY2FyZSBpbmRpY2EgZmFwdHVsIGNhIHV0aWxpemF0b3J1bCBzaS1hIHZlcmlmaWNhdCBpbmZvcm1hdGlpbGUgc2kgYWN1bSBlc3RlIGNvbXBsZXQgaW5yZWdpc3RyYXQnOwokbGFuZ1snZXZlbnRfaGVscF9vbk5ld1VzZXInXSA9ICc8cD5FdmVuaW1lbnQgY2FyZSBpbmRpY2EgY29tcGxldGFyZWEgZm9ybXVsYXJ1bHVpIGRlIGlucmVnaXN0cmFyZSBkZSBjYXRyZSBub3VsIHV0aWxpemF0b3I8L3A+DQo8aDQ+UGFyYW1ldHJpPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIE51bWVsZSB1dGlsaXphdG9yIGFsIG5vdWx1aSB1dGlsaXphdG9yPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIEFkcmVzYSBkZSBlLW1haWwgYSBub3VsdWkgdXRpbGl6YXRvcjwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkV2ZW5pbWVudCBjYXJlIGluZGljYSBmYXB0dWwgY2EgdXRpbGl6YXRvcnVsIGEgZm9zdCB2ZXJpZmljYXQgc2kgYWN1bSBlc3RlIGlucmVnaXN0cmF0IGluIGdydXB1bCB1dGlsaXphdG9yaWxvciBmcm9udGVuZDwvcD4NCjxoND5QYXJhbWV0cmk8L2g0Pg0KPHVsPg0KPGxpPjxlbT51c2VybmFtZTwvZW0+IC0gTnVtZWxlIHV0aWxpemF0b3IgaW5yZWdpc3RyYXQ8L2xpPg0KPC91bD4NCic7CiRsYW5nWydjb25maXJtX3N1Ym1pdHByZWZzJ10gPSAnU2NoaW1iYXRpIHByZWZlcmludGVsZSBhZG1pbj8nOwokbGFuZ1snaW5mb19hZG1pbl9wYXNzd29yZCddID0gJ0xhc2F0aSBhY2VzdCBjYW1wIG5lY29tcGxldGF0IHBlbnRydSBwYXN0cmFyZWEgcGFyb2xlaSB1dGlsaXphdG9yJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICdMYXNhdGkgYWNlc3QgY2FtcCBuZWNvbXBsZXRhdCBwZW50cnUgcGFzdHJhcmVhIHBhcm9sZWkgdXRpbGl6YXRvcic7CiRsYW5nWydlcnJvcl9lbWFpbGRvZXNub3RtYXRjaCddID0gJ0FkcmVzZWxlIGRlIGUtbWFpbCBudSBjb2luY2lkJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAnUHJldGluZGUgY2EgdXRpbGl6YXRvcmlpIHNhIGludHJvZHVjYSBhZHJlc2EgZGUgZS1tYWlsIGRlIGRvdWEgb3JpJzsKJGxhbmdbJ2FnYWluJ10gPSAnaW5jYSBvIGRhdGEnOwokbGFuZ1snZGVsZXRlc2VsdXNlcnMnXSA9ICdTdGVyZ2UgdXRpbGl6YXRvcmlpIHNlbGVjdGF0aSc7CiRsYW5nWydlcnJvcl9ub3Byb3BkZWZucyddID0gJ051IGV4aXN0YSBwcm9wcmlldGF0aSBkZWZpbml0ZSwgc2F1IHByb2JsZW1hIGxhIG9idGluZXJlYSBsb3IgZGluIGJhemEgZGUgZGF0ZSc7CiRsYW5nWydlcnJvcl9ub2dyb3VwcyddID0gJ051IGV4aXN0YSBncnVwdXJpLCBzYXUgcHJvYmxlbWEgbGEgb2J0aW5lcmVhIGxpc3RlaSBncnVwdXJpbG9yJzsKJGxhbmdbJ2Vycm9yX2RiZXJyb3InXSA9ICdFcm9hcmUgbGEgYmF6YSBkZSBkYXRlJzsKJGxhbmdbJ3RpdGxlX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1NhYmxvbiBwb3N0YXJlIGUtbWFpbCBwaWVyZHV0JzsKJGxhbmdbJ3RpdGxlX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdTYWJsb24gZS1tYWlsIHBpZXJkdXQnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAnQXBhc2EgYWljaSc7CiRsYW5nWydtc2dfc2VuZGFub3RoZXJlbWFpbCddID0gJ0FtIGNvbXBsZXRhdCBkZWphIGZvcm11bGFydWwgZGUgaW5yZWdpc3RyYXJlLCBkYXIgbnUgYW0gcHJpbWl0IHVuIGUtbWFpbCwgdmEgcm9nIHNhLWwgcmV0cmltaXRldGknOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ1NhYmxvbiBlLW1haWwgcGllcmR1dCc7CiRsYW5nWydpbmZvX3VzZXJ2ZXJpZmllZCddID0gJ1VuIG5vdSB1dGlsaXphdG9yIGEgZm9zdCBhZGF1Z2F0IGxhIHV0aWxpemF0b3JpaSBGcm9udEVuZCc7CiRsYW5nWydlZGl0J10gPSAnRWRpdGVhemEnOwokbGFuZ1sndW5rbm93biddID0gJ05lY3Vub3NjdXQnOwokbGFuZ1snc2VsZWN0J10gPSAnU2VsZWN0ZWF6YSc7CiRsYW5nWydjaGVja19hbGwnXSA9ICdTZWxlY3RlYXphIHRvdCc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ0Rlc2VsZWN0ZWF6YSB0b3QnOwokbGFuZ1snc2VuZF9hZGp1c3RtZW50ZW1haWwnXSA9ICdUcmltaXRlIHVuIGUtbWFpbCB1dGlsaXphdG9ydWx1aSc7CiRsYW5nWyd0eHRfYWRqdXN0bWVudGVtYWlsJ10gPSAnKGluZm9ybWVhemEgdXRpbGl6YXRvcnVsIGNhLCBjb250dWwgbHVpIGEgZm9zdCBhanVzdGF0JzsKJGxhbmdbJ3R4dF9jaGFuZ2VwYXNzd29yZCddID0gJ0NvbXBsZXRlYXphIGFjZXN0ZSBjYW1wdXJpIHBlbnRydSBhIHNjaGltYmEgcGFyb2xhIHV0aWxpemF0b3J1bHVpJzsKJGxhbmdbJ2VkaXR1c2VyJ10gPSAnRWRpdGFyZSB1dGlsaXphdG9yJzsKJGxhbmdbJ2FyZXlvdXN1cmVfZGVsZXRldXNlciddID0gJ1N1bnRldGkgc2lndXIoYSkgY2EgZG9yaXRpIHNhIHN0ZXJnZXRpIGFjZXN0IHV0aWxpemF0b3IgaW5yZWdpc3RyYXQgcGFydGlhbD8nOwokbGFuZ1snaGRyX3VzZXJpZCddID0gJ0lEIHV0aWxpemF0b3InOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAnTnVtZSB1dGlsaXphdG9yJzsKJGxhbmdbJ2hkcl9ncnBuYW1lJ10gPSAnR3J1cCc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ0NyZWF0JzsKJGxhbmdbJ2hkcl9lbWFpbCddID0gJ0UtbWFpbCc7CiRsYW5nWyd1c2Vyc2ZvdW5kJ10gPSAnVXRpbGl6YXRvcmkgZ2FzaXRpIChsaW1pdGF0IGxhIG1heGltdW0gMjUwKSc7CiRsYW5nWyd1c2VycyddID0gJ1V0aWxpemF0b3JpJzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnTGlzdGVhemEgdG9hdGUgaW50cmFyaWxlIG1haSB2ZWNoaSBkZSBvIHppJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdTdWJpZWN0IHBlbnRydSBlLW1haWwtdWwgZGUgZXhwZWRpYXQnOwokbGFuZ1snaHRtbGJvZHknXSA9ICdDb250aW51dCBtZXNhaiBIVE1MICc7CiRsYW5nWyd0ZXh0Ym9keSddID0gJ0NvbnRpbnV0IG1lc2FqIHRleHQnOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnVW4gbnVtYXIgZGUgdXRpbGl6YXRvcmkgc2UgYWZsYSBpbiBwbGluIHByb2NlcyBkZSBpbnJlZ2lzdHJhcmUuIE51bWFydWwgYWNlc3RvcmEgZXN0ZTonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdFbGltaW5hIHRvYXRlIGludHJhcmlsZSBtYWkgdmVjaGkgZGUgbyBzYXB0YW1hbmEnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnRWxpbWluYSB0b2F0ZSBpbnRyYXJpbGUgbWFpIHZlY2hpIGRlIG8gbHVuYSc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnRWxpbWluYSB0b2F0ZSBpbnRyYXJpbGUgbWFpIHZlY2hpIGRlIG8gemknOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnRWxpbWluYSB0b2F0ZSBpbnRyYXJpbGUnOwokbGFuZ1snYXJleW91c3VyZSddID0gJ1N1bnRldGkgc2lndXIoYSk/JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCddID0gJ0luZm9ybWF0aWlsZSBkdW1uZWF2b2FzdHJhIGRlIGlucmVnaXN0cmFyZSBhdSBmb3N0IG1vZGlmaWNhdGUnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ0NvbmZpcm1hcmVhIGlucmVnaXN0cmFyaWknOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICdJbnJlZ2lzdHJlYXphJzsKJGxhbmdbJ2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZSddID0gJ1NhYmxvbiBtZXNhaiBmaW5hbCc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZmljYSBpbnJlZ2lzdHJhcmVhJzsKJGxhbmdbJ2NvZGUnXSA9ICdDaGVpYSBkZSB2YWxpZGFyZSc7CiRsYW5nWydkZWZhdWx0J10gPSAnU2V0YXQgaW1wbGljaXQnOwokbGFuZ1snZXJyb3Jfbm9wcm9wZXJ0aWVzJ10gPSAnTnUgYXUgZm9zdCBnYXNpdGUgcHJvcHJpZXRhdGkgcGVudHJ1IGFjZXN0IHV0aWxpemF0b3InOwokbGFuZ1snZXJyb3Jfbm9wcm9wcmVsYXRpb25zJ10gPSAnUmVsYXRpaSBwcm9wcmlldGF0aSBpbmV4aXN0ZW50ZSc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdBZHJlc2EgZGUgZS1tYWlsIGludmFsaWRhJzsKJGxhbmdbJ2Vycm9yX25vZW1haWxhZGRyZXNzJ10gPSAnQ2FtcCBhZHJlc2EgZGUgZS1tYWlsIHZhbGlkYSBpbmV4aXN0ZW50JzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdDYW1wdWwgJXMgdHJlYnVpZSBzYSBmaWUgY29tcGxldGF0JzsKJGxhbmdbJ3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUnXSA9ICdTYWJsb24gaW5yZWdpc3RyYXJlIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1NhYmxvbiBpbnJlZ2lzdHJhcmUgMic7CiRsYW5nWydlbWFpbGNvbmZpcm1fdGVtcGxhdGUnXSA9ICdTYWJsb24gZS1tYWlsIGNvbmZpcm1hcmUnOwokbGFuZ1snZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJ10gPSAnU2FibG9uIGluZm9ybWF0aWkgdXRpbGl6YXRvciBzY2hpbWJhdGUnOwokbGFuZ1sncHJlZmVyZW5jZXMnXSA9ICdQcmVmZXJpbnRlJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1V0aWxpemF0b3IgaW5leGlzdGVudCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkdXNlcm5hbWUnXSA9ICdOdW1lIHV0aWxpemF0b3IgaW52YWxpZCAocHJlYSBsdW5nLCBwcmVhIHNjdXJ0LCBzYXUgY29udGluZSBjYXJhY3RlcmUgaW52YWxpZGUpLiAgSW5kaWNpdS0gTnVtZWxlIHV0aWxpemF0b3IgdHJlYnVpZSBzYSBjb250aW5hIGRvYXIgY2FyYWN0ZXJlIGFsZmEtbnVtZXJpY2UoZmFyYSBzcGF0aWkpJzsKJGxhbmdbJ2Vycm9yX3VzZXJuYW1ldGFrZW4nXSA9ICdBY2VzdCBudW1lIHV0aWxpemF0b3IgZXN0ZSBkZWphIGZvbG9zaXQnOwokbGFuZ1snZXJyb3JfcGFzc3dvcmRzZG9udG1hdGNoJ10gPSAnRVJPQVJFOiBQYXJvbGVsZSBudSBjb2luY2lkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXNzd29yZCddID0gJ1Bhcm9sYSBlc3RlIGludmFsaWRhIChsdW5naW1lYSBwYXJvbGVpIHRyZWJ1aWUgc2EgZmllIGN1cHJpbnNhIGludHJlICAlcyBzaSAlcyBjYXJhY3RlcmUpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICdOdW1lbGUgdXRpbGl6YXRvciBudSBwb2F0ZSBmaSB2aWQnOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXJvbGEgKGRpbiBub3UpJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAnUGFyb2xhJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAnTnVtZSB1dGlsaXphdG9yJzsKJGxhbmdbJ2NhcHRjaGFfdGl0bGUnXSA9ICdJbnRyb2R1Y2V0aSB0ZXh0dWwgZGluIGltYWdpbmUnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnTnVtYXIgaW5zdWZpY2llbnQgKHNhdSBpbmNvcmVjdCkgZGUgcGFyYW1ldHJpIGZ1cm5pemF0aSBtb2R1bHVsdWknOwokbGFuZ1snZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJ10gPSAnTnUgc2UgcG9hdGUgb2J0aW5lIG8gaW5zdGFudGEgYSBtb2R1bHVsdWkgVXRpbGl6YXRvcmkgRnJvbnRFbmQnOwokbGFuZ1snZXJyb3Jfbm9zdWNoZ3JvdXAnXSA9ICdOdW1lbGUgZ3J1cHVsdWkgc3BlY2lmaWNhdCBudSBleGlzdGEnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGV4dHVsIGRpbiBpbWFnaW5lIG51IGEgZm9zdCBpbnRyb2R1cyBjb3JlY3QnOwokbGFuZ1snc2VuZF9lbWFpbHNfdG8nXSA9ICdFLW1haWwtdXJpbGUgZGUgaW5yZWdpc3RyYXJlIHRyZWJ1aWUgdHJpbWlzZSBjYXRyZSc7CiRsYW5nWydyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbiddID0gJ05lY2VzaXRhIGNvbmZpcm1hcmVhIGlucmVnaXN0cmFyaWkgZGUgY2F0cmUgdXRpbGl6YXRvciB2aWEgZS1tYWlsJzsKJGxhbmdbJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nXSA9ICdUcmltaXRlIHVuIGUtbWFpbCBkZSBub3RpZmljYXJlIGNhbmQgY2luZXZhIHNlIGlucmVnaXN0cmVhemEnOwokbGFuZ1snY2FuY2VsJ10gPSAnQW51bGVhemEnOwokbGFuZ1snc3VibWl0J10gPSAnVHJpbWl0ZSc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdNb2R1bCBBdXRvLUlucmVnaXN0cmFyZSc7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ0luc3RhbGFyZSByZXVzaXRhLCB2YSByb2cgc2EgcmV0aW5ldGkgc2Egc2V0YXRpIHBlcm1pc2l1bmlsZSAmcXVvdDtNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyZxdW90Oy4gIERhY2EgbW9kdWx1bCBDYXB0Y2hhIGVzdGUgaW5zdGFsYXQsIGF0dW5jaSBmdW5jdGlvbmFsaXRhdGVhIGNhcHRjaGEgZXN0ZSBpbXBsaWNpdCBhY3RpdmF0YS4gIFZhIGluY3VyYWphbSBjdSBjYWxkdXJhIHNhIGluc3RhbGF0aSBhY2VzdCBtb2R1bC4gRGFjYSBtb2R1bHVsIENhcHRjaGEgZXN0ZSBpbnN0YWxhdCwgc2kgZG9yaXRpIHNhLWwgZGV6YWN0aXZhdGksIGZvbG9zaXRpIHBhcmFtZXRydWwgbm9jYXB0Y2hhIGluIGV0aWNoZXRhIGR1bW5lYXZvYXN0cmEgc2VsZnJlZ2lzdHJhdGlvbi4nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ01vZHVsdWwgQXV0by1JbnJlZ2lzdHJhcmUgZXN0ZSBkZXppbnN0YWxhdC4gIFBlIGN1cmFuZC4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bCBkZXppbnN0YWxhdC4nOwokbGFuZ1snaW5zdGFsbGVkJ10gPSAnVmVyc2l1bmVhICVzIGluc3RhbGF0YS4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnUHJlZmVyaW50ZWxlIG1vZHVsdWx1aSBhdSBmb3N0IGFjdHVhbGl6YXRlLic7CiRsYW5nWydhY2Nlc3NkZW5pZWQnXSA9ICdBY2NlcyBpbnRlcnppcy4gU3VudGV0aSBydWdhdChhKSBzYSB2ZXJpZmljYXRpIHBlcm1pc2l1bmlsZS4nOwokbGFuZ1snZXJyb3InXSA9ICdFcm9hcmUhJzsKJGxhbmdbJ3VwZ3JhZGVkJ10gPSAnTW9kdWx1bCBhIGZvc3QgYWN0dWFsaXphdCBsYSB2ZXJzaXVuZWEgJXMuJzsKJGxhbmdbJ3RpdGxlX21vZF9wcmVmcyddID0gJ1ByZWZlcmludGVsZSBtb2R1bHVsdWknOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnUGFub3VsIGRlIGNvbWFuZGEgYWwgbW9kdWx1bHVpJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnTW9kdWwgQXV0by1JbnJlZ2lzdHJhcmUnOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1bCBjYXJlIHBlcm1pdGUgdXRpbGl6YXRvcmlsb3IgZnJvbnRlbmQgc2Egc2UgYXV0by1pbnJlZ2lzdHJlemUuJzsKJGxhbmdbJ3dlbGNvbWVfdGV4dCddID0gJzxwPkJ1biB2ZW5pdCBsYSBtb2R1bHVsIGRlIGF1dG8taW5yZWdpc3RyYXJlLjwvcD4nOwokbGFuZ1snY2hhbmdlbG9nJ10gPSAnPHVsPg0KPGxpPlZlcnNpb24gMC4wLjEuIE9jdCAyMDA1LiBJbml0aWFsIE5SUFQgKE5vdCBSZWFkeSBmb3IgUHJpbWUgVGltZSkgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjAuIE9jdCAyMDA1LiBJbml0aWFsIHJlbGVhc2UuPC9saT4NCjxsaT5WZXJzaW9uIDAuMS4xLiBPY3QgMjAwNS4gU2V0IHRoZSBIVE1MIG1haWwgZmxhZy48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjIuIE9jdCAyMDA1LiBNb3ZlZCBSYW5kb20gc3R1ZmYgaW50byBmZXVzZXJzLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIG9sZCBlbnRyaWVzIGZyb20gdGhlIHJlZ2lzdHJhdGlvbiB0ZW1wb3JhcnkgdGFibGVzPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS4zLiAtIERlYyAyMDA1PC9wPg0KPHA+Rml4ZWQgdGhlIHRvZ2dsZXMgaW4gdGhlIGFkbWluIHByZWZlcmVuY2VzLiAgQWxzbywgY2hhbmdlZCB0aGUgcGVybWlzc2lvbnMgbW9kZWwgdG8gbm90IHJlcXVpcmUgdGhlIHVuaXF1ZSBwZXJtaXNzaW9uIGFkZGVkIHByZXZpb3VzbHkgZm9yIHRoZSBzZWxmcmVnIG1vZHVsZS48L3A+DQo8cD5UaGlzIHJlbGVhc2Ugd2FzIHJlbW92ZWQgZHVlIHRvIHBvc3NpYmxlIGVycm9yczwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNC4gLSBKYW4gMjAwNjwvcD4NCjxwPkZpeGVkIG1pbm9yIGVycm9ycyB3aXRoIENoZWNrUGVybWlzc2lvbiwgcmVwbGFjZWQgYWxsIGFzc2lnbl9ieV9yZWZzJiMwMzk7cyB3aXRoIGFzc2lnbnMgZm9yIGhvcGVmdWwgcGhwNSBjb21wYXRpYmlsaXR5LjwvcD4NCjxsaT48cD5WZXJzaW9uIDAuMS41LiAtIEphbiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgdG8gc2V0IHRoZSBzdWJqZWN0IG9mIHRoZSBjb25maXJtYXRpb24gZW1haWwsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBzcGVjaWZ5IGEgdGV4dCBib2R5LiAgU3ViamVjdCwgYW5kIHRleHQgYm9keSBhcmUgcmVxdWlyZWQuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4wLiAtIEZlYiAyMDA2PC9wPg0KPHA+Rml4ZWQgYSBwcm9ibGVtIHdpdGggdGhlIHZlcmlmeSBtb2RlLjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIGVkaXQgYW5kIGRlbGV0ZSB1c2Vycy4gd2l0aCBzZWxlY3Rpb24gb24gdGhlIGNoZWNrYm94ZXMsIGFuZCAmcXVvdDtjaGVja2FsbCZxdW90OzwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICZxdW90O3lvdXIgc2V0dGluZ3MgaGF2ZSBiZWVuIGFkanVzdGVkJnF1b3Q7IGVtYWlsIHRlbXBsYXRlczwvcD4NCjxwPkFkZGVkIENTViBFeHBvcnRpbmc8L3A+DQo8cD5BZGRlZCBhICZxdW90O0RlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSZxdW90OyBidXR0b248L3A+DQo8cD5Ob3cgd29ya3Mgd2l0aCB0aGUgbWF4aW11bSBsZW5ndGggZmllbGQgb2YgRkVVc2VyczwvcD4NCjxwPkFkZGVkIHN1cHBvcnQgZm9yIGRyb3Bkb3ducyBhbmQgdGV4dCBhcmVhczwvcD4NCjxwPkRpc2FsbG93IHB1bmN0dWF0aW9uIGNoYXJhY3RlcnMgaW4gdXNlcm5hbWU8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjEuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSBmb3IgdXNlcnMgdG8gcmVxdWVzdCBhbm90aGVyIHJlZ2lzdHJhdGlvbiBlbWFpbCAodXNlcyB0aGUgc2FtZSBjb2RlKSwgaW5jYXNlIHRoZXkgbG9zdCB0aGVpciBmaXJzdCBvbmUuPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4yLiAtIEZlYiAyMDA2PC9wPg0KPHA+VGhlICZxdW90O1JlcXVpcmUgZW1haWwgY29uZmlybWF0aW9uJnF1b3Q7IGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPkNlIGZhY2UgYWNlc3QgbW9kdWw/PC9oMz4NCjxwPkFjZXN0IG1vZHVsIGVzdGUgcHJvaWVjdGF0IHBlbnRydSBhIHBlcm1pdGUgdXRpbGl6YXRvcmlsb3IgZnJvbnQgZW5kIHNhIHNlIGF1dG8taW5yZWdpc3RyZXplIHNpIHNhIGNvbXBsZXRlemUgaW5mb3JtYXRpaWxlIG5lY2VzYXJlLiAgSW4gY29udGludWFyZSwgbW9kdWx1bCB2YSB0cmltaXRlIHVuICBlLW1haWwgZGUgY29uZmlybWFyZSwgY3UgdW4gbGluayBsYSBvIHBhZ2luYSBzZWN1bmRhcmEgY2FyZSB0cmVidWllIGNvbXBsZXRhdGEgaW5haW50ZSBjYSBpbnJlZ2lzdHJhcmVhIHNhIGZpZSBpbmNoZWlhdGEuICBEZSBpbmRhdGEgY2UgaW5yZWdpc3RyYXJlYSBlc3RlIGluY2hlaWF0YSwgdW4gY29udCB1dGlsaXphdG9yIGVzdGUgY3JlYXQgaW4gbW9kdWx1bCBkZSBmcm9udCB1c2Vycy48L3A+DQo8cD5QZW50cnUgYSBwdXRlYSBmb2xvc2kgYWNlc3QgbW9kdWwsIHRyZWJ1aWUgc2EgY3JlYXRpIG8gcHJvcHJpZXRhdGUgZGUgdGlwdWwgJnF1b3Q7QWRyZXNhIGUtbWFpbCZxdW90OyBpbiBtb2R1bHVsIEZyb250ZW5kVXNlcnMgc2kgc2EgYXNvY2lhdGkgYWNlYSBwcm9wcmlldGF0ZSBjdSBncnVwdWwgY2FyZSB0cmVidWllIGZvbG9zaXQgcGVudHJ1IGF1dG8taW5yZWdpc3RyYXJlLjwvcD4NCjxoMz5DdW0gaWwgZm9sb3Nlc2M/PC9oMz4NCjxwPlBsYXNhdGkgdXJtYXRvYXJlYSBldGljaGV0YSBpbiBwYWdpbmEgZHVtbmVhdm9hc3RyYSB7Y21zX21vZHVsZSBtb2R1bGU9U2VsZlJlZ2lzdHJhdGlvbiBncm91cD11c2VyZ3JvdXB9PC9wPg0KPHA+VHJlYnVpZSBzYSBmaSBjcmVhdCBpbiBwcmVhbGFiaWwgcHJvcHJpZXRhdGlsZSBzaSBncnVwdXJpbGUgdXRpbGl6YXRvciBwZW50cnUgY2EgYWNlYXN0YSBzYSBmdW5jdGlvbmV6ZSBjb3JlY3QuPC9wPg0KPGgzPlBhcmFtZXRyaTwvaDM+DQo8cD48c3Ryb25nPm1vZGU8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIHZhbG9yaSBwb3NpYmlsZSBzdW50ICZxdW90O3NpZ251cCZxdW90OyBzaSAmcXVvdDt2ZXJpZnkmcXVvdDsuICBEYWNhIGFjZXN0IHBhcmFtZXRydSBudSBlc3RlIHNwZWNpZmljYXQsICZxdW90O3NpZ251cCZxdW90OyBlc3RlIGFzdW1hdC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBBY2VzdCBwYXJhbWV0cnUgZXN0ZSBuZWNlc2FyIGRhY2EgbW9kZSBlc3RlICZxdW90O3NpZ251cCZxdW90Oywgc2F1IGRhY2EgbW9kZSBlc3RlIGxhc2F0IHZpZC48L3A+DQo8cD48c3Ryb25nPm5vY2FwdGNoYTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gQWNlc3RhIHZhIGRlemFjdGl2YSBjYXB0Y2hhIHBlbnRydSBmb3JtdWxhcnVsIGRlIGlucmVnaXN0cmFyZS4gSW1wbGljaXQsIGRhY2EgbW9kdWx1bCBDYXB0Y2hhIGVzdGUgaW5zdGFsYXQsIGVzdGUgb2Zlcml0IHN1cG9ydC11bCBjYXB0Y2hhLiAgQWNlc3QgcGFyYW1ldHJ1IGlsIGRlemFjdGl2ZWF6YS48L3A+DQo8aDM+U3Vwb3J0PC9oMz4NCjxwPkFjZXN0IG1vZHVsIG51IGluY2x1ZGUgc3Vwb3J0IGNvbWVyY2lhbC4gVG90dXNpLCBleGlzdGEgdW4gbnVtYXIgZGUgcmVzdXJzZSBtZW5pdGUgc2EgdmEgYWp1dGU6PC9wPg0KPHVsPg0KPGxpPlBlbnRydSB1bHRpbWEgdmVyc2l1bmUgYSBhY2VzdHVpIG1vZHVsLCBGQVEtdXJpLCBzYXUgcmFwb3J0YXJlYSB1bnVpIFJhcG9ydCBkZSBCdWcgc2F1IGN1bXBhcmFyZWEgc3Vwb3J0dWx1aSBjb21lcmNpYWwsIHN1bnRldGkgcnVnYXQoYSkgc2Egdml6aXRhdGkgcGFnaW5hIGRlIHN0YXJ0IGEgbW9kdWx1bHVpIGx1aSBjYWxndXkgbGEgPGEgaHJlZj0mcXVvdDtodHRwOi8vdGVjaGNvbS5keW5kbnMub3JnJnF1b3Q7PnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5EaXNjdXRpaSBzdXBsaW1lbnRhcmUgZGVzcHJlIGFjZXN0IG1vZHVsIHBvdCBmaSBnYXNpdGUgZGUgYXNlbWVuZWEgaW4gPGEgaHJlZj0mcXVvdDtodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcmcXVvdDs+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5BdXRvcnVsLCBjYWxndXkxMDAwLCBhZGVzZWEgcG9hdGUgZmkgZ2FzaXQgaW4gPGEgaHJlZj0mcXVvdDtpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMmcXVvdDs+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkluIGZpbmFsLCBwdXRldGkgYXZlYSBzYW5zZSBkZSBzdWNjZXMgcHJpbiB0cmltdGVyZWEgdW51aSBlLW1haWwgZGlyZWN0IGF1dG9ydWx1aS48L2xpPiAgDQo8L3VsPg0KPHA+Q2F0IGRlc3ByZSBHUEwsIGFjZXN0IHNvZnQgZXN0ZSBvZmVyaXQgYXNhIGN1bSBlc3RlLiBTdW50ZXRpIHJ1Z2F0KGEpIHNhIGNpdGl0aSBjb250aW51dHVsIGxpY2VudGVpIHBlbnRydSBmdWxsIGRpc2NsYWltZXIuPC9wPg0KDQo8aDM+RHJlcHR1cmkgZGUgY29waWVyZSBzaSBsaWNlbnRhPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0mcXVvdDttYWlsdG86Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbSZxdW90Oz48Y2FsZ3V5MTAwMEBob3RtYWlsLmNvbT48L2E+LiBUb2F0ZSBkcmVwdHVyaWxlIHJlemVydmF0ZS48L3A+DQo8cD5BY2VzdCBtb2R1bCBhIGZvc3QgbGl2cmF0IHN1YiA8YSBocmVmPSZxdW90O2h0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTCZxdW90Oz5MaWNlbnRhIHB1YmxpY2EgR05VPC9hPi4gVHJlYnVpZSBzYSBmaXRpIGRlIGFjb3JkIGN1IGFjZWFzdGEgbGljZW50YSBpbmFpbnRlIGRlIGEgdXRpbGl6YSBtb2R1bHVsLjwvcD4NCic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjE0MjI4MjQ2NTAuMTE5MzI0NDUwNi4xMTkzNjI4NzU4LjExOTM3Nzk4MjMuOCc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE5MzI1MTcwMi4zLjIudXRtY2NuPShyZWZlcnJhbCl8dXRtY3NyPWxvY2FsaG9zdHx1dG1jY3Q9L2Ntc21hZGVzaW1wbGUvYWRtaW4vbW9kdWxlaW50ZXJmYWNlLnBocHx1dG1jbWQ9cmVmZXJyYWwnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/ru_RU.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2Vycm9yX2NvZGVzZG9udG1hdGNoJ10gPSAnVGhlIHZhbGlkYXRpb24ga2V5IHN1cHBsaWVkIGlzIGludmFsaWQnOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25OZXdVc2VyJ10gPSAnQW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm0nOwokbGFuZ1snZXZlbnRfZGVzY3JpcHRpb25fb25Vc2VyUmVnaXN0ZXJlZCddID0gJ9Ch0L7QsdGL0YLQuNC1INC/0L7QutCw0LfRi9Cy0LDQtdGCINGH0YLQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Ywg0L/QvtC00YLQstC10YDQtNC40Lsg0YHQstC+0Lgg0LTQsNC90L3Ri9C1INC4INGC0LXQv9C10YDRjCDQt9Cw0YDQtdCz0LXRgdGC0YDQuNGA0L7QstCw0L0uJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25OZXdVc2VyJ10gPSAnPHA+QW4gZXZlbnQgaW5kaWNhdGluZyB0aGF0IGEgbmV3IHVzZXIgaGFzIGNvbXBsZXRlZCB0aGUgcmVnaXN0cmF0aW9uIGZvcm08L3A+DQo8aDQ+UGFyYW1ldGVyczwvaDQ+DQo8dWw+DQo8bGk+PGVtPnVzZXJuYW1lPC9lbT4gLSBUaGUgbmV3IHVzZXJzIHNlbGVjdGVkIHVzZXJuYW1lPC9saT4NCjxsaT48ZW0+ZW1haWw8L2VtPiAtIFRoZSBuZXcgdXNlcnMgZW1haWwgYWRkcmVzczwvbGk+DQo8L3VsPg0KJzsKJGxhbmdbJ2V2ZW50X2hlbHBfb25Vc2VyUmVnaXN0ZXJlZCddID0gJzxwPkFuIGV2ZW50IGluZGljYXRpbmcgdGhhdCBhIHVzZXIgaGFzIGJlZW4gdmVyaWZpZWQgYW5kIGlzIG5vdyByZWdpc3RlcmVkIHdpdGggZmV1c2VyczwvcD4NCjxoND5QYXJhbWV0ZXJzPC9oND4NCjx1bD4NCjxsaT48ZW0+dXNlcm5hbWU8L2VtPiAtIFRoZSByZWdpc3RlcmVkIHVzZXJuYW1lPC9saT4NCjwvdWw+DQonOwokbGFuZ1snY29uZmlybV9zdWJtaXRwcmVmcyddID0gJ9CY0LfQvNC10L3QuNGC0Ywg0L3QsNGB0YLRgNC+0LnQutC4INCQ0LTQvNC40L3QuNGB0YLRgNCw0YLQvtGA0LA/JzsKJGxhbmdbJ2luZm9fYWRtaW5fcGFzc3dvcmQnXSA9ICfQntGB0YLQsNCy0YzRgtC1INGN0YLQviDQv9C+0LvQtSDQv9GD0YHRgtGL0Lwg0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQvtCz0L4g0L/QsNGA0L7Qu9GPJzsKJGxhbmdbJ2luZm9fYWRtaW5fcmVwZWF0cGFzc3dvcmQnXSA9ICfQntGB0YLQsNCy0YzRgtC1INGN0YLQviDQv9C+0LvQtSDQv9GD0YHRgtGL0Lwg0LTQu9GPINGB0L7RhdGA0LDQvdC10L3QuNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQvtCz0L4g0L/QsNGA0L7Qu9GPJzsKJGxhbmdbJ2Vycm9yX2VtYWlsZG9lc25vdG1hdGNoJ10gPSAn0JDQtNGA0LXRgdCwIEVtYWlsINC90LUg0YHQvtCy0L/QsNC00LDRjtGCJzsKJGxhbmdbJ2ZvcmNlX2VtYWlsX3R3aWNlJ10gPSAn0J/QvtGC0YDQtdCx0L7QstCw0YLRjCDQvtGCINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5INC/0L7QstGC0L7RgNC90L7Qs9C+INCy0LLQvtC00LAgZW1haWwnOwokbGFuZ1snYWdhaW4nXSA9ICfRgdC90L7QstCwJzsKJGxhbmdbJ2RlbGV0ZXNlbHVzZXJzJ10gPSAn0KPQtNCw0LvQuNGC0Ywg0LLRi9Cx0YDQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5JzsKJGxhbmdbJ2Vycm9yX25vcHJvcGRlZm5zJ10gPSAnTm8gcHJvcGVydHkgZGVmaW5pdGlvbnMsIG9yIHByb2JsZW0gcmV0cmVpdmluZyB0aGVtIGZyb20gdGhlIGRhdGFiYXNlJzsKJGxhbmdbJ2Vycm9yX25vZ3JvdXBzJ10gPSAnTm8gZ3JvdXBzLCBvciBwcm9ibGVtIHJldHJlaXZpbmcgZ3JvdXAgbGlzdCc7CiRsYW5nWydlcnJvcl9kYmVycm9yJ10gPSAn0J7RiNC40LHQutCwINCx0LDQt9GLINC00LDQvdC90YvRhSc7CiRsYW5nWyd0aXRsZV9wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnXSA9ICdQb3N0IExvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1sndGl0bGVfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snY2xpY2toZXJlJ10gPSAn0KnQtdC70LrQvdC40YLQtSDQt9C00LXRgdGMJzsKJGxhbmdbJ21zZ19zZW5kYW5vdGhlcmVtYWlsJ10gPSAn0K8g0YPQttC1INC30LDQv9C+0LvQvdC40Lsg0YDQtdCz0LjRgdGC0YDQsNGG0LjQvtC90L3Rg9GOINGE0L7RgNC80YMsINC90L4g0L3QtSDQv9C+0LvRg9GH0LjQuyDRgdC+0L7QsdGJ0LXQvdC40Y8uINCc0L7Qs9C70Lgg0LHRiyDQstGL0YHQu9Cw0YLRjCDRgdC+0L7QsdGJ0LXQvdC40LUg0L/QvtCy0YLQvtGA0L3Qvj8nOwokbGFuZ1snc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSddID0gJ0xvc3QgRW1haWwgVGVtcGxhdGUnOwokbGFuZ1snaW5mb191c2VydmVyaWZpZWQnXSA9ICfQlNC+0LHQsNCy0LvQvdC1INC90L7QstGL0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMJzsKJGxhbmdbJ2VkaXQnXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCc7CiRsYW5nWyd1bmtub3duJ10gPSAn0J3QtdC40LfQstC10YHRgtC90YvQuSc7CiRsYW5nWydzZWxlY3QnXSA9ICfQktGL0LHRgNCw0YLRjCc7CiRsYW5nWydjaGVja19hbGwnXSA9ICfQntGC0LzQtdGC0LjRgtGMINCy0YHQtSc7CiRsYW5nWyd1bmNoZWNrX2FsbCddID0gJ9Ch0L3Rj9GC0Ywg0L7RgtC80LXRgtC60YMg0YHQviDQstGB0LXRhSc7CiRsYW5nWydzZW5kX2FkanVzdG1lbnRlbWFpbCddID0gJ9Cf0L7RgdC70LDRgtGMINGB0L7QvtCx0YnQtdC90LjQtSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y4nOwokbGFuZ1sndHh0X2FkanVzdG1lbnRlbWFpbCddID0gJyhpbmZvcm1zIHRoZSB1c2VyIHRoYXQgdGhlaXIgYWNjb3VudCBoYXMgYmVlbiBhZGp1c3RlZCc7CiRsYW5nWyd0eHRfY2hhbmdlcGFzc3dvcmQnXSA9ICfQl9Cw0L/QvtC70L3QuNGC0LUg0Y3RgtC4INC/0L7Qu9GPINC00LvRjyDQtNC70Y8g0LjQt9C80LXQvdC10L3QuNGPINC/0LDRgNC+0LvRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1snZWRpdHVzZXInXSA9ICfQoNC10LTQsNC60YLQuNGA0L7QstCw0YLRjCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8nOwokbGFuZ1snYXJleW91c3VyZV9kZWxldGV1c2VyJ10gPSAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHBhcnRpYWxseSByZWdpc3RlcmVkIHVzZXI/JzsKJGxhbmdbJ2hkcl91c2VyaWQnXSA9ICdVc2VySUQnOwokbGFuZ1snaGRyX3VzZXJuYW1lJ10gPSAn0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWydoZHJfZ3JwbmFtZSddID0gJ9CT0YDRg9C/0L/QsCc7CiRsYW5nWydoZHJfY3JlYXRlZCddID0gJ9Ch0L7Qt9C00LDQvSc7CiRsYW5nWydoZHJfZW1haWwnXSA9ICfQodC+0L7QsdGJ0LXQvdC40LUnOwokbGFuZ1sndXNlcnNmb3VuZCddID0gJ1VzZXJzIGZvdW5kIChsaW1pdGVkIHRvIGEgbWF4aW11bSBvZiAyNTApJzsKJGxhbmdbJ3VzZXJzJ10gPSAn0J/QvtC70YzQt9C+0LLQsNGC0LXQu9C4JzsKJGxhbmdbJ2xpc3QxZGF5J10gPSAnJzsKJGxhbmdbJ3N1YmplY3QnXSA9ICdTdWJqZWN0INC00LvRjyDQuNGB0YXQvtC00YnQuNGFINGB0L7QvtCx0YnQtdC90LjQuSc7CiRsYW5nWydodG1sYm9keSddID0gJ0hUTUwgbWVzc2FnZSBib2R5JzsKJGxhbmdbJ3RleHRib2R5J10gPSAnVGV4dCBtZXNzYWdlIGJvZHknOwokbGFuZ1sncHJvbXB0X251bXJlc2V0cmVjb3JkJ10gPSAnQSBudW1iZXIgb2YgdXNlcnMgYXJlIGluIHRoZSBtaWRkbGUgb2YgcmVnaXN0ZXJpbmcuICBDdXJyZW50bHkgdGhpcyBjb3VudCBpcyBhdDonOwokbGFuZ1sncmVtb3ZlMXdlZWsnXSA9ICdSZW1vdmUgYWxsIGVudHJpZXMgbW9yZSB0aGFuIGEgd2VlayBvbGQnOwokbGFuZ1sncmVtb3ZlMW1vbnRoJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIG1vbnRoIG9sZCc7CiRsYW5nWydyZW1vdmUxZGF5J10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzIG1vcmUgdGhhbiBhIGRheSBvbGQnOwokbGFuZ1sncmVtb3ZlYWxsJ10gPSAnUmVtb3ZlIGFsbCBlbnRyaWVzJzsKJGxhbmdbJ2FyZXlvdXN1cmUnXSA9ICfQktGLINGD0LLQtdGA0LXQvdGLPyc7CiRsYW5nWydyZWdpc3RyYXRpb25faW5mb19lZGl0ZWQnXSA9ICfQlNCw0L3QvdGL0LUg0LLQsNGI0LXQuSDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INCx0YvQu9C4INC40LfQvNC10L3QtdC90YsnOwokbGFuZ1sncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbiddID0gJ9Cf0L7QtNGC0LLQtdGA0LbQtNC10L3QuNC1INGA0LXQs9C40YHRgtGA0LDRhtC40LgnOwokbGFuZ1sndXNlcl9yZWdpc3RyYXRpb24nXSA9ICfQl9Cw0YDQtdCz0LXRgdGC0YDQuNGA0L7QstCw0YLRjNGB0Y8nOwokbGFuZ1snZmluYWxtZXNzYWdlX3RlbXBsYXRlJ10gPSAnRmluYWwgTWVzc2FnZSBUZW1wbGF0ZSc7CiRsYW5nWyd0aXRsZV92ZXJpZnlyZWdpc3RyYXRpb24nXSA9ICdWZXJpZnkgUmVnaXN0cmF0aW9uJzsKJGxhbmdbJ2NvZGUnXSA9ICdWYWxpZGF0aW9uIEtleSc7CiRsYW5nWydkZWZhdWx0J10gPSAn0KPRgdGC0LDQvdC+0LLQutC4INC/0L4t0YPQvNC+0LvRh9Cw0L3QuNGOJzsKJGxhbmdbJ2Vycm9yX25vcHJvcGVydGllcyddID0gJ9Cd0LUg0L3QsNC50LTQtdC90L4g0YHQstC+0LnRgdGC0LIg0LTQu9GPINGN0YLQvtCz0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPJzsKJGxhbmdbJ2Vycm9yX25vcHJvcHJlbGF0aW9ucyddID0gJ05vIHByb3BlcnR5IHJlbGF0aW9ucyc7CiRsYW5nWydlcnJvcl9lbWFpbGludmFsaWQnXSA9ICdJbnZhbGlkIGVtYWlsIGFkZHJlc3MnOwokbGFuZ1snZXJyb3Jfbm9lbWFpbGFkZHJlc3MnXSA9ICdObyB2YWxpZCBlbWFpbCBhZGRyZXNzIGZpZWxkIGZvdW5kJzsKJGxhbmdbJ2Vycm9yX3JlcXVpcmVkZmllbGQnXSA9ICdGaWVsZCAlcyBtdXN0IGJlIGZpbGxlZCBpbic7CiRsYW5nWydyZWdpc3RyYXRpb24xX3RlbXBsYXRlJ10gPSAnUmVnaXN0cmF0aW9uIFRlbXBsYXRlIDEnOwokbGFuZ1sncmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSddID0gJ1JlZ2lzdHJhdGlvbiBUZW1wbGF0ZSAyJzsKJGxhbmdbJ2VtYWlsY29uZmlybV90ZW1wbGF0ZSddID0gJ0NvbmZpcm1hdGlvbiBFbWFpbCBUZW1wbGF0ZSc7CiRsYW5nWydlbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnXSA9ICdVc2VyIEluZm8gQ2hhbmdlZCBUZW1wbGF0ZSc7CiRsYW5nWydwcmVmZXJlbmNlcyddID0gJ1ByZWZlcmVuY2VzJzsKJGxhbmdbJ2Vycm9yX3VzZXJub3Rmb3VuZCddID0gJ1VzZXIgbm90IGZvdW5kJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWR1c2VybmFtZSddID0gJ1VzZXJuYW1lIGlzIGludmFsaWQgKHRvbyBsb25nLCB0b28gc2hvcnQsIG9yIGNvbnRhaW5zIGludmFsaWQgY2hhcmFjdGVycykuICBIaW50LSBVc2VybmFtZXMgbXVzdCBjb250YWluIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnMgKG5vIHNwYWNlcyknOwokbGFuZ1snZXJyb3JfdXNlcm5hbWV0YWtlbiddID0gJ1RoYXQgdXNlcm5hbWUgaXMgY3VycmVudGx5IGluIHVzZSc7CiRsYW5nWydlcnJvcl9wYXNzd29yZHNkb250bWF0Y2gnXSA9ICdFUlJPUjogUGFzc3dvcmRzIGRvbnQgbWF0Y2gnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhc3N3b3JkJ10gPSAnUGFzc3dvcmQgaXMgaW52YWxpZCAocGFzc3dvcmRzIG11c3QgYmUgYmV0d2VlbiAlcyBhbmQgJXMgY2hhcmFjdGVycyBpbiBsZW5ndGgpJzsKJGxhbmdbJ2Vycm9yX2VtcHR5dXNlcm5hbWUnXSA9ICfQmNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC00L7Qu9C20L3QviDQsdGL0YLRjCDQt9Cw0L/QvtC70L3QtdC90L4nOwokbGFuZ1sncmVwZWF0cGFzc3dvcmQnXSA9ICdQYXNzd29yZCAoYWdhaW4pJzsKJGxhbmdbJ3Bhc3N3b3JkJ10gPSAn0J/QsNGA0L7Qu9GMJzsKJGxhbmdbJ3VzZXJuYW1lJ10gPSAn0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyc7CiRsYW5nWydjYXB0Y2hhX3RpdGxlJ10gPSAnRW50ZXIgdGhlIHRleHQgZnJvbSB0aGUgaW1hZ2UnOwokbGFuZ1snZXJyb3JfaW5zdWZmaWNpZW50cGFyYW1zJ10gPSAnSW5zdWZmaWNpZW50IG51bWJlciAob3IgaW5jb3JyZWN0KSBwYXJhbWV0ZXJzIHN1cHBsaWVkIHRvIG1vZHVsZSc7CiRsYW5nWydlcnJvcl9ub2ZldXNlcnNtb2R1bGUnXSA9ICdDb3VsZCBub3QgZ2V0IGluc3RhbmNlIG9mIEZyb250RW5kVXNlcnMgbW9kdWxlJzsKJGxhbmdbJ2Vycm9yX25vc3VjaGdyb3VwJ10gPSAnR3JvdXAgbmFtZSBzcGVjaWZpZWQgZG9lcyBub3QgZXhpc3QnOwokbGFuZ1snZXJyb3JfY2FwdGNoYW1pc21hdGNoJ10gPSAnVGhlIHRleHQgZnJvbSB0aGUgaW1hZ2Ugd2FzIG5vdCBlbnRlcmVkIGNvcnJlY3RseSc7CiRsYW5nWydzZW5kX2VtYWlsc190byddID0gJ9Ch0L7QvtCx0YnQtdC90LjQtSDQviDRgNC10LPQuNGB0YLRgNCw0YbQuNC4INC00L7Qu9C20L3QviDQsdGL0YLRjCDQv9C+0YHQu9Cw0L3QviDQvdCwJzsKJGxhbmdbJ3JlcXVpcmVfZW1haWxfY29uZmlybWF0aW9uJ10gPSAnUmVxdWlyZSB0aGUgdXNlciB0byBjb25maXJtIHJlZ2lzdHJhdGlvbiB2aWEgZW1haWwnOwokbGFuZ1snbm90aWZ5X29uX3JlZ2lzdHJhdGlvbiddID0gJ1NlbmQgYW4gZW1haWwgbm90aWZpY2F0aW9uIHdoZW4gc29tZW9uZSByZWdpc3RlcnMnOwokbGFuZ1snY2FuY2VsJ10gPSAnQ2FuY2VsJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdTZWxmIFJlZ2lzdHJhdGlvbiBNb2R1bGUnOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdJbnN0YWxsYXRpb24gc3VjY2Vzc2Z1bGwsIHBsZWFzZSByZW1lbWJlciB0byBzZXQgdGhlICJNb2RpZnkgU2VsZlJlZ2lzdHJhdGlvbiBTZXR0aW5ncyIgcGVybWlzc2lvbi4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIHRoZW4gY2FwdGNoYSBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4gIFdlIHN0cm9uZ2x5IHJlY2NvbW1lbmQgdGhhdCB5b3UgaW5zdGFsbCB0aGlzIG1vZHVsZS4gIElmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBpbnN0YWxsZWQsIGFuZCB5b3Ugd2FudCB0byBkaXNhYmxlIGl0LCB1c2UgdGhlIG5vY2FwdGNoYSBwYXJhbSBpbiB5b3VyIHNlbGZyZWdpc3RyYXRpb24gdGFnLic7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gbW9kdWxlIGlzIHVuaW5zdGFsbGVkLiAgU2VlIHlvdSBsYXRlci4nOwokbGFuZ1sndW5pbnN0YWxsZWQnXSA9ICdNb2R1bGUgVW5pbnN0YWxsZWQuJzsKJGxhbmdbJ2luc3RhbGxlZCddID0gJ01vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGxlZC4nOwokbGFuZ1sncHJlZnN1cGRhdGVkJ10gPSAnTW9kdWxlIHByZWZlcmVuY2VzIHVwZGF0ZWQuJzsKJGxhbmdbJ2FjY2Vzc2RlbmllZCddID0gJ0FjY2VzcyBEZW5pZWQuIFBsZWFzZSBjaGVjayB5b3VyIHBlcm1pc3Npb25zLic7CiRsYW5nWydlcnJvciddID0gJ0Vycm9yISc7CiRsYW5nWyd1cGdyYWRlZCddID0gJ01vZHVsZSB1cGdyYWRlZCB0byB2ZXJzaW9uICVzLic7CiRsYW5nWyd0aXRsZV9tb2RfcHJlZnMnXSA9ICdNb2R1bGUgUHJlZmVyZW5jZXMnOwokbGFuZ1sndGl0bGVfbW9kX2FkbWluJ10gPSAnTW9kdWxlIEFkbWluIFBhbmVsJzsKJGxhbmdbJ3RpdGxlX2FkbWluX3BhbmVsJ10gPSAnU2VsZiBSZWdpc3RyYXRpb24gTW9kdWxlJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAn0JzQvtC00YPQu9GMINC/0L7Qt9Cy0L7Qu9GP0LXRgiDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y/QvCDRgdCw0LzQvtGB0YLQvtGP0YLQtdC70YzQvdC+INGA0LXQs9C40YHRgtGA0LjRgNC+0LLQsNGC0YzRgdGPLic7CiRsYW5nWyd3ZWxjb21lX3RleHQnXSA9ICc8cD5XZWxjb21lIHRvIHRoZSBzZWxmIHJlZ2lzdHJhdGlvbiBtb2R1bGUuPC9wPic7CiRsYW5nWydjaGFuZ2Vsb2cnXSA9ICc8dWw+DQo8bGk+VmVyc2lvbiAwLjAuMS4gT2N0IDIwMDUuIEluaXRpYWwgTlJQVCAoTm90IFJlYWR5IGZvciBQcmltZSBUaW1lKSByZWxlYXNlLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMC4gT2N0IDIwMDUuIEluaXRpYWwgcmVsZWFzZS48L2xpPg0KPGxpPlZlcnNpb24gMC4xLjEuIE9jdCAyMDA1LiBTZXQgdGhlIEhUTUwgbWFpbCBmbGFnLjwvbGk+DQo8bGk+VmVyc2lvbiAwLjEuMi4gT2N0IDIwMDUuIE1vdmVkIFJhbmRvbSBzdHVmZiBpbnRvIGZldXNlcnMsIGFuZCBhZGRlZCB0aGUgYWJpbGl0eSB0byBkZWxldGUgb2xkIGVudHJpZXMgZnJvbSB0aGUgcmVnaXN0cmF0aW9uIHRlbXBvcmFyeSB0YWJsZXM8L2xpPg0KPGxpPjxwPlZlcnNpb24gMC4xLjMuIC0gRGVjIDIwMDU8L3A+DQo8cD5GaXhlZCB0aGUgdG9nZ2xlcyBpbiB0aGUgYWRtaW4gcHJlZmVyZW5jZXMuICBBbHNvLCBjaGFuZ2VkIHRoZSBwZXJtaXNzaW9ucyBtb2RlbCB0byBub3QgcmVxdWlyZSB0aGUgdW5pcXVlIHBlcm1pc3Npb24gYWRkZWQgcHJldmlvdXNseSBmb3IgdGhlIHNlbGZyZWcgbW9kdWxlLjwvcD4NCjxwPlRoaXMgcmVsZWFzZSB3YXMgcmVtb3ZlZCBkdWUgdG8gcG9zc2libGUgZXJyb3JzPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDAuMS40LiAtIEphbiAyMDA2PC9wPg0KPHA+Rml4ZWQgbWlub3IgZXJyb3JzIHdpdGggQ2hlY2tQZXJtaXNzaW9uLCByZXBsYWNlZCBhbGwgYXNzaWduX2J5X3JlZnNcJ3Mgd2l0aCBhc3NpZ25zIGZvciBob3BlZnVsIHBocDUgY29tcGF0aWJpbGl0eS48L3A+DQo8bGk+PHA+VmVyc2lvbiAwLjEuNS4gLSBKYW4gMjAwNjwvcD4NCjxwPkFkZGVkIHRoZSBhYmlsaXR5IHRvIHNldCB0aGUgc3ViamVjdCBvZiB0aGUgY29uZmlybWF0aW9uIGVtYWlsLCBhbmQgYWRkZWQgdGhlIGFiaWxpdHkgdG8gc3BlY2lmeSBhIHRleHQgYm9keS4gIFN1YmplY3QsIGFuZCB0ZXh0IGJvZHkgYXJlIHJlcXVpcmVkLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMC4gLSBGZWIgMjAwNjwvcD4NCjxwPkZpeGVkIGEgcHJvYmxlbSB3aXRoIHRoZSB2ZXJpZnkgbW9kZS48L3A+DQo8cD5BZGRlZCB0aGUgYWJpbGl0eSB0byBlZGl0IGFuZCBkZWxldGUgdXNlcnMuIHdpdGggc2VsZWN0aW9uIG9uIHRoZSBjaGVja2JveGVzLCBhbmQgImNoZWNrYWxsIjwvcD4NCjxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMC4xLjggYW5kIENNU01haWxlciAxLjczLjk8L3A+DQo8cD5BZGRlZCBhbm90aGVyIHRhYiBmb3IgdGhlICJ5b3VyIHNldHRpbmdzIGhhdmUgYmVlbiBhZGp1c3RlZCIgZW1haWwgdGVtcGxhdGVzPC9wPg0KPHA+QWRkZWQgQ1NWIEV4cG9ydGluZzwvcD4NCjxwPkFkZGVkIGEgIkRlbGV0ZSBhbGwgdXNlcnMgb2xkZXIgdGhhbiBhIGRheSIgYnV0dG9uPC9wPg0KPHA+Tm93IHdvcmtzIHdpdGggdGhlIG1heGltdW0gbGVuZ3RoIGZpZWxkIG9mIEZFVXNlcnM8L3A+DQo8cD5BZGRlZCBzdXBwb3J0IGZvciBkcm9wZG93bnMgYW5kIHRleHQgYXJlYXM8L3A+DQo8cD5EaXNhbGxvdyBwdW5jdHVhdGlvbiBjaGFyYWN0ZXJzIGluIHVzZXJuYW1lPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMC4xLiAtIEZlYiAyMDA2PC9wPg0KPHA+QWRkZWQgdGhlIGFiaWxpdHkgZm9yIHVzZXJzIHRvIHJlcXVlc3QgYW5vdGhlciByZWdpc3RyYXRpb24gZW1haWwgKHVzZXMgdGhlIHNhbWUgY29kZSksIGluY2FzZSB0aGV5IGxvc3QgdGhlaXIgZmlyc3Qgb25lLjwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjAuMi4gLSBGZWIgMjAwNjwvcD4NCjxwPlRoZSAiUmVxdWlyZSBlbWFpbCBjb25maXJtYXRpb24iIGNoZWNrYm94IG5vdyB3b3Jrcy4gIFVzZXJzIGFyZSBhZGRlZCBzdHJhaWdodCB0byB0aGUgZnJvbnRlbmQgdXNlcnMgZGF0YWJhc2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSBjb25maXJtYXRpb24gZW1haWxzIGhhdmluZyBsaW5rcyB0byB0aGUgYWRtaW4gc2VjdGlvbiAobmV3IGJ1ZyBvbmx5KS48L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjMuIC0gRmViIDIwMDY8L3A+DQo8cD5BZGRlZCB0aGUgKG9wdGlvbmFsKSBhYmlsaXR5IHRvIHJlcXVpcmUgdGhlIHVzZXIgZW50ZXIgdGhlIGVtYWlsIGFkZHJlc3MgdHdpY2U8L3A+DQo8cD5GaXhlZCBhIGJ1ZyB3aXRoIHRoZSB1c2VyZWRpdGVkIG1lc3NhZ2Ugbm90IGJlaW5nIHRocm93biB0aHJvdWdoIHNtYXJ0eTwvcD4NCjxwPkZpeGVkIHRoZSBkZWZhdWx0IHJlZ2lzdHJhdGlvbiB0ZW1wbGF0ZSBhIGJpdCB0byBhaWRlIGluIHZhbGlkYXRpb24gZm9yIG5vbiByZXF1aXJlZCBmaWVsZHMgKGZpeGVkIGEgd2FybmluZyk8L3A+DQo8cD5GaXggcHJvYmxlbXMgd2l0aCBpbmxpbmUgYW5kIG5vbi1pbmxpbmUgZm9ybXMgYW5kIGxpbmtzPC9wPg0KPHA+SGFuZGxlIGFub3RoZXIgY2FzZSB3aGVyZSB0aGUgYWRtaW4gbWF5IG5vdCBoYXZlIGNyZWF0ZWQgdGhlIHByb3BlciB0eXBlIG9mIGVtYWlsIHByb3BlcnR5PC9wPg0KPHA+Q2hhbmdlZCB0byByZXF1aXJlIENNUyAwLjEyLWJldGEyIGF0IGEgbWluaW11bSAoZm9yIHNhZmV0eSBwdXJwb3Nlcyk8L3A+DQo8L2xpPg0KPGxpPjxwPlZlcnNpb24gMS4wLjQuIC0gTWFyIDIwMDY8L3A+DQo8cD5Nb3JlIGNvbnRyb2wgb3ZlciB1c2VybmFtZSBhbmQgcGFzc3dvcmQgZmllbGQgc2l6ZXMgKGNvbnRyb2xsZWQgYnkgZmV1c2Vycyk8L3A+DQo8cD5Db25maXJtYXRpb24gb24gZWRpdGluZyBwcmVmZXJlbmNlczwvcD4NCjxwPlJlcXVpcmUgMC4xMiBwcm9wZXIgb2YgY21zIGFzIGEgbWluaW11bTwvcD4NCjwvbGk+DQo8bGk+PHA+VmVyc2lvbiAxLjEuMC4gLSBEZWMgMjAwNjwvcD4NCiAgICA8cD5BZGRlZCBldmVudHMgYW5kIDEuMCBjb21wYXRpYmlsaXR5PC9wPg0KICAgIDxwPkNhcHRjaGEgc3VwcG9ydCAodGhhbmtzIERpdHRtYW4pPC9wPg0KPC9saT4NCjxsaT48cD5WZXJzaW9uIDEuMS4xLiAtIEFwciAyMDA3PC9wPg0KICAgIDxwPk5vdyByZXF1aXJlIEZFVXNlcnMgMS4yLjAgKG1pbmltdW0pPC9wPg0KICAgIDxwPlN1cHBvcnQgZm9yIG11bHRpc2VsZWN0IGxpc3RzIGluIGZldXNlcnM8L3A+DQogICAgPHA+T3V0cHV0IHNvbWUgbW9yZSBmaWVsZHMgdG8gc21hcnR5IHRvIGFsbG93IGZvciBpbmNyZWFzZWQgYWNjZXNzaWJpbGl0eTwvcD4NCiAgICA8cD5TcGxpdCBjb2RlIG91dCBpbnRvIG11bHRpcGxlIGZpbGVzIHRvIHJlZHVjZSBvdmVyYWxsIG1lbW9yeSBmb290cHJpbnQ8L3A+DQogICAgPHA+SWdub3JlIGFsbCBpbWFnZSBmaWVsZHM8L3A+DQogICAgPHA+Q2hhbmdlIENhcHRjaGEgc3VwcG9ydCB0byBiZSBvbiBieSBkZWZhdWx0IGlmIHRoZSBDYXB0Y2hhIG1vZHVsZSBpcyBmb3VuZDwvcD4NCjwvbGk+DQo8L3VsPic7CiRsYW5nWydoZWxwJ10gPSAnPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpcyBkZXNpZ25lZCB0byBhbGxvdyBmcm9udCBlbmQgdXNlcnMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcyBhbmQgZmlsbCBpbiB0aGUgcmVxdWlyZWQgaW5mb3JtYXRpb24uICBJdCB0aGVuIHNlbmRzIGEgY29uZmlybWF0aW9uIGVtYWlsLCB3aXRoIGEgbGluayB0byBhIHNlY29uZCBwYWdlIHRoYXQgbXVzdCBiZSBjb21wbGV0ZWQgYmVmb3JlIHRoZSByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBPbmNlIHJlZ2lzdHJhdGlvbiBpcyBjb21wbGV0ZSwgYSB1c2VyIGFjY291bnQgaXMgY3JlYXRlZCBpbiB0aGUgZnJvbnQgZW5kIHVzZXJzIG1vZHVsZS48L3A+DQo8cD5JbiBvcmRlciB0byB1c2UgdGhpcyBtb2R1bGUsIHlvdSBtdXN0IGNyZWF0ZSBhIHByb3BlcnR5IG9mIHR5cGUgIkVtYWlsIEFkZHJlc3MiIGluIHRoZSBGcm9udGVuZFVzZXJzIG1vZHVsZSwgYW5kIGFzc29jaWF0ZSB0aGF0IHByb3BlcnR5IHdpdGggdGhlIGdyb3VwIHRvIGJlIHVzZWQgZm9yIHNlbGYgcmVnaXN0cmF0aW9uLjwvcD4NCjxoMz5Ib3cgRG8gSSBVc2UgSXQ8L2gzPg0KPHA+WW91IHBsYWNlIHRoZSBmb2xsb3duZyB0YWcgaW50byB5b3VyIHBhZ2Uge2Ntc19tb2R1bGUgbW9kdWxlPVNlbGZSZWdpc3RyYXRpb24gZ3JvdXA9dXNlcmdyb3VwfTwvcD4NCjxwPllvdSBtdXN0IGhhdmUgcHJldmlvdXNseSBjcmVhdGVkIHByb3BlcnRpZXMgYW5kIHVzZXIgZ3JvdXBzIGluIHRoZSBGcm9udEVuZFVzZXJzIG1vZHVsZSBpbiBvcmRlciBmb3IgdGhpcyB0byB3b3JrIHByb3Blcmx5LjwvcD4NCjxoMz5QYXJhbWV0ZXJzPC9oMz4NCjxwPjxzdHJvbmc+bW9kZTwvc3Ryb25nPiZuYnNwOzxlbT5vcHRpb25hbDwvZW0+IC0gcG9zc2libGUgdmFsdWVzIGFyZSAic2lnbnVwIiBhbmQgInZlcmlmeSIuICBJZiB0aGlzIHBhcmFtZXRlciBpcyBub3Qgc3BlY2lmaWVkLCAic2lnbnVwIiBpcyBhc3N1bWJlZC48L3A+DQo8cD48c3Ryb25nPmdyb3VwPC9zdHJvbmc+Jm5ic3A7PGVtPm9wdGlvbmFsPC9lbT4gLSBUaGlzIHBhcmFtZXRlciBpcyByZXF1aXJlZCBpZiBtb2RlIGlzICJzaWdudXAiLCBvciBpZiBtb2RlIGlzIGxlZnQgZW1wdHkuPC9wPg0KPHA+PHN0cm9uZz5ub2NhcHRjaGE8L3N0cm9uZz4mbmJzcDs8ZW0+b3B0aW9uYWw8L2VtPiAtIFRoaXMgd2lsbCBkaXNhYmxlIGNhcHRjaGEgb24gdGhlIHNpZ251cCBmb3JtLiBCeSBkZWZhdWx0LCBpZiB0aGUgQ2FwdGNoYSBtb2R1bGUgaXMgaW5zdGFsbGVkLCBjYXB0Y2hhIHN1cHBvcnQgaXMgcHJvdmlkZWQuICBUaGlzIHBhcmFtZXRlciBkaXNhYmxlcyBpdC48L3A+DQo8aDM+U3VwcG9ydDwvaDM+DQo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+DQo8dWw+DQo8bGk+Rm9yIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGlzIG1vZHVsZSwgRkFRcywgb3IgdG8gZmlsZSBhIEJ1ZyBSZXBvcnQgb3IgYnV5IGNvbW1lcmNpYWwgc3VwcG9ydCwgcGxlYXNlIHZpc2l0IGNhbGd1eVwncw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly90ZWNoY29tLmR5bmRucy5vcmciPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8cD5BcyBwZXIgdGhlIEdQTCwgdGhpcyBzb2Z0d2FyZSBpcyBwcm92aWRlZCBhcy1pcy4gUGxlYXNlIHJlYWQgdGhlIHRleHQNCm9mIHRoZSBsaWNlbnNlIGZvciB0aGUgZnVsbCBkaXNjbGFpbWVyLjwvcD4NCg0KPGgzPkNvcHlyaWdodCBhbmQgTGljZW5zZTwvaDM+DQo8cD5Db3B5cmlnaHQgwqkgMjAwNSwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAaG90bWFpbC5jb20iPjxjYWxndXkxMDAwQGhvdG1haWwuY29tPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPkdOVSBQdWJsaWMgTGljZW5zZTwvYT4uIFlvdSBtdXN0IGFncmVlIHRvIHRoaXMgbGljZW5zZSBiZWZvcmUgdXNpbmcgdGhlIG1vZHVsZS48L3A+DQonOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xMjE4ODQ3NjQ0LjExNjc4OTU0NTUuMTE3OTA3ODg0OC4xMTc5MDgzNDk4LjQzJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTE3OTA4MzQ5OC40My4yOC51dG1jY249KHJlZmVycmFsKXx1dG1jc3I9Zm9ydW0uY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCRkYik7CiAgICAkdGFib3B0YXJyYXkgPSBhcnJheSgnbXlzcWwnID0+ICdUWVBFPU15SVNBTScpOwoKICAgIC8vIHZhbGlkYXRpb25zIGluIHByb2Nlc3MKICAgICRmbGRzID0gIgogICAgICAgICAgICAgaWQgSSBLRVksCiAgICAgICAgICAgICBncm91cF9pZCBJIE5PVCBOVUxMLAogICAgICAgICAgICAgdXNlcm5hbWUgQyg4MCkgTk9UIE5VTEwsCiAgICAgICAgICAgICBwYXNzc3dvcmQgQygzMikgTk9UIE5VTEwsCiAgICAgICAgICAgICBjb2RlIEMoMjApIE5PVCBOVUxMLAogICAgICAgICAgICAgY3JlYXRlZGF0ZSAiLkNNU19BRE9EQl9EVDsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzIiwgCgkJCQkgICAgICAkZmxkcywgJHRhYm9wdGFycmF5ICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCAkc3FsYXJyYXkgKTsKICAgICRkYi0+Q3JlYXRlU2VxdWVuY2UoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnNfc2VxIiApOwoKICAgICRmbGRzID0gImlkIEkgS0VZLAogICAgICAgICAgICAgdXNlciBJIE5PVCBOVUxMLCAKICAgICAgICAgICAgIHRpdGxlIEMoMTAwKSBOT1QgTlVMTCwKICAgICAgICAgICAgIGRhdGEgQygyNTUpIAogICAgICAgICAgICAiOyAKICAgICRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXMiLAoJCQkJICAgICAgJGZsZHMsICR0YWJvcHRhcnJheSApOwogICAgJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSggJHNxbGFycmF5ICk7CiAgICAkZGItPkNyZWF0ZVNlcXVlbmNlKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXNfc2VxIiApOwoKIAogICAgLy8gcHJlZmVyZW5jZXMKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdyZXF1aXJlX2VtYWlsX2NvbmZpcm1hdGlvbicsMSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VuZF9lbWFpbHNfdG8nLCdyb290QGxvY2FsaG9zdC5jb20nKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdub3RpZnlfb25fcmVnaXN0cmF0aW9uJywxKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2VtYWlsY29uZmlybV9zdWJqZWN0JywKCQkJICR0aGlzLT5MYW5nKCdyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJykpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3N1YmplY3QnLAoJCQkgJHRoaXMtPkxhbmcoJ3JlZ2lzdHJhdGlvbl9pbmZvX2VkaXRlZCcpKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2ZvcmNlX2VtYWlsX3R3aWNlJywwKTsKCiAgICAvLyB0ZW1wbGF0ZXMKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19yZWcxdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9yZWdpc3RyYXRpb24xX3RlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19wb3N0cmVnMV90ZW1wbGF0ZScsICR0aGlzLT5kZmx0X3Bvc3RyZWcxX3RlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19yZWcydGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9yZWdpc3RyYXRpb24yX3RlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19lbWFpbGNvbmZpcm1fdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbGNvbmZpcm1fdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlKTsKICAgICR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ19maW5hbG1lc3NhZ2VfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9maW5hbG1lc3NhZ2VfdGVtcGxhdGUpOwogICAgJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CiAgICAkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywgJHRoaXMtPmRmbHRfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CgogICAgLy8gUGVybWlzc2lvbnMKICAgICR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnLAoJCQkgICAgJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycpOwoKICAgIC8vIGV2ZW50cwogICAgJHRoaXMtPkNyZWF0ZUV2ZW50KCdvbk5ld1VzZXInKTsKICAgICR0aGlzLT5DcmVhdGVFdmVudCgnb25Vc2VyUmVnaXN0ZXJlZCcpOwp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkZGljdCA9IE5ld0RhdGFEaWN0aW9uYXJ5KCAkZGIgKTsKICAgICRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoIGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMiICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKCBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXMiICk7CiAgICAkZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7CiAgICAkZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2Vyc19zZXEiICk7CiAgICAkZGItPkRyb3BTZXF1ZW5jZSggY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzX3NlcSIgKTsKCiAgICAvLyBwcmVmZXJlbmNlcwogICAgJHRoaXMtPlJlbW92ZVByZWZlcmVuY2UoKTsKCiAgICAvLyB0ZW1wbGF0ZXMKICAgICR0aGlzLT5EZWxldGVUZW1wbGF0ZSgpOwoKICAgIC8vIHBlcm1pc3Npb25zCiAgICAkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24nKTsKICAgICR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnKTsKCiAgICAvLyBldmVudHMKICAgICR0aGlzLT5SZW1vdmVFdmVudCgnb25OZXdVc2VyJyk7CiAgICAkdGhpcy0+UmVtb3ZlRXZlbnQoJ29uVXNlclJlZ2lzdGVyZWQnKTsKfQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKewogICAgLy8gdGhpcyBwcmVmZXJlbmNlIGlzIG5vIGxvbmdlciBuZWVkZWQKICBzd2l0Y2goICRvbGR2ZXJzaW9uICkKICAgIHsKICAgIGNhc2UgJzEuMC4zJzoKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfZW1haWxjb25maXJtX3N1YmplY3QnLAoJCQkgICAgICR0aGlzLT5MYW5nKCdyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJykpOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlKTsKCQoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfdXNlcmVkaXRlZF9zdWJqZWN0JywKCQkJICAgICAkdGhpcy0+TGFuZygncmVnaXN0cmF0aW9uX2NvbmZpcm1hdGlvbicpKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdzZWxmcmVnX2ZvcmNlX2VtYWlsX3R3aWNlJywwKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ191c2VyZWRpdGVkX3RlbXBsYXRlJywgJHRoaXMtPmRmbHRfZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSgnc2VsZnJlZ191c2VyZWRpdGVkX3RleHR0ZW1wbGF0ZScsICR0aGlzLT5kZmx0X2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUpOwoJJHRoaXMtPlNldFRlbXBsYXRlKCdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLCAkdGhpcy0+ZGZsdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywgJHRoaXMtPmRmbHRfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CgkKCS8vIFBlcm1pc3Npb25zCgkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbignTW9kaWZ5IFNlbGZSZWdpc3RyYXRpb24nKTsKCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCdNYW5hZ2UgUmVnaXN0ZXJpbmcgVXNlcnMnLAoJCQkJJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycpOwoJLy8gbm90aWNlLCBubyBicmVyYWsKICAgICAgfQogICAgICAKICAgIGNhc2UgJzEuMC40JzoKICAgICAgewoJJHRoaXMtPkNyZWF0ZUV2ZW50KCdvbk5ld1VzZXInKTsKCSR0aGlzLT5DcmVhdGVFdmVudCgnb25Vc2VyUmVnaXN0ZXJlZCcpOwogICAgICB9CiAgICB9Cgp9Cj8+]]></data>
	</file>
	<file>
	  <filename>/SelfRegistration.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IFNlbGZSZWdpc3RyYXRpb24gLSBBIG1vZHVsZSB0byBhbGxvdyB1c2VycyB0byByZWdpc3RlciB0aGVtc2VsdmVzCiMgV2l0aCBhIHdlYnNpdGUuCiMgVmVyc2lvbjogMS4xLjMgQ2FsZ3V5MTAwMAojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMgQ01TIC0gQ01TIE1hZGUgU2ltcGxlIGlzIChjKSAyMDA1IGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KCnJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4iL2Z1bmN0aW9ucy5waHAiICk7CgojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpjbGFzcyBTZWxmUmVnaXN0cmF0aW9uIGV4dGVuZHMgQ01TTW9kdWxlCnsKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBUaGUgZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIGZvciB0aGUgZmlyc3QgcmVnaXN0cmF0aW9uIGZvcm0KICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICB2YXIgJGRmbHRfcmVnaXN0cmF0aW9uMV90ZW1wbGF0ZSA9ICcKPCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KeyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzYWdlKSAmJiAkbWVzc2FnZSAhPSBcJ1wnfQogIHtpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSBcJ1wnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9Cnskc3RhcnRmb3JtfQp7aWYgJGNvbnRyb2xjb3VudCA+IDB9CiAgPGNlbnRlcj4KICA8dGFibGUgd2lkdGg9Ijc1JSI+Cntmb3JlYWNoIGZyb209JGNvbnRyb2xzIGl0ZW09Y29udHJvbH0KICA8dHI+CiAgICA8dGQ+eyRjb250cm9sLT5oaWRkZW59CiAgICB7aWYgJGNvbnRyb2wtPmNvbG9yICE9IFwnXCd9CiAgICAgIDxmb250IGNvbG9yPSJ7JGNvbnRyb2wtPmNvbG9yfSI+eyRjb250cm9sLT5wcm9tcHR9eyRjb250cm9sLT5tYXJrZXJ9PC9mb250PgogICAge2Vsc2V9CiAgICAgIHskY29udHJvbC0+cHJvbXB0fXskY29udHJvbC0+bWFya2VyfQogICAgey9pZn0KICAgIDwvdGQ+CiAgICA8dGQ+eyRjb250cm9sLT5jb250cm9sfTwvdGQ+CiAgPC90cj4Key9mb3JlYWNofQogIDwvdGFibGU+CiAgPC9jZW50ZXI+Cjxici8+CnsvaWZ9CntpZiBpc3NldCgkY2FwdGNoYSl9CnskY2FwdGNoYV90aXRsZX06IHskaW5wdXRfY2FwdGNoYX08YnIgLz4KICB7JGNhcHRjaGF9PGJyIC8+CnsvaWZ9CiB7JGhpZGRlbn17aWYgaXNzZXQoJGhpZGRlbjIpfXskaGlkZGVuMn17L2lmfXskc3VibWl0fXskY2FuY2VsfTxici8+CnskbXNnX3NlbmRhbm90aGVyZW1haWx9Jm5ic3A7eyRsaW5rX3NlbmRhbm90aGVyZW1haWx9CnskZW5kZm9ybX0KPCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KICc7CgogIHZhciAkZGZsdF9wb3N0cmVnMV90ZW1wbGF0ZSA9ICcKPCEtLSBQb3N0IFJlZ2lzdHJhdGlvbiAxIHRlbXBsYXRlIC0tPgp7JHRpdGxlfQp7aWYgaXNzZXQoJG1lc3Nhc2dlKSAmJiAkbWVzc2FnZSAhPSBcJ1wnfQogIHtpZiBpc3NldCgkZXJyb3IpICYmICRlcnJvciAhPSBcJ1wnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9CjxwPlRoYW5rIHlvdSB7JHVzZXJuYW1lfSBmb3IgcmVnaXN0ZXJpbmcgd2l0aCB7JHNpdGVuYW1lfS4gIEFuIGVtYWlsIGhhcyBiZWVuIHNlbnQgdG8geyRlbWFpbH0gd2l0aCBpbnN0cnVjdGlvbnMgb24gaG93IHRvIGNvbnRpbnVlIHRoZSByZWdpc3RyYXRpb24gcHJvY2VzczwvcD4KPCEtLSBQb3N0IFJlZ2lzdHJhdGlvbiAxIHRlbXBsYXRlIC0tPgonOwoKICB2YXIgJGRmbHRfcmVnaXN0cmF0aW9uMl90ZW1wbGF0ZSA9ICcKPCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KeyR0aXRsZX0Ke2lmIGlzc2V0KCRtZXNzc2FnZSkgJiYgJG1lc3NhZ2UgIT0gXCdcJ30KICB7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gXCdcJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7L2lmfQp7JHN0YXJ0Zm9ybX0KICA8Y2VudGVyPgogIDx0YWJsZSB3aWR0aD0iNzUlIj4KICA8dHI+CiAgICA8dGQ+eyRwcm9tcHRfdXNlcm5hbWV9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGlucHV0X3VzZXJuYW1lfTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+eyRwcm9tcHRfcGFzc3dvcmR9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGlucHV0X3Bhc3N3b3JkfTwvdGQ+CiAgPC90cj4KICA8dHI+CiAgICA8dGQ+eyRwcm9tcHRfY29kZX08L2ZvbnQ+CiAgICA8L3RkPgogICAgPHRkPnskaW5wdXRfY29kZX08L3RkPgogIDwvdHI+CiAgPC90YWJsZT4KICA8L2NlbnRlcj4KPGJyLz4KIHskaGlkZGVufXskaGlkZGVuMn17JHN1Ym1pdH17JGNhbmNlbH0KeyRlbmRmb3JtfQo8IS0tIFJlZ2lzdHJhdGlvbiAyIHRlbXBsYXRlIC0tPgogJzsgIAoKICB2YXIgJGRmbHRfZW1haWxjb25maXJtX3RlbXBsYXRlID0gJwo8IS0tIEVtYWlsQ29uZmlybSB0ZW1wbGF0ZSAtLT4KPGh0bWw+Cjxib2R5Pgo8cD5HcmVldGluZ3MgeyRuYW1lfSB3ZWxjb21lIHRvIHRoZSBzaXRlLiAgVGhpcyBlbWFpbCBpcyBiZWluZyBzZW50IGJlY2F1c2Ugc29tZWJvZHkgcmVnaXN0ZXJlZCBmb3IgYWNjZXNzIHRvIHskc2l0ZW5hbWV9IHVzaW5nIHRoaXMgZW1haWwgYWRkcmVzcy4gSWYgdGhpcyB3YXMgeW91LCBwbGVhc2UgY2xpY2sgb24gdGhlIGZvbGxvd2luZyBsaW5rIGFuZCBlbnRlciB5b3VyIHVzZXJuYW1lLCBwYXNzd29yZCwgYW5kIHRoZSB1bmlxdWUgY29kZSBiZWxvdzwvcD4KICAgPHA+Rm9sbG93IHRoaXMgbGluazogeyRsaW5rfTwvcD4KICAgPHA+b3IgdGhpcyBsaW5rOiB7JHNtYWxsbGlua308L3A+CiAgIDxwPkNvZGU6IHskY29kZX08L3A+CjwvYm9keT4KPC9odG1sPgo8IS0tIEVtYWlsQ29uZmlybSB0ZW1wbGF0ZSAtLT4KJzsKCiAgdmFyICRkZmx0X2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUgPSAnCkdyZWV0aW5ncyB7JG5hbWV9IHdlbGNvbWUgdG8gdGhlIHNpdGUuICBUaGlzIGVtYWlsIGlzIGJlaW5nIHNlbnQgYmVjYXVzZSBzb21lYm9keSByZWdpc3RlcmVkIGZvciBhY2Nlc3MgdG8geyRzaXRlbmFtZX0gdXNpbmcgdGhpcyBlbWFpbCBhZGRyZXNzLiBJZiB0aGlzIHdhcyB5b3UsIHBsZWFzZSBjbGljayBvbiB0aGUgZm9sbG93aW5nIGxpbmsgYW5kIGVudGVyIHlvdXIgdXNlcm5hbWUsIHBhc3N3b3JkLCBhbmQgdGhlIHVuaXF1ZSBjb2RlIGJlbG93LgoKRm9sbG93IHRoaXMgbGluazogeyR1cmx9Cm9yIHRoaXMgbGluazogeyRzbWFsbHVybH08L3A+CkNvZGU6IHskY29kZX0KJzsKCiAgdmFyICRkZmx0X2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSA9ICcKPCEtLSBFbWFpbFVzZXJFZGl0ZWQgdGVtcGxhdGUgLS0+CjxodG1sPgo8Ym9keT4KPHA+R3JlZXRpbmdzIHskbmFtZX0gd2VsY29tZSB0byB0aGUgc2l0ZS4gIFRoaXMgZW1haWwgaXMgYmVpbmcgc2VudCBiZWNhdXNlLCBhbHRob3VnaCB5b3UgaGF2ZSBhbHJlYWR5IHJlZ2lzdGVyZWQgd2l0aCB7JHNpdGVuYW1lfSwgdGhlcmUgd2FzIGFuIGVycm9yIGluIHlvdXIgaW5wdXQuICBUaGUgYWRtaW5pc3RyYXRvciBoYXMgZG9uZSBoaXMgYmVzdCB0byBjb3JyZWN0IHRoaXMgZGF0YSwgYW5kIHlvdSBhcmUgbm93IGJlaW5nIHNlbnQgYW4gdXBkYXRlZCByZWdpc3RyYXRpb24gZm9ybS4gUGxlYXNlIGNsaWNrIG9uIHRoZSBmb2xsb3dpbmcgbGluayBhbmQgZW50ZXIgeW91ciB1c2VybmFtZSwgcGFzc3dvcmQsIGFuZCB0aGUgdW5pcXVlIGNvZGUgYmVsb3c8L3A+CiAgIDxwPkZvbGxvdyB0aGlzIGxpbms6IHskbGlua308L3A+CiAgIDxwPm9yIHRoaXMgbGluazogeyRzbWFsbGxpbmt9PC9wPgogICA8cD5QYXNzd29yZDogeyRwYXNzd29yZH08L3A+CiAgIDxwPkNvZGU6IHskY29kZX08L3A+CjwvYm9keT4KPC9odG1sPgo8IS0tIEVtYWlsVXNlckVkaXRlZCB0ZW1wbGF0ZSAtLT4KJzsKCiAgdmFyICRkZmx0X2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUgPSAnCkdyZWV0aW5ncyB7JG5hbWV9IHdlbGNvbWUgdG8gdGhlIHNpdGUuICBUaGlzIGVtYWlsIGlzIGJlaW5nIHNlbnQgYmVjYXVzZSwgYWx0aG91Z2ggeW91IGhhdmUgYWxyZWFkeSByZWdpc3RlcmVkIHdpdGggeyRzaXRlbmFtZX0sIHRoZXJlIHdhcyBhbiBlcnJvciBpbiB5b3VyIGlucHV0LiAgVGhlIGFkbWluaXN0cmF0b3IgaGFzIGRvbmUgaGlzIGJlc3QgdG8gY29ycmVjdCB0aGlzIGRhdGEsIGFuZCB5b3UgYXJlIG5vdyBiZWluZyBzZW50IGFuIHVwZGF0ZWQgcmVnaXN0cmF0aW9uIGZvcm0uIFBsZWFzZSBjbGljayBvbiB0aGUgZm9sbG93aW5nIGxpbmsgYW5kIGVudGVyIHlvdXIgdXNlcm5hbWUsIHBhc3N3b3JkLCBhbmQgdGhlIHVuaXF1ZSBjb2RlIGJlbG93CiAgIEZvbGxvdyB0aGlzIGxpbms6IHskdXJsfQogICAgIG9yIHRoaXMgbGluazogeyRzbWFsbHVybH08L3A+CiAgIFBhc3N3b3JkOiB7JHBhc3N3b3JkfQogICBDb2RlOiB7JGNvZGV9Cic7CgogIHZhciAkZGZsdF9maW5hbG1lc3NhZ2VfdGVtcGxhdGUgPSAnCjwhLS0gRmluYWxNZXNzYWdlIFRlbXBsYXRlIC0tPgo8cD5XZWxjb21lIHskdXNlcm5hbWV9IHRvIHskc2l0ZW5hbWV9LiAgWW91ciByZWdpc3RyYXRpb24gaXMgY29tcGxldGUuICBQbGVhc2UgbG9naW4gdG8gY29udGludWU8L3A+CjwhLS0gRmluYWxNZXNzYWdlIFRlbXBsYXRlIC0tPgogICc7CgogIHZhciAkZGZsdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlID0gJwo8IS0tIFNlbmRBbm90aGVyRW1haWwgVGVtcGxhdGUgLS0+CnskdGl0bGV9CntpZiBpc3NldCgkbWVzc2FnZSkgJiYgJG1lc3NhZ2UgIT0gXCdcJ30KICB7aWYgaXNzZXQoJG1lc3NhZ2UpICYmICRlcnJvciAhPSBcJ1wnfQogICAgPHA+PGZvbnQgY29sb3I9InJlZCI+eyRtZXNzYWdlfTwvZm9udD48L3A+CiAge2Vsc2V9CiAgICA8cD57JG1lc3NhZ2V9PC9wPgogIHsvaWZ9CnsvaWZ9CjxwPkkgZGlkblwndCByZWNlaXZlIG15IGNvbmZpcm1hdGlvbiBlbWFpbCwgcGxlYXNlIHNlbmQgYW5vdGhlciBvbmUuPC9wPgo8cD5NeSBVc2VybmFtZSBpczogeyRzdGFydGZvcm19eyRpbnB1dF91c2VybmFtZX0mbmJzcDt7JHN1Ym1pdH17JGVuZGZvcm19PC9wPgo8IS0tIFNlbmRBbm90aGVyRW1haWwgVGVtcGxhdGUgLS0+CiAgJzsKCiAgdmFyICRkZmx0X3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSA9ICcKPCEtLSBQb3N0IFNlbmRBbm90aGVyRW1haWwgdGVtcGxhdGUgLS0+CnskdGl0bGV9CntpZiBpc3NldCgkbWVzc2FnZSkgJiYgJG1lc3NhZ2UgIT0gXCdcJ30KICB7aWYgaXNzZXQoJGVycm9yKSAmJiAkZXJyb3IgIT0gXCdcJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7L2lmfQo8cD5UaGFuayB5b3UgeyR1c2VybmFtZX0gZm9yIHJlZ2lzdGVyaW5nIHdpdGggeyRzaXRlbmFtZX0uICBXZSBhcmUgc29ycnkgeW91IGhhZCBkaWZmaWN1bHR5IHJlY2VpdmluZyB5b3VyIGVtYWlsLiAgQSBzZWNvbmQgZW1haWwgaGFzIGJlZW4gc2VudCB0byB7JGVtYWlsfSB3aXRoIGluc3RydWN0aW9ucyBvbiBob3cgdG8gY29udGludWUgdGhlIHJlZ2lzdHJhdGlvbiBwcm9jZXNzPC9wPgo8IS0tIFBvc3QgU2VuZEFub3RoZXJFbWFpbCB0ZW1wbGF0ZSAtLT4KJzsKCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIEdldE5hbWUoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldE5hbWUoKQogIHsKICAgIHJldHVybiAnU2VsZlJlZ2lzdHJhdGlvbic7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RnJpZW5kbHlOYW1lKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7CiAgfQoKCQogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIE1pbmltdW1DTVNWZXJzaW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBNaW5pbXVtQ01TVmVyc2lvbigpCiAgewogICAgcmV0dXJuICIxLjIiOwogIH0KCiAgCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0VmVyc2lvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0VmVyc2lvbigpCiAgewogICAgcmV0dXJuICcxLjEuMyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0SGVscCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0SGVscCgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdoZWxwJyk7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3IoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEF1dGhvcigpCiAgewogICAgcmV0dXJuICdDYWxndXkxMDAwJzsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBdXRob3JFbWFpbCgpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0QXV0aG9yRW1haWwoKQogIHsKICAgIHJldHVybiAnY2FsZ3V5MTAwMEBob3RtYWlsLmNvbSc7CiAgfQoKICAKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRDaGFuZ2VMb2coKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdjaGFuZ2Vsb2cnKTsKICB9CgogIAogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIElzUGx1Z2luTW9kdWxlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpCiAgewogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSGFzQWRtaW4oKQogICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBib29sZWFuIHZhbHVlLCBkZXBlbmRpbmcgb24KICAgd2hldGhlciB5b3VyIG1vZHVsZSBhZGRzIGFueXRoaW5nIHRvIHRoZSBBZG1pbiBhcmVhIG9mCiAgIHRoZSBzaXRlLiBGb3IgdGhlIHJlc3Qgb2YgdGhlc2UgY29tbWVudHMsIEknbGwgYmUgY2FsbGluZwogICB0aGUgYWRtaW4gcGFydCBvZiB5b3VyIG1vZHVsZSB0aGUgIkFkbWluIFBhbmVsIiBmb3IKICAgd2FudCBvZiBhIGJldHRlciB0ZXJtLgogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEhhc0FkbWluKCkKICB7CiAgICByZXR1cm4gdHJ1ZTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pblNlY3Rpb24oKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIEdldEFkbWluU2VjdGlvbigpCiAgewogICAgcmV0dXJuICd1c2Vyc2dyb3Vwcyc7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RXZlbnREZXNjcmlwdGlvbigpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbiggJGV2ZW50bmFtZSApCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdldmVudF9kZXNjcmlwdGlvbl8nLiRldmVudG5hbWUgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRFdmVudERlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRFdmVudEhlbHAoICRldmVudG5hbWUgKQogIHsKICAgIHJldHVybiAkdGhpcy0+TGFuZygnZXZlbnRfaGVscF8nLiRldmVudG5hbWUgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXRBZG1pbkRlc2NyaXB0aW9uKCkKICB7CiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ21vZGRlc2NyaXB0aW9uJyk7CiAgfQogIAoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBWaXNpYmxlVG9BZG1pblVzZXIoKQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIFZpc2libGVUb0FkbWluVXNlcigpCiAgewogICAgJHN0YXR1cyA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBSZWdpc3RlcmluZyBVc2VycycpCiAgICAgIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJykKICAgICAgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFRlbXBsYXRlcycpOwogICAgcmV0dXJuICRzdGF0dXM7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgR2V0RGVwZW5kZW5jaWVzKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQogIHsKICAgIHJldHVybiBhcnJheSggJ0NNU01haWxlcicgPT4gJzEuNzMuOScsCgkJICAnRnJvbnRFbmRVc2VycycgPT4gJzEuMy4xJyApOwogIH0KICAKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0UGFyYW1ldGVycygpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gU2V0UGFyYW1ldGVycygpCiAgewogICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbW9kZScsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub2NhcHRjaGEnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnZ3JvdXAnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9pbmxpbmUnLENMRUFOX0lOVCk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgSW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKQogIHsKICAgIC8vIHBlcm1pc3Npb25zCiAgICByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3RpbnN0YWxsJyk7CgogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBVbmluc3RhbGxQb3N0TWVzc2FnZSgpCiAgewogICAgcmV0dXJuICR0aGlzLT5MYW5nKCdwb3N0dW5pbnN0YWxsJyk7CiAgfQoKCiAgZnVuY3Rpb24gbXlHZXRQYWdlTmFtZSggJGFsaWFzb3JpZCApCiAgewogICAgJG9iaiA9IENvbnRlbnRNYW5hZ2VyOjpMb2FkUGFnZUZyb21BbGlhcyggJGFsaWFzb3JpZCApOwogICAgcmV0dXJuICRvYmotPk5hbWUoKTsKICB9CgoKICBmdW5jdGlvbiBteVJlZGlyZWN0VG9UYWIoICRpZCwgJHRhYiwgJHBhcmFtcyA9ICcnICkKICB7CiAgICAkcGFybXMgPSBhcnJheSgpOwogICAgaWYoIGlzX2FycmF5KCAkcGFyYW1zICkgKQogICAgICB7CgkkcGFybXMgPSAkcGFyYW1zOwogICAgICB9CiAgICAkcGFybXNbJ2FjdGl2ZV90YWInXSA9ICR0YWI7CiAgICAkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdGFkbWluJywgJycsICRwYXJtcyApOwogIH0KCgogIGZ1bmN0aW9uIG15UmVkaXJlY3QoICRpZCwgJGFjdGlvbiwgJHJldHVybmlkLCAkcGFyYW1zID0gJycgKQogIHsKICAgIC8vIHVuc2V0IGFueSBwYXNzd29yZCB0aGluZ3MgCiAgICB1bnNldCggJHBhcmFtc1snaGlkZGVuX3Bhc3N3b3JkJ10gKTsKICAgIHVuc2V0KCAkcGFyYW1zWydoaWRkZW5fcmVwZWF0cGFzc3dvcmQnXSApOwogICAgdW5zZXQoICRwYXJhbXNbJ2lucHV0X3Bhc3N3b3JkJ10gKTsKICAgIHVuc2V0KCAkcGFyYW1zWydpbnB1dF9yZXBlYXRwYXNzd29yZCddICk7CiAgICB1bnNldCggJHBhcmFtc1sncGFzc3dvcmQnXSApOwogICAgdW5zZXQoICRwYXJhbXNbJ3JlcGVhdHBhc3N3b3JkJ10gKTsKCiAgICB1bnNldCggJHBhcmFtc1snYWN0aW9uJ10gKTsKICAgICR0aGlzLT5SZWRpcmVjdCggJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICRwYXJhbXMsIHRydWUgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBEb0FjdGlvbigkYWN0aW9uLCAkaWQsICRwYXJhbXMsICRyZXR1cm5faWQpCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gRG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQ9LTEpCiAgewogICAgc3dpdGNoICgkYWN0aW9uKQogICAgICB7CiAgICAgIGNhc2UgJ2RlZmF1bHRhZG1pbic6Cgl7CgkgIHJlcXVpcmVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2Z1bmN0aW9ucy5hZG1pbnBhbmVsLnBocCcpOwoJICBfRGlzcGxheUFkbWluUGFuZWwoICR0aGlzLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICBicmVhazsKCX0KICAgICAgY2FzZSAnZGVsZXRldGVtcHVzZXInOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTWFuYWdlIFJlZ2lzdGVyaW5nIFVzZXJzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X0RvRGVsZXRlVXNlciggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KICAgICAgY2FzZSAnZG9fZGVsZXRldXNlcnNidWxrJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oJ01hbmFnZSBSZWdpc3RlcmluZyBVc2VycycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9Eb0RlbGV0ZUJ1bGtVc2VycyggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KICAgICAgY2FzZSAnc2VuZGFub3RoZXJlbWFpbCc6Cgl7CgkgICR0aGlzLT5fU2VuZEFub3RoZXJSZWdFbWFpbCgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICBicmVhazsKCX0KICAgICAgY2FzZSAnc2V0cHJlZnMnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBTaXRlIFByZWZlcmVuY2VzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X1NldEFkbWluUHJlZmVyZW5jZXMoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9yZWcxdGVtcGxhdGUnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fU2V0QWRtaW5SZWcxVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9yZWcydGVtcGxhdGUnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fU2V0QWRtaW5SZWcyVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9lbWFpbGNvbmZpcm1fdGVtcGxhdGUnOgoJewoJICBpZiggJHRoaXMtPkNoZWNrUGVybWlzc2lvbiggJ01vZGlmeSBUZW1wbGF0ZXMnICkgKQoJICAgIHsKCSAgICAgICR0aGlzLT5fU2V0QWRtaW5FbWFpbENvbmZpcm1UZW1wbGF0ZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgICB9CgkgIGVsc2UKCSAgICB7CgkgICAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsIAoJCQkJICAgICAgICR0aGlzLT5MYW5nKCdhY2Nlc3NkZW5pZWQnKSk7CgkgICAgfQoJICBicmVhazsKCX0KICAgICAgY2FzZSAnc2V0X2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSc6Cgl7CgkgIGlmKCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCAnTW9kaWZ5IFRlbXBsYXRlcycgKSApCgkgICAgewoJICAgICAgJHRoaXMtPl9TZXRBZG1pbkVtYWlsVXNlckVkaXRlZFRlbXBsYXRlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQogICAgICBjYXNlICdzZXRfZmluYWxtZXNzYWdlX3RlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X1NldEFkbWluRmluYWxNZXNzYWdlVGVtcGxhdGUoICRpZCwgJHBhcmFtcywgJHJldHVybmlkICk7CgkgICAgfQoJICBlbHNlCgkgICAgewoJICAgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJHBhcmFtcywgJHJldHVybmlkLCAKCQkJCSAgICAgICAkdGhpcy0+TGFuZygnYWNjZXNzZGVuaWVkJykpOwoJICAgIH0KCSAgYnJlYWs7Cgl9CiAgICAgIGNhc2UgJ3NldF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJzoKCXsKCSAgaWYoICR0aGlzLT5DaGVja1Blcm1pc3Npb24oICdNb2RpZnkgVGVtcGxhdGVzJyApICkKCSAgICB7CgkgICAgICAkdGhpcy0+X1NldEFkbWluU2VuZEFub3RoZXJFbWFpbFRlbXBsYXRlKCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCApOwoJICAgIH0KCSAgZWxzZQoJICAgIHsKCSAgICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5pZCwgCgkJCQkgICAgICAgJHRoaXMtPkxhbmcoJ2FjY2Vzc2RlbmllZCcpKTsKCSAgICB9CgkgIGJyZWFrOwoJfQogICAgICBjYXNlICdkZWZhdWx0JzoKICAgICAgY2FzZSAnZG9fZWRpdHVzZXInOgogICAgICBjYXNlICdlZGl0dGVtcHVzZXInOgogICAgICBjYXNlICdyZWd1c2VyJzoKICAgICAgY2FzZSAndmVyaWZ5dXNlcic6Cgl7CgkgIHBhcmVudDo6RG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQgKTsKCSAgYnJlYWs7Cgl9CiAgICAgIH0KICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfQ3JlYXRlRnJvbnRlbmRVc2VyKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCApCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX0NyZWF0ZUZyb250ZW5kVXNlciggJHRtcGlkLCAkZ3JvdXBfaWQsICR1c2VybmFtZSwgJHBhc3N3b3JkICkKICB7CiAgICAkZmV1c2VycyA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnRnJvbnRFbmRVc2VycycpOwogICAgaWYoICEkZmV1c2VycyApCiAgICAgIHsKCXJldHVybiAkdGhpcy0+TGFuZygnZXJyb3Jfbm9mZXVzZXJzbW9kdWxlJyk7CiAgICAgIH0KCiAgICAvLyB0b2RvLCBmaWd1cmUgb3V0IHdoZW4gdXNlcnMgc2hvdWxkIGV4cGlyZQogICAgJGV4cGlyZXMgPSBzdHJ0b3RpbWUoJys1IHllYXJzJyk7CiAgICAkcmVzdWx0ID0gJGZldXNlcnMtPkFkZFVzZXIoICR1c2VybmFtZSwgJHBhc3N3b3JkLCAkZXhwaXJlcyApOwogICAgaWYoICRyZXN1bHRbMF0gPT0gZmFsc2UgKQogICAgICB7CglyZXR1cm4gJHJlc3VsdFsxXTsKICAgICAgfQoKICAgICR1aWQgPSAkcmVzdWx0WzFdOwogICAgJGdpZCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdkZWZhdWx0X2dyb3VwJywgLTEpOwogICAgaWYoICRnaWQgIT0gLTEgKQogICAgICB7CgkvLyBhIGRlZmF1bHQgZ3JvdXAgaXMgcmVxdWlyZWQsCgkvLyBzbyBhZGQgaGltIHRvIHRoYXQgZ3JvdXAKCWlmKCAhJGZldXNlcnMtPkFzc2lnblVzZXJUb0dyb3VwKCAkdWlkLCAkZ2lkICkgKQoJICB7CgkgICAgcmV0dXJuICR0aGlzLT5MYW5nKCd3YXJuaW5nX2NvdWxkbm90YWRkZ3JvdXAnKTsKCSAgfQogICAgICB9CgogICAgLy8gYW5kIGFkZCB0aGUgdXNlciB0byB3aGF0ZXZlciBncm91cCBzcGVjaWZpZWQgaW4gdGhlIGdyb3VwcyBwYXJhbWV0ZXIKICAgIGlmKCAkZ3JvdXBfaWQgKQogICAgICB7CglpZiggISRmZXVzZXJzLT5Bc3NpZ25Vc2VyVG9Hcm91cCggJHVpZCwgJGdyb3VwX2lkICkgKQoJICB7CgkgICAgcmV0dXJuICR0aGlzLT5MYW5nKCd3YXJuaW5nX2NvdWxkbm90YWRkZ3JvdXAnKTsKCSAgfQogICAgICB9ICAgIAoKICAgIC8vIGhlJ3MgaW4uLi4uIGhlJ3MgaW4uLi4gbm93IGp1c3QgYWRkIGhpcyBwcm9wZXJ0aWVzCiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXMKICAgICAgICAgIFdIRVJFIHVzZXIgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdG1waWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gJHRoaXMtPkxhbmcoJ2Vycm9yX2RiZXJyb3InKTsKICAgICAgfQogICAgd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKQogICAgICB7CgkkZmV1c2Vycy0+U2V0VXNlclByb3BlcnR5RnVsbCggJHJvd1sndGl0bGUnXSwgJHJvd1snZGF0YSddLCAkdWlkICk7CiAgICAgIH0KCiAgICAvLyBub3cgZGlzcGxheSBhIHdhcm0gZnV6enkgbWVzc2FnZQogICAgZ2xvYmFsICRnQ21zOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd1c2VybmFtZScsICR1c2VybmFtZSApOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdzaXRlbmFtZScsICRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ10pOwogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScpOwoKICAgIC8vIHNlbmQgYW4gZXZlbnQKICAgICR0aGlzLT5TZW5kRXZlbnQoJ29uVXNlclJlZ2lzdGVyZWQnLAoJCSAgICAgYXJyYXkoJ3VzZXJuYW1lJz0+JHVzZXJuYW1lLAoJCQkgICAnaWQnPT4kdWlkKSk7CgogICAgLy8gYW5kIG5vdGlmeSB0aGUgYWRtaW5pc3RyYXRvcgogICAgLy8gaWYgdGhlIGFkbWluIHdhbnRzIG5vdGlmaWNhdGlvbnMuCiAgICAvLyBvZmYgd2UgZ28uCiAgICBpZiggJHRoaXMtPkdldFByZWZlcmVuY2UoJ25vdGlmeV9vbl9yZWdpc3RyYXRpb24nKSApCiAgICAgIHsKCQoJJGNtc21haWxlciA9ICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgnQ01TTWFpbGVyJyk7CglpZiggISRjbXNtYWlsZXIgKQoJICB7CgkgICAgcmV0dXJuICR0aGlzLT5MYW5nKCdlcnJvcl9ub2Ntc21haWxlcm1vZHVsZScpOwoJICB9CgkKCSRjbXNtYWlsZXItPkFkZEFkZHJlc3MoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NlbmRfZW1haWxzX3RvJykpOwoJJGNtc21haWxlci0+U2V0U3ViamVjdCgnQSBuZXcgdXNlciBoYXMgcmVnaXN0ZXJlZCBvbiAnLiRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ10pOwoJJG1zZyA9ICdBIG5ldyB1c2VyICgnLiR1c2VybmFtZS4nKSBoYXMgY29tcGxldGVkIHJlZ2lzdHJhdGlvbiB0byB5b3VyIHNpdGUuIHlvdSBzaG91bGQgY2hlY2sgdGhpcyB1c2VyIG91dCBhbmQgdmFsaWRhdGUgdGhhdCB0aGUgaW5mb3JtYXRpb24gcHJvdmlkZWQgaXMgYXMgY29tcGxldGUgYW5kIHZhbGlkIGFzIHBvc3NpYmxlLic7CgkkY21zbWFpbGVyLT5TZXRCb2R5KCRtc2cpOyAgCgkkY21zbWFpbGVyLT5Jc0hUTUwoZmFsc2UpOyAvLyB3ZSdyZSBub3Qgc2VuZGluZyBhbiBodG1sIG1haWwKCSRjbXNtYWlsZXItPlNlbmQoKTsKICAgICAgfQoKICAgICR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAKCQkgICR0aGlzLT5MYW5nKCdpbmZvX3VzZXJ2ZXJpZmllZCcpLiI6ICIuJHVzZXJuYW1lKTsKICAgIHJldHVybiAwOwogIH0KCgoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgRGlzcGxheUVycm9yUGFnZSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9EaXNwbGF5RXJyb3JQYWdlKCRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCwgJG1lc3NhZ2U9JycpCiAgewogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCd0aXRsZV9lcnJvcicsICR0aGlzLT5MYW5nKCdlcnJvcicpKTsKICAgIGlmICgkbWVzc2FnZSAhPSAnJykKICAgICAgewoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdtZXNzYWdlJywgJG1lc3NhZ2UpOwogICAgICB9CiAgICAKICAgIC8vIERpc3BsYXkgdGhlIHBvcHVsYXRlZCB0ZW1wbGF0ZQogICAgZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdlcnJvci50cGwnKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBfRG9EZWxldGVCdWxrVXNlcnMoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9Eb0RlbGV0ZUJ1bGtVc2VycyggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkKICAgICAgewoJaWYoICRrZXkgPT0gJ21hcmtkZWxldGVfJy4kdmFsdWUgKQoJICB7CgkgICAgJHRoaXMtPkRlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHZhbHVlICk7CgkgICAgJHRoaXMtPkRlbGV0ZVRlbXBVc2VyKCAkdmFsdWUgKTsgCgkgIH0KICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYignYWRtaW51c2VycycpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIF9Eb0RlbGV0ZVVzZXIoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfRG9EZWxldGVVc2VyKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCAhaXNzZXQoICRwYXJhbXNbJ3VzZXJfaWQnXSApICkKICAgICAgewoJLy8gdGhpcyBpcyB1Z2x5IGZvciB0aGUgdXNlciB0byBzZWUKCS8vIGJ1dCBhdCBsZWFzdCB0aGUgYWRtaW4gd2lsbCBiZSBhYmxlIHRvIGZpZ3VyZSBpdCBvdXQKCSR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSggJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQsCgkJCQkgICR0aGlzLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRwYXJhbXMnKSk7CglyZXR1cm47CiAgICAgIH0KCiAgICAkaWQgPSAkcGFyYW1zWyd1c2VyX2lkJ107CiAgICAkdGhpcy0+RGVsZXRlVGVtcFVzZXJQcm9wZXJ0aWVzKCAkaWQgKTsKICAgICR0aGlzLT5EZWxldGVUZW1wVXNlciggJGlkICk7IAogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYignYWRtaW51c2VycycpOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNlbmRBbm90aGVyRW1haWwoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2VuZEFub3RoZXJSZWdFbWFpbCggJGlkLCAmJHBhcmFtcywgJHJldHVybmlkICkKICB7CiAgICAvLyB3ZSBoYXZlIHRoZSB1c2VybmFtZSAodGhlb3JldGljYWxseSkgaW4gdGhlICRwYXJhbXMKICAgIGlmKCAhaXNzZXQoICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ10gKSApCiAgICAgIHsKCSRwYXJtc1snbW9kZSddID0gJ3NlbmRhbm90aGVyZW1haWwnOwoJJHBhcm1zWydlcnJvciddID0gMTsKCSRwYXJtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX2luc3VmZmljaWVudHBhcmFtcycpOwoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcm1zICk7CglyZXR1cm47CiAgICAgIH0KICAgICR1c2VybmFtZSA9ICRwYXJhbXNbJ2lucHV0X3VzZXJuYW1lJ107CgogICAgLy8gbG9vayB1cCB0aGUgdXNlcm5hbWUgYW5kIGdldCBhbiBpZAogICAgJHRlbXB1c2VyaWQgPSAkdGhpcy0+R2V0VGVtcFVzZXJJRCggJHVzZXJuYW1lICk7CiAgICBpZiggISR0ZW1wdXNlcmlkICkKICAgICAgewoJJHBhcm1zWydlcnJvciddID0gMTsKCSRwYXJtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX3VzZXJub3Rmb3VuZCcpOwoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcm1zICk7CglyZXR1cm47IAogICAgICB9CgogICAgLy8gYW5kIHdoYXRldmVyIGRldGFpbHMgd2UgY2FuIGZyb20gdGhlIHVzZXJzIHRhYmxlCiAgICAkZGV0YWlscyA9ICR0aGlzLT5HZXRUZW1wVXNlckRldGFpbHMoICR0ZW1wdXNlcmlkICk7CiAgICBpZiggJGRldGFpbHMgPT0gZmFsc2UgKQogICAgICB7CgkkcGFybXNbJ2Vycm9yJ10gPSAxOwoJJHBhcm1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3JfdXNlcm5vdGZvdW5kJyk7CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsgCiAgICAgIH0KCiAgICAvLyBub3cgZ2V0IHByb3BlcnRpZXMKICAgICR0ZW1wdXNlcnByb3BzID0gJHRoaXMtPkdldFRlbXBVc2VyUHJvcGVydGllcyggJHRlbXB1c2VyaWQgKTsKICAgIGlmKCAkdGVtcHVzZXJwcm9wcyA9PSBmYWxzZSApCiAgICAgIHsKCSRwYXJtc1snZXJyb3InXSA9IDE7CgkkcGFybXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9ub3Byb3BlcnRpZXMnKTsKCSRwYXJtc1snbW9kZSddID0gJ3NlbmRhbm90aGVyZW1haWwnOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJtcyApOwoJcmV0dXJuOyAKICAgICAgfQoKICAgICRmZXVzZXJzID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdGcm9udEVuZFVzZXJzJyk7CiAgICBpZiggISRmZXVzZXJzICkKICAgICAgewoJJHBhcm1zWydlcnJvciddID0gMTsKCSRwYXJtc1snbWVzc2FnZSddID0gJHRoaXMtPkxhbmcoJ2Vycm9yX25vZmV1c2Vyc21vZHVsZScpOwoJJHBhcm1zWydtb2RlJ10gPSAnc2VuZGFub3RoZXJlbWFpbCc7CgkkdGhpcy0+bXlSZWRpcmVjdCggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJHBhcm1zICk7CglyZXR1cm47IAogICAgICB9CgogICAgLy8gaGF2ZSB0aGUgZ3JvdXAgaWQsIGdldCB0aGUgZ3JvdXAgcHJvcGVydHkgcmVsYXRpb25zCiAgICAkcmVsYXRpb25zID0gJGZldXNlcnMtPkdldEdyb3VwUHJvcGVydHlSZWxhdGlvbnMoICRkZXRhaWxzWydncm91cF9pZCddICk7CiAgICBpZiggJHJlbGF0aW9uc1swXSA9PSBmYWxzZSApCiAgICAgIHsKCSRwYXJtc1snZXJyb3InXSA9IDE7CgkkcGFybXNbJ21lc3NhZ2UnXSA9ICRyZWxhdGlvbnNbMV07CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsgCiAgICAgIH0KCiAgICAkcHJvcHMgPSAkZmV1c2Vycy0+R2V0UHJvcGVydHlEZWZucygpOwogICAgaWYoICRwcm9wcyA9PSBmYWxzZSApCiAgICAgIHsKCSRwYXJtc1snZXJyb3InXSA9IDE7CgkkcGFybXNbJ21lc3NhZ2UnXSA9ICR0aGlzLT5MYW5nKCdlcnJvcl9kYmVycm9yJyk7CgkkcGFybXNbJ21vZGUnXSA9ICdzZW5kYW5vdGhlcmVtYWlsJzsKCSR0aGlzLT5teVJlZGlyZWN0KCAkaWQsICdkZWZhdWx0JywgJHJldHVybmlkLCAkcGFybXMgKTsKCXJldHVybjsgCiAgICAgIH0KCiAgICAvLyBub3cgZmluZCBhbiBlbWFpbCBhZGRyZXNzIHByb3BlcnR5CiAgICAvLyBhbmQgbWFrZSBzdXJlIGl0J3Mgb2YgdHlwZSAyCiAgICAkZm91bmQgPSAnJzsKICAgIGZvcmVhY2goICRyZWxhdGlvbnMgYXMgJHJlbG4gKQogICAgICB7Cglmb3JlYWNoKCAkcHJvcHMgYXMgJHByb3AgKQoJICB7CgkgICAgaWYoICRwcm9wWyd0eXBlJ10gPT0gMiAmJiAkcmVsblsnbmFtZSddID09ICRwcm9wWyduYW1lJ10gKQoJICAgICAgewoJCS8vIGZvdW5kIGFuIGVtYWlsIHByb3BlcnR5CgkJZm9yZWFjaCggJHRlbXB1c2VycHJvcHMgYXMgJHRlbXBwcm9wICkKCQkgIHsKCQkgICAgaWYoICRyZWxuWyduYW1lJ10gPT0gJHRlbXBwcm9wWyd0aXRsZSddICkKCQkgICAgICB7CgkJCSRmb3VuZCA9ICR0ZW1wcHJvcFsnZGF0YSddOwoJCQlicmVhazsKCQkgICAgICB9CgkJICB9CgkgICAgICB9CgkgICAgaWYoICRmb3VuZCAhPSAnJyApCgkgICAgICB7CgkJYnJlYWs7CgkgICAgICB9CgkgIH0KCWlmKCAkZm91bmQgIT0gJycgKQoJICB7CgkgICAgYnJlYWs7CgkgIH0KICAgICAgfQogICAgaWYoICEkZm91bmQgKQogICAgICB7CgkkcGFybXNbJ2Vycm9yJ10gPSAxOwoJJHBhcm1zWydtZXNzYWdlJ10gPSAkdGhpcy0+TGFuZygnZXJyb3Jfbm9lbWFpbGFkZHJlc3MnKTsKCSRwYXJtc1snbW9kZSddID0gJ3NlbmRhbm90aGVyZW1haWwnOwoJJHRoaXMtPm15UmVkaXJlY3QoICRpZCwgJ2RlZmF1bHQnLCAkcmV0dXJuaWQsICRwYXJtcyApOwoJcmV0dXJuOyAKICAgICAgfQoKICAgICR0aGlzLT5fU2VuZFVzZXJDb25maXJtYXRpb25FbWFpbCggJGlkLCRyZXR1cm5pZCwkZm91bmQsICR1c2VybmFtZSwgJGRldGFpbHNbJ2dyb3VwX2lkJ10sCgkJCQkgICAgICAgJGRldGFpbHNbJ2NvZGUnXSApOwoKICAgIC8vIHdlJ3JlIG5vdCByZWRpcmVjdGluZyBhbnl3aGVyZSB3ZSBuZWVkIHRvIGRpc3BsYXkgc29tZSBuaWNlIG1lc3NhZ2UKICAgIC8vIGFib3V0IHdlIGp1c3Qgc3BhbW1lZCB5b3VyIGluYm94LCBldGMsIGV0Yy4KICAgIGdsb2JhbCAkZ0NtczsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc2l0ZW5hbWUnLCAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbigndXNlcm5hbWUnLCR1c2VybmFtZSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2VtYWlsJywgJGZvdW5kICk7CiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3NlbGZyZWdfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJyk7CiAgfSAgCgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZW5kVXNlckNvbmZpcm1hdGlvbkVtYWlsKCRhZGRyZXNzLCR1c2VybmFtZSwkZ3JvdXBfaWQsJGNvZGUpOwogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZW5kVXNlckNvbmZpcm1hdGlvbkVtYWlsKCRpZCwkcmV0dXJuaWQsJGFkZHJlc3MsJHVzZXJuYW1lLCRncm91cF9pZCwkY29kZSkKICB7CiAgICBnbG9iYWwgJGdDbXM7CiAgICAkY21zbWFpbGVyID0gJHRoaXMtPkdldE1vZHVsZUluc3RhbmNlKCdDTVNNYWlsZXInKTsKICAgIGlmKCAhJGNtc21haWxlciApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgICRjbXNtYWlsZXItPkFkZEFkZHJlc3MoICRhZGRyZXNzICk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ25hbWUnLCR1c2VybmFtZSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ2NvZGUnLCRjb2RlKTsKICAgICR0aGlzLT5zbWFydHktPmFzc2lnbignc2l0ZW5hbWUnLCAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddKTsKICAgICRwYXJtcyA9IGFycmF5KCAnbW9kZScgPT4gJ3ZlcmlmeScsCgkJICAgICdpbnB1dF91c2VybmFtZScgPT4gJHVzZXJuYW1lLAoJCSAgICAnaW5wdXRfZ3JvdXBfaWQnID0+ICRncm91cF9pZCwKCQkgICAgJ2lucHV0X2NvZGUnID0+ICRjb2RlICk7CiAgICAkdXJsID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJycsJHBhcm1zLCcnLHRydWUsdHJ1ZSk7CiAgICAkc21hbGx1cmwgPSAkdGhpcy0+Q3JlYXRlTGluayggJGlkLCAnZGVmYXVsdCcsICRyZXR1cm5pZCwgJycsIGFycmF5KCdtb2RlJyA9PiAndmVyaWZ5JyksJycsdHJ1ZSwgdHJ1ZSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3VybCcsJHVybCk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NtYWxsdXJsJywkc21hbGx1cmwpOwogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCdsaW5rJywkdGhpcy0+Q3JlYXRlTGluaygkaWQsJ2RlZmF1bHQnLCRyZXR1cm5pZCwkdXJsLCRwYXJtcywnJyxmYWxzZSx0cnVlKSk7CiAgICAkdGhpcy0+c21hcnR5LT5hc3NpZ24oJ3NtYWxsbGluaycsJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCdkZWZhdWx0JywkcmV0dXJuaWQsJHNtYWxsdXJsLGFycmF5KCdtb2RlJz0+J3ZlcmlmeScpLCcnLGZhbHNlLHRydWUpKTsKICAgICRodG1sYm9keSA9ICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YWJhc2UoJ3NlbGZyZWdfZW1haWxjb25maXJtX3RlbXBsYXRlJyk7CiAgICAkdGV4dGJvZHkgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCdzZWxmcmVnX2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUnKTsKICAgICRjbXNtYWlsZXItPlNldEJvZHkoICR0ZXh0Ym9keSApOwogICAgaWYoICRodG1sYm9keSAhPSAnJyApCiAgICAgIHsKCSRjbXNtYWlsZXItPklzSFRNTCh0cnVlKTsgIC8vIHdlJ3JlIHNlbmRpbmcgYW4gaHRtbCBtYWlsCgkkY21zbWFpbGVyLT5TZXRCb2R5KCAkaHRtbGJvZHkgKTsKCSRjbXNtYWlsZXItPlNldEFsdEJvZHkoICR0ZXh0Ym9keSApOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSRjbXNtYWlsZXItPklzSFRNTChmYWxzZSk7ICAvLyB3ZSdyZSBzZW5kaW5nIGFuIGh0bWwgbWFpbAoJJGNtc21haWxlci0+U2V0Qm9keSggJHRleHRib2R5ICk7CiAgICAgIH0KICAgICRjbXNtYWlsZXItPlNldFN1YmplY3QoJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NlbGZyZWdfZW1haWxjb25maXJtX3N1YmplY3QnLCR0aGlzLT5MYW5nKCdyZWdpc3RyYXRpb25fY29uZmlybWF0aW9uJykpKTsKICAgICRjbXNtYWlsZXItPlNlbmQoKTsKCiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0QWRtaW5QcmVmZXJlbmNlcygkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZXRBZG1pblByZWZlcmVuY2VzKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVtb3ZlYWxsJ10gKSApCiAgICAgIHsKCSR0aGlzLT5FeHBpcmVPbGRUZW1wVXNlcnMoJy01IHllYXJzJyk7CglyZXR1cm47CiAgICAgIH0KCiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlbW92ZTF3ZWVrJ10gKSApCiAgICAgIHsKCSR0aGlzLT5FeHBpcmVPbGRUZW1wVXNlcnMoJy0xIHdlZWsnKTsKCSR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJlZnMnKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfcmVtb3ZlMW1vbnRoJ10gKSApCiAgICAgIHsKCSR0aGlzLT5FeHBpcmVPbGRUZW1wVXNlcnMoJy0xIG1vbnRoJyk7CgkkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCRpZCwgJ3ByZWZzJyk7CiAgICAgIH0KCiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X3JlbW92ZTFtb250aCddICkgKQogICAgICB7CgkkdGhpcy0+RXhwaXJlT2xkVGVtcFVzZXJzKCctMjQgaG91cnMnKTsKCSR0aGlzLT5teVJlZGlyZWN0VG9UYWIoJGlkLCAncHJlZnMnKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfbGlzdDFkYXknXSApICkKICAgICAgewoJIyBjcmVhdGUgYSBjc3YgZmlsZSBmb3IgdGVtcCB1c2VycyB0aGF0IGhhdmUKCSMgYmVlbiBpbiB0aGVyZSBtb3JlIHRoYW4gb25lIGRheQoJJHJlc3VsdCA9ICR0aGlzLT5DU1ZPbGRUZW1wVXNlcnMoJy0yNCBob3VycycpOwoJaWYoICRyZXN1bHQgPT0gJycgKQoJICB7CgkgICAgZWNobyAiPGgzPk5vIHJlc3VsdHMgcmV0dXJuZWQ8L2gzPiI7CgkgICAgcmV0dXJuOwoJICB9CgloZWFkZXIoJ0NvbnRlbnQtRGVzY3JpcHRpb246IEZpbGUgVHJhbnNmZXInKTsKCWhlYWRlcignQ29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9mb3JjZS1kb3dubG9hZCcpOwoJaGVhZGVyKCdDb250ZW50LURpc3Bvc2l0aW9uOiBhdHRhY2htZW50OyBmaWxlbmFtZT10cmFwcGVkaW5zZWxmcmVnLmNzdicpOwoJd2hpbGUoQG9iX2VuZF9jbGVhbigpKTsKCWVjaG8gJHJlc3VsdDsKCWV4aXQoKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfaW5saW5lJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbmxpbmVfZm9ybXMnLAoJCQkgICAgICRwYXJhbXNbJ2lucHV0X2lubGluZSddKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW5saW5lX2Zvcm1zJywgMCk7CiAgICAgIH0KCiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X25vdGlmeSddICkgKQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnbm90aWZ5X29uX3JlZ2lzdHJhdGlvbicsCgkJCSAgICAgJHBhcmFtc1snaW5wdXRfbm90aWZ5J10pOwogICAgICB9CiAgICBlbHNlCiAgICAgIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdub3RpZnlfb25fcmVnaXN0cmF0aW9uJywgMCk7CiAgICAgIH0KCiAgICBpZiggaXNzZXQoICRwYXJhbXNbJ2lucHV0X2VtYWlsX2NvbmZpcm1hdGlvbiddICkgKQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nLAoJCQkgICAgICRwYXJhbXNbJ2lucHV0X2VtYWlsX2NvbmZpcm1hdGlvbiddKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgncmVxdWlyZV9lbWFpbF9jb25maXJtYXRpb24nLCAwKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfY29uZmlybW1haWxfdG8nXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbmRfZW1haWxzX3RvJywKCQkJICAgICAkcGFyYW1zWydpbnB1dF9jb25maXJtbWFpbF90byddKTsKICAgICAgfQoKICAgIGlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfZm9yY2VfZW1haWxfdHdpY2UnXSApICkKICAgICAgewoJJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NlbGZyZWdfZm9yY2VfZW1haWxfdHdpY2UnLCAxKTsKICAgICAgfQogICAgZWxzZQogICAgICB7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgnc2VsZnJlZ19mb3JjZV9lbWFpbF90d2ljZScsIDApOwogICAgICB9CgogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAncHJlZmVyZW5jZXMnICk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0QWRtaW5SZWcxVGVtcGxhdGUoJGlkLCAkcGFyYW1zLCAkcmV0dXJuX2lkLCAkbWVzc2FnZSkKICAgTk9UIFBBUlQgT0YgVEhFIE1PRFVMRSBBUEkKICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8KICBmdW5jdGlvbiBfU2V0QWRtaW5SZWcxVGVtcGxhdGUoICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydkZWZhdWx0YnV0dG9uJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfcmVnMXRlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X3JlZ2lzdHJhdGlvbjFfdGVtcGxhdGUgKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfcG9zdHJlZzFfdGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfcG9zdHJlZzFfdGVtcGxhdGUgKTsKICAgICAgfQogICAgZWxzZSBpZiggaXNzZXQoICRwYXJhbXNbJ3JlZzFfdGVtcGxhdGVjb250ZW50J10gKSB8fAoJICAgICBpc3NldCggJHBhcmFtc1sncG9zdHJlZzFfdGVtcGxhdGVjb250ZW50J10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfcmVnMXRlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3JlZzFfdGVtcGxhdGVjb250ZW50J10gKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfcG9zdHJlZzFfdGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sncG9zdHJlZzFfdGVtcGxhdGVjb250ZW50J10gKTsKICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAncmVnMXRlbXBsYXRlJyApOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldEFkbWluUmVnMlRlbXBsYXRlKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX1NldEFkbWluUmVnMlRlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdGJ1dHRvbiddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3JlZzJ0ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9yZWdpc3RyYXRpb24yX3RlbXBsYXRlICk7CiAgICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19yZWcydGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKTsKICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAncmVnMnRlbXBsYXRlJyApOwogIH0KCgogIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAgIFNldEFkbWluRW1haWxDb25maXJtYXRpb25UZW1wbGF0ZSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZXRBZG1pbkVtYWlsQ29uZmlybVRlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdGJ1dHRvbiddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsY29uZmlybV90ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9lbWFpbGNvbmZpcm1fdGVtcGxhdGUgKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZW1haWxjb25maXJtX3RleHR0ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9lbWFpbGNvbmZpcm1fdGV4dHRlbXBsYXRlICk7CiAgICAgIH0KICAgIGVsc2UgCiAgICAgIHsKCSRodG1sdGVtcGxhdGUgPSAnJzsKCWlmKCBpc3NldCggJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKSApCgkgIHsKCSAgICAkaHRtbHRlbXBsYXRlID0gJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J107CgkgIH0KCSR0ZXh0dGVtcGxhdGUgPSAnJzsKCWlmKCBpc3NldCggJHBhcmFtc1sndGV4dHRlbXBsYXRlY29udGVudCddICkgKQoJICB7CgkgICAgJHRleHR0ZW1wbGF0ZSA9ICRwYXJhbXNbJ3RleHR0ZW1wbGF0ZWNvbnRlbnQnXTsKCSAgfQoJJHN1YmplY3QgPSAnJzsKCWlmKCBpc3NldCggJHBhcmFtc1snaW5wdXRfc3ViamVjdCddICkgKQoJICB7CgkgICAgJHN1YmplY3QgPSAkcGFyYW1zWydpbnB1dF9zdWJqZWN0J107CgkgIH0KCWlmKCAkc3ViamVjdCA9PSAnJyApCgkgIHsKCSAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCRwYXJhbXMsJHJldHVybmlkLAoJCQkJICAgICAkdGhpcy0+TGFuZygnZXJyb3JfbXVzdHNwZWNpZnlzdWJqZWN0JykpOwoJICAgIHJldHVybjsKCSAgfQoJaWYoICR0ZXh0dGVtcGxhdGUgPT0gJycgKQoJICB7CgkgICAgJHRoaXMtPl9EaXNwbGF5RXJyb3JQYWdlKCRpZCwkcGFyYW1zLCRyZXR1cm5pZCwKCQkJCSAgICAgJHRoaXMtPkxhbmcoJ2Vycm9yX211c3RzcGVjaWZ5dGV4dHRlbXBsYXRlJykpOwoJICAgIHJldHVybjsKCSAgfQoKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZW1haWxjb25maXJtX3RlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2VtYWlsY29uZmlybV90ZXh0dGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sndGV4dHRlbXBsYXRlY29udGVudCddICk7CgkkdGhpcy0+U2V0UHJlZmVyZW5jZSggJ3NlbGZyZWdfZW1haWxjb25maXJtX3N1YmplY3QnLAoJCQkgICAgICAkcGFyYW1zWydpbnB1dF9zdWJqZWN0J10gKTsKCQogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCAkaWQsICdlbWFpbGNvbmZpcm1fdGVtcGxhdGUnICk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0QWRtaW5GaW5hbE1lc3NhZ2VUZW1wbGF0ZSgkaWQsICRwYXJhbXMsICRyZXR1cm5faWQsICRtZXNzYWdlKQogICBOT1QgUEFSVCBPRiBUSEUgTU9EVUxFIEFQSQogICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLwogIGZ1bmN0aW9uIF9TZXRBZG1pbkZpbmFsTWVzc2FnZVRlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdGJ1dHRvbiddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScsCgkJCSAgICAkdGhpcy0+ZGZsdF9maW5hbG1lc3NhZ2VfdGVtcGxhdGUgKTsKICAgICAgfQogICAgZWxzZSBpZiggaXNzZXQoICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX2ZpbmFsbWVzc2FnZV90ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApOwogICAgICB9CiAgICAkdGhpcy0+bXlSZWRpcmVjdFRvVGFiKCAkaWQsICdmaW5hbG1lc3NhZ2VfdGVtcGxhdGUnICk7CiAgfQoKCiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KICAgU2V0QWRtaW5FbWFpbENvbmZpcm1hdGlvblRlbXBsYXRlKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX1NldEFkbWluRW1haWxVc2VyRWRpdGVkVGVtcGxhdGUoICRpZCwgJiRwYXJhbXMsICRyZXR1cm5pZCApCiAgewogICAgaWYoIGlzc2V0KCAkcGFyYW1zWydkZWZhdWx0YnV0dG9uJ10gKSApCiAgICAgIHsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3RlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZSApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGV4dHRlbXBsYXRlJywKCQkJICAgICR0aGlzLT5kZmx0X2VtYWlsdXNlcmVkaXRlZF90ZXh0dGVtcGxhdGUgKTsKICAgICAgfQogICAgZWxzZSAKICAgICAgewoJJGh0bWx0ZW1wbGF0ZSA9ICcnOwoJaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApICkKCSAgewoJICAgICRodG1sdGVtcGxhdGUgPSAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXTsKCSAgfQoJJHRleHR0ZW1wbGF0ZSA9ICcnOwoJaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZXh0dGVtcGxhdGVjb250ZW50J10gKSApCgkgIHsKCSAgICAkdGV4dHRlbXBsYXRlID0gJHBhcmFtc1sndGV4dHRlbXBsYXRlY29udGVudCddOwoJICB9Cgkkc3ViamVjdCA9ICcnOwoJaWYoIGlzc2V0KCAkcGFyYW1zWydpbnB1dF9zdWJqZWN0J10gKSApCgkgIHsKCSAgICAkc3ViamVjdCA9ICRwYXJhbXNbJ2lucHV0X3N1YmplY3QnXTsKCSAgfQoJaWYoICRzdWJqZWN0ID09ICcnICkKCSAgewoJICAgICR0aGlzLT5fRGlzcGxheUVycm9yUGFnZSgkaWQsJHBhcmFtcywkcmV0dXJuaWQsCgkJCQkgICAgICR0aGlzLT5MYW5nKCdlcnJvcl9tdXN0c3BlY2lmeXN1YmplY3QnKSk7CgkgICAgcmV0dXJuOwoJICB9CglpZiggJHRleHR0ZW1wbGF0ZSA9PSAnJyApCgkgIHsKCSAgICAkdGhpcy0+X0Rpc3BsYXlFcnJvclBhZ2UoJGlkLCRwYXJhbXMsJHJldHVybmlkLAoJCQkJICAgICAkdGhpcy0+TGFuZygnZXJyb3JfbXVzdHNwZWNpZnl0ZXh0dGVtcGxhdGUnKSk7CgkgICAgcmV0dXJuOwoJICB9CgoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfdGVtcGxhdGUnLAoJCQkgICAgJHBhcmFtc1sndGVtcGxhdGVjb250ZW50J10gKTsKCSR0aGlzLT5TZXRUZW1wbGF0ZSggJ3NlbGZyZWdfZW1haWx1c2VyZWRpdGVkX3RleHR0ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWyd0ZXh0dGVtcGxhdGVjb250ZW50J10gKTsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCAnc2VsZnJlZ19lbWFpbHVzZXJlZGl0ZWRfc3ViamVjdCcsCgkJCSAgICAgICRwYXJhbXNbJ2lucHV0X3N1YmplY3QnXSApOwoJCiAgICAgIH0KICAgICR0aGlzLT5teVJlZGlyZWN0VG9UYWIoICRpZCwgJ2VtYWlsdXNlcmVkaXRlZF90ZW1wbGF0ZScgKTsKICB9CgoKICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICBTZXRBZG1pblNldEFub3RoZXJFbWFpbFRlbXBsYXRlKCRpZCwgJHBhcmFtcywgJHJldHVybl9pZCwgJG1lc3NhZ2UpCiAgIE5PVCBQQVJUIE9GIFRIRSBNT0RVTEUgQVBJCiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCiAgZnVuY3Rpb24gX1NldEFkbWluU2VuZEFub3RoZXJFbWFpbFRlbXBsYXRlKCAkaWQsICYkcGFyYW1zLCAkcmV0dXJuaWQgKQogIHsKICAgIGlmKCBpc3NldCggJHBhcmFtc1snZGVmYXVsdGJ1dHRvbiddICkgKQogICAgICB7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZSApOwoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19wb3N0X3NlbmRhbm90aGVyZW1haWxfdGVtcGxhdGUnLAoJCQkgICAgJHRoaXMtPmRmbHRfcG9zdF9zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlICk7CiAgICAgIH0KICAgIGVsc2UgaWYoIGlzc2V0KCAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQnXSApICkKICAgICAgewoJJHRoaXMtPlNldFRlbXBsYXRlKCAnc2VsZnJlZ19zZW5kYW5vdGhlcmVtYWlsX3RlbXBsYXRlJywKCQkJICAgICRwYXJhbXNbJ3RlbXBsYXRlY29udGVudCddICk7CgkkdGhpcy0+U2V0VGVtcGxhdGUoICdzZWxmcmVnX3Bvc3Rfc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScsCgkJCSAgICAkcGFyYW1zWyd0ZW1wbGF0ZWNvbnRlbnQyJ10gKTsKICAgICAgfQogICAgJHRoaXMtPm15UmVkaXJlY3RUb1RhYiggJGlkLCAnc2VuZGFub3RoZXJlbWFpbF90ZW1wbGF0ZScgKTsKICB9CgoKICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwogIC8vIEFQSSBGVU5DVElPTlMKICAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLwoKICBmdW5jdGlvbiBBZGRUZW1wVXNlclByb3BlcnR5KCAkdWlkLCAkcHJvcG5hbWUsICRwcm9wdmFsdWUgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJGlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzX3NlcSIpOwogICAgJHEgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3Byb3BlcnRpZXMKICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPykiOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICRpZCwgJHVpZCwgJHByb3BuYW1lLCAkcHJvcHZhbHVlICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGFycmF5KEZBTFNFLCRkYi0+RXJyb3JNc2coKSk7CiAgICAgIH0KICAgIHJldHVybiBhcnJheShUUlVFKTsKICB9CgoKICBmdW5jdGlvbiBDb3VudFRlbXBVc2VycygpCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkcSA9ICJTRUxFQ1QgY291bnQoKikgYXMgY291bnQgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMiOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSApOwogICAgaWYoICEkZGJyZXN1bHQgKSB7CiAgICAgIHJldHVybiBmYWxzZTsKICAgIH0KICAgICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7CiAgICByZXR1cm4gJHJvd1snY291bnQnXTsKICB9CgoKICBmdW5jdGlvbiBDcmVhdGVUZW1wVXNlciggJGdpZCwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRjb2RlICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgIGlmKCAkdXNlcm5hbWUgPT0gJycgfHwgJHBhc3N3b3JkID09ICcnICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgLy8gZ2V0IGFuIGlkCiAgICAkaWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnNfc2VxIik7CiAgICAkcSA9ICJJTlNFUlQgSU5UTyAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMKICAgICAgICAgIFZBTFVFUyAoPyw/LD8sPyw/LD8pIjsgCiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGlkLCAkZ2lkLCAkdXNlcm5hbWUsIG1kNSgkcGFzc3dvcmQpLCAkY29kZSwKCQkJCQkgdHJpbSgkZGItPkRCVGltZVNUYW1wKHRpbWUoKSksIiciKSkpOwogICAgaWYoICEkZGJyZXN1bHQgKQogICAgICB7CglyZXR1cm4gYXJyYXkoRkFMU0UsJGRiLT5FcnJvck1zZygpKTsKICAgICAgfQogICAgcmV0dXJuIGFycmF5KFRSVUUsJGlkKTsKICB9CgoKICBmdW5jdGlvbiBDU1ZPbGRUZW1wVXNlcnMoJGV4cGlyeWNvZGUpCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkZXhwaXJlcyA9ICRkYi0+RGJUaW1lU3RhbXAoc3RydG90aW1lKCAkZXhwaXJ5Y29kZSApKTsKICAgIC8vIGZpbmQgYWxsIHRoZSB1c2VyIGlkJ3MgdGhhdCBtYXRjaAogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMKICAgICAgICAgIFdIRVJFIGNyZWF0ZWRhdGUgPCA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkZXhwaXJlcyApICk7IAogICAgJHJlc3VsdCA9ICcnOwoKICAgIHdoaWxlKCAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkgCiAgICAgIHsKCSR2YWxzID0gYXJyYXlfdmFsdWVzKCAkcm93ICk7CgkkcmVzdWx0IC49ICRyb3dbJ2lkJ10uIiwiLiRyb3dbJ3VzZXJuYW1lJ10uIiwiLiRyb3dbJ2NvZGUnXS4iLCIuJHJvd1snY3JlYXRlZGF0ZSddLiIsIjsKCSRxMiA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ19wcm9wZXJ0aWVzCiAgICAgICAgICAgICAgV0hFUkUgdXNlciA9ID8gT1JERVIgYnkgaWQiOwoJJGRicmVzdWx0MiA9ICRkYi0+RXhlY3V0ZSggJHEyLCBhcnJheSggJHJvd1snaWQnXSApICk7Cgl3aGlsZSggJHJvdzIgPSAkZGJyZXN1bHQyLT5GZXRjaFJvdygpICkKCSAgewoJICAgICRyZXN1bHQgLj0gJHJvdzJbJ2RhdGEnXS4iLCI7CgkgIH0KCSRyZXN1bHQgLj0gImVuZFxuIjsKICAgICAgfQoKICAgIHJldHVybiAkcmVzdWx0OwogIH0KCgogIGZ1bmN0aW9uIEVkaXRUZW1wVXNlciggJHVpZCwgJHVzZXJuYW1lLCAkcGFzc3dvcmQsICRjb2RlICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgIGlmKCAkdXNlcm5hbWUgPT0gJycgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KCiAgICAkcSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzCiAgICAgICAgICBTRVQgdXNlcm5hbWUgPSA/LCBjb2RlID0gPyI7CiAgICAkcGFyYW1zID0gYXJyYXkoJHVzZXJuYW1lLCRjb2RlKTsKICAgIGlmKCAkcGFzc3dvcmQgIT0gJycgKQogICAgICB7CgkkcSAuPSAiLHBhc3N3b3JkID0gPyI7CgkkcGFyYW1zW10gPSBtZDUoJHBhc3N3b3JkKTsKICAgICAgfQogICAgJHEgLj0gIiBXSEVSRSBpZCA9ID8iOwogICAgJHBhcmFtc1tdID0gJHVpZDsKCiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCAkcGFyYW1zICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiBhcnJheShGQUxTRSwkZGItPkVycm9yTXNnKCkpOwogICAgICB9CiAgICByZXR1cm4gYXJyYXkoVFJVRSk7CiAgfQoKCiAgZnVuY3Rpb24gRXhwaXJlT2xkVGVtcFVzZXJzKCRleHBpcnljb2RlKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJGV4cGlyZXMgPSAkZGItPkRiVGltZVN0YW1wKHN0cnRvdGltZSggJGV4cGlyeWNvZGUgKSk7CiAgICAvLyBmaW5kIGFsbCB0aGUgdXNlciBpZCdzIHRoYXQgbWF0Y2gKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzCiAgICAgICAgICBXSEVSRSBjcmVhdGVkYXRlIDwgPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJGV4cGlyZXMgKSApOyAKICAgIHdoaWxlKCAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkgCiAgICAgIHsKCS8vIHRoZW4gZGVsZXRlIHRoZWlyIHByb3BlcnRpZXMKCSRxMiA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfcHJvcGVydGllcwogICAgICAgICAgICAgV0hFUkUgdXNlciA9ID8iOwoJJGRicmVzdWx0MiA9ICRkYi0+RXhlY3V0ZSggJHEyLCBhcnJheSggJHJvd1snaWQnXSApICk7CiAgICAgIH0KCiAgICAvLyB0aGVuIGRlbGV0ZSB0aGVtCiAgICAkcSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMKICAgICAgICAgIFdIRVJFIGNyZWF0ZWRhdGUgPiA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkZXhwaXJlcyApICk7CiAgICBpZiggISRkYnJlc3VsdCApIHJldHVybiBmYWxzZTsKICAgIHJldHVybiB0cnVlOwogIH0KCgogIGZ1bmN0aW9uIERlbGV0ZVRlbXBVc2VyKCAkdWlkICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfc2VsZnJlZ191c2VycwogICAgICAgICAgV0hFUkUgaWQgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCR1aWQpICk7CiAgICBpZiggISRkYnJlc3VsdCApIHJldHVybiBmYWxzZTsKICAgIHJldHVybiB0cnVlOwogIH0KCgogIGZ1bmN0aW9uIERlbGV0ZVRlbXBVc2VyUHJvcGVydGllcyggJHVpZCApCiAgewogICAgJGRiID0gJHRoaXMtPkdldERiKCk7CiAgICAkcSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfcHJvcGVydGllcyAKICAgICAgICAgIFdIRVJFIHVzZXIgPSA/IjsKICAgICRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSggJHEsIGFycmF5KCAkdWlkICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkgcmV0dXJuIGZhbHNlOwogICAgcmV0dXJuIHRydWU7CiAgfQoKCiAgZnVuY3Rpb24gR2V0VGVtcFVzZXJEZXRhaWxzKCAkdWlkICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKICAgICRxID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9zZWxmcmVnX3VzZXJzCiAgICAgICAgICBXSEVSRSBpZCA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR1aWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgfHwgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID09IDAgKSByZXR1cm4gZmFsc2U7CiAgICAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpOwogICAgcmV0dXJuICRyb3c7CiAgfQoKCiAgZnVuY3Rpb24gR2V0VGVtcFVzZXJJRCggJHVzZXJuYW1lICkKICB7CiAgICAkZGIgPSAkdGhpcy0+R2V0RGIoKTsKCiAgICBpZiggJHVzZXJuYW1lID09ICcnICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfdXNlcnMgV0hFUkUKICAgICAgICAgIHVzZXJuYW1lID0gPyI7CiAgICAkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoICRxLCBhcnJheSggJHVzZXJuYW1lICkgKTsKICAgIGlmKCAhJGRicmVzdWx0ICkKICAgICAgewoJcmV0dXJuIGZhbHNlOwogICAgICB9CgogICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgIGlmKCAhJHJvdyApCiAgICAgIHsKCXJldHVybiBmYWxzZTsKICAgICAgfQoKICAgIHJldHVybiAkcm93WydpZCddOwogIH0KCgogIGZ1bmN0aW9uIEdldFRlbXBVc2VyUHJvcGVydHkoICR1aWQsICRwcm9wbmFtZSwgJGRmbHQgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUIGRhdGEgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfcHJvcGVydGllcwogICAgICAgICAgV0hFUkUgdXNlciA9ID8gQU5EIHRpdGxlID0gID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR1aWQsICRwcm9wbmFtZSApICk7CiAgICBpZiggISRkYnJlc3VsdCApCiAgICAgIHsKCXJldHVybiAkZGZsdDsKICAgICAgfQogICAgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKTsKICAgIGlmKCAhJHJvdyApCiAgICAgIHsKCXJldHVybiAkZGZsdDsKICAgICAgfQogICAgcmV0dXJuICRyb3dbJ2RhdGEnXTsKICB9CgoKICBmdW5jdGlvbiBHZXRUZW1wVXNlclByb3BlcnRpZXMoICR1aWQgKQogIHsKICAgICRkYiA9ICR0aGlzLT5HZXREYigpOwogICAgJHEgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX3NlbGZyZWdfcHJvcGVydGllcwogICAgICAgICAgV0hFUkUgdXNlciA9ID8iOwogICAgJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcSwgYXJyYXkoICR1aWQgKSApOwogICAgaWYoICEkZGJyZXN1bHQgfHwgJGRicmVzdWx0LT5SZWNvcmRDb3VudCgpID09IDAgKQogICAgICB7CglyZXR1cm4gZmFsc2U7CiAgICAgIH0KICAgICRyZXN1bHQgPSBhcnJheSgpOwogICAgd2hpbGUoICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKQogICAgICB7CgkkcmVzdWx0W10gPSAkcm93OwogICAgICB9CiAgICByZXR1cm4gJHJlc3VsdDsKICB9Cn0KCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/edituser.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBSZWdpc3RyYXRpb24gMSB0ZW1wbGF0ZSAtLT4KeyR0aXRsZX0Ke2lmICRtZXNzYWdlICE9ICcnfQogIHtpZiAkZXJyb3IgIT0gJyd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CntpZiAkY29udHJvbGNvdW50ID4gMH0KICA8Y2VudGVyPgogIDx0YWJsZSB3aWR0aD0iNzUlIj4Ke2ZvcmVhY2ggZnJvbT0kY29udHJvbHMgaXRlbT1jb250cm9sfQogIDx0cj4KICAgIDx0ZD57JGNvbnRyb2wtPmhpZGRlbn0KICAgIDxmb250IGNvbG9yPSJ7JGNvbnRyb2wtPmNvbG9yfSI+eyRjb250cm9sLT5wcm9tcHR9eyRjb250cm9sLT5tYXJrZXJ9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGNvbnRyb2wtPmNvbnRyb2x9CiAgICB7aWYgJGNvbnRyb2wtPmV4dHJhdGV4dH0KICAgICAgJm5ic3A7eyRjb250cm9sLT5leHRyYXRleHR9CiAgICB7L2lmfQogICAgPC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiAgPC90YWJsZT4KICA8L2NlbnRlcj4KPGJyLz4Key9pZn0KeyRoaWRkZW59eyRoaWRkZW4yfXskc3VibWl0fXskY2FuY2VsfQp7JGVuZGZvcm19CjwhLS0gUmVnaXN0cmF0aW9uIDEgdGVtcGxhdGUgLS0+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/error.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPnskdGl0bGVfZXJyb3J9PC9oMz4KPHA+eyRhZG1pbl9uYXZ9PC9wPgp7aWYgJG1lc3NhZ2UhPScnfTxwPnskbWVzc2FnZX08L3A+ey9pZn0=]]></data>
	</file>
	<file>
	  <filename>/templates/prefs.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRtZXNzYWdlIT0nJ308cD57JG1lc3NhZ2V9PC9wPnsvaWZ9Cnskc3RhcnRmb3JtfQo8dGFibGUgd2lkdGg9IjEwMCUiPgogIDx0cj4KICAgIDx0ZCB3aWR0aD0iNTAlIj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9pbmxpbmV9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2lubGluZX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9ub3RpZnl9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X25vdGlmeX08L3A+Cgk8L2Rpdj4KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHByb21wdF9jb25maXJtbWFpbF90b306PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskaW5wdXRfY29uZmlybW1haWxfdG99PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZW1haWxfY29uZmlybWF0aW9ufTo8L3A+CgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9lbWFpbF9jb25maXJtYXRpb259PC9wPgoJPC9kaXY+Cgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfZm9yY2VfZW1haWxfdHdpY2V9OjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X2ZvcmNlX2VtYWlsX3R3aWNlfTwvcD4KCTwvZGl2PgoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPiZuYnNwOzwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhpZGRlbn17JHN1Ym1pdH17JGNhbmNlbH08L3A+Cgk8L2Rpdj4KICAgPC90ZD4KICAgPHRkIHdpZHRoPSI1MCUiIHZhbGlnbj0idG9wIj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRwcm9tcHRfbnVtcmVzZXRyZWNvcmRzfTwvcD4KCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGF0YV9udW1yZXNldHJlY29yZHN9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZW1vdmUxd2Vla308L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3JlbW92ZTFtb250aH08L3A+CiAgICAgIDwvZGl2PgogICAgICA8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4mbmJzcDs8L3A+Cgk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGlucHV0X3JlbW92ZTFkYXl9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9yZW1vdmVhbGx9PC9wPgogICAgICA8L2Rpdj4KICAgICAgPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCTxwIGNsYXNzPSJwYWdldGV4dCI+Jm5ic3A7PC9wPgoJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRpbnB1dF9saXN0MWRheX08L3A+CiAgICAgIDwvZGl2PgogICA8L3RkPgogIDwvdHI+CjwvdGFibGU+CnskZW5kZm9ybX0K]]></data>
	</file>
	<file>
	  <filename>/templates/signup.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyR0aXRsZX0Ke2lmICRtZXNzYWdlICE9ICcnfQogIHtpZiAkZXJyb3IgIT0gJyd9CiAgICA8cD48Zm9udCBjb2xvcj0icmVkIj57JG1lc3NhZ2V9PC9mb250PjwvcD4KICB7ZWxzZX0KICAgIDxwPnskbWVzc2FnZX08L3A+CiAgey9pZn0Key9pZn0KeyRzdGFydGZvcm19CntpZiAkY29udHJvbGNvdW50ID4gMH0KICA8Y2VudGVyPgogIDx0YWJsZSB3aWR0aD0iNzUlIj4Ke2ZvcmVhY2ggZnJvbT0kY29udHJvbHMgaXRlbT1jb250cm9sfQogIDx0cj4KICAgIDx0ZD57JGNvbnRyb2wtPmhpZGRlbn0KICAgIDxmb250IGNvbG9yPSJ7JGNvbnRyb2wtPmNvbG9yfSI+eyRjb250cm9sLT5wcm9tcHR9eyRjb250cm9sLT5tYXJrZXJ9PC9mb250PgogICAgPC90ZD4KICAgIDx0ZD57JGNvbnRyb2wtPmNvbnRyb2x9PC90ZD4KICA8L3RyPgp7L2ZvcmVhY2h9CiAgPC90YWJsZT4KICA8L2NlbnRlcj4KPGJyLz4Key9pZn0KeyRoaWRkZW59eyRoaWRkZW4yfXskYmFja317JHN1Ym1pdH17JGNhbmNlbH0KeyRlbmRmb3JtfQo=]]></data>
	</file>
	<file>
	  <filename>/templates/userlist.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRqYXZhc2NyaXB0fQp7aWYgJG1lc3NhZ2UgIT0gJyd9CiAge2lmICRlcnJvciAhPSAnJ30KICAgIDxwPjxmb250IGNvbG9yPSJyZWQiPnskbWVzc2FnZX08L2ZvbnQ+PC9wPgogIHtlbHNlfQogICAgPHA+eyRtZXNzYWdlfTwvcD4KICB7L2lmfQp7ZWxzZX0KPGRpdiBjbGFzcz0icGFnZW9wdGlvbnMiPjxwIGNsYXNzPSJwYWdlb3B0aW9ucyI+eyRpdGVtY291bnR9Jm5ic3A7eyRpdGVtc2ZvdW5kfTwvcD48L2Rpdj4Ke2lmICRpdGVtY291bnQgPiAwfQp7JHN0YXJ0Zm9ybX0KPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KCTx0aGVhZD4KCQk8dHI+CgkJCTx0aCB3aWR0aD0iNSUiPnskdXNlcmlkdGV4dH08L3RoPgoJCQk8dGg+eyR1c2VybmFtZXRleHR9PC90aD4KCQkJPHRoPnskZ3JwbmFtZXRleHR9PC90aD4KCQkJPHRoPnskY3JlYXRlZHRleHR9PC90aD4KCQkJPHRoPnskZW1haWx0ZXh0fTwvdGg+CgkJCTx0aCBjbGFzcz0icGFnZWljb24iPnskZGVsZXRldGV4dH08L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCQk8dGggY2xhc3M9InBhZ2VpY29uIj4mbmJzcDs8L3RoPgoJCTwvdHI+Cgk8L3RoZWFkPgoJPHRib2R5Pgp7Zm9yZWFjaCBmcm9tPSRpdGVtcyBpdGVtPWVudHJ5fQoJCTx0ciBjbGFzcz0ieyRlbnRyeS0+cm93Y2xhc3N9Ij4KCQkJPHRkPnskZW50cnktPnVzZXJpZH08L3RkPgoJCQk8dGQ+eyRlbnRyeS0+dXNlcm5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmdycG5hbWV9PC90ZD4KCQkJPHRkPnskZW50cnktPmNyZWF0ZWR9PC90ZD4KCQkJPHRkPnskZW50cnktPmVtYWlsfTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5tYXJrZGVsZXRlYm94fTwvdGQ+CgkJCTx0ZD57JGVudHJ5LT5lZGl0bGlua308L3RkPgoJCQk8dGQ+eyRlbnRyeS0+ZGVsZXRlbGlua308L3RkPgoJCTwvdHI+CgkgCnsvZm9yZWFjaH0KCTwvdGJvZHk+CjwvdGFibGU+CnskY2hlY2thbGxib3h9PGJyLz4KeyRzdWJtaXR9CnsvaWZ9CnskZW5kZm9ybX0Key9pZn0K]]></data>
	</file>
</module>
