<?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>babel</name>
	<version>0.3.1</version>
  <mincmsversion>1.6</mincmsversion>
	<help>PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CgkJCQk8cD5UaGlzIG1vZHVsZSBtYW5hZ2VzIG11bHRpcGxlcyBsYW5ndWFnZXMgZm9yIHRoZSBmcm9udGVuZCBhbmQgbmF2aWdhdGlvbiB0aHJvdWdoIHRoZSBsYW5ndWFnZXMuPC9wPgoJCQk8YnIvPjxoMz5Ib3cgRG8gSSBVc2UgSXQ/PC9oMz4KCQkJCTxici8+PGg0PlRyZWUgYnJhbmNoZXM8L2g0PgoJCQkJCTxwPlRoaXMgbW9kdWxlIHVzZXMgYW4gYXBwcm9hY2ggdG8gbXVsdGlsaW5ndWFsIHNpdGVzIGNhbGxlZCAic2VwYXJhdGVkIHRyZWUgYnJhbmNoZXMiLCB3aGljaCBoYXMgYmVlbiBkZXZlbG9wcGVkIGJ5IG90aGVyIGNtc21zIGRldmVsb3BlcnMgKG5hbWVseSBNYXJjb3MgQ3J1eiAtIHNlZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmcvaW5kZXgucGhwL3RvcGljLDE5MDk5Lm1zZzk0NzQ5Lmh0bWwjbXNnOTQ3NDkiIHRhcmdldD0iX2JsYW5rIj50aGlzIHRvcGljPC9hPikuPC9wPjxici8+CgkJCQkJPHA+U2hvdWxkIHlvdSBuZWVkIHRvIHVzZSBpdCBpbiB5b3VyIHRlbXBsYXRlcywgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UgY29kZSB3aWxsIGJlIHN0b3JlZCBpbiB0aGUgJHBhZ2VfbGFuZyB2YXJpYWJsZS48L3A+CgkJCQk8aDQ+UGFydCAxOiBzZXR0aW5nIHVwIHRoZSBwYWdlczwvaDQ+CQkJCgkJCQkJPHA+VG8gdXNlIHRoaXMsIHlvdSB3aWxsIGhhdmUgdG8gY3JlYXRlIGRpZmZlcmVudCByb290IHBhZ2VzIGZvciBlYWNoIGxhbmd1YWdlLiBGb3IgZXhhbXBsZTo8L3A+CgkJCQkJPHVsPgoJCQkJCQk8bGk+MS4gRW5nbGlzaDx1bD4KCQkJCQkJCTxsaT4xLjEuIDFzdCBwYWdlPC9saT4KCQkJCQkJCTxsaT4xLjIuIDJuZCBwYWdlPC9saT4KCQkJCQkJCTxsaT4xLjMuIDNyZCBwYWdlPC9saT4KCQkJCQkJPC91bD48L2xpPgoJCQkJCQk8bGk+Mi4gRnJhbiZjY2VkaWw7YWlzPHVsPgoJCQkJCQkJPGxpPjIuMS4gUGFnZSAxPC9saT4KCQkJCQkJCTxsaT4yLjIuIFBhZ2UgMjwvbGk+CgkJCQkJCQk8bGk+Mi4zLiBQYWdlIDM8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJPC91bD4KCQkJCQk8cD5Sb290IGxhbmd1YWdlIHBhZ2VzICgxLiBhbmQgMi4pIHNob3VsZCBiZSBzZWN0aW9uIGhlYWRlcnMuIFlvdSBjYW4gbmFtZSB0aGVtIChhbGlhcyBhbmQgYWxsKSBhbnkgd2F5IHlvdSB3YW50LjwvcD4KCQkJCQk8cD5JbiBvcmRlciB0byBkaXNwbGF5IG1lbnUgY29ycmVjdGx5ICh0aGF0IGlzLCBub3QgdG8gZGlzcGxheSBsYW5ndWFnZSBoZWFkZXIgcGFnZXMgYW5kIHBhZ2VzIGJlbG9uZ2luZyB0byBvdGhlciBsYW5ndWFnZXMpLCBhbGwgeW91IGhhdmUgdG8gZG8gaXMgYWRkIHRoZSBzdGFydF9sZXZlbD0iMiIgdG8geW91ciBtZW51IHRhZ3M6PGJyLz4KCQkJCQl7bWVudSBzdGFydF9sZXZlbD0iMiJ9PC9wPgoJCQkJPGJyLz48aDQ+UGFydCAyOiBzZXR0aW5nIHVwIHRoZSBsYW5ndWFnZXM8L2g0PgoJCQkJCTxwPk5leHQsIGdvIHRvIEV4dGVuc2lvbnMtJmd0O0JhYmVsOiBNdWx0aWxpbmd1YWwgc2l0ZS4gRm9yIGVhY2ggbGFuZ3VhZ2UsIGNsaWNrIEFkZCBMYW5ndWFnZSBhbmQgZW50ZXIgdGhlIGFwcHJvcHJpYXRlIGluZm9ybWF0aW9ucy4gVGhlICJSb290IHBhZ2UiIHNob3VsZCBiZSB0aGUgc2VjdGlvbiBoZWFkZXJzIHlvdSd2ZSBjcmVhdGVkIGZvciBlYWNoIGxhbmd1YWdlICgxLkVuZ2xpc2gsIDIuRnJhbiZjY2VkaWw7YWlzKS4gVGhlICJEZWZhdWx0IHBhZ2UiIHNob3VsZCBiZSB0aGUgaG9tZSBwYWdlIGZvciBlYWNoIGxhbmd1YWdlLiBBcyBvZiB0aGUgbGFuZ3VhZ2UgY29kZSwgeW91IGNvdWxkIHVzZSBhbnkgNSBjaGFyYWN0ZXJzIGNvZGUsIGJ1dCBpbiBvcmRlciB0byBwcm92aWRlIGdvb2QgY29tcGF0aWJpbGl0eSB3aXRoIHRoZSBtb2R1bGVzLCB5b3Ugc2hvdWxkIHVzZSB0aGUgc2FtZSBhcyB0aGUgY21zICh5b3UgbWF5IHVzZSB0aGUgZHJvcCBkb3duIGxpc3Qgb24gdGhlIHRvcCByaWdodCB0byBwYXJ0aWFsbHkgZmlsbCB0aGUgZm9ybSkuPC9wPgoJCQkJCTxwPiggKldoZW4gcmVhZHksIG1ha2Ugc3VyIHlvdSBhY3RpdmF0ZSBlYWNoIGxhbmd1YWdlLi4uICk8L3A+CgkJCQk8YnIvPjxoND5QYXJ0IDM6IExhbmd1YWdlIG1lbnU8L2g0PgoJCQkJCTxwPlRvIGdldCBhIGxhbmd1YWdlIG1lbnUsIHlvdSBtYXkgdXNlIHRoZSBmb2xsb3dpbmcgdGFnOjxici8+CgkJCQkJe2JhYmVsIGFjdGlvbj0ibWVudSJ9PGJyLz4KCQkJCQlvciwgdG8gdXNlIGEgdGVtcGxhdGUgb3RoZXIgdGhhbiB0aGUgZGVmYXVsdCBvbmU6PGJyLz4KCQkJCQl7YmFiZWwgYWN0aW9uPSJtZW51IiB0ZW1wbGF0ZT0idGVtcGxhdGVfbmFtZSJ9PC9wPgoJCQkJCTxwPlRoZSAic2hvdyIgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGNob29zZSB3aGljaCBsYW5ndWFnZXMgc2hvdWxkIGJlIGRpc3BsYXllZC48L3A+CgkJCQk8YnIvPjxoND5QYXJ0IDQgKG9wdGlvbmFsKSA6IEN1c3RvbSBsYW5ndWFnZSBlbnRyaWVzPC9oND4KCQkJCQk8cD5JbiBtb2R1bGVzLCBnbG9iYWwgY29udGVudCBibG9ja3Mgb3Igd2hhdHNvZXZlciwgeW91IHdpbGwgbmVlZCB0byBjaGFuZ2UgdGhlIGNvbnRlbnQgZGVwZW5kaW5nIG9uIHRoZSBsYW5ndWFnZS4gVGhlIHRyYWRpdGlvbmFsIHdheSB0byBkbyB0aGlzIHdhcyB0byBjcmVhdGUgY29uZGl0aW9ucyB3aXRoIHRoZSBwYWdlX2xhbmcgdmFyaWFibGU6PGJyLz4KCQkJCQl7aWYgJHBhZ2VfbGFuZyA9PSAiZW5fVVMifUVuZ2xpc2ggdGV4dHtlbHNlaWYgJHBhZ2VfbGFuZyA9PSAiZnJfRlIifVRleHRlIGVuIGZyYW4mY2NlZGlsO2Fpc3svaWZ9PC9wPgoJCQkJCTxwPldpbGwgeW91IGNhbiBzdGlsbCB1c2UgdGhpcyBtZXRob2Qgd2l0aCB0aGUgbW9kdWxlLCBhbm90aGVyIG1vcmUgY2VudHJhbGl6ZWQgd2F5IGlzIHByb3ZpZGVkLiBJbiB0aGUgYWRtaW4gcGFuZWwgb2YgdGhpcyBtb2R1bGUsIHlvdSB3aWxsIGZpbmQgZm9yIGVhY2ggbGFuZ3VhZ2UgYSBsaW5rIHRvIGVkaXQgdGhlIGxhbmd1YWdlIGVudHJpZXMuIExhbmd1YWdlIGVudHJpZXMgYXJlIHN0cmluZ3MgdGhhdCBleGlzdCBmb3IgZWFjaCBsYW5ndWFnZSBidXQgaG9sZCBkaWZmZXJlbnQgdGV4dCAob3IgaHRtbCkuIFdoYXQgeW91IGNhbiBkbyBpcyB0byBjcmVhdGUgYSBuZXcgbGFuZ3VhZ2UgZW50cnkgKGZvciBleGFtcGxlOiAid2VsY29tZSB0ZXh0IiwgZW50ZXIgaXRzIGNvbnRlbnQgZm9yIGFsbCBsYW5ndWFnZXMsIGFuZCBzaW1wbHkgY2FsbCB0aGUgZW50cnkgd2hlcmV2ZXIgeW91IG5lZWQgaXQgdXNpbmcgdGhlIGRlZmF1bHQgYWN0aW9uOjxici8+CgkJCQkJe2JhYmVsIHNob3c9IndlbGNvbWUgdGV4dCJ9PGJyLz4KCQkJCQlTaG91bGQgeW91IGV2ZXIgbmVlZCB0byBlZGl0IHRoZSBzdHJpbmdzIGFuZCBhZGQgbGFuZ3VhZ2VzLCB5b3Ugd2lsbCBmaW5kIHRoaXMgc29sdXRpb24gdG8gYmUgbW9yZSBoYW5keS4gQnV0IGlmIHlvdSBwcmVmZXIgdGhlIG9sZCBvbmUsIGl0IHdpbGwgd29yayBqdXN0IGFzIG11Y2guPC9wPgoJCQk8YnIvPjxoMz5MYW5ndWFnZSByZWRpcmVjdGlvbiBtZXRob2RzPC9oMz4JCgkJCQk8cD5UaGVyZSBhcmUgdHdvIHBvc3NpYmxlIG1ldGhvZHMgdG8gdGVsbCB0aGUgY21zIHdoaWNoIHBhZ2UgaXMgdGhlIGVxdWl2YWxlbnQgaW4gYW5vdGhlciBsYW5ndWFnZSBvZiBhIGdpdmVuIHBhZ2UuIEJ5IGRlZmF1bHQsIHRoZSBoaXJlcmFyY2h5IHNvbHV0aW9uIGlzIGFjdGl2YXRlZCwgYnV0IHlvdSBjYW4gY2hhbmdlIHRoYXQgaW4gdGhlIHNldHRpbmdzIHRhYi48L3A+CgkJCQk8YnIvPjxoND5NYXJjb3MgQ3J1eidzIGRlZmluaXRpb24gc29sdXRpb248L2g0PgoJCQkJCTxwPjxpPlByb3M6PC9pPiBhbGxvd3MgdGhpZ2h0IGN1c3RvbWl6YXRpb24gYW5kIHBhcnRpYWwgdHJhbnNsYXRpb24uPGJyLz4KCQkJCQk8aT5Db25zOjwvaT4gbmVlZCB0byBzcGVjaWZ5IGxhbmd1YWdlIGFsdGVybmF0aXZlcyBmb3IgZWFjaCBwYWdlLCBhbmQgdG8gdXBkYXRlIGl0IGlmIGFuIGFsaWFzIGNoYW5nZXMuPC9wPgoJCQkJCTxwPkFkZCB0aGUgZm9sbG93aW5nIHRhZyBpbiBlYWNoIG9mIHlvdXIgcGFnZSB0ZW1wbGF0ZXMgOjxici8+CgkJCQkJe2NvbnRlbnQgYmxvY2s9J090aGVyIGxhbmd1YWdlcycgb25lbGluZT0ndHJ1ZScgYXNzaWduPW90aGVyX2xhbmd1YWdlcyB3eXNpd3lnPSdmYWxzZSd9PGJyLz4KCQkJCQlUaGlzIHdpbGwgYWRkIGEgY29udGVudCBibG9jayB0byBiZSBmaWxsZWQgd2hlbiB5b3UgZWRpdCB0aGUgcGFnZS4gV2Ugd2lsbCB1c2UgdGhpcyBibG9jayB0byBkZWZpbmUgdGhlIGVxdWl2YWxlbnRzIGluIG90aGVyIGxhbmd1YWdlcyBmb3IgdGhpcyBwYWdlLCBieSBmaWxsaW5nIGl0IGluIHRoZSBmb2xsb3dpbmcgd2F5Ojxici8+CgkJCQkJImVuX1VTPXBhZ2UxO2ZyX0ZSPXBhZ2UyO2RlX0RFPXBhZ2UzIiAod2l0aG91dCB0aGUgcXVvdGVzIC0gdGhlIG9yZGVyIGRvZXMgbm90IG1hdHRlciwgYnV0IG5vIHNwYWNlcyBhcmUgYWxsb3dlZCk8YnIvPgoJCQkJCXdoZXJlIHBhZ2UxLCBwYWdlMiBhbmQgcGFnZTMgYXJlIHRoZSBwYWdlIGFsaWFzZXMuPC9wPgoJCQkJCTxwPlRvIG1ha2Ugc3VyZSB0aGUgbW9kdWxlcyB1c2VzIHRoaXMgbWV0aG9kLCBtYWtlIHN1cmUgdG8gdW50aWNrIHRoZSAiVXNlIGhpZXJhcmNoeSBmb3IgcmVkaXJlY3Rpb24iIG9wdGlvbiBpbiB0aGUgc2V0dGluZ3MgdGFiLjwvcD4KCQkJCTxici8+PGg0PlRoZSBoaWVyYXJjaHkgc29sdXRpb248L2g0PgoJCQkJCTxwPjxpPlByb3M6PC9pPiBpdCdzIGF1dG9tYXRpYyAtIHlvdSBkb24ndCBoYXZlIHRvIGRvIGFueXRoaW5nLjxici8+CgkJCQkJPGk+Q29uczo8L2k+IHRoZSBwYWdlIHN0cnVjdHVyZSBtdXN0IGJlIGlkZW50aWNhbCBmb3IgZWFjaCBsYW5ndWFnZS48L3A+CgkJCQkJPHA+VGhpcyBzb2x1dGlvbiB1c2VzIHRoZSBwYWdlIGhpZXJhcmNoeSB0byBrbm93IHdoaWNoIHBhZ2VzIGFyZSBlcXVpdmFsZW50LiBJbiBvdXIgZXhhbXBsZSBhYm92ZSwgIjIuMy4gUGFnZSAzIiB3b3VsZCBiZSB0aGUgZnJlbmNoIGVxdWl2YWxlbnQgb2YgIjEuMy4gM3JkIHBhZ2UiLCBiZWNhdXNlIGl0IG9jY3VwaWVzIHRoZSBlcXVpdmFsZW50IHBvc2l0aW9uIGluIHRoZSBmcmVuY2ggYnJhbmNoLjxici8+CgkJCQkJSW4gb3RoZXIgd29yZHMsIHNob3VsZCB0aGUgcGFnZSBiZSBvcmRlcmVkIGRpZmZlcmVudGx5LCBhbGwgd291bGQgYmUgbWVzc2VkIHVwOjwvcD4KCQkJCQk8dWw+CgkJCQkJCTxsaT4xLiBFbmdsaXNoPHVsPgoJCQkJCQkJPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMi4gMm5kIHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJCTxsaT4yLiBGcmFuJmNjZWRpbDthaXM8dWw+CgkJCQkJCQk8bGk+Mi4xLiBQYWdlIDE8L2xpPgoJCQkJCQkJPGxpPjIuMi4gUGFnZSAzPC9saT4KCQkJCQkJCTxsaT4yLjMuIFBhZ2UgMjwvbGk+CgkJCQkJCTwvdWw+PC9saT4KCQkJCQk8L3VsPgoJCQkJCTxwPkhlcmUsICJQYWdlIDIiIG9jY3VwaWVzIHRoZSB0aGlyZCBwb3NpdGlvbiwgc28gaXQgd291bGQgYmUgZGVlbWVkIGVxdWl2YWxlbnQgdG8gdGhlIDNyZCBwYWdlIGluIGVuZ2xpc2guPGJyLz4KCQkJCQlUaGlzIGFsc28gbWVhbnMgdGhhdCBpZiBhbGwgcGFnZXMgZG8gbm90IGV4aXN0IGluIGFsbCBsYW5ndWFnZXMsIHlvdSBoYXZlIHRvIGJlIGNhcmVmdWwuIEZvciBleGFtcGxlOjwvcD4KCQkJCQk8dWw+CgkJCQkJCTxsaT4xLiBFbmdsaXNoPHVsPgoJCQkJCQkJPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMi4gMm5kIHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJCTxsaT4yLiBGcmFuJmNjZWRpbDthaXM8dWw+CgkJCQkJCQk8bGk+Mi4xLiBQYWdlIDI8L2xpPgoJCQkJCQkJPGxpPjIuMi4gUGFnZSAzPC9saT4KCQkJCQkJPC91bD48L2xpPgoJCQkJCTwvdWw+CgkJCQkJPHA+SGVyZSwgIjFzdCBwYWdlIiB3b3VsZCBiZSB0YWtlbiB0byBiZSBlcXVpdmFsZW50IHRvICJQYWdlIDIiIGFuZCAiM3JkIHBhZ2UiIHdvdWxkIGJlIGRlZW1lZCB0byBoYXZlIG5vIHRyYWR1Y3Rpb24sIGFsdGhvdWdoIGl0IGRvZXMuPC9wPgoJCQk8YnIvPjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgoJCQkJPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gY3JlYXRlZCBieSBQaWVycmUtTHVjIEdlcm1haW4gKHBsZ2VyKSwgYmFzZWQgb24gYW4gYXBwcm9hY2ggYnkgTWFyY29zIENydXosIGFuZCBpcyByZWxlYXNlZCB1bmRlciB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLjwvcD48YnIvPjxici8+PGgzPlBhcmFtZXRlcnM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbWV0ZXIgaXMgdXNlZCB0byBzcGVjaWZ5IHdoYXQgbGFuZ3VhZ2UgdG8gdXNlIGZvciBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZC4gTm90IGFsbCBtb2R1bGVzIHN1cHBvcnQgb3IgbmVlZCB0aGlzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWN0aW9uPSJkZWZhdWx0IiAtIFBvc3NpYmxlIGFjdGlvbnM6ICJkZWZhdWx0IiAoZm9yIHRyYW5zbGF0aW9ucykgb3IgIm1lbnUiLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2hvdz0iIiAtIEZvciB0aGUgbWVudSBhY3Rpb24sIHRoaXMgcGFyYW1ldGVyIHNwZWNpZmllcyB3aGljaCBsYW5ndWFnZXMgdG8gc2hvdyBpbiB0aGUgbWVudSAodXNlIGxhbmd1YWdlIGNvZGUgYW5kIHNlcGFyYXRlIHdpdGggYSBjb21tYSkuIEZvciB0aGUgZGVmYXVsdCBhY3Rpb24sIHRoaXMgaG9sZHMgdGhlIGtleSB0byB0aGUgc3RyaW5nIHRvIGJlIHRyYW5zbGF0ZWQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiB0ZW1wbGF0ZT0iIiAtIFRlbXBsYXRlIHRvIHVzZSBmb3IgdGhlIG1lbnUuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhc3NpZ249IiIgLSBJbnN0ZWFkIG9mIGRpc3BsYXlpbmcgdGhlIHJlc3VsdCBpbW1lZGlhdGVseSwgeW91IGNhbiBhc3NpZ24gaXQgdG8gYSBzbWFydHkgdmFyaWFibGUgc3BlY2lmaWVkIHdpdGggdGhlICJhc3NpZ24iIHBhcmFtZXRlci48L2xpPjwvdWw+</help>
	<about>PGJyIC8+QXV0aG9yOiBQaWVycmUtTHVjIEdlcm1haW4gKHBsZ2VyKTxiciAvPjxiciAvPlZlcnNpb246IDAuMy4xPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PGJyLz48cHJlPjwvcHJlPjxiciAvPg==</about>
	<description>Manage frontend languages and multilingual behaviors.</description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2JhYmVsIikpIHsJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygiUGVybWlzc2lvbiBkZW5pZWQuIik7IHJldHVybiBmYWxzZTsgfQ0KDQokYWRtaW50aGVtZSA9ICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXTsNCiRhY3RpdmVfdGFiID0gaXNzZXQoJHBhcmFtc1siYWN0aXZlX3RhYiJdKT8kcGFyYW1zWyJhY3RpdmVfdGFiIl06Imxhbmd1YWdlcyI7DQoNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOw0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigibGFuZ3VhZ2VzIiwgJHRoaXMtPkxhbmcoImxhbmd1YWdlcyIpLCAibGFuZ3VhZ2VzIiA9PSAkYWN0aXZlX3RhYiA/IHRydWUgOiBmYWxzZSk7DQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJ0ZW1wbGF0ZXMiLCAkdGhpcy0+TGFuZygidGVtcGxhdGVzIiksICJ0ZW1wbGF0ZXMiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsNCgllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoInNldHRpbmdzIiwgJHRoaXMtPkxhbmcoInNldHRpbmdzIiksICJzZXR0aW5ncyIgPT0gJGFjdGl2ZV90YWIgPyB0cnVlIDogZmFsc2UpOw0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOw0KDQplY2hvICR0aGlzLT5TdGFydFRhYkNvbnRlbnQoKTsNCg0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJsYW5ndWFnZXMiKTsNCg0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFkZG5ldyIsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImVkaXRsYW5nIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJhZGRfbGFuZ3VhZ2UiKSxhcnJheSgiaXNfbmV3Ij0+MSkpKTsNCgkJDQoJCSRpdGVtbGlzdCA9ICR0aGlzLT5hZG1pbl9yZXRyaWV2ZV9sYW5ndWFnZXMoJGlkLCAkcmV0dXJuaWQpOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1saXN0IiwgJGl0ZW1saXN0KTsNCg0KCQkkYWRtaW5zaG93ID0gYXJyYXkoDQoJCQlhcnJheSgkdGhpcy0+TGFuZygibGFuZ2NvZGUiKSwiY29kZWxpbmsiKSwNCgkJCWFycmF5KCR0aGlzLT5MYW5nKCJuYW1lIiksIm5hbWVsaW5rIiksDQoJCQlhcnJheSgkdGhpcy0+TGFuZygiYWN0aXZlIiksInRvZ2dsZWFjdGl2ZSIpLA0KCQkJYXJyYXkoJHRoaXMtPkxhbmcoImlzZGVmYXVsdCIpLCJ0b2dnbGVkZWZhdWx0IiksDQoJCQlhcnJheSgkdGhpcy0+TGFuZygicmVvcmRlciIpLCJtb3ZlbGlua3MiKSwNCgkJCWFycmF5KCR0aGlzLT5MYW5nKCJhY3Rpb25zIiksImFjdGlvbnMiKQkJDQoJCQkpOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFkbWluc2hvdyIsICRhZG1pbnNob3cpOw0KCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImFkbWlucGFuZWwudHBsIik7DQoNCgllY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KDQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoInRlbXBsYXRlcyIpOw0KCQ0KCQlpZihpc3NldCgkcGFyYW1zWyJkZWZhdWx0dGVtcGxhdGUiXSkpCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJkZWZhdWx0dGVtcGxhdGUiLCRwYXJhbXNbImRlZmF1bHR0ZW1wbGF0ZSJdKTsNCgkJZWNobyAiPGZpZWxkc2V0IHN0eWxlPVwid2lkdGg6IDYwMHB4O1wiPjxsZWdlbmQ+PGI+Ii4kdGhpcy0+TGFuZygiZGVmYXVsdHRlbXBsYXRlIikuIjwvYj48L2xlZ2VuZD4iOw0KCQllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiYWN0aXZlX3RhYiIsICJ0ZW1wbGF0ZXMiKTsNCgkJJHRlbXBsYXRlbGlzdCA9ICR0aGlzLT5MaXN0VGVtcGxhdGVzKCR0aGlzLT5HZXROYW1lKCkpOw0KCQkkZGVmdHBsID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImRlZmF1bHR0ZW1wbGF0ZSIpOw0KCQkkdHBsb3B0aW9ucyA9IGFycmF5KCk7DQoJCSRpdGVtbGlzdCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJHRlbXBsYXRlbGlzdCBhcyAkb25ldHBsKXsNCgkJICAgJHRwbG9wdGlvbnNbJG9uZXRwbF0gPSAkb25ldHBsOw0KCQkgICAkdHBsID0gbmV3IHN0ZENsYXNzKCk7DQoJCSAgICR0cGwtPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgImVkaXRUZW1wbGF0ZSIsICRyZXR1cm5pZCwgJG9uZXRwbCwgYXJyYXkoInRwbG5hbWUiPT4kb25ldHBsKSApOw0KCQkgICAkdHBsLT5kZWxldGVsaW5rID0gKCRvbmV0cGwgPT0gJGRlZnRwbCk/IiI6JHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgImRlbGV0ZXRwbCIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYiLCAkdGhpcy0+TGFuZygiZGVsZXRlIiksICIiLCAiIiwgInN5c3RlbWljb24iKSwgYXJyYXkoInRwbG5hbWUiPT4kb25ldHBsKSApOw0KCQkgICBhcnJheV9wdXNoKCRpdGVtbGlzdCwgJHRwbCk7DQoJCX0NCgkJZWNobyAnPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij48cCBjbGFzcz0icGFnZWlucHV0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiZGVmYXVsdHRlbXBsYXRlIiwkdHBsb3B0aW9ucywtMSwkZGVmdHBsKS4iPGJyLz4iLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuJzwvcD48L2Rpdj4NCgkJJzsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCQllY2hvICI8L2ZpZWxkc2V0Pjxici8+PGJyLz4iOw0KCQkNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsICRpdGVtbGlzdCk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRkbmV3IiwgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdFRlbXBsYXRlIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJhZGR0ZW1wbGF0ZSIpKSk7DQoJCSRhZG1pbnNob3cgPSBhcnJheSgJYXJyYXkoJHRoaXMtPkxhbmcoInRlbXBsYXRlIiksICJlZGl0bGluayIpLCBhcnJheSgkdGhpcy0+TGFuZygiYWN0aW9ucyIpLCAiZGVsZXRlbGluayIpCSk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRtaW5zaG93IiwgJGFkbWluc2hvdyk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiYWRtaW5wYW5lbC50cGwiKTsNCgkJDQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCg0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJzZXR0aW5ncyIpOw0KDQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJjaGFuZ2VzZXR0aW5ncyIsICRyZXR1cm5pZCk7DQoNCgkJJG1vZHByZWZzID0gJHRoaXMtPmdldF9tb2RwcmVmcygpOw0KCQlmb3JlYWNoKCRtb2RwcmVmcyBhcyAkb25lcHJlZil7DQoJCQkkdGhlcHJlZiA9ICRvbmVwcmVmWzBdOw0KCQkJZWNobyAnDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJHRoZXByZWYsIHRydWUsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCR0aGVwcmVmLGZhbHNlKSkuIiAiLiR0aGlzLT5MYW5nKCJwcmVmXyIuJHRoZXByZWYpLic8L3A+DQoJPC9kaXY+JzsNCgkJfQ0KCQllY2hvICI8YnIvPjxwPiIuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKS4iPC9wPiI7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgllY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/action.editentries.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkJZXhpdDsKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2JhYmVsIikpewoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygiZXJyb3JfZGVuaWVkIikuJzwvcD4nOwoJcmV0dXJuIGZhbHNlOwp9CmlmKGlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSB8fCAhaXNzZXQoJHBhcmFtc1sibGFuZ2NvZGUiXSkgfHwgISR0aGlzLT5pc19sYW5ndWFnZSgkcGFyYW1zWyJsYW5nY29kZSJdKSkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCkpOwoKJHd5c2l3eWcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgid3lzaXd5ZyIsZmFsc2UpOwoKJGxhbmd1YWdlcyA9ICR0aGlzLT5nZXRsYW5ndWFnZXModHJ1ZSk7CiRsYW5ndWFnZSA9ICRsYW5ndWFnZXNbJHBhcmFtc1sibGFuZ2NvZGUiXV07CgokbmV3ZW50cnkgPSAnPGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyI+Jy4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0ZW50cnkiLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJhZGRfZW50cnkiKSkuJzwvZGl2Pic7CmVjaG8gJG5ld2VudHJ5OwplY2hvICI8aDE+Ii4kbGFuZ3VhZ2VbJ25hbWUnXS4iICgiLiRsYW5ndWFnZVsnbGFuZ2NvZGUnXS4iKTwvaDE+PGJyLz4iOwoKJGRiID0gJHRoaXMtPkdldERiKCk7CiRxdWVyeSA9ICJTRUxFQ1QgbGFuZ2tleXMuc3RyaW5naWQgc3RyaW5naWQsIGxhbmdrZXlzLmNhcHRpb24gY2FwdGlvbiwgbGFuZ2VudHJpZXMudmFsdWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdrZXlzIGxhbmdrZXlzIExFRlQgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdlbnRyaWVzIGxhbmdlbnRyaWVzIE9OIGxhbmdrZXlzLnN0cmluZ2lkID0gbGFuZ2VudHJpZXMuc3RyaW5naWQgV0hFUkUgbGFuZ2VudHJpZXMubGFuZ2NvZGU9PyI7CiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1sibGFuZ2NvZGUiXSkpOwokdmFsdWVzID0gYXJyYXkoKTsKJGNhcHRpb25zID0gYXJyYXkoKTsKd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpewoJJGNhcHRpb25zWyRyb3dbInN0cmluZ2lkIl1dID0gJHJvd1siY2FwdGlvbiJdOwoJJHZhbHVlc1skcm93WyJzdHJpbmdpZCJdXSA9ICRyb3dbInZhbHVlIl07Cn0KCQppZihpc3NldCgkcGFyYW1zWyJzdWJtaXQiXSkgfHwgaXNzZXQoJHBhcmFtc1siYXBwbHkiXSkpCXsKCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdlbnRyaWVzIFdIRVJFIGxhbmdjb2RlPT8iOwoJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1sibGFuZ2NvZGUiXSkpOwoJJHZhbHVlcyA9IGFycmF5KCk7CgkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5nZW50cmllcyBTRVQgbGFuZ2NvZGU9Pywgc3RyaW5naWQ9PywgdmFsdWU9PyI7Cglmb3JlYWNoKCRwYXJhbXMgYXMgJGtleT0+JHZhbHVlKXsKCQlpZigkc3Vic3RyKCRrZXksMCw2KSA9PSAiZW50cnlfIiAmJiAkdmFsdWUgIT0gIiIpewoJCQkkdmFsdWVzWyRzdWJzdHIoJGtleSw2KV0gPSAkdmFsdWU7CgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbImxhbmdjb2RlIl0sIHN1YnN0cigka2V5LDYpLCAkdmFsdWUpKTsKCQl9Cgl9CglpZihpc3NldCgkcGFyYW1zWyJzdWJtaXQiXSkpewoJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCdtb2R1bGVfbWVzc2FnZSc9PiR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpKTsKCX1lbHNlewoJCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpOwoJfQp9CQoKJGJ1dHRvbnMgPSAnPHA+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKS4nICcuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKS4nPC9wPic7CgplY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdGVudHJpZXMiLCAkcmV0dXJuaWQpOwplY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJsYW5nY29kZSIsICRwYXJhbXNbImxhbmdjb2RlIl0pOwppZighJHd5c2l3eWcpCWVjaG8gJwo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+CmZ1bmN0aW9uIGluc3RhbnRfdGFibGVfc2VhcmNoKHdoYXQpewoJdmFyIGRlc3RpbmF0aW9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImJhYmVsX2xhbmd1YWdlX2VudHJpZXMiKTsKCWlmKCFkZXN0aW5hdGlvbikgcmV0dXJuOwoJdmFyIHRoZXJvd3MgPSBkZXN0aW5hdGlvbi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHIiKTsKCWZvcihpPTA7aTx0aGVyb3dzLmxlbmd0aDtpKyspewoJCXZhciB0aGVjb2x1bW4gPSB0aGVyb3dzW2ldLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpWzBdLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIilbMF07CgkJaWYodGhlY29sdW1uICYmIHRoZWNvbHVtbi5pbm5lckhUTUwudG9Mb3dlckNhc2UoKS5pbmRleE9mKHdoYXQudG9Mb3dlckNhc2UoKSkgPj0gMCl7CgkJCXRoZXJvd3NbaV0uc3R5bGUuZGlzcGxheSA9ICJ0YWJsZS1yb3ciOwoJCX1lbHNlewoJCQl0aGVyb3dzW2ldLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7CgkJfQoJfQp9Cjwvc2NyaXB0PgonOwplY2hvICRidXR0b25zOwplY2hvICc8dGFibGUgaWQ9ImJhYmVsX2xhbmd1YWdlX2VudHJpZXMiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4KJzsKaWYoISR3eXNpd3lnKSBlY2hvICcKPHRoZWFkPgoJPHRyPjx0aD4nLiR0aGlzLT5MYW5nKCJzZWFyY2h0aGlzdGFibGUiKS4nPGlucHV0IHR5cGU9InRleHQiIG9ua2V5dXA9Imluc3RhbnRfdGFibGVfc2VhcmNoKHRoaXMudmFsdWUpOyIvPjwvdGg+PHRoPjwvdGg+PC90cj4KPC90aGVhZD4KJzsKZWNobyAnPHRib2R5PgoJJzsKZm9yZWFjaCgkY2FwdGlvbnMgYXMgJGtleT0+JGxhYmVsKXsKCWVjaG8gJzx0cj4KCQk8dGQ+Jy4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0ZW50cnkiLCAkcmV0dXJuaWQsICRsYWJlbCwgYXJyYXkoImVudHJ5a2V5Ij0+JGtleSkpLic8L3RkPgoJCTx0ZD4nLiR0aGlzLT5DcmVhdGVUZXh0QXJlYSgkd3lzaXd5ZywkaWQsKGlzc2V0KCR2YWx1ZXNbJGtleV0pICYmICR2YWx1ZXNbJGtleV0pPyR2YWx1ZXNbJGtleV06IiIsJ2VudHJ5XycuJGtleSkuJzwvdGQ+Cgk8L3RyPgoJJzsKfQplY2hvICcKPC90Ym9keT4KPC90YWJsZT4KJzsKZWNobyAkYnV0dG9uczsKZWNobyAkbmV3ZW50cnk7CmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.editentry.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkJZXhpdDsKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2JhYmVsIikpewoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygiZXJyb3JfZGVuaWVkIikuJzwvcD4nOwoJcmV0dXJuIGZhbHNlOwp9CmlmKGlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCkpOwoKJHd5c2l3eWcgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgid3lzaXd5ZyIsZmFsc2UpOwoKJGRiID0gJHRoaXMtPkdldERiKCk7CgokZW50cnkgPSBpc3NldCgkcGFyYW1zWyJlbnRyeWtleSJdKT8kcGFyYW1zWyJlbnRyeWtleSJdOmZhbHNlOwokY2FwdGlvbiA9IGlzc2V0KCRwYXJhbXNbImNhcHRpb24iXSk/JHBhcmFtc1siY2FwdGlvbiJdOiIiOwokdmFsdWVzID0gYXJyYXkoKTsKCmlmKCRjYXB0aW9uICE9ICIiICYmIChpc3NldCgkcGFyYW1zWyJzdWJtaXQiXSkgfHwgaXNzZXQoJHBhcmFtc1siYXBwbHkiXSkpKXsKCSRjYXB0aW9uID0gJHBhcmFtc1siY2FwdGlvbiJdOwoJaWYoJGVudHJ5KXsKCQkkcXVlcnkgPSAiREVMRVRFIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5nZW50cmllcyBXSEVSRSBzdHJpbmdpZD0/IjsKCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkZW50cnkpKTsKCX1lbHNlewoJCSRlbnRyeSA9ICRkYi0+R2VuSUQoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ2VudHJpZXNfc2VxIik7CgkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ2tleXMgU0VUIHN0cmluZ2lkPT8sIGNhcHRpb249PyI7CgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGVudHJ5LCAkY2FwdGlvbikpOwoJfQoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ2VudHJpZXMgU0VUIHN0cmluZ2lkPT8sIGxhbmdjb2RlPT8sIHZhbHVlPT8iOwoJZm9yZWFjaCgkcGFyYW1zIGFzICRrZXk9PiR2YWx1ZSl7CgkJaWYoc3Vic3RyKCRrZXksMCw2KSA9PSAiZW50cnlfIiAmJiAkdmFsdWUgIT0gIiIpewoJCQkkdmFsdWVzW3N1YnN0cigka2V5LDYpXSA9ICR2YWx1ZTsKCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGVudHJ5LCBzdWJzdHIoJGtleSw2KSwgJHZhbHVlKSk7CgkJfQoJfQoJaWYoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pKXsKCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgnbW9kdWxlX21lc3NhZ2UnPT4kdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKSk7Cgl9ZWxzZXsKCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKTsKCX0KCQp9ZWxzZWlmKCRlbnRyeSl7CgkkcXVlcnkgPSAiU0VMRUNUIHN0cmluZ2lkLCBjYXB0aW9uIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5na2V5cyBXSEVSRSBzdHJpbmdpZD0/IExJTUlUIDEiOwoJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGVudHJ5KSk7CglpZigkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7CgkJJGVudHJ5ID0gJHJvd1sic3RyaW5naWQiXTsKCQkkY2FwdGlvbiA9ICRyb3dbImNhcHRpb24iXTsKCQkkcXVlcnkgPSAiU0VMRUNUIGxhbmdjb2RlLCB2YWx1ZSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ2VudHJpZXMgV0hFUkUgc3RyaW5naWQ9PyI7CgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGVudHJ5KSk7CgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpewoJCQkkdmFsdWVzWyRyb3dbImxhbmdjb2RlIl1dID0gJHJvd1sidmFsdWUiXTsKCQl9Cgl9Cn0KCiRsYW5ndWFnZXMgPSAkdGhpcy0+Z2V0bGFuZ3VhZ2VzKHRydWUpOwoKJGJ1dHRvbnMgPSAnPHA+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKS4nICcuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKS4nPC9wPic7CgplY2hvICI8aDE+Ii4kdGhpcy0+TGFuZygiZW50cnkiKS4iPC9oMT48YnIvPiI7CgplY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdGVudHJ5IiwgJHJldHVybmlkKTsKCmVjaG8gJGJ1dHRvbnM7CgppZigkZW50cnkpewoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygiZW50cnluYW1lIikuJyA6ICcuJGNhcHRpb24uJzwvcD4nOwoJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiZW50cnlrZXkiLCAkZW50cnkpOwoJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiY2FwdGlvbiIsICRjYXB0aW9uKTsKfWVsc2V7CgllY2hvICc8cD4nLiR0aGlzLT5MYW5nKCJlbnRyeW5hbWUiKS4nKiA6ICcuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICJjYXB0aW9uIiwgJHJldHVybmlkLCAiIiwgNjQsIDY0KS4nPC9wPic7Cn0KZWNobyAnPHRhYmxlIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4nOwpmb3JlYWNoKCRsYW5ndWFnZXMgYXMgJGtleT0+JG9uZWxhbmcpewoJZWNobyAnCgk8dHI+CgkJPHRkPicuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdGVudHJpZXMiLCAkcmV0dXJuaWQsICRvbmVsYW5nWyJuYW1lIl0uJyAoJy4ka2V5LicpJywgYXJyYXkoImxhbmdjb2RlIj0+JGtleSkpLic8L3RkPgoJCTx0ZD4nLiR0aGlzLT5DcmVhdGVUZXh0QXJlYSgkd3lzaXd5ZywkaWQsKGlzc2V0KCR2YWx1ZXNbJGtleV0pICYmICR2YWx1ZXNbJGtleV0pPyR2YWx1ZXNbJGtleV06IiIsJ2VudHJ5XycuJGtleSkuJzwvdGQ+Cgk8L3RyPic7Cn0KZWNobyAnCjwvdGJvZHk+CjwvdGFibGU+Cic7CmVjaG8gJGJ1dHRvbnM7CmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsKCj8+CgoK]]></data>
	</file>
	<file>
	  <filename>/action.editlang.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRnQ21zKSkJZXhpdDsKaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2JhYmVsIikpewoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygiZXJyb3JfZGVuaWVkIikuJzwvcD4nOwoJcmV0dXJuIGZhbHNlOwp9CmlmKGlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoKSk7CgokYWRtaW50aGVtZSA9ICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXTsKCiRpc19uZXcgPSBpc3NldCgkcGFyYW1zWyJpc19uZXciXSk/JHBhcmFtc1siaXNfbmV3Il06MDsKCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsKCgovLyBDSEVDSyBJRiBUSEUgRk9STSBJUyBCRUlORyBTVUJNSVRURUQgOgppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IGlzc2V0KCRwYXJhbXNbImFwcGx5Il0pICkJewoKCS8vIFJFVFJJRVZJTkcgVEhFIEZPUk0gVkFMVUVTCglpZighaXNzZXQoJGl0ZW0pKSAkaXRlbSA9IG5ldyBzdGRDbGFzcygpOwoJJGl0ZW0tPmxhbmdjb2RlID0gJHRoaXMtPnBsY3JlYXRlYWxpYXMoKGlzc2V0KCRwYXJhbXNbImxhbmdjb2RlIl0pPyRwYXJhbXNbImxhbmdjb2RlIl06IiIpKTsKCSRpdGVtLT5yb290X2lkID0gaXNzZXQoJHBhcmFtc1sicm9vdF9pZCJdKT8kcGFyYW1zWyJyb290X2lkIl06ZmFsc2U7CgkkaXRlbS0+ZGVmYXVsdF9pZCA9IGlzc2V0KCRwYXJhbXNbImRlZmF1bHRfaWQiXSk/JHBhcmFtc1siZGVmYXVsdF9pZCJdOiIiOwoJJGl0ZW0tPm5hbWUgPSBpc3NldCgkcGFyYW1zWyJuYW1lIl0pPyRwYXJhbXNbIm5hbWUiXToiIjsKCSRpdGVtLT5tZW51X25hbWUgPSBpc3NldCgkcGFyYW1zWyJtZW51X25hbWUiXSk/JHBhcmFtc1sibWVudV9uYW1lIl06IiI7CgkKCWlmKCEkaXRlbS0+cm9vdF9pZCB8fCAkaXRlbS0+bGFuZ2NvZGUgPT0gIiIgfHwgJGl0ZW0tPm5hbWUgPT0gIiIpewoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yX21pc3NnaW52YWx1ZSIpKTsKCX1lbHNlewoJCSMjIyMjIyMjIyMjIyBET0lORyBUSEUgVVBEQVRFCgoKCQkvLyBGSUVMRFMgVE8gVVBEQVRFCgkJJHF1ZXJ5ID0gKCRpc19uZXc/IklOU0VSVCBJTlRPICI6IlVQREFURSAiKS5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXMgU0VUIAoJCQlyb290X2lkPT8sCgkJCWRlZmF1bHRfaWQ9PywKCQkJbmFtZT0/LAoJCQltZW51X25hbWU9PyI7CgkJCQoJCS8vIFZBTFVFUwoJCSR2YWx1ZXMgPSBhcnJheSgkaXRlbS0+cm9vdF9pZCwgJGl0ZW0tPmRlZmF1bHRfaWQsICRpdGVtLT5uYW1lLCAkaXRlbS0+bWVudV9uYW1lLCAkaXRlbS0+bGFuZ2NvZGUpOwoKCQlpZigkaXNfbmV3KXsKCQkJLy8gTkVXIElURU0KCQkJJG5ld19vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygibGFuZ3VhZ2VzIiwibGFuZ2NvZGUiKSArIDE7CgkJCSRxdWVyeSAuPSAiLCBsYW5nY29kZT0/LCBpdGVtX29yZGVyPT8sIGFjdGl2ZT0wIjsKCQkJYXJyYXlfcHVzaCgkdmFsdWVzLCRuZXdfb3JkZXIpOwoJCX1lbHNlewoJCQkvLyBFWElTVElORyBJVEVNCgkJCSRxdWVyeSAuPSAiIFdIRVJFIGxhbmdjb2RlPT8gTElNSVQgMSI7CgkJfQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOwoKCQlpZihteXNxbF9lcnJvcigpKXsKCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsKCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoImVycm9yX2NvdWxkbm90aW5zZXJ0IikpOwoJCX1lbHNlewoJCQkkaXNfbmV3ID0gZmFsc2U7CgkJCWlmKGlzc2V0KCRwYXJhbXNbImFwcGx5Il0pKXsKCQkJCWVjaG8gJHRoaXMtPlNob3dNZXNzYWdlKCR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpOwoJCQl9ZWxzZXsKCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJtb2R1bGVfbWVzc2FnZSIgPT4gJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSkpOwkKCQkJfQoJCX0KCX0KCS8vIEVORCBPRiBGT1JNIFNVQk1JU1NJT04KfWVsc2VpZihpc3NldCgkcGFyYW1zWyJsYW5nY29kZSJdKSl7CgkkaXRlbSA9ICR0aGlzLT5nZXRfbGFuZ3VhZ2VfZGV0YWlscygkcGFyYW1zWyJsYW5nY29kZSJdKTsKfQoKLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUyAqLwokaGlkZGVuID0gIiI7CgovLyBwcmVwYXJlIHJvb3QgcGFnZXMgY29tYm8KJGxhbmd1YWdlcyA9ICR0aGlzLT5nZXRsYW5ndWFnZXMoKTsKJGxhbmd1YWdlc19yb290aWRzID0gYXJyYXkoKTsKJGxhbmd1YWdlc19jb2RlcyA9IGFycmF5KCk7CmZvcmVhY2goJGxhbmd1YWdlcyBhcyAkb25lbGFuZyl7CgkkbGFuZ3VhZ2VzX3Jvb3RpZHNbXSA9ICRvbmVsYW5nWyJyb290X2lkIl07CgkkbGFuZ3VhZ2VzX2NvZGVzW10gPSAkb25lbGFuZ1sibGFuZ2NvZGUiXTsKfQokZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoIlNFTEVDVCBjb250ZW50X2lkLCBjb250ZW50X25hbWUgRlJPTSBgIi5jbXNfZGJfcHJlZml4KCkuImNvbnRlbnRgIFdIRVJFIHBhcmVudF9pZCA8IDEiKTsKJG9wdGlvbnMgPSBhcnJheSgpOwp3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7CglpZighaW5fYXJyYXkoJHJvd1siY29udGVudF9pZCJdLCAkbGFuZ3VhZ2VzX3Jvb3RpZHMpIHx8IChpc3NldCgkaXRlbS0+cm9vdF9pZCkgJiYgJHJvd1siY29udGVudF9pZCJdID09ICRpdGVtLT5yb290X2lkKSkJJG9wdGlvbnNbJHJvd1siY29udGVudF9uYW1lIl1dID0gJHJvd1siY29udGVudF9pZCJdOwp9CiR0aGlzLT5zbWFydHktPmFzc2lnbigicm9vdF9pZF9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwicm9vdF9pZCIsJG9wdGlvbnMsLTEsaXNzZXQoJGl0ZW0pPyRpdGVtLT5yb290X2lkOjApKTsKCi8vIHByZXBhcmUgZGVmYXVsdCBwYWdlcyBjb21ibwokY250b3BlcmF0aW9ucyA9ICRnQ21zLT5nZXRDb250ZW50T3BlcmF0aW9ucygpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oImRlZmF1bHRfaWRfaW5wdXQiLCAkY250b3BlcmF0aW9ucy0+Q3JlYXRlSGllcmFyY2h5RHJvcGRvd24oIiIsaXNzZXQoJGl0ZW0tPmRlZmF1bHRfaWQpPyRpdGVtLT5kZWZhdWx0X2lkOiItMSIsJGlkLiJkZWZhdWx0X2lkIikpOwoKaWYoJGlzX25ldyl7CglnbG9iYWwgJG5sczsKCSRwb3NzaWJsZWxhbmdzID0gYXJyYXkoIi0iPT4iLyIpOwoJYXNvcnQoJG5sc1sibGFuZ3VhZ2UiXSk7Cglmb3JlYWNoICgkbmxzWyJsYW5ndWFnZSJdIGFzICRrZXk9PiR2YWwpIHsKCQlpZighaW5fYXJyYXkoJGtleSwkbGFuZ3VhZ2VzX2NvZGVzKSkJJHBvc3NpYmxlbGFuZ3NbJGtleS4iICgiLiR2YWwuKGlzc2V0KCRubHNbImVuZ2xpc2hsYW5nIl1bJGtleV0pPyIgLyAiLiRubHNbImVuZ2xpc2hsYW5nIl1bJGtleV06IiIpLiIpIl0gPSAka2V5LicvJy4kdmFsOwoJfQoJJGxhbmdzZWxlY3QgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImxhbmdzZWxlY3QiLCRwb3NzaWJsZWxhbmdzKTsKCSRsYW5nY29kZV9pbnB1dCA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJpc19uZXciLCAxKS4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwibGFuZ2NvZGUiLCIiLDE1LDUpOwp9ZWxzZXsKCSRsYW5nY29kZV9pbnB1dCA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJpc19uZXciLCAwKS4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAibGFuZ2NvZGUiLCAkaXRlbS0+bGFuZ2NvZGUpLiRpdGVtLT5sYW5nY29kZTsKCSRsYW5nc2VsZWN0ID0gZmFsc2U7Cn0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsYW5nc2VsZWN0IiwgJGxhbmdzZWxlY3QpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhbmdjb2RlX2lucHV0IiwgJGxhbmdjb2RlX2lucHV0KTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJuYW1lIixpc3NldCgkaXRlbSk/JGl0ZW0tPm5hbWU6IiIsNTAsNjQpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJtZW51X25hbWVfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwibWVudV9uYW1lIixpc3NldCgkaXRlbSk/JGl0ZW0tPm1lbnVfbmFtZToiIiw1MCw2NCkpOwoKLy8gcHJlcGFyaW5nIGxhYmVscwokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygibmFtZSIpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJtZW51X25hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygibWVudV9uYW1lIikpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oInJvb3RfaWRfbGFiZWwiLCAkdGhpcy0+TGFuZygicm9vdF9pZCIpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZWZhdWx0X2lkX2xhYmVsIiwgJHRoaXMtPkxhbmcoImRlZmF1bHRfaWQiKSk7CiR0aGlzLT5zbWFydHktPmFzc2lnbigibGFuZ2NvZGVfbGFiZWwiLCAkdGhpcy0+TGFuZygibGFuZ2NvZGVfcHJvbXB0IikpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhbmdzZWxlY3RfbGFiZWwiLCAkdGhpcy0+TGFuZygibGFuZ3NlbGVjdCIpKTsKJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwbGlkIiwgJGlkKTsKCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZWRpdHRpdGxlIiwgJGlzX25ldz8kdGhpcy0+TGFuZygiYWRkX2xhbmd1YWdlIik6JHRoaXMtPkxhbmcoImVkaXRfbGFuZ3VhZ2UiKSk7CgokdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkpOwokdGhpcy0+c21hcnR5LT5hc3NpZ24oImFwcGx5IiwgKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKT8kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKToiIik7CiR0aGlzLT5zbWFydHktPmFzc2lnbigiY2FuY2VsIiwgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKSk7CgoKLy8gRElTUExBWUlORwplY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdGxhbmciLCAkcmV0dXJuaWQpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImVkaXRsYW5nLnRwbCIpOwplY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7Cgo/Pgo=]]></data>
	</file>
	<file>
	  <filename>/action.editTemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CgppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInPT4ndGVtcGxhdGVzJykgKTsKCiR0cGxjb250ZW50ID0gJyc7CmlmKCAoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSApICYmIGlzc2V0KCRwYXJhbXNbJ3RwbG5hbWUnXSkgKXsKCSR0cGxjb250ZW50ID0gJHBhcmFtc1sndHBsY29udGVudCddOwoJaWYoJHBhcmFtc1sndHBsbmFtZSddICE9ICcnKXsKCQlpZihpc3NldCgkcGFyYW1zWydpc25ldyddKSkJJHBhcmFtc1sndHBsbmFtZSddID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkcGFyYW1zWyd0cGxuYW1lJ10sIGZhbHNlKTsKCQlpZigkdGhpcy0+U2V0VGVtcGxhdGUoJHBhcmFtc1sndHBsbmFtZSddLCRwYXJhbXNbJ3RwbGNvbnRlbnQnXSwkdGhpcy0+R2V0TmFtZSgpKSk7CgkJaWYoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKXsKCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpLCAnYWN0aXZlX3RhYic9Pid0ZW1wbGF0ZXMnKSApOwoJCX1lbHNlewoJCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKTsKCQl9Cgl9ZWxzZXsKCQllY2hvICc8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPicuJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NnaW52YWx1ZScpLic8L2Rpdj4nOwoJfQp9ZWxzZWlmKCBpc3NldCgkcGFyYW1zWyd0cGxuYW1lJ10pICl7CgkkdHBsY29udGVudCA9ICR0aGlzLT5HZXRUZW1wbGF0ZSggJHBhcmFtc1sndHBsbmFtZSddLCAkdGhpcy0+R2V0TmFtZSgpICk7Cn0KCmVjaG8gJzxoMT4nLiR0aGlzLT5MYW5nKCJlZGl0dGVtcGxhdGUiKS4nPC9oMT4nOwplY2hvICc8ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij4nLiR0aGlzLT5MYW5nKCJ0ZW1wbGF0ZWhlbHAiKS4nPC9kaXY+JzsKZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRUZW1wbGF0ZSIsICRyZXR1cm5pZCk7CmVjaG8gJwk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgoJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+TGFuZygnbmFtZScpLicgOjwvcD4KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij4nOwppZihpc3NldCgkcGFyYW1zWyd0cGxuYW1lJ10pICYmICRwYXJhbXNbJ3RwbG5hbWUnXSAhPSAnJyl7CgllY2hvICRwYXJhbXNbJ3RwbG5hbWUnXS4kdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAidHBsbmFtZSIsICRwYXJhbXNbJ3RwbG5hbWUnXSk7Cn1lbHNlewoJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwndHBsbmFtZScsJycsMzAsNjQpOwp9CmVjaG8gJzwvcD4KCTwvZGl2PgonOwplY2hvICcJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KCQk8cCBjbGFzcz0icGFnZXRleHQiPicuJHRoaXMtPkxhbmcoJ3RlbXBsYXRlJykuJyA6PC9wPgoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPicuJHRoaXMtPkNyZWF0ZVRleHRBcmVhKGZhbHNlLCRpZCwkdHBsY29udGVudCwndHBsY29udGVudCcpLic8L3A+Cgk8L2Rpdj4KJzsKZWNobyAnPHA+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKS4nICcuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKS4nPC9wPic7CmlmKCFpc3NldCgkcGFyYW1zWyJ0cGxuYW1lIl0pIHx8ICRwYXJhbXNbInRwbG5hbWUiXSA9PSAnJykJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiaXNuZXciLCAxKTsKZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.menu.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYgKCFpc3NldCgkZ0NtcykpIGV4aXQ7CmlmKCEkdGhpcy0+Y3VycmVudF9sYW5nY29kZSkJJHRoaXMtPmFzc2lnbl9wYWdlX2xhbmcoKTsKaWYoISR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKQlyZXR1cm4gZmFsc2U7CiRjdXJyZW50X2xhbmd1YWdlID0gJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGU7Cgokc2hvd24gPSAoaXNzZXQoJHBhcmFtc1sic2hvdyJdKSAmJiAkcGFyYW1zWyJzaG93Il0gIT0gIiIpP2V4cGxvZGUoIiwiLCRwYXJhbXNbInNob3ciXSk6ZmFsc2U7CgokdXNlX2Nvb2tpZXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY29va2llc19hdXRvcmVkaXJlY3RfYWxsIiwgZmFsc2UpIHx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjb29raWVzX2F1dG9yZWRpcmVjdF9ob21lIixmYWxzZSk7CiRkZWZhdWx0X2hpZGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGVmYXVsdF9oaWRlIiwgZmFsc2UpOwokdXNlX3BhZ2VfdGl0bGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidXNlX3BhZ2VfdGl0bGUiLGZhbHNlKTsKCiRsYW5ndWFnZXMgPSAkdGhpcy0+Z2V0bGFuZ3VhZ2VzKCk7CgokbGlua3MgPSAkdGhpcy0+Z2V0X3VybHMoKTsKCiRpdGVtbGlzdCA9IGFycmF5KCk7CiRzaG93X2N1cnJlbnQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiY3VycmVudF9saW5rIixmYWxzZSk7Cgpmb3JlYWNoKCRsYW5ndWFnZXMgYXMgJGxhbmd1YWdlKXsKCWlmKCghJHNob3duIHx8IGluX2FycmF5KCRsYW5ndWFnZS0+bGFuZ2NvZGUsICRzaG93bikpICYmICgkc2hvd19jdXJyZW50IHx8ICRsYW5ndWFnZVsnbGFuZ2NvZGUnXSAhPSAkY3VycmVudF9sYW5ndWFnZSkpewoJCSRpdGVtID0gbmV3IFN0ZENsYXNzKCk7CgkJJGl0ZW0tPmNvZGUgPSAkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ107CgkJJGl0ZW0tPm5hbWUgPSAkbGFuZ3VhZ2VbJ25hbWUnXTsKCQkkaXRlbS0+bWVudV9uYW1lID0gJGxhbmd1YWdlWydtZW51X25hbWUnXTsKCQkkaXRlbS0+aXNfY3VycmVudCA9ICgkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ10gPT0gJGN1cnJlbnRfbGFuZ3VhZ2UpOwoJCSRpdGVtLT5wYWdlX21lbnVfdGV4dCA9IGlzc2V0KCRsaW5rc1skaXRlbS0+Y29kZV0pPyRsaW5rc1skaXRlbS0+Y29kZV1bJ21lbnVfdGV4dCddOiIiOwoJCSRpdGVtLT5wYWdlX25hbWUgPSBpc3NldCgkbGlua3NbJGl0ZW0tPmNvZGVdKT8kbGlua3NbJGl0ZW0tPmNvZGVdWyduYW1lJ106IiI7CgkJJGl0ZW0tPnVybCA9IChpc3NldCgkbGlua3NbJGl0ZW0tPmNvZGVdKSAmJiAkbGlua3NbJGl0ZW0tPmNvZGVdKT8kbGlua3NbJGl0ZW0tPmNvZGVdWyd1cmwnXTpmYWxzZTsKCQlpZigkaXRlbS0+dXJsICYmICR1c2VfY29va2llcykJCSRpdGVtLT51cmwgPSAkZ0Ntcy0+Y29uZmlnWydyb290X3VybCddLicvbW9kdWxlcy9iYWJlbC9yZWRpcmVjdC5waHA/bmV3bGFuZz0nLiRpdGVtLT5jb2RlLicmbmV3dXJsPScuJGl0ZW0tPnVybDsKCgkJaWYoJGl0ZW0tPnVybCB8fCAhJGRlZmF1bHRfaGlkZSB8fCAkaXRlbS0+aXNfY3VycmVudCkJYXJyYXlfcHVzaCgkaXRlbWxpc3QsICRpdGVtKTsKCX0KfQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhbmd1YWdlcyIsICRpdGVtbGlzdCk7CgppZiAoaXNzZXQoJHBhcmFtc1sidGVtcGxhdGUiXSkgJiYgKCR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyJ0ZW1wbGF0ZSJdKSkpewoJZWNobyAkdGhpcy0+c21hcnR5LT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOwkKfWVsc2V7CgkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGVmYXVsdHRlbXBsYXRlIixmYWxzZSk7CglpZigkdGVtcGxhdGUpCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkdGVtcGxhdGUpOwkKfQoKPz4K]]></data>
	</file>
	<file>
	  <filename>/action.movesomething.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQokbmV3cGFyYW1zID0gaXNzZXQoJHBhcmFtc1sibGV2ZWxuYW1lIl0pP2FycmF5KCJhY3RpdmVfdGFiIj0+JHBhcmFtc1sibGV2ZWxuYW1lIl0pOmFycmF5KCk7DQoNCmlmICghaXNzZXQoJHBhcmFtc1sibW92ZSJdKSB8fCAhaXNzZXQoJHBhcmFtc1sibGFuZ2NvZGUiXSkgfHwgIWlzc2V0KCRwYXJhbXNbImN1cnJlbnRvcmRlciJdKSApDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KJGRidGFibGUgPSBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9sYW5ndWFnZXMiOw0KJGN1cnJlbnRvcmRlciA9ICRwYXJhbXNbImN1cnJlbnRvcmRlciJdOw0KJGxhbmdjb2RlID0gJHBhcmFtc1sibGFuZ2NvZGUiXTsNCg0Kc3dpdGNoKCRwYXJhbXNbIm1vdmUiXSl7DQoJDQoJY2FzZSAiZGVsZXRlIjoNCgkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfbGFuZ2VudHJpZXMgV0hFUkUgbGFuZ2NvZGU9PyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRsYW5nY29kZSkpOw0KCQkkcXVlcnkgPSAiREVMRVRFIEZST00gJGRidGFibGUgV0hFUkUgbGFuZ2NvZGUgPSA/IExJTUlUIDEiOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbGFuZ2NvZGUpKTsNCg0KCQkvLyBVUERBVEUgVEhFIE9SREVSIE9GIFRIRSBJVEVNUw0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGl0ZW1fb3JkZXIgPiA/ICI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50b3JkZXIpKTsNCgkJDQoJCSRuZXdwYXJhbXNbIm1vZHVsZV9tZXNzYWdlIl0gPSAkdGhpcy0+bGFuZygibWVzc2FnZV9kZWxldGVkIik7DQoJCWJyZWFrOwkNCg0KCWNhc2UgInVwIjoNCgkJaWYgKCRjdXJyZW50b3JkZXIgIT0gMSl7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIGl0ZW1fb3JkZXIgPSA/IExJTUlUIDE7IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50b3JkZXItMSkpOw0KCQkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBsYW5nY29kZSA9ID8gTElNSVQgMTsiOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGxhbmdjb2RlKSk7DQoJCX0NCgkJYnJlYWs7DQoJCQ0KCWNhc2UgImRvd24iOg0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGl0ZW1fb3JkZXIgPSA/IExJTUlUIDE7IjsNCgkJaWYoICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRjdXJyZW50b3JkZXIrMSkpICl7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIGxhbmdjb2RlID0gPyBMSU1JVCAxOyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbGFuZ2NvZGUpKTsNCgkJfQ0KCQlicmVhazsNCn0NCg0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCk7DQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/babel.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogQmFiZWw6IE11bHRpbGluZ3VhbCBzaXRlDQojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KIyBDTVMgLSBDTVMgTWFkZSBTaW1wbGUgaXMgKGMpIDIwMDggYnkgVGVkIEt1bHAgKHdpc2h5QGNtc21hZGVzaW1wbGUub3JnKQ0KIyBUaGlzIHByb2plY3QicyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZw0KIw0KIyBUaGlzIG1vZHVsZSB3YXMgY3JlYXRlZCB3aXRoIENUTE1vZHVsZU1ha2VyIDEuOC44LjINCiMgQ1RMTW9kdWxlTWFrZXIgd2FzIGNyZWF0ZWQgYnkgUGllcnJlLUx1YyBHZXJtYWluIGFuZCBpcyByZWxlYXNlZCB1bmRlciBHTlUNCiMgaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9jdGxtb2R1bGVtYWtlcg0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCiMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkNCiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCiMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4NCiMNCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQojIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQojIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUNCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCiMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCiMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUNCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCiMgT3IgcmVhZCBpdCBvbmxpbmU6IGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9saWNlbnNlcy5odG1sI0dQTA0KIw0KIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KY2xhc3MgYmFiZWwgZXh0ZW5kcyBDTVNNb2R1bGUNCnsNCgl2YXIgJGF2YWlsYWJsZV9sYW5ndWFnZXMgPSBmYWxzZTsNCgl2YXIgJGFsbF9sYW5ndWFnZXMgPSBmYWxzZTsNCgl2YXIgJGN1cnJlbnRfbGFuZ3VhZ2UgPSBmYWxzZTsNCgl2YXIgJGN1cnJlbnRfbGFuZ2NvZGUgPSBmYWxzZTsNCgl2YXIgJGN1cnJlbnRfbGFuZ2VudHJpZXMgPSBmYWxzZTsNCg0KCWZ1bmN0aW9uIEdldE5hbWUoKQ0KCXsNCgkJcmV0dXJuICJiYWJlbCI7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXRGcmllbmRseU5hbWUoKQ0KCSAgIFRoaXMgY2FuIHJldHVybiBhbnkgc3RyaW5nLCBwcmVmZXJhYmx5IGEgbG9jYWxpemVkIG5hbWUNCgkgICBvZiB0aGUgbW9kdWxlLiBUaGlzIGlzIHRoZSBuYW1lIHRoYXQicyBzaG93biBpbiB0aGUNCgkgICBBZG1pbiBNZW51cyBhbmQgc2VjdGlvbiBwYWdlcyAoaWYgdGhlIG1vZHVsZSBoYXMgYW4gYWRtaW4NCgkgICBjb21wb25lbnQpLg0KCSAgIA0KCSAgIFNlZSB0aGUgbm90ZSBvbiBsb2NhbGl6YXRpb24gYXQgdGhlIHRvcCBvZiB0aGlzIGZpbGUuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldEZyaWVuZGx5TmFtZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoImZyaWVuZGx5bmFtZSIpOw0KCX0NCgkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldFZlcnNpb24oKQ0KCSAgIFRoaXMgY2FuIHJldHVybiBhbnkgc3RyaW5nLCBwcmVmZXJhYmx5IGEgbnVtYmVyIG9yDQoJICAgc29tZXRoaW5nIHRoYXQgbWFrZXMgc2Vuc2UgZm9yIGRlc2lnbmF0aW5nIGEgdmVyc2lvbi4NCgkgICBUaGUgQ01TIHdpbGwgdXNlIHRoaXMgdG8gaWRlbnRpZnkgd2hldGhlciBvciBub3QNCgkgICB0aGUgaW5zdGFsbGVkIHZlcnNpb24gb2YgdGhlIG1vZHVsZSBpcyBjdXJyZW50LCBhbmQNCgkgICB0aGUgbW9kdWxlIHdpbGwgdXNlIGl0IHRvIGZpZ3VyZSBvdXQgaG93IHRvIHVwZ3JhZGUNCgkgICBpdHNlbGYgaWYgcmVxdWVzdGVkLgkgICANCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0VmVyc2lvbigpDQoJew0KCQlyZXR1cm4gIjAuMy4xIjsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0RGVwZW5kZW5jaWVzKCkNCgkgICBZb3VyIG1vZHVsZSBtYXkgbmVlZCBhbm90aGVyIG1vZHVsZSB0byBhbHJlYWR5IGJlIGluc3RhbGxlZA0KCSAgIGJlZm9yZSB5b3UgY2FuIGluc3RhbGwgaXQuDQoJICAgVGhpcyBtZXRob2QgcmV0dXJucyBhIGxpc3Qgb2YgdGhvc2UgZGVwZW5kZW5jaWVzIGFuZA0KCSAgIG1pbmltdW0gdmVyc2lvbiBudW1iZXJzIHRoYXQgdGhpcyBtb2R1bGUgcmVxdWlyZXMuDQoJICAgDQoJICAgSXQgc2hvdWxkIHJldHVybiBhbiBoYXNoLCBlZy4NCgkgICByZXR1cm4gYXJyYXkoInNvbWVtb2R1bGUiPT4iMS4wIiwgIm90aGVybW9kdWxlIj0+IjEuMSIpOw0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKQ0KCXsNCgkJcmV0dXJuIGFycmF5KCk7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXRIZWxwKCkNCgkgICBUaGlzIHJldHVybnMgSFRNTCBpbmZvcm1hdGlvbiBvbiB0aGUgbW9kdWxlLg0KCSAgIFR5cGljYWxseSwgeW91ImxsIHdhbnQgdG8gaW5jbHVkZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8NCgkgICB1c2UgdGhlIG1vZHVsZS4NCgkgICANCgkgICBTZWUgdGhlIG5vdGUgb24gbG9jYWxpemF0aW9uIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRIZWxwKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygiaGVscCIpOw0KCX0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0QXV0aG9yKCkNCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQ0KCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRBdXRob3IoKQ0KCXsNCgkJcmV0dXJuICJQaWVycmUtTHVjIEdlcm1haW4gKHBsZ2VyKSI7DQoJfQ0KDQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldEF1dGhvckVtYWlsKCkNCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQ0KCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLiBJdCBoZWxwcyB1c2Vycw0KCSAgIG9mIHlvdXIgbW9kdWxlIGdldCBpbiB0b3VjaCB3aXRoIHlvdSB0byBzZW5kIGJ1ZyByZXBvcnRzLA0KCSAgIHF1ZXN0aW9ucywgY2FzZXMgb2YgYmVlciwgYW5kL29yIGxhcmdlIHN1bXMgb2YgbW9uZXkuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkNCgl7DQoJCXJldHVybiAiIjsNCgl9DQoNCiAgICBmdW5jdGlvbiBHZXRDaGFuZ2VMb2coKQ0KICAgIHsNCgkJJGZpbGVwYXRoID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4iY2hhbmdlbG9nLnR4dCI7DQoJCWlmKGZpbGVfZXhpc3RzKCRmaWxlcGF0aCkpew0KCQkJJGZoYW5kbGUgPSBmb3BlbigkZmlsZXBhdGgsICdyKycpOw0KCQkJJGNvbnRlbnQgPSBmcmVhZCgkZmhhbmRsZSwgZmlsZXNpemUoJGZpbGVwYXRoKSk7DQoJCQlyZXR1cm4gJzxici8+PHByZT4nLiRjb250ZW50Lic8L3ByZT4nOw0KCQl9ZWxzZXsNCgkJCXJldHVybiAiIjsNCgkJfQ0KICAgIH0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgSXNQbHVnaW5Nb2R1bGUoKQ0KCSAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlIG9yIGZhbHNlLCBkZXBlbmRpbmcgdXBvbg0KCSAgIHdoZXRoZXIgdXNlcnMgY2FuIGluY2x1ZGUgdGhlIG1vZHVsZSBpbiBhIHBhZ2Ugb3INCgkgICB0ZW1wbGF0ZSB1c2luZyBhIHNtYXJ0eSB0YWcgb2YgdGhlIGZvcm0NCgkgICB7Y21zX21vZHVsZSBtb2R1bGU9IlByb2QiIHBhcmFtMT12YWwgcGFyYW0yPXZhbC4uLn0NCgkgICANCgkgICBJZiB5b3VyIG1vZHVsZSBkb2VzIG5vdCBnZXQgaW5jbHVkZWQgaW4gcGFnZXMgb3INCgkgICB0ZW1wbGF0ZXMsIHJldHVybiAiZmFsc2UiIGhlcmUuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkNCgl7DQoJCXJldHVybiB0cnVlOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBIYXNBZG1pbigpDQoJICAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgYm9vbGVhbiB2YWx1ZSwgZGVwZW5kaW5nIG9uDQoJICAgd2hldGhlciB5b3VyIG1vZHVsZSBhZGRzIGFueXRoaW5nIHRvIHRoZSBBZG1pbiBhcmVhIG9mDQoJICAgdGhlIHNpdGUuIEZvciB0aGUgcmVzdCBvZiB0aGVzZSBjb21tZW50cywgSSJsbCBiZSBjYWxsaW5nDQoJICAgdGhlIGFkbWluIHBhcnQgb2YgeW91ciBtb2R1bGUgdGhlICJBZG1pbiBQYW5lbCIgZm9yDQoJICAgd2FudCBvZiBhIGJldHRlciB0ZXJtLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBIYXNBZG1pbigpIHsJcmV0dXJuIHRydWU7CX0NCglmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7cmV0dXJuICJleHRlbnNpb25zIjt9DQoJZnVuY3Rpb24gR2V0QWRtaW5EZXNjcmlwdGlvbigpIHtyZXR1cm4gJHRoaXMtPkxhbmcoImFkbWluZGVzY3JpcHRpb24iKTt9DQoNCglmdW5jdGlvbiBWaXNpYmxlVG9BZG1pblVzZXIoKXsNCgkJcmV0dXJuICR0aGlzLT5DaGVja1Blcm1pc3Npb24oImFkbWluX2JhYmVsIik7DQoJfQ0KCQkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIFNldFBhcmFtZXRlcnMoKQ0KCSAgIFRoaXMgZnVuY3Rpb24gZW5hYmxlcyB5b3UgdG8gY3JlYXRlIG1hcHBpbmdzIGZvcg0KCSAgIHlvdXIgbW9kdWxlIHdoZW4gdXNpbmcgIlByZXR0eSBVcmxzIi4NCgkgICANCgkgICBUeXBpY2FsbHksIG1vZHVsZXMgY3JlYXRlIGludGVybmFsIGxpbmtzIHRoYXQgaGF2ZQ0KCSAgIGJpZyB1Z2x5IHN0cmluZ3MgYWxvbmcgdGhlIGxpbmVzIG9mOg0KCSAgIGluZGV4LnBocD9tYWN0PU1vZE5hbWUsY250bnQwMSxhY3Rpb25OYW1lLDAmY250bnQwMXBhcmFtMT0xJmNudG50MDFwYXJhbTI9MiZjbnRudDAxcmV0dXJuaWQ9Mw0KCSAgIA0KCSAgIFlvdSBtaWdodCBwcmVmZXIgdGhlc2UgdG8gbG9vayBsaWtlOg0KCSAgIC9Nb2R1bGVGdW5jdGlvbi8yLzMNCgkgICANCgkgICBUbyBkbyB0aGlzLCB5b3UgaGF2ZSB0byByZWdpc3RlciByb3V0ZXMgYW5kIG1hcA0KCSAgIHlvdXIgcGFyYW1ldGVycyBpbiBhIHdheSB0aGF0IHRoZSBBUEkgd2lsbCBiZSBhYmxlDQoJICAgdG8gdW5kZXJzdGFuZC4NCg0KCSAgIEFsc28gbm90ZSB0aGF0IGFueSBjYWxscyB0byBDcmVhdGVMaW5rIHdpbGwgbmVlZCB0bw0KCSAgIGJlIHVwZGF0ZWQgdG8gcGFzcyB0aGUgcHJldHR5IHVybCBwYXJhbWV0ZXIuDQoJICAgDQoJICAgU2luY2UgdGhlIFNrZWxldG9uIGRvZXNuInQgcmVhbGx5IGNyZWF0ZSBhbnkgbGlua3MsDQoJICAgdGhlIHNlY3Rpb24gYmVsb3cgaXMgY29tbWVudGVkIG91dCwgYnV0IHlvdSBjYW4NCgkgICB1c2UgaXQgdG8gZmlndXJlIG91dCBwcmV0dHkgdXJscy4NCgkgICANCgkgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKQ0KCXsNCgkJJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7DQoJCSR0aGlzLT5SZWdpc3RlckV2ZW50cygpOw0KCQkkdGhpcy0+UmVzdHJpY3RVbmtub3duUGFyYW1zKCk7DQoJCQ0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJhY3Rpb24iLCAiZGVmYXVsdCIsICR0aGlzLT5MYW5nKCJwaGVscF9hY3Rpb24iKSk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoInNob3ciLCAiIiwgJHRoaXMtPkxhbmcoInBoZWxwX3Nob3ciKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJzaG93IixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJ0ZW1wbGF0ZSIsICIiLCAkdGhpcy0+TGFuZygicGhlbHBfdGVtcGxhdGUiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJ0ZW1wbGF0ZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiYXNzaWduIiwgIiIsICR0aGlzLT5MYW5nKCJwaGVscF9hc3NpZ24iKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJhc3NpZ24iLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJuZXdsYW5nIixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgibmV3dXJsIixDTEVBTl9TVFJJTkcpOw0KCX0NCgkNCglmdW5jdGlvbiBIYW5kbGVzRXZlbnRzKCl7DQoJCXJldHVybiB0cnVlOw0KCX0NCglmdW5jdGlvbiBSZWdpc3RlckV2ZW50cygpew0KCQkkdGhpcy0+QWRkRXZlbnRIYW5kbGVyKCAnQ29yZScsICdDb250ZW50UHJlQ29tcGlsZScsIGZhbHNlICk7DQoJfQ0KCWZ1bmN0aW9uIERvRXZlbnQoJG9yaWdpbmF0b3IsICRldmVudG5hbWUsICYkcGFyYW1zKXsNCgkJaWYoJGV2ZW50bmFtZSA9PSAnQ29udGVudFByZUNvbXBpbGUnKXsNCgkJCSR0aGlzLT5hc3NpZ25fcGFnZV9sYW5nKCk7DQoJCQkkdGhpcy0+YXV0b19yZWRpcmVjdCgpOw0KCQl9DQoJfQ0KCWZ1bmN0aW9uIEluc3RhbGxQb3N0TWVzc2FnZSgpDQoJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoInBvc3RpbnN0YWxsIik7DQoJfQ0KCWZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygicG9zdHVuaW5zdGFsbCIpOw0KCX0NCglmdW5jdGlvbiBVbmluc3RhbGxQcmVNZXNzYWdlKCkNCgl7DQoJCXJldHVybiAkdGhpcy0+TGFuZygicmVhbGx5X3VuaW5zdGFsbCIpOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBJbnN0YWxsKCkNCgkgICBXaGVuIHlvdXIgbW9kdWxlIGlzIGluc3RhbGxlZCwgeW91IG1heSBuZWVkIHRvIGRvIHNvbWUNCgkgICBzZXR1cC4gVHlwaWNhbCB0aGluZ3MgdGhhdCBoYXBwZW4gaGVyZSBhcmUgdGhlIGNyZWF0aW9uDQoJICAgYW5kIHByZXBvcHVsYXRpb24gb2YgZGF0YWJhc2UgdGFibGVzLCBkYXRhYmFzZSBzZXF1ZW5jZXMsDQoJICAgcGVybWlzc2lvbnMsIHByZWZlcmVuY2VzLCBldGMuDQoJICAgCSAgIA0KCSAgIEZvciBpbmZvcm1hdGlvbiBvbiB0aGUgY3JlYXRpb24gb2YgZGF0YWJhc2UgdGFibGVzLA0KCSAgIGNoZWNrIG91dCB0aGUgQURPREIgRGF0YSBEaWN0aW9uYXJ5IHBhZ2UgYXQNCgkgICBodHRwOi8vcGhwbGVucy5jb20vbGVucy9hZG9kYi9kb2NzLWRhdGFkaWN0Lmh0bQ0KCSAgIA0KCSAgIFRoaXMgZnVuY3Rpb24gY2FuIHJldHVybiBhIHN0cmluZyBpbiBjYXNlIG9mIGFueSBlcnJvciwNCgkgICBhbmQgQ01TIHdpbGwgbm90IGNvbnNpZGVyIHRoZSBtb2R1bGUgaW5zdGFsbGVkLg0KCSAgIFN1Y2Nlc3NmdWwgaW5zdGFsbHMgc2hvdWxkIHJldHVybiBGQUxTRSBvciBub3RoaW5nIGF0IGFsbC4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gSW5zdGFsbCgpDQoJew0KCQlnbG9iYWwgJGdDbXM7DQoJCXJlcXVpcmUgIm1ldGhvZC5pbnN0YWxsLnBocCI7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBVbmluc3RhbGwoKQ0KCSAgIFNvbWV0aW1lcywgYW4gZXhjZXB0aW9uYWxseSB1bmVubGlnaHRlbmVkIG9yIGlnbm9yYW50DQoJICAgYWRtaW4gd2lsbCB3aXNoIHRvIHVuaW5zdGFsbCB5b3VyIG1vZHVsZS4gV2hpbGUgaXQNCgkgICB3b3VsZCBiZSBiZXN0IHRvIGxheSBpbnRvIHRoZXNlIGlkaW90cyB3aXRoIGEgY2x1ZXN0aWNrLA0KCSAgIHdlIHdpbGwgZG8gdGhlIG1hZ25hbmltb3VzIHRoaW5nIGFuZCByZW1vdmUgdGhlIG1vZHVsZQ0KCSAgIGFuZCBjbGVhbiB1cCB0aGUgZGF0YWJhc2UsIHBlcm1pc3Npb25zLCBhbmQgcHJlZmVyZW5jZXMNCgkgICB0aGF0IGFyZSBzcGVjaWZpYyB0byBpdC4NCgkgICBUaGlzIGlzIHRoZSBtZXRob2Qgd2hlcmUgd2UgZG8gdGhpcy4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gVW5pbnN0YWxsKCkNCgl7DQoJCWdsb2JhbCAkZ0NtczsNCgkJcmVxdWlyZSAibWV0aG9kLnVuaW5zdGFsbC5waHAiOw0KCX0NCg0KDQovKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCk5PVCBQQVJUIE9GIFRIRSBOT1JNQUwgTU9EVUxFIEFQSQ0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoNCglmdW5jdGlvbiBnZXRfbW9kcHJlZnMoKXsNCgkJLy8gYXJyYXkoJ3ByZWZlcmVuY2VfbmFtZScsdmFsdWVfb25faW5zdGFsbCk7DQoJCXJldHVybiBhcnJheSgNCgkJCQlhcnJheSgnYXV0b3JlZGlyZWN0X2hvbWUnLHRydWUpLA0KCQkJCWFycmF5KCdhdXRvcmVkaXJlY3RfYWxsJyxmYWxzZSksCQkNCgkJCQlhcnJheSgnY29va2llc19hdXRvcmVkaXJlY3RfaG9tZScsdHJ1ZSksDQoJCQkJYXJyYXkoJ2Nvb2tpZXNfYXV0b3JlZGlyZWN0X2FsbCcsZmFsc2UpLA0KCQkJCWFycmF5KCdoaWVyYXJjaHlfcmVkaXJlY3QnLHRydWUpLA0KCQkJCWFycmF5KCdjdXJyZW50X2xpbmsnLGZhbHNlKSwNCgkJCQlhcnJheSgnZGVmYXVsdF9oaWRlJyx0cnVlKSwNCgkJCQlhcnJheSgnZGVmYXVsdF90cmFuc2xhdGUnLHRydWUpLA0KCQkJCWFycmF5KCdoaWRlX21pc3NpbmdlbnRyaWVzJyxmYWxzZSksDQoJCQkJYXJyYXkoJ3d5c2l3eWcnLGZhbHNlKQ0KCQkJCSk7DQoJfQ0KDQoJZnVuY3Rpb24gcGxjcmVhdGVhbGlhcygkbmFtZSl7DQoJCS8vIGZpbHRlciBrZXlzIGZvciBsYW5ndWFnZSBlbnRyaWVzDQoJCS8vIGFzIGEgc3VnZ2VzdGlvbiBmcm9tIEFNVCwgdGhlIGZpcnN0IHBhcnQgZGVhbHMgd2l0aCBzbWFydCBxdW90ZXMNCiAJCSRzZWFyY2ggPSBhcnJheShjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5OCksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDk5KSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OWMpLA0KCQkJCQkJICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5ZCksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDkzKSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTQpKTsNCiAJCSRuYW1lID0gc3RyX3JlcGxhY2UoJHNlYXJjaCwgIiIsICRuYW1lKTsNCiAJCS8vIHRoZSBzZWNvbmQgcGFydCB1c2VzIHRoZSBjbXMgdmVyc2lvbg0KIAkJJGFsaWFzID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkbmFtZSwgZmFsc2UpOw0KIAkJcmV0dXJuICRhbGlhczsNCgl9IA0KDQoJZnVuY3Rpb24gRG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQ9LTEpew0KCQlnbG9iYWwgJGdDbXM7DQoJCQ0KCQlzd2l0Y2goJGFjdGlvbil7DQoJCQljYXNlICJzaXRlbWFwIjoNCgkJCQlpZighJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UpIHJldHVybiBmYWxzZTsNCgkJCQkkaGllck1hbmFnZXIgPSAkZ0Ntcy0+R2V0SGllcmFyY2h5TWFuYWdlcigpOw0KCQkJCSRoaWVyYXJjaHkgPSAkaGllck1hbmFnZXItPmdldE5vZGVCeUlkKCR0aGlzLT5jdXJyZW50X2xhbmd1YWdlWydyb290X2lkJ10pOw0KDQoJCQkJaWYgKCRoaWVyYXJjaHkgJiYgJGhpZXJhcmNoeS0+aGFzQ2hpbGRyZW4oKSl7DQoJCQkJCWVjaG8gJzx1bCBjbGFzcz0ic2l0ZW1hcCI+JzsNCgkJCQkJJHBhZ2VsaXN0ID0gYXJyYXkoKTsNCgkJCQkJZm9yZWFjaCAoJGhpZXJhcmNoeS0+Z2V0Q2hpbGRyZW4oKSBhcyAkbm9kZSkJJHRoaXMtPmVjaG9fbGluZSgkbm9kZSk7DQoJCQkJCWVjaG8gJzwvdWw+JzsNCgkJCQl9CQ0KCQkJCWJyZWFrOwkJDQoJCQljYXNlICJkZWZhdWx0YWRtaW4iOg0KCQkJCXJlcXVpcmUgImFjdGlvbi5kZWZhdWx0YWRtaW4ucGhwIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgIm1lbnUiOg0KCQkJCXJlcXVpcmUgImFjdGlvbi5tZW51LnBocCI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJtb3Zlc29tZXRoaW5nIjoNCgkJCQlyZXF1aXJlICJhY3Rpb24ubW92ZXNvbWV0aGluZy5waHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZWRpdGxhbmciOg0KCQkJCXJlcXVpcmUgImFjdGlvbi5lZGl0bGFuZy5waHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZWRpdGVudHJpZXMiOg0KCQkJCXJlcXVpcmUgImFjdGlvbi5lZGl0ZW50cmllcy5waHAiOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZWRpdGVudHJ5IjoNCgkJCQlyZXF1aXJlICJhY3Rpb24uZWRpdGVudHJ5LnBocCI7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJlZGl0VGVtcGxhdGUiOg0KCQkJCXJlcXVpcmUgImFjdGlvbi5lZGl0VGVtcGxhdGUucGhwIjsNCgkJCQlicmVhazsNCgkJCWNhc2UgInRvZ2dsZWFjdGl2ZSI6DQoJCQkJaWYoaXNzZXQoJHBhcmFtc1sibGFuZ2NvZGUiXSkpew0KCQkJCQkkbmV3dmFsID0gaXNzZXQoJHBhcmFtc1sibmV3dmFsIl0pPyRwYXJhbXNbIm5ld3ZhbCJdOjA7DQoJCQkJCSRkYiA9ICR0aGlzLT5HZXREYigpOw0KCQkJCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ3VhZ2VzIFNFVCBhY3RpdmU9PyBXSEVSRSBsYW5nY29kZT0/IExJTUlUIDEiOw0KCQkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkbmV3dmFsLCRwYXJhbXNbImxhbmdjb2RlIl0pKTsNCgkJCQl9DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJ0b2dnbGVkZWZhdWx0IjoNCgkJCQlpZihpc3NldCgkcGFyYW1zWyJsYW5nY29kZSJdKSkJJHRoaXMtPlNldFByZWZlcmVuY2UoImRlZmF1bHRfbGFuZ3VhZ2UiLCRwYXJhbXNbImxhbmdjb2RlIl0pOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiY2hhbmdlc2V0dGluZ3MiOg0KCQkJCSRtb2RwcmVmcyA9ICR0aGlzLT5nZXRfbW9kcHJlZnMoKTsNCgkJCQlmb3JlYWNoKCRtb2RwcmVmcyBhcyAkcHJlZikJJHRoaXMtPlNldFByZWZlcmVuY2UoJHByZWZbMF0sIGlzc2V0KCRwYXJhbXNbJHByZWZbMF1dKSk7DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoImFjdGl2ZV90YWIiPT4ic2V0dGluZ3MiLCAibW9kdWxlX21lc3NhZ2UiPT4kdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJkZWxldGV0cGwiOg0KCQkJCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiI9PiJ0ZW1wbGF0ZXMiKTsNCgkJCSAgICBpZihpc3NldCgkcGFyYW1zWyJ0cGxuYW1lIl0pICYmICR0aGlzLT5EZWxldGVUZW1wbGF0ZSgkcGFyYW1zWyJ0cGxuYW1lIl0pKQkgICAkbmV3cGFyYW1zWyJtb2R1bGVfbWVzc2FnZT4iXSA9ICR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIik7DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJG5ld3BhcmFtcyk7DQoJCQkJYnJlYWs7DQoNCgkJCWNhc2UgImRlZmF1bHQiOg0KCQkJZGVmYXVsdDoNCgkJCQlpZihpc3NldCgkcGFyYW1zWyJzaG93Il0pKXsNCgkJCQkJJG91dHB1dCA9ICR0aGlzLT5yZXRyaWV2ZV90cmFuc2xhdGlvbigkcGFyYW1zWyJzaG93Il0pOw0KCQkJCQlpZihpc3NldCgkcGFyYW1zWyJhc3NpZ24iXSkgJiYgJHBhcmFtc1siYXNzaWduIl0gIT0gIiIpew0KCQkJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbImFzc2lnbiJdLCRvdXRwdXQpOw0KCQkJCQl9ZWxzZXsNCgkJCQkJCWVjaG8gJG91dHB1dDsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlicmVhazsNCgkJfQ0KDQoJfQ0KCQ0KCWZ1bmN0aW9uIGdldGxhbmd1YWdlcygkaW5hY3RpdmU9ZmFsc2Upew0KCQlpZighJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMpCSR0aGlzLT5yZXRyaWV2ZV9sYW5ndWFnZXMoKTsNCgkJcmV0dXJuCSRpbmFjdGl2ZT8kdGhpcy0+YWxsX2xhbmd1YWdlczokdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlczsNCgl9DQoJDQoJZnVuY3Rpb24gY291bnRzb21ldGhpbmcoJHRhYmxlbmFtZSwkd2hhdD0iaWQiLCR3aGVyZT1hcnJheSgpKXsNCgkJLy8gcmV0dXJucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgdGFibGUNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkd2hlcmVzdHJpbmcgPSAiIjsNCgkJJHdoZXJldmFsdWVzID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkd2hlcmUgYXMgJGtleT0+JHZhbHVlKXsNCgkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIgV0hFUkUgIjoiIEFORCAiKS4ka2V5LiI9PyI7DQoJCQkkd2hlcmV2YWx1ZXNbXSA9ICR2YWx1ZTsNCgkJfQ0KCQkkcXVlcnkgPSAiU0VMRUNUIENPVU5UKCR3aGF0KSBvdXJjb3VudCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfJHRhYmxlbmFtZSIuJHdoZXJlc3RyaW5nOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR3aGVyZXZhbHVlcyk7DQoJCWlmICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQlyZXR1cm4gJHJvd1sib3VyY291bnQiXTsNCgkJfWVsc2V7DQoJCQlyZXR1cm4gMDsNCgkJfQ0KCX0JDQoJDQoJZnVuY3Rpb24gZ2V0RmlsZUNvbnRlbnQoJGZpbGVuYW1lKXsNCgkJJGZpbGVwYXRoID0gZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4kZmlsZW5hbWU7DQoJCWlmKGZpbGVfZXhpc3RzKCRmaWxlcGF0aCkpew0KCQkJJGZoYW5kbGUgPSBmb3BlbigkZmlsZXBhdGgsICJyKyIpOw0KCQkJJGNvbnRlbnQgPSBmcmVhZCgkZmhhbmRsZSwgZmlsZXNpemUoJGZpbGVwYXRoKSk7DQoJCQlyZXR1cm4gJGNvbnRlbnQ7DQoJCX1lbHNlew0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJfQ0KCQ0KCWZ1bmN0aW9uIHJldHJpZXZlX3BhZ2VfbGFuZygpew0KCQkvLyByZXRyaWV2ZSByb290IGlkDQoJCWlmKCEkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcykJJHRoaXMtPnJldHJpZXZlX2xhbmd1YWdlcygpOw0KCQlpZighJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMpCXJldHVybiBmYWxzZTsNCgkJZm9yZWFjaCgkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcyBhcyAkb25lbGFuZyl7DQoJCQlpZigkb25lbGFuZ1sicm9vdF9pZCJdID09ICRyb290X2lkKXsNCgkJCQkkdGhpcy0+Y3VycmVudF9sYW5nY29kZSA9ICRvbmVsYW5nWyJsYW5nY29kZSJdOw0KCQkJCSR0aGlzLT5jdXJyZW50X2xhbmd1YWdlID0gJG9uZWxhbmc7DQoJCQl9DQoJCX0NCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYWdlX2xhbmciLCAkdGhpcy0+Y3VycmVudF9sYW5nY29kZSk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiY3VycmVudF9sYW5ndWFnZSIsICR0aGlzLT5jdXJyZW50X2xhbmd1YWdlKTsNCgl9DQoNCglmdW5jdGlvbiByZXRyaWV2ZV9sYW5ndWFnZXMoKXsNCgkJLy8gcmV0cmlldmVzIGxhbmd1YWdlcyBmcm9tIHRoZSBkYXRhYmFzZSBhbmQgc3RvcmUgdGhlbSBpbiB0aGUgbW9kdWxlIG9iamVjdA0KCQkvLyB0byBhdm9pZCBtdWx0aXBsZSByZXRyaWV2YWwsIHVzZSBnZXRsYW5ndWFnZXMoKTsNCgkJJGRiID0gJHRoaXMtPkdldERiKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ3VhZ2VzIE9SREVSIEJZIGl0ZW1fb3JkZXIiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5KTsNCgkJJG91dHB1dCA9IGFycmF5KCk7DQoJCSRhbGwgPSBhcnJheSgpOw0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkYWxsWyRyb3dbImxhbmdjb2RlIl1dID0gJHJvdzsNCgkJCWlmKCRyb3dbImFjdGl2ZSJdKQkkb3V0cHV0WyRyb3dbImxhbmdjb2RlIl1dID0gJHJvdzsNCgkJfQ0KCQkkdGhpcy0+YWxsX2xhbmd1YWdlcyA9ICRhbGw7DQoJCSR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzID0gJG91dHB1dDsNCgl9DQoJDQoJZnVuY3Rpb24gYWRtaW5fcmV0cmlldmVfbGFuZ3VhZ2VzKCRpZCwgJHJldHVybmlkKXsNCgkJZ2xvYmFsICRnQ21zOw0KCQkkYWRtaW50aGVtZSA9ICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXTsNCgkJJGRiID0gJHRoaXMtPkdldERiKCk7DQoJCSRkZWZhdWx0bGFuZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkZWZhdWx0X2xhbmd1YWdlIiwgZmFsc2UpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmd1YWdlcyBPUkRFUiBCWSBpdGVtX29yZGVyIjsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoJCSRvdXRwdXQgPSBhcnJheSgpOw0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkaXRlbSA9IG5ldyBTdGRDbGFzcygpOw0KCQkJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJJGl0ZW0tPiRrZXkgPSAkdmFsdWU7DQoJCQl9DQoJCQkkbW92ZXBhcmFtcyA9IGFycmF5KCJsYW5nY29kZSI9PiRpdGVtLT5sYW5nY29kZSwiY3VycmVudG9yZGVyIj0+JGl0ZW0tPml0ZW1fb3JkZXIpOw0KCQkJJGl0ZW0tPm5hbWVsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdGxhbmciLCAkcmV0dXJuaWQsICRpdGVtLT5uYW1lLCBhcnJheSgibGFuZ2NvZGUiPT4kaXRlbS0+bGFuZ2NvZGUpKTsNCgkJCSRpdGVtLT5jb2RlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImVkaXRsYW5nIiwgJHJldHVybmlkLCAkaXRlbS0+bGFuZ2NvZGUsIGFycmF5KCJsYW5nY29kZSI9PiRpdGVtLT5sYW5nY29kZSkpOw0KCQkJJGl0ZW0tPmVkaXRlbnRyaWVzID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdGVudHJpZXMiLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCJlZGl0X2VudHJpZXMiKSwgYXJyYXkoImxhbmdjb2RlIj0+JGl0ZW0tPmxhbmdjb2RlKSk7DQoJCQkkaXRlbS0+ZGVsZXRlbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgIm1vdmVzb21ldGhpbmciLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9kZWxldGUuZ2lmIixsYW5nKCJkZWxldGUiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgibW92ZSI9PiJkZWxldGUiKSwkbW92ZXBhcmFtcyksICR0aGlzLT5MYW5nKCJwcm9tcHRfZGVsZXRlbGFuZ3VhZ2UiLCBzdHJfcmVwbGFjZSgiJyIsIlwnIiwkaXRlbS0+bmFtZSkpKTsNCgkJCSRpdGVtLT5hY3Rpb25zID0gJGl0ZW0tPmVkaXRlbnRyaWVzLiIgIi4kaXRlbS0+ZGVsZXRlbGluazsNCgkJCSRpdGVtLT5tb3ZldXBsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAibW92ZXNvbWV0aGluZyIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2Fycm93LXUuZ2lmIixsYW5nKCJ1cCIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJtb3ZlIj0+InVwIiksJG1vdmVwYXJhbXMpKTsNCgkJCSRpdGVtLT5tb3ZlZG93bmxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJtb3Zlc29tZXRoaW5nIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vYXJyb3ctZC5naWYiLGxhbmcoImRvd24iKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgibW92ZSI9PiJkb3duIiksJG1vdmVwYXJhbXMpKTsNCgkJCSRpdGVtLT5tb3ZlbGlua3MgPSAkaXRlbS0+bW92ZXVwbGluayAuIiAiLiAkaXRlbS0+bW92ZWRvd25saW5rOw0KCQkJaWYoJGRlZmF1bHRsYW5nID09ICRpdGVtLT5sYW5nY29kZSl7DQoJCQkJJGl0ZW0tPnRvZ2dsZWRlZmF1bHQgPSAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vdHJ1ZS5naWYiLCJ0cnVlIiwiIiwiIiwic3lzdGVtaWNvbiIpOw0KCQkJfWVsc2V7DQoJCQkJJGl0ZW0tPnRvZ2dsZWRlZmF1bHQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0b2dnbGVkZWZhdWx0IiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmIixsYW5nKCJzZXR0cnVlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXkoImxhbmdjb2RlIj0+JGl0ZW0tPmxhbmdjb2RlKSk7DQoJCQl9DQoJCQlpZigkaXRlbS0+YWN0aXZlKXsNCgkJCQkkaXRlbS0+dG9nZ2xlYWN0aXZlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAidG9nZ2xlYWN0aXZlIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vdHJ1ZS5naWYiLGxhbmcoInNldGZhbHNlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXkoImxhbmdjb2RlIj0+JGl0ZW0tPmxhbmdjb2RlLCAibmV3dmFsIj0+MCkpOw0KCQkJfWVsc2V7DQoJCQkJJGl0ZW0tPnRvZ2dsZWFjdGl2ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInRvZ2dsZWFjdGl2ZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZiIsbGFuZygic2V0dHJ1ZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5KCJsYW5nY29kZSI9PiRpdGVtLT5sYW5nY29kZSwgIm5ld3ZhbCI9PjEpKTsNCgkJCX0NCgkJCWFycmF5X3B1c2goJG91dHB1dCwgJGl0ZW0pOw0KCQl9DQoJCXJldHVybiAkb3V0cHV0Ow0KCX0NCgkNCglmdW5jdGlvbiBnZXRfbGFuZ3VhZ2VfZGV0YWlscygkbGFuZ2NvZGUpew0KCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXMgV0hFUkUgbGFuZ2NvZGU9PyI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRsYW5nY29kZSkpOw0KCQlpZigkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkaXRlbSA9IG5ldyBTdGRDbGFzcygpOw0KCQkJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJJGl0ZW0tPiRrZXkgPSAkdmFsdWU7DQoJCQl9DQoJCX1lbHNlew0KCQkJJGl0ZW0gPSBmYWxzZTsNCgkJfQ0KCQlyZXR1cm4gJGl0ZW07DQoJfQ0KCQ0KCWZ1bmN0aW9uIHJldHJpZXZlX2xhbmdlbnRyaWVzKCl7DQoJCS8vIHJldHJpZXZlcyB0aGUgbGFuZ3VhZ2UgZW50cmllcyBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UNCgkJaWYoISR0aGlzLT5jdXJyZW50X2xhbmd1YWdlKQkkdGhpcy0+cmV0cmlldmVfcGFnZV9sYW5nKCk7DQoJCWlmKCEkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSkJcmV0dXJuIGZhbHNlOw0KCQkkZGVmbGFuZyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkZWZhdWx0X2xhbmd1YWdlIixmYWxzZSk7DQoJCSRwYXJ0aWFsX2ltcG9ydCA9IGZhbHNlOw0KCQlpZigkZGVmbGFuZyAmJiAkZGVmbGFuZyAhPSAkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGVmYXVsdF90cmFuc2xhdGUiLGZhbHNlKSl7DQoJCQkvLyB3aGVuIHRoZSBlbnRyeSBkb2Vzbid0IGV4aXN0IGluIHRoZSBjdXJyZW50IGxhbmd1YWdlLCB3ZSB1c2UgdGhlIG9uZSBmcm9tIHRoZSBkZWZhdWx0IGxhbmd1YWdlLA0KCQkJLy8gc28gd2UgbG9hZCB0aGlzIG9uZSBmaXJzdA0KCQkJJHBhcnRpYWxfaW1wb3J0ID0gdHJ1ZTsNCgkJCSR0aGlzLT5jdXJyZW50X2xhbmdlbnRyaWVzID0gJHRoaXMtPmxvYWRfbGFuZ2VudHJpZXMoJGRlZmxhbmcpOw0KCQl9DQoJCSRjdXJyZW50X2VudHJpZXMgPSAkdGhpcy0+bG9hZF9sYW5nZW50cmllcygkdGhpcy0+Y3VycmVudF9sYW5nY29kZSk7DQoJCWlmKCRwYXJ0aWFsX2ltcG9ydCl7DQoJCQkvLyB3ZSd2ZSBhbHJlYWR5IGxvYWRlZCB0aGUgZGVmYXVsdCBlbnRyaWVzLCBzbyB3ZSBhZGQvcmVwbGFjZSB0aGUgb25lcyBmb3IgdGhlIGN1cnJlbnQgbGFuZ3VhZ2UNCgkJCWZvcmVhY2goJGN1cnJlbnRfZW50cmllcyBhcyAka2V5PT4kdmFsdWUpew0KCQkJCWlmKCR2YWx1ZSAmJiAkdmFsdWUgIT0gIiIpCSR0aGlzLT5jdXJyZW50X2xhbmdlbnRyaWVzWyRrZXldID0gJHZhbHVlOw0KCQkJfQ0KCQl9ZWxzZXsNCgkJCS8vIG5vIG5lZWQgZm9yIGRlZmF1bHQgZW50cmllcw0KCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXMgPSAkY3VycmVudF9lbnRyaWVzOw0KCQl9DQoJfQ0KCQ0KCWZ1bmN0aW9uIGxvYWRfbGFuZ2VudHJpZXMoJGxhbmcpew0KCQkvLyByZXRyaWV2ZXMgbGFuZ3VhZ2UgZW50cmllcyBmb3IgYW55IGxhbmd1YWdlDQoJCWlmKCEkdGhpcy0+aXNfbGFuZ3VhZ2UoJGxhbmcpKQlyZXR1cm4gZmFsc2U7DQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUIGxhbmdrZXlzLmNhcHRpb24gY2FwdGlvbiwgbGFuZ2VudHJpZXMudmFsdWUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdrZXlzIGxhbmdrZXlzIExFRlQgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdlbnRyaWVzIGxhbmdlbnRyaWVzIE9OIGxhbmdrZXlzLnN0cmluZ2lkID0gbGFuZ2VudHJpZXMuc3RyaW5naWQgV0hFUkUgbGFuZ2VudHJpZXMubGFuZ2NvZGU9PyI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGxhbmcpKTsNCgkJJG91dHB1dCA9IGFycmF5KCk7DQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCSRvdXRwdXRbJHJvd1siY2FwdGlvbiJdXSA9ICRyb3dbInZhbHVlIl0/JHJvd1sidmFsdWUiXToiIjsNCgkJfQ0KCQlyZXR1cm4gJG91dHB1dDsNCgl9DQoJDQoJZnVuY3Rpb24gaXNfbGFuZ3VhZ2UoJGNvZGUpew0KCQkvLyByZXR1cm5zIHRydWUgaWYgJGNvZGUgaXMgYW4gYWN0aXZlIGxhbmd1YWdlDQoJCWlmKCEkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcykJJHRoaXMtPnJldHJpZXZlX2xhbmd1YWdlcygpOw0KCQlpZighJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMpCXJldHVybiBmYWxzZTsNCgkJJHJlc3VsdCA9IGlzc2V0KCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzWyRjb2RlXSk7DQoJCWlmKCEkcmVzdWx0KSBlY2hvICRjb2RlLicgaXMgbm90IGEgbGFuZ3VhZ2UnOw0KCQlyZXR1cm4gJHJlc3VsdDsNCgl9DQoJDQoJZnVuY3Rpb24gcmV0cmlldmVfdHJhbnNsYXRpb24oJGtleSl7DQoJCS8vIHJldHVybnMgc3RyaW5nIGNvcnJlc3BvbmRpbmcgdG8gJGtleSBpbiB0aGUgY3VycmVudCBsYW5ndWFnZQ0KCQlpZighJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXMpCSR0aGlzLT5yZXRyaWV2ZV9sYW5nZW50cmllcygpOw0KCQlpZighJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXMpCXJldHVybiBmYWxzZTsNCgkJaWYoaXNzZXQoJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXNbJGtleV0pICYmICAkdGhpcy0+Y3VycmVudF9sYW5nZW50cmllc1ska2V5XSAhPSAiIil7DQoJCQlyZXR1cm4gJHRoaXMtPmN1cnJlbnRfbGFuZ2VudHJpZXNbJGtleV07DQoJCX1lbHNlaWYoISR0aGlzLT5HZXRQcmVmZXJlbmNlKCJoaWRlX21pc3NpbmdlbnRyaWVzIixmYWxzZSkpew0KCQkJcmV0dXJuICJBZGQgbWU6ICIuJGtleS4iICgiLiR0aGlzLT5jdXJyZW50X2xhbmd1YWdlLiIpIjsNCgkJfWVsc2V7DQoJCQlyZXR1cm4gIiI7DQoJCX0NCgl9DQoJDQoJZnVuY3Rpb24gYXNzaWduX3BhZ2VfbGFuZygpew0KCQkvLyBkZXRlY3RzIGN1cnJlbnQgbGFuZ3VhZ2UgYmFzZWQgb24gaGllcmFyY2h5IGFuZCBhc3NpZ24gaXQgdG8gc21hcnR5DQoJCWdsb2JhbCAkZ0NtczsNCgkJZ2xvYmFsICRzbWFydHk7DQoNCgkJJG1hbmFnZXIgPSYgJGdDbXMtPkdldEhpZXJhcmNoeU1hbmFnZXIoKTsNCgkJJHJvb3RfaWQgPSAkZ0Ntcy0+dmFyaWFibGVzWydjb250ZW50X2lkJ107DQoJCSRjdXJyZW50Tm9kZSA9ICYkbWFuYWdlci0+c3VyZUdldE5vZGVCeUlkKCRyb290X2lkKTsNCgkJd2hpbGUoIGlzc2V0KCRjdXJyZW50Tm9kZSkgJiYgJGN1cnJlbnROb2RlLT5nZXRMZXZlbCgpID4gMCApew0KCQkJJGN1cnJlbnROb2RlID0mICRjdXJyZW50Tm9kZS0+Z2V0UGFyZW50Tm9kZSgpOw0KCQkJJHJvb3RfaWQgPSAkY3VycmVudE5vZGUtPmdldElkKCk7CS8vIMOAIFZFUklGSUVSDQoJCX0NCgkJJGxhbmd1YWdlcyA9ICR0aGlzLT5nZXRsYW5ndWFnZXMoKTsNCgkJZm9yZWFjaCgkbGFuZ3VhZ2VzIGFzICRsYW5ndWFnZSl7DQoJCQlpZigkbGFuZ3VhZ2VbJ3Jvb3RfaWQnXSA9PSAkcm9vdF9pZCl7DQoJCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UgPSAkbGFuZ3VhZ2U7DQoJCQkJJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUgPSAkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ107DQoJCQl9DQoJCX0NCgkJJHNtYXJ0eS0+YXNzaWduKCdwYWdlX2xhbmcnLCR0aGlzLT5jdXJyZW50X2xhbmdjb2RlKTsNCgkJJHNtYXJ0eS0+YXNzaWduKCdwYWdlX2xhbmdfaW5mbycsJHRoaXMtPmN1cnJlbnRfbGFuZ3VhZ2UpOw0KCX0NCgkNCglmdW5jdGlvbiBhdXRvX3JlZGlyZWN0KCl7DQoJCWdsb2JhbCAkZ0NtczsNCgkJLy8gcmVkaXJlY3RzIHRvIHRoZSB1c2VyIGxhbmd1YWdlIHdoZW4gYSB1cmwgaXMgcmVxdWVzdGVkDQoJCSRwcmVmX2Jyb3dzZXJfaG9tZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhdXRvcmVkaXJlY3RfaG9tZSIpOw0KCQkkcHJlZl9icm93c2VyX2FsbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhdXRvcmVkaXJlY3RfYWxsIik7DQoJCSRwcmVmX2Nvb2tpZV9ob21lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImNvb2tpZXNfYXV0b3JlZGlyZWN0X2hvbWUiKTsNCgkJJHByZWZfY29va2llX2FsbCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjb29raWVzX2F1dG9yZWRpcmVjdF9hbGwiKTsNCgkJaWYoISRwcmVmX2Nvb2tpZV9ob21lICYmICEkcHJlZl9jb29raWVfYWxsICYmICEkcHJlZl9icm93c2VyX2hvbWUgJiYgISRwcmVmX2Jyb3dzZXJfYWxsKQlyZXR1cm4gZmFsc2U7DQoJCWlmKCEkdGhpcy0+Y3VycmVudF9sYW5ndWFnZSkJJHRoaXMtPmFzc2lnbl9wYWdlX2xhbmcoKTsNCgkJaWYoISR0aGlzLT5jdXJyZW50X2xhbmd1YWdlKQlyZXR1cm4gZmFsc2U7DQoJCSRwYWdlaWQgPSAkZ0Ntcy0+dmFyaWFibGVzWydjb250ZW50X2lkJ107DQoJCSRsYW5ndWFnZXMgPSAkdGhpcy0+Z2V0bGFuZ3VhZ2VzKCk7DQoJCSRpc19ob21lcGFnZSA9IGZhbHNlOw0KCQkkbGFuZ2NvZGVzID0gYXJyYXkoKTsNCgkJJHRydW5jYXRlZCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJGxhbmd1YWdlcyBhcyAkbGFuZ3VhZ2Upew0KCQkJYXJyYXlfcHVzaCgkbGFuZ2NvZGVzLCRsYW5ndWFnZVsnbGFuZ2NvZGUnXSk7DQoJCQkkdHJ1bmNhdGVkW3N1YnN0cigkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ10sMCwyKV0gPSAkbGFuZ3VhZ2VbJ2xhbmdjb2RlJ107DQoJCQlpZigkbGFuZ3VhZ2VbJ2RlZmF1bHRfaWQnXSA9PSAkcGFnZWlkKQkkaXNfaG9tZXBhZ2UgPSB0cnVlOw0KCQl9DQoJCSRjb29raWUgPSAoJGlzX2hvbWVwYWdlICYmICRwcmVmX2Nvb2tpZV9ob21lKSB8fCAkcHJlZl9jb29raWVfYWxsOw0KCQkkYnJvd3NlciA9ICgkaXNfaG9tZXBhZ2UgJiYgJHByZWZfYnJvd3Nlcl9ob21lKSB8fCAkcHJlZl9icm93c2VyX2FsbDsNCgkJaWYoISRjb29raWUgJiYgISRicm93c2VyKQlyZXR1cm4gZmFsc2U7DQoNCgkJLy8gcmV0cmlldmUgdXNlciBsYW5ndWFnZSA6DQoJCSR1c3JsYW5nID0gZmFsc2U7DQoJCWlmKGlzc2V0KCRfQ09PS0lFWyd1c3JsYW5nJ10pICYmICRjb29raWUgJiYgaW5fYXJyYXkoJF9DT09LSUVbJ3VzcmxhbmcnXSwgJGxhbmdjb2Rlcykpew0KCQkJJHVzcmxhbmcgPSAkX0NPT0tJRVsndXNybGFuZyddOw0KCQl9ZWxzZWlmKCRicm93c2VyKXsJCQkNCgkJCSRsYW5ndWFnZXMgPSBzdHJ0b2xvd2VyKCAkX1NFUlZFUlsiSFRUUF9BQ0NFUFRfTEFOR1VBR0UiXSApOw0KCQkJJGxhbmd1YWdlcyA9IHN0cl9yZXBsYWNlKCAnICcsICcnLCAkbGFuZ3VhZ2VzICk7DQoJCQkkbGFuZ3VhZ2VzID0gZXhwbG9kZSggIiwiLCAkbGFuZ3VhZ2VzICk7DQoJCQkkbGFuZ3VhZ2UgPSBzdWJzdHIoICRsYW5ndWFnZXNbMF0sIDAsIDIgKTsNCgkJCWlmKGlzc2V0KCR0cnVuY2F0ZWRbJGxhbmd1YWdlXSkpCSR1c3JsYW5nID0gJHRydW5jYXRlZFskbGFuZ3VhZ2VdOw0KCQl9DQoNCgkJaWYoJHVzcmxhbmcgJiYgKCRwcmVmX2Nvb2tpZV9hbGwgfHwgJHByZWZfY29va2llX2hvbWUpICkJc2V0Y29va2llKCd1c3JsYW5nJywkdXNybGFuZyx0aW1lKCkrODY0MDAqMzY1LCcvJyk7DQoNCgkJaWYoJHVzcmxhbmcgJiYgJHVzcmxhbmcgIT0gJHRoaXMtPmN1cnJlbnRfbGFuZ2NvZGUpew0KCQkJJGRlc3RwYWdlID0gJHRoaXMtPmdldF91cmxzKCR1c3JsYW5nKTsNCgkJCWlmKGlzc2V0KCRkZXN0cGFnZVskdXNybGFuZ10pKQloZWFkZXIoImxvY2F0aW9uOiAiLiRkZXN0cGFnZVskdXNybGFuZ11bJ3VybCddKTsNCgkJfQkJDQoJfQ0KCQ0KCWZ1bmN0aW9uIGdldF91cmxzKCRkZXNpcmVkX2xhbmc9ZmFsc2Upew0KCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaGllcmFyY2h5X3JlZGlyZWN0Jyx0cnVlKSl7DQoJCQlyZXR1cm4gJHRoaXMtPmhpZXJhcmNoeV9nZXRfbGlua3MoJGRlc2lyZWRfbGFuZyk7DQoJCX1lbHNlew0KCQkJcmV0dXJuICR0aGlzLT5tYW51YWxfZ2V0X2xpbmtzKCRkZXNpcmVkX2xhbmcpOw0KCQl9DQoJfQ0KCQ0KCWZ1bmN0aW9uIGhpZXJhcmNoeV9nZXRfbGlua3MoJGRlc2lyZWRfbGFuZz1mYWxzZSl7DQoJCS8vIHJldHJpZXZlcyB0aGUgdXJsIHRvIHRoZSBwYWdlIGluIHRoZSBkZXNpcmVkIGxhbmd1YWdlKHMpIGVxdWl2YWxlbnQgdG8gdGhlIGN1cnJlbnQgcGFnZSwNCgkJLy8gYmFzZWQgb24gaGllcmFyY2h5DQoJCS8vIGlmICRkZXNpcmVkX2xhbmcgaXMgZmFsc2UsIGxpbmtzIGZvciBhbGwgYWN0aXZlIGxhbmd1YWdlcyB3aWxsIGJlIHJldHVybmVkDQoJCWlmKCEkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcyB8fCBjb3VudCgkdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlcykgPT0gMCkJcmV0dXJuIGZhbHNlOw0KCQlnbG9iYWwgJGdDbXM7DQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOw0KCQkkYmFzZV91cmwgPSAkdGhpcy0+Z2V0X2Jhc2VfdXJsKCk7DQoJCSRkZWZhdWx0X2hpZGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZGVmYXVsdF9oaWRlJywgZmFsc2UpOw0KCQlpZigkZGVzaXJlZF9sYW5nICYmIGlzc2V0KCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzWyRkZXNpcmVkX2xhbmddKSl7DQoJCQkkbGFuZ3MgPSBhcnJheSgkZGVzaXJlZF9sYW5nPT4kdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlc1skZGVzaXJlZF9sYW5nXSk7DQoJCX1lbHNlew0KCQkJJGxhbmdzID0gJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXM7DQoJCX0NCgkJJG1vZHVsZV9saW5rcyA9ICR0aGlzLT5tb2R1bGVfZ2V0X3VybCgpOw0KCQlpZihjb3VudCgkbW9kdWxlX2xpbmtzKSA9PSBjb3VudCgkbGFuZ3MpICYmIGlzc2V0KCRtb2R1bGVfbGlua3NbJGxhbmdbMF1bJ2xhbmdjb2RlJ11dKSkJcmV0dXJuICRtb2R1bGVfbGlua3M7DQoJCSRjdXJyZW50X3Bvc2l0aW9uID0gZXhwbG9kZSgnLicsICRnQ21zLT52YXJpYWJsZXNbJ3Bvc2l0aW9uJ10pOw0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCgkJJHJvb3RpZHMgPSBhcnJheSgpOw0KCQkkaGllcmFyY2hpZXMgPSBhcnJheSgpOw0KCQkkd2hlcmUgPSAiIjsNCgkJJHF1ZXJ5X3ZhbHVlcyA9IGFycmF5KCk7DQoJCSRkZWZhdWx0X3BhdGhzID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkbGFuZ3MgYXMgJG9uZWxhbmcpew0KCQkJJG91dHB1dFskb25lbGFuZ1snbGFuZ2NvZGUnXV0gPSBhcnJheSgnbWVudV90ZXh0Jz0+IiIsICduYW1lJz0+IiIsICd1cmwnPT4iIik7DQoJCQkkcm9vdGlkc1skb25lbGFuZ1sncm9vdF9pZCddXSA9ICRvbmVsYW5nWydsYW5nY29kZSddOw0KCQkJJHdoZXJlIC49ICgkd2hlcmUgPT0gIiI/IiI6IiBPUiAiKS4iY29udGVudF9pZD0/IjsNCgkJCWFycmF5X3B1c2goJHF1ZXJ5X3ZhbHVlcywgJG9uZWxhbmdbJ3Jvb3RfaWQnXSk7DQoJCX0NCgkJJHF1ZXJ5ID0gIlNFTEVDVCBjb250ZW50X25hbWUsIG1lbnVfdGV4dCwgY29udGVudF9pZCwgaGllcmFyY2h5LCBoaWVyYXJjaHlfcGF0aCBGUk9NICIgLiBjbXNfZGJfcHJlZml4KCkuImNvbnRlbnQgV0hFUkUgKCIuJHdoZXJlLiIpIjsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHF1ZXJ5X3ZhbHVlcyk7DQoJCSRxdWVyeV92YWx1ZXMgPSBhcnJheSgpOw0KCQkkd2hlcmUgPSAiIjsNCgkJJG5ld3BhdGhzID0gYXJyYXkoKTsNCgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJHBvc2l0aW9uID0gZXhwbG9kZSgnLicsJHJvd1snaGllcmFyY2h5J10pOw0KCQkJJG5ld3Bvc2l0aW9uID0gJGN1cnJlbnRfcG9zaXRpb247DQoJCQkkbmV3cG9zaXRpb25bMF0gPSAkcG9zaXRpb25bMF07DQoJCQkkbmV3X2hpZXJhcmNoeSA9IGltcGxvZGUoJy4nLCRuZXdwb3NpdGlvbik7DQoJCQkkaGllcmFyY2hpZXNbJHJvb3RpZHNbJHJvd1snY29udGVudF9pZCddXV0gPSAkbmV3X2hpZXJhcmNoeTsNCgkJCWFycmF5X3B1c2goJHF1ZXJ5X3ZhbHVlcywkbmV3X2hpZXJhcmNoeSk7DQoJCQkkbmV3cGF0aHNbJG5ld19oaWVyYXJjaHldID0gJHJvb3RpZHNbJHJvd1snY29udGVudF9pZCddXTsNCgkJCSRkZWZhdWx0X3BhdGhzWyRyb290aWRzWyRyb3dbJ2NvbnRlbnRfaWQnXV1dID0gYXJyYXkoInVybCI9PiRiYXNlX3VybC4kcm93WyJoaWVyYXJjaHlfcGF0aCJdLCAibmFtZSI9PiRyb3dbImNvbnRlbnRfbmFtZSJdLCAibWVudV90ZXh0Ij0+JHJvd1sibWVudV90ZXh0Il0pOw0KCQkJJHdoZXJlIC49ICgkd2hlcmUgPT0gIiI/IiI6IiBPUiAiKS4iaGllcmFyY2h5PT8iOw0KCQl9DQoJCSRxdWVyeSA9ICJTRUxFQ1QgY29udGVudF9pZCwgY29udGVudF9uYW1lLCBtZW51X3RleHQsIGhpZXJhcmNoeSwgaGllcmFyY2h5X3BhdGggRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4iY29udGVudCBXSEVSRSAoIi4kd2hlcmUuIikiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkcXVlcnlfdmFsdWVzKTsNCgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCSRvdXRwdXRbJG5ld3BhdGhzWyRyb3dbImhpZXJhcmNoeSJdXV0gPSBhcnJheSgidXJsIj0+JGJhc2VfdXJsLiRyb3dbImhpZXJhcmNoeV9wYXRoIl0sICJuYW1lIj0+JHJvd1siY29udGVudF9uYW1lIl0sICJtZW51X3RleHQiPT4kcm93WyJtZW51X3RleHQiXSk7DQoJCSRmaW5hbCA9IGFycmF5KCk7DQoJCWZvcmVhY2goJG91dHB1dCBhcyAkbGFuZz0+JHZhbHVlKXsNCgkJCWlmKGlzc2V0KCRtb2R1bGVfbGlua3NbJGxhbmddKSl7DQoJCQkJJHZhbHVlWyJ1cmwiXSA9ICRtb2R1bGVfbGlua3NbJGxhbmddWyJ1cmwiXTsNCgkJCQkkdmFsdWVbIm5hbWUiXSA9ICRtb2R1bGVfbGlua3NbJGxhbmddWyJuYW1lIl07DQoJCQl9DQoJCQlpZigkdmFsdWVbInVybCJdID09ICIiICYmICRkZWZhdWx0X2hpZGUpew0KCQkJfWVsc2VpZigkdmFsdWVbInVybCJdID09ICIiKXsNCgkJCQkkZmluYWxbJGxhbmddID0gJGRlZmF1bHRfcGF0aHNbJGxhbmddOw0KCQkJfWVsc2V7DQoJCQkJJGZpbmFsWyRsYW5nXSA9ICR2YWx1ZTsNCgkJCX0NCgkJfQ0KCQlyZXR1cm4gJGZpbmFsOw0KCX0NCgkNCgkNCglmdW5jdGlvbiBtYW51YWxfZ2V0X2xpbmtzKCRkZXNpcmVkX2xhbmc9ZmFsc2Upew0KCQkvLyByZXRyaWV2ZXMgdGhlIHVybCB0byB0aGUgcGFnZSBpbiB0aGUgZGVzaXJlZCBsYW5ndWFnZShzKSBlcXVpdmFsZW50IHRvIHRoZSBjdXJyZW50IHBhZ2UsDQoJCS8vIGJhc2VkIG9uIE1hcmNvcyBDcnV6IG1hbnVhbCBwcm9jZWR1cmUgKHNlZSBoZWxwKQ0KCQkvLyBpZiAkZGVzaXJlZF9sYW5nIGlzIGZhbHNlLCBsaW5rcyBmb3IgYWxsIGFjdGl2ZSBsYW5ndWFnZXMgd2lsbCBiZSByZXR1cm5lZA0KCQlpZighJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMgfHwgY291bnQoJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXMpID09IDApCXJldHVybiBmYWxzZTsNCgkJZ2xvYmFsICRnQ21zOw0KCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCgkJJGJhc2VfdXJsID0gJHRoaXMtPmdldF9iYXNlX3VybCgpOw0KCQlpZigkZGVzaXJlZF9sYW5nICYmIGlzc2V0KCR0aGlzLT5hdmFpbGFibGVfbGFuZ3VhZ2VzWyRkZXNpcmVkX2xhbmddKSl7DQoJCQkkbGFuZ3MgPSBhcnJheSgkZGVzaXJlZF9sYW5nPT4kdGhpcy0+YXZhaWxhYmxlX2xhbmd1YWdlc1skZGVzaXJlZF9sYW5nXSk7DQoJCX1lbHNlew0KCQkJJGxhbmdzID0gJHRoaXMtPmF2YWlsYWJsZV9sYW5ndWFnZXM7DQoJCX0NCgkJJG1vZHVsZV9saW5rcyA9ICR0aGlzLT5tb2R1bGVfZ2V0X3VybCgpOw0KCQlpZihjb3VudCgkbW9kdWxlX2xpbmtzKSA9PSBjb3VudCgkbGFuZ3MpICYmIGlzc2V0KCRtb2R1bGVfbGlua3NbJGxhbmdbMF1bJ2xhbmdjb2RlJ11dKSkJcmV0dXJuICRtb2R1bGVfbGlua3M7DQoJCSRvdXRwdXQgPSBhcnJheSgpOw0KCQlmb3JlYWNoKCRsYW5ncyBhcyAkb25lbGFuZyl7DQoJCQkkb3V0cHV0WyRvbmVsYW5nWydsYW5nY29kZSddXSA9IGZhbHNlOw0KCQl9DQoJCSRidG5fdGV4dCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ1c2VfcGFnZV90aXRsZSIsZmFsc2UpPyIiOiRuZXdsYW5nWydtZW51X25hbWUnXTsNCg0KCQkvLyB3ZSByZXRyaWV2ZSB0aGUgYWx0ZXJuYXRpdmVzIGZyb20gdGhlIGNvbnRlbnQgYmxvY2sNCgkJJG90aGVyX2xhbmd1YWdlcyA9ICRnQ21zLT5zbWFydHktPmdldF90ZW1wbGF0ZV92YXJzKCdvdGhlcl9sYW5ndWFnZXMnKTsNCgkJJGFsdGVybmF0aXZlcyA9IGFycmF5KCk7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCSR3aGVyZSA9ICIiOw0KCQlmb3JlYWNoICggZXhwbG9kZSgnOycsICRvdGhlcl9sYW5ndWFnZXMpIGFzICRvbmVsYW5nICl7DQoJCQkkd2hlcmUgLj0gKCR3aGVyZT09IiI/IiI6IiBPUiAiKS4iYWxpYXM9PyI7DQoJCQkkYWx0ZXJuYXRpdmVzW3N1YnN0cigkb25lbGFuZyw2KV0gPSBzdWJzdHIoJG9uZWxhbmcsMCw1KTsNCgkJCWFycmF5X3B1c2goJHdoZXJldmFsdWVzLCBzdWJzdHIoJG9uZWxhbmcsNikpOw0KCQl9DQoJCSRxdWVyeSA9ICJTRUxFQ1QgbWVudV90ZXh0LCBjb250ZW50X25hbWUsIGFsaWFzLCBoaWVyYXJjaHlfcGF0aCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJjb250ZW50IFdIRVJFICgiLiR3aGVyZS4iKSI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksICR3aGVyZXZhbHVlcyk7DQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCSRvdXRwdXRbJGFsdGVybmF0aXZlc1skcm93WyJhbGlhcyJdXV0gPSBhcnJheSgidXJsIj0+JGJhc2VfdXJsLiRyb3dbImhpZXJhcmNoeV9wYXRoIl0sICJuYW1lIj0+JHJvd1siY29udGVudF9uYW1lIl0sICJtZW51X3RleHQiPT4kcm93WyJtZW51X3RleHQiXSk7DQoJCX0NCgkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoJ2RlZmF1bHRfaGlkZScsIGZhbHNlKSkJcmV0dXJuICRvdXRwdXQ7DQoJCQ0KCQkvLyB3ZSBjaGVjayBmb3IgZGVmYXVsdCBhbHRlcm5hdGl2ZXMNCgkJJHdoZXJlID0gIiI7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCSRpZHRvbGFuZyA9IGFycmF5KCk7DQoJCWZvcmVhY2goJG91dHB1dCBhcyAkbGFuZz0+JHBhdGgpew0KCQkJaWYoISRwYXRoKXsNCgkJCQkkd2hlcmUgLj0gKCR3aGVyZT09IiI/IiI6IiBPUiAiKS4iY29udGVudF9pZD0/IjsNCgkJCQlhcnJheV9wdXNoKCR3aGVyZXZhbHVlcywgJGxhbmdzWyRsYW5nXVsnZGVmYXVsdF9pZCddKTsNCgkJCQkkaWR0b2xhbmdbJGxhbmdzWyRsYW5nXVsnZGVmYXVsdF9pZCddXSA9ICRsYW5nOw0KCQkJfQ0KCQl9DQoJCWlmKCR3aGVyZSA9PSAiIikJcmV0dXJuICRvdXRwdXQ7DQoJCQ0KCQkkcXVlcnkgPSAiU0VMRUNUIG1lbnVfdGV4dCwgY29udGVudF9uYW1lLCBjb250ZW50X2lkLCBoaWVyYXJjaHksIGhpZXJhcmNoeV9wYXRoIEZST00gIiAuIGNtc19kYl9wcmVmaXgoKS4iY29udGVudCBXSEVSRSAoIi4kd2hlcmUuIikiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkd2hlcmV2YWx1ZXMpOw0KCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkb3V0cHV0WyRpZHRvbGFuZ1skcm93WyJjb250ZW50X2lkIl1dXSA9IGFycmF5KCJ1cmwiPT4kYmFzZV91cmwuJHJvd1siaGllcmFyY2h5X3BhdGgiXSwgIm5hbWUiPT4kcm93WyJjb250ZW50X25hbWUiXSwgIm1lbnVfdGV4dCI9PiRyb3dbIm1lbnVfdGV4dCJdKTsNCgkJfQ0KCQlyZXR1cm4gJG91dHB1dDsNCgl9DQoNCglmdW5jdGlvbiBnZXRfYmFzZV91cmwoKXsNCgkJZ2xvYmFsICRnQ21zOw0KCQkkcmVkaXJlY3Rpb24gPSBmYWxzZTsNCgkJaWYoaXNzZXQoJGdDbXMtPmNvbmZpZ1sidXJsX3Jld3JpdGluZyJdKSl7DQoJCQkvLyBjb3JlIDEuNiBvciBtb3JlDQoJCQkkcmVkaXJlY3Rpb24gPSAkZ0Ntcy0+Y29uZmlnWyJ1cmxfcmV3cml0aW5nIl07DQoJCX1lbHNlew0KCQkJLy8gY29yZSBiZWxvdyAxLjYNCgkJCWlmKCRnQ21zLT5jb25maWdbImFzc3VtZV9tb2RfcmV3cml0ZSJdKXsNCgkJCQkkcmVkaXJlY3Rpb24gPSAibW9kX3Jld3JpdGUiOw0KCQkJfWVsc2VpZighJGdDbXMtPmNvbmZpZ1siYXNzdW1lX21vZF9yZXdyaXRlIl0gJiYgJGdDbXMtPmNvbmZpZ1siaW50ZXJuYWxfcHJldHR5X3VybHMiXSl7DQoJCQkJJHJlZGlyZWN0aW9uID0gImludGVybmFsIjsNCgkJCX0NCgkJfQ0KCQkkYmFzZXVybCA9ICRnQ21zLT5jb25maWdbJ3Jvb3RfdXJsJ107DQoJCWlmKCRyZWRpcmVjdGlvbiA9PSAibW9kX3Jld3JpdGUiKXsNCgkJCSRiYXNldXJsIC49ICcvJzsNCgkJfWVsc2VpZigkcmVkaXJlY3Rpb24gPT0gImludGVybmFsIil7DQoJCQkkYmFzZXVybCAuPSAnL2luZGV4LnBocC8nOw0KCQl9ZWxzZXsNCgkJCSRiYXNldXJsIC49ICcvaW5kZXgucGhwPycuJGdDbXMtPmNvbmZpZ1sncXVlcnlfdmFyJ10uJz0nOw0KCQl9DQoJCXJldHVybiAkYmFzZXVybDsNCgl9DQoJDQoJZnVuY3Rpb24gbW9kdWxlX2dldF91cmwoKXsNCgkJcmV0dXJuIGFycmF5KCk7DQoJCS8vIGV2ZW50dWFsbHksIHNvbWUgY3VzdG9tIGNvZGUgaGVyZSBjYW4gY2hlY2sgaWYgd2UgYXJlIGluIGEgbW9kdWxlIGFjdGlvbg0KCQkvLyBhbmQgcmV0cmlldmUgbGFuZ3VhZ2UgbGlua3MgZnJvbSB0aGUgbW9kdWxlDQoJfQ0KCQ0KfQ0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/changelog.txt</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[VkVSU0lPTiAwLjMuMToKCS0gc29sdmVkIGJ1ZyAjMzk1OSAoaHR0cCA0MDQgZXJyb3Igb24gcmVkaXJlY3Rpb24pCgpWRVJTSU9OIDAuMzoKCS0gY2hhbmdlZCB0aGUgY29kZSB0byBtaW5pbWl6ZSB0aGUgYW1vdW50IG9mIHF1ZXJpZXMKCS0gcmVwbGFjZWQgbGlua3Mgd2l0aCB1cmxzCgpWRVJTSU9OIDAuMjogZmlyc3QgcHVibGljIHZlcnNpb24K]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhMAAwAOeOAAAAADo6Oj09PT8/P0BAQEFBQUJCQkNDQ0REREVFRUZGRkdHR0hISElJSUpKSktLS0xMTE1NTU5OTk9PT1BQUFFRUVJSUlNTU1RUVFVVVVZWVldXV1hYWFlZWVpaWltbW1xcXF1dXV5eXl9fX2BgYGFhYWJiYmNjY2RkZGVlZWZmZmdnZ2hoaGlpaWpqamtra2xsbG1tbW5ubm9vb3BwcHFxcXJycnNzc3R0dHV1dXZ2dnd3d3h4eHl5eXp6ent7e3x8fH19fX5+fn9/f4CAgIGBgYKCgoODg4SEhIWFhYaGhoeHh4iIiImJiYqKiouLi4yMjI2NjY6Ojo+Pj5CQkJGRkZKSkpOTk5SUlJWVlZaWlpeXl5iYmJmZmZqampubm5ycnJ2dnZ6enp+fn6CgoKGhoaKioqOjo6SkpKWlpaampqenp6ioqKmpqaqqqqurq6ysrK2tra6urq+vr7CwsLGxsbKysrOzs7S0tLW1tba2tre3t7i4uLm5ubq6uru7u7y8vL6+vr+/v8DAwMHBwcLCwsTExMXFxcfHx8vLy83NzdDQ0NPT09fX1////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////yH+EUNyZWF0ZWQgd2l0aCBHSU1QACH5BAEKAP8ALAAAAAAwADAAAAj+AMeUUXMGipAfPIYI8bFDx44fQGawYOHiRIoTJVKoSFGCxQwZMGTIiDFSBo0ZIUfGiPHiBZcvY+DAkXIEiY4eQIQAyQFRRwsUJz6IIGHiRNETKly4WKG0hYwXNmzQoEGyKkssXp4wUaIFjpksUZLs6IHDhg4WJVSsaNFiRQoUF1ewaKECxYoZO2romCFVxpAjQYL0uDEDTR0zU5pgOYPGCxcvNHncoGEixVuNP1G0gAGD5Yq6NoD88KGjRo0YOYIY+TvEBpoya7I8wWLGzZbbX7hw+WFDhVGkGlFQVEqSBowWNgLzAFKjhw6TPIQMMRKEjBgwYcyQccMmTh07drT+dLnSg4aMGjPotrDM4oVSvT168DDCBYkRJESKEDlShId8IdaBIUYYYaQBhhpirHGHGFlIgQMNN9yQwwwvxDBVDBc5VYMNPgSBBBhdZGHFE07wB0RgQQhRxhcCguFFFliU4cUZdFihxRNA9FBGGVnUQEMLSsFQQw44tPCCDD78MEQXYHyxhRa5ddEFdTmFQUYXXmzxRBJNSFGFFV50wQUWXWChBFdUjNEDDE21wNILGgJBxhhjgGGnnV1YUQUURUyRpRVXNLEEE1TAmEUWW0zBRBNFFMGllizI1QJF7bkQQ4RTkFFGGCyCoYUWV1RBRZdWTLHEEmdylQUXIkZRhBD++qmmnxAuaKaCWm3CMMOHZIThRW5bjBnqFElUEYUTTzSBhH5baWFFE8j+YEQROtjwVA4nwTBXCi5E6gIMPmzhBYFhcKGFF796YYURTSSBxBJHDIEfQjolsYQTSTARAw8s2EXXtyvJkAIJKaywAg1abAqGblisyuoVqFInhH1FKAQrDkKkaoQPQBCMggkUwfCCD5vB4JsKMUgxxoBiZKkFF1hqMQUUXUYhBRVSKLHEFErYMNFEJ4zQkQkZrcBmyd++wOYLLChhRhramdvFF190AUUUV0cxRRVYXIFFGFYUEQNwJhC1UcFszTBDt0bG0MINpgFxRRlkpJGGjHWDQYX+zVBQ8SUVWoz60hRIwCDCCSegcOtGbZmgAgw0AFEEDjIsm5MRSjQBBRhrSPFFGnBkEeKqXWgBYxNKXJ1FE1gD0Z5vIlRAQQUXgIDCByaEUMMNNnwwggtNHFTEfRz7QIQYYnBhZZinMyHFE3s3MYUWWOgAxA0lcMBBBhFAgMEFGGjgwfgggFACGmqYsQUYaGgRxRJDrIEdGGN058UVT1QxBRWFXiGmiPq7QQc0kAHxhcADFpBABCSwgQ6AwARrQAOdvICdMIihC2mggxvg0AYviEEPfOjDH+JwqC10QQxfIBNkoJCEKVxhCDkYgQY2wIENEFADE7BAGLizhjPMaQz+TDKDGt5gBjqFgQ118MMc+mCHJwAGBz7IQQ+E0AQagEAFPGBaBy5gAS5awAIaACMLhMC5NdytDChUwxjO0CQvkMEMb9iDH9jQBynIEAMWoIAEMMCBCTCAARVogAMoQIEHWOABEQDj7CoAAiSg725mWNERkmCF9WlBCVKo5BissIQZETFZOIBABihwgQlAoAIVyGMEurdABuRxAhwgAhrOUIaV1QkISPASFYYQBFRJgUxaIcMbwGAGCirBAwlggAMmgAEMZKCLEnAABCZAgQRKQANDgNpreiUGjhFhNWMBwiShEKInTHALYSjDGUBlgtkpEwIWCAEHLJBKDMiOAhv+2AEZzsAY7aBhNDqAmw50EIQMoOAGRBhLD77ZBCY4IQp7SxZgVBCCD2jgAg6QZiozgIENxGANbFiDG9oA0iAM4QejQcITpBABDHzgBTjIERBukgMg7EcJKEXIckDQQI5awJQRqEAHXLAjH9KtDEA4keT8p4UIcJGPJegBEoYwhB6kSAhCIIIQVDMEIvAgBzXIQAYusAF7SgACIRiDENHwGhR2gUBo7MIYFgABCdCTdhOoQAQ6QIMVaICPz7yAB1AQxSJ9YAJj/WleO2ADJqSBDKwCg3XQwAbukOEBEtCrXmd3AfBNIAKzk0BeG9iBD3BAA9xqQQcakFlCYsADrhH+CBhqeYUvsAEHIxiBAxqgAAc8oAEPMOQG6EnKCTyAlOHjQAc2cAE9MnOPE2jABMAXA+6kYQ1QyNwTrnBRxU7grBJYpGLvCQEINAABDAhucBeISgpM1wIYOC4ItBOGMURBczazwCofkNdUwpeAz3Sm9vjIge9VAAJ/RIABEJBX5GpgdiNwERfEMLMnIKEGFXBA9wDJUdqNtaOdhW/tQhCCBpaVAhB4wAIQgAAFgE+xHciCY8QgBS/BAAQgbq4FmLtjGm5ArATsYgcyUOAZ/rWLFuhABzyAAQcc4AAO2MB9QoUFKjhBBgO8QAXE2sy/dqCGF82Ajy3ggQ58L3wX3XL+R/8qZgwwoAAE+EEQzpSFKQhhBIf1qQXG2tkbfo8CHiiwYD9Q1gsAOXyl1J4N8+jMESTEoVGQXQT+2IAGJEABByBAiysd3MyGIIwZqIAGwpgCD/x41KVdbgFJOUAPuGANS3jCKTfwAQ+EWoHKRGQEHmDeBSjAAinIaEtrqIQLaG+5vgOBCAJt6CFz4ARjmAEQMHsBDSxXezU8rYm/F0YFWIEBCmBAAhzAAC544AMfkOcIQqDsMmughjQUQRU+/eLTvhufHGByR8s8vncfQAczHAEKNqCG0z4gAQugAAfwTGjTlm/JRSjrdy8wZLGmcrofkEAGal1aG1LgDDcQQL/0LjAEEoBgBCT4tAQWkOQll7bWHmCCBMKbQw40F8hlBUFnQ6DkEi95A4hQQBBC0IIlsHvduCtBCTIwyI4KbQQgOAIBFqDAJB971DRkNwk8kNsSlHnJD0DBF9QACMMNcANcD4EIlG5ym5N1AzQggAGe3FsFvn3J5UOBCEZAtBEomQQdSOshFrEDEJi2hiSuqNIdSAJCY6ADsrN5ASBwAAMMQAHhZoBdO/qBxpcAzyU4wQSYYAhFpMEDIBgfrcvHgbXXWu0gICDFXzCCDAihB0XgNhhR/+W86lcBBhCzB06wBTUU4twjWPayP5B6EnCgfCL46wUCAgA7]]></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[PD9waHANCiRsYW5nWyJmcmllbmRseW5hbWUiXSA9ICJCYWJlbDogTXVsdGlsaW5ndWFsIHNpdGUiOw0KJGxhbmdbIm1vZGRlc2NyaXB0aW9uIl0gPSAiQWxsb3dzIHRoZSBtYW5hZ2VtZW50IG9mIChhbmQgbmF2aWdhdGlvbiB0aHJvdWdoKSBtdWx0aXBsZSBsYW5ndWFnZXMgZm9yIHRoZSBmcm9udGVuZC4iOw0KJGxhbmdbImFkbWluZGVzY3JpcHRpb24iXSA9ICJNYW5hZ2UgZnJvbnRlbmQgbGFuZ3VhZ2VzIGFuZCBtdWx0aWxpbmd1YWwgYmVoYXZpb3JzLiI7DQoNCiRsYW5nWyJhY3RpdmUiXSA9ICJBY3RpdmUiOwoKJGxhbmdbImxhbmd1YWdlIl0gPSAiTGFuZ3VhZ2UiOw0KJGxhbmdbImxhbmd1YWdlcyJdID0gIkxhbmd1YWdlcyI7DQokbGFuZ1siYWRkX2xhbmd1YWdlIl0gPSAiQWRkIGxhbmd1YWdlIjsKJGxhbmdbImFkZF9lbnRyeSJdID0gIkFkZCBhIG5ldyBsYW5ndWFnZSBlbnRyeSI7CiRsYW5nWyJlbnRyeSJdID0gIkxhbmd1YWdlIGVudHJ5IjsNCiRsYW5nWyJlZGl0X2xhbmd1YWdlIl0gPSAiRWRpdCBsYW5ndWFnZSI7CiRsYW5nWyJuYW1lIl0gPSAiTmFtZSI7CiRsYW5nWyJlbnRyeW5hbWUiXSA9ICJFbnRyeSBuYW1lICh1c2VkIHRvIGNhbGwgdGhpcyBsYW5ndWFnZSBlbnRyeSkiOwokbGFuZ1sibWVudV9uYW1lIl0gPSAiTWVudSBuYW1lIjsKJGxhbmdbImxhbmdjb2RlIl0gPSAiTGFuZ3VhZ2UgY29kZSI7CiRsYW5nWyJsYW5nY29kZV9wcm9tcHQiXSA9ICJMYW5ndWFnZSBjb2RlIChlZzogZW5fVVMgKSI7CiRsYW5nWyJyb290X2lkIl0gPSAiUm9vdCBwYWdlIGFzc29jaWF0ZWQgd2l0aCB0aGUgbGFuZ3VhZ2UiOwokbGFuZ1siZGVmYXVsdF9pZCJdID0gIkRlZmF1bHQgcGFnZSBmb3IgcmVkaXJlY3Rpb24gdG8gdGhpcyBsYW5ndWFnZSI7CiRsYW5nWyJsYW5nc2VsZWN0Il0gPSAiKG9wdGlvbmFsKSBBdXRvLWZpbGwgZm9yIHRoZSBmb2xsb3dpbmcgbGFuZ3VhZ2U6IjsKJGxhbmdbImlzZGVmYXVsdCJdID0gIkRlZmF1bHQ/IjsKJGxhbmdbImFjdGlvbnMiXSA9ICJBY3Rpb25zIjsKJGxhbmdbImFjdGl2ZSJdID0gIkFjdGl2ZSI7DQokbGFuZ1sicHJvbXB0X2RlbGV0ZWxhbmd1YWdlIl0gPSAiUmVhbGx5IGRlbGV0ZSB0aGlzIGxhbmd1YWdlICglcyk/IjsKCiRsYW5nWyJzdWJtaXQiXSA9ICJTdWJtaXQiOwokbGFuZ1siY2FuY2VsIl0gPSAiQ2FuY2VsIjsKJGxhbmdbImFwcGx5Il0gPSAiQXBwbHkiOw0KCiRsYW5nWyJlZGl0X2VudHJpZXMiXSA9ICJFZGl0IGxhbmd1YWdlIGVudHJpZXMiOwoKCgoNCiRsYW5nWyJ0ZW1wbGF0ZWhlbHAiXSA9ICc8dWw+CjxsaT4kbGFuZ3VhZ2VzIChhcnJheSBvZiAkbGFuZ3VhZ2UpPC9saT4NCjxsaT4kbGFuZ3VhZ2UtJmd0O25hbWU8L2xpPg0KPGxpPiRsYW5ndWFnZS0mZ3Q7Y29kZTwvbGk+DQo8bGk+JGxhbmd1YWdlLSZndDttZW51X25hbWU8L2xpPgo8bGk+JGxhbmd1YWdlLSZndDtwYWdlX25hbWU8L2xpPgo8bGk+JGxhbmd1YWdlLSZndDtwYWdlX21lbnVfdGV4dDwvbGk+DQo8bGk+JGxhbmd1YWdlLSZndDt1cmw8L2xpPg0KPGxpPiRsYW5ndWFnZS0mZ3Q7aXNfY3VycmVudDwvbGk+DQo8L3VsPic7CgkKLy8gR0VORVJBTAokbGFuZ1siYWN0aXZhdGUiXSA9ICJBY3RpdmF0ZSI7CiRsYW5nWyJ1bmFjdGl2YXRlIl0gPSAiVHVybiBvZmYiOwokbGFuZ1sic2VhcmNodGhpc3RhYmxlIl0gPSAiU2VhcmNoIHRoaXMgdGFibGUgZm9yOiI7CiRsYW5nWyJZZXMiXSA9ICJZZXMiOwokbGFuZ1siTm8iXSA9ICJObyI7CiRsYW5nWyJBY3Rpb25zIl0gPSAiQWN0aW9ucyI7CiRsYW5nWyJyZW9yZGVyIl0gPSAiUmVvcmRlciI7CiRsYW5nWyJsaXN0dGVtcGxhdGUiXSA9ICJMaXN0IHRlbXBsYXRlIGZvciI7CiRsYW5nWyJ0ZW1wbGF0ZXMiXSA9ICJNZW51IHRlbXBsYXRlcyI7CiRsYW5nWyJ0ZW1wbGF0ZSJdID0gIlRlbXBsYXRlIjsKJGxhbmdbImRlZmF1bHR0ZW1wbGF0ZSJdID0gIkRlZmF1bHQgdGVtcGxhdGUiOwokbGFuZ1sidGVtcGxhdGV2YXJzIl0gPSAiVGVtcGxhdGUgdmFyaWFibGVzIjsKJGxhbmdbImVkaXR0ZW1wbGF0ZSJdID0gIkVkaXQgdGVtcGxhdGUiOwokbGFuZ1siZGVmdGVtcGxhdGVmb3IiXSA9ICJEZWZhdWx0IGxpc3QgdGVtcGxhdGUgZm9yIGxldmVsICI7CiRsYW5nWyJkZWZkZXRhaWx0ZW1wbGF0ZSJdID0gIkRlZmF1bHQgZGV0YWlsIHRlbXBsYXRlIjsKJGxhbmdbImRlZnNlYXJjaHJlc3VsdHN0ZW1wbGF0ZSJdID0gIkRlZmF1bHQgdGVtcGxhdGUgZm9yIHNlYXJjaCByZXN1bHRzIjsKJGxhbmdbInVzZWxldmVsbGlzdHRwbCJdID0gIlVzZSB0aGUgbGlzdCB0ZW1wbGF0ZSBvZiB0aGUgYXBwcm9wcmlhdGUgbGV2ZWwiOwokbGFuZ1siYWRkdGVtcGxhdGUiXSA9ICJBZGQgdGVtcGxhdGUiOwokbGFuZ1siZmlsdGVyYnkiXSA9ICJGaWx0ZXIgYnkiOwokbGFuZ1sic2hvd2FsbCJdID0gIlNob3cgYWxsIChubyBmaWx0ZXIpIjsKJGxhbmdbImZpZWxkb3B0aW9ucyJdID0gIkZpZWxkIG9wdGlvbnMiOwokbGFuZ1siYWRkb3B0aW9uIl0gPSAiQWRkIGFuIG9wdGlvbiI7CiRsYW5nWyJtb2RpZnlhbm9wdGlvbiJdID0gIk1vZGlmeSBhbiBvcHRpb24iOwokbGFuZ1sibWVzc2FnZV9kZWxldGVkIl0gPSAiRWxlbWVudCBkZWxldGVkIjsKJGxhbmdbIm1lc3NhZ2VfbW9kaWZpZWQiXSA9ICJNb2RpZmljYXRpb24gc2F2ZWQiOwokbGFuZ1sid2FybmluZ190YWIiXSA9ICJOb3RpY2U6IFNhdmUgY2hhbmdlcyBpbiBvdGhlciB0YWJzIGJlZm9yZSB3b3JraW5nIGluIHRoaXMgb25lLi4uIjsKJGxhbmdbImVycm9yX21pc3NnaW52YWx1ZSJdID0gIk9uZSBvciBtb3JlIG5lY2Vzc2FyeSB2YWx1ZXMgaGF2ZSBub3QgYmVlbiBlbnRlcmVkLiI7CiRsYW5nWyJlcnJvcl9hbHJlYWR5ZXhpc3RzIl0gPSAiVGhlcmUgaXMgYWxyZWFkeSBhbiBlbGVtZW50IGJlYXJpbmcgdGhhdCBuYW1lLiI7CiRsYW5nWyJlcnJvcl9kYXRlIl0gPSAiVGhlIGRhdGUgeW91IGhhdmUgZW50ZXJlZCBpcyBpbnZhbGlkLiI7CiRsYW5nWyJlcnJvcl9ub3BhcmVudCJdID0gIk5vIHBhcmVudCBpcyBkZWZpbmVkISI7CiRsYW5nWyJlcnJvcl9ub3Rmb3VuZCJdID0gIlRoZSBpdGVtIGNvdWxkIG5vdCBiZSBmb3VuZC4iOwokbGFuZ1siZXJyb3Jfbm9pdGVtZm91bmQiXSA9ICJObyBpdGVtIGZvdW5kLiI7CiRsYW5nWyJlcnJvcl9kZW5pZWQiXSA9ICJQZXJtaXNzaW9uIGRlbmllZCI7CiRsYW5nWyJlcnJvcl93cm9uZ3F1ZXJ5Il0gPSAiSW52YWxpZCBxdWVyeS4iOwokbGFuZ1siZXJyb3JfZmVhZGRkZW5pZWQiXSA9ICJZb3UgZG8gbm90IGhhdmUgc3VmZmljaWVudCBhY2Nlc3MgdG8gY29udGludWUuIjsKJGxhbmdbImVycm9yX3dyb25nZmlsZXR5cGUiXSA9ICJUaGlzIHR5cGUgb2YgZmlsZSBpcyBub3QgYWxsb3dlZCBoZXJlLiI7CiRsYW5nWyJlcnJvcl9jYXB0Y2hhIl0gPSAiVGhlIHRleHQgZ2l2ZW4gZG9lcyBub3QgbWF0Y2ggdGhlIGNhcHRjaGEgaW1hZ2UuIjsKJGxhbmdbImVycm9yX2ZpbGV0b29iaWciXSA9ICJUaGUgZmlsZSBpcyB0byBiaWcgdG8gYmUgdXBsb2FkZWQgaGVyZS4iOwokbGFuZ1siZ2l2ZW5lcnJvciJdID0gIkVycm9yOiAiOwokbGFuZ1siZmluYWx0ZW1wbGF0ZSJdID0gIkRpc3BsYXkgdGVtcGxhdGUgZm9yIGZpbmFsIGxldmVsIChzbGlkZXMpIjsKJGxhbmdbInByb21wdF9kZWxldGVvcHRpb24iXSA9ICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXMgb3B0aW9uPyI7CiRsYW5nWyJwcm9tcHRfZ2VuZXJhbGRlbGV0ZSJdID0gIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcz8iOwokbGFuZ1sicHJvbXB0X2NhcHRjaGEiXSA9ICJFbnRlciB0aGUgdGV4dCBmcm9tIHRoZSBpbWFnZS4iOwokbGFuZ1sicXVlcmllcyJdID0gIlF1ZXJpZXMiOwokbGFuZ1sicXVlcnkiXSA9ICJRdWVyeSI7CiRsYW5nWyJyZXN1bHRzIl0gPSAiUmVzdWx0cyI7CiRsYW5nWyJjcmVhdGVxdWVyeSJdID0gIkNyZWF0ZSBhIG5ldyBxdWVyeSI7CiRsYW5nWyJwcm9tcHRfcXVlcnkiXSA9ICJDcmVhdGUgYSBxdWVyeSBmb3Igd2hpY2ggbGV2ZWw/IjsKJGxhbmdbIm9yZGVyYnlmaWVsZCJdID0gIk9yZGVyIGJ5IjsKJGxhbmdbImRhdGVfbW9kaWZpZWQiXSA9ICJEYXRlIG1vZGlmaWVkIjsKJGxhbmdbImZyb250ZW5kX3N1Ym1pdCJdID0gIlN1Ym1pdCI7CgoKLy8gTU9EVUxFIElOVEVSQUNUSU9OCiRsYW5nWyJwb3N0aW5zdGFsbCJdID0gIk1vZHVsZSBzdWNjZXNzZnVsbHkgYWRkZWQuIjsKJGxhbmdbInBvc3R1bmluc3RhbGwiXSA9ICJNb2R1bGUgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuIjsKJGxhbmdbInJlYWxseV91bmluc3RhbGwiXSA9ICJBbGwgb2YgdGhpcyBtb2R1bGUncyBjb250ZW50IHdpbGwgYmUgbG9zdC4gQ29udGludWU/IjsKJGxhbmdbInVuaW5zdGFsbGVkIl0gPSAiTW9kdWxlIFVuaW5zdGFsbGVkLiI7CiRsYW5nWyJpbnN0YWxsZWQiXSA9ICJNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuIjsKJGxhbmdbImhlbHAiXSA9ICI8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4KCQkJCTxwPlRoaXMgbW9kdWxlIG1hbmFnZXMgbXVsdGlwbGVzIGxhbmd1YWdlcyBmb3IgdGhlIGZyb250ZW5kIGFuZCBuYXZpZ2F0aW9uIHRocm91Z2ggdGhlIGxhbmd1YWdlcy48L3A+CgkJCTxici8+PGgzPkhvdyBEbyBJIFVzZSBJdD88L2gzPgoJCQkJPGJyLz48aDQ+VHJlZSBicmFuY2hlczwvaDQ+CgkJCQkJPHA+VGhpcyBtb2R1bGUgdXNlcyBhbiBhcHByb2FjaCB0byBtdWx0aWxpbmd1YWwgc2l0ZXMgY2FsbGVkIFwic2VwYXJhdGVkIHRyZWUgYnJhbmNoZXNcIiwgd2hpY2ggaGFzIGJlZW4gZGV2ZWxvcHBlZCBieSBvdGhlciBjbXNtcyBkZXZlbG9wZXJzIChuYW1lbHkgTWFyY29zIENydXogLSBzZWUgPGEgaHJlZj1cImh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZy9pbmRleC5waHAvdG9waWMsMTkwOTkubXNnOTQ3NDkuaHRtbCNtc2c5NDc0OVwiIHRhcmdldD1cIl9ibGFua1wiPnRoaXMgdG9waWM8L2E+KS48L3A+PGJyLz4KCQkJCQk8cD5TaG91bGQgeW91IG5lZWQgdG8gdXNlIGl0IGluIHlvdXIgdGVtcGxhdGVzLCB0aGUgY3VycmVudCBsYW5ndWFnZSBjb2RlIHdpbGwgYmUgc3RvcmVkIGluIHRoZSAkIi4icGFnZV9sYW5nIHZhcmlhYmxlLjwvcD4KCQkJCTxoND5QYXJ0IDE6IHNldHRpbmcgdXAgdGhlIHBhZ2VzPC9oND4JCQkKCQkJCQk8cD5UbyB1c2UgdGhpcywgeW91IHdpbGwgaGF2ZSB0byBjcmVhdGUgZGlmZmVyZW50IHJvb3QgcGFnZXMgZm9yIGVhY2ggbGFuZ3VhZ2UuIEZvciBleGFtcGxlOjwvcD4KCQkJCQk8dWw+CgkJCQkJCTxsaT4xLiBFbmdsaXNoPHVsPgoJCQkJCQkJPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMi4gMm5kIHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJCTxsaT4yLiBGcmFuJmNjZWRpbDthaXM8dWw+CgkJCQkJCQk8bGk+Mi4xLiBQYWdlIDE8L2xpPgoJCQkJCQkJPGxpPjIuMi4gUGFnZSAyPC9saT4KCQkJCQkJCTxsaT4yLjMuIFBhZ2UgMzwvbGk+CgkJCQkJCTwvdWw+PC9saT4KCQkJCQk8L3VsPgoJCQkJCTxwPlJvb3QgbGFuZ3VhZ2UgcGFnZXMgKDEuIGFuZCAyLikgc2hvdWxkIGJlIHNlY3Rpb24gaGVhZGVycy4gWW91IGNhbiBuYW1lIHRoZW0gKGFsaWFzIGFuZCBhbGwpIGFueSB3YXkgeW91IHdhbnQuPC9wPgoJCQkJCTxwPkluIG9yZGVyIHRvIGRpc3BsYXkgbWVudSBjb3JyZWN0bHkgKHRoYXQgaXMsIG5vdCB0byBkaXNwbGF5IGxhbmd1YWdlIGhlYWRlciBwYWdlcyBhbmQgcGFnZXMgYmVsb25naW5nIHRvIG90aGVyIGxhbmd1YWdlcyksIGFsbCB5b3UgaGF2ZSB0byBkbyBpcyBhZGQgdGhlIHN0YXJ0X2xldmVsPVwiMlwiIHRvIHlvdXIgbWVudSB0YWdzOjxici8+CgkJCQkJe21lbnUgc3RhcnRfbGV2ZWw9XCIyXCJ9PC9wPgoJCQkJPGJyLz48aDQ+UGFydCAyOiBzZXR0aW5nIHVwIHRoZSBsYW5ndWFnZXM8L2g0PgoJCQkJCTxwPk5leHQsIGdvIHRvIEV4dGVuc2lvbnMtJmd0O0JhYmVsOiBNdWx0aWxpbmd1YWwgc2l0ZS4gRm9yIGVhY2ggbGFuZ3VhZ2UsIGNsaWNrIEFkZCBMYW5ndWFnZSBhbmQgZW50ZXIgdGhlIGFwcHJvcHJpYXRlIGluZm9ybWF0aW9ucy4gVGhlIFwiUm9vdCBwYWdlXCIgc2hvdWxkIGJlIHRoZSBzZWN0aW9uIGhlYWRlcnMgeW91J3ZlIGNyZWF0ZWQgZm9yIGVhY2ggbGFuZ3VhZ2UgKDEuRW5nbGlzaCwgMi5GcmFuJmNjZWRpbDthaXMpLiBUaGUgXCJEZWZhdWx0IHBhZ2VcIiBzaG91bGQgYmUgdGhlIGhvbWUgcGFnZSBmb3IgZWFjaCBsYW5ndWFnZS4gQXMgb2YgdGhlIGxhbmd1YWdlIGNvZGUsIHlvdSBjb3VsZCB1c2UgYW55IDUgY2hhcmFjdGVycyBjb2RlLCBidXQgaW4gb3JkZXIgdG8gcHJvdmlkZSBnb29kIGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgbW9kdWxlcywgeW91IHNob3VsZCB1c2UgdGhlIHNhbWUgYXMgdGhlIGNtcyAoeW91IG1heSB1c2UgdGhlIGRyb3AgZG93biBsaXN0IG9uIHRoZSB0b3AgcmlnaHQgdG8gcGFydGlhbGx5IGZpbGwgdGhlIGZvcm0pLjwvcD4KCQkJCQk8cD4oICpXaGVuIHJlYWR5LCBtYWtlIHN1ciB5b3UgYWN0aXZhdGUgZWFjaCBsYW5ndWFnZS4uLiApPC9wPgoJCQkJPGJyLz48aDQ+UGFydCAzOiBMYW5ndWFnZSBtZW51PC9oND4KCQkJCQk8cD5UbyBnZXQgYSBsYW5ndWFnZSBtZW51LCB5b3UgbWF5IHVzZSB0aGUgZm9sbG93aW5nIHRhZzo8YnIvPgoJCQkJCXtiYWJlbCBhY3Rpb249XCJtZW51XCJ9PGJyLz4KCQkJCQlvciwgdG8gdXNlIGEgdGVtcGxhdGUgb3RoZXIgdGhhbiB0aGUgZGVmYXVsdCBvbmU6PGJyLz4KCQkJCQl7YmFiZWwgYWN0aW9uPVwibWVudVwiIHRlbXBsYXRlPVwidGVtcGxhdGVfbmFtZVwifTwvcD4KCQkJCQk8cD5UaGUgXCJzaG93XCIgcGFyYW1ldGVyIGNhbiBiZSB1c2VkIHRvIGNob29zZSB3aGljaCBsYW5ndWFnZXMgc2hvdWxkIGJlIGRpc3BsYXllZC48L3A+CgkJCQk8YnIvPjxoND5QYXJ0IDQgKG9wdGlvbmFsKSA6IEN1c3RvbSBsYW5ndWFnZSBlbnRyaWVzPC9oND4KCQkJCQk8cD5JbiBtb2R1bGVzLCBnbG9iYWwgY29udGVudCBibG9ja3Mgb3Igd2hhdHNvZXZlciwgeW91IHdpbGwgbmVlZCB0byBjaGFuZ2UgdGhlIGNvbnRlbnQgZGVwZW5kaW5nIG9uIHRoZSBsYW5ndWFnZS4gVGhlIHRyYWRpdGlvbmFsIHdheSB0byBkbyB0aGlzIHdhcyB0byBjcmVhdGUgY29uZGl0aW9ucyB3aXRoIHRoZSBwYWdlX2xhbmcgdmFyaWFibGU6PGJyLz4KCQkJCQl7aWYgJCIuInBhZ2VfbGFuZyA9PSBcImVuX1VTXCJ9RW5nbGlzaCB0ZXh0e2Vsc2VpZiAkIi4icGFnZV9sYW5nID09IFwiZnJfRlJcIn1UZXh0ZSBlbiBmcmFuJmNjZWRpbDthaXN7L2lmfTwvcD4KCQkJCQk8cD5XaWxsIHlvdSBjYW4gc3RpbGwgdXNlIHRoaXMgbWV0aG9kIHdpdGggdGhlIG1vZHVsZSwgYW5vdGhlciBtb3JlIGNlbnRyYWxpemVkIHdheSBpcyBwcm92aWRlZC4gSW4gdGhlIGFkbWluIHBhbmVsIG9mIHRoaXMgbW9kdWxlLCB5b3Ugd2lsbCBmaW5kIGZvciBlYWNoIGxhbmd1YWdlIGEgbGluayB0byBlZGl0IHRoZSBsYW5ndWFnZSBlbnRyaWVzLiBMYW5ndWFnZSBlbnRyaWVzIGFyZSBzdHJpbmdzIHRoYXQgZXhpc3QgZm9yIGVhY2ggbGFuZ3VhZ2UgYnV0IGhvbGQgZGlmZmVyZW50IHRleHQgKG9yIGh0bWwpLiBXaGF0IHlvdSBjYW4gZG8gaXMgdG8gY3JlYXRlIGEgbmV3IGxhbmd1YWdlIGVudHJ5IChmb3IgZXhhbXBsZTogXCJ3ZWxjb21lIHRleHRcIiwgZW50ZXIgaXRzIGNvbnRlbnQgZm9yIGFsbCBsYW5ndWFnZXMsIGFuZCBzaW1wbHkgY2FsbCB0aGUgZW50cnkgd2hlcmV2ZXIgeW91IG5lZWQgaXQgdXNpbmcgdGhlIGRlZmF1bHQgYWN0aW9uOjxici8+CgkJCQkJe2JhYmVsIHNob3c9XCJ3ZWxjb21lIHRleHRcIn08YnIvPgoJCQkJCVNob3VsZCB5b3UgZXZlciBuZWVkIHRvIGVkaXQgdGhlIHN0cmluZ3MgYW5kIGFkZCBsYW5ndWFnZXMsIHlvdSB3aWxsIGZpbmQgdGhpcyBzb2x1dGlvbiB0byBiZSBtb3JlIGhhbmR5LiBCdXQgaWYgeW91IHByZWZlciB0aGUgb2xkIG9uZSwgaXQgd2lsbCB3b3JrIGp1c3QgYXMgbXVjaC48L3A+CgkJCTxici8+PGgzPkxhbmd1YWdlIHJlZGlyZWN0aW9uIG1ldGhvZHM8L2gzPgkKCQkJCTxwPlRoZXJlIGFyZSB0d28gcG9zc2libGUgbWV0aG9kcyB0byB0ZWxsIHRoZSBjbXMgd2hpY2ggcGFnZSBpcyB0aGUgZXF1aXZhbGVudCBpbiBhbm90aGVyIGxhbmd1YWdlIG9mIGEgZ2l2ZW4gcGFnZS4gQnkgZGVmYXVsdCwgdGhlIGhpcmVyYXJjaHkgc29sdXRpb24gaXMgYWN0aXZhdGVkLCBidXQgeW91IGNhbiBjaGFuZ2UgdGhhdCBpbiB0aGUgc2V0dGluZ3MgdGFiLjwvcD4KCQkJCTxici8+PGg0Pk1hcmNvcyBDcnV6J3MgZGVmaW5pdGlvbiBzb2x1dGlvbjwvaDQ+CgkJCQkJPHA+PGk+UHJvczo8L2k+IGFsbG93cyB0aGlnaHQgY3VzdG9taXphdGlvbiBhbmQgcGFydGlhbCB0cmFuc2xhdGlvbi48YnIvPgoJCQkJCTxpPkNvbnM6PC9pPiBuZWVkIHRvIHNwZWNpZnkgbGFuZ3VhZ2UgYWx0ZXJuYXRpdmVzIGZvciBlYWNoIHBhZ2UsIGFuZCB0byB1cGRhdGUgaXQgaWYgYW4gYWxpYXMgY2hhbmdlcy48L3A+CgkJCQkJPHA+QWRkIHRoZSBmb2xsb3dpbmcgdGFnIGluIGVhY2ggb2YgeW91ciBwYWdlIHRlbXBsYXRlcyA6PGJyLz4KCQkJCQl7Y29udGVudCBibG9jaz0nT3RoZXIgbGFuZ3VhZ2VzJyBvbmVsaW5lPSd0cnVlJyBhc3NpZ249b3RoZXJfbGFuZ3VhZ2VzIHd5c2l3eWc9J2ZhbHNlJ308YnIvPgoJCQkJCVRoaXMgd2lsbCBhZGQgYSBjb250ZW50IGJsb2NrIHRvIGJlIGZpbGxlZCB3aGVuIHlvdSBlZGl0IHRoZSBwYWdlLiBXZSB3aWxsIHVzZSB0aGlzIGJsb2NrIHRvIGRlZmluZSB0aGUgZXF1aXZhbGVudHMgaW4gb3RoZXIgbGFuZ3VhZ2VzIGZvciB0aGlzIHBhZ2UsIGJ5IGZpbGxpbmcgaXQgaW4gdGhlIGZvbGxvd2luZyB3YXk6PGJyLz4KCQkJCQlcImVuX1VTPXBhZ2UxO2ZyX0ZSPXBhZ2UyO2RlX0RFPXBhZ2UzXCIgKHdpdGhvdXQgdGhlIHF1b3RlcyAtIHRoZSBvcmRlciBkb2VzIG5vdCBtYXR0ZXIsIGJ1dCBubyBzcGFjZXMgYXJlIGFsbG93ZWQpPGJyLz4KCQkJCQl3aGVyZSBwYWdlMSwgcGFnZTIgYW5kIHBhZ2UzIGFyZSB0aGUgcGFnZSBhbGlhc2VzLjwvcD4KCQkJCQk8cD5UbyBtYWtlIHN1cmUgdGhlIG1vZHVsZXMgdXNlcyB0aGlzIG1ldGhvZCwgbWFrZSBzdXJlIHRvIHVudGljayB0aGUgXCJVc2UgaGllcmFyY2h5IGZvciByZWRpcmVjdGlvblwiIG9wdGlvbiBpbiB0aGUgc2V0dGluZ3MgdGFiLjwvcD4KCQkJCTxici8+PGg0PlRoZSBoaWVyYXJjaHkgc29sdXRpb248L2g0PgoJCQkJCTxwPjxpPlByb3M6PC9pPiBpdCdzIGF1dG9tYXRpYyAtIHlvdSBkb24ndCBoYXZlIHRvIGRvIGFueXRoaW5nLjxici8+CgkJCQkJPGk+Q29uczo8L2k+IHRoZSBwYWdlIHN0cnVjdHVyZSBtdXN0IGJlIGlkZW50aWNhbCBmb3IgZWFjaCBsYW5ndWFnZS48L3A+CgkJCQkJPHA+VGhpcyBzb2x1dGlvbiB1c2VzIHRoZSBwYWdlIGhpZXJhcmNoeSB0byBrbm93IHdoaWNoIHBhZ2VzIGFyZSBlcXVpdmFsZW50LiBJbiBvdXIgZXhhbXBsZSBhYm92ZSwgXCIyLjMuIFBhZ2UgM1wiIHdvdWxkIGJlIHRoZSBmcmVuY2ggZXF1aXZhbGVudCBvZiBcIjEuMy4gM3JkIHBhZ2VcIiwgYmVjYXVzZSBpdCBvY2N1cGllcyB0aGUgZXF1aXZhbGVudCBwb3NpdGlvbiBpbiB0aGUgZnJlbmNoIGJyYW5jaC48YnIvPgoJCQkJCUluIG90aGVyIHdvcmRzLCBzaG91bGQgdGhlIHBhZ2UgYmUgb3JkZXJlZCBkaWZmZXJlbnRseSwgYWxsIHdvdWxkIGJlIG1lc3NlZCB1cDo8L3A+CgkJCQkJPHVsPgoJCQkJCQk8bGk+MS4gRW5nbGlzaDx1bD4KCQkJCQkJCTxsaT4xLjEuIDFzdCBwYWdlPC9saT4KCQkJCQkJCTxsaT4xLjIuIDJuZCBwYWdlPC9saT4KCQkJCQkJCTxsaT4xLjMuIDNyZCBwYWdlPC9saT4KCQkJCQkJPC91bD48L2xpPgoJCQkJCQk8bGk+Mi4gRnJhbiZjY2VkaWw7YWlzPHVsPgoJCQkJCQkJPGxpPjIuMS4gUGFnZSAxPC9saT4KCQkJCQkJCTxsaT4yLjIuIFBhZ2UgMzwvbGk+CgkJCQkJCQk8bGk+Mi4zLiBQYWdlIDI8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJPC91bD4KCQkJCQk8cD5IZXJlLCBcIlBhZ2UgMlwiIG9jY3VwaWVzIHRoZSB0aGlyZCBwb3NpdGlvbiwgc28gaXQgd291bGQgYmUgZGVlbWVkIGVxdWl2YWxlbnQgdG8gdGhlIDNyZCBwYWdlIGluIGVuZ2xpc2guPGJyLz4KCQkJCQlUaGlzIGFsc28gbWVhbnMgdGhhdCBpZiBhbGwgcGFnZXMgZG8gbm90IGV4aXN0IGluIGFsbCBsYW5ndWFnZXMsIHlvdSBoYXZlIHRvIGJlIGNhcmVmdWwuIEZvciBleGFtcGxlOjwvcD4KCQkJCQk8dWw+CgkJCQkJCTxsaT4xLiBFbmdsaXNoPHVsPgoJCQkJCQkJPGxpPjEuMS4gMXN0IHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMi4gMm5kIHBhZ2U8L2xpPgoJCQkJCQkJPGxpPjEuMy4gM3JkIHBhZ2U8L2xpPgoJCQkJCQk8L3VsPjwvbGk+CgkJCQkJCTxsaT4yLiBGcmFuJmNjZWRpbDthaXM8dWw+CgkJCQkJCQk8bGk+Mi4xLiBQYWdlIDI8L2xpPgoJCQkJCQkJPGxpPjIuMi4gUGFnZSAzPC9saT4KCQkJCQkJPC91bD48L2xpPgoJCQkJCTwvdWw+CgkJCQkJPHA+SGVyZSwgXCIxc3QgcGFnZVwiIHdvdWxkIGJlIHRha2VuIHRvIGJlIGVxdWl2YWxlbnQgdG8gXCJQYWdlIDJcIiBhbmQgXCIzcmQgcGFnZVwiIHdvdWxkIGJlIGRlZW1lZCB0byBoYXZlIG5vIHRyYWR1Y3Rpb24sIGFsdGhvdWdoIGl0IGRvZXMuPC9wPgoJCQk8YnIvPjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPgoJCQkJPHA+VGhpcyBtb2R1bGUgaGFzIGJlZW4gY3JlYXRlZCBieSBQaWVycmUtTHVjIEdlcm1haW4gKHBsZ2VyKSwgYmFzZWQgb24gYW4gYXBwcm9hY2ggYnkgTWFyY29zIENydXosIGFuZCBpcyByZWxlYXNlZCB1bmRlciB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLjwvcD48YnIvPjxici8+IjsKCgovL1NFVFRJTkdTCiRsYW5nWyJzZXR0aW5ncyJdID0gIlNldHRpbmdzIjsKJGxhbmdbInByZWZfYXV0b3JlZGlyZWN0X2hvbWUiXSA9ICJBdXRvLXJlZGlyZWN0IG9uIGhvbWUgcGFnZSBiYXNlZCBvbiByZXF1ZXN0IChicm93c2VyKSBsYW5ndWFnZT8qPGJyLz5XaGVuIHRoZSB1c2VyIGdldHMgb24gYSBob21lIHBhZ2UgKGEgcGFnZSBkZWZpbmVkIGFzIGRlZmF1bHQgcGFnZSBmb3IgYSBsYW5ndWFnZSksIGlmIGhpcyBicm93c2VyIGxhbmd1YWdlIGlzIGRpZmZlcmVudCBmcm9tIHRoZSBwYWdlIGxhbmd1YWdlIGhlIHdpbGwgYmUgcmVkaXJlY3RlZCB0byB0aGUgYXBwcm9wcmlhdGUgcGFnZS4iOwokbGFuZ1sicHJlZl9hdXRvcmVkaXJlY3RfYWxsIl0gPSAiQXV0by1yZWRpcmVjdCBvbiBhbGwgcGFnZXMgYmFzZWQgb24gcmVxdWVzdCBsYW5ndWFnZT8qPGJyLz4oc2FtZSBhcyBhYm92ZSwgYnV0IGZvciBhbGwgcGFnZXMpIjsKJGxhbmdbInByZWZfY29va2llc19hdXRvcmVkaXJlY3RfaG9tZSJdID0gIkF1dG8tcmVkaXJlY3Qgb24gaG9tZSBwYWdlIGJhc2VkIG9uIGxhbmd1YWdlIHN0b3JlZCBpbiBjb29raWVzPzxici8+SWYgdGhlIHVzZXIgaGFzIHByZXZpb3VzbHkgbmF2aWdhdGVkIHRoZSBzaXRlIGluIGEgc2VsZWN0ZWQgbGFuZ3VhZ2UgYmVmb3JlLCBoZSB3aWxsIGJlIGZvd2FyZGVkIHRvIHRoaXMgbGFuZ3VhZ2UgdXBvbiB2aXNpdGluZyBhbnkgaG9tZSBwYWdlIChhbnkgcGFnZSB0aGF0IGhhcyBiZWVuIHNldCBhcyBkZWZhdWx0IHBhZ2UgZm9yIGEgbGFuZ3VhZ2UpLiI7CiRsYW5nWyJwcmVmX2Nvb2tpZXNfYXV0b3JlZGlyZWN0X2FsbCJdID0gIkF1dG8tcmVkaXJlY3Qgb24gYWxsIHBhZ2VzIGJhc2VkIG9uIGNvb2tpZXM/PGJyLz4oc2FtZSBhcyBhYm92ZSwgYnV0IGZvciBhbGwgcGFnZXMpIjsKJGxhbmdbInByZWZfaGllcmFyY2h5X3JlZGlyZWN0Il0gPSAiVXNlIGhpZXJhcmNoeSBmb3IgcmVkaXJlY3Rpb24/IChzZWUgaGVscCBmb3IgbW9yZSBpbmZvKTxici8+VGhpcyBtZWFucyB0aGF0IHRoZSBwYWdlIHN0cnVjdHVyZSBtdXN0IGJlIGV4YWN0bHkgdGhlIHNhbWUgZm9yIGFsbCBsYW5ndWFnZXMuIElmIHlvdSBkb24ndCB1c2UgdGhlIGhpZXJhcmNoeSwgeW91IHdpbGwgaGF2ZSB0byBzcGVjaWZ5IHRoZSBwYWdlcyBtYW51YWxseS4iOwokbGFuZ1sicHJlZl9kZWZhdWx0X2hpZGUiXSA9ICJIaWRlIG1lbnUgbGluayB3aGVuIHRoZSBhY2NvcmRpbmcgcGFnZSBkb2VzIG5vdCBleGlzdD88YnIvPklmIHRoZSBsYW5ndWFnZSBsaW5rIHNob3VsZCBsZWFkIHRvIGEgcGFnZSB0aGF0IGRvZXMgbm90IGV4aXN0LCBoaWRlIHRoZSBsaW5rIChvdGhlcndpc2UsIHRoZSBsaW5rIHdpbGwgbGVhZCB0byB0aGUgbGFuZ3VhZ2UncyBkZWZhdWx0IHBhZ2UpLiI7CiRsYW5nWyJwcmVmX2RlZmF1bHRfdHJhbnNsYXRlIl0gPSAiVXNlIGRlZmF1bHQgbGFuZ3VhZ2Ugd2hlcmUgbGFuZ3VhZ2Utc3BlY2lmaWMgZW50cmllcyBoYXZlbid0IGJlZW4gc3VwcGxpZWQuIjsKJGxhbmdbInByZWZfaGlkZV9taXNzaW5nZW50cmllcyJdID0gIkhpZGUgZXJyb3IgbWVzc2FnZSBmb3IgdW5rbm93biBsYW5ndWFnZSBlbnRyaWVzLiI7CiRsYW5nWyJwcmVmX3d5c2l3eWciXSA9ICJFbmFibGUgd3lzaXd5ZyBpbiBsYW5ndWFnZSBlbnRyaWVzLiI7CiRsYW5nWyJwcmVmX3VzZV9wYWdlX3RpdGxlIl0gPSAiVXNlIHBhZ2UgdGl0bGUgaW4gbGFuZ3VhZ2UgbGlua3MgKGluc3RlYWQgb2YgbGFuZ3VhZ2UgbmFtZSkuIjsKJGxhbmdbInByZWZfY3VycmVudF9saW5rIl0gPSAiSW4gdGhlIGxhbmd1YWdlIG1lbnUsIHNob3cgbGluayBmb3IgY3VycmVudCBwYWdlICh0aGF0IGlzLCBjdXJyZW50IGxhbmd1YWdlKSB0b28uIjsKJGxhbmdbImhlbHBfcmVkaXJlY3Rpb24iXSA9ICIqTm90ZTogSWYgeW91IHVzZSByZWRpcmVjdGlvbiBiYXNlZCBvbiByZXF1ZXN0IChicm93c2VyKSBsYW5ndWFnZSwgbWFrZSBzdXJlIHRvIGFjdGl2YXRlIHRoZSBjb3JyZXNwb25kaW5nIGNvb2tpZSByZWRpcmVjdGlvbiwgb3RoZXJ3aXNlIHRoZSB1c2VycyB3aWxsIGJlIDxiPmZvcmNlZDwvYj4gdG8gdmlldyB0aGUgcGFnZSBpbiB0aGVpciBicm93c2VyIGxhbmd1YWdlLiI7CgoKLy9QQVJBTUVURVJTCiRsYW5nWyJwaGVscF9hY3Rpb24iXSA9ICJQb3NzaWJsZSBhY3Rpb25zOiBcImRlZmF1bHRcIiAoZm9yIHRyYW5zbGF0aW9ucykgb3IgXCJtZW51XCIuIjsKJGxhbmdbInBoZWxwX3Nob3ciXSA9ICJGb3IgdGhlIG1lbnUgYWN0aW9uLCB0aGlzIHBhcmFtZXRlciBzcGVjaWZpZXMgd2hpY2ggbGFuZ3VhZ2VzIHRvIHNob3cgaW4gdGhlIG1lbnUgKHVzZSBsYW5ndWFnZSBjb2RlIGFuZCBzZXBhcmF0ZSB3aXRoIGEgY29tbWEpLiBGb3IgdGhlIGRlZmF1bHQgYWN0aW9uLCB0aGlzIGhvbGRzIHRoZSBrZXkgdG8gdGhlIHN0cmluZyB0byBiZSB0cmFuc2xhdGVkLiI7CiRsYW5nWyJwaGVscF90ZW1wbGF0ZSJdID0gIlRlbXBsYXRlIHRvIHVzZSBmb3IgdGhlIG1lbnUuIjsKJGxhbmdbInBoZWxwX2Fzc2lnbiJdID0gIkluc3RlYWQgb2YgZGlzcGxheWluZyB0aGUgcmVzdWx0IGltbWVkaWF0ZWx5LCB5b3UgY2FuIGFzc2lnbiBpdCB0byBhIHNtYXJ0eSB2YXJpYWJsZSBzcGVjaWZpZWQgd2l0aCB0aGUgXCJhc3NpZ25cIiBwYXJhbWV0ZXIuIjsKCgoNCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24NCiRkYiA9ICYkdGhpcy0+Y21zLT5kYjsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCgkJDQovLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UNCiR0YWJvcHRhcnJheSA9IGFycmF5KCJteXNxbCIgPT4gIlRZUEU9TXlJU0FNIik7DQoNCg0KLy8gQ3JlYXRlcyB0aGUgbGFuZ3VhZ2VzIHRhYmxlDQokZmxkcyA9ICINCglsYW5nY29kZSBDKDUpIEtFWSwNCglyb290X2lkIEksDQoJZGVmYXVsdF9pZCBJLA0KCW5hbWUgQyg2NCksDQoJbWVudV9uYW1lIEMoNjQpLA0KCWFjdGl2ZSBMLA0KCWl0ZW1fb3JkZXIgSQ0KCSI7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXMiLCAkZmxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfYmFiZWxfbGFuZ3VhZ2VzX3NlcSIpOw0KCQ0KDQovLyBDcmVhdGVzIHRoZSBsYW5ndWFnZSBrZXlzIHRhYmxlDQokZmxkcyA9ICINCglzdHJpbmdpZCBJIEtFWSwNCgljYXB0aW9uIEMoMTI4KQ0KCSI7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5na2V5cyIsICRmbGRzLCAkdGFib3B0YXJyYXkpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5na2V5c19zZXEiKTsNCg0KDQovLyBDcmVhdGVzIHRoZSBsYW5ndWFnZSBlbnRyaWVzIHRhYmxlDQokZmxkcyA9ICINCglzdHJpbmdpZCBJLA0KCWxhbmdjb2RlIEMoNSksDQoJdmFsdWUgQygyNTUpDQoJIjsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdlbnRyaWVzIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQoNCiR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCJhZG1pbl9iYWJlbCIsICJCYWJlbDogYWRtaW4iKTsNCg0KJG1vZHByZWZzID0gJHRoaXMtPmdldF9tb2RwcmVmcygpOw0KZm9yZWFjaCgkbW9kcHJlZnMgYXMgJG9uZXByZWYpCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCRvbmVwcmVmWzBdLCRvbmVwcmVmWzFdKTsNCg0KJGRlZnRwbCA9ICc8dWwgaWQ9Imxhbmd1YWdlX21lbnUiPg0Ke2ZvcmVhY2ggZnJvbT0kbGFuZ3VhZ2VzIGl0ZW09Imxhbmd1YWdlIn0NCiAgIHtpZiAkbGFuZ3VhZ2UtPmlzX2N1cnJlbnR9PGxpIGNsYXNzPSJhY3RpdmUiPjxhIHtpZiAkbGFuZ3VhZ2UtPnVybH1ocmVmPSJ7JGxhbmd1YWdlLT51cmx9IiB7L2lmfWNsYXNzPSJhY3RpdmUiPntlbHNlfTxsaT48YSBocmVmPSJ7JGxhbmd1YWdlLT51cmx9Ij57L2lmfXskbGFuZ3VhZ2UtPm1lbnVfbmFtZX08L2E+PC9saT4NCnsvZm9yZWFjaH0NCjwvdWw+JzsNCiR0aGlzLT5TZXRUZW1wbGF0ZSgiZGVmYXVsdCIsJGRlZnRwbCk7DQokdGhpcy0+U2V0UHJlZmVyZW5jZSgiZGVmYXVsdGVtcGxhdGUiLCJkZWZhdWx0Iik7DQokdGhpcy0+UmVnaXN0ZXJFdmVudHMoKTsNCg0KLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nDQoJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygiZnJpZW5kbHluYW1lIiksICR0aGlzLT5MYW5nKCJpbnN0YWxsZWQiLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsNCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24NCiRkYiA9ICYkdGhpcy0+Y21zLT5kYjsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCg0KDQoNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmd1YWdlcyIpOw0KCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkkZGItPkRyb3BTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5ndWFnZXNfc2VxIik7DQoJDQoNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdrZXlzIik7DQoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCSRkYi0+RHJvcFNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX2JhYmVsX2xhbmdrZXlzX3NlcSIpOw0KCQ0KDQoJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9iYWJlbF9sYW5nZW50cmllcyIpOw0KCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkNCgkkdGhpcy0+RGVsZXRlVGVtcGxhdGUoIiIsJHRoaXMtPkdldE5hbWUoKSk7DQoNCgkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbigiYWRtaW5fYmFiZWwiKTsNCgkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOw0KDQovLyBwdXQgbWVudGlvbiBpbnRvIHRoZSBhZG1pbiBsb2cNCgkkdGhpcy0+QXVkaXQoIDAsICR0aGlzLT5MYW5nKCJmcmllbmRseW5hbWUiKSwgJHRoaXMtPkxhbmcoInVuaW5zdGFsbGVkIikpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/redirect.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKaWYoIWlzc2V0KCRfR0VUWyJuZXd1cmwiXSkgKXsKCWhlYWRlcigibG9jYXRpb246IGluZGV4LnBocCIpOwp9ZWxzZXsKCWlmKGlzc2V0KCRfR0VUWyJuZXdsYW5nIl0pKQoJc2V0Y29va2llKCd1c3JsYW5nJywkX0dFVFsibmV3bGFuZyJdLHRpbWUoKSs4NjQwMCozMCwnLycpOwp9Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRhZGRuZXd9PC9wPgp7aWYgY291bnQoJGl0ZW1saXN0KSA+IDB9CjxkaXY+Cjx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2xhc3M9InBhZ2V0YWJsZSI+Cjx0aGVhZD48dHI+Cgl7Zm9yZWFjaCBmcm9tPSRhZG1pbnNob3cgaXRlbT1jb2x1bW59CgkJPHRoPnskY29sdW1uWzBdfTwvdGg+Cgl7L2ZvcmVhY2h9CjwvdHI+PC90aGVhZD4KPHRib2R5Pgp7Y3ljbGUgdmFsdWVzPSJyb3cyLHJvdzEiIGFzc2lnbj1yb3djbGFzcyByZXNldD10cnVlfQp7Zm9yZWFjaCBmcm9tPSRpdGVtbGlzdCBpdGVtPW9uZWl0ZW19CntjeWNsZSB2YWx1ZXM9InJvdzIscm93MSIgYXNzaWduPXJvd2NsYXNzfQo8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPgoJe2ZvcmVhY2ggZnJvbT0kYWRtaW5zaG93IGl0ZW09Y29sdW1ufQoJCXthc3NpZ24gdmFyPW9uZXZhbCB2YWx1ZT0kY29sdW1uWzFdfQoJCTx0ZD57JG9uZWl0ZW0tPiRvbmV2YWx9PC90ZD4KCXsvZm9yZWFjaH0KPC90cj4Key9mb3JlYWNofQo8L3Rib2R5Pgo8L3RhYmxlPgo8L2Rpdj4KPHA+eyRhZGRuZXd9PC9wPnsvaWZ9Cg==]]></data>
	</file>
	<file>
	  <filename>/templates/editlang.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgxPnskZWRpdHRpdGxlfTwvaDE+DQp7aWYgJGxhbmdzZWxlY3R9DQoJPGRpdiBpZD0iYmFiZWxfbGFuZ3NlbGVjdGRpdiIgY2xhc3M9InBhZ2VvdmVyZmxvdyIgc3R5bGU9InRleHQtYWxpZ246IHJpZ2h0OyBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDsiPg0KCQk8cD57JGxhbmdzZWxlY3RfbGFiZWx9PGJyLz57JGxhbmdzZWxlY3R9PGJyLz48L3A+DQoJPC9kaXY+DQp7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYW5nY29kZV9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbGFuZ2NvZGVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRtZW51X25hbWVfbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskbWVudV9uYW1lX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskcm9vdF9pZF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcm9vdF9pZF9pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGRlZmF1bHRfaWRfbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVmYXVsdF9pZF9pbnB1dH08L3A+DQoJPC9kaXY+DQo8YnIvPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCnZhciBtb2R1bGVpZCA9ICJ7JHBsaWR9IjsNCntsaXRlcmFsfQ0KZnVuY3Rpb24gbGFuZ3VhZ2VmaWxsKHJhd2RhdGEpew0KCXZhciBuZXdkYXRhID0gcmF3ZGF0YS5zcGxpdCgnLycpOw0KCWRvY3VtZW50LmdldEVsZW1lbnRCeUlkKG1vZHVsZWlkKydsYW5nY29kZScpLnZhbHVlID0gbmV3ZGF0YVswXTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb2R1bGVpZCsnbmFtZScpLnZhbHVlID0gbmV3ZGF0YVsxXTsNCglkb2N1bWVudC5nZXRFbGVtZW50QnlJZChtb2R1bGVpZCsnbWVudV9uYW1lJykudmFsdWUgPSBuZXdkYXRhWzFdOw0KCXJldHVybiBmYWxzZTsNCn0NCnZhciBsYW5nc2VsZWN0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2JhYmVsX2xhbmdzZWxlY3RkaXYnKS5nZXRFbGVtZW50c0J5VGFnTmFtZSgnc2VsZWN0Jyk7DQppZihsYW5nc2VsZWN0WzBdKSBsYW5nc2VsZWN0WzBdLm9uY2hhbmdlID0gZnVuY3Rpb24oKXsNCglsYW5ndWFnZWZpbGwodGhpcy52YWx1ZSk7DQp9Ow0KbGFuZ3NlbGVjdCA9IG51bGw7DQp7L2xpdGVyYWx9DQo8L3NjcmlwdD4NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/entriestable.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
</module>
