<?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>HostedVideoAlbums</name>
	<version>1.2</version>
  <mincmsversion>1.6.7</mincmsversion>
	<help><![CDATA[PHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCjwhLS0NCi5zdHlsZTEge2ZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2V9DQotLT4NCjwvc3R5bGU+DQo8aDM+UXVlIGZhaXQgY2UgbW9kdWxlPzwvaDM+DQo8cD5DZSBtb2R1bGUgcGVybWV0IGRlIGcmZWFjdXRlO3JlciAgZGVzIGNhdGFsb2d1ZXMgZCdhbGJ1bXMgdmlkJmVhY3V0ZTtvIHF1aSBzb250IGgmZWFjdXRlO2JlcmcmZWFjdXRlO2VzIHN1ciBkZXMgc2l0ZXMgdGVscyBxdWUgWW91dHViZSwgRGFpbHltb3Rpb24sIEdvb2dsZSBWaWRlb3MsIFlhaG9vIFZpZGVvcywgVmVvaCwgTVNOIChvdSBCaW5nKSBWaWRlb3MsIFZpbWVvLCBNeVNwYWNlIG91IE1ldGFDYWZlLiA8L3A+DQoJPHA+SWwgZyZlZ3JhdmU7cmUgMyBuaXZlYXV4OiBsYSBjYXQmZWFjdXRlO2dvcmllLCBsJ2FsYnVtIHZpZGVvIGV0IGxhIHZpZCZlYWN1dGU7byBlbGxlLW0mZWNpcmM7bWUgZXQgcGVybWV0IGQnaW50JmVhY3V0ZTtncmVyIGxlcyB2aWQmZWFjdXRlO29zIHVuZSBwYXIgdW5lIG91IGRhbnMgZGVzIGxpc3RlcyBzdXIgdW5lIHBhZ2UuIDwvcD4NCgk8cD5EZXB1aXMgbGEgdmVyc2lvbiAxLjEsIGlsIGVzdCAmZWFjdXRlO2dhbGVtZW50IHBvc3NpYmxlIGRlIGcmZWFjdXRlO3JlciBkZXMgdmlkJmVhY3V0ZTtvcyBsb2NhbGVtZW50IChmb3JtYXRzIG1rdiwgZGl2eCwgYXZpLCBtcDQpIGVuIHV0aWxpc2FudCBsZSBwbHVnaW4gZGl2eCB3ZWIgcGxheWVyITwvcD4NCjxoMz5Db21tZW50IGwndXRpbGlzZXI/PC9oMz4NCgk8aDQ+UGVybWlzc2lvbnM8L2g0Pg0KCTxwPkF2YW50IGRlIGQmZWFjdXRlO2J1dGVyLCBhc3N1cmV6LXZvdXMgcXVlIGxlcyB1dGlsaXNhdGV1cnMgb250IGxlcyBwZXJtaXNzaW9ucyBhcHByb3ByaSZlYWN1dGU7cy48L3A+DQoJCQlTaSB2b3VzIG4ndXRpbGlzZXogcGFzIGwnb3B0aW9uIGRlIHBlcnNvbm5hbGlzYXRpb24gZGVzIHJlc3RyaWN0aW9ucyBkJ2FjYyZlZ3JhdmU7cyAodm9pciBsZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyksIA0KCQkJbGEgcGVybWlzc2lvbiAmcXVvdDtIb3N0ZWRWaWRlb0FsYnVtczogTm9ybWFsIHVzZXImcXVvdDsgIHNlcmEgc3VmZmlzYW50ZSBwb3VyIGxlIG1vZHVsZS4gDQoJCQlEYW5zIGwnb25nbGV0IGRlcyBwciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzLCB2b3VzIHBvdXZleiBjaG9pc2lyIHF1ZWxzIG9uZ2xldHMNCgkJCXNlcm9udCBtb250ciZlYWN1dGU7cyBhdXggdXRpbGlzYXRldXJzIG5vcm1hdXguIFNldWwgbCdhZG1pbmlzdHJhdGV1ciBldCBsZXMgdXRpbGlzYXRldXJzIGF5YW50IGxhIHBlcm1pc3Npb24gJnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXM6IEFkdmFuY2VkJnF1b3Q7IA0KCQkJYXVyb250IGFjYyZlYWN1dGU7cyAmYWdyYXZlOyBsJ29uZ2xldCBkZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcy48YnIvPg0KCQlTaSB2b3VzIGQmZWFjdXRlO3NpcmV6IGQmZWFjdXRlO2ZpbmlyIGRlcyBwZXJtaXNzaW9ucyBzcCZlYWN1dGU7Y2lmaXF1ZXMgcGFyIG5pdmVhdSwgYWN0aXZleiBsJ29wdGlvbiBkZSByZXN0cmljdGlvbiBkJ2FjYyZlYWN1dGU7c24gDQoJCQlkYW5zICBsJ29uZ2xldCBkZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBldCBkb25uZXogbGEgcGVybWlzc2lvbiAmcXVvdDtIb3N0ZWRWaWRlb0FsYnVtczogTWFuYWdlIG5hbWVfb2ZfbGV2ZWwmcXVvdDsgYXV4IHV0aWxpc2F0ZXVycyBhcHByb3ByaSZlYWN1dGU7cy48L3A+DQoJCQk8YnI+DQoJPGg0PkFqb3V0IGRlIGNhdCZlYWN1dGU7Z29yaWVzLCBkJ2FsYnVtcyB2aWQmZWFjdXRlO29zIGV0IGRlIHZpZCZlYWN1dGU7b3M8L2g0Pg0KCTxwPlBvdXIgdXRpbGlzZXIgY2UgbW9kdWxlLCB2b3VzIGFsbGV6IGRldm9pciBjciZlYWN1dGU7ZXIgbGVzIDMgbml2ZWF1eCAoYydlc3QgJmFncmF2ZTsgZGlyZSBjYXQmZWFjdXRlO2dvcmllLCBhbGJ1bSBldCB2aWQmZWFjdXRlO28pLiBEJ2Fib3JkLCB2b3VzIGFsbGVyIGNyJmVhY3V0ZTtlciBsZXMgY2F0JmVhY3V0ZTtnb3JpZXMgZGFucyBsJ29uZ2xldCAmcXVvdDtDYXQmZWFjdXRlO2dvcmllcyZxdW90OywgcHVpcyBjciZlYWN1dGU7ZXIgbGVzIGFsYnVtcyBkYW5zIGwnb25nbGV0ICZxdW90O0FsYnVtcyBWaWQmZWFjdXRlO29zJnF1b3Q7IGV0IGVuZmluLCBjciZlYWN1dGU7ZXIgbGVzIHZpZCZlYWN1dGU7b3MgZWxsZXMtbSZlY2lyYzttZXMgZGFucyBsJ29uZ2xldCAmcXVvdDtWaWQmZWFjdXRlO29zJnF1b3Q7LjwvcD4NCgk8cD5Qb3VyIGxlcyBjYXQmZWFjdXRlO2dvcmllcywgaWwgc3VmZml0IGRlIGZvdXJuaXIgbGUgbm9tIGQnYWZmaWNoYWdlLCBldCBvcHRpb25lbGxlbWVudCBzb24gYWxpYXMgKHV0aWxpcyZlYWN1dGU7IGF2ZWMgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDthbGlhcyZxdW90OyBwbHVzIGxvaW4pIGV0IHNhIGRlc2NyaXB0aW9uLjxiciAvPg0KCVBvdXIgbGVzIGFsYnVtcywgdm91cyBkb25uZXJleiAmZWFjdXRlO2dhbGVtZW50IHVuIG5vbSwgdW4gYWxpYXMgKG9wdGlvbmVsKSwgbGEgY2F0JmVhY3V0ZTtnb3JpZSAmYWdyYXZlOyBsYXF1ZWxsZSBsJ2FsYnVtIHNlIHJhdHRhY2hlLCB1bmUgZGVzY3JpcHRpb24gKG9wdGlvbmVsbGUpLCB1bmUgbGFuZ3VlIChzb3VzIGxhIGZvcm1lIGZyIG91IGVuLVVTKSwgZXQgbGVzIGxhcmdldXIgZXQgaGF1dGV1ciBwYXIgZCZlYWN1dGU7ZmF1dCBkZXMgdmlkJmVhY3V0ZTtvcyBkZSBjZXQgYWxidW1zICh1dGlsaXMmZWFjdXRlO2VzIGxvcnNxdWUgbGEgbGFyZ2V1ciBvdSBsYSBoYXV0ZXVyIGQndW5lIHZpZCZlYWN1dGU7byBuZSBzb250IHBhcyBmb3VybmllcykuPC9wPg0KCTxwPlBvdXIgbGVzIHZpZCZlYWN1dGU7b3MsIHZvdXMgZGV2ZXogZG9ubmVyIHVuIG5vbSwgdW4gYWxpYXMgKG9wdGlvbmVsKSwgbCdhbGJ1bSBhdXF1ZWwgbGEgdmlkJmVhY3V0ZTtvIGVzdCBhdHRhY2gmZWFjdXRlO2UsIHVuZSBkZXNjcmlwdGlvbiAob3B0aW9uZWxsZSksIGxlIHNpdGUgc3VyIGxlcXVlbCBsYSB2aWQmZWFjdXRlO28gZXN0IGgmZWFjdXRlO2JlcmcmZWFjdXRlO2UsIGwnaWRlbnRpZmlhbnQgZGUgbGEgdmlkJmVhY3V0ZTtvICh2b2lyIHBsdXMgbG9pbikgZXQgb3B0aW9uZWxsZW1lbnQsIGxhIGxhcmdldXIgZXQgbGEgaGF1dGV1ciBkZSBsYSB2aWQmZWFjdXRlO28gKHNpbm9uLCBjJ2VzdCBsYSB2YWxldXIgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgbCdhbGJ1bSBxdWkgZXN0IHV0aWxpcyZlYWN1dGU7ZSk8L3A+DQoJPGg1Pk8mdWdyYXZlOyBwdWlzIGplIHRyb3V2ZXIgbGVzIGlkZW50aWZpYW50cywgbGVzIGxhcmdldXJzIGV0IGhhdXRldXJzIGRlcyB2aWQmZWFjdXRlO29zPzwvaDUJPg0KCTxwPlBvdXIgPHN0cm9uZz5Zb3V0dWJlPC9zdHJvbmc+LCBsJ2lkIGRlIHZpZCZlYWN1dGU7byBlc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgJnF1b3Q7dj0mcXVvdDsuIFBhciBleGVtcGxlLCBkYW5zICZxdW90O2h0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj03U1p0R3ZYa0VJdyZxdW90OywgYydlc3QgJnF1b3Q7N1NadEd2WGtFSXcmcXVvdDsuPGJyIC8+DQoJUG91ciA8c3Ryb25nPkRhaWx5bW90aW9uPC9zdHJvbmc+LCBsJ2lkIGRlIHZpZCZlYWN1dGU7byBlc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgbGUgZGVybmllciAmcXVvdDsvJnF1b3Q7LiBQYXIgZXhlbXBsZSwgZGFucyAmcXVvdDtodHRwOi8vd3d3LmRhaWx5bW90aW9uLmNvbS92aWRlby94Y3FhMGdfY29ybmVyc2hvcC13aG8tZmluZ2VyZWQtcm9jay1uLXJvbGxfbXVzaWMmcXVvdDssIGMnZXN0ICZxdW90O3hjcWEwZ19jb3JuZXJzaG9wLXdoby1maW5nZXJlZC1yb2NrLW4tcm9sbF9tdXNpYyZxdW90Oy48YnIgLz4NCgkgIFBvdXIgPHN0cm9uZz5ZYWhvbyB2aWRlb3M8L3N0cm9uZz4sIGwnaWQgZGUgdmlkJmVhY3V0ZTtvIGVzdCBsYSBkZXJuaSZlZ3JhdmU7cmUgcGFydGllIGRlIGwndXJsIGFwciZlZ3JhdmU7cyBsZSBkZXJuaWVyICZxdW90Oy8mcXVvdDsuIFBhciBleGVtcGxlLCBkYW5zICZxdW90O2h0dHA6Ly92aWRlby55YWhvby5jb20vd2F0Y2gvNzA5NTY4Ny8xODQ2NTg3OCZxdW90OywgYydlc3QgJnF1b3Q7MTg0NjU4NzgmcXVvdDsuPGJyIC8+DQogIFBvdXIgPHN0cm9uZz5Hb29nbGUgdmlkZW9zPC9zdHJvbmc+LCBsJ2lkIGRlIHZpZCZlYWN1dGU7byBlc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgJnF1b3Q7ZG9jaWQ9JnF1b3Q7LiBQYXIgZXhlbXBsZSwgZGFucyAmcXVvdDtodHRwOi8vdmlkZW8uZ29vZ2xlLmNvbS92aWRlb3BsYXk/ZG9jaWQ9NzUyMTQyMzM4ODYzNzU0MjY1NyMmcXVvdDssIGMnZXN0ICZxdW90Ozc1MjE0MjMzODg2Mzc1NDI2NTcjJnF1b3Q7LjxiciAvPg0KICBQb3VyIDxzdHJvbmc+VmVvaDwvc3Ryb25nPiwgbCdpZCBkZSB2aWQmZWFjdXRlO28gZXN0IGxhIGRlcm5pJmVncmF2ZTtyZSBwYXJ0aWUgZGUgbCd1cmwgYXByJmVncmF2ZTtzIGxlIGRlcm5pZXIgJnF1b3Q7LyZxdW90Oy4gUGFyIGV4ZW1wbGUsIGRhbnMgJnF1b3Q7aHR0cDovL3d3dy52ZW9oLmNvbS9icm93c2UvdmlkZW9zL2NhdGVnb3J5L211c2ljL3dhdGNoL3Y1NTU2NThzZXRrUDNEOCZxdW90OywgYydlc3QgJnF1b3Q7djU1NTY1OHNldGtQM0Q4JnF1b3Q7LjxiciAvPg0KICBQb3VyIDxzdHJvbmc+TVNOIG91IEJpbmcgVmlkZW9zPC9zdHJvbmc+LCB1dGlsaXNleiAmcXVvdDttc24gdmlkZW8mcXVvdDsgZXQgY2hlcmNoZXIgZGFucyBsZSBjb2RlIGQnaW50JmVhY3V0ZTtncmF0aW9uIGxhIGNoYSZpY2lyYztuZSAmcXVvdDtwbGF5ZXIudj0uLi4mcXVvdDssIGwnaWQgZGUgbGEgdmlkZW8gZXN0IGxhIGNoYSZpY2lyYztuZSBoZXhhIGFwciZlZ3JhdmU7cyAmcXVvdDtwbGF5ZXIudiZxdW90Oy4gUGFyIGV4ZW1wbGUsIGRhbnMgJnF1b3Q7cGxheWVyLnY9ZmNjNDA5YTAtYThiMC00MjQzLTgzYjItZmY0YTVlYjNhODZlJnF1b3Q7LCBsJ2lkIGVzdCAmcXVvdDtmY2M0MDlhMC1hOGIwLTQyNDMtODNiMi1mZjRhNWViM2E4NmUmcXVvdDsuPGJyIC8+DQpQb3VyIDxzdHJvbmc+bWV0YWNhZmU8L3N0cm9uZz4sIGMnZXN0IGxhIHBhcnRpZSBudW0mZWFjdXRlO3JpcXVlICZhZ3JhdmU7IGxhIGZpbiBkZSBsJ3VybC4gUGFyIGV4ZW1wbGUsIGRhbnMgJnF1b3Q7aHR0cDovL3d3dy5tZXRhY2FmZS5jb20vd2F0Y2gvNDQ3NDgzOS9wYXN0YV8wMTMvJnF1b3Q7LCBjJ2VzdCA0NDc0ODM5LjxiciAvPg0KUG91ciA8c3Ryb25nPk15U3BhY2U8L3N0cm9uZz4sIGMnZXN0IGxhIHBhcnRpZSBhcHImZWdyYXZlO3MgJnF1b3Q7dmlkZW9pZD0mcXVvdDsgZGFucyBsJ3VybC4gUGFyIGV4ZW1wbGUsIGRhbnMgJnF1b3Q7aHR0cDovL3ZpZHMubXlzcGFjZS5jb20vaW5kZXguY2ZtP2Z1c2VhY3Rpb249dmlkcy5pbmRpdmlkdWFsJmFtcDt2aWRlb2lkPTEwNDMxNzk0OSZxdW90OywgYydlc3QgMTA0MzE3OTQ5LjxiciAvPg0KUG91ciA8c3Ryb25nPlZpbWVvPC9zdHJvbmc+LCBjJ2VzdCBsYSBkZXJuaSZlZ3JhdmU7cmUgcGFydGllIGRlIGwndXJsLiBQYXIgZXhlbXBsZSwgZGFucyAmcXVvdDtodHRwOi8vdmltZW8uY29tLzEwODc1MDg4JnF1b3Q7LCBjJ2VzdCAxMDg3NTA4OC48YnIgLz4NCg0KICA8aDU+Vmlk6W9zIGxvY2FsZXM8L2g1Pg0KICBQb3VyIDxzdHJvbmc+aW5zJmVhY3V0ZTtyZXIgdW5lIHZpZCZlYWN1dGU7byBoJmVhY3V0ZTtiZXJnJmVhY3V0ZTtlIHN1ciB2b3RyZSBzaXRlPC9zdHJvbmc+LCBjaG9pc2lzc2V6IGxlIHNpdGUgImxvY2FsLWRpdngiLiBMJ2lkIGRlIHZpZCZlYWN1dGU7byBlc3QgbGUgbm9tIGNvbXBsZXQgZHUgZmljaGllciBkZXB1aXMgbGEgcmFjaW5lIGR1IHNpdGUgY21zbXMgKHBhciBleGVtcGxlLCBzaSBsZSBmaWxtIGVzdCBkYW5zIGxlIGRvc3NpZXIgIk1lc0ZpbG1zIiAmYWdyYXZlOyBsYSByYWNpbmUgZHUgc2l0ZSBjbXNtcyBldCBzJ2FwcGVsbGUgIk1vbkZpbG0uYXZpIiwgbCdpZCBzZXJhICIvTWVzRmlsbXMvTW9uRmlsbS5hdmkiLg0KICA8L3A+DQo8aDU+SGF1dGV1ciZhbXA7TGFyZ2V1cjwvaDU+DQoJPHA+TGEgbGFyZ2V1ciBldCBsYSBoYXV0ZXVyIGRlcyB2aWQmZWFjdXRlO29zIHBldXZlbnQgZyZlYWN1dGU7biZlYWN1dGU7cmFsZW1lbnQgJmVjaXJjO3RyZSB0cm91diZlYWN1dGU7cyBkYW5zIGxlIGNvZGUgZCdpbnQmZWFjdXRlO2dyYXRpb24gKCZxdW90O2VtYmVkJnF1b3Q7KSAgZGVzICAgc2l0ZXMgdmlkJmVhY3V0ZTtvLiBQb3VyIGNoYWN1biBkZSBjZXMgc2l0ZXMsICAgc29pdCBkaXJlY3RlbWVudCBkYW5zIGxhIHBhZ2Ugb3UgZW4gY2xpcXVhbnQgc3VyIHVuIGxpZW4gZGFucyBsYSBwYWdlICAgKFlvdXR1YmUgJmFtcDsgR29vZ2xlIFZpZGVvcyApIG91IGVuIGNsaXF1YW50IHN1ciBsZSBib3V0b24gRXhwb3J0ZXIgICBkYW5zIGxhIHZpZCZlYWN1dGU7byAoRGFpbHltb3Rpb24pLCB1biBib3V0IGRlIGNvZGUgSFRNTCBjb250ZW5hbnQgdW5lIGxhcmdldXIgZXQgdW5lIGhhdXRldXIgdm91cyBzZXJhIGZvdXJuaS48L3A+DQoJPGg0PkFwcGVsIGR1IG1vZHVsZSBkYW5zIHVuZSBwYWdlPC9oND4NCgk8cD5Qb3VyIGFwcGVsZXIgbGUgbW9kdWxlLCBpbCBzdWZmaXQgZCd1dGlsaXNlciBsYSBiYWxpc2Ugc3VpdmFudGU6IHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90OyZsdDtsZXZlbCZndDsmcXVvdDt9PC9wPg0KCTxwPlNpIHZvdXMgb21ldHRleiBjZSBwYXJhbSZlZ3JhdmU7dHJlLCA8c3Ryb25nPnRvdXRlPC9zdHJvbmc+IGxhIGxpc3RlIGRlcyB2aWQmZWFjdXRlO29zIHNlcmEgYWZmaWNoJmVhY3V0ZTtlLiBDZWxhICZlYWN1dGU7cXVpdmF1dCAmYWdyYXZlOzo8YnIgLz4NCgkgIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O3ZpZGVvJnF1b3Q7fTwvcD4NCgk8cD4ge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHdoYXQ9JnF1b3Q7Y2F0ZWdvcnkmcXVvdDt9IGFmZmljaGVyYSBsYSBsaXN0ZSBkZXMgY2F0JmVhY3V0ZTtnb3JpZXMuPC9wPg0KCTxwPntjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O2FsYnVtJnF1b3Q7fSBhZmZpY2hlcmEgbGEgbGlzdGUgZGVzIGFsYnVtcywgcXVlbHF1ZSBzb2l0IGxldXIgY2F0JmVhY3V0ZTtnb3JpZS48L3A+DQoJPHA+Vm91cyBwb3V2ZXogYXVzc2kgZGVtYW5kZXIgZGVzICZlYWN1dGU7bCZlYWN1dGU7bWVudHMgcXVpIGFwcGFydGllbm5lbnQgJmFncmF2ZTsgdW4gcGFyZW50IHNwJmVhY3V0ZTtjaWZpcXVlOjxiciAvPg0KCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyBwYXJlbnQ9JnF1b3Q7YWxpYXNfZHVfcGFyZW50JnF1b3Q7fTxiciAvPg0KCUwnYWxpYXMgcGV1dCAmZWNpcmM7dHJlIHVuZSBjYXQmZWFjdXRlO2dvcmllIG91IGwnYWxpYXMgZCd1biBhbGJ1bS48L3A+DQoJPHA+Vm91cyBwb3V2ZXogZmluYWxlbWVudCBkZW1hbmRlciB1biAmZWFjdXRlO2wmZWFjdXRlO21lbnQgc3AmZWFjdXRlO2NpZmlxdWUgYXZlYzo8YnIgLz4NCgl7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWxpYXM9JnF1b3Q7YWxpYXNfZGVfbF9lbGVtZW50JnF1b3Q7fTwvcD4NCgk8aDQ+UXVlIGZhaXJlIHNpIGplIG4nYWkgcGFzIGJlc29pbiBjYXQmZWFjdXRlO2dvcmllcyBvdSBkZXMgbml2ZWF1eCAgIGFsYnVtcz88L2g0Pg0KCTxwPlZvdXMgICBkZXZleiBjciZlYWN1dGU7ZXIgdW5lIGNhdCZlYWN1dGU7Z29yaWUgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgdG91dGUgZmEmY2NlZGlsO29uLiBOb21tZXogbGEgcGFyIGV4ZW1wbGUgJmxhcXVvO3BhciBkJmVhY3V0ZTtmYXV0JnJhcXVvOyBwdWlzIGNyJmVhY3V0ZTtleiB0b3VzICAgdm9zIGFsYnVtcyBkYW5zIGNldHRlIGNhdCZlYWN1dGU7Z29yaWUgZXQgdXRpbGlzZXo8YnIgLz4NCiAgICAoY21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDt3aGF0PSZxdW90O2FsYnVtJnF1b3Q7KSAgIHBvdXIgYWZmaWNoZXIgdG91cyBsZXMgYWxidW1zLjxiciAvPg0KICAgIERlIG0mZWNpcmM7bWUsIHNpIHZvdXMgbidhdmV6IHBhcyBiZXNvaW4gZGVzIGFsYnVtcyB2aWQmZWFjdXRlO28sIGNyJmVhY3V0ZTtleiB1biAgIGFsYnVtIHBhciBkJmVhY3V0ZTtmYXV0IGRhbnMgbGEgY2F0JmVhY3V0ZTtnb3JpZSBwYXIgZCZlYWN1dGU7ZmF1dCBldCBjciZlYWN1dGU7ZXogdG91dGVzIHZvcyAgIHZpZCZlYWN1dGU7b3MgZGFucyBjZXQgYWxidW0uIEVuc3VpdGUsIGlucyZlYWN1dGU7cmV6IGxlcyAgIHZpZCZlYWN1dGU7b3MgJmFncmF2ZTsgbCdhaWRlPGJyIC8+DQogICAgZGUge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHdoYXQ9ICZxdW90O3ZpZGVvJnF1b3Q7fTwvcD4NCgk8aDM+UyZlYWN1dGU7cGFyYXRpb24gZW4gcGFnZXM8L2gzPg0KPHA+Vm91cyBwb3V2ZXogbGltaXRlciBsZSBub21icmUgZCcmZWFjdXRlO2wmZWFjdXRlO21lbnRzIGRldmFudCAmZWNpcmM7dHJlIGFmZmljaCZlYWN1dGU7cyBzdXIgdW5lIG0mZWNpcmM7bWUgcGFnZTo8YnIvPg0KeyZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IG5icGVycGFnZT0mcXVvdDs1JnF1b3Q7fTxici8+DQoJCURhbnMgbGUgZ2FiYXJpdCwgdm91cyBwb3V2ZXogY29uc3RydWlyZSBsZSBtZW51IGRlcyBwYWdlcyAmYWdyYXZlOyBsJ2FpZGUgZGVzIGJhbGlzZXMgc3VpdmFudGVzICh2b2lyIGxlcyBnYWJhcml0cyBMaXN0TGlua3Mgb3UgTGlzdFZpZGVvcyk6PGJyLz4NCgkJeyRwYWdlX3Nob3dpbmd9LCB7JHBhZ2VfdG90YWxpdGVtc30sIHskcGFnZV9wYWdlbnVtYmVyc30sIHskcGFnZV9uZXh0fSwgeyRwYWdlX3ByZXZpb3VzfTwvcD4NCgk8cD5EZXMgY2xhc3NlcyBvbnQgJmVhY3V0ZTt0JmVhY3V0ZTsgYXNzaWduJmVhY3V0ZTtlcyBhdXggJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBkdSBtZW51IGRlIHBhZ2UgcG91ciBxdWUgdm91cyBwdWlzc2V6IGxlIHBlcnNvbm5hbGlzZXIuPC9wPg0KCTxici8+DQoJPGgzPlVzYWdlIGRlcyByZXF1JmVjaXJjO3RlczwvaDM+DQo8cD5Qb3VyIG9idGVuaXIgdW5lIGxpc3RlIGQnJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyByZW5jb250cmFudCBkZXMgY3JpdCZlZ3JhdmU7cmVzIHNwJmVhY3V0ZTtjaWZpcXVlcywgdm91cyBwb3V2ZXogY3ImZWFjdXRlO2VyIGRlcyByZXF1JmVjaXJjO3RlcyAmYWdyYXZlOyANCgkJCWwnYWlkZSBkZSBsJ29uZ2xldCBSZXF1JmVjaXJjO3RlcyBkZSBsJ2FkbWluaXN0cmF0aW9uIGR1IG1vZHVsZS4gVm91cyBwb3VycmV6IGVuc3VpdGUgYXBwZWxlciBjZXR0ZSByZXF1JmVjaXJjO3RlIGF2ZWMgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDtxdWVyeSZxdW90Ozo8YnIvPg0Ke2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHF1ZXJ5PSZxdW90OzEmcXVvdDt9PC9wPg0KCTxwPjxpPlNpIGwnb3B0aW9uIHBlcm1ldHRhbnQgbGVzIHJlcXUmZWNpcmM7dGVzIHNxbCBtYW51ZWxsZXMgZXN0IGFjdGl2JmVhY3V0ZTtlPC9pPiAodm9pciBsJ29uZ2xldCAmcXVvdDtQciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzJnF1b3Q7KSwgdm91cyBwb3V2ZXogYXVzc2kgZm91cm5pciANCgkJCWxhIHJlcXUmZWNpcmM7dGUgc3FsIG1hbnVlbGxlbWVudCBhdmVjIGxlIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7cXVlcnkmcXVvdDsuIFBhciBleGVtcGxlOjxici8+DQoJCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O3ZpZGVvJnF1b3Q7IHF1ZXJ5PSZxdW90O0EuZGF0ZV9tb2RpZmllZCA+ICcyMDA5LTAzLTE1JyBBTkQgQS5hY3RpdmUgPSAxJnF1b3Q7fTxici8+DQoJCUxhIHJlcXUmZWNpcmM7dGUgbmUgcGV1dCBjb250ZW5pciBxdWUgbGEgY2xhdXNlIFdIRVJFIGV0IG5lIGRldnJhaXQgcGFzIGNvbnRlbmlyIGxhIGNvbW1hbmRlIFdIRVJFIGVsbGUtbSZlY2lyYzttZS4gUG91ciAmZWFjdXRlO3ZpdGVyIGxlcyBwcm9ibCZlZ3JhdmU7bWVzLCANCgkJCWxlIHByJmVhY3V0ZTtmaXhlICZxdW90O0EuJnF1b3Q7IGRldnJhaXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBkZXZhbnQgbGVzIG5vbXMgZGUgY2hhbXBzICgmcXVvdDtCLiZxdW90OyBwZXJtZXQgZCdhY2MmZWFjdXRlO2RlciBhdXggY2hhbXBzIGR1IHBhcmVudCwgbG9yc3F1ZSANCjxici8+DQoJCUdhcmRleiBlbiB0JmVjaXJjO3RlIHF1J2FjdGl2ZXIgY2V0dGUgZm9uY3Rpb24gaW1wbGlxdWUgZGUgZG9ubmVyIHVuIGFjYyZlZ3JhdmU7cyBzcWwgYXV4IHV0aWxpc2F0ZXVycyBwb3V2YW50IGFjYyZlYWN1dGU7ZGVyIGF1eCBnYWJhcml0cyBldCBzb3lleiBwcnVkZW50cyE8L3A+DQoJPGgzPkdhYmFyaXRzPC9oMz4NCgk8cD5Wb3VzIHBvdXZleiBjaG9pc2lyIHBvdXIgICBjaGFxdWUgbml2ZWF1LCBsZSBnYWJhcml0ICAgcXVpIHBlcm1ldCBkJ2FmZmljaGVyIGNlIG5pdmVhdS48L3A+DQoJPHA+UGFyIGQmZWFjdXRlO2ZhdXQsIHBvdXIgbGUgICBuaXZlYXUgIGNhdCZlYWN1dGU7Z29yaWUsIHVuIHNldWwgZ2FiYXJpdCBlc3QgZm91cm5pOiBMaXN0TGlua3MuIENlIGdhYmFyaXQgYWZmaWNoZSBkYW5zICAgdW5lIGxpc3RlICZhZ3JhdmU7IHB1Y2VzLCBwb3VyIGNoYXF1ZSBjYXQmZWFjdXRlO2dvcmllLCBsZSBub20gZGUgbGEgY2F0JmVhY3V0ZTtnb3JpZSBldCBzYSAgIGRlc2NyaXB0aW9uLiBMZSBub20gZXN0IHVuIGxpZW4gaHlwZXJ0ZXh0ZSB2ZXJzIGxhIHBhZ2UgYWZmaWNoYW50IHRvdXMgbGVzIGFsYnVtcyBkZSBsYSBjYXQmZWFjdXRlO2dvcmllLjxiciAvPg0KCUF1IG5pdmVhdSBkZSBsJ2FsYnVtLCAgIHZvdXMgdXRpbGlzZXogJmVhY3V0ZTtnYWxlbWVudCBMaXN0TGlua3MgcXVpIGFmZmljaGVyYSBkYW5zIHVuZSBsaXN0ZSAmYWdyYXZlOyBwdWNlcywgcG91ciBjaGFxdWUgYWxidW0gZGUgbGEgY2F0JmVhY3V0ZTtnb3JpZSwgbGUgbm9tIGRlIGwnYWxidW0gZXQgc2EgICBkZXNjcmlwdGlvbi4gTGUgbm9tIGVzdCB1biBsaWVuICAgaHlwZXJ0ZXh0ZSB2ZXJzIGxhIHBhZ2UgYWZmaWNoYW50IHRvdXRlcyBsZXMgdmlkJmVhY3V0ZTtvcyBkZSBsJ2FsYnVtLiA8YnIgLz4NCiAgICBBdSBuaXZlYXUgdmlkJmVhY3V0ZTtvLCB2b3VzICAgcG91dmV6IGNob2lzaXIgZW50cmUgTGlzdExpbmtzIGV0IExpc3RWaWRlb3M6PC9wPg0KCTx1bD4NCgkgIDxsaT5MaXN0TGlua3MgYWZmaWNoZXJhLCAgIGNvbW1lIGQnaGFiaXR1ZGUsIGRhbnMgdW5lIGxpc3RlICZhZ3JhdmU7IHB1Y2VzLCBwb3VyIGNoYXF1ZSB2aWQmZWFjdXRlO28gZGUgbCdhbGJ1bSwgICBsZSBub20gZGUgbGEgdmlkJmVhY3V0ZTtvIGV0IHNhIGRlc2NyaXB0aW9uLiBMZSBub20gZXN0IHVuIGxpZW4gICBoeXBlcnRleHRlIHZlcnMgbGEgcGFnZSBhZmZpY2hhbnQgbGEgdmlkJmVhY3V0ZTtvIHF1aSBlc3QgYWZmaWNoJmVhY3V0ZTtlIGVuIHV0aWxpc2FudCAgIGxlICZsYXF1bztnYWJhcml0IGRlIGQmZWFjdXRlO3RhaWwmcmFxdW87IHF1aSBlc3QgcGFyIGQmZWFjdXRlO2ZhdXQgRGlzcGxheVZpZGVvLjwvbGk+DQogICAgICA8bGk+TGlzdFZpZGVvcyBhZmZpY2hlcmEgZGlyZWN0bWVudCAgZGFucyBsYSBwYWdlIGRlIGwnYWxidW0sIHBvdXIgY2hhcXVlIHZpZCZlYWN1dGU7byBkZSBsJ2FsYnVtLCAgIGxlIG5vbSBkZSBsYSB2aWQmZWFjdXRlO28sIHNhIGRlc2NyaXB0aW9uIGV0IGxhIHZpZCZlYWN1dGU7byBlbGxlLW0mZWNpcmM7bWUuIDwvbGk+DQo8L3VsPg0KPGgzPkFqb3V0IGQndW4gbm91dmVhdSBzaXRlICAgZCdoJmVhY3V0ZTtiZXJnZW1lbnQgPC9oMz4NCjxwPklsIGVzdCB0ciZlZ3JhdmU7cyBzaW1wbGUgICBkJ2Fqb3V0ZXIgdW4gbm91dmVhdSBzaXRlIGQnaCZlYWN1dGU7YmVyZ2VtZW50ITwvcD4NCjxwPjxzcGFuPlRvdXQgZCdhYm9yZCwgdm91cyBkZXZleiAgIGpldGVyIHVuIG9laWwgc3VyIGxlIGNvZGUgJmxhcXVvO2QnaW5jcnVzdGF0aW9uJnJhcXVvOyBkZSBjZSBzaXRlIGV0IGVzc2F5ZXIgZGUgcmVwJmVhY3V0ZTtyZXIgIGxhIGZvcm1lIGRlIGwnSUQgZGUgdmlkJmVhY3V0ZTtvIGV0IG8mdWdyYXZlOyBpbCBkb2l0ICZlY2lyYzt0cmUgaW5zJmVhY3V0ZTtyJmVhY3V0ZTsgZGFucyBsZSAgIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7bW92aWUmcXVvdDsgKHVybCBkdSBjb2RlIGQnZW1iZWRkaW5nKS4gPHNwYW4gdGl0bGU9IlRoZW4ganVzdCBhZGQgdGhlICAgbmV3IHNpdGUgbmFtZSBpbiB0aGUgJ1NpdGVzJyB0YWIgdGhlbiBlZGl0IHRoZSBFbWJlZFZpZGVvICAgdGVtcGxhdGUgYW5kIGFkZCBqdXN0IGJlZm9yZSB0aGUgey9pZn0gbGluZSBhIHNldCBvZiBsaW5lcyBpbiB0aGUgZm9ybToiIG9ubW91c2VvdmVyPSJ0aGlzLnN0eWxlLmJhY2tncm91bmRDb2xvcj0nI2ViZWZmOSciIG9ubW91c2VvdXQ9InRoaXMuc3R5bGUuYmFja2dyb3VuZENvbG9yPScjZmZmJyI+RW5zdWl0ZSwgaWwgc3VmZml0ICAgZCdham91dGVyIGxlIG5vbSBkdSBub3V2ZWF1IHNpdGUgZGFucyBsJ29uZ2xldCAmcXVvdDtzaXRlcyZxdW90OywgcHVpcyBkZSBtb2RpZmllciAgIGxlIGdhYmFyaXQgRW1iZWRWaWRlbyBwb3VyIHkgYWpvdXRlciBqdXN0ZSBhdmFudCBsYSBsaWduZSBkdSB7L2lmfSwgcXVlbHF1ZXMgbGlnbmVzIGRlIGxhIGZvcm1lOiA8YnIgLz48L3NwYW4+PC9zcGFuPjwvcD4NCjxwcmUgY2xhc3M9InN0eWxlMSI+e2Vsc2VpZiAkaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU9PSZxdW90OyZsdDtsZSBub20gZHUgbm91dmVhdSBzaXRlJmd0OyZxdW90O30NCiAge2Fzc2lnbiB2YXI9JnF1b3Q7bW92aWUmcXVvdDsgDQogIHZhbHVlPSZxdW90OyZsdDtkJmVhY3V0ZTtidXQgZGUgbCd1cmwmZ3Q7YCRpdGVtLSZndDt2aWRlb2lkYCZsdDtmaW4gZGUgbCd1cmwmZ3Q7JnF1b3Q7fTwvcHJlPg0KPHA+SW5zcGlyZXogdm91cyBkZXMgYXV0cmVzIGNhcy4uLjwvcD4NCjxoMz5BY3Rpb25zPC9oMz4NCjxwPkNlIHNvbnQgZGVzIGFjdGlvbnMgICBzcCZlYWN1dGU7Y2lhbGVzLCBxdWUgdm91cyBwb3V2ZXogdXRpbGlzZXIgZGFucyBsYSBkJmVhY3V0ZTtjbGFyYXRpb24gZGUgbW9kdWxlIHBvdXIgY3ImZWFjdXRlO2VyICAgZGVzIHNpdGVtYXAsIGRlcyBicmVhZGNydW1icyBldCBhaW5zaSBkZSBzdWl0ZSAuLi48L3A+DQo8aDQ+TCdhY3Rpb24gZW1iZWR2aWRlbzwvaDQ+DQo8cD5Qb3VyIGltYnJpcXVlciB1bmUgdmlkJmVhY3V0ZTtvICZhZ3JhdmU7IGwnaW50JmVhY3V0ZTtyaWV1ciBkJ3VuIGdhYmFyaXQgSFZBLCB2b3VzIHBvdXZleiB1dGlsaXNlciBsJ2FjdGlvbiA8Yj4mcXVvdDtlbWJlZHZpZGVvJnF1b3Q7PC9iPjo8YnIvPg0KCQl7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWN0aW9uPSZxdW90O2VtYmVkdmlkZW8mcXVvdDsgaXRlbT0kaXRlbX08YnIvPg0KTGUgcGFyYW0mZWdyYXZlO3RyZSAgJnF1b3Q7aXRlbT0kaXRlbSZxdW90OyBlc3Qgb2JsaWdhdG9pcmUuDQo8aDQ+TCdhY3Rpb24gJnF1b3Q7bGluayZxdW90OzwvaDQ+DQo8cD48c3Bhbj48c3BhbiB0aXRsZT0iWW91IG1heSB1c2UgdGhlICAgYWN0aW9uICdsaW5rJyB0byBjcmVhdGUgYSBsaW5rIHRvIHRoZSBkZWZhdWx0IGFjdGlvbiwgdXNpbmcgICB0aGUgc2FtZSBwYXJhbWV0ZXJzOiI+Vm91cyBwb3V2ZXogdXRpbGlzZXIgbCdhY3Rpb24gJnF1b3Q7bGluayZxdW90OyBwb3VyIGNyJmVhY3V0ZTtlciB1biAgIGxpZW4gdmVycyBsJ2FjdGlvbiBwYXIgZCZlYWN1dGU7ZmF1dCwgYXZlYyBsZXMgbSZlY2lyYzttZXMgcGFyYW0mZWdyYXZlO3RyZXM6PGJyIC8+DQogIDwvc3Bhbj48c3BhbiB0aXRsZT0ie2Ntc19tb2R1bGUgICBtb2R1bGU9J0hvc3RlZFZpZGVvQWxidW1zJyBhY3Rpb249J2xpbmsnICAgd2hhdD0ndmlkZW8nIHJhbmRvbT0nMSd9Ij57Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWN0aW9uPSZxdW90O2xpbmsmcXVvdDsgd2hhdD0mcXVvdDt2aWRlbyZxdW90OyByYW5kb209JnF1b3Q7MSZxdW90O308YnIgLz4NCiAgPC9zcGFuPmNyJmVhY3V0ZTtlcmFpdCB1biBsaWVuIHZlcnMgdW4gICAmZWFjdXRlO2wmZWFjdXRlO21lbnQgYWwmZWFjdXRlO2F0b2lyZSBkZSBjZSBuaXZlYXUuPC9zcGFuPjxici8+DQo8aDQ+TCdhY3Rpb24gc2l0ZW1hcA0KPC9oND4NCjxwPlZvdXMgcG91dmV6IHV0aWxpc2VyIGwnYWN0aW9uIDxiPiZxdW90O3NpdGVtYXAmcXVvdDs8L2I+IHBvdXIgY3ImZWFjdXRlO2VyIHVuIHNpdGVtYXAgZHUgbW9kdWxlOjxici8+DQoJCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyBhY3Rpb249JnF1b3Q7c2l0ZW1hcCZxdW90O308YnIvPg0KCQlWb3VzIHBvdXZleiBzJmVhY3V0ZTtsZWN0aW9ubmVyIGxlcyBuaXZlYXV4ICZhZ3JhdmU7IGwnYWlkZSBkdSBwYXJhbSZlZ3JhdmU7dHJlICZxdW90O3doYXQmcXVvdDssIGV0IHBvdXZleiBjaG9pc2lyIHBsdXMgZCd1biBuaXZlYXUgYXZlYyBsYSBmb3JtZSANCgkJCXdoYXQ9JnF1b3Q7bGV2ZWwxfGxldmVsMiZxdW90Oy48YnIvPg0KTGVzIGF1dHJlcyBwYXJhbSZlZ3JhdmU7dHJlcyBkaXNwb25pYmxlcyBzb250ICZxdW90O2RldGFpbHBhZ2UmcXVvdDsgZXQgJnF1b3Q7aW5saW5lJnF1b3Q7Ljxici8+PC9wPg0KDQoJPGg1PkNvbW1lbnQgYWpvdXRlciBtZXMgYWxidW1zIHZpZCZlYWN1dGU7b3MgJmFncmF2ZTsgbW9uIGdvb2dsZSBzaXRlbWFwPzwvaDU+DQoJPHA+Q2VsYSB2YSB2b3VzIGFpZGVyICZhZ3JhdmU7IGluY2x1cmUgdm9zIGFsYnVtcyB2aWQmZWFjdXRlO29zICZhZ3JhdmU7IHVuIGdvb2dsZSBzaXRlbWFwLCA8dT51bmlxdWVtZW50IHNpIGxlcyAmZWFjdXRlO2wmZWFjdXRlO21lbnRzIHNvbnQgYWZmaWNoJmVhY3V0ZTtzIHN1ciBsYSBtJmVjaXJjO21lIHBhZ2U8L3U+Ljxici8+DQoJPHA+PHN0cm9uZz4qKiogU2kgdm91cyB1dGlsaXNleiBsZSBtb2R1bGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nc2dlbmVyYXRvciI+ZyZlYWN1dGU7biZlYWN1dGU7cmF0ZXVyIGdvb2dsZSBzaXRlbWFwPC9hPiAqKio8YnIvPg0KCSAgPC9zdHJvbmc+T3V2cmV6IHZvdHJlIGcmZWFjdXRlO24mZWFjdXRlO3JhdGV1ciBkZSBzaXRlbWFwIChnc2l0ZW1hcC5waHApLCBldCBqdXN0ZSBhdmFudCBsYSBmZXJtZXR1cmUgZGUgbCd1cmxzZXQgKDxjb2RlPmVjaG8gJyAgPDwvPi91cmxzZXQ+Jy4gJnF1b3Q7XFxuJnF1b3Q7OzwvY29kZT4pLCBham91dGV6IGxlIGNvZGUgc3VpdmFudDo8L3A+DQo8cHJlIGNsYXNzPSJjb2RlIj4NCgkkbW9kdWxlbmFtZSA9ICZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7Ow0KCWlmKCAgaXNzZXQoJGdDbXMtPm1vZHVsZXNbJG1vZHVsZW5hbWVdKSAmJiAkZ0Ntcy0+bW9kdWxlc1skbW9kdWxlbmFtZV1bJnF1b3Q7YWN0aXZlJnF1b3Q7XSAmJiAkdGhlbW9kdWxlID0gJGdDbXMtPm1vZHVsZXNbJG1vZHVsZW5hbWVdWyZxdW90O29iamVjdCZxdW90O10pew0KCQkvLyBJQ0kgVk9VUyBERVZFWiBNRVRUUkUgTCdJRCBPVSBMJ0FMSUFTIERFIExBIFBBR0UgVVRJTFNFRSBQT1VSIEFGRklDSEVSIExFUyBFTEVNRU5UUzoNCgkJJGRldGFpbHBhZ2UgPSAmcXVvdDtNQVBBR0UmcXVvdDs7DQoJCSRwYXJhbXMgPSBhcnJheSgmcXVvdDttb2RlJnF1b3Q7PT4mcXVvdDtnb29nbGUmcXVvdDssICZxdW90O2RldGFpbHBhZ2UmcXVvdDs9PiRkZXRhaWxwYWdlKTsNCgkJJHRoZW1vZHVsZS0+RG9BY3Rpb24oJnF1b3Q7c2l0ZW1hcCZxdW90OywgJnF1b3Q7JnF1b3Q7LCAkcGFyYW1zKTsNCgl9DQoJPC9wcmU+DQoJPHA+QmllbiBzdXIsIGVudHJleiB1biBkZXRhaWxwYWdlIHF1ZSBjZSBzb2l0IHVuIGlkIG91IHVuIGFsaWFzLjwvcD4NCgk8cD5Ob3RleiBxdWUgdm91cyBwb3V2ZXogYXVzc2kgdXRpbGlzZXIgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDt3aGF0JnF1b3Q7IHBvdXIgc3AmZWFjdXRlO2NpZmllciBxdWVsKHMpIG5pdmVhdSh4KSB2b3VzIHZvdWxleiB2b2lyIGFmZmljaCZlYWN1dGU7KHMpICh2b3VzIHBvdXZleiBzcCZlYWN1dGU7Y2lmaWVyIHBsdXNpZXVycyBuaXZlYXV4IGF2ZWMgJnF1b3Q7bml2ZWF1MXxuaXZlYXUyJnF1b3Q7IGV0YykuPC9wPg0KCTxwPjxzdHJvbmc+KioqIFNpIHZvdXMgdXRpbGlzZXogbGUgbW9kdWxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2l0ZW1hcG1zIj5TaXRlTWFwIE1hZGUgU2ltcGxlPC9hPiAqKiogPC9zdHJvbmc+PC9wPg0KPHA+TWV0dGV6IHNpbXBsZW1lbnQgbGUgY29kZSBjaSBkZXNzdXMgZGFucyB1biBVRFQgKHVzZXItZGVmaW5lZC10YWcpLCBldCBhcHBlbGV6IGNldCBVRFQgJmFncmF2ZTsgbGEgZmluIGRlIHZvdHJlIGdhYmFyaXQgZGUgc2l0ZW1hcCwganVzdGUgYXZhbnQgPGNvZGU+PDwvPi91cmxzZXQ+PC9jb2RlPi48L3A+DQoJDQoJPGg0PkwnYWN0aW9uIHNlYXJjaDwvaDQ+DQo8cD5Wb3VzIHBvdXZleiB1dGlsaXNlciBsJ2FjdGlvbiAmcXVvdDs8c3Ryb25nPnNlYXJjaDwvc3Ryb25nPiZxdW90OyBwb3VyIGFmZmljaGVyIHVuIGZvcm11bGFpcmUgZGUgcmVjaGVyY2hlOjxici8+DQoJCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyBhY3Rpb249JnF1b3Q7c2VhcmNoJnF1b3Q7IHdoYXQ9JnF1b3Q7dmlkZW8mcXVvdDt9PGJyLz4NCgkJVXRpbGlzZXogbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDtzZWFyY2htb2RlJnF1b3Q7IHBvdXIgY2hvaXNpciBsYSByZWNoZXJjaGUgc2ltcGxlIG91IGF2YW5jJmVhY3V0ZTtlIChwYXIgZCZlYWN1dGU7ZmF1dCkuIE5vdGV6IHF1ZSB2b3VzIG5lIHBvdXZleiBwYXMgDQoJCQlmYWlyZSB1bmUgcmVjaGVyY2hlIGVuIG1vZGUgYXZhbmMmZWFjdXRlOyBkYW5zIHRvdXMgbGVzIG5pdmVhdXggZW4gbSZlY2lyYzttZSB0ZW1wcy48YnIvPg0KCQlMZXMgcGFyYW0mZWdyYXZlO3RyZXMgc3VpdmFudHMgcGV1dmVudCAmZWNpcmM7dHJlIHV0aWxpcyZlYWN1dGU7cyBhdmVjIGwnYWN0aW9uICZxdW90O3NlYXJjaCZxdW90Ozogd2hhdCwgbGltaXQsIG5icGVycGFnZSwgb3JkZXJieSwgZGV0YWlscGFnZSwgbGlzdHRlbXBsYXRlLDwvcD4NClZvaXIgSG9zdGVkVmlkZW9BbGJ1bXMvdGVtcGxhdGVzL3NlYXJjaC50cGwgcG91ciBtb2RpZmllciBsZSBmb3JtdWxhaXJlIGRlIHJlY2hlcmNoZXMuPC9wPjxici8+DQoNCgk8YnIvPjxoMz5Db3B5cmlnaHQgZXQgTGljZW5jZTwvaDM+DQoJCTxwPkNlIG1vZHVsZSBhICZlYWN1dGU7dCZlYWN1dGU7IGQnYWJvcmQgY3ImZWFjdXRlOyZlYWN1dGU7IGF2ZWMgQ1RMTW9kdWxlTWFrZXIgcHVpcyBtb2RpZmkmZWFjdXRlOyBtYW51ZWxsZW1lbnQuIElsIGVzdCBmb3Vybmkgc291cyA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGdwbC5odG1sIj5saWNlbmNlIEdQTDwvYT4uPGJyLz4NCgkJTGVzIHBhcmFtJmVncmF2ZTt0cmVzIHBvdXIgbGVzIHNpdGVzIFZpbWVvLCBNZXRhQ2FmZSBldCBNeVNwYWNlIHNvbnQgaW5zcGlyJmVhY3V0ZTtzIGR1IG1vZHVsZSB3ZWJ2aWRlb3MuPC9wPg0KCQk8YnIvPjxici8+DQo8aDM+UGFyYW0mZWdyYXZlO3RyZXM8L2gzPjx1bD48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsYW5nPSJlbl9VUyIgLSBQYXJhbSZlZ3JhdmU7dHJlIHV0aWxpcyZlYWN1dGU7IHBvdXIgc3AmZWFjdXRlO2NpZmllciBkYW5zIHF1ZWxsZSBsYW5ndWUgYWZmaWNoZXIgbGUgbW9kdWxlIGRhbnMgbGEgcGFydGllIHB1YmxpcXVlLiBDZSBwYXJhbSZlZ3JhdmU7dHJlIG4mIzAzOTtlc3QgcGFzIHN1cHBvcnQmZWFjdXRlOyBvdSB1dGlsZSBwb3VyIHRvdXMgbGVzIG1vZHVsZXMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhY3Rpb249ImRlZmF1bHQiIC0gU29pdCAibGluayIsICJzZWFyY2giLCAiYnJlYWRjcnVtYnMiIG91ICJkZWZhdWx0IiAoZXQgcG9zc2libGVtZW50ICJzaXRlbWFwIiBldCAiZnJvbnRlbmRfZWRpdCIpLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gd2hhdD0iIiAtIFBlcm1ldCBkZSBzcCZlYWN1dGU7Y2lmaWVyIGxlIG5pdmVhdS4gTGVzIHZhbGV1cnMgcG9zc2libGVzIHNvbnQgOiA8aT5jYXRlZ29yeSwgYWxidW0sIHZpZGVvPC9pPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gYWxpYXM9IiIgLSBBbGlhcyBkZSBsJyZlYWN1dGU7bCZlYWN1dGU7bWVudCBxdWUgdm91cyB2b3VsZXogYWZmaWNoZXIuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzaG93ZGVmYXVsdD0iIiAtIE1ldHRyZSAidHJ1ZSIgc2kgdm91cyB2b3VsZXogYWZmaWNoZXIgbCcmZWFjdXRlO2wmZWFjdXRlO21lbnQgcGFyIGQmZWFjdXRlO2ZhdXQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBwYXJlbnQ9IiIgLSBTaSB2b3VzIHZvdWxleiBsaW1pdGVyIGxlcyAmZWFjdXRlO2wmZWFjdXRlO21lbnRzIGFmZmljaCZlYWN1dGU7cyAmYWdyYXZlOyBjZXV4IGFwcGFydGVuYW50ICZhZ3JhdmU7IHVuIHBhcmVudCBwYXJ0aWN1bGllciwgZW50cmV6IGljaSBsJ2FsaWFzIGR1IHBhcmVudC48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxpbWl0PSIwIiAtIExpbWl0ZSBsZSBub21icmUgZCdpdGVtIHJldG91cm4mZWFjdXRlO3MgcGFyIGxhIHJlcXUmZWNpcmM7dGUgKDAgPSBwYXMgZGUgbGltaXRlKTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbmJwZXJwYWdlPSIwIiAtIExpbWl0ZSBsZSBub21icmUgZCcmZWFjdXRlO2wmZWFjdXRlO21lbnRzIGFmZmljaCZlYWN1dGU7cyBwYXIgcGFnZS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG9yZGVyYnk9IjAiIC0gVmFsZXVycyBwb3NzaWJsZXMgOiAibW9kaWZpZWQiLCAiY3JlYXRlZCIgb3UgbGUgbm9tIGQndW4gY2hhbXAuIFRvdXRlIGF1dHJlIHZhbGV1ciBvcmRvbm5lcmEgZW4gZm9uY3Rpb24gZGUgbCdvcmRyZSBub3JtYWwgZGVzIGl0ZW1zLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZGV0YWlscGFnZT0iIiAtIFNwJmVhY3V0ZTtjaWZpZSBsJ2FsaWFzIGRlIGxhIHBhZ2UgdmVycyBsYXF1ZWxsZSBwb2ludGVyb250IGxlcyBsaWVucyAoc2kgcmllbiBuJ2VzdCBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7LCBsYSBwYWdlIGFjdHVlbGxlIGVzdCB1dGlsaXMmZWFjdXRlO2UpPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiByYW5kb209IjAiIC0gRW50cmV6IHVuIG5vbWJyZSBwb3VyIGFmZmljaGVyIGNlIG5vbWJyZSBkJyZlYWN1dGU7bCZlYWN1dGU7bWVudHMgYWwmZWFjdXRlO2F0b2lyZXMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBsaXN0dGVtcGxhdGU9IiIgLSBQZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciBsZSBnYWJhcml0ICZhZ3JhdmU7IHV0aWxpc2VyIHBvdXIgbCdhZmZpY2hhZ2UgZGUgbGlzdGUgZCZlYWN1dGU7dGFpbGwmZWFjdXRlOyBkdSBuaXZlYXUgZmluYWwuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaW5hbHRlbXBsYXRlPSIiIC0gUGVybWV0IGRlIHNwJmVhY3V0ZTtjaWZpZXIgbGUgZ2FiYXJpdCAmYWdyYXZlOyB1dGlsaXNlciBwb3VyIGwnYWZmaWNoYWdlIGQndW5lIHZpZMOpbyBob3JzIGxpc3RlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZW1iZWR0ZW1wbGF0ZT0iIiAtIFBlcm1ldCBkZSBzcCZlYWN1dGU7Y2lmaWVyIGxlIGdhYmFyaXQgJmFncmF2ZTsgdXRpbGlzZXIgcG91ciBpbWJyaXF1ZXIgdW5lIHZpZGVvIChlbWJlZGRpbmcpLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZm9yY2VsaXN0PSIwIiAtIE1ldHRyZSAmYWdyYXZlOyAxIHNpIHZvdXMgdm91bGV6IGFmZmljaGVyIGVuIGZvcm1hdCBsaXN0IG0mZWNpcmM7bWUgbG9yc3F1J2lsIG4neSBhIHF1J3VuICZlYWN1dGU7bCZlYWN1dGU7bWVudCAoYWZmZWN0ZSBsZSBuaXZlYXUgZmluYWwgc2V1bGVtZW50KS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGlubGluZT0iMCIgLSBNZXQgbGVzIGxpZW5zICJpbmxpbmUiLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc2VhcmNobW9kZT0iYWR2YW5jZWQiIC0gVXRpbGlzZXIgYXZlYyBsJ2FjdGlvbiAic2VhcmNoIi4gTWV0dHJlICJzaW1wbGUiIHBvdXIgY2hlcmNoZXIgZGFucyB0b3VzIGxlcyBjaGFtcHMsIGV0ICJhZHZhbmNlZCIgcG91ciBjaGVyY2hlciBkYW5zIGRlcyBjaGFtcHMgc3AmZWFjdXRlO2NpZmlxdWVzLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcXVlcnk9IjAiIC0gVXRpbGlzZXIgYXZlYyBsJ2FjdGlvbiAiZGVmYXVsdCIuIEluZGlxdWUgbCdpZCBkZSBsYSByZXF1JmVjaXJjO3RlICZhZ3JhdmU7IGV4JmVhY3V0ZTtjdXRlci48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHRvYWN0aW9uPSIiIC0gVXRpbGlzZXIgYXZlYyBsJ2FjdGlvbiAibGluayIuIEluZGlxdWUgdmVycyBxdWVsbGUgYWN0aW9uIGxlIGxpZW4gZGV2cmEgZGlyaWdlci48L2xpPjwvdWw+]]></help>
	<about><![CDATA[PGJyIC8+QXV0ZXVyJm5ic3A7OiBPbGl2aWVyIExFVklMTEFJTiBvbiBhIGJhc2lzIGNyZWF0ZWQgd2l0aCBDVExNb2R1bGVNYWtlciAxLjguOS4zICZsdDtvbGl2aWVyLmxldmlsbGFpbkBmcmVlLmZyJmd0OzxiciAvPjxiciAvPlZlcnNpb24gOiAxLjI8YnIgLz48YnIgLz5IaXN0b3JpcXVlIGRlcyBjaGFuZ2VtZW50cyZuYnNwOzo8YnIgLz4gPGgyPkNoYW5nZSBsb2c8L2gyPg0KPGgzPjEuMDwvaDM+DQo8cD5WZXJzaW9uIGluaXRpYWxlPC9wPg0KPGgzPjEuMTwvaDM+DQo8dWw+DQo8bGk+QWpvdXQgZGUgbGEgZ2VzdGlvbiBkZXMgdmlkJmVhY3V0ZTtvcyBsb2NhbGVzIHN1ciB2b3RyZSBwcm9wcmUgc2l0ZSAoYXZpLCBta3YsIGRpdngsIG1wZyk8L2xpPg0KPGxpPkRvY3VtZW50YXRpb24gYW0mZWFjdXRlO2xpb3ImZWFjdXRlO2U8L2xpPg0KPC91bD4NCjxoMz4xLjEuMTwvaDM+DQo8cD5BIG91YmxpZXIgOik8L3A+DQo8aDM+MS4yPC9oMz4NCjx1bD4NCjxsaT5Ob3V2ZWF1eCBzaXRlcyBham91dCZlYWN1dGU7czogbXNuIG91IGJpbmcgdmlkZW9zLCBtZXRhY2FmZSwgbXlzcGFjZSwgdmltZW8uPC9saT4NCjxsaT5TdXBwcmVzc2lvbiBkdSBjb2RlIGV0IGRlcyBwYXJhbSZlZ3JhdmU7dHJlcyBpbnV0aWxlcyBnJmVhY3V0ZTtuJmVhY3V0ZTtyYXJhbSZlZ3JhdmU7dHJlc3BhciBDVExNb2R1bGVNYW5hZ2VyPC9saT4NCjxsaT5Ob3V2ZWxsZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyB2aWQmZWFjdXRlO28gYWpvdXQmZWFjdXRlO2VzIGRhbnMgbCdvbmdsZXQgUHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcy48L2xpPg0KPGxpPmJ1ZyBjb3JyaWcmZWFjdXRlOyBzdXIgbGEgZ2VzdGlvbiBkZXMgdGFpbGxlcywgc3VyIGxhIGdlc3Rpb24gZGVzIGxhbmd1ZXMgZXQgc3VyIGxhIG1pc2UgJmFncmF2ZTsgam91ciBkdSBtb2R1bGUgKGR1IG1vaW5zLCBqZSBsJ2VzcCZlZ3JhdmU7cmUpPC9saT4NCjwvdWw+DQo8YnIgLz4=]]></about>
	<description><![CDATA[Gestion d'albums vid&eacute;os heberg&eacute;es ou locales]]></description>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.addfiles.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQppZighaXNzZXQoJF9GSUxFUykgfHwgIWlzc2V0KCRwYXJhbXNbJ2ZpZWxkJ10pIHx8ICFpc3NldCgkcGFyYW1zWydwcmVmaXgnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJHBhcmFtc1sncHJlZml4J10uJ2lkJ10pIHx8ICFpc3NldCgkcGFyYW1zWyd0YWJsZW5hbWUnXSkpew0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCkpOw0KfQ0KDQokZGIgPSAkdGhpcy0+R2V0RGIoKTsNCg0KJHJlc2l6ZSA9IGlzc2V0KCRwYXJhbXNbJ3NpemUnXSk/JHBhcmFtc1snc2l6ZSddOmZhbHNlOw0KJHRodW1ic2l6ZSA9IGlzc2V0KCRwYXJhbXNbJ3RodW1iJ10pPyRwYXJhbXNbJ3RodW1iJ106ZmFsc2U7DQokaXRlbWlkID0gJHBhcmFtc1skcGFyYW1zWydwcmVmaXgnXS4naWQnXTsNCg0KJGN1cmRpciA9IChpc3NldCgkcGFyYW1zWydjdXJkaXInXSkgPyAkcGFyYW1zWydjdXJkaXInXS4nLycgOiAnJyk7DQokc3RhcnRkaXIgPSAoaXNzZXQoJHBhcmFtc1snc3RhcnRkaXInXSkgPyAkcGFyYW1zWydzdGFydGRpciddLicvJyA6ICcnKTsNCiRkZXN0aW5hdGlvbiA9IHN0cl9yZXBsYWNlKCcvLycsJy8nLCRzdGFydGRpci4kY3VyZGlyKTsNCg0KJGFsbG93ZWRleHQgPSBmYWxzZTsNCmlmKGlzc2V0KCRwYXJhbXNbJ2V4dGVuc2lvbnMnXSkgJiYgJHBhcmFtc1snZXh0ZW5zaW9ucyddICYmICRwYXJhbXNbJ2V4dGVuc2lvbnMnXSAhPSAiIikJJGFsbG93ZWRleHQgPSBleHBsb2RlKCIsIiwkcGFyYW1zWydleHRlbnNpb25zJ10pOw0KDQokZXJyb3JzID0gIiI7DQokemlwZmllbGQgPSAkaWQuJ3VwbG9hZHppcGZpbGUnOw0KDQppZihpc3NldCgkcGFyYW1zWyJzdWJtaXR6aXBmaWxlIl0pKXsNCgkNCgkkZGlyID0gJGdDbXMtPmNvbmZpZ1sidXBsb2Fkc19wYXRoIl0uc3RyX3JlcGxhY2UoIi8vIiwiLyIsIi8iLiRkZXN0aW5hdGlvbi4iLyIpOw0KCWlmKCRyZXNpemUgJiYgIWlzX2FycmF5KCRyZXNpemUpKQkkcmVzaXplID0gZXhwbG9kZSgieCIsJHJlc2l6ZSk7DQoJDQoJaWYoaXNzZXQoJF9GSUxFU1skemlwZmllbGRdKSAmJiBpc3NldCgkX0ZJTEVTWyR6aXBmaWVsZF1bJ25hbWUnXSkgJiYgJF9GSUxFU1skemlwZmllbGRdWyduYW1lJ10gIT0gIiIpew0KCQkkZXh0ZW5zaW9uID0gc3RydG9sb3dlcihzdHJyY2hyKCRfRklMRVNbJHppcGZpZWxkXVsnbmFtZSddLCAiLiIpKTsNCgkJJHphID0gbmV3IFppcEFyY2hpdmUoKTsNCgkJaWYoc3RydG9sb3dlcigkZXh0ZW5zaW9uKSA9PSAnLnppcCcgJiYgJHphLT5vcGVuKCRfRklMRVNbJHppcGZpZWxkXVsndG1wX25hbWUnXSkpIHsNCgkJCSRpID0gMDsNCgkJCXdoaWxlKCRpIDwgJHphLT5udW1GaWxlcykgew0KCQkJCSRmaWxlc3RhdHMgPSAkemEtPnN0YXRJbmRleCgkaSk7DQoJCQkJJGZpbGVuYW1lID0gJGZpbGVzdGF0c1snbmFtZSddOw0KCQkJCSRleHRlbnNpb24gPSBzdHJ0b2xvd2VyKHN1YnN0cihzdHJyY2hyKCRmaWxlbmFtZSwgIi4iKSwxKSk7DQoJCQkJaWYoICRleHRlbnNpb24gIT0gIiIgJiYgKCAhJGFsbG93ZWRleHQgfHwgaW5fYXJyYXkoJGV4dGVuc2lvbiwgJGFsbG93ZWRleHQpICkgKXsNCgkJCQkJJGZpbGVuYW1lID0gJHRoaXMtPnVwbG9hZF9jaGVja2ZpbGVuYW1lKCRmaWxlbmFtZSwkZGlyKTsNCgkJCQkJJGZwID0gZm9wZW4oJGRpci4kZmlsZW5hbWUsICJ3Iik7DQoJCQkJCWlmKGZ3cml0ZSgkZnAsJHphLT5nZXRGcm9tSW5kZXgoJGkpKSl7DQoJCQkJCQlmY2xvc2UoJGZwKTsNCgkJCQkJCWNobW9kKCRkaXIuJGZpbGVuYW1lLCAwNzc3KTsNCgkJCQkJCWlmKCRyZXNpemUgJiYgY291bnQoJHJlc2l6ZSkgPT0gMikgJHRoaXMtPnBsUmVzaXplKCRkaXIuJGZpbGVuYW1lLCAnJywgJHJlc2l6ZVswXSwgJHJlc2l6ZVsxXSx0cnVlLGlzc2V0KCRwYXJhbXNbJ2Nyb3AnXSkpOw0KCQkJCQkJJHRoaXMtPnBsQXNzaWduRmlsZShzdHJfcmVwbGFjZSgiLy8iLCIvIiwiLyIuJGRlc3RpbmF0aW9uLiIvIi4kZmlsZW5hbWUpLCAkcGFyYW1zWyd0YWJsZW5hbWUnXSwgJGl0ZW1pZCwgJHBhcmFtc1snZmllbGQnXSwgJHRodW1ic2l6ZSwgaXNzZXQoJHBhcmFtc1snY3JvcHRodW1iJ10pKTsNCgkJCQkJfWVsc2V7DQoJCQkJCQlmY2xvc2UoJGZwKTsNCgkJCQkJCSRlcnJvcnMgPSAnPGxpPicuJGZpbGVuYW1lLic6ICcubGFuZygnZmlsZW5vdHVwbG9hZGVkJykuJzwvbGk+JzsNCgkJCQkJfQ0KCQkJCX1lbHNlew0KCQkJCQkkZXJyb3JzID0gJzxsaT4nLiRmaWxlbmFtZS4nOiAnLiR0aGlzLT5MYW5nKCdlcnJvcl93cm9uZ2ZpbGV0eXBlJykuJzwvbGk+JzsNCgkJCQl9DQoJCQkJJGkrKzsNCgkJCX0NCgkJfWVsc2V7DQoJCQkkZXJyb3JzID0gJzxsaT4nLiRfRklMRVNbJHppcGZpZWxkXVsnbmFtZSddLic6ICcuJHRoaXMtPkxhbmcoJ2Vycm9yX2ludmFsaWRhcmNoaXZlJykuJzwvbGk+JzsNCgkJfQ0KCX0NCgkNCn1lbHNlew0KCQ0KCWZvcmVhY2goJF9GSUxFUyBhcyAkZmllbGRuYW1lPT4kZmlsZSl7DQoJCWlmKCRmaWVsZG5hbWUgIT0gJHppcGZpZWxkICYmIGlzc2V0KCRmaWxlWyduYW1lJ10pICYmICRmaWxlWyduYW1lJ10gIT0gIiIpew0KCQkJJGV4dGVuc2lvbiA9IHN0cnRvbG93ZXIoc3Vic3RyKHN0cnJjaHIoJGZpbGVbJ25hbWUnXSwgIi4iKSwxKSk7DQoJCQlpZiggISRhbGxvd2VkZXh0IHx8IGluX2FycmF5KCRleHRlbnNpb24sICRhbGxvd2VkZXh0KSApew0KCQkJCWlmKCAkZmlsZXBhdGggPSAkdGhpcy0+cGxVcGxvYWRGaWxlKCRmaWxlLCAkZGVzdGluYXRpb24sICRyZXNpemUsIGlzc2V0KCRwYXJhbXNbJ2Nyb3AnXSkpICl7DQoJCQkJCSR0aGlzLT5wbEFzc2lnbkZpbGUoJGZpbGVwYXRoLCAkcGFyYW1zWyd0YWJsZW5hbWUnXSwgJGl0ZW1pZCwgJHBhcmFtc1snZmllbGQnXSwgJHRodW1ic2l6ZSwgaXNzZXQoJHBhcmFtc1snY3JvcHRodW1iJ10pKTsNCgkJCQl9ZWxzZXsNCgkJCQkJJGVycm9ycyAuPSAiPGxpPiIuJGZpbGVbJ25hbWUnXS4nOiAnLmxhbmcoJ2ZpbGVub3R1cGxvYWRlZCcpLiI8L2xpPiI7DQoJCQkJfQ0KCQkJfWVsc2V7DQoJCQkJJGVycm9ycyA9ICc8bGk+Jy4kZmlsZVsnbmFtZSddLic6ICcuJHRoaXMtPkxhbmcoJ2Vycm9yX3dyb25nZmlsZXR5cGUnKS4nPC9saT4nOw0KCQkJfQ0KCQl9DQoJfQ0KCQ0KfQ0KDQokbmV3cGFyYW1zID0gYXJyYXkoICRwYXJhbXNbJ3ByZWZpeCddLidpZCcgPT4gJGl0ZW1pZCApOw0KaWYoaXNzZXQoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkgJG5ld3BhcmFtc1snYWN0aXZlX3RhYiddID0gJHBhcmFtc1snYWN0aXZlX3RhYiddOw0KaWYoJGVycm9ycyAhPSAiIikJJG5ld3BhcmFtc1snbW9kdWxlX21lc3NhZ2UnXSA9ICc8dWw+Jy4kZXJyb3JzLic8L3VsPic7DQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZWRpdCcuJHBhcmFtc1sncHJlZml4J10sICRyZXR1cm5pZCwgJG5ld3BhcmFtcyApOwkJDQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/action.adminquery.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCmVjaG8gIjxoMj4iLiR0aGlzLT5MYW5nKCJjcmVhdGVxdWVyeSIpLiI8L2gyPjxici8+IjsNCg0KaWYoIWlzc2V0KCRwYXJhbXNbIndoYXQiXSkpew0KCQ0KCSRsZXZlbGFycmF5ID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQoJJGxldmVsb3B0aW9ucyA9IGFycmF5KCk7DQoJZm9yZWFjaCgkbGV2ZWxhcnJheSBhcyAkb25lKQkkbGV2ZWxvcHRpb25zWyRvbmVdID0gJG9uZTsNCgllY2hvICI8cD4iLiR0aGlzLT5MYW5nKCJwcm9tcHRfcXVlcnkiKTsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiYWRtaW5xdWVyeSIsICRyZXR1cm5pZCk7DQoJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsIndoYXQiLCRsZXZlbG9wdGlvbnMpOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKS4iPC9wPiI7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCQ0KfWVsc2VpZihpc3NldCgkcGFyYW1zWyJzdWJtaXRxdWVyeSJdKSl7DQoJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCSR3aGF0ID0gJHBhcmFtc1sid2hhdCJdOw0KCSRtdWx0aXBsZWxpc3RmaWVsZHMgPSBhcnJheSgpOw0KDQoNCgkvLyB3ZSBwYXJzZSB0aGUga2V5d29yZHMNCgkkd2hlcmUgPSAkdGhpcy0+Z2V0V2hlcmVGcm9tUGFyYW1zKCRwYXJhbXMpOw0KCQ0KCWxpc3QoJHdoZXJlY2xhdXNlLCAkd2hlcmV2YWx1ZXMpID0gJHRoaXMtPmJ1aWxkV2hlcmUoJHdoZXJlLCAkd2hhdCk7DQoJJGN1c3RvbW9yZGVyID0gKGlzc2V0KCRwYXJhbXNbIm9yZGVyIl0pICYmICRwYXJhbXNbIm9yZGVyIl0gIT0gIiIpPyRwYXJhbXNbIm9yZGVyIl0uIiAiLiRwYXJhbXNbIm9yZGVyX3R5cGUiXToiIjsNCgkNCgkkdG1waWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQXNhdmVkX3F1ZXJpZXNfc2VxIik7DQoJJG5hbWUgPSBpc3NldCgkcGFyYW1zWyJxdWVyeW5hbWUiXSk/YWRkc2xhc2hlcygkcGFyYW1zWyJxdWVyeW5hbWUiXSk6IiI7DQoJDQoJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3NhdmVkX3F1ZXJpZXMgU0VUIGlkPT8sIG5hbWU9Pywgd2hhdD0/LCB3aGVyZWNsYXVzZT0/LCB3aGVyZXZhbHVlcz0/LCBxdWVyeW9yZGVyPT8iOw0KCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCR0bXBpZCwgJG5hbWUsICR3aGF0LCAkd2hlcmVjbGF1c2UsIHNlcmlhbGl6ZSgkd2hlcmV2YWx1ZXMpLCAkY3VzdG9tb3JkZXIpKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgiYWN0aXZlX3RhYiI9PiJxdWVyaWVzIiwibW9kdWxlX21lc3NhZ2UiPT4kdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKSk7DQoNCn1lbHNlew0KCSR3aGF0ID0gJHBhcmFtc1sid2hhdCJdOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJhZG1pbnF1ZXJ5IiwgJHJldHVybmlkKTsNCgllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ3aGF0IiwgJHdoYXQpOw0KCWVjaG8gIjxwPiIuJHRoaXMtPkxhbmcoInF1ZXJ5bmFtZSIpLiI6ICIuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInF1ZXJ5bmFtZSIsIiIsMzApLiI8L3A+IjsNCgkkdGhpcy0+Y3JlYXRlRmllbGRGb3JtKCR3aGF0LCAkaWQsIGZhbHNlKTsNCgllY2hvICI8cD4iLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXRxdWVyeSIsIGxhbmcoInN1Ym1pdCIpKS4iPC9wPiI7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCQkJDQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.assignfile.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCmlmKCFpc3NldCgkcGFyYW1zWydmaWVsZCddKSB8fCAhaXNzZXQoJHBhcmFtc1sncHJlZml4J10pIHx8ICFpc3NldCgkcGFyYW1zWyRwYXJhbXNbJ3ByZWZpeCddLidpZCddKSB8fCAhaXNzZXQoJHBhcmFtc1sndGFibGVuYW1lJ10pKQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCBhcnJheSgpKTsNCg0KJGZpbGVwYXRoID0gaXNzZXQoJHBhcmFtc1snZmlsZXBhdGgnXSk/JHBhcmFtc1snZmlsZXBhdGgnXTonJzsNCmlmKCRmaWxlcGF0aCAhPSAnJyAmJiBpc3NldCgkcGFyYW1zWydzdGFydGRpciddKSAmJiAkcGFyYW1zWydzdGFydGRpciddICE9ICcvJykJJGZpbGVwYXRoID0gJHBhcmFtc1snc3RhcnRkaXInXS4nLycuJGZpbGVwYXRoOw0KJGZpbGVwYXRoID0gc3RyX3JlcGxhY2UoJy8vJywnLycsJGZpbGVwYXRoKTsNCiRpdGVtaWQgPSAkcGFyYW1zWyRwYXJhbXNbJ3ByZWZpeCddLidpZCddOw0KJHRodW1ic2l6ZSA9IGlzc2V0KCRwYXJhbXNbJ3RodW1iJ10pPyRwYXJhbXNbJ3RodW1iJ106ZmFsc2U7DQoNCiR0aGlzLT5wbEFzc2lnbkZpbGUoJGZpbGVwYXRoLCAkcGFyYW1zWyd0YWJsZW5hbWUnXSwgJGl0ZW1pZCwgJHBhcmFtc1snZmllbGQnXSwgJHRodW1ic2l6ZSwgaXNzZXQoJHBhcmFtc1snY3JvcHRodW1iJ10pKTsNCg0KJG5ld3BhcmFtcyA9IGFycmF5KCAkcGFyYW1zWydwcmVmaXgnXS4naWQnID0+ICRpdGVtaWQgKTsNCmlmKGlzc2V0KCRwYXJhbXNbJ2FjdGl2ZV90YWInXSkpICRuZXdwYXJhbXNbJ2FjdGl2ZV90YWInXSA9ICRwYXJhbXNbJ2FjdGl2ZV90YWInXTsNCiR0aGlzLT5SZWRpcmVjdCgkaWQsICdlZGl0Jy4kcGFyYW1zWydwcmVmaXgnXSwgJHJldHVybmlkLCAkbmV3cGFyYW1zICk7CQkNCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/action.browsefiles.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMjIGFjdGlvbi5Ccm93c2VmaWxlcy5waHANCiMjIEJ5OiBQaWVycmUtTHVjIEdlcm1haW4NCiMjIFBBUkFNUzoNCiMjICRwYXJhbXNbJ21vZGUnXSA6IGltYWdlcyB8fCBmaWxlcw0KIyMgJHBhcmFtc1snZXh0ZW5zaW9ucyddIDogYXJyYXkgb2Ygc2hvd24gZmlsZSBleHRlbnNpb25zDQojIyAkcGFyYW1zWydzdGFydGRpciddIDogdGhlIGZvbGRlciB0byBzdGFydCBhdCAoIHVwbG9hZHMvIFtzdGFydGRpcl0gLyApDQojIyAkcGFyYW1zWyd0YWJsZW5hbWUnXSA6IHRoZSBuYW1lIG9mIHRoZSBkYiB0YWJsZQ0KIyMgJHBhcmFtc1sncHJlZml4J10gOiB0aGUgdmFyaWFibGUgcHJlZml4DQojIyAkcGFyYW1zW3ByZWZpeC4naWQnXSA6IHRoZSBpZCBvZiB0aGUgaXRlbSB0byB3aGljaCB0aGUgaW1hZ2Ugd2lsbCBiZSBhc3NpZ25lZCAodmFsdWUgaXMgbm90IHVzZWQsIGJ1dCByZXR1cm5lZCBhdCB0aGUgZW5kKQ0KIyMgJHBhcmFtc1snZmllbGQnXSA6IG9ubHkgYSBwYXNzLXRocm91Z2ggdG8gdGhlIGFzc2lnbiBhY3Rpb24NCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFJFVFJJRVZJTkcgUEFSQU1TIEFORCBDT05GSUdTLi4uDQojDQppZiAoIWlzc2V0KCRwYXJhbXNbJ21vZGUnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2ZpZWxkJ10pIHx8ICFpc3NldCgkcGFyYW1zWydwcmVmaXgnXSkgfHwgIWlzc2V0KCRwYXJhbXNbJ2ZpZWxkJ10pIHx8ICFpc3NldCgkcGFyYW1zWyd0YWJsZW5hbWUnXSkgKSBleGl0Ow0KDQokaGlkZXRodW1icyA9IHRydWU7IC8vIHdpbGwgaGlkZSBJbWFnZSBNYW5hZ2VyIHRodW1ibmFpbHMsIGJ1dCBhbHNvIGhpZGUgYWxsIGZpbGVzIHRoYXQgc3RhcnQgd2l0aCAidGh1bWJfIi4uLg0KJHRoZWFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoNCiMjIGRlZmluaW5nIHRoZSBhbGxvd2VkIGV4dGVuc2lvbnM6DQokbWVkaWFleHQgPSBhcnJheSgnc3dmJywnZmx2JywnanBlZycsJ2pwZycsJ3BuZycsJ2dpZicpOw0KJGRvY2V4dCA9IGFycmF5KCdkb2MnLCdkb2N4JywneGxzJywneGxzeCcsJ3J0ZicsJ3R4dCcsJ3BkZicpOw0KDQppZigkcGFyYW1zWydtb2RlJ10gPT0gJ2ltYWdlcycgfHwgJHBhcmFtc1snbW9kZSddID09ICdpbWFnZScpIHsNCgkkbW9kZSA9ICdpbWFnZSc7DQoJJGFsbG93ZWRleHQgPSAkbWVkaWFleHQ7DQp9ZWxzZXsNCgkkbW9kZSA9ICdvdGhlcic7DQoJJGFsbG93ZWRleHQgPSBhcnJheV9tZXJnZSgkbWVkaWFleHQsJGRvY2V4dCk7DQp9DQppZihpc3NldCgkcGFyYW1zWydleHRlbnNpb25zJ10pICYmICRwYXJhbXNbJ2V4dGVuc2lvbnMnXSAmJiAkcGFyYW1zWydleHRlbnNpb25zJ10gIT0gIiIpCSRhbGxvd2VkZXh0ID0gZXhwbG9kZSgiLCIsJHBhcmFtc1snZXh0ZW5zaW9ucyddKTsNCmlmKCRtb2RlID09ICdpbWFnZScgJiYgISR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzaG93dGh1bWJuYWlscyIsdHJ1ZSkpCSRtb2RlID0gJ290aGVyJzsNCg0KJGFkZGZpbGVzID0gKCBpc3NldCgkcGFyYW1zWydhZGRmaWxlcyddKSAmJiAkcGFyYW1zWydhZGRmaWxlcyddICk7DQoNCg0KDQojIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCiMgU09NRSBGVU5DVElPTlMuLi4NCiMNCg0KZnVuY3Rpb24gc3RybGltaXQoJHN0cmluZyl7DQoJLy8gZnVuY3Rpb24gdG8gbGltaXQgdGhlIGxlbmd0aCBvZiB0aGUgZmlsZW5hbWVzDQoJaWYgKHN1YnN0cigkc3RyaW5nLDAsMjEpID09ICRzdHJpbmcpew0KCQlyZXR1cm4gJHN0cmluZzsNCgl9ZWxzZXsNCgkJcmV0dXJuIHN1YnN0cigkc3RyaW5nLDAsMTkpLicuLi4nOw0KCX0NCn0NCmZ1bmN0aW9uIGdldF90aHVtYm5haWwoJGJhc2V1cmwsICRmaWxlbmFtZSwgJGRpciwgJHJldHVybmFycmF5PWZhbHNlKXsNCgkkdGh1bWJwYXRoID0gJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmaWxlbmFtZTsNCgkkdGh1bWJuYW1lID0gJGZpbGVuYW1lOw0KCWlmIChmaWxlX2V4aXN0cygkZGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ3RodW1iXycuJGZpbGVuYW1lKSkgew0KCQkkdGh1bWJuYW1lID0gJ3RodW1iXycuJGZpbGVuYW1lOw0KCX1lbHNlaWYoZmlsZV9leGlzdHMoJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLidwbHRodW1iXycuJGZpbGVuYW1lKSl7DQoJCSR0aHVtYm5hbWUgPSAncGx0aHVtYl8nLiRmaWxlbmFtZTsNCgl9DQoJJGltZ2luZiA9IGdldGltYWdlc2l6ZSgkZGlyLkRJUkVDVE9SWV9TRVBBUkFUT1IuJHRodW1ibmFtZSk7DQoJaWYoISRpbWdpbmYgfHwgIWlzc2V0KCRpbWdpbmZbMV0pKQlyZXR1cm4gZmFsc2U7DQoJbGlzdCgkd2lkdGgsICRoZWlnaHQpID0gJGltZ2luZjsNCgkkdGh1bWJuYWlscmF0aW8gPSBtYXgoJHdpZHRoIC8gMTA2LCRoZWlnaHQgLyAxMDYpOw0KCWlmICgkdGh1bWJuYWlscmF0aW8gPCAxKSAkdGh1bWJuYWlscmF0aW8gPSAxOw0KCSR0aGVpZ2h0ID0gZmxvb3IoJGhlaWdodCAvICR0aHVtYm5haWxyYXRpbyk7DQoJJHR3aWR0aCA9IGZsb29yKCR3aWR0aCAvICR0aHVtYm5haWxyYXRpbyk7DQoJaWYoJHJldHVybmFycmF5KXsNCgkJcmV0dXJuIGFycmF5KCRiYXNldXJsLicvJy4kdGh1bWJuYW1lLCAkdHdpZHRoLCAkdGhlaWdodCk7DQoJfWVsc2V7DQoJCXJldHVybiAnPGltZyBib3JkZXI9MCBzcmM9IicuJGJhc2V1cmwuJy8nLiR0aHVtYm5hbWUuJyIgd2lkdGg9IicuJHR3aWR0aC4nIiBoZWlnaHQ9IicuJHRoZWlnaHQuJyIgLz4nOw0KCX0NCn0NCmZ1bmN0aW9uIGltYWdlbW9kZV9idWlsZGxpbmtjb250ZW50KCRiYXNldXJsLCAkZmlsZW5hbWUsICRkaXI9Jycpew0KCS8vIGNyZWF0ZXMgdGhlIGNvbnRlbnQgb2YgdGhlIGxpbmsgaW4gaW1hZ2UgbW9kZQ0KCSRleHRlbnNpb24gPSBzdHJ0b2xvd2VyKHN1YnN0cihzdHJyY2hyKCRmaWxlbmFtZSwgIi4iKSwgMSkpOw0KCWlmKGluX2FycmF5KCRleHRlbnNpb24sIGFycmF5KCdqcGVnJywnanBnJywncG5nJywnZ2lmJykpKXsNCgkJJHRoZXRodW1iID0gZ2V0X3RodW1ibmFpbCgkYmFzZXVybCwgJGZpbGVuYW1lLCAkZGlyKTsNCgkJcmV0dXJuICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij4nLiR0aGV0aHVtYi4nPC9kaXY+Jy5zdHJsaW1pdCgkZmlsZW5hbWUpOw0KCX0NCglnbG9iYWwgJGdDbXM7DQoJJHRoZWFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoJaWYoaW5fYXJyYXkoJGV4dGVuc2lvbiwgYXJyYXkoJ2ZsdicsJ3N3ZicsJ3dtdicsJ21vdicpKSl7DQoJCSRwaWMgPSAkdGhlYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9maWxldHlwZXMvZm1lZGlhLmdpZiIpOw0KCX1lbHNlaWYoaW5fYXJyYXkoJGV4dGVuc2lvbiwgYXJyYXkoJ2pwZWcnLCdqcGcnLCdwbmcnLCdnaWYnKSkpew0KCQkkcGljID0gJHRoZWFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvZmlsZXR5cGVzL2ZwYWludC5naWYiKTsNCgl9ZWxzZXsNCgkJJHBpYyA9ICR0aGVhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL2ZpbGV0eXBlcy9mZG9jLmdpZiIpOw0KCX0NCglyZXR1cm4gJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPicuJHBpYy4nPC9kaXY+Jy5zdHJsaW1pdCgkZmlsZW5hbWUpOw0KfQ0KDQpmdW5jdGlvbiBtYWtlRGlyT2JqKCRmaWxlbmFtZSwkZGlyLCRtb2R1bGUsJHBhcmFtcywkY3VyZGlyLCRwYXJlbnRkaXIsJGlkLCRyZXR1cm5pZCl7DQoJZ2xvYmFsICRnQ21zOw0KCSR0aGVhZG1pbnRoZW1lID0gJGdDbXMtPnZhcmlhYmxlc1siYWRtaW50aGVtZSJdOw0KCSRwYXJlbnQgPSAoJGZpbGVuYW1lID09ICcuLicpOw0KCSRvYmogPSBuZXcgU3RkQ2xhc3MoKTsNCgkkb2JqLT5mb2xkZXIgPSB0cnVlOw0KCSRlbXB0eSA9IGFycmF5KCJleHQiLCJzaXplIiwiaW1hZ2VzaXplIiwiZGVsZXRlbGluayIsIm1vZGlmaWVkIiwib3duZXIiLCJwZXJtaXNzaW9ucyIpOw0KCWZvcmVhY2goJGVtcHR5IGFzICRmaWVsZCkJJG9iai0+JGZpZWxkID0gJyc7DQoJJG9iai0+ZmlsZW5hbWUgPSAkZmlsZW5hbWU7DQoJJG9iai0+cGljID0gJHRoZWFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvZmlsZXR5cGVzLyIuKCRwYXJlbnQ/InVwIjoiIikuImZvbGRlci5naWYiKTsNCglpZigkcGFyZW50KXsNCgkJJG5ld3BhcmFtcyA9IGFycmF5X21lcmdlKCRwYXJhbXMsIGFycmF5KCdjdXJkaXInID0+ICRwYXJlbnRkaXIpKTsNCgkJJG9iai0+dGhlbGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnYnJvd3NlZmlsZXMnLCAkcmV0dXJuaWQsICcuLicsICRuZXdwYXJhbXMpOw0KCX1lbHNlew0KCQkkbmV3cGFyYW1zID0gYXJyYXlfbWVyZ2UoJHBhcmFtcywgYXJyYXkoJ2N1cmRpcicgPT4gJGN1cmRpci4nLycuJGZpbGVuYW1lLCAncGFyZW50ZGlyJyA9PiAkY3VyZGlyKSk7DQoJCSRvYmotPnRoZWxpbmsgPSAnPGEgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPi4nLiRmaWxlbmFtZS4nPC9hPicuJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsICdicm93c2VmaWxlcycsICRyZXR1cm5pZCwgJGZpbGVuYW1lLCAkbmV3cGFyYW1zKTsNCgl9DQoJcmV0dXJuICRvYmo7DQp9DQpmdW5jdGlvbiBtYWtlRmlsZU9iaigkZmlsZW5hbWUsJGRpciwkbW9kdWxlLCRwYXJhbXMsJGN1cmRpciwkaWQsJHJldHVybmlkLCRiYXNldXJsKXsNCglnbG9iYWwgJGdDbXM7DQoJJHRoZWFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoJJGluZm8gPSAkbW9kdWxlLT5wbEdldEZpbGVJbmZvKCRkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZmlsZW5hbWUpOw0KCSRleHRlbnNpb24gPSAkaW5mb1snZXh0J107DQoJJG9iaiA9IG5ldyBTdGRDbGFzcygpOw0KCSRvYmotPmZvbGRlciA9IGZhbHNlOw0KCSRvYmotPmZpbGVuYW1lID0gJGZpbGVuYW1lOw0KCSRvYmotPmV4dCA9ICRleHRlbnNpb247DQoJJG9iai0+c2l6ZSA9ICc8YSBzdHlsZT0iZGlzcGxheTpub25lOyI+Jy4kaW5mb1sic2l6ZSJdLic8L2E+Jy4kaW5mb1sic2l6ZV93Zm9ybWF0Il07DQoJJG9iai0+cGljID0gJHRoZWFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgkaW5mb1siZmlsZWljb24iXSk7DQoJJG9iai0+aW1hZ2VzaXplID0gJyc7DQoJJG9iai0+dmlld2xpbmsgPSAnJzsNCglpZigkaW5mb1siaW1hZ2VzaXplIl0pew0KCQkkb2JqLT5pbWFnZXNpemUgPSAnPGEgc3R5bGU9ImRpc3BsYXk6bm9uZTsiPicuJGluZm9bIndpZHRoIl0uJzwvYT4nLiRpbmZvWyJpbWFnZXNpemUiXTsNCgkJJHRoZXRodW1iID0gZ2V0X3RodW1ibmFpbCgkYmFzZXVybCwgJGZpbGVuYW1lLCAkZGlyLCB0cnVlKTsNCgkJaWYoJHRoZXRodW1iKQkkb2JqLT52aWV3bGluayA9ICcgPGEgaHJlZj0iJy4kdGhldGh1bWJbMF0uJyIgdGl0bGU9IicuJG1vZHVsZS0+TGFuZygiaW5zdGFudHByZXZpZXciKS4nIiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0icmV0dXJuIGRpc3BsYXl0aHVtYih0aGlzLFwnJy4kdGhldGh1bWJbMF0uJ1wnLCcuJHRoZXRodW1iWzFdLicsJy4kdGhldGh1bWJbMl0uJyk7Ij4nLiR0aGVhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS92aWV3LmdpZiIpLic8L2E+JzsNCgl9DQoJJG9iai0+ZGVsZXRlbGluayA9ICRtb2R1bGUtPkNyZWF0ZUxpbmsoJGlkLCAnYnJvd3NlZmlsZXMnLCAkcmV0dXJuaWQsICR0aGVhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9kZWxldGUuZ2lmIiksYXJyYXlfbWVyZ2UoJHBhcmFtcywgYXJyYXkoJ2RlbGV0ZWZpbGUnPT4kZmlsZW5hbWUpKSkuJG9iai0+dmlld2xpbms7DQoJJG5ld3BhcmFtcyA9IGFycmF5X21lcmdlKCRwYXJhbXMsIGFycmF5KCdmaWxlbmFtZSc9PiRmaWxlbmFtZSwgJ2ZpbGVwYXRoJyA9PiAkY3VyZGlyLicvJy4kZmlsZW5hbWUpKTsNCgkkb2JqLT50aGVsaW5rID0gJG1vZHVsZS0+Q3JlYXRlTGluaygkaWQsICdhc3NpZ25maWxlJywgJHJldHVybmlkLCAkZmlsZW5hbWUsICRuZXdwYXJhbXMpOw0KCSRvYmotPm1vZGlmaWVkID0gJzxhIHN0eWxlPSJkaXNwbGF5Om5vbmU7Ij4nLiRpbmZvWyJmaWxlbXRpbWUiXS4nPC9hPicuJGluZm9bIm1vZGlmaWVkIl07DQoJJG9iai0+b3duZXIgPSAkaW5mb1sib3duZXIiXTsNCgkkb2JqLT5wZXJtaXNzaW9ucyA9ICRpbmZvWyJwZXJtaXNzaW9ucyJdOw0KCXJldHVybiAkb2JqOw0KfQ0KDQoNCg0KDQoNCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFJFVFJJRVZJTkcgQ1VSUkVOVCBQQVRILi4uDQojDQoNCiRzdGFydGRpciA9IGlzc2V0KCRwYXJhbXNbJ3N0YXJ0ZGlyJ10pPyRwYXJhbXNbJ3N0YXJ0ZGlyJ106Jyc7DQppZigkc3RhcnRkaXIgIT0gJycgJiYgc3Vic3RyKCRzdGFydGRpciwwLDEpICE9ICcvJyAmJiBzdWJzdHIoJHN0YXJ0ZGlyLDAsMSkgIT0gJ1xcJykgJHN0YXJ0ZGlyID0gRElSRUNUT1JZX1NFUEFSQVRPUi4kc3RhcnRkaXI7DQppZighZmlsZV9leGlzdHMoJGdDbXMtPmNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uJHN0YXJ0ZGlyKSkgQG1rZGlyKCRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLiRzdGFydGRpcik7DQoNCiRwYXJlbnRkaXIgPSAoaXNzZXQoJHBhcmFtc1sncGFyZW50ZGlyJ10pID8gJHBhcmFtc1sncGFyZW50ZGlyJ10gOiAnJyk7DQokY3VyZGlyID0gKGlzc2V0KCRwYXJhbXNbJ2N1cmRpciddKSA/ICRwYXJhbXNbJ2N1cmRpciddIDogJycpOw0KJGRpciA9ICRnQ21zLT5jb25maWdbJ3VwbG9hZHNfcGF0aCddLiRzdGFydGRpci4kY3VyZGlyOw0KaWYoIWlzX2RpcigkZGlyKSl7DQoJJGRpciA9ICRnQ21zLT5jb25maWdbInVwbG9hZHNfcGF0aCJdOw0KCSRjdXJkaXIgPSAnJzsNCgkkcGFyZW50ZGlyID0gJyc7DQp9DQokYmFzZXVybCA9ICRnQ21zLT5jb25maWdbJ3VwbG9hZHNfdXJsJ10uJHN0YXJ0ZGlyLiRjdXJkaXI7DQoNCmlmIChpc3NldCgkcGFyYW1zWydkZWxldGVmaWxlJ10pKXsNCgkvLyBXZSdyZSBkZWxldGluZyBhIGZpbGUNCglpZihmaWxlX2V4aXN0cygkZGlyLicvJy4kcGFyYW1zWydkZWxldGVmaWxlJ10pICYmIHVubGluaygkZGlyLicvJy4kcGFyYW1zWydkZWxldGVmaWxlJ10pKXsNCgkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfZGVsZXRlZCIpKTsNCgl9DQp9DQoNCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFBSRVBBUklORyBISURERU4gRklFTERTIEZPUiBVUExPQUQNCiMNCg0KJGhpZGRlbiA9ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2N1cmRpcicsJGN1cmRpcikuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnZmllbGQnLCRwYXJhbXNbJ2ZpZWxkJ10pLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ3RhYmxlbmFtZScsJHBhcmFtc1sndGFibGVuYW1lJ10pLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ21vZGUnLCRwYXJhbXNbJ21vZGUnXSkuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwncHJlZml4JywkcGFyYW1zWydwcmVmaXgnXSkuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwkcGFyYW1zWydwcmVmaXgnXS4naWQnLCRwYXJhbXNbJHBhcmFtc1sncHJlZml4J10uJ2lkJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snZXh0ZW5zaW9ucyddKSkgJGhpZGRlbiAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdleHRlbnNpb25zJywkcGFyYW1zWydleHRlbnNpb25zJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snc3RhcnRkaXInXSkpICRoaWRkZW4gLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnc3RhcnRkaXInLCRwYXJhbXNbJ3N0YXJ0ZGlyJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snc2l6ZSddKSkgJGhpZGRlbiAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdzaXplJywkcGFyYW1zWydzaXplJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1sndGh1bWInXSkpICRoaWRkZW4gLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwndGh1bWInLCRwYXJhbXNbJ3RodW1iJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snY3JvcCddKSkgJGhpZGRlbiAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdjcm9wJywkcGFyYW1zWydjcm9wJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snY3JvcHRodW1iJ10pKSAkaGlkZGVuIC49ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsJ2Nyb3B0aHVtYicsJHBhcmFtc1snY3JvcHRodW1iJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snYWRkZmlsZXMnXSkpICRoaWRkZW4gLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwnYWRkZmlsZXMnLCRwYXJhbXNbJ2FkZGZpbGVzJ10pOw0KaWYoaXNzZXQoJHBhcmFtc1snYWN0aXZlX3RhYiddKSkgJGhpZGRlbiAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCdhY3RpdmVfdGFiJywkcGFyYW1zWydhY3RpdmVfdGFiJ10pOw0KDQoNCg0KIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQojIFJFVFJJRVZJTkcgRklMRVMgJiBGT0xERVJTDQojDQoNCiRkaCAgPSBvcGVuZGlyKCRkaXIpOw0KJGZvbGRlcnMgPSBhcnJheSgpOw0KJGZpbGVzID0gYXJyYXkoKTsNCiR1cGZvbGRlciA9IGZhbHNlOw0Kd2hpbGUgKCRmaWxlbmFtZSA9IHJlYWRkaXIoJGRoKSl7DQoJaWYoaXNfZGlyKCRkaXIuRElSRUNUT1JZX1NFUEFSQVRPUi4kZmlsZW5hbWUpICYmICRmaWxlbmFtZSE9Jy4nKXsNCgkJCWlmICgkZmlsZW5hbWU9PScuLicpIHsNCgkJCQlpZiAoJGN1cmRpciAhPSAnJykJCSR1cGZvbGRlciA9IHRydWU7DQoJCQl9ZWxzZXsNCgkJCQkkZm9sZGVyc1tdID0gJGZpbGVuYW1lOw0KCQkJfQ0KCX1lbHNlew0KCQkkZXh0ZW5zaW9uID0gc3RydG9sb3dlcihzdWJzdHIoc3RycmNocigkZmlsZW5hbWUsICIuIiksIDEpKTsNCgkJaWYoaW5fYXJyYXkoJGV4dGVuc2lvbiwgJGFsbG93ZWRleHQpICYmICghJGhpZGV0aHVtYnMgfHwgc3Vic3RyKCRmaWxlbmFtZSwwLDYpICE9ICd0aHVtYl8nKSAmJiBzdWJzdHIoJGZpbGVuYW1lLDAsOCkgIT0gJ3BsdGh1bWJfJyl7DQoJCQkkZmlsZXNbXSA9ICRmaWxlbmFtZTsNCgkJfQ0KCX0NCn0NCmlmIChpc3NldCgkZGgpKQljbG9zZWRpcigkZGgpOw0Kc29ydCgkZm9sZGVycyk7DQpzb3J0KCRmaWxlcyk7DQoNCg0KDQoNCiMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KIyBESVNQTEFZSU5HLi4uDQojDQoNCmVjaG8gJzxkaXYgaWQ9ImN0bG1tX3N1Ym1pdG1lc3NhZ2UiIGNsYXNzPSJwYWdlbWNvbnRhaW5lciIgc3R5bGU9ImRpc3BsYXk6IG5vbmU7Ij4nLiR0aGlzLT5MYW5nKCJzdWJtaXR0aW5nX2ZpbGUiKS4nPC9kaXY+JzsNCg0KaWYoJG1vZGUgPT0gJ2ltYWdlJyl7DQoJLy8gaW1hZ2UgbW9kZSAod2l0aCB0aHVtYm5haWxzKSAtIG5vIHRlbXBsYXRlDQoJZWNobyAnPGgyPicuJHRoaXMtPkxhbmcoJ2Jyb3dzZWZpbGVzdGl0bGUnKS4nPC9oMj4nOw0KCWVjaG8gJzxwPicuJHRoaXMtPkxhbmcoJ3Nob3dpbmdkaXInKS4nIDogJy4kZGlyLic8L3A+JzsNCgllY2hvICc8ZGl2IGlkPSJmaWxlc2VsZWN0IiBjbGFzcz0icGFnZW92ZXJmbG93IiBzdHlsZT0icGFkZGluZzogNHB4OyBtYXJnaW4tYm90dG9tOiAxMHB4OyBib3JkZXI6IDFweCBzb2xpZCAjNjY2NjY2OyBiYWNrZ3JvdW5kOiAjRkZGRkZGOyBvdmVyZmxvdzogYXV0bzsiPjxkaXYgc3R5bGU9ImNsZWFyOiBib3RoOyI+JzsNCgkkZGl2b3B0aW9uID0gJzxkaXYgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsgZmxvYXQ6IGxlZnQ7IHdpZHRoOiAxNjVweDsgaGVpZ2h0OiAxODBweDsiPjxici8+JzsNCgkkY2xvc2VkaXYgPSAnPC9kaXY+DQonOw0KCWlmKCR1cGZvbGRlcil7DQoJCWVjaG8gJGRpdm9wdGlvbjsNCgkJJG5ld3BhcmFtcyA9IGFycmF5X21lcmdlKCRwYXJhbXMsIGFycmF5KCdjdXJkaXInID0+ICRwYXJlbnRkaXIpKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICdicm93c2VmaWxlcycsICRyZXR1cm5pZCwgJHRoZWFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvZmlsZXR5cGVzL3VwZm9sZGVyLmdpZiIpLic8YnIvPicuJHRoaXMtPkxhbmcoJ3BhcmVudGRpcicpLCAkbmV3cGFyYW1zKTsNCgkJZWNobyAkY2xvc2VkaXY7DQoJfQ0KCWZvcmVhY2goJGZvbGRlcnMgYXMgJGZpbGVuYW1lKXsNCgkJZWNobyAkZGl2b3B0aW9uOw0KCQkkbmV3cGFyYW1zID0gYXJyYXlfbWVyZ2UoJHBhcmFtcywgYXJyYXkoJ2N1cmRpcicgPT4gJGN1cmRpci4nLycuJGZpbGVuYW1lLCAncGFyZW50ZGlyJyA9PiAkY3VyZGlyKSk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYnJvd3NlZmlsZXMnLCAkcmV0dXJuaWQsICc8ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij48aW1nIGJvcmRlcj0wIHNyYz0iLi4vbGliL2ZpbGVtYW5hZ2VyL0ltYWdlTWFuYWdlci9pbWcvZm9sZGVyLmdpZiIgLz48L2Rpdj4nLiRmaWxlbmFtZSwgJG5ld3BhcmFtcyk7DQoJCWVjaG8gJGNsb3NlZGl2Ow0KCX0NCglmb3JlYWNoKCRmaWxlcyBhcyAkZmlsZW5hbWUpew0KCQllY2hvICRkaXZvcHRpb247DQoJCSRuZXdwYXJhbXMgPSBhcnJheV9tZXJnZSgkcGFyYW1zLCBhcnJheSgnZmlsZW5hbWUnPT4kZmlsZW5hbWUsICdmaWxlcGF0aCcgPT4gJGN1cmRpci4nLycuJGZpbGVuYW1lKSk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYXNzaWduZmlsZScsICRyZXR1cm5pZCwgaW1hZ2Vtb2RlX2J1aWxkbGlua2NvbnRlbnQoJGJhc2V1cmwsICRmaWxlbmFtZSwgJGRpciksICRuZXdwYXJhbXMpLic8YnIvPic7DQoJCSRpbWdpbmYgPSBnZXRpbWFnZXNpemUoJGRpci5ESVJFQ1RPUllfU0VQQVJBVE9SLiRmaWxlbmFtZSk7DQoJCWlmKCRpbWdpbmYgJiYgaXNzZXQoJGltZ2luZlsxXSkpCWVjaG8gJygnLiRpbWdpbmZbMF0uJ3gnLiRpbWdpbmZbMV0uJykgJzsNCgkJJG5ld3BhcmFtcyA9IGFycmF5X21lcmdlKCRwYXJhbXMsIGFycmF5KCdkZWxldGVmaWxlJz0+JGZpbGVuYW1lKSk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAnYnJvd3NlZmlsZXMnLCAkcmV0dXJuaWQsICR0aGVhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9kZWxldGUuZ2lmIiksJG5ld3BhcmFtcyk7DQoJCWVjaG8gJGNsb3NlZGl2Ow0KCX0NCgllY2hvICc8L2Rpdj48L2Rpdj4nOw0KCQ0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdhZGRmaWxlcycsICRyZXR1cm5pZCwgJ3Bvc3QnLCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YScpOw0KCWVjaG8gJzxoMz4nLmxhbmcoJ3VwbG9hZGZpbGUnKS4nOjwvaDM+PGRpdj4nOw0KCWlmKCRhZGRmaWxlcyl7DQoJCWVjaG8gJzxmaWVsZHNldCBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyI+PGxlZ2VuZD48Yj4nLiR0aGlzLT5MYW5nKCJ1cGxvYWR6aXBmaWxlIikuJzwvYj48L2xlZ2VuZD4nOw0KCQllY2hvICc8cD4nLiR0aGlzLT5MYW5nKCJ6aXBmaWxlbm90aWNlIikuJzwvcD4nOw0KCQllY2hvICc8cD4nLiR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCd1cGxvYWR6aXBmaWxlJykuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdHppcGZpbGUnLGxhbmcoJ3NlbmQnKSkuJzwvcD48L2ZpZWxkc2V0Pic7DQoJfQ0KCWVjaG8gJzxwPicuJHRoaXMtPkxhbmcoJ3Bvc3RtYXhzaXplJykuaW5pX2dldCgncG9zdF9tYXhfc2l6ZScpLic8L3A+JzsNCglpZihpc3NldCgkcGFyYW1zWyJzaXplIl0pKQllY2hvICc8cD4oJy4kdGhpcy0+TGFuZygnYnJvd3NlZmlsZXNyZXNpemUnKS4nKTwvcD4nOw0KCWVjaG8gJzxkaXYgaWQ9ImZpbGVpbnB1dHMiPjxwPicuJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ3VwbG9hZGZpbGUnKS4nPC9wPjwvZGl2Pic7DQoJaWYoJGFkZGZpbGVzKQllY2hvICc8cD48YSBocmVmPSJqYXZhc2NyaXB0OmFkZGZpbGVpbnB1dChcJ2ZpbGVpbnB1dHNcJyx0aGlzKTsiIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7Ij4nLiR0aGlzLT5MYW5nKCJhZGRmaWxlaW5wdXQiKS4nPC9hPjwvcD4nOw0KCWVjaG8gJzxwPicuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JyxsYW5nKCdzZW5kJykpLic8L3A+JzsNCgllY2hvICRoaWRkZW47DQoJZWNobyAnPC9kaXY+JzsJCQ0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkNCn1lbHNlew0KCS8vIGxpc3QgbW9kZSAobm8gdGh1bWJuYWlscykgLSB1c2VzIGEgdGVtcGxhdGUNCgkNCgkkaW5zdGFudHNlYXJjaCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkaXNwbGF5X2luc3RhbnRzZWFyY2giLGZhbHNlKTsNCgkkaW5zdGFudHNvcnQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZGlzcGxheV9pbnN0YW50c29ydCIsZmFsc2UpOw0KCQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYnJvd3NldGl0bGUiLCR0aGlzLT5MYW5nKCdicm93c2VmaWxlc3RpdGxlJykpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigidXBsb2FkdGl0bGUiLGxhbmcoJ3VwbG9hZGZpbGUnKSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJzaG93aW5nZGlyIiwkdGhpcy0+TGFuZygnc2hvd2luZ2RpcicpLicgOiAnLiRkaXIpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZm9ybXN0YXJ0IiwkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgJ2FkZGZpbGVzJywgJHJldHVybmlkLCAncG9zdCcsICdtdWx0aXBhcnQvZm9ybS1kYXRhJykpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZm9ybWVuZCIsJGhpZGRlbi4kdGhpcy0+Q3JlYXRlRm9ybUVuZCgpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInJlc2l6ZW5vdGljZSIsaXNzZXQoJHBhcmFtc1sic2l6ZSJdKT8kdGhpcy0+TGFuZygnYnJvd3NlZmlsZXNyZXNpemUnKTpmYWxzZSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwb3N0bWF4c2l6ZSIsJHRoaXMtPkxhbmcoJ3Bvc3RtYXhzaXplJykuaW5pX2dldCgncG9zdF9tYXhfc2l6ZScpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwnc3VibWl0JyxsYW5nKCdzZW5kJykpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImluc3RhbnRzZWFyY2giLCAkaW5zdGFudHNlYXJjaD8kdGhpcy0+TGFuZygic2VhcmNodGhpc3RhYmxlIikuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAic2VhcmNoZmlsZXRhYmxlIiwgIiIsIDEwLCA2NCwgJyBvbmtleXVwPSJjdGxtbV9zZWFyY2godGhpcy52YWx1ZSxcJ2ZpbGVsaXN0X3RhYmxlXCcpOyInKTpmYWxzZSk7DQoNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInppcHRpdGxlIiwgJHRoaXMtPkxhbmcoInVwbG9hZHppcGZpbGUiKSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ6aXBub3RpY2UiLCAkdGhpcy0+TGFuZygiemlwZmlsZW5vdGljZSIpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInppcGlucHV0IiwgJHRoaXMtPkNyZWF0ZUZpbGVVcGxvYWRJbnB1dCgkaWQsJ3VwbG9hZHppcGZpbGUnKSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ6aXBzdWJtaXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCdzdWJtaXR6aXBmaWxlJyxsYW5nKCdzZW5kJykpKTsNCg0KCWlmKCRhZGRmaWxlcyl7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZmlsZWlucHV0IiwnPGRpdiBpZD0iZmlsZWlucHV0cyI+PHA+Jy4kdGhpcy0+Q3JlYXRlRmlsZVVwbG9hZElucHV0KCRpZCwndXBsb2FkZmlsZScpLic8L3A+PC9kaXY+Jyk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRkZmlsZWlucHV0IiwnPGEgaHJlZj0iamF2YXNjcmlwdDphZGRmaWxlaW5wdXQoXCdmaWxlaW5wdXRzXCcsdGhpcyk7IiBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyI+Jy4kdGhpcy0+TGFuZygiYWRkZmlsZWlucHV0IikuJzwvYT4nKTsNCgl9ZWxzZXsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJmaWxlaW5wdXQiLCc8cD4nLiR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCd1cGxvYWRmaWxlJykuJzwvcD4nKTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZGRmaWxlaW5wdXQiLGZhbHNlKTsNCgl9DQoJDQoJJHNvcnRsaW5rcyA9IGFycmF5KCk7DQoJJG51bWVyaWNfc29ydGxpbmtzID0gYXJyYXkoKTsNCgkkaSA9IDA7DQoJd2hpbGUoJGkgPCAxMCl7DQoJCWlmKCRpbnN0YW50c29ydCl7DQoJCQkkc29ydGxpbmtzWyRpXSA9ICc8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyI+PGEgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX3NvcnRSb3dzKFwnZmlsZWxpc3RfdGFibGVcJywnLiRpLicpOyI+PGltZyBzcmM9InRoZW1lcy9kZWZhdWx0L2ltYWdlcy9pY29ucy9zeXN0ZW0vc29ydF91cC5naWYiIGFsdD0iXiIvPjwvYT48YnIvPjxhIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IiBvbmNsaWNrPSJjdGxtbV9zb3J0Um93cyhcJ2ZpbGVsaXN0X3RhYmxlXCcsJy4kaS4nLHRydWUpOyI+PGltZyBzcmM9InRoZW1lcy9kZWZhdWx0L2ltYWdlcy9pY29ucy9zeXN0ZW0vc29ydF9kb3duLmdpZiIgYWx0PSJ2Ii8+PC9hPjwvZGl2PiAmbmJzcDsnOw0KCQkJJG51bWVyaWNfc29ydGxpbmtzWyRpXSA9ICc8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyI+PGEgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX3NvcnRSb3dzKFwnZmlsZWxpc3RfdGFibGVcJywnLiRpLicsZmFsc2UsdHJ1ZSk7Ij48aW1nIHNyYz0idGhlbWVzL2RlZmF1bHQvaW1hZ2VzL2ljb25zL3N5c3RlbS9zb3J0X3VwLmdpZiIgYWx0PSJeIi8+PC9hPjxici8+PGEgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX3NvcnRSb3dzKFwnZmlsZWxpc3RfdGFibGVcJywnLiRpLicsdHJ1ZSx0cnVlKTsiPjxpbWcgc3JjPSJ0aGVtZXMvZGVmYXVsdC9pbWFnZXMvaWNvbnMvc3lzdGVtL3NvcnRfZG93bi5naWYiIGFsdD0idiIvPjwvYT48L2Rpdj4gJm5ic3A7JzsNCgkJfWVsc2V7DQoJCQkkc29ydGxpbmtzWyRpXSA9ICcnOw0KCQkJJG51bWVyaWNfc29ydGxpbmtzWyRpXSA9ICcnOw0KCQl9DQoJCSRpKys7DQoJfQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigic29ydGxpbmtzIiwkc29ydGxpbmtzKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIm51bWVyaWNfc29ydGxpbmtzIiwkbnVtZXJpY19zb3J0bGlua3MpOw0KCQ0KCSRvYmogPSBuZXcgU3RkQ2xhc3MoKTsNCgkkb2JqLT5mb2xkZXIgPSAiIjsNCgkkb2JqLT5maWxlbmFtZSA9ICR0aGlzLT5MYW5nKCJmaWxlbmFtZSIpOw0KCSRvYmotPmV4dCA9ICR0aGlzLT5MYW5nKCJmaWxlZXh0Iik7DQoJJG9iai0+c2l6ZSA9ICR0aGlzLT5MYW5nKCJmaWxlc2l6ZSIpOw0KCSRvYmotPnBpYyA9ICIiOw0KCSRvYmotPmltYWdlc2l6ZSA9ICR0aGlzLT5MYW5nKCJpbWFnZXNpemUiKTsNCgkkb2JqLT5kZWxldGVsaW5rID0gJHRoaXMtPkxhbmcoIkFjdGlvbnMiKTsNCgkkb2JqLT5tb2RpZmllZCA9ICR0aGlzLT5MYW5nKCJsYXN0bW9kIik7DQoJJG9iai0+b3duZXIgPSAkdGhpcy0+TGFuZygiZmlsZW93bmVyIik7DQoJJG9iai0+cGVybWlzc2lvbnMgPSAkdGhpcy0+TGFuZygiZmlsZXBlcm1zIik7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJoZWFkZXJzIiwkb2JqKTsNCgkNCgkkaXRlbWxpc3QgPSBhcnJheSgpOw0KCWlmKCR1cGZvbGRlcikJJGl0ZW1saXN0W10gPSBtYWtlRGlyT2JqKCIuLiIsJGRpciwkdGhpcywkcGFyYW1zLCRjdXJkaXIsJHBhcmVudGRpciwkaWQsJHJldHVybmlkKTsNCglmb3JlYWNoKCRmb2xkZXJzIGFzICRmb2xkZXIpCSRpdGVtbGlzdFtdID0gbWFrZURpck9iaigkZm9sZGVyLCRkaXIsJHRoaXMsJHBhcmFtcywkY3VyZGlyLCRwYXJlbnRkaXIsJGlkLCRyZXR1cm5pZCk7DQoJZm9yZWFjaCgkZmlsZXMgYXMgJGZpbGVuYW1lKQkkaXRlbWxpc3RbXSA9IG1ha2VGaWxlT2JqKCRmaWxlbmFtZSwkZGlyLCR0aGlzLCRwYXJhbXMsJGN1cmRpciwkaWQsJHJldHVybmlkLCRiYXNldXJsKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1saXN0IiwkaXRlbWxpc3QpOw0KCQ0KCWVjaG8gJw0KCTxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij4NCic7DQoJaWYoJGluc3RhbnRzZWFyY2gpCWVjaG8gJHRoaXMtPmdldEZpbGVDb250ZW50KCJpbnN0YW50c2VhcmNoLmpzIik7DQoJaWYoJGluc3RhbnRzb3J0KQllY2hvICR0aGlzLT5nZXRGaWxlQ29udGVudCgiaW5zdGFudHNvcnQuanMiKTsNCgllY2hvICcNCgk8L3NjcmlwdD4NCic7DQoNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImJyb3dzZWZpbGVzLnRwbCIpOw0KfQ0KDQplY2hvICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQp2YXIgY3RsbW1fZm9ybSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCInLiRpZC4nbW9kdWxlZm9ybV8xIik7DQppZihjdGxtbV9mb3JtKQljdGxtbV9mb3JtLm9uc3VibWl0ID0gZnVuY3Rpb24oKSB7DQoJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN0bG1tX3N1Ym1pdG1lc3NhZ2UiKS5zdHlsZS5kaXNwbGF5ID0gImJsb2NrIjsNCn0NCmZ1bmN0aW9uIGRpc3BsYXl0aHVtYihlbGUsdGh1bWJwYXRoLHdpZHRoLGhlaWdodCl7DQoJZWxlLnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQoJdmFyIHRoZWltZyA9IG5ldyBJbWFnZSgpOw0KCXRoZWltZy53aWR0aCA9IHdpZHRoOw0KCXRoZWltZy5oZWlnaHQgPSBoZWlnaHQ7DQoJdGhlaW1nLnNyYyA9IHRodW1icGF0aDsNCgl0aGVpbWcuc3R5bGUuY3Vyc29yID0gInBvaW50ZXIiOw0KCXRoZWltZy5vbmNsaWNrID0gZnVuY3Rpb24oKSB7IGhpZGV0aHVtYih0aGlzKTsgfTsNCgllbGUucGFyZW50Tm9kZS5hcHBlbmRDaGlsZCh0aGVpbWcpOw0KCXJldHVybiBmYWxzZTsNCn0NCmZ1bmN0aW9uIGhpZGV0aHVtYihlbGUsdGh1bWJwYXRoLHdpZHRoLGhlaWdodCl7DQoJdmFyIHBhcmVudCA9IGVsZS5wYXJlbnROb2RlOw0KCXBhcmVudC5yZW1vdmVDaGlsZChlbGUpOw0KCXZhciB0aGVhcyA9IHBhcmVudC5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpOw0KCXRoZWFzW3RoZWFzLmxlbmd0aC0xXS5zdHlsZS5kaXNwbGF5ID0gImlubGluZSI7DQp9DQoNCnZhciBuYmZpbGVpbnB1dCA9IDE7DQoNCmZ1bmN0aW9uIGFkZGZpbGVpbnB1dChjb250YWluZXJpZCwgYnRuKXsNCgl2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoY29udGFpbmVyaWQpOw0KCWlmKCFjb250YWluZXIpIHJldHVybiBmYWxzZTsNCgluYmZpbGVpbnB1dCsrOw0KCXZhciB0bXBpbnB1dCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoImlucHV0Iik7DQoJdG1waW5wdXQudHlwZSA9ICJmaWxlIjsNCgl0bXBpbnB1dC5uYW1lID0gIicuJGlkLid1cGxvYWRmaWxlIituYmZpbGVpbnB1dDsNCgl2YXIgdGhlcCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoInAiKTsNCgl0aGVwLmFwcGVuZENoaWxkKHRtcGlucHV0KTsNCgljb250YWluZXIuYXBwZW5kQ2hpbGQodGhlcCk7DQoJaWYobmJmaWxlaW5wdXQgPT0gMTIpCWJ0bi5zdHlsZS5kaXNwbGF5ID0gZmFsc2U7DQp9DQo8L3NjcmlwdD4nOw0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIHdlIG5lZWQgdG8ga25vdyB3aGljaCBsZXZlbCBpcyB0aGUgZmluYWwgbGV2ZWwNCiRsZXZlbGFycmF5ID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQokZmluYWxsZXZlbCA9ICJ2aWRlbyI7DQoNCi8vIHdlIGNoZWNrIHdoYXQgbGV2ZWwgd2UncmUgd2F0Y2hpbmcuLi4gaWYgbm9uZSBpcyBzcGVjaWZpZWQsIHdlIHVzZSB0aGUgZmluYWwgbGV2ZWwNCiR3aGF0ID0gKGlzc2V0KCRwYXJhbXNbIndoYXQiXSkgJiYgaW5fYXJyYXkoJHBhcmFtc1sid2hhdCJdLCRsZXZlbGFycmF5KSk/JHBhcmFtc1sid2hhdCJdOiRmaW5hbGxldmVsOw0KLy8gd2UgZ2l2ZSBpdCBiYWNrIHRvIHRoZSBwYXJhbXMgZm9yIHByZXR0eSB1cmxzIGFuZCBwYWdlIHZpZXcNCmlmKCFpc3NldCgkcGFyYW1zWyJ3aGF0Il0pIHx8ICRwYXJhbXNbIndoYXQiXSA9PSAiIikJJHBhcmFtc1sid2hhdCJdID0gJHdoYXQ7DQokcGFyZW50bGV2ZWwgPSAkdGhpcy0+Z2V0X25leHRsZXZlbCgkd2hhdCwgZmFsc2UpOw0KDQovLyB3ZSByZXRyaWV2ZSBzb21lIG90aGVyIHBhcmFtZXRlcnMNCmlmKCR3aGF0ICE9ICRmaW5hbGxldmVsKXsNCgkkZm9yY2VsaXN0ID0gdHJ1ZTsJCS8vIEFsd2F5cyBkaXNwbGF5IGFzIGxpc3Qgd2hlbiB3ZSdyZSBub3Qgb24gdGhlIGZpbmFsIGxldmVsDQp9ZWxzZWlmKGlzc2V0KCRwYXJhbXNbImFsaWFzIl0pKXsNCgkkZm9yY2VsaXN0ID0gZmFsc2U7CQkvLyBuZXZlciBkaXNwbGF5IGEgbGlzdCB3aGVuIHRoZSBhbGlhcyBpcyBzcGVjaWZpZWQNCn1lbHNlew0KCS8vIGRlZmF1bHQgdmFsdWUNCgkkZm9yY2VsaXN0ID0gaXNzZXQoJHBhcmFtc1siZm9yY2VsaXN0Il0pPyRwYXJhbXNbImZvcmNlbGlzdCJdOiR0aGlzLT5HZXRQcmVmZXJlbmNlKCJmb3JjZV9saXN0IixmYWxzZSk7DQp9DQokb3JkZXJieSA9IGlzc2V0KCRwYXJhbXNbIm9yZGVyYnkiXSk/JHBhcmFtc1sib3JkZXJieSJdOmZhbHNlOw0KJGlubGluZSA9IChpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkgJiYgJHBhcmFtc1siaW5saW5lIl0pP3RydWU6ZmFsc2U7DQokbGltaXQgPSBpc3NldCgkcGFyYW1zWyJsaW1pdCJdKT8kcGFyYW1zWyJsaW1pdCJdOjA7DQokbGltaXQgPSAoaW50KSAkbGltaXQ7DQppZihpc3NldCgkcGFyYW1zWyJuYnBlcnBhZ2UiXSkgJiYgJHBhcmFtc1sibmJwZXJwYWdlIl0gPiAkbGltaXQpew0KCSRuYnBlcnBhZ2UgPSAoaW50KSAkcGFyYW1zWyJuYnBlcnBhZ2UiXTsNCn1lbHNlew0KCS8vIGRlZmF1bHQgcGFnaW5hdGlvbg0KCSRkZWZhdWx0X25icGVycGFnZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCR3aGF0LiJfcGFnaW5hdGlvbiIsMCk7DQoJJG5icGVycGFnZSA9ICgkZGVmYXVsdF9uYnBlcnBhZ2UgPiAkbGltaXQpPyRkZWZhdWx0X25icGVycGFnZTpmYWxzZTsNCgkkcGFyYW1zWyJuYnBlcnBhZ2UiXSA9ICRuYnBlcnBhZ2U7CS8vIGdpdmUgaXQgYmFjayBmb3IgbGlua3MNCn0NCmlmKCRuYnBlcnBhZ2UpCSRsaW1pdCA9ICgoKGlzc2V0KCRwYXJhbXNbInBhZ2VpbmRleCJdKT8kcGFyYW1zWyJwYWdlaW5kZXgiXToxKS0xKSAqICRuYnBlcnBhZ2UpLiIsIi4kbmJwZXJwYWdlOw0KDQovLyB3ZSBidWlsZCB0aGUgcXVlcnkuIEZpcnN0LCB3ZSBjaGVjayBpZiB3ZSdyZSB1c2luZyBhIHNhdmVkIHF1ZXJ5IDoNCmlmKGlzc2V0KCRwYXJhbXNbInF1ZXJ5Il0pKXsNCgkkcXVlcnlpZCA9IChpbnQpICRwYXJhbXNbInF1ZXJ5Il07DQoJaWYoJHF1ZXJ5ID0gJHRoaXMtPmdldF9xdWVyaWVzKGFycmF5KCJpZCI9PiRxdWVyeWlkKSkpew0KCQkvLyB3ZSByZXRyaWV2ZSB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdGhhdCB3aWxsIGRvIHRoZSBxdWVyeQ0KCQkkcXVlcnkgPSAkcXVlcnlbMF07DQoJCSR3aGF0ID0gJHF1ZXJ5LT53aGF0Ow0KCQkkZ2V0ZnVuY3Rpb24gPSAiZ2V0X2xldmVsXyIuJHdoYXQ7DQoJCSRwYXJlbnRsZXZlbCA9ICR0aGlzLT5nZXRfbmV4dGxldmVsKCR3aGF0LCBmYWxzZSk7DQoJCSR3aGVyZWNsYXVzZSA9ICRxdWVyeS0+d2hlcmVjbGF1c2U7DQoJCSR3aGVyZXZhbHVlcyA9ICRxdWVyeS0+d2hlcmV2YWx1ZXM7DQoJCSRjdXN0b21vcmRlciA9ICgkcXVlcnktPnF1ZXJ5b3JkZXIgPT0gIiI/ZmFsc2U6JHF1ZXJ5LT5xdWVyeW9yZGVyKTsNCgl9ZWxzZWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhbGxvd19zcWwiLGZhbHNlKSl7DQoJCSRnZXRmdW5jdGlvbiA9ICJnZXRfbGV2ZWxfIi4kd2hhdDsNCgkJJHBhcmVudGxldmVsID0gJHRoaXMtPmdldF9uZXh0bGV2ZWwoJHdoYXQsIGZhbHNlKTsNCgkJJHdoZXJlY2xhdXNlID0gJHBhcmFtc1sicXVlcnkiXTsgLy8gcXVlcnkgc2hvdWxkIGJlIHNhbml0aXplZC4uLg0KCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOw0KCQkkY3VzdG9tb3JkZXIgPSBmYWxzZTsNCgkJJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbihhcnJheSgpLCBmYWxzZSwgIiIsICIiLCAkb3JkZXJieSwgJGxpbWl0LCAkcXVlcnkpOw0KCX1lbHNlew0KCQkkbWVzc2FnZSA9ICR0aGlzLT5MYW5nKCJlcnJvcl93cm9uZ3F1ZXJ5Iik7DQoJCWlmKCRxdWVyeWlkICE9ICRxdWVyeSAmJiAkbXNnID0gbXlzcWxfZXJyb3IoKSkJCSRtZXNzYWdlIC49ICI8YnIvPiIuJHRoaXMtPkxhbmcoImdpdmVuZXJyb3IiKS4kbXNnOw0KCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCRtZXNzYWdlKTsNCgkJcmV0dXJuIGZhbHNlOw0KCX0NCglpZighaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkgJiYgJG5icGVycGFnZSl7DQoJCS8vIHdlIG5lZWQgcGFnaW5hdGlvbiAtIHNvIHdlIGZpcnN0IHJldHJpZXZlIHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgZml0dGluZyB0aGUgcXVlcnkNCgkJJHRvdGFsID0gJHRoaXMtPmNvdW50c29tZXRoaW5nKCR3aGF0LCJpZCIsYXJyYXkoKSwkd2hlcmVjbGF1c2UsICR3aGVyZXZhbHVlcywgJHBhcmVudGxldmVsKTsNCgl9DQoJaWYoaXNzZXQoJHRvdGFsKSAmJiAkdG90YWwgPT0gMCl7DQoJCSRpdGVtbGlzdCA9IGFycmF5KCk7CS8vIHdlIGFscmVhZHkga25vdyB0aGVyZSdzIG5vdGhpbmcgdG8gcXVlcnkNCgl9ZWxzZXsNCgkJJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbihhcnJheSgpLCBmYWxzZSwgIiIsICIiLCAkb3JkZXJieSwgJGxpbWl0LCAkd2hlcmVjbGF1c2UsICR3aGVyZXZhbHVlcywgJGN1c3RvbW9yZGVyKTsNCgl9DQp9ZWxzZXsNCgkvLyB3ZSdyZSBub3QgdXNpbmcgYSBzYXZlZCBxdWVyeSwgc28gd2UgcGFyc2UgdGhlIHBhcmFtZXRlcnMNCgkvLyB3ZSByZXRyaWV2ZSB0aGUgbmFtZSBvZiB0aGUgZnVuY3Rpb24gdGhhdCB3aWxsIGRvIHRoZSBxdWVyeQ0KCSRnZXRmdW5jdGlvbiA9ICJnZXRfbGV2ZWxfIi4kd2hhdDsNCgkvLyBUaGUgJHdoZXJlIGhvbGRzIGVsZW1lbnRzIG9mIHRoZSBXSEVSRSBjbGF1c2Ugb2YgdGhlIHF1ZXJ5LCBpbiB0aGUgZm9ybSBmaWVsZF9uYW1lPT5maWVsZF92YWx1ZQ0KCWlmKGlzc2V0KCRwYXJhbXNbImFsaWFzIl0pICYmICRwYXJhbXNbImFsaWFzIl0gIT0gIiIpIHsNCgkJJHdoZXJlID0gYXJyYXkoImFsaWFzIj0+JHBhcmFtc1siYWxpYXMiXSk7DQoJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJzaG93ZGVmYXVsdCJdKSAmJiAkcGFyYW1zWyJzaG93ZGVmYXVsdCJdKSB7DQoJCSR3aGVyZSA9IGFycmF5KCJpc2RlZmF1bHQiPT4xKTsNCgl9ZWxzZXsNCgkJJHdoZXJlID0gYXJyYXkoKTsNCgl9DQoJaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pICYmICRwYXJhbXNbInBhcmVudCJdICE9ICIiKSAkd2hlcmVbInBhcmVudCJdID0gJHBhcmFtc1sicGFyZW50Il07DQoNCgkkd2hlcmVbImFjdGl2ZSJdID0gMTsNCglpZighaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkgJiYgJG5icGVycGFnZSl7DQoJCS8vIHdlIG5lZWQgcGFnaW5hdGlvbiAtIHNvIHdlIGZpcnN0IHJldHJpZXZlIHRoZSB0b3RhbCBudW1iZXIgb2YgaXRlbXMgZml0dGluZyB0aGUgcXVlcnkNCgkJJHRvdGFsID0gJHRoaXMtPmNvdW50c29tZXRoaW5nKCR3aGF0LCJpZCIsJHdoZXJlLGZhbHNlLGFycmF5KCksJHBhcmVudGxldmVsKTsNCgl9DQoJaWYoaXNzZXQoJHRvdGFsKSAmJiAkdG90YWwgPT0gMCl7DQoJCSRpdGVtbGlzdCA9IGFycmF5KCk7CS8vIHdlIGFscmVhZHkga25vdyB0aGVyZSdzIG5vdGhpbmcgdG8gcXVlcnkNCgl9ZWxzZXsNCgkJJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbigkd2hlcmUsIGZhbHNlLCAiIiwgIiIsICRvcmRlcmJ5LCAkbGltaXQpOw0KCX0NCn0NCg0KLy8gIFNUQVJUIFBST0NFU1NJTkcNCg0KaWYoY291bnQoJGl0ZW1saXN0KSA9PSAxICYmICEkZm9yY2VsaXN0KXsNCgkNCgkvLyAjIyMjIyMjIyMjIyMjIyMjIyBXRSBBUkUgRElTUExBWUlORyBBTiBJVEVNIElOIERFVEFJTCBWSUVXDQoJDQoJJGl0ZW09JGl0ZW1saXN0WzBdOw0KDQoJLy8gaWYgYSB0ZW1wbGF0ZSBoYXMgYmVlbiBzcGVjaWZpZWQsIHdlIHRyeSB0byByZXRyaWV2ZSBpdAkNCgkkdGVtcGxhdGUgPSBmYWxzZTsNCglpZihpc3NldCgkcGFyYW1zWyJmaW5hbHRlbXBsYXRlIl0pICYmICRwYXJhbXNbImZpbmFsdGVtcGxhdGUiXSAhPSAiIil7DQoJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyJmaW5hbHRlbXBsYXRlIl0pOw0KCX0NCg0KCS8vIGlmIG5vIHRlbXBsYXRlIGhhcyBiZWVuIHNwZWNpZmllZCwgd2UgcmV0cmlldmUgdGhlIGRlZmF1bHQgZmluYWwgdGVtcGxhdGUNCglpZighJHRlbXBsYXRlIHx8ICR0ZW1wbGF0ZSA9PSAiIil7DQoJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZmluYWx0ZW1wbGF0ZSIpOw0KCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlbmFtZSwgJHRoaXMtPkdldE5hbWUoKSk7DQoJfQ0KCS8vIHdlIHJldHJpZXZlIHRoZSBwYXJlbnQgdHJlZToNCgkkcGFyZW50dHJlZSA9ICR0aGlzLT5nZXRfb2JqdHJlZSggJGl0ZW0tPnBhcmVudF9pZCwgJHRoaXMtPmdldF9uZXh0bGV2ZWwoJHdoYXQsIGZhbHNlKSApOw0KCSRpdGVtLT5wYXJlbnRfb2JqZWN0ID0gJHBhcmVudHRyZWU7DQoNCgkNCgkvLyBpZiB0aGUgaXRlbSBoYXMgcGFyZW50cywgd2UgYXNzaWduIGxpbmtzIHRvIHRoYXQgcGFyZW50DQoJaWYoaXNzZXQoJGl0ZW0tPnBhcmVudF9hbGlhcykpew0KCQkkcHJldHR5dXJsID0gJHRoaXMtPkJ1aWxkUHJldHR5VXJscyhhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudF9hbGlhcywgIndoYXQiPT4kd2hhdCksICRyZXR1cm5pZCk7DQoJCSRpdGVtLT5wYXJlbnRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdCIsICRyZXR1cm5pZCwgJGl0ZW0tPnBhcmVudF9uYW1lLCBhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudF9hbGlhcyksICIiLCBmYWxzZSwgJGlubGluZSwgIiIsIGZhbHNlLCAkcHJldHR5dXJsKTsNCgkJJGl0ZW0tPnBhcmVudHVybCA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICIiLCBhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudF9hbGlhcyksICIiLCB0cnVlLCAkaW5saW5lLCAiIiwgZmFsc2UsICRwcmV0dHl1cmwpOw0KCX0NCgkNCgkvLyB3ZSByZXRyaWV2ZSBhIGxhYmVsIGZvciBlYWNoIG9mIHRoZSBpdGVtJ3MgZmllbGQgYW5kIGFzc2lnbiBpdCB0byBzbWFydHkNCgkkbGFiZWxzID0gbmV3IFN0ZENsYXNzKCk7DQoJZm9yZWFjaCgkaXRlbSBhcyAka2V5PT4kdmFsdWUpew0KCQkkbGFiZWxzLT4ka2V5ID0gJHRoaXMtPkxhbmcoJHdoYXQuIl8iLiRrZXkpOwkJDQoJfQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigibGFiZWxzIiwgJGxhYmVscyk7DQoJDQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsZXZlbHRpdGxlIiwkdGhpcy0+TGFuZygkd2hhdC4iX3BsdXJhbCIpKTsNCg0KCWlmKCFpc3NldCgkcGFyYW1zWyJxdWVyeSJdKSAmJiAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibG9hZF9uZXh0cHJldmlvdXMiLGZhbHNlKSl7DQoJCS8vIHdlIGxvYWQgbGlua3MgdG8gbmV4dCBhbmQgcHJldmlvdXMgaXRlbXMNCgkJLy8gYXMgdGhpcyBpbXBsaWVzIHR3byBtb3JlIHF1ZXJpZXMsIGl0IG11c3QgYmUgYWN0aXZhdGVkIGluIHRoZSBzZXR0aW5ncyB0YWJzDQoJCSRuZXd3aGVyZSA9IGFycmF5KCJhY3RpdmUiPT4xKTsNCgkJaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pKXsNCgkJCSRuZXd3aGVyZVsicGFyZW50Il0gPSAkcGFyYW1zWyJwYXJlbnQiXTsJDQoJCX1lbHNlaWYoaXNzZXQoJGl0ZW0tPnBhcmVudF9hbGlhcykgJiYgJHRoaXMtPmdldE9yZGVyVHlwZSgkd2hhdCkpew0KCQkJJG5ld3doZXJlWyJwYXJlbnQiXSA9ICRpdGVtLT5wYXJlbnRfYWxpYXM7DQoJCX0NCgkJJG5leHRpdGVtID0gZmFsc2U7DQoJCSRuZXd3aGVyZVsiaXRlbV9vcmRlciJdID0gJGl0ZW0tPml0ZW1fb3JkZXIgKyAxOw0KCQkkbmV3cGFybXMgPSAkcGFyYW1zOw0KCQkkdG1waXRlbSA9ICR0aGlzLT4kZ2V0ZnVuY3Rpb24oJG5ld3doZXJlKTsNCgkJaWYoaXNzZXQoJHRtcGl0ZW1bMF0pKXsNCgkJCSRuZXdwYXJtc1siYWxpYXMiXSA9ICR0bXBpdGVtWzBdLT5hbGlhczsNCgkJCSRuZXh0aXRlbSA9ICR0aGlzLT5hZGRmcm9udGVuZHVybHMoJHRtcGl0ZW1bMF0sJG5ld3Bhcm1zLCRpZCwkcmV0dXJuaWQpOw0KCQl9DQoJCSRwcmV2aXRlbSA9IGZhbHNlOw0KCQlpZigkaXRlbS0+aXRlbV9vcmRlciA+IDEpew0KCQkJJG5ld3doZXJlWyJpdGVtX29yZGVyIl0gPSAkaXRlbS0+aXRlbV9vcmRlciAtIDE7DQoJCQkkdG1waXRlbSA9ICR0aGlzLT4kZ2V0ZnVuY3Rpb24oJG5ld3doZXJlKTsNCgkJCWlmKGlzc2V0KCR0bXBpdGVtWzBdKSl7DQoJCQkJJG5ld3Bhcm1zWyJhbGlhcyJdID0gJHRtcGl0ZW1bMF0tPmFsaWFzOw0KCQkJCSRwcmV2aXRlbSA9ICR0aGlzLT5hZGRmcm9udGVuZHVybHMoJHRtcGl0ZW1bMF0sJG5ld3Bhcm1zLCRpZCwkcmV0dXJuaWQpOw0KCQkJfQ0KCQl9DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibmV4dF9pdGVtIiwkbmV4dGl0ZW0pOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInByZXZpb3VzX2l0ZW0iLCRwcmV2aXRlbSk7DQoJfQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbSIsJGl0ZW0pOw0KCQ0KCS8vIHdlIHByb2Nlc3MgdGhlIHRlbXBsYXRlDQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsNCgkNCn1lbHNlaWYoY291bnQoJGl0ZW1saXN0KSA+IDApew0KCQ0KCS8vICMjIyMjIyMjIyMjIyMjIyMjIFdFIEFSRSBESVNQTEFZSU5HIEEgTElTVCBWSUVXDQoJJHBhcmVudG9iaiA9IGZhbHNlOw0KCS8vIGlmIHdlIGFyZSB3YXRjaGluZyBpdGVtcyBmcm9tIGEgc3BlY2lmaWMgcGFyZW50cywgd2Ugd2FudCB0byBoYXZlIHRoZSBpbmZvcm1hdGlvbnMgb2YgdGhpcyBwYXJlbnQgYXZhaWxhYmxlDQoJLy8gaW4gdGhlIHRlbXBsYXRlIChmb3IgZXhhbXBsZSwgaWYgd2Ugd2FudCB0byBkaXNwbGF5IGEgY2F0ZWdvcnkgcGFnZSwgd2UgbWlnaHQgd2FudCB0byBzaG93IHRoZSBjYXRlZ29yeSBkZXNjcmlwdGlvbikNCgkvLyBpZiBpdCBpcyB0aGUgY2FzZSwgd2UgcmV0cmlldmUgdGhlIHBhcmVudCBhbmQgZ2l2ZSBpdCB0byBzbWFydHkNCglpZihpc3NldCgkcGFyYW1zWyJwYXJlbnQiXSkgJiYgJHBhcmFtc1sicGFyZW50Il0gIT0gIiIpew0KCQkkcGFyZW50b2JqID0gJHRoaXMtPmdldF9vYmp0cmVlKCRwYXJhbXNbInBhcmVudCJdLCAkdGhpcy0+Z2V0X25leHRsZXZlbCgkd2hhdCxmYWxzZSksICJhbGlhcyIpOw0KCX0NCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhcmVudG9iaiIsJHBhcmVudG9iaik7DQoJDQoJJHNlbGVjdGVkYWxpYXMgPSBmYWxzZTsNCgkvLyB3ZSBjaGVjayBpZiB0aGUgY3VycmVudCBwYWdlIGhhcyBvdGhlciBpbnN0YW5jZXMgb2YgdGhlIG1vZHVsZSB3aGljaCBhcmUgaW4gYWN0aW9uDQoJJGdsb2IgPSAkdGhpcy0+Z2V0X21vZHVsZUdldFZhcnMoKTsNCglpZigkd2hhdCA9PSAkZmluYWxsZXZlbCAmJiBpc3NldCgkZ2xvYlsiYWxpYXMiXSkpew0KCQkkc2VsZWN0ZWRhbGlhcyA9ICRnbG9iWyJhbGlhcyJdOw0KCX1lbHNlaWYoaXNzZXQoJGdsb2JbInBhcmVudCJdKSAmJiBpc3NldCgkZ2xvYlsid2hhdCJdKSAmJiAkZ2xvYlsid2hhdCJdID09ICR0aGlzLT5nZXRfbmV4dGxldmVsKCR3aGF0KSl7DQoJCSRzZWxlY3RlZGFsaWFzID0gJGdsb2JbInBhcmVudCJdOw0KCX0NCglpZihpc3NldCgkcGFyYW1zWyJuYnBlcnBhZ2UiXSkgJiYgaXNzZXQoJGdsb2JbInBhZ2VpbmRleCJdKSAmJiAhaXNzZXQoJHBhcmFtc1sicGFnZWluZGV4Il0pKSAkcGFyYW1zWyJwYWdlaW5kZXgiXSA9ICRnbG9iWyJwYWdlaW5kZXgiXTsNCglpZighaXNzZXQoJHRoaXMtPnBsY3VycmVudFskd2hhdF0pKQkkdGhpcy0+YnVpbGRHbG9iYWxUcmVlKCk7DQoJaWYoaXNzZXQoJHRoaXMtPnBsY3VycmVudFskd2hhdF0pKQkkc2VsZWN0ZWRhbGlhcyA9ICR0aGlzLT5wbGN1cnJlbnRbJHdoYXRdOw0KCWlmKGlzc2V0KCRwYXJhbXNbIm5icGVycGFnZSJdKSAmJiAhaXNzZXQoJHBhcmFtc1sicGFnZWluZGV4Il0pKSAkcGFyYW1zWyJwYWdlaW5kZXgiXSA9ICR0aGlzLT5jdXJyZW50cGFnZWluZGV4Ow0KCSRsaW5rcmV0dXJuaWQgPSAoaXNzZXQoJHBhcmFtc1siZGV0YWlscGFnZSJdKSk/JHRoaXMtPmdldF9wYWdlaWQoJHBhcmFtc1siZGV0YWlscGFnZSJdKTokcmV0dXJuaWQ7DQoNCgkvLyB3ZSByZXRyaWV2ZSB0aGUgdGVtcGxhdGUNCglpZihpc3NldCgkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSkgJiYgJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0gIT0gIiIgJiYgJGN1c3RvbXRwbCA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSwgJHRoaXMtPkdldE5hbWUoKSkpew0KCQkkdGVtcGxhdGUgPSAkY3VzdG9tdHBsOw0KCX1lbHNlew0KCQkkdGVtcGxhdGVuYW1lID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImxpc3R0ZW1wbGF0ZV8iLiR3aGF0KTsNCgkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUsICR0aGlzLT5HZXROYW1lKCkpOw0KCX0NCg0KCS8vIGlmIFJBTkRPTSBvcHRpb24gaXMgc2V0LCB3ZSByYW5kb21seSBzZWxlY3RlZCBvbmx5IGEgbnVtYmVyIG9mIHRoZSBpdGVtcyByZXRyaWV2ZWQNCglpZiggaXNzZXQoJHBhcmFtc1sicmFuZG9tIl0pICYmICRwYXJhbXNbInJhbmRvbSJdID4gMCAmJiAkcGFyYW1zWyJyYW5kb20iXSA8IGNvdW50KCRpdGVtbGlzdCkgKXsNCgkJJG5ld2xpc3QgPSBhcnJheSgpOw0KCQkkaSA9IDE7DQoJCSRzZWxlY3RlZCA9IGFycmF5KCk7DQoJCSRjdXJyYW5kID0gcmFuZCgwLChjb3VudCgkaXRlbWxpc3QpLTEpKTsNCgkJd2hpbGUoJGkgPD0gJHBhcmFtc1sicmFuZG9tIl0pew0KCQkJd2hpbGUoaW5fYXJyYXkoJGN1cnJhbmQsICRzZWxlY3RlZCkgJiYgY291bnQoJHNlbGVjdGVkKSA8IGNvdW50KCRpdGVtbGlzdCkpCSRjdXJyYW5kID0gcmFuZCgwLChjb3VudCgkaXRlbWxpc3QpLTEpKTsNCgkJCSRuZXdsaXN0W10gPSAkaXRlbWxpc3RbJGN1cnJhbmRdOw0KCQkJJHNlbGVjdGVkW10gPSAkY3VycmFuZDsNCgkJCSRpKys7DQoJCX0NCgkJJGl0ZW1saXN0ID0gJG5ld2xpc3Q7DQoJfQ0KCQkNCgkvLyBmaW5hbCBwcm9jZXNzaW5nIC0gd2UgY3JlYXRlIHRoZSBkZXRhaWxsaW5rcyBmb3IgZWFjaCBpdGVtDQoJJG5ld2xpc3QgPSBhcnJheSgpOw0KCWZvcmVhY2goJGl0ZW1saXN0IGFzICRpdGVtKXsNCgkJJGl0ZW0gPSAkdGhpcy0+YWRkZnJvbnRlbmR1cmxzKCRpdGVtLCRwYXJhbXMsJGlkLCRsaW5rcmV0dXJuaWQpOw0KCQkkaXRlbS0+aXNfc2VsZWN0ZWQgPSAoJGl0ZW0tPmFsaWFzID09ICRzZWxlY3RlZGFsaWFzKT90cnVlOmZhbHNlOw0KCQlhcnJheV9wdXNoKCRuZXdsaXN0LCAkaXRlbSk7DQoJfQ0KCSRpdGVtbGlzdCA9ICRuZXdsaXN0Ow0KCQ0KCSR0aGlzLT5wYWdpbmF0ZSgkd2hhdCwkdG90YWwsJGlkLCRyZXR1cm5pZCwkcGFyYW1zKTsNCgkNCgkvLyB3ZSBnaXZlIGV2ZXJ5dGhpbmcgdG8gc21hcnR5IGFuZCBwcm9jZXNzIHRoZSB0ZW1wbGF0ZQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCRpdGVtbGlzdCk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsZXZlbHRpdGxlIiwkdGhpcy0+TGFuZygkd2hhdC4iX3BsdXJhbCIpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1jb3VudCIsY291bnQoJGl0ZW1saXN0KSk7DQoNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOw0KCQ0KfWVsc2V7DQoJDQoJLy8gIyMjIyMjIyMjIyMjIyMjIyMgV0UgQVJFTidUIERJU1BMQVlJTkcgQU5ZVEhJTkcgQVQgQUxMDQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJlcnJvcl9tc2ciLChpc3NldCgkcGFyYW1zWyJhbGlhcyJdKT8kdGhpcy0+TGFuZygiZXJyb3Jfbm90Zm91bmQiKTokdGhpcy0+TGFuZygiZXJyb3Jfbm9pdGVtZm91bmQiKSkpOw0KCSRwYXJlbnRvYmogPSBmYWxzZTsNCglpZihpc3NldCgkcGFyYW1zWyJwYXJlbnQiXSkgJiYgJHBhcmVudGxldmVsKXsNCgkJJHRtcGZ1bmN0aW9uID0gImdldF9sZXZlbF8iLiRwYXJlbnRsZXZlbDsNCgkJJHBhcmVudG9iaiA9ICR0aGlzLT4kdG1wZnVuY3Rpb24oYXJyYXkoImFsaWFzIj0+JHBhcmFtc1sicGFyZW50Il0pKTsNCgkJJHBhcmVudG9iaiA9IGlzc2V0KCRwYXJlbnRvYmpbMF0pPyRwYXJlbnRvYmpbMF06ZmFsc2U7DQoJfQ0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFyZW50b2JqIiwkcGFyZW50b2JqKTsNCgkNCgkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZW1wdHl0ZW1wbGF0ZSIsIioqIik7DQoJaWYoJHRlbXBsYXRlID09ICIqKiIpew0KCQkvLyB3ZSB1c2UgdGhlIGxpc3QgdGVtcGxhdGUNCgkJaWYoaXNzZXQoJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0pICYmICRwYXJhbXNbImxpc3R0ZW1wbGF0ZSJdICE9ICIiICYmICRjdXN0b210cGwgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0sICR0aGlzLT5HZXROYW1lKCkpKXsNCgkJCSR0ZW1wbGF0ZSA9ICRjdXN0b210cGw7DQoJCX1lbHNlew0KCQkJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfIi4kd2hhdCk7DQoJCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlbmFtZSwgJHRoaXMtPkdldE5hbWUoKSk7DQoJCX0NCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsJGl0ZW1saXN0KTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsZXZlbHRpdGxlIiwkdGhpcy0+TGFuZygkd2hhdC4iX3BsdXJhbCIpKTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtY291bnQiLDApOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oYXJyYXkoInBhZ2Vfc2hvd2luZyI9PmZhbHNlLCJwYWdlX3RvdGFsaXRlbXMiPT5mYWxzZSwicGFnZV9wYWdlbnVtYmVycyI9PmZhbHNlLCJwYWdlX25leHQiPT5mYWxzZSwicGFnZV9wcmV2aW91cyI9PmZhbHNlKSk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0ZW1wbGF0ZSk7DQoJfWVsc2V7DQoJCS8vIHdlIHVzZSB0aGUgbm9yZXN1bHQgdGVtcGxhdGUNCgkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCR0ZW1wbGF0ZSk7DQoJfQ0KDQp9DQoNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQokYWN0aXZlX3RhYiA9IGlzc2V0KCRwYXJhbXNbImFjdGl2ZV90YWIiXSk/JHBhcmFtc1siYWN0aXZlX3RhYiJdOiJjYXRlZ29yeSI7DQoNCiRoYXNfYWR2YW5jZWRfcGVybSA9ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9hZHZhbmNlZCIpOw0KDQokZmlsdGVyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImRpc3BsYXlfZmlsdGVyIixmYWxzZSk7DQokaW5zdGFudHNlYXJjaCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkaXNwbGF5X2luc3RhbnRzZWFyY2giLGZhbHNlKTsNCiRpbnN0YW50c29ydCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJkaXNwbGF5X2luc3RhbnRzb3J0IixmYWxzZSk7DQokYWRtaW5wYWdlcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhZG1pbnBhZ2VzIiwwKTsNCiR1c2VfaGllcmFyY2h5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoInVzZV9oaWVyYXJjaHkiLGZhbHNlKTsNCiR1c2Vfc2Vzc2lvbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ1c2Vfc2Vzc2lvbiIsdHJ1ZSk7DQoNCmlmKCRpbnN0YW50c29ydCB8fCAkaW5zdGFudHNlYXJjaCl7DQoJZWNobyAnDQoJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KJzsNCglpZigkaW5zdGFudHNlYXJjaCkJZWNobyAkdGhpcy0+Z2V0RmlsZUNvbnRlbnQoImluc3RhbnRzZWFyY2guanMiKTsNCglpZigkaW5zdGFudHNvcnQpCWVjaG8gJHRoaXMtPmdldEZpbGVDb250ZW50KCJpbnN0YW50c29ydC5qcyIpOw0KCWVjaG8gIg0KCTwvc2NyaXB0Pg0KIjsNCn0NCg0KZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7DQoJaWYoICRoYXNfYWR2YW5jZWRfcGVybSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV9jYXRlZ29yeSIsZmFsc2UpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9tYW5hZ2VfY2F0ZWdvcnkiKSApIHsNCgkJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJjYXRlZ29yeSIsICR0aGlzLT5MYW5nKCJjYXRlZ29yeV9wbHVyYWwiKSwgImNhdGVnb3J5IiA9PSAkYWN0aXZlX3RhYiA/IHRydWUgOiBmYWxzZSk7DQoJfQ0KCWlmKCAkaGFzX2FkdmFuY2VkX3Blcm0gfHwgJHRoaXMtPkdldFByZWZlcmVuY2UoInRhYmRpc3BsYXlfYWxidW0iLGZhbHNlKSB8fCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfbWFuYWdlX2FsYnVtIikgKSB7DQoJCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigiYWxidW0iLCAkdGhpcy0+TGFuZygiYWxidW1fcGx1cmFsIiksICJhbGJ1bSIgPT0gJGFjdGl2ZV90YWIgPyB0cnVlIDogZmFsc2UpOw0KCX0NCglpZiggJGhhc19hZHZhbmNlZF9wZXJtIHx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ0YWJkaXNwbGF5X3ZpZGVvIixmYWxzZSkgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV92aWRlbyIpICkgew0KCQllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoInZpZGVvIiwgJHRoaXMtPkxhbmcoInZpZGVvX3BsdXJhbCIpLCAidmlkZW8iID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsNCgl9DQoJaWYoICRoYXNfYWR2YW5jZWRfcGVybSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV9maWVsZG9wdGlvbnMiLGZhbHNlKSApIHsNCgkJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJmaWVsZG9wdGlvbnMiLCAkdGhpcy0+TGFuZygiZmllbGRvcHRpb25zIiksICJmaWVsZG9wdGlvbnMiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsJCQ0KCX0NCglpZiggJGhhc19hZHZhbmNlZF9wZXJtIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIk1vZGlmeSBUZW1wbGF0ZXMiKSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV90ZW1wbGF0ZXMiLGZhbHNlKSApIHsNCgkJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJ0ZW1wbGF0ZXMiLCAkdGhpcy0+TGFuZygidGVtcGxhdGVzIiksICJ0ZW1wbGF0ZXMiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsJCQ0KCX0NCglpZiggJGhhc19hZHZhbmNlZF9wZXJtIHx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ0YWJkaXNwbGF5X3F1ZXJpZXMiLGZhbHNlKSApIHsNCgkJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJxdWVyaWVzIiwgJHRoaXMtPkxhbmcoInF1ZXJpZXMiKSwgInF1ZXJpZXMiID09ICRhY3RpdmVfdGFiID8gdHJ1ZSA6IGZhbHNlKTsJCQ0KCX0NCglpZiggJGhhc19hZHZhbmNlZF9wZXJtICkgew0KCQllY2hvICR0aGlzLT5TZXRUYWJIZWFkZXIoInByZWZlcmVuY2VzIiwgJHRoaXMtPkxhbmcoInByZWZlcmVuY2VzIiksICJwcmVmZXJlbmNlcyIgPT0gJGFjdGl2ZV90YWIgPyB0cnVlIDogZmFsc2UpOwkJDQoJfQ0KZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOw0KDQoNCg0KZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7DQoNCg0KaWYoICRoYXNfYWR2YW5jZWRfcGVybSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV9jYXRlZ29yeSIsZmFsc2UpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9tYW5hZ2VfY2F0ZWdvcnkiKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYigiY2F0ZWdvcnkiKTsNCg0KCQkkd2hlcmVjbGF1c2UgPSBhcnJheSgpOw0KCQkkZmlsdGVyb3V0cHV0ID0gZmFsc2U7DQoNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJmaWx0ZXIiLCAkZmlsdGVyb3V0cHV0KTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpbnN0YW50c2VhcmNoIiwgJGluc3RhbnRzZWFyY2g/JHRoaXMtPkxhbmcoInNlYXJjaHRoaXN0YWJsZSIpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgInNlYXJjaHRhYmxlX2NhdGVnb3J5IiwgIiIsIDEwLCA2NCwgJyBvbmtleXVwPSJjdGxtbV9zZWFyY2godGhpcy52YWx1ZSxcJ2NhdGVnb3J5X3RhYmxlXCcpOyInKTpmYWxzZSk7DQoJCQkNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZGRuZXciLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0Y2F0ZWdvcnkiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmIiwgIiIsIiIsIiIsInN5c3RlbWljb24iKS4iICIuJHRoaXMtPkxhbmcoImFkZF9jYXRlZ29yeSIpKSk7DQoJCSRyZW9yZGVyX2J0biA9IGZhbHNlO2lmKCRoYXNfYWR2YW5jZWRfcGVybSB8fCAhJHRoaXMtPkdldFByZWZlcmVuY2UoInJlc3RyaWN0X3Blcm1pc3Npb25zIixmYWxzZSkgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV9jYXRlZ29yeSIpKQkkcmVvcmRlcl9idG4gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJyZW9yZGVyIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vcmVvcmRlci5naWYiLCAiIiwiIiwiIiwic3lzdGVtaWNvbiIpLiIgIi4kdGhpcy0+TGFuZygicmVvcmRlciIpKTsNCgkJCQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInJlb3JkZXIiLCAkcmVvcmRlcl9idG4pOw0KCQkkbGltaXQgPSBmYWxzZTsNCgkJaWYoJGFkbWlucGFnZXMpew0KCQkJJGxpbWl0ID0gKChpc3NldCgkcGFyYW1zWyJjYXRlZ29yeV9wYWdlIl0pPyRwYXJhbXNbImNhdGVnb3J5X3BhZ2UiXTowKSAqICRhZG1pbnBhZ2VzKS4iLCIuJGFkbWlucGFnZXM7DQoJCX0NCgkJDQoJCQkkaXRlbWxpc3QgPSAkdGhpcy0+Z2V0X2xldmVsX2NhdGVnb3J5KGlzc2V0KCR3aGVyZWNsYXVzZSk/JHdoZXJlY2xhdXNlOmFycmF5KCksdHJ1ZSwgJGlkLCAkcmV0dXJuaWQsIGZhbHNlLCAkbGltaXQpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0YWJsZWlkIiwgImNhdGVnb3J5X3RhYmxlIik7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1saXN0IiwgJGl0ZW1saXN0KTsNCgkJCSRhZG1pbnNob3cgPSBhcnJheSgNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygibmFtZSIpLCJlZGl0bGluayIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJhY3RpdmUiKSwidG9nZ2xlYWN0aXZlIix0cnVlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygicmVvcmRlciIpLCJtb3ZlbGlua3MiLHRydWUpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJjYXRlZ29yeV9kZXNjcmlwdGlvbiIpLCJkZXNjcmlwdGlvbiIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJpc2RlZmF1bHQiKSwidG9nZ2xlZGVmYXVsdCIsdHJ1ZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImFjdGl2ZSIpLCJ0b2dnbGVhY3RpdmUiLHRydWUpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJyZW9yZGVyIiksIm1vdmVsaW5rcyIsdHJ1ZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoIkFjdGlvbnMiKSwiZGVsZXRlbGluayIsdHJ1ZSkJCQ0KCQkJCSk7DQoJCQlpZigkaW5zdGFudHNvcnQgJiYgY291bnQoJGl0ZW1saXN0KT4xKXsNCgkJCQkkaSA9IDA7DQoJCQkJd2hpbGUoJGk8Y291bnQoJGFkbWluc2hvdykpew0KCQkJCQlpZighJGFkbWluc2hvd1skaV1bMl0pCSRhZG1pbnNob3dbJGldWzBdID0gJzxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij48YSBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0iY3RsbW1fc29ydFJvd3MoXCdjYXRlZ29yeV90YWJsZVwnLCcuJGkuJyk7Ij48aW1nIHNyYz0idGhlbWVzL2RlZmF1bHQvaW1hZ2VzL2ljb25zL3N5c3RlbS9zb3J0X3VwLmdpZiIgYWx0PSJeIi8+PC9hPjxici8+PGEgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX3NvcnRSb3dzKFwnY2F0ZWdvcnlfdGFibGVcJywnLiRpLicsdHJ1ZSk7Ij48aW1nIHNyYz0idGhlbWVzL2RlZmF1bHQvaW1hZ2VzL2ljb25zL3N5c3RlbS9zb3J0X2Rvd24uZ2lmIiBhbHQ9InYiLz48L2E+PC9kaXY+PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6IDI0cHg7Ij4gJm5ic3A7Jy4kYWRtaW5zaG93WyRpXVswXS4iPC9kaXY+IjsNCgkJCQkJJGkrKzsNCgkJCQl9DQoJCQl9DQoJCQlsaXN0KCRwYWdlaW5mbywgJG5leHRwYWdlLCAkcHJldmlvdXNwYWdlLCAkcGFnZXMpID0gJHRoaXMtPmFkbWluX3BhZ2luYXRlKCJjYXRlZ29yeSIsJGFkbWlucGFnZXMsJGlkLCRyZXR1cm5pZCwkcGFyYW1zKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibmV4dHBhZ2UiLCAkbmV4dHBhZ2UpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwcmV2aW91c3BhZ2UiLCAkcHJldmlvdXNwYWdlKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFnZWluZm8iLCAkcGFnZWluZm8pOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYWdlcyIsICRwYWdlcyk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFkbWluc2hvdyIsICRhZG1pbnNob3cpOw0KCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJhZG1pbnBhbmVsLnRwbCIpOw0KDQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQoNCn0NCg0KaWYoICRoYXNfYWR2YW5jZWRfcGVybSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV9hbGJ1bSIsZmFsc2UpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9tYW5hZ2VfYWxidW0iKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYigiYWxidW0iKTsNCg0KCWlmKCR0aGlzLT5jb3VudHNvbWV0aGluZygiY2F0ZWdvcnkiKSA+IDApew0KDQoJCSR3aGVyZWNsYXVzZSA9IGFycmF5KCk7DQoJCSRmaWx0ZXJvdXRwdXQgPSBmYWxzZTsNCg0KCQkJaWYoJGZpbHRlcil7DQoJCQkJJGN1cl9maWx0ZXIgPSBmYWxzZTsNCgkJCQlpZihpc3NldCgkcGFyYW1zWyJhbGJ1bV9zaG93b25seSJdKSl7DQoJCQkJCSRjdXJfZmlsdGVyID0gJHBhcmFtc1siYWxidW1fc2hvd29ubHkiXTsNCgkJCQkJaWYoJHVzZV9zZXNzb2luKQkkX1NFU1NJT05bImN0bG1tX2ZpbHRlcl9hbGJ1bSJdID0gJHBhcmFtc1siYWxidW1fc2hvd29ubHkiXTsNCgkJCQl9ZWxzZWlmKCR1c2Vfc2Vzc2lvbiAmJiBpc3NldCgkX1NFU1NJT05bImN0bG1tX2ZpbHRlcl9hbGJ1bSJdKSAmJiAkX1NFU1NJT05bImN0bG1tX2ZpbHRlcl9hbGJ1bSJdKXsNCgkJCQkJJGN1cl9maWx0ZXIgPSAkX1NFU1NJT05bImN0bG1tX2ZpbHRlcl9hbGJ1bSJdOw0KCQkJCX0NCgkJCQlpZigkY3VyX2ZpbHRlciAmJiAkY3VyX2ZpbHRlciAhPSAiIil7DQoJCQkJCSRmaWx0ZXJvcHRpb25zID0gYXJyYXlfZmxpcCgkdGhpcy0+Z2V0X29wdGlvbnMoImNhdGVnb3J5IikpOw0KCQkJCQkkZmlsdGVyb3V0cHV0ID0gaXNzZXQoJGZpbHRlcm9wdGlvbnNbJHBhcmFtc1siYWxidW1fc2hvd29ubHkiXV0pPyR0aGlzLT5MYW5nKCJzaG93aW5nb25seSIpLiRmaWx0ZXJvcHRpb25zWyRwYXJhbXNbImFsYnVtX3Nob3dvbmx5Il1dLiIgIjoiIjsNCgkJCQkJJGZpbHRlcm91dHB1dCAuPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCJzaG93YWxsIiksIGFycmF5KCJhY3RpdmVfdGFiIiA9PiAiYWxidW0iLCAiYWxidW1fc2hvd29ubHkiPT5mYWxzZSkpOw0KCQkJCQkkd2hlcmVjbGF1c2UgPSBhcnJheSgicGFyZW50X2lkIj0+JHBhcmFtc1siYWxidW1fc2hvd29ubHkiXSk7DQoJCQkJfWVsc2V7CQkJCQkNCgkJCQkJaWYoJHVzZV9oaWVyYXJjaHkpew0KCQkJCQkJJGZpbHRlcm9wdGlvbnMgPSAkdGhpcy0+Z2V0X2FkbWluX2hpZXJhcmNoeW9wdGlvbnMoImFsYnVtIix0cnVlKTsNCgkJCQkJfWVsc2V7DQoJCQkJCQkkZmlsdGVyb3B0aW9ucyA9ICR0aGlzLT5nZXRfb3B0aW9ucygiY2F0ZWdvcnkiKTsNCgkJCQkJfQ0KCQkJCQkkZmlsdGVyb3V0cHV0ID0gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQpOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICR0aGlzLT5MYW5nKCJmaWx0ZXJieV9jYXRlZ29yeSIpLiIgOiAiOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwgImFsYnVtX3Nob3dvbmx5IiwgJGZpbHRlcm9wdGlvbnMsIC0xKTsNCgkJCQkJJGZpbHRlcm91dHB1dCAuPSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiYWN0aXZlX3RhYiIsICJhbGJ1bSIpOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQoJCQkJfQ0KCQkJfQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImZpbHRlciIsICRmaWx0ZXJvdXRwdXQpOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImluc3RhbnRzZWFyY2giLCAkaW5zdGFudHNlYXJjaD8kdGhpcy0+TGFuZygic2VhcmNodGhpc3RhYmxlIikuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAic2VhcmNodGFibGVfYWxidW0iLCAiIiwgMTAsIDY0LCAnIG9ua2V5dXA9ImN0bG1tX3NlYXJjaCh0aGlzLnZhbHVlLFwnYWxidW1fdGFibGVcJyk7IicpOmZhbHNlKTsNCgkJCQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFkZG5ldyIsICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImVkaXRhbGJ1bSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL25ld29iamVjdC5naWYiLCAiIiwiIiwiIiwic3lzdGVtaWNvbiIpLiIgIi4kdGhpcy0+TGFuZygiYWRkX2FsYnVtIikpKTsNCgkJJHJlb3JkZXJfYnRuID0gZmFsc2U7aWYoJGhhc19hZHZhbmNlZF9wZXJtIHx8ICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgicmVzdHJpY3RfcGVybWlzc2lvbnMiLGZhbHNlKSB8fCAkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfbWFuYWdlX2FsYnVtIikpCSRyZW9yZGVyX2J0biA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInJlb3JkZXIiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9yZW9yZGVyLmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJyZW9yZGVyIikpOw0KCQkJDQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicmVvcmRlciIsICRyZW9yZGVyX2J0bik7DQoJCSRsaW1pdCA9IGZhbHNlOw0KCQlpZigkYWRtaW5wYWdlcyl7DQoJCQkkbGltaXQgPSAoKGlzc2V0KCRwYXJhbXNbImFsYnVtX3BhZ2UiXSk/JHBhcmFtc1siYWxidW1fcGFnZSJdOjApICogJGFkbWlucGFnZXMpLiIsIi4kYWRtaW5wYWdlczsNCgkJfQ0KCQkNCgkJCSRpdGVtbGlzdCA9ICR0aGlzLT5nZXRfbGV2ZWxfYWxidW0oaXNzZXQoJHdoZXJlY2xhdXNlKT8kd2hlcmVjbGF1c2U6YXJyYXkoKSx0cnVlLCAkaWQsICRyZXR1cm5pZCwgZmFsc2UsICRsaW1pdCk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInRhYmxlaWQiLCAiYWxidW1fdGFibGUiKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCAkaXRlbWxpc3QpOw0KCQkJJGFkbWluc2hvdyA9IGFycmF5KA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJuYW1lIiksImVkaXRsaW5rIixmYWxzZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImFjdGl2ZSIpLCJ0b2dnbGVhY3RpdmUiLHRydWUpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJyZW9yZGVyIiksIm1vdmVsaW5rcyIsdHJ1ZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImFsYnVtX2Rlc2NyaXB0aW9uIiksImRlc2NyaXB0aW9uIixmYWxzZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImlzZGVmYXVsdCIpLCJ0b2dnbGVkZWZhdWx0Iix0cnVlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygiYWN0aXZlIiksInRvZ2dsZWFjdGl2ZSIsdHJ1ZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoInJlb3JkZXIiKSwibW92ZWxpbmtzIix0cnVlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygiYWxidW1fbGFuZyIpLCJsYW5nIixmYWxzZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImFsYnVtX2RlZmF1bHRfd2lkdGgiKSwiZGVmYXVsdF93aWR0aCIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJhbGJ1bV9kZWZhdWx0X2hlaWdodCIpLCJkZWZhdWx0X2hlaWdodCIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJBY3Rpb25zIiksImRlbGV0ZWxpbmsiLHRydWUpCQkNCgkJCQkpOw0KCQkJaWYoJGluc3RhbnRzb3J0ICYmIGNvdW50KCRpdGVtbGlzdCk+MSl7DQoJCQkJJGkgPSAwOw0KCQkJCXdoaWxlKCRpPGNvdW50KCRhZG1pbnNob3cpKXsNCgkJCQkJaWYoISRhZG1pbnNob3dbJGldWzJdKQkkYWRtaW5zaG93WyRpXVswXSA9ICc8ZGl2IHN0eWxlPSJmbG9hdDpsZWZ0OyI+PGEgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX3NvcnRSb3dzKFwnYWxidW1fdGFibGVcJywnLiRpLicpOyI+PGltZyBzcmM9InRoZW1lcy9kZWZhdWx0L2ltYWdlcy9pY29ucy9zeXN0ZW0vc29ydF91cC5naWYiIGFsdD0iXiIvPjwvYT48YnIvPjxhIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IiBvbmNsaWNrPSJjdGxtbV9zb3J0Um93cyhcJ2FsYnVtX3RhYmxlXCcsJy4kaS4nLHRydWUpOyI+PGltZyBzcmM9InRoZW1lcy9kZWZhdWx0L2ltYWdlcy9pY29ucy9zeXN0ZW0vc29ydF9kb3duLmdpZiIgYWx0PSJ2Ii8+PC9hPjwvZGl2PjxkaXYgc3R5bGU9ImxpbmUtaGVpZ2h0OiAyNHB4OyI+ICZuYnNwOycuJGFkbWluc2hvd1skaV1bMF0uIjwvZGl2PiI7DQoJCQkJCSRpKys7DQoJCQkJfQ0KCQkJfQ0KCQkJbGlzdCgkcGFnZWluZm8sICRuZXh0cGFnZSwgJHByZXZpb3VzcGFnZSwgJHBhZ2VzKSA9ICR0aGlzLT5hZG1pbl9wYWdpbmF0ZSgiYWxidW0iLCRhZG1pbnBhZ2VzLCRpZCwkcmV0dXJuaWQsJHBhcmFtcyk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5leHRwYWdlIiwgJG5leHRwYWdlKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicHJldmlvdXNwYWdlIiwgJHByZXZpb3VzcGFnZSk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2VpbmZvIiwgJHBhZ2VpbmZvKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFnZXMiLCAkcGFnZXMpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZG1pbnNob3ciLCAkYWRtaW5zaG93KTsNCgkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiYWRtaW5wYW5lbC50cGwiKTsNCg0KCX1lbHNlew0KCQllY2hvICI8cD4iLiR0aGlzLT5MYW5nKCJlcnJvcl9ub3BhcmVudCIpLiI8L3A+IjsNCgl9DQoNCgllY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KfQ0KDQppZiggJGhhc19hZHZhbmNlZF9wZXJtIHx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ0YWJkaXNwbGF5X3ZpZGVvIixmYWxzZSkgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV92aWRlbyIpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJ2aWRlbyIpOw0KDQoJaWYoJHRoaXMtPmNvdW50c29tZXRoaW5nKCJhbGJ1bSIpID4gMCl7DQoNCgkJJHdoZXJlY2xhdXNlID0gYXJyYXkoKTsNCgkJJGZpbHRlcm91dHB1dCA9IGZhbHNlOw0KDQoJCQlpZigkZmlsdGVyKXsNCgkJCQkkY3VyX2ZpbHRlciA9IGZhbHNlOw0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbInZpZGVvX3Nob3dvbmx5Il0pKXsNCgkJCQkJJGN1cl9maWx0ZXIgPSAkcGFyYW1zWyJ2aWRlb19zaG93b25seSJdOw0KCQkJCQlpZigkdXNlX3Nlc3NvaW4pCSRfU0VTU0lPTlsiY3RsbW1fZmlsdGVyX3ZpZGVvIl0gPSAkcGFyYW1zWyJ2aWRlb19zaG93b25seSJdOw0KCQkJCX1lbHNlaWYoJHVzZV9zZXNzaW9uICYmIGlzc2V0KCRfU0VTU0lPTlsiY3RsbW1fZmlsdGVyX3ZpZGVvIl0pICYmICRfU0VTU0lPTlsiY3RsbW1fZmlsdGVyX3ZpZGVvIl0pew0KCQkJCQkkY3VyX2ZpbHRlciA9ICRfU0VTU0lPTlsiY3RsbW1fZmlsdGVyX3ZpZGVvIl07DQoJCQkJfQ0KCQkJCWlmKCRjdXJfZmlsdGVyICYmICRjdXJfZmlsdGVyICE9ICIiKXsNCgkJCQkJJGZpbHRlcm9wdGlvbnMgPSBhcnJheV9mbGlwKCR0aGlzLT5nZXRfb3B0aW9ucygiYWxidW0iKSk7DQoJCQkJCSRmaWx0ZXJvdXRwdXQgPSBpc3NldCgkZmlsdGVyb3B0aW9uc1skcGFyYW1zWyJ2aWRlb19zaG93b25seSJdXSk/JHRoaXMtPkxhbmcoInNob3dpbmdvbmx5IikuJGZpbHRlcm9wdGlvbnNbJHBhcmFtc1sidmlkZW9fc2hvd29ubHkiXV0uIiAiOiIiOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoInNob3dhbGwiKSwgYXJyYXkoImFjdGl2ZV90YWIiID0+ICJ2aWRlbyIsICJ2aWRlb19zaG93b25seSI9PmZhbHNlKSk7DQoJCQkJCSR3aGVyZWNsYXVzZSA9IGFycmF5KCJwYXJlbnRfaWQiPT4kcGFyYW1zWyJ2aWRlb19zaG93b25seSJdKTsNCgkJCQl9ZWxzZXsJCQkJCQ0KCQkJCQlpZigkdXNlX2hpZXJhcmNoeSl7DQoJCQkJCQkkZmlsdGVyb3B0aW9ucyA9ICR0aGlzLT5nZXRfYWRtaW5faGllcmFyY2h5b3B0aW9ucygidmlkZW8iLHRydWUpOw0KCQkJCQl9ZWxzZXsNCgkJCQkJCSRmaWx0ZXJvcHRpb25zID0gJHRoaXMtPmdldF9vcHRpb25zKCJhbGJ1bSIpOw0KCQkJCQl9DQoJCQkJCSRmaWx0ZXJvdXRwdXQgPSAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCk7DQoJCQkJCSRmaWx0ZXJvdXRwdXQgLj0gJHRoaXMtPkxhbmcoImZpbHRlcmJ5X2FsYnVtIikuIiA6ICI7DQoJCQkJCSRmaWx0ZXJvdXRwdXQgLj0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCAidmlkZW9fc2hvd29ubHkiLCAkZmlsdGVyb3B0aW9ucywgLTEpOw0KCQkJCQkkZmlsdGVyb3V0cHV0IC49ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJhY3RpdmVfdGFiIiwgInZpZGVvIik7DQoJCQkJCSRmaWx0ZXJvdXRwdXQgLj0gIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSk7DQoJCQkJCSRmaWx0ZXJvdXRwdXQgLj0gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkJCQl9DQoJCQl9DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiZmlsdGVyIiwgJGZpbHRlcm91dHB1dCk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaW5zdGFudHNlYXJjaCIsICRpbnN0YW50c2VhcmNoPyR0aGlzLT5MYW5nKCJzZWFyY2h0aGlzdGFibGUiKS4iICIuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICJzZWFyY2h0YWJsZV92aWRlbyIsICIiLCAxMCwgNjQsICcgb25rZXl1cD0iY3RsbW1fc2VhcmNoKHRoaXMudmFsdWUsXCd2aWRlb190YWJsZVwnKTsiJyk6ZmFsc2UpOw0KCQkJDQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWRkbmV3IiwgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZWRpdHZpZGVvIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJhZGRfdmlkZW8iKSkpOw0KCQkkcmVvcmRlcl9idG4gPSBmYWxzZTtpZigkaGFzX2FkdmFuY2VkX3Blcm0gfHwgISR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9tYW5hZ2VfdmlkZW8iKSkJJHJlb3JkZXJfYnRuID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAicmVvcmRlciIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL3Jlb3JkZXIuZ2lmIiwgIiIsIiIsIiIsInN5c3RlbWljb24iKS4iICIuJHRoaXMtPkxhbmcoInJlb3JkZXIiKSk7DQoJCQkNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJyZW9yZGVyIiwgJHJlb3JkZXJfYnRuKTsNCgkJJGxpbWl0ID0gZmFsc2U7DQoJCWlmKCRhZG1pbnBhZ2VzKXsNCgkJCSRsaW1pdCA9ICgoaXNzZXQoJHBhcmFtc1sidmlkZW9fcGFnZSJdKT8kcGFyYW1zWyJ2aWRlb19wYWdlIl06MCkgKiAkYWRtaW5wYWdlcykuIiwiLiRhZG1pbnBhZ2VzOw0KCQl9DQoJCQ0KCQkJJGl0ZW1saXN0ID0gJHRoaXMtPmdldF9sZXZlbF92aWRlbyhpc3NldCgkd2hlcmVjbGF1c2UpPyR3aGVyZWNsYXVzZTphcnJheSgpLHRydWUsICRpZCwgJHJldHVybmlkLCBmYWxzZSwgJGxpbWl0KTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigidGFibGVpZCIsICJ2aWRlb190YWJsZSIpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsICRpdGVtbGlzdCk7DQoJCQkkYWRtaW5zaG93ID0gYXJyYXkoDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoIm5hbWUiKSwiZWRpdGxpbmsiLGZhbHNlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygiYWN0aXZlIiksInRvZ2dsZWFjdGl2ZSIsdHJ1ZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoImlzZGVmYXVsdCIpLCJ0b2dnbGVkZWZhdWx0Iix0cnVlKSwNCgkJCQlhcnJheSgkdGhpcy0+TGFuZygicmVvcmRlciIpLCJtb3ZlbGlua3MiLHRydWUpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb19zaXRlIiksInNpdGVfbmFtZXZhbHVlIixmYWxzZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoInZpZGVvX3ZpZGVvaWQiKSwidmlkZW9pZCIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb19kZXNjcmlwdGlvbiIpLCJkZXNjcmlwdGlvbiIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb193aWR0aCIpLCJ3aWR0aCIsZmFsc2UpLA0KCQkJCWFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb19oZWlnaHQiKSwiaGVpZ2h0IixmYWxzZSksDQoJCQkJYXJyYXkoJHRoaXMtPkxhbmcoIkFjdGlvbnMiKSwiZGVsZXRlbGluayIsdHJ1ZSkJCQ0KCQkJCSk7DQoJCQlpZigkaW5zdGFudHNvcnQgJiYgY291bnQoJGl0ZW1saXN0KT4xKXsNCgkJCQkkaSA9IDA7DQoJCQkJd2hpbGUoJGk8Y291bnQoJGFkbWluc2hvdykpew0KCQkJCQlpZighJGFkbWluc2hvd1skaV1bMl0pCSRhZG1pbnNob3dbJGldWzBdID0gJzxkaXYgc3R5bGU9ImZsb2F0OmxlZnQ7Ij48YSBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0iY3RsbW1fc29ydFJvd3MoXCd2aWRlb190YWJsZVwnLCcuJGkuJyk7Ij48aW1nIHNyYz0idGhlbWVzL2RlZmF1bHQvaW1hZ2VzL2ljb25zL3N5c3RlbS9zb3J0X3VwLmdpZiIgYWx0PSJeIi8+PC9hPjxici8+PGEgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX3NvcnRSb3dzKFwndmlkZW9fdGFibGVcJywnLiRpLicsdHJ1ZSk7Ij48aW1nIHNyYz0idGhlbWVzL2RlZmF1bHQvaW1hZ2VzL2ljb25zL3N5c3RlbS9zb3J0X2Rvd24uZ2lmIiBhbHQ9InYiLz48L2E+PC9kaXY+PGRpdiBzdHlsZT0ibGluZS1oZWlnaHQ6IDI0cHg7Ij4gJm5ic3A7Jy4kYWRtaW5zaG93WyRpXVswXS4iPC9kaXY+IjsNCgkJCQkJJGkrKzsNCgkJCQl9DQoJCQl9DQoJCQlsaXN0KCRwYWdlaW5mbywgJG5leHRwYWdlLCAkcHJldmlvdXNwYWdlLCAkcGFnZXMpID0gJHRoaXMtPmFkbWluX3BhZ2luYXRlKCJ2aWRlbyIsJGFkbWlucGFnZXMsJGlkLCRyZXR1cm5pZCwkcGFyYW1zKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibmV4dHBhZ2UiLCAkbmV4dHBhZ2UpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwcmV2aW91c3BhZ2UiLCAkcHJldmlvdXNwYWdlKTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFnZWluZm8iLCAkcGFnZWluZm8pOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYWdlcyIsICRwYWdlcyk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFkbWluc2hvdyIsICRhZG1pbnNob3cpOw0KCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJhZG1pbnBhbmVsLnRwbCIpOw0KDQoJfWVsc2V7DQoJCWVjaG8gIjxwPiIuJHRoaXMtPkxhbmcoImVycm9yX25vcGFyZW50IikuIjwvcD4iOw0KCX0NCg0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQp9DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKGFycmF5KCJuZXh0cGFnZSI9PmZhbHNlLCJwcmV2aW91c3BhZ2UiPT5mYWxzZSwicGFnZWluZm8iPT5mYWxzZSwicGFnZXMiPT5mYWxzZSkpOw0KDQoNCmlmKCAkaGFzX2FkdmFuY2VkX3Blcm0gfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiTW9kaWZ5IFRlbXBsYXRlcyIpIHx8ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJ0YWJkaXNwbGF5X2ZpZWxkb3B0aW9ucyIsZmFsc2UpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJmaWVsZG9wdGlvbnMiKTsNCg0KCWVjaG8gIjxmaWVsZHNldCBzdHlsZT1cIndpZHRoOiA2MDBweDtcIj48bGVnZW5kPjxiPih2aWRlbykgc2l0ZSA6PC9iPjwvbGVnZW5kPjx1bD4iOw0KCSRvcHRpb25zID0gJHRoaXMtPmdldF9maWVsZG9wdGlvbnMoInZpZGVvX3NpdGUiLHRydWUpOw0KCWVjaG8gJzx0YWJsZSBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGNsYXNzPSJwYWdldGFibGUiPic7DQoJJHJvd2NsYXNzID0gMTsNCglmb3JlYWNoKCRvcHRpb25zIGFzICRvcHRpb24pew0KCQkkbmV3cGFyYW1zID0gYXJyYXkoImZpZWxkIj0+InZpZGVvX3NpdGUiLCAib3B0aW9uaWQiPT4kb3B0aW9uLT5pZCwgImN1cnJlbnRvcmRlciI9PiRvcHRpb24tPml0ZW1fb3JkZXIpOw0KCQllY2hvICINCgkJPHRyIGNsYXNzPVwicm93Ii4kcm93Y2xhc3MuIlwiPjx0ZD4iLiRvcHRpb24tPm5hbWUuIjwvdGQ+PHRkIHdpZHRoPVwiMTIwXCI+IjsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJyZW5hbWVfb3B0aW9udmFsdWUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9lZGl0LmdpZiIsIGxhbmcoImVkaXQiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZSgkbmV3cGFyYW1zLCBhcnJheSgib3B0aW9ubmFtZSI9PiRvcHRpb24tPm5hbWUpKSkuIiAiOw0KCQllY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlbGV0ZV9vcHRpb252YWx1ZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYiLGxhbmcoImRlbGV0ZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksICRuZXdwYXJhbXMsICR0aGlzLT5MYW5nKCJwcm9tcHRfZGVsZXRlb3B0aW9uIikpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgIm1vdmVfb3B0aW9udmFsdWUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9hcnJvdy11LmdpZiIsbGFuZygidXAiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZSgkbmV3cGFyYW1zLCBhcnJheSgibW92ZSI9PiJ1cCIpKSk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAibW92ZV9vcHRpb252YWx1ZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2Fycm93LWQuZ2lmIixsYW5nKCJkb3duIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoJG5ld3BhcmFtcywgYXJyYXkoIm1vdmUiPT4iZG93biIpKSk7DQoJCWVjaG8gIjwvdGQ+PC90cj4iOw0KCQkkcm93Y2xhc3MgPSAkcm93Y2xhc3MgPT0gMT8yOjE7DQoJfQ0KCWVjaG8gIjwvdGFibGU+IjsNCgllY2hvICI8cD4iLiR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiYWRkX29wdGlvbnZhbHVlIik7DQoJCWVjaG8gIjxwPiIuJHRoaXMtPkxhbmcoImFkZG9wdGlvbiIpLiI6ICIuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsICJvcHRpb25uYW1lIiwgIiIsIDIwLCA2NCk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImZpZWxkIiwgInZpZGVvX3NpdGUiKTsNCgkJZWNobyAiICIuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKS4iPC9wPiI7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCWVjaG8gIjwvcD48L2ZpZWxkc2V0Pjxici8+PGJyLz4iOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KfQ0KDQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKGFycmF5KCJmaWx0ZXIiPT5mYWxzZSwicmVvcmRlciI9PmZhbHNlLCJpbnN0YW50c2VhcmNoIj0+ZmFsc2UsInRhYmxlaWQiPT5mYWxzZSkpOw0KDQppZiggJGhhc19hZHZhbmNlZF9wZXJtIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIk1vZGlmeSBUZW1wbGF0ZXMiKSB8fCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgidGFiZGlzcGxheV90ZW1wbGF0ZXMiLGZhbHNlKSApIHsNCgllY2hvICR0aGlzLT5TdGFydFRhYigidGVtcGxhdGVzIik7DQoJDQogICAgZWNobyAiPGZpZWxkc2V0IHN0eWxlPVwid2lkdGg6IDYwMHB4O1wiPjxsZWdlbmQ+PGI+Ii4kdGhpcy0+TGFuZygiZGVmYXVsdHRlbXBsYXRlcyIpLiI8L2I+PC9sZWdlbmQ+IjsNCiAgICBlY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiY2hhbmdlZGVmdGVtcGxhdGVzIiwgJHJldHVybmlkKTsNCiAgICAkdGVtcGxhdGVsaXN0ID0gJHRoaXMtPkxpc3RUZW1wbGF0ZXMoJHRoaXMtPkdldE5hbWUoKSk7DQogICAgJGRlZnRwbHMgPSAkdGhpcy0+Z2V0RGVmYXVsdFRlbXBsYXRlcygpOw0KICAgICR0cGxvcHRpb25zID0gYXJyYXkoKTsNCiAgICAkaXRlbWxpc3QgPSBhcnJheSgpOw0KICAgIGZvcmVhY2goJHRlbXBsYXRlbGlzdCBhcyAkb25ldHBsKXsNCgkgICAkdHBsb3B0aW9uc1skb25ldHBsXSA9ICRvbmV0cGw7DQoJICAgJHRwbCA9IG5ldyBzdGRDbGFzcygpOw0KCSAgICR0cGwtPmVkaXRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgImVkaXRUZW1wbGF0ZSIsICRyZXR1cm5pZCwgJG9uZXRwbCwgYXJyYXkoInRwbG5hbWUiPT4kb25ldHBsKSApOw0KCSAgICR0cGwtPmRlbGV0ZWxpbmsgPSBpbl9hcnJheSgkb25ldHBsLCAkZGVmdHBscyk/IiI6JHRoaXMtPkNyZWF0ZUxpbmsoICRpZCwgImRlbGV0ZXRwbCIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYiLCAkdGhpcy0+TGFuZygiZGVsZXRlIiksICIiLCAiIiwgInN5c3RlbWljb24iKSwgYXJyYXkoInRwbG5hbWUiPT4kb25ldHBsKSApOw0KCSAgIGFycmF5X3B1c2goJGl0ZW1saXN0LCAkdHBsKTsNCiAgICB9DQoNCgkgICBlY2hvICIJPGRpdiBjbGFzcz1cInBhZ2VvdmVyZmxvd1wiPg0KCQkJIDxwIGNsYXNzPVwicGFnZXRleHRcIj4iLiR0aGlzLT5MYW5nKCJkZWZ0ZW1wbGF0ZWZvciIpLiIgXCJjYXRlZ29yeVwiOjwvcD4NCgkJCSA8cCBjbGFzcz1cInBhZ2VpbnB1dFwiPiIuJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJsaXN0dGVtcGxhdGVfY2F0ZWdvcnkiLCR0cGxvcHRpb25zLC0xLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfY2F0ZWdvcnkiKSkuIjwvcD4NCgkJPC9kaXY+DQogICAgIjsNCgkgICBlY2hvICIJPGRpdiBjbGFzcz1cInBhZ2VvdmVyZmxvd1wiPg0KCQkJIDxwIGNsYXNzPVwicGFnZXRleHRcIj4iLiR0aGlzLT5MYW5nKCJkZWZ0ZW1wbGF0ZWZvciIpLiIgXCJhbGJ1bVwiOjwvcD4NCgkJCSA8cCBjbGFzcz1cInBhZ2VpbnB1dFwiPiIuJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJsaXN0dGVtcGxhdGVfYWxidW0iLCR0cGxvcHRpb25zLC0xLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfYWxidW0iKSkuIjwvcD4NCgkJPC9kaXY+DQogICAgIjsNCgkgICBlY2hvICIJPGRpdiBjbGFzcz1cInBhZ2VvdmVyZmxvd1wiPg0KCQkJIDxwIGNsYXNzPVwicGFnZXRleHRcIj4iLiR0aGlzLT5MYW5nKCJkZWZ0ZW1wbGF0ZWZvciIpLiIgXCJ2aWRlb1wiOjwvcD4NCgkJCSA8cCBjbGFzcz1cInBhZ2VpbnB1dFwiPiIuJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJsaXN0dGVtcGxhdGVfdmlkZW8iLCR0cGxvcHRpb25zLC0xLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfdmlkZW8iKSkuIjwvcD4NCgkJPC9kaXY+DQogICAgIjsNCiAgICBlY2hvICIJPGRpdiBjbGFzcz1cInBhZ2VvdmVyZmxvd1wiPg0KCQkJIDxwIGNsYXNzPVwicGFnZXRleHRcIj4iLiR0aGlzLT5MYW5nKCJkZWZkZXRhaWx0ZW1wbGF0ZSIpLiI6PC9wPg0KCQkJIDxwIGNsYXNzPVwicGFnZWlucHV0XCI+Ii4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImZpbmFsdGVtcGxhdGUiLCR0cGxvcHRpb25zLC0xLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJmaW5hbHRlbXBsYXRlIikpLiI8L3A+DQoJCTwvZGl2Pg0KCSI7DQogICAgZWNobyAiCTxkaXYgY2xhc3M9XCJwYWdlb3ZlcmZsb3dcIj4NCgkJCSA8cCBjbGFzcz1cInBhZ2V0ZXh0XCI+Ii4kdGhpcy0+TGFuZygiZGVmZW1iZWR0ZW1wbGF0ZSIpLiI6PC9wPg0KCQkJIDxwIGNsYXNzPVwicGFnZWlucHV0XCI+Ii4kdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImVtYmVkdGVtcGxhdGUiLCR0cGxvcHRpb25zLC0xLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlbWJlZHRlbXBsYXRlIikpLiI8L3A+DQoJCTwvZGl2Pg0KCSI7DQoJJHRwbG9wdGlvbnNbJHRoaXMtPkxhbmcoInVzZWxldmVsbGlzdHRwbCIpXSA9ICIqKiI7DQoJZWNobyAiCTxkaXYgY2xhc3M9XCJwYWdlb3ZlcmZsb3dcIj4NCgkJCSA8cCBjbGFzcz1cInBhZ2V0ZXh0XCI+Ii4kdGhpcy0+TGFuZygiZGVmc2VhcmNocmVzdWx0c3RlbXBsYXRlIikuIjo8L3A+DQoJCQkgPHAgY2xhc3M9XCJwYWdlaW5wdXRcIj4iLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwic2VhcmNocmVzdWx0c3RlbXBsYXRlIiwkdHBsb3B0aW9ucywtMSwkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNocmVzdWx0c3RlbXBsYXRlIiwiKioiKSkuIjwvcD4NCgkJPC9kaXY+DQoJIjsNCgllY2hvICIJPGRpdiBjbGFzcz1cInBhZ2VvdmVyZmxvd1wiPg0KCQkJIDxwIGNsYXNzPVwicGFnZXRleHRcIj4iLiR0aGlzLT5MYW5nKCJkZWZlbXB0eXRlbXBsYXRlIikuIjo8L3A+DQoJCQkgPHAgY2xhc3M9XCJwYWdlaW5wdXRcIj4iLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiZW1wdHl0ZW1wbGF0ZSIsJHRwbG9wdGlvbnMsLTEsJHRoaXMtPkdldFByZWZlcmVuY2UoImVtcHR5dGVtcGxhdGUiLCIqKiIpKS4iPC9wPg0KCQk8L2Rpdj4NCiAgICA8cD4iLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuIjwvcD4iOw0KICAgIGVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCg0KICAgIGVjaG8gIjwvZmllbGRzZXQ+PGJyLz48YnIvPiI7DQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsICRpdGVtbGlzdCk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZGRuZXciLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0VGVtcGxhdGUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS9uZXdvYmplY3QuZ2lmIiwgIiIsIiIsIiIsInN5c3RlbWljb24iKS4iICIuJHRoaXMtPkxhbmcoImFkZHRlbXBsYXRlIikpKTsNCiAgICAkYWRtaW5zaG93ID0gYXJyYXkoCWFycmF5KCR0aGlzLT5MYW5nKCJ0ZW1wbGF0ZSIpLCAiZWRpdGxpbmsiLCBmYWxzZSksIGFycmF5KCR0aGlzLT5MYW5nKCJBY3Rpb25zIiksICJkZWxldGVsaW5rIiwgZmFsc2UpCSk7DQogICAgJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZG1pbnNob3ciLCAkYWRtaW5zaG93KTsNCiAgICBlY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImFkbWlucGFuZWwudHBsIik7DQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQoNCmlmKCAkaGFzX2FkdmFuY2VkX3Blcm0gfHwgJHRoaXMtPkdldFByZWZlcmVuY2UoInRhYmRpc3BsYXlfcXVlcmllcyIsZmFsc2UpICkgew0KCWVjaG8gJHRoaXMtPlN0YXJ0VGFiKCJxdWVyaWVzIik7DQoNCgkJJGl0ZW1saXN0ID0gJHRoaXMtPmdldF9xdWVyaWVzKCR3aGVyZT1hcnJheSgpLCB0cnVlLCAkaWQsICRyZXR1cm5pZCk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCAkaXRlbWxpc3Q/JGl0ZW1saXN0OmFycmF5KCkpOw0KCQkkYWRtaW5zaG93ID0gYXJyYXkoIGFycmF5KCJpZCIsImlkIiksDQoJCQkJCQkJYXJyYXkoJHRoaXMtPkxhbmcoIm5hbWUiKSwgIm5hbWUiKSwNCgkJCQkJCQlhcnJheSgkdGhpcy0+TGFuZygiQWN0aW9ucyIpLCAiYWN0aW9ucyIpDQoJCQkJCQkJKTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZG1pbnNob3ciLCAkYWRtaW5zaG93KTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhZGRuZXciLCAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJhZG1pbnF1ZXJ5IiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vbmV3b2JqZWN0LmdpZiIsICIiLCIiLCIiLCJzeXN0ZW1pY29uIikuIiAiLiR0aGlzLT5MYW5nKCJjcmVhdGVxdWVyeSIpKSk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiYWRtaW5wYW5lbC50cGwiKTsNCgkJDQoJZWNobyAkdGhpcy0+RW5kVGFiKCk7DQp9DQoNCmlmKCAkaGFzX2FkdmFuY2VkX3Blcm0gKSB7DQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoInByZWZlcmVuY2VzIik7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImNoYW5nZXByZWZlcmVuY2VzIiwgJHJldHVybmlkKTsNCgllY2hvICI8ZmllbGRzZXQgc3R5bGU9XCJ3aWR0aDogNDY1cHg7XCI+PGxlZ2VuZD48Yj4iLiR0aGlzLT5MYW5nKCJwcmVmX3RhYmRpc3BsYXkiKS4iOjwvYj48L2xlZ2VuZD48dWw+DQoJIjsNCgkkdGFiZGlzcGxheSA9IGFycmF5KCJjYXRlZ29yeSIsImFsYnVtIiwidmlkZW8iLCJmaWVsZG9wdGlvbnMiLCJ0ZW1wbGF0ZXMiLCJxdWVyaWVzIik7DQoJZm9yZWFjaCgkdGFiZGlzcGxheSBhcyAkb25lcHJlZil7DQoJCWVjaG8gIjxsaT4iLiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgInRhYmRpc3BsYXlfIi4kb25lcHJlZiwgdHJ1ZSwgJHRoaXMtPkdldFByZWZlcmVuY2UoInRhYmRpc3BsYXlfIi4kb25lcHJlZixmYWxzZSkpLiR0aGlzLT5MYW5nKCRvbmVwcmVmKS4iPC9saT4NCgkiOw0KCX0NCgllY2hvICI8L3VsPjxici8+PHA+Ii4kdGhpcy0+TGFuZygiaGVscF90YWJkaXNwbGF5IikuIjwvcD4NCjwvZmllbGRzZXQ+PGJyLz4NCiI7DQoJZWNobyAiPGZpZWxkc2V0IHN0eWxlPVwid2lkdGg6IDQ2NXB4O1wiPjxsZWdlbmQ+PGI+Ii4kdGhpcy0+TGFuZygicHJlZl9zZWFyY2htb2R1bGVfaW5kZXgiKS4iOjwvYj48L2xlZ2VuZD48dWw+DQoJIjsNCglmb3JlYWNoKCR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpIGFzICRvbmVwcmVmKXsNCgkJZWNobyAiPGxpPiIuJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAic2VhcmNobW9kdWxlX2luZGV4XyIuJG9uZXByZWYsIHRydWUsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzZWFyY2htb2R1bGVfaW5kZXhfIi4kb25lcHJlZixmYWxzZSkpLiR0aGlzLT5MYW5nKCRvbmVwcmVmKS4iPC9saT4NCgkiOw0KCX0NCgllY2hvICI8L3VsPjxici8+PHA+Ii4kdGhpcy0+TGFuZygiaGVscF9zZWFyY2htb2R1bGVfaW5kZXgiKS4iPC9wPg0KPC9maWVsZHNldD48YnIvPg0KIjsNCgllY2hvICI8ZmllbGRzZXQgc3R5bGU9XCJ3aWR0aDogNDY1cHg7XCI+PGxlZ2VuZD48Yj4iLiR0aGlzLT5MYW5nKCJwcmVmX25ld2l0ZW1zZmlyc3QiKS4iOjwvYj48L2xlZ2VuZD48dWw+DQoJIjsNCglmb3JlYWNoKCR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpIGFzICRvbmVwcmVmKXsNCgkJZWNobyAiPGxpPiIuJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAibmV3aXRlbXNmaXJzdF8iLiRvbmVwcmVmLCB0cnVlLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibmV3aXRlbXNmaXJzdF8iLiRvbmVwcmVmLGZhbHNlKSkuJHRoaXMtPkxhbmcoJG9uZXByZWYpLiI8L2xpPg0KCSI7DQoJfQ0KCWVjaG8gIjwvdWw+PGJyLz48cD4iLiR0aGlzLT5MYW5nKCJoZWxwX25ld2l0ZW1zZmlyc3QiKS4iPC9wPg0KPC9maWVsZHNldD48YnIvPg0KIjsNCg0KCWVjaG8gIjxmaWVsZHNldCBzdHlsZT1cIndpZHRoOiA0NjVweDtcIj48bGVnZW5kPjxiPiIuJHRoaXMtPkxhbmcoInByZWZfbGV2ZWxwYWdpbmF0aW9uIikuIjo8L2I+PC9sZWdlbmQ+PHVsPg0KCSI7DQoJZm9yZWFjaCgkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKSBhcyAkb25lcHJlZil7DQoJCWVjaG8gIjxsaT4iLiR0aGlzLT5MYW5nKCRvbmVwcmVmKS4iOiAiOw0KCQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAkb25lcHJlZi4iX3BhZ2luYXRpb24iLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkb25lcHJlZi4iX3BhZ2luYXRpb24iLDApLCAxMiwgMykuIjwvbGk+DQoJIjsNCgl9DQoJZWNobyAiPC91bD48YnIvPjxwPiIuJHRoaXMtPkxhbmcoImhlbHBfbGV2ZWxwYWdpbmF0aW9uIikuIjwvcD4NCjwvZmllbGRzZXQ+PGJyLz4NCiI7DQoNCgllY2hvICI8ZmllbGRzZXQgc3R5bGU9XCJ3aWR0aDogNjAwcHg7XCI+PGxlZ2VuZD48Yj4iLiR0aGlzLT5MYW5nKCJ2aWRfcHJlZmVyZW5jZXMiKS4iOjwvYj48L2xlZ2VuZD4NCgkiOw0KCSRjaGVja2JveHByZWZzID0gYXJyYXkoImZ1bGxzY3JlZW4iLCAic2NyaXB0YWNjZXNzIiwgImF1dG9wbGF5Iik7DQoJZm9yZWFjaCgkY2hlY2tib3hwcmVmcyBhcyAkb25lcHJlZil7DQoJCWVjaG8gIjxwPiIuJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCAkb25lcHJlZiwgdHJ1ZSwgJHRoaXMtPkdldFByZWZlcmVuY2UoJG9uZXByZWYsZmFsc2UpKS4iICIuJHRoaXMtPkxhbmcoInByZWZfIi4kb25lcHJlZikuIjwvcD4NCgkiOw0KCX0NCgllY2hvICI8cD4iLiR0aGlzLT5MYW5nKCJwcmVmX2NvbG9yMSIpLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAiY29sb3IxIiwgJHRoaXMtPkdldFByZWZlcmVuY2UoImNvbG9yMSIsIjB4MjM0OTAwIiksIDEwLCA4KS4iPC9wPg0KCSI7DQoJZWNobyAiPHA+Ii4kdGhpcy0+TGFuZygicHJlZl9jb2xvcjIiKS4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwgImNvbG9yMiIsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjb2xvcjIiLCIweDRlOWUwMCIpLCAxMCwgOCkuIjwvcD4NCgkiOw0KDQoJZWNobyAiPC9maWVsZHNldD48YnIvPjxwPiI7DQoJDQoJZWNobyAiPGZpZWxkc2V0IHN0eWxlPVwid2lkdGg6IDYwMHB4O1wiPjxsZWdlbmQ+PGI+Ii4kdGhpcy0+TGFuZygicHJlZmVyZW5jZXMiKS4iOjwvYj48L2xlZ2VuZD4NCgkiOw0KCSRjaGVja2JveHByZWZzID0gYXJyYXkoImZ1bGxzY3JlZW4iLCAic2NyaXB0YWNjZXNzIiwgImF1dG9wbGF5IiwgImxvYWRfbmJjaGlsZHJlbiIsImxvYWRfbmV4dHByZXZpb3VzIiwicmVzdHJpY3RfcGVybWlzc2lvbnMiLCJ1c2VfaGllcmFyY2h5Iiwib3JkZXJieW5hbWUiLCJkaXNwbGF5X2ZpbHRlciIsImRpc3BsYXlfaW5zdGFudHNlYXJjaCIsImRpc3BsYXlfaW5zdGFudHNvcnQiLCJlZGl0YWJsZV9hbGlhc2VzIiwiYXV0b2luY3JlbWVudF9hbGlhcyIsImFsbG93X3NxbCIsImZvcmNlX2xpc3QiLCJhbGxvd19jb21wbGV4X29yZGVyIiwidXNlX3Nlc3Npb24iKTsNCglmb3JlYWNoKCRjaGVja2JveHByZWZzIGFzICRvbmVwcmVmKXsNCgkJZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsICRvbmVwcmVmLCB0cnVlLCAkdGhpcy0+R2V0UHJlZmVyZW5jZSgkb25lcHJlZixmYWxzZSkpLiIgIi4kdGhpcy0+TGFuZygicHJlZl8iLiRvbmVwcmVmKS4iPC9wPg0KCSI7DQoJfQ0KCWVjaG8gIjxwPiIuJHRoaXMtPkxhbmcoInByZWZfYWRtaW5wYWdlcyIpLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAiYWRtaW5wYWdlcyIsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhZG1pbnBhZ2VzIiwwKSwgNCwgMykuIjwvcD4NCgkiOw0KCWVjaG8gIjxwPiIuJHRoaXMtPkxhbmcoInByZWZfbWF4c2hvd25wYWdlcyIpLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCAibWF4c2hvd25wYWdlcyIsICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJtYXhzaG93bnBhZ2VzIiw3KSwgMywgMikuIjwvcD4NCgkiOw0KCWVjaG8gIjwvZmllbGRzZXQ+PGJyLz48cD4iLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuIjwvcD4iOw0KICAgIGVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgllY2hvICI8YnIvPjxwPiIuJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ltcG9ydC5naWYiLCAiIiwiIiwiIiwic3lzdGVtaWNvbiIpLiIgIjsNCgllY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImV4cG9ydCIsICRyZXR1cm5pZCwgJHRoaXMtPkxhbmcoImV4cG9ydF90aXRsZSIpKS4iIHwgIi4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJpbXBvcnQiLCAkcmV0dXJuaWQsICR0aGlzLT5MYW5nKCJpbXBvcnRfdGl0bGUiKSkuIjwvcD4iOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KfQ0KDQplY2hvICR0aGlzLT5FbmRUYWJDb250ZW50KCk7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/action.editalbum.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQppZihpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkgfHwgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV9hbGJ1bSIpKSApew0KCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiIgPT4gImFsYnVtIik7DQoJaWYoIWlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJJG5ld3BhcmFtc1sibW9kdWxlX21lc3NhZ2UiXSA9ICR0aGlzLT5MYW5nKCJlcnJvcl9kZW5pZWQiKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCn0NCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KDQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgidXNlX2hpZXJhcmNoeSIsZmFsc2UpKXsNCgkkcGFyZW50b3B0aW9ucyA9ICR0aGlzLT5nZXRfYWRtaW5faGllcmFyY2h5b3B0aW9ucygiYWxidW0iLGZhbHNlKTsNCn1lbHNlew0KCSRwYXJlbnRvcHRpb25zID0gJHRoaXMtPmdldF9vcHRpb25zKCJjYXRlZ29yeSIpOw0KfQ0KDQppZihpc3NldCgkcGFyYW1zWyJhbGJfaWQiXSkpIHsNCgkvLyBpZiB3ZSBhcmUgd29ya2luZyBvbiBhbiBpdGVtIHRoYXQgZXhpc3RzLCB3ZSBsb2FkIGl0LiBXZSBtdXN0IGRvIHRoaXMgZXZlbiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgb3RoZXJ3aXNlIHdlIHdvbid0IGhhdmUgdGhlIGZpbGUgZmllbGRzDQoJJGl0ZW1zID0gJHRoaXMtPmdldF9sZXZlbF9hbGJ1bShhcnJheSgiaWQiPT4kcGFyYW1zWyJhbGJfaWQiXSkpOw0KCSRpdGVtID0gJGl0ZW1zWzBdOw0KfQ0KDQovLyBDSEVDSyBJRiBUSEUgRk9STSBJUyBCRUlORyBTVUJNSVRURUQgOg0KLy8gKHdlIG11c3QgZGV0ZWN0IGFsbCBraW5kcyBvZiBzdWJtaXQgYnV0dG9ucywgaW5jbHVkaW5nIGZpbGVzLCBzaW5jZSBpbmZvcm1hdGlvbiBtdXN0IGJlIHNhdmVkIGJlZm9yZSB3ZSBnbyB0byBmaWxlIHN1Ym1pc3Npb24pDQppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IA0KCWlzc2V0KCRwYXJhbXNbImFwcGx5Il0pIA0KCSkNCnsNCglkZWJ1Z19idWZmZXIoIkVkaXQgRm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQiLl9fTElORV9fKTsNCg0KCS8vIFJFVFJJRVZJTkcgVEhFIEZPUk0gVkFMVUVTIChhbmQgZXNjYXBpbmcgaXQsIGlmIG5lZWRlZCkNCglpZighaXNzZXQoJGl0ZW0pKSAkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCWlmKGlzc2V0KCRwYXJhbXNbImFsYl9pdGVtX29yZGVyIl0pKSAkaXRlbS0+aXRlbV9vcmRlciA9ICRwYXJhbXNbImFsYl9pdGVtX29yZGVyIl07DQoJJGl0ZW0tPmRlc2NyaXB0aW9uID0gJHBhcmFtc1siYWxiX2Rlc2NyaXB0aW9uIl07DQoJCSRpdGVtLT5sYW5nID0gJHBhcmFtc1siYWxiX2xhbmciXTsNCgkJJGl0ZW0tPmRlZmF1bHRfd2lkdGggPSAkcGFyYW1zWyJhbGJfZGVmYXVsdF93aWR0aCJdOw0KCQkkaXRlbS0+ZGVmYXVsdF9oZWlnaHQgPSAkcGFyYW1zWyJhbGJfZGVmYXVsdF9oZWlnaHQiXTsNCgkJJGl0ZW0tPnBhcmVudCA9ICRwYXJhbXNbImFsYl9wYXJlbnQiXTsNCgkJJGl0ZW0tPm5hbWUgPSAkcGFyYW1zWyJhbGJfbmFtZSJdOw0KCQkNCglpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZWRpdGFibGVfYWxpYXNlcyIsZmFsc2UpKXsNCgkJaWYoaXNzZXQoJHBhcmFtc1siYWxiX2FsaWFzIl0pKXsNCgkJCSR0bXBhbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKHRyaW0oJHBhcmFtc1siYWxiX2FsaWFzIl0pKTsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0bXBhbGlhcyA9PSAiIj8kdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk6JHRtcGFsaWFzOw0KCQl9ZWxzZXsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKCRpdGVtLT5uYW1lKTsNCgkJfQ0KCX1lbHNlew0KCQkkaXRlbS0+YWxpYXMgPSAkdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk7DQoJfQ0KCQ0KCSRhdXRvaW5jcmVtZW50YWxpYXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYXV0b2luY3JlbWVudF9hbGlhcyIsZmFsc2UpOw0KDQoJLy8gQ0hFQ0sgSUYgVEhFIE5FRURFRCBWQUxVRVMgQVJFIFRIRVJFDQoJaWYoCSFpc3NldCgkcGFyYW1zWyJhbGJfbGFuZyJdKSB8fCAkcGFyYW1zWyJhbGJfbGFuZyJdID09ICIiDQoJCSB8fCAhaXNzZXQoJHBhcmFtc1siYWxiX2RlZmF1bHRfd2lkdGgiXSkgfHwgJHBhcmFtc1siYWxiX2RlZmF1bHRfd2lkdGgiXSA9PSAiIg0KCQkgfHwgIWlzc2V0KCRwYXJhbXNbImFsYl9kZWZhdWx0X2hlaWdodCJdKSB8fCAkcGFyYW1zWyJhbGJfZGVmYXVsdF9oZWlnaHQiXSA9PSAiIg0KCQkgfHwgIWlzc2V0KCRwYXJhbXNbImFsYl9uYW1lIl0pIHx8ICRwYXJhbXNbImFsYl9uYW1lIl0gPT0gIiINCgkJICkNCgl7DQoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yX21pc3NnaW52YWx1ZSIpKTsNCgl9ZWxzZWlmKCEkYXV0b2luY3JlbWVudGFsaWFzICYmIGZhbHNlID09ICR0aGlzLT5jaGVja2FsaWFzKCJtb2R1bGVfSFZBX2FsYnVtIiwgJGl0ZW0tPmFsaWFzLCBpc3NldCgkcGFyYW1zWyJhbGJfaWQiXSk/JHBhcmFtc1siYWxiX2lkIl06ZmFsc2UpKXsNCgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZXJyb3JfYWxyZWFkeWV4aXN0cyIpKTsNCgl9ZWxzZXsNCgkJIyMjIyMjIyMjIyMjIERPSU5HIFRIRSBVUERBVEUNCg0KCQlpZigkYXV0b2luY3JlbWVudGFsaWFzKXsNCgkJCSRiYXNlYWxpYXMgPSAkaXRlbS0+YWxpYXM7DQoJCQkkdG1wYWxpYXMgPSAkaXRlbS0+YWxpYXM7DQoJCQkkaSA9IDE7DQoJCQl3aGlsZSghJHRoaXMtPmNoZWNrYWxpYXMoIm1vZHVsZV9IVkFfYWxidW0iLCAkdG1wYWxpYXMsIGlzc2V0KCRwYXJhbXNbImFsYl9pZCJdKT8kcGFyYW1zWyJhbGJfaWQiXTpmYWxzZSkpew0KCQkJCSR0bXBhbGlhcyA9ICRiYXNlYWxpYXMuIl8iLiRpOw0KCQkJCSRpKys7DQoJCQl9DQoJCQkkaXRlbS0+YWxpYXMgPSAkdG1wYWxpYXM7DQoJCX0NCg0KCQkvLyBGSUVMRFMgVE8gVVBEQVRFDQoJCSRxdWVyeSA9IChpc3NldCgkaXRlbS0+aWQpPyJVUERBVEUgIjoiSU5TRVJUIElOVE8gIikuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCANCgkJCWRlc2NyaXB0aW9uPT8sDQoJCQlsYW5nPT8sDQoJCQlkZWZhdWx0X3dpZHRoPT8sDQoJCQlkZWZhdWx0X2hlaWdodD0/LA0KCQkJcGFyZW50PT8sDQoJCQluYW1lPT8sDQoJCWFsaWFzPT8sDQoJCWRhdGVfbW9kaWZpZWQ9PywNCgkJYWN0aXZlPSIuKGlzc2V0KCRpdGVtLT5hY3RpdmUpPyRpdGVtLT5hY3RpdmU6MSkuIiwNCgkJaXNkZWZhdWx0PSIuKGlzc2V0KCRpdGVtLT5pc2RlZmF1bHQpPyRpdGVtLT5pc2RlZmF1bHQ6MCkuIiI7DQoJCQkNCgkJLy8gVkFMVUVTDQoJCSR2YWx1ZXMgPSBhcnJheShhZGRzbGFzaGVzKCRpdGVtLT5kZXNjcmlwdGlvbiksDQoJCQlhZGRzbGFzaGVzKCRpdGVtLT5sYW5nKSwNCgkJCSRpdGVtLT5kZWZhdWx0X3dpZHRoLA0KCQkJJGl0ZW0tPmRlZmF1bHRfaGVpZ2h0LA0KCQkJJGl0ZW0tPnBhcmVudCwNCgkJCWFkZHNsYXNoZXMoJGl0ZW0tPm5hbWUpLCRpdGVtLT5hbGlhcyxzdHJfcmVwbGFjZSgiJyIsIiIsJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpKSk7DQoNCgkJaWYoaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCQkkZXZlbnQgPSAiSFZBX21vZGlmaWVkIjsNCgkJCSRxdWVyeSAuPSAiIFdIRVJFIGlkPT87IjsNCgkJCWFycmF5X3B1c2goJHZhbHVlcywkaXRlbS0+aWQpOw0KCQl9ZWxzZXsNCgkJCS8vIE5FVyBJVEVNDQoJCQkkcXVlcnkgLj0gIiwgZGF0ZV9jcmVhdGVkPT8iOw0KCQkJJHZhbHVlc1tdID0gc3RyX3JlcGxhY2UoIiciLCIiLCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSk7DQoJCQkkZXZlbnQgPSAiSFZBX2FkZGVkIjsNCgkJCS8vIGdldCBhIG5ldyBpZCBmcm9tIHRoZSBzZXF1ZW5jZSB0YWJsZQ0KCQkJJGl0ZW0tPmlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW1fc2VxIik7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgibmV3aXRlbXNmaXJzdF9hbGJ1bSIsZmFsc2UpKXsNCgkJCQkvLyBuZXcgaXRlbXMgZ2V0IHRvIHRoZSB0b3AgLSBzbyB3ZSBtdXN0IHB1dCBhbGwgb3RoZXIgaXRlbXMgZG93biBmcm9tIG9uZSBzdGVwLCBhbmQgdGhlbiBzZXQgdGhpcyBpdGVtJ3Mgb3JkZXIgdG8gMQ0KCQkJCSRxdWVyeTIgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIHBhcmVudD0/IjsNCgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5MiwgYXJyYXkoJGl0ZW0tPnBhcmVudCkpOw0KCQkJCSRxdWVyeSAuPSAiLGl0ZW1fb3JkZXI9MSwgaWQ9Ii4kaXRlbS0+aWQ7DQoJCQl9ZWxzZXsNCgkJCQkvLyBuZXcgaXRlbXMgZ2V0IHRvIHRoZSBib3R0b20gLSBzbyB3ZSBtdXN0IHNldCB0aGUgaXRlbV9vcmRlciB0byB0aGUgbnVtYmVyIG9mIGl0ZW1zICsgMQ0KCQkJCSRpdGVtX29yZGVyID0gJHRoaXMtPmNvdW50c29tZXRoaW5nKCJhbGJ1bSIsImlkIixhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudCkpICsgMTsNCgkJCQkkcXVlcnkgLj0gIixpdGVtX29yZGVyPSIuJGl0ZW1fb3JkZXIuIiwgaWQ9Ii4kaXRlbS0+aWQ7DQoJCQl9DQoJCX0NCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7DQoNCglpZihpc3NldCgkcGFyYW1zWyJvbGRwYXJlbnQiXSkgJiYgJHBhcmFtc1sib2xkcGFyZW50Il0gIT0gJGl0ZW0tPnBhcmVudCl7DQoJCS8vIHRoZSBpdGVtIGlzIGNoYW5naW5nIHBhcmVudCwgYW5kIHdlJ3JlIG9yZGVyaW5nIGJ5IHBhcmVudHMNCgkJDQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJuZXdpdGVtc2ZpcnN0X2FsYnVtIixmYWxzZSkpew0KCQkJLy8gbmV3IGl0ZW1zIGdldCB0byB0aGUgdG9wDQoJCQkNCgkJCS8vIFVQREFURSBUSEUgT1JERVIgT0YgVEhFIElURU1TIFdJVEggVEhFIE9MRCBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaXRlbV9vcmRlciA+ID8gQU5EIHBhcmVudD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkcGFyYW1zWyJvbGRwYXJlbnQiXSkpOw0KCQkJLy8gR0VUIE5FVyBJVEVNIE9SREVSDQoJCQkkaXRlbS0+aXRlbV9vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygiYWxidW0iLCJpZCIsYXJyYXkoInBhcmVudCI9PiRpdGVtLT5wYXJlbnQpKSArIDE7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+aXRlbV9vcmRlciwgJGl0ZW0tPmlkKSk7DQoNCgkJfWVsc2V7DQoNCgkJCS8vIFVQREFURSBUSEUgT1JERVIgT0YgVEhFIElURU1TIFdJVEggVEhFIE9MRCBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaXRlbV9vcmRlciA+ID8gQU5EIHBhcmVudD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkcGFyYW1zWyJvbGRwYXJlbnQiXSkpOw0KCQkJLy8gVVBEQVRFIE5FVyBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkgV0hFUkUgcGFyZW50PT8iOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW0tPnBhcmVudCkpOw0KCQkJLy8gR0VUIE5FVyBJVEVNIE9SREVSDQoJCQkkaXRlbS0+aXRlbV9vcmRlciA9IDE7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+aXRlbV9vcmRlciwgJGl0ZW0tPmlkKSk7DQoJCQ0KCQl9DQoJfQ0KDQoJCSRyZWRpcmVjdCA9IHRydWU7DQoJCS8vaWYobXlzcWxfYWZmZWN0ZWRfcm93cygpKXsJLy8gbXlzcWwtb25seQ0KCQlpZigkZGItPkFmZmVjdGVkX1Jvd3MoKSl7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNobW9kdWxlX2luZGV4X2FsYnVtIixmYWxzZSkpew0KCQkJCS8vIElGIEFOWVRISU5HIFdBUyBNT0RJRklFRCwgV0UgTVVTVCBVUERBVEUgVEhFIFNFQVJDSCBJTkRFWCBBTkQgU0VORCBBTiBFVkVOVC4uLg0KCQkJCWlmKGlzc2V0KCRldmVudCkpCSR0aGlzLT5TZW5kRXZlbnQoJGV2ZW50LCBhcnJheSgid2hhdCI9PiJhbGJ1bSIsICJpdGVtaWQiID0+ICRpdGVtLT5pZCwgImFsaWFzIj0+JGl0ZW0tPmFsaWFzKSk7DQoJCQkJZGVidWdfYnVmZmVyKCJTRUFSSEMgSU5ERVggV0FTIFVQREFURUQgIi5fX0xJTkVfXyk7DQoJCQkJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoIlNlYXJjaCIpOw0KCQkJCWlmKCRtb2R1bGUpIHsNCgkJCQkJJHRleHQgPSAiJGl0ZW0tPmRlc2NyaXB0aW9uICRpdGVtLT5uYW1lIjsNCgkJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAiYWxidW0iLCAkdGV4dCwgTlVMTCk7DQoJCQkJfQ0KCQkJfQ0KCQl9ZWxzZWlmKG15c3FsX2Vycm9yKCkpew0KCQkJLy8gZG8gbm90IHJlZGlyZWN0IDoNCgkJCSRyZWRpcmVjdCA9IGZhbHNlOw0KCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsNCgkJfQ0KDQoJCS8vIFJFRElSRUNUSU5HLi4uDQoJCQlpZigkcmVkaXJlY3QgPT0gZmFsc2Upew0KCQkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJhcHBseSJdKSl7DQoJCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyYW1zID0gYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpLCAiYWN0aXZlX3RhYiI9PiJhbGJ1bSIpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRwYXJhbXMpOwkNCgkJCX0NCgl9DQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfQ0KDQoNCg0KLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUw0KQ3JlYXRlSW5wdXRUZXh0IDogKGlkLG5hbWUsdmFsdWUsc2l6ZSxtYXhsZW5ndGgpDQpDcmVhdGVUZXh0QXJlYSA6ICh3eXNpd3lnLGlkLHRleHQsbmFtZSkNCkNyZWF0ZUlucHV0U2VsZWN0TGlzdCA6IChpZCxuYW1lLGl0ZW1zLHNlbGVjdGVkaXRlbXMsc2l6ZSkNCkNyZWF0ZUlucHV0RHJvcGRvd24gOiAoaWQsbmFtZSxpdGVtcyxzaW5kZXgsc3ZhbHVlKQ0KKi8NCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9sYWJlbCIsICR0aGlzLT5MYW5nKCJhbGJ1bV9kZXNjcmlwdGlvbiIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVzY3JpcHRpb25faW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2Rlc2NyaXB0aW9uIixpc3NldCgkaXRlbSk/JGl0ZW0tPmRlc2NyaXB0aW9uOiIiLDUwLDI1NSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsYW5nX2xhYmVsIiwgJHRoaXMtPkxhbmcoImFsYnVtX2xhbmciKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhbmdfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2xhbmciLGlzc2V0KCRpdGVtKT8kaXRlbS0+bGFuZzoiIiwzMCwxMCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZWZhdWx0X3dpZHRoX2xhYmVsIiwgJHRoaXMtPkxhbmcoImFsYnVtX2RlZmF1bHRfd2lkdGgiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImRlZmF1bHRfd2lkdGhfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2RlZmF1bHRfd2lkdGgiLGlzc2V0KCRpdGVtKT8kaXRlbS0+ZGVmYXVsdF93aWR0aDoiIiwzMCwxMCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZWZhdWx0X2hlaWdodF9sYWJlbCIsICR0aGlzLT5MYW5nKCJhbGJ1bV9kZWZhdWx0X2hlaWdodCIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVmYXVsdF9oZWlnaHRfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2RlZmF1bHRfaGVpZ2h0Iixpc3NldCgkaXRlbSk/JGl0ZW0tPmRlZmF1bHRfaGVpZ2h0OiIiLDMwLDEwKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygibmFtZSIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJhbGJfbmFtZSIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5uYW1lOiIiLDUwLDY0KSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhcmVudF9sYWJlbCIsICR0aGlzLT5MYW5nKCJjYXRlZ29yeSIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigicGFyZW50X2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJhbGJfcGFyZW50IiwkcGFyZW50b3B0aW9ucywtMSxpc3NldCgkaXRlbSk/JGl0ZW0tPnBhcmVudDowKSk7aWYoaXNzZXQoJGl0ZW0pKSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAib2xkcGFyZW50IiwgJGl0ZW0tPnBhcmVudCk7DQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZWRpdGFibGVfYWxpYXNlcyIsZmFsc2UpKXsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFsaWFzX2xhYmVsIiwgJHRoaXMtPkxhbmcoImFsaWFzIikpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWxpYXNfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2FsaWFzIixpc3NldCgkaXRlbSk/JGl0ZW0tPmFsaWFzOiIiLDUwLDY0KSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtYWxpYXMiLGZhbHNlKTsNCn1lbHNlew0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWFsaWFzIixpc3NldCgkaXRlbS0+YWxpYXMpPyIoYWxpYXMgOiAiLiRpdGVtLT5hbGlhcy4iKSI6ZmFsc2UpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWxpYXNfaW5wdXQiLCBmYWxzZSk7DQp9DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZWRpdHRpdGxlIiwgJHRoaXMtPkxhbmcoImVkaXRfYWxidW0iKSk7DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigic3VibWl0IiwgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImFwcGx5IiwgKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKT8kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKToiIik7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImNhbmNlbCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJjYW5jZWwiLCBsYW5nKCJjYW5jZWwiKSkpOw0KDQoNCi8vIERJU1BMQVlJTkcNCmlmKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKXsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRhbGJ1bSIsICRyZXR1cm5pZCk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiZWRpdGFsYnVtLnRwbCIpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJhbGJfaWQiLCAkaXRlbS0+aWQpOw0KCQlpZihpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPnBhcmVudCkpIGVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgIm9sZHBhcmVudCIsICRpdGVtLT5wYXJlbnQpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJhbGJfaXRlbV9vcmRlciIsICRpdGVtLT5pdGVtX29yZGVyKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCQ0KDQp9ZWxzZXsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdGFsYnVtIiwgJHJldHVybmlkKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImVkaXRhbGJ1bS50cGwiKTsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.editalb_.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQppZihpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkgfHwgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV9hbGJ1bSIpKSApew0KCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiIgPT4gImFsYnVtIik7DQoJaWYoIWlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJJG5ld3BhcmFtc1sibW9kdWxlX21lc3NhZ2UiXSA9ICR0aGlzLT5MYW5nKCJlcnJvcl9kZW5pZWQiKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCn0NCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KDQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgidXNlX2hpZXJhcmNoeSIsZmFsc2UpKXsNCgkkcGFyZW50b3B0aW9ucyA9ICR0aGlzLT5nZXRfYWRtaW5faGllcmFyY2h5b3B0aW9ucygiYWxidW0iLGZhbHNlKTsNCn1lbHNlew0KCSRwYXJlbnRvcHRpb25zID0gJHRoaXMtPmdldF9vcHRpb25zKCJjYXRlZ29yeSIpOw0KfQ0KDQppZihpc3NldCgkcGFyYW1zWyJhbGJfaWQiXSkpIHsNCgkvLyBpZiB3ZSBhcmUgd29ya2luZyBvbiBhbiBpdGVtIHRoYXQgZXhpc3RzLCB3ZSBsb2FkIGl0LiBXZSBtdXN0IGRvIHRoaXMgZXZlbiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgb3RoZXJ3aXNlIHdlIHdvbid0IGhhdmUgdGhlIGZpbGUgZmllbGRzDQoJJGl0ZW1zID0gJHRoaXMtPmdldF9sZXZlbF9hbGJ1bShhcnJheSgiaWQiPT4kcGFyYW1zWyJhbGJfaWQiXSkpOw0KCSRpdGVtID0gJGl0ZW1zWzBdOw0KfQ0KDQovLyBDSEVDSyBJRiBUSEUgRk9STSBJUyBCRUlORyBTVUJNSVRURUQgOg0KLy8gKHdlIG11c3QgZGV0ZWN0IGFsbCBraW5kcyBvZiBzdWJtaXQgYnV0dG9ucywgaW5jbHVkaW5nIGZpbGVzLCBzaW5jZSBpbmZvcm1hdGlvbiBtdXN0IGJlIHNhdmVkIGJlZm9yZSB3ZSBnbyB0byBmaWxlIHN1Ym1pc3Npb24pDQppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IA0KCWlzc2V0KCRwYXJhbXNbImFwcGx5Il0pIA0KCSkNCnsNCglkZWJ1Z19idWZmZXIoIkVkaXQgRm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQiLl9fTElORV9fKTsNCg0KCS8vIFJFVFJJRVZJTkcgVEhFIEZPUk0gVkFMVUVTIChhbmQgZXNjYXBpbmcgaXQsIGlmIG5lZWRlZCkNCglpZighaXNzZXQoJGl0ZW0pKSAkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCWlmKGlzc2V0KCRwYXJhbXNbImFsYl9pdGVtX29yZGVyIl0pKSAkaXRlbS0+aXRlbV9vcmRlciA9ICRwYXJhbXNbImFsYl9pdGVtX29yZGVyIl07DQoJJGl0ZW0tPmRlc2NyaXB0aW9uID0gJHBhcmFtc1siYWxiX2Rlc2NyaXB0aW9uIl07DQoJCSRpdGVtLT5sYW5nID0gJHBhcmFtc1siYWxiX2xhbmciXTsNCgkJJGl0ZW0tPmRlZmF1bHRfd2lkdGggPSAkcGFyYW1zWyJhbGJfZGVmYXVsdF93aWR0aCJdOw0KCQkkaXRlbS0+ZGVmYXVsdF9oZWlnaHQgPSAkcGFyYW1zWyJhbGJfZGVmYXVsdF9oZWlnaHQiXTsNCgkJJGl0ZW0tPnBhcmVudCA9ICRwYXJhbXNbImFsYl9wYXJlbnQiXTsNCgkJJGl0ZW0tPm5hbWUgPSAkcGFyYW1zWyJhbGJfbmFtZSJdOw0KCQkNCglpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZWRpdGFibGVfYWxpYXNlcyIsZmFsc2UpKXsNCgkJaWYoaXNzZXQoJHBhcmFtc1siYWxiX2FsaWFzIl0pKXsNCgkJCSR0bXBhbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKHRyaW0oJHBhcmFtc1siYWxiX2FsaWFzIl0pKTsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0bXBhbGlhcyA9PSAiIj8kdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk6JHRtcGFsaWFzOw0KCQl9ZWxzZXsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKCRpdGVtLT5uYW1lKTsNCgkJfQ0KCX1lbHNlew0KCQkkaXRlbS0+YWxpYXMgPSAkdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk7DQoJfQ0KCQ0KCSRhdXRvaW5jcmVtZW50YWxpYXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYXV0b2luY3JlbWVudF9hbGlhcyIsZmFsc2UpOw0KDQoJLy8gQ0hFQ0sgSUYgVEhFIE5FRURFRCBWQUxVRVMgQVJFIFRIRVJFDQoJaWYoCSFpc3NldCgkcGFyYW1zWyJhbGJfbGFuZyJdKSB8fCAkcGFyYW1zWyJhbGJfbGFuZyJdID09ICIiDQoJCSB8fCAhaXNzZXQoJHBhcmFtc1siYWxiX2RlZmF1bHRfd2lkdGgiXSkgfHwgJHBhcmFtc1siYWxiX2RlZmF1bHRfd2lkdGgiXSA9PSAiIg0KCQkgfHwgIWlzc2V0KCRwYXJhbXNbImFsYl9kZWZhdWx0X2hlaWdodCJdKSB8fCAkcGFyYW1zWyJhbGJfZGVmYXVsdF9oZWlnaHQiXSA9PSAiIg0KCQkgfHwgIWlzc2V0KCRwYXJhbXNbImFsYl9uYW1lIl0pIHx8ICRwYXJhbXNbImFsYl9uYW1lIl0gPT0gIiINCgkJICkNCgl7DQoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yX21pc3NnaW52YWx1ZSIpKTsNCgl9ZWxzZWlmKCEkYXV0b2luY3JlbWVudGFsaWFzICYmIGZhbHNlID09ICR0aGlzLT5jaGVja2FsaWFzKCJtb2R1bGVfSFZBX2FsYnVtIiwgJGl0ZW0tPmFsaWFzLCBpc3NldCgkcGFyYW1zWyJhbGJfaWQiXSk/JHBhcmFtc1siYWxiX2lkIl06ZmFsc2UpKXsNCgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZXJyb3JfYWxyZWFkeWV4aXN0cyIpKTsNCgl9ZWxzZXsNCgkJIyMjIyMjIyMjIyMjIERPSU5HIFRIRSBVUERBVEUNCg0KCQlpZigkYXV0b2luY3JlbWVudGFsaWFzKXsNCgkJCSRiYXNlYWxpYXMgPSAkaXRlbS0+YWxpYXM7DQoJCQkkdG1wYWxpYXMgPSAkaXRlbS0+YWxpYXM7DQoJCQkkaSA9IDE7DQoJCQl3aGlsZSghJHRoaXMtPmNoZWNrYWxpYXMoIm1vZHVsZV9IVkFfYWxidW0iLCAkdG1wYWxpYXMsIGlzc2V0KCRwYXJhbXNbImFsYl9pZCJdKT8kcGFyYW1zWyJhbGJfaWQiXTpmYWxzZSkpew0KCQkJCSR0bXBhbGlhcyA9ICRiYXNlYWxpYXMuIl8iLiRpOw0KCQkJCSRpKys7DQoJCQl9DQoJCQkkaXRlbS0+YWxpYXMgPSAkdG1wYWxpYXM7DQoJCX0NCg0KCQkvLyBGSUVMRFMgVE8gVVBEQVRFDQoJCSRxdWVyeSA9IChpc3NldCgkaXRlbS0+aWQpPyJVUERBVEUgIjoiSU5TRVJUIElOVE8gIikuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCANCgkJCWRlc2NyaXB0aW9uPT8sDQoJCQlsYW5nPT8sDQoJCQlkZWZhdWx0X3dpZHRoPT8sDQoJCQlkZWZhdWx0X2hlaWdodD0/LA0KCQkJcGFyZW50PT8sDQoJCQluYW1lPT8sDQoJCWFsaWFzPT8sDQoJCWRhdGVfbW9kaWZpZWQ9PywNCgkJYWN0aXZlPSIuKGlzc2V0KCRpdGVtLT5hY3RpdmUpPyRpdGVtLT5hY3RpdmU6MSkuIiwNCgkJaXNkZWZhdWx0PSIuKGlzc2V0KCRpdGVtLT5pc2RlZmF1bHQpPyRpdGVtLT5pc2RlZmF1bHQ6MCkuIiI7DQoJCQkNCgkJLy8gVkFMVUVTDQoJCSR2YWx1ZXMgPSBhcnJheShhZGRzbGFzaGVzKCRpdGVtLT5kZXNjcmlwdGlvbiksDQoJCQlhZGRzbGFzaGVzKCRpdGVtLT5sYW5nKSwNCgkJCSRpdGVtLT5kZWZhdWx0X3dpZHRoLA0KCQkJJGl0ZW0tPmRlZmF1bHRfaGVpZ2h0LA0KCQkJJGl0ZW0tPnBhcmVudCwNCgkJCWFkZHNsYXNoZXMoJGl0ZW0tPm5hbWUpLCRpdGVtLT5hbGlhcyxzdHJfcmVwbGFjZSgiJyIsIiIsJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpKSk7DQoNCgkJaWYoaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCQkkZXZlbnQgPSAiSFZBX21vZGlmaWVkIjsNCgkJCSRxdWVyeSAuPSAiIFdIRVJFIGlkPT87IjsNCgkJCWFycmF5X3B1c2goJHZhbHVlcywkaXRlbS0+aWQpOw0KCQl9ZWxzZXsNCgkJCS8vIE5FVyBJVEVNDQoJCQkkcXVlcnkgLj0gIiwgZGF0ZV9jcmVhdGVkPT8iOw0KCQkJJHZhbHVlc1tdID0gc3RyX3JlcGxhY2UoIiciLCIiLCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSk7DQoJCQkkZXZlbnQgPSAiSFZBX2FkZGVkIjsNCgkJCS8vIGdldCBhIG5ldyBpZCBmcm9tIHRoZSBzZXF1ZW5jZSB0YWJsZQ0KCQkJJGl0ZW0tPmlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW1fc2VxIik7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgibmV3aXRlbXNmaXJzdF9hbGJ1bSIsZmFsc2UpKXsNCgkJCQkvLyBuZXcgaXRlbXMgZ2V0IHRvIHRoZSB0b3AgLSBzbyB3ZSBtdXN0IHB1dCBhbGwgb3RoZXIgaXRlbXMgZG93biBmcm9tIG9uZSBzdGVwLCBhbmQgdGhlbiBzZXQgdGhpcyBpdGVtJ3Mgb3JkZXIgdG8gMQ0KCQkJCSRxdWVyeTIgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIHBhcmVudD0/IjsNCgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5MiwgYXJyYXkoJGl0ZW0tPnBhcmVudCkpOw0KCQkJCSRxdWVyeSAuPSAiLGl0ZW1fb3JkZXI9MSwgaWQ9Ii4kaXRlbS0+aWQ7DQoJCQl9ZWxzZXsNCgkJCQkvLyBuZXcgaXRlbXMgZ2V0IHRvIHRoZSBib3R0b20gLSBzbyB3ZSBtdXN0IHNldCB0aGUgaXRlbV9vcmRlciB0byB0aGUgbnVtYmVyIG9mIGl0ZW1zICsgMQ0KCQkJCSRpdGVtX29yZGVyID0gJHRoaXMtPmNvdW50c29tZXRoaW5nKCJhbGJ1bSIsImlkIixhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudCkpICsgMTsNCgkJCQkkcXVlcnkgLj0gIixpdGVtX29yZGVyPSIuJGl0ZW1fb3JkZXIuIiwgaWQ9Ii4kaXRlbS0+aWQ7DQoJCQl9DQoJCX0NCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7DQoNCglpZihpc3NldCgkcGFyYW1zWyJvbGRwYXJlbnQiXSkgJiYgJHBhcmFtc1sib2xkcGFyZW50Il0gIT0gJGl0ZW0tPnBhcmVudCl7DQoJCS8vIHRoZSBpdGVtIGlzIGNoYW5naW5nIHBhcmVudCwgYW5kIHdlJ3JlIG9yZGVyaW5nIGJ5IHBhcmVudHMNCgkJDQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJuZXdpdGVtc2ZpcnN0X2FsYnVtIixmYWxzZSkpew0KCQkJLy8gbmV3IGl0ZW1zIGdldCB0byB0aGUgdG9wDQoJCQkNCgkJCS8vIFVQREFURSBUSEUgT1JERVIgT0YgVEhFIElURU1TIFdJVEggVEhFIE9MRCBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaXRlbV9vcmRlciA+ID8gQU5EIHBhcmVudD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkcGFyYW1zWyJvbGRwYXJlbnQiXSkpOw0KCQkJLy8gR0VUIE5FVyBJVEVNIE9SREVSDQoJCQkkaXRlbS0+aXRlbV9vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygiYWxidW0iLCJpZCIsYXJyYXkoInBhcmVudCI9PiRpdGVtLT5wYXJlbnQpKSArIDE7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+aXRlbV9vcmRlciwgJGl0ZW0tPmlkKSk7DQoNCgkJfWVsc2V7DQoNCgkJCS8vIFVQREFURSBUSEUgT1JERVIgT0YgVEhFIElURU1TIFdJVEggVEhFIE9MRCBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaXRlbV9vcmRlciA+ID8gQU5EIHBhcmVudD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkcGFyYW1zWyJvbGRwYXJlbnQiXSkpOw0KCQkJLy8gVVBEQVRFIE5FVyBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkgV0hFUkUgcGFyZW50PT8iOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW0tPnBhcmVudCkpOw0KCQkJLy8gR0VUIE5FVyBJVEVNIE9SREVSDQoJCQkkaXRlbS0+aXRlbV9vcmRlciA9IDE7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+aXRlbV9vcmRlciwgJGl0ZW0tPmlkKSk7DQoJCQ0KCQl9DQoJfQ0KDQoJCSRyZWRpcmVjdCA9IHRydWU7DQoJCS8vaWYobXlzcWxfYWZmZWN0ZWRfcm93cygpKXsJLy8gbXlzcWwtb25seQ0KCQlpZigkZGItPkFmZmVjdGVkX1Jvd3MoKSl7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNobW9kdWxlX2luZGV4X2FsYnVtIixmYWxzZSkpew0KCQkJCS8vIElGIEFOWVRISU5HIFdBUyBNT0RJRklFRCwgV0UgTVVTVCBVUERBVEUgVEhFIFNFQVJDSCBJTkRFWCBBTkQgU0VORCBBTiBFVkVOVC4uLg0KCQkJCWlmKGlzc2V0KCRldmVudCkpCSR0aGlzLT5TZW5kRXZlbnQoJGV2ZW50LCBhcnJheSgid2hhdCI9PiJhbGJ1bSIsICJpdGVtaWQiID0+ICRpdGVtLT5pZCwgImFsaWFzIj0+JGl0ZW0tPmFsaWFzKSk7DQoJCQkJZGVidWdfYnVmZmVyKCJTRUFSSEMgSU5ERVggV0FTIFVQREFURUQgIi5fX0xJTkVfXyk7DQoJCQkJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoIlNlYXJjaCIpOw0KCQkJCWlmKCRtb2R1bGUpIHsNCgkJCQkJJHRleHQgPSAiJGl0ZW0tPmRlc2NyaXB0aW9uICRpdGVtLT5uYW1lIjsNCgkJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAiYWxidW0iLCAkdGV4dCwgTlVMTCk7DQoJCQkJfQ0KCQkJfQ0KCQl9ZWxzZWlmKG15c3FsX2Vycm9yKCkpew0KCQkJLy8gZG8gbm90IHJlZGlyZWN0IDoNCgkJCSRyZWRpcmVjdCA9IGZhbHNlOw0KCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsNCgkJfQ0KDQoJCS8vIFJFRElSRUNUSU5HLi4uDQoJCQlpZigkcmVkaXJlY3QgPT0gZmFsc2Upew0KCQkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJhcHBseSJdKSl7DQoJCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyYW1zID0gYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpLCAiYWN0aXZlX3RhYiI9PiJhbGJ1bSIpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRwYXJhbXMpOwkNCgkJCX0NCgl9DQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfQ0KDQoNCg0KLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUw0KQ3JlYXRlSW5wdXRUZXh0IDogKGlkLG5hbWUsdmFsdWUsc2l6ZSxtYXhsZW5ndGgpDQpDcmVhdGVUZXh0QXJlYSA6ICh3eXNpd3lnLGlkLHRleHQsbmFtZSkNCkNyZWF0ZUlucHV0U2VsZWN0TGlzdCA6IChpZCxuYW1lLGl0ZW1zLHNlbGVjdGVkaXRlbXMsc2l6ZSkNCkNyZWF0ZUlucHV0RHJvcGRvd24gOiAoaWQsbmFtZSxpdGVtcyxzaW5kZXgsc3ZhbHVlKQ0KKi8NCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9sYWJlbCIsICR0aGlzLT5MYW5nKCJhbGJ1bV9kZXNjcmlwdGlvbiIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVzY3JpcHRpb25faW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2Rlc2NyaXB0aW9uIixpc3NldCgkaXRlbSk/JGl0ZW0tPmRlc2NyaXB0aW9uOiIiLDUwLDI1NSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsYW5nX2xhYmVsIiwgJHRoaXMtPkxhbmcoImFsYnVtX2xhbmciKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhbmdfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2xhbmciLGlzc2V0KCRpdGVtKT8kaXRlbS0+bGFuZzoiIiwzMCwxMCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZWZhdWx0X3dpZHRoX2xhYmVsIiwgJHRoaXMtPkxhbmcoImFsYnVtX2RlZmF1bHRfd2lkdGgiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImRlZmF1bHRfd2lkdGhfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2RlZmF1bHRfd2lkdGgiLGlzc2V0KCRpdGVtKT8kaXRlbS0+ZGVmYXVsdF93aWR0aDoiIiwzMCwxMCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZWZhdWx0X2hlaWdodF9sYWJlbCIsICR0aGlzLT5MYW5nKCJhbGJ1bV9kZWZhdWx0X2hlaWdodCIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVmYXVsdF9oZWlnaHRfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2RlZmF1bHRfaGVpZ2h0Iixpc3NldCgkaXRlbSk/JGl0ZW0tPmRlZmF1bHRfaGVpZ2h0OiIiLDMwLDEwKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfbGFiZWwiLCAkdGhpcy0+TGFuZygibmFtZSIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJhbGJfbmFtZSIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5uYW1lOiIiLDUwLDY0KSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhcmVudF9sYWJlbCIsICR0aGlzLT5MYW5nKCJjYXRlZ29yeSIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigicGFyZW50X2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJhbGJfcGFyZW50IiwkcGFyZW50b3B0aW9ucywtMSxpc3NldCgkaXRlbSk/JGl0ZW0tPnBhcmVudDowKSk7aWYoaXNzZXQoJGl0ZW0pKSAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAib2xkcGFyZW50IiwgJGl0ZW0tPnBhcmVudCk7DQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZWRpdGFibGVfYWxpYXNlcyIsZmFsc2UpKXsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFsaWFzX2xhYmVsIiwgJHRoaXMtPkxhbmcoImFsaWFzIikpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWxpYXNfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiYWxiX2FsaWFzIixpc3NldCgkaXRlbSk/JGl0ZW0tPmFsaWFzOiIiLDUwLDY0KSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtYWxpYXMiLGZhbHNlKTsNCn1lbHNlew0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWFsaWFzIixpc3NldCgkaXRlbS0+YWxpYXMpPyIoYWxpYXMgOiAiLiRpdGVtLT5hbGlhcy4iKSI6ZmFsc2UpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWxpYXNfaW5wdXQiLCBmYWxzZSk7DQp9DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZWRpdHRpdGxlIiwgJHRoaXMtPkxhbmcoImVkaXRfYWxidW0iKSk7DQoNCiR0aGlzLT5zbWFydHktPmFzc2lnbigic3VibWl0IiwgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImFwcGx5IiwgKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKT8kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiYXBwbHkiLCBsYW5nKCJhcHBseSIpKToiIik7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImNhbmNlbCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJjYW5jZWwiLCBsYW5nKCJjYW5jZWwiKSkpOw0KDQoNCi8vIERJU1BMQVlJTkcNCmlmKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+aWQpKXsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRhbGJfIiwgJHJldHVybmlkKTsNCgkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJlZGl0YWxiXy50cGwiKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiYWxiX2lkIiwgJGl0ZW0tPmlkKTsNCgkJaWYoaXNzZXQoJGl0ZW0pICYmIGlzc2V0KCRpdGVtLT5wYXJlbnQpKSBlY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJvbGRwYXJlbnQiLCAkaXRlbS0+cGFyZW50KTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiYWxiX2l0ZW1fb3JkZXIiLCAkaXRlbS0+aXRlbV9vcmRlcik7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkNCg0KfWVsc2V7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRhbGJfIiwgJHJldHVybmlkKTsNCgllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImVkaXRhbGJfLnRwbCIpOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCn0NCj8+]]></data>
	</file>
	<file>
	  <filename>/action.editcategory.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQppZihpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkgfHwgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV9jYXRlZ29yeSIpKSApew0KCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiIgPT4gImNhdGVnb3J5Iik7DQoJaWYoIWlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJJG5ld3BhcmFtc1sibW9kdWxlX21lc3NhZ2UiXSA9ICR0aGlzLT5MYW5nKCJlcnJvcl9kZW5pZWQiKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCn0NCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KDQoNCmlmKGlzc2V0KCRwYXJhbXNbImNhdF9pZCJdKSkgew0KCS8vIGlmIHdlIGFyZSB3b3JraW5nIG9uIGFuIGl0ZW0gdGhhdCBleGlzdHMsIHdlIGxvYWQgaXQuIFdlIG11c3QgZG8gdGhpcyBldmVuIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkLCBvdGhlcndpc2Ugd2Ugd29uJ3QgaGF2ZSB0aGUgZmlsZSBmaWVsZHMNCgkkaXRlbXMgPSAkdGhpcy0+Z2V0X2xldmVsX2NhdGVnb3J5KGFycmF5KCJpZCI9PiRwYXJhbXNbImNhdF9pZCJdKSk7DQoJJGl0ZW0gPSAkaXRlbXNbMF07DQp9DQoNCi8vIENIRUNLIElGIFRIRSBGT1JNIElTIEJFSU5HIFNVQk1JVFRFRCA6DQovLyAod2UgbXVzdCBkZXRlY3QgYWxsIGtpbmRzIG9mIHN1Ym1pdCBidXR0b25zLCBpbmNsdWRpbmcgZmlsZXMsIHNpbmNlIGluZm9ybWF0aW9uIG11c3QgYmUgc2F2ZWQgYmVmb3JlIHdlIGdvIHRvIGZpbGUgc3VibWlzc2lvbikNCmlmIChpc3NldCgkcGFyYW1zWyJzdWJtaXQiXSkgfHwgDQoJaXNzZXQoJHBhcmFtc1siYXBwbHkiXSkgDQoJKQ0Kew0KCWRlYnVnX2J1ZmZlcigiRWRpdCBGb3JtIGhhcyBiZWVuIHN1Ym1pdHRlZCIuX19MSU5FX18pOw0KDQoJLy8gUkVUUklFVklORyBUSEUgRk9STSBWQUxVRVMgKGFuZCBlc2NhcGluZyBpdCwgaWYgbmVlZGVkKQ0KCWlmKCFpc3NldCgkaXRlbSkpICRpdGVtID0gbmV3IHN0ZENsYXNzKCk7DQoJaWYoaXNzZXQoJHBhcmFtc1siY2F0X2l0ZW1fb3JkZXIiXSkpICRpdGVtLT5pdGVtX29yZGVyID0gJHBhcmFtc1siY2F0X2l0ZW1fb3JkZXIiXTsNCgkkaXRlbS0+ZGVzY3JpcHRpb24gPSAkcGFyYW1zWyJjYXRfZGVzY3JpcHRpb24iXTsNCgkJJGl0ZW0tPm5hbWUgPSAkcGFyYW1zWyJjYXRfbmFtZSJdOw0KCQkNCglpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZWRpdGFibGVfYWxpYXNlcyIsZmFsc2UpKXsNCgkJaWYoaXNzZXQoJHBhcmFtc1siY2F0X2FsaWFzIl0pKXsNCgkJCSR0bXBhbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKHRyaW0oJHBhcmFtc1siY2F0X2FsaWFzIl0pKTsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0bXBhbGlhcyA9PSAiIj8kdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk6JHRtcGFsaWFzOw0KCQl9ZWxzZXsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKCRpdGVtLT5uYW1lKTsNCgkJfQ0KCX1lbHNlew0KCQkkaXRlbS0+YWxpYXMgPSAkdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk7DQoJfQ0KCQ0KCSRhdXRvaW5jcmVtZW50YWxpYXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYXV0b2luY3JlbWVudF9hbGlhcyIsZmFsc2UpOw0KDQoJLy8gQ0hFQ0sgSUYgVEhFIE5FRURFRCBWQUxVRVMgQVJFIFRIRVJFDQoJaWYoCSFpc3NldCgkcGFyYW1zWyJjYXRfbmFtZSJdKSB8fCAkcGFyYW1zWyJjYXRfbmFtZSJdID09ICIiDQoJCSApDQoJew0KCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCJlcnJvcl9taXNzZ2ludmFsdWUiKSk7DQoJfWVsc2VpZighJGF1dG9pbmNyZW1lbnRhbGlhcyAmJiBmYWxzZSA9PSAkdGhpcy0+Y2hlY2thbGlhcygibW9kdWxlX0hWQV9jYXRlZ29yeSIsICRpdGVtLT5hbGlhcywgaXNzZXQoJHBhcmFtc1siY2F0X2lkIl0pPyRwYXJhbXNbImNhdF9pZCJdOmZhbHNlKSl7DQoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yX2FscmVhZHlleGlzdHMiKSk7DQoJfWVsc2V7DQoJCSMjIyMjIyMjIyMjIyBET0lORyBUSEUgVVBEQVRFDQoNCgkJaWYoJGF1dG9pbmNyZW1lbnRhbGlhcyl7DQoJCQkkYmFzZWFsaWFzID0gJGl0ZW0tPmFsaWFzOw0KCQkJJHRtcGFsaWFzID0gJGl0ZW0tPmFsaWFzOw0KCQkJJGkgPSAxOw0KCQkJd2hpbGUoISR0aGlzLT5jaGVja2FsaWFzKCJtb2R1bGVfSFZBX2NhdGVnb3J5IiwgJHRtcGFsaWFzLCBpc3NldCgkcGFyYW1zWyJjYXRfaWQiXSk/JHBhcmFtc1siY2F0X2lkIl06ZmFsc2UpKXsNCgkJCQkkdG1wYWxpYXMgPSAkYmFzZWFsaWFzLiJfIi4kaTsNCgkJCQkkaSsrOw0KCQkJfQ0KCQkJJGl0ZW0tPmFsaWFzID0gJHRtcGFsaWFzOw0KCQl9DQoNCgkJLy8gRklFTERTIFRPIFVQREFURQ0KCQkkcXVlcnkgPSAoaXNzZXQoJGl0ZW0tPmlkKT8iVVBEQVRFICI6IklOU0VSVCBJTlRPICIpLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeSBTRVQgDQoJCQlkZXNjcmlwdGlvbj0/LA0KCQkJbmFtZT0/LA0KCQlhbGlhcz0/LA0KCQlkYXRlX21vZGlmaWVkPT8sDQoJCWFjdGl2ZT0iLihpc3NldCgkaXRlbS0+YWN0aXZlKT8kaXRlbS0+YWN0aXZlOjEpLiIsDQoJCWlzZGVmYXVsdD0iLihpc3NldCgkaXRlbS0+aXNkZWZhdWx0KT8kaXRlbS0+aXNkZWZhdWx0OjApLiIiOw0KCQkJDQoJCS8vIFZBTFVFUw0KCQkkdmFsdWVzID0gYXJyYXkoYWRkc2xhc2hlcygkaXRlbS0+ZGVzY3JpcHRpb24pLA0KCQkJYWRkc2xhc2hlcygkaXRlbS0+bmFtZSksJGl0ZW0tPmFsaWFzLHN0cl9yZXBsYWNlKCInIiwiIiwkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkpKTsNCg0KCQlpZihpc3NldCgkaXRlbS0+aWQpKXsNCgkJCSRldmVudCA9ICJIVkFfbW9kaWZpZWQiOw0KCQkJJHF1ZXJ5IC49ICIgV0hFUkUgaWQ9PzsiOw0KCQkJYXJyYXlfcHVzaCgkdmFsdWVzLCRpdGVtLT5pZCk7DQoJCX1lbHNlew0KCQkJLy8gTkVXIElURU0NCgkJCSRxdWVyeSAuPSAiLCBkYXRlX2NyZWF0ZWQ9PyI7DQoJCQkkdmFsdWVzW10gPSBzdHJfcmVwbGFjZSgiJyIsIiIsJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpKTsNCgkJCSRldmVudCA9ICJIVkFfYWRkZWQiOw0KCQkJLy8gZ2V0IGEgbmV3IGlkIGZyb20gdGhlIHNlcXVlbmNlIHRhYmxlDQoJCQkkaXRlbS0+aWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeV9zZXEiKTsNCgkJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJuZXdpdGVtc2ZpcnN0X2NhdGVnb3J5IixmYWxzZSkpew0KCQkJCS8vIG5ldyBpdGVtcyBnZXQgdG8gdGhlIHRvcCAtIHNvIHdlIG11c3QgcHV0IGFsbCBvdGhlciBpdGVtcyBkb3duIGZyb20gb25lIHN0ZXAsIGFuZCB0aGVuIHNldCB0aGlzIGl0ZW0ncyBvcmRlciB0byAxDQoJCQkJJHF1ZXJ5MiA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfY2F0ZWdvcnkgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkiOw0KCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnkyKTsNCgkJCQkkcXVlcnkgLj0gIixpdGVtX29yZGVyPTEsIGlkPSIuJGl0ZW0tPmlkOw0KCQkJfWVsc2V7DQoJCQkJLy8gbmV3IGl0ZW1zIGdldCB0byB0aGUgYm90dG9tIC0gc28gd2UgbXVzdCBzZXQgdGhlIGl0ZW1fb3JkZXIgdG8gdGhlIG51bWJlciBvZiBpdGVtcyArIDENCgkJCQkkaXRlbV9vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygiY2F0ZWdvcnkiKSArIDE7DQoJCQkJJHF1ZXJ5IC49ICIsaXRlbV9vcmRlcj0iLiRpdGVtX29yZGVyLiIsIGlkPSIuJGl0ZW0tPmlkOw0KCQkJfQ0KCQl9DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOw0KDQoJCSRyZWRpcmVjdCA9IHRydWU7DQoJCS8vaWYobXlzcWxfYWZmZWN0ZWRfcm93cygpKXsJLy8gbXlzcWwtb25seQ0KCQlpZigkZGItPkFmZmVjdGVkX1Jvd3MoKSl7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNobW9kdWxlX2luZGV4X2NhdGVnb3J5IixmYWxzZSkpew0KCQkJCS8vIElGIEFOWVRISU5HIFdBUyBNT0RJRklFRCwgV0UgTVVTVCBVUERBVEUgVEhFIFNFQVJDSCBJTkRFWCBBTkQgU0VORCBBTiBFVkVOVC4uLg0KCQkJCWlmKGlzc2V0KCRldmVudCkpCSR0aGlzLT5TZW5kRXZlbnQoJGV2ZW50LCBhcnJheSgid2hhdCI9PiJjYXRlZ29yeSIsICJpdGVtaWQiID0+ICRpdGVtLT5pZCwgImFsaWFzIj0+JGl0ZW0tPmFsaWFzKSk7DQoJCQkJZGVidWdfYnVmZmVyKCJTRUFSSEMgSU5ERVggV0FTIFVQREFURUQgIi5fX0xJTkVfXyk7DQoJCQkJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoIlNlYXJjaCIpOw0KCQkJCWlmKCRtb2R1bGUpIHsNCgkJCQkJJHRleHQgPSAiJGl0ZW0tPmRlc2NyaXB0aW9uICRpdGVtLT5uYW1lIjsNCgkJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAiY2F0ZWdvcnkiLCAkdGV4dCwgTlVMTCk7DQoJCQkJfQ0KCQkJfQ0KCQl9ZWxzZWlmKG15c3FsX2Vycm9yKCkpew0KCQkJLy8gZG8gbm90IHJlZGlyZWN0IDoNCgkJCSRyZWRpcmVjdCA9IGZhbHNlOw0KCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsNCgkJfQ0KDQoJCS8vIFJFRElSRUNUSU5HLi4uDQoJCQlpZigkcmVkaXJlY3QgPT0gZmFsc2Upew0KCQkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJhcHBseSJdKSl7DQoJCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyYW1zID0gYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpLCAiYWN0aXZlX3RhYiI9PiJjYXRlZ29yeSIpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRwYXJhbXMpOwkNCgkJCX0NCgl9DQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfQ0KDQoNCg0KLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUw0KQ3JlYXRlSW5wdXRUZXh0IDogKGlkLG5hbWUsdmFsdWUsc2l6ZSxtYXhsZW5ndGgpDQpDcmVhdGVUZXh0QXJlYSA6ICh3eXNpd3lnLGlkLHRleHQsbmFtZSkNCkNyZWF0ZUlucHV0U2VsZWN0TGlzdCA6IChpZCxuYW1lLGl0ZW1zLHNlbGVjdGVkaXRlbXMsc2l6ZSkNCkNyZWF0ZUlucHV0RHJvcGRvd24gOiAoaWQsbmFtZSxpdGVtcyxzaW5kZXgsc3ZhbHVlKQ0KKi8NCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9sYWJlbCIsICR0aGlzLT5MYW5nKCJjYXRlZ29yeV9kZXNjcmlwdGlvbiIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVzY3JpcHRpb25faW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiY2F0X2Rlc2NyaXB0aW9uIixpc3NldCgkaXRlbSk/JGl0ZW0tPmRlc2NyaXB0aW9uOiIiLDUwLDI1NSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJuYW1lX2xhYmVsIiwgJHRoaXMtPkxhbmcoIm5hbWUiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiY2F0X25hbWUiLGlzc2V0KCRpdGVtKT8kaXRlbS0+bmFtZToiIiw1MCw2NCkpOw0KaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoImVkaXRhYmxlX2FsaWFzZXMiLGZhbHNlKSl7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhbGlhc19sYWJlbCIsICR0aGlzLT5MYW5nKCJhbGlhcyIpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFsaWFzX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsImNhdF9hbGlhcyIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5hbGlhczoiIiw1MCw2NCkpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWFsaWFzIixmYWxzZSk7DQp9ZWxzZXsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1hbGlhcyIsaXNzZXQoJGl0ZW0tPmFsaWFzKT8iKGFsaWFzIDogIi4kaXRlbS0+YWxpYXMuIikiOmZhbHNlKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFsaWFzX2lucHV0IiwgZmFsc2UpOw0KfQ0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImVkaXR0aXRsZSIsICR0aGlzLT5MYW5nKCJlZGl0X2NhdGVnb3J5IikpOw0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhcHBseSIsIChpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSk/JHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImFwcGx5IiwgbGFuZygiYXBwbHkiKSk6IiIpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJjYW5jZWwiLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpKTsNCg0KDQovLyBESVNQTEFZSU5HDQppZihpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0Y2F0ZWdvcnkiLCAkcmV0dXJuaWQpOw0KCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImVkaXRjYXRlZ29yeS50cGwiKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiY2F0X2lkIiwgJGl0ZW0tPmlkKTsNCgkJaWYoaXNzZXQoJGl0ZW0pICYmIGlzc2V0KCRpdGVtLT5wYXJlbnQpKSBlY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJvbGRwYXJlbnQiLCAkaXRlbS0+cGFyZW50KTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAiY2F0X2l0ZW1fb3JkZXIiLCAkaXRlbS0+aXRlbV9vcmRlcik7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkNCg0KfWVsc2V7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXRjYXRlZ29yeSIsICRyZXR1cm5pZCk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJlZGl0Y2F0ZWdvcnkudHBsIik7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.editcat_.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQppZihpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkgfHwgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV9jYXRlZ29yeSIpKSApew0KCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiIgPT4gImNhdGVnb3J5Iik7DQoJaWYoIWlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJJG5ld3BhcmFtc1sibW9kdWxlX21lc3NhZ2UiXSA9ICR0aGlzLT5MYW5nKCJlcnJvcl9kZW5pZWQiKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCn0NCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KDQoNCmlmKGlzc2V0KCRwYXJhbXNbImNhdF9pZCJdKSkgew0KCS8vIGlmIHdlIGFyZSB3b3JraW5nIG9uIGFuIGl0ZW0gdGhhdCBleGlzdHMsIHdlIGxvYWQgaXQuIFdlIG11c3QgZG8gdGhpcyBldmVuIHdoZW4gdGhlIGZvcm0gaXMgc3VibWl0dGVkLCBvdGhlcndpc2Ugd2Ugd29uJ3QgaGF2ZSB0aGUgZmlsZSBmaWVsZHMNCgkkaXRlbXMgPSAkdGhpcy0+Z2V0X2xldmVsX2NhdGVnb3J5KGFycmF5KCJpZCI9PiRwYXJhbXNbImNhdF9pZCJdKSk7DQoJJGl0ZW0gPSAkaXRlbXNbMF07DQp9DQoNCi8vIENIRUNLIElGIFRIRSBGT1JNIElTIEJFSU5HIFNVQk1JVFRFRCA6DQovLyAod2UgbXVzdCBkZXRlY3QgYWxsIGtpbmRzIG9mIHN1Ym1pdCBidXR0b25zLCBpbmNsdWRpbmcgZmlsZXMsIHNpbmNlIGluZm9ybWF0aW9uIG11c3QgYmUgc2F2ZWQgYmVmb3JlIHdlIGdvIHRvIGZpbGUgc3VibWlzc2lvbikNCmlmIChpc3NldCgkcGFyYW1zWyJzdWJtaXQiXSkgfHwgDQoJaXNzZXQoJHBhcmFtc1siYXBwbHkiXSkgDQoJKQ0Kew0KCWRlYnVnX2J1ZmZlcigiRWRpdCBGb3JtIGhhcyBiZWVuIHN1Ym1pdHRlZCIuX19MSU5FX18pOw0KDQoJLy8gUkVUUklFVklORyBUSEUgRk9STSBWQUxVRVMgKGFuZCBlc2NhcGluZyBpdCwgaWYgbmVlZGVkKQ0KCWlmKCFpc3NldCgkaXRlbSkpICRpdGVtID0gbmV3IHN0ZENsYXNzKCk7DQoJaWYoaXNzZXQoJHBhcmFtc1siY2F0X2l0ZW1fb3JkZXIiXSkpICRpdGVtLT5pdGVtX29yZGVyID0gJHBhcmFtc1siY2F0X2l0ZW1fb3JkZXIiXTsNCgkkaXRlbS0+ZGVzY3JpcHRpb24gPSAkcGFyYW1zWyJjYXRfZGVzY3JpcHRpb24iXTsNCgkJJGl0ZW0tPm5hbWUgPSAkcGFyYW1zWyJjYXRfbmFtZSJdOw0KCQkNCglpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZWRpdGFibGVfYWxpYXNlcyIsZmFsc2UpKXsNCgkJaWYoaXNzZXQoJHBhcmFtc1siY2F0X2FsaWFzIl0pKXsNCgkJCSR0bXBhbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKHRyaW0oJHBhcmFtc1siY2F0X2FsaWFzIl0pKTsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0bXBhbGlhcyA9PSAiIj8kdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk6JHRtcGFsaWFzOw0KCQl9ZWxzZXsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKCRpdGVtLT5uYW1lKTsNCgkJfQ0KCX1lbHNlew0KCQkkaXRlbS0+YWxpYXMgPSAkdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk7DQoJfQ0KCQ0KCSRhdXRvaW5jcmVtZW50YWxpYXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYXV0b2luY3JlbWVudF9hbGlhcyIsZmFsc2UpOw0KDQoJLy8gQ0hFQ0sgSUYgVEhFIE5FRURFRCBWQUxVRVMgQVJFIFRIRVJFDQoJaWYoCSFpc3NldCgkcGFyYW1zWyJjYXRfbmFtZSJdKSB8fCAkcGFyYW1zWyJjYXRfbmFtZSJdID09ICIiDQoJCSApDQoJew0KCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCJlcnJvcl9taXNzZ2ludmFsdWUiKSk7DQoJfWVsc2VpZighJGF1dG9pbmNyZW1lbnRhbGlhcyAmJiBmYWxzZSA9PSAkdGhpcy0+Y2hlY2thbGlhcygibW9kdWxlX0hWQV9jYXRlZ29yeSIsICRpdGVtLT5hbGlhcywgaXNzZXQoJHBhcmFtc1siY2F0X2lkIl0pPyRwYXJhbXNbImNhdF9pZCJdOmZhbHNlKSl7DQoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yX2FscmVhZHlleGlzdHMiKSk7DQoJfWVsc2V7DQoJCSMjIyMjIyMjIyMjIyBET0lORyBUSEUgVVBEQVRFDQoNCgkJaWYoJGF1dG9pbmNyZW1lbnRhbGlhcyl7DQoJCQkkYmFzZWFsaWFzID0gJGl0ZW0tPmFsaWFzOw0KCQkJJHRtcGFsaWFzID0gJGl0ZW0tPmFsaWFzOw0KCQkJJGkgPSAxOw0KCQkJd2hpbGUoISR0aGlzLT5jaGVja2FsaWFzKCJtb2R1bGVfSFZBX2NhdGVnb3J5IiwgJHRtcGFsaWFzLCBpc3NldCgkcGFyYW1zWyJjYXRfaWQiXSk/JHBhcmFtc1siY2F0X2lkIl06ZmFsc2UpKXsNCgkJCQkkdG1wYWxpYXMgPSAkYmFzZWFsaWFzLiJfIi4kaTsNCgkJCQkkaSsrOw0KCQkJfQ0KCQkJJGl0ZW0tPmFsaWFzID0gJHRtcGFsaWFzOw0KCQl9DQoNCgkJLy8gRklFTERTIFRPIFVQREFURQ0KCQkkcXVlcnkgPSAoaXNzZXQoJGl0ZW0tPmlkKT8iVVBEQVRFICI6IklOU0VSVCBJTlRPICIpLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeSBTRVQgDQoJCQlkZXNjcmlwdGlvbj0/LA0KCQkJbmFtZT0/LA0KCQlhbGlhcz0/LA0KCQlkYXRlX21vZGlmaWVkPT8sDQoJCWFjdGl2ZT0iLihpc3NldCgkaXRlbS0+YWN0aXZlKT8kaXRlbS0+YWN0aXZlOjEpLiIsDQoJCWlzZGVmYXVsdD0iLihpc3NldCgkaXRlbS0+aXNkZWZhdWx0KT8kaXRlbS0+aXNkZWZhdWx0OjApLiIiOw0KCQkJDQoJCS8vIFZBTFVFUw0KCQkkdmFsdWVzID0gYXJyYXkoYWRkc2xhc2hlcygkaXRlbS0+ZGVzY3JpcHRpb24pLA0KCQkJYWRkc2xhc2hlcygkaXRlbS0+bmFtZSksJGl0ZW0tPmFsaWFzLHN0cl9yZXBsYWNlKCInIiwiIiwkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkpKTsNCg0KCQlpZihpc3NldCgkaXRlbS0+aWQpKXsNCgkJCSRldmVudCA9ICJIVkFfbW9kaWZpZWQiOw0KCQkJJHF1ZXJ5IC49ICIgV0hFUkUgaWQ9PzsiOw0KCQkJYXJyYXlfcHVzaCgkdmFsdWVzLCRpdGVtLT5pZCk7DQoJCX1lbHNlew0KCQkJLy8gTkVXIElURU0NCgkJCSRxdWVyeSAuPSAiLCBkYXRlX2NyZWF0ZWQ9PyI7DQoJCQkkdmFsdWVzW10gPSBzdHJfcmVwbGFjZSgiJyIsIiIsJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpKTsNCgkJCSRldmVudCA9ICJIVkFfYWRkZWQiOw0KCQkJLy8gZ2V0IGEgbmV3IGlkIGZyb20gdGhlIHNlcXVlbmNlIHRhYmxlDQoJCQkkaXRlbS0+aWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeV9zZXEiKTsNCgkJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJuZXdpdGVtc2ZpcnN0X2NhdGVnb3J5IixmYWxzZSkpew0KCQkJCS8vIG5ldyBpdGVtcyBnZXQgdG8gdGhlIHRvcCAtIHNvIHdlIG11c3QgcHV0IGFsbCBvdGhlciBpdGVtcyBkb3duIGZyb20gb25lIHN0ZXAsIGFuZCB0aGVuIHNldCB0aGlzIGl0ZW0ncyBvcmRlciB0byAxDQoJCQkJJHF1ZXJ5MiA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfY2F0ZWdvcnkgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkiOw0KCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnkyKTsNCgkJCQkkcXVlcnkgLj0gIixpdGVtX29yZGVyPTEsIGlkPSIuJGl0ZW0tPmlkOw0KCQkJfWVsc2V7DQoJCQkJLy8gbmV3IGl0ZW1zIGdldCB0byB0aGUgYm90dG9tIC0gc28gd2UgbXVzdCBzZXQgdGhlIGl0ZW1fb3JkZXIgdG8gdGhlIG51bWJlciBvZiBpdGVtcyArIDENCgkJCQkkaXRlbV9vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygiY2F0ZWdvcnkiKSArIDE7DQoJCQkJJHF1ZXJ5IC49ICIsaXRlbV9vcmRlcj0iLiRpdGVtX29yZGVyLiIsIGlkPSIuJGl0ZW0tPmlkOw0KCQkJfQ0KCQl9DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksICR2YWx1ZXMpOw0KDQoJCSRyZWRpcmVjdCA9IHRydWU7DQoJCS8vaWYobXlzcWxfYWZmZWN0ZWRfcm93cygpKXsJLy8gbXlzcWwtb25seQ0KCQlpZigkZGItPkFmZmVjdGVkX1Jvd3MoKSl7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNobW9kdWxlX2luZGV4X2NhdGVnb3J5IixmYWxzZSkpew0KCQkJCS8vIElGIEFOWVRISU5HIFdBUyBNT0RJRklFRCwgV0UgTVVTVCBVUERBVEUgVEhFIFNFQVJDSCBJTkRFWCBBTkQgU0VORCBBTiBFVkVOVC4uLg0KCQkJCWlmKGlzc2V0KCRldmVudCkpCSR0aGlzLT5TZW5kRXZlbnQoJGV2ZW50LCBhcnJheSgid2hhdCI9PiJjYXRlZ29yeSIsICJpdGVtaWQiID0+ICRpdGVtLT5pZCwgImFsaWFzIj0+JGl0ZW0tPmFsaWFzKSk7DQoJCQkJZGVidWdfYnVmZmVyKCJTRUFSSEMgSU5ERVggV0FTIFVQREFURUQgIi5fX0xJTkVfXyk7DQoJCQkJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoIlNlYXJjaCIpOw0KCQkJCWlmKCRtb2R1bGUpIHsNCgkJCQkJJHRleHQgPSAiJGl0ZW0tPmRlc2NyaXB0aW9uICRpdGVtLT5uYW1lIjsNCgkJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAiY2F0ZWdvcnkiLCAkdGV4dCwgTlVMTCk7DQoJCQkJfQ0KCQkJfQ0KCQl9ZWxzZWlmKG15c3FsX2Vycm9yKCkpew0KCQkJLy8gZG8gbm90IHJlZGlyZWN0IDoNCgkJCSRyZWRpcmVjdCA9IGZhbHNlOw0KCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsNCgkJfQ0KDQoJCS8vIFJFRElSRUNUSU5HLi4uDQoJCQlpZigkcmVkaXJlY3QgPT0gZmFsc2Upew0KCQkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJhcHBseSJdKSl7DQoJCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyYW1zID0gYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpLCAiYWN0aXZlX3RhYiI9PiJjYXRlZ29yeSIpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRwYXJhbXMpOwkNCgkJCX0NCgl9DQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfQ0KDQoNCg0KLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUw0KQ3JlYXRlSW5wdXRUZXh0IDogKGlkLG5hbWUsdmFsdWUsc2l6ZSxtYXhsZW5ndGgpDQpDcmVhdGVUZXh0QXJlYSA6ICh3eXNpd3lnLGlkLHRleHQsbmFtZSkNCkNyZWF0ZUlucHV0U2VsZWN0TGlzdCA6IChpZCxuYW1lLGl0ZW1zLHNlbGVjdGVkaXRlbXMsc2l6ZSkNCkNyZWF0ZUlucHV0RHJvcGRvd24gOiAoaWQsbmFtZSxpdGVtcyxzaW5kZXgsc3ZhbHVlKQ0KKi8NCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9sYWJlbCIsICR0aGlzLT5MYW5nKCJjYXRlZ29yeV9kZXNjcmlwdGlvbiIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVzY3JpcHRpb25faW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiY2F0X2Rlc2NyaXB0aW9uIixpc3NldCgkaXRlbSk/JGl0ZW0tPmRlc2NyaXB0aW9uOiIiLDUwLDI1NSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJuYW1lX2xhYmVsIiwgJHRoaXMtPkxhbmcoIm5hbWUiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiY2F0X25hbWUiLGlzc2V0KCRpdGVtKT8kaXRlbS0+bmFtZToiIiw1MCw2NCkpOw0KaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoImVkaXRhYmxlX2FsaWFzZXMiLGZhbHNlKSl7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhbGlhc19sYWJlbCIsICR0aGlzLT5MYW5nKCJhbGlhcyIpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFsaWFzX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsImNhdF9hbGlhcyIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5hbGlhczoiIiw1MCw2NCkpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWFsaWFzIixmYWxzZSk7DQp9ZWxzZXsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1hbGlhcyIsaXNzZXQoJGl0ZW0tPmFsaWFzKT8iKGFsaWFzIDogIi4kaXRlbS0+YWxpYXMuIikiOmZhbHNlKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFsaWFzX2lucHV0IiwgZmFsc2UpOw0KfQ0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImVkaXR0aXRsZSIsICR0aGlzLT5MYW5nKCJlZGl0X2NhdGVnb3J5IikpOw0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhcHBseSIsIChpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSk/JHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImFwcGx5IiwgbGFuZygiYXBwbHkiKSk6IiIpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJjYW5jZWwiLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpKTsNCg0KDQovLyBESVNQTEFZSU5HDQppZihpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0Y2F0XyIsICRyZXR1cm5pZCk7DQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiZWRpdGNhdF8udHBsIik7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImNhdF9pZCIsICRpdGVtLT5pZCk7DQoJCWlmKGlzc2V0KCRpdGVtKSAmJiBpc3NldCgkaXRlbS0+cGFyZW50KSkgZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAib2xkcGFyZW50IiwgJGl0ZW0tPnBhcmVudCk7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImNhdF9pdGVtX29yZGVyIiwgJGl0ZW0tPml0ZW1fb3JkZXIpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQoJDQoNCn1lbHNlew0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0Y2F0XyIsICRyZXR1cm5pZCk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJlZGl0Y2F0Xy50cGwiKTsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.editTemplate.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQppZiggaXNzZXQoJHBhcmFtc1snY2FuY2VsJ10pICkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgYXJyYXkoJ2FjdGl2ZV90YWInPT4ndGVtcGxhdGVzJykgKTsNCg0KJHRwbGNvbnRlbnQgPSAnJzsNCmlmKCAoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSB8fCBpc3NldCgkcGFyYW1zWydhcHBseSddKSApICYmIGlzc2V0KCRwYXJhbXNbJ3RwbG5hbWUnXSkgKXsNCglpZigkcGFyYW1zWyd0cGxuYW1lJ10gIT0gJycpew0KCQlpZihpc3NldCgkcGFyYW1zWydpc25ldyddKSkJJHBhcmFtc1sndHBsbmFtZSddID0gbXVuZ2Vfc3RyaW5nX3RvX3VybCgkcGFyYW1zWyd0cGxuYW1lJ10sIGZhbHNlKTsNCgkJJHRwbGNvbnRlbnQgPSAkcGFyYW1zWyd0cGxjb250ZW50J107DQoJCWlmKCR0aGlzLT5TZXRUZW1wbGF0ZSgkcGFyYW1zWyd0cGxuYW1lJ10sJHBhcmFtc1sndHBsY29udGVudCddLCR0aGlzLT5HZXROYW1lKCkpKTsNCgkJaWYoaXNzZXQoJHBhcmFtc1snc3VibWl0J10pKXsNCgkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCJtb2R1bGVfbWVzc2FnZSIgPT4gJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSwgJ2FjdGl2ZV90YWInPT4ndGVtcGxhdGVzJykgKTsNCgkJfWVsc2V7DQoJCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKTsNCgkJfQ0KCX1lbHNlew0KCQllY2hvICc8ZGl2IGNsYXNzPSJwYWdlZXJyb3Jjb250YWluZXIiPicuJHRoaXMtPkxhbmcoJ2Vycm9yX21pc3NnaW52YWx1ZScpLic8L2Rpdj4nOw0KCX0NCn1lbHNlaWYoIGlzc2V0KCRwYXJhbXNbJ3RwbG5hbWUnXSkgKXsNCgkkdHBsY29udGVudCA9ICR0aGlzLT5HZXRUZW1wbGF0ZSggJHBhcmFtc1sndHBsbmFtZSddLCAkdGhpcy0+R2V0TmFtZSgpICk7DQp9DQoNCmVjaG8gJHRoaXMtPlN0YXJ0VGFiSGVhZGVycygpOw0KCWVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigidGVtcGxhdGUiLCAkdGhpcy0+TGFuZygidGVtcGxhdGUiKSwgdHJ1ZSk7DQoJZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCJoZWxwdGFiIiwgJHRoaXMtPkxhbmcoInRlbXBsYXRldmFycyIpLCBmYWxzZSk7CQkNCmVjaG8gJHRoaXMtPkVuZFRhYkhlYWRlcnMoKTsNCg0KZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7DQoNCgllY2hvICR0aGlzLT5TdGFydFRhYigidGVtcGxhdGUiKTsNCgkJZWNobyAnPGgxPicuJHRoaXMtPkxhbmcoImVkaXR0ZW1wbGF0ZSIpLic8L2gxPic7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0VGVtcGxhdGUiLCAkcmV0dXJuaWQpOw0KCQkvL2VjaG8gJzxwPicuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKS4nICcuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImFwcGx5IiwgbGFuZygiYXBwbHkiKSkuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJjYW5jZWwiLCBsYW5nKCJjYW5jZWwiKSkuJzwvcD48YnIvPjxici8+JzsNCgkJZWNobyAnCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCQkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij4nLiR0aGlzLT5MYW5nKCduYW1lJykuJyA6PC9wPg0KCQkJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPic7DQoJCWlmKGlzc2V0KCRwYXJhbXNbJ3RwbG5hbWUnXSkgJiYgJHBhcmFtc1sndHBsbmFtZSddICE9ICcnKXsNCgkJICAgIGVjaG8gJHBhcmFtc1sndHBsbmFtZSddLiR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ0cGxuYW1lIiwgJHBhcmFtc1sndHBsbmFtZSddKTsNCgkJfWVsc2V7DQoJCSAgICBlY2hvICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCd0cGxuYW1lJywnJywzMCw2NCk7DQoJCX0NCgkJZWNobyAnPC9wPg0KCQkgICAgPC9kaXY+DQoJCSc7DQoJCWVjaG8gJwk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQkJCTxwIGNsYXNzPSJwYWdldGV4dCI+Jy4kdGhpcy0+TGFuZygndGVtcGxhdGUnKS4nIDo8L3A+DQoJCQkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+Jy4kdGhpcy0+Q3JlYXRlVGV4dEFyZWEoZmFsc2UsJGlkLCR0cGxjb250ZW50LCd0cGxjb250ZW50JykuJzwvcD4NCgkJICAgIDwvZGl2Pg0KCQknOw0KCQllY2hvICc8cD4nLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJhcHBseSIsIGxhbmcoImFwcGx5IikpLicgJy4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpLic8L3A+JzsNCgkJaWYoIWlzc2V0KCRwYXJhbXNbInRwbG5hbWUiXSkgfHwgJHBhcmFtc1sidHBsbmFtZSJdID09ICcnKQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJpc25ldyIsICJ5ZXMiKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCWVjaG8gJHRoaXMtPkVuZFRhYigpOw0KDQoJZWNobyAkdGhpcy0+U3RhcnRUYWIoImhlbHB0YWIiKTsNCgkkZm49ZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nbGFuZycuRElSRUNUT1JZX1NFUEFSQVRPUi4kdGhpcy0+TGFuZygidGVtcGxhdGVoZWxwZmlsZSIpOw0KCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQoJCSR0ZW1wbGF0ZWhlbHAgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCgl9IGVsc2Ugew0KCQllY2hvICI8cD5maWxlICIuRElSRUNUT1JZX1NFUEFSQVRPUi4nbGFuZycuRElSRUNUT1JZX1NFUEFSQVRPUi4kdGhpcy0+TGFuZygidGVtcGxhdGVoZWxwZmlsZSIpLiIgbm90IGZvdW5kPC9wPiI7DQoJCS8vIHRyeSB3aXRoIGVuZ2xpc2ggaGVscCAtIGhhcmRjb2RlZA0KCQkkZm49ZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nbGFuZycuRElSRUNUT1JZX1NFUEFSQVRPUi4idGhlbHBfZW5fVVMuaHRtbCI7DQoJCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQoJCQkkdGVtcGxhdGVoZWxwID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJCX0gZWxzZSB7DQoJCQkkdGVtcGxhdGVoZWxwID0gImhlbHAgbm90IGZvdW5kIjsNCgkJfQ0KCX0NCgllY2hvICc8ZGl2IGlkPSJ0ZW1wbGF0ZWhlbHAiPicuJHRlbXBsYXRlaGVscC4nPC9kaXY+JzsNCgkJZWNobyAnDQo8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQoJZnVuY3Rpb24gY3RsbW1fZGlzcGxheXRvZ2dsZShlbGUpew0KCQlpZighZWxlIHx8ICFlbGUucGFyZW50Tm9kZSkJcmV0dXJuIGZhbHNlOw0KCQl2YXIgdGhlZGl2ID0gZWxlLnBhcmVudE5vZGUuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpWzBdOw0KCQlpZighdGhlZGl2KQlyZXR1cm4gZmFsc2U7DQoJCWlmKHRoZWRpdi5zdHlsZS5kaXNwbGF5ID09ICJub25lIil7DQoJCQl0aGVkaXYuc3R5bGUuZGlzcGxheSA9ICJibG9jayI7DQoJCQllbGUuaW5uZXJIVE1MID0gIlYiICsgZWxlLmlubmVySFRNTC5zdWJzdHIoNCk7DQoJCX1lbHNlew0KCQkJdGhlZGl2LnN0eWxlLmRpc3BsYXkgPSAibm9uZSI7DQoJCQllbGUuaW5uZXJIVE1MID0gIiZndDsiICsgZWxlLmlubmVySFRNTC5zdWJzdHIoMSk7DQoJCX0NCgl9DQoJdmFyIHRoZWRpdnMgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVtcGxhdGVoZWxwIikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImRpdiIpOw0KCWZvcihpPTA7aTx0aGVkaXZzLmxlbmd0aDtpKyspew0KCQlpZih0aGVkaXZzW2ldLmNsYXNzTmFtZSA9PSAidHBsdmFyc19oaWRlIikJdGhlZGl2c1tpXS5zdHlsZS5kaXNwbGF5ID0gIm5vbmUiOw0KCX0NCjwvc2NyaXB0Pg0KJzsNCgllY2hvICR0aGlzLT5FbmRUYWIoKTsNCg0KZWNobyAkdGhpcy0+RW5kVGFiQ29udGVudCgpOw0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/action.editvideo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQppZihpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkgfHwgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV92aWRlbyIpKSApew0KCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiIgPT4gInZpZGVvIik7DQoJaWYoIWlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJJG5ld3BhcmFtc1sibW9kdWxlX21lc3NhZ2UiXSA9ICR0aGlzLT5MYW5nKCJlcnJvcl9kZW5pZWQiKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCn0NCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KDQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgidXNlX2hpZXJhcmNoeSIsZmFsc2UpKXsNCgkkcGFyZW50b3B0aW9ucyA9ICR0aGlzLT5nZXRfYWRtaW5faGllcmFyY2h5b3B0aW9ucygidmlkZW8iLGZhbHNlKTsNCn1lbHNlew0KCSRwYXJlbnRvcHRpb25zID0gJHRoaXMtPmdldF9vcHRpb25zKCJhbGJ1bSIpOw0KfQ0KJHNpdGVvcHRpb25zID0gJHRoaXMtPmdldF9maWVsZG9wdGlvbnMoInZpZGVvX3NpdGUiKTsNCg0KDQppZihpc3NldCgkcGFyYW1zWyJ2aWRfaWQiXSkpIHsNCgkvLyBpZiB3ZSBhcmUgd29ya2luZyBvbiBhbiBpdGVtIHRoYXQgZXhpc3RzLCB3ZSBsb2FkIGl0LiANCgkkaXRlbXMgPSAkdGhpcy0+Z2V0X2xldmVsX3ZpZGVvKGFycmF5KCJpZCI9PiRwYXJhbXNbInZpZF9pZCJdKSk7DQoJJGl0ZW0gPSAkaXRlbXNbMF07DQp9DQoNCi8vIENIRUNLIElGIFRIRSBGT1JNIElTIEJFSU5HIFNVQk1JVFRFRCA6DQovLyAod2UgbXVzdCBkZXRlY3QgYWxsIGtpbmRzIG9mIHN1Ym1pdCBidXR0b25zLCBpbmNsdWRpbmcgZmlsZXMsIHNpbmNlIGluZm9ybWF0aW9uIG11c3QgYmUgc2F2ZWQgYmVmb3JlIHdlIGdvIHRvIGZpbGUgc3VibWlzc2lvbikNCmlmIChpc3NldCgkcGFyYW1zWyJzdWJtaXQiXSkgfHwgDQoJaXNzZXQoJHBhcmFtc1siYXBwbHkiXSkgDQoJKQ0Kew0KCWRlYnVnX2J1ZmZlcigiRWRpdCBGb3JtIGhhcyBiZWVuIHN1Ym1pdHRlZCIuX19MSU5FX18pOw0KDQoJLy8gUkVUUklFVklORyBUSEUgRk9STSBWQUxVRVMgKGFuZCBlc2NhcGluZyBpdCwgaWYgbmVlZGVkKQ0KCWlmKCFpc3NldCgkaXRlbSkpICRpdGVtID0gbmV3IHN0ZENsYXNzKCk7DQoJaWYoaXNzZXQoJHBhcmFtc1sidmlkX2l0ZW1fb3JkZXIiXSkpICRpdGVtLT5pdGVtX29yZGVyID0gJHBhcmFtc1sidmlkX2l0ZW1fb3JkZXIiXTsNCgkkaXRlbS0+ZGVzY3JpcHRpb24gPSAkcGFyYW1zWyJ2aWRfZGVzY3JpcHRpb24iXTsNCgkJJGl0ZW0tPnNpdGUgPSAkcGFyYW1zWyJ2aWRfc2l0ZSJdOw0KCQkkaXRlbS0+dmlkZW9pZCA9ICRwYXJhbXNbInZpZF92aWRlb2lkIl07DQoJCSRpdGVtLT53aWR0aCA9ICRwYXJhbXNbInZpZF93aWR0aCJdOw0KCQkkaXRlbS0+aGVpZ2h0ID0gJHBhcmFtc1sidmlkX2hlaWdodCJdOw0KCQkkaXRlbS0+cGFyZW50ID0gJHBhcmFtc1sidmlkX3BhcmVudCJdOw0KCQkkaXRlbS0+bmFtZSA9ICRwYXJhbXNbInZpZF9uYW1lIl07DQoJCQ0KCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlZGl0YWJsZV9hbGlhc2VzIixmYWxzZSkpew0KCQlpZihpc3NldCgkcGFyYW1zWyJ2aWRfYWxpYXMiXSkpew0KCQkJJHRtcGFsaWFzID0gJHRoaXMtPnBsY3JlYXRlYWxpYXModHJpbSgkcGFyYW1zWyJ2aWRfYWxpYXMiXSkpOw0KCQkJJGl0ZW0tPmFsaWFzID0gJHRtcGFsaWFzID09ICIiPyR0aGlzLT5wbGNyZWF0ZWFsaWFzKCRpdGVtLT5uYW1lKTokdG1wYWxpYXM7DQoJCX1lbHNlew0KCQkJJGl0ZW0tPmFsaWFzID0gJHRoaXMtPnBsY3JlYXRlYWxpYXMoJGl0ZW0tPm5hbWUpOw0KCQl9DQoJfWVsc2V7DQoJCSRpdGVtLT5hbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKCRpdGVtLT5uYW1lKTsNCgl9DQoJDQoJJGF1dG9pbmNyZW1lbnRhbGlhcyA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhdXRvaW5jcmVtZW50X2FsaWFzIixmYWxzZSk7DQoNCgkvLyBDSEVDSyBJRiBUSEUgTkVFREVEIFZBTFVFUyBBUkUgVEhFUkUNCglpZigJIWlzc2V0KCRwYXJhbXNbInZpZF9zaXRlIl0pIHx8ICRwYXJhbXNbInZpZF9zaXRlIl0gPT0gIiINCgkJIHx8ICFpc3NldCgkcGFyYW1zWyJ2aWRfdmlkZW9pZCJdKSB8fCAkcGFyYW1zWyJ2aWRfdmlkZW9pZCJdID09ICIiDQoJCSB8fCAhaXNzZXQoJHBhcmFtc1sidmlkX25hbWUiXSkgfHwgJHBhcmFtc1sidmlkX25hbWUiXSA9PSAiIg0KCQkgKQ0KCXsNCgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZXJyb3JfbWlzc2dpbnZhbHVlIikpOw0KCX1lbHNlaWYoISRhdXRvaW5jcmVtZW50YWxpYXMgJiYgZmFsc2UgPT0gJHRoaXMtPmNoZWNrYWxpYXMoIm1vZHVsZV9IVkFfdmlkZW8iLCAkaXRlbS0+YWxpYXMsIGlzc2V0KCRwYXJhbXNbInZpZF9pZCJdKT8kcGFyYW1zWyJ2aWRfaWQiXTpmYWxzZSkpew0KCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKCR0aGlzLT5MYW5nKCJlcnJvcl9hbHJlYWR5ZXhpc3RzIikpOw0KCX1lbHNlew0KCQkjIyMjIyMjIyMjIyMgRE9JTkcgVEhFIFVQREFURQ0KDQoJCWlmKCRhdXRvaW5jcmVtZW50YWxpYXMpew0KCQkJJGJhc2VhbGlhcyA9ICRpdGVtLT5hbGlhczsNCgkJCSR0bXBhbGlhcyA9ICRpdGVtLT5hbGlhczsNCgkJCSRpID0gMTsNCgkJCXdoaWxlKCEkdGhpcy0+Y2hlY2thbGlhcygibW9kdWxlX0hWQV92aWRlbyIsICR0bXBhbGlhcywgaXNzZXQoJHBhcmFtc1sidmlkX2lkIl0pPyRwYXJhbXNbInZpZF9pZCJdOmZhbHNlKSl7DQoJCQkJJHRtcGFsaWFzID0gJGJhc2VhbGlhcy4iXyIuJGk7DQoJCQkJJGkrKzsNCgkJCX0NCgkJCSRpdGVtLT5hbGlhcyA9ICR0bXBhbGlhczsNCgkJfQ0KDQoJCS8vIEZJRUxEUyBUTyBVUERBVEUNCgkJJHF1ZXJ5ID0gKGlzc2V0KCRpdGVtLT5pZCk/IlVQREFURSAiOiJJTlNFUlQgSU5UTyAiKS5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gU0VUIA0KCQkJZGVzY3JpcHRpb249PywNCgkJCXNpdGU9PywNCgkJCXZpZGVvaWQ9PywNCgkJCXdpZHRoPT8sDQoJCQloZWlnaHQ9PywNCgkJCXBhcmVudD0/LA0KCQkJbmFtZT0/LA0KCQlhbGlhcz0/LA0KCQlkYXRlX21vZGlmaWVkPT8sDQoJCWFjdGl2ZT0iLihpc3NldCgkaXRlbS0+YWN0aXZlKT8kaXRlbS0+YWN0aXZlOjEpLiIsDQoJCWlzZGVmYXVsdD0iLihpc3NldCgkaXRlbS0+aXNkZWZhdWx0KT8kaXRlbS0+aXNkZWZhdWx0OjApLiIiOw0KCQkJDQoJCS8vIFZBTFVFUw0KCQkkdmFsdWVzID0gYXJyYXkoYWRkc2xhc2hlcygkaXRlbS0+ZGVzY3JpcHRpb24pLA0KCQkJJGl0ZW0tPnNpdGUsDQoJCQlhZGRzbGFzaGVzKCRpdGVtLT52aWRlb2lkKSwNCgkJCSRpdGVtLT53aWR0aCwNCgkJCSRpdGVtLT5oZWlnaHQsDQoJCQkkaXRlbS0+cGFyZW50LA0KCQkJYWRkc2xhc2hlcygkaXRlbS0+bmFtZSksJGl0ZW0tPmFsaWFzLHN0cl9yZXBsYWNlKCInIiwiIiwkZGItPkRCVGltZVN0YW1wKHRpbWUoKSkpKTsNCg0KCQlpZihpc3NldCgkaXRlbS0+aWQpKXsNCgkJCSRldmVudCA9ICJIVkFfbW9kaWZpZWQiOw0KCQkJJHF1ZXJ5IC49ICIgV0hFUkUgaWQ9PzsiOw0KCQkJYXJyYXlfcHVzaCgkdmFsdWVzLCRpdGVtLT5pZCk7DQoJCX1lbHNlew0KCQkJLy8gTkVXIElURU0NCgkJCSRxdWVyeSAuPSAiLCBkYXRlX2NyZWF0ZWQ9PyI7DQoJCQkkdmFsdWVzW10gPSBzdHJfcmVwbGFjZSgiJyIsIiIsJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpKTsNCgkJCSRldmVudCA9ICJIVkFfYWRkZWQiOw0KCQkJLy8gZ2V0IGEgbmV3IGlkIGZyb20gdGhlIHNlcXVlbmNlIHRhYmxlDQoJCQkkaXRlbS0+aWQgPSAkZGItPkdlbklEKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV92aWRlb19zZXEiKTsNCgkJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJuZXdpdGVtc2ZpcnN0X3ZpZGVvIixmYWxzZSkpew0KCQkJCS8vIG5ldyBpdGVtcyBnZXQgdG8gdGhlIHRvcCAtIHNvIHdlIG11c3QgcHV0IGFsbCBvdGhlciBpdGVtcyBkb3duIGZyb20gb25lIHN0ZXAsIGFuZCB0aGVuIHNldCB0aGlzIGl0ZW0ncyBvcmRlciB0byAxDQoJCQkJJHF1ZXJ5MiA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkgV0hFUkUgcGFyZW50PT8iOw0KCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnkyLCBhcnJheSgkaXRlbS0+cGFyZW50KSk7DQoJCQkJJHF1ZXJ5IC49ICIsaXRlbV9vcmRlcj0xLCBpZD0iLiRpdGVtLT5pZDsNCgkJCX1lbHNlew0KCQkJCS8vIG5ldyBpdGVtcyBnZXQgdG8gdGhlIGJvdHRvbSAtIHNvIHdlIG11c3Qgc2V0IHRoZSBpdGVtX29yZGVyIHRvIHRoZSBudW1iZXIgb2YgaXRlbXMgKyAxDQoJCQkJJGl0ZW1fb3JkZXIgPSAkdGhpcy0+Y291bnRzb21ldGhpbmcoInZpZGVvIiwiaWQiLGFycmF5KCJwYXJlbnQiPT4kaXRlbS0+cGFyZW50KSkgKyAxOw0KCQkJCSRxdWVyeSAuPSAiLGl0ZW1fb3JkZXI9Ii4kaXRlbV9vcmRlci4iLCBpZD0iLiRpdGVtLT5pZDsNCgkJCX0NCgkJfQ0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCAkdmFsdWVzKTsNCg0KCWlmKGlzc2V0KCRwYXJhbXNbIm9sZHBhcmVudCJdKSAmJiAkcGFyYW1zWyJvbGRwYXJlbnQiXSAhPSAkaXRlbS0+cGFyZW50KXsNCgkJLy8gdGhlIGl0ZW0gaXMgY2hhbmdpbmcgcGFyZW50LCBhbmQgd2UncmUgb3JkZXJpbmcgYnkgcGFyZW50cw0KCQkNCgkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoIm5ld2l0ZW1zZmlyc3RfdmlkZW8iLGZhbHNlKSl7DQoJCQkvLyBuZXcgaXRlbXMgZ2V0IHRvIHRoZSB0b3ANCgkJCQ0KCQkJLy8gVVBEQVRFIFRIRSBPUkRFUiBPRiBUSEUgSVRFTVMgV0lUSCBUSEUgT0xEIFBBUkVOVA0KCQkJJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV92aWRlbyBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBpdGVtX29yZGVyID4gPyBBTkQgcGFyZW50PT8iOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW0tPml0ZW1fb3JkZXIsICRwYXJhbXNbIm9sZHBhcmVudCJdKSk7DQoJCQkvLyBHRVQgTkVXIElURU0gT1JERVINCgkJCSRpdGVtLT5pdGVtX29yZGVyID0gJHRoaXMtPmNvdW50c29tZXRoaW5nKCJ2aWRlbyIsImlkIixhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudCkpICsgMTsNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gU0VUIGl0ZW1fb3JkZXI9PyBXSEVSRSBpZD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkaXRlbS0+aWQpKTsNCg0KCQl9ZWxzZXsNCg0KCQkJLy8gVVBEQVRFIFRIRSBPUkRFUiBPRiBUSEUgSVRFTVMgV0lUSCBUSEUgT0xEIFBBUkVOVA0KCQkJJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV92aWRlbyBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBpdGVtX29yZGVyID4gPyBBTkQgcGFyZW50PT8iOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW0tPml0ZW1fb3JkZXIsICRwYXJhbXNbIm9sZHBhcmVudCJdKSk7DQoJCQkvLyBVUERBVEUgTkVXIFBBUkVOVA0KCQkJJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV92aWRlbyBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlcisxKSBXSEVSRSBwYXJlbnQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+cGFyZW50KSk7DQoJCQkvLyBHRVQgTkVXIElURU0gT1JERVINCgkJCSRpdGVtLT5pdGVtX29yZGVyID0gMTsNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gU0VUIGl0ZW1fb3JkZXI9PyBXSEVSRSBpZD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkaXRlbS0+aWQpKTsNCgkJDQoJCX0NCgl9DQoNCgkJJHJlZGlyZWN0ID0gdHJ1ZTsNCgkJLy9pZihteXNxbF9hZmZlY3RlZF9yb3dzKCkpewkvLyBteXNxbC1vbmx5DQoJCWlmKCRkYi0+QWZmZWN0ZWRfUm93cygpKXsNCgkJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzZWFyY2htb2R1bGVfaW5kZXhfdmlkZW8iLGZhbHNlKSl7DQoJCQkJLy8gSUYgQU5ZVEhJTkcgV0FTIE1PRElGSUVELCBXRSBNVVNUIFVQREFURSBUSEUgU0VBUkNIIElOREVYIEFORCBTRU5EIEFOIEVWRU5ULi4uDQoJCQkJaWYoaXNzZXQoJGV2ZW50KSkJJHRoaXMtPlNlbmRFdmVudCgkZXZlbnQsIGFycmF5KCJ3aGF0Ij0+InZpZGVvIiwgIml0ZW1pZCIgPT4gJGl0ZW0tPmlkLCAiYWxpYXMiPT4kaXRlbS0+YWxpYXMpKTsNCgkJCQlkZWJ1Z19idWZmZXIoIlNFQVJIQyBJTkRFWCBXQVMgVVBEQVRFRCAiLl9fTElORV9fKTsNCgkJCQkkbW9kdWxlID0mICR0aGlzLT5HZXRNb2R1bGVJbnN0YW5jZSgiU2VhcmNoIik7DQoJCQkJaWYoJG1vZHVsZSkgew0KCQkJCQkkdGV4dCA9ICIkaXRlbS0+ZGVzY3JpcHRpb24gJGl0ZW0tPnNpdGUgJGl0ZW0tPnZpZGVvaWQgJGl0ZW0tPm5hbWUiOw0KCQkJCQkkbW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkaXRlbS0+aWQsICJ2aWRlbyIsICR0ZXh0LCBOVUxMKTsNCgkJCQl9DQoJCQl9DQoJCX1lbHNlaWYobXlzcWxfZXJyb3IoKSl7DQoJCQkvLyBkbyBub3QgcmVkaXJlY3QgOg0KCQkJJHJlZGlyZWN0ID0gZmFsc2U7DQoJCQllY2hvICR0aGlzLT5TaG93RXJyb3JzKG15c3FsX2Vycm9yKCkpOw0KCQl9DQoNCgkJLy8gUkVESVJFQ1RJTkcuLi4NCgkJCWlmKCRyZWRpcmVjdCA9PSBmYWxzZSl7DQoJCQl9ZWxzZWlmKGlzc2V0KCRwYXJhbXNbImFwcGx5Il0pKXsNCgkJCQllY2hvICR0aGlzLT5TaG93TWVzc2FnZSgkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpKTsNCgkJCX1lbHNlew0KCQkJCSRwYXJhbXMgPSBhcnJheSgibW9kdWxlX21lc3NhZ2UiID0+ICR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIiksICJhY3RpdmVfdGFiIj0+InZpZGVvIik7DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJHBhcmFtcyk7CQ0KCQkJfQ0KCX0NCgkvLyBFTkQgT0YgRk9STSBTVUJNSVNTSU9ODQp9DQoNCg0KDQovKiAjIyBQUkVQQVJJTkcgU01BUlRZIEVMRU1FTlRTDQpDcmVhdGVJbnB1dFRleHQgOiAoaWQsbmFtZSx2YWx1ZSxzaXplLG1heGxlbmd0aCkNCkNyZWF0ZVRleHRBcmVhIDogKHd5c2l3eWcsaWQsdGV4dCxuYW1lKQ0KQ3JlYXRlSW5wdXRTZWxlY3RMaXN0IDogKGlkLG5hbWUsaXRlbXMsc2VsZWN0ZWRpdGVtcyxzaXplKQ0KQ3JlYXRlSW5wdXREcm9wZG93biA6IChpZCxuYW1lLGl0ZW1zLHNpbmRleCxzdmFsdWUpDQoqLw0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImRlc2NyaXB0aW9uX2xhYmVsIiwgJHRoaXMtPkxhbmcoInZpZGVvX2Rlc2NyaXB0aW9uIikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJ2aWRfZGVzY3JpcHRpb24iLGlzc2V0KCRpdGVtKT8kaXRlbS0+ZGVzY3JpcHRpb246IiIsNTAsMjU1KSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInNpdGVfbGFiZWwiLCAkdGhpcy0+TGFuZygidmlkZW9fc2l0ZSIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigic2l0ZV9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwidmlkX3NpdGUiLCRzaXRlb3B0aW9ucywtMSxpc3NldCgkaXRlbSk/JGl0ZW0tPnNpdGU6MCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ2aWRlb2lkX2xhYmVsIiwgJHRoaXMtPkxhbmcoInZpZGVvX3ZpZGVvaWQiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInZpZGVvaWRfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwidmlkX3ZpZGVvaWQiLGlzc2V0KCRpdGVtKT8kaXRlbS0+dmlkZW9pZDoiIiw1MCwxMjgpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigid2lkdGhfbGFiZWwiLCAkdGhpcy0+TGFuZygidmlkZW9fd2lkdGgiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIndpZHRoX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInZpZF93aWR0aCIsaXNzZXQoJGl0ZW0pPyRpdGVtLT53aWR0aDoiIiw1LDQpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiaGVpZ2h0X2xhYmVsIiwgJHRoaXMtPkxhbmcoInZpZGVvX2hlaWdodCIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiaGVpZ2h0X2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInZpZF9oZWlnaHQiLGlzc2V0KCRpdGVtKT8kaXRlbS0+aGVpZ2h0OiIiLDUsNCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJuYW1lX2xhYmVsIiwgJHRoaXMtPkxhbmcoIm5hbWUiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIm5hbWVfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwidmlkX25hbWUiLGlzc2V0KCRpdGVtKT8kaXRlbS0+bmFtZToiIiw1MCw2NCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYXJlbnRfbGFiZWwiLCAkdGhpcy0+TGFuZygiYWxidW0iKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhcmVudF9pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwidmlkX3BhcmVudCIsJHBhcmVudG9wdGlvbnMsLTEsaXNzZXQoJGl0ZW0pPyRpdGVtLT5wYXJlbnQ6MCkpO2lmKGlzc2V0KCRpdGVtKSkgJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgIm9sZHBhcmVudCIsICRpdGVtLT5wYXJlbnQpOw0KaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoImVkaXRhYmxlX2FsaWFzZXMiLGZhbHNlKSl7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhbGlhc19sYWJlbCIsICR0aGlzLT5MYW5nKCJhbGlhcyIpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFsaWFzX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInZpZF9hbGlhcyIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5hbGlhczoiIiw1MCw2NCkpOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWFsaWFzIixmYWxzZSk7DQp9ZWxzZXsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1hbGlhcyIsaXNzZXQoJGl0ZW0tPmFsaWFzKT8iKGFsaWFzIDogIi4kaXRlbS0+YWxpYXMuIikiOmZhbHNlKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImFsaWFzX2lucHV0IiwgZmFsc2UpOw0KfQ0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oImVkaXR0aXRsZSIsICR0aGlzLT5MYW5nKCJlZGl0X3ZpZGVvIikpOw0KDQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXQiLCBsYW5nKCJzdWJtaXQiKSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhcHBseSIsIChpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSk/JHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImFwcGx5IiwgbGFuZygiYXBwbHkiKSk6IiIpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJjYW5jZWwiLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpKTsNCg0KDQovLyBESVNQTEFZSU5HDQppZihpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICJlZGl0dmlkZW8iLCAkcmV0dXJuaWQpOw0KCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImVkaXR2aWRlby50cGwiKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAidmlkX2lkIiwgJGl0ZW0tPmlkKTsNCgkJaWYoaXNzZXQoJGl0ZW0pICYmIGlzc2V0KCRpdGVtLT5wYXJlbnQpKSBlY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJvbGRwYXJlbnQiLCAkaXRlbS0+cGFyZW50KTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAidmlkX2l0ZW1fb3JkZXIiLCAkaXRlbS0+aXRlbV9vcmRlcik7DQoJCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkNCg0KfWVsc2V7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImVkaXR2aWRlbyIsICRyZXR1cm5pZCk7DQoJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJlZGl0dmlkZW8udHBsIik7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.editvid_.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQppZihpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkgfHwgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV92aWRlbyIpKSApew0KCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiIgPT4gInZpZGVvIik7DQoJaWYoIWlzc2V0KCRwYXJhbXNbImNhbmNlbCJdKSkJJG5ld3BhcmFtc1sibW9kdWxlX21lc3NhZ2UiXSA9ICR0aGlzLT5MYW5nKCJlcnJvcl9kZW5pZWQiKTsNCgkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCn0NCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KDQppZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgidXNlX2hpZXJhcmNoeSIsZmFsc2UpKXsNCgkkcGFyZW50b3B0aW9ucyA9ICR0aGlzLT5nZXRfYWRtaW5faGllcmFyY2h5b3B0aW9ucygidmlkZW8iLGZhbHNlKTsNCn1lbHNlew0KCSRwYXJlbnRvcHRpb25zID0gJHRoaXMtPmdldF9vcHRpb25zKCJhbGJ1bSIpOw0KfQ0KJHNpdGVvcHRpb25zID0gJHRoaXMtPmdldF9maWVsZG9wdGlvbnMoInZpZGVvX3NpdGUiKTsNCg0KDQppZihpc3NldCgkcGFyYW1zWyJ2aWRfaWQiXSkpIHsNCgkvLyBpZiB3ZSBhcmUgd29ya2luZyBvbiBhbiBpdGVtIHRoYXQgZXhpc3RzLCB3ZSBsb2FkIGl0LiBXZSBtdXN0IGRvIHRoaXMgZXZlbiB3aGVuIHRoZSBmb3JtIGlzIHN1Ym1pdHRlZCwgb3RoZXJ3aXNlIHdlIHdvbid0IGhhdmUgdGhlIGZpbGUgZmllbGRzDQoJJGl0ZW1zID0gJHRoaXMtPmdldF9sZXZlbF92aWRlbyhhcnJheSgiaWQiPT4kcGFyYW1zWyJ2aWRfaWQiXSkpOw0KCSRpdGVtID0gJGl0ZW1zWzBdOw0KfQ0KDQovLyBDSEVDSyBJRiBUSEUgRk9STSBJUyBCRUlORyBTVUJNSVRURUQgOg0KLy8gKHdlIG11c3QgZGV0ZWN0IGFsbCBraW5kcyBvZiBzdWJtaXQgYnV0dG9ucywgaW5jbHVkaW5nIGZpbGVzLCBzaW5jZSBpbmZvcm1hdGlvbiBtdXN0IGJlIHNhdmVkIGJlZm9yZSB3ZSBnbyB0byBmaWxlIHN1Ym1pc3Npb24pDQppZiAoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pIHx8IA0KCWlzc2V0KCRwYXJhbXNbImFwcGx5Il0pIA0KCSkNCnsNCglkZWJ1Z19idWZmZXIoIkVkaXQgRm9ybSBoYXMgYmVlbiBzdWJtaXR0ZWQiLl9fTElORV9fKTsNCg0KCS8vIFJFVFJJRVZJTkcgVEhFIEZPUk0gVkFMVUVTIChhbmQgZXNjYXBpbmcgaXQsIGlmIG5lZWRlZCkNCglpZighaXNzZXQoJGl0ZW0pKSAkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCWlmKGlzc2V0KCRwYXJhbXNbInZpZF9pdGVtX29yZGVyIl0pKSAkaXRlbS0+aXRlbV9vcmRlciA9ICRwYXJhbXNbInZpZF9pdGVtX29yZGVyIl07DQoJJGl0ZW0tPmRlc2NyaXB0aW9uID0gJHBhcmFtc1sidmlkX2Rlc2NyaXB0aW9uIl07DQoJCSRpdGVtLT5zaXRlID0gJHBhcmFtc1sidmlkX3NpdGUiXTsNCgkJJGl0ZW0tPnZpZGVvaWQgPSAkcGFyYW1zWyJ2aWRfdmlkZW9pZCJdOw0KCQkkaXRlbS0+d2lkdGggPSAkcGFyYW1zWyJ2aWRfd2lkdGgiXTsNCgkJJGl0ZW0tPmhlaWdodCA9ICRwYXJhbXNbInZpZF9oZWlnaHQiXTsNCgkJJGl0ZW0tPnBhcmVudCA9ICRwYXJhbXNbInZpZF9wYXJlbnQiXTsNCgkJJGl0ZW0tPm5hbWUgPSAkcGFyYW1zWyJ2aWRfbmFtZSJdOw0KCQkNCglpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZWRpdGFibGVfYWxpYXNlcyIsZmFsc2UpKXsNCgkJaWYoaXNzZXQoJHBhcmFtc1sidmlkX2FsaWFzIl0pKXsNCgkJCSR0bXBhbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKHRyaW0oJHBhcmFtc1sidmlkX2FsaWFzIl0pKTsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0bXBhbGlhcyA9PSAiIj8kdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk6JHRtcGFsaWFzOw0KCQl9ZWxzZXsNCgkJCSRpdGVtLT5hbGlhcyA9ICR0aGlzLT5wbGNyZWF0ZWFsaWFzKCRpdGVtLT5uYW1lKTsNCgkJfQ0KCX1lbHNlew0KCQkkaXRlbS0+YWxpYXMgPSAkdGhpcy0+cGxjcmVhdGVhbGlhcygkaXRlbS0+bmFtZSk7DQoJfQ0KCQ0KCSRhdXRvaW5jcmVtZW50YWxpYXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYXV0b2luY3JlbWVudF9hbGlhcyIsZmFsc2UpOw0KDQoJLy8gQ0hFQ0sgSUYgVEhFIE5FRURFRCBWQUxVRVMgQVJFIFRIRVJFDQoJaWYoCSFpc3NldCgkcGFyYW1zWyJ2aWRfc2l0ZSJdKSB8fCAkcGFyYW1zWyJ2aWRfc2l0ZSJdID09ICIiDQoJCSB8fCAhaXNzZXQoJHBhcmFtc1sidmlkX3ZpZGVvaWQiXSkgfHwgJHBhcmFtc1sidmlkX3ZpZGVvaWQiXSA9PSAiIg0KCQkgfHwgIWlzc2V0KCRwYXJhbXNbInZpZF9uYW1lIl0pIHx8ICRwYXJhbXNbInZpZF9uYW1lIl0gPT0gIiINCgkJICkNCgl7DQoJCWVjaG8gJHRoaXMtPlNob3dFcnJvcnMoJHRoaXMtPkxhbmcoImVycm9yX21pc3NnaW52YWx1ZSIpKTsNCgl9ZWxzZWlmKCEkYXV0b2luY3JlbWVudGFsaWFzICYmIGZhbHNlID09ICR0aGlzLT5jaGVja2FsaWFzKCJtb2R1bGVfSFZBX3ZpZGVvIiwgJGl0ZW0tPmFsaWFzLCBpc3NldCgkcGFyYW1zWyJ2aWRfaWQiXSk/JHBhcmFtc1sidmlkX2lkIl06ZmFsc2UpKXsNCgkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycygkdGhpcy0+TGFuZygiZXJyb3JfYWxyZWFkeWV4aXN0cyIpKTsNCgl9ZWxzZXsNCgkJIyMjIyMjIyMjIyMjIERPSU5HIFRIRSBVUERBVEUNCg0KCQlpZigkYXV0b2luY3JlbWVudGFsaWFzKXsNCgkJCSRiYXNlYWxpYXMgPSAkaXRlbS0+YWxpYXM7DQoJCQkkdG1wYWxpYXMgPSAkaXRlbS0+YWxpYXM7DQoJCQkkaSA9IDE7DQoJCQl3aGlsZSghJHRoaXMtPmNoZWNrYWxpYXMoIm1vZHVsZV9IVkFfdmlkZW8iLCAkdG1wYWxpYXMsIGlzc2V0KCRwYXJhbXNbInZpZF9pZCJdKT8kcGFyYW1zWyJ2aWRfaWQiXTpmYWxzZSkpew0KCQkJCSR0bXBhbGlhcyA9ICRiYXNlYWxpYXMuIl8iLiRpOw0KCQkJCSRpKys7DQoJCQl9DQoJCQkkaXRlbS0+YWxpYXMgPSAkdG1wYWxpYXM7DQoJCX0NCg0KCQkvLyBGSUVMRFMgVE8gVVBEQVRFDQoJCSRxdWVyeSA9IChpc3NldCgkaXRlbS0+aWQpPyJVUERBVEUgIjoiSU5TRVJUIElOVE8gIikuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3ZpZGVvIFNFVCANCgkJCWRlc2NyaXB0aW9uPT8sDQoJCQlzaXRlPT8sDQoJCQl2aWRlb2lkPT8sDQoJCQl3aWR0aD0/LA0KCQkJaGVpZ2h0PT8sDQoJCQlwYXJlbnQ9PywNCgkJCW5hbWU9PywNCgkJYWxpYXM9PywNCgkJZGF0ZV9tb2RpZmllZD0/LA0KCQlhY3RpdmU9Ii4oaXNzZXQoJGl0ZW0tPmFjdGl2ZSk/JGl0ZW0tPmFjdGl2ZToxKS4iLA0KCQlpc2RlZmF1bHQ9Ii4oaXNzZXQoJGl0ZW0tPmlzZGVmYXVsdCk/JGl0ZW0tPmlzZGVmYXVsdDowKS4iIjsNCgkJCQ0KCQkvLyBWQUxVRVMNCgkJJHZhbHVlcyA9IGFycmF5KGFkZHNsYXNoZXMoJGl0ZW0tPmRlc2NyaXB0aW9uKSwNCgkJCSRpdGVtLT5zaXRlLA0KCQkJYWRkc2xhc2hlcygkaXRlbS0+dmlkZW9pZCksDQoJCQkkaXRlbS0+d2lkdGgsDQoJCQkkaXRlbS0+aGVpZ2h0LA0KCQkJJGl0ZW0tPnBhcmVudCwNCgkJCWFkZHNsYXNoZXMoJGl0ZW0tPm5hbWUpLCRpdGVtLT5hbGlhcyxzdHJfcmVwbGFjZSgiJyIsIiIsJGRiLT5EQlRpbWVTdGFtcCh0aW1lKCkpKSk7DQoNCgkJaWYoaXNzZXQoJGl0ZW0tPmlkKSl7DQoJCQkkZXZlbnQgPSAiSFZBX21vZGlmaWVkIjsNCgkJCSRxdWVyeSAuPSAiIFdIRVJFIGlkPT87IjsNCgkJCWFycmF5X3B1c2goJHZhbHVlcywkaXRlbS0+aWQpOw0KCQl9ZWxzZXsNCgkJCS8vIE5FVyBJVEVNDQoJCQkkcXVlcnkgLj0gIiwgZGF0ZV9jcmVhdGVkPT8iOw0KCQkJJHZhbHVlc1tdID0gc3RyX3JlcGxhY2UoIiciLCIiLCRkYi0+REJUaW1lU3RhbXAodGltZSgpKSk7DQoJCQkkZXZlbnQgPSAiSFZBX2FkZGVkIjsNCgkJCS8vIGdldCBhIG5ldyBpZCBmcm9tIHRoZSBzZXF1ZW5jZSB0YWJsZQ0KCQkJJGl0ZW0tPmlkID0gJGRiLT5HZW5JRChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW9fc2VxIik7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgibmV3aXRlbXNmaXJzdF92aWRlbyIsZmFsc2UpKXsNCgkJCQkvLyBuZXcgaXRlbXMgZ2V0IHRvIHRoZSB0b3AgLSBzbyB3ZSBtdXN0IHB1dCBhbGwgb3RoZXIgaXRlbXMgZG93biBmcm9tIG9uZSBzdGVwLCBhbmQgdGhlbiBzZXQgdGhpcyBpdGVtJ3Mgb3JkZXIgdG8gMQ0KCQkJCSRxdWVyeTIgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3ZpZGVvIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIHBhcmVudD0/IjsNCgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5MiwgYXJyYXkoJGl0ZW0tPnBhcmVudCkpOw0KCQkJCSRxdWVyeSAuPSAiLGl0ZW1fb3JkZXI9MSwgaWQ9Ii4kaXRlbS0+aWQ7DQoJCQl9ZWxzZXsNCgkJCQkvLyBuZXcgaXRlbXMgZ2V0IHRvIHRoZSBib3R0b20gLSBzbyB3ZSBtdXN0IHNldCB0aGUgaXRlbV9vcmRlciB0byB0aGUgbnVtYmVyIG9mIGl0ZW1zICsgMQ0KCQkJCSRpdGVtX29yZGVyID0gJHRoaXMtPmNvdW50c29tZXRoaW5nKCJ2aWRlbyIsImlkIixhcnJheSgicGFyZW50Ij0+JGl0ZW0tPnBhcmVudCkpICsgMTsNCgkJCQkkcXVlcnkgLj0gIixpdGVtX29yZGVyPSIuJGl0ZW1fb3JkZXIuIiwgaWQ9Ii4kaXRlbS0+aWQ7DQoJCQl9DQoJCX0NCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgJHZhbHVlcyk7DQoNCglpZihpc3NldCgkcGFyYW1zWyJvbGRwYXJlbnQiXSkgJiYgJHBhcmFtc1sib2xkcGFyZW50Il0gIT0gJGl0ZW0tPnBhcmVudCl7DQoJCS8vIHRoZSBpdGVtIGlzIGNoYW5naW5nIHBhcmVudCwgYW5kIHdlJ3JlIG9yZGVyaW5nIGJ5IHBhcmVudHMNCgkJDQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJuZXdpdGVtc2ZpcnN0X3ZpZGVvIixmYWxzZSkpew0KCQkJLy8gbmV3IGl0ZW1zIGdldCB0byB0aGUgdG9wDQoJCQkNCgkJCS8vIFVQREFURSBUSEUgT1JERVIgT0YgVEhFIElURU1TIFdJVEggVEhFIE9MRCBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaXRlbV9vcmRlciA+ID8gQU5EIHBhcmVudD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkcGFyYW1zWyJvbGRwYXJlbnQiXSkpOw0KCQkJLy8gR0VUIE5FVyBJVEVNIE9SREVSDQoJCQkkaXRlbS0+aXRlbV9vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygidmlkZW8iLCJpZCIsYXJyYXkoInBhcmVudCI9PiRpdGVtLT5wYXJlbnQpKSArIDE7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3ZpZGVvIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+aXRlbV9vcmRlciwgJGl0ZW0tPmlkKSk7DQoNCgkJfWVsc2V7DQoNCgkJCS8vIFVQREFURSBUSEUgT1JERVIgT0YgVEhFIElURU1TIFdJVEggVEhFIE9MRCBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXItMSkgV0hFUkUgaXRlbV9vcmRlciA+ID8gQU5EIHBhcmVudD0/IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtLT5pdGVtX29yZGVyLCAkcGFyYW1zWyJvbGRwYXJlbnQiXSkpOw0KCQkJLy8gVVBEQVRFIE5FVyBQQVJFTlQNCgkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkgV0hFUkUgcGFyZW50PT8iOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW0tPnBhcmVudCkpOw0KCQkJLy8gR0VUIE5FVyBJVEVNIE9SREVSDQoJCQkkaXRlbS0+aXRlbV9vcmRlciA9IDE7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3ZpZGVvIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbS0+aXRlbV9vcmRlciwgJGl0ZW0tPmlkKSk7DQoJCQ0KCQl9DQoJfQ0KDQoJCSRyZWRpcmVjdCA9IHRydWU7DQoJCS8vaWYobXlzcWxfYWZmZWN0ZWRfcm93cygpKXsJLy8gbXlzcWwtb25seQ0KCQlpZigkZGItPkFmZmVjdGVkX1Jvd3MoKSl7DQoJCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNobW9kdWxlX2luZGV4X3ZpZGVvIixmYWxzZSkpew0KCQkJCS8vIElGIEFOWVRISU5HIFdBUyBNT0RJRklFRCwgV0UgTVVTVCBVUERBVEUgVEhFIFNFQVJDSCBJTkRFWCBBTkQgU0VORCBBTiBFVkVOVC4uLg0KCQkJCWlmKGlzc2V0KCRldmVudCkpCSR0aGlzLT5TZW5kRXZlbnQoJGV2ZW50LCBhcnJheSgid2hhdCI9PiJ2aWRlbyIsICJpdGVtaWQiID0+ICRpdGVtLT5pZCwgImFsaWFzIj0+JGl0ZW0tPmFsaWFzKSk7DQoJCQkJZGVidWdfYnVmZmVyKCJTRUFSSEMgSU5ERVggV0FTIFVQREFURUQgIi5fX0xJTkVfXyk7DQoJCQkJJG1vZHVsZSA9JiAkdGhpcy0+R2V0TW9kdWxlSW5zdGFuY2UoIlNlYXJjaCIpOw0KCQkJCWlmKCRtb2R1bGUpIHsNCgkJCQkJJHRleHQgPSAiJGl0ZW0tPmRlc2NyaXB0aW9uICRpdGVtLT5zaXRlICRpdGVtLT52aWRlb2lkICRpdGVtLT5uYW1lIjsNCgkJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAidmlkZW8iLCAkdGV4dCwgTlVMTCk7DQoJCQkJfQ0KCQkJfQ0KCQl9ZWxzZWlmKG15c3FsX2Vycm9yKCkpew0KCQkJLy8gZG8gbm90IHJlZGlyZWN0IDoNCgkJCSRyZWRpcmVjdCA9IGZhbHNlOw0KCQkJZWNobyAkdGhpcy0+U2hvd0Vycm9ycyhteXNxbF9lcnJvcigpKTsNCgkJfQ0KDQoJCS8vIFJFRElSRUNUSU5HLi4uDQoJCQlpZigkcmVkaXJlY3QgPT0gZmFsc2Upew0KCQkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJhcHBseSJdKSl7DQoJCQkJZWNobyAkdGhpcy0+U2hvd01lc3NhZ2UoJHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSk7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyYW1zID0gYXJyYXkoIm1vZHVsZV9tZXNzYWdlIiA9PiAkdGhpcy0+TGFuZygibWVzc2FnZV9tb2RpZmllZCIpLCAiYWN0aXZlX3RhYiI9PiJ2aWRlbyIpOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRwYXJhbXMpOwkNCgkJCX0NCgl9DQoJLy8gRU5EIE9GIEZPUk0gU1VCTUlTU0lPTg0KfQ0KDQoNCg0KLyogIyMgUFJFUEFSSU5HIFNNQVJUWSBFTEVNRU5UUw0KQ3JlYXRlSW5wdXRUZXh0IDogKGlkLG5hbWUsdmFsdWUsc2l6ZSxtYXhsZW5ndGgpDQpDcmVhdGVUZXh0QXJlYSA6ICh3eXNpd3lnLGlkLHRleHQsbmFtZSkNCkNyZWF0ZUlucHV0U2VsZWN0TGlzdCA6IChpZCxuYW1lLGl0ZW1zLHNlbGVjdGVkaXRlbXMsc2l6ZSkNCkNyZWF0ZUlucHV0RHJvcGRvd24gOiAoaWQsbmFtZSxpdGVtcyxzaW5kZXgsc3ZhbHVlKQ0KKi8NCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJkZXNjcmlwdGlvbl9sYWJlbCIsICR0aGlzLT5MYW5nKCJ2aWRlb19kZXNjcmlwdGlvbiIpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiZGVzY3JpcHRpb25faW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwidmlkX2Rlc2NyaXB0aW9uIixpc3NldCgkaXRlbSk/JGl0ZW0tPmRlc2NyaXB0aW9uOiIiLDUwLDI1NSkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJzaXRlX2xhYmVsIiwgJHRoaXMtPkxhbmcoInZpZGVvX3NpdGUiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oInNpdGVfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsInZpZF9zaXRlIiwkc2l0ZW9wdGlvbnMsLTEsaXNzZXQoJGl0ZW0pPyRpdGVtLT5zaXRlOjApKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigidmlkZW9pZF9sYWJlbCIsICR0aGlzLT5MYW5nKCJ2aWRlb192aWRlb2lkIikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ2aWRlb2lkX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInZpZF92aWRlb2lkIixpc3NldCgkaXRlbSk/JGl0ZW0tPnZpZGVvaWQ6IiIsNTAsNjQpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigid2lkdGhfbGFiZWwiLCAkdGhpcy0+TGFuZygidmlkZW9fd2lkdGgiKSk7DQokdGhpcy0+c21hcnR5LT5hc3NpZ24oIndpZHRoX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInZpZF93aWR0aCIsaXNzZXQoJGl0ZW0pPyRpdGVtLT53aWR0aDoiIiwzMCwxMCkpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJoZWlnaHRfbGFiZWwiLCAkdGhpcy0+TGFuZygidmlkZW9faGVpZ2h0IikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJoZWlnaHRfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwidmlkX2hlaWdodCIsaXNzZXQoJGl0ZW0pPyRpdGVtLT5oZWlnaHQ6IiIsMzAsMTApKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigibmFtZV9sYWJlbCIsICR0aGlzLT5MYW5nKCJuYW1lIikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJuYW1lX2lucHV0IiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInZpZF9uYW1lIixpc3NldCgkaXRlbSk/JGl0ZW0tPm5hbWU6IiIsNTAsNjQpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigicGFyZW50X2xhYmVsIiwgJHRoaXMtPkxhbmcoImFsYnVtIikpOw0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYXJlbnRfaW5wdXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsInZpZF9wYXJlbnQiLCRwYXJlbnRvcHRpb25zLC0xLGlzc2V0KCRpdGVtKT8kaXRlbS0+cGFyZW50OjApKTtpZihpc3NldCgkaXRlbSkpICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJvbGRwYXJlbnQiLCAkaXRlbS0+cGFyZW50KTsNCmlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlZGl0YWJsZV9hbGlhc2VzIixmYWxzZSkpew0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigiYWxpYXNfbGFiZWwiLCAkdGhpcy0+TGFuZygiYWxpYXMiKSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhbGlhc19pbnB1dCIsICR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJ2aWRfYWxpYXMiLGlzc2V0KCRpdGVtKT8kaXRlbS0+YWxpYXM6IiIsNTAsNjQpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1hbGlhcyIsZmFsc2UpOw0KfWVsc2V7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtYWxpYXMiLGlzc2V0KCRpdGVtLT5hbGlhcyk/IihhbGlhcyA6ICIuJGl0ZW0tPmFsaWFzLiIpIjpmYWxzZSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJhbGlhc19pbnB1dCIsIGZhbHNlKTsNCn0NCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJlZGl0dGl0bGUiLCAkdGhpcy0+TGFuZygiZWRpdF92aWRlbyIpKTsNCg0KJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJzdWJtaXQiLCAkdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAic3VibWl0IiwgbGFuZygic3VibWl0IikpKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiYXBwbHkiLCAoaXNzZXQoJGl0ZW0pICYmIGlzc2V0KCRpdGVtLT5pZCkpPyR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJhcHBseSIsIGxhbmcoImFwcGx5IikpOiIiKTsNCiR0aGlzLT5zbWFydHktPmFzc2lnbigiY2FuY2VsIiwgJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImNhbmNlbCIsIGxhbmcoImNhbmNlbCIpKSk7DQoNCg0KLy8gRElTUExBWUlORw0KaWYoaXNzZXQoJGl0ZW0pICYmIGlzc2V0KCRpdGVtLT5pZCkpew0KCQllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdHZpZF8iLCAkcmV0dXJuaWQpOw0KCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoImVkaXR2aWRfLnRwbCIpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ2aWRfaWQiLCAkaXRlbS0+aWQpOw0KCQlpZihpc3NldCgkaXRlbSkgJiYgaXNzZXQoJGl0ZW0tPnBhcmVudCkpIGVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgIm9sZHBhcmVudCIsICRpdGVtLT5wYXJlbnQpOw0KCQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ2aWRfaXRlbV9vcmRlciIsICRpdGVtLT5pdGVtX29yZGVyKTsNCgkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KCQ0KDQp9ZWxzZXsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAiZWRpdHZpZF8iLCAkcmV0dXJuaWQpOw0KCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgiZWRpdHZpZF8udHBsIik7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOw0KfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.export.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpCWV4aXQ7DQoNCmlmKGlzc2V0KCRwYXJhbXNbJ2RvZXhwb3J0J10pKXsNCgkNCgkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJDQoJJG91dHB1dCA9ICcnOw0KCWZvcmVhY2goJHBhcmFtc1snc2VsZWN0ZWRsZXZlbHMnXSBhcyAkbGV2ZWwpew0KCQkkb3V0cHV0IC49ICcNCjx0YWJsZSBuYW1lPSInLiRsZXZlbC4nIj4NCgknOw0KCQkNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfIi4kbGV2ZWw7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQl3aGlsZSAoICRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpICkgew0KCQkJJG91dHB1dCAuPSAiPGl0ZW0+DQoJCSI7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGZpZWxkPT4kdmFsdWUpew0KCQkJCSRvdXRwdXQgLj0gJzwnLiRmaWVsZC4nPjwhW0NEQVRBWycuc3RyaXBzbGFzaGVzKCR2YWx1ZSkuJ11dPjwvJy4kZmllbGQuJz4NCgkJJzsNCgkJCX0NCgkJCSRvdXRwdXQgLj0gIg0KCTwvaXRlbT4NCgkiOw0KCQl9DQoJCSRvdXRwdXQgLj0gIg0KPC90YWJsZT4NCg0KIjsNCgl9DQoNCg0KDQoJLy8gZXhwb3J0aW5nIGxpc3RvcHRpb25zIChpZiBhbnkpDQoJCSR0bXBvdXRwdXQgPSAnJzsNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAqIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfZmllbGRvcHRpb25zIjsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoJCXdoaWxlICggJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkgKSB7DQoJCQkkdG1wb3V0cHV0IC49ICc8aXRlbT4NCgkJJzsNCgkJCWZvcmVhY2goJHJvdyBhcyAkZmllbGQ9PiR2YWx1ZSl7DQoJCQkJJHRtcG91dHB1dCAuPSAnPCcuJGZpZWxkLic+PCFbQ0RBVEFbJy5zdHJpcHNsYXNoZXMoJHZhbHVlKS4nXV0+PC8nLiRmaWVsZC4nPg0KCQknOw0KCQkJfQ0KCQkJJHRtcG91dHB1dCAuPSAnDQoJPC9pdGVtPg0KCSc7DQoJCX0NCgkJDQoJCWlmKCR0bXBvdXRwdXQgIT0gJycpCSRvdXRwdXQgLj0gJw0KPHRhYmxlIG5hbWU9ImZpZWxkb3B0aW9ucyI+DQoJJy4kdG1wb3V0cHV0LicNCjwvdGFibGU+DQoNCic7DQoNCg0KDQoJDQoJaWYoaXNzZXQoJHBhcmFtc1snZXhwb3J0X3RlbXBsYXRlcyddKSAmJiAkcGFyYW1zWydleHBvcnRfdGVtcGxhdGVzJ10pew0KCQlmb3JlYWNoKCR0aGlzLT5MaXN0VGVtcGxhdGVzKCkgYXMgJHRwbG5hbWUpew0KCQkJJG91dHB1dCAuPSAnDQo8dGVtcGxhdGUgbmFtZT0iJy4kdHBsbmFtZS4nIj48IVtDREFUQVsnLiR0aGlzLT5HZXRUZW1wbGF0ZSgkdHBsbmFtZSkuJ11dPjwvdGVtcGxhdGU+DQonOw0KCQl9DQoJfQ0KCQ0KCWlmKCRvdXRwdXQgPT0gJycpew0KCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnZXhwb3J0JywgJHJldHVybmlkKTsNCgl9ZWxzZXsNCgkJJG91dHB1dCA9ICI8cm9vdD4iLiRvdXRwdXQuIjwvcm9vdD4iOw0KCQkNCgkJJGhhbmRsZXJzID0gb2JfbGlzdF9oYW5kbGVycygpOyANCgkJZm9yICgkY250ID0gMDsgJGNudCA8IHNpemVvZigkaGFuZGxlcnMpOyAkY250KyspIHsgb2JfZW5kX2NsZWFuKCk7IH0JCQ0KDQoJCWhlYWRlcignUHJhZ21hOiBwdWJsaWMnKTsNCgkJaGVhZGVyKCdFeHBpcmVzOiAwJyk7DQoJCWhlYWRlcignQ2FjaGUtQ29udHJvbDogbXVzdC1yZXZhbGlkYXRlLCBwb3N0LWNoZWNrPTAsIHByZS1jaGVjaz0wJyk7DQoJCWhlYWRlcignQ2FjaGUtQ29udHJvbDogcHJpdmF0ZScsZmFsc2UpOw0KCQloZWFkZXIoJ0NvbnRlbnQtRGVzY3JpcHRpb246IEZpbGUgVHJhbnNmZXInKTsNCgkJaGVhZGVyKCdDb250ZW50LVR5cGU6IGFwcGxpY2F0aW9uL3htbCcpOw0KCQloZWFkZXIoJ0NvbnRlbnQtRGlzcG9zaXRpb246IGF0dGFjaG1lbnQ7IGZpbGVuYW1lPSInLiR0aGlzLT5HZXROYW1lKCkuJy54bWwiJyApOw0KCQloZWFkZXIoJ0NvbnRlbnQtTGVuZ3RoOiAnIC4gc3RybGVuKCRvdXRwdXQpKTsNCgkNCgkJcHJpbnQoJG91dHB1dCk7DQoJDQoJCUBmbHVzaCgpOyBAb2JfZmx1c2goKTsgQG9iX2ZsdXNoKCk7DQoJfQkNCg0KfWVsc2V7DQoJDQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImV4cG9ydCIsICRyZXR1cm5pZCk7DQoJZWNobyAnPGgzPicuJHRoaXMtPkxhbmcoJ2V4cG9ydF90aXRsZScpLic8L2gzPic7DQoJZWNobyAnPGZpZWxkc2V0PjxsZWdlbmQ+PGI+Jy4kdGhpcy0+TGFuZygnZXhwb3J0d2hpY2hsZXZlbHMnKS4nPC9iPjwvbGVnZW5kPic7DQoJJGNob2ljZXMgPSBhcnJheSgpOw0KCWZvcmVhY2goJHRoaXMtPmdldF9sZXZlbGFycmF5KCkgYXMgJGxldmVsKQkkY2hvaWNlc1skbGV2ZWxdID0gJGxldmVsOw0KCWVjaG8gJHRoaXMtPkRvQ2hlY2tib3hlcygkaWQsICdzZWxlY3RlZGxldmVscycsICRjaG9pY2VzLCAkY2hvaWNlcykuJzwvZmllbGRzZXQ+PGJyLz4nOw0KCWVjaG8gJzxwPicuJHRoaXMtPkNyZWF0ZUlucHV0Q2hlY2tib3goJGlkLCJleHBvcnRfdGVtcGxhdGVzIiwxLDApLicgJy4kdGhpcy0+TGFuZygnZXhwb3J0X3RlbXBsYXRlcycpLic8L3A+JzsNCgllY2hvICc8cD4nLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJkb2V4cG9ydCIsIGxhbmcoInN1Ym1pdCIpKS4nPC9wPic7DQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybUVuZCgpOwkNCgkNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/action.import.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpCWV4aXQ7DQoNCmVjaG8gJzxoMz4nLiR0aGlzLT5MYW5nKCdpbXBvcnRfdGl0bGUnKS4nPC9oMz4nOw0KDQppZihpc3NldCgkX0ZJTEVTKSAmJiBpc3NldCgkX0ZJTEVTWyRpZC4neG1sZmlsZSddKSAmJiBpc3NldCgkX0ZJTEVTWyRpZC4neG1sZmlsZSddWyduYW1lJ10pICYmICRfRklMRVNbJGlkLid4bWxmaWxlJ11bJ25hbWUnXSAhPSAnJykgew0KCQ0KCSR4bWwgPSBmaWxlX2dldF9jb250ZW50cyggJF9GSUxFU1skaWQuJ3htbGZpbGUnXVsndG1wX25hbWUnXSApOw0KCSRwYXJzZXIgPSB4bWxfcGFyc2VyX2NyZWF0ZSgnJyk7DQoJeG1sX3BhcnNlcl9zZXRfb3B0aW9uKCRwYXJzZXIsIFhNTF9PUFRJT05fVEFSR0VUX0VOQ09ESU5HLCAnVVRGLTgnKTsNCgl4bWxfcGFyc2VyX3NldF9vcHRpb24oJHBhcnNlciwgWE1MX09QVElPTl9DQVNFX0ZPTERJTkcsIDApOw0KCXhtbF9wYXJzZXJfc2V0X29wdGlvbigkcGFyc2VyLCBYTUxfT1BUSU9OX1NLSVBfV0hJVEUsIDEpOw0KDQoJJHhtbGRhdGEgPSBhcnJheSgpOw0KCXhtbF9wYXJzZV9pbnRvX3N0cnVjdCgkcGFyc2VyLCB0cmltKCR4bWwpLCAkeG1sZGF0YSk7DQoJeG1sX3BhcnNlcl9mcmVlKCRwYXJzZXIpOw0KCWlmICghJHhtbGRhdGEpCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdpbXBvcnQnLCAkcmV0dXJuaWQsIGFycmF5KCdtb2R1bGVfbWVzc2FnZSc9PiR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkeG1sJykpICk7DQoNCgkkdGFibGVzID0gYXJyYXkoKTsNCgkkdGVtcGxhdGVzID0gYXJyYXkoKTsNCgkkZW50cmllcyA9IDA7DQoJJGN1cnJlbnR0YWJsZSA9IGZhbHNlOw0KCSRjdXJyZW50aXRlbSA9IGZhbHNlOw0KDQoJJGV4aXN0aW5nX3RhYmxlcyA9IGFycmF5X21lcmdlKCR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpLCBhcnJheSgnZmllbGRvcHRpb25zJywgJ211bHRpcGxlZmlsZXNmaWVsZHMnKSk7DQoJDQoJDQoJZm9yZWFjaCAoJHhtbGRhdGEgYXMgJGRhdGEpIHsNCgkJc3dpdGNoKCRkYXRhWyd0eXBlJ10pIHsNCgkJCWNhc2UgJ29wZW4nOg0KCQkJCWlmKCRkYXRhWydsZXZlbCddID09IDIgJiYgJGRhdGFbJ3RhZyddID09ICd0YWJsZScgJiYgaXNzZXQoJGRhdGFbJ2F0dHJpYnV0ZXMnXSkgJiYgaXNzZXQoJGRhdGFbJ2F0dHJpYnV0ZXMnXVsnbmFtZSddKSApew0KCQkJCQkkdGFibGVuYW1lID0gJGRhdGFbJ2F0dHJpYnV0ZXMnXVsnbmFtZSddOw0KCQkJCQlpZihpbl9hcnJheSgkdGFibGVuYW1lLCAkZXhpc3RpbmdfdGFibGVzKSl7DQoJCQkJCQkkdGFibGVzWyR0YWJsZW5hbWVdID0gYXJyYXkoKTsNCgkJCQkJCSRjdXJyZW50dGFibGUgPSAkdGFibGVuYW1lOw0KCQkJCQl9ZWxzZXsNCgkJCQkJCSRjdXJyZW50dGFibGUgPSBmYWxzZTsNCgkJCQkJfQ0KCQkJCX1lbHNlaWYoJGRhdGFbJ2xldmVsJ10gPT0gMyAmJiAkZGF0YVsndGFnJ10gPT0gJ2l0ZW0nKXsNCgkJCQkJJGN1cnJlbnRpdGVtID0gYXJyYXkoKTsNCgkJCQl9DQoJCQkJYnJlYWs7DQoJCQljYXNlICdjbG9zZSc6DQoJCQkJaWYoJGN1cnJlbnR0YWJsZSAmJiAkY3VycmVudGl0ZW0gIT0gZmFsc2UgJiYgJGRhdGFbJ2xldmVsJ10gPT0gMyAmJiAkZGF0YVsndGFnJ10gPT0gJ2l0ZW0nKXsNCgkJCQkJaWYoY291bnQoJGN1cnJlbnRpdGVtKSA+IDApew0KCQkJCQkJYXJyYXlfcHVzaCgkdGFibGVzWyRjdXJyZW50dGFibGVdLCAkY3VycmVudGl0ZW0pOw0KCQkJCQkJJGVudHJpZXMrKzsNCgkJCQkJfQ0KCQkJCX0NCgkJCQlicmVhazsNCgkJCWNhc2UgJ2NvbXBsZXRlJzoNCgkJCQlpZigkZGF0YVsnbGV2ZWwnXSA9PSA0KXsNCgkJCQkJJGN1cnJlbnRpdGVtWyRkYXRhWyd0YWcnXV0gPSAkZGF0YVsndmFsdWUnXTsNCgkJCQl9ZWxzZWlmKCRkYXRhWydsZXZlbCddID09IDEgJiYgJGRhdGFbJ3RhZyddID09ICd0ZW1wbGF0ZScgJiYgaXNzZXQoJGRhdGFbJ2F0dHJpYnV0ZXMnXSkgJiYgaXNzZXQoJGRhdGFbJ2F0dHJpYnV0ZXMnXVsnbmFtZSddKSApew0KCQkJCQkkdGVtcGxhdGVzWyRkYXRhWydhdHRyaWJ1dGVzJ11bJ25hbWUnXV0gPSAkZGF0YVsndmFsdWUnXTsNCgkJCQl9DQoJCQkJYnJlYWs7DQoJCX0NCgl9DQoNCglpZihjb3VudCgkdGFibGVzKSA9PSAwKQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAnaW1wb3J0JywgJHJldHVybmlkLCBhcnJheSgnbW9kdWxlX21lc3NhZ2UnPT4kdGhpcy0+TGFuZygnZXJyb3JfaW52YWxpZHhtbCcpKSApOw0KCQ0KCSRfU0VTU0lPTlsnY3RsbW1fbW9kdWxlaW1wb3J0J10gPSBhcnJheSgpOw0KCSRfU0VTU0lPTlsnY3RsbW1fbW9kdWxlaW1wb3J0J11bJ3RhYmxlcyddID0gJHRhYmxlczsNCgkkX1NFU1NJT05bJ2N0bG1tX21vZHVsZWltcG9ydCddWyd0ZW1wbGF0ZXMnXSA9ICR0ZW1wbGF0ZXM7DQoJDQoJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgImltcG9ydCIsICRyZXR1cm5pZCk7DQoJZWNobyAnPHA+Jy4kdGhpcy0+TGFuZygnaW1wb3J0X2VudHJpZXMnLCRlbnRyaWVzKS4nPC9wPic7DQoJZWNobyAnPGZpZWxkc2V0PjxsZWdlbmQ+PGI+Jy4kdGhpcy0+TGFuZygnaW1wb3J0d2hpY2hsZXZlbHMnKS4nPC9iPjwvbGVnZW5kPic7DQoJJGNob2ljZXMgPSBhcnJheSgpOw0KCWZvcmVhY2goJHRhYmxlcyBhcyAka2V5PT4kdmFsdWUpew0KCQlpZihjb3VudCgkdmFsdWUpID4wKQkkY2hvaWNlc1ska2V5LicgKCcuY291bnQoJHZhbHVlKS4nKSddID0gJGtleTsNCgl9DQoJZWNobyAkdGhpcy0+RG9DaGVja2JveGVzKCRpZCwgJ3NlbGVjdGVkbGV2ZWxzJywgJGNob2ljZXMsICRjaG9pY2VzKS4nPC9maWVsZHNldD48YnIvPic7DQoJaWYoY291bnQoJHRlbXBsYXRlcykgPiAwKQllY2hvICc8cD4nLiR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwiaW1wb3J0X3RlbXBsYXRlcyIsMSwwKS4nICcuJHRoaXMtPkxhbmcoJ2ltcG9ydF90ZW1wbGF0ZXMnKS4nPC9wPic7DQoJZWNobyAnPHA+Jy4kdGhpcy0+Q3JlYXRlSW5wdXRDaGVja2JveCgkaWQsImltcG9ydF9kZWxldGUiLDEsMCkuJyAnLiR0aGlzLT5MYW5nKCdpbXBvcnRfZGVsZXRlJykuJzwvcD4nOw0KCWVjaG8gJzxwPicuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgImRvaW1wb3J0IiwgbGFuZygic3VibWl0IikpLic8L3A+JzsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQoNCn1lbHNlaWYoaXNzZXQoJHBhcmFtc1snZG9pbXBvcnQnXSkgJiYgaXNzZXQoJF9TRVNTSU9OWydjdGxtbV9tb2R1bGVpbXBvcnQnXSkgJiYgaXNzZXQoJHBhcmFtc1snc2VsZWN0ZWRsZXZlbHMnXSkpew0KDQoJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCSR0YWJsZXByZWZpeCA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iOw0KCSRlcnJvcnMgPSAnJzsNCgkkYWRkZWQgPSAwOw0KCQ0KCWlmKGlzc2V0KCRwYXJhbXNbJ2ltcG9ydF90ZW1wbGF0ZXMnXSkgJiYgJHBhcmFtc1snaW1wb3J0X3RlbXBsYXRlcyddICYmIGlzc2V0KCRfU0VTU0lPTlsnY3RsbW1fbW9kdWxlaW1wb3J0J11bJ3RlbXBsYXRlcyddKSApew0KCQlmb3JlYWNoKCRfU0VTU0lPTlsnY3RsbW1fbW9kdWxlaW1wb3J0J11bJ3RlbXBsYXRlcyddIGFzICR0cGxuYW1lPT4kdGVtcGxhdGUpew0KCQkJJHRoaXMtPlNldFRlbXBsYXRlKCR0cGxuYW1lLCAkdGVtcGxhdGUpOw0KCQl9DQoJfQ0KCQ0KCSRkZWxldGUgPSAoaXNzZXQoJHBhcmFtc1snaW1wb3J0X2RlbGV0ZSddKSAmJiAkcGFyYW1zWydpbXBvcnRfZGVsZXRlJ10gKTsNCgkNCglmb3JlYWNoKCRwYXJhbXNbJ3NlbGVjdGVkbGV2ZWxzJ10gYXMgJHRhYmxlbmFtZSl7DQoJCQ0KCQlpZihpc19jYWxsYWJsZShhcnJheSgkZGIsJ01ldGFDb2x1bW5OYW1lcycpKSl7DQoJCQkkZXhpc3RpbmdfZmllbGRzID0gYXJyYXkoKTsNCgkJCSRjb2x1bW5zID0gJGRiLT5NZXRhQ29sdW1uTmFtZXMoJHRhYmxlcHJlZml4LiR0YWJsZW5hbWUpOw0KCQkJZm9yZWFjaCgkY29sdW1ucyBhcyAkY29sKQlhcnJheV9wdXNoKCRleGlzdGluZ19maWVsZHMsc3RydG9sb3dlcigkY29sKSk7DQoJCX1lbHNlew0KCQkJJGNvbHVtbnMgPSBmYWxzZTsNCgkJfQ0KCQkNCgkJJHByb2NlZWQgPSB0cnVlOw0KCQkkaGlnaGVzdGlkID0gMDsNCgkJaWYoaXNzZXQoJF9TRVNTSU9OWydjdGxtbV9tb2R1bGVpbXBvcnQnXVsndGFibGVzJ11bJHRhYmxlbmFtZV0pKXsNCgkJCWlmKCRkZWxldGUpCSRkYi0+RXhlY3V0ZSgiVFJVTkNBVEUgVEFCTEUgIi4kdGFibGVwcmVmaXguJHRhYmxlbmFtZSk7DQoJCQkkdGFibGUgPSAkX1NFU1NJT05bJ2N0bG1tX21vZHVsZWltcG9ydCddWyd0YWJsZXMnXVskdGFibGVuYW1lXTsNCgkJCSRpID0gMDsNCgkJCXdoaWxlKCRwcm9jZWVkICYmICRpIDwgY291bnQoJHRhYmxlKSl7DQoJCQkJJHZhbHVlcyA9IGFycmF5KCk7DQoJCQkJJHF1ZXJ5ID0gJyc7DQoJCQkJZm9yZWFjaCgkdGFibGVbJGldIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJCWlmKCAhJGNvbHVtbnMgfHwgaW5fYXJyYXkoJGtleSwkZXhpc3RpbmdfZmllbGRzKSApew0KCQkJCQkJJHF1ZXJ5IC49ICgkcXVlcnk9PScnPycnOicsICcpLiJgIi4ka2V5LiJgPT8iOw0KCQkJCQkJJHZhbHVlc1tdID0gKCR2YWx1ZT09PU5VTEw/Jyc6JHZhbHVlKTsNCgkJCQkJfQ0KCQkJCX0NCgkJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGVwcmVmaXguJHRhYmxlbmFtZS4iIFNFVCAiLiRxdWVyeTsNCgkJCQlpZigkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR2YWx1ZXMpKXsNCgkJCQkJaWYoaXNzZXQoJHRhYmxlWyRpXVsnaWQnXSkgJiYgJHRhYmxlWyRpXVsnaWQnXSA+ICRoaWdoZXN0aWQpCSRoaWdoZXN0aWQgPSAkdGFibGVbJGldWydpZCddOw0KCQkJCQkkYWRkZWQrKzsNCgkJCQl9ZWxzZXsNCgkJCQkJJHByb2NlZWQgPSBmYWxzZTsNCgkJCQkJJGVycm9ycyAuPSAoJGVycm9ycz09Jyc/Jyc6JywgJykuJHRhYmxlbmFtZTsNCgkJCQl9CQ0KCQkJCSRpKys7DQoJCQl9DQoJCX0NCgkJJGN1cnJlbnRpZCA9IDA7DQoJCXdoaWxlKCRjdXJyZW50aWQgPCAkaGlnaGVzdGlkKXsNCgkJCSRjdXJyZW50aWQgPSAkZGItPkdlbklEKCR0YWJsZXByZWZpeC4kdGFibGVuYW1lLidfc2VxJyk7DQoJCX0NCgl9DQoNCglpZihpc3NldCgkX1NFU1NJT05bJ2N0bG1tX21vZHVsZWltcG9ydCddWyd0YWJsZXMnXVsnZmllbGRvcHRpb25zJ10pKXsNCgkJJHRhYmxlbmFtZSA9ICJmaWVsZG9wdGlvbnMiOw0KCQkkcHJvY2VlZCA9IHRydWU7DQoJCSRoaWdoZXN0aWQgPSAwOw0KCQlpZigkZGVsZXRlKQkkZGItPkV4ZWN1dGUoIlRSVU5DQVRFIFRBQkxFICIuJHRhYmxlcHJlZml4LiR0YWJsZW5hbWUpOw0KCQkkdGFibGUgPSAkX1NFU1NJT05bJ2N0bG1tX21vZHVsZWltcG9ydCddWyd0YWJsZXMnXVskdGFibGVuYW1lXTsNCgkJJGkgPSAwOw0KCQl3aGlsZSgkcHJvY2VlZCAmJiAkaSA8IGNvdW50KCR0YWJsZSkpew0KCQkJJHZhbHVlcyA9IGFycmF5KCk7DQoJCQkkcXVlcnkgPSAnJzsNCgkJCWZvcmVhY2goJHRhYmxlWyRpXSBhcyAka2V5PT4kdmFsdWUpew0KCQkJCWlmKCAhJGNvbHVtbnMgfHwgaW5fYXJyYXkoJGtleSwkZXhpc3RpbmdfZmllbGRzKSApew0KCQkJCQkkcXVlcnkgLj0gKCRxdWVyeT09Jyc/Jyc6JywgJykuImAiLiRrZXkuImA9PyI7DQoJCQkJCSR2YWx1ZXNbXSA9ICgkdmFsdWU9PT1OVUxMPycnOiR2YWx1ZSk7DQoJCQkJfQ0KCQkJfQ0KCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlcHJlZml4LiR0YWJsZW5hbWUuIiBTRVQgIi4kcXVlcnk7DQoJCQlpZigkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR2YWx1ZXMpKXsNCgkJCQlpZihpc3NldCgkdGFibGVbJGldWydpZCddKSAmJiAkdGFibGVbJGldWydpZCddID4gJGhpZ2hlc3RpZCkJJGhpZ2hlc3RpZCA9ICR0YWJsZVskaV1bJ2lkJ107DQoJCQkJJGFkZGVkKys7DQoJCQl9ZWxzZXsNCgkJCQllY2hvIG15c3FsX2Vycm9yKCk7DQoJCQkJJHByb2NlZWQgPSBmYWxzZTsNCgkJCQkkZXJyb3JzIC49ICgkZXJyb3JzPT0nJz8nJzonLCAnKS4kdGFibGVuYW1lOw0KCQkJfQkNCgkJCSRpKys7DQoJCX0NCgkJJGN1cnJlbnRpZCA9IDA7DQoJCXdoaWxlKCRjdXJyZW50aWQgPCAkaGlnaGVzdGlkKXsNCgkJCSRjdXJyZW50aWQgPSAkZGItPkdlbklEKCR0YWJsZXByZWZpeC4kdGFibGVuYW1lLidfc2VxJyk7DQoJCX0JCQ0KCQkNCgl9DQoJDQoJdW5zZXQoJF9TRVNTSU9OWydjdGxtbV9tb2R1bGVpbXBvcnQnXSk7DQoJDQoJJG1lc3NhZ2UgPSAkdGhpcy0+TGFuZygnaW1wb3J0X2RvbmUnLCRhZGRlZCk7DQoJaWYoJGVycm9ycyAhPSAnJykgJG1lc3NhZ2UgLj0gJzxici8+Jy4kdGhpcy0+TGFuZygnY291bGRub3RpbXBvcnQnKS4kZXJyb3JzOw0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsICdkZWZhdWx0YWRtaW4nLCAkcmV0dXJuaWQsIGFycmF5KCdtb2R1bGVfbWVzc2FnZSc9PiRtZXNzYWdlKSApOw0KDQp9ZWxzZXsNCg0KCWVjaG8gJzxwPicuJHRoaXMtPkxhbmcoJ2ltcG9ydF9maWxlcHJvbXB0JykuJzwvcD4nOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1TdGFydCgkaWQsICdpbXBvcnQnLCAkcmV0dXJuaWQsICdwb3N0JywgJ211bHRpcGFydC9mb3JtLWRhdGEnKTsNCgllY2hvICR0aGlzLT5DcmVhdGVGaWxlVXBsb2FkSW5wdXQoJGlkLCd4bWxmaWxlJykuJyAnLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsJ3N1Ym1pdCcsbGFuZygnc2VuZCcpKTsNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7CQ0KCQ0KfQ0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/action.movesomething.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQokbmV3cGFyYW1zID0gaXNzZXQoJHBhcmFtc1sibGV2ZWxuYW1lIl0pP2FycmF5KCJhY3RpdmVfdGFiIj0+JHBhcmFtc1sibGV2ZWxuYW1lIl0pOmFycmF5KCk7DQoNCmlmICghaXNzZXQoJHBhcmFtc1sibW92ZSJdKSB8fCAhaXNzZXQoJHBhcmFtc1sidGFibGVuYW1lIl0pIHx8ICFpc3NldCgkcGFyYW1zWyJwcmVmaXgiXSkgfHwgIWlzc2V0KCRwYXJhbXNbImN1cnJlbnRvcmRlciJdKSApDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCg0KJGRiID0mICR0aGlzLT5HZXREYigpOw0KJGRidGFibGUgPSBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV8iLiRwYXJhbXNbInRhYmxlbmFtZSJdOw0KJG9yZGVyID0gJHBhcmFtc1siY3VycmVudG9yZGVyIl07DQokaXRlbWlkID0gJHBhcmFtc1skcGFyYW1zWyJwcmVmaXgiXS4iaWQiXTsNCiR3cGFyZW50ID0gaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pPyIgQU5EIHBhcmVudD0nIi4kcGFyYW1zWyJwYXJlbnQiXS4iJyI6IiI7DQoNCnN3aXRjaCgkcGFyYW1zWyJtb3ZlIl0pew0KCQ0KCWNhc2UgImRlbGV0ZSI6DQoJCWlmKGlzc2V0KCRwYXJhbXNbInNoYXJlY2hpbGRyZW4iXSkgJiYgJHBhcmFtc1sic2hhcmVjaGlsZHJlbiJdKXsNCgkJCS8vIHRoaXMgbGV2ZWwgc2hhcmUgaXRzIGNoaWxkcmVuLi4uIHdlIGRlbGV0ZSB0aGUgaXRlbSdzIGxpbmtzIHRvIGNoaWxkcmVuDQoJCQlpZigkY2hpbGRsZXZlbCA9ICR0aGlzLT5nZXRfbmV4dGxldmVsKCRwYXJhbXNbImxldmVsbmFtZSJdKSl7DQoJCQkJJGxpbmt0YWJsZSA9ICRkYnRhYmxlLiJfaGFzXyIuJGNoaWxkbGV2ZWw7DQoJCQkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICRsaW5rdGFibGUgV0hFUkUgIi4kcGFyYW1zWyJsZXZlbG5hbWUiXS4iX2lkPT8iOw0KCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtaWQpKTsNCgkJCX0NCgkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJjaGlsZCJdKSAmJiAkcGFyYW1zWyJjaGlsZCJdICE9ICIiKXsNCgkJCS8vIHRoaXMgbGV2ZWwgZG9lc24ndCBzaGFyZSBpdHMgY2hpbGRyZW4uLi4gd2UgZGVsZXRlIHRoZSBpdGVtJ3MgY2hpbGRyZW4NCgkJCSRjaGlsZHRhYmxlID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfIi4kcGFyYW1zWyJjaGlsZCJdOw0KCQkJJHF1ZXJ5ID0gIkRFTEVURSBGUk9NICRjaGlsZHRhYmxlIFdIRVJFIHBhcmVudCA9ID8iOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJGl0ZW1pZCkpOw0KCQl9DQoJCWlmKGlzc2V0KCRwYXJhbXNbInNoYXJlZGJ5cGFyZW50cyJdKSAmJiAkcGFyYW1zWyJzaGFyZWRieXBhcmVudHMiXSl7DQoJCQkvLyB0aGlzIGl0ZW0gaXMgc2hhcmVkIGJ5IGl0cyBwYXJlbnRzLi4uIHdlIGRlbGV0ZSBsaW5rcyBmcm9tIHBhcmVudHMgdG8gdGhpcyBjaGlsZA0KCQkJaWYoJHBhcmVudGxldmVsID0gJHRoaXMtPmdldF9uZXh0bGV2ZWwoJHBhcmFtc1sibGV2ZWxuYW1lIl0sIGZhbHNlKSl7DQoJCQkJJGxpbmt0YWJsZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRwYXJlbnRsZXZlbC4iX2hhc18iLiRwYXJhbXNbImxldmVsbmFtZSJdOw0KCQkJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAkbGlua3RhYmxlIFdIRVJFICIuJHBhcmFtc1sibGV2ZWxuYW1lIl0uIl9pZD0/IjsNCgkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbWlkKSk7DQoJCQl9DQoJCX0NCgkJDQoJCQ0KCQkkcXVlcnkgPSAiREVMRVRFIEZST00gJGRidGFibGUgV0hFUkUgaWQgPSA/IExJTUlUIDEiOw0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbWlkKSk7DQoNCgkJLy8gVVBEQVRFIFRIRSBPUkRFUiBPRiBUSEUgSVRFTVMNCgkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBpdGVtX29yZGVyID4gPyAiLiR3cGFyZW50Ow0KCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkb3JkZXIpKTsNCg0KCQlpZihpc3NldCgkcGFyYW1zWyJsZXZlbG5hbWUiXSkpCSR0aGlzLT5TZW5kRXZlbnQoIkhWQV9kZWxldGVkIiwgYXJyYXkoIndoYXQiPT4kcGFyYW1zWyJsZXZlbG5hbWUiXSkpOw0KCQkkbmV3cGFyYW1zWyJtb2R1bGVfbWVzc2FnZSJdID0gJHRoaXMtPmxhbmcoIm1lc3NhZ2VfZGVsZXRlZCIpOw0KCQlicmVhazsJDQoNCgljYXNlICJ1cCI6DQoJCWlmICgkb3JkZXIgIT0gMSl7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyKzEpIFdIRVJFIGl0ZW1fb3JkZXIgPSA/ICR3cGFyZW50IExJTUlUIDE7IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvcmRlci0xKSk7DQoJCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGlkID0gPyBMSU1JVCAxOyI7DQoJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkaXRlbWlkKSk7DQoJCX0NCgkJYnJlYWs7DQoJCQ0KCWNhc2UgImRvd24iOg0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGl0ZW1fb3JkZXIgPSA/ICR3cGFyZW50IExJTUlUIDE7IjsNCgkJaWYoICRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRvcmRlcisxKSkgKXsNCgkJCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkgV0hFUkUgaWQgPSA/IExJTUlUIDE7IjsNCgkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRpdGVtaWQpKTsNCgkJfQ0KCQlicmVhazsNCn0NCg0KJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJG5ld3BhcmFtcyk7DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.reorder.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCiRkYiA9ICR0aGlzLT5HZXREYigpOw0KJGxldmVsYXJyYXkgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCiRvcmRlcmVkYnlwYXJlbnQgPSBhcnJheSgiY2F0ZWdvcnkiLCJhbGJ1bSIsInZpZGVvIik7DQppZihpc3NldCgkcGFyYW1zWyJjYW5jZWwiXSkpew0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsImRlZmF1bHRhZG1pbiIsJHJldHVybmlkKTsNCn1lbHNlaWYoaXNzZXQoJHBhcmFtc1sic3VibWl0cmVvcmRlciJdKSl7DQoJZXhwbG9kZSgiLCIsJHBhcmFtc1sibmV3b3JkZXIiXSk7DQoJJG9yZGVyID0gYXJyYXkoKTsNCgkkbGFzdGlkID0gYXJyYXkoKTsNCglmb3JlYWNoKGV4cGxvZGUoIiwiLCRwYXJhbXNbIm5ld29yZGVyIl0pIGFzICRpdGVtKXsNCgkJbGlzdCgkbGV2ZWwsJGl0ZW1pZCkgPSBleHBsb2RlKCJfIiwkaXRlbSk7DQoJCSRsYXN0aWRbJGxldmVsXSA9ICRpdGVtaWQ7DQoJCWlmKCFpc3NldCgkb3JkZXJbJGxldmVsXSkpCSRvcmRlclskbGV2ZWxdPWFycmF5KCk7DQoJCWlmKCRsZXZlbD09MSl7DQoJCQkkb3JkZXJbMV1bXT0kaXRlbWlkOw0KCQl9ZWxzZXsNCgkJCWlmKCFpc3NldCgkb3JkZXJbJGxldmVsXVskbGFzdGlkWyRsZXZlbC0xXV0pKQkkb3JkZXJbJGxldmVsXVskbGFzdGlkWyRsZXZlbC0xXV09YXJyYXkoKTsNCgkJCSRvcmRlclskbGV2ZWxdWyRsYXN0aWRbJGxldmVsLTFdXVtdID0gJGl0ZW1pZDsNCgkJfQ0KCX0NCglmb3JlYWNoKCRvcmRlciBhcyAka2V5PT4kaXRlbXMpew0KCQkkbGV2ZWwgPSAkbGV2ZWxhcnJheVska2V5LTFdOw0KCQkkaXRlbV9vcmRlciA9IDE7DQoJCWlmKCRrZXk9PTEpew0KCQkJZm9yZWFjaCgkaXRlbXMgYXMgJGl0ZW0pew0KCQkJCSRxdWVyeSA9ICJVUERBVEUgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfIi4kbGV2ZWwuIiBTRVQgaXRlbV9vcmRlcj0/IFdIRVJFIGlkPT8gTElNSVQgMSI7DQoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkaXRlbV9vcmRlciwkaXRlbSkpOw0KCQkJCSRpdGVtX29yZGVyKys7DQoJCQl9DQoJCX1lbHNlew0KCQkJZm9yZWFjaCgkaXRlbXMgYXMgJHBhcmVudD0+JGNoaWxkcmVuKXsNCgkJCQlpZihpbl9hcnJheSgkbGV2ZWwsICRvcmRlcmVkYnlwYXJlbnQpKQkkaXRlbV9vcmRlciA9IDE7DQoJCQkJZm9yZWFjaCgkY2hpbGRyZW4gYXMgJGNoaWxkKXsNCgkJCQkJJHF1ZXJ5ID0gIlVQREFURSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRsZXZlbC4iIFNFVCBpdGVtX29yZGVyPT8gV0hFUkUgaWQ9PyBMSU1JVCAxIjsNCgkJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkaXRlbV9vcmRlciwkY2hpbGQpKTsNCgkJCQkJJGl0ZW1fb3JkZXIrKzsNCgkJCQl9DQoJCQl9CQkJDQoJCQkJDQoJCX0NCgkJDQoJfQ0KCSR0aGlzLT5SZWRpcmVjdCgkaWQsImRlZmF1bHRhZG1pbiIsJHJldHVybmlkLGFycmF5KCJtb2R1bGVfbWVzc2FnZSI9PiR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIikpKTsNCn0NCg0KZWNobyAiPGgxPiIuJHRoaXMtPkxhbmcoInJlb3JkZXIiKS4iPC9oMT4iOw0KJGkgPSAwOw0KJHNlbGVjdCA9ICIiOw0KJHRhYmxlcyA9ICIiOw0KJG9yZGVyID0gIiI7DQp3aGlsZSgkaSA8IGNvdW50KCRsZXZlbGFycmF5KSl7DQoJJGxldmVsID0gJGxldmVsYXJyYXlbJGldOw0KCSRpKys7DQoJJHNlbGVjdCAuPSAoJHNlbGVjdD09IiI/IiI6IiwgIikuInRhYmxlIi4kaS4iLmlkIHRhYmxlIi4kaS4iX2lkLCB0YWJsZSIuJGkuIi5uYW1lIHRhYmxlIi4kaS4iX25hbWUiOw0KCWlmKCRpID09IDEpew0KCQkkdGFibGVzID0gY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJGxldmVsLiIgdGFibGUiLiRpOw0KCX1lbHNlew0KCQkkdGFibGVzIC49ICIgTEVGVCBKT0lOICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJGxldmVsLiIgdGFibGUiLiRpLiAiIE9OIHRhYmxlIi4oJGktMSkuIi5pZD10YWJsZSIuJGkuIi5wYXJlbnQiOw0KCX0NCgkkb3JkZXIgLj0gKCRvcmRlcj09IiI/IiI6IiwgIikuInRhYmxlIi4kaS4iLml0ZW1fb3JkZXIiOw0KfQ0KJHF1ZXJ5ID0gIlNFTEVDVCAkc2VsZWN0IEZST00gJHRhYmxlcyBPUkRFUiBCWSAkb3JkZXIiOw0KJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoNCiRsYXN0ID0gYXJyYXkoKTsNCiRsaXN0cyA9IGFycmF5KCk7DQokY29udGFpbm1lbnQgPSBhcnJheSgpOw0KJHBhcnNlbGV2ZWwgPSAxOw0KZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgInJlb3JkZXIiLCAkcmV0dXJuaWQsICdwb3N0JywgJycsIGZhbHNlLCAnJywgYXJyYXkoKSwgJyBvbnN1Ym1pdD0icmV0dXJuIGN0bG1tX3N1Ym1pdF9yZW9yZGVyKCk7IicpOw0Kd2hpbGUoJHBhcnNlbGV2ZWwgPD0gJGkpew0KCSRsYXN0WyRwYXJzZWxldmVsXSA9IGZhbHNlOw0KCSRsaXN0c1skcGFyc2VsZXZlbF0gPSBhcnJheSgpOw0KCSRjb250YWlubWVudFskcGFyc2VsZXZlbF0gPSAiIjsNCgkkcGFyc2VsZXZlbCsrOw0KfQ0KZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCJzdWJtaXRyZW9yZGVyIixsYW5nKCJzdWJtaXQiKSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsInJlc2V0b3JkZXIiLCR0aGlzLT5MYW5nKCJyZXNldG9yZGVyIikpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCJjYW5jZWwiLGxhbmcoImNhbmNlbCIpKS4iPC9wPiI7DQokY3VycmVudGxldmVsID0gMTsNCmVjaG8gJzx1bCBjbGFzcz0ic29ydGFibGVMaXN0IiBpZD0iY3RsbW1fYmlnc29ydGxpc3QiPic7DQp3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJJHBhcnNlbGV2ZWwgPSAxOw0KCXdoaWxlKCRwYXJzZWxldmVsIDw9ICRpKXsNCgkJaWYoJHJvd1sidGFibGUiLiRwYXJzZWxldmVsLiJfaWQiXSAhPSAkbGFzdFskcGFyc2VsZXZlbF0pew0KCQkJaWYoJGN1cnJlbnRsZXZlbCA9PSAkcGFyc2VsZXZlbCl7DQoJCQkJaWYoJGxhc3RbJGN1cnJlbnRsZXZlbF0pCWVjaG8gIjwvbGk+IjsNCgkJCX1lbHNlaWYoJGN1cnJlbnRsZXZlbCA+ICRwYXJzZWxldmVsKXsNCgkJCQl3aGlsZSgkY3VycmVudGxldmVsID4gJHBhcnNlbGV2ZWwpew0KCQkJCQllY2hvICI8L2xpPjwvdWw+PC9saT4iOw0KCQkJCQkkY3VycmVudGxldmVsLS07DQoJCQkJfQ0KCQkJfWVsc2VpZigkY3VycmVudGxldmVsIDwgJHBhcnNlbGV2ZWwpew0KCQkJCSRsaXN0aWQgPSAibGlzdF8iLiRsZXZlbGFycmF5WyRwYXJzZWxldmVsXS4iXyIuJHJvd1sidGFibGUiLiRwYXJzZWxldmVsLiJfaWQiXTsNCgkJCQkkY3VycmVudGxldmVsKys7DQoJCQkJZWNobyAnPHVsIGlkPSInLiRsaXN0aWQuJyIgY2xhc3M9InNvcnRhYmxlTGlzdCI+JzsNCgkJCQkkbGlzdHNbJHBhcnNlbGV2ZWxdW10gPSAkbGlzdGlkOw0KCQkJCSRjb250YWlubWVudFskcGFyc2VsZXZlbF0gLj0gKCRjb250YWlubWVudFskcGFyc2VsZXZlbF09PSIiPyIiOiIsIikuJyInLiRsaXN0aWQuJyInOw0KCQkJfQ0KCQkJZWNobyAnPGxpIGlkPSJjdGxtbWxldmVsJy4kcGFyc2VsZXZlbC4nXycuJHJvd1sidGFibGUiLiRwYXJzZWxldmVsLiJfaWQiXS4nIj4nLiRyb3dbInRhYmxlIi4kcGFyc2VsZXZlbC4iX25hbWUiXTsNCgkJCSRsYXN0WyRwYXJzZWxldmVsXSA9ICRyb3dbInRhYmxlIi4kcGFyc2VsZXZlbC4iX2lkIl07DQoJCX0NCgkJJHBhcnNlbGV2ZWwrKzsNCgl9DQp9DQplY2hvICI8L2xpPiI7DQp3aGlsZSgkY3VycmVudGxldmVsID4gMSl7DQoJZWNobyAiPC91bD48L2xpPiI7DQoJJGN1cnJlbnRsZXZlbC0tOw0KfQ0KZWNobyAiPC91bD4iOw0KZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCJzdWJtaXRyZW9yZGVyIixsYW5nKCJzdWJtaXQiKSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsInJlc2V0b3JkZXIiLCR0aGlzLT5MYW5nKCJyZXNldG9yZGVyIikpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCJjYW5jZWwiLGxhbmcoImNhbmNlbCIpKS4iPC9wPiI7DQplY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsIm5ld29yZGVyIiwiIiwnIGlkPSJjdGxtbV9uZXdvcmRlciInKTsNCmVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCg0KJHJlc3RyaWN0ZWQgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgicmVzdHJpY3RfcGVybWlzc2lvbnMiLGZhbHNlKTsNCmlmKCRyZXN0cmljdGVkICYmICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9hZHZhbmNlZCIpKQkkcmVzdHJpY3RlZCA9IGZhbHNlOw0KDQplY2hvICc8c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+DQonOw0KaWYoISRyZXN0cmljdGVkIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oInByb2RjYXRhbG9ndWVfbWFuYWdlXyIuJGxldmVsYXJyYXlbMF0pKQllY2hvICdTb3J0YWJsZS5jcmVhdGUoImN0bG1tX2JpZ3NvcnRsaXN0Iik7DQonOw0KDQpmb3JlYWNoKCRsaXN0cyBhcyAkbGV2ZWxudW1iZXI9PiRsZXZlbCl7DQoJaWYoISRyZXN0cmljdGVkIHx8ICR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9tYW5hZ2VfIi4kbGV2ZWxhcnJheVskbGV2ZWxudW1iZXItMV0pKXsNCgkJZm9yZWFjaCgkbGV2ZWwgYXMgJGxpc3Qpew0KCQkJLyoNCgkJCSAqIHdlIGRvbid0IHVzZSBjb250YWlubWVudCB5ZXQgYmVjYXVzZSB3ZSBkb24ndCB3YW50IHRvIGRlYWwgd2l0aCBjaGFuZ2luZyBwYXJlbnRzLi4uIHlldC4uLg0KCQkJICogZWNobyAnU29ydGFibGUuY3JlYXRlKCInLiRsaXN0LiciJy4oY291bnQoJGxldmVsKT4xPyIse2NvbnRhaW5tZW50OlsiLiRjb250YWlubWVudFskbGV2ZWxudW1iZXJdLiJdLCBkcm9wT25FbXB0eTpmYWxzZX0iOiIiKS4iKTsNCgkJCSAqICI7DQoJCQkgKi8NCgkJCWVjaG8gJ1NvcnRhYmxlLmNyZWF0ZSgiJy4kbGlzdC4nIik7DQoJJzsNCgkJfQ0KCX0NCn0NCmVjaG8gJw0KZnVuY3Rpb24gY3RsbW1fc3VibWl0X3Jlb3JkZXIoKXsNCgl2YXIgbmV3b3JkZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY3RsbW1fbmV3b3JkZXIiKTsNCgl2YXIgbGlzdG5vZGVzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImN0bG1tX2JpZ3NvcnRsaXN0IikuZ2V0RWxlbWVudHNCeVRhZ05hbWUoImxpIik7DQoJZm9yKGk9MDtpPGxpc3Rub2Rlcy5sZW5ndGg7aSsrKXsNCgkJaWYobmV3b3JkZXIudmFsdWUgIT0gIiIpIG5ld29yZGVyLnZhbHVlICs9ICIsIjsNCgkJbmV3b3JkZXIudmFsdWUgKz0gbGlzdG5vZGVzW2ldLmlkLnN1YnN0cigxMCk7DQoJfQ0KCXJldHVybiB0cnVlOwkNCn0NCmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCInLiRpZC4nbW9kdWxlZm9ybV8xIikub25zdWJtaXQgPSBmdW5jdGlvbigpew0KCXJldHVybiBjdGxtbV9zdWJtaXRfcmVvcmRlcigpOw0KfQ0KPC9zY3JpcHQ+JzsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/action.search.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCiRsZXZlbGFycmF5ID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQokZmluYWxsZXZlbCA9ICJ2aWRlbyI7DQoNCiRzZWFyY2htb2RlID0gKGlzc2V0KCRwYXJhbXNbInNlYXJjaG1vZGUiXSkgJiYgaW5fYXJyYXkoJHBhcmFtc1sic2VhcmNobW9kZSJdLCBhcnJheSgic2ltcGxlIiwiYWR2YW5jZWQiKSkpPyRwYXJhbXNbInNlYXJjaG1vZGUiXToiYWR2YW5jZWQiOw0KDQppZihpc3NldCgkcGFyYW1zWyJzdWJtaXRzZWFyY2giXSkpew0KCS8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkvLyAjIFNFQVJDSCBSRVNVTFRTDQoJJGlubGluZSA9IChpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkgJiYgJHBhcmFtc1siaW5saW5lIl0pP3RydWU6ZmFsc2U7DQoJJGxpbmtyZXR1cm5pZCA9IChpc3NldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pKT8kdGhpcy0+Z2V0X3BhZ2VpZCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pOmZhbHNlOw0KCWlmKCEkbGlua3JldHVybmlkKQkkbGlua3JldHVybmlkID0gJHJldHVybmlkOw0KCSR3aGF0ID0gJHBhcmFtc1sid2hhdCJdOw0KCSRsaW1pdCA9IGlzc2V0KCRwYXJhbXNbImxpbWl0Il0pPyRwYXJhbXNbImxpbWl0Il06MDsNCglpZihpc3NldCgkcGFyYW1zWyJuYnBlcnBhZ2UiXSkgJiYgJHBhcmFtc1sibmJwZXJwYWdlIl0gPiAwKXsNCgkJJG5icGVycGFnZSA9IChpbnQpICRwYXJhbXNbIm5icGVycGFnZSJdOw0KCQkkbGltaXQgPSAoKChpc3NldCgkcGFyYW1zWyJwYWdlaW5kZXgiXSk/JHBhcmFtc1sicGFnZWluZGV4Il06MSktMSkgKiAkbmJwZXJwYWdlKS4iLCIuJG5icGVycGFnZTsNCgl9ZWxzZXsNCgkJJG5icGVycGFnZSA9IGZhbHNlOw0KCX0NCgkNCgkkZW1wdHl0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlbXB0eXRlbXBsYXRlIiwiKioiKTsNCgkNCgkvLyB3ZSBwcmVwYXJlIHRoZSAiZG8gYW5vdGhlciBzZWFyY2giIGxpbmssIGtlZXBpbmcgdGhlIHNlYXJjaCBwYXJhbWV0ZXJzDQoJJG5ld3BhcmFtcyA9IGFycmF5KCJ3aGF0Ij0+JHdoYXQsICJzZWFyY2htb2RlIj0+JHNlYXJjaG1vZGUpOw0KCWlmKGlzc2V0KCRwYXJhbXNbImxpc3R0ZW1wbGF0ZSJdKSkJJG5ld3BhcmFtc1sibGlzdHRlbXBsYXRlIl0gPSAkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXTsNCglpZihpc3NldCgkcGFyYW1zWyJsaW1pdCJdKSkJCQkkbmV3cGFyYW1zWyJsaW1pdCJdID0gJHBhcmFtc1sibGltaXQiXTsNCglpZihpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkpCQkkbmV3cGFyYW1zWyJpbmxpbmUiXSA9ICRwYXJhbXNbImlubGluZSJdOw0KCWlmKGlzc2V0KCRwYXJhbXNbIm9yZGVyYnkiXSkpCQkkbmV3cGFyYW1zWyJvcmRlcmJ5Il0gPSAkcGFyYW1zWyJvcmRlcmJ5Il07DQoJaWYoaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pKQkJJG5ld3BhcmFtc1sibmJwZXJwYWdlIl0gPSAkcGFyYW1zWyJuYnBlcnBhZ2UiXTsNCglpZihpc3NldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pKQkkbmV3cGFyYW1zWyJkZXRhaWxwYWdlIl0gPSAkcGFyYW1zWyJkZXRhaWxwYWdlIl07DQoJJGJhY2tsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAic2VhcmNoIiwgJHJldHVybmlkLCAkdGhpcy0+TGFuZygic2VhcmNoYWdhaW4iKSwgJG5ld3BhcmFtcywgIiIsIGZhbHNlLCAkaW5saW5lLCAiIiwgZmFsc2UsIGZhbHNlKTsJDQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJiYWNrbGluayIsJGJhY2tsaW5rKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImJyZWFkY3J1bWJzIixmYWxzZSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYXJlbnRvYmoiLGZhbHNlKTsNCgkNCgkkbXVsdGlwbGVsaXN0ZmllbGRzID0gYXJyYXkoKTsNCgkNCglpZigkc2VhcmNobW9kZSA9PSAiYWR2YW5jZWQiKXsNCgkJLy8gQURWQU5DRUQgU0VBUkNIDQoJCQ0KCQkkZGIgPSAkdGhpcy0+R2V0RGIoKTsNCgkJDQoJCS8vIHdlIHBhcnNlIHRoZSBrZXl3b3Jkcw0KCQkkd2hlcmUgPSAkdGhpcy0+Z2V0V2hlcmVGcm9tUGFyYW1zKCRwYXJhbXMsIHRydWUpOw0KCQlsaXN0KCR3aGVyZWNsYXVzZSwgJHdoZXJldmFsdWVzKSA9ICR0aGlzLT5idWlsZFdoZXJlKCR3aGVyZSwgJHdoYXQpOw0KCQkNCgkJJGdldGZ1bmN0aW9uID0gImdldF9sZXZlbF8iLiR3aGF0Ow0KCQkvLyB3ZSBkbyB0aGUgcXVlcnkNCgkJJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbihhcnJheSgpLCBmYWxzZSwgIiIsICIiLCBpc3NldCgkcGFyYW1zWyJvcmRlcmJ5Il0pPyRwYXJhbXNbIm9yZGVyYnkiXTowLCAkbGltaXQsICR3aGVyZWNsYXVzZSwgJHdoZXJldmFsdWVzKTsNCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtY291bnQiLGNvdW50KCRpdGVtbGlzdCkpOw0KCQkNCgkJaWYoY291bnQoJGl0ZW1saXN0KSA+IDApew0KCQkNCgkJCSR0b3RhbCA9ICRuYnBlcnBhZ2U/JHRoaXMtPmNvdW50c29tZXRoaW5nKCR3aGF0LCJpZCIsYXJyYXkoKSwkd2hlcmVjbGF1c2UsICR3aGVyZXZhbHVlcyk6ZmFsc2U7DQoJCQkkdGhpcy0+cGFnaW5hdGUoJHdoYXQsJHRvdGFsLCRpZCwkcmV0dXJuaWQsJHBhcmFtcywic2VhcmNoIik7DQoJCQkNCgkJCS8vIHdlIG11c3QgYnVpbGQgYSBkZXRhaWwgbGluayBmb3IgZWFjaCByZXN1bHQgZWxlbWVudA0KCQkJJG5ld2xpc3QgPSBhcnJheSgpOw0KCQkJZm9yZWFjaCgkaXRlbWxpc3QgYXMgJGl0ZW0pew0KCQkJCSRpdGVtID0gJHRoaXMtPmFkZGZyb250ZW5kdXJscygkaXRlbSwkcGFyYW1zLCRpZCwkbGlua3JldHVybmlkKTsNCgkJCQkkaXRlbS0+aXNfc2VsZWN0ZWQgPSBmYWxzZTsNCgkJCQlhcnJheV9wdXNoKCRuZXdsaXN0LCAkaXRlbSk7DQoJCQl9DQoNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigiaXRlbWxpc3QiLCRuZXdsaXN0KTsNCgkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibGV2ZWx0aXRsZSIsJHRoaXMtPkxhbmcoJHdoYXQuIl9wbHVyYWwiKSk7DQoJCQkNCgkJfWVsc2V7DQoJCQkkdGhpcy0+cGFnaW5hdGUoJHdoYXQsMCwkaWQsJHJldHVybmlkLCRwYXJhbXMsInNlYXJjaCIpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsJG5ld2xpc3QpOw0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJlcnJvcl9tc2ciLCR0aGlzLT5MYW5nKCJlcnJvcl9ub2l0ZW1mb3VuZCIpKTsNCgkJfQ0KCQkNCgkJLy8gd2UgcmV0cmlldmUgdGhlIGRpc3BsYXkgdGVtcGxhdGUNCgkJaWYoY291bnQoJGl0ZW1saXN0KSA9PSAwICYmICRlbXB0eXRlbXBsYXRlICE9ICIqKiIpew0KCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGFiYXNlKCRlbXB0eXRlbXBsYXRlKTsNCgkJfWVsc2V7DQoJCQlpZihpc3NldCgkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSkpCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0sICR0aGlzLT5HZXROYW1lKCkpOw0KCQkJaWYoIWlzc2V0KCR0ZW1wbGF0ZSkgfHwgISR0ZW1wbGF0ZSl7DQoJCQkJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzZWFyY2hyZXN1bHRzdGVtcGxhdGUiLCIqKiIpOw0KCQkJCWlmKCR0ZW1wbGF0ZW5hbWUgPT0gIioqIikJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfIi4kd2hhdCk7DQoJCQkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUsICR0aGlzLT5HZXROYW1lKCkpOw0KCQkJfQkJDQoJCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdGVtcGxhdGUpOw0KCQl9DQoJCQ0KCX1lbHNlew0KCQkvLyBTSU1QTEUgU0VBUkNIDQoJCQ0KCQkkdGVtcGxhdGUgPSBmYWxzZTsNCgkJJGxldmVscyA9ICgkd2hhdCA9PSAiLWFsbCIpPyRsZXZlbGFycmF5OmFycmF5KCR3aGF0KTsNCgkJDQoJCS8vIHdlIHJldHJpZXZlIHRoZSBkaXNwbGF5IHRlbXBsYXRlDQoJCS8vIGlmIHRoZSB1c2VyIGhhcyBhc2tlZCBmb3IgYSBzcGVjaWZpYyBkaXNwbGF5IHRlbXBsYXRlLCB3ZSB3aWxsIHVzZSBpdCBmb3IgZXZlcnkgY2F0ZWdvcnkgOg0KCQlpZihpc3NldCgkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSkpCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0sICR0aGlzLT5HZXROYW1lKCkpOw0KCQlpZighaXNzZXQoJHRlbXBsYXRlKSB8fCAhJHRlbXBsYXRlKXsNCgkJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNocmVzdWx0c3RlbXBsYXRlIiwiKioiKTsNCgkJCWlmKCR0ZW1wbGF0ZW5hbWUgPT0gIioqIil7DQoJCQkJaWYoY291bnQoJGxldmVscykgPT0gMSl7DQoJCQkJCSR0ZW1wbGF0ZW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlXyIuJGxldmVsc1swXSk7DQoJCQkJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkdGVtcGxhdGVuYW1lLCAkdGhpcy0+R2V0TmFtZSgpKTsNCgkJCQl9ZWxzZXsNCgkJCQkJJHRlbXBsYXRlID0gZmFsc2U7DQoJCQkJfQ0KCQkJfWVsc2V7DQoJCQkJJHRlbXBsYXRlID0gJHRoaXMtPkdldFRlbXBsYXRlKCR0ZW1wbGF0ZW5hbWUsICR0aGlzLT5HZXROYW1lKCkpOw0KCQkJfQ0KCQl9DQoNCgkJDQoJCWZvcmVhY2goJGxldmVscyBhcyAkbGV2ZWwpew0KCQkJJHdoZXJlY2xhdXNlID0gIiI7DQoJCQkkZmllbGRzID0gJHRoaXMtPmdldF9sZXZlbHNlYXJjaGZpZWxkcygkbGV2ZWwpOw0KCQkJJGtleXdvcmRzID0gJHRoaXMtPnBhcnNla2V5d29yZHMoaHRtbF9lbnRpdHlfZGVjb2RlKCRwYXJhbXNbInNlYXJjaGZpZWxkIl0pKTsNCgkJCWZvcmVhY2goJGZpZWxkcyBhcyAkZmllbGQpew0KCQkJCWZvcmVhY2goJGtleXdvcmRzIGFzICRrZXl3b3JkKXsNCgkJCQkJJHdoZXJlY2xhdXNlIC49ICgkd2hlcmVjbGF1c2UgPT0gIiI/IiI6IiBPUiAiKS4iQS4iLiRmaWVsZC4iIExJS0UgJyUiLmFkZHNsYXNoZXMoJGtleXdvcmQpLiIlJyI7DQoJCQkJfQ0KCQkJfQ0KCQkJJHdoZXJlY2xhdXNlID0gIkEuYWN0aXZlPTEiLigkd2hlcmVjbGF1c2UgPT0gIiI/IiI6IiBBTkQgKCIuJHdoZXJlY2xhdXNlLiIpIik7DQoJCQkkZ2V0ZnVuY3Rpb24gPSAiZ2V0X2xldmVsXyIuJGxldmVsOw0KCQkJJGl0ZW1saXN0ID0gJHRoaXMtPiRnZXRmdW5jdGlvbihhcnJheSgpLCBmYWxzZSwgIiIsICIiLCBpc3NldCgkcGFyYW1zWyJvcmRlcmJ5Il0pPyRwYXJhbXNbIm9yZGVyYnkiXTowLCAkbGltaXQsICR3aGVyZWNsYXVzZSk7DQoJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1jb3VudCIsY291bnQoJGl0ZW1saXN0KSk7DQoJCQkNCgkJCWlmKGNvdW50KCRpdGVtbGlzdCkgPiAwKXsNCg0KCQkJCSR0b3RhbCA9ICRuYnBlcnBhZ2U/JHRoaXMtPmNvdW50c29tZXRoaW5nKCRsZXZlbCwiaWQiLGFycmF5KCksJHdoZXJlY2xhdXNlLCBhcnJheSgpKTpmYWxzZTsNCgkJCQkkdGhpcy0+cGFnaW5hdGUoJHdoYXQsJHRvdGFsLCRpZCwkcmV0dXJuaWQsJHBhcmFtcywic2VhcmNoIik7DQoJCQkJDQoJCQkJLy8gd2UgbXVzdCBidWlsZCBhIGRldGFpbCBsaW5rIGZvciBlYWNoIHJlc3VsdCBlbGVtZW50DQoJCQkJJG5ld2xpc3QgPSBhcnJheSgpOw0KCQkJCWZvcmVhY2goJGl0ZW1saXN0IGFzICRpdGVtKXsNCgkJCQkJJGl0ZW0gPSAkdGhpcy0+YWRkZnJvbnRlbmR1cmxzKCRpdGVtLCRwYXJhbXMsJGlkLCRsaW5rcmV0dXJuaWQpOw0KCQkJCQkkaXRlbS0+aXNfc2VsZWN0ZWQgPSBmYWxzZTsNCgkJCQkJYXJyYXlfcHVzaCgkbmV3bGlzdCwgJGl0ZW0pOw0KCQkJCX0NCgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW1saXN0IiwkbmV3bGlzdCk7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJsZXZlbHRpdGxlIiwkdGhpcy0+TGFuZygkbGV2ZWwuIl9wbHVyYWwiKSk7DQoJCQkJCQkJDQoJCQkJaWYoJHRlbXBsYXRlID09IEZBTFNFKXsNCgkJCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCJzZWFyY2hfZ2VuZXJhbHJlc3VsdHMudHBsIik7DQoJCQkJfWVsc2V7DQoJCQkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhKCR0ZW1wbGF0ZSk7CQkJCQ0KCQkJCX0NCgkJCQkNCgkJCX1lbHNlew0KCQkJCSR0aGlzLT5wYWdpbmF0ZSgkd2hhdCwwLCRpZCwkcmV0dXJuaWQsJHBhcmFtcywic2VhcmNoIik7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJpdGVtbGlzdCIsJGl0ZW1saXN0KTsNCgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImVycm9yX21zZyIsJHRoaXMtPkxhbmcoImVycm9yX25vaXRlbWZvdW5kIikpOw0KCQkJfQ0KCQkJaWYoY291bnQoJGl0ZW1saXN0KSA9PSAwICYmICRlbXB0eXRlbXBsYXRlICE9ICIqKiIpew0KCQkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZUZyb21EYXRhYmFzZSgkZW1wdHl0ZW1wbGF0ZSk7CQkJCQ0KCQkJfWVsc2VpZigkdGVtcGxhdGUgPT0gRkFMU0Upew0KCQkJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgic2VhcmNoX2dlbmVyYWxyZXN1bHRzLnRwbCIpOw0KCQkJfWVsc2V7DQoJCQkJZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsNCgkJCX0NCgkJfQ0KCQkNCgl9DQoJDQoJLy8gIyBFTkQgU0VBUkNIIFJFU1VMVFMNCgkvLyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQoNCn1lbHNlew0KCQ0KCS8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCgkvLyAjIFNFQVJDSCBGT1JNCQ0KCQ0KCSR3aGF0ID0gKGlzc2V0KCRwYXJhbXNbIndoYXQiXSkgJiYgaW5fYXJyYXkoJHBhcmFtc1sid2hhdCJdLCRsZXZlbGFycmF5KSk/JHBhcmFtc1sid2hhdCJdOiItYWxsIjsNCglpZigkc2VhcmNobW9kZSA9PSAiYWR2YW5jZWQiICYmICR3aGF0ID09ICItYWxsIikJCSR3aGF0ID0gJGZpbmFsbGV2ZWw7DQoNCgllY2hvICR0aGlzLT5DcmVhdGVGb3JtU3RhcnQoJGlkLCAic2VhcmNoIiwgJHJldHVybmlkKTsNCgllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJ3aGF0IiwgJHdoYXQpOw0KCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgInNlYXJjaG1vZGUiLCAkc2VhcmNobW9kZSk7DQoJaWYoaXNzZXQoJHBhcmFtc1sibGlzdHRlbXBsYXRlIl0pKQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJsaXN0dGVtcGxhdGUiLCAkcGFyYW1zWyJsaXN0dGVtcGxhdGUiXSk7DQoJaWYoaXNzZXQoJHBhcmFtc1sibGltaXQiXSkpCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImxpbWl0IiwgJHBhcmFtc1sibGltaXQiXSk7DQoJaWYoaXNzZXQoJHBhcmFtc1siaW5saW5lIl0pKQllY2hvICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsICJpbmxpbmUiLCAkcGFyYW1zWyJpbmxpbmUiXSk7DQoJaWYoaXNzZXQoJHBhcmFtc1sib3JkZXJieSJdKSkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAib3JkZXJieSIsICRwYXJhbXNbIm9yZGVyYnkiXSk7DQoJaWYoaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pKQkJZWNobyAkdGhpcy0+Q3JlYXRlSW5wdXRIaWRkZW4oJGlkLCAibmJwZXJwYWdlIiwgJHBhcmFtc1sibmJwZXJwYWdlIl0pOw0KCWlmKGlzc2V0KCRwYXJhbXNbImRldGFpbHBhZ2UiXSkpCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImRldGFpbHBhZ2UiLCAkcGFyYW1zWyJkZXRhaWxwYWdlIl0pOw0KCSR0aGlzLT5zbWFydHktPmFzc2lnbigic2VhcmNodGl0bGUiLCAkdGhpcy0+TGFuZygic2VhcmNodGl0bGUiKSk7DQoJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ3aGF0IiwgKCR3aGF0ID09ICItYWxsIik/ZmFsc2U6JHRoaXMtPkxhbmcoJHdoYXQpKTsNCgkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInN1Ym1pdCIsICR0aGlzLT5DcmVhdGVJbnB1dFN1Ym1pdCgkaWQsICJzdWJtaXRzZWFyY2giLCAkdGhpcy0+TGFuZygic2VhcmNoYnRuIikpKTsNCg0KCWlmKCRzZWFyY2htb2RlID09ICJzaW1wbGUiKXsNCgkJLy8gV0UgQVJFIERPSU5HIEEgU0lNUExFIFNFQVJDSA0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInNlYXJjaGZpZWxkIiwgJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsInNlYXJjaGZpZWxkIiwiIiw1MCkpOw0KCQllY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoInNlYXJjaC50cGwiKTsNCgkJDQoJfWVsc2V7DQoJCS8vIFdFIEFSRSBET0lORyBBTiBBRFZBTkNFRCBTRUFSQ0gNCg0KCQkkdGhpcy0+Y3JlYXRlRmllbGRGb3JtKCR3aGF0LCAkaWQsIHRydWUpOw0KDQoJCWVjaG8gJHRoaXMtPlByb2Nlc3NUZW1wbGF0ZSgic2VhcmNoXyIuJHdoYXQuIi50cGwiKTsNCgkJDQoJfQ0KCQ0KCWVjaG8gJHRoaXMtPkNyZWF0ZUZvcm1FbmQoKTsNCgkNCgkvLyAjIEVORCBTRUFSQ0ggRk9STQ0KCS8vICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMJDQoJDQp9DQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/action.sitemap.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCiRsZXZlbGFycmF5ID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQokbW9kZSA9IChpc3NldCgkcGFyYW1zWyJtb2RlIl0pICYmIGluX2FycmF5KCRwYXJhbXNbIm1vZGUiXSxhcnJheSgiZ29vZ2xlIiwidXJsbGlzdCIsImZyb250ZW5kIikpKT8kcGFyYW1zWyJtb2RlIl06ImZyb250ZW5kIjsNCiR3aGF0ID0gaXNzZXQoJHBhcmFtc1sid2hhdCJdKT9leHBsb2RlKCd8JywkcGFyYW1zWyJ3aGF0Il0pOiRsZXZlbGFycmF5Ow0KJGxpbmtyZXR1cm5pZCA9IChpc3NldCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pKT8kdGhpcy0+Z2V0X3BhZ2VpZCgkcGFyYW1zWyJkZXRhaWxwYWdlIl0pOiRyZXR1cm5pZDsNCiRpbmxpbmUgPSAoaXNzZXQoJHBhcmFtc1siaW5saW5lIl0pICYmICRwYXJhbXNbImlubGluZSJdKT90cnVlOmZhbHNlOw0KDQokZGIgPSAkdGhpcy0+R2V0RGIoKTsNCiRpID0gMDsNCiRzZWxlY3QgPSAiIjsNCiR0YWJsZXMgPSAiIjsNCiRvcmRlciA9ICIiOw0Kd2hpbGUoJGkgPCBjb3VudCgkbGV2ZWxhcnJheSkpew0KCSRsZXZlbCA9ICRsZXZlbGFycmF5WyRpXTsNCgkkaSsrOw0KCSRzZWxlY3QgLj0gKCRzZWxlY3Q9PSIiPyIiOiIsICIpLiJ0YWJsZSIuJGkuIi5hbGlhcyB0YWJsZSIuJGkuIl9hbGlhcywgdGFibGUiLiRpLiIubmFtZSB0YWJsZSIuJGkuIl9uYW1lIjsNCglpZigkaSA9PSAxKXsNCgkJJHRhYmxlcyA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRsZXZlbC4iIHRhYmxlIi4kaTsNCgl9ZWxzZXsNCgkJJHRhYmxlcyAuPSAiIExFRlQgSk9JTiAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRsZXZlbC4iIHRhYmxlIi4kaS4gIiBPTiB0YWJsZSIuKCRpLTEpLiIuaWQ9dGFibGUiLiRpLiIucGFyZW50IjsNCgl9DQoJJG9yZGVyIC49ICgkb3JkZXI9PSIiPyIiOiIsICIpLiJ0YWJsZSIuJGkuIi5pdGVtX29yZGVyIjsNCn0NCiRxdWVyeSA9ICJTRUxFQ1QgJHNlbGVjdCBGUk9NICR0YWJsZXMgT1JERVIgQlkgJG9yZGVyIjsNCiRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KDQokbGFzdCA9IGFycmF5KCk7DQokY3VycmVudGxldmVsID0gMTsNCmlmKCRtb2RlID09ICdmcm9udGVuZCcpCWVjaG8gJzx1bCBpZD0iJy4kdGhpcy0+R2V0TmFtZSgpLidfbWFwIj4nOw0Kd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCSRwYXJzZWxldmVsID0gMTsNCgl3aGlsZSgkcGFyc2VsZXZlbCA8PSAkaSl7DQoJCWlmKGluX2FycmF5KCRsZXZlbGFycmF5WyRwYXJzZWxldmVsLTFdLCR3aGF0KSAmJiAoIWlzc2V0KCRsYXN0WyRwYXJzZWxldmVsXSkgfHwgJHJvd1sidGFibGUiLiRwYXJzZWxldmVsLiJfYWxpYXMiXSAhPSAkbGFzdFskcGFyc2VsZXZlbF0pICl7DQoJCQkkd2FudGVkd2hhdCA9ICgkcGFyc2VsZXZlbD09JGkpPyRsZXZlbGFycmF5WyRpLTFdOiRsZXZlbGFycmF5WyRwYXJzZWxldmVsXTsNCgkJCSR3YW50ZWRwYXJhbSA9ICgkcGFyc2VsZXZlbD09JGkpPyJhbGlhcyI6InBhcmVudCI7DQoJCQkkbmV3cGFyYW1zID0gYXJyYXkoIndoYXQiPT4kd2FudGVkd2hhdCwgJHdhbnRlZHBhcmFtPT4kcm93WyJ0YWJsZSIuJHBhcnNlbGV2ZWwuIl9hbGlhcyJdKTsNCgkJCSRwcmV0dHl1cmwgPSAkdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCRuZXdwYXJhbXMsICRsaW5rcmV0dXJuaWQpOw0KCQkJaWYoJG1vZGUgPT0gJ2Zyb250ZW5kJyl7DQoJCQkJaWYoJGN1cnJlbnRsZXZlbCA9PSAkcGFyc2VsZXZlbCl7DQoJCQkJCWlmKCRsYXN0WyRjdXJyZW50bGV2ZWxdKQllY2hvICI8L2xpPiI7DQoJCQkJfWVsc2VpZigkY3VycmVudGxldmVsID4gJHBhcnNlbGV2ZWwpew0KCQkJCQl3aGlsZSgkY3VycmVudGxldmVsID4gJHBhcnNlbGV2ZWwpew0KCQkJCQkJZWNobyAiPC9saT48L3VsPjwvbGk+IjsNCgkJCQkJCSRjdXJyZW50bGV2ZWwtLTsNCgkJCQkJfQ0KCQkJCX1lbHNlaWYoJGN1cnJlbnRsZXZlbCA8ICRwYXJzZWxldmVsKXsNCgkJCQkJJGN1cnJlbnRsZXZlbCsrOw0KCQkJCQllY2hvICc8dWw+JzsNCgkJCQl9DQoJCQkJZWNobyAnPGxpPicuJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdCIsICRsaW5rcmV0dXJuaWQsICRyb3dbInRhYmxlIi4kcGFyc2VsZXZlbC4iX25hbWUiXSwgJG5ld3BhcmFtcywgIiIsIGZhbHNlLCAkaW5saW5lLCAiIiwgZmFsc2UsICRwcmV0dHl1cmwpOw0KCQkJfWVsc2VpZigkbW9kZSA9PSAndXJsbGlzdCcpew0KCQkJCWVjaG8gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdCIsICRsaW5rcmV0dXJuaWQsICIiLCAkbmV3cGFyYW1zLCAiIiwgdHJ1ZSwgJGlubGluZSwgIiIsIGZhbHNlLCAkcHJldHR5dXJsKS4nDQonOw0KCQkJfWVsc2VpZigkbW9kZSA9PSAnZ29vZ2xlJyl7DQoJCQkJJHByaW9yaXR5ID0gOSAtICRwYXJzZWxldmVsOw0KCQkJCWlmKCRwcmlvcml0eSA8IDApCSRwcmlvcml0eSA9IDE7DQoJCQkJJHByaW9yaXR5ID0gIjAuIi4kcHJpb3JpdHk7DQoJCQkJZWNobyAnDQoJPHVybD4NCgkJPGxvYz4nLiR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkbGlua3JldHVybmlkLCAiIiwgJG5ld3BhcmFtcywgIiIsIHRydWUsICRpbmxpbmUsICIiLCBmYWxzZSwgJHByZXR0eXVybCkuJzwvbG9jPg0KCQk8cHJpb3JpdHk+Jy4kcHJpb3JpdHkuJzwvcHJpb3JpdHk+DQoJPC91cmw+JzsNCgkJCX0NCgkJCQ0KCQkJJGxhc3RbJHBhcnNlbGV2ZWxdID0gJHJvd1sidGFibGUiLiRwYXJzZWxldmVsLiJfYWxpYXMiXTsNCgkJfQ0KCQkkcGFyc2VsZXZlbCsrOw0KCX0NCn0NCmlmKCRtb2RlID09ICdmcm9udGVuZCcpew0KCWVjaG8gIjwvbGk+IjsNCgl3aGlsZSgkY3VycmVudGxldmVsID4gMSl7DQoJCWVjaG8gIjwvdWw+PC9saT4iOw0KCQkkY3VycmVudGxldmVsLS07DQoJfQ0KCWVjaG8gIjwvdWw+IjsNCn0NCg==]]></data>
	</file>
	<file>
	  <filename>/action.toggle.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8qIFBBUkFNUyA6DQp3aGF0KiA6ICdhY3RpdmUnIHx8ICdkZWZhdWx0Jw0KdGFibGVuYW1lKg0KcHJlZml4DQpwcmVmaXguaWQNCm5ld3ZhbCA6IG5ldyB2YWx1ZSBmb3IgYWN0aXZlICggMCB8fCAxICkNCiovDQoNCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQokbmV3cGFyYW1zID0gaXNzZXQoJHBhcmFtc1snbGV2ZWxuYW1lJ10pP2FycmF5KCdhY3RpdmVfdGFiJz0+JHBhcmFtc1snbGV2ZWxuYW1lJ10pOmFycmF5KCk7DQoNCmlmKCAhaXNzZXQoJHBhcmFtc1snd2hhdCddKSB8fCAhaXNzZXQoJHBhcmFtc1sndGFibGVuYW1lJ10pICkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgJ2RlZmF1bHRhZG1pbicsICRyZXR1cm5pZCwgJG5ld3BhcmFtcyk7DQoNCiRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCiRkYnRhYmxlID0gY21zX2RiX3ByZWZpeCgpLidtb2R1bGVfJy4kcGFyYW1zWyd0YWJsZW5hbWUnXTsNCiRmaWVsZCA9ICRwYXJhbXNbJ3doYXQnXTsNCiRpdGVtaWQgPSBpc3NldCgkcGFyYW1zWydwcmVmaXgnXSk/JHBhcmFtc1skcGFyYW1zWydwcmVmaXgnXS4naWQnXTpmYWxzZTsNCiR2YWx1ZSA9IGlzc2V0KCRwYXJhbXNbJ25ld3ZhbCddKT8kcGFyYW1zWyduZXd2YWwnXToxOw0KDQppZigkZmllbGQgPT0gJ2FjdGl2ZScpew0KCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGFjdGl2ZT0/IFdIRVJFIGlkPT8gTElNSVQgMSI7DQoJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkdmFsdWUsICRpdGVtaWQpKTsNCn1lbHNlaWYoJGZpZWxkID09ICdkZWZhdWx0Jyl7DQoJaWYoaXNzZXQoJHBhcmFtc1sicGFyZW50Il0pICYmIGlzc2V0KCRwYXJhbXNbInBhcmVudGRlZmF1bHQiXSkgJiYgJHBhcmFtc1sicGFyZW50ZGVmYXVsdCJdKSB7DQoJCSRxdWVyeSA9ICJVUERBVEUgJGRidGFibGUgU0VUIGlzZGVmYXVsdD0wIFdIRVJFIHBhcmVudD0/IjsNCgkJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkcGFyYW1zWyJwYXJlbnQiXSkpOw0KCX1lbHNlew0KCQkkcXVlcnkgPSAiVVBEQVRFICRkYnRhYmxlIFNFVCBpc2RlZmF1bHQ9MCI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCX0NCglpZigkaXRlbWlkKXsNCgkJJHF1ZXJ5ID0gIlVQREFURSAkZGJ0YWJsZSBTRVQgaXNkZWZhdWx0PTEgV0hFUkUgaWQ9PyI7DQoJCSRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGl0ZW1pZCkpOw0KCX0NCn0NCg0KDQokdGhpcy0+UmVkaXJlY3QoJGlkLCAnZGVmYXVsdGFkbWluJywgJHJldHVybmlkLCAkbmV3cGFyYW1zKTsNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/function.createFieldForm.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQo8P3BocA0KCQkkY29tcGFyZWNob2ljZXMgPSBhcnJheSgkdGhpcy0+TGFuZygiY29udGFpbnMiKSA9PjEsICR0aGlzLT5MYW5nKCJpc2V4YWN0bHkiKSA9PjAsICR0aGlzLT5MYW5nKCJpc25vdCIpID0+MiwgJHRoaXMtPkxhbmcoImlzaGlnaGVydGhhbiIpID0+MywgJHRoaXMtPkxhbmcoImlzbG93ZXJ0aGFuIikgPT40KTsNCgkJJGRhdGVjb21wYXJlY2hvaWNlcyA9IGFycmF5KCR0aGlzLT5MYW5nKCJxdWVyeXVzZSIpID0+ICJOQSIsICR0aGlzLT5MYW5nKCJpc2FmdGVyIikgPT4zLCAkdGhpcy0+TGFuZygiaXNiZWZvcmUiKSA9PjQsICR0aGlzLT5MYW5nKCJpc2JldHdlZW4iKSA9PjUpOw0KCQkkb3JkZXJjaG9pY2VzID0gYXJyYXkoIkFTQyI9PiJBU0MiLCJERVNDIj0+IkRFU0MiKTsNCg0KCQkkb3V0cHV0ID0gYXJyYXkoKTsNCg0KCQlzd2l0Y2goJHdoYXQpew0KCQkJY2FzZSAiY2F0ZWdvcnkiOg0KCQkJCSRvdXRwdXRbImRlc2NyaXB0aW9uIl0gPSBhcnJheSgkdGhpcy0+TGFuZygiY2F0ZWdvcnlfZGVzY3JpcHRpb24iKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX2Rlc2NyaXB0aW9uIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9kZXNjcmlwdGlvbiIsIiIsMzApKTsNCgkJCQkkb3V0cHV0WyJuYW1lIl0gPSBhcnJheSgkdGhpcy0+TGFuZygibmFtZSIpLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImNvbXBhcmVfbmFtZSIsJGNvbXBhcmVjaG9pY2VzLC0xLDEpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiZmllbGRfbmFtZSIsIiIsMzApKTsNCgkJCQkNCgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInRtcHRpbWUiLCB0aW1lKCkpOw0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigic19hbmQiLCAkdGhpcy0+TGFuZygidGhpc2FuZHRoaXMiKSk7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0bXBfcHJlZml4IiwgJGlkLiJkYXRlX2RhdGVfbW9kaWZpZWRfIik7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0bXBfcHJlZml4MiIsICRpZC4iZGF0ZV9kYXRlX21vZGlmaWVkX3BhcnQyXyIpOw0KCQkJCSR0bXB0ZW1wbGF0ZSA9ICd7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcF9wcmVmaXggdGltZT0kdG1wdGltZSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMTAifSB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcF9wcmVmaXggdGltZT0kdG1wdGltZSB9PGRpdiBpZD0iJy4kaWQuJ2RhdGVfbW9kaWZpZWRfcGFydDIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+IHskc19hbmR9IHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kdG1wX3ByZWZpeDIgdGltZT0kdG1wdGltZSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMTAifSB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcF9wcmVmaXgyIHRpbWU9JHRtcHRpbWUgfTwvZGl2Pic7DQoJCQkJJHRtcG91dCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiY29tcGFyZV9kYXRlX21vZGlmaWVkIiwkZGF0ZWNvbXBhcmVjaG9pY2VzLC0xLCJOQSIsIiBvbmNoYW5nZT1cImRhdGVpbnB1dF9jaGFuZ2Vjb21wYXJlKCciLiRpZC4iZGF0ZV9tb2RpZmllZCcsIHRoaXMudmFsdWUpO1wiIikuIiAiLiR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdG1wdGVtcGxhdGUpOw0KCQkJCSR0bXBvdXQgLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwiZmllbGRfZGF0ZV9tb2RpZmllZCIsICJfX2RhdGVfZmllbGQiKTsNCgkJCQkkb3V0cHV0WyJkYXRlX21vZGlmaWVkIl0gPSBhcnJheSgkdGhpcy0+TGFuZygiZGF0ZV9tb2RpZmllZCIpLCAkdG1wb3V0KTsNCgkJCQkkb3JkZXJmaWVsZG9wdGlvbnMgPSBhcnJheSgiIj0+IiIsImRlc2NyaXB0aW9uIj0+ImRlc2NyaXB0aW9uIiwiaWQiPT4iaWQiLCJuYW1lIj0+Im5hbWUiLCJhbGlhcyI9PiJhbGlhcyIsIml0ZW1fb3JkZXIiPT4iaXRlbV9vcmRlciIsImRhdGVfbW9kaWZpZWQiPT4iZGF0ZV9tb2RpZmllZCIpOw0KCQkJCSRvdXRwdXRbIm9yZGVyYnkiXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJvcmRlcmJ5ZmllbGQiKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJvcmRlciIsJG9yZGVyZmllbGRvcHRpb25zKS4iICIuJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJvcmRlcl90eXBlIiwkb3JkZXJjaG9pY2VzKSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJhbGJ1bSI6DQoJCQkJJG91dHB1dFsiZGVzY3JpcHRpb24iXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJhbGJ1bV9kZXNjcmlwdGlvbiIpLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImNvbXBhcmVfZGVzY3JpcHRpb24iLCRjb21wYXJlY2hvaWNlcywtMSwxKS4iICIuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsImZpZWxkX2Rlc2NyaXB0aW9uIiwiIiwzMCkpOw0KCQkJCSRvdXRwdXRbImxhbmciXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJhbGJ1bV9sYW5nIiksICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiY29tcGFyZV9sYW5nIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9sYW5nIiwiIiwzMCkpOw0KCQkJCSRvdXRwdXRbImRlZmF1bHRfd2lkdGgiXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJhbGJ1bV9kZWZhdWx0X3dpZHRoIiksICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiY29tcGFyZV9kZWZhdWx0X3dpZHRoIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9kZWZhdWx0X3dpZHRoIiwiIiwzMCkpOw0KCQkJCSRvdXRwdXRbImRlZmF1bHRfaGVpZ2h0Il0gPSBhcnJheSgkdGhpcy0+TGFuZygiYWxidW1fZGVmYXVsdF9oZWlnaHQiKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX2RlZmF1bHRfaGVpZ2h0IiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9kZWZhdWx0X2hlaWdodCIsIiIsMzApKTsNCgkJCQkkb3V0cHV0WyJwYXJlbnQiXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJwYXJlbnQiKSk7DQoJCQkJJHBhcmVudG9wdGlvbnMgPSAkdGhpcy0+Z2V0X2hpZXJhcmNoeW9wdGlvbnMoImFsYnVtIik7DQoJCQkJJG91dHB1dFsicGFyZW50Il1bXSA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiZmllbGRfcGFyZW50IiwkcGFyZW50b3B0aW9ucyk7DQoJCQkJJG91dHB1dFsibmFtZSJdID0gYXJyYXkoJHRoaXMtPkxhbmcoIm5hbWUiKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX25hbWUiLCRjb21wYXJlY2hvaWNlcywtMSwxKS4iICIuJHRoaXMtPkNyZWF0ZUlucHV0VGV4dCgkaWQsImZpZWxkX25hbWUiLCIiLDMwKSk7DQoJCQkJDQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0bXB0aW1lIiwgdGltZSgpKTsNCgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInNfYW5kIiwgJHRoaXMtPkxhbmcoInRoaXNhbmR0aGlzIikpOw0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigidG1wX3ByZWZpeCIsICRpZC4iZGF0ZV9kYXRlX21vZGlmaWVkXyIpOw0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigidG1wX3ByZWZpeDIiLCAkaWQuImRhdGVfZGF0ZV9tb2RpZmllZF9wYXJ0Ml8iKTsNCgkJCQkkdG1wdGVtcGxhdGUgPSAne2h0bWxfc2VsZWN0X2RhdGUgcHJlZml4PSR0bXBfcHJlZml4IHRpbWU9JHRtcHRpbWUgc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzEwIn0ge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSR0bXBfcHJlZml4IHRpbWU9JHRtcHRpbWUgfTxkaXYgaWQ9IicuJGlkLidkYXRlX21vZGlmaWVkX3BhcnQyIiBzdHlsZT0iZGlzcGxheTogbm9uZTsiPiB7JHNfYW5kfSB7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcF9wcmVmaXgyIHRpbWU9JHRtcHRpbWUgc3RhcnRfeWVhcj0iLTEwIiBlbmRfeWVhcj0iKzEwIn0ge2h0bWxfc2VsZWN0X3RpbWUgcHJlZml4PSR0bXBfcHJlZml4MiB0aW1lPSR0bXB0aW1lIH08L2Rpdj4nOw0KCQkJCSR0bXBvdXQgPSAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImNvbXBhcmVfZGF0ZV9tb2RpZmllZCIsJGRhdGVjb21wYXJlY2hvaWNlcywtMSwiTkEiLCIgb25jaGFuZ2U9XCJkYXRlaW5wdXRfY2hhbmdlY29tcGFyZSgnIi4kaWQuImRhdGVfbW9kaWZpZWQnLCB0aGlzLnZhbHVlKTtcIiIpLiIgIi4kdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRtcHRlbXBsYXRlKTsNCgkJCQkkdG1wb3V0IC49ICR0aGlzLT5DcmVhdGVJbnB1dEhpZGRlbigkaWQsImZpZWxkX2RhdGVfbW9kaWZpZWQiLCAiX19kYXRlX2ZpZWxkIik7DQoJCQkJJG91dHB1dFsiZGF0ZV9tb2RpZmllZCJdID0gYXJyYXkoJHRoaXMtPkxhbmcoImRhdGVfbW9kaWZpZWQiKSwgJHRtcG91dCk7DQoJCQkJJG9yZGVyZmllbGRvcHRpb25zID0gYXJyYXkoIiI9PiIiLCJkZXNjcmlwdGlvbiI9PiJkZXNjcmlwdGlvbiIsImxhbmciPT4ibGFuZyIsImRlZmF1bHRfd2lkdGgiPT4iZGVmYXVsdF93aWR0aCIsImRlZmF1bHRfaGVpZ2h0Ij0+ImRlZmF1bHRfaGVpZ2h0IiwicGFyZW50Ij0+InBhcmVudCIsImlkIj0+ImlkIiwibmFtZSI9PiJuYW1lIiwiYWxpYXMiPT4iYWxpYXMiLCJpdGVtX29yZGVyIj0+Iml0ZW1fb3JkZXIiLCJkYXRlX21vZGlmaWVkIj0+ImRhdGVfbW9kaWZpZWQiKTsNCgkJCQkkb3V0cHV0WyJvcmRlcmJ5Il0gPSBhcnJheSgkdGhpcy0+TGFuZygib3JkZXJieWZpZWxkIiksICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwib3JkZXIiLCRvcmRlcmZpZWxkb3B0aW9ucykuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwib3JkZXJfdHlwZSIsJG9yZGVyY2hvaWNlcykpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAidmlkZW8iOg0KCQkJCSRvdXRwdXRbImRlc2NyaXB0aW9uIl0gPSBhcnJheSgkdGhpcy0+TGFuZygidmlkZW9fZGVzY3JpcHRpb24iKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX2Rlc2NyaXB0aW9uIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF9kZXNjcmlwdGlvbiIsIiIsMzApKTsNCgkJCQkkdG1wb3B0aW9ucyA9ICR0aGlzLT5nZXRfZmllbGRvcHRpb25zKCJ2aWRlb19zaXRlIik7DQoJCQkJJHRtcG9wdGlvbnNbIiJdID0gIiI7DQoJCQkJJG91dHB1dFsic2l0ZSJdID0gYXJyYXkoJHRoaXMtPkxhbmcoInZpZGVvX3NpdGUiKSwkdGhpcy0+Q3JlYXRlSW5wdXRTZWxlY3RMaXN0KCRpZCwiZmllbGRfc2l0ZVtdIiwkdG1wb3B0aW9ucykpOw0KCQkJCSRvdXRwdXRbInZpZGVvaWQiXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb192aWRlb2lkIiksICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiY29tcGFyZV92aWRlb2lkIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF92aWRlb2lkIiwiIiwzMCkpOw0KCQkJCSRvdXRwdXRbIndpZHRoIl0gPSBhcnJheSgkdGhpcy0+TGFuZygidmlkZW9fd2lkdGgiKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX3dpZHRoIiwkY29tcGFyZWNob2ljZXMsLTEsMSkuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJmaWVsZF93aWR0aCIsIiIsMzApKTsNCgkJCQkkb3V0cHV0WyJoZWlnaHQiXSA9IGFycmF5KCR0aGlzLT5MYW5nKCJ2aWRlb19oZWlnaHQiKSwgJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJjb21wYXJlX2hlaWdodCIsJGNvbXBhcmVjaG9pY2VzLC0xLDEpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiZmllbGRfaGVpZ2h0IiwiIiwzMCkpOw0KCQkJCSRvdXRwdXRbInBhcmVudCJdID0gYXJyYXkoJHRoaXMtPkxhbmcoInBhcmVudCIpKTsNCgkJCQkkcGFyZW50b3B0aW9ucyA9ICR0aGlzLT5nZXRfaGllcmFyY2h5b3B0aW9ucygidmlkZW8iKTsNCgkJCQkkb3V0cHV0WyJwYXJlbnQiXVtdID0gJHRoaXMtPkNyZWF0ZUlucHV0RHJvcGRvd24oJGlkLCJmaWVsZF9wYXJlbnQiLCRwYXJlbnRvcHRpb25zKTsNCgkJCQkkb3V0cHV0WyJuYW1lIl0gPSBhcnJheSgkdGhpcy0+TGFuZygibmFtZSIpLCAkdGhpcy0+Q3JlYXRlSW5wdXREcm9wZG93bigkaWQsImNvbXBhcmVfbmFtZSIsJGNvbXBhcmVjaG9pY2VzLC0xLDEpLiIgIi4kdGhpcy0+Q3JlYXRlSW5wdXRUZXh0KCRpZCwiZmllbGRfbmFtZSIsIiIsMzApKTsNCgkJCQkNCgkJCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInRtcHRpbWUiLCB0aW1lKCkpOw0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigic19hbmQiLCAkdGhpcy0+TGFuZygidGhpc2FuZHRoaXMiKSk7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0bXBfcHJlZml4IiwgJGlkLiJkYXRlX2RhdGVfbW9kaWZpZWRfIik7DQoJCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJ0bXBfcHJlZml4MiIsICRpZC4iZGF0ZV9kYXRlX21vZGlmaWVkX3BhcnQyXyIpOw0KCQkJCSR0bXB0ZW1wbGF0ZSA9ICd7aHRtbF9zZWxlY3RfZGF0ZSBwcmVmaXg9JHRtcF9wcmVmaXggdGltZT0kdG1wdGltZSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMTAifSB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcF9wcmVmaXggdGltZT0kdG1wdGltZSB9PGRpdiBpZD0iJy4kaWQuJ2RhdGVfbW9kaWZpZWRfcGFydDIiIHN0eWxlPSJkaXNwbGF5OiBub25lOyI+IHskc19hbmR9IHtodG1sX3NlbGVjdF9kYXRlIHByZWZpeD0kdG1wX3ByZWZpeDIgdGltZT0kdG1wdGltZSBzdGFydF95ZWFyPSItMTAiIGVuZF95ZWFyPSIrMTAifSB7aHRtbF9zZWxlY3RfdGltZSBwcmVmaXg9JHRtcF9wcmVmaXgyIHRpbWU9JHRtcHRpbWUgfTwvZGl2Pic7DQoJCQkJJHRtcG91dCA9ICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwiY29tcGFyZV9kYXRlX21vZGlmaWVkIiwkZGF0ZWNvbXBhcmVjaG9pY2VzLC0xLCJOQSIsIiBvbmNoYW5nZT1cImRhdGVpbnB1dF9jaGFuZ2Vjb21wYXJlKCciLiRpZC4iZGF0ZV9tb2RpZmllZCcsIHRoaXMudmFsdWUpO1wiIikuIiAiLiR0aGlzLT5Qcm9jZXNzVGVtcGxhdGVGcm9tRGF0YSgkdG1wdGVtcGxhdGUpOw0KCQkJCSR0bXBvdXQgLj0gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwiZmllbGRfZGF0ZV9tb2RpZmllZCIsICJfX2RhdGVfZmllbGQiKTsNCgkJCQkkb3V0cHV0WyJkYXRlX21vZGlmaWVkIl0gPSBhcnJheSgkdGhpcy0+TGFuZygiZGF0ZV9tb2RpZmllZCIpLCAkdG1wb3V0KTsNCgkJCQkkb3JkZXJmaWVsZG9wdGlvbnMgPSBhcnJheSgiIj0+IiIsImRlc2NyaXB0aW9uIj0+ImRlc2NyaXB0aW9uIiwic2l0ZSI9PiJzaXRlIiwidmlkZW9pZCI9PiJ2aWRlb2lkIiwid2lkdGgiPT4id2lkdGgiLCJoZWlnaHQiPT4iaGVpZ2h0IiwicGFyZW50Ij0+InBhcmVudCIsImlkIj0+ImlkIiwibmFtZSI9PiJuYW1lIiwiYWxpYXMiPT4iYWxpYXMiLCJpdGVtX29yZGVyIj0+Iml0ZW1fb3JkZXIiLCJkYXRlX21vZGlmaWVkIj0+ImRhdGVfbW9kaWZpZWQiKTsNCgkJCQkkb3V0cHV0WyJvcmRlcmJ5Il0gPSBhcnJheSgkdGhpcy0+TGFuZygib3JkZXJieWZpZWxkIiksICR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwib3JkZXIiLCRvcmRlcmZpZWxkb3B0aW9ucykuIiAiLiR0aGlzLT5DcmVhdGVJbnB1dERyb3Bkb3duKCRpZCwib3JkZXJfdHlwZSIsJG9yZGVyY2hvaWNlcykpOw0KCQkJCWJyZWFrOw0KCQkJDQoJCX0NCgkJZWNobyAnPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPg0KCWZ1bmN0aW9uIGRhdGVpbnB1dF9jaGFuZ2Vjb21wYXJlKGZpZWxkbmFtZSwgbmV3dmFsdWUpew0KCQlpZihuZXd2YWx1ZSA9PSA1KXsNCgkJCXZhciBuZXdzdGF0ZSA9ICJpbmxpbmUiOw0KCQl9ZWxzZXsNCgkJCXZhciBuZXdzdGF0ZSA9ICJub25lIjsNCgkJfQ0KCQlpZihkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmaWVsZG5hbWUrIl9wYXJ0MiIpKQlkb2N1bWVudC5nZXRFbGVtZW50QnlJZChmaWVsZG5hbWUrIl9wYXJ0MiIpLnN0eWxlLmRpc3BsYXkgPSBuZXdzdGF0ZTsNCgkJcmV0dXJuIHRydWU7DQoJfQ0KPC9zY3JpcHQ+DQonOw0KCQlpZigkYXNzaWduKXsNCgkJCWZvcmVhY2goJG91dHB1dCBhcyAka2V5PT4kdmFsdWUpew0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigka2V5LiJfbGFiZWwiLCAkdmFsdWVbMF0pOw0KCQkJCSR0aGlzLT5zbWFydHktPmFzc2lnbigka2V5LiJfaW5wdXQiLCAkdmFsdWVbMV0pOw0KCQkJfQ0KCQl9ZWxzZXsNCgkJCWVjaG8gIjx0YWJsZSBzdHlsZT1cImJvcmRlci1sZWZ0OiAxcHggc29saWQgTGlnaHRHcmF5OyBwYWRkaW5nLWxlZnQ6IDEwcHg7XCI+IjsNCgkJCWZvcmVhY2goJG91dHB1dCBhcyAka2V5PT4kdmFsdWUpew0KCQkJCWlmKCRrZXkgIT0gIm9yZGVyYnkiKQllY2hvICINCgkJCQk8dHI+PHRkPiIuJHZhbHVlWzBdLiI8L3RkPjx0ZD4iLiR2YWx1ZVsxXS4iPC90ZD48L3RyPiI7DQoJCQl9DQoJCQkJZWNobyAiDQoJCQk8L3RhYmxlPjxici8+IjsNCgkJCWVjaG8gIjxwPiIuJG91dHB1dFsib3JkZXJieSJdWzBdLiI6ICIuJG91dHB1dFsib3JkZXJieSJdWzFdLiI8L3A+IjsNCgkJfQ0KPz4=]]></data>
	</file>
	<file>
	  <filename>/function.plGetFileInfo.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCglpZighaXNzZXQoJGZpbGVwYXRoKSkJZXhpdDsNCgkNCgkkaW5mbyA9IGFycmF5KCk7DQoJDQoJJGluZm9bImZpbGVuYW1lIl0gPSBiYXNlbmFtZSgkZmlsZXBhdGgpOw0KCQ0KCSRzaXplID0gZmlsZXNpemUoJGZpbGVwYXRoKTsNCgkkaW5mb1sic2l6ZSJdID0gJHNpemU7DQoJaWYoJHNpemUgPiAxMDczNzQxODI0KXsNCgkJJHNpemUgPSByb3VuZCgoJHNpemUvMTA3Mzc0MTgyNCksMikuJyBHQic7DQoJfWVsc2VpZigkc2l6ZSA+IDEwNDg1NzYpew0KCQkkc2l6ZSA9IHJvdW5kKCgkc2l6ZS8xMDQ4NTc2KSwyKS4nIE1CJzsNCgl9ZWxzZWlmKCRzaXplID4gMTAyNCl7DQoJCSRzaXplID0gcm91bmQoKCRzaXplLzEwMjQpLDIpLicgS0InOw0KCX1lbHNlew0KCQkkc2l6ZSAuPSAnIGJ5dGVzJzsNCgl9DQoJJGluZm9bInNpemVfd2Zvcm1hdCJdID0gJHNpemU7DQoJDQoJJGV4dGVuc2lvbiA9IHN0cnRvbG93ZXIoc3Vic3RyKHN0cnJjaHIoJGZpbGVwYXRoLCAiLiIpLCAxKSk7DQoJJGluZm9bImV4dCJdID0gJGV4dGVuc2lvbjsNCglpZihpbl9hcnJheSgkZXh0ZW5zaW9uLCBhcnJheSgnZmx2Jywnc3dmJywnd212JywnbW92JykpKXsNCgkJJGluZm9bImZpbGVpY29uIl0gPSAiaWNvbnMvZmlsZXR5cGVzL2ZtZWRpYS5naWYiOw0KCX1lbHNlaWYoaW5fYXJyYXkoJGV4dGVuc2lvbiwgYXJyYXkoJ2pwZWcnLCdqcGcnLCdwbmcnLCdnaWYnKSkpew0KCQkkaW5mb1siZmlsZWljb24iXSA9ICJpY29ucy9maWxldHlwZXMvZnBhaW50LmdpZiI7DQoJfWVsc2V7DQoJCSRpbmZvWyJmaWxlaWNvbiJdID0gImljb25zL2ZpbGV0eXBlcy9mZG9jLmdpZiI7DQoJfQ0KCQ0KCSRpbmZvWyJpbWFnZXNpemUiXSA9IGZhbHNlOw0KCSRpbWdpbmYgPSBnZXRpbWFnZXNpemUoJGZpbGVwYXRoKTsNCglpZihpc3NldCgkaW1naW5mWzFdKSl7DQoJCSRpbmZvWyJ3aWR0aCJdID0gJGltZ2luZlswXTsNCgkJJGluZm9bImhlaWdodCJdID0gJGltZ2luZlsxXTsNCgkJJGluZm9bImltYWdlc2l6ZSJdID0gJGltZ2luZlswXS4neCcuJGltZ2luZlsxXTsNCgkJaWYoaXNzZXQoJGltZ2luZlsibWltZSJdKSkJJGluZm9bIm1pbWUiXSA9ICRpbWdpbmZbIm1pbWUiXTsNCgl9DQoJDQoJJGluZm9bIm93bmVyIl0gPSBmaWxlb3duZXIoJGZpbGVwYXRoKTsNCgkkaW5mb1sicGVybWlzc2lvbnMiXSA9IGZpbGVwZXJtcygkZmlsZXBhdGgpOw0KCQ0KCSRpbmZvWyJmaWxlbXRpbWUiXSA9IGZpbGVtdGltZSgkZmlsZXBhdGgpOw0KCSRpbmZvWyJtb2RpZmllZCJdID0gZGF0ZSgiWS1tLWQgRzppIiwgJGluZm9bImZpbGVtdGltZSJdKTsNCgkNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/function.plresize.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCi8vIGZ1bmN0aW9uIHBsUmVzaXplKCRmdWxscGF0aCwgJG5ld3BhdGgsICRuZXd3aWR0aCwgJG5ld2hlaWdodD1mYWxzZSwgJHRyYW5zcGFyZW5jeT1mYWxzZSwgJGNyb3A9ZmFsc2UpIHsNCgkkbmFtZSA9IHN0cl9yZXBsYWNlKCcvLycsJy8nLCRmdWxscGF0aCk7DQoJaWYoIWZpbGVfZXhpc3RzKCRuYW1lKSkJcmV0dXJuIGZhbHNlOw0KCSRpbWFnZV9pbmZvcyA9IGdldGltYWdlc2l6ZSgkbmFtZSk7DQoJDQoJJGRvcmVzaXplID0gdHJ1ZTsNCglpZiggJGltYWdlX2luZm9zWzBdIDw9ICRuZXd3aWR0aCAmJiAoJG5ld2hlaWdodCA9PSBmYWxzZSB8fCAkaW1hZ2VfaW5mb3NbMV0gPD0gJG5ld2hlaWdodCkgKXsNCgkJJHJldHVybiA9IGZhbHNlOw0KCX1lbHNlew0KCQkkbmV3bmFtZSA9ICgkbmV3cGF0aCA9PSAnJz8kZnVsbHBhdGg6JG5ld3BhdGgpOw0KCQkkYXJyID0gc3BsaXQoIlwuIiwkbmFtZSk7DQoJCSRleHQgPSBzdHJ0b2xvd2VyKCRhcnJbY291bnQoJGFyciktMV0pOw0KDQoJCWlmKCRleHQ9PSJqcGVnIiB8fCAkZXh0PT0ianBnIil7DQoJCQkkaW1nID0gQGltYWdlY3JlYXRlZnJvbWpwZWcoJG5hbWUpOw0KCQl9IGVsc2VpZigkZXh0PT0icG5nIil7DQoJCQkkaW1nID0gQGltYWdlY3JlYXRlZnJvbXBuZygkbmFtZSk7DQoJCX0gZWxzZWlmKCRleHQ9PSJnaWYiKSB7DQoJCQkkaW1nID0gQGltYWdlY3JlYXRlZnJvbWdpZigkbmFtZSk7DQoJCX0NCgkJaWYoISRpbWcpICAgcmV0dXJuIGZhbHNlOw0KDQoJCSRvbGRfeCA9IGltYWdlU1goJGltZyk7DQoJCSRvbGRfeSA9IGltYWdlU1koJGltZyk7DQoNCgkJaWYoJG5ld2hlaWdodCAmJiAkY3JvcCl7DQoJCQkvLyBmaW5kIHRoZSB3YW50ZWQgcmF0aW8NCgkJCSR3YW50ZWRyYXRpbyA9ICRuZXd3aWR0aC8kbmV3aGVpZ2h0Ow0KCQkJJGN1cnJlbnRyYXRpbyA9ICRvbGRfeC8kb2xkX3k7DQoJCQlpZigkY3VycmVudHJhdGlvID4gJHdhbnRlZHJhdGlvKXsNCgkJCQkvLyB3aWR0aCBpcyB0b28gbGFyZ2UNCgkJCQkkY3JvcF94ID0gKGludCkgKCRvbGRfeSAqICR3YW50ZWRyYXRpbyk7DQoJCQkJJGNyb3BfeSA9ICRvbGRfeTsNCgkJCQkkaW50X3cgPSAoaW50KSAoKCRvbGRfeCAtICRjcm9wX3gpIC8gMik7DQoJCQkJJGludF9oID0gMDsNCgkJCX1lbHNlaWYoJGN1cnJlbnRyYXRpbyA8ICR3YW50ZWRyYXRpbyl7DQoJCQkJLy8gaGVpZ2h0IGlzIHRvbyBsYXJnZQ0KCQkJCSRjcm9wX3ggPSAkb2xkX3g7DQoJCQkJJGNyb3BfeSA9IChpbnQpICgkb2xkX3ggLyAkd2FudGVkcmF0aW8pOw0KCQkJCSRpbnRfaCA9IChpbnQpICgoJG9sZF95IC0gJGNyb3BfeSkgLyAyKTsNCgkJCQkkaW50X3cgPSAwOw0KCQkJfQ0KCQkJaWYoJGN1cnJlbnRyYXRpbyAhPSAkd2FudGVkcmF0aW8pew0KCQkJCS8vIHdlIGZpcnN0IGNyb3ANCgkJCQkkZGltZyA9IEltYWdlQ3JlYXRlVHJ1ZUNvbG9yKCRjcm9wX3gsICRjcm9wX3kpOw0KCQkJCWlmKGltYWdlY29weXJlc2FtcGxlZCgkZGltZywkaW1nLDAsMCwkaW50X3csJGludF9oLCRjcm9wX3gsJGNyb3BfeSwkY3JvcF94LCRjcm9wX3kpKXsNCgkJCQkJaW1hZ2VkZXN0cm95KCRpbWcpOw0KCQkJCQkkaW1nID0gJGRpbWc7DQoJCQkJfQ0KCQkJfQ0KCQkJJG9sZF94ID0gJGNyb3BfeDsNCgkJCSRvbGRfeSA9ICRjcm9wX3k7DQoJCQkkdGh1bWJfaCA9ICRuZXdoZWlnaHQ7DQoJCQkkdGh1bWJfdyA9ICRuZXd3aWR0aDsNCgkJfWVsc2V7DQoJCQkkcmF0aW8gPSAkbmV3aGVpZ2h0P21pbigkbmV3d2lkdGggLyAkaW1hZ2VfaW5mb3NbMF0sICRuZXdoZWlnaHQgLyAkaW1hZ2VfaW5mb3NbMV0pOigkbmV3d2lkdGggLyAkaW1hZ2VfaW5mb3NbMF0pOw0KCQkJJHRodW1iX2ggPSAkaW1hZ2VfaW5mb3NbMV0gKiAkcmF0aW87DQoJCQkkdGh1bWJfdyA9ICRpbWFnZV9pbmZvc1swXSAqICRyYXRpbzsNCgkJfQ0KDQoJCSRuZXdfaW1nID0gSW1hZ2VDcmVhdGVUcnVlQ29sb3IoJHRodW1iX3csICR0aHVtYl9oKTsNCgkgICANCgkJaWYoJHRyYW5zcGFyZW5jeSkgew0KCQkJaWYoJGV4dD09InBuZyIpIHsNCgkJCQlpbWFnZWFscGhhYmxlbmRpbmcoJG5ld19pbWcsIGZhbHNlKTsNCgkJCQkkY29sb3JUcmFuc3BhcmVudCA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRuZXdfaW1nLCAwLCAwLCAwLCAxMjcpOw0KCQkJCWltYWdlZmlsbCgkbmV3X2ltZywgMCwgMCwgJGNvbG9yVHJhbnNwYXJlbnQpOw0KCQkJCWltYWdlc2F2ZWFscGhhKCRuZXdfaW1nLCB0cnVlKTsNCgkJCX0gZWxzZWlmKCRleHQ9PSJnaWYiKSB7DQoJCQkJJHRybnBydF9pbmR4ID0gaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCRpbWcpOw0KCQkJCWlmICgkdHJucHJ0X2luZHggPj0gMCkgew0KCQkJCQkvL2l0cyB0cmFuc3BhcmVudA0KCQkJCQkkdHJucHJ0X2NvbG9yID0gaW1hZ2Vjb2xvcnNmb3JpbmRleCgkaW1nLCAkdHJucHJ0X2luZHgpOw0KCQkJCQkkdHJucHJ0X2luZHggPSBpbWFnZWNvbG9yYWxsb2NhdGUoJG5ld19pbWcsICR0cm5wcnRfY29sb3JbJ3JlZCddLCAkdHJucHJ0X2NvbG9yWydncmVlbiddLCAkdHJucHJ0X2NvbG9yWydibHVlJ10pOw0KCQkJCQlpbWFnZWZpbGwoJG5ld19pbWcsIDAsIDAsICR0cm5wcnRfaW5keCk7DQoJCQkJCWltYWdlY29sb3J0cmFuc3BhcmVudCgkbmV3X2ltZywgJHRybnBydF9pbmR4KTsNCgkJCQl9DQoJCQl9DQoJCX0gZWxzZSB7DQoJCQlJbWFnZWZpbGwoJG5ld19pbWcsIDAsIDAsIGltYWdlY29sb3JhbGxvY2F0ZSgkbmV3X2ltZywgMjU1LCAyNTUsIDI1NSkpOw0KCQl9DQoJCWltYWdlY29weXJlc2FtcGxlZCgkbmV3X2ltZywgJGltZywgMCwwLDAsMCwgJHRodW1iX3csICR0aHVtYl9oLCAkb2xkX3gsICRvbGRfeSk7DQoNCgkJaWYoZmlsZV9leGlzdHMoJG5ld25hbWUpKQlAdW5saW5rKCRuZXduYW1lKTsNCg0KCQlpZigkZXh0PT0ianBlZyIgfHwgJGV4dD09ImpwZyIpew0KCQkJaW1hZ2VqcGVnKCRuZXdfaW1nLCAkbmV3bmFtZSk7DQoJCQkkcmV0dXJuID0gdHJ1ZTsNCgkJfSBlbHNlaWYoJGV4dD09InBuZyIpew0KCQkJaW1hZ2VwbmcoJG5ld19pbWcsICRuZXduYW1lKTsNCgkJCSRyZXR1cm4gPSB0cnVlOw0KCQl9IGVsc2VpZigkZXh0PT0iZ2lmIikgew0KCQkJaW1hZ2VnaWYoJG5ld19pbWcsICRuZXduYW1lKTsNCgkJCSRyZXR1cm4gPSB0cnVlOw0KCQl9DQoJCWltYWdlZGVzdHJveSgkbmV3X2ltZyk7DQoJCWltYWdlZGVzdHJveSgkaW1nKTsNCgkJaWYoJHJldHVybikgJHJldHVybiA9ICRuZXduYW1lOw0KCX0NCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/HostedVideoAlbums.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIE1vZHVsZTogSG9zdGVkVmlkZW9BbGJ1bXMNCiMgVmVyc2lvbjogMS4wLCANCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwOCBieSBUZWQgS3VscCAod2lzaHlAY21zbWFkZXNpbXBsZS5vcmcpDQojIFRoaXMgcHJvamVjdCJzIGhvbWVwYWdlIGlzOiBodHRwOi8vd3d3LmNtc21hZGVzaW1wbGUub3JnDQojDQojIFRoaXMgbW9kdWxlIHdhcyBvcmlnaW5hbGx5IGNyZWF0ZWQgd2l0aCBDVExNb2R1bGVNYWtlciAxLjguOS4zIGFuZCB0aGVuDQojIG1vZGlmaWVkIG1hbnVhbGx5DQojIENUTE1vZHVsZU1ha2VyIHdhcyBjcmVhdGVkIGJ5IFBpZXJyZS1MdWMgR2VybWFpbiBhbmQgaXMgcmVsZWFzZWQgdW5kZXIgR05VDQojIGh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvY3RsbW9kdWxlbWFrZXINCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQojIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yDQojIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQojDQojIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLA0KIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQojIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuDQojIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQojIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBDQojIE9yIHJlYWQgaXQgb25saW5lOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwNCiMNCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoNCmNsYXNzIEhvc3RlZFZpZGVvQWxidW1zIGV4dGVuZHMgQ01TTW9kdWxlDQp7DQoJdmFyICRjdXJyZW50dHJlZSA9IGZhbHNlOw0KCXZhciAkY3VycmVudHBhZ2VpbmRleCA9IDE7DQoJdmFyICRwbGN1cnJlbnQgPSBhcnJheSgpOw0KDQoJZnVuY3Rpb24gR2V0TmFtZSgpDQoJew0KCQlyZXR1cm4gIkhvc3RlZFZpZGVvQWxidW1zIjsNCgl9DQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldEZyaWVuZGx5TmFtZSgpDQoJICAgVGhpcyBjYW4gcmV0dXJuIGFueSBzdHJpbmcsIHByZWZlcmFibHkgYSBsb2NhbGl6ZWQgbmFtZQ0KCSAgIG9mIHRoZSBtb2R1bGUuIFRoaXMgaXMgdGhlIG5hbWUgdGhhdCJzIHNob3duIGluIHRoZQ0KCSAgIEFkbWluIE1lbnVzIGFuZCBzZWN0aW9uIHBhZ2VzIChpZiB0aGUgbW9kdWxlIGhhcyBhbiBhZG1pbg0KCSAgIGNvbXBvbmVudCkuDQoJICAgDQoJICAgU2VlIHRoZSBub3RlIG9uIGxvY2FsaXphdGlvbiBhdCB0aGUgdG9wIG9mIHRoaXMgZmlsZS4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0RnJpZW5kbHlOYW1lKCkgew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoImZyaWVuZGx5bmFtZSIpOw0KCX0NCgkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldFZlcnNpb24oKQ0KCSAgIFRoaXMgY2FuIHJldHVybiBhbnkgc3RyaW5nLCBwcmVmZXJhYmx5IGEgbnVtYmVyIG9yDQoJICAgc29tZXRoaW5nIHRoYXQgbWFrZXMgc2Vuc2UgZm9yIGRlc2lnbmF0aW5nIGEgdmVyc2lvbi4NCgkgICBUaGUgQ01TIHdpbGwgdXNlIHRoaXMgdG8gaWRlbnRpZnkgd2hldGhlciBvciBub3QNCgkgICB0aGUgaW5zdGFsbGVkIHZlcnNpb24gb2YgdGhlIG1vZHVsZSBpcyBjdXJyZW50LCBhbmQNCgkgICB0aGUgbW9kdWxlIHdpbGwgdXNlIGl0IHRvIGZpZ3VyZSBvdXQgaG93IHRvIHVwZ3JhZGUNCgkgICBpdHNlbGYgaWYgcmVxdWVzdGVkLgkgICANCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsNCgkJcmV0dXJuICIxLjIiOw0KCX0NCg0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXREZXBlbmRlbmNpZXMoKQ0KCSAgIFlvdXIgbW9kdWxlIG1heSBuZWVkIGFub3RoZXIgbW9kdWxlIHRvIGFscmVhZHkgYmUgaW5zdGFsbGVkDQoJICAgYmVmb3JlIHlvdSBjYW4gaW5zdGFsbCBpdC4NCgkgICBUaGlzIG1ldGhvZCByZXR1cm5zIGEgbGlzdCBvZiB0aG9zZSBkZXBlbmRlbmNpZXMgYW5kDQoJICAgbWluaW11bSB2ZXJzaW9uIG51bWJlcnMgdGhhdCB0aGlzIG1vZHVsZSByZXF1aXJlcy4NCgkgICANCgkgICBJdCBzaG91bGQgcmV0dXJuIGFuIGhhc2gsIGVnLg0KCSAgIHJldHVybiBhcnJheSgic29tZW1vZHVsZSI9PiIxLjAiLCAib3RoZXJtb2R1bGUiPT4iMS4xIik7DQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldERlcGVuZGVuY2llcygpIHsNCgkJcmV0dXJuIGFycmF5KCk7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBHZXRIZWxwKCkNCgkgICBUaGlzIHJldHVybnMgSFRNTCBpbmZvcm1hdGlvbiBvbiB0aGUgbW9kdWxlLg0KCSAgIFR5cGljYWxseSwgeW91ImxsIHdhbnQgdG8gaW5jbHVkZSBpbmZvcm1hdGlvbiBvbiBob3cgdG8NCgkgICB1c2UgdGhlIG1vZHVsZS4NCgkgICANCgkgICBTZWUgdGhlIG5vdGUgb24gbG9jYWxpemF0aW9uIGF0IHRoZSB0b3Agb2YgdGhpcyBmaWxlLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRIZWxwKCkgew0KCQkkZm49ZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nbGFuZycuRElSRUNUT1JZX1NFUEFSQVRPUi4kdGhpcy0+TGFuZygiaGVscGZpbGUiKTsNCgkJaWYoIGZpbGVfZXhpc3RzKCAkZm4gKSApIHsNCgkJCXJldHVybiBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCgkJfQ0KCQkvLyB0cnkgd2l0aCBlbmdsaXNoIGhlbHAgLSBoYXJkY29kZWQNCgkJJGZuPWRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJ2xhbmcnLkRJUkVDVE9SWV9TRVBBUkFUT1IuImhlbHBfZW5fVVMuaHRtbCI7DQoJCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQoJCQlyZXR1cm4gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJCX0NCgkJcmV0dXJuICJoZWxwIG5vdCBmb3VuZCI7DQoJfQ0KDQoJZnVuY3Rpb24gR2V0Q2hhbmdlTG9nKCkgew0KCQkkZm49ZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nbGFuZycuRElSRUNUT1JZX1NFUEFSQVRPUi4kdGhpcy0+TGFuZygiY2hhbmdlbG9nZmlsZSIpOw0KCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkgew0KCQkJcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KCQl9DQoJCS8vIHRyeSB3aXRoIGVuZ2xpc2ggaGVscCAtIGhhcmRjb2RlZA0KCQkkZm49ZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4nbGFuZycuRElSRUNUT1JZX1NFUEFSQVRPUi4iY2hhbmdlbG9nX2VuX1VTLmh0bWwiOw0KCQlpZiggZmlsZV9leGlzdHMoICRmbiApICkgew0KCQkJcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cygkZm4pOw0KCQl9DQoJCXJldHVybiAiY2hhbmdlIGxvZyBub3QgZm91bmQiOw0KCX0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgR2V0QXV0aG9yKCkNCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQ0KCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBHZXRBdXRob3IoKSB7DQoJCXJldHVybiAiT2xpdmllciBMRVZJTExBSU4gb24gYSBiYXNpcyBjcmVhdGVkIHdpdGggQ1RMTW9kdWxlTWFrZXIgMS44LjkuMyI7DQoJfQ0KDQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEdldEF1dGhvckVtYWlsKCkNCgkgICBUaGlzIHJldHVybnMgYSBzdHJpbmcgdGhhdCBpcyBwcmVzZW50ZWQgaW4gdGhlIE1vZHVsZQ0KCSAgIEFkbWluIGlmIHlvdSBjbGljayBvbiB0aGUgIkFib3V0IiBsaW5rLiBJdCBoZWxwcyB1c2Vycw0KCSAgIG9mIHlvdXIgbW9kdWxlIGdldCBpbiB0b3VjaCB3aXRoIHlvdSB0byBzZW5kIGJ1ZyByZXBvcnRzLA0KCSAgIHF1ZXN0aW9ucywgY2FzZXMgb2YgYmVlciwgYW5kL29yIGxhcmdlIHN1bXMgb2YgbW9uZXkuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEdldEF1dGhvckVtYWlsKCkgew0KCQlyZXR1cm4gIm9saXZpZXIubGV2aWxsYWluQGZyZWUuZnIiOw0KCX0NCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgSXNQbHVnaW5Nb2R1bGUoKQ0KCSAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0cnVlIG9yIGZhbHNlLCBkZXBlbmRpbmcgdXBvbg0KCSAgIHdoZXRoZXIgdXNlcnMgY2FuIGluY2x1ZGUgdGhlIG1vZHVsZSBpbiBhIHBhZ2Ugb3INCgkgICB0ZW1wbGF0ZSB1c2luZyBhIHNtYXJ0eSB0YWcgb2YgdGhlIGZvcm0NCgkgICB7Y21zX21vZHVsZSBtb2R1bGU9IlByb2QiIHBhcmFtMT12YWwgcGFyYW0yPXZhbC4uLn0NCgkgICANCgkgICBJZiB5b3VyIG1vZHVsZSBkb2VzIG5vdCBnZXQgaW5jbHVkZWQgaW4gcGFnZXMgb3INCgkgICB0ZW1wbGF0ZXMsIHJldHVybiAiZmFsc2UiIGhlcmUuDQoJICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIElzUGx1Z2luTW9kdWxlKCkgew0KCQlyZXR1cm4gdHJ1ZTsNCgl9DQoNCg0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgSGFzQWRtaW4oKQ0KCSAgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhIGJvb2xlYW4gdmFsdWUsIGRlcGVuZGluZyBvbg0KCSAgIHdoZXRoZXIgeW91ciBtb2R1bGUgYWRkcyBhbnl0aGluZyB0byB0aGUgQWRtaW4gYXJlYSBvZg0KCSAgIHRoZSBzaXRlLiBGb3IgdGhlIHJlc3Qgb2YgdGhlc2UgY29tbWVudHMsIEkibGwgYmUgY2FsbGluZw0KCSAgIHRoZSBhZG1pbiBwYXJ0IG9mIHlvdXIgbW9kdWxlIHRoZSAiQWRtaW4gUGFuZWwiIGZvcg0KCSAgIHdhbnQgb2YgYSBiZXR0ZXIgdGVybS4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gSGFzQWRtaW4oKSB7CXJldHVybiB0cnVlOwl9DQoJZnVuY3Rpb24gR2V0QWRtaW5TZWN0aW9uKCkge3JldHVybiAiY29udGVudCI7fQ0KCWZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7cmV0dXJuICR0aGlzLT5MYW5nKCJhZG1pbmRlc2NyaXB0aW9uIik7fQ0KDQoJZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkgew0KCQlyZXR1cm4gKCR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9ub3JtYWx1c2VyIikgfHwgJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX2FkdmFuY2VkIikpOw0KCX0NCgkNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIE1vZHVsZSBDb25zdHJ1Y3RvciANCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIEhvc3RlZFZpZGVvQWxidW1zKCkgew0KCQlnbG9iYWwgJGdDbXM7DQogICAgCSRzbWFydHkgPSYgJGdDbXMtPkdldFNtYXJ0eSgpOw0KCQkkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigiSG9zdGVkVmlkZW9BbGJ1bXNfYnJlYWRjcnVtYnMiLCBhcnJheSgmJHRoaXMsImZ1bmN0aW9uX21vZGJyZWFkY3J1bWJzIikpOw0KCQkkc21hcnR5LT5yZWdpc3Rlcl9mdW5jdGlvbigiSG9zdGVkVmlkZW9BbGJ1bXNfZ2V0X2xldmVsaXRlbSIsIGFycmF5KCYkdGhpcywiZnVuY3Rpb25fZ2V0X2xldmVsaXRlbSIpKTsNCgkJJHNtYXJ0eS0+cmVnaXN0ZXJfZnVuY3Rpb24oIkhvc3RlZFZpZGVvQWxidW1zX2VtYmVkdmlkZW8iLCBhcnJheSgmJHRoaXMsImZ1bmN0aW9uX2VtYmVkdmlkZW8iKSk7DQoJCXBhcmVudDo6Q01TTW9kdWxlKCk7DQoJfQ0KCQ0KCS8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQoJICAgU2V0UGFyYW1ldGVycygpDQoJICAgVGhpcyBmdW5jdGlvbiBlbmFibGVzIHlvdSB0byBjcmVhdGUgbWFwcGluZ3MgZm9yDQoJICAgeW91ciBtb2R1bGUgd2hlbiB1c2luZyAiUHJldHR5IFVybHMiLg0KCSAgIA0KCSAgIFR5cGljYWxseSwgbW9kdWxlcyBjcmVhdGUgaW50ZXJuYWwgbGlua3MgdGhhdCBoYXZlDQoJICAgYmlnIHVnbHkgc3RyaW5ncyBhbG9uZyB0aGUgbGluZXMgb2Y6DQoJICAgaW5kZXgucGhwP21hY3Q9TW9kTmFtZSxjbnRudDAxLGFjdGlvbk5hbWUsMCZjbnRudDAxcGFyYW0xPTEmY250bnQwMXBhcmFtMj0yJmNudG50MDFyZXR1cm5pZD0zDQoJICAgDQoJICAgWW91IG1pZ2h0IHByZWZlciB0aGVzZSB0byBsb29rIGxpa2U6DQoJICAgL01vZHVsZUZ1bmN0aW9uLzIvMw0KCSAgIA0KCSAgIFRvIGRvIHRoaXMsIHlvdSBoYXZlIHRvIHJlZ2lzdGVyIHJvdXRlcyBhbmQgbWFwDQoJICAgeW91ciBwYXJhbWV0ZXJzIGluIGEgd2F5IHRoYXQgdGhlIEFQSSB3aWxsIGJlIGFibGUNCgkgICB0byB1bmRlcnN0YW5kLg0KDQoJICAgQWxzbyBub3RlIHRoYXQgYW55IGNhbGxzIHRvIENyZWF0ZUxpbmsgd2lsbCBuZWVkIHRvDQoJICAgYmUgdXBkYXRlZCB0byBwYXNzIHRoZSBwcmV0dHkgdXJsIHBhcmFtZXRlci4NCgkgICANCgkgICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIFNldFBhcmFtZXRlcnMoKSB7DQoNCgkJLy8gdGhlc2UgYXJlIGZvciBpbnRlcm5hbCBwcmV0dHkgVVJMUy4NCgkJLy8geW91IG1heSBjaGFuZ2UgdGhlc2UsIGJ1dCB5b3Ugd2lsbCBhbHNvIG5lZWQgdG8gY2hhbmdlIHRoZSBCdWlsZFByZXR0eVVSTHMgZnVuY3Rpb24gYmVsb3cgYWNjb3JkaW5nbHkNCgkJLy8gc2VlIEZBUSBmb3IgbW9yZSBpbmZvIG9uIHRoaXMNCgkJJGRlZmFjdCA9IGFycmF5KCJhY3Rpb24iPT4iZGVmYXVsdCIpOw0KCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgiL1toSF1vc3RlZFt2Vl1pZGVvW2FBXWxidW1zXC8oW1FxXXVlcnkpXC8oP1A8cXVlcnk+WzAtOV0rKVwvKD9QPHJldHVybmlkPlswLTldKykkLyIsICRkZWZhY3QpOw0KCQkkdGhpcy0+UmVnaXN0ZXJSb3V0ZSgiL1toSF1vc3RlZFt2Vl1pZGVvW2FBXWxidW1zXC8oW1FxXXVlcnkpXC8oP1A8cXVlcnk+WzAtOV0rKVwvKD9QPHBhZ2VpbmRleD5bMC05XSspXC8oP1A8bmJwZXJwYWdlPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iLCAkZGVmYWN0KTsNCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9baEhdb3N0ZWRbdlZdaWRlb1thQV1sYnVtc1wvKFtEZF1ldGFpbClcLyg/UDxhbGlhcz5bXlwvXSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvIiwgJGRlZmFjdCk7DQoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCIvW2hIXW9zdGVkW3ZWXWlkZW9bYUFdbGJ1bXNcLyg/UDx3aGF0PlteXC9dKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iLCAkZGVmYWN0KTsNCgkJJHRoaXMtPlJlZ2lzdGVyUm91dGUoIi9baEhdb3N0ZWRbdlZdaWRlb1thQV1sYnVtc1wvKD9QPHdoYXQ+W15cL10rKVwvKD9QPHBhcmVudD5bXlwvXSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvIiwgJGRlZmFjdCk7DQoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCIvW2hIXW9zdGVkW3ZWXWlkZW9bYUFdbGJ1bXNcLyg/UDx3aGF0PlteXC9dKylcLyg/UDxwYWdlaW5kZXg+WzAtOV0rKVwvKD9QPG5icGVycGFnZT5bMC05XSspXC8oP1A8cmV0dXJuaWQ+WzAtOV0rKSQvIiwgJGRlZmFjdCk7DQoJCSR0aGlzLT5SZWdpc3RlclJvdXRlKCIvW2hIXW9zdGVkW3ZWXWlkZW9bYUFdbGJ1bXNcLyg/UDx3aGF0PlteXC9dKylcLyg/UDxwYXJlbnQ+W15cL10rKVwvKD9QPHBhZ2VpbmRleD5bMC05XSspXC8oP1A8bmJwZXJwYWdlPlswLTldKylcLyg/UDxyZXR1cm5pZD5bMC05XSspJC8iLCAkZGVmYWN0KTsNCgkNCgkJJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOw0KCQkNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiYWN0aW9uIiwgImRlZmF1bHQiLCAkdGhpcy0+TGFuZygicGhlbHBfYWN0aW9uIikpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJ3aGF0IiwgIiIsICR0aGlzLT5MYW5nKCJwaGVscF93aGF0IikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgid2hhdCIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiYWxpYXMiLCAiIiwgJHRoaXMtPkxhbmcoInBoZWxwX2FsaWFzIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgiYWxpYXMiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoInNob3dkZWZhdWx0IiwgZmFsc2UsICR0aGlzLT5MYW5nKCJwaGVscF9zaG93ZGVmYXVsdCIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoInNob3dkZWZhdWx0IixDTEVBTl9JTlQpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJwYXJlbnQiLCAiIiwgJHRoaXMtPkxhbmcoInBoZWxwX3BhcmVudCIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoInBhcmVudCIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigibGltaXQiLCAwLCAkdGhpcy0+TGFuZygicGhlbHBfbGltaXQiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJsaW1pdCIsQ0xFQU5fSU5UKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigibmJwZXJwYWdlIiwgMCwgJHRoaXMtPkxhbmcoInBoZWxwX25icGVycGFnZSIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoIm5icGVycGFnZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigib3JkZXJieSIsIDAsICR0aGlzLT5MYW5nKCJwaGVscF9vcmRlcmJ5IikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgib3JkZXJieSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiZGV0YWlscGFnZSIsICIiLCAkdGhpcy0+TGFuZygicGhlbHBfZGV0YWlscGFnZSIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoImRldGFpbHBhZ2UiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoInJhbmRvbSIsIDAsICR0aGlzLT5MYW5nKCJwaGVscF9yYW5kb20iKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJyYW5kb20iLENMRUFOX0lOVCk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoImxpc3R0ZW1wbGF0ZSIsICIiLCAkdGhpcy0+bGFuZygicGhlbHBfbGlzdHRlbXBsYXRlIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgibGlzdHRlbXBsYXRlIixDTEVBTl9TVFJJTkcpOw0KCQkkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCJmaW5hbHRlbXBsYXRlIiwgIiIsICR0aGlzLT5sYW5nKCJwaGVscF9maW5hbHRlbXBsYXRlIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgiZmluYWx0ZW1wbGF0ZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiZW1iZWR0ZW1wbGF0ZSIsICIiLCAkdGhpcy0+bGFuZygicGhlbHBfZW1iZWR0ZW1wbGF0ZSIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoImVtYmVkdGVtcGxhdGUiLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoImZvcmNlbGlzdCIsICIwIiwgJHRoaXMtPmxhbmcoInBoZWxwX2ZvcmNlbGlzdCIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoImZvcmNlbGlzdCIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigiaW5saW5lIiwgMCwgJHRoaXMtPmxhbmcoInBoZWxwX2lubGluZSIpKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoImlubGluZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigic2VhcmNobW9kZSIsICJhZHZhbmNlZCIsICR0aGlzLT5sYW5nKCJwaGVscF9zZWFyY2htb2RlIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgic2VhcmNobW9kZSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigicXVlcnkiLCAwLCAkdGhpcy0+bGFuZygicGhlbHBfcXVlcnkiKSk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJxdWVyeSIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigidG9hY3Rpb24iLCAiIiwgJHRoaXMtPkxhbmcoInBoZWxwX3RvYWN0aW9uIikpOw0KCQkkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgidG9hY3Rpb24iLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJwYWdlaW5kZXgiLENMRUFOX0lOVCk7DQoNCgkJLy8gZm9yIHRoZSBzZWFyY2ggZm9ybSAodHJpY2sgZnJvbSBpa3VsaXMpIDoNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQLiIvZGF0ZV8uKi8iLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUC4iL2ZpZWxkXy4qLyIsQ0xFQU5fU1RSSU5HKTsNCgkJJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoQ0xFQU5fUkVHRVhQLiIvY29tcGFyZV8uKi8iLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJzdWJtaXRzZWFyY2giLENMRUFOX1NUUklORyk7DQoJCSR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCJzZWFyY2hmaWVsZCIsQ0xFQU5fU1RSSU5HKTsNCgkJDQoJfQ0KDQogICAgZnVuY3Rpb24gR2V0RXZlbnREZXNjcmlwdGlvbigkZXZlbnRuYW1lKSB7DQoJCSRldmVudG5hbWUgPSBzdHJfcmVwbGFjZSgiSG9zdGVkVmlkZW9BbGJ1bXMiLCAiIiwgJGV2ZW50bmFtZSk7DQoJCXJldHVybiAkdGhpcy0+bGFuZygiZXZlbnRkZXNjIi4kZXZlbnRuYW1lKTsNCiAgICB9DQogICAgDQoJZnVuY3Rpb24gSW5zdGFsbFBvc3RNZXNzYWdlKCkgew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoInBvc3RpbnN0YWxsIik7DQoJfQ0KCWZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkJew0KCQlyZXR1cm4gJHRoaXMtPkxhbmcoInBvc3R1bmluc3RhbGwiKTsNCgl9DQoJZnVuY3Rpb24gVW5pbnN0YWxsUHJlTWVzc2FnZSgpIHsNCgkJcmV0dXJuICR0aGlzLT5MYW5nKCJyZWFsbHlfdW5pbnN0YWxsIik7DQoJfQ0KDQoNCgkvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KCSAgIEluc3RhbGwoKQ0KCSAgIFdoZW4geW91ciBtb2R1bGUgaXMgaW5zdGFsbGVkLCB5b3UgbWF5IG5lZWQgdG8gZG8gc29tZQ0KCSAgIHNldHVwLiBUeXBpY2FsIHRoaW5ncyB0aGF0IGhhcHBlbiBoZXJlIGFyZSB0aGUgY3JlYXRpb24NCgkgICBhbmQgcHJlcG9wdWxhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsIGRhdGFiYXNlIHNlcXVlbmNlcywNCgkgICBwZXJtaXNzaW9ucywgcHJlZmVyZW5jZXMsIGV0Yy4NCgkgICAJICAgDQoJICAgRm9yIGluZm9ybWF0aW9uIG9uIHRoZSBjcmVhdGlvbiBvZiBkYXRhYmFzZSB0YWJsZXMsDQoJICAgY2hlY2sgb3V0IHRoZSBBRE9EQiBEYXRhIERpY3Rpb25hcnkgcGFnZSBhdA0KCSAgIGh0dHA6Ly9waHBsZW5zLmNvbS9sZW5zL2Fkb2RiL2RvY3MtZGF0YWRpY3QuaHRtDQoJICAgDQoJICAgVGhpcyBmdW5jdGlvbiBjYW4gcmV0dXJuIGEgc3RyaW5nIGluIGNhc2Ugb2YgYW55IGVycm9yLA0KCSAgIGFuZCBDTVMgd2lsbCBub3QgY29uc2lkZXIgdGhlIG1vZHVsZSBpbnN0YWxsZWQuDQoJICAgU3VjY2Vzc2Z1bCBpbnN0YWxscyBzaG91bGQgcmV0dXJuIEZBTFNFIG9yIG5vdGhpbmcgYXQgYWxsLg0KCSAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCglmdW5jdGlvbiBJbnN0YWxsKCkJew0KCQlnbG9iYWwgJGdDbXM7DQoJCXJlcXVpcmUgIm1ldGhvZC5pbnN0YWxsLnBocCI7DQoJfQ0KDQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCgkgICBVbmluc3RhbGwoKQ0KCSAgIFNvbWV0aW1lcywgYW4gZXhjZXB0aW9uYWxseSB1bmVubGlnaHRlbmVkIG9yIGlnbm9yYW50DQoJICAgYWRtaW4gd2lsbCB3aXNoIHRvIHVuaW5zdGFsbCB5b3VyIG1vZHVsZS4gV2hpbGUgaXQNCgkgICB3b3VsZCBiZSBiZXN0IHRvIGxheSBpbnRvIHRoZXNlIGlkaW90cyB3aXRoIGEgY2x1ZXN0aWNrLA0KCSAgIHdlIHdpbGwgZG8gdGhlIG1hZ25hbmltb3VzIHRoaW5nIGFuZCByZW1vdmUgdGhlIG1vZHVsZQ0KCSAgIGFuZCBjbGVhbiB1cCB0aGUgZGF0YWJhc2UsIHBlcm1pc3Npb25zLCBhbmQgcHJlZmVyZW5jZXMNCgkgICB0aGF0IGFyZSBzcGVjaWZpYyB0byBpdC4NCgkgICBUaGlzIGlzIHRoZSBtZXRob2Qgd2hlcmUgd2UgZG8gdGhpcy4NCgkgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovDQoJZnVuY3Rpb24gVW5pbnN0YWxsKCkgew0KCQlnbG9iYWwgJGdDbXM7DQoJCXJlcXVpcmUgIm1ldGhvZC51bmluc3RhbGwucGhwIjsNCgl9DQoJLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCglVcGdyYWRlKCkNCgktLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qLw0KCWZ1bmN0aW9uIFVwZ3JhZGUoJG9sZHZlcnNpb24sICRuZXd2ZXJzaW9uKSB7DQoJCWdsb2JhbCAkZ0NtczsNCgkJcmVxdWlyZSAibWV0aG9kLnVwZ3JhZGUucGhwIjsNCgl9DQoNCglmdW5jdGlvbiBBZGRTaXRlKCRzaXRlTmFtZSkgew0KCQlpZiAoJHRoaXMtPmNvdW50c29tZXRoaW5nKCJmaWVsZG9wdGlvbnMiLCAiaWQiLCBhcnJheSgiZmllbGQiPT4idmlkZW9fc2l0ZSIsICJuYW1lIj0+JHNpdGVOYW1lKSk9PTApIHsNCgkJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJCSR0YWJsZW5hbWUgPSBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfZmllbGRvcHRpb25zIjsNCgkJCSRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZW5hbWUuIiBTRVQgaWQ9PywgZmllbGQ9PywgbmFtZT0/LCBpdGVtX29yZGVyPT8iOw0KCQkJJHNpdGVpZCA9ICRkYi0+R2VuSUQoJHRhYmxlbmFtZS4iX3NlcSIpOw0KCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkc2l0ZWlkLCJ2aWRlb19zaXRlIiwkc2l0ZU5hbWUsJHNpdGVpZCkpOw0KCQl9DQoJfQ0KCQ0KCWZ1bmN0aW9uIFJlbG9hZERlZmF1bHRFbWJlZFZpZGVvVGVtcGxhdGUoKSB7DQoJCS8vIHVwZGF0ZSBkZWZhdWx0IHRlbXBsYXRlDQoJCSRmbmJhc2U9ZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4ndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SOw0KCQkkZm4gPSAkZm5iYXNlLidkZWZhdWx0X2VtYmVkX3ZpZGVvLnRwbCc7DQoJCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQoJCQkkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCgkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgiRW1iZWRWaWRlbyIsJHRlbXBsYXRlLCR0aGlzLT5HZXROYW1lKCkpOw0KCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImVtYmVkdGVtcGxhdGUiLCJFbWJlZFZpZGVvIik7DQoJCX0NCgl9DQoNCiAgICBmdW5jdGlvbiBTZWFyY2hSZXN1bHQoJHJldHVybmlkLCAkaXRlbWlkLCAkbGV2ZWwgPSAiIikgew0KCQkkcmVzdWx0ID0gYXJyYXkoKTsNCgkJJHdhbnRlZHBhcmFtID0gZmFsc2U7DQoJCSRuZXdwYXJhbXMgPSBhcnJheSgpOw0KCQlpZigkbGV2ZWwgPT0gInZpZGVvIil7DQoJCQkvLyB3ZSBzZWVrIGFuIGVsZW1lbnQgb2YgdGhlIGxhc3QgbGV2ZWwsIGFuZCB3aWxsIGRpc3BsYXkgdGhlIGRldGFpbCB2aWV3DQoJCQkkd2FudGVkcGFyYW0gPSAiYWxpYXMiOw0KCQl9ZWxzZXsNCgkJCWlmKCRuZXdwYXJhbXNbIndoYXQiXSA9ICR0aGlzLT5nZXRfbmV4dGxldmVsKCRsZXZlbCkpew0KCQkJLy8gd2Ugc2VlayBhbiBlbGVtZW50IG9mIGFub3RoZXIgbGV2ZWwsIGFuZCB3aWxsIGRpc3BsYXkgdGhlIGxpc3QgdmlldyBvZiBpdHMgY2hpbGRyZW4NCgkJCQkkd2FudGVkcGFyYW0gPSAicGFyZW50IjsNCgkJCX0NCgkJfQ0KCQlpZiAoJHdhbnRlZHBhcmFtKXsNCgkJCSR0YWJsZW5hbWUgPSBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfIi4kbGV2ZWw7DQoJCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCQkkcXVlcnkgPSAiU0VMRUNUIG5hbWUsIGFsaWFzIEZST00gJHRhYmxlbmFtZSBXSEVSRSBpZCA9ID8iOw0KCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCAkcXVlcnksIGFycmF5KCAkaXRlbWlkICkgKTsNCgkJCWlmICgkZGJyZXN1bHQpew0KCQkJCSRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCk7DQoJCQkJJG5ld3BhcmFtc1skd2FudGVkcGFyYW1dID0gJHJvd1siYWxpYXMiXTsNCg0KCQkJCS8vMCBwb3NpdGlvbiBpcyB0aGUgcHJlZml4IGRpc3BsYXllZCBpbiB0aGUgbGlzdCByZXN1bHRzLg0KCQkJCSRyZXN1bHRbMF0gPSAkdGhpcy0+R2V0RnJpZW5kbHlOYW1lKCk7DQoNCgkJCQkvLzEgcG9zaXRpb24gaXMgdGhlIHRpdGxlDQoJCQkJJHJlc3VsdFsxXSA9ICRyb3dbIm5hbWUiXTsNCgkJDQoJCQkJLy8yIHBvc2l0aW9uIGlzIHRoZSBVUkwgdG8gdGhlIHRpdGxlLg0KCQkJCSRyZXN1bHRbMl0gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0IiwgJHJldHVybmlkLCAiIiwgJG5ld3BhcmFtcywgIiIsIHRydWUsIGZhbHNlLCAiIiwgZmFsc2UsICR0aGlzLT5CdWlsZFByZXR0eVVybHMoJG5ld3BhcmFtcywgJHJldHVybmlkKSk7DQoJCQl9DQoJCX0NCg0KCQlyZXR1cm4gJHJlc3VsdDsNCgl9DQoJDQoJZnVuY3Rpb24gU2VhcmNoUmVpbmRleCgmJG1vZHVsZSkgew0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCWlmKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzZWFyY2htb2R1bGVfaW5kZXhfY2F0ZWdvcnkiLGZhbHNlKSl7DQoJCQkkaXRlbWxpc3QgPSAkdGhpcy0+Z2V0X2xldmVsX2NhdGVnb3J5KCk7DQoJCQlmb3JlYWNoKCRpdGVtbGlzdCBhcyAkaXRlbSl7DQoJCQkJJHRleHQgPSAiJGl0ZW0tPmRlc2NyaXB0aW9uICRpdGVtLT5uYW1lIjsNCgkJCQkkbW9kdWxlLT5BZGRXb3JkcygkdGhpcy0+R2V0TmFtZSgpLCAkaXRlbS0+aWQsICJjYXRlZ29yeSIsICR0ZXh0LCBOVUxMKTsNCgkJCX0NCgkJfQ0KCQlpZigkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2VhcmNobW9kdWxlX2luZGV4X2FsYnVtIixmYWxzZSkpew0KCQkJJGl0ZW1saXN0ID0gJHRoaXMtPmdldF9sZXZlbF9hbGJ1bSgpOw0KCQkJZm9yZWFjaCgkaXRlbWxpc3QgYXMgJGl0ZW0pew0KCQkJCSR0ZXh0ID0gIiRpdGVtLT5kZXNjcmlwdGlvbiAkaXRlbS0+bmFtZSI7DQoJCQkJJG1vZHVsZS0+QWRkV29yZHMoJHRoaXMtPkdldE5hbWUoKSwgJGl0ZW0tPmlkLCAiYWxidW0iLCAkdGV4dCwgTlVMTCk7DQoJCQl9DQoJCX0NCgkJaWYoJHRoaXMtPkdldFByZWZlcmVuY2UoInNlYXJjaG1vZHVsZV9pbmRleF92aWRlbyIsZmFsc2UpKXsNCgkJCSRpdGVtbGlzdCA9ICR0aGlzLT5nZXRfbGV2ZWxfdmlkZW8oKTsNCgkJCWZvcmVhY2goJGl0ZW1saXN0IGFzICRpdGVtKXsNCgkJCQkkdGV4dCA9ICIkaXRlbS0+ZGVzY3JpcHRpb24gJGl0ZW0tPnNpdGUgJGl0ZW0tPnZpZGVvaWQgJGl0ZW0tPm5hbWUiOw0KCQkJCSRtb2R1bGUtPkFkZFdvcmRzKCR0aGlzLT5HZXROYW1lKCksICRpdGVtLT5pZCwgInZpZGVvIiwgJHRleHQsIE5VTEwpOw0KCQkJfQ0KCQl9DQoJCQ0KICAgIH0JDQoNCi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KTk9UIFBBUlQgT0YgVEhFIE5PUk1BTCBNT0RVTEUgQVBJDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi8NCg0KICAgIGZ1bmN0aW9uIGdldERlZmF1bHRUZW1wbGF0ZXMoKXsNCiAgICAJLy8gcmV0dXJucyBhbiBhcnJheSBvZiB0aGUgdGVtcGxhdGVzIHRoYXQgYXJlIHNlbGVjdGVkIGFzIGRlZmF1bHQgKGp1c3Qgc28gdGhhdCB3ZSBkb24ndCBkZWxldGUgdGhlbSkNCgkgICAkcmVzdWx0ID0gYXJyYXkoKTsNCgkgICAkcmVzdWx0W10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZmluYWx0ZW1wbGF0ZSIpOw0KCSAgICRyZXN1bHRbXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJzZWFyY2hyZXN1bHRzdGVtcGxhdGUiKTsNCgkgICAkcmVzdWx0W10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlX2NhdGVnb3J5Iik7DQoJICAgJHJlc3VsdFtdID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImxpc3R0ZW1wbGF0ZV9hbGJ1bSIpOw0KCSAgICRyZXN1bHRbXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsaXN0dGVtcGxhdGVfdmlkZW8iKTsNCgkgICAkcmVzdWx0W10gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgiZW1iZWR0ZW1wbGF0ZSIpOw0KCSAgICRyZXN1bHRbXSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlbXB0eXRlbXBsYXRlIik7DQoJICAgcmV0dXJuICRyZXN1bHQ7DQogICAgfQ0KCQ0KICAgIGZ1bmN0aW9uIGdldE9yZGVyVHlwZSgkd2hhdCl7DQoJCS8vIHJldHVybnMgd2hldGhlciBhIGxldmVsIGlzIG9yZGVyZWQgYnkgcGFyZW50IG9yIG5vdA0KCQkkcmV0dXJuID0gYXJyYXkoImNhdGVnb3J5Ij0+dHJ1ZSwiYWxidW0iPT50cnVlLCJ2aWRlbyI9PnRydWUpOw0KCQlyZXR1cm4gKGlzc2V0KCRyZXR1cm5bJHdoYXRdKT8kcmV0dXJuWyR3aGF0XTpmYWxzZSk7DQogICAgfQ0KDQoJZnVuY3Rpb24gRG9BY3Rpb24oJGFjdGlvbiwgJGlkLCAkcGFyYW1zLCAkcmV0dXJuaWQ9LTEpew0KCQlnbG9iYWwgJGdDbXM7DQoJCQ0KCQlzd2l0Y2goJGFjdGlvbil7DQoJCQljYXNlICJsaW5rIjoNCgkJCQkkdG9hY3Rpb24gPSBpc3NldCgkcGFyYW1zWyJ0b2FjdGlvbiJdKT8kcGFyYW1zWyJ0b2FjdGlvbiJdOiJkZWZhdWx0IjsNCgkJCQllY2hvICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwkdG9hY3Rpb24sJHJldHVybmlkLCIiLCRwYXJhbXMsIiIsdHJ1ZSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJicmVhZGNydW1icyI6DQoJCQkJJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7DQoJCQkJJHRoaXMtPmZ1bmN0aW9uX21vZGJyZWFkY3J1bWJzKCRwYXJhbXMsICRzbWFydHkpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZW1iZWR2aWRlbyI6DQoJCQkJJHNtYXJ0eSA9JiAkZ0Ntcy0+R2V0U21hcnR5KCk7DQoJCQkJJHRoaXMtPmZ1bmN0aW9uX2VtYmVkdmlkZW8oJHBhcmFtcywgJHNtYXJ0eSk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJjaGFuZ2VwcmVmZXJlbmNlcyI6DQoJCQkJaWYoISR0aGlzLT5DaGVja1Blcm1pc3Npb24oIkhWQV9hZHZhbmNlZCIpKXsNCgkJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoImVycm9yX2RlbmllZCIpKSk7DQoJCQkJCWJyZWFrOw0KCQkJCX0NCgkJCQkkcHJlZnMgPSBhcnJheSgicmVzdHJpY3RfcGVybWlzc2lvbnMiLCJ1c2VfaGllcmFyY2h5Iiwib3JkZXJieW5hbWUiLCJkaXNwbGF5X2ZpbHRlciIsImRpc3BsYXlfaW5zdGFudHNlYXJjaCIsImRpc3BsYXlfaW5zdGFudHNvcnQiLCJlZGl0YWJsZV9hbGlhc2VzIiwiYXV0b2luY3JlbWVudF9hbGlhcyIsImFsbG93X3NxbCIsImZvcmNlX2xpc3QiLCJ0YWJkaXNwbGF5X3RlbXBsYXRlcyIsInRhYmRpc3BsYXlfZmllbGRvcHRpb25zIiwidGFiZGlzcGxheV9xdWVyaWVzIiwiYWxsb3dfY29tcGxleF9vcmRlciIsImxvYWRfbmV4dHByZXZpb3VzIiwibG9hZF9uYmNoaWxkcmVuIiwidXNlX3Nlc3Npb24iLCAiZnVsbHNjcmVlbiIsICJzY3JpcHRhY2Nlc3MiLCAiYXV0b3BsYXkiKTsNCgkJCQlmb3JlYWNoKCR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpIGFzICRsZXZlbCl7DQoJCQkJCSRwcmVmc1tdID0gIm5ld2l0ZW1zZmlyc3RfIi4kbGV2ZWw7DQoJCQkJCSRwcmVmc1tdID0gInNlYXJjaG1vZHVsZV9pbmRleF8iLiRsZXZlbDsNCgkJCQkJJHByZWZzW10gPSAidGFiZGlzcGxheV8iLiRsZXZlbDsNCgkJCQl9DQoJCQkJZm9yZWFjaCgkcHJlZnMgYXMgJHByZWYpCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCRwcmVmLCBpc3NldCgkcGFyYW1zWyRwcmVmXSkpOw0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbImZlX2FmdGVyc3VibWl0Il0pKQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiZmVfYWZ0ZXJzdWJtaXQiLCAkcGFyYW1zWyJmZV9hZnRlcnN1Ym1pdCJdKTsNCgkJCQlpZihpc3NldCgkcGFyYW1zWyJmZV9tYXhmaWxlc2l6ZSJdKSkJJHRoaXMtPlNldFByZWZlcmVuY2UoImZlX21heGZpbGVzaXplIiwgJHBhcmFtc1siZmVfbWF4ZmlsZXNpemUiXSk7DQoJCQkJJG1heHNob3ducGFnZXMgPSAoaW50KSRwYXJhbXNbIm1heHNob3ducGFnZXMiXTsNCgkJCQkkYWRtaW5wYWdlcyA9IChpbnQpJHBhcmFtc1siYWRtaW5wYWdlcyJdOw0KCQkJCWZvcmVhY2goJHRoaXMtPmdldF9sZXZlbGFycmF5KCkgYXMgJGxldmVsKXsNCgkJCQkJJG5icGVycGFnZSA9IChpbnQpIChpc3NldCgkcGFyYW1zWyRsZXZlbC4iX3BhZ2luYXRpb24iXSk/JHBhcmFtc1skbGV2ZWwuIl9wYWdpbmF0aW9uIl06MCk7DQoJCQkJCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCRsZXZlbC4iX3BhZ2luYXRpb24iLCAkbmJwZXJwYWdlKTsNCgkJCQl9DQoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoIm1heHNob3ducGFnZXMiLCAkbWF4c2hvd25wYWdlcyk7DQoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImFkbWlucGFnZXMiLCAkYWRtaW5wYWdlcyk7DQoJCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImNvbG9yMSIsICRwYXJhbXNbImNvbG9yMSJdKTsNCgkJCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiY29sb3IyIiwgJHBhcmFtc1siY29sb3IyIl0pOw0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJhY3RpdmVfdGFiIj0+InByZWZlcmVuY2VzIiwgIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSkpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiY2hhbmdlZGVmdGVtcGxhdGVzIjoNCgkJCQlmb3JlYWNoKCRwYXJhbXMgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQkgICAgaWYoJGtleSAhPSAic3VibWl0IikJICAgJHRoaXMtPnNldFByZWZlcmVuY2UoJGtleSwgJHZhbHVlKTsNCgkJCQl9DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoImFjdGl2ZV90YWIiPT4idGVtcGxhdGVzIiwgIm1vZHVsZV9tZXNzYWdlIj0+JHRoaXMtPkxhbmcoIm1lc3NhZ2VfbW9kaWZpZWQiKSkpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZGVsZXRldHBsIjoNCgkJCQkkbmV3cGFyYW1zID0gYXJyYXkoImFjdGl2ZV90YWIiPT4idGVtcGxhdGVzIik7DQoJCQkJJGRlZnRlbXBsYXRlcyA9ICR0aGlzLT5nZXREZWZhdWx0VGVtcGxhdGVzKCk7DQoJCQkgICAgaWYoaXNzZXQoJHBhcmFtc1sidHBsbmFtZSJdKSAmJiAhaW5fYXJyYXkoJHBhcmFtc1sidHBsbmFtZSJdLCAkZGVmdGVtcGxhdGVzKSl7DQoJCQkJICAgIGlmKCR0aGlzLT5EZWxldGVUZW1wbGF0ZSgkcGFyYW1zWyJ0cGxuYW1lIl0pKQkgICAkbmV3cGFyYW1zWyJtb2R1bGVfbWVzc2FnZT4iXSA9ICR0aGlzLT5MYW5nKCJtZXNzYWdlX21vZGlmaWVkIik7DQoJCQkJfQ0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsICRuZXdwYXJhbXMpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAiZGVsZXRlcXVlcnkiOg0KCQkJCSRuZXdwYXJhbXMgPSBhcnJheSgiYWN0aXZlX3RhYiI9PiJxdWVyaWVzIik7DQoJCQkJaWYoaXNzZXQoJHBhcmFtc1sicXVlcnlpZCJdKSl7DQoJCQkJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJCQkJaWYoJGRiLT5FeGVjdXRlKCJERUxFVEUgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzIFdIRVJFIGlkPT8gTElNSVQgMSIsIGFycmF5KCRwYXJhbXNbInF1ZXJ5aWQiXSkpKXsNCgkJCQkJCSRuZXdwYXJhbXNbIm1vZHVsZV9tZXNzYWdlIl0gPSAkdGhpcy0+TGFuZygibWVzc2FnZV9kZWxldGVkIik7DQoJCQkJCX0NCgkJCQl9DQoJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgJG5ld3BhcmFtcyk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJ0ZXN0cXVlcnkiOg0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbInF1ZXJ5aWQiXSkgJiYgJHF1ZXJ5ID0gJHRoaXMtPmdldF9xdWVyaWVzKGFycmF5KCJpZCI9PiRwYXJhbXNbInF1ZXJ5aWQiXSkpKXsNCgkJCQkJJHF1ZXJ5ID0gJHF1ZXJ5WzBdOw0KCQkJCQllY2hvICI8cD48Yj4iLiR0aGlzLT5MYW5nKCJxdWVyeSIpLiI6PC9iPiAiLiRxdWVyeS0+bmFtZTsNCgkJCQkJaWYoJHF1ZXJ5LT5vcmRlciAhPSAiIikJZWNobyAiIE9SREVSIEJZICIuJHF1ZXJ5LT5vcmRlcjsNCgkJCQkJZWNobyAiPC9wPiI7DQoJCQkJCSRnZXRmdW5jdGlvbiA9ICJnZXRfbGV2ZWxfIi4kcXVlcnktPndoYXQ7DQoJCQkJCSRpdGVtbGlzdCA9ICR0aGlzLT4kZ2V0ZnVuY3Rpb24oYXJyYXkoKSwgZmFsc2UsICIiLCAiIiwgMCwgMCwgJHF1ZXJ5LT53aGVyZWNsYXVzZSwgJHF1ZXJ5LT53aGVyZXZhbHVlcywgKCRxdWVyeS0+cXVlcnlvcmRlciA9PSAiIj9mYWxzZTokcXVlcnktPnF1ZXJ5b3JkZXIpKTsNCgkJCQkJZWNobyAiPHA+PGI+Ii4kdGhpcy0+TGFuZygicmVzdWx0cyIpLiIgKCIuY291bnQoJGl0ZW1saXN0KS4iKSA6PC9iPjwvcD4iOw0KCQkJCQllY2hvICI8dWw+IjsNCgkJCQkJZm9yZWFjaCgkaXRlbWxpc3QgYXMgJGl0ZW0pCWVjaG8gIjxsaT4iLiRpdGVtLT5uYW1lLiI8L2xpPiI7DQoJCQkJCWVjaG8gIjwvdWw+IjsNCgkJCQl9DQoJCQkJZWNobyAiPHA+Ii4kdGhpcy0+Q3JlYXRlTGluaygkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGxhbmcoImJhY2siKSwgYXJyYXkoImFjdGl2ZV90YWIiPT4icXVlcmllcyIpKS4iPC9wPiI7DQoJCQkJYnJlYWs7DQoJCQkJCQ0KDQoJCQljYXNlICJhZGRfb3B0aW9udmFsdWUiOg0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbImZpZWxkIl0pICYmIGlzc2V0KCRwYXJhbXNbIm9wdGlvbm5hbWUiXSkgJiYgJHBhcmFtc1sib3B0aW9ubmFtZSJdICE9ICIiKXsNCgkJCQkJJHRhYmxlbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMiOw0KCQkJCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCQkJCSRpdGVtaWQgPSAkZGItPkdlbklEKCR0YWJsZW5hbWUuIl9zZXEiKTsNCgkJCQkJJGl0ZW1vcmRlciA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygiZmllbGRvcHRpb25zIiwgImlkIiwgYXJyYXkoImZpZWxkIj0+JHBhcmFtc1siZmllbGQiXSkpICsgMTsNCgkJCQkJJHF1ZXJ5ID0gIklOU0VSVCBJTlRPICIuJHRhYmxlbmFtZS4iIFNFVCBpZD0/LCBmaWVsZD0/LCBuYW1lPT8sIGl0ZW1fb3JkZXI9PyI7DQoJCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGl0ZW1pZCwkcGFyYW1zWyJmaWVsZCJdLCRwYXJhbXNbIm9wdGlvbm5hbWUiXSwkaXRlbW9yZGVyKSk7DQoJCQkJfQ0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJhY3RpdmVfdGFiIj0+ImZpZWxkb3B0aW9ucyIpICk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJkZWxldGVfb3B0aW9udmFsdWUiOg0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbImZpZWxkIl0pICYmIGlzc2V0KCRwYXJhbXNbIm9wdGlvbmlkIl0pICYmICRwYXJhbXNbIm9wdGlvbmlkIl0gPiAwKXsNCgkJCQkJJHRhYmxlbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMiOw0KCQkJCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCQkJCSRxdWVyeSA9ICJERUxFVEUgRlJPTSAkdGFibGVuYW1lIFdIRVJFIGlkPT8gQU5EIGZpZWxkPT8gTElNSVQgMSI7DQoJCQkJCWlmKCRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJHBhcmFtc1sib3B0aW9uaWQiXSwgJHBhcmFtc1siZmllbGQiXSkpKXsNCgkJCQkJCSRxdWVyeSA9ICJVUERBVEUgJHRhYmxlbmFtZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBmaWVsZD0/IEFORCBpdGVtX29yZGVyID4gPyI7DQoJCQkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LCBhcnJheSgkcGFyYW1zWyJmaWVsZCJdLCAkcGFyYW1zWyJjdXJyZW50b3JkZXIiXSkpOw0KCQkJCQl9DQoJCQkJfQ0KCQkJCSR0aGlzLT5SZWRpcmVjdCgkaWQsICJkZWZhdWx0YWRtaW4iLCAkcmV0dXJuaWQsIGFycmF5KCJhY3RpdmVfdGFiIj0+ImZpZWxkb3B0aW9ucyIpICk7DQoJCQkJYnJlYWs7DQoJCQljYXNlICJtb3ZlX29wdGlvbnZhbHVlIjoNCgkJCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCQkJJHRhYmxlbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMiOw0KCQkJCWlmKGlzc2V0KCRwYXJhbXNbImZpZWxkIl0pICYmIGlzc2V0KCRwYXJhbXNbIm9wdGlvbmlkIl0pICYmIGlzc2V0KCRwYXJhbXNbIm1vdmUiXSkgJiYgaXNzZXQoJHBhcmFtc1siY3VycmVudG9yZGVyIl0pKXsNCgkJCQkJaWYoJHBhcmFtc1sibW92ZSJdID09ICJ1cCIgJiYgJHBhcmFtc1siY3VycmVudG9yZGVyIl0gIT0gMSl7DQoJCQkJCQkkcXVlcnkgPSAiVVBEQVRFICR0YWJsZW5hbWUgU0VUIGl0ZW1fb3JkZXI9KGl0ZW1fb3JkZXIrMSkgV0hFUkUgZmllbGQ9PyBBTkQgaXRlbV9vcmRlciA9ID8gTElNSVQgMTsiOw0KCQkJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1siZmllbGQiXSwgJHBhcmFtc1siY3VycmVudG9yZGVyIl0gLTEpKTsNCgkJCQkJCSRxdWVyeSA9ICJVUERBVEUgJHRhYmxlbmFtZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlci0xKSBXSEVSRSBmaWVsZD0/IEFORCBpZCA9ID8gTElNSVQgMTsiOw0KCQkJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSwgYXJyYXkoJHBhcmFtc1siZmllbGQiXSwgJHBhcmFtc1sib3B0aW9uaWQiXSkpOw0KCQkJCQl9ZWxzZWlmKCRwYXJhbXNbIm1vdmUiXSA9PSAiZG93biIpew0KCQkJCQkJJHF1ZXJ5ID0gIlVQREFURSAkdGFibGVuYW1lIFNFVCBpdGVtX29yZGVyPShpdGVtX29yZGVyLTEpIFdIRVJFIGZpZWxkPT8gQU5EIGl0ZW1fb3JkZXIgPSA/IExJTUlUIDE7IjsNCgkJCQkJCWlmKCRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbImZpZWxkIl0sICRwYXJhbXNbImN1cnJlbnRvcmRlciJdICsxKSkpew0KCQkJCQkJCSRxdWVyeSA9ICJVUERBVEUgJHRhYmxlbmFtZSBTRVQgaXRlbV9vcmRlcj0oaXRlbV9vcmRlcisxKSBXSEVSRSBmaWVsZD0/IEFORCBpZCA9ID8gTElNSVQgMTsiOw0KCQkJCQkJCSRkYi0+RXhlY3V0ZSgkcXVlcnksIGFycmF5KCRwYXJhbXNbImZpZWxkIl0sICRwYXJhbXNbIm9wdGlvbmlkIl0pKTsNCgkJCQkJCX0NCgkJCQkJfQ0KCQkJCX0NCgkJCQkkdGhpcy0+UmVkaXJlY3QoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCBhcnJheSgiYWN0aXZlX3RhYiI9PiJmaWVsZG9wdGlvbnMiKSApOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAicmVuYW1lX29wdGlvbnZhbHVlIjoNCgkJCQlpZighaXNzZXQoJHBhcmFtc1siY2FuY2VsIl0pICYmIGlzc2V0KCRwYXJhbXNbIm9wdGlvbmlkIl0pICYmIGlzc2V0KCRwYXJhbXNbImZpZWxkIl0pICYmIGlzc2V0KCRwYXJhbXNbIm9wdGlvbm5hbWUiXSkgKXsNCgkJCQkJaWYoaXNzZXQoJHBhcmFtc1sic3VibWl0Il0pICYmICRwYXJhbXNbIm9wdGlvbm5hbWUiXSAhPSAiIiApew0KCQkJCQkJJHRhYmxlbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMiOw0KCQkJCQkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkJCQkJJHF1ZXJ5ID0gIlVQREFURSAkdGFibGVuYW1lIFNFVCBuYW1lPT8gV0hFUkUgZmllbGQ9PyBBTkQgaWQ9PyI7DQoJCQkJCQkkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRwYXJhbXNbIm9wdGlvbm5hbWUiXSwgJHBhcmFtc1siZmllbGQiXSwgJHBhcmFtc1sib3B0aW9uaWQiXSkpOw0KCQkJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoImFjdGl2ZV90YWIiPT4iZmllbGRvcHRpb25zIikgKTsNCgkJCQkJfWVsc2V7DQoJCQkJCQllY2hvICI8aDI+Ii4kdGhpcy0+TGFuZygibW9kaWZ5YW5vcHRpb24iKS4iPC9oMj4iOw0KCQkJCQkJZWNobyAkdGhpcy0+Q3JlYXRlRm9ybVN0YXJ0KCRpZCwgInJlbmFtZV9vcHRpb252YWx1ZSIsICRyZXR1cm5pZCk7DQoJCQkJCQllY2hvICI8cD4iLiR0aGlzLT5DcmVhdGVJbnB1dFRleHQoJGlkLCJvcHRpb25uYW1lIiwkcGFyYW1zWyJvcHRpb25uYW1lIl0sNDAsNjQpLiI8L3A+IjsNCgkJCQkJCWVjaG8gIjxwPiIuJHRoaXMtPkNyZWF0ZUlucHV0U3VibWl0KCRpZCwgInN1Ym1pdCIsIGxhbmcoInN1Ym1pdCIpKS4kdGhpcy0+Q3JlYXRlSW5wdXRTdWJtaXQoJGlkLCAiY2FuY2VsIiwgbGFuZygiY2FuY2VsIikpLiI8L3A+IjsNCgkJCQkJCWVjaG8gJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgIm9wdGlvbmlkIiwgJHBhcmFtc1sib3B0aW9uaWQiXSkuJHRoaXMtPkNyZWF0ZUlucHV0SGlkZGVuKCRpZCwgImZpZWxkIiwgJHBhcmFtc1siZmllbGQiXSk7DQoJCQkJCQllY2hvICR0aGlzLT5DcmVhdGVGb3JtRW5kKCk7DQoJCQkJCX0NCgkJCQl9ZWxzZXsNCgkJCQkJJHRoaXMtPlJlZGlyZWN0KCRpZCwgImRlZmF1bHRhZG1pbiIsICRyZXR1cm5pZCwgYXJyYXkoImFjdGl2ZV90YWIiPT4iZmllbGRvcHRpb25zIikgKTsNCgkJCQl9DQoJCQkJYnJlYWs7DQoJCQljYXNlICJkZWZhdWx0IjoNCgkJCWRlZmF1bHQ6DQoJCQkJcGFyZW50OjpEb0FjdGlvbigkYWN0aW9uLCAkaWQsICRwYXJhbXMsICRyZXR1cm5pZCk7DQoJCQkJYnJlYWs7DQoJCX0NCg0KDQoJfQ0KCQ0KCWZ1bmN0aW9uIHBsY3JlYXRlYWxpYXMoJG5hbWUpIHsNCgkJLy8gdHJhbnNmb3JtcyAkbmFtZSBpbnRvIGEgdXJsLWZyaWVuZGx5IGFsaWFzDQoJCQ0KCQkvLyBhcyBhIHN1Z2dlc3Rpb24gZnJvbSBBTVQsIHRoZSBmaXJzdCBwYXJ0IGRlYWxzIHdpdGggc21hcnQgcXVvdGVzDQogCQkkc2VhcmNoID0gYXJyYXkoY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OTgpLA0KCQkJCQkJICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5OSksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDljKSwNCgkJCQkJCSAgY2hyKDB4ZTIpIC4gY2hyKDB4ODApIC4gY2hyKDB4OWQpLA0KCQkJCQkJICBjaHIoMHhlMikgLiBjaHIoMHg4MCkgLiBjaHIoMHg5MyksDQoJCQkJCQkgIGNocigweGUyKSAuIGNocigweDgwKSAuIGNocigweDk0KSk7DQogCQkkbmFtZSA9IHN0cl9yZXBsYWNlKCRzZWFyY2gsICIiLCAkbmFtZSk7DQoJCQ0KIAkJLy8gdGhlIHNlY29uZCBwYXJ0IHVzZXMgdGhlIGNtcyB2ZXJzaW9uDQogCQkkYWxpYXMgPSBtdW5nZV9zdHJpbmdfdG9fdXJsKCRuYW1lLCBmYWxzZSk7DQogCQlyZXR1cm4gJGFsaWFzOw0KCX0NCg0KCWZ1bmN0aW9uIGNoZWNrYWxpYXMoJGRidGFibGUsICRhbGlhcywgJGl0ZW1pZD1mYWxzZSwgJGlkZmllbGQ9ImlkIiwgJGFsaWFzZmllbGQ9ImFsaWFzIikgew0KCQkvLyBjaGVja3MgaWYgdGhpcyBhbGlhcyBhbHJlYWR5IGV4aXN0cyBpbiB0aGUgbGV2ZWwNCgkJJHF1ZXJ5ID0gIlNFTEVDVCAiLiRpZGZpZWxkLiIgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4kZGJ0YWJsZS4iIFdIRVJFICIuJGFsaWFzZmllbGQuIiA9ID8iOw0KCQlpZigkaXRlbWlkKSAkcXVlcnkgLj0gIiBBTkQgIi4kaWRmaWVsZC4iIT0iLiRpdGVtaWQ7DQoJCSRkYiA9ICR0aGlzLT5HZXREYigpOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRhbGlhcykpOw0KCQkkdGFyZ2V0aWQgPSAwOw0KCQlpZigkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkgJHRhcmdldGlkID0gJHJvd1siaWQiXTsNCgkJcmV0dXJuICgkdGFyZ2V0aWQgPT0gMCk7DQoJfQ0KCWZ1bmN0aW9uIEJ1aWxkUHJldHR5VXJscygkcGFyYW1zLCAkcmV0dXJuaWQ9LTEpew0KCQkvLyB0cmFuc2Zvcm1zIGdpdmVuIHBhcmFtcyBpbnRvIGEgcHJldHR5IHVybA0KCQkkcHJldHR5dXJsID0gJHRoaXMtPkdldE5hbWUoKS4iLyI7DQoJCWlmKGlzc2V0KCRwYXJhbXNbInF1ZXJ5Il0pKXsNCgkJCSRwcmV0dHl1cmwgLj0gInF1ZXJ5LyIuJHBhcmFtc1sicXVlcnkiXTsJDQoJCX1lbHNlaWYoaXNzZXQoJHBhcmFtc1siYWxpYXMiXSkpew0KCQkJJHByZXR0eXVybCAuPSAiZGV0YWlsLyIuJHBhcmFtc1siYWxpYXMiXTsNCgkJfWVsc2VpZihpc3NldCgkcGFyYW1zWyJwYXJlbnQiXSkpew0KCQkJJHByZXR0eXVybCAuPSAkcGFyYW1zWyJ3aGF0Il0uIi8iLiRwYXJhbXNbInBhcmVudCJdOw0KCQl9ZWxzZXsNCgkJCSRwcmV0dHl1cmwgLj0gJHBhcmFtc1sid2hhdCJdOw0KCQl9DQoJCWlmKCFpc3NldCgkcGFyYW1zWyJhbGlhcyJdKSAmJiBpc3NldCgkcGFyYW1zWyJwYWdlaW5kZXgiXSkgJiYgaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pKQkkcHJldHR5dXJsIC49ICIvIi4kcGFyYW1zWyJwYWdlaW5kZXgiXS4iLyIuJHBhcmFtc1sibmJwZXJwYWdlIl07DQoJCSRwcmV0dHl1cmwgLj0gIi8iLiRyZXR1cm5pZDsNCgkJcmV0dXJuICRwcmV0dHl1cmw7DQoJfQ0KCQ0KCWZ1bmN0aW9uIERvQ2hlY2tib3hlcygkaWQsICRuYW1lLCAkY2hvaWNlcywgJHNlbGVjdGVkPWFycmF5KCksICRkZWxpbWl0ZXI9Ijxici8+Iil7DQoJCS8vIHByZXR0eSBtdWNoIGxpa2UgQ3JlYXRlSW5wdXRSYWRpb0dyb3VwLCBidXQgdXNpbmcgY2hlY2tib3hlcw0KCQlpZighaXNfYXJyYXkoJHNlbGVjdGVkKSkJJHNlbGVjdGVkID0gYXJyYXkoKTsNCgkJJG91dHB1dCA9ICIiOw0KCQlmb3JlYWNoKCRjaG9pY2VzIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkkb3V0cHV0IC49ICR0aGlzLT5DcmVhdGVJbnB1dENoZWNrYm94KCRpZCwgJG5hbWUuIltdIiwgJHZhbHVlLCAoaW5fYXJyYXkoJHZhbHVlLCAkc2VsZWN0ZWQpPyR2YWx1ZTowKSkuIiAiLiRrZXkuJGRlbGltaXRlcjsNCgkJfQ0KCQlyZXR1cm4gJG91dHB1dDsNCgl9DQoJDQoJZnVuY3Rpb24gcGFyc2VrZXl3b3Jkcygkc3RyaW5nKXsNCgkJLy8gY3V0cyB0aGUgc2VhcmNod29yZHMgb2YgdGhlIHNlYXJjaCBmb3JtIGludG8gcGllY2VzDQoJCS8vIGJhc2NpYWxseSwgdGhpcyBleHBsb2RlcyB0aGUgJHN0cmluZywgYnV0IHRha2VzIG5vdGljZSBvZiB0aGUgcXVvdGVzDQoJCQ0KCQkkaW5zaWRlID0gKHN1YnN0cigkc3RyaW5nLDAsMSkgPT0gJyInKTsNCgkJJHBhcnRzID0gZXhwbG9kZSgnIicsJHN0cmluZyk7DQoJDQoJCWlmKGNvdW50KCRwYXJ0cykgPCAyKXsNCgkJCWlmKCRpbnNpZGUpew0KCQkJCXJldHVybiBhcnJheShzdHJfcmVwbGFjZSgnIicsIiIsJHN0cmluZykpOw0KCQkJfWVsc2V7DQoJCQkJcmV0dXJuIGV4cGxvZGUoIiAiLCRzdHJpbmcpOw0KCQkJfQ0KCQl9DQoJDQoJCSRrZXl3b3JkcyA9IGFycmF5KCk7DQoJCWZvcmVhY2goJHBhcnRzIGFzICRwYXJ0KXsNCgkJCWlmKCRwYXJ0ICE9ICIiKXsNCgkJCQlpZigkaW5zaWRlKXsNCgkJCQkJJGtleXdvcmRzW10gPSAkcGFydDsNCgkJCQl9ZWxzZXsNCgkJCQkJJHdvcmRzID0gZXhwbG9kZSgiICIsdHJpbSgkcGFydCkpOw0KCQkJCQlmb3JlYWNoKCR3b3JkcyBhcyAkd29yZCl7DQoJCQkJCQlpZih0cmltKCR3b3JkKSAhPSAiIikJJGtleXdvcmRzW10gPSAkd29yZDsNCgkJCQkJfQ0KCQkJCX0NCgkJCQkkaW5zaWRlID0gISRpbnNpZGU7DQoJCQl9DQoJCX0NCgkJcmV0dXJuICRrZXl3b3JkczsNCgl9DQoNCg0KCWZ1bmN0aW9uIGdldF9sZXZlbGFycmF5KCkgew0KCQkvLyByZXR1cm5zIGFuIGFycmF5IG9mIHRoZSBsZXZlbHMgKHRvcCB0byBib3R0b20pDQoJCXJldHVybiBhcnJheSgiY2F0ZWdvcnkiLCJhbGJ1bSIsInZpZGVvIik7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X21vZHVsZWhpZXJhcmNoeSgkbGV2ZWw9ZmFsc2Upew0KCQkkaGllcmFyY2h5ID0gYXJyYXkoKTsNCgkJCSRoaWVyYXJjaHlbMV0gPSAiY2F0ZWdvcnkiOw0KCQkJJGhpZXJhcmNoeVsyXSA9ICJhbGJ1bSI7DQoJCQkkaGllcmFyY2h5WzNdID0gInZpZGVvIjsNCgkJcmV0dXJuICRoaWVyYXJjaHk7DQoJfQ0KCQ0KCWZ1bmN0aW9uIGdldF9sZXZlbHNlYXJjaGZpZWxkcygkbGV2ZWwpew0KCQkvLyByZXR1cm5zIHRoZSBmaWVsZCBvZiBhIGxldmVsIHdoaWNoIGFyZSBzZWFyY2hhYmxlIChmb3IgdGhlIHNpbXBsZSBzZWFyY2ggYWN0aW9uKQ0KCQkkZmllbGRzID0gYXJyYXkoKTsNCgkJc3dpdGNoKCRsZXZlbCl7DQoJCQljYXNlICJjYXRlZ29yeSI6DQoJCQkJJGZpZWxkcyA9IGFycmF5KCJkZXNjcmlwdGlvbiIsIm5hbWUiKTsNCgkJCQlicmVhazsNCgkJCWNhc2UgImFsYnVtIjoNCgkJCQkkZmllbGRzID0gYXJyYXkoImRlc2NyaXB0aW9uIiwibmFtZSIpOw0KCQkJCWJyZWFrOw0KCQkJY2FzZSAidmlkZW8iOg0KCQkJCSRmaWVsZHMgPSBhcnJheSgiZGVzY3JpcHRpb24iLCJ2aWRlb2lkIiwibmFtZSIpOw0KCQkJCWJyZWFrOw0KCQkJCQkJDQoJCX0NCgkJcmV0dXJuICRmaWVsZHM7DQoJfQ0KCQ0KCWZ1bmN0aW9uIGdldF9oaWVyYXJjaHlvcHRpb25zKCRlbmQ9ZmFsc2UsICR3aXRoZW1wdHlyb3c9dHJ1ZSwgJGRlcHRoc3ltYm9sPSImbmJzcDstJm5ic3A7Iil7DQoJCS8vIHJldHVybnMgYW4gYXJyYXkgb2YgcGFyZW50IG9wdGlvbnMgZm9yIGEgbGlua2VkIHRvIGEgc2VsZWN0ZWQgbGV2ZWwNCgkJLy8gdXNlZCBmb3IgdGhlIGhpZXJhcmNoeSBkcm9wZG93biBsaXN0IGluIHNlYXJjaCBhY3Rpb24NCgkJJGxldmVsYXJyYXkgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCgkJIGlmKCFpbl9hcnJheSgkZW5kLCAkbGV2ZWxhcnJheSkpCSRlbmQgPSAkbGV2ZWxhcnJheVtjb3VudCgkbGV2ZWxhcnJheSktMV07DQoJCQ0KCQkvLyBidWlsZGluZyB0aGUgam9pbmVkIHF1ZXJ5DQoJCSR0YWJsZXMgPSAiIjsNCgkJJGZpZWxkcyA9ICIiOw0KCQkkb3JkZXJieSA9ICIiOw0KCQkkd2hlcmUgPSAiIjsNCgkJJGZpbmlzaGVkID0gZmFsc2U7DQoJCSRpID0gMTsNCgkJZm9yZWFjaCgkbGV2ZWxhcnJheSBhcyAkbGV2ZWwpew0KCQkJaWYoJGxldmVsID09ICRlbmQpCSRmaW5pc2hlZCA9IHRydWU7DQoJCQlpZighJGZpbmlzaGVkKXsNCgkJCQkkdGFibGVzIC49ICgkdGFibGVzID09ICIiPyIiOiIsICIpLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV8iLiRsZXZlbC4iIHQiLiRpLiIgIjsNCgkJCQkkZmllbGRzIC49ICgkZmllbGRzID09ICIiPyIiOiIsICIpLiJ0Ii4kaS4iLmlkIGlkIi4kaS4iLCB0Ii4kaS4iLm5hbWUgbmFtZSIuJGk7DQoJCQkJJG9yZGVyYnkgLj0gKCRvcmRlcmJ5ID09ICIiPyIiOiIsICIpLiJ0Ii4kaS4iLml0ZW1fb3JkZXIgREVTQyI7DQoJCQkJaWYoJGkgPiAxKSAkd2hlcmUgLj0gIiBBTkQgdCIuKCRpLTEpLiIuaWQgPSB0Ii4kaS4iLnBhcmVudCAiOw0KCQkJCSR3aGVyZSAuPSAoJHdoZXJlID09ICIiPyIiOiIgQU5EICIpLiIgdCIuJGkuIi5hY3RpdmU9MSI7DQoJCQkJJGkrKzsNCgkJCX0NCgkJfQ0KCQlpZigkZmllbGRzID09ICIiKQlyZXR1cm4gZmFsc2U7DQoJCQ0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgIi4kZmllbGRzLiIgRlJPTSAiLiR0YWJsZXMuIiBXSEVSRSAiLiR3aGVyZS4iIE9SREVSIEJZICIuJG9yZGVyYnk7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KDQoJCS8vIHBhcnNpbmcgcmVzdWx0cw0KCQkkY3VycmVudCA9IGFycmF5KCk7DQoJCSR0bXBsYXN0bGV2ZWwgPSBhcnJheSgpOw0KCQkkcmVzdWx0cyA9IGFycmF5KCk7DQoJCSRmaW5hbCA9ICRpIC0xOw0KCQl3aGlsZSgkaiA8ICRmaW5hbCApew0KCQkJJGN1cnJlbnRbJGpdID0gYXJyYXkoImlkIj0+ZmFsc2UsIm5hbWUiPT4iIik7DQoJCQkkaisrOw0KCQl9DQoJCXdoaWxlKCRkYnJlc3VsdCAmJiAkcm93ID0gJGRicmVzdWx0LT5GZXRjaFJvdygpKXsNCgkJCS8vIGVhY2ggcm93IGhhcyBhIGZ1bGwgaGllcmFyY2h5LCBmcm9tIHRvcCBwYXJlbnQgdG8gZmluYWwgY2hpbGQNCgkJCSRqID0gJGZpbmFsOw0KCQkJd2hpbGUoJGogPiAwICl7DQoJCQkJaWYoJHJvd1siaWQiLiRqXSAhPSAkY3VycmVudFskal1bImlkIl0pew0KCQkJCQlpZigkY3VycmVudFskal1bImlkIl0gJiYgY291bnQoJGN1cnJlbnRbJGpdWyJyZXMiXSkgPiAwKXsNCgkJCQkJCSRrZXkgPSBzdHJfcmVwZWF0KCRkZXB0aHN5bWJvbCwgKCRqIC0xKSkuJGN1cnJlbnRbJGpdWyJuYW1lIl07DQoJCQkJCQkkcmVzdWx0c1ska2V5XSA9IGltcGxvZGUoIiwiLCRjdXJyZW50WyRqXVsicmVzIl0pOw0KCQkJCQl9DQoJCQkJCSRjdXJyZW50WyRqXSA9IGFycmF5KCJpZCI9PiRyb3dbImlkIi4kal0sICJuYW1lIj0+JHJvd1sibmFtZSIuJGpdLCAicmVzIj0+YXJyYXkoKSk7DQoJCQkJfQ0KCQkJCSRjdXJyZW50WyRqXVsicmVzIl1bXSA9ICRyb3dbImlkIi4kZmluYWxdOw0KCQkJCSRqLS07DQoJCQl9DQoJCQkkcmVzdWx0c1tzdHJfcmVwZWF0KCRkZXB0aHN5bWJvbCwgKCRmaW5hbCAtMSkpLiRyb3dbIm5hbWUiLiRmaW5hbF1dID0gJHJvd1siaWQiLiRmaW5hbF07DQoJCX0NCgkJLy8gd2UgY2xvc2UgdGhlIHJlbWFpbmluZyBzZXRzDQoJCSRqID0gJGZpbmFsIC0xOw0KCQl3aGlsZSgkaiA+IDAgKXsNCgkJCSRrZXkgPSBzdHJfcmVwZWF0KCRkZXB0aHN5bWJvbCwgKCRqIC0xKSkuJGN1cnJlbnRbJGpdWyJuYW1lIl07DQoJCQkkcmVzdWx0c1ska2V5XSA9IGltcGxvZGUoIiwiLCRjdXJyZW50WyRqXVsicmVzIl0pOw0KCQkJJGotLTsNCgkJfQ0KCQlpZigkd2l0aGVtcHR5cm93KQkkcmVzdWx0c1siIl0gPSAiIjsNCgkJcmV0dXJuIGFycmF5X3JldmVyc2UoJHJlc3VsdHMpOw0KCX0NCglmdW5jdGlvbiBnZXRfYWRtaW5faGllcmFyY2h5b3B0aW9ucygkZW5kPWZhbHNlLCAkd2l0aGVtcHR5cm93PXRydWUsICRzZXBhcmF0b3I9IiAmZ3Q7ICIsICRvcmRlcmJ5bmFtZT1mYWxzZSl7DQoJCS8vIHJldHVybnMgYW4gYXJyYXkgb2YgcGFyZW50IG9wdGlvbnMgbGlua2VkIHRvIGEgc2VsZWN0ZWQgbGV2ZWwNCgkJLy8gdXNlZCBmb3IgdGhlIHBhcmVudCBhbmQgZmlsdGVyIGRyb3Bkb3duIGluIHRoZSBhZG1pbg0KCQkvLyBzaG93cyBlbXB0eSBwYXJlbnRzIHRvbw0KCQkkbGV2ZWxhcnJheSA9ICR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpOw0KCQlpZighaW5fYXJyYXkoJGVuZCwgJGxldmVsYXJyYXkpKQkkZW5kID0gIml0ZW0iOw0KCQkNCgkJLy8gYnVpbGRpbmcgdGhlIGpvaW5lZCBxdWVyeQ0KCQkkdGFibGVzID0gIiI7DQoJCSRmaWVsZHMgPSAiIjsNCgkJJG9yZGVyYnkgPSAiIjsNCgkJJGZpbmlzaGVkID0gZmFsc2U7DQoJCSRpID0gMTsNCgkJZm9yZWFjaCgkbGV2ZWxhcnJheSBhcyAkbGV2ZWwpew0KCQkJaWYoJGxldmVsID09ICRlbmQpCSRmaW5pc2hlZCA9IHRydWU7DQoJCQlpZighJGZpbmlzaGVkKXsNCgkJCQkkdGFibGVzIC49ICgkaT09MT8iIjoiIExFRlQgSk9JTiAiKS5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfIi4kbGV2ZWwuIiB0Ii4kaS4iICI7DQoJCQkJaWYoJGk+MSkJJHRhYmxlcyAuPSAiT04gdCIuKCRpLTEpLiIuaWQgPSB0Ii4kaS4iLnBhcmVudCAiOw0KCQkJCSRmaWVsZHMgLj0gKCRmaWVsZHMgPT0gIiI/IiI6IiwgIikuInQiLiRpLiIuaWQgaWQiLiRpLiIsIHQiLiRpLiIubmFtZSBuYW1lIi4kaTsNCgkJCQlpZigkb3JkZXJieW5hbWUpew0KCQkJCQkkb3JkZXJieSAuPSAoJG9yZGVyYnkgPT0gIiI/IiI6IiwgIikuInQiLiRpLiIubmFtZSI7DQoJCQkJfWVsc2V7DQoJCQkJCSRvcmRlcmJ5IC49ICgkb3JkZXJieSA9PSAiIj8iIjoiLCAiKS4idCIuJGkuIi5pdGVtX29yZGVyLCB0Ii4kaS4iLm5hbWUiOw0KCQkJCX0NCgkJCQkkaSsrOw0KCQkJfQ0KCQl9DQoJCWlmKCRmaWVsZHMgPT0gIiIpCXJldHVybiBhcnJheSgpOw0KCQkNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICIuJGZpZWxkcy4iIEZST00gIi4kdGFibGVzLiIgT1JERVIgQlkgIi4kb3JkZXJieTsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoJCSRvcHRpb25zID0gYXJyYXkoKTsNCgkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJLy8gZWFjaCByb3cgaGFzIGEgZnVsbCBoaWVyYXJjaHksIGZyb20gdG9wIHBhcmVudCB0byBmaW5hbCBjaGlsZA0KCQkJJHZhbHVlID0gJHJvd1siaWQiLigkaS0xKV07DQoJCQkkaiA9IDE7DQoJCQkkb3B0aW9uX25hbWUgPSAiIjsNCgkJCXdoaWxlKCRqIDwgJGkpew0KCQkJCSRvcHRpb25fbmFtZSAuPSAoJGo9PTE/IiI6JHNlcGFyYXRvcikuJHJvd1sibmFtZSIuJGpdOw0KCQkJCSRqKys7DQoJCQl9DQoJCQkkb3B0aW9uc1skb3B0aW9uX25hbWVdID0gJHZhbHVlOw0KCQl9DQoJCWlmKCR3aXRoZW1wdHlyb3cpCSRvcHRpb25zWyIiXSA9ICIiOw0KCQlyZXR1cm4gJG9wdGlvbnM7DQoJfQ0KCWZ1bmN0aW9uIGdldF9tb2R1bGVHZXRWYXJzKCl7DQoJCS8vIHVub3J0aG9kb3ggaGFjayBzbyB0aGF0IGRpZmZlcmVudCBjYWxscyBvZiB0aGUgbW9kdWxlIHNwZWFrIHdpdGggZWFjaCBvdGhlcg0KCQkvLyBiYXNpY2FsbHksIHdlIHJldHJpZXZlIHBhcmFtZXRlcnMgaW4gdGhlIHVybCB0aGF0IHdlcmUgbWVhbnQgZm9yIG90aGVyIGluc3RhbmNlcyBvZiB0aGUgbW9kdWxlDQoJCS8vIHNlZSBGQVEgZm9yIG1vcmUgaW5mbyBvbiB0aGlzDQoJCWdsb2JhbCAkX0dFVDsNCgkJZ2xvYmFsICRnQ21zOw0KCQkkcmVkaXJlY3Rpb24gPSBmYWxzZTsNCgkJaWYoaXNzZXQoJGdDbXMtPmNvbmZpZ1sidXJsX3Jld3JpdGluZyJdKSl7DQoJCQkvLyBjb3JlIDEuNiBvciBtb3JlDQoJCQkkcmVkaXJlY3Rpb24gPSAkZ0Ntcy0+Y29uZmlnWyJ1cmxfcmV3cml0aW5nIl07DQoJCX1lbHNlew0KCQkJLy8gY29yZSBiZWxvdyAxLjYNCgkJCWlmKCRnQ21zLT5jb25maWdbImFzc3VtZV9tb2RfcmV3cml0ZSJdICYmIGlzc2V0KCRfR0VUWyJwYWdlIl0pKXsNCgkJCQkkcmVkaXJlY3Rpb24gPSAibW9kX3Jld3JpdGUiOw0KCQkJfWVsc2VpZighJGdDbXMtPmNvbmZpZ1siYXNzdW1lX21vZF9yZXdyaXRlIl0gJiYgJGdDbXMtPmNvbmZpZ1siaW50ZXJuYWxfcHJldHR5X3VybHMiXSAmJiBpc3NldCgkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSkpew0KCQkJCSRyZWRpcmVjdGlvbiA9ICJpbnRlcm5hbCI7DQoJCQl9DQoJCX0NCgkJJHBhcmFtcyA9IGFycmF5KCk7DQoJCSRnbG9iYWxtb2R1bGV2YXJzID0gYXJyYXkoKTsNCgkJaWYoaXNzZXQoJF9HRVRbIm1hY3QiXSkpew0KCQkJLy8gaWYgd2UgYXJlbid0IHVzaW5nIHByZXR0eSB1cmxzLi4uDQoJCQkkbW9kaW5mbyA9IGV4cGxvZGUoIiwiLCRfR0VUWyJtYWN0Il0pOw0KCQkJaWYoaXNzZXQoJG1vZGluZm8pICYmICRtb2RpbmZvWzBdID09ICR0aGlzLT5HZXROYW1lKCkpew0KCQkJCWlmKGlzc2V0KCRfR0VUWyRtb2RpbmZvWzFdLiJwYXJlbnQiXSkpDQoJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJwYXJlbnQiXT0kX0dFVFskbW9kaW5mb1sxXS4icGFyZW50Il07DQoJCQkJaWYoaXNzZXQoJF9HRVRbJG1vZGluZm9bMV0uIndoYXQiXSkpDQoJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJ3aGF0Il09JF9HRVRbJG1vZGluZm9bMV0uIndoYXQiXTsNCgkJCQlpZihpc3NldCgkX0dFVFskbW9kaW5mb1sxXS4iYWxpYXMiXSkpDQoJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJhbGlhcyJdPSRfR0VUWyRtb2RpbmZvWzFdLiJhbGlhcyJdOw0KCQkJCWlmKGlzc2V0KCRfR0VUWyRtb2RpbmZvWzFdLiJwYWdlaW5kZXgiXSkpDQoJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJwYWdlaW5kZXgiXT0kX0dFVFskbW9kaW5mb1sxXS4icGFnZWluZGV4Il07DQoJCQl9DQoJCX1lbHNlaWYoJHJlZGlyZWN0aW9uID09ICJtb2RfcmV3cml0ZSIgfHwgJHJlZGlyZWN0aW9uID09ICJpbnRlcm5hbCIpew0KCQkJJHBhcmFtcyA9IGFycmF5KCk7DQoJCQlpZigkcmVkaXJlY3Rpb24gPT0gIm1vZF9yZXdyaXRlIiAmJiBpc3NldCgkX0dFVFsicGFnZSJdKSl7DQoJCQkJLy8gaWYgd2UgYXJlIHVzaW5nIGFuIGV4dGVybmFsIG1vZF9yZXdyaXRlLCBhc3N1bWluZyB5b3UgYXJlIHVzaW5nIHRoZSB2ZXJ5DQoJCQkJLy8gYmFzaWMgcmV3cml0ZSB3aGljaCBwdXRzIHRoZSBtb2R1bGUgaW5mb3JtYXRpb25zIGluc2lkZSB0aGUgcGFnZSB2YXJpYWJsZQ0KCQkJCSRwYXJ0cyA9IGV4cGxvZGUoIi8iLCRfR0VUWyJwYWdlIl0pOw0KCQkJCWZvcmVhY2goJHBhcnRzIGFzICRwYXJ0KXsNCgkJCQkJaWYoJHBhcnQgIT0gIiIpCSRwYXJhbXNbXSA9ICRwYXJ0Ow0KCQkJCX0NCgkJCX1lbHNlaWYoJHJlZGlyZWN0aW9uID09ICJpbnRlcm5hbCIpew0KCQkJCS8vIGlmIHdlIGFyZSB1c2luZyB0aGUgaW50ZXJuYWwgcHJldHR5IHVybHMNCgkJCQkkcGFydHMgPSBleHBsb2RlKCIvIiwkX1NFUlZFUlsiUkVRVUVTVF9VUkkiXSk7DQoJCQkJJHN0YXJ0ZWQgPSBmYWxzZTsNCgkJCQlmb3JlYWNoKCRwYXJ0cyBhcyAkcGFydCl7DQoJCQkJCWlmKCRzdGFydGVkICYmICRwYXJ0ICE9ICIiKQkkcGFyYW1zW10gPSAkcGFydDsNCgkJCQkJaWYoc3RydG9sb3dlcigkcGFydCkgPT0gImluZGV4LnBocCIpCSRzdGFydGVkID0gdHJ1ZTsNCgkJCQl9DQoJCQl9DQoJCQlpZihpc3NldCgkcGFyYW1zWzBdKSAmJiBzdHJ0b2xvd2VyKCRwYXJhbXNbMF0pID09IHN0cnRvbG93ZXIoJHRoaXMtPkdldE5hbWUoKSkpew0KCQkJCSAvLyB3ZSBhcmUgaW4gYSBtb2R1bGUgYWN0aW9uDQoJCQkJIC8vIHRoaXMgcGFydCBzaG91bGQgYmUgY2hhbmdlZCBpZiB5b3UgY2hhbmdlIHRoZSBwcmV0dHkgdXJscyBzdHJ1Y3R1cmUNCgkJCQlpZighaXNzZXQoJHBhcmFtc1sxXSkgfHwgc3RydG9sb3dlcigkcGFyYW1zWzFdKSA9PSAicXVlcnkiKXsNCg0KCQkJCX1lbHNlaWYoaXNzZXQoJHBhcmFtc1sxXSkgJiYgc3RydG9sb3dlcigkcGFyYW1zWzFdKSA9PSAiZGV0YWlsIil7DQoJCQkJCSRsZXZlbHMgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbIndoYXQiXSA9ICRsZXZlbHNbY291bnQoJGxldmVscyktMV07DQoJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJhbGlhcyJdID0gJHBhcmFtc1syXTsNCgkJCQl9ZWxzZXsNCgkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbIndoYXQiXSA9ICRwYXJhbXNbMV07DQoJCQkJCXN3aXRjaChjb3VudCgkcGFyYW1zKSl7DQoJCQkJCQljYXNlIDY6DQoJCQkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbInBhZ2VpbmRleCJdID0gJHBhcmFtc1szXTsNCgkJCQkJCQkkZ2xvYmFsbW9kdWxldmFyc1sibmJwZXJwYWdlIl0gPSAkcGFyYW1zWzRdOw0KCQkJCQkJY2FzZSA0Og0KCQkJCQkJCSRnbG9iYWxtb2R1bGV2YXJzWyJwYXJlbnQiXSA9ICRwYXJhbXNbMl07DQoJCQkJCQkJYnJlYWs7DQoJCQkJCQljYXNlIDU6DQoJCQkJCQkJJGdsb2JhbG1vZHVsZXZhcnNbInBhZ2VpbmRleCJdID0gJHBhcmFtc1syXTsNCgkJCQkJCQkkZ2xvYmFsbW9kdWxldmFyc1sibmJwZXJwYWdlIl0gPSAkcGFyYW1zWzNdOw0KCQkJCQkJCWJyZWFrOw0KCQkJCQl9DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXJldHVybiAkZ2xvYmFsbW9kdWxldmFyczsNCgl9DQoJZnVuY3Rpb24gZ2V0X29ianRyZWUoJGN1cmlkLCAkY3VybGV2ZWw9ZmFsc2UsICRmaWVsZD0iaWQiKXsNCgkJLy8gdGhpcyBidWlsZHMgYW4gb2JqZWN0IHRyZWUgKCRpdGVtLT5wYXJlbnRfb2JqZWN0LT5wYXJlbnRfb2JqZWN0Li4uKQ0KCQkvLyB3ZSBmaXJzdCBwdXQgYWxsIHRoZSBwYXJlbnRzIGluIGFuIGFycmF5DQoJCSRwYXJlbnRzID0gYXJyYXkoKTsNCgkJJGxldmVscyA9ICR0aGlzLT5nZXRfbGV2ZWxhcnJheSgpOw0KCQlpZighJGN1cmxldmVsKQkkY3VybGV2ZWwgPSAkbGV2ZWxzW2NvdW50KCRsZXZlbHMpLTFdOw0KCQkkaSA9IGNvdW50KCRsZXZlbHMpOw0KCQkkc3RhcnRlZCA9IGZhbHNlOw0KCQl3aGlsZSgkY3VyaWQgJiYgJGkgPiAwKXsNCgkJCWlmKCRsZXZlbHNbJGkgLTFdID09ICRjdXJsZXZlbCkJJHN0YXJ0ZWQgPSB0cnVlOw0KCQkJaWYoJHN0YXJ0ZWQpew0KCQkJCSRnZXRmdW5jdGlvbiA9ICJnZXRfbGV2ZWxfIi4kbGV2ZWxzWyRpIC0xXTsNCgkJCQkkaXRlbSA9ICR0aGlzLT4kZ2V0ZnVuY3Rpb24oYXJyYXkoJGZpZWxkPT4kY3VyaWQpKTsNCgkJCQkkaXRlbSA9IGlzX2FycmF5KCRpdGVtKT8kaXRlbVswXTokaXRlbTsNCgkJCQkkaXRlbS0+X193aGF0ID0gJGxldmVsc1skaS0xXTsNCgkJCQkkcGFyZW50c1tdID0gJGl0ZW07DQoJCQkJJGZpZWxkID0gImlkIjsNCgkJCQkkY3VyaWQgPSBpc3NldCgkaXRlbS0+cGFyZW50X2lkKT8kaXRlbS0+cGFyZW50X2lkOmZhbHNlOw0KCQkJfQ0KCQkJJGktLTsNCgkJfQ0KCQkNCgkJLy8gbmV4dCwgd2UgcHJvY2VzcyB0aGUgYXJyYXkgb2YgcGFyZW50cyB0byBidWlsZCB0aGUgcGFyZW50IHRyZWUNCgkJJHBhcmVudHRyZWUgPSBmYWxzZTsNCgkJJGkgPSBjb3VudCgkcGFyZW50cykgLSAxOw0KCQl3aGlsZSgkaSA+PSAwKXsNCgkJCWlmKCRwYXJlbnR0cmVlKXsNCgkJCQkkbmV3dHJlZSA9ICRwYXJlbnRzWyRpXTsNCgkJCQkkbmV3dHJlZS0+cGFyZW50X29iamVjdCA9ICRwYXJlbnR0cmVlOw0KCQkJCSRwYXJlbnR0cmVlID0gJG5ld3RyZWU7DQoJCQl9ZWxzZXsNCgkJCQkkcGFyZW50dHJlZSA9ICRwYXJlbnRzWyRpXTsNCgkJCX0NCgkJCSRpLS07DQoJCX0NCgkJJHRoaXMtPmN1cnJlbnR0cmVlID0gJHBhcmVudHRyZWU7DQoJCXJldHVybiAkcGFyZW50dHJlZTsNCgl9DQoJZnVuY3Rpb24gYnVpbGRHbG9iYWxUcmVlKCl7DQoJCS8vIHRoaXMgc2F2ZXMgdGhlIGN1cnJlbnQgdHJlZSBpbiB0aGUgbW9kdWxlLi4uDQoJCSRsZXZlbHMgPSAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKTsNCgkJJGdsb2IgPSAkdGhpcy0+Z2V0X21vZHVsZUdldFZhcnMoKTsNCgkJaWYoaXNzZXQoJGdsb2JbInBhZ2VpbmRleCJdKSkJJHRoaXMtPmN1cnJlbnRwYWdlaW5kZXggPSAkZ2xvYlsicGFnZWluZGV4Il07DQoJCWlmKGlzc2V0KCRnbG9iWyJhbGlhcyJdKSl7DQoJCQkkdHJlZSA9ICR0aGlzLT5nZXRfb2JqdHJlZSgkZ2xvYlsiYWxpYXMiXSwgJGxldmVsc1tjb3VudCgkbGV2ZWxzKS0xXSwgImFsaWFzIik7DQoJCX1lbHNlaWYoaXNzZXQoJGdsb2JbInBhcmVudCJdKSAmJiBpc3NldCgkZ2xvYlsid2hhdCJdKSl7DQoJCQkkdHJlZSA9ICR0aGlzLT5nZXRfb2JqdHJlZSgkZ2xvYlsicGFyZW50Il0sICR0aGlzLT5nZXRfbmV4dGxldmVsKCRnbG9iWyJ3aGF0Il0sZmFsc2UpLCAiYWxpYXMiKTsNCgkJfQ0KCQkNCgkJaWYoaXNzZXQoJHRyZWUpICYmICR0cmVlKXsNCgkJCSR0aGlzLT5jdXJyZW50dHJlZSA9ICR0cmVlOw0KCQkJLy8gdGhpcyBzYXZlcyB0aGUgc2VsZWN0ZWQgaXRlbSBmb3IgZWFjaCBsZXZlbA0KCQkJJHRoaXMtPnBsY3VycmVudFskdHJlZS0+X193aGF0XSA9ICR0cmVlLT5hbGlhczsNCgkJCXdoaWxlKGlzc2V0KCR0cmVlLT5wYXJlbnRfb2JqZWN0KSl7DQoJCQkJJHRyZWUgPSAkdHJlZS0+cGFyZW50X29iamVjdDsNCgkJCQkkdGhpcy0+cGxjdXJyZW50WyR0cmVlLT5fX3doYXRdID0gJHRyZWUtPmFsaWFzOw0KCQkJfQ0KCQl9DQoJfQ0KCWZ1bmN0aW9uIGZ1bmN0aW9uX21vZGJyZWFkY3J1bWJzKCRwYXJhbXMsICYkc21hcnR5KXsNCgkJLy8gcmVnaXN0ZXJlZCBzbWFydHkgZnVuY3Rpb24gdGhhdCBnZW5lcmF0ZXMgYnJlYWRjcnVtYnMNCgkJLy8gdXNlcyBzaW1pbGFyIHBhcmFtZXRlcnMgdG8gdGhlIGNvcmUgYnJlYWRjcnVtYnMgZnVuY3Rpb24NCgkJaWYoISR0aGlzLT5jdXJyZW50dHJlZSkJCSR0aGlzLT5idWlsZEdsb2JhbFRyZWUoKTsNCgkJDQoJCWlmKCR0aGlzLT5jdXJyZW50dHJlZSl7DQoJCQlnbG9iYWwgJGdDbXM7DQoJCQkkcmV0dXJuaWQgPSAkZ0Ntcy0+dmFyaWFibGVzWyJjb250ZW50X2lkIl07DQoJCQkvLyB3ZSBjcmVhdGUgdGhlIGJyZWFkY3J1bWJzDQoJCQkkY2xhc3NpZCA9IGlzc2V0KCRwYXJhbXNbImNsYXNzaWQiXSk/IiBjbGFzcz1cIiIuJHBhcmFtc1siY2xhc3NpZCJdLiJcIiI6IiI7DQoJCQkkY3VycmVudGNsYXNzaWQgPSBpc3NldCgkcGFyYW1zWyJjdXJyZW50Y2xhc3NpZCJdKT8iIGNsYXNzPVwiIi4kcGFyYW1zWyJjdXJyZW50Y2xhc3NpZCJdLiJcIiI6IiBjbGFzcz1cImxhc3RpdGVtXCIiOw0KCQkJJHN0YXJ0bGV2ZWwgPSBpc3NldCgkcGFyYW1zWyJzdGFydGxldmVsIl0pPyR0aGlzLT5nZXRfbmV4dGxldmVsKCRwYXJhbXNbInN0YXJ0bGV2ZWwiXSwgZmFsc2UpOmZhbHNlOw0KCQkJJGRlbGltaXRlciA9IGlzc2V0KCRwYXJhbXNbImRlbGltaXRlciJdKT8kcGFyYW1zWyJkZWxpbWl0ZXIiXTokdGhpcy0+TGFuZygiYnJlYWRjcnVtYnNfZGVsaW1pdGVyIik7DQoJCQkkaW5pdGlhbCA9IGlzc2V0KCRwYXJhbXNbImluaXRpYWwiXSk/JHBhcmFtc1siaW5pdGlhbCJdOiR0aGlzLT5MYW5nKCJ5b3VhcmVoZXJlIik7DQoNCgkJCSRvdXRwdXQgPSAiIjsNCgkJCSRjdXJyZW50ID0gJHRoaXMtPmN1cnJlbnR0cmVlOw0KCQkJJGdvaW5nb24gPSBmYWxzZTsNCgkJCXdoaWxlKGlzc2V0KCRjdXJyZW50LT5wYXJlbnRfb2JqZWN0KSl7DQoJCQkJJGN1cnJlbnQgPSAkY3VycmVudC0+cGFyZW50X29iamVjdDsNCgkJCQlpZigkY3VycmVudC0+X193aGF0ID09ICRzdGFydGxldmVsKQkkZW5kZWQgPSB0cnVlOw0KCQkJCWlmKCEkZW5kZWQpew0KCQkJCQkkcGFyYW1zID0gYXJyYXkoIndoYXQiPT4kdGhpcy0+Z2V0X25leHRsZXZlbCgkY3VycmVudC0+X193aGF0KSwgInBhcmVudCI9PiRjdXJyZW50LT5hbGlhcyk7DQoJCQkJCSRwcmV0dHl1cmwgPSAkdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCRwYXJhbXMsICRyZXR1cm5pZCk7DQoJCQkJCSRvdXRwdXQgPSAiPHNwYW4iLiRjbGFzc2lkLiI+Ii4kdGhpcy0+Q3JlYXRlTGluaygiIiwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICRjdXJyZW50LT5uYW1lLCAkcGFyYW1zLCAiIiwgZmFsc2UsIGZhbHNlLCAiIiwgZmFsc2UsICRwcmV0dHl1cmwpLiI8L3NwYW4+Ii4kZGVsaW1pdGVyLiRvdXRwdXQ7DQoJCQkJfQ0KCQkJfQ0KCQkJaWYoJG91dHB1dCAhPSAiIikgJG91dHB1dCA9ICRpbml0aWFsLiRvdXRwdXQuIjxzcGFuIi4kY3VycmVudGNsYXNzaWQuIj4iLiR0aGlzLT5jdXJyZW50dHJlZS0+bmFtZS4iPC9zcGFuPiI7DQoJCQkNCgkJCWlmKGlzc2V0KCRwYXJhbXNbImFzc2lnbiJdKSAmJiAkcGFyYW1zWyJhc3NpZ24iXSAhPSAiIil7DQoJCQkJJHNtYXJ0eS0+YXNzaWduKCRwYXJhbXNbImFzc2lnbiJdLCAkb3V0cHV0KTsNCgkJCX1lbHNlew0KCQkJCWVjaG8gJG91dHB1dDsNCgkJCX0NCgkJfQ0KCX0NCglmdW5jdGlvbiBmdW5jdGlvbl9nZXRfbGV2ZWxpdGVtKCRwYXJhbXMsICYkc21hcnR5KXsNCgkJLy8gcmVnaXN0ZXJlZCBzbWFydHkgZnVuY3Rpb24gdGhhdCByZXRyaWV2ZXMgYSBnaXZlbiBpdGVtIChhbGlhcykgb2YgYSBnaXZlbiBsZXZlbCAod2hhdCkNCgkJaWYoCSFpc3NldCgkcGFyYW1zWyJhc3NpZ24iXSkgfHwgJHBhcmFtc1siYXNzaWduIl0gPT0gIiIgfHwgIWlzc2V0KCRwYXJhbXNbIndoYXQiXSkgfHwgIWlzc2V0KCRwYXJhbXNbImFsaWFzIl0pICkJcmV0dXJuIGZhbHNlOw0KCQlpZighaW5fYXJyYXkoJHBhcmFtc1sid2hhdCJdLCAkdGhpcy0+Z2V0X2xldmVsYXJyYXkoKSkpCXJldHVybiBmYWxzZTsNCgkJJGdldGZ1bmN0aW9uID0gImdldF9sZXZlbF8iLiRwYXJhbXNbIndoYXQiXTsNCgkJJHJlc3VsdHMgPSAkdGhpcy0+JGdldGZ1bmN0aW9uKGFycmF5KCJhbGlhcyI9PiRwYXJhbXNbImFsaWFzIl0pKTsNCgkJJGl0ZW0gPSBpc3NldCgkcmVzdWx0c1swXSk/JHJlc3VsdHNbMF06ZmFsc2U7DQoJCSRzbWFydHktPmFzc2lnbigkcGFyYW1zWyJhc3NpZ24iXSwgJGl0ZW0pOw0KCX0NCglmdW5jdGlvbiBmdW5jdGlvbl9lbWJlZHZpZGVvKCRwYXJhbXMsICYkc21hcnR5KXsNCgkJLy8gcmVnaXN0ZXJlZCBzbWFydHkgZnVuY3Rpb24gdGhhdCByZXRyaWV2ZXMgYSBnaXZlbiBpdGVtIChhbGlhcykgb2YgYSBnaXZlbiBsZXZlbCAod2hhdCkNCgkJaWYoIWlzc2V0KCRwYXJhbXNbIml0ZW0iXSkgfHwgJHBhcmFtc1siaXRlbSJdID09ICIiICkgcmV0dXJuIGZhbHNlOw0KCQkkaXRlbT0kcGFyYW1zWyJpdGVtIl07DQoJCS8vIGlmIGEgdGVtcGxhdGUgaGFzIGJlZW4gc3BlY2lmaWVkLCB3ZSB0cnkgdG8gcmV0cmlldmUgaXQJDQoJCSR0ZW1wbGF0ZSA9IGZhbHNlOw0KCQlpZihpc3NldCgkcGFyYW1zWyJ0ZW1wbGF0ZSJdKSAmJiAkcGFyYW1zWyJ0ZW1wbGF0ZSJdICE9ICIiKXsNCgkJCSR0ZW1wbGF0ZSA9ICR0aGlzLT5HZXRUZW1wbGF0ZSgkcGFyYW1zWyJ0ZW1wbGF0ZSJdKTsNCgkJfQ0KCQkvLyBpZiBubyB0ZW1wbGF0ZSBoYXMgYmVlbiBzcGVjaWZpZWQgb3Igc3BlY2lmaWVkIHRlbXBsYXRlIG5vdCBmb3VuZCBvciBlbXB0eSwgd2UgcmV0cmlldmUgdGhlIGRlZmF1bHQgZW1iZWQgdGVtcGxhdGUNCgkJaWYoISR0ZW1wbGF0ZSB8fCAkdGVtcGxhdGUgPT0gIiIpew0KCQkJJHRlbXBsYXRlbmFtZSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJlbWJlZHRlbXBsYXRlIik7DQoJCQkkdGVtcGxhdGUgPSAkdGhpcy0+R2V0VGVtcGxhdGUoJHRlbXBsYXRlbmFtZSwgJHRoaXMtPkdldE5hbWUoKSk7DQoJCX0NCgkJDQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigibGV2ZWx0aXRsZSIsJHRoaXMtPkxhbmcoInZpZGVvX3BsdXJhbCIpKTsNCgkJDQoJCWlmICghaXNzZXQoJGl0ZW0tPnBhcmVudF9vYmplY3QpKSB7DQoJCQkkcGFyZW50cyA9ICR0aGlzLT5nZXRfbGV2ZWxfYWxidW0gKGFycmF5KCJpZCI9PiRpdGVtLT5wYXJlbnRfaWQpKTsNCgkJCSRpdGVtLT5wYXJlbnRfb2JqZWN0PSRwYXJlbnRzWzBdOw0KCQl9IA0KCQkkcGFyZW50b2JqID0gJGl0ZW0tPnBhcmVudF9vYmplY3Q7DQoJCQ0KCQlpZiAoJGl0ZW0tPmhlaWdodD09IiIgfHwgJGl0ZW0tPmhlaWdodD09IjAiKSB7DQoJCQkkaXRlbS0+aGVpZ2h0PSRwYXJlbnRvYmotPmRlZmF1bHRfaGVpZ2h0Ow0KCQl9DQoJCWlmICgkaXRlbS0+d2lkdGg9PSIiIHx8ICRpdGVtLT53aWR0aD09IjAiKSB7DQoJCQkkaXRlbS0+d2lkdGg9JHBhcmVudG9iai0+ZGVmYXVsdF93aWR0aDsNCgkJfQ0KCQlpZiAoIWlzc2V0KCRwYXJlbnRvYmotPmxhbmcpIHx8ICRwYXJlbnRvYmotPmxhbmc9PSIiKSAkbGFuZyA9ICJlbi1VUyI7DQoJCWVsc2UgJGxhbmcgPSAkcGFyZW50b2JqLT5sYW5nOw0KCQkkaXRlbS0+bGFuZyA9ICRsYW5nOw0KDQoJCSRpdGVtLT5mdWxsc2NyZWVuID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImZ1bGxzY3JlZW4iLGZhbHNlKSA/ICJ0cnVlIiA6ICJmYWxzZSI7DQoJCSRpdGVtLT5mdWxsc2NyZWVuX2ludCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJmdWxsc2NyZWVuIixmYWxzZSkgPyAiMSIgOiAiMCI7DQoJCSRpdGVtLT5zY3JpcHRhY2Nlc3MgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgic2NyaXB0YWNjZXNzIixmYWxzZSkgPyAiYWx3YXlzIiA6ICJzYW1lRG9tYWluIjsNCgkJJGF1dG9wbGF5ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImF1dG9wbGF5IixmYWxzZSkgJiYgJGl0ZW0tPmlzZGVmYXVsdDsNCgkJJGl0ZW0tPmF1dG9wbGF5ID0gJGF1dG9wbGF5ID8gInRydWUiIDogImZhbHNlIjsNCgkJJGl0ZW0tPmF1dG9wbGF5X2ludCA9ICRhdXRvcGxheSA/ICIxIiA6ICIwIjsNCgkJJGl0ZW0tPmNvbG9yMSA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJjb2xvcjEiLCIweDIzNDkwMCIpOw0KCQkkaXRlbS0+Y29sb3IyID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImNvbG9yMiIsIjB4NGU5ZTAwIik7DQoJCQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oIml0ZW0iLCRpdGVtKTsNCg0KCQkvLyB3ZSByZXRyaWV2ZSBhIGxhYmVsIGZvciBlYWNoIG9mIHRoZSBpdGVtJ3MgZmllbGQgYW5kIGFzc2lnbiBpdCB0byBzbWFydHkNCgkJJGxhYmVscyA9IG5ldyBTdGRDbGFzcygpOw0KCQlmb3JlYWNoKCRpdGVtIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkkbGFiZWxzLT4ka2V5ID0gJHRoaXMtPkxhbmcoInZpZGVvXyIuJGtleSk7CQkNCgkJfQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oImxhYmVscyIsICRsYWJlbHMpOw0KDQoJCS8vIHdlIHByb2Nlc3MgdGhlIHRlbXBsYXRlDQoJCSRyZXN1bHQgPSAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlRnJvbURhdGEoJHRlbXBsYXRlKTsNCgkJaWYgKGlzc2V0KCRwYXJhbXNbImFzc2lnbiJdKSAmJiAkcGFyYW1zWyJhc3NpZ24iXSE9IiIpIHsNCgkJCSRzbWFydHktPmFzc2lnbigkcGFyYW1zWyJhc3NpZ24iXSwgJHJlc3VsdCk7DQoJCX0gZWxzZSB7DQoJCQllY2hvICRyZXN1bHQ7DQoJCX0NCgl9DQoJZnVuY3Rpb24gY291bnRzb21ldGhpbmcoJHRhYmxlbmFtZSwkd2hhdD0iaWQiLCR3aGVyZT1hcnJheSgpLCR3aGVyZXN0cmluZz1mYWxzZSwkd2hlcmV2YWx1ZXM9YXJyYXkoKSwkcGFyZW50PWZhbHNlKXsNCgkJLy8gcmV0dXJucyB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzIGluIGEgdGFibGUgY29ycmVzcG9uZGluZyB0byBjcml0ZXJpYXMNCgkJaWYoISRwYXJlbnQgJiYgaXNzZXQoJHdoZXJlWyJwYXJlbnQiXSkpCXVuc2V0KCR3aGVyZVsicGFyZW50Il0pOw0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCWlmKCR3aGVyZXN0cmluZyl7DQoJCQkkd2hlcmVzdHJpbmcgPSAiIFdIRVJFICIuJHdoZXJlc3RyaW5nOw0KCQl9ZWxzZXsNCgkJCSR3aGVyZXN0cmluZyA9ICIiOw0KCQkJJHdoZXJldmFsdWVzID0gYXJyYXkoKTsNCgkJCWZvcmVhY2goJHdoZXJlIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJaWYoJGtleSA9PSAicGFyZW50Iil7DQoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIgV0hFUkUgIjoiIEFORCAiKS4iQS5wYXJlbnQ9Qi5pZCBBTkQgQi5hbGlhcz0/IjsNCgkJCQl9ZWxzZXsNCgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiBXSEVSRSAiOiIgQU5EICIpLiJBLiIuJGtleS4iPT8iOw0KCQkJCX0NCgkJCQkkd2hlcmV2YWx1ZXNbXSA9ICR2YWx1ZTsNCgkJCX0NCgkJfQ0KCQkkcXVlcnkgPSAiU0VMRUNUIENPVU5UKEEuJHdoYXQpIG91cmNvdW50IEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfIi4kdGFibGVuYW1lLiIgQSI7DQoJCWlmKCRwYXJlbnQgJiYgaXNzZXQoJHdoYXRbInBhcmVudCJdKSkJJHF1ZXJ5IC49ICIsICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJHBhcmVudC4iIEIiOw0KCQkkcXVlcnkgLj0gJHdoZXJlc3RyaW5nOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LCR3aGVyZXZhbHVlcyk7DQoJCWlmICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQlyZXR1cm4gJHJvd1sib3VyY291bnQiXTsNCgkJfWVsc2V7DQoJCQlyZXR1cm4gMDsNCgkJfQ0KCX0NCgkNCgkNCglmdW5jdGlvbiBhZG1pbl9wYWdpbmF0ZSgkbGV2ZWwsJG5icGVycGFnZSwkaWQsJHJldHVybmlkLCRwYXJhbXMpew0KCQkvLyBzYW1lIGFzIHBhZ2luYXRlLCBidXQgZm9yIHRoZSBhZG1pbiBwYW5lbHMNCgkJJHdoZXJlY2xhdXNlID0gYXJyYXkoKTsNCgkJaWYoaXNzZXQoJHBhcmFtc1skbGV2ZWwuIl9zaG93b25seSJdKSAmJiAkcGFyYW1zWyRsZXZlbC4iX3Nob3dvbmx5Il0gIT0gIiIpCSR3aGVyZWNsYXVzZVsicGFyZW50Il0gPSAkcGFyYW1zWyRsZXZlbC4iX3Nob3dvbmx5Il07DQoJCSR0b3RhbCA9ICR0aGlzLT5jb3VudHNvbWV0aGluZygkbGV2ZWwsImlkIiwkd2hlcmVjbGF1c2UpOw0KCQkkbmV4dHBhZ2UgPSBmYWxzZTsNCgkJJHByZXZpb3VzcGFnZSA9IGZhbHNlOw0KCQkkcGFnZWluZm8gPSBmYWxzZTsNCgkJJHBhZ2VzID0gZmFsc2U7DQoJCWlmKCRuYnBlcnBhZ2UgPiAwICYmICR0b3RhbCA+ICRuYnBlcnBhZ2Upew0KCQkJJGN1cnBhZ2UgPSBpc3NldCgkcGFyYW1zWyRsZXZlbC4iX3BhZ2UiXSk/JHBhcmFtc1skbGV2ZWwuIl9wYWdlIl06MDsNCgkJCSRuYnBhZ2VzID0gY2VpbCgkdG90YWwvJG5icGVycGFnZSk7DQoJCQkkcGFnZWluZm8gPSAoKCRjdXJwYWdlICogJG5icGVycGFnZSkgKyAxKTsNCgkJCSR0bXBlbmQgPSAkcGFnZWluZm8gKyAkbmJwZXJwYWdlIC0gMTsNCgkJCWlmKCR0bXBlbmQgPiAkdG90YWwpCSR0bXBlbmQgPSAkdG90YWw7DQoJCQlpZigkdG1wZW5kICE9ICRwYWdlaW5mbykJJHBhZ2VpbmZvIC49ICItIi4kdG1wZW5kOw0KCQkJJHBhZ2VpbmZvIC49ICIgLyAiLiR0b3RhbDsNCgkJCSRwYWdlcGFyYW1zID0gYXJyYXkoImFjdGl2ZV90YWIiPT4kbGV2ZWwpOw0KCQkJaWYoaXNzZXQoJHBhcmFtc1skbGV2ZWwuIl9zaG93b25seSJdKSAmJiAkcGFyYW1zWyRsZXZlbC4iX3Nob3dvbmx5Il0gIT0gIiIpew0KCQkJCSRwYWdlcGFyYW1zWyRsZXZlbC4iX3Nob3dvbmx5Il0gPSAkcGFyYW1zWyRsZXZlbC4iX3Nob3dvbmx5Il07DQoJCQl9DQoJCQlpZigkY3VycGFnZSA+IDApew0KCQkJCSRwYWdlcGFyYW1zWyRsZXZlbC4iX3BhZ2UiXSA9ICRjdXJwYWdlIC0gMTsNCgkJCQkkcHJldmlvdXNwYWdlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkdGhpcy0+TGFuZygicHJldmlvdXNwYWdlIiksICRwYWdlcGFyYW1zKTsNCgkJCX0NCgkJCWlmKCRjdXJwYWdlIDwgKCRuYnBhZ2VzLTEpKXsNCgkJCQkkcGFnZXBhcmFtc1skbGV2ZWwuIl9wYWdlIl0gPSAkY3VycGFnZSArIDE7DQoJCQkJJG5leHRwYWdlID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkdGhpcy0+TGFuZygibmV4dHBhZ2UiKSwgJHBhZ2VwYXJhbXMpOw0KCQkJfQ0KCQkJJGkgPSAwOw0KCQkJJHBhZ2VzID0gJHRoaXMtPkxhbmcoInBhZ2VzIik7DQoJCQl3aGlsZSgkaSA8ICRuYnBhZ2VzKXsNCgkJCQlpZigkaSA+IDApCSRwYWdlcyAuPSAiJm5ic3A7ICI7DQoJCQkJaWYoJGkgPT0gJGN1cnBhZ2Upew0KCQkJCQkkcGFnZXMgLj0gJGk7DQoJCQkJfWVsc2V7DQoJCQkJCSRwYWdlcGFyYW1zWyRsZXZlbC4iX3BhZ2UiXSA9ICRpOw0KCQkJCQkkcGFnZXMgLj0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdGFkbWluIiwgJHJldHVybmlkLCAkaSwgJHBhZ2VwYXJhbXMpOw0KCQkJCX0NCgkJCQkkaSsrOw0KCQkJfQ0KCQl9DQoJCXJldHVybiBhcnJheSgkcGFnZWluZm8sICRuZXh0cGFnZSwgJHByZXZpb3VzcGFnZSwgJHBhZ2VzKTsNCgl9DQoNCglmdW5jdGlvbiBwYWdpbmF0ZSgkd2hhdCwkdG90YWwsJGlkLCRyZXR1cm5pZCwkcGFyYW1zLCRhY3Rpb249ImRlZmF1bHQiKXsNCgkJLy8gZm9yIGZyb250ZW5kIHVzYWdlDQoJCS8vIHRoaXMgYXNzaWducyB0aGUgZGlmZmVyZW50IHBhcnRzIG9mIHRoZSBwYWdlIG1lbnUNCgkJDQoJCSRuYnBlcnBhZ2UgPSBpc3NldCgkcGFyYW1zWyJuYnBlcnBhZ2UiXSk/JHBhcmFtc1sibmJwZXJwYWdlIl06MDsNCgkJJG5icGVycGFnZSA9IChpbnQpICRuYnBlcnBhZ2U7DQoJCWlmKCRuYnBlcnBhZ2UgPT0gMCB8fCAkbmJwZXJwYWdlID49ICR0b3RhbCl7DQoJCQkvLyB3ZSdyZSBub3QgdXNpbmcgcGFnaW5hdGlvbg0KCQkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKGFycmF5KCJwYWdlX3Nob3dpbmciPT5mYWxzZSwicGFnZV90b3RhbGl0ZW1zIj0+ZmFsc2UsInBhZ2VfcGFnZW51bWJlcnMiPT5mYWxzZSwicGFnZV9uZXh0Ij0+ZmFsc2UsInBhZ2VfcHJldmlvdXMiPT5mYWxzZSkpOw0KCQkJcmV0dXJuIGZhbHNlOw0KCQl9DQoJCQ0KCQkvLyB3ZSdyZSB1c2luZyBwYWdpbmF0aW9uDQoJCSRjdXJwYWdlID0gaXNzZXQoJHBhcmFtc1sicGFnZWluZGV4Il0pPyRwYXJhbXNbInBhZ2VpbmRleCJdOjE7DQoJCSRuYnBhZ2VzID0gY2VpbCgkdG90YWwvJG5icGVycGFnZSk7DQoJCSRzaG93aW5nID0gKCgoJGN1cnBhZ2UgLTEpICogJG5icGVycGFnZSkgKyAxKTsNCgkJJHRtcGVuZCA9ICRzaG93aW5nICsgJG5icGVycGFnZSAtIDE7DQoJCWlmKCR0bXBlbmQgPiAkdG90YWwpCSR0bXBlbmQgPSAkdG90YWw7DQoJCWlmKCR0bXBlbmQgIT0gJHNob3dpbmcpCSRzaG93aW5nIC49ICItIi4kdG1wZW5kOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2Vfc2hvd2luZyIsJHNob3dpbmcpOw0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2VfdG90YWxpdGVtcyIsJHRvdGFsKTsNCg0KCQkkbmV3cGFyYW1zID0gJHBhcmFtczsNCgkJJHByZXZpb3VzbGluayA9IGZhbHNlOw0KCQkkbmV4dGxpbmsgPSBmYWxzZTsNCgkJaWYoJGN1cnBhZ2UgPiAxKXsNCgkJCS8vIHdlIGNyZWF0ZSB0aGUgbGluayB0byB0aGUgcHJldmlvdXMgcGFnZQ0KCQkJJG5ld3BhcmFtc1sicGFnZWluZGV4Il0gPSAkY3VycGFnZSAtIDE7DQoJCQkkcHJldmlvdXNsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICImbHQ7IiwgJG5ld3BhcmFtcywgIiIsIGZhbHNlLCB0cnVlLCAiIGNsYXNzPVwicHJldmlvdXNsaW5rXCIiLCBmYWxzZSwgKCRhY3Rpb24gIT0gImRlZmF1bHQiKT8iIjokdGhpcy0+QnVpbGRQcmV0dHlVcmxzKCRuZXdwYXJhbXMsICRyZXR1cm5pZCkpOw0KCQl9DQoJCWlmKCRjdXJwYWdlIDwgJG5icGFnZXMpew0KCQkJLy8gd2UgY3JlYXRlIHRoZSBsaW5rIHRvIHRoZSBuZXh0IHBhZ2UNCgkJCSRuZXdwYXJhbXNbInBhZ2VpbmRleCJdID0gJGN1cnBhZ2UgKyAxOw0KCQkJJG5leHRsaW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAkYWN0aW9uLCAkcmV0dXJuaWQsICImZ3Q7IiwgJG5ld3BhcmFtcywgIiIsIGZhbHNlLCB0cnVlLCAiIGNsYXNzPVwibmV4dGxpbmtcIiIsIGZhbHNlLCAoJGFjdGlvbiAhPSAiZGVmYXVsdCIpPyIiOiR0aGlzLT5CdWlsZFByZXR0eVVybHMoJG5ld3BhcmFtcywgJHJldHVybmlkKSk7DQoJCX0NCgkJJHRoaXMtPnNtYXJ0eS0+YXNzaWduKCJwYWdlX25leHQiLCRuZXh0bGluayk7DQoJCSR0aGlzLT5zbWFydHktPmFzc2lnbigicGFnZV9wcmV2aW91cyIsJHByZXZpb3VzbGluayk7CQ0KCQkJCQ0KCQkvLyB3ZSBjcmVhdGUgbGlua3MgZm9yIGVhY2ggcGFnZSBudW1iZXINCgkJJGkgPSAxOw0KCQkkbGlua3MgPSBhcnJheSgpOw0KCQl3aGlsZSgkaSA8PSAkbmJwYWdlcyAmJiAkbmJwYWdlcyA+IDEpew0KCQkJJG5ld3BhcmFtc1sicGFnZWluZGV4Il0gPSAkaTsNCgkJCWlmKCRpID09ICRjdXJwYWdlKXsNCgkJCQkkbGlua3NbXSA9ICI8YSBjbGFzcz1cInBhZ2VudW1iZXIgY3VycmVudFwiPiIuJGkuIjwvYT4iOw0KCQkJfWVsc2V7DQoJCQkJJGxpbmtzW10gPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICRhY3Rpb24sICRyZXR1cm5pZCwgJGksICRuZXdwYXJhbXMsICIiLCBmYWxzZSwgdHJ1ZSwgIiBjbGFzcz1cInBhZ2VudW1iZXJcIiIsIGZhbHNlLCAoJGFjdGlvbiAhPSAiZGVmYXVsdCIpPyIiOiR0aGlzLT5CdWlsZFByZXR0eVVybHMoJG5ld3BhcmFtcywgJHJldHVybmlkKSk7DQoJCQl9DQoJCQkkaSsrOw0KCQl9DQoJCSRpID0gMDsNCgkJJHRtcGZsYWcgPSB0cnVlOw0KCQkkbWF4cGFnZXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibWF4c2hvd25wYWdlcyIsNyk7DQoJCSRtYXhwYWdlcyA9IChpbnQpICRtYXhwYWdlczsNCgkJJHBhZ2VtZW51ID0gIiI7DQoJCWlmKCRtYXhwYWdlcyA8IDEpCSRtYXhwYWdlcyA9IDk5OTsNCgkJd2hpbGUoJGkgPCBjb3VudCgkbGlua3MpKXsNCgkJCWlmKCRpIDwgKCRtYXhwYWdlcy0xKSB8fCAkbmJwYWdlcyA8PSAkbWF4cGFnZXMpew0KCQkJCSRwYWdlbWVudSAuPSAoJHBhZ2VtZW51ID09ICIiPyIiOiR0aGlzLT5MYW5nKCJwYWdlbWVudWRlbGltaXRlciIpKS4kbGlua3NbJGldOw0KCQkJfWVsc2VpZigkaSA9PSBjb3VudCgkbGlua3MpKXsNCgkJCQkkcGFnZW1lbnUgLj0gJGxpbmtzWyRpXTsNCgkJCX1lbHNlaWYoJHRtcGZsYWcpew0KCQkJCSR0bXBmbGFnID0gZmFsc2U7DQoJCQkJJHBhZ2VtZW51IC49ICI8c3BhbiBjbGFzcz1cInBhZ2VtZW51b3ZlcmZsb3dcIj4iLiR0aGlzLT5MYW5nKCJwYWdlbWVudW92ZXJmbG93IikuIjwvc3Bhbj4iOw0KCQkJfQ0KCQkJJGkrKzsNCgkJfQ0KCQkkdGhpcy0+c21hcnR5LT5hc3NpZ24oInBhZ2VfcGFnZW51bWJlcnMiLCRwYWdlbWVudSk7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X2Rpc3RhbmNldG9sZXZlbCgkcGFyZW50bmFtZSwkY2hpbGRuYW1lPWZhbHNlKXsNCgkJLy8gZ2V0IHRoZSBkaXN0YW5jZSBiZXR3ZWVuIHR3byBsZXZlbHMgKG1vc3QgbGlrZWx5IGJldHdlZW4gYSBsZXZlbCBhbmQgdGhlIGZpbmFsIGxldmVsKQ0KCQkkbGV2ZWxzID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQoJCWlmKCEkY2hpbGRuYW1lKQkkY2hpbGRuYW1lID0gJGxldmVsc1tjb3VudCgkbGV2ZWxzKS0xXTsNCgkJJHBhcmVudHBvc2l0aW9uID0gZmFsc2U7DQoJCSRjaGlsZHBvc2l0aW9uID0gZmFsc2U7DQoJCSRjb3VudGVyID0gMDsNCgkJZm9yZWFjaCgkbGV2ZWxzIGFzICRsZXZlbCl7DQoJCQkkY291bnRlcisrOw0KCQkJaWYoJGxldmVsID09ICRwYXJlbnRuYW1lKSAkcGFyZW50cG9zaXRpb24gPSAkY291bnRlcjsNCgkJCWlmKCRsZXZlbCA9PSAkY2hpbGRuYW1lKSAkY2hpbGRwb3NpdGlvbiA9ICRjb3VudGVyOw0KCQl9DQoJCWlmKCRjaGlsZHBvc2l0aW9uICYmICRwYXJlbnRwb3NpdGlvbil7DQoJCQlyZXR1cm4gYWJzKCRwYXJlbnRwb3NpdGlvbiAtICRjaGlsZHBvc2l0aW9uKTsNCgkJfQ0KCX0NCglmdW5jdGlvbiBnZXRfbmV4dGxldmVsKCRjdXJsZXZlbCwkZmluZGNoaWxkPXRydWUpew0KCQkvLyByZXR1cm4gdGhlIG5hbWUgb2YgdGhlIGxldmVsIGJlbG93ICgkZmluZGNoaWxkPXRydWUpIG9yIGFib3ZlICgkZmluZGNoaWxkPWZhbHNlKQ0KCQkkbGV2ZWxzID0gJHRoaXMtPmdldF9sZXZlbGFycmF5KCk7DQoJCSRpID0gMDsNCgkJJHdhbnRlZGxldmVsID0gZmFsc2U7DQoJCXdoaWxlKCRpIDwgY291bnQoJGxldmVscykpew0KCQkJJG5leHQgPSAkZmluZGNoaWxkPyRpKzE6JGktMTsNCgkJCWlmKCRsZXZlbHNbJGldID09ICRjdXJsZXZlbCAmJiBpc3NldCgkbGV2ZWxzWyRuZXh0XSkpICR3YW50ZWRsZXZlbCA9ICRsZXZlbHNbJG5leHRdOw0KCQkJJGkrKzsNCgkJfQ0KCQlyZXR1cm4gJHdhbnRlZGxldmVsOw0KCX0NCglmdW5jdGlvbiBnZXRfcGFyZW50cygkcGFyZW50bmFtZSwkY2hpbGRuYW1lLCRjaGlsZGlkKXsNCgkJLy8gd2hlbiB1c2luZyB0aGUgc2hhcmVjaGlsZHJlbiBvcHRpb24sIHJldHJpZXZlcyB0aGUgcGFyZW50cyBvZiBhIGdpdmVuIGVsZW1lbnQNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICIuJHBhcmVudG5hbWUuIl9pZCBwYXJlbnRpZCBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBXyIuJHBhcmVudG5hbWUuIl9oYXNfIi4kY2hpbGRuYW1lLiIgV0hFUkUgIi4kY2hpbGRuYW1lLiJfaWQ9PyI7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksYXJyYXkoJGNoaWxkaWQpKTsNCgkJJHBhcmVudHMgPSBhcnJheSgpOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJHBhcmVudHNbXSA9ICRyb3dbInBhcmVudGlkIl07DQoJCX0NCgkJcmV0dXJuICRwYXJlbnRzOw0KCX0NCglmdW5jdGlvbiBnZXRfb3B0aW9ucygkdGFibGVuYW1lLCRvbmx5YWN0aXZlPWZhbHNlLCRmdWxsb2JqZWN0PWZhbHNlKXsNCgkJLy8gcmV0dXJucyB0aGUgZWxlbWVudHMgb2YgYW55IHRhYmxlIGFzIG9wdGlvbnMgdG8gdXNlIGZvciBhIGRyb3Bkb3duIGxpc3QNCgkJLy8gcmV0dXJucyBhbiBhcnJheSBvZiAkbGFiZWw9PiR2YWx1ZQ0KCQkkb3JkZXJieW5hbWUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgib3JkZXJieW5hbWUiLGZhbHNlKTsNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICIuKCRmdWxsb2JqZWN0PyIqIjoiaWQsIG5hbWUiKS4iIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfIi4kdGFibGVuYW1lOw0KCQlpZigkb25seWFjdGl2ZSkJJHF1ZXJ5IC49ICIgV0hFUkUgYWN0aXZlPTEiOw0KCQkkcXVlcnkgLj0gIiBPUkRFUiBCWSAiLigkb3JkZXJieW5hbWU/Im5hbWUiOiJpdGVtX29yZGVyIik7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQkkb3B0aW9ucyA9IGFycmF5KCk7DQoJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQlpZigkZnVsbG9iamVjdCl7DQoJCQkJJG9iaiA9IG5ldyBTdGRDbGFzcygpOw0KCQkJCWZvcmVhY2goJHJvdyBhcyAka2V5PT4kdmFsdWUpCSRvYmotPiRrZXkgPSAkdmFsdWU7DQoJCQkJJG9wdGlvbnNbXSA9ICRvYmo7DQoJCQl9ZWxzZXsNCgkJCQkkb3B0aW9uc1skcm93WyJuYW1lIl1dID0gJHJvd1siaWQiXTsNCgkJCX0NCgkJfQ0KCQkNCgkJcmV0dXJuICRvcHRpb25zOw0KCX0NCglmdW5jdGlvbiBnZXRfZmllbGRvcHRpb25zKCRmaWVsZCwkZnVsbG9iamVjdD1mYWxzZSl7DQoJCS8vIHJldHVybnMgZmllbGQgb3B0aW9ucyBhcyBvcHRpb25zIHRvIHVzZSBmb3IgYSBkcm9wZG93biBsaXN0DQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCi8vCQllY2hvICgiZmllbGQ9JGZpZWxkIik7DQoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2ZpZWxkb3B0aW9ucyBXSEVSRSBmaWVsZD0/IE9SREVSIEJZIGl0ZW1fb3JkZXIiOw0KCQkkZGJyZXN1bHQgPSAkZGItPkV4ZWN1dGUoJHF1ZXJ5LGFycmF5KCRmaWVsZCkpOw0KCQkkb3B0aW9ucyA9IGFycmF5KCk7DQoJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQlpZigkZnVsbG9iamVjdCl7DQoJCQkJJG9iaiA9IG5ldyBTdGRDbGFzcygpOw0KCQkJCWZvcmVhY2goJHJvdyBhcyAka2V5PT4kdmFsdWUpCSRvYmotPiRrZXkgPSAkdmFsdWU7DQoJCQkJJG9wdGlvbnNbXSA9ICRvYmo7DQoJCQl9ZWxzZXsNCgkJCQkkb3B0aW9uc1skcm93WyJuYW1lIl1dID0gJHJvd1siaWQiXTsNCgkJCX0NCgkJfQ0KCQkNCgkJcmV0dXJuICRvcHRpb25zOw0KCX0NCglmdW5jdGlvbiBnZXRfcGFnZWlkKCRhbGlhcyl7DQoJCS8vIHJldHVybnMgdGhlIHBhZ2UgaWQgZnJvbSBhbiBhbGlhcw0KCQlnbG9iYWwgJGdDbXM7DQoJCSRtYW5hZ2VyID0mICRnQ21zLT5HZXRIaWVyYXJjaHlNYW5hZ2VyKCk7DQoJCSRub2RlID0mICRtYW5hZ2VyLT5zdXJlR2V0Tm9kZUJ5QWxpYXMoJGFsaWFzKTsNCgkJaWYgKGlzc2V0KCRub2RlKSkgew0KCQkJJGNvbnRlbnQgPSYgJG5vZGUtPkdldENvbnRlbnQoKTsJDQoJCQlpZiAoaXNzZXQoJGNvbnRlbnQpKQlyZXR1cm4gJGNvbnRlbnQtPklkKCk7DQoJCX1lbHNlew0KCQkJJG5vZGUgPSYgJG1hbmFnZXItPnN1cmVHZXROb2RlQnlJZCgkYWxpYXMpOw0KCQkJaWYgKGlzc2V0KCRub2RlKSkgcmV0dXJuICRhbGlhczsNCgkJfQ0KCX0NCglmdW5jdGlvbiBhZGRmcm9udGVuZHVybHMoJGl0ZW0sJHBhcmFtcywkaWQsJHJldHVybmlkKXsNCgkJLy8gYWRkcyAkaXRlbS0+ZGV0YWlsbGluayBhbmQgJGl0ZW0tPmRldGFpbHVybCB0byBhIGdpdmVuICRpdGVtDQoJCSRuZXh0bGV2ZWwgPSAkdGhpcy0+Z2V0X25leHRsZXZlbCgkaXRlbS0+X193aGF0KTsNCgkJaWYoISRuZXh0bGV2ZWwpew0KCQkJJG5ld3BhcmFtcyA9IGFycmF5KCJ3aGF0Ij0+JGl0ZW0tPl9fd2hhdCwgImFsaWFzIj0+JGl0ZW0tPmFsaWFzKTsNCgkJfWVsc2V7DQoJCQkkbmV3cGFyYW1zID0gYXJyYXkoIndoYXQiPT4kbmV4dGxldmVsLCAicGFyZW50Ij0+JGl0ZW0tPmFsaWFzKTsNCgkJCWlmKGlzc2V0KCRwYXJhbXNbImZvcmNlbGlzdCJdKSAmJiAkcGFyYW1zWyJmb3JjZWxpc3QiXSkJJG5ld3BhcmFtc1siZm9yY2VsaXN0Il0gPSB0cnVlOw0KCQkJaWYoaXNzZXQoJHBhcmFtc1sibmJwZXJwYWdlIl0pICYmICRwYXJhbXNbIm5icGVycGFnZSJdID4gMCkJJG5ld3BhcmFtc1sibmJwZXJwYWdlIl0gPSAkcGFyYW1zWyJuYnBlcnBhZ2UiXTsNCgkJCWlmKGlzc2V0KCRwYXJhbXNbInBhZ2VpbmRleCJdKSAmJiAkcGFyYW1zWyJwYWdlaW5kZXgiXSA+IDEpCSRuZXdwYXJhbXNbInBhZ2VpbmRleCJdID0gJHBhcmFtc1sicGFnZWluZGV4Il07DQoJCX0NCgkJJGlubGluZSA9IChpc3NldCgkcGFyYW1zWyJpbmxpbmUiXSkgJiYgJHBhcmFtc1siaW5saW5lIl0pP3RydWU6ZmFsc2U7DQoJCWlmKCRpbmxpbmUpCSRuZXdwYXJhbXNbImlubGluZSJdID0gdHJ1ZTsNCgkJJHByZXR0eXVybCA9ICR0aGlzLT5CdWlsZFByZXR0eVVybHMoJG5ld3BhcmFtcywgJHJldHVybmlkKTsNCgkJLy9lY2hvICJwcmV0dHkgdXJsPSRwcmV0dHl1cmwiOw0KCQkkaXRlbS0+ZGV0YWlsbGluayA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgImRlZmF1bHQiLCAkcmV0dXJuaWQsICRpdGVtLT5uYW1lLCAkbmV3cGFyYW1zLCAiIiwgZmFsc2UsICRpbmxpbmUsICIiLCBmYWxzZSwgJHByZXR0eXVybCk7DQoJCSRpdGVtLT5kZXRhaWx1cmwgPSAgJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVmYXVsdCIsICRyZXR1cm5pZCwgIiIsICAgICAgICAgICRuZXdwYXJhbXMsICIiLCB0cnVlLCAgJGlubGluZSwgIiIsIGZhbHNlLCAkcHJldHR5dXJsKTsNCgkJcmV0dXJuICRpdGVtOw0KCX0NCgkNCglmdW5jdGlvbiBhZGRhZG1pbmxpbmtzKCRpdGVtLCRwYXJhbXMsJGlkLCRyZXR1cm5pZCl7DQoJCS8vIGFkZHMgdGhlIGFkbWluIGxpbmtzIHRvIHRoZSBsZXZlbCBpdGVtcy4uLg0KCQkvKiAkcGFyYW1zIDogdGhlIGJhc2UgcGFyYW1ldGVycyBmb3IgdGhlIGFkbWluIGxpbmtzDQoJCQkJcHJlZml4DQoJCQkJdGFibGVuYW1lDQoJCQkJY2hpbGQgKGlmIHRoZSBsZXZlbCBoYXMgYSBjaGlsZCBsZXZlbCwgdGhlIG5hbWUgb2YgdGhlIGNoaWxkIGxldmVsKQ0KCQkJCWxldmVsbmFtZQ0KCQkJCXBhcmVudGRlZmF1bHQgKGJvb2wuLi4gd2hldGhlciBvciBub3QgdGhlcmUgaXMgYSBkZWZhdWx0IGVsZW1lbnQgZm9yIGVhY2ggcGFyZW50KQ0KCQkJCW9yZGVyYnlwYXJlbnQgKGJvb2wpDQoJCQkJYWRkZmlsZXMNCgkJCQlzaGFyZWNoaWxkcmVuIChib29sKQ0KCQkJCXNoYXJlZGJ5cGFyZW50cyAoYm9vbCkNCgkJCQlmaWxlcyAoc3RyaW5nLGNzdikNCgkJKi8NCg0KCQlnbG9iYWwgJGdDbXM7DQoJCSRhZG1pbnRoZW1lID0gJGdDbXMtPnZhcmlhYmxlc1siYWRtaW50aGVtZSJdOw0KCQkNCgkJaWYoICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsZmFsc2UpICYmICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKSAmJiAhJHRoaXMtPkNoZWNrUGVybWlzc2lvbigiSFZBX21hbmFnZV8iLiRwYXJhbXNbImxldmVsbmFtZSJdKSApew0KCQkJLy8gbm8gYWNjZXNzIC0gd2UgZG9uJ3QgY3JlYXRlIGxpbmtzDQoJCQkkaXRlbS0+ZWRpdGxpbmsgPSAkaXRlbS0+bmFtZTsNCgkJCSRpdGVtLT5kZWxldGVsaW5rID0gIiI7DQoJCQkkaXRlbS0+bW92ZWxpbmtzID0gIiI7DQoJCQkkaXRlbS0+dG9nZ2xlYWN0aXZlID0gJGl0ZW0tPmFjdGl2ZT09MT8kYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vdHJ1ZS5naWYiLCIiLCIiLCIiLCJzeXN0ZW1pY29uIik6JGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZiIsIiIsIiIsIiIsInN5c3RlbWljb24iKTsNCgkJCSRpdGVtLT50b2dnbGVkZWZhdWx0ID0gJGl0ZW0tPmlzZGVmYXVsdD09MT8kYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vdHJ1ZS5naWYiLCIiLCIiLCIiLCJzeXN0ZW1pY29uIik6JGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZiIsIiIsIiIsIiIsInN5c3RlbWljb24iKTsNCgkJCXJldHVybiAkaXRlbTsNCgkJfQ0KCQkNCgkJJHByZWZpeCA9ICRwYXJhbXNbInByZWZpeCJdOw0KCQkkbW92ZXBhcmFtcyA9ICRwYXJhbXM7DQoJCSRtb3ZlcGFyYW1zWyRwcmVmaXguImlkIl0gPSAkaXRlbS0+aWQ7DQoJCSRtb3ZlcGFyYW1zWyJjdXJyZW50b3JkZXIiXSA9ICRpdGVtLT5pdGVtX29yZGVyOw0KCQlpZihpc3NldCgkbW92ZXBhcmFtc1siZmlsZXMiXSkpCXVuc2V0KCRtb3ZlcGFyYW1zWyJmaWxlcyJdKTsNCgkJaWYoJG1vdmVwYXJhbXNbIm9yZGVyYnlwYXJlbnQiXSAmJiBpc3NldCgkaXRlbS0+cGFyZW50X2lkKSkgJG1vdmVwYXJhbXNbInBhcmVudCJdID0gJGl0ZW0tPnBhcmVudF9pZDsNCg0KCQkkaXRlbS0+ZWRpdGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJlZGl0Ii4kcGFyYW1zWyJsZXZlbG5hbWUiXSwgJHJldHVybmlkLCAkaXRlbS0+bmFtZSwgYXJyYXkoJHByZWZpeC4iaWQiPT4kaXRlbS0+aWQpKTsNCgkJJGl0ZW0tPmRlbGV0ZWxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJtb3Zlc29tZXRoaW5nIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZiIsbGFuZygiZGVsZXRlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIm1vdmUiPT4iZGVsZXRlIiwiZmlsZXMiPT4kcGFyYW1zWyJmaWxlcyJdKSwkbW92ZXBhcmFtcyksJHRoaXMtPkxhbmcoInByb21wdF9kZWxldGUiLiRwYXJhbXNbImxldmVsbmFtZSJdLCBzdHJfcmVwbGFjZSgiJyIsIlwnIiwkaXRlbS0+bmFtZSkpKTsNCgkJJGl0ZW0tPm1vdmV1cGxpbmsgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJtb3Zlc29tZXRoaW5nIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vYXJyb3ctdS5naWYiLGxhbmcoInVwIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIm1vdmUiPT4idXAiKSwkbW92ZXBhcmFtcykpOw0KCQkkaXRlbS0+bW92ZWRvd25saW5rID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAibW92ZXNvbWV0aGluZyIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2Fycm93LWQuZ2lmIixsYW5nKCJkb3duIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIm1vdmUiPT4iZG93biIpLCRtb3ZlcGFyYW1zKSk7DQoJCSRpdGVtLT5tb3ZlbGlua3MgPSAkaXRlbS0+bW92ZXVwbGluayAuIiAiLiAkaXRlbS0+bW92ZWRvd25saW5rOw0KCQkNCgkJLy8gd2UgcmVidWlsZCB0aGUgcGFyYW1zLCBiZWNhdXNlIHdlIGRvbid0IG5lZWQgc28gbWFueSBmb3IgdGhlIHRvZ2dsZSBhY3Rpb24NCgkJJHRvZ2dsZXBhcmFtcyA9IGFycmF5KCRwcmVmaXguImlkIj0+JGl0ZW0tPmlkLCAicHJlZml4Ij0+JHByZWZpeCwgInRhYmxlbmFtZSI9PiRwYXJhbXNbInRhYmxlbmFtZSJdLCAibGV2ZWxuYW1lIj0+JHBhcmFtc1sibGV2ZWxuYW1lIl0pOw0KCQlpZigkcGFyYW1zWyJwYXJlbnRkZWZhdWx0Il0gJiYgaXNzZXQoJGl0ZW0tPnBhcmVudF9pZCkpew0KCQkJJHRvZ2dsZXBhcmFtc1sicGFyZW50Il0gPSAkaXRlbS0+cGFyZW50X2lkOw0KCQkJJHRvZ2dsZXBhcmFtc1sicGFyZW50ZGVmYXVsdCJdID0gMTsNCgkJfQ0KCQlpZiAoJGl0ZW0tPmFjdGl2ZSA9PSAxKXsNCgkJCSRpdGVtLT50b2dnbGVhY3RpdmUgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0b2dnbGUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS90cnVlLmdpZiIsbGFuZygic2V0ZmFsc2UiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgid2hhdCI9PiJhY3RpdmUiLCJuZXd2YWwiPT4wKSwkdG9nZ2xlcGFyYW1zKSk7DQoJCX1lbHNlew0KCQkJJGl0ZW0tPnRvZ2dsZWFjdGl2ZSA9ICR0aGlzLT5DcmVhdGVMaW5rKCRpZCwgInRvZ2dsZSIsICRyZXR1cm5pZCwgJGFkbWludGhlbWUtPkRpc3BsYXlJbWFnZSgiaWNvbnMvc3lzdGVtL2ZhbHNlLmdpZiIsbGFuZygic2V0dHJ1ZSIpLCIiLCIiLCJzeXN0ZW1pY29uIiksIGFycmF5X21lcmdlKGFycmF5KCJ3aGF0Ij0+ImFjdGl2ZSIsIm5ld3ZhbCI9PjEpLCR0b2dnbGVwYXJhbXMpKTsNCgkJfQ0KDQoJCWlmICgkaXRlbS0+aXNkZWZhdWx0ID09IDEpew0KCQkJJGl0ZW0tPnRvZ2dsZWRlZmF1bHQgPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0b2dnbGUiLCAkcmV0dXJuaWQsICRhZG1pbnRoZW1lLT5EaXNwbGF5SW1hZ2UoImljb25zL3N5c3RlbS90cnVlLmdpZiIsbGFuZygic2V0ZmFsc2UiKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheV9tZXJnZShhcnJheSgid2hhdCI9PiJkZWZhdWx0IiwibmV3dmFsIj0+MCksJHRvZ2dsZXBhcmFtcykpOw0KCQl9ZWxzZXsNCgkJCSRpdGVtLT50b2dnbGVkZWZhdWx0ID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAidG9nZ2xlIiwgJHJldHVybmlkLCAkYWRtaW50aGVtZS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vZmFsc2UuZ2lmIixsYW5nKCJzZXR0cnVlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXlfbWVyZ2UoYXJyYXkoIndoYXQiPT4iZGVmYXVsdCIsIm5ld3ZhbCI9PjEpLCR0b2dnbGVwYXJhbXMpKTsNCgkJfQ0KCQlyZXR1cm4gJGl0ZW07DQoJfQ0KCWZ1bmN0aW9uIHNwbGl0X2ludG9fcGFnZXMoJGl0ZW1saXN0LCAkaWQsICRyZXR1cm5pZCwgJHBhcmFtcywgJGFjdGlvbj0iZGVmYXVsdCIsICRwcmV0dHl1cmxzPXRydWUpew0KCQkvLyBkZXByZWNhdGVkIC0gc2hvdWxkIHVzZSBmdW5jdGlvbiBwYWdpbmF0ZSBpbnN0ZWFkDQoJCXJldHVybiAkaXRlbWxpc3Q7DQoJfQ0KCWZ1bmN0aW9uIGdldF9xdWVyaWVzKCR3aGVyZT1hcnJheSgpLCAkYWRtaW49ZmFsc2UsICRpZD1mYWxzZSwgJHJldHVybmlkPWZhbHNlKXsNCgkJLy8gcmV0cml2ZXMgcXVlcmllcyBmcm9tIHRoZSBkYXRhYmFzZSBhbmQgcmV0dXJucyBhbiBhcnJheSBvZiBvYmplY3RzDQoJCWdsb2JhbCAkZ0NtczsNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkcXVlcnkgPSAiU0VMRUNUICogRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzIjsNCgkJJHdoZXJlY2xhdXNlID0gIiI7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCWlmKGNvdW50KCR3aGVyZSk+MCl7DQoJCQlmb3JlYWNoKCR3aGVyZSBhcyAka2V5PT4kdmFsdWUpew0KCQkJCSR3aGVyZWNsYXVzZSAuPSAoJHdoZXJlY2xhdXNlID09ICIiPyIgV0hFUkUgIjoiIEFORCAiKS4ka2V5LiI9PyI7DQoJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQl9DQoJCX0NCgkJJHF1ZXJ5IC49ICR3aGVyZWNsYXVzZTsNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkd2hlcmV2YWx1ZXMpOw0KCQkkaXRlbWxpc3QgPSBhcnJheSgpOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJGl0ZW0gPSBuZXcgc3RkQ2xhc3MoKTsNCgkJCWZvcmVhY2goJHJvdyBhcyAka2V5PT4kdmFsdWUpew0KCQkJCSRpdGVtLT4ka2V5ID0gJHZhbHVlOw0KCQkJfQ0KCQkJJGl0ZW0tPndoZXJldmFsdWVzID0gdW5zZXJpYWxpemUoJGl0ZW0tPndoZXJldmFsdWVzKTsNCgkJCWlmKCFpc19hcnJheSgkaXRlbS0+dmFsdWVzKSkJJGl0ZW0tPnZhbHVlcyA9IGFycmF5KCk7DQoJCQlpZigkYWRtaW4pew0KCQkJCSRpdGVtLT5hY3Rpb25zID0gJHRoaXMtPkNyZWF0ZUxpbmsoJGlkLCAiZGVsZXRlcXVlcnkiLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vZGVsZXRlLmdpZiIsbGFuZygiZGVsZXRlIiksIiIsIiIsInN5c3RlbWljb24iKSwgYXJyYXkoInF1ZXJ5aWQiPT4kaXRlbS0+aWQpKTsNCgkJCQkkaXRlbS0+YWN0aW9ucyAuPSAkdGhpcy0+Q3JlYXRlTGluaygkaWQsICJ0ZXN0cXVlcnkiLCAkcmV0dXJuaWQsICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXS0+RGlzcGxheUltYWdlKCJpY29ucy9zeXN0ZW0vdmlldy5naWYiLGxhbmcoInZpZXciKSwiIiwiIiwic3lzdGVtaWNvbiIpLCBhcnJheSgicXVlcnlpZCI9PiRpdGVtLT5pZCkpOw0KCQkJfQ0KCQkJJGl0ZW1saXN0W10gPSAkaXRlbTsNCgkJfQ0KCQlyZXR1cm4gKGNvdW50KCRpdGVtbGlzdCk+MD8kaXRlbWxpc3Q6ZmFsc2UpOw0KCX0NCg0KCWZ1bmN0aW9uIGNyZWF0ZUZpZWxkRm9ybSgkd2hhdCwkaWQsJGFzc2lnbj10cnVlKXsNCgkJcmVxdWlyZSAiZnVuY3Rpb24uY3JlYXRlRmllbGRGb3JtLnBocCI7DQoJfQ0KCQ0KDQoJZnVuY3Rpb24gYnVpbGRXaGVyZSgkd2hlcmU9YXJyYXkoKSwkd2hhdD0iIil7DQoJCSRtdWx0aXBsZWxpc3RmaWVsZHMgPSBhcnJheSgpOw0KCQkkd2hlcmVjbGF1c2UgPSAiQS5hY3RpdmU9MSI7DQoJCSR3aGVyZXZhbHVlcyA9IGFycmF5KCk7DQoJCWZvcmVhY2goJHdoZXJlIGFzICRjbGF1c2Upew0KCQkJaWYoaW5fYXJyYXkoJHdoYXQuIl8iLiRjbGF1c2VbMF0sICRtdWx0aXBsZWxpc3RmaWVsZHMpKXsNCgkJCQkvLyBsaXN0IHdpdGggbXVsdGlwbGUgc2VsZWN0ZWQgdmFsdWVzIGFyZSBzYXZlZCBpbiBhIHNlcmlhbGl6ZWQgYXJyYXksIHNvIHdlIGhhdmUgdG8gdHdlYWsgdGhlIHZhbHVlDQoJCQkJJGNsYXVzZVsxXSA9ICciJy4kY2xhdXNlWzFdLiciJzsNCgkJCQkkY2xhdXNlWzJdID0gMTsNCgkJCX0NCgkJCWlmKCRjbGF1c2VbMF0gPT0gInBhcmVudCIpew0KCQkJCQkkY3JpdGVyaWEgPSBleHBsb2RlKCIsIiwkY2xhdXNlWzFdKTsNCgkJCQkJaWYoY291bnQoJGNyaXRlcmlhKSA+IDEpew0KCQkJCQkJJHRtcCA9ICIiOw0KCQkJCQkJZm9yZWFjaCgkY3JpdGVyaWEgYXMgJGNyaXQpew0KCQkJCQkJCSR0bXAgPSAoJHRtcD09IiI/IiI6IiBPUiAiKS4iQS5wYXJlbnQ9Ii4kY3JpdDsNCgkJCQkJCX0NCgkJCQkJCSR0bXAgPSAiIEFORCAoIi4kdG1wLiIpIjsNCgkJCQkJfWVsc2V7DQoJCQkJCQkkdG1wID0gIiBBTkQgQS5wYXJlbnQ9PyI7DQoJCQkJCQkkd2hlcmV2YWx1ZXNbXSA9ICRjbGF1c2VbMV07DQoJCQkJCX0NCgkJCQkJJHdoZXJlY2xhdXNlIC49ICR0bXA7DQoJCQkJDQoJCQl9ZWxzZXsNCgkJCQlzd2l0Y2goJGNsYXVzZVsyXSl7DQoJCQkJCWNhc2UgMDoNCgkJCQkJCSR3aGVyZWNsYXVzZSAuPSAiIEFORCBBLiIuJGNsYXVzZVswXS4iPT8iOw0KCQkJCQkJJHdoZXJldmFsdWVzW10gPSBhZGRzbGFzaGVzKCRjbGF1c2VbMV0pOwkJCQkJDQoJCQkJCQlicmVhazsNCgkJCQkJDQoJCQkJCWNhc2UgMToNCgkJCQkJCSR3aGVyZWNsYXVzZSAuPSAiIEFORCBBLiIuJGNsYXVzZVswXS4iIExJS0UgJyUiLmFkZHNsYXNoZXMoJGNsYXVzZVsxXSkuIiUnIjsNCgkJCQkJCWJyZWFrOw0KCQkJCQkNCgkJCQkJY2FzZSAyOg0KCQkJCQkJJHdoZXJlY2xhdXNlIC49ICIgQU5EIEEuIi4kY2xhdXNlWzBdLiIgIT0gPyI7DQoJCQkJCQkkd2hlcmV2YWx1ZXNbXSA9IGFkZHNsYXNoZXMoJGNsYXVzZVsxXSk7DQoJCQkJCQlicmVhazsNCgkJCQkJCQ0KCQkJCQljYXNlIDM6DQoJCQkJCQkkd2hlcmVjbGF1c2UgLj0gIiBBTkQgQS4iLiRjbGF1c2VbMF0uIiA+ID8iOw0KCQkJCQkJJHdoZXJldmFsdWVzW10gPSBhZGRzbGFzaGVzKCRjbGF1c2VbMV0pOwkJCQkJDQoJCQkJCQlicmVhazsNCgkJCQkJCQ0KCQkJCQljYXNlIDQ6DQoJCQkJCQkkd2hlcmVjbGF1c2UgLj0gIiBBTkQgQS4iLiRjbGF1c2VbMF0uIiA8ID8iOw0KCQkJCQkJJHdoZXJldmFsdWVzW10gPSBhZGRzbGFzaGVzKCRjbGF1c2VbMV0pOwkJCQkJDQoJCQkJCQlicmVhazsNCgkJCQkJY2FzZSA1Og0KCQkJCQkJJHdoZXJlY2xhdXNlIC49ICIgQU5EIChBLiIuJGNsYXVzZVswXS4iID4gPyBBTkQgQS4iLiRjbGF1c2VbMF0uIiA8ID8pIjsNCgkJCQkJCSR3aGVyZXZhbHVlc1tdID0gYWRkc2xhc2hlcygkY2xhdXNlWzFdWzBdKTsNCgkJCQkJCSR3aGVyZXZhbHVlc1tdID0gYWRkc2xhc2hlcygkY2xhdXNlWzFdWzFdKTsNCgkJCQkJCWJyZWFrOwkJCQkJDQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCXJldHVybiBhcnJheSgkd2hlcmVjbGF1c2UsICR3aGVyZXZhbHVlcyk7DQoJfQ0KCWZ1bmN0aW9uIGdldFdoZXJlRnJvbVBhcmFtcygkcGFyYW1zLCAkaHRtbGVuY29kZWQ9ZmFsc2Upew0KCQkvLyB1c2VkIGZvciBxdWVyeSBjcmVhdGlvbiBhbmQgZnJvbnRlbmQgYWR2YW5jZWQgc2VhcmNoIGFjdGlvbg0KCQkvLyB0cmFuc2Zvcm1zIHBhcmFtZXRlcnMgaW50byAkd2hlcmUgLSBhbiBhcnJheSBvZiBjcml0ZXJpYToNCgkJLy8gJHdoZXJlW10gPSBhcnJheSgkZmllbGRuYW1lLCAkc2VhcmNodmFsdWUsICRjb21wYXJpc29uX3R5cGUpDQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJJHdoZXJlID0gYXJyYXkoKTsNCgkJZm9yZWFjaCgkcGFyYW1zIGFzICRrZXk9PiR2YWx1ZSl7DQoJCQlpZihzdWJzdHIoJGtleSwwLDYpID09ICJmaWVsZF8iICYmIHRyaW0oJHZhbHVlKSAhPSAiIil7DQoJCQkJJGtleSA9IHN1YnN0cigka2V5LDYpOw0KCQkJCWlmKGlzX2FycmF5KCR2YWx1ZSkgJiYgY291bnQoJHZhbHVlKT09MSkJJHZhbHVlID0gJHZhbHVlWzBdOw0KCQkJCSRjb21wYXJlID0gaXNzZXQoJHBhcmFtc1siY29tcGFyZV8iLiRrZXldKT8kcGFyYW1zWyJjb21wYXJlXyIuJGtleV06MDsNCgkJCQlpZigkdmFsdWUgPT0gIl9fZGF0ZV9maWVsZCIpew0KCQkJCQlpZigkY29tcGFyZSAhPSAiTkEiKXsNCgkJCQkJCS8vIFRoZSBjb2RlIGlzIHN1Y2ggdGhhdCByZW1vdmluZyBhbnkgcGFydCBvZiB0aGUgdGltZSBpbnB1dCBmcm9tIHRoZSBmb3JtIHdpbGwgcmVzdWx0IGluIHVzaW5nIHRoZSBkZWZhdWx0IHZhbHVlDQoJCQkJCQkkdGltZWlucHV0cyA9IGFycmF5KCJIb3VyIj0+IkgiLCJNaW51dGUiPT4iaSIsIlNlY29uZCI9PiJzIiwiTW9udGgiPT4ibiIsIkRheSI9PiJqIiwiWWVhciI9PiJZIik7DQoJCQkJCQkkcGFydHMgPSBhcnJheSgpOw0KCQkJCQkJZm9yZWFjaCgkdGltZWlucHV0cyBhcyAkaW5wdXRuYW1lPT4kZGF0ZXBhcnQpewkNCgkJCQkJCQkkcGFydHNbXSA9IChpc3NldCgkcGFyYW1zWyJkYXRlXyIuJGtleS4iXyIuJGlucHV0bmFtZV0pKT8kcGFyYW1zWyJkYXRlXyIuJGtleS4iXyIuJGlucHV0bmFtZV06ZGF0ZSgkZGF0ZXBhcnQpOw0KCQkJCQkJfQ0KCQkJCQkJJHZhbHVlID0gbWt0aW1lKCRwYXJ0c1swXSwkcGFydHNbMV0sJHBhcnRzWzJdLCRwYXJ0c1szXSwkcGFydHNbNF0sJHBhcnRzWzVdKTsNCgkJCQkJCSR2YWx1ZSA9IHN0cl9yZXBsYWNlKCJcJyIsIiIsJGRiLT5EQlRpbWVTdGFtcCgkdmFsdWUpKTsNCgkJCQkJCQ0KCQkJCQkJaWYoJGNvbXBhcmUgPT0gNSl7DQoJCQkJCQkJJHBhcnRzID0gYXJyYXkoKTsNCgkJCQkJCQlmb3JlYWNoKCR0aW1laW5wdXRzIGFzICRpbnB1dG5hbWU9PiRkYXRlcGFydCl7CQ0KCQkJCQkJCQkkcGFydHNbXSA9IChpc3NldCgkcGFyYW1zWyJkYXRlXyIuJGtleS4iX3BhcnQyXyIuJGlucHV0bmFtZV0pKT8kcGFyYW1zWyJkYXRlXyIuJGtleS4iX3BhcnQyXyIuJGlucHV0bmFtZV06ZGF0ZSgkZGF0ZXBhcnQpOw0KCQkJCQkJCX0NCgkJCQkJCQkkdmFsdWUyID0gbWt0aW1lKCRwYXJ0c1swXSwkcGFydHNbMV0sJHBhcnRzWzJdLCRwYXJ0c1szXSwkcGFydHNbNF0sJHBhcnRzWzVdKTsNCgkJCQkJCQkkdmFsdWUyID0gc3RyX3JlcGxhY2UoIlwnIiwiIiwkZGItPkRCVGltZVN0YW1wKCR2YWx1ZTIpKTsNCgkJCQkJCQkkd2hlcmVbXSA9IGFycmF5KCRrZXksIGFycmF5KCR2YWx1ZSwkdmFsdWUyKSwgJGNvbXBhcmUpOw0KCQkJCQkJfWVsc2V7CQ0KCQkJCQkJCSR3aGVyZVtdID0gYXJyYXkoJGtleSwgJHZhbHVlLCAkY29tcGFyZSk7DQoJCQkJCQl9DQoJCQkJCX0NCgkJCQl9ZWxzZXsNCgkJCQkJaWYoaXNfYXJyYXkoJHZhbHVlKSl7DQoJCQkJCQlmb3JlYWNoKCR2YWx1ZSBhcyAkb25ldmFsdWUpCSR3aGVyZVtdID0gYXJyYXkoJGtleSwgJG9uZXZhbHVlLCAxKTsNCgkJCQkJfWVsc2VpZigkY29tcGFyZSA9PSAxKXsNCgkJCQkJCSRrZXl3b3JkcyA9ICR0aGlzLT5wYXJzZWtleXdvcmRzKCR2YWx1ZSk7DQoJCQkJCQlmb3JlYWNoKCRrZXl3b3JkcyBhcyAkdmFsdWUpew0KCQkJCQkJCWlmKCRodG1sZW5jb2RlZCkJJHZhbHVlID0gaHRtbF9lbnRpdHlfZGVjb2RlKCR2YWx1ZSk7DQoJCQkJCQkJJHZhbHVlID0gYWRkc2xhc2hlcygkdmFsdWUpOwkJCQkJCQkNCgkJCQkJCQkkd2hlcmVbXSA9IGFycmF5KCRrZXksICR2YWx1ZSwgJGNvbXBhcmUpOw0KCQkJCQkJfQ0KCQkJCQl9ZWxzZXsNCgkJCQkJCWlmKCRodG1sZW5jb2RlZCkJJHZhbHVlID0gaHRtbF9lbnRpdHlfZGVjb2RlKCR2YWx1ZSk7DQoJCQkJCQkkdmFsdWUgPSBhZGRzbGFzaGVzKCR2YWx1ZSk7DQoJCQkJCQkkd2hlcmVbXSA9IGFycmF5KCRrZXksICR2YWx1ZSwgJGNvbXBhcmUpOw0KCQkJCQl9DQoJCQkJfQkJCQkNCgkJCX0NCgkJfQkJDQoJCXJldHVybiAkd2hlcmU7DQoJfQ0KDQoJZnVuY3Rpb24gZ2V0X2xldmVsX2NhdGVnb3J5KCR3aGVyZT1hcnJheSgpLCRhZG1pbj1mYWxzZSwkaWQ9IiIsJHJldHVybmlkPSIiLCRvcmRlcj1mYWxzZSwkbGltaXQ9MCwkY3VzdG9td2hlcmU9ZmFsc2UsJGN1c3RvbXZhbHVlcz1hcnJheSgpLCRjdXN0b21vcmRlcj1mYWxzZSl7DQoJCWdsb2JhbCAkZ0NtczsNCgkJJGxvYWRfbmJjaGlsZHJlbiA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCJsb2FkX25iY2hpbGRyZW4iLHRydWUpOw0KCQlpZigkYWRtaW4pCSRhZG1pbnRoZW1lID0gJGdDbXMtPnZhcmlhYmxlc1siYWRtaW50aGVtZSJdOw0KCQlpZighJG9yZGVyKQkkb3JkZXIgPSAiIjsNCgkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkkZmllbGRzID0gYXJyYXkoImRlc2NyaXB0aW9uIiwiaWQiLCJuYW1lIiwiYWxpYXMiLCJpdGVtX29yZGVyIiwiYWN0aXZlIiwiaXNkZWZhdWx0Iik7DQoJCQ0KCQkkd2hlcmVzdHJpbmcgPSAiIjsNCgkJJHdoZXJldmFsdWVzID0gYXJyYXkoKTsNCgkJDQoNCgkJaWYoJGN1c3RvbXdoZXJlKXsNCgkJCSR3aGVyZXN0cmluZyA9ICRjdXN0b213aGVyZTsNCgkJCSR3aGVyZXZhbHVlcyA9ICRjdXN0b212YWx1ZXM7DQoJCX1lbHNlew0KCQkJZm9yZWFjaCgkd2hlcmUgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQlpZihpbl9hcnJheShzdHJ0b2xvd2VyKCRrZXkpLCAkZmllbGRzKSl7DQoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgQU5EICIpLiRrZXkuIj0/IjsNCgkJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCSRxdWVyeSA9ICJTRUxFQ1QgKiBGUk9NICIuY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2NhdGVnb3J5IEEgIi4oJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgV0hFUkUgIi4kd2hlcmVzdHJpbmcpOw0KCQkkcXVlcnkgLj0gKCRjdXN0b21vcmRlcj8iIE9SREVSIEJZICIuJGN1c3RvbW9yZGVyOiIgT1JERVIgQlkgaXRlbV9vcmRlciIpOw0KDQoJCWlmKCRsaW1pdCAmJiAkbGltaXQgIT0gIjAiICYmICRsaW1pdCAhPSAiIikJJHF1ZXJ5IC49ICIgTElNSVQgIi4kbGltaXQ7DQoNCgkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSwkd2hlcmV2YWx1ZXMpOw0KCQkkaXRlbWxpc3QgPSBhcnJheSgpOw0KCQkkaWRsaXN0ID0gIiI7DQoJCXdoaWxlICgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSl7DQoJCQkkaXRlbSA9IG5ldyBzdGRDbGFzcygpOw0KCQkJJGl0ZW0tPl9fd2hhdCA9ICJjYXRlZ29yeSI7DQoJCQlmb3JlYWNoKCRyb3cgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQkkaXRlbS0+JGtleSA9ICR2YWx1ZTsNCgkJCX0NCgkJCSRpdGVtLT5kZXNjcmlwdGlvbiA9IHN0cmlwc2xhc2hlcygkaXRlbS0+ZGVzY3JpcHRpb24pOw0KCQkJJGl0ZW0tPm5hbWUgPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPm5hbWUpOw0KCQkJJGl0ZW0tPmFsaWFzID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5hbGlhcyk7DQoNCgkJCWlmKCRhZG1pbiA9PSB0cnVlKXsNCgkJCQkvLyAkcGFybXMgd2lsbCBiZSB0aGUgYmFzZSBmb3IgcGFyYW1ldGVycyBvZiB0aGUgYWRtaW4gbGlua3MNCgkJCQkkcGFybXMgPSBhcnJheSgNCgkJCQkJInByZWZpeCI9PiJjYXRfIiwNCgkJCQkJInRhYmxlbmFtZSI9PiJIVkFfY2F0ZWdvcnkiLA0KCQkJCQkibGV2ZWxuYW1lIj0+ImNhdGVnb3J5IiwNCgkJCQkJImNoaWxkIj0+IkhWQV9hbGJ1bSIsDQoJCQkJCSJwYXJlbnRkZWZhdWx0Ij0+ZmFsc2UsDQoJCQkJCSJvcmRlcmJ5cGFyZW50Ij0+dHJ1ZSwNCgkJCQkJImFkZGZpbGVzIj0+IiIsDQoJCQkJCSJzaGFyZWNoaWxkcmVuIj0+ZmFsc2UsDQoJCQkJCSJzaGFyZWRieXBhcmVudHMiPT5mYWxzZSwNCgkJCQkJImZpbGVzIj0+IiINCgkJCQkJKTsNCgkJCQkkaXRlbSA9ICR0aGlzLT5hZGRhZG1pbmxpbmtzKCRpdGVtLCRwYXJtcywkaWQsJHJldHVybmlkKTsNCgkJCX0NCgkJCSRpZGxpc3QgLj0gKCRpZGxpc3Q9PSIiPyIiOiIgT1IgIikuIiBwYXJlbnQ9JyIuJGl0ZW0tPmlkLiInIjsNCgkJCWFycmF5X3B1c2goJGl0ZW1saXN0LCRpdGVtKTsNCgkJfQ0KDQoJCWlmKCRhZG1pbiB8fCAkbG9hZF9uYmNoaWxkcmVuKXsNCgkJCSRuYmNoaWxkcmVucyA9IGFycmF5KCk7DQoJCQkkcXVlcnkgPSAiU0VMRUNUIHBhcmVudCwgY291bnQoaWQpIG5iY2hpbGRyZW4gRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9hbGJ1bSBXSEVSRSAoIi4kaWRsaXN0LiIpICIuKCRhZG1pbj8iIjoiQU5EIGFjdGl2ZT0xICIpLiJHUk9VUCBCWSBwYXJlbnQiOw0KCQkJJGRicmVzdWx0ID0gJGRiLT5FeGVjdXRlKCRxdWVyeSk7DQoJCQl3aGlsZSgkZGJyZXN1bHQgJiYgJHJvdyA9ICRkYnJlc3VsdC0+RmV0Y2hSb3coKSkJJG5iY2hpbGRyZW5zWyRyb3dbInBhcmVudCJdXSA9ICRyb3dbIm5iY2hpbGRyZW4iXTsNCgkJCSRuZXdsaXN0ID0gYXJyYXkoKTsNCgkJCWZvcmVhY2goJGl0ZW1saXN0IGFzICRpdGVtKXsNCgkJCQkkaXRlbS0+bmJjaGlsZHJlbiA9IGlzc2V0KCRuYmNoaWxkcmVuc1skaXRlbS0+aWRdKT8kbmJjaGlsZHJlbnNbJGl0ZW0tPmlkXTpmYWxzZTsNCgkJCQlhcnJheV9wdXNoKCRuZXdsaXN0LCAkaXRlbSk7DQoJCQl9DQoJCQkkaXRlbWxpc3QgPSAkbmV3bGlzdDsNCgkJfQ0KCQlyZXR1cm4gJGl0ZW1saXN0Ow0KCX0NCg0KCWZ1bmN0aW9uIGdldF9sZXZlbF9hbGJ1bSgkd2hlcmU9YXJyYXkoKSwkYWRtaW49ZmFsc2UsJGlkPSIiLCRyZXR1cm5pZD0iIiwkb3JkZXI9ZmFsc2UsJGxpbWl0PTAsJGN1c3RvbXdoZXJlPWZhbHNlLCRjdXN0b212YWx1ZXM9YXJyYXkoKSwkY3VzdG9tb3JkZXI9ZmFsc2Upew0KCQlnbG9iYWwgJGdDbXM7DQoJCSRsb2FkX25iY2hpbGRyZW4gPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgibG9hZF9uYmNoaWxkcmVuIix0cnVlKTsNCgkJaWYoJGFkbWluKQkkYWRtaW50aGVtZSA9ICRnQ21zLT52YXJpYWJsZXNbImFkbWludGhlbWUiXTsNCgkJaWYoISRvcmRlcikJJG9yZGVyID0gIiI7DQoJCSRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCgkJJGZpZWxkcyA9IGFycmF5KCJkZXNjcmlwdGlvbiIsImxhbmciLCJkZWZhdWx0X3dpZHRoIiwiZGVmYXVsdF9oZWlnaHQiLCJwYXJlbnQiLCJpZCIsIm5hbWUiLCJhbGlhcyIsIml0ZW1fb3JkZXIiLCJhY3RpdmUiLCJpc2RlZmF1bHQiKTsNCgkJDQoJCSR3aGVyZXN0cmluZyA9ICIiOw0KCQkkd2hlcmV2YWx1ZXMgPSBhcnJheSgpOw0KCQkNCg0KCQlpZigkY3VzdG9td2hlcmUpew0KCQkJJHdoZXJlc3RyaW5nID0gJGN1c3RvbXdoZXJlOw0KCQkJJHdoZXJldmFsdWVzID0gJGN1c3RvbXZhbHVlczsNCgkJfWVsc2V7DQoJCQlmb3JlYWNoKCR3aGVyZSBhcyAka2V5PT4kdmFsdWUpew0KCQkJCWlmKCRrZXkgPT0gInBhcmVudCIpew0KCQkJCQkkd2hlcmVzdHJpbmcgLj0gKCR3aGVyZXN0cmluZyA9PSAiIj8iIjoiIEFORCAiKS4iQi5hbGlhcz0/IjsNCgkJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQkJfWVsc2VpZigka2V5ID09ICJwYXJlbnRfaWQiKXsNCgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBBTkQgIikuIkIuaWQ9PyI7DQoJCQkJCSR3aGVyZXZhbHVlc1tdID0gJHZhbHVlOw0KCQkJCX1lbHNlaWYoaW5fYXJyYXkoc3RydG9sb3dlcigka2V5KSwgJGZpZWxkcykpew0KCQkJCQkkd2hlcmVzdHJpbmcgLj0gKCR3aGVyZXN0cmluZyA9PSAiIj8iIjoiIEFORCAiKS4iQS4iLiRrZXkuIj0/IjsNCgkJCQkJJHdoZXJldmFsdWVzW10gPSAkdmFsdWU7DQoJCQkJfQ0KCQkJfQ0KCQl9DQoJCQ0KCQkkcXVlcnkgPSAiU0VMRUNUIEEuKiwgQi5pZCBwYXJlbnRfaWQsIEIubmFtZSBwYXJlbnRfbmFtZSwgQi5hbGlhcyBwYXJlbnRfYWxpYXMgRlJPTSAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9hbGJ1bSBBLCAiLmNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeSBCIFdIRVJFIEEucGFyZW50ID0gQi5pZCAiLigkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBBTkQgIikuJHdoZXJlc3RyaW5nOw0KCQlpZigkY3VzdG9tb3JkZXIpew0KCQkJICRxdWVyeSAuPSAiIE9SREVSIEJZIEEuIi4kY3VzdG9tb3JkZXI7DQoJCX1lbHNlaWYoJG9yZGVyID09ICJtb2RpZmllZCIpew0KCQkJICRxdWVyeSAuPSAiIE9SREVSIEJZIEEuZGF0ZV9tb2RpZmllZCBERVNDIjsNCgkJfWVsc2VpZigkb3JkZXIgPT0gImNyZWF0ZWQiKXsNCgkJCSAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLmlkIERFU0MiOw0KCQl9ZWxzZWlmKCAkb3JkZXIgIT0gIiIgJiYgKCR0aGlzLT5HZXRQcmVmZXJlbmNlKCJhbGxvd19jb21wbGV4X29yZGVyIixmYWxzZSkgfHwgaW5fYXJyYXkoc3RydG9sb3dlcigkb3JkZXIpLCAkZmllbGRzKSkgKXsNCgkJCSRxdWVyeSAuPSAiIE9SREVSIEJZIEEuIi4kb3JkZXI7DQoJCX1lbHNlew0KCQkJICRxdWVyeSAuPSAiIE9SREVSIEJZIEIuaXRlbV9vcmRlciwgQS5pdGVtX29yZGVyIjsNCgkJfQ0KCQlpZigkbGltaXQgJiYgJGxpbWl0ICE9ICIwIiAmJiAkbGltaXQgIT0gIiIpCSRxdWVyeSAuPSAiIExJTUlUICIuJGxpbWl0Ow0KDQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHdoZXJldmFsdWVzKTsNCgkJJGl0ZW1saXN0ID0gYXJyYXkoKTsNCgkJJGlkbGlzdCA9ICIiOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJGl0ZW0gPSBuZXcgc3RkQ2xhc3MoKTsNCgkJCSRpdGVtLT5fX3doYXQgPSAiYWxidW0iOw0KCQkJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJJGl0ZW0tPiRrZXkgPSAkdmFsdWU7DQoJCQl9DQoJCQkkaXRlbS0+ZGVzY3JpcHRpb24gPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPmRlc2NyaXB0aW9uKTsNCgkJCSRpdGVtLT5sYW5nID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5sYW5nKTsNCgkJCSRpdGVtLT5uYW1lID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5uYW1lKTsNCgkJCSRpdGVtLT5hbGlhcyA9IHN0cmlwc2xhc2hlcygkaXRlbS0+YWxpYXMpOw0KDQoJCQlpZigkYWRtaW4gPT0gdHJ1ZSl7DQoJCQkJLy8gJHBhcm1zIHdpbGwgYmUgdGhlIGJhc2UgZm9yIHBhcmFtZXRlcnMgb2YgdGhlIGFkbWluIGxpbmtzDQoJCQkJJHBhcm1zID0gYXJyYXkoDQoJCQkJCSJwcmVmaXgiPT4iYWxiXyIsDQoJCQkJCSJ0YWJsZW5hbWUiPT4iSFZBX2FsYnVtIiwNCgkJCQkJImxldmVsbmFtZSI9PiJhbGJ1bSIsDQoJCQkJCSJjaGlsZCI9PiJIVkFfdmlkZW8iLA0KCQkJCQkicGFyZW50ZGVmYXVsdCI9PmZhbHNlLA0KCQkJCQkib3JkZXJieXBhcmVudCI9PnRydWUsDQoJCQkJCSJhZGRmaWxlcyI9PiIiLA0KCQkJCQkic2hhcmVjaGlsZHJlbiI9PmZhbHNlLA0KCQkJCQkic2hhcmVkYnlwYXJlbnRzIj0+ZmFsc2UsDQoJCQkJCSJmaWxlcyI9PiIiDQoJCQkJCSk7DQoJCQkJJGl0ZW0gPSAkdGhpcy0+YWRkYWRtaW5saW5rcygkaXRlbSwkcGFybXMsJGlkLCRyZXR1cm5pZCk7DQoJCQl9DQoJCQkkaWRsaXN0IC49ICgkaWRsaXN0PT0iIj8iIjoiIE9SICIpLiIgcGFyZW50PSciLiRpdGVtLT5pZC4iJyI7DQoJCQlhcnJheV9wdXNoKCRpdGVtbGlzdCwkaXRlbSk7DQoJCX0NCg0KCQlpZigkYWRtaW4gfHwgJGxvYWRfbmJjaGlsZHJlbil7DQoJCQkkbmJjaGlsZHJlbnMgPSBhcnJheSgpOw0KCQkJJHF1ZXJ5ID0gIlNFTEVDVCBwYXJlbnQsIGNvdW50KGlkKSBuYmNoaWxkcmVuIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gV0hFUkUgKCIuJGlkbGlzdC4iKSAiLigkYWRtaW4/IiI6IkFORCBhY3RpdmU9MSAiKS4iR1JPVVAgQlkgcGFyZW50IjsNCgkJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnkpOw0KCQkJd2hpbGUoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpCSRuYmNoaWxkcmVuc1skcm93WyJwYXJlbnQiXV0gPSAkcm93WyJuYmNoaWxkcmVuIl07DQoJCQkkbmV3bGlzdCA9IGFycmF5KCk7DQoJCQlmb3JlYWNoKCRpdGVtbGlzdCBhcyAkaXRlbSl7DQoJCQkJJGl0ZW0tPm5iY2hpbGRyZW4gPSBpc3NldCgkbmJjaGlsZHJlbnNbJGl0ZW0tPmlkXSk/JG5iY2hpbGRyZW5zWyRpdGVtLT5pZF06ZmFsc2U7DQoJCQkJYXJyYXlfcHVzaCgkbmV3bGlzdCwgJGl0ZW0pOw0KCQkJfQ0KCQkJJGl0ZW1saXN0ID0gJG5ld2xpc3Q7DQoJCX0NCgkJcmV0dXJuICRpdGVtbGlzdDsNCgl9DQoNCglmdW5jdGlvbiBnZXRfbGV2ZWxfdmlkZW8oJHdoZXJlPWFycmF5KCksJGFkbWluPWZhbHNlLCRpZD0iIiwkcmV0dXJuaWQ9IiIsJG9yZGVyPWZhbHNlLCRsaW1pdD0wLCRjdXN0b213aGVyZT1mYWxzZSwkY3VzdG9tdmFsdWVzPWFycmF5KCksJGN1c3RvbW9yZGVyPWZhbHNlKXsNCgkJZ2xvYmFsICRnQ21zOw0KCQkkbG9hZF9uYmNoaWxkcmVuID0gJHRoaXMtPkdldFByZWZlcmVuY2UoImxvYWRfbmJjaGlsZHJlbiIsdHJ1ZSk7DQoJCWlmKCRhZG1pbikJJGFkbWludGhlbWUgPSAkZ0Ntcy0+dmFyaWFibGVzWyJhZG1pbnRoZW1lIl07DQoJCWlmKCEkb3JkZXIpCSRvcmRlciA9ICIiOw0KCQkkZGIgPSYgJHRoaXMtPkdldERiKCk7DQoJCSRmaWVsZHMgPSBhcnJheSgiZGVzY3JpcHRpb24iLCJzaXRlIiwidmlkZW9pZCIsIndpZHRoIiwiaGVpZ2h0IiwicGFyZW50IiwiaWQiLCJuYW1lIiwiYWxpYXMiLCJpdGVtX29yZGVyIiwiYWN0aXZlIiwiaXNkZWZhdWx0Iik7DQoJCQ0KCQkkd2hlcmVzdHJpbmcgPSAiIjsNCgkJJHdoZXJldmFsdWVzID0gYXJyYXkoKTsNCgkJDQoNCgkJaWYoJGN1c3RvbXdoZXJlKXsNCgkJCSR3aGVyZXN0cmluZyA9ICRjdXN0b213aGVyZTsNCgkJCSR3aGVyZXZhbHVlcyA9ICRjdXN0b212YWx1ZXM7DQoJCX1lbHNlew0KCQkJZm9yZWFjaCgkd2hlcmUgYXMgJGtleT0+JHZhbHVlKXsNCgkJCQlpZigka2V5ID09ICJwYXJlbnQiKXsNCgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBBTkQgIikuIkIuYWxpYXM9PyI7DQoJCQkJCSR3aGVyZXZhbHVlc1tdID0gJHZhbHVlOw0KCQkJCX1lbHNlaWYoJGtleSA9PSAicGFyZW50X2lkIil7DQoJCQkJCSR3aGVyZXN0cmluZyAuPSAoJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgQU5EICIpLiJCLmlkPT8iOw0KCQkJCQkkd2hlcmV2YWx1ZXNbXSA9ICR2YWx1ZTsNCgkJCQl9ZWxzZWlmKGluX2FycmF5KHN0cnRvbG93ZXIoJGtleSksICRmaWVsZHMpKXsNCgkJCQkJJHdoZXJlc3RyaW5nIC49ICgkd2hlcmVzdHJpbmcgPT0gIiI/IiI6IiBBTkQgIikuIkEuIi4ka2V5LiI9PyI7DQoJCQkJCSR3aGVyZXZhbHVlc1tdID0gJHZhbHVlOw0KCQkJCX0NCgkJCX0NCgkJfQ0KCQkNCgkJJHF1ZXJ5ID0gIlNFTEVDVCBBLiosIEIuaWQgcGFyZW50X2lkLCBCLm5hbWUgcGFyZW50X25hbWUsIEIuYWxpYXMgcGFyZW50X2FsaWFzIEZST00gIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW8gQSwgIi5jbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0gQiBXSEVSRSBBLnBhcmVudCA9IEIuaWQgIi4oJHdoZXJlc3RyaW5nID09ICIiPyIiOiIgQU5EICIpLiR3aGVyZXN0cmluZzsNCgkJaWYoJGN1c3RvbW9yZGVyKXsNCgkJCSAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLiIuJGN1c3RvbW9yZGVyOw0KCQl9ZWxzZWlmKCRvcmRlciA9PSAibW9kaWZpZWQiKXsNCgkJCSAkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLmRhdGVfbW9kaWZpZWQgREVTQyI7DQoJCX1lbHNlaWYoJG9yZGVyID09ICJjcmVhdGVkIil7DQoJCQkgJHF1ZXJ5IC49ICIgT1JERVIgQlkgQS5pZCBERVNDIjsNCgkJfWVsc2VpZiggJG9yZGVyICE9ICIiICYmICgkdGhpcy0+R2V0UHJlZmVyZW5jZSgiYWxsb3dfY29tcGxleF9vcmRlciIsZmFsc2UpIHx8IGluX2FycmF5KHN0cnRvbG93ZXIoJG9yZGVyKSwgJGZpZWxkcykpICl7DQoJCQkkcXVlcnkgLj0gIiBPUkRFUiBCWSBBLiIuJG9yZGVyOw0KCQl9ZWxzZXsNCgkJCSAkcXVlcnkgLj0gIiBPUkRFUiBCWSBCLml0ZW1fb3JkZXIsIEEuaXRlbV9vcmRlciI7DQoJCX0NCgkJaWYoJGxpbWl0ICYmICRsaW1pdCAhPSAiMCIgJiYgJGxpbWl0ICE9ICIiKQkkcXVlcnkgLj0gIiBMSU1JVCAiLiRsaW1pdDsNCg0KCQkJJG9wdGlvbnNfc2l0ZSA9IGFycmF5X2ZsaXAoJHRoaXMtPmdldF9maWVsZG9wdGlvbnMoInZpZGVvX3NpdGUiKSk7DQoJCSRkYnJlc3VsdCA9ICRkYi0+RXhlY3V0ZSgkcXVlcnksJHdoZXJldmFsdWVzKTsNCgkJJGl0ZW1saXN0ID0gYXJyYXkoKTsNCgkJJGlkbGlzdCA9ICIiOw0KCQl3aGlsZSAoJGRicmVzdWx0ICYmICRyb3cgPSAkZGJyZXN1bHQtPkZldGNoUm93KCkpew0KCQkJJGl0ZW0gPSBuZXcgc3RkQ2xhc3MoKTsNCgkJCSRpdGVtLT5fX3doYXQgPSAidmlkZW8iOw0KCQkJZm9yZWFjaCgkcm93IGFzICRrZXk9PiR2YWx1ZSl7DQoJCQkJJGl0ZW0tPiRrZXkgPSAkdmFsdWU7DQoJCQl9DQoJCQkkaXRlbS0+ZGVzY3JpcHRpb24gPSBzdHJpcHNsYXNoZXMoJGl0ZW0tPmRlc2NyaXB0aW9uKTsNCgkJCSRpdGVtLT5zaXRlID0gKGlzc2V0KCRvcHRpb25zX3NpdGVbJGl0ZW0tPnNpdGVdKSk/JGl0ZW0tPnNpdGU6ZmFsc2U7DQoJCQkkaXRlbS0+c2l0ZV9uYW1ldmFsdWUgPSAoaXNzZXQoJG9wdGlvbnNfc2l0ZVskaXRlbS0+c2l0ZV0pKT8kb3B0aW9uc19zaXRlWyRpdGVtLT5zaXRlXToiIjsNCgkJCSRpdGVtLT52aWRlb2lkID0gc3RyaXBzbGFzaGVzKCRpdGVtLT52aWRlb2lkKTsNCgkJCSRpdGVtLT5uYW1lID0gc3RyaXBzbGFzaGVzKCRpdGVtLT5uYW1lKTsNCgkJCSRpdGVtLT5hbGlhcyA9IHN0cmlwc2xhc2hlcygkaXRlbS0+YWxpYXMpOw0KCQkkaXRlbS0+bmJjaGlsZHJlbiA9IGZhbHNlOw0KCQkNCgkJCWlmKCRhZG1pbiA9PSB0cnVlKXsNCgkJCQkvLyAkcGFybXMgd2lsbCBiZSB0aGUgYmFzZSBmb3IgcGFyYW1ldGVycyBvZiB0aGUgYWRtaW4gbGlua3MNCgkJCQkkcGFybXMgPSBhcnJheSgNCgkJCQkJInByZWZpeCI9PiJ2aWRfIiwNCgkJCQkJInRhYmxlbmFtZSI9PiJIVkFfdmlkZW8iLA0KCQkJCQkibGV2ZWxuYW1lIj0+InZpZGVvIiwNCgkJCQkJImNoaWxkIj0+ZmFsc2UsDQoJCQkJCSJwYXJlbnRkZWZhdWx0Ij0+ZmFsc2UsDQoJCQkJCSJvcmRlcmJ5cGFyZW50Ij0+dHJ1ZSwNCgkJCQkJImFkZGZpbGVzIj0+IiIsDQoJCQkJCSJzaGFyZWNoaWxkcmVuIj0+ZmFsc2UsDQoJCQkJCSJzaGFyZWRieXBhcmVudHMiPT5mYWxzZSwNCgkJCQkJImZpbGVzIj0+IiINCgkJCQkJKTsNCgkJCQkkaXRlbSA9ICR0aGlzLT5hZGRhZG1pbmxpbmtzKCRpdGVtLCRwYXJtcywkaWQsJHJldHVybmlkKTsNCgkJCX0NCgkJCSRpZGxpc3QgLj0gKCRpZGxpc3Q9PSIiPyIiOiIgT1IgIikuIiBwYXJlbnQ9JyIuJGl0ZW0tPmlkLiInIjsNCgkJCWFycmF5X3B1c2goJGl0ZW1saXN0LCRpdGVtKTsNCgkJfQ0KDQoJCXJldHVybiAkaXRlbWxpc3Q7DQoJfQ0KCQ0KCWZ1bmN0aW9uIGdldEZpbGVDb250ZW50KCRmaWxlbmFtZSl7DQoJCS8vIHJldHVybnMgdGhlIGNvbnRlbnQgb2YgYSBmaWxlDQoJCSRmaWxlcGF0aCA9IGRpcm5hbWUoX19GSUxFX18pLkRJUkVDVE9SWV9TRVBBUkFUT1IuJGZpbGVuYW1lOw0KCQlpZihmaWxlX2V4aXN0cygkZmlsZXBhdGgpKXsNCgkJCSRmaGFuZGxlID0gZm9wZW4oJGZpbGVwYXRoLCAicisiKTsNCgkJCSRjb250ZW50ID0gZnJlYWQoJGZoYW5kbGUsIGZpbGVzaXplKCRmaWxlcGF0aCkpOw0KCQkJcmV0dXJuICRjb250ZW50Ow0KCQl9ZWxzZXsNCgkJCXJldHVybiBmYWxzZTsNCgkJfQ0KCX0NCg0KfQ0KDQo/Pg0K]]></data>
	</file>
	<file>
	  <filename>/images/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/images/icon.gif</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[R0lGODlhMgAxAPcAAAQCBIyCcQwqhITC5DdWnDyCxESi3GBEDBRWrCJwxCgiDIbk/DmS1EGj5ApCnBxhzFyy5BxitMPExB8TBBxuzA1NrCQkJDCU5EmCxERDRDl6xDRKnHLS/FSV1HS65OTj5C9YtAoSHBtkvIRuRD9utOHz/GOp5KyqlFG19DQyLGTD9NXV1FCE1FA0BBxOnAQJFBQ2hBRavEKb3FGr5CyF1Ly8vBgkNFRTVDdivHPL9CkjFAtFpGy+5DxwxPL7/CRerEAcBCRLrEyLzBwcHAc6lxELBIyOjGxWJDuU3CZ8zC8tJFaa1DOM1HR0dCQaDDhPlLTW5GSi1GBGHCp2xGy05DxkrKbJ5NDo9Ih4ZER2vKqprAQ+nCBYrE2l5AxKvGea5EtMTHjc/DBevPT09Eyu9EgkBBRSrEuFzEd6vHS+6h1qvUBxvFS69G7E9EqO1Emq7CxqvG7M/BFKpDROpJyWfDByvBxGlFKz7BUUFDia5D5erAoUJGRlZDw6NNzd3ISu3F1dXHxmNBxm1ISDhHiw3LS1tJeWlEF1zHx7fIi83Bxq3Ozs7Ex8zAQwlFxKPKSkpOzu9MzMzFg8BBEbLFxCFGtsbDwqBDxqzJTK5FxCLLza7Nzu/JTC3DaG1Bw5l2a99FSK1JSKbDxepGRKBCB20AgOHBwqPCwqGzxqs0uS0miu5CxSrBs+mIi+6LSqpFyk3H/U/BxEpEiW3BQSDBwkLCxIpGKV3HS67NTi7BhPpDRkxGK77AwNDDCO3Dye7BQyhIzq/D92xKzO5Ix+ZKyurGRKFIS23C+CzBpetAxStDhqxDtapBNYtD+l7BRmxGHF/NTW3BhZxCSG3CwmHJSSlCR61CwsLFWc3CQcFDdSnLDS7Gek3FxCJDxmtBxatExOVO31/ER8xFy+/BZEnJyanFQ6DJjE5FyO3BQGBCxktFSGxIS25BQWHExytDQ0NAQKHBQ4jEyd3FRWXPz+/FSLzBwOBDyO1Gy27ITa/FSu7HzO/Fy07ESe5Dw7PHx+hEwrBCH5BAAAAAAALAAAAAAyADEABwj/AOcJHEiwoMGDCAv6gORHghZDfsYsSkixokEfkSRONGLBnTV383xMtEhyoMZ5g270GwKGYL9+GSxQm7doZEmFY+bVeIQowyCC1mBakDAP0rwVvKxZAABpkZ8PN+eBW0FOwqKcY4a8xDPRKDGt1njRhAqGFzYA1ub5WbEi4aKmi3xI+BhWoI95RoJaS1tznjU8QwAAUutnEYDDABA5fEQUnEQfhSqBUUqQj7sM7gb3HWJhqREfhVcgBlDjg4QaiPAAqroI3MAVdwWCgWnt55icePaSHvNhTA0As3gBWPRhxQd3hy2AiVQjks2DdI6cEMjOHfLeUMkBGDILwLziY/Ag/+YVSYsWCW0p+rjLfl4oSS2OACo1BDDheaP7+SmkpcaNR1Al1N6AIRU4zzCSjHLAKJYchsgYkZQHgAWAUBPJB3FFVdFdw7RACSUHjBAIAIXU0JxrGqY4DxZllNPCP2VIQZSKNAqEBRD//COFKwOtd5CPP8amkJAFgbNeAJkA4QgY3/TTkkRjpPaRBR+ItAhS1qRQG01XZTDEXn3MIxEk5OSmFFE1LRIAN+BAQ0sGMUViYFCY8WHXPIhYk0E/aRXoxzRwWqOFgS/t2VJIUw3kTkcWpMXbPGXuxUtbrYXX0RB29vXNEIsOIeZENfDiER6FcGlcRL/hcRY1PnwAFR68DP/BiwXf+TFPE9uJ5wdDTgGgKgCVfAeVNdt1J6xzt83Tz2i35VTIaOTQJNBoniYLyGi95QTNaMH6YQggfPDRBCBfWsDLDeFWgghn1nDWRLg9WaCEuZWE20QlXyqBRwb18jFIZ+0O0cTAX+7lDkx7emRwoS/ttfCe/bijBC0fMaxwlgzz2U8TFkT80ksH9/HxwR+L/PHJJ5v8ksokp7xxRxG708fBNM8cs83W5awzzTFb1/PNMvvMsTsp7Ey00TkXjfTRSlvX9NLuVDLNXkqcUvUpp0wzjQ5cc43N1187IbYT2JBNNthda60D1lhXrUSW7jQxhCmeeMIKK7HsUIsZIIj/gYMyPRzCCAssgHKOLbZ88QXitpxzDuGMHNKDMmJ4A0IQcsQyDit1/3JK1HjYsMETGxBAwDKi6FFFN6igskY7a2SRRTDh1B6MBuHgHozsa6xBwhqtV1GFHqIskw0BT2TjuTWVOGFDLU8kf7rqVaBCAgmzZxEO7VOEg8EZ4H/vfe3hZOF78MQvQ0A2ycOgA/Oz0LJKNsejLrz1saPhPQbBzPNHAseghxAGeAYhhK92aOgdCVAhvGWo73juU0IlZjGJVZjOflW43uxq9z0hTEEgJbDFMdyQig50IBUDNKA6ame+BTZQfcuAgRMkWIQKnk4U1XNdFvSHgQGSMAkE0UQv/1Ihi2sswYRuICAGwpHA671wGfBwggX4UEMQ2K8bGuSgD1OxhE5IxUgCWYc9lnCNMh4xiWdYoQay4MQqLKMK8JjAFAGwBzGkrnq9814B3dCBMl7DHogCBxg3YYIivqKMJkShENSBgQQyUHh2mACm6IiD+8GudgUsIRlf8QpZSKUEghSkQLTBj3hw8hUyEEIS1CCCZFRgBw4gQiMaEcdJhkAXwvud/tQhBD6W8RXbMEE8fBBKUIYyJK1AQi+YkIQkkCIBrEQGAuQghy0QwRP1wMa19qCMDMYuHHvswBI4aQJVQOAVxASHMdV5zCvEY5lMOEYSoBkBZphBDjsggh2KoP8aAJTiEL/TXgf7eI1gqoIK9zABMUvA0IaWYBMlEIgxkMCAeB5jCtBEhj13sAM7+OpapfCCA7hQhwIIQZPkPCgVbrEPHzj0oQ2dByYYIAMZIAEJTKBBEqbASmZMcwfjQMcsrhWCaOxADghghhqmwIRUxKOcK01DGu4whoZClKE+wIUJ3jCDN3QhHjJgQk7nqYZ6muGoAOCFPADAjmgglRkiSMAUkkADJvRCBg1owAzu8AaGbuKqPhhDK2aAgn3sYwZdaIBNx8pTETCjAhVwQVqv9YJoVAABIlBDAujKBCTIoAtdmIFh7/BSH0ABAipoQxt2cY875AO0MqioPBMgAmn/ViAXab0BAF7wADMwIwJy5SwS4hHaO+ziE6TF6iJ4oIIc5EC1n9iFYWfQgHjgVKf0REAycFsE3fI2qXGdwjE6i9cu5GMf0d1FCVyKiTZwABawcO5zo3tY0OKUmaToKTNwCwDv9lapm62rZ4u7i120QQU+0AQP3gtf+DpXtdLNxwwMsFgaYNSx+z2MdwWBgAholq4MQIIBCPyJNjxjADngAD5gseIGxwG6u7gDYhc729pmuL8AeIcgYiACCiRBGr24QAPeQAZxiCMOceBAGMKwgAUA48lPbvKSkfyMT7ABBc1owAV6QYNqsDIaXNBwjkXAhXTAoQ4a0MBJOxCFKBCCOxDGSEQiOGEOK9hZGHbmhJ45kQhjEMIEUVjCEgaogSnUAQ4/QIZHcTyaRjv60ZCOdKTBIOlKW/rSiAkIADs=]]></data>
	</file>
	<file>
	  <filename>/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[]]></data>
	</file>
	<file>
	  <filename>/instantsearch.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ZnVuY3Rpb24gY3RsbW1fc2VhcmNoKHdoYXQsaW53aGF0KXsNCgl2YXIgZGVzdGluYXRpb24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpbndoYXQpOw0KCWlmKCFkZXN0aW5hdGlvbikgcmV0dXJuOw0KCXZhciBldmVuID0gZmFsc2U7DQoJdmFyIHRoZXJvd3MgPSBkZXN0aW5hdGlvbi5nZXRFbGVtZW50c0J5VGFnTmFtZSgidGJvZHkiKVswXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgidHIiKTsNCglmb3IoaT0wO2k8dGhlcm93cy5sZW5ndGg7aSsrKXsNCgkJdmFyIHRoZWNsYXNzID0gKGV2ZW4/InJvdzIiOiJyb3cxIik7DQoJCXZhciBuZXdzdHlsZSA9ICJub25lIjsNCgkJdmFyIHRoZWNvbHVtbnMgPSB0aGVyb3dzW2ldLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0ZCIpOw0KCQlmb3Ioaj0wO2o8dGhlY29sdW1ucy5sZW5ndGg7aisrKXsNCgkJCWlmKHRoZWNvbHVtbnNbal0uY2xhc3NOYW1lICE9ICJjdGxtbV9ub3NlYXJjaCIpew0KCQkJCXZhciB0bXBhID0gdGhlY29sdW1uc1tqXS5nZXRFbGVtZW50c0J5VGFnTmFtZSgiYSIpWzBdOw0KCQkJCWlmKHRtcGEgJiYgdG1wYS5pbm5lckhUTUwudG9Mb3dlckNhc2UoKS5pbmRleE9mKHdoYXQudG9Mb3dlckNhc2UoKSkgPj0gMCkJbmV3c3R5bGUgPSAidGFibGUtcm93IjsNCgkJCQlpZighdG1wYSAmJiB0aGVjb2x1bW5zW2pdLmlubmVySFRNTC50b0xvd2VyQ2FzZSgpLmluZGV4T2Yod2hhdC50b0xvd2VyQ2FzZSgpKSA+PSAwKQkJbmV3c3R5bGUgPSAidGFibGUtcm93IjsNCgkJCX0NCgkJfQ0KCQl0aGVyb3dzW2ldLnN0eWxlLmRpc3BsYXkgPSBuZXdzdHlsZTsNCgkJaWYobmV3c3R5bGUgIT0gIm5vbmUiKXsNCgkJCXRoZXJvd3NbaV0uY2xhc3NOYW1lID0gdGhlY2xhc3M7DQoJCQl0aGVyb3dzW2ldLm9ubW91c2VvdmVyID0gZnVuY3Rpb24oKXsgdGhpcy5jbGFzc05hbWUgKz0gImhvdmVyIjsgfTsNCgkJCXRoZXJvd3NbaV0ub25tb3VzZW91dCA9IGZ1bmN0aW9uKCl7IHRoaXMuY2xhc3NOYW1lID0gdGhpcy5jbGFzc05hbWUuc3Vic3RyKDAsNCk7IH07DQoJCQlldmVuID0gIWV2ZW47DQoJCX0NCgl9DQp9DQo=]]></data>
	</file>
	<file>
	  <filename>/instantsort.js</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ZnVuY3Rpb24gY3RsbW1fc29ydFJvd3ModGFibGVpZCxjb2xpbmRleCxkZXNjLG51bWVyaWMpew0KCS8vIHRhYmxlaWQgaXMgdGhlIGlkIG9mIHRoZSB0YWJsZSB0byBzb3J0DQoJLy8gY29saW5kZXggaXMgYWdhaW5zdCB3aGljaCBjb2x1bW4gdG8gc29ydCAoMC0+IGZpcnN0LCAxLT4gc2Vjb25kLi4uKQ0KCS8vIGRlc2MgbWFrZXMgdGhlIHNvcnQgZGVzY2VuZGluZw0KCS8vIG51bWVyaWMgbWFrZXMgdGhlIHNvcnQgbnVtZXJpYw0KCWlmKCFkb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0YWJsZWlkKSkJcmV0dXJuIGZhbHNlOw0KCXZhciB0aGVyb3dzID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGFibGVpZCkuZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRib2R5IilbMF0uZ2V0RWxlbWVudHNCeVRhZ05hbWUoInRyIik7DQoJaWYoIXRoZXJvd3NbMF0gfHwgIXRoZXJvd3NbMF0uY2VsbHNbY29saW5kZXhdKQlyZXR1cm4gZmFsc2U7DQoJDQoJdmFyIHNvcnRlZCA9IG5ldyBBcnJheSgpOw0KCWZvcihpPTA7IGk8dGhlcm93cy5sZW5ndGg7IGkrKyl7DQoJCXZhciB0aGVhcyA9IHRoZXJvd3NbaV0uY2VsbHNbY29saW5kZXhdLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJhIik7DQoJCWlmKHRoZWFzWzBdKXsNCgkJCXZhciBzb3J0ZGF0YSA9IHRoZWFzWzBdLmlubmVySFRNTDsNCgkJfWVsc2V7DQoJCQl2YXIgc29ydGRhdGEgPSB0aGVyb3dzW2ldLmNlbGxzW2NvbGluZGV4XS5pbm5lckhUTUw7DQoJCX0NCgkJc29ydGVkLnB1c2goW3NvcnRkYXRhLCB0aGVyb3dzW2ldXSk7DQoJCXRoZXJvd3NbaV0ucGFyZW50Tm9kZS5yZW1vdmVDaGlsZCh0aGVyb3dzW2ldKTsNCgkJaS0tOw0KCX0NCglpZihudW1lcmljKXsNCgkJaWYoZGVzYyl7DQoJCQlzb3J0ZWQuc29ydChmdW5jdGlvbihhLGIpeyByZXR1cm4gYlswXS1hWzBdOyB9KTsNCgkJfWVsc2V7DQoJCQlzb3J0ZWQuc29ydChmdW5jdGlvbihhLGIpeyByZXR1cm4gYVswXS1iWzBdOyB9KTsNCgkJfQ0KCX1lbHNlew0KCQlpZihkZXNjKXsNCgkJCXNvcnRlZC5zb3J0KGZ1bmN0aW9uKGEsYil7IHJldHVybiBhWzBdLnRvTG93ZXJDYXNlKCkgPCBiWzBdLnRvTG93ZXJDYXNlKCk7IH0pOw0KCQl9ZWxzZXsNCgkJCXNvcnRlZC5zb3J0KGZ1bmN0aW9uKGEsYil7IHJldHVybiBhWzBdLnRvTG93ZXJDYXNlKCkgPiBiWzBdLnRvTG93ZXJDYXNlKCk7IH0pOw0KCQl9DQoJfQ0KDQoJdmFyIHRhYmxlYm9keSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRhYmxlaWQpLmdldEVsZW1lbnRzQnlUYWdOYW1lKCJ0Ym9keSIpWzBdOw0KCXZhciBldmVuID0gdHJ1ZTsNCglmb3IoaT0wOyBpPHNvcnRlZC5sZW5ndGg7IGkrKyl7DQoJCWV2ZW4gPSAhZXZlbjsNCgkJdmFyIHRoZWNsYXNzID0gKGV2ZW4/InJvdzIiOiJyb3cxIik7DQoJCXNvcnRlZFtpXVsxXS5jbGFzc05hbWUgPSB0aGVjbGFzczsNCgkJc29ydGVkW2ldWzFdLm9ubW91c2VvdmVyID0gZnVuY3Rpb24oKXsgdGhpcy5jbGFzc05hbWUgKz0gImhvdmVyIjsgfTsNCgkJc29ydGVkW2ldWzFdLm9ubW91c2VvdXQgPSBmdW5jdGlvbigpeyB0aGlzLmNsYXNzTmFtZSA9IHRoaXMuY2xhc3NOYW1lLnN1YnN0cigwLDQpOyB9Ow0KCQl0YWJsZWJvZHkuYXBwZW5kQ2hpbGQoc29ydGVkW2ldWzFdKTsNCgl9DQp9DQo=]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/changelog_en_US.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPkNoYW5nZSBsb2c8L2gyPg0KPGgzPjEuMDwvaDM+DQo8cD5Jbml0aWFsIHJlbGVhc2U8L3A+DQo8aDM+MS4xPC9oMz4NCjx1bD4NCjxsaT5BZGRlZCB0aGUgYWJpbGl0eSB0byBtYW5hZ2UgdmlkZW8gaG9zdGVkIG9uIHlvdXIgb3duIHNpdGUgKGF2aSwgbWt2LCBkaXZ4LCBtcGcpPC9saT4NCjxsaT5FbmhhbmNlZCBkb2N1bWVudGF0aW9uPC9saT4NCjwvdWw+DQo8aDM+MS4xLjE8L2gzPg0KPHA+Rm9yZ2V0IGl0IDopPC9wPg0KPGgzPjEuMjwvaDM+DQo8dWw+DQo8bGk+TmV3IHNpdGVzIGFkZGVkOiBtc24gb3IgYmluZyB2aWRlb3MsIG1ldGFjYWZlLCBteXNwYWNlLCB2aW1lby48L2xpPg0KPGxpPmJ1ZyBmaXhlZCBvbiBzaXplIG1hbmFnZW1lbnQsIGxhbmdhdWdlIG1hbmFnZW1lbnQgYW5kIG1vZHVsZSB1cGRhdGVzIChhdCBsZWFzdCwgSSBob3BlIHNvKTwvbGk+DQo8bGk+VXNlbGVzcyBjb2RlIGFuZCBwYXJhbWV0ZXJzIGdlbmVyYXRlZCBieSBDVExNb2R1bGVNYW5hZ2VyIHJlbW92ZWQ8L2xpPg0KPGxpPk5ldyB2aWRlb3Mgc2V0dGluZ3MgYWRkZWQgaW4gdGhlIFNldHRpbmdzIHRhYjwvbGk+DQo8L3VsPg0K]]></data>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCgkkbGFuZ1siZnJpZW5kbHluYW1lIl0gPSAiSG9zdGVkIFZpZGVvIEFsYnVtcyI7DQoJJGxhbmdbIm1vZGRlc2NyaXB0aW9uIl0gPSAiVGhpcyBtb2R1bGUgY2FuIGJlIHVzZWQgdG8gZGlzcGxheSBhbGJ1bXMgb2YgdmlkZW9zIGhvc3RlZCBvbiBZb3V0dWJlLCBHb29nbGUgVmlkZW9zIG9yIERhaWx5bW90aW9uIjsNCgkkbGFuZ1siZGVzY3JpcHRpb24iXSA9ICJUaGlzIG1vZHVsZSBjYW4gYmUgdXNlZCB0byBkaXNwbGF5IGFsYnVtcyBvZiB2aWRlb3MgaG9zdGVkIG9uIFlvdXR1YmUsIEdvb2dsZSBWaWRlb3Mgb3IgRGFpbHltb3Rpb24iOw0KCSRsYW5nWyJhZG1pbmRlc2NyaXB0aW9uIl0gPSAiTWFuYWdlbWVudCBvZiBsb2NhbCBvciBob3N0ZWQgdmlkZW9zIGFsYnVtcyI7DQoJJGxhbmdbJ2NoYW5nZWxvZyddID0gPDw8RU9GDQoJPHVsPg0KCTxsaT4xLjEgLS0gQWRkZWQgaGFuZGxpbmcgb2YgbG9jYWwgdmlkZW9zIGFuZCBlbmhhbmNlZCBkb2N1bWVudGF0aW9uLjwvbGk+DQoJPGxpPjEuMCAtLSBJbml0aWFsIFJlbGVhc2U8L2xpPg0KCTwvdWw+IA0KRU9GOw0KDQoJJGxhbmdbInBhZ2VtZW51ZGVsaW1pdGVyIl0gPSAiJm5ic3A7JiMxMjQ7Jm5ic3A7IjsNCgkkbGFuZ1sicGFnZW1lbnVvdmVyZmxvdyJdID0gIiZuYnNwOy4uLiZuYnNwOyI7DQoJDQovLyBzdHJpbmdzIGZvciBjYXRlZ29yeQ0KCSRsYW5nWyJjYXRlZ29yeSJdID0gIkNhdGVnb3J5IjsNCgkkbGFuZ1siY2F0ZWdvcnlfcGx1cmFsIl0gPSAiQ2F0ZWdvcmllcyI7DQoJJGxhbmdbImFkZF9jYXRlZ29yeSJdID0gIkFkZCBjYXRlZ29yeSI7DQoJJGxhbmdbImVkaXRfY2F0ZWdvcnkiXSA9ICJFZGl0IGNhdGVnb3J5IjsNCgkkbGFuZ1siZmlsdGVyYnlfY2F0ZWdvcnkiXSA9ICJGaWx0ZXIgYnkgY2F0ZWdvcnkiOw0KCSRsYW5nWyJjYXRlZ29yeV9kZXNjcmlwdGlvbiJdID0gIkRlc2NyaXB0aW9uIjsNCgkkbGFuZ1sicHJvbXB0X2RlbGV0ZWNhdGVnb3J5Il0gPSAiWW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhpcyBjYXRlZ29yeSAoJXMpPyBBbGwgY2hpbGRyZW4gd2lsbCBiZSBsb3N0LiBEbyB5b3Ugd2lzaCB0byBjb250aW51ZT8iOw0KCQ0KLy8gc3RyaW5ncyBmb3IgYWxidW0NCgkkbGFuZ1siYWxidW0iXSA9ICJWaWRlbyBBbGJ1bSI7DQoJJGxhbmdbImFsYnVtX3BsdXJhbCJdID0gIlZpZGVvIEFsYnVtcyI7DQoJJGxhbmdbImFkZF9hbGJ1bSJdID0gIkFkZCBWaWRlbyBBbGJ1bSI7DQoJJGxhbmdbImVkaXRfYWxidW0iXSA9ICJFZGl0IFZpZGVvIEFsYnVtIjsNCgkkbGFuZ1siZmlsdGVyYnlfYWxidW0iXSA9ICJGaWx0ZXIgYnkgVmlkZW8gQWxidW0iOw0KCSRsYW5nWyJhbGJ1bV9kZXNjcmlwdGlvbiJdID0gIkRlc2NyaXB0aW9uIjsNCgkkbGFuZ1siYWxidW1fbGFuZyJdID0gIkFsYnVtIGxhbmd1YWdlIjsNCgkkbGFuZ1siYWxidW1fZGVmYXVsdF93aWR0aCJdID0gIkRlZmF1bHQgd2lkdGggb2YgdmlkZW9zIGluIHRoaXMgYWxidW0iOw0KCSRsYW5nWyJhbGJ1bV9kZWZhdWx0X2hlaWdodCJdID0gIkRlZmF1bHQgaGVpZ2h0IG9mIHZpZGVvcyBpbiB0aGlzIGFsYnVtIjsNCgkkbGFuZ1sicHJvbXB0X2RlbGV0ZWFsYnVtIl0gPSAiWW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhpcyBhbGJ1bSAoJXMpPyBBbGwgY2hpbGRyZW4gd2lsbCBiZSBsb3N0LiBEbyB5b3Ugd2lzaCB0byBjb250aW51ZT8iOw0KCQ0KLy8gc3RyaW5ncyBmb3IgdmlkZW8NCgkkbGFuZ1sidmlkZW8iXSA9ICJWaWRlbyI7DQoJJGxhbmdbInZpZGVvX3BsdXJhbCJdID0gIlZpZGVvcyI7DQoJJGxhbmdbImFkZF92aWRlbyJdID0gIkFkZCBWaWRlbyI7DQoJJGxhbmdbImVkaXRfdmlkZW8iXSA9ICJFZGl0IFZpZGVvIjsNCgkkbGFuZ1siZmlsdGVyYnlfdmlkZW8iXSA9ICJGaWx0ZXIgYnkgdmlkZW8iOw0KCSRsYW5nWyJ2aWRlb19kZXNjcmlwdGlvbiJdID0gIkRlc2NyaXB0aW9uIjsNCgkkbGFuZ1sidmlkZW9fc2l0ZSJdID0gIlZpZGVvIFNpdGUiOw0KCSRsYW5nWyJ2aWRlb192aWRlb2lkIl0gPSAiSWQgb2YgdGhlIHZpZGVvIjsNCgkkbGFuZ1sidmlkZW9fd2lkdGgiXSA9ICJXaWR0aCBvZiB0aGUgdmlkZW8iOw0KCSRsYW5nWyJ2aWRlb19oZWlnaHQiXSA9ICJIZWlnaHQgb2YgdGhlIHZpZGVvIjsNCgkkbGFuZ1sicHJvbXB0X2RlbGV0ZXZpZGVvIl0gPSAiWW91IGFyZSBhYm91dCB0byBkZWxldGUgdGhpcyB2aWRlbyAoJXMpPyBEbyB5b3Ugd2lzaCB0byBjb250aW51ZT8iOw0KCSRsYW5nWyJ0ZW1wbGF0ZWhlbHBmaWxlIl0gPSAndGhlbHBfZW5fVVMuaHRtbCc7DQoNCi8vIHN0cmluZ3MgZm9yIGdlbmVyYWwgZmllbGRzDQokbGFuZ1siaWQiXSA9ICJpZCI7DQokbGFuZ1sibmFtZSJdID0gIk5hbWUiOw0KJGxhbmdbImFsaWFzIl0gPSAiQWxpYXMiOw0KJGxhbmdbImlzZGVmYXVsdCJdID0gIklzIGRlZmF1bHQ/IjsNCiRsYW5nWyJhY3RpdmUiXSA9ICJBY3RpdmUiOw0KJGxhbmdbInBhcmVudCJdID0gIlBhcmVudCI7DQokbGFuZ1sic3VibWl0Il0gPSAiU3VibWl0IjsNCiRsYW5nWyJjYW5jZWwiXSA9ICJDYW5jZWwiOw0KJGxhbmdbIm5iY2hpbGRyZW4iXSA9ICJOYiBvZiBpdGVtcyI7DQokbGFuZ1siZGF0ZV9tb2RpZmllZCJdID0gIkxhc3QgbW9kaWZpY2F0aW9uIjsNCiRsYW5nWyJkYXRlX2NyZWF0ZWQiXSA9ICJDcmVhdGlvbiI7DQoJDQovLyBHRU5FUkFMDQokbGFuZ1sicGFnZXMiXSA9ICJQYWdlczogIjsNCiRsYW5nWyJuZXh0cGFnZSJdID0gIk5leHQgcGFnZSI7DQokbGFuZ1sicHJldmlvdXNwYWdlIl0gPSAiUHJldmlvdXMgcGFnZSI7DQokbGFuZ1siYWN0aXZhdGUiXSA9ICJBY3RpdmF0ZSI7DQokbGFuZ1sidW5hY3RpdmF0ZSJdID0gIlR1cm4gb2ZmIjsNCiRsYW5nWyJzZWFyY2h0aGlzdGFibGUiXSA9ICJTZWFyY2ggdGhpcyB0YWJsZSBmb3I6IjsNCiRsYW5nWyJyZXNldG9yZGVyIl0gPSAiUmVzZXQgb3JkZXIiOw0KJGxhbmdbIlllcyJdID0gIlllcyI7DQokbGFuZ1siTm8iXSA9ICJObyI7DQokbGFuZ1siQWN0aW9ucyJdID0gIkFjdGlvbnMiOw0KJGxhbmdbInJlb3JkZXIiXSA9ICJSZW9yZGVyIjsNCiRsYW5nWyJsaXN0dGVtcGxhdGUiXSA9ICJMaXN0IHRlbXBsYXRlIGZvciI7DQokbGFuZ1sidGVtcGxhdGVzIl0gPSAiVGVtcGxhdGVzIjsNCiRsYW5nWyJ0ZW1wbGF0ZSJdID0gIlRlbXBsYXRlIjsNCiRsYW5nWyJkZWZhdWx0dGVtcGxhdGVzIl0gPSAiRGVmYXVsdCB0ZW1wbGF0ZXMiOw0KJGxhbmdbInRlbXBsYXRldmFycyJdID0gIlRlbXBsYXRlIHZhcmlhYmxlcyI7DQokbGFuZ1siZWRpdHRlbXBsYXRlIl0gPSAiRWRpdCB0ZW1wbGF0ZSI7DQokbGFuZ1siZGVmdGVtcGxhdGVmb3IiXSA9ICJEZWZhdWx0IGxpc3QgdGVtcGxhdGUgZm9yIGxldmVsICI7DQokbGFuZ1siZGVmZGV0YWlsdGVtcGxhdGUiXSA9ICJEZWZhdWx0IGRldGFpbCB0ZW1wbGF0ZSI7DQokbGFuZ1siZGVmc2VhcmNocmVzdWx0c3RlbXBsYXRlIl0gPSAiRGVmYXVsdCB0ZW1wbGF0ZSBmb3Igc2VhcmNoIHJlc3VsdHMiOw0KJGxhbmdbImRlZmVtcHR5dGVtcGxhdGUiXSA9ICJUZW1wbGF0ZSBmb3IgZW1wdHkgcmVzdWx0IHNldHMiOw0KJGxhbmdbInVzZWxldmVsbGlzdHRwbCJdID0gIlVzZSB0aGUgbGlzdCB0ZW1wbGF0ZSBvZiB0aGUgYXBwcm9wcmlhdGUgbGV2ZWwiOw0KJGxhbmdbImFkZHRlbXBsYXRlIl0gPSAiQWRkIHRlbXBsYXRlIjsNCiRsYW5nWyJmaWx0ZXJieSJdID0gIkZpbHRlciBieSI7DQokbGFuZ1sic2hvd2luZ29ubHkiXSA9ICJGaWx0ZXI6ICI7DQokbGFuZ1sic2hvd2FsbCJdID0gIlNob3cgYWxsIChubyBmaWx0ZXIpIjsNCiRsYW5nWyJmaWVsZG9wdGlvbnMiXSA9ICJTaXRlcyI7DQokbGFuZ1siYWRkb3B0aW9uIl0gPSAiQWRkIGEgc2l0ZSI7DQokbGFuZ1sibW9kaWZ5YW5vcHRpb24iXSA9ICJNb2RpZnkgYSBzaXRlIjsNCiRsYW5nWyJtZXNzYWdlX2RlbGV0ZWQiXSA9ICJFbGVtZW50IGRlbGV0ZWQiOw0KJGxhbmdbIm1lc3NhZ2VfbW9kaWZpZWQiXSA9ICJNb2RpZmljYXRpb24gc2F2ZWQiOw0KJGxhbmdbIndhcm5pbmdfdGFiIl0gPSAiTm90aWNlOiBTYXZlIGNoYW5nZXMgaW4gb3RoZXIgdGFicyBiZWZvcmUgd29ya2luZyBpbiB0aGlzIG9uZS4uLiI7DQokbGFuZ1siZXJyb3JfbWlzc2dpbnZhbHVlIl0gPSAiT25lIG9yIG1vcmUgbmVjZXNzYXJ5IHZhbHVlcyBoYXZlIG5vdCBiZWVuIGVudGVyZWQuIjsNCiRsYW5nWyJlcnJvcl9hbHJlYWR5ZXhpc3RzIl0gPSAiVGhlcmUgaXMgYWxyZWFkeSBhbiBlbGVtZW50IGJlYXJpbmcgdGhhdCBuYW1lLiI7DQokbGFuZ1siZXJyb3JfZGF0ZSJdID0gIlRoZSBkYXRlIHlvdSBoYXZlIGVudGVyZWQgaXMgaW52YWxpZC4iOw0KJGxhbmdbImVycm9yX25vcGFyZW50Il0gPSAiTm8gcGFyZW50IGlzIGRlZmluZWQhIjsNCiRsYW5nWyJlcnJvcl9ub3Rmb3VuZCJdID0gIlRoZSBpdGVtIGNvdWxkIG5vdCBiZSBmb3VuZC4iOw0KJGxhbmdbImVycm9yX25vaXRlbWZvdW5kIl0gPSAiTm8gaXRlbSBmb3VuZC4iOw0KJGxhbmdbImVycm9yX2RlbmllZCJdID0gIlBlcm1pc3Npb24gZGVuaWVkIjsNCiRsYW5nWyJlcnJvcl93cm9uZ3F1ZXJ5Il0gPSAiSW52YWxpZCBxdWVyeS4iOw0KJGxhbmdbImVycm9yX2ZlYWRkZGVuaWVkIl0gPSAiWW91IGRvIG5vdCBoYXZlIHN1ZmZpY2llbnQgYWNjZXNzIHRvIGNvbnRpbnVlLiI7DQokbGFuZ1siZXJyb3Jfd3JvbmdmaWxldHlwZSJdID0gIlRoaXMgdHlwZSBvZiBmaWxlIGlzIG5vdCBhbGxvd2VkIGhlcmUuIjsNCiRsYW5nWyJlcnJvcl9jYXB0Y2hhIl0gPSAiVGhlIHRleHQgZ2l2ZW4gZG9lcyBub3QgbWF0Y2ggdGhlIGNhcHRjaGEgaW1hZ2UuIjsNCiRsYW5nWyJlcnJvcl9maWxldG9vYmlnIl0gPSAiVGhlIGZpbGUgaXMgdG8gYmlnIHRvIGJlIHVwbG9hZGVkIGhlcmUuIjsNCiRsYW5nWyJnaXZlbmVycm9yIl0gPSAiRXJyb3I6ICI7DQokbGFuZ1siZmluYWx0ZW1wbGF0ZSJdID0gIkRpc3BsYXkgdGVtcGxhdGUgdmlkZW9zIjsNCiRsYW5nWyJlbWJlZHRlbXBsYXRlIl0gPSAiVGVtcGxhdGUgZm9yIHtIb3N0ZWRWaWRlb0FsYnVtc19lbWJlZHZpZGVvfSI7DQokbGFuZ1sicHJvbXB0X2RlbGV0ZW9wdGlvbiJdID0gIkRvIHlvdSByZWFsbHkgd2FudCB0byBkZWxldGUgdGhpcyBzaXRlPyI7DQokbGFuZ1sicHJvbXB0X2dlbmVyYWxkZWxldGUiXSA9ICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gZGVsZXRlIHRoaXM/IjsNCiRsYW5nWyJwcm9tcHRfY2FwdGNoYSJdID0gIkVudGVyIHRoZSB0ZXh0IGZyb20gdGhlIGltYWdlLiI7DQokbGFuZ1sicXVlcmllcyJdID0gIlF1ZXJpZXMiOw0KJGxhbmdbInF1ZXJ5Il0gPSAiUXVlcnkiOw0KJGxhbmdbInJlc3VsdHMiXSA9ICJSZXN1bHRzIjsNCiRsYW5nWyJjcmVhdGVxdWVyeSJdID0gIkNyZWF0ZSBhIG5ldyBxdWVyeSI7DQokbGFuZ1sicHJvbXB0X3F1ZXJ5Il0gPSAiQ3JlYXRlIGEgcXVlcnkgZm9yIHdoaWNoIGxldmVsPyI7DQokbGFuZ1sib3JkZXJieWZpZWxkIl0gPSAiT3JkZXIgYnkiOw0KJGxhbmdbImRhdGVfbW9kaWZpZWQiXSA9ICJEYXRlIG1vZGlmaWVkIjsNCiRsYW5nWyJmcm9udGVuZF9zdWJtaXQiXSA9ICJTdWJtaXQiOw0KDQoNCi8vIEJSRUFEQ1JVTUJTIDoNCiRsYW5nWyJ5b3VhcmVoZXJlIl0gPSAiWW91IGFyZSBoZXJlOiAiOw0KJGxhbmdbImJyZWFkY3J1bWJzX2RlbGltaXRlciJdID0gIiAmZ3Q7ICI7DQoNCi8vIFNFQVJDSCA6DQokbGFuZ1sic2VhcmNodGl0bGUiXSA9ICJTZWFyY2giOw0KJGxhbmdbInNlYXJjaGFnYWluIl0gPSAiRG8gYW5vdGhlciBzZWFyY2giOw0KJGxhbmdbInNlYXJjaGJ0biJdID0gIlNlYXJjaCEiOw0KJGxhbmdbImNvbnRhaW5zIl0gPSAiQ29udGFpbnMiOw0KJGxhbmdbImlzZXhhY3RseSJdID0gIklzIGV4YWN0bHkiOw0KJGxhbmdbImlzbm90Il0gPSAiSXMgbm90IjsNCiRsYW5nWyJpc2hpZ2hlcnRoYW4iXSA9ICJJcyBoaWdoZXIgdGhhbiI7DQokbGFuZ1siaXNsb3dlcnRoYW4iXSA9ICJJcyBsb3dlciB0aGFuIjsNCiRsYW5nWyJpc2FmdGVyIl0gPSAiSXMgYWZ0ZXIiOw0KJGxhbmdbImlzYmVmb3JlIl0gPSAiSXMgYmVmb3JlIjsNCiRsYW5nWyJpc2JldHdlZW4iXSA9ICJJcyBiZXR3ZWVuIjsNCiRsYW5nWyJ0aGlzYW5kdGhpcyJdID0gImFuZCI7DQokbGFuZ1sicXVlcnl1c2UiXSA9ICJOb3QgdXNlZCI7DQokbGFuZ1sicXVlcnluYW1lIl0gPSAiUXVlcnkgbmFtZSI7DQoNCi8vIElNUE9SVCAvIEVYUE9SVA0KJGxhbmdbImV4cG9ydF90aXRsZSJdID0gIkV4cG9ydCBpdGVtcyB0byB4bWwiOw0KJGxhbmdbImV4cG9ydHdoaWNobGV2ZWxzIl0gPSAiV2hpY2ggdGFibGVzIHNob3VsZCBiZSBleHBvcnRlZD8iOw0KJGxhbmdbImV4cG9ydF90ZW1wbGF0ZXMiXSA9ICJFeHBvcnQgdGVtcGxhdGVzIHRvbz8iOw0KJGxhbmdbImltcG9ydF90aXRsZSJdID0gIkltcG9ydCBmcm9tIHhtbCBmaWxlIjsNCiRsYW5nWyJpbXBvcnRfZmlsZXByb21wdCJdID0gIlNlbGVjdCB4bWwgZmlsZSBmcm9tIHdoaWNoIHRvIGltcG9ydC4iOw0KJGxhbmdbImltcG9ydF9kb25lIl0gPSAiSW1wb3J0IGRvbmUuICVzIHJlY29yZHMgd2hlcmUgaW1wb3J0ZWQuIjsNCiRsYW5nWyJpbXBvcnRfZW50cmllcyJdID0gIlRoZSBmaWxlIGNvbnRhaW5zICVzIHJlY29yZHMuIjsNCiRsYW5nWyJpbXBvcnRfZGVsZXRlIl0gPSAiRGVsZXRlIHRhYmxlIGNvbnRlbnQgYmVmb3JlIGltcG9ydGluZz8iOw0KJGxhbmdbImltcG9ydHdoaWNobGV2ZWxzIl0gPSAiV2hpY2ggdGFibGVzIHNob3VsZCBiZSBpbXBvcnRlZD8iOw0KJGxhbmdbImltcG9ydF90ZW1wbGF0ZXMiXSA9ICJJbXBvcnQgdGVtcGxhdGVzIHRvbz8iOw0KJGxhbmdbImNvdWxkbm90aW1wb3J0Il0gPSAiVGhlcmUgd2FzIGFuIGVycm9yIGltcG9ydGluZyByZWNvcmRzIGZvcjogIjsNCiRsYW5nWyJlcnJvcl9pbnZhbGlkeG1sIl0gPSAiVGhlIGZpbGUgeW91IHByb3ZpZGVkIGlzIG5vdCBhIHZhbGlkIHhtbCBleHBvcnQgZm9yIHRoaXMgbW9kdWxlLiI7DQoNCi8vIE1PRFVMRSBJTlRFUkFDVElPTg0KJGxhbmdbInBvc3RpbnN0YWxsIl0gPSAiTW9kdWxlIHN1Y2Nlc3NmdWxseSBhZGRlZC48YnIvPklmIHRoaXMgbW9kdWxlIGhhcyBhbnkgZmlsZSBmaWVsZHMsIHBsZWFzZSBtYWtlIHN1cmUgdGhhdCB0aGUgYXBwcm9wcmlhdGUgZGlyZWN0b3JpZXMgZXhpc3QgaW4gdGhlIHVwbG9hZHMgZm9sZGVyLiBEb24ndCBmb3JnZXQgdG8gZ2l2ZSB5b3VyIHVzZXJzIHRoZSBwZXJtaXNzaW9uIHRvIHVzZSB0aGlzIG1vZHVsZSEiOw0KJGxhbmdbInBvc3R1bmluc3RhbGwiXSA9ICJNb2R1bGUgc3VjY2Vzc2Z1bGx5IHJlbW92ZWQuIjsNCiRsYW5nWyJyZWFsbHlfdW5pbnN0YWxsIl0gPSAiQWxsIG9mIHRoaXMgbW9kdWxlJ3MgY29udGVudCB3aWxsIGJlIGxvc3QuIENvbnRpbnVlPyI7DQokbGFuZ1sidW5pbnN0YWxsZWQiXSA9ICJNb2R1bGUgVW5pbnN0YWxsZWQuIjsNCiRsYW5nWyJpbnN0YWxsZWQiXSA9ICJNb2R1bGUgdmVyc2lvbiAlcyBpbnN0YWxsZWQuIjsNCiRsYW5nWyJ1cGdyYWRlZCJdID0gIk1vZHVsZSB2ZXJzaW9uIHVwZ3JhZGVkIHRvICVzLiI7DQokbGFuZ1siaGVscGZpbGUiXSA9ICJoZWxwX2VuX1VTLmh0bWwiOw0KJGxhbmdbImNoYW5nZWxvZ2ZpbGUiXSA9ICJjaGFuZ2Vsb2dfZW5fVVMuaHRtbCI7DQoNCi8vRVZFTlRTDQokbGFuZ1siZXZlbnRkZXNjX21vZGlmaWVkIl0gPSAiQ2FsbGVkIGFmdGVyIGFuIGVsZW1lbnQgaGFzIGJlZW4gbW9kaWZpZWQuIFBhcmFtczogXCJ3aGF0XCI9PmxldmVsIG9mIHRoZSBlbGVtZW50LCBcIml0ZW1pZFwiPT5pZCBvZiB0aGUgZWxlbWVudCwgXCJhbGlhc1wiPT5hbGlhcyBvZiB0aGUgZWxlbWVudC4iOw0KJGxhbmdbImV2ZW50ZGVzY19kZWxldGVkIl0gPSAiQ2FsbGVkIGFmdGVyIGFuIGVsZW1lbnQgaGFzIGJlZW4gZGVsZXRlZC4gUGFyYW1zOiBcIndoYXRcIj0+bGV2ZWwgb2YgdGhlIGVsZW1lbnQuIjsNCiRsYW5nWyJldmVudGRlc2NfYWRkZWQiXSA9ICJDYWxsZWQgYWZ0ZXIgYW4gZWxlbWVudCBoYXMgYmVlbiBhZGRlZC4gUGFyYW1zOiBcIndoYXRcIj0+bGV2ZWwgb2YgdGhlIGVsZW1lbnQsIFwiaXRlbWlkXCI9PmlkIG9mIHRoZSBlbGVtZW50LCBcImFsaWFzXCI9PmFsaWFzIG9mIHRoZSBlbGVtZW50LiI7DQoNCi8vUFJFRkVSRU5DRVMNCiRsYW5nWyJwcmVmZXJlbmNlcyJdID0gIlNldHRpbmdzIjsNCiRsYW5nWyJ2aWRfcHJlZmVyZW5jZXMiXSA9ICJWaWRlbyBTZXR0aW5ncyI7DQokbGFuZ1sicHJlZl90YWJkaXNwbGF5Il0gPSAiQWRtaW4gdGFicyBzaG93biB0byB0aGUgbm9ybWFsIHVzZXIiOw0KJGxhbmdbImhlbHBfdGFiZGlzcGxheSJdID0gIihOb3JtYWwgdXNlcnMgYXJlIHRob3NlIHdobyBoYXZlIGJlZW4gZ2l2ZW4gdGhlIFwiSG9zdGVkVmlkZW9BbGJ1bXM6IG5vcm1hbCB1c2VyXCIgcGVybWlzc2lvbi4gVGhlIGxldmVsLXNwZWNpZmljIG1hbmFnZSBwZXJtaXNzaW9ucyBvdmVycmlkZSB0aGUgdmlzaWJsZSB0YWJzIHNlbGVjdGVkIGhlcmUuKSI7DQokbGFuZ1sicHJlZl9zZWFyY2htb2R1bGVfaW5kZXgiXSA9ICJJbmRleCB0aGUgZm9sbG93aW5nIGxldmVscyBmb3IgdGhlIHNlYXJjaCBtb2R1bGUiOw0KJGxhbmdbImhlbHBfc2VhcmNobW9kdWxlX2luZGV4Il0gPSAiKFRoaXMgaGFzIG5vIGVmZmVjdCBvbiB0aGlzIG1vZHVsZSBvd24gaW50ZXJuYWwgc2VhcmNoIGFjdGlvbi4gQWxzbyBub3RlIHRoYXQgYWZ0ZXIgY2hhbmdpbmcgdGhlc2Ugc2V0dGluZ3MgeW91IG1pZ2h0IGhhdmUgdG8gcmVpbmRleCB0byBnZXQgb2YgcHJldmlvdXNseSBpbmRleGVkIGRhdGEsIHdoaWNoIHlvdSBtYXkgZG8gaW4gRXh0ZW5zaW9uLSZndDtTZWFyY2guKSI7DQokbGFuZ1sicHJlZl9uZXdpdGVtc2ZpcnN0Il0gPSAiTmV3IGl0ZW1zIHNob3VsZCBhcHBlYXIgb24gdG9wIGZvciB0aGUgZm9sbG93aW5nIGxldmVscyI7DQokbGFuZ1siaGVscF9uZXdpdGVtc2ZpcnN0Il0gPSAiKE9idmlvdXNseSwgaWYgdGhlIGxldmVsIGlzIG5vdCBjaGVja2VkIGhlcmUsIG5ldyBpdGVtcyB3aWxsIGFwcGVhciBhdCB0aGUgYm90dG9tIG9mIHRoZSBsaXN0KSI7DQokbGFuZ1sicHJlZl9yZXN0cmljdF9wZXJtaXNzaW9ucyJdID0gIlNob3VsZCB3ZSA8Yj5yZXN0cmljdDwvYj4gdGhlIG1hbmFnZW1lbnQgb2YgaXRlbXMgdG8gdGhlIHVzZXJzIHdobyBoYXZlIHNwZWNpZmljIG1hbmFnZW1lbnQgcGVybWlzc2lvbnMgZm9yIHRoZSBsZXZlbD8gKGlmIHlvdSBkbyBub3Qgd2lzaCB0byBzcGVjaWZ5IGRpZmZlcmVudCBwZXJtaXNzaW9ucyBmb3IgZGlmZmVyZW50IGxldmVscywgeW91IGNhbiB1bmNoZWNrIHRoaXMgYW5kIHNpbXBseSB1c2UgdGhlIFwiSG9zdGVkVmlkZW9BbGJ1bXM6IG5vcm1hbCB1c2VyXCIgcGVybWlzc2lvbi4pIjsNCiRsYW5nWyJwcmVmX2Rpc3BsYXlfZmlsdGVyIl0gPSAiRGlzcGxheSA8Yj5maWx0ZXI8L2I+IG9uIHRoZSBtb2R1bGUgYWRtaW4gcGFuZWw/IjsNCiRsYW5nWyJwcmVmX2Rpc3BsYXlfaW5zdGFudHNlYXJjaCJdID0gIkRpc3BsYXkgPGI+aW5zdGFudCBzZWFyY2g8L2I+IG9uIHRoZSBtb2R1bGUgYWRtaW4gcGFuZWw/IjsNCiRsYW5nWyJwcmVmX2Rpc3BsYXlfaW5zdGFudHNvcnQiXSA9ICJEaXNwbGF5IDxiPmluc3RhbnQgc29ydDwvYj4gYnkgY29sdW1uIGxpbmtzPyI7DQokbGFuZ1sicHJlZl9lZGl0YWJsZV9hbGlhc2VzIl0gPSAiU2hvdWxkIHRoZSA8Yj5hbGlhczwvYj4gb2YgaXRlbXMgYmUgbWFudWFsbHkgZWRpdGFibGU/IjsNCiRsYW5nWyJwcmVmX2ZvcmNlX2xpc3QiXSA9ICJTaG91bGQgdGhlIDxiPmZvcmNlbGlzdDwvYj4gcGFyYW1ldGVyIGJlIGVuYWJsZWQgYnkgZGVmYXVsdD8gKGxpc3QgdmlldyB3aWxsIGJlIHNob3duIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSBpdGVtKSI7DQokbGFuZ1sicHJlZl9hbGxvd19zcWwiXSA9ICJBbGxvdyBtYW51YWwgU1FMIHF1ZXJpZXM/ICh3aXRoIHRoZSBcInF1ZXJ5XCIgcGFyYW1ldGVyKSI7DQokbGFuZ1sicHJlZl91c2VfaGllcmFyY2h5Il0gPSAiRGlzcGxheSBmdWxsIGhpZXJhcmNoeSBpbiBmaWx0ZXIgYW5kIHBhcmVudCBkcm9wZG93bj8gKGFkbWluIHBhbmVsKSI7DQokbGFuZ1sicHJlZl9vcmRlcmJ5bmFtZSJdID0gIk9yZGVyIHBhcmVudCBkcm9wZG93bnMgYnkgbmFtZT8iOw0KJGxhbmdbInByZWZfbWF4c2hvd25wYWdlcyJdID0gIk1heCBudW1iZXIgb2YgcGFnZXMgZGlzcGxheWVkIGluIHRoZSBwYWdlIG1lbnU6ICI7DQokbGFuZ1sicHJlZl9hdXRvaW5jcmVtZW50X2FsaWFzIl0gPSAiQXV0by1pbmNyZW1lbnQgYWxpYXNlcyBpbiBjYXNlIG9mIGlkZW50aWNhbCBuYW1lcz8iOw0KJGxhbmdbInByZWZfZGVjb2RlZW50aXRpZXMiXSA9ICJEZWNvZGUgaHRtbCBlbnRpdGllcyBvbiBmcm9udGVuZCBmb3JtIHN1Ym1pc3Npb24uIjsNCiRsYW5nWyJwcmVmX2FsbG93X2NvbXBsZXhfb3JkZXIiXSA9ICJBbGxvdyBjb21wbGV4IFwib3JkZXJieVwiIHBhcmFtZXRlcnMgKGJldGEpLiI7DQokbGFuZ1sicHJlZl9jb2xvcjEiXSA9ICJDb2xvciAxLiI7DQokbGFuZ1sicHJlZl9jb2xvcjIiXSA9ICJDb2xvciAyLiI7DQokbGFuZ1sicHJlZl9hZG1pbnBhZ2VzIl0gPSAiTnVtYmVyIG9mIGl0ZW1zIHBlciBwYWdlIGluIHRoZSBhZG1pbiBwYW5lbCAoMCA9IHBhcyBkZSBwYWdpbmF0aW9uKS4iOw0KJGxhbmdbInByZWZfbG9hZF9uYmNoaWxkcmVuIl0gPSAiTG9hZCB0aGUgbnVtYmVyIG9mIGNoaWxkcmVuIChpdGVtLSZndDtuYmNoaWxkcmVuKSBmb3IgYWxsIGl0ZW1zPyI7DQokbGFuZ1sicHJlZl9zY3JpcHRhY2Nlc3MiXSA9ICJBbGxvdyBzY3JpcHQgYWNjZXNzIGluIHZpZGVvPyI7DQokbGFuZ1sicHJlZl9mdWxsc2NyZWVuIl0gPSAiQWxsb3cgZnVsbHNjcmVlbiBidXR0b24/IChkb2VzIG5vdCB3b3JrIGZvciBhbGwgc2l0ZXMpIjsNCiRMYW5nWyJwcmVmX2F1dG9wbGF5Il0gPSAiQXV0b3BsYXkgdmlkZW8gd2hlbiBpcyBkZWZhdWx0PyAoZG9lcyBub3Qgd29yayBmb3IgYWxsIHNpdGVzKSI7DQokbGFuZ1sicHJlZl9sb2FkX25leHRwcmV2aW91cyJdID0gIkxvYWQgbmV4dC9wcmV2aW91cyBsaW5rcz8gKGRldGFpbCB2aWV3IG9ubHkpIjsNCiRsYW5nWyJwcmVmX3VzZV9zZXNzaW9uIl0gPSAiVXNlIHNlc3Npb24gdG8gc3RvcmUgYWRtaW4gcGFuZWwgZmlsdGVycy4iOw0KJGxhbmdbInByZWZfbGV2ZWxwYWdpbmF0aW9uIl0gPSAiRGVmYXVsdCBudW1iZXIgb2YgZWxlbWVudCBwZXIgcGFnZSBmb3IgdGhlIGZyb250ZW5kIjsNCiRsYW5nWyJoZWxwX2xldmVscGFnaW5hdGlvbiJdID0gIihFbXB0eSBvciAwIGZvciB3aWxsIGRpc2FibGUgZGVmYXVsdCBwYWdpbmF0aW9uLiBUaGUgbmJwZXJwYWdlIHBhcmFtZXRlciBvdmVycmlkZXMgdGhlc2Ugc2V0dGluZ3MuKSI7DQoNCi8vUEFSQU1FVEVSUw0KJGxhbmdbInBoZWxwX2FjdGlvbiJdID0gIlBvc3NpYmxlIGFjdGlvbnM6IFwibGlua1wiLCBcInNlYXJjaFwiLCBcImJyZWFkY3J1bWJzXCIsIFwiZGVmYXVsdFwiLCBcInNpdGVtYXBcIi4iOw0KJGxhbmdbInBoZWxwX3doYXQiXSA9ICJBbGxvd3MgeW91IHRvIHNwZWNpZnkgdGhlIGxldmVsIHlvdSB3aXNoIHRvIGRpc3BsYXkuIFBvc3NpYmxlIHZhbHVlcyBhcmUgOiA8aT5jYXRlZ29yeSwgYWxidW0sIHZpZGVvPC9pPiI7DQokbGFuZ1sicGhlbHBfYWxpYXMiXSA9ICJBbGlhcyBvZiB0aGUgaXRlbSB5b3Ugd2lzaCB0byBkaXNwbGF5LiI7DQokbGFuZ1sicGhlbHBfcGFyZW50Il0gPSAiSWYgeW91IHdpc2ggdG8gbGltaXQgdGhlIGRpc3BsYXllZCBlbGVtZW50cyB0byB0aG9zZSB3aG8gYmVsb25nIHRvIGEgc3BlY2lmaWMgcGFyZW50LCBlbnRlciB0aGUgcGFyZW50IGFsaWFzIGhlcmUuIjsNCiRsYW5nWyJwaGVscF9saW1pdCJdID0gIkxpbWl0IHRoZSBudW1iZXIgb2YgaXRlbSByZXR1cm5lZCBieSB0aGUgcXVlcnkgKDAgPSBubyBsaW1pdCkiOw0KJGxhbmdbInBoZWxwX25icGVycGFnZSJdID0gIlNldCB0aGUgbnVtYmVyIG9mIGl0ZW1zIGRpc3BsYXllZCBvbiBlYWNoIHBhZ2UuIjsNCiRsYW5nWyJwaGVscF9vcmRlcmJ5Il0gPSAiWW91IGNhbiBzZXQgdG8gXCJtb2RpZmllZFwiLCBcImNyZWF0ZWRcIiBvciB0aGUgbmFtZSBvZiBhIGZpZWxkIHRvIG9yZGVyIGl0ZW1zIGluIHRoaXMgd2F5LiBBbnkgb3RoZXIgdmFsdWUgd2lsbCBvcmRlciB3aXRoIHRoZSBpdGVtIG9yZGVyLiI7DQokbGFuZ1sicGhlbHBfZGV0YWlscGFnZSJdID0gIlNwZWNpZnkgdGhlIGFsaWFzIG9mIHRoZSBwYWdlIGluIHdoaWNoIGxpbmtzIHRvIGNoaWxkIGVsZW1lbnRzIHNob3VsZCBiZSBzZW50IChpZiBub25lIGlzIHNwZWNpZmllZCwgY3VycmVudCBwYWdlIGlzIHVzZWQpIjsNCiRsYW5nWyJwaGVscF9zaG93ZGVmYXVsdCJdID0gIlNldCB0byBcInRydWVcIiBpZiB5b3Ugd2lzaCB0byBkaXNwbGF5IHRoZSBkZWZhdWx0IGVsZW1lbnQuIjsNCiRsYW5nWyJwaGVscF9yYW5kb20iXSA9ICJTZXQgdG8gYSBudW1iZXIgdG8gc2hvdyBhIG51bWJlciBvZiByYW5kb20gZWxlbWVudHMgZnJvbSB5b3VyIHF1ZXJ5LiI7DQokbGFuZ1sicGhlbHBfZmluYWx0ZW1wbGF0ZSJdID0gIlNwZWNpZnkgdGhlIHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZSBmb3IgdGhlIGRldGFpbCB2aWV3IG9mIGEgdmlkZW8uIjsNCiRsYW5nWyJwaGVscF9lbWJlZHRlbXBsYXRlIl0gPSAiU3BlY2lmeSB0aGUgdGVtcGxhdGUgeW91IHdpc2ggdG8gdXNlIGZvciBlbWJlZGRpbmcgYSB2aWRlby4iOw0KJGxhbmdbInBoZWxwX2xpc3R0ZW1wbGF0ZSJdID0gIlNwZWNpZnkgdGhlIHRlbXBsYXRlIHlvdSB3aXNoIHRvIHVzZSBmb3IgdGhlIGxpc3Qgdmlldy4iOw0KJGxhbmdbInBoZWxwX2ZvcmNlbGlzdCJdID0gIlNldCB0byAxIGlmIHlvdSB3aXNoIHRvIGRpc3BsYXkgYSBsaXN0IHZpZXcgZXZlbiB3aGVuIHRoZXJlIGlzIG9ubHkgb25lIGVsZW1lbnQuIjsNCiRsYW5nWyJwaGVscF9pbnRlcm5hbCJdID0gIkZvciBpbnRlcm5hbCB1c2U7IHNwZWNpZnkgdGhlIHBhZ2UgKHdoZW4gdXNpbmcgbmJwZXJwYWdlKS4iOw0KJGxhbmdbInBoZWxwX3F1ZXJ5Il0gPSAiRm9yIG9wdGlvbmFsIHVzZSB3aXRoIHRoZSBcImRlZmF1bHRcIiBhY3Rpb24uIFNwZWNpZmllcyB0aGUgaWQgb2YgdGhlIHF1ZXJ5IHRvIHVzZS4iOw0KJGxhbmdbInBoZWxwX2lubGluZSJdID0gIk1ha2VzIHRoZSBsaW5rcyBpbmxpbmUuIjsNCiRsYW5nWyJwaGVscF9zZWFyY2htb2RlIl0gPSAiRm9yIHVzZSB3aXRoIHRoZSBcInNlYXJjaFwiIGFjdGlvbi4gU2V0IHRvIFwic2ltcGxlXCIgdG8gc2VhcmNoIGluIGFsbCB0ZXh0IGZpZWxkcywgYW5kIFwiYWR2YW5jZWRcIiB0byBzZWFyY2ggaW4gc3BlY2lmaWMgZmllbGRzLiI7DQokbGFuZ1sicGhlbHBfdG9hY3Rpb24iXSA9ICJGb3IgdXNlIHdpdGggdGhlIFwibGlua1wiIGFjdGlvbi4gU2V0cyB0aGUgYWN0aW9uIHRvIHdoaWNoIHRoZSBsaW5rIHNob3VsZCByZWRpcmVjdC4iOw0KDQo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/changelog_fr_FR.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[IDxoMj5DaGFuZ2UgbG9nPC9oMj4NCjxoMz4xLjA8L2gzPg0KPHA+VmVyc2lvbiBpbml0aWFsZTwvcD4NCjxoMz4xLjE8L2gzPg0KPHVsPg0KPGxpPkFqb3V0IGRlIGxhIGdlc3Rpb24gZGVzIHZpZCZlYWN1dGU7b3MgbG9jYWxlcyBzdXIgdm90cmUgcHJvcHJlIHNpdGUgKGF2aSwgbWt2LCBkaXZ4LCBtcGcpPC9saT4NCjxsaT5Eb2N1bWVudGF0aW9uIGFtJmVhY3V0ZTtsaW9yJmVhY3V0ZTtlPC9saT4NCjwvdWw+DQo8aDM+MS4xLjE8L2gzPg0KPHA+QSBvdWJsaWVyIDopPC9wPg0KPGgzPjEuMjwvaDM+DQo8dWw+DQo8bGk+Tm91dmVhdXggc2l0ZXMgYWpvdXQmZWFjdXRlO3M6IG1zbiBvdSBiaW5nIHZpZGVvcywgbWV0YWNhZmUsIG15c3BhY2UsIHZpbWVvLjwvbGk+DQo8bGk+U3VwcHJlc3Npb24gZHUgY29kZSBldCBkZXMgcGFyYW0mZWdyYXZlO3RyZXMgaW51dGlsZXMgZyZlYWN1dGU7biZlYWN1dGU7cmFyYW0mZWdyYXZlO3RyZXNwYXIgQ1RMTW9kdWxlTWFuYWdlcjwvbGk+DQo8bGk+Tm91dmVsbGVzIHByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXMgdmlkJmVhY3V0ZTtvIGFqb3V0JmVhY3V0ZTtlcyBkYW5zIGwnb25nbGV0IFByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXMuPC9saT4NCjxsaT5idWcgY29ycmlnJmVhY3V0ZTsgc3VyIGxhIGdlc3Rpb24gZGVzIHRhaWxsZXMsIHN1ciBsYSBnZXN0aW9uIGRlcyBsYW5ndWVzIGV0IHN1ciBsYSBtaXNlICZhZ3JhdmU7IGpvdXIgZHUgbW9kdWxlIChkdSBtb2lucywgamUgbCdlc3AmZWdyYXZlO3JlKTwvbGk+DQo8L3VsPg0K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCgkkbGFuZ1siZnJpZW5kbHluYW1lIl0gPSAiQWxidW1zIFZpZCZlYWN1dGU7b3MgSCZlYWN1dGU7YmVyZyZlYWN1dGU7ZXMiOw0KCSRsYW5nWyJtb2RkZXNjcmlwdGlvbiJdID0gIkNlIG1vZHVsZSBwZXV0ICZlY2lyYzt0cmUgdXRpbGlzJmVhY3V0ZTsgcG91ciBhZmZpY2hlciBkZXMgYWxidW1zIHZpZCZlYWN1dGU7b3MgaCZlYWN1dGU7YmVyZyZlYWN1dGU7cyBzdXIgb24gWW91dHViZSwgR29vZ2xlIFZpZGVvcyBvdSBEYWlseW1vdGlvbiI7DQoJJGxhbmdbImRlc2NyaXB0aW9uIl0gPSAiQ2UgbW9kdWxlIHBldXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBwb3VyIGFmZmljaGVyIGRlcyBhbGJ1bXMgdmlkJmVhY3V0ZTtvcyBoJmVhY3V0ZTtiZXJnJmVhY3V0ZTtzIHN1ciBvbiBZb3V0dWJlLCBHb29nbGUgVmlkZW9zIG91IERhaWx5bW90aW9uIjsNCgkkbGFuZ1siYWRtaW5kZXNjcmlwdGlvbiJdID0gIkdlc3Rpb24gZCdhbGJ1bXMgdmlkJmVhY3V0ZTtvcyBoZWJlcmcmZWFjdXRlO2VzIG91IGxvY2FsZXMiOw0KCSRsYW5nWydjaGFuZ2Vsb2cnXSA9IDw8PEVPRg0KCTx1bD4NCgk8bGk+MS4xIC0tIEFqb3V0IGRlIGxhIGdlc3Rpb24gZGVzIHZpZGVvcyBsb2NhbGVzIGV0IGFtZWxpb3JhdGlvbiBkZSBsYSBkb2N1bWVuYXRpb24uPC9saT4NCgk8bGk+MS4wIC0tIFZlcnNpb24gSW5pdGlhbGU8L2xpPg0KCTwvdWw+IA0KRU9GOw0KDQoJJGxhbmdbInBhZ2VtZW51ZGVsaW1pdGVyIl0gPSAiJm5ic3A7JiMxMjQ7Jm5ic3A7IjsNCgkkbGFuZ1sicGFnZW1lbnVvdmVyZmxvdyJdID0gIiZuYnNwOy4uLiZuYnNwOyI7DQoJDQovLyBzdHJpbmdzIGZvciBjYXRlZ29yeQ0KCSRsYW5nWyJjYXRlZ29yeSJdID0gIkNhdCZlYWN1dGU7Z29yaWUiOw0KCSRsYW5nWyJjYXRlZ29yeV9wbHVyYWwiXSA9ICJDYXQmZWFjdXRlO2dvcmllcyI7DQoJJGxhbmdbImFkZF9jYXRlZ29yeSJdID0gIkFqb3V0ZXIgdW5lIENhdCZlYWN1dGU7Z29yaWUiOw0KCSRsYW5nWyJlZGl0X2NhdGVnb3J5Il0gPSAiTW9kaWZpZXIgdW5lIENhdCZlYWN1dGU7Z29yaWUiOw0KCSRsYW5nWyJmaWx0ZXJieV9jYXRlZ29yeSJdID0gIkZpbHRyZXIgcGFyIENhdCZlYWN1dGU7Z29yaWUiOw0KCSRsYW5nWyJjYXRlZ29yeV9kZXNjcmlwdGlvbiJdID0gIkRlc2NyaXB0aW9uIjsNCgkkbGFuZ1sicHJvbXB0X2RlbGV0ZWNhdGVnb3J5Il0gPSAiVm91cyAmZWNpcmM7dGVzIHN1ciBsZSBwb2ludCBkZSBzdXBwcmltZXIgY2V0dGUgY2F0JmVhY3V0ZTtnb3JpZSAoJXMpPyBUb3VzIGxlcyAmZWFjdXRlO2wmZWFjdXRlO21lbnRzIHJhdHRhY2gmZWFjdXRlO3Mgc2Vyb250IHBlcmR1cy4gVm91bGV6LXZvdXMgY29udGludWVyPyI7DQoJDQovLyBzdHJpbmdzIGZvciBhbGJ1bQ0KCSRsYW5nWyJhbGJ1bSJdID0gIkFsYnVtIFZpZCZlYWN1dGU7byI7DQoJJGxhbmdbImFsYnVtX3BsdXJhbCJdID0gIkFsYnVtcyBWaWQmZWFjdXRlO28iOw0KCSRsYW5nWyJhZGRfYWxidW0iXSA9ICJBam91dGVyIHVuIGFsYnVtIHZpZCZlYWN1dGU7byI7DQoJJGxhbmdbImVkaXRfYWxidW0iXSA9ICJNb2RpZmllciB1biBhbGJ1bSB2aWQmZWFjdXRlO28iOw0KCSRsYW5nWyJmaWx0ZXJieV9hbGJ1bSJdID0gIkZpbHRyZXIgcGFyIGFsYnVtIHZpZCZlYWN1dGU7byI7DQoJJGxhbmdbImFsYnVtX2Rlc2NyaXB0aW9uIl0gPSAiRGVzY3JpcHRpb24iOw0KCSRsYW5nWyJhbGJ1bV9sYW5nIl0gPSAiTGFuZ3VlIGRlIGwnYWxidW0iOw0KCSRsYW5nWyJhbGJ1bV9kZWZhdWx0X3dpZHRoIl0gPSAiTGFyZ2V1ciBwYXIgZCZlYWN1dGU7ZmF1dCBkZXMgdmlkJmVhY3V0ZTtvcyBkZSBjZXQgYWxidW0iOw0KCSRsYW5nWyJhbGJ1bV9kZWZhdWx0X2hlaWdodCJdID0gIkhhdXRldXIgcGFyIGQmZWFjdXRlO2ZhdXQgZGVzIHZpZCZlYWN1dGU7b3MgZGUgY2V0IGFsYnVtIjsNCgkkbGFuZ1sicHJvbXB0X2RlbGV0ZWFsYnVtIl0gPSAiVm91cyAmZWNpcmM7dGVzIHN1ciBsZSBwb2ludCBkZSBzdXBwcmltZXIgY2V0IGFsYnVtIHZpZCZlYWN1dGU7byAoJXMpPyBUb3VzIGxlcyAmZWFjdXRlO2wmZWFjdXRlO21lbnRzIHJhdHRhY2gmZWFjdXRlO3Mgc2Vyb250IHBlcmR1cy4gVm91bGV6LXZvdXMgY29udGludWVyPyI7DQoJDQovLyBzdHJpbmdzIGZvciB2aWRlbw0KCSRsYW5nWyJ2aWRlbyJdID0gIlZpZCZlYWN1dGU7byI7DQoJJGxhbmdbInZpZGVvX3BsdXJhbCJdID0gIlZpZCZlYWN1dGU7b3MiOw0KCSRsYW5nWyJhZGRfdmlkZW8iXSA9ICJBam91dGVyIHVuZSB2aWQmZWFjdXRlO28iOw0KCSRsYW5nWyJlZGl0X3ZpZGVvIl0gPSAiTW9kaWZpZXIgdW5lIHZpZCZlYWN1dGU7byI7DQoJJGxhbmdbImZpbHRlcmJ5X3ZpZGVvIl0gPSAiRmlsdHJlciBwYXIgdmlkJmVhY3V0ZTtvIjsNCgkkbGFuZ1sidmlkZW9fZGVzY3JpcHRpb24iXSA9ICJEZXNjcmlwdGlvbiI7DQoJJGxhbmdbInZpZGVvX3NpdGUiXSA9ICJTaXRlIFZpZCZlYWN1dGU7byI7DQoJJGxhbmdbInZpZGVvX3ZpZGVvaWQiXSA9ICJJZCBkZSBsYSB2aWQmZWFjdXRlO28iOw0KCSRsYW5nWyJ2aWRlb193aWR0aCJdID0gIkxhcmdldXIgZGUgbGEgdmlkJmVhY3V0ZTtvIjsNCgkkbGFuZ1sidmlkZW9faGVpZ2h0Il0gPSAiSGF1dGV1ciBkZSBsYSB2aWQmZWFjdXRlO28iOw0KCSRsYW5nWyJwcm9tcHRfZGVsZXRldmlkZW8iXSA9ICJWb3VzICZlY2lyYzt0ZXMgc3VyIGxlIHBvaW50IGRlIHN1cHByaW1lciBjZXR0ZSB2aWQmZWFjdXRlO28gKCVzKT8gVm91bGV6LXZvdXMgY29udGludWVyPyI7DQoJJGxhbmdbInRlbXBsYXRlaGVscGZpbGUiXSA9ICJleHQiLkRJUkVDVE9SWV9TRVBBUkFUT1IuInRoZWxwX2ZyX0ZSLmh0bWwiOw0KDQovLyBzdHJpbmdzIGZvciBnZW5lcmFsIGZpZWxkcw0KJGxhbmdbImlkIl0gPSAiaWQiOw0KJGxhbmdbIm5hbWUiXSA9ICJOb20iOw0KJGxhbmdbImFsaWFzIl0gPSAiQWxpYXMiOw0KJGxhbmdbImlzZGVmYXVsdCJdID0gIlBhciBkJmVhY3V0ZTtmYXV0PyI7DQokbGFuZ1siYWN0aXZlIl0gPSAiQWN0aWYiOw0KJGxhbmdbInBhcmVudCJdID0gIlBhcmVudCI7DQokbGFuZ1sic3VibWl0Il0gPSAiRW5yZWdpc3RyZXIiOw0KJGxhbmdbImNhbmNlbCJdID0gIkFubnVsZXIiOw0KJGxhbmdbIm5iY2hpbGRyZW4iXSA9ICJOYiBkJyZlYWN1dGU7bCZlYWN1dGU7bWVudHMiOw0KJGxhbmdbImRhdGVfbW9kaWZpZWQiXSA9ICJEZXJuaSZlZ3JhdmU7cmUgbW9kaWZpY2F0aW9uIjsNCiRsYW5nWyJkYXRlX2NyZWF0ZWQiXSA9ICJDciZlYWN1dGU7YXRpb24iOw0KCQ0KLy8gR0VORVJBTA0KJGxhbmdbInBhZ2VzIl0gPSAiUGFnZXM6ICI7DQokbGFuZ1sibmV4dHBhZ2UiXSA9ICJQYWdlIHN1aXZhbnRlIjsNCiRsYW5nWyJwcmV2aW91c3BhZ2UiXSA9ICJQYWdlIHByJmVhY3V0ZTtjJmVhY3V0ZTtkZW50ZSI7DQokbGFuZ1siYWN0aXZhdGUiXSA9ICJBY3RpdmVyIjsNCiRsYW5nWyJ1bmFjdGl2YXRlIl0gPSAiRCZlYWN1dGU7c2FjdGl2ZXIiOw0KJGxhbmdbInNlYXJjaHRoaXN0YWJsZSJdID0gIkNoZXJjaGVyIGRhbnMgY2UgdGFibGVhdToiOw0KJGxhbmdbInJlc2V0b3JkZXIiXSA9ICJSZW1ldHRyZSAmYWdyYXZlOyB6JmVhY3V0ZTtybyI7DQokbGFuZ1siWWVzIl0gPSAiT3VpIjsNCiRsYW5nWyJObyJdID0gIk5vbiI7DQokbGFuZ1siQWN0aW9ucyJdID0gIkFjdGlvbnMiOw0KJGxhbmdbInJlb3JkZXIiXSA9ICJSJmVhY3V0ZTtvcmRvbm5lciI7DQokbGFuZ1sibGlzdHRlbXBsYXRlIl0gPSAiR2FiYXJpdCBkZSBsaXN0ZSBwb3VyIjsNCiRsYW5nWyJkZWZhdWx0dGVtcGxhdGVzIl0gPSAiR2FiYXJpdHMgcGFyIGQmZWFjdXRlO2ZhdXQiOw0KJGxhbmdbInRlbXBsYXRlcyJdID0gIkdhYmFyaXRzIjsNCiRsYW5nWyJ0ZW1wbGF0ZSJdID0gIkdhYmFyaXQiOw0KJGxhbmdbImVkaXR0ZW1wbGF0ZSJdID0gIk1vZGlmaWVyIGxlIGdhYmFyaXQiOw0KJGxhbmdbInRlbXBsYXRldmFycyJdID0gIlZhcmlhYmxlcyBkZSBnYWJhcml0IjsNCiRsYW5nWyJkZWZ0ZW1wbGF0ZWZvciJdID0gIkdhYmFyaXQgZGUgbGlzdGUgcGFyIGQmZWFjdXRlO2ZhdXQgcG91ciBsZSBuaXZlYXUgIjsNCiRsYW5nWyJkZWZkZXRhaWx0ZW1wbGF0ZSJdID0gIkdhYmFyaXQgZGUgZCZlYWN1dGU7dGFpbCBwYXIgZCZlYWN1dGU7ZmF1dCI7DQokbGFuZ1siZGVmc2VhcmNocmVzdWx0c3RlbXBsYXRlIl0gPSAiR2FiYXJpdCBwYXIgZCZlYWN1dGU7ZmF1dCBwb3VyIGxlcyByJmVhY3V0ZTtzdWx0YXRzIGRlIHJlY2hlcmNoZSI7DQokbGFuZ1siZGVmZW1wdHl0ZW1wbGF0ZSJdID0gIkdhYmFyaXQgJmFncmF2ZTsgdXRpbGlzZXIgbG9yc3F1J2lsIG4neSBhIHBhcyBkZSByJmVhY3V0ZTtzdWx0YXQiOw0KJGxhbmdbImRlZmVtYmVkdGVtcGxhdGUiXSA9ICJHYWJhcml0ICZhZ3JhdmU7IHV0aWxpc2VyIHBvdXIgaW1icmlxdWVyIChlbWJlZCkgdW5lIHZpZGVvIjsNCiRsYW5nWyJ1c2VsZXZlbGxpc3R0cGwiXSA9ICJVdGlsaXNlciBsZSBnYWJhcml0IGRlIGxpc3RlIGR1IG5pdmVhdSBhcHByb3ByaSZlYWN1dGU7IjsNCiRsYW5nWyJhZGR0ZW1wbGF0ZSJdID0gIkFqb3V0ZXIgdW4gZ2FiYXJpdCI7DQokbGFuZ1siZmlsdGVyYnkiXSA9ICJGaWx0cmVyIHBhciI7DQokbGFuZ1sic2hvd2luZ29ubHkiXSA9ICJGaWx0cmU6ICI7DQokbGFuZ1sic2hvd2FsbCJdID0gIlRvdXQgdm9pciAoYXVjdW4gZmlsdHJlKSI7DQokbGFuZ1siZmllbGRvcHRpb25zIl0gPSAiU2l0ZXMiOw0KJGxhbmdbImFkZG9wdGlvbiJdID0gIkFqb3V0ZXIgdW4gc2l0ZSI7DQokbGFuZ1sibW9kaWZ5YW5vcHRpb24iXSA9ICJNb2RpZmllciB1biBzaXRlIjsNCiRsYW5nWyJtZXNzYWdlX2RlbGV0ZWQiXSA9ICImRWFjdXRlO2wmZWFjdXRlO21lbnQgc3VwcHJpbSZlYWN1dGU7LiI7DQokbGFuZ1sibWVzc2FnZV9tb2RpZmllZCJdID0gIk1vZGlmaWNhdGlvbiBzYXV2ZWdhcmQmZWFjdXRlO2UuIjsNCiRsYW5nWyJ3YXJuaW5nX3RhYiJdID0gIkF0dGVudGlvbjogU2F1dmVnYXJkZXogbGVzIGNoYW5nZW1lbnRzIGRhbnMgbGVzIGF1dHJlcyBvbmdsZXRzIGF2YW50IGRlIHRyYXZhaWxsZXIgZGFucyBjZWx1aS1jaS4uLiI7DQokbGFuZ1siZXJyb3JfbWlzc2dpbnZhbHVlIl0gPSAiVW5lIG91IHBsdXNpZXVycyB2YWxldXIgb2JsaWdhdG9pcmVzIG4nb250IHBhcyAmZWFjdXRlO3QmZWFjdXRlOyBlbnRyJmVhY3V0ZTtlcy4iOw0KJGxhbmdbImVycm9yX2FscmVhZHlleGlzdHMiXSA9ICJJbCB5IGEgZCZlYWN1dGU7aiZhZ3JhdmU7IHVuICZlYWN1dGU7bCZlYWN1dGU7bWVudCBwb3J0YW50IGNlIG5vbS4iOw0KJGxhbmdbImVycm9yX2RhdGUiXSA9ICJMYSBkYXRlIHF1ZSB2b3VzIGF2ZXogZW50ciZlYWN1dGU7ZSBlc3QgaW52YWxpZGUuIjsNCiRsYW5nWyJlcnJvcl9ub3BhcmVudCJdID0gIkF1Y3VuIHBhcmVudCBkJmVhY3V0ZTtmaW5pISI7DQokbGFuZ1siZXJyb3Jfbm90Zm91bmQiXSA9ICJMJyZlYWN1dGU7bCZlYWN1dGU7bWVudCBuJ2EgcGFzIHB1ICZlY2lyYzt0cmUgdHJvdXYmZWFjdXRlOy4iOw0KJGxhbmdbImVycm9yX25vaXRlbWZvdW5kIl0gPSAiQXVjdW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHRyb3V2JmVhY3V0ZTsuIjsNCiRsYW5nWyJlcnJvcl9kZW5pZWQiXSA9ICJQZXJtaXNzaW9uIHJlZnVzw6llIjsNCiRsYW5nWyJlcnJvcl93cm9uZ3F1ZXJ5Il0gPSAiUmVxdSZlY2lyYzt0ZSBpbnZhbGlkZS4iOw0KJGxhbmdbImVycm9yX2ZlYWRkZGVuaWVkIl0gPSAiVm91cyBuJ2F2ZXogcGFzIGxlcyBwZXJtaXNzaW9ucyByZXF1aXNlcyBwb3VyIHBvdXJzdWl2cmUuIjsNCiRsYW5nWyJlcnJvcl93cm9uZ2ZpbGV0eXBlIl0gPSAiQ2UgdHlwZSBkZSBmaWNoaWVyIG4nZXN0IHBhcyBwZXJtaXMgaWNpLiI7DQokbGFuZ1siZXJyb3JfY2FwdGNoYSJdID0gIkxlIHRleHRlIGVudHImZWFjdXRlOyBuZSBjb3JyZXNwb25kIHBhcyAmYWdyYXZlOyBsJ2ltYWdlIGNhcHRjaGEuIjsNCiRsYW5nWyJlcnJvcl9maWxldG9vYmlnIl0gPSAiTGUgZmljaGllciBlbnZveSZlYWN1dGU7IGVzdCB0cm9wIHZvbHVtaW5ldXguIjsNCiRsYW5nWyJnaXZlbmVycm9yIl0gPSAiRXJyZXVyOiAiOw0KJGxhbmdbImZpbmFsdGVtcGxhdGUiXSA9ICJHYWJhcml0IHBvdXIgbGVzIHZpZMOpb3MiOw0KJGxhbmdbImVtYmVkdGVtcGxhdGUiXSA9ICJHYWJhcml0IHV0aWxpc8OpIHBhciB7SG9zdGVkVmlkZW9BbGJ1bXNfZW1iZWR2aWRlb30iOw0KJGxhbmdbInByb21wdF9kZWxldGVvcHRpb24iXSA9ICJWb3VsZXotdm91cyB2cmFpbWVudCBzdXBwcmltZXIgY2Ugc2l0ZT8iOw0KJGxhbmdbInByb21wdF9nZW5lcmFsZGVsZXRlIl0gPSAiVm91bGV6LXZvdXMgdnJhaW1lbnQgc3VwcHJpbWVyIGNldCAmZWFjdXRlO2wmZWFjdXRlO21lbnQ/IjsNCiRsYW5nWyJwcm9tcHRfY2FwdGNoYSJdID0gIkVudHJleiBsZSB0ZXh0ZSBmaWd1cmFudCBzdXIgbCdpbWFnZS4iOw0KJGxhbmdbInF1ZXJpZXMiXSA9ICJSZXF1JmVjaXJjO3RlcyI7DQokbGFuZ1sicXVlcnkiXSA9ICJSZXF1JmVjaXJjO3RlIjsNCiRsYW5nWyJyZXN1bHRzIl0gPSAiUiZlYWN1dGU7c3VsdGF0cyI7DQokbGFuZ1siY3JlYXRlcXVlcnkiXSA9ICJDciZlYWN1dGU7ZXIgdW5lIG5vdXZlbGxlIHJlcXUmZWNpcmM7dGUiOw0KJGxhbmdbInByb21wdF9xdWVyeSJdID0gIkNyJmVhY3V0ZTtlciB1bmUgcmVxdSZlY2lyYzt0ZSBwb3VyIHF1ZWwgbml2ZWF1PyI7DQokbGFuZ1sib3JkZXJieWZpZWxkIl0gPSAiT3Jkb25uZXIgc2Vsb24iOw0KJGxhbmdbImRhdGVfbW9kaWZpZWQiXSA9ICJEYXRlIG1vZGlmaSZlYWN1dGU7IjsNCiRsYW5nWyJmcm9udGVuZF9zdWJtaXQiXSA9ICJFbnZveWVyIjsNCg0KLy8gQlJFQURDUlVNQlMgOg0KJGxhbmdbInlvdWFyZWhlcmUiXSA9ICJWb3VzICZlY2lyYzt0ZXMgaWNpOiAiOw0KJGxhbmdbImJyZWFkY3J1bWJzX2RlbGltaXRlciJdID0gIiAmZ3Q7ICI7DQoNCi8vIFNFQVJDSCA6DQokbGFuZ1sic2VhcmNodGl0bGUiXSA9ICJSZWNoZXJjaGUiOw0KJGxhbmdbInNlYXJjaGFnYWluIl0gPSAiUmVjb21tZW5jZXIgbGEgcmVjaGVyY2hlIjsNCiRsYW5nWyJzZWFyY2hidG4iXSA9ICJDaGVyY2hlciEiOw0KJGxhbmdbImNvbnRhaW5zIl0gPSAiQ29udGllbnMiOw0KJGxhbmdbImlzZXhhY3RseSJdID0gIkVzdCBlZ2FsICZhZ3JhdmU7IjsNCiRsYW5nWyJpc25vdCJdID0gIk4nZXN0IHBhcyI7DQokbGFuZ1siaXNoaWdoZXJ0aGFuIl0gPSAiRXN0IHBsdXMgZ3JhbmQgcXVlIjsNCiRsYW5nWyJpc2xvd2VydGhhbiJdID0gIkVzdCBwbHVzIHBldGl0IHF1ZSI7DQokbGFuZ1siaXNhZnRlciJdID0gIkVzdCBhcHImZWdyYXZlO3MiOw0KJGxhbmdbImlzYmVmb3JlIl0gPSAiRXN0IGF2YW50IjsNCiRsYW5nWyJpc2JldHdlZW4iXSA9ICJFc3QgZW50cmUiOw0KJGxhbmdbInRoaXNhbmR0aGlzIl0gPSAiZXQiOw0KJGxhbmdbInF1ZXJ5dXNlIl0gPSAiUGFzIHV0aWxpcyZlYWN1dGU7IjsNCiRsYW5nWyJxdWVyeW5hbWUiXSA9ICJOb20gZGUgbGEgcmVxdSZlY2lyYzt0ZSI7DQoNCi8vIElNUE9SVCAvIEVYUE9SVA0KJGxhbmdbImV4cG9ydF90aXRsZSJdID0gIkV4cG9ydGVyIGxlcyBlbnJlZ2lzdHJlbWVudHMiOw0KJGxhbmdbImV4cG9ydHdoaWNobGV2ZWxzIl0gPSAiUXVlbHMgdGFibGVzIGV4cG9ydGVyPyI7DQokbGFuZ1siZXhwb3J0X3RlbXBsYXRlcyJdID0gIkV4cG9ydGVyIGxlcyBnYWJhcml0cz8iOw0KJGxhbmdbImltcG9ydF90aXRsZSJdID0gIkltcG9ydGVyIGQndW4gZmljaGllciB4bWwiOw0KJGxhbmdbImltcG9ydF9maWxlcHJvbXB0Il0gPSAiQ2hvaXNpc3NleiBsZSBmaWNoaWVyIHhtbCAmYWdyYXZlOyBpbXBvcnRlci4iOw0KJGxhbmdbImltcG9ydF9kb25lIl0gPSAiSW1wb3J0YXRpb24gdGVybWluJmVhY3V0ZTtlLiAlcyBlbnJlZ2lzdHJlbWVudHMgb250ICZlYWN1dGU7dCZlYWN1dGU7IGltcG9ydCZlYWN1dGU7cy4iOw0KJGxhbmdbImltcG9ydF9lbnRyaWVzIl0gPSAiTGUgZmljaGllciBjb250aWVudCAlcyBlbnJlZ2lzdHJlbWVudHMuIjsNCiRsYW5nWyJpbXBvcnRfZGVsZXRlIl0gPSAiRWZmYWNlciBsZSBjb250ZW51IGRlIGxhIHRhYmxlIGF2YW50IGwnaW1wb3J0YXRpb24/IjsNCiRsYW5nWyJpbXBvcnR3aGljaGxldmVscyJdID0gIkltcG9ydGVyIHF1ZWxzIHRhYmxlcz8iOw0KJGxhbmdbImltcG9ydF90ZW1wbGF0ZXMiXSA9ICJJbXBvcnQgbGVzIGdhYmFyaXRzPyI7DQokbGFuZ1siY291bGRub3RpbXBvcnQiXSA9ICJJbCB5IGEgZXUgdW5lIGVycmV1ciBkYW5zIGwnaW1wb3J0YXRpb24gZGU6ICI7DQokbGFuZ1siZXJyb3JfaW52YWxpZHhtbCJdID0gIkxlIGZpY2hpZXIgcXVlIHZvdXMgYXZleiBjaG9pc2kgbidlc3QgcGFzIHVuIHhtbCB2YWxpZGUgcG91ciBjZSBtb2R1bGUuIjsNCg0KLy8gTU9EVUxFIElOVEVSQUNUSU9ODQokbGFuZ1sicG9zdGluc3RhbGwiXSA9ICJNb2R1bGUgYWpvdXQmZWFjdXRlOy48YnIvPlNpIGNlIG1vZHVsZSBhIGRlcyBjaGFtcHMgZGUgZmljaGllciwgdmV1aWxsZXogdm91cyBhc3N1cmVyIHF1ZSBsZXMgciZlYWN1dGU7cGVydG9pcmUgYXBwcm9wcmkmZWFjdXRlO3MgZXhpc3RlbnQgYmllbiBkYW5zIGxlIGRvc3NpZXIgZCd1cGxvYWRzLiBOJ291YmxpZXogcGFzIGRlIGRvbm5lciAmYWdyYXZlOyB2b3MgdXRpbGlzYXRldXJzIGxhIHBlcm1pc3Npb24gZCd1dGlsaXNlciBjZSBtb2R1bGUhIjsNCiRsYW5nWyJwb3N0dW5pbnN0YWxsIl0gPSAiTW9kdWxlIGQmZWFjdXRlO3NpbnN0YWxsJmVhY3V0ZTsuIjsNCiRsYW5nWyJyZWFsbHlfdW5pbnN0YWxsIl0gPSAiVG91dCBsZSBjb250ZW51IGR1IG1vZHVsZSBzZXJhIHBlcmR1LiBQb3Vyc3VpdnJlPyI7DQokbGFuZ1sidW5pbnN0YWxsZWQiXSA9ICJNb2R1bGUgZCZlYWN1dGU7c2luc3RhbGwmZWFjdXRlOy4iOw0KJGxhbmdbImluc3RhbGxlZCJdID0gIk1vZHVsZSB2ZXJzaW9uICVzIGluc3RhbGwmZWFjdXRlOy4iOw0KJGxhbmdbInVwZ3JhZGVkIl0gPSAiTW9kdWxlIG1pcyBhIGpvdXIgZW4gdmVyc2lvbiAlcy4iOw0KJGxhbmdbImhlbHBmaWxlIl0gPSAiZXh0Ii5ESVJFQ1RPUllfU0VQQVJBVE9SLiJoZWxwX2ZyX0ZSLmh0bWwiOw0KJGxhbmdbImNoYW5nZWxvZ2ZpbGUiXSA9ICJleHQiLkRJUkVDVE9SWV9TRVBBUkFUT1IuImNoYW5nZWxvZ19mcl9GUi5odG1sIjsNCg0KLy9FVkVOVFMNCiRsYW5nWyJldmVudGRlc2NfbW9kaWZpZWQiXSA9ICJBcHBlbCZlYWN1dGU7IGFwciZlZ3JhdmU7cyBxdSd1biAmZWFjdXRlO2wmZWFjdXRlO21lbnQgc29pdCBtb2RpZmkmZWFjdXRlOy4iOw0KJGxhbmdbImV2ZW50ZGVzY19kZWxldGVkIl0gPSAiQXBwZWwmZWFjdXRlOyBhcHImZWdyYXZlO3MgcXUndW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHNvaXQgc3VwcHJpbSZlYWN1dGU7LiI7DQokbGFuZ1siZXZlbnRkZXNjX2FkZGVkIl0gPSAiQXBwZWwmZWFjdXRlOyBhcHImZWdyYXZlO3MgcXUndW4gJmVhY3V0ZTtsJmVhY3V0ZTttZW50IHNvaXQgYWpvdXQmZWFjdXRlOy4iOw0KJGxhbmdbImV2ZW50aGVscF9tb2RpZmllZCJdID0gIlBhcmFtJmVncmF2ZTt0cmVzOiBcIndoYXRcIj0+bml2ZWF1IGRlIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50LCBcIml0ZW1pZFwiPT5pZCBkZSAgbCcmZWFjdXRlO2wmZWFjdXRlO21lbnQsIFwiYWxpYXNcIj0+YWxpYXMgZGUgbCcmZWFjdXRlO2wmZWFjdXRlO21lbnQuIjsNCiRsYW5nWyJldmVudGhlbHBfZGVsZXRlZCJdID0gIlBhcmFtJmVncmF2ZTt0cmVzOiBcIndoYXRcIj0+bml2ZWF1IGRlIGwnJmVhY3V0ZTtsJmVhY3V0ZTttZW50LiI7DQokbGFuZ1siZXZlbnRoZWxwX2FkZGVkIl0gPSAiUGFyYW0mZWdyYXZlO3RyZXM6IFwid2hhdFwiPT5uaXZlYXUgZGUgbCcmZWFjdXRlO2wmZWFjdXRlO21lbnQsIFwiaXRlbWlkXCI9PmlkIGRlICBsJyZlYWN1dGU7bCZlYWN1dGU7bWVudCwgXCJhbGlhc1wiPT5hbGlhcyBkZSBsJyZlYWN1dGU7bCZlYWN1dGU7bWVudC4iOw0KDQoNCi8vUFJFRkVSRU5DRVMNCiRsYW5nWyJwcmVmZXJlbmNlcyJdID0gIlByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXMiOw0KJGxhbmdbInZpZF9wcmVmZXJlbmNlcyJdID0gIlByJmVhY3V0ZTtmJmVhY3V0ZTtyZW5jZXMgVmlkJmVhY3V0ZTtvIjsNCiRsYW5nWyJwcmVmX3RhYmRpc3BsYXkiXSA9ICJPbmdsZXRzIGR1IHBhbm5lYXUgZCdhZG1pbmlzdHJhdGlvbiB2aXNpYmxlcyBwb3VyIGwndXRpbGlzYXRldXIgbm9ybWFsIjsNCiRsYW5nWyJoZWxwX3RhYmRpc3BsYXkiXSA9ICIoTGVzIHV0aWxpc2F0ZXVycyBub3JtYXV4IHNvbnQgY2V1eCBhdXhxdWVscyBsYSBwZXJtaXNzaW9uIFwiSG9zdGVkVmlkZW9BbGJ1bXM6IG5vcm1hbCB1c2VyXCIgYSAmZWFjdXRlO3QmZWFjdXRlOyBhdHRyaWJ1JmVhY3V0ZTtlLiBVbmUgcGVybWlzc2lvbiBzcCZlYWN1dGU7Y2lmaXF1ZSAmYWdyYXZlOyB1biBuaXZlYXUgYSBwcmlvcml0JmVhY3V0ZTsgc3VyIGNlcyBwciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzLikiOw0KJGxhbmdbInByZWZfc2VhcmNobW9kdWxlX2luZGV4Il0gPSAiSW5kZXhlciBsZXMgbml2ZWF1eCBzdWl2YW50IHBvdXIgbGUgbW9kdWxlIGRlIHJlY2hlcmNoZSI7DQokbGFuZ1siaGVscF9zZWFyY2htb2R1bGVfaW5kZXgiXSA9ICIoU2FucyBlZmZldCBzdXIgbCdhY3Rpb24gXCJzZWFyY2hcIiBkZSBjZSBtb2R1bGUuIE5vdGV6IHF1J2FwciZlZ3JhdmU7cyBhdm9pciBjaGFuZyZlYWN1dGU7IGNlcyBwYXJhbSZlZ3JhdmU7dHJlcywgdm91cyBkZXZyZXogciZlYWN1dGU7aW5kZXhlciBwb3VyIHZvdXMgZCZlYWN1dGU7YmFycmFzc2VyIGRlcyBkb25uJmVhY3V0ZTtlcyBkJmVhY3V0ZTtqJmFncmF2ZTsgaW5kZXgmZWFjdXRlO2VzLiBQb3VyIGNlIGZhaXJlLCByZW5kZXotdm91cyBkYW5zIEV4dGVuc2lvbnMtJmd0O1JlY2hlcmNoZS4pIjsNCiRsYW5nWyJwcmVmX25ld2l0ZW1zZmlyc3QiXSA9ICJMZXMgbm91dmVhdXggJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBkZXZyYWllbnQgYXBwYXJhJmljaXJjO3RyZSBlbiBoYXV0IGRlIGxhIGxpc3RlIHBvdXIgbGVzIG5pdmVhdXggc3VpdmFudHMiOw0KJGxhbmdbImhlbHBfbmV3aXRlbXNmaXJzdCJdID0gIihBdXRyZW1lbnQsIGlscyBhcHBhcmEmaWNpcmM7dHJvbnQgYmllbiBzJnVjaXJjO3IgYXUgYmFzIGRlIGxhIGxpc3RlKSI7DQokbGFuZ1sicHJlZl9yZXN0cmljdF9wZXJtaXNzaW9ucyJdID0gIkxhIG1hbmlwdWxhdGlvbiBkJyZlYWN1dGU7bCZlYWN1dGU7bWVudCBkZXZyYWl0LWVsbGUgJmVjaXJjO3RyZSByZXN0cmVpbnRlIGF1eCB1dGlsaXNhdGV1cnMgcG9zcyZlYWN1dGU7ZGFudCBsZXMgcGVybWlzc2lvbnMgc3AmZWFjdXRlO2NpZmlxdWVzIGF1IG5pdmVhdSBjb25jZXJuJmVhY3V0ZTs/IjsNCiRsYW5nWyJwcmVmX2Rpc3BsYXlfZmlsdGVyIl0gPSAiQWZmaWNoZXIgbGUgZmlsdHJlIHN1ciBsZSBwYW5uZWF1IGQnYWRtaW5pc3RyYXRpb24/IjsNCiRsYW5nWyJwcmVmX2Rpc3BsYXlfaW5zdGFudHNlYXJjaCJdID0gIkFmZmljaGVyIGxhIHJlY2hlcmNoZXIgaW5zdGFudGFuJmVhY3V0ZTtlIHN1ciBsZSBwYW5uZWF1IGQnYWRtaW5pc3RyYXRpb24/IjsNCiRsYW5nWyJwcmVmX2Rpc3BsYXlfaW5zdGFudHNvcnQiXSA9ICJBZmZpY2hlciBsZXMgbGllbnMgZGUgY2xhc3NlbWVudCBpbnN0YW50YW4mZWFjdXRlOyBwYXIgY29sb25uZT8iOw0KJGxhbmdbInByZWZfZWRpdGFibGVfYWxpYXNlcyJdID0gIkwnYWxpYXMgZGVzICZlYWN1dGU7bCZlYWN1dGU7bWVudHMgZGV2cmFpdC1pbCAmZWNpcmM7dHJlIG1hbnVlbGxlbWVudCAmZWFjdXRlO2RpdGFibGU/IjsNCiRsYW5nWyJwcmVmX2ZvcmNlX2xpc3QiXSA9ICJMYSBwYXJhbSZlZ3JhdmU7dHJlIFwiZm9yY2VsaXN0XCIgZGV2cmFpdC1pbCAmZWNpcmM7dHJlIGFjdGl2JmVhY3V0ZTsgcGFyIGQmZWFjdXRlO2ZhdXQ/IChsJ2FmZmljaGFnZSBkZSBsaXN0ZSBzZXJhIHV0aWxpcyZlYWN1dGU7IG0mZWNpcmM7bWUgbG9yc3F1J2lsIG4neSBhIHF1J3VuICZlYWN1dGU7bCZlYWN1dGU7bWVudCAmYWdyYXZlOyBhZmZpY2hlci4pIjsNCiRsYW5nWyJwcmVmX2FsbG93X3NxbCJdID0gIlBlcm1ldHRyZSBkZXMgcmVxdSZlY2lyYzt0ZXMgU1FMIG1hbnVlbGxlcz8iOw0KJGxhbmdbInByZWZfdXNlX2hpZXJhcmNoeSJdID0gIkFmZmljaGVyIGxhIGhpJmVhY3V0ZTtyYXJjaGllIGNvbXBsJmVncmF2ZTt0ZSBkYW5zIGxlIGZpbHRyZSBldCBsZSBjaG9peCBkdSBwYXJlbnQ/IChwYW5uZWF1IGQnYWRtaW5pc3RyYXRpb24pIjsNCiRsYW5nWyJwcmVmX29yZGVyYnluYW1lIl0gPSAiT3Jkb25uZXIgbGVzIGRyb3Bkb3ducyBkZSBwYXJlbnQgcGFyIG5vbT8iOw0KJGxhbmdbInByZWZfbWF4c2hvd25wYWdlcyJdID0gIk5vbWJyZSBtYXhpbWFsIGRlIHBhZ2VzIGFmZmljaCZlYWN1dGU7ZXMgZGFucyBsZSBtZW51IGRlIHBhZ2luYXRpb246ICI7DQokbGFuZ1sicHJlZl9hdXRvaW5jcmVtZW50X2FsaWFzIl0gPSAiSW5jciZlYWN1dGU7bWVudGVyIGF1dG9tYXRpcXVlbWVudCBsZXMgYWxpYXMgZW4gY2FzIGRlIG5vbXMgaWRlbnRpcXVlcz8iOw0KJGxhbmdbInByZWZfZGVjb2RlZW50aXRpZXMiXSA9ICJEJmVhY3V0ZTtjb2RlciBsZXMgZW50aXQmZWFjdXRlO3MgaHRtbCBkYW5zIGxvcnMgZCdlbnZvaSBkZSBmb3JtdWxhaXJlcyBmcm9udC1lbmQuIjsNCiRsYW5nWyJwcmVmX2FsbG93X2NvbXBsZXhfb3JkZXIiXSA9ICJQZXJtZXR0cmUgbGVzIHBhcmFtJmVncmF2ZTt0cmVzIFwib3JkZXJieVwiIGNvbXBsZXhlcyAoYmV0YSkuIjsNCiRsYW5nWyJwcmVmX2FkbWlucGFnZXMiXSA9ICJOb21icmUgZCcmZWFjdXRlO2wmZWFjdXRlO21lbnRzIHBhciBwYWdlIGRhbnMgbGVzIHBhbm5lYXV4IGQnYWRtaW5pc3RyYXRpb24gKDAgPSBwYXMgZGUgcGFnaW5hdGlvbikuIjsNCiRsYW5nWyJwcmVmX2NvbG9yMSJdID0gIkNvdWxldXIgMS4iOw0KJGxhbmdbInByZWZfY29sb3IyIl0gPSAiQ291bGV1ciAyLiI7DQokbGFuZ1sicHJlZl9zY3JpcHRhY2Nlc3MiXSA9ICJQZXJtZXR0cmUgbCdhY2MmZWFjdXRlO3MgYXV4IHNjcmlwdHMgZGFucyBsZXMgdmlkJmVhY3V0ZTtvcz8iOw0KJGxhbmdbInByZWZfZnVsbHNjcmVlbiJdID0gIkFqb3V0ZXIgbGUgYm91dG9uIHBsZWluICZlYWN1dGU7Y3Jhbj8gKE5lIGZvbmN0aW9ubmUgcGFzIHBvdXIgdG91cyBsZXMgc2l0ZXMpIjsNCiRsYW5nWyJwcmVmX2F1dG9wbGF5Il0gPSAiRCZlYWN1dGU7bWFycmVyIGxhIHZpZCZlYWN1dGU7byBxdWFuZCBlbGxlIGVzdCBtYXJxdSZlYWN1dGU7ZSBwYXIgZCZlYWN1dGU7ZmF1dD8gKE5lIGZvbmN0aW9ubmUgcGFzIHBvdXIgdG91cyBsZXMgc2l0ZXMpIjsNCiRsYW5nWyJwcmVmX2xvYWRfbmJjaGlsZHJlbiJdID0gIkNoYXJnZXIgbGUgbm9tYnJlIGQnZW5mYW50cyAoaXRlbS0mZ3Q7bmJjaGlsZHJlbikgcG91ciB0b3VzIGxlcyBpdGVtcyk/IjsNCiRsYW5nWyJwcmVmX2xvYWRfbmV4dHByZXZpb3VzIl0gPSAiQ2hhcmdlciBsZXMgbGllbnMgdmVycyBsZXMgJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBwciZlYWN1dGU7YyZlYWN1dGU7ZGFudCBldCBzdWl2YW50PyAoZCZlYWN1dGU7dGFpbCBzZXVsZW1lbnQpIjsNCiRsYW5nWyJwcmVmX3VzZV9zZXNzaW9uIl0gPSAiVXRpbGlzZXIgbGEgc2Vzc2lvbiBwb3VyIGVucmVnaXN0cmVyIGxlcyBmaWx0cmVzIGRhbnMgbGUgcGFubmVhdSBkJ2FkbWluaXN0cmF0aW9uLiI7DQokbGFuZ1sicHJlZl9sZXZlbHBhZ2luYXRpb24iXSA9ICJOb21icmUgZCcmZWFjdXRlO2wmZWFjdXRlO21lbnQgcGFyIHBhZ2UgcG91ciBsZSBmcm9udGVuZCI7DQokbGFuZ1siaGVscF9sZXZlbHBhZ2luYXRpb24iXSA9ICIoTGFpc3NlciB2aWRlIG91IG1ldHRyZSAwIHBvdXIgZCZlYWN1dGU7c2FjdGl2ZXIgbGEgcGFnaW5hdGlvbiBwYXIgZCZlYWN1dGU7ZmF1dC4gTGUgcGFyYW0mZWdyYXZlO3RyZSBuYnBlcnBhZ2UgYSBwciZlYWN1dGU7cyZlYWN1dGU7YW5jZSBzdXIgY2VzIGNvbmZpZ3VyYXRpb25zLikiOw0KDQovL1BBUkFNRVRFUlMNCiRsYW5nWyJwaGVscF9hY3Rpb24iXSA9ICJBY3Rpb25zIHBvc3NpYmxlczogXCJsaW5rXCIsIFwic2VhcmNoXCIsIFwiYnJlYWRjcnVtYnNcIiwgXCJkZWZhdWx0XCIsIFwic2l0ZW1hcFwiLiI7DQokbGFuZ1sicGhlbHBfYWN0aW9uIl0gPSAiU29pdCBcImxpbmtcIiwgXCJzZWFyY2hcIiwgXCJicmVhZGNydW1ic1wiIG91IFwiZGVmYXVsdFwiIChldCBwb3NzaWJsZW1lbnQgXCJzaXRlbWFwXCIgZXQgXCJmcm9udGVuZF9lZGl0XCIpLiI7DQokbGFuZ1sicGhlbHBfd2hhdCJdID0gIlBlcm1ldCBkZSBzcCZlYWN1dGU7Y2lmaWVyIGxlIG5pdmVhdS4gTGVzIHZhbGV1cnMgcG9zc2libGVzIHNvbnQgOiA8aT5jYXRlZ29yeSwgYWxidW0sIHZpZGVvPC9pPiI7DQokbGFuZ1sicGhlbHBfYWxpYXMiXSA9ICJBbGlhcyBkZSBsJyZlYWN1dGU7bCZlYWN1dGU7bWVudCBxdWUgdm91cyB2b3VsZXogYWZmaWNoZXIuIjsNCiRsYW5nWyJwaGVscF9wYXJlbnQiXSA9ICJTaSB2b3VzIHZvdWxleiBsaW1pdGVyIGxlcyAmZWFjdXRlO2wmZWFjdXRlO21lbnRzIGFmZmljaCZlYWN1dGU7cyAmYWdyYXZlOyBjZXV4IGFwcGFydGVuYW50ICZhZ3JhdmU7IHVuIHBhcmVudCBwYXJ0aWN1bGllciwgZW50cmV6IGljaSBsJ2FsaWFzIGR1IHBhcmVudC4iOw0KJGxhbmdbInBoZWxwX2xpbWl0Il0gPSAiTGltaXRlIGxlIG5vbWJyZSBkJ2l0ZW0gcmV0b3VybiZlYWN1dGU7cyBwYXIgbGEgcmVxdSZlY2lyYzt0ZSAoMCA9IHBhcyBkZSBsaW1pdGUpIjsNCiRsYW5nWyJwaGVscF9uYnBlcnBhZ2UiXSA9ICJMaW1pdGUgbGUgbm9tYnJlIGQnJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBhZmZpY2gmZWFjdXRlO3MgcGFyIHBhZ2UuIjsNCiRsYW5nWyJwaGVscF9vcmRlcmJ5Il0gPSAiVmFsZXVycyBwb3NzaWJsZXMgOiBcIm1vZGlmaWVkXCIsIFwiY3JlYXRlZFwiIG91IGxlIG5vbSBkJ3VuIGNoYW1wLiBUb3V0ZSBhdXRyZSB2YWxldXIgb3Jkb25uZXJhIGVuIGZvbmN0aW9uIGRlIGwnb3JkcmUgbm9ybWFsIGRlcyBpdGVtcy4iOw0KJGxhbmdbInBoZWxwX2RldGFpbHBhZ2UiXSA9ICJTcCZlYWN1dGU7Y2lmaWUgbCdhbGlhcyBkZSBsYSBwYWdlIHZlcnMgbGFxdWVsbGUgcG9pbnRlcm9udCBsZXMgbGllbnMgKHNpIHJpZW4gbidlc3Qgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOywgbGEgcGFnZSBhY3R1ZWxsZSBlc3QgdXRpbGlzJmVhY3V0ZTtlKSI7DQokbGFuZ1sicGhlbHBfc2hvd2RlZmF1bHQiXSA9ICJNZXR0cmUgXCJ0cnVlXCIgc2kgdm91cyB2b3VsZXogYWZmaWNoZXIgbCcmZWFjdXRlO2wmZWFjdXRlO21lbnQgcGFyIGQmZWFjdXRlO2ZhdXQuIjsNCiRsYW5nWyJwaGVscF9yYW5kb20iXSA9ICJFbnRyZXogdW4gbm9tYnJlIHBvdXIgYWZmaWNoZXIgY2Ugbm9tYnJlIGQnJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBhbCZlYWN1dGU7YXRvaXJlcy4iOw0KJGxhbmdbInBoZWxwX2ZpbmFsdGVtcGxhdGUiXSA9ICJQZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciBsZSBnYWJhcml0ICZhZ3JhdmU7IHV0aWxpc2VyIHBvdXIgbCdhZmZpY2hhZ2UgZCd1bmUgdmlkw6lvIGhvcnMgbGlzdGUuIjsNCiRsYW5nWyJwaGVscF9lbWJlZHRlbXBsYXRlIl0gPSAiUGVybWV0IGRlIHNwJmVhY3V0ZTtjaWZpZXIgbGUgZ2FiYXJpdCAmYWdyYXZlOyB1dGlsaXNlciBwb3VyIGltYnJpcXVlciB1bmUgdmlkZW8gKGVtYmVkZGluZykuIjsNCiRsYW5nWyJwaGVscF9saXN0dGVtcGxhdGUiXSA9ICJQZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciBsZSBnYWJhcml0ICZhZ3JhdmU7IHV0aWxpc2VyIHBvdXIgbCdhZmZpY2hhZ2UgZGUgbGlzdGUgZCZlYWN1dGU7dGFpbGwmZWFjdXRlOyBkdSBuaXZlYXUgZmluYWwuIjsNCiRsYW5nWyJwaGVscF9mb3JjZWxpc3QiXSA9ICJNZXR0cmUgJmFncmF2ZTsgMSBzaSB2b3VzIHZvdWxleiBhZmZpY2hlciBlbiBmb3JtYXQgbGlzdCBtJmVjaXJjO21lIGxvcnNxdSdpbCBuJ3kgYSBxdSd1biAmZWFjdXRlO2wmZWFjdXRlO21lbnQgKGFmZmVjdGUgbGUgbml2ZWF1IGZpbmFsIHNldWxlbWVudCkuIjsNCiRsYW5nWyJwaGVscF9pbnRlcm5hbCJdID0gIlBvdXIgdXNhZ2UgaW50ZXJuZTsgc3AmZWFjdXRlO2NpZmllIGxhIHBhZ2UgKGxvcnNxdWUgbmJwZXJwYWdlIGVzdCB1dGlsaXMmZWFjdXRlOy4iOw0KJGxhbmdbInBoZWxwX3NlYXJjaG1vZGUiXSA9ICJVdGlsaXNlciBhdmVjIGwnYWN0aW9uIFwic2VhcmNoXCIuIE1ldHRyZSBcInNpbXBsZVwiIHBvdXIgY2hlcmNoZXIgZGFucyB0b3VzIGxlcyBjaGFtcHMsIGV0IFwiYWR2YW5jZWRcIiBwb3VyIGNoZXJjaGVyIGRhbnMgZGVzIGNoYW1wcyBzcCZlYWN1dGU7Y2lmaXF1ZXMuIjsNCiRsYW5nWyJwaGVscF9xdWVyeSJdID0gIlV0aWxpc2VyIGF2ZWMgbCdhY3Rpb24gXCJkZWZhdWx0XCIuIEluZGlxdWUgbCdpZCBkZSBsYSByZXF1JmVjaXJjO3RlICZhZ3JhdmU7IGV4JmVhY3V0ZTtjdXRlci4iOw0KJGxhbmdbInBoZWxwX2lubGluZSJdID0gIk1ldCBsZXMgbGllbnMgXCJpbmxpbmVcIi4iOw0KJGxhbmdbInBoZWxwX3RvYWN0aW9uIl0gPSAiVXRpbGlzZXIgYXZlYyBsJ2FjdGlvbiBcImxpbmtcIi4gSW5kaXF1ZSB2ZXJzIHF1ZWxsZSBhY3Rpb24gbGUgbGllbiBkZXZyYSBkaXJpZ2VyLiI7DQoNCj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/help_fr_FR.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCjwhLS0NCi5zdHlsZTEge2ZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2V9DQotLT4NCjwvc3R5bGU+DQo8aDM+UXVlIGZhaXQgY2UgbW9kdWxlPzwvaDM+DQo8cD5DZSBtb2R1bGUgcGVybWV0IGRlIGcmZWFjdXRlO3JlciAgZGVzIGNhdGFsb2d1ZXMgZCdhbGJ1bXMgdmlkJmVhY3V0ZTtvIHF1aSBzb250IGgmZWFjdXRlO2JlcmcmZWFjdXRlO2VzIHN1ciBkZXMgc2l0ZXMgdGVscyBxdWUgWW91dHViZSwgRGFpbHltb3Rpb24sIEdvb2dsZSBWaWRlb3MsIFlhaG9vIFZpZGVvcywgVmVvaCwgTVNOIChvdSBCaW5nKSBWaWRlb3MsIFZpbWVvLCBNeVNwYWNlIG91IE1ldGFDYWZlLiA8L3A+DQoJPHA+SWwgZyZlZ3JhdmU7cmUgMyBuaXZlYXV4OiBsYSBjYXQmZWFjdXRlO2dvcmllLCBsJ2FsYnVtIHZpZGVvIGV0IGxhIHZpZCZlYWN1dGU7byBlbGxlLW0mZWNpcmM7bWUgZXQgcGVybWV0IGQnaW50JmVhY3V0ZTtncmVyIGxlcyB2aWQmZWFjdXRlO29zIHVuZSBwYXIgdW5lIG91IGRhbnMgZGVzIGxpc3RlcyBzdXIgdW5lIHBhZ2UuIDwvcD4NCgk8cD5EZXB1aXMgbGEgdmVyc2lvbiAxLjEsIGlsIGVzdCAmZWFjdXRlO2dhbGVtZW50IHBvc3NpYmxlIGRlIGcmZWFjdXRlO3JlciBkZXMgdmlkJmVhY3V0ZTtvcyBsb2NhbGVtZW50IChmb3JtYXRzIG1rdiwgZGl2eCwgYXZpLCBtcDQpIGVuIHV0aWxpc2FudCBsZSBwbHVnaW4gZGl2eCB3ZWIgcGxheWVyITwvcD4NCjxoMz5Db21tZW50IGwndXRpbGlzZXI/PC9oMz4NCgk8aDQ+UGVybWlzc2lvbnM8L2g0Pg0KCTxwPkF2YW50IGRlIGQmZWFjdXRlO2J1dGVyLCBhc3N1cmV6LXZvdXMgcXVlIGxlcyB1dGlsaXNhdGV1cnMgb250IGxlcyBwZXJtaXNzaW9ucyBhcHByb3ByaSZlYWN1dGU7cy48L3A+DQoJCQlTaSB2b3VzIG4ndXRpbGlzZXogcGFzIGwnb3B0aW9uIGRlIHBlcnNvbm5hbGlzYXRpb24gZGVzIHJlc3RyaWN0aW9ucyBkJ2FjYyZlZ3JhdmU7cyAodm9pciBsZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyksIA0KCQkJbGEgcGVybWlzc2lvbiAmcXVvdDtIb3N0ZWRWaWRlb0FsYnVtczogTm9ybWFsIHVzZXImcXVvdDsgIHNlcmEgc3VmZmlzYW50ZSBwb3VyIGxlIG1vZHVsZS4gDQoJCQlEYW5zIGwnb25nbGV0IGRlcyBwciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzLCB2b3VzIHBvdXZleiBjaG9pc2lyIHF1ZWxzIG9uZ2xldHMNCgkJCXNlcm9udCBtb250ciZlYWN1dGU7cyBhdXggdXRpbGlzYXRldXJzIG5vcm1hdXguIFNldWwgbCdhZG1pbmlzdHJhdGV1ciBldCBsZXMgdXRpbGlzYXRldXJzIGF5YW50IGxhIHBlcm1pc3Npb24gJnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXM6IEFkdmFuY2VkJnF1b3Q7IA0KCQkJYXVyb250IGFjYyZlYWN1dGU7cyAmYWdyYXZlOyBsJ29uZ2xldCBkZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcy48YnIvPg0KCQlTaSB2b3VzIGQmZWFjdXRlO3NpcmV6IGQmZWFjdXRlO2ZpbmlyIGRlcyBwZXJtaXNzaW9ucyBzcCZlYWN1dGU7Y2lmaXF1ZXMgcGFyIG5pdmVhdSwgYWN0aXZleiBsJ29wdGlvbiBkZSByZXN0cmljdGlvbiBkJ2FjYyZlYWN1dGU7c24gDQoJCQlkYW5zICBsJ29uZ2xldCBkZXMgcHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlcyBldCBkb25uZXogbGEgcGVybWlzc2lvbiAmcXVvdDtIb3N0ZWRWaWRlb0FsYnVtczogTWFuYWdlIG5hbWVfb2ZfbGV2ZWwmcXVvdDsgYXV4IHV0aWxpc2F0ZXVycyBhcHByb3ByaSZlYWN1dGU7cy48L3A+DQoJCQk8YnI+DQoJPGg0PkFqb3V0IGRlIGNhdCZlYWN1dGU7Z29yaWVzLCBkJ2FsYnVtcyB2aWQmZWFjdXRlO29zIGV0IGRlIHZpZCZlYWN1dGU7b3M8L2g0Pg0KCTxwPlBvdXIgdXRpbGlzZXIgY2UgbW9kdWxlLCB2b3VzIGFsbGV6IGRldm9pciBjciZlYWN1dGU7ZXIgbGVzIDMgbml2ZWF1eCAoYydlc3QgJmFncmF2ZTsgZGlyZSBjYXQmZWFjdXRlO2dvcmllLCBhbGJ1bSBldCB2aWQmZWFjdXRlO28pLiBEJ2Fib3JkLCB2b3VzIGFsbGVyIGNyJmVhY3V0ZTtlciBsZXMgY2F0JmVhY3V0ZTtnb3JpZXMgZGFucyBsJ29uZ2xldCAmcXVvdDtDYXQmZWFjdXRlO2dvcmllcyZxdW90OywgcHVpcyBjciZlYWN1dGU7ZXIgbGVzIGFsYnVtcyBkYW5zIGwnb25nbGV0ICZxdW90O0FsYnVtcyBWaWQmZWFjdXRlO29zJnF1b3Q7IGV0IGVuZmluLCBjciZlYWN1dGU7ZXIgbGVzIHZpZCZlYWN1dGU7b3MgZWxsZXMtbSZlY2lyYzttZXMgZGFucyBsJ29uZ2xldCAmcXVvdDtWaWQmZWFjdXRlO29zJnF1b3Q7LjwvcD4NCgk8cD5Qb3VyIGxlcyBjYXQmZWFjdXRlO2dvcmllcywgaWwgc3VmZml0IGRlIGZvdXJuaXIgbGUgbm9tIGQnYWZmaWNoYWdlLCBldCBvcHRpb25lbGxlbWVudCBzb24gYWxpYXMgKHV0aWxpcyZlYWN1dGU7IGF2ZWMgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDthbGlhcyZxdW90OyBwbHVzIGxvaW4pIGV0IHNhIGRlc2NyaXB0aW9uLjxiciAvPg0KCVBvdXIgbGVzIGFsYnVtcywgdm91cyBkb25uZXJleiAmZWFjdXRlO2dhbGVtZW50IHVuIG5vbSwgdW4gYWxpYXMgKG9wdGlvbmVsKSwgbGEgY2F0JmVhY3V0ZTtnb3JpZSAmYWdyYXZlOyBsYXF1ZWxsZSBsJ2FsYnVtIHNlIHJhdHRhY2hlLCB1bmUgZGVzY3JpcHRpb24gKG9wdGlvbmVsbGUpLCB1bmUgbGFuZ3VlIChzb3VzIGxhIGZvcm1lIGZyIG91IGVuLVVTKSwgZXQgbGVzIGxhcmdldXIgZXQgaGF1dGV1ciBwYXIgZCZlYWN1dGU7ZmF1dCBkZXMgdmlkJmVhY3V0ZTtvcyBkZSBjZXQgYWxidW1zICh1dGlsaXMmZWFjdXRlO2VzIGxvcnNxdWUgbGEgbGFyZ2V1ciBvdSBsYSBoYXV0ZXVyIGQndW5lIHZpZCZlYWN1dGU7byBuZSBzb250IHBhcyBmb3VybmllcykuPC9wPg0KCTxwPlBvdXIgbGVzIHZpZCZlYWN1dGU7b3MsIHZvdXMgZGV2ZXogZG9ubmVyIHVuIG5vbSwgdW4gYWxpYXMgKG9wdGlvbmVsKSwgbCdhbGJ1bSBhdXF1ZWwgbGEgdmlkJmVhY3V0ZTtvIGVzdCBhdHRhY2gmZWFjdXRlO2UsIHVuZSBkZXNjcmlwdGlvbiAob3B0aW9uZWxsZSksIGxlIHNpdGUgc3VyIGxlcXVlbCBsYSB2aWQmZWFjdXRlO28gZXN0IGgmZWFjdXRlO2JlcmcmZWFjdXRlO2UsIGwnaWRlbnRpZmlhbnQgZGUgbGEgdmlkJmVhY3V0ZTtvICh2b2lyIHBsdXMgbG9pbikgZXQgb3B0aW9uZWxsZW1lbnQsIGxhIGxhcmdldXIgZXQgbGEgaGF1dGV1ciBkZSBsYSB2aWQmZWFjdXRlO28gKHNpbm9uLCBjJ2VzdCBsYSB2YWxldXIgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgbCdhbGJ1bSBxdWkgZXN0IHV0aWxpcyZlYWN1dGU7ZSk8L3A+DQoJPGg1Pk8mdWdyYXZlOyBwdWlzIGplIHRyb3V2ZXIgbGVzIGlkZW50aWZpYW50cywgbGVzIGxhcmdldXJzIGV0IGhhdXRldXJzIGRlcyB2aWQmZWFjdXRlO29zPzwvaDUJPg0KCTxwPlBvdXIgPHN0cm9uZz5Zb3V0dWJlPC9zdHJvbmc+LCBsJ2lkIGRlIHZpZCZlYWN1dGU7byBlc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgJnF1b3Q7dj0mcXVvdDsuIFBhciBleGVtcGxlLCBkYW5zICZxdW90O2h0dHA6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj03U1p0R3ZYa0VJdyZxdW90OywgYydlc3QgJnF1b3Q7N1NadEd2WGtFSXcmcXVvdDsuPGJyIC8+DQoJUG91ciA8c3Ryb25nPkRhaWx5bW90aW9uPC9zdHJvbmc+LCBsJ2lkIGRlIHZpZCZlYWN1dGU7byBlc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgbGUgZGVybmllciAmcXVvdDsvJnF1b3Q7LiBQYXIgZXhlbXBsZSwgZGFucyAmcXVvdDtodHRwOi8vd3d3LmRhaWx5bW90aW9uLmNvbS92aWRlby94Y3FhMGdfY29ybmVyc2hvcC13aG8tZmluZ2VyZWQtcm9jay1uLXJvbGxfbXVzaWMmcXVvdDssIGMnZXN0ICZxdW90O3hjcWEwZ19jb3JuZXJzaG9wLXdoby1maW5nZXJlZC1yb2NrLW4tcm9sbF9tdXNpYyZxdW90Oy48YnIgLz4NCgkgIFBvdXIgPHN0cm9uZz5ZYWhvbyB2aWRlb3M8L3N0cm9uZz4sIGwnaWQgZGUgdmlkJmVhY3V0ZTtvIGVzdCBsYSBkZXJuaSZlZ3JhdmU7cmUgcGFydGllIGRlIGwndXJsIGFwciZlZ3JhdmU7cyBsZSBkZXJuaWVyICZxdW90Oy8mcXVvdDsuIFBhciBleGVtcGxlLCBkYW5zICZxdW90O2h0dHA6Ly92aWRlby55YWhvby5jb20vd2F0Y2gvNzA5NTY4Ny8xODQ2NTg3OCZxdW90OywgYydlc3QgJnF1b3Q7MTg0NjU4NzgmcXVvdDsuPGJyIC8+DQogIFBvdXIgPHN0cm9uZz5Hb29nbGUgdmlkZW9zPC9zdHJvbmc+LCBsJ2lkIGRlIHZpZCZlYWN1dGU7byBlc3QgbGEgZGVybmkmZWdyYXZlO3JlIHBhcnRpZSBkZSBsJ3VybCBhcHImZWdyYXZlO3MgJnF1b3Q7ZG9jaWQ9JnF1b3Q7LiBQYXIgZXhlbXBsZSwgZGFucyAmcXVvdDtodHRwOi8vdmlkZW8uZ29vZ2xlLmNvbS92aWRlb3BsYXk/ZG9jaWQ9NzUyMTQyMzM4ODYzNzU0MjY1NyMmcXVvdDssIGMnZXN0ICZxdW90Ozc1MjE0MjMzODg2Mzc1NDI2NTcjJnF1b3Q7LjxiciAvPg0KICBQb3VyIDxzdHJvbmc+VmVvaDwvc3Ryb25nPiwgbCdpZCBkZSB2aWQmZWFjdXRlO28gZXN0IGxhIGRlcm5pJmVncmF2ZTtyZSBwYXJ0aWUgZGUgbCd1cmwgYXByJmVncmF2ZTtzIGxlIGRlcm5pZXIgJnF1b3Q7LyZxdW90Oy4gUGFyIGV4ZW1wbGUsIGRhbnMgJnF1b3Q7aHR0cDovL3d3dy52ZW9oLmNvbS9icm93c2UvdmlkZW9zL2NhdGVnb3J5L211c2ljL3dhdGNoL3Y1NTU2NThzZXRrUDNEOCZxdW90OywgYydlc3QgJnF1b3Q7djU1NTY1OHNldGtQM0Q4JnF1b3Q7LjxiciAvPg0KICBQb3VyIDxzdHJvbmc+TVNOIG91IEJpbmcgVmlkZW9zPC9zdHJvbmc+LCB1dGlsaXNleiAmcXVvdDttc24gdmlkZW8mcXVvdDsgZXQgY2hlcmNoZXIgZGFucyBsZSBjb2RlIGQnaW50JmVhY3V0ZTtncmF0aW9uIGxhIGNoYSZpY2lyYztuZSAmcXVvdDtwbGF5ZXIudj0uLi4mcXVvdDssIGwnaWQgZGUgbGEgdmlkZW8gZXN0IGxhIGNoYSZpY2lyYztuZSBoZXhhIGFwciZlZ3JhdmU7cyAmcXVvdDtwbGF5ZXIudiZxdW90Oy4gUGFyIGV4ZW1wbGUsIGRhbnMgJnF1b3Q7cGxheWVyLnY9ZmNjNDA5YTAtYThiMC00MjQzLTgzYjItZmY0YTVlYjNhODZlJnF1b3Q7LCBsJ2lkIGVzdCAmcXVvdDtmY2M0MDlhMC1hOGIwLTQyNDMtODNiMi1mZjRhNWViM2E4NmUmcXVvdDsuPGJyIC8+DQpQb3VyIDxzdHJvbmc+bWV0YWNhZmU8L3N0cm9uZz4sIGMnZXN0IGxhIHBhcnRpZSBudW0mZWFjdXRlO3JpcXVlICZhZ3JhdmU7IGxhIGZpbiBkZSBsJ3VybC4gUGFyIGV4ZW1wbGUsIGRhbnMgJnF1b3Q7aHR0cDovL3d3dy5tZXRhY2FmZS5jb20vd2F0Y2gvNDQ3NDgzOS9wYXN0YV8wMTMvJnF1b3Q7LCBjJ2VzdCA0NDc0ODM5LjxiciAvPg0KUG91ciA8c3Ryb25nPk15U3BhY2U8L3N0cm9uZz4sIGMnZXN0IGxhIHBhcnRpZSBhcHImZWdyYXZlO3MgJnF1b3Q7dmlkZW9pZD0mcXVvdDsgZGFucyBsJ3VybC4gUGFyIGV4ZW1wbGUsIGRhbnMgJnF1b3Q7aHR0cDovL3ZpZHMubXlzcGFjZS5jb20vaW5kZXguY2ZtP2Z1c2VhY3Rpb249dmlkcy5pbmRpdmlkdWFsJmFtcDt2aWRlb2lkPTEwNDMxNzk0OSZxdW90OywgYydlc3QgMTA0MzE3OTQ5LjxiciAvPg0KUG91ciA8c3Ryb25nPlZpbWVvPC9zdHJvbmc+LCBjJ2VzdCBsYSBkZXJuaSZlZ3JhdmU7cmUgcGFydGllIGRlIGwndXJsLiBQYXIgZXhlbXBsZSwgZGFucyAmcXVvdDtodHRwOi8vdmltZW8uY29tLzEwODc1MDg4JnF1b3Q7LCBjJ2VzdCAxMDg3NTA4OC48YnIgLz4NCg0KICA8aDU+Vmlk6W9zIGxvY2FsZXM8L2g1Pg0KICBQb3VyIDxzdHJvbmc+aW5zJmVhY3V0ZTtyZXIgdW5lIHZpZCZlYWN1dGU7byBoJmVhY3V0ZTtiZXJnJmVhY3V0ZTtlIHN1ciB2b3RyZSBzaXRlPC9zdHJvbmc+LCBjaG9pc2lzc2V6IGxlIHNpdGUgImxvY2FsLWRpdngiLiBMJ2lkIGRlIHZpZCZlYWN1dGU7byBlc3QgbGUgbm9tIGNvbXBsZXQgZHUgZmljaGllciBkZXB1aXMgbGEgcmFjaW5lIGR1IHNpdGUgY21zbXMgKHBhciBleGVtcGxlLCBzaSBsZSBmaWxtIGVzdCBkYW5zIGxlIGRvc3NpZXIgIk1lc0ZpbG1zIiAmYWdyYXZlOyBsYSByYWNpbmUgZHUgc2l0ZSBjbXNtcyBldCBzJ2FwcGVsbGUgIk1vbkZpbG0uYXZpIiwgbCdpZCBzZXJhICIvTWVzRmlsbXMvTW9uRmlsbS5hdmkiLg0KICA8L3A+DQo8aDU+SGF1dGV1ciZhbXA7TGFyZ2V1cjwvaDU+DQoJPHA+TGEgbGFyZ2V1ciBldCBsYSBoYXV0ZXVyIGRlcyB2aWQmZWFjdXRlO29zIHBldXZlbnQgZyZlYWN1dGU7biZlYWN1dGU7cmFsZW1lbnQgJmVjaXJjO3RyZSB0cm91diZlYWN1dGU7cyBkYW5zIGxlIGNvZGUgZCdpbnQmZWFjdXRlO2dyYXRpb24gKCZxdW90O2VtYmVkJnF1b3Q7KSAgZGVzICAgc2l0ZXMgdmlkJmVhY3V0ZTtvLiBQb3VyIGNoYWN1biBkZSBjZXMgc2l0ZXMsICAgc29pdCBkaXJlY3RlbWVudCBkYW5zIGxhIHBhZ2Ugb3UgZW4gY2xpcXVhbnQgc3VyIHVuIGxpZW4gZGFucyBsYSBwYWdlICAgKFlvdXR1YmUgJmFtcDsgR29vZ2xlIFZpZGVvcyApIG91IGVuIGNsaXF1YW50IHN1ciBsZSBib3V0b24gRXhwb3J0ZXIgICBkYW5zIGxhIHZpZCZlYWN1dGU7byAoRGFpbHltb3Rpb24pLCB1biBib3V0IGRlIGNvZGUgSFRNTCBjb250ZW5hbnQgdW5lIGxhcmdldXIgZXQgdW5lIGhhdXRldXIgdm91cyBzZXJhIGZvdXJuaS48L3A+DQoJPGg0PkFwcGVsIGR1IG1vZHVsZSBkYW5zIHVuZSBwYWdlPC9oND4NCgk8cD5Qb3VyIGFwcGVsZXIgbGUgbW9kdWxlLCBpbCBzdWZmaXQgZCd1dGlsaXNlciBsYSBiYWxpc2Ugc3VpdmFudGU6IHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90OyZsdDtsZXZlbCZndDsmcXVvdDt9PC9wPg0KCTxwPlNpIHZvdXMgb21ldHRleiBjZSBwYXJhbSZlZ3JhdmU7dHJlLCA8c3Ryb25nPnRvdXRlPC9zdHJvbmc+IGxhIGxpc3RlIGRlcyB2aWQmZWFjdXRlO29zIHNlcmEgYWZmaWNoJmVhY3V0ZTtlLiBDZWxhICZlYWN1dGU7cXVpdmF1dCAmYWdyYXZlOzo8YnIgLz4NCgkgIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O3ZpZGVvJnF1b3Q7fTwvcD4NCgk8cD4ge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHdoYXQ9JnF1b3Q7Y2F0ZWdvcnkmcXVvdDt9IGFmZmljaGVyYSBsYSBsaXN0ZSBkZXMgY2F0JmVhY3V0ZTtnb3JpZXMuPC9wPg0KCTxwPntjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O2FsYnVtJnF1b3Q7fSBhZmZpY2hlcmEgbGEgbGlzdGUgZGVzIGFsYnVtcywgcXVlbHF1ZSBzb2l0IGxldXIgY2F0JmVhY3V0ZTtnb3JpZS48L3A+DQoJPHA+Vm91cyBwb3V2ZXogYXVzc2kgZGVtYW5kZXIgZGVzICZlYWN1dGU7bCZlYWN1dGU7bWVudHMgcXVpIGFwcGFydGllbm5lbnQgJmFncmF2ZTsgdW4gcGFyZW50IHNwJmVhY3V0ZTtjaWZpcXVlOjxiciAvPg0KCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyBwYXJlbnQ9JnF1b3Q7YWxpYXNfZHVfcGFyZW50JnF1b3Q7fTxiciAvPg0KCUwnYWxpYXMgcGV1dCAmZWNpcmM7dHJlIHVuZSBjYXQmZWFjdXRlO2dvcmllIG91IGwnYWxpYXMgZCd1biBhbGJ1bS48L3A+DQoJPHA+Vm91cyBwb3V2ZXogZmluYWxlbWVudCBkZW1hbmRlciB1biAmZWFjdXRlO2wmZWFjdXRlO21lbnQgc3AmZWFjdXRlO2NpZmlxdWUgYXZlYzo8YnIgLz4NCgl7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWxpYXM9JnF1b3Q7YWxpYXNfZGVfbF9lbGVtZW50JnF1b3Q7fTwvcD4NCgk8aDQ+UXVlIGZhaXJlIHNpIGplIG4nYWkgcGFzIGJlc29pbiBjYXQmZWFjdXRlO2dvcmllcyBvdSBkZXMgbml2ZWF1eCAgIGFsYnVtcz88L2g0Pg0KCTxwPlZvdXMgICBkZXZleiBjciZlYWN1dGU7ZXIgdW5lIGNhdCZlYWN1dGU7Z29yaWUgcGFyIGQmZWFjdXRlO2ZhdXQgZGUgdG91dGUgZmEmY2NlZGlsO29uLiBOb21tZXogbGEgcGFyIGV4ZW1wbGUgJmxhcXVvO3BhciBkJmVhY3V0ZTtmYXV0JnJhcXVvOyBwdWlzIGNyJmVhY3V0ZTtleiB0b3VzICAgdm9zIGFsYnVtcyBkYW5zIGNldHRlIGNhdCZlYWN1dGU7Z29yaWUgZXQgdXRpbGlzZXo8YnIgLz4NCiAgICAoY21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDt3aGF0PSZxdW90O2FsYnVtJnF1b3Q7KSAgIHBvdXIgYWZmaWNoZXIgdG91cyBsZXMgYWxidW1zLjxiciAvPg0KICAgIERlIG0mZWNpcmM7bWUsIHNpIHZvdXMgbidhdmV6IHBhcyBiZXNvaW4gZGVzIGFsYnVtcyB2aWQmZWFjdXRlO28sIGNyJmVhY3V0ZTtleiB1biAgIGFsYnVtIHBhciBkJmVhY3V0ZTtmYXV0IGRhbnMgbGEgY2F0JmVhY3V0ZTtnb3JpZSBwYXIgZCZlYWN1dGU7ZmF1dCBldCBjciZlYWN1dGU7ZXogdG91dGVzIHZvcyAgIHZpZCZlYWN1dGU7b3MgZGFucyBjZXQgYWxidW0uIEVuc3VpdGUsIGlucyZlYWN1dGU7cmV6IGxlcyAgIHZpZCZlYWN1dGU7b3MgJmFncmF2ZTsgbCdhaWRlPGJyIC8+DQogICAgZGUge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHdoYXQ9ICZxdW90O3ZpZGVvJnF1b3Q7fTwvcD4NCgk8aDM+UyZlYWN1dGU7cGFyYXRpb24gZW4gcGFnZXM8L2gzPg0KPHA+Vm91cyBwb3V2ZXogbGltaXRlciBsZSBub21icmUgZCcmZWFjdXRlO2wmZWFjdXRlO21lbnRzIGRldmFudCAmZWNpcmM7dHJlIGFmZmljaCZlYWN1dGU7cyBzdXIgdW5lIG0mZWNpcmM7bWUgcGFnZTo8YnIvPg0KeyZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IG5icGVycGFnZT0mcXVvdDs1JnF1b3Q7fTxici8+DQoJCURhbnMgbGUgZ2FiYXJpdCwgdm91cyBwb3V2ZXogY29uc3RydWlyZSBsZSBtZW51IGRlcyBwYWdlcyAmYWdyYXZlOyBsJ2FpZGUgZGVzIGJhbGlzZXMgc3VpdmFudGVzICh2b2lyIGxlcyBnYWJhcml0cyBMaXN0TGlua3Mgb3UgTGlzdFZpZGVvcyk6PGJyLz4NCgkJeyRwYWdlX3Nob3dpbmd9LCB7JHBhZ2VfdG90YWxpdGVtc30sIHskcGFnZV9wYWdlbnVtYmVyc30sIHskcGFnZV9uZXh0fSwgeyRwYWdlX3ByZXZpb3VzfTwvcD4NCgk8cD5EZXMgY2xhc3NlcyBvbnQgJmVhY3V0ZTt0JmVhY3V0ZTsgYXNzaWduJmVhY3V0ZTtlcyBhdXggJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyBkdSBtZW51IGRlIHBhZ2UgcG91ciBxdWUgdm91cyBwdWlzc2V6IGxlIHBlcnNvbm5hbGlzZXIuPC9wPg0KCTxici8+DQoJPGgzPlVzYWdlIGRlcyByZXF1JmVjaXJjO3RlczwvaDM+DQo8cD5Qb3VyIG9idGVuaXIgdW5lIGxpc3RlIGQnJmVhY3V0ZTtsJmVhY3V0ZTttZW50cyByZW5jb250cmFudCBkZXMgY3JpdCZlZ3JhdmU7cmVzIHNwJmVhY3V0ZTtjaWZpcXVlcywgdm91cyBwb3V2ZXogY3ImZWFjdXRlO2VyIGRlcyByZXF1JmVjaXJjO3RlcyAmYWdyYXZlOyANCgkJCWwnYWlkZSBkZSBsJ29uZ2xldCBSZXF1JmVjaXJjO3RlcyBkZSBsJ2FkbWluaXN0cmF0aW9uIGR1IG1vZHVsZS4gVm91cyBwb3VycmV6IGVuc3VpdGUgYXBwZWxlciBjZXR0ZSByZXF1JmVjaXJjO3RlIGF2ZWMgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDtxdWVyeSZxdW90Ozo8YnIvPg0Ke2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHF1ZXJ5PSZxdW90OzEmcXVvdDt9PC9wPg0KCTxwPjxpPlNpIGwnb3B0aW9uIHBlcm1ldHRhbnQgbGVzIHJlcXUmZWNpcmM7dGVzIHNxbCBtYW51ZWxsZXMgZXN0IGFjdGl2JmVhY3V0ZTtlPC9pPiAodm9pciBsJ29uZ2xldCAmcXVvdDtQciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzJnF1b3Q7KSwgdm91cyBwb3V2ZXogYXVzc2kgZm91cm5pciANCgkJCWxhIHJlcXUmZWNpcmM7dGUgc3FsIG1hbnVlbGxlbWVudCBhdmVjIGxlIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7cXVlcnkmcXVvdDsuIFBhciBleGVtcGxlOjxici8+DQoJCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O3ZpZGVvJnF1b3Q7IHF1ZXJ5PSZxdW90O0EuZGF0ZV9tb2RpZmllZCA+ICcyMDA5LTAzLTE1JyBBTkQgQS5hY3RpdmUgPSAxJnF1b3Q7fTxici8+DQoJCUxhIHJlcXUmZWNpcmM7dGUgbmUgcGV1dCBjb250ZW5pciBxdWUgbGEgY2xhdXNlIFdIRVJFIGV0IG5lIGRldnJhaXQgcGFzIGNvbnRlbmlyIGxhIGNvbW1hbmRlIFdIRVJFIGVsbGUtbSZlY2lyYzttZS4gUG91ciAmZWFjdXRlO3ZpdGVyIGxlcyBwcm9ibCZlZ3JhdmU7bWVzLCANCgkJCWxlIHByJmVhY3V0ZTtmaXhlICZxdW90O0EuJnF1b3Q7IGRldnJhaXQgJmVjaXJjO3RyZSB1dGlsaXMmZWFjdXRlOyBkZXZhbnQgbGVzIG5vbXMgZGUgY2hhbXBzICgmcXVvdDtCLiZxdW90OyBwZXJtZXQgZCdhY2MmZWFjdXRlO2RlciBhdXggY2hhbXBzIGR1IHBhcmVudCwgbG9yc3F1ZSANCjxici8+DQoJCUdhcmRleiBlbiB0JmVjaXJjO3RlIHF1J2FjdGl2ZXIgY2V0dGUgZm9uY3Rpb24gaW1wbGlxdWUgZGUgZG9ubmVyIHVuIGFjYyZlZ3JhdmU7cyBzcWwgYXV4IHV0aWxpc2F0ZXVycyBwb3V2YW50IGFjYyZlYWN1dGU7ZGVyIGF1eCBnYWJhcml0cyBldCBzb3lleiBwcnVkZW50cyE8L3A+DQoJPGgzPkdhYmFyaXRzPC9oMz4NCgk8cD5Wb3VzIHBvdXZleiBjaG9pc2lyIHBvdXIgICBjaGFxdWUgbml2ZWF1LCBsZSBnYWJhcml0ICAgcXVpIHBlcm1ldCBkJ2FmZmljaGVyIGNlIG5pdmVhdS48L3A+DQoJPHA+UGFyIGQmZWFjdXRlO2ZhdXQsIHBvdXIgbGUgICBuaXZlYXUgIGNhdCZlYWN1dGU7Z29yaWUsIHVuIHNldWwgZ2FiYXJpdCBlc3QgZm91cm5pOiBMaXN0TGlua3MuIENlIGdhYmFyaXQgYWZmaWNoZSBkYW5zICAgdW5lIGxpc3RlICZhZ3JhdmU7IHB1Y2VzLCBwb3VyIGNoYXF1ZSBjYXQmZWFjdXRlO2dvcmllLCBsZSBub20gZGUgbGEgY2F0JmVhY3V0ZTtnb3JpZSBldCBzYSAgIGRlc2NyaXB0aW9uLiBMZSBub20gZXN0IHVuIGxpZW4gaHlwZXJ0ZXh0ZSB2ZXJzIGxhIHBhZ2UgYWZmaWNoYW50IHRvdXMgbGVzIGFsYnVtcyBkZSBsYSBjYXQmZWFjdXRlO2dvcmllLjxiciAvPg0KCUF1IG5pdmVhdSBkZSBsJ2FsYnVtLCAgIHZvdXMgdXRpbGlzZXogJmVhY3V0ZTtnYWxlbWVudCBMaXN0TGlua3MgcXVpIGFmZmljaGVyYSBkYW5zIHVuZSBsaXN0ZSAmYWdyYXZlOyBwdWNlcywgcG91ciBjaGFxdWUgYWxidW0gZGUgbGEgY2F0JmVhY3V0ZTtnb3JpZSwgbGUgbm9tIGRlIGwnYWxidW0gZXQgc2EgICBkZXNjcmlwdGlvbi4gTGUgbm9tIGVzdCB1biBsaWVuICAgaHlwZXJ0ZXh0ZSB2ZXJzIGxhIHBhZ2UgYWZmaWNoYW50IHRvdXRlcyBsZXMgdmlkJmVhY3V0ZTtvcyBkZSBsJ2FsYnVtLiA8YnIgLz4NCiAgICBBdSBuaXZlYXUgdmlkJmVhY3V0ZTtvLCB2b3VzICAgcG91dmV6IGNob2lzaXIgZW50cmUgTGlzdExpbmtzIGV0IExpc3RWaWRlb3M6PC9wPg0KCTx1bD4NCgkgIDxsaT5MaXN0TGlua3MgYWZmaWNoZXJhLCAgIGNvbW1lIGQnaGFiaXR1ZGUsIGRhbnMgdW5lIGxpc3RlICZhZ3JhdmU7IHB1Y2VzLCBwb3VyIGNoYXF1ZSB2aWQmZWFjdXRlO28gZGUgbCdhbGJ1bSwgICBsZSBub20gZGUgbGEgdmlkJmVhY3V0ZTtvIGV0IHNhIGRlc2NyaXB0aW9uLiBMZSBub20gZXN0IHVuIGxpZW4gICBoeXBlcnRleHRlIHZlcnMgbGEgcGFnZSBhZmZpY2hhbnQgbGEgdmlkJmVhY3V0ZTtvIHF1aSBlc3QgYWZmaWNoJmVhY3V0ZTtlIGVuIHV0aWxpc2FudCAgIGxlICZsYXF1bztnYWJhcml0IGRlIGQmZWFjdXRlO3RhaWwmcmFxdW87IHF1aSBlc3QgcGFyIGQmZWFjdXRlO2ZhdXQgRGlzcGxheVZpZGVvLjwvbGk+DQogICAgICA8bGk+TGlzdFZpZGVvcyBhZmZpY2hlcmEgZGlyZWN0bWVudCAgZGFucyBsYSBwYWdlIGRlIGwnYWxidW0sIHBvdXIgY2hhcXVlIHZpZCZlYWN1dGU7byBkZSBsJ2FsYnVtLCAgIGxlIG5vbSBkZSBsYSB2aWQmZWFjdXRlO28sIHNhIGRlc2NyaXB0aW9uIGV0IGxhIHZpZCZlYWN1dGU7byBlbGxlLW0mZWNpcmM7bWUuIDwvbGk+DQo8L3VsPg0KPGgzPkFqb3V0IGQndW4gbm91dmVhdSBzaXRlICAgZCdoJmVhY3V0ZTtiZXJnZW1lbnQgPC9oMz4NCjxwPklsIGVzdCB0ciZlZ3JhdmU7cyBzaW1wbGUgICBkJ2Fqb3V0ZXIgdW4gbm91dmVhdSBzaXRlIGQnaCZlYWN1dGU7YmVyZ2VtZW50ITwvcD4NCjxwPjxzcGFuPlRvdXQgZCdhYm9yZCwgdm91cyBkZXZleiAgIGpldGVyIHVuIG9laWwgc3VyIGxlIGNvZGUgJmxhcXVvO2QnaW5jcnVzdGF0aW9uJnJhcXVvOyBkZSBjZSBzaXRlIGV0IGVzc2F5ZXIgZGUgcmVwJmVhY3V0ZTtyZXIgIGxhIGZvcm1lIGRlIGwnSUQgZGUgdmlkJmVhY3V0ZTtvIGV0IG8mdWdyYXZlOyBpbCBkb2l0ICZlY2lyYzt0cmUgaW5zJmVhY3V0ZTtyJmVhY3V0ZTsgZGFucyBsZSAgIHBhcmFtJmVncmF2ZTt0cmUgJnF1b3Q7bW92aWUmcXVvdDsgKHVybCBkdSBjb2RlIGQnZW1iZWRkaW5nKS4gPHNwYW4gdGl0bGU9IlRoZW4ganVzdCBhZGQgdGhlICAgbmV3IHNpdGUgbmFtZSBpbiB0aGUgJ1NpdGVzJyB0YWIgdGhlbiBlZGl0IHRoZSBFbWJlZFZpZGVvICAgdGVtcGxhdGUgYW5kIGFkZCBqdXN0IGJlZm9yZSB0aGUgey9pZn0gbGluZSBhIHNldCBvZiBsaW5lcyBpbiB0aGUgZm9ybToiIG9ubW91c2VvdmVyPSJ0aGlzLnN0eWxlLmJhY2tncm91bmRDb2xvcj0nI2ViZWZmOSciIG9ubW91c2VvdXQ9InRoaXMuc3R5bGUuYmFja2dyb3VuZENvbG9yPScjZmZmJyI+RW5zdWl0ZSwgaWwgc3VmZml0ICAgZCdham91dGVyIGxlIG5vbSBkdSBub3V2ZWF1IHNpdGUgZGFucyBsJ29uZ2xldCAmcXVvdDtzaXRlcyZxdW90OywgcHVpcyBkZSBtb2RpZmllciAgIGxlIGdhYmFyaXQgRW1iZWRWaWRlbyBwb3VyIHkgYWpvdXRlciBqdXN0ZSBhdmFudCBsYSBsaWduZSBkdSB7L2lmfSwgcXVlbHF1ZXMgbGlnbmVzIGRlIGxhIGZvcm1lOiA8YnIgLz48L3NwYW4+PC9zcGFuPjwvcD4NCjxwcmUgY2xhc3M9InN0eWxlMSI+e2Vsc2VpZiAkaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU9PSZxdW90OyZsdDtsZSBub20gZHUgbm91dmVhdSBzaXRlJmd0OyZxdW90O30NCiAge2Fzc2lnbiB2YXI9JnF1b3Q7bW92aWUmcXVvdDsgDQogIHZhbHVlPSZxdW90OyZsdDtkJmVhY3V0ZTtidXQgZGUgbCd1cmwmZ3Q7YCRpdGVtLSZndDt2aWRlb2lkYCZsdDtmaW4gZGUgbCd1cmwmZ3Q7JnF1b3Q7fTwvcHJlPg0KPHA+SW5zcGlyZXogdm91cyBkZXMgYXV0cmVzIGNhcy4uLjwvcD4NCjxoMz5BY3Rpb25zPC9oMz4NCjxwPkNlIHNvbnQgZGVzIGFjdGlvbnMgICBzcCZlYWN1dGU7Y2lhbGVzLCBxdWUgdm91cyBwb3V2ZXogdXRpbGlzZXIgZGFucyBsYSBkJmVhY3V0ZTtjbGFyYXRpb24gZGUgbW9kdWxlIHBvdXIgY3ImZWFjdXRlO2VyICAgZGVzIHNpdGVtYXAsIGRlcyBicmVhZGNydW1icyBldCBhaW5zaSBkZSBzdWl0ZSAuLi48L3A+DQo8aDQ+TCdhY3Rpb24gZW1iZWR2aWRlbzwvaDQ+DQo8cD5Qb3VyIGltYnJpcXVlciB1bmUgdmlkJmVhY3V0ZTtvICZhZ3JhdmU7IGwnaW50JmVhY3V0ZTtyaWV1ciBkJ3VuIGdhYmFyaXQgSFZBLCB2b3VzIHBvdXZleiB1dGlsaXNlciBsJ2FjdGlvbiA8Yj4mcXVvdDtlbWJlZHZpZGVvJnF1b3Q7PC9iPjo8YnIvPg0KCQl7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWN0aW9uPSZxdW90O2VtYmVkdmlkZW8mcXVvdDsgaXRlbT0kaXRlbX08YnIvPg0KTGUgcGFyYW0mZWdyYXZlO3RyZSAgJnF1b3Q7aXRlbT0kaXRlbSZxdW90OyBlc3Qgb2JsaWdhdG9pcmUuDQo8aDQ+TCdhY3Rpb24gJnF1b3Q7bGluayZxdW90OzwvaDQ+DQo8cD48c3Bhbj48c3BhbiB0aXRsZT0iWW91IG1heSB1c2UgdGhlICAgYWN0aW9uICdsaW5rJyB0byBjcmVhdGUgYSBsaW5rIHRvIHRoZSBkZWZhdWx0IGFjdGlvbiwgdXNpbmcgICB0aGUgc2FtZSBwYXJhbWV0ZXJzOiI+Vm91cyBwb3V2ZXogdXRpbGlzZXIgbCdhY3Rpb24gJnF1b3Q7bGluayZxdW90OyBwb3VyIGNyJmVhY3V0ZTtlciB1biAgIGxpZW4gdmVycyBsJ2FjdGlvbiBwYXIgZCZlYWN1dGU7ZmF1dCwgYXZlYyBsZXMgbSZlY2lyYzttZXMgcGFyYW0mZWdyYXZlO3RyZXM6PGJyIC8+DQogIDwvc3Bhbj48c3BhbiB0aXRsZT0ie2Ntc19tb2R1bGUgICBtb2R1bGU9J0hvc3RlZFZpZGVvQWxidW1zJyBhY3Rpb249J2xpbmsnICAgd2hhdD0ndmlkZW8nIHJhbmRvbT0nMSd9Ij57Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgYWN0aW9uPSZxdW90O2xpbmsmcXVvdDsgd2hhdD0mcXVvdDt2aWRlbyZxdW90OyByYW5kb209JnF1b3Q7MSZxdW90O308YnIgLz4NCiAgPC9zcGFuPmNyJmVhY3V0ZTtlcmFpdCB1biBsaWVuIHZlcnMgdW4gICAmZWFjdXRlO2wmZWFjdXRlO21lbnQgYWwmZWFjdXRlO2F0b2lyZSBkZSBjZSBuaXZlYXUuPC9zcGFuPjxici8+DQo8aDQ+TCdhY3Rpb24gc2l0ZW1hcA0KPC9oND4NCjxwPlZvdXMgcG91dmV6IHV0aWxpc2VyIGwnYWN0aW9uIDxiPiZxdW90O3NpdGVtYXAmcXVvdDs8L2I+IHBvdXIgY3ImZWFjdXRlO2VyIHVuIHNpdGVtYXAgZHUgbW9kdWxlOjxici8+DQoJCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyBhY3Rpb249JnF1b3Q7c2l0ZW1hcCZxdW90O308YnIvPg0KCQlWb3VzIHBvdXZleiBzJmVhY3V0ZTtsZWN0aW9ubmVyIGxlcyBuaXZlYXV4ICZhZ3JhdmU7IGwnYWlkZSBkdSBwYXJhbSZlZ3JhdmU7dHJlICZxdW90O3doYXQmcXVvdDssIGV0IHBvdXZleiBjaG9pc2lyIHBsdXMgZCd1biBuaXZlYXUgYXZlYyBsYSBmb3JtZSANCgkJCXdoYXQ9JnF1b3Q7bGV2ZWwxfGxldmVsMiZxdW90Oy48YnIvPg0KTGVzIGF1dHJlcyBwYXJhbSZlZ3JhdmU7dHJlcyBkaXNwb25pYmxlcyBzb250ICZxdW90O2RldGFpbHBhZ2UmcXVvdDsgZXQgJnF1b3Q7aW5saW5lJnF1b3Q7Ljxici8+PC9wPg0KDQoJPGg1PkNvbW1lbnQgYWpvdXRlciBtZXMgYWxidW1zIHZpZCZlYWN1dGU7b3MgJmFncmF2ZTsgbW9uIGdvb2dsZSBzaXRlbWFwPzwvaDU+DQoJPHA+Q2VsYSB2YSB2b3VzIGFpZGVyICZhZ3JhdmU7IGluY2x1cmUgdm9zIGFsYnVtcyB2aWQmZWFjdXRlO29zICZhZ3JhdmU7IHVuIGdvb2dsZSBzaXRlbWFwLCA8dT51bmlxdWVtZW50IHNpIGxlcyAmZWFjdXRlO2wmZWFjdXRlO21lbnRzIHNvbnQgYWZmaWNoJmVhY3V0ZTtzIHN1ciBsYSBtJmVjaXJjO21lIHBhZ2U8L3U+Ljxici8+DQoJPHA+PHN0cm9uZz4qKiogU2kgdm91cyB1dGlsaXNleiBsZSBtb2R1bGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nc2dlbmVyYXRvciI+ZyZlYWN1dGU7biZlYWN1dGU7cmF0ZXVyIGdvb2dsZSBzaXRlbWFwPC9hPiAqKio8YnIvPg0KCSAgPC9zdHJvbmc+T3V2cmV6IHZvdHJlIGcmZWFjdXRlO24mZWFjdXRlO3JhdGV1ciBkZSBzaXRlbWFwIChnc2l0ZW1hcC5waHApLCBldCBqdXN0ZSBhdmFudCBsYSBmZXJtZXR1cmUgZGUgbCd1cmxzZXQgKDxjb2RlPmVjaG8gJyAgPDwvPi91cmxzZXQ+Jy4gJnF1b3Q7XFxuJnF1b3Q7OzwvY29kZT4pLCBham91dGV6IGxlIGNvZGUgc3VpdmFudDo8L3A+DQo8cHJlIGNsYXNzPSJjb2RlIj4NCgkkbW9kdWxlbmFtZSA9ICZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7Ow0KCWlmKCAgaXNzZXQoJGdDbXMtPm1vZHVsZXNbJG1vZHVsZW5hbWVdKSAmJiAkZ0Ntcy0+bW9kdWxlc1skbW9kdWxlbmFtZV1bJnF1b3Q7YWN0aXZlJnF1b3Q7XSAmJiAkdGhlbW9kdWxlID0gJGdDbXMtPm1vZHVsZXNbJG1vZHVsZW5hbWVdWyZxdW90O29iamVjdCZxdW90O10pew0KCQkvLyBJQ0kgVk9VUyBERVZFWiBNRVRUUkUgTCdJRCBPVSBMJ0FMSUFTIERFIExBIFBBR0UgVVRJTFNFRSBQT1VSIEFGRklDSEVSIExFUyBFTEVNRU5UUzoNCgkJJGRldGFpbHBhZ2UgPSAmcXVvdDtNQVBBR0UmcXVvdDs7DQoJCSRwYXJhbXMgPSBhcnJheSgmcXVvdDttb2RlJnF1b3Q7PT4mcXVvdDtnb29nbGUmcXVvdDssICZxdW90O2RldGFpbHBhZ2UmcXVvdDs9PiRkZXRhaWxwYWdlKTsNCgkJJHRoZW1vZHVsZS0+RG9BY3Rpb24oJnF1b3Q7c2l0ZW1hcCZxdW90OywgJnF1b3Q7JnF1b3Q7LCAkcGFyYW1zKTsNCgl9DQoJPC9wcmU+DQoJPHA+QmllbiBzdXIsIGVudHJleiB1biBkZXRhaWxwYWdlIHF1ZSBjZSBzb2l0IHVuIGlkIG91IHVuIGFsaWFzLjwvcD4NCgk8cD5Ob3RleiBxdWUgdm91cyBwb3V2ZXogYXVzc2kgdXRpbGlzZXIgbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDt3aGF0JnF1b3Q7IHBvdXIgc3AmZWFjdXRlO2NpZmllciBxdWVsKHMpIG5pdmVhdSh4KSB2b3VzIHZvdWxleiB2b2lyIGFmZmljaCZlYWN1dGU7KHMpICh2b3VzIHBvdXZleiBzcCZlYWN1dGU7Y2lmaWVyIHBsdXNpZXVycyBuaXZlYXV4IGF2ZWMgJnF1b3Q7bml2ZWF1MXxuaXZlYXUyJnF1b3Q7IGV0YykuPC9wPg0KCTxwPjxzdHJvbmc+KioqIFNpIHZvdXMgdXRpbGlzZXogbGUgbW9kdWxlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2l0ZW1hcG1zIj5TaXRlTWFwIE1hZGUgU2ltcGxlPC9hPiAqKiogPC9zdHJvbmc+PC9wPg0KPHA+TWV0dGV6IHNpbXBsZW1lbnQgbGUgY29kZSBjaSBkZXNzdXMgZGFucyB1biBVRFQgKHVzZXItZGVmaW5lZC10YWcpLCBldCBhcHBlbGV6IGNldCBVRFQgJmFncmF2ZTsgbGEgZmluIGRlIHZvdHJlIGdhYmFyaXQgZGUgc2l0ZW1hcCwganVzdGUgYXZhbnQgPGNvZGU+PDwvPi91cmxzZXQ+PC9jb2RlPi48L3A+DQoJDQoJPGg0PkwnYWN0aW9uIHNlYXJjaDwvaDQ+DQo8cD5Wb3VzIHBvdXZleiB1dGlsaXNlciBsJ2FjdGlvbiAmcXVvdDs8c3Ryb25nPnNlYXJjaDwvc3Ryb25nPiZxdW90OyBwb3VyIGFmZmljaGVyIHVuIGZvcm11bGFpcmUgZGUgcmVjaGVyY2hlOjxici8+DQoJCXtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyBhY3Rpb249JnF1b3Q7c2VhcmNoJnF1b3Q7IHdoYXQ9JnF1b3Q7dmlkZW8mcXVvdDt9PGJyLz4NCgkJVXRpbGlzZXogbGUgcGFyYW0mZWdyYXZlO3RyZSAmcXVvdDtzZWFyY2htb2RlJnF1b3Q7IHBvdXIgY2hvaXNpciBsYSByZWNoZXJjaGUgc2ltcGxlIG91IGF2YW5jJmVhY3V0ZTtlIChwYXIgZCZlYWN1dGU7ZmF1dCkuIE5vdGV6IHF1ZSB2b3VzIG5lIHBvdXZleiBwYXMgDQoJCQlmYWlyZSB1bmUgcmVjaGVyY2hlIGVuIG1vZGUgYXZhbmMmZWFjdXRlOyBkYW5zIHRvdXMgbGVzIG5pdmVhdXggZW4gbSZlY2lyYzttZSB0ZW1wcy48YnIvPg0KCQlMZXMgcGFyYW0mZWdyYXZlO3RyZXMgc3VpdmFudHMgcGV1dmVudCAmZWNpcmM7dHJlIHV0aWxpcyZlYWN1dGU7cyBhdmVjIGwnYWN0aW9uICZxdW90O3NlYXJjaCZxdW90Ozogd2hhdCwgbGltaXQsIG5icGVycGFnZSwgb3JkZXJieSwgZGV0YWlscGFnZSwgbGlzdHRlbXBsYXRlLDwvcD4NClZvaXIgSG9zdGVkVmlkZW9BbGJ1bXMvdGVtcGxhdGVzL3NlYXJjaC50cGwgcG91ciBtb2RpZmllciBsZSBmb3JtdWxhaXJlIGRlIHJlY2hlcmNoZXMuPC9wPjxici8+DQoNCgk8YnIvPjxoMz5Db3B5cmlnaHQgZXQgTGljZW5jZTwvaDM+DQoJCTxwPkNlIG1vZHVsZSBhICZlYWN1dGU7dCZlYWN1dGU7IGQnYWJvcmQgY3ImZWFjdXRlOyZlYWN1dGU7IGF2ZWMgQ1RMTW9kdWxlTWFrZXIgcHVpcyBtb2RpZmkmZWFjdXRlOyBtYW51ZWxsZW1lbnQuIElsIGVzdCBmb3Vybmkgc291cyA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGdwbC5odG1sIj5saWNlbmNlIEdQTDwvYT4uPGJyLz4NCgkJTGVzIHBhcmFtJmVncmF2ZTt0cmVzIHBvdXIgbGVzIHNpdGVzIFZpbWVvLCBNZXRhQ2FmZSBldCBNeVNwYWNlIHNvbnQgaW5zcGlyJmVhY3V0ZTtzIGR1IG1vZHVsZSB3ZWJ2aWRlb3MuPC9wPg0KCQk8YnIvPjxici8+DQo=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/thelp_fr_FR.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IFZhcmlhYmxlcyBTbWFydHkgcG91ciBsZSBnYWJhcml0IGRlIGxpc3RlIGRlIGNhdGVnb3JpZXM8L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTx1bD4NCgkJCTxsaT4kbGV2ZWx0aXRsZTwvbGk+DQoJCQk8bGk+JHBhcmVudG9iaiAoc2kgbGUgcGFyZW50IGVzdCBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7KTwvbGk+DQoJCQk8bGk+JGl0ZW1saXN0ICh0YWJsZWF1IGQmYXBvcztpdGVtcyk8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtpc19zZWxlY3RlZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O25iY2hpbGRyZW4gKHNpIGNoYXJnJmVhY3V0ZTspPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsbGluazwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RldGFpbHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9tb2RpZmllZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfY3JlYXRlZDwvbGk+DQoJCTwvdWw+DQoJCTxici8+PGJyLz4NCgk8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IFZhcmlhYmxlcyBTbWFydHkgcG91ciBsZSBnYWJhcml0IGRlIGxpc3RlIGQmYXBvczthbGJ1bXM8L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTx1bD4NCgkJCTxsaT4kbGV2ZWx0aXRsZTwvbGk+DQoJCQk8bGk+JHBhcmVudG9iaiAoc2kgbGUgcGFyZW50IGVzdCBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7KTwvbGk+DQoJCQk8bGk+JGl0ZW1saXN0ICh0YWJsZWF1IGQmYXBvcztpdGVtcyk8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtpc19zZWxlY3RlZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O25iY2hpbGRyZW4gKHNpIGNoYXJnJmVhY3V0ZTspPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsbGluazwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RldGFpbHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bGFuZzwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RlZmF1bHRfd2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkZWZhdWx0X2hlaWdodDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9pZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9hbGlhczwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9uYW1lPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50bGluazwvbGk+DQoJCQk8bGk+JHRpZW0tJmd0O3BhcmVudHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2lzZGVmYXVsdDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfbW9kaWZpZWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkYXRlX2NyZWF0ZWQ8L2xpPg0KCQk8L3VsPg0KCQk8YnIvPjxici8+DQoJPC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQoJPGgzIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IiBvbmNsaWNrPSJjdGxtbV9kaXNwbGF5dG9nZ2xlKHRoaXMpOyI+Jmd0OyBWYXJpYWJsZXMgU21hcnR5IHBvdXIgbGUgZ2FiYXJpdCBkZSBsaXN0ZSBkZSB2aWQmZWFjdXRlO29zPC9oMz4NCgk8ZGl2IGNsYXNzPSJ0cGx2YXJzX2hpZGUiPg0KCQk8dWw+DQoJCQk8bGk+JGxldmVsdGl0bGU8L2xpPg0KCQkJPGxpPiRwYXJlbnRvYmogKHNpIGxlIHBhcmVudCBlc3Qgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyk8L2xpPg0KCQkJPGxpPiRpdGVtbGlzdCAodGFibGVhdSBkJmFwb3M7aXRlbXMpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNfc2VsZWN0ZWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtuYW1lPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7YWxpYXM8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkZXRhaWxsaW5rPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsdXJsPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGVzY3JpcHRpb248L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtzaXRlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDt2aWRlb2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7d2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtoZWlnaHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfaWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfYWxpYXM8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfbmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudGxpbms8L2xpPg0KCQkJPGxpPiR0aWVtLSZndDtwYXJlbnR1cmw8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtpc2RlZmF1bHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkYXRlX21vZGlmaWVkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9jcmVhdGVkPC9saT4NCgkJPC91bD4NCgkJPGJyLz48YnIvPg0KCTwvZGl2Pg0KPC9kaXY+DQo8ZGl2Pg0KCTxoMyBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0iY3RsbW1fZGlzcGxheXRvZ2dsZSh0aGlzKTsiPiZndDsgVmFyaWFibGVzIFNtYXJ0eSBwb3VyIGxlIGdhYmFyaXQgZGUgZCZlYWN1dGU7dGFpbCBkJmFwb3M7dW5lIHZpZCZlYWN1dGU7bzwvaDM+DQoJPGRpdiBjbGFzcz0idHBsdmFyc19oaWRlIj4NCgkJPHVsPg0KCQkJPGxpPiRsZXZlbHRpdGxlPC9saT4NCgkJCTxsaT4kcHJldmlvdXNfaXRlbSAoc2kgY2hhcmcmZWFjdXRlOyk8L2xpPg0KCQkJPGxpPiRuZXh0X2l0ZW0gKHNpIGNoYXJnJmVhY3V0ZTspPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGVzY3JpcHRpb248L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtzaXRlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDt2aWRlb2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7d2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtoZWlnaHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfaWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfYWxpYXM8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRfbmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudGxpbms8L2xpPg0KCQkJPGxpPiR0aWVtLSZndDtwYXJlbnR1cmw8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtpc2RlZmF1bHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkYXRlX21vZGlmaWVkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9jcmVhdGVkPC9saT4NCgkJCTxsaT4kbGFiZWxzLT4uLi48L2xpPg0KCQk8L3VsPg0KCQk8YnIvPg0KCQk8cD5EYW5zIGxlIGdhYmFyaXQgZGUgZCZlYWN1dGU7dGFpbCBkdSBuaXZlYXUgZmluYWwsIHV0aWxpc2V6IGwmYXBvcztvYmpldCAkbGFiZWxzIHBvdXIgYWZmaWNoZXIgbGVzICZlYWN1dGU7dGlxdWV0dGVzIGRlIGNoYW1wcyBzZWxvbiBsYSBsYW5ndWUgKCRsYWJlbHMtPm5vbV9kdV9jaGFtcCkuPC9wPg0KCQk8cD5Wb3VzIHBvdXZleiBhY2MmZWFjdXRlO2RlciBhdXggb2JqZXRzIHBhcmVudHMgZW4gdXRpbGlzYW50ICRpdGVtLT5wYXJlbnRfb2JqZWN0LT5wYXJlbnRfb2JqZWN0LT4uLi4gKGV0IGFpbnNpIGRlIHN1aXRlKTwvcD4NCgkJPGJyLz4NCgk8L2Rpdj4NCjwvZGl2Pg0KDQo8ZGl2Pg0KCTxoMyBzdHlsZT0iY3Vyc29yOiBwb2ludGVyOyIgb25jbGljaz0iY3RsbW1fZGlzcGxheXRvZ2dsZSh0aGlzKTsiPiZndDsgQnJlYWRjcnVtYnM8L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTxwPkxvcnNxdWUgdm91cyAmZWNpcmM7dGVzIGRhbnMgdW4gZ2FiYXJpdCBkZSBtb2R1bGUsIHZvdXMgcG91dmV6IGFwcGVsZXIgbGVzIGJyZWFkY3J1bWJzIGVuIHV0aWxpc2FudCBsYSBiYWxpc2Uge0hvc3RlZFZpZGVvQWxidW1zX2JyZWFkY3J1bWJzfS4gDQoJCVZvdXMgcG91dmV6IHV0aWxpc2VyIGxlcyBtJmVjaXJjO21lcyBwYXJhbSZlZ3JhdmU7dHJlcyBxdWUgZGFucyBsYSBiYWxpc2UgYnJlYWRjcnVtYnMgZHUgY21zIA0KCQkoaW5pdGlhbCwgZGVsaW1pdGVyLCBjbGFzc2lkLCBjdXJyZW50Y2xhc3NpZCksIGRlIG0mZWNpcmM7bWUgcXVlIGxlIHBhcmFtJmVncmF2ZTt0cmUgInN0YXJ0bGV2ZWwiLjxici8+DQoJCUVuIGRlaG9ycyBkZXMgZ2FiYXJpdHMgZGUgbW9kdWxlLCBuJmFwb3M7aW1wb3J0ZSBvJnVncmF2ZTsgc3VyIGxhIHBhZ2UsIHZvdXMgcG91dmV6IGFwcGVsZXIgbCZhcG9zO2FjdGlvbiBicmVhZGNydW1icyANCgkJe2Ntc19tb2R1bGUgbW9kdWxlPSJIb3N0ZWRWaWRlb0FsYnVtcyIgYWN0aW9uPSJicmVhZGNydW1icyJ9LCB1dGlsaXNhbnQgbGVzIG0mZWNpcmM7bWVzIHBhcmFtJmVncmF2ZTt0cmVzLjwvcD4NCgk8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IEluc2VydGlvbiBkZSB2aWQmZWFjdXRlO288L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTxwPkxvcnNxdWUgdm91cyAmZWNpcmM7dGVzIGRhbnMgdW4gZ2FiYXJpdCBkZSBtb2R1bGUsIHZvdXMgcG91dmV6IGlucyZlYWN1dGU7cmVyIHVuZSB2aWQmZWFjdXRlO28gZW4gdXRpbGlzYW50IGxhIGJhbGlzZSB7SG9zdGVkVmlkZW9BbGJ1bXNfZW1iZWR2aWRlbyBpdGVtPSRpdGVtfS4gDQoJCUxlIHBhcmFtJmVncmF2ZTt0cmUgaXRlbT0kaXRlbSBlc3Qgb2JsaWdhdG9pcmUuIEEgbCZhcG9zO2ludCZlYWN1dGU7cmlldXIgZHUgZ2FiYXJpdCBhc3NvY2kmZWFjdXRlOyAmYWdyYXZlOyBjZXR0ZSBiYWxpc2UsIHZvdXMgcG91dmV6IHV0aWxpc2VyIGxlcyBjaGFtcHMgc3VpdmFudHM6PGJyLz4NCgkJPHVsPg0KCQkJPGxpPiRsZXZlbHRpdGxlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGVzY3JpcHRpb248L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtzaXRlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDt2aWRlb2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7d2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtoZWlnaHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtsYW5nPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X25hbWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRsaW5rPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50dXJsPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9tb2RpZmllZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfY3JlYXRlZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2NvbG9yMTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2NvbG9yMjwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3NjcmlwdGFjY2VzczwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Z1bGxzY3JlZW48L2xpPg0KCQkJPGxpPiRpdGVtLSZndDthdXRvcGxheTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Z1bGxzY3JlZW5faW50IChjb21tZSBmdWxsc2NyZWVuIG1haXMgMSBhdSBsaWV1IGRlIHRydWUpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7YXV0b3BsYXlfaW50IChjb21tZSBhdXRvcGxheSBtYWlzIDEgYXUgbGlldSBkZSB0cnVlKTwvbGk+DQoJCQk8bGk+JGxhYmVscy0+Li4uPC9saT4NCgkJPC91bD4NCgk8L2Rpdj4NCjwvZGl2Pg0K]]></data>
	</file>
	<file>
	  <filename>/lang/help_en_US.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHN0eWxlIHR5cGU9InRleHQvY3NzIj4NCjwhLS0NCi5zdHlsZTEge2ZvbnQtZmFtaWx5OiAiQ291cmllciBOZXciLCBDb3VyaWVyLCBtb25vc3BhY2V9DQotLT4NCjwvc3R5bGU+DQo8aDI+SGVscDwvaDI+DQo8aDM+V2hhdCBEb2VzIFRoaXMgTW9kdWxlIERvPyA8L2gzPg0KPHA+VGhpcyBtb2R1bGUgY2FuIGJlIHVzZWQgdG8gbWFuYWdlIGdhbGxlcmllcyBvciBhbGJ1bXMgb2YgdmlkZW9zIHRoYXQgYXJlIGhvc3RlZCBvbiBzaXRlcyBzdWNoIGFzIFlvdXR1YmUsIERhaWx5bW90aW9uLCBHb29nbGUgVmlkZW9zLCBZYWhvbyBWaWRlb3MsIFZlb2gsIE1TTiAob3IgQmluZykgVmlkZW9zLCBWaW1lbywgTXlTcGFjZSBvciBNZXRhQ2FmZS4gPC9wPg0KPHA+SXQgaGFzIDMgbGV2ZWxzOiBjYXRlZ29yeSwgdmlkZW8gYWxidW0gKG9yIGdhbGxlcnkpIGFuZCAgIHZpZGVvIGl0c2VsZi4gIEl0IGFsbG93cyBlbWJlZGRpbmcgdmlkZW9zIG9uZSBieSBvbmUgb3IgaW4gcGFnZWQgbGlzdCAuIDwvcD4NCjxwPkZyb20gdGhlIDEuMSB2ZXJzaW9uLCBpdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGRlYWwgd2l0aCB2aWRlb3Mgc3RvcmVkIG9uIHlvdXIgd2ViIHNlcnZlciAoZm9ybWF0cyBta3YsIGRpdngsIGF2aSwgbXA0KSB1c2luZyB0aGUgZGl2eCB3ZWIgcGxheWVyIHBsdWdpbiE8L3A+DQoNCjxoMz5Ib3cgRG8gSSBVc2UgSXQ/PC9oMz4NCjxoND5QZXJtaXNzaW9uczwvaDQ+DQo8cD5NYWtlIHN1cmUgeW91ciB1c2VycyBoYXZlIHRoZSBhcHByb3ByaWF0ZSBwZXJtaXNzaW9ucy4gSWYgeW91IGFyZSBub3QgdXNpbmcgdGhlIGFjY2VzcyByZXN0cmljdGlvbiBvcHRpb24gKHNlZSBzZXR0aW5ncyksIA0KCQl0aGUgIkhvc3RlZFZpZGVvQWxidW1zOiBOb3JtYWwgdXNlciIgcGVybWlzc2lvbiB3aWxsIGJlIGVub3VnaCB0byB1c2UgdGhlIG1vZHVsZS4gDQoJCUluIHRoZSBzZXR0aW5ncyB0YWIsIHlvdSBjYW4gY2hvb3NlIHdoaWNoIHRhYnMgd2lsbCBiZSBkaXNwbGF5ZWQgZm9yIHRoZSBub3JtYWwgdXNlci4gDQoJCU9ubHkgdGhlIGFkbWluaXN0cmF0b3IgYW5kIHVzZXJzIHdpdGggdGhlICJIb3N0ZWRWaWRlb0FsYnVtczogQWR2YW5jZWQiIHBlcm1pc3Npb24gd2lsbCBoYXZlIGFjY2VzcyB0byBzZXR0aW5ncyB0YWIuPGJyLz4NCglJZiB5b3Ugd2lzaCB0byBkZWZpbmUgbGV2ZWwtc3BlY2lmaWMgcGVybWlzc2lvbnMsIGFjdGl2YXRlIHRoZSBhY2Nlc3MgcmVzdHJpY3Rpb24gb3B0aW9uIGluIHRoZSBzZXR0aW5ncyB0YWIgYW5kIGdpdmUgDQoJCXRoZSAiSG9zdGVkVmlkZW9BbGJ1bXM6IE1hbmFnZSBuYW1lX29mX2xldmVsIiBwZXJtaXNzaW9uIHRvIHRoZSBhcHByb3ByaWF0ZSB1c2Vycy48L3A+DQo8aDQ+QWRkaW5nIGNhdGVnb3JpZXMsIHZpZGVvIGFsYnVtcyBhbmQgdmlkZW9zPC9oND4NCjxwPlRvIHVzZSB0aGlzIG1vZHVsZSwgeW91IHdpbGwgbmVlZCB0byBjcmVhdGUgdGhlIDMgbGV2ZWxzIChpZSBjYXRlZ29yeSwgYWxidW0gYW5kIHZpZGVvKS4gRmlyc3QsIHlvdSB3aWxsIGhhdmUgdG8gY3JlYXRlIHRoZSBjYXRlZ29yaWVzIGluIHRoZSAmcXVvdDtDYXRlZ29yaWVzJnF1b3Q7IHRhYiwgdGhlbiBjcmVhdGUgdGhlIHZpZGVvIGFsYnVtcyBpbiB0aGUgJnF1b3Q7VmlkZW8gQWxidW1zJnF1b3Q7IHRhYiBhbmQgdGhlbiB0aGUgdmlkZW9zIHRoZW1zZWx2ZXMgaW4gdGhlICZxdW90O1ZpZGVvJnF1b3Q7IHRhYi48L3A+DQo8cD5Gb3IgY2F0ZWdvcmllcywgYWxsIHlvdSBuZWVkIHRvIHByb3ZpZGUgaXMgdGhlIGRpc3BsYXkgbmFtZSBvZiB0aGUgY2F0ZWdvcnksIGFuZCBvcHRpb25uYWx5IGl0cyBhbGlhcyAodXNlZCB3aXRoIHRoZSAmcXVvdDthbGlhcyZxdW90OyBwYXJhbWV0ZXIpIGFuZCBpdHMgZGVzY3JpcHRpb24uPGJyIC8+DQpGb3IgYWxidW1zLCB5b3Ugd2lsbCBhbHNvIHByb3ZpZGUgYSBuYW1lLCBhbiBhbGlhcyAob3B0aW9uYWwpLCB0aGUgY2F0ZWdvcnkgdG8gd2hpY2ggdGhlIGFsYnVtIGlzIGF0dGFjaGVkLCBhIGRlc2NyaXB0aW9uIChvcHRpb25hbCksIGEgbGFuZ3VhZ2UgKGluIHRoZSBmb3JtIGZyIG9yIGVuLVVTKSwgYW5kIHRoZSBkZWZhdWx0IHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHZpZGVvcyBpbiB0aGlzIGFsYnVtICh1c2VkIHdoZW4gdGhlIHdpZHRoIG9yIGhlaWdodCBvZiB0aGUgdmlkZW8gaXMgbm90IHNldCkuPC9wPg0KPHA+Rm9yIHZpZGVvcywgeW91IG5lZWQgdG8gcHJvdmlkZSBhIG5hbWUsIGFuIGFsaWFzIChvcHRpb25hbCksIHRoZSBhbGJ1bSB0byB3aGljaCB0aGUgdmlkZW8gaXMgYXR0YWNoZWQsIGEgZGVzY3JpcHRpb24gKG9wdGlvbmFsKSwgdGhlIHZpZGVvIHNpdGUgd2hlcmUgdGhlIHZpZGVvIGlzIGhvc3RlZCwgdGhlIHZpZGVvIGlkZW50ZmllciAoc2VlIGJlbG93KSBhbmQgb3B0aW9uYWx5IHRoZSB3aWR0aCBhbiBoZWlnaHQgb2YgdGhlIHZpZGVvIChpZiBub3Qgc2V0LCB0aGUgZGVmYXVsdCBvbmUgb2YgdGhlIGFsYnVtIGlzIHVzZWQpPC9wPg0KPGg1PldoZXJlIGNhbiBJIGZpbmQgVmlkZW8gaWRzLCB3aWR0aCBhbmQgaGVpZ2h0PC9oNT4NCjxwPkZvciA8c3Ryb25nPllvdXR1YmU8L3N0cm9uZz4sIHRoZSB2aWRlbyBpZCBpcyB0aGUgbGFzdCBwYXJ0IG9mIHRoZSB1cmwgYWZ0ZXIgJnF1b3Q7dj0mcXVvdDsuIEZvciBpbnN0YW5jZSwgaW4gaHR0cDovL3d3dy55b3V0dWJlLmNvbS93YXRjaD92PTdTWnRHdlhrRUl3LCBpdCdzICZxdW90OzdTWnRHdlhrRUl3JnF1b3Q7LjxiciAvPg0KRm9yIDxzdHJvbmc+RGFpbHltb3Rpb248L3N0cm9uZz4sIGl0J3MgdGhlICBsYXN0IHBhcnQgb2YgdGhlIHVybCBhZnRlciB0aGUgbGFzdCAmcXVvdDsvJnF1b3Q7LiBGb3IgaW5zdGFuY2UsIGluIGh0dHA6Ly93d3cuZGFpbHltb3Rpb24uY29tL3ZpZGVvL3hjcWEwZ19jb3JuZXJzaG9wLXdoby1maW5nZXJlZC1yb2NrLW4tcm9sbF9tdXNpYywgaXQncyAmcXVvdDt4Y3FhMGdfY29ybmVyc2hvcC13aG8tZmluZ2VyZWQtcm9jay1uLXJvbGxfbXVzaWMmcXVvdDsuPGJyIC8+DQpGb3IgPHN0cm9uZz5ZYWhvbyB2aWRlb3M8L3N0cm9uZz4sIGl0J3MgYWxzbyB0aGUgIGxhc3QgcGFydCBvZiB0aGUgdXJsIGFmdGVyIHRoZSBsYXN0ICZxdW90Oy8mcXVvdDsuIEZvciBpbnN0YW5jZSwgaW4gaHR0cDovL3ZpZGVvLnlhaG9vLmNvbS93YXRjaC83MDk1Njg3LzE4NDY1ODc4LCBpdCdzICZxdW90OzE4NDY1ODc4JnF1b3Q7LjxiciAvPg0KRm9yIDxzdHJvbmc+R29vZ2xlIHZpZGVvczwvc3Ryb25nPiwgaXQncyAgdGhlIGxhc3QgcGFydCBvZiB0aGUgdXJsIGFmdGVyICZxdW90O2RvY2lkPSZxdW90Oy4gRm9yIGluc3RhbmNlLCBpbiBodHRwOi8vdmlkZW8uZ29vZ2xlLmNvbS92aWRlb3BsYXk/ZG9jaWQ9NzUyMTQyMzM4ODYzNzU0MjY1NyMsIGl0J3MgJnF1b3Q7NzUyMTQyMzM4ODYzNzU0MjY1NyMmcXVvdDs8YnIgLz4NCkZvciA8c3Ryb25nPlZlb2g8L3N0cm9uZz4sICBpdCdzICB0aGUgbGFzdCBwYXJ0IG9mIHRoZSB1cmwgYWZ0ZXIgdGhlIGxhc3QgJnF1b3Q7LyZxdW90Oy4gRm9yIGluc3RhbmNlLCBpbiBodHRwOi8vd3d3LnZlb2guY29tL2Jyb3dzZS92aWRlb3MvY2F0ZWdvcnkvbXVzaWMvd2F0Y2gvdjU1NTY1OHNldGtQM0Q4LCBpdCdzICZxdW90O3Y1NTU2NThzZXRrUDNEOCZxdW90Oy48YnIgLz4NCkZvciA8c3Ryb25nPk1TTiBvciBCaW5nIFZpZGVvczwvc3Ryb25nPiwgdXNlICJtc24gdmlkZW8iIGFuZCBsb29rIGluIHRoZSBlbWJlZGRpbmcgY29kZSBmb3IgInBsYXllci52PS4uLiIsIHRoZSB2aWRlbyBpZCBpcyB0aGUgaGV4YSBzdHJpbmcgYWZ0ZXIgInBsYXllci52Ii4gRm9yIGluc3RhbmNlLCBpbiAicGxheWVyLnY9ZmNjNDA5YTAtYThiMC00MjQzLTgzYjItZmY0YTVlYjNhODZlIiwgdGhlIGlkIGlzICJmY2M0MDlhMC1hOGIwLTQyNDMtODNiMi1mZjRhNWViM2E4NmUiPGJyIC8+DQpGb3IgPHN0cm9uZz5tZXRhY2FmZTwvc3Ryb25nPiwgaXQncyB0aGUgbnVtZXJpYyBwYXJ0IGluIHRoZSB1cmwuIEZvciBpbnN0YW5jZSwgaW4gImh0dHA6Ly93d3cubWV0YWNhZmUuY29tL3dhdGNoLzQ0NzQ4MzkvcGFzdGFfMDEzLyIsIGl0J3MgNDQ3NDgzOTxiciAvPg0KRm9yIDxzdHJvbmc+TXlTcGFjZTwvc3Ryb25nPiwgaXQncyB0aGUgcGFydCBhZnRlciAidmlkZW9pZD0iIGluIHRoZSB1cmwuIEZvciBpbnN0YW5jZSwgaW4gImh0dHA6Ly92aWRzLm15c3BhY2UuY29tL2luZGV4LmNmbT9mdXNlYWN0aW9uPXZpZHMuaW5kaXZpZHVhbCZhbXA7dmlkZW9pZD0xMDQzMTc5NDkiLCBpdCdzIDEwNDMxNzk0OTxiciAvPg0KRm9yIDxzdHJvbmc+VmltZW88L3N0cm9uZz4sIGl0J3MgdGhlIGxhc3QgcGFydCBpbiB0aGUgdXJsLiBGb3IgaW5zdGFuY2UsIGluICJodHRwOi8vdmltZW8uY29tLzEwODc1MDg4IiwgaXQncyAxMDg3NTA4ODxiciAvPg0KDQo8aDU+TG9jYWwgdmlkZW9zPC9oNT4NClRvIDxzdHJvbmc+aW5zZXJ0IGEgdmlkZW8gaG9zdGVkIG9uIHlvdXIgb3duIHNpdGU8L3N0cm9uZz4sIGNob29zZSB0aGUgImxvY2FsLWRpdngiIHNpdGUuIFRoZSB2aWRlbyBpZCBpcyB0aGUgY29tcGxldGUgZmlsZW5hbWUgZnJvbSB0aGUgY21zbXMgc2l0ZSByb290IChmb3IgaW5zdGFuY2UsIGlmIHRoZSBtb3ZpZSBpcyBpbiB0aGUgIk15TW92aWVzIiBkaXJlY3RvcnkgYXQgdGhlIGNtc21zIHNpdGUgcm9vdCBhbmQgaXMgbmFtZWQgIk15TW92aWUuYXZpIiwgdGhlIGlkIGlzICIvTXlNb3ZpZXMvTXlNb3ZpZS5hdmkiLjwvcD4NCjxoNT5XaWR0aCZhbXA7SGVpZ2h0PC9oNT4NCjxwPlRoZSB3aWR0aCBhbmQgaGVpZ2h0IG9mIHZpZGVvcyBjYW4gZ2VuZXJhbGx5IGJlIGZvdW5kIGluIHRoZSAmcXVvdDtlbWJlZCZxdW90OyBjb2RlIG9mIHRoZSB2aWRlbyBzaXRlcy4gRm9yIGVhY2ggb2YgdGhlc2Ugc2l0ZXMsIGVpdGhlciBkaXJlY3RseSBpbiB0aGUgcGFnZSBvciBieSBjbGlja2luZyBvbiBhIGxpbmsgaW4gdGhlIHBhZ2UgKHlvdXR1YmUgJmFtcDsgZ29vZ2xlIHZpZGVvcykgb3IgYnkgY2xpY2tpbmcgb24gdGhlIGV4cG9ydCBidXR0b24gaW4gdGhlIHZpZGVvIChkYWlseW1vdGlvbiksIHlvdSB3aWxsIGJlIHByb3ZpZGVkIHdpdGggYSBwaWVjZSBvZiBodG1sIGNvZGUgY29udGFpbmluZyBhIHdpZHRoIGFuZCBhIGhlaWdodC48L3A+DQo8aDQ+Q2FsbGluZyB0aGUgbW9kdWxlIGluIGEgcGFnZTwvaDQ+DQo8cD5UbyBjYWxsIHRoZSBtb2R1bGUsIHNpbXBseSB1c2UgdGhlIGZvbGxvd2luZyB0YWc6PGJyLz4NCiAge2Ntc19tb2R1bGUgbW9kdWxlPSJIb3N0ZWRWaWRlb0FsYnVtcyIgd2hhdD0mcXVvdDsmbHQ7bGV2ZWwmZ3Q7JnF1b3Q7fTwvcD4NCjxwPklmIHlvdSBvbWl0IHRoZSB3aGF0IHBhcmFtZXRlciwgIHRoZSA8Yj53aG9sZTwvYj4gbGlzdCBvZiB2aWRlb3Mgd2lsbCBiZSBkaXNwbGF5ZWQuIEl0IGlzIGVxdWl2YWxlbnQgdG86PGJyIC8+DQp7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgd2hhdD0mcXVvdDt2aWRlbyZxdW90O308L3A+DQo8cD4gIHtjbXNfbW9kdWxlIG1vZHVsZT0iSG9zdGVkVmlkZW9BbGJ1bXMiIHdoYXQ9ImNhdGVnb3J5In0gd2lsbCBkaXNwbGF5IHRoZSBjYXRlZ29yaWVzIGxpc3QuPC9wPg0KPHA+e2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IHdoYXQ9JnF1b3Q7YWxidW0mcXVvdDt9IHdpbGwgZGlzcGxheSB0aGUgYWxidW1zIGxpc3QsIHdoYXRldmVyIHRoZSBjYXRlZ29yeS48L3A+DQo8cD5Zb3UgbWF5IGFsc28gYXNrIGZvciBlbGVtZW50cyB3aG8gYmVsb25nIHRvIGEgc3BlY2lmaWMgcGFyZW50Ojxici8+DQoJe2Ntc19tb2R1bGUgbW9kdWxlPSJIb3N0ZWRWaWRlb0FsYnVtcyIgcGFyZW50PSJhbGlhc19vZl9wYXJlbnQifTxiciAvPg0KVGhlIGFsaWFzIGNhbiBiZSBhIGNhdGVnb3J5IG9yIGFuIGFsYnVtIGFsaWFzLjwvcD4NCjxwPllvdSBtYXkgZmluYWxseSBhc2sgZm9yIGEgc3BlY2lmaWMgZWxlbWVudDo8YnI+DQoJe2Ntc19tb2R1bGUgbW9kdWxlPSJIb3N0ZWRWaWRlb0FsYnVtcyIgYWxpYXM9ImFsaWFzX29mX2l0ZW0ifTwvcD4NCjxoND5XaGF0IGlmICBJIGRvbid0IG5lZWQgY2F0ZWdvcmllcyBvciBhbGJ1bXMgbGV2ZWxzPzwvaDQ+DQo8cD5Zb3Ugd2lsbCBuZWVkIHRvIGNyZWF0ZSBhIGRlZmF1bHQgY2F0ZWdvcnkgYW55d2F5LiBOYW1lIGl0IGZvciBpbnN0YW5jZSAmcXVvdDtkZWZhdWx0JnF1b3Q7IHRoZW4gY3JlYXRlIGFsbCB5b3VyIGFsYnVtcyBpbiB0aGlzIGNhdGVnb3J5IGFuZCB1c2UgdGhlPGJyIC8+DQogIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyB3aGF0PSZxdW90O2FsYnVtJnF1b3Q7fSB0byBkaXNwbGF5IGFsbCB0aGUgYWxidW1zLjxici8+IA0KICBTYW1lLCBpZiB5b3UgZG9uJ3QgbmVlZCB0aGUgdmlkZW8gYWxidW1zLCBjcmVhdGUgYSBkZWZhdWx0IGFsYnVtIGluIHRoZSBkZWZhdWx0IGNhdGVnb3J5IGFuZCBsaW5rIGFsbCB5b3VyIHZpZGVvcyB0byB0aGlzIGFsYnVtLiBUaGVuIGluc2VydCB0aGUgdmlkZW9zIHVzaW5nPGJyIC8+DQp7Y21zX21vZHVsZSBtb2R1bGU9JnF1b3Q7SG9zdGVkVmlkZW9BbGJ1bXMmcXVvdDsgd2hhdD0mcXVvdDt2aWRlbyZxdW90O308L3A+DQo8aDQ+U2VwYXJhdGluZyBpbnRvIHBhZ2VzPC9oND4NCjxwPllvdSBtYXkgbGltaXQgdGhlIG51bWJlciBvZiBpdGVtcyB0byBiZSBzaG93biBvbiBvbmUgcGFnZTo8YnIvPg0KCXtjbXNfbW9kdWxlIG1vZHVsZT0iSG9zdGVkVmlkZW9BbGJ1bXMiIG5icGVycGFnZT0iNSJ9PGJyLz4NCglJbiB0aGUgdGVtcGxhdGUsIHlvdSBjYW4gYnVpbGQgdGhlIHBhZ2UgbWVudSB1c2luZyB0aGUgZm9sbG93aW5nIHRhZ3MgKHNlZSBMaXN0TGlua3Mgb3IgTGlzdFZpZGVvcyB0ZW1wbGF0ZXMpOjxici8+DQoJeyRwYWdlX3Nob3dpbmd9LCB7JHBhZ2VfdG90YWxpdGVtc30sIHskcGFnZV9wYWdlbnVtYmVyc30sIHskcGFnZV9uZXh0fSwgeyRwYWdlX3ByZXZpb3VzfTwvcD4NCjxoND5Vc2luZyBxdWVyaWVzPC9oND4NCjxwPlRvIGdldCBhIGxpc3Qgb2YgaXRlbSB0aGF0IG1lZXQgc3BlY2lmaWMgY3JpdGVyaWEsIHlvdSBjYW4gY3JlYXRlIGEgcXVlcnkgdXNpbmcgdGhlIHF1ZXJpZXMgdGFiIG9mIHRoZSBhZG1pbiBwYW5lbCwgYW5kIGNhbGwgdGhlbSB1c2luZyB0aGUgInF1ZXJ5IiBwYXJhbWV0ZXI6PGJyLz4NCgl7Y21zX21vZHVsZSBtb2R1bGU9Ikhvc3RlZFZpZGVvQWxidW1zIiBxdWVyeT0iNSJ9PC9wPg0KPHA+PGk+SWYgdGhlIG9wdGlvbiB0byBhbGxvdyBtYW51ZWwgc3FsIHF1ZXJpZXMgaXMgZW5hYmxlZDwvaT4gKHNlZSAiU2V0dGluZ3MiIHRhYiksIHlvdSBtYXkgYWxzbyBwcm92aWRlIHRoZSBzcWwgcXVlcnkgZGlyZWN0bHkgd2l0aCB0aGUgcXVlcnkgcGFyYW1ldGVyLiBGb3IgZXhhbXBsZTo8YnIvPg0KCXtjbXNfbW9kdWxlIG1vZHVsZT0iSG9zdGVkVmlkZW9BbGJ1bXMiIHdoYXQ9InZpZGVvIiBxdWVyeT0iQS5kYXRlX21vZGlmaWVkID4gJzIwMDktMDMtMTUnIEFORCBBLmFjdGl2ZSA9IDEifTxici8+DQoJVGhlIHF1ZXJ5IHBhcmFtZXRlciBjYW4gb25seSBob2xkIHRoZSBXSEVSRSBjbGF1c2Ugb2YgdGhlIHF1ZXJ5LCBhbmQgc2hvdWxkIG5vdCBpbmNsdWRlIHRoZSBXSEVSRSBjb21tYW5kIGl0c2VsZi4gVG8gYXZvaWQgcHJvYmxlbXMsIHRoZSBwcmVmaXggIkEuIiBzaG91bGQgYmUgdXNlZCBiZWZvcmUgZmllbGQgbmFtZXMgKHdoZXJlIGFwcGxpY2FibGUsIHRoZSAiQi4iIHByZWZpeCBjYW4gYmUgdXNlZCB0byBzcGVjaWZ5IGNyaXRlcmlhIG9uIHRoZSBwYXJlbnQncyBmaWVsZHMpLjxici8+DQoJQWx0aG91Z2ggdGhlIGFic3RyYWN0aW9uIGxheWVyIGlzIG5vdCBlYXNpbHkgcHJvbmUgdG8gaW5qZWN0aW9ucywgcmVtZW1iZXIgdGhhdCBhY3RpdmF0aW5nIHRoaXMgb3B0aW9uIG1lYW5zIGdpdmluZyBhIHNxbCBvcGVuaW5nIHdpdGhpbiB0aGUgdGVtcGxhdGVzIGFuZCBiZSBjYXJlZnVsLjwvcD4NCjxoMz5UZW1wbGF0ZXM8L2gzPg0KPHA+WW91IGNhbiBjaG9vc2UgZm9yIGVhY2ggbGV2ZWwgd2hpY2ggdGVtcGxhdGUgd2lsbCBkaXNwbGF5IHRoaXMgbGV2ZWwuPC9wPg0KPHA+ICBCeSBkZWZhdWx0LCBmb3IgdGhlIGNhdGVnb3J5IGxldmVsLCBvbmx5IG9uZSB0ZW1wbGF0ZSBpcyBwcm92aWRlZDogTGlzdExpbmtzLiBUaGlzIHRlbXBsYXRlIGRpc3BsYXlzIGluIGEgYnVsbGV0ZWQgbGlzdCwgZm9yIGVhY2ggY2F0ZWdvcnksIHRoZSBuYW1lIG9mIHRoZSBjYXRlZ29yeSBhbmQgaXQncyBkZXNjcmlwdGlvbi4gVGhlIG5hbWUgaXMgYW4gaHlwZXJsaW5rIHRvIHRoZSBwYWdlIGRpc3BsYXlpbmcgYWxsIHRoZSBhbGJ1bXMgb2YgdGhlIGNhdGVnb3J5LjxiciAvPg0KQXQgdGhlIGFsYnVtIGxldmVsLCB5b3UgYWxzbyB1c2UgTGlzdExpbmtzIHdoaWNoIHdpbGwgZGlzcGxheSBpbiBhIGJ1bGxldGVkIGxpc3QsIGZvciBlYWNoIGFsYnVtIG9mIHRoZSBjYXRlZ29yeSwgdGhlIG5hbWUgb2YgdGhlIGFsYnVtIGFuZCBpdHMgZGVzY3JpcHRpb24uIFRoZSBuYW1lIGlzIGFuIGh5cGVybGluayB0byB0aGUgcGFnZSBkaXNwbGF5aW5nIGFsbCB0aGUgdmlkZW9zIG9mIHRoZSBhbGJ1bS48YnIgLz4NCkF0IHRoZSB2aWRlbyBsZXZlbCwgeW91IGNhbiBjaG9vc2UgYmV0d2VlbiBMaXN0TGlua3MgYW5kIExpc3RWaWRlb3M6PC9wPg0KPHVsPg0KICA8bGk+TGlzdExpbmtzIHdpbGwgZGlzcGxheSBhcyB1c3VhbCBpbiBhIGJ1bGxldGVkIGxpc3QsIGZvciBlYWNoIHZpZGVvIG9mIHRoZSBhbGJ1bSwgdGhlIG5hbWUgb2YgdGhlIHZpZGVvIGFuZCBpdHMgZGVzY3JpcHRpb24uIFRoZSBuYW1lIGlzIGFuIGh5cGVybGluayB0byB0aGUgcGFnZSBkaXNwbGF5aW5nIHRoZSB2aWRlbyB3aGljaCBpcyBkaXNwbGF5ZWQgdXNpbmcgdGhlICZxdW90O2RldGFpbCB0ZW1wbGF0ZSZxdW90OyB3aGljaCBpcyBieSBkZWZhdWx0IERpc3BsYXlWaWRlby48L2xpPg0KICA8bGk+TGlzdFZpZGVvcyB3aWxsIGRpc3BsYXkgZGlyZWN0bHkgaW4gdGhlIGFsYnVtJ3MgcGFnZSwgZm9yIGVhY2ggdmlkZW8gb2YgdGhlIGFsYnVtLCB0aGUgbmFtZSBvZiB0aGUgdmlkZW8sIGl0cyBkZXNjcmlwdGlvbiBhbmQgdGhlIHZpZGVvIGl0c2VsZi48L2xpPg0KPC91bD4NCjxoMz5BZGRpbmcgYSBuZXcgaG9zdGluZyBzaXRlPC9oMz4NCjxwPkl0J3MgcXVpdGUgc2ltcGxlIHRvIGFkZCBhIG5ldyBob3N0aW5nIHNpdGUhIDwvcD4NCjxwPkZpcnN0LCB5b3UgbXVzdCBoYXZlIGEgbG9vayBhdCB0aGUgJnF1b3Q7ZW1iZWRkaW5nIGNvZGUmcXVvdDsgb2YgdGhpcyBzaXRlIGFuZCBsb2NhdGUgd2hhdCBpcyB0aGUgZm9ybSBvZiB0aGUgdmlkZW8gaWQgYW5kIHdoZXJlIGl0IHNob3VsZCBiZSBpbnNlcnRlZCBpbiB0aGUgdXJsIChtb3ZpZSBwYXJhbWV0ZXIgb2YgdGhlIGVtYmVkZGluZyBjb2RlKS4gVGhlbiBqdXN0IGFkZCB0aGUgbmV3IHNpdGUgbmFtZSBpbiB0aGUgJnF1b3Q7U2l0ZXMmcXVvdDsgdGFiIHRoZW4gZWRpdCB0aGUgRW1iZWRWaWRlbyB0ZW1wbGF0ZSBhbmQgYWRkIGp1c3QgYmVmb3JlIHRoZSB7L2lmfSBsaW5lIGEgc2V0IG9mIGxpbmVzIGluIHRoZSBmb3JtOjwvcD4NCjxwIGNsYXNzPSJzdHlsZTEiPntlbHNlaWYgJGl0ZW0tJmd0O3NpdGVfbmFtZXZhbHVlPT0mcXVvdDsmbHQ7dGhlIG5ldyBzaXRlIG5hbWUmZ3Q7JnF1b3Q7fTxiciAvPg0Ke2Fzc2lnbiB2YXI9JnF1b3Q7bW92aWUmcXVvdDsgDQp2YWx1ZT0mcXVvdDsmbHQ7YmVnaW5pbmcgb2YgdGhlIHVybCZndDtgJGl0ZW0tJmd0O3ZpZGVvaWRgJmx0O2VuZCBvZiB0aGUgdXJsJmd0OyZxdW90O308L3A+DQo8cD5Mb29rIGF0IHRoZSBvdGhlciBjYXNlcyB0byBmaW5kIHRoZSBpbnNwaXJhdGlvbiA6KTxiciAvPg0KPC9wPg0KPGgzPkFjdGlvbnM8L2gzPg0KPHA+VGhlc2UgYXJlIHNwZWNpYWwgYWN0aW9ucyB5b3UgY2FuIHVzZSBpbiB0aGUgbW9kdWxlIGRlY2xhcmF0aW9uIHRvIGNyZWF0ZSBzaXRlbWFwcywgYnJlYWRjcnVtYnMgYW5kIHNvIG9uLi4uPGJyLz4NCjwvcD4NCjxoND5UaGUgZW1iZWR2aWRlbyBhY3Rpb248L2g0Pg0KPHA+VG8gZW1iZWQgYSB2aWRlbyBpbnNpZGUgYW4gSFZBIHRlbXBsYXRlLCB5b3UgY2FuIHVzZSB0aGUgPGI+JnF1b3Q7ZW1iZWR2aWRlbyZxdW90OzwvYj4gYWN0aW9uOjxici8+DQogIHtjbXNfbW9kdWxlIG1vZHVsZT0mcXVvdDtIb3N0ZWRWaWRlb0FsYnVtcyZxdW90OyBhY3Rpb249JnF1b3Q7ZW1iZWR2aWRlbyZxdW90OyBpdGVtPSRpdGVtfTxici8+DQogIFRoZSAmcXVvdDtpdGVtPSRpdGVtJnF1b3Q7IHBhcmFtZXRlciBpcyBtYW5kYXRvcnkuPC9wPg0KPGg0PiBUaGUgbGluayBhY3Rpb24gPC9oND4NCjxwPllvdSBtYXkgdXNlIHRoZSBhY3Rpb24gPGI+JnF1b3Q7bGluayZxdW90OzwvYj4gdG8gY3JlYXRlIGEgbGluayB0byB0aGUgZGVmYXVsdCBhY3Rpb24sIHVzaW5nIHRoZSBzYW1lIHBhcmFtZXRlcnM6PGJyLz4NCiAge2Ntc19tb2R1bGUgbW9kdWxlPSZxdW90O0hvc3RlZFZpZGVvQWxidW1zJnF1b3Q7IGFjdGlvbj0mcXVvdDtsaW5rJnF1b3Q7IHdoYXQ9JnF1b3Q7dmlkZW8mcXVvdDsgcmFuZG9tPSZxdW90OzEmcXVvdDt9PGJyLz4NCiAgd291bGQgY3JlYXRlIGEgbGluayB0byBhIHJhbmRvbSBlbGVtZW50IG9mIHRoaXMgbGV2ZWwuPC9wPg0KPGg0PlRoZSBzaXRlbWFwIGFjdGlvbjwvaDQ+DQo8cD5Zb3UgbWF5IHVzZSB0aGUgYWN0aW9uIDxiPiJzaXRlbWFwIjwvYj4gdG8gY3JlYXRlIGEgdmlkZW8gc2l0ZW1hcDo8YnIvPg0KCXtjbXNfbW9kdWxlIG1vZHVsZT0iSG9zdGVkVmlkZW9BbGJ1bXMiIGFjdGlvbj0ic2l0ZW1hcCJ9PGJyLz4NCglZb3UgY2FuIHNlbGVjdCB0aGUgbGV2ZWxzIHVzaW5nIHRoZSAid2hhdCIgcGFyYW1ldGVyLCBhbmQgbWF5IHNlbGVjdCBtb3JlIHRoYW4gb25lIHVzaW5nICJ8IiA6IHdoYXQ9ImxldmVsMXxsZXZlbDIiLjxici8+DQoJT3RoZXIgYXZhaWxhYmxlIHBhcmFtZXRlcnMgZm9yIHRoaXMgYWN0aW9uIGFyZSAiZGV0YWlscGFnZSIgYW5kICJpbmxpbmUiLjxici8+DQoNCjxoNT5Ib3cgY2FuIEkgYWRkIG15IHZpZGVvIGFsYnVtcyB0byBteSBnb29nbGUgc2l0ZW1hcD88L2g1Pg0KPHA+VGhpcyB3aWxsIGhlbHAgeW91IGluY2x1ZGUgdGhlIG1vZHVsZSBlbnRyaWVzIHRvIGEgZ29vZ2xlIHNpdGVtYXAsIDx1PnByb3ZpZGVkIHRoYXQgeW91ciBlbGVtZW50cyBhcmUgYWxsIGRpc3BsYXllZCBvbiB0aGUgc2FtZSBwYWdlPC91Pi48YnIvPg0KPHA+PHN0cm9uZz4qKiogSWYgeW91IGFyZSB1c2luZyB0aGUgPGEgaHJlZj0iaHR0cDovL2Rldi5jbXNtYWRlc2ltcGxlLm9yZy9wcm9qZWN0cy9nc2dlbmVyYXRvciI+Z29vZ2xlIHNpdGVtYXAgZ2VuZXJhdG9yIG1vZHVsZTwvYT4gKioqPC9zdHJvbmc+PC9wPg0KPHA+ICBPcGVuIHlvdXIgc2l0ZW1hcCBnZW5lcmF0b3IgKGdzaXRlbWFwLnBocCksIGFuZCBqdXN0IGJlZm9yZSB0aGUgY2xvc3VyZSBvZiB0aGUgdXJsc2V0ICg8Y29kZT5lY2hvICcgIDw8Lz4vdXJsc2V0PicuICJcXG4iOzwvY29kZT4pLCBhZGQgdGhlIGZvbGxvd2luZyBsaW5lczo8L3A+DQo8cHJlIGNsYXNzPSJjb2RlIj4NCiRtb2R1bGVuYW1lID0gIkhvc3RlZFZpZGVvQWxidW1zIjsNCmlmKCAgaXNzZXQoJGdDbXMtPm1vZHVsZXNbJG1vZHVsZW5hbWVdKSAmJiAkZ0Ntcy0+bW9kdWxlc1skbW9kdWxlbmFtZV1bImFjdGl2ZSJdICYmICR0aGVtb2R1bGUgPSAkZ0Ntcy0+bW9kdWxlc1skbW9kdWxlbmFtZV1bIm9iamVjdCJdKXsNCgkvLyBIRVJFIFlPVSBNVVNUIFBVVCBUSEUgSUQgT1IgQUxJQVMgT0YgVEhFIFBBR0UgVVNFRCBUTyBESVNQTEFZIFRIRSBNT0RVTEUgRUxFTUVOVFM6DQoJJGRldGFpbHBhZ2UgPSAiTVlQQUdFIjsNCgkkcGFyYW1zID0gYXJyYXkoIm1vZGUiPT4iZ29vZ2xlIiwgImRldGFpbHBhZ2UiPT4kZGV0YWlscGFnZSk7DQoJJHRoZW1vZHVsZS0+RG9BY3Rpb24oInNpdGVtYXAiLCAiIiwgJHBhcmFtcyk7DQp9DQo8L3ByZT4NCjxwPk9mIGNvdXJzZSwgZW50ZXIgYSBkZXRhaWxwYWdlLCBiZSBpdCBhbiBpZCBvciBwYWdlIGFsaWFzLjwvcD4NCjxwPk5vdGUgdGhhdCB5b3UgY291bGQgYWxzbyB1c2UgdGhlICJ3aGF0IiBwYXJhbWV0ZXIgdG8gc3BlY2lmeSB3aGljaCBsZXZlbHMgeW91IHdpc2ggdG8gc2VlIGRpc3BsYXllZCAoeW91IGNhbiBzcGVjaWZ5IHNldmVyYWwgbGV2ZWxzIHdpdGggImxldmVsMXxsZXZlbDIiIGFuZCBzbyBvbikuIA0KCQlPdGhlcndpc2UsIGFsbCBsZXZlbHMgd2lsbCBiZSBkaXNwbGF5ZWQuPC9wPg0KPC9icj4NCjxzdHJvbmc+KioqIElmIHlvdSBhcmUgdXNpbmcgdGhlIDxhIGhyZWY9Imh0dHA6Ly9kZXYuY21zbWFkZXNpbXBsZS5vcmcvcHJvamVjdHMvc2l0ZW1hcG1zIj5TaXRlTWFwIE1hZGUgU2ltcGxlPC9hPiBtb2R1bGUgKioqPC9zdHJvbmc+DQo8cD5TaW1wbHkgcHV0IHRoZSBjb2RlIGFib3ZlIGluIGEgVURUICh1c2VyLWRlZmluZWQtdGFnKSwgYW5kIGNhbGwgdGhlIFVEVCBhdCB0aGUgZW5kIG9mIHlvdXIgc2l0ZW1hcCdzIHRlbXBsYXRlLCBqdXN0IGJlZm9yZSA8Y29kZT48PC8+L3VybHNldD48L2NvZGU+LjwvcD4NCg0KPGg0PlRoZSBzZWFyY2ggYWN0aW9uPC9oND4NCjxwPllvdSBtYXkgdXNlIHRoZSBhY3Rpb24gPGI+InNlYXJjaCI8L2I+IHRvIGRpc3BsYXkgYSBzZWFyY2ggZm9ybTo8YnIvPg0KCXtjbXNfbW9kdWxlIG1vZHVsZT0iSG9zdGVkVmlkZW9BbGJ1bXMiIGFjdGlvbj0ic2VhcmNoIn08YnIvPg0KCVVzZSB0aGUgInNlYXJjaG1vZGUiIHBhcmFtZXRlciB0byBzd2l0Y2ggYmV0d2VlbiBhZHZhbmNlZCAoZGVmYXVsdCkgYW5kIHNpbXBsZSBtb2RlLiBZb3UgbWF5IHNwZWNpZnkgdGhlIGxldmVsIGluIHdoaWNoIHRvIHNlYXJjaCB1c2luZyB0aGUgIndoYXQiIHBhcmFtZXRlci4gWW91IGNhbm5vdCB1c2UgdGhlIGFkdmFuY2VkIHNlYXJjaCBtb2RlIGluIGFsbCBsZXZlbHMgYXQgdGhlIHNhbWUgdGltZS48YnIvPg0KCVRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBjYW4gYmUgdXNlZCB3aXRoIHRoZSBzZWFyY2ggYWN0aW9uOiB3aGF0LCBsaW1pdCwgbmJwZXJwYWdlLCBvcmRlcmJ5LCBkZXRhaWxwYWdlLCBsaXN0dGVtcGxhdGUsIGlubGluZSwgc2VhcmNobW9kZS48YnIvPg0KCVNlZSBIb3N0ZWRWaWRlb0FsYnVtcy90ZW1wbGF0ZXMvc2VhcmNoLnRwbCB0byBtb2RpZnkgdGhlIHNlYXJjaCBmb3JtLjwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KCTxwPlRoaXMgbW9kdWxlIGhhcyBiZWVuIG9yaWdpbmFsbHkgY3JlYXRlZCB3aXRoIENUTE1vZHVsZU1ha2VyIGFuZCBtb2RpZmllZCBhZnRlciwgYW5kIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGdwbC5odG1sIj5HTlUgUHVibGljIExpY2Vuc2U8L2E+Ljxici8+DQoJUGFyYW1ldGVycyBmb3IgdGhlIFZpbWVvLCBNZXRhQ2FmZSBhbmQgTXlTcGFjZSBzaXRlcyBhcmUgaW5zcGlyZWQgZnJvbSB0aGUgd2VidmlkZW9zIG1vZHVsZS48L3A+DQo8YnIvPjxici8+DQo=]]></data>
	</file>
	<file>
	  <filename>/lang/thelp_en_US.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IFNtYXJ0eSB2YXJpYWJsZXMgZm9yIGxpc3QgdGVtcGxhdGUgb2YgY2F0ZWdvcnk8L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTx1bD4NCgkJCTxsaT4kbGV2ZWx0aXRsZTwvbGk+DQoJCQk8bGk+JHBhcmVudG9iaiAoaWYgcGFyZW50IGlzIHNwZWNpZmllZCk8L2xpPg0KCQkJPGxpPiRpdGVtbGlzdCAoYXJyYXkgb2YgaXRlbXMpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNfc2VsZWN0ZWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtuYmNoaWxkcmVuIChpZiBsb2FkZWQpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsbGluazwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RldGFpbHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9tb2RpZmllZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfY3JlYXRlZDwvbGk+DQoJCTwvdWw+DQoJCTxici8+PGJyLz4NCgk8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IFNtYXJ0eSB2YXJpYWJsZXMgZm9yIGxpc3QgdGVtcGxhdGUgb2YgYWxidW08L2gzPg0KCTxkaXYgY2xhc3M9InRwbHZhcnNfaGlkZSI+DQoJCTx1bD4NCgkJCTxsaT4kbGV2ZWx0aXRsZTwvbGk+DQoJCQk8bGk+JHBhcmVudG9iaiAoaWYgcGFyZW50IGlzIHNwZWNpZmllZCk8L2xpPg0KCQkJPGxpPiRpdGVtbGlzdCAoYXJyYXkgb2YgaXRlbXMpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNfc2VsZWN0ZWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtuYmNoaWxkcmVuIChpZiBsb2FkZWQpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsbGluazwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RldGFpbHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bGFuZzwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RlZmF1bHRfd2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkZWZhdWx0X2hlaWdodDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9pZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9hbGlhczwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3BhcmVudF9uYW1lPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50bGluazwvbGk+DQoJCQk8bGk+JHRpZW0tJmd0O3BhcmVudHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2lzZGVmYXVsdDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfbW9kaWZpZWQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtkYXRlX2NyZWF0ZWQ8L2xpPg0KCQk8L3VsPg0KCQk8YnIvPjxici8+DQoJPC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQoJPGgzIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IiBvbmNsaWNrPSJjdGxtbV9kaXNwbGF5dG9nZ2xlKHRoaXMpOyI+Jmd0OyBTbWFydHkgdmFyaWFibGVzIGZvciBsaXN0IHRlbXBsYXRlIG9mIHZpZGVvPC9oMz4NCgk8ZGl2IGNsYXNzPSJ0cGx2YXJzX2hpZGUiPg0KCQk8dWw+DQoJCQk8bGk+JGxldmVsdGl0bGU8L2xpPg0KCQkJPGxpPiRwYXJlbnRvYmogKGlmIHBhcmVudCBpcyBzcGVjaWZpZWQpPC9saT4NCgkJCTxsaT4kaXRlbWxpc3QgKGFycmF5IG9mIGl0ZW1zKTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2lzX3NlbGVjdGVkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGV0YWlsbGluazwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RldGFpbHVybDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Rlc2NyaXB0aW9uPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7c2l0ZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3NpdGVfbmFtZXZhbHVlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7dmlkZW9pZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3dpZHRoPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aGVpZ2h0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X25hbWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRsaW5rPC9saT4NCgkJCTxsaT4kdGllbS0mZ3Q7cGFyZW50dXJsPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9tb2RpZmllZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfY3JlYXRlZDwvbGk+DQoJCQk8bGk+JGZ1bGxzY3JlZW48L2xpPg0KCQkJPGxpPiRzY3JpcHRhY2Nlc3M8L2xpPg0KCQk8L3VsPg0KCQk8YnIvPjxici8+DQoJPC9kaXY+DQo8L2Rpdj4NCjxkaXY+DQoJPGgzIHN0eWxlPSJjdXJzb3I6IHBvaW50ZXI7IiBvbmNsaWNrPSJjdGxtbV9kaXNwbGF5dG9nZ2xlKHRoaXMpOyI+Jmd0OyBTbWFydHkgdmFyaWFibGVzIGZvciB0aGUgZGV0YWlsIHRlbXBsYXRlPC9oMz4NCgk8ZGl2IGNsYXNzPSJ0cGx2YXJzX2hpZGUiPg0KCQk8dWw+DQoJCQk8bGk+JGxldmVsdGl0bGU8L2xpPg0KCQkJPGxpPiRwcmV2aW91c19pdGVtIChpZiBsb2FkZWQpPC9saT4NCgkJCTxsaT4kbmV4dF9pdGVtIChpZiBsb2FkZWQpPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGVzY3JpcHRpb248L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtzaXRlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDt2aWRlb2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X25hbWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRsaW5rPC9saT4NCgkJCTxsaT4kdGllbS0mZ3Q7cGFyZW50dXJsPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9tb2RpZmllZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfY3JlYXRlZDwvbGk+DQoJCQk8bGk+JGxhYmVscy0+Li4uPC9saT4NCgkJPC91bD4NCgkJPGJyLz4NCgkJPHA+SW4gdGhlIGZpbmFsIGxldmVsIGRldGFpbCB0ZW1wbGF0ZSwgdXNlIHRoZSBvYmplY3QgJGxhYmVscyB0byBwcmludCBsYW5ndWFnZS1zZW5zaWJsZSBmaWVsZCBsYWJlbHMgKCRsYWJlbHMtPmZpZWxkbmFtZSkuPC9wPg0KCQk8cD5Zb3UgbWF5IHJlYWNoIHRoZSBwYXJlbnQgb2JqZWN0cyB1c2luZyAkaXRlbS0+cGFyZW50X29iamVjdC0+cGFyZW50X29iamVjdC0+Li4uIGFuZCBzbyBvbi48L3A+DQoJCTxici8+DQoJPC9kaXY+DQo8L2Rpdj4NCg0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IEJyZWFkY3J1bWJzPC9oMz4NCgk8ZGl2IGNsYXNzPSJ0cGx2YXJzX2hpZGUiPg0KCQk8cD5XaGVuIHlvdSBhcmUgaW4gYSBtb2R1bGUgdGVtcGxhdGUsIHlvdSBtYXkgY2FsbCB0aGUgYnJlYWRjcnVtYnMgdXNpbmcgdGhlIHtIb3N0ZWRWaWRlb0FsYnVtc19icmVhZGNydW1ic30gdGFnLiANCgkJWW91IG1heSB1c2UgdGhlIHNhbWUgcGFyYW1ldGVycyBhcyB0aGUgY21zIGNvcmUgYnJlYWRjcnVtYnMgdGFnIChpbml0aWFsLCBkZWxpbWl0ZXIsIGNsYXNzaWQsIGN1cnJlbnRjbGFzc2lkKSwgDQoJCWFzIHdlbGwgYXMgdGhlICJzdGFydGxldmVsIiBwYXJhbWV0ZXIuPGJyLz4NCgkJT3V0c2lkZSBtb2R1bGUgdGVtcGxhdGVzLCBhbnl3aGVyZSBvbiB0aGUgcGFnZSwgeW91IG1heSBjYWxsIHRoZSBicmVhZGNydW1icyBhY3Rpb24gDQoJCXtjbXNfbW9kdWxlIG1vZHVsZT0iSG9zdGVkVmlkZW9BbGJ1bXMiIGFjdGlvbj0iYnJlYWRjcnVtYnMifSwgb25jZSBhZ2FpbiB1c2luZyB0aGUgc2FtZSBwYXJhbWV0ZXJzLjwvcD4NCgk8L2Rpdj4NCjwvZGl2Pg0KPGRpdj4NCgk8aDMgc3R5bGU9ImN1cnNvcjogcG9pbnRlcjsiIG9uY2xpY2s9ImN0bG1tX2Rpc3BsYXl0b2dnbGUodGhpcyk7Ij4mZ3Q7IFZpZGVvIGVtYmVkZGluZzwvaDM+DQoJPGRpdiBjbGFzcz0idHBsdmFyc19oaWRlIj4NCgkJPHA+V2hlbiB5b3UgYXJlIGluIGEgbW9kdWxlIHRlbXBsYXRlLCB5b3UgY2FuIGVtYmVkIGEgdmlkZW8gdXNpbmcgdGhlIHtIb3N0ZWRWaWRlb0FsYnVtc19lbWJlZHZpZGVvIGl0ZW09JGl0ZW19IHRhZy4gDQoJCVRoZSAiaXRlbT0kaXRlbSIgcGFyYW1ldGVyIGlzIG1hbmRhdG9yeS4gSW5zaWRlIHRoZSAgdGVtcGxhdGUgYXNzb2NpYXRlZCB0byB0aGlzIHRhZywgeW91IGNhbiB1c2UgdGhlIGZvbGxvd2luZyBmaWVsZHM6PGJyLz4NCgkJPHVsPg0KCQkJPGxpPiRsZXZlbHRpdGxlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7bmFtZTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGVzY3JpcHRpb248L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtzaXRlPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7c2l0ZV9uYW1ldmFsdWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDt2aWRlb2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7d2lkdGg8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtoZWlnaHQ8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtsYW5nPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2lkPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X2FsaWFzPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7cGFyZW50X25hbWU8L2xpPg0KCQkJPGxpPiRpdGVtLSZndDtwYXJlbnRsaW5rPC9saT4NCgkJCTxsaT4kdGllbS0mZ3Q7cGFyZW50dXJsPC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7aXNkZWZhdWx0PC9saT4NCgkJCTxsaT4kaXRlbS0mZ3Q7ZGF0ZV9tb2RpZmllZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2RhdGVfY3JlYXRlZDwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2NvbG9yMTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2NvbG9yMjwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O3NjcmlwdGFjY2VzczwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Z1bGxzY3JlZW48L2xpPg0KCQkJPGxpPiRpdGVtLSZndDthdXRvcGxheTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2Z1bGxzY3JlZW5faW50IChzYW1lIGFzIGZ1bGxzY3JlZW4gYnV0IDEgaW5zdGVhZCBvZiB0cnVlKTwvbGk+DQoJCQk8bGk+JGl0ZW0tJmd0O2F1dG9wbGF5X2ludCAoc2FtZSBhcyBhdXRvcGxheSBidXQgMSBpbnN0ZWFkIG9mIHRydWUpPC9saT4NCgkJCTxsaT4kbGFiZWxzLT4uLi48L2xpPg0KCQk8L3VsPg0KCTwvZGl2Pg0KPC9kaXY+DQo=]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24NCiRkYiA9ICYkdGhpcy0+Y21zLT5kYjsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCgkJDQovLyBteXNxbC1zcGVjaWZpYywgYnV0IGlnbm9yZWQgYnkgb3RoZXIgZGF0YWJhc2UNCiR0YWJvcHRhcnJheSA9IGFycmF5KCJteXNxbCIgPT4gIlRZUEU9TXlJU0FNIik7DQoNCi8vIENyZWF0ZXMgdGhlIGNhdGVnb3J5IHRhYmxlDQokZmxkcyA9ICINCglkZXNjcmlwdGlvbiBDKDI1NSksDQoJaWQgSSBLRVksDQoJbmFtZSBDKDY0KSwNCglhbGlhcyBDKDY0KSwNCglpdGVtX29yZGVyIEksDQoJYWN0aXZlIEwsDQoJaXNkZWZhdWx0IEwsDQogICAgZGF0ZV9tb2RpZmllZCAiLkNNU19BRE9EQl9EVC4iLA0KCWRhdGVfY3JlYXRlZCAiLkNNU19BRE9EQl9EVC4iDQoJIjsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeSIsICRmbGRzLCAkdGFib3B0YXJyYXkpOw0KJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KJGRiLT5DcmVhdGVTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfY2F0ZWdvcnlfc2VxIik7DQoNCg0KLy8gQ3JlYXRlcyB0aGUgYWxidW0gdGFibGUNCiRmbGRzID0gIg0KCWRlc2NyaXB0aW9uIEMoMjU1KSwNCglsYW5nIEMoMTApLA0KCWRlZmF1bHRfd2lkdGggSSwNCglkZWZhdWx0X2hlaWdodCBJLA0KCXBhcmVudCBJLA0KCWlkIEkgS0VZLA0KCW5hbWUgQyg2NCksDQoJYWxpYXMgQyg2NCksDQoJaXRlbV9vcmRlciBJLA0KCWFjdGl2ZSBMLA0KCWlzZGVmYXVsdCBMLA0KICAgIGRhdGVfbW9kaWZpZWQgIi5DTVNfQURPREJfRFQuIiwNCglkYXRlX2NyZWF0ZWQgIi5DTVNfQURPREJfRFQuIg0KCSI7DQoNCiRzcWxhcnJheSA9ICRkaWN0LT5DcmVhdGVUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW0iLCAkZmxkcywgJHRhYm9wdGFycmF5KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2FsYnVtX3NlcSIpOw0KDQoNCi8vIENyZWF0ZXMgdGhlIHZpZGVvIHRhYmxlDQokZmxkcyA9ICINCglkZXNjcmlwdGlvbiBDKDI1NSksDQoJc2l0ZSBJLA0KCXZpZGVvaWQgQyg2NCksDQoJd2lkdGggSSwNCgloZWlnaHQgSSwNCglwYXJlbnQgSSwNCglpZCBJIEtFWSwNCgluYW1lIEMoNjQpLA0KCWFsaWFzIEMoNjQpLA0KCWl0ZW1fb3JkZXIgSSwNCglhY3RpdmUgTCwNCglpc2RlZmF1bHQgTCwNCiAgICBkYXRlX21vZGlmaWVkICIuQ01TX0FET0RCX0RULiIsDQoJZGF0ZV9jcmVhdGVkICIuQ01TX0FET0RCX0RULiINCgkiOw0KDQokc3FsYXJyYXkgPSAkZGljdC0+Q3JlYXRlVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3ZpZGVvIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQokZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV92aWRlb19zZXEiKTsNCg0KDQovLyBDcmVhdGUgdGhlIGZpZWxkb3B0aW9ucyB0YWJsZQ0KJGZsZHMgPSAiDQoJaWQgSSwNCglmaWVsZCBDKDEyOCksDQoJbmFtZSBDKDMyKSwNCglpdGVtX29yZGVyIEkNCgkiOw0KJHRhYmxlbmFtZSA9IGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnMiOw0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKCR0YWJsZW5hbWUsICRmbGRzLCAkdGFib3B0KTsNCiRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCiRkYi0+Q3JlYXRlU2VxdWVuY2UoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX2ZpZWxkb3B0aW9uc19zZXEiKTsNCg0KLy8gaW5zZXJ0IGRlZmF1bHQgdmlkZW8gc2l0ZXMNCiRxdWVyeSA9ICJJTlNFUlQgSU5UTyAiLiR0YWJsZW5hbWUuIiBTRVQgaWQ9PywgZmllbGQ9PywgbmFtZT0/LCBpdGVtX29yZGVyPT8iOw0KJHNpdGVzID0gYXJyYXkoImxvY2FsLWRpdngiLCAiZGFpbHltb3Rpb24iLCAiZ29vZ2xlIHZpZGVvcyIsICJtZXRhY2FmZSIsICJtc24gdmlkZW8iLCAibXlzcGFjZSIsICJ2ZW9oIiwgInZpbWVvIiwgInlvdXR1YmUiLCAieWFob28gdmlkZW9zIik7DQpmb3JlYWNoICgkc2l0ZXMgYXMgJHNpdGUpIHsNCiAgICAkc2l0ZWlkID0gJGRiLT5HZW5JRCgkdGFibGVuYW1lLiJfc2VxIik7DQoJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkc2l0ZWlkLCJ2aWRlb19zaXRlIiwkc2l0ZSwkc2l0ZWlkKSk7DQp9DQp1bnNldCgkc2l0ZSk7DQoNCg0KLy8gQ3JlYXRlcyB0aGUgcXVlcmllcyB0YWJsZQ0KJGZsZHMgPSAiDQogICAgaWQgSSwNCgluYW1lIEMoNjQpLA0KCXdoYXQgQygzMiksDQoJd2hlcmVjbGF1c2UgQygyNTUpLA0KCXdoZXJldmFsdWVzIEMoMjU1KSwNCglxdWVyeW9yZGVyIEMoMzIpDQoJIjsNCg0KJHNxbGFycmF5ID0gJGRpY3QtPkNyZWF0ZVRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzIiwgJGZsZHMsICR0YWJvcHRhcnJheSk7DQokZGljdC0+RXhlY3V0ZVNRTEFycmF5KCRzcWxhcnJheSk7DQokZGItPkNyZWF0ZVNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzX3NlcSIpOw0KDQoNCi8vIElOU0VSVElORyBERUZBVUxUIFRFTVBMQVRFUw0KJGZuYmFzZT1kaXJuYW1lKF9fRklMRV9fKS5ESVJFQ1RPUllfU0VQQVJBVE9SLid0ZW1wbGF0ZXMnLkRJUkVDVE9SWV9TRVBBUkFUT1I7DQokZm4gPSAkZm5iYXNlLidkZWZhdWx0X2xpc3RfbGlua3MudHBsJzsNCmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJJHRoaXMtPlNldFRlbXBsYXRlKCJMaXN0TGlua3MiLCR0ZW1wbGF0ZSwkdGhpcy0+R2V0TmFtZSgpKTsNCiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgibGlzdHRlbXBsYXRlX2NhdGVnb3J5IiwiTGlzdExpbmtzIik7DQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoImxpc3R0ZW1wbGF0ZV9hbGJ1bSIsIkxpc3RMaW5rcyIpOw0KfQkNCiRmbiA9ICRmbmJhc2UuJ2RlZmF1bHRfbGlzdF92aWRlb3MudHBsJzsNCmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJJHRoaXMtPlNldFRlbXBsYXRlKCJMaXN0VmlkZW9zIiwkdGVtcGxhdGUsJHRoaXMtPkdldE5hbWUoKSk7DQogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoImxpc3R0ZW1wbGF0ZV92aWRlbyIsIkxpc3RWaWRlb3MiKTsNCn0JDQokZm4gPSAkZm5iYXNlLidkZWZhdWx0X2Rpc3BsYXlfdmlkZW8udHBsJzsNCmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJJHRoaXMtPlNldFRlbXBsYXRlKCJEaXNwbGF5VmlkZW8iLCR0ZW1wbGF0ZSwkdGhpcy0+R2V0TmFtZSgpKTsNCgkkdGhpcy0+U2V0UHJlZmVyZW5jZSgiZmluYWx0ZW1wbGF0ZSIsIkRpc3BsYXlWaWRlbyIpOw0KfQ0KJGZuID0gJGZuYmFzZS4nZGVmYXVsdF9ub19yZXN1bHQudHBsJzsNCmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJJHRoaXMtPlNldFRlbXBsYXRlKCJOb1Jlc3VsdCIsJHRlbXBsYXRlLCR0aGlzLT5HZXROYW1lKCkpOw0KCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCJlbXB0eXRlbXBsYXRlIiwiTm9SZXN1bHQiKTsNCn0NCiRmbiA9ICRmbmJhc2UuJ2RlZmF1bHRfZW1iZWRfdmlkZW8udHBsJzsNCmlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQogICAgJHRlbXBsYXRlID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCRmbik7DQoJJHRoaXMtPlNldFRlbXBsYXRlKCJFbWJlZFZpZGVvIiwkdGVtcGxhdGUsJHRoaXMtPkdldE5hbWUoKSk7DQoJJHRoaXMtPlNldFByZWZlcmVuY2UoImVtYmVkdGVtcGxhdGUiLCJFbWJlZFZpZGVvIik7DQp9DQoNCi8vIENSRUFUSU5HIFBFUk1JU1NJT05TIDoNCg0KLy8gcGVybWlzc2lvbnMNCgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigiSFZBX25vcm1hbHVzZXIiLCAiSG9zdGVkVmlkZW9BbGJ1bXM6IE5vcm1hbCB1c2VyIik7DQoJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oIkhWQV9hZHZhbmNlZCIsICJIb3N0ZWRWaWRlb0FsYnVtczogQWR2YW5jZWQiKTsNCgkkdGhpcy0+Q3JlYXRlUGVybWlzc2lvbigiSFZBX21hbmFnZV9jYXRlZ29yeSIsICJIb3N0ZWRWaWRlb0FsYnVtczogTWFuYWdlIGNhdGVnb3J5Iik7DQoJJHRoaXMtPkNyZWF0ZVBlcm1pc3Npb24oIkhWQV9tYW5hZ2VfYWxidW0iLCAiSG9zdGVkVmlkZW9BbGJ1bXM6IE1hbmFnZSBhbGJ1bSIpOw0KCSR0aGlzLT5DcmVhdGVQZXJtaXNzaW9uKCJIVkFfbWFuYWdlX3ZpZGVvIiwgIkhvc3RlZFZpZGVvQWxidW1zOiBNYW5hZ2UgdmlkZW8iKTsNCi8vIGFjdGl2YXRpbmcgZGVmYXVsdCBwcmVmZXJlbmNlcw0KCSRkZWZwcmVmcyA9IGFycmF5KCJ0YWJkaXNwbGF5X2NhdGVnb3J5Iiwic2VhcmNobW9kdWxlX2luZGV4X2NhdGVnb3J5IiwidGFiZGlzcGxheV9hbGJ1bSIsInNlYXJjaG1vZHVsZV9pbmRleF9hbGJ1bSIsInRhYmRpc3BsYXlfdmlkZW8iLCJzZWFyY2htb2R1bGVfaW5kZXhfdmlkZW8iLCJyZXN0cmljdF9wZXJtaXNzaW9ucyIsIm9yZGVyYnluYW1lIiwiZGlzcGxheV9maWx0ZXIiLCJkaXNwbGF5X2luc3RhbnRzZWFyY2giLCJkaXNwbGF5X2luc3RhbnRzb3J0IiwibG9hZF9uYmNoaWxkcmVuIiwidXNlX3Nlc3Npb24iLCAiZnVsbHNjcmVlbiIsICJzY3JpcHRhY2Nlc3MiLCAiYXV0b3BsYXkiKTsNCglmb3JlYWNoKCRkZWZwcmVmcyBhcyAkb25lcHJlZikJJHRoaXMtPlNldFByZWZlcmVuY2UoJG9uZXByZWYsdHJ1ZSk7DQoJJHRoaXMtPlNldFByZWZlcmVuY2UoImVtcHR5dGVtcGxhdGUiLCIqKiIpOw0KDQovLyBldmVudHMNCgkkdGhpcy0+Q3JlYXRlRXZlbnQoIkhWQV9hZGRlZCIpOw0KCSR0aGlzLT5DcmVhdGVFdmVudCgiSFZBX21vZGlmaWVkIik7DQoJJHRoaXMtPkNyZWF0ZUV2ZW50KCJIVkFfZGVsZXRlZCIpOw0KCQ0KLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nDQoJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygiZnJpZW5kbHluYW1lIiksICR0aGlzLT5MYW5nKCJpbnN0YWxsZWQiLCR0aGlzLT5HZXRWZXJzaW9uKCkpKTsNCj8+DQo=]]></data>
	</file>
	<file>
	  <filename>/method.uninstall.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHANCmlmKCFpc3NldCgkZ0NtcykpIGV4aXQ7DQoNCi8vIFR5cGljYWwgRGF0YWJhc2UgSW5pdGlhbGl6YXRpb24NCiRkYiA9ICYkdGhpcy0+Y21zLT5kYjsNCiRkaWN0ID0gTmV3RGF0YURpY3Rpb25hcnkoJGRiKTsNCg0KDQoNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9jYXRlZ29yeSIpOw0KCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkkZGItPkRyb3BTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfY2F0ZWdvcnlfc2VxIik7DQoJDQoNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9hbGJ1bSIpOw0KCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkkZGItPkRyb3BTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfYWxidW1fc2VxIik7DQoJDQoNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV92aWRlbyIpOw0KCSRkaWN0LT5FeGVjdXRlU1FMQXJyYXkoJHNxbGFycmF5KTsNCgkkZGItPkRyb3BTZXF1ZW5jZShjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfdmlkZW9fc2VxIik7DQoJDQoJJHNxbGFycmF5ID0gJGRpY3QtPkRyb3BUYWJsZVNRTChjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfZmllbGRvcHRpb25zIik7DQoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCSRkYi0+RHJvcFNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9maWVsZG9wdGlvbnNfc2VxIik7DQoJDQoNCgkvLyRzcWxhcnJheSA9ICRkaWN0LT5Ecm9wVGFibGVTUUwoY21zX2RiX3ByZWZpeCgpLiJtb2R1bGVfSFZBX3RlbXBsYXRlcyIpOw0KCS8vJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCSR0aGlzLT5EZWxldGVUZW1wbGF0ZSgiIiwkdGhpcy0+R2V0TmFtZSgpKTsNCgkNCgkkc3FsYXJyYXkgPSAkZGljdC0+RHJvcFRhYmxlU1FMKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzIik7DQoJJGRpY3QtPkV4ZWN1dGVTUUxBcnJheSgkc3FsYXJyYXkpOw0KCSRkYi0+RHJvcFNlcXVlbmNlKGNtc19kYl9wcmVmaXgoKS4ibW9kdWxlX0hWQV9zYXZlZF9xdWVyaWVzX3NlcSIpOw0KDQovLyBwZXJtaXNzaW9ucw0KCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCJIVkFfbWFuYWdlX2NhdGVnb3J5Iik7DQoJJHRoaXMtPlJlbW92ZVBlcm1pc3Npb24oIkhWQV9tYW5hZ2VfYWxidW0iKTsNCgkkdGhpcy0+UmVtb3ZlUGVybWlzc2lvbigiSFZBX21hbmFnZV92aWRlbyIpOw0KCSR0aGlzLT5SZW1vdmVQZXJtaXNzaW9uKCJIVkFfYWR2YW5jZWQiKTsNCgkkdGhpcy0+UmVtb3ZlUHJlZmVyZW5jZSgpOw0KCQ0KLy8gZXZlbnRzDQoJJHRoaXMtPlJlbW92ZUV2ZW50KCJIVkFfYWRkZWQiKTsNCgkkdGhpcy0+UmVtb3ZlRXZlbnQoIkhWQV9tb2RpZmllZCIpOw0KCSR0aGlzLT5SZW1vdmVFdmVudCgiSFZBX2RlbGV0ZWQiKTsNCg0KLy8gcHV0IG1lbnRpb24gaW50byB0aGUgYWRtaW4gbG9nDQoJJHRoaXMtPkF1ZGl0KCAwLCAkdGhpcy0+TGFuZygiZnJpZW5kbHluYW1lIiksICR0aGlzLT5MYW5nKCJ1bmluc3RhbGxlZCIpKTsNCg0KPz4NCg==]]></data>
	</file>
	<file>
	  <filename>/method.upgrade.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQo8P3BocA0KDQoNCmlmICghaXNzZXQoJGdDbXMpKSBleGl0Ow0KDQovLyRkYiA9JiAkdGhpcy0+R2V0RGIoKTsNCi8vJGRpY3QgPSBOZXdEYXRhRGljdGlvbmFyeSgkZGIpOw0KLy8kdGFib3B0ID0gYXJyYXkoIm15c3FsIiA9PiAiVFlQRT1NeUlTQU0iKTsNCg0KJGN1cnJlbnRfdmVyc2lvbiA9ICRvbGR2ZXJzaW9uOw0Kc3dpdGNoKCRjdXJyZW50X3ZlcnNpb24pIHsNCgljYXNlICIxLjAiOg0KCWNhc2UgIjEuMSI6DQoJY2FzZSAiMS4xLjEiOg0KCQkkc2l0ZU5hbWVzID0gYXJyYXkoImxvY2FsLWRpdngiLCAibWV0YWNhZmUiLCAibXlzcGFjZSIsICJ2aW1lbyIsICJtc24gdmlkZW8iKTsNCgkJZm9yZWFjaCgkc2l0ZU5hbWVzIGFzICRzaXRlTmFtZSkgew0KCQkJaWYgKCR0aGlzLT5jb3VudHNvbWV0aGluZygiZmllbGRvcHRpb25zIiwgImlkIiwgYXJyYXkoImZpZWxkIj0+InZpZGVvX3NpdGUiLCAibmFtZSI9PiRzaXRlTmFtZSkpPT0wKSB7DQoJCQkJJGRiID0mICR0aGlzLT5HZXREYigpOw0KCQkJCSR0YWJsZW5hbWUgPSBjbXNfZGJfcHJlZml4KCkuIm1vZHVsZV9IVkFfZmllbGRvcHRpb25zIjsNCgkJCQkkcXVlcnkgPSAiSU5TRVJUIElOVE8gIi4kdGFibGVuYW1lLiIgU0VUIGlkPT8sIGZpZWxkPT8sIG5hbWU9PywgaXRlbV9vcmRlcj0/IjsNCgkJCQkkc2l0ZWlkID0gJGRiLT5HZW5JRCgkdGFibGVuYW1lLiJfc2VxIik7DQoJCQkJJGRiLT5FeGVjdXRlKCRxdWVyeSxhcnJheSgkc2l0ZWlkLCJ2aWRlb19zaXRlIiwkc2l0ZU5hbWUsJHNpdGVpZCkpOw0KCQkJfQ0KCQl9DQoJCS8vIHVwZGF0ZSBkZWZhdWx0IHRlbXBsYXRlDQoJCSRmbmJhc2U9ZGlybmFtZShfX0ZJTEVfXykuRElSRUNUT1JZX1NFUEFSQVRPUi4ndGVtcGxhdGVzJy5ESVJFQ1RPUllfU0VQQVJBVE9SOw0KCQkkZm4gPSAkZm5iYXNlLidkZWZhdWx0X2VtYmVkX3ZpZGVvLnRwbCc7DQoJCWlmKCBmaWxlX2V4aXN0cyggJGZuICkgKSB7DQoJCQkkdGVtcGxhdGUgPSBAZmlsZV9nZXRfY29udGVudHMoJGZuKTsNCgkJCSR0aGlzLT5TZXRUZW1wbGF0ZSgiRW1iZWRWaWRlbyIsJHRlbXBsYXRlLCR0aGlzLT5HZXROYW1lKCkpOw0KCQkJJHRoaXMtPlNldFByZWZlcmVuY2UoImVtYmVkdGVtcGxhdGUiLCJFbWJlZFZpZGVvIik7DQoJCX0NCgkJJHRoaXMtPlNldFByZWZlcmVuY2UoImZ1bGxzY3JlZW4iLHRydWUpOw0KCQkkdGhpcy0+U2V0UHJlZmVyZW5jZSgic2NyaXB0YWNjZXNzIix0cnVlKTsNCgkJJHRoaXMtPlNldFByZWZlcmVuY2UoImF1dG9wbGF5Iix0cnVlKTsNCgljYXNlICIxLjIiOg0KCWRlZmF1bHQ6DQoJICAgICBicmVhazsNCn0NCgkJDQoJJGN1cnJlbnRfdmVyc2lvbiA9ICIxLjIiOw0KICAgIC8vIHB1dCBtZW50aW9uIGludG8gdGhlIGFkbWluIGxvZw0KICAgICR0aGlzLT5BdWRpdCggMCwgJHRoaXMtPkxhbmcoJ2ZyaWVuZGx5bmFtZScpLCAkdGhpcy0+TGFuZygndXBncmFkZWQnLCRjdXJyZW50X3ZlcnNpb24pKTsNCg0KPz4=]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/adminpanel.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[e2lmICRmaWx0ZXIgfHwgJGluc3RhbnRzZWFyY2h9PGRpdiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyB0ZXh0LWFsaWduOiByaWdodDsiPnskZmlsdGVyfXtpZiAkZmlsdGVyICYmICRpbnN0YW50c2VhcmNofTxici8+ey9pZn17JGluc3RhbnRzZWFyY2h9PC9kaXY+ey9pZn0NCjxwPnskYWRkbmV3fSB7JHJlb3JkZXJ9PC9wPg0Ke2lmIGNvdW50KCRpdGVtbGlzdCkgPiAwfQ0KPGRpdiBzdHlsZT0iY2xlYXI6IHJpZ2h0OyI+DQo8dGFibGUge2lmICR0YWJsZWlkfWlkPSJ7JHRhYmxlaWR9IiB7L2lmfWNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCjx0aGVhZD48dHI+DQoJe2ZvcmVhY2ggZnJvbT0kYWRtaW5zaG93IGl0ZW09Y29sdW1ufQ0KCQk8dGg+eyRjb2x1bW5bMF19PC90aD4NCgl7L2ZvcmVhY2h9DQo8L3RyPjwvdGhlYWQ+DQo8dGJvZHk+DQp7Y3ljbGUgdmFsdWVzPSJyb3cyLHJvdzEiIGFzc2lnbj1yb3djbGFzcyByZXNldD10cnVlfQ0Ke2ZvcmVhY2ggZnJvbT0kaXRlbWxpc3QgaXRlbT1vbmVpdGVtfQ0Ke2N5Y2xlIHZhbHVlcz0icm93Mixyb3cxIiBhc3NpZ249cm93Y2xhc3N9DQo8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPg0KCXtmb3JlYWNoIGZyb209JGFkbWluc2hvdyBpdGVtPWNvbHVtbn0NCgkJe2Fzc2lnbiB2YXI9b25ldmFsIHZhbHVlPSRjb2x1bW5bMV19DQoJCTx0ZHtpZiAkY29sdW1uWzJdfSBjbGFzcz0iY3RsbW1fbm9zZWFyY2giey9pZn0+eyRvbmVpdGVtLT4kb25ldmFsfTwvdGQ+DQoJey9mb3JlYWNofQ0KPC90cj4NCnsvZm9yZWFjaH0NCjwvdGJvZHk+DQo8L3RhYmxlPg0KPC9kaXY+DQp7aWYgJHBhZ2VpbmZvfQ0KPHAgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPntpZiAkcHJldmlvdXNwYWdlfXskcHJldmlvdXNwYWdlfSAmbmJzcDsgey9pZn17JHBhZ2VpbmZvfXtpZiAkbmV4dHBhZ2V9ICZuYnNwOyB7JG5leHRwYWdlfXsvaWZ9PGJyLz4NCnskcGFnZXN9PC9wPg0Key9pZn0NCjxwPnskYWRkbmV3fTwvcD57L2lmfQ0K]]></data>
	</file>
	<file>
	  <filename>/templates/browsefiles.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskYnJvd3NldGl0bGV9PC9oMj4NCntpZiAkcG9zdG1heHNpemV9PHAgYWxpZ249InJpZ2h0Ij57JHBvc3RtYXhzaXplfTwvcD57L2lmfQ0KeyRmb3Jtc3RhcnR9DQoNCntpZiAkYWRkZmlsZWlucHV0fQ0KPGZpZWxkc2V0IHN0eWxlPSJmbG9hdDogcmlnaHQ7IHdpZHRoOiAzMCU7IG1hcmdpbjogMTVweDsgcGFkZGluZzogNXB4OyI+PGxlZ2VuZD48Yj57JHppcHRpdGxlfTwvYj48L2xlZ2VuZD4NCjxwPnskemlwbm90aWNlfTwvcD4NCntpZiAkcmVzaXplbm90aWNlfTxwPnskcmVzaXplbm90aWNlfTwvcD57L2lmfQ0KPHA+eyR6aXBpbnB1dH0geyR6aXBzdWJtaXR9PC9wPg0KPC9maWVsZHNldD4NCnsvaWZ9DQo8ZmllbGRzZXQgc3R5bGU9Im1hcmdpbjogMTVweDsgcGFkZGluZzogNXB4OyI+PGxlZ2VuZD48Yj57JHVwbG9hZHRpdGxlfTwvYj48L2xlZ2VuZD4NCntpZiAkcmVzaXplbm90aWNlfTxwPnskcmVzaXplbm90aWNlfTwvcD57L2lmfQ0KeyRmaWxlaW5wdXR9DQp7aWYgJGFkZGZpbGVpbnB1dH08cD57JGFkZGZpbGVpbnB1dH08L3A+ey9pZn0NCjxwPnskc3VibWl0fTwvcD4NCjwvZmllbGRzZXQ+DQoNCnskZm9ybWVuZH0NCg0KPGJyLz4NCntpZiAkaW5zdGFudHNlYXJjaH08ZGl2IHN0eWxlPSJmbG9hdDogcmlnaHQ7Ij57JGluc3RhbnRzZWFyY2h9PC9kaXY+ey9pZn0NCjxwPnskc2hvd2luZ2Rpcn08L3A+DQo8ZGl2IHN0eWxlPSJjbGVhcjogcmlnaHQ7Ij4NCjx0YWJsZSBpZD0iZmlsZWxpc3RfdGFibGUiIGNlbGxzcGFjaW5nPSIwIiBjbGFzcz0icGFnZXRhYmxlIj4NCjx0aGVhZD48dHI+DQoJPHRoPnskc29ydGxpbmtzWzBdfXskaGVhZGVycy0+ZmlsZW5hbWV9PC90aD4NCgk8dGg+eyRudW1lcmljX3NvcnRsaW5rc1sxXX17JGhlYWRlcnMtPmltYWdlc2l6ZX08L3RoPg0KCTx0aD57JHNvcnRsaW5rc1syXX17JGhlYWRlcnMtPmV4dH08L3RoPg0KCTx0aD57JG51bWVyaWNfc29ydGxpbmtzWzNdfXskaGVhZGVycy0+c2l6ZX08L3RoPg0KCTx0aD57JG51bWVyaWNfc29ydGxpbmtzWzRdfXskaGVhZGVycy0+bW9kaWZpZWR9PC90aD4NCgk8dGggd2lkdGg9IjEyOCI+eyRoZWFkZXJzLT5kZWxldGVsaW5rfTwvdGg+DQo8L3RyPjwvdGhlYWQ+DQo8dGJvZHk+DQp7Y3ljbGUgdmFsdWVzPSJyb3cyLHJvdzEiIGFzc2lnbj1yb3djbGFzcyByZXNldD10cnVlfQ0Ke2ZvcmVhY2ggZnJvbT0kaXRlbWxpc3QgaXRlbT1vbmVpdGVtfQ0Ke2N5Y2xlIHZhbHVlcz0icm93Mixyb3cxIiBhc3NpZ249cm93Y2xhc3N9DQo8dHIgY2xhc3M9Inskcm93Y2xhc3N9IiBvbm1vdXNlb3Zlcj0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9aG92ZXInOyIgb25tb3VzZW91dD0idGhpcy5jbGFzc05hbWU9J3skcm93Y2xhc3N9JzsiPg0KCTx0ZD57JG9uZWl0ZW0tPnBpY30geyRvbmVpdGVtLT50aGVsaW5rfTwvdGQ+DQoJPHRkIGNsYXNzPSJjdGxtbV9ub3NlYXJjaCI+eyRvbmVpdGVtLT5pbWFnZXNpemV9PC90ZD4NCgk8dGQgY2xhc3M9ImN0bG1tX25vc2VhcmNoIj57JG9uZWl0ZW0tPmV4dH08L3RkPg0KCTx0ZCBjbGFzcz0iY3RsbW1fbm9zZWFyY2giPnskb25laXRlbS0+c2l6ZX08L3RkPg0KCTx0ZCBjbGFzcz0iY3RsbW1fbm9zZWFyY2giPnskb25laXRlbS0+bW9kaWZpZWR9PC90ZD4NCgk8dGQgY2xhc3M9ImN0bG1tX25vc2VhcmNoIj57JG9uZWl0ZW0tPmRlbGV0ZWxpbmt9PC90ZD4NCjwvdHI+DQp7L2ZvcmVhY2h9DQo8L3Rib2R5Pg0KPC90YWJsZT4NCjwvZGl2Pg0K]]></data>
	</file>
	<file>
	  <filename>/templates/default_display_video.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogDQoJZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIGZvciBkaXNwbGF5aW5nIG9uZSB2aWRlbyBvZiBhbiBhbGJ1bSAodG8gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIExpc3RMaW5rcykNCip9DQp7bGl0ZXJhbH0NCjxzdHlsZT4NCiAgZGl2LnZpZGVvLWZyYW1lIHsgcGFkZGluZzogNXB4OyBtYXJnaW46IDVweDsgYmFja2dyb3VuZC1jb2xvcjogZ3JlZW47IHRleHQtYWxpZ246IGNlbnRlcjsgfQ0KPC9zdHlsZT4NCnsvbGl0ZXJhbH0NCntIb3N0ZWRWaWRlb0FsYnVtc19icmVhZGNydW1ic30NCjxoMz57JGl0ZW0tPm5hbWV9ICh7JGl0ZW0tPnNpdGVfbmFtZXZhbHVlfSk8L2gzPg0KPGRpdiBjbGFzcz0idmlkZW8tZnJhbWUiPg0KICAgIHtIb3N0ZWRWaWRlb0FsYnVtc19lbWJlZHZpZGVvIGl0ZW09JGl0ZW19DQo8L2Rpdj4NCjxwPnskaXRlbS0+ZGVzY3JpcHRpb259PC9wPg0KPHRhYmxlIHdpZHRoPSIxMDAlIj4NCgk8dHI+DQoJCTx0ZCBhbGlnbj0ibGVmdCI+e2lmICRwcmV2aW91c19pdGVtfTw8PCB7JHByZXZpb3VzX2l0ZW0tPmRldGFpbGxpbmt9ey9pZn08L3RkPg0KCQk8dGQgYWxpZ249InJpZ2h0Ij57aWYgJG5leHRfaXRlbX17JG5leHRfaXRlbS0+ZGV0YWlsbGlua30gPj4+ey9pZn08L3RkPg0KCTwvdHI+DQo8L3RhYmxlPg0Ke2lmICRpdGVtLT5wYXJlbnRsaW5rfSB7JGxldmVsdGl0bGV9OiB7JGl0ZW0tPnBhcmVudGxpbmt9ey9pZn0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/default_embed_video.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogDQoJZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIGJ5IHRoZSB7SG9zdGVkVmlkZW9BbGJ1bXNfZW1iZWR2aWRlbyBpdGVtPSRpdGVtfSB0YWcgKHNlZSBEaXNwbGF5VmlkZW8gb3IgTGlzdFZpZGVvKQ0KKn0NCg0Ke2lmICRpdGVtLT5zaXRlX25hbWV2YWx1ZT09ImxvY2FsLWRpdngifQ0KeyogbG9jYWwgdmlkZW9zICp9DQoJPG9iamVjdCBjbGFzc2lkPSJjbHNpZDo2N0RBQkZCRi1EMEFCLTQxZmEtOUM0Ni1DQzBGMjE3MjE2MTYiICAgDQoJCXtpZiAkaXRlbS0+d2lkdGghPSIwIn13aWR0aD0ieyRpdGVtLT53aWR0aH0iey9pZn0ge2lmICRpdGVtLT5oZWlnaHQhPSIwIn1oZWlnaHQ9InskaXRlbS0+aGVpZ2h0fSJ7L2lmfQ0KCQljb2RlYmFzZT0iaHR0cDovL2dvLmRpdnguY29tL3BsdWdpbi9EaXZYQnJvd3NlclBsdWdpbi5jYWIiPiAgIA0KCQk8cGFyYW0gbmFtZT0ic3JjIiB2YWx1ZT0ieyRpdGVtLT52aWRlb2lkfSIvPg0KCQk8cGFyYW0gbmFtZT0iYXV0b1BsYXkiIHZhbHVlPSJ7JGl0ZW0tPmF1dG9wbGF5fSI+IA0KCQk8ZW1iZWQgdHlwZT0idmlkZW8vZGl2eCIgc3JjPSJ7JGl0ZW0tPnZpZGVvaWR9IiAgIA0KCQkJe2lmICRpdGVtLT53aWR0aCE9IjAifXdpZHRoPSJ7JGl0ZW0tPndpZHRofSJ7L2lmfSB7aWYgJGl0ZW0tPmhlaWdodCE9IjAifWhlaWdodD0ieyRpdGVtLT5oZWlnaHR9InsvaWZ9DQoJCQlwbHVnaW5zcGFnZT0iaHR0cDovL2dvLmRpdnguY29tL3BsdWdpbi9kb3dubG9hZC8iIGF1dG9QbGF5PSJ7JGl0ZW0tPmF1dG9wbGF5fSI+ICAgDQoJCTwvZW1iZWQ+ICAgDQoJPC9vYmplY3Q+IA0Ke2Vsc2V9IHsqIGhvc3RlZCB2aWRlb3MgKn0NCgl7aWYgJGl0ZW0tPnNpdGVfbmFtZXZhbHVlPT0ieW91dHViZSJ9DQoJCXthc3NpZ24gdmFyPSJtb3ZpZSIgCQl2YWx1ZT0iaHR0cDovL3d3dy55b3V0dWJlLmNvbS92L2AkaXRlbS0+dmlkZW9pZGAmaGw9YCRpdGVtLT5sYW5nYCZmcz1gJGl0ZW0tPmZ1bGxzY3JlZW5faW50YCZyZWw9MCZjb2xvcjE9YCRpdGVtLT5jb2xvcjFgJmNvbG9yMj1gJGl0ZW0tPmNvbG9yMmAmYm9yZGVyPTEifQ0KCXtlbHNlaWYgJGl0ZW0tPnNpdGVfbmFtZXZhbHVlPT0iZ29vZ2xlIHZpZGVvcyJ9DQoJCXthc3NpZ24gdmFyPSJtb3ZpZSIgDQoJCQl2YWx1ZT0iaHR0cDovL3ZpZGVvLmdvb2dsZS5jb20vZ29vZ2xlcGxheWVyLnN3Zj9obD1gJGl0ZW0tPmxhbmdgJmZzPWAkaXRlbS0+ZnVsbHNjcmVlbmAmZG9jaWQ9YCRpdGVtLT52aWRlb2lkYCJ9DQoJe2Vsc2VpZiAkaXRlbS0+c2l0ZV9uYW1ldmFsdWU9PSJkYWlseW1vdGlvbiJ9DQoJCXthc3NpZ24gdmFyPSJtb3ZpZSIgDQoJCQl2YWx1ZT0iaHR0cDovL3d3dy5kYWlseW1vdGlvbi5jb20vc3dmL2AkaXRlbS0+dmlkZW9pZGAmcmVsYXRlZD0wJmhsPWAkaXRlbS0+bGFuZ2AifQ0KCXtlbHNlaWYgJGl0ZW0tPnNpdGVfbmFtZXZhbHVlPT0ieWFob28gdmlkZW9zIn0NCgkJe2Fzc2lnbiB2YXI9Im1vdmllIiB2YWx1ZT0iaHR0cDovL2QueWltZy5jb20vc3RhdGljLnZpZGVvLnlhaG9vLmNvbS95ZXAvWVZfWUVQLnN3Zj92ZXI9Mi4yLjQ2JmlkPWAkaXRlbS0+dmlkZW9pZGAmbGFuZz1gJGl0ZW0tPmxhbmdgJmVtYmVkPTEifQkNCgl7ZWxzZWlmICRpdGVtLT5zaXRlX25hbWV2YWx1ZT09InZlb2gifQ0KCQl7YXNzaWduIHZhcj0ibW92aWUiIAkJdmFsdWU9Imh0dHA6Ly93d3cudmVvaC5jb20vc3RhdGljL3N3Zi93ZWJwbGF5ZXIvV2ViUGxheWVyLnN3Zj92ZXJzaW9uPUFGcm9udGVuZC41LjQuOS4xMDA2JnBlcm1hbGlua0lkPWAkaXRlbS0+dmlkZW9pZGAmaGw9YCRpdGVtLT5sYW5nYCZwbGF5ZXI9dmlkZW9kZXRhaWxzZW1iZWRkZWQmdmlkZW9BdXRvUGxheT1gJGl0ZW0tPmF1dG9wbGF5X2ludGAmaWQ9YW5vbnltb3VzIn0NCntlbHNlaWYgJGl0ZW0tPnNpdGVfbmFtZXZhbHVlPT0ibXNuIHZpZGVvIn0NCgl7YXNzaWduIHZhcj0ibW92aWUiIAkJdmFsdWU9Imh0dHA6Ly9pbWFnZXMudmlkZW8ubXNuLmNvbS9mbGFzaC9zb2FwYm94MV8xLnN3Zj9jPXYmYW1wO3Y9YCRpdGVtLT52aWRlb2lkYCZhbXA7aWZzPWAkaXRlbS0+ZnVsbHNjcmVlbmAmYW1wO2ZyPXNoYXJlZCZhbXA7bWt0PWAkaXRlbS0+bGFuZ2AifQ0KCXtlbHNlaWYgJGl0ZW0tPnNpdGVfbmFtZXZhbHVlPT0ibWV0YWNhZmUifQ0KCQl7YXNzaWduIHZhcj0ibW92aWUiIHZhbHVlPSJodHRwOi8vd3d3Lm1ldGFjYWZlLmNvbS9mcGxheWVyL2AkaXRlbS0+dmlkZW9pZGAvbW92aWUuc3dmIn0NCgl7ZWxzZWlmICRpdGVtLT5zaXRlX25hbWV2YWx1ZT09Im15c3BhY2UifQ0KCQl7YXNzaWduIHZhcj0ibW92aWUiIHZhbHVlPSJodHRwOi8vbWVkaWFzZXJ2aWNlcy5teXNwYWNlLmNvbS9zZXJ2aWNlcy9tZWRpYS9lbWJlZC5hc3B4L209YCRpdGVtLT52aWRlb2lkYCx0PTEsbXQ9dmlkZW8sc2VhcmNoSUQ9LHByaW1hcnljb2xvcj1gJGl0ZW0tPmNvbG9yMWAsc2Vjb25kYXJ5Y29sb3I9YCRpdGVtLT5jb2xvcjJgIn0NCgl7ZWxzZWlmICRpdGVtLT5zaXRlX25hbWV2YWx1ZT09InZpbWVvIn0NCgkJe2Fzc2lnbiB2YXI9Im1vdmllIiB2YWx1ZT0iaHR0cDovL3ZpbWVvLmNvbS9tb29nYWxvb3Auc3dmP2NsaXBfaWQ9YCRpdGVtLT52aWRlb2lkYCZhbXA7c2VydmVyPXZpbWVvLmNvbSZhbXA7c2hvd190aXRsZT10cnVlJmFtcDtzaG93X2J5bGluZT0xJmFtcDtjb2xvcj1gJGl0ZW0tPmNvbG9yMWAmYW1wO2Z1bGxzY3JlZW49YCRpdGVtLT5mdWxsc2NyZWVuX2ludGAifQ0KCXsvaWZ9DQoJPG9iamVjdCB7aWYgJGl0ZW0tPndpZHRoIT0iMCJ9d2lkdGg9InskaXRlbS0+d2lkdGh9InsvaWZ9IHtpZiAkaXRlbS0+aGVpZ2h0IT0iMCJ9aGVpZ2h0PSJ7JGl0ZW0tPmhlaWdodH0iey9pZn0+DQoJCTxwYXJhbSBuYW1lPSJhbGxvd0Z1bGxTY3JlZW4iIHZhbHVlPSJ7JGl0ZW0tPmZ1bGxzY3JlZW59Ij48L3BhcmFtPg0KCQk8cGFyYW0gbmFtZT0iYWxsb3dTY3JpcHRBY2Nlc3MiIHZhbHVlPSJ7JGl0ZW0tPnNjcmlwdGFjY2Vzc30iPjwvcGFyYW0+IA0KCQk8cGFyYW0gbmFtZT0ibW92aWUiIHZhbHVlPSJ7JG1vdmllfSI+PC9wYXJhbT4NCgkJPGVtYmVkIHNyYz0ieyRtb3ZpZX0iIHR5cGU9ImFwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoIiBhbGxvd3NjcmlwdGFjY2Vzcz0ieyRpdGVtLT5zY3JpcHRhY2Nlc3N9IiBhbGxvd2Z1bGxzY3JlZW49InskaXRlbS0+ZnVsbHNjcmVlbn0ie2lmICRpdGVtLT53aWR0aCE9IjAifXdpZHRoPSJ7JGl0ZW0tPndpZHRofSJ7L2lmfSB7aWYgJGl0ZW0tPmhlaWdodCE9IjAifWhlaWdodD0ieyRpdGVtLT5oZWlnaHR9InsvaWZ9IHBsdWdpbnNwYWdlPSJodHRwOi8vd3d3Lm1hY3JvbWVkaWEuY29tL3Nob2Nrd2F2ZS9kb3dubG9hZC9pbmRleC5jZ2k/UDFfUHJvZF9WZXJzaW9uPVNob2Nrd2F2ZUZsYXNoIj48L2VtYmVkPg0KCTwvb2JqZWN0Pg0Key9pZn0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/default_list_links.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyoNCiBkZWZhdWx0IHRlbXBsYXRlIHVzZWQgZm9yIDoNCiAtIGxpc3RpbmcgbGlua3MgdG8gdmlkZW9zIG9mIGFuIGFsYnVtICh0byBiZSB1c2VkIGluIGNvbmp1bmN0aW9uIHdpdGggRGlzcGxheVZpZGVvIHRvIGRpc3BsYXkgZWFjaCB2aWRlbyBhbG9uZSkNCiAtIGxpc3RpbmcgbGlua3MgdG8gYWxsIGFsYnVtcyBvZiBvbmUgY2F0ZWdvcnkNCiAqfQ0Ke0hvc3RlZFZpZGVvQWxidW1zX2JyZWFkY3J1bWJzfQ0KPGgyPnskbGV2ZWx0aXRsZX0geyRwYXJlbnRvYmotPm5hbWV9PC9oMj4NCjxwPnskcGFyZW50b2JqLT5kZXNjcmlwdGlvbn08L3A+DQp7aWYgJGl0ZW1jb3VudCA+IDB9DQo8dWw+DQp7Zm9yZWFjaCBmcm9tPSRpdGVtbGlzdCBpdGVtPSJpdGVtIn0NCgk8bGkge2lmICRpdGVtLT5pc19zZWxlY3RlZH1jbGFzcz0iYWN0aXZlInsvaWZ9PnskaXRlbS0+ZGV0YWlsbGlua306IHskaXRlbS0+ZGVzY3JpcHRpb259PC9saT4NCnsvZm9yZWFjaH0NCjwvdWw+DQp7aWYgJHBhZ2VfcGFnZW51bWJlcnN9DQo8ZGl2IGlkPSJwYWdlbWVudSIgc3R5bGU9InRleHQtYWxpZ246IGNlbnRlcjsiPg0KCXskcGFnZV9wcmV2aW91c30mbmJzcDsgeyRwYWdlX3Nob3dpbmd9L3skcGFnZV90b3RhbGl0ZW1zfSAmbmJzcDt7JHBhZ2VfbmV4dH08YnIvPg0KCXskcGFnZV9wYWdlbnVtYmVyc30NCjwvZGl2Pg0Key9pZn0NCntlbHNlfQ0KPHA+eyRlcnJvcl9tc2d9PC9wPg0Key9pZn0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/default_list_videos.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogDQoJZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIGZvciBkaXNwbGF5aW5nIGFsbCB2aWRlb3Mgb2YgYW4gYWxidW0gDQoqfQ0Ke2xpdGVyYWx9DQo8c3R5bGU+DQogIGRpdi52aWRlby1mcmFtZSB7IHBhZGRpbmc6IDVweDsgbWFyZ2luOiA1cHg7IGJhY2tncm91bmQtY29sb3I6IGdyZWVuOyB0ZXh0LWFsaWduOiBjZW50ZXI7IH0NCjwvc3R5bGU+DQp7L2xpdGVyYWx9DQp7SG9zdGVkVmlkZW9BbGJ1bXNfYnJlYWRjcnVtYnN9DQo8cD57JHBhcmVudG9iai0+ZGVzY3JpcHRpb259PC9wPg0Ke2lmICRpdGVtY291bnQgPiAwfQ0Ke2ZvcmVhY2ggZnJvbT0kaXRlbWxpc3QgaXRlbT0iaXRlbSJ9DQoJPGgzPnskaXRlbS0+bmFtZX0gKHskaXRlbS0+c2l0ZV9uYW1ldmFsdWV9KTwvaDM+DQoJPGRpdiBjbGFzcz0idmlkZW8tZnJhbWUiPg0KCQl7SG9zdGVkVmlkZW9BbGJ1bXNfZW1iZWR2aWRlbyBpdGVtPSRpdGVtfQ0KCTwvZGl2Pg0KCTxwPnskaXRlbS0+ZGVzY3JpcHRpb259PC9wPg0Key9mb3JlYWNofQ0Ke2lmICRwYWdlX3BhZ2VudW1iZXJzfQ0KPGRpdiBpZD0icGFnZW1lbnUiIHN0eWxlPSJ0ZXh0LWFsaWduOiBjZW50ZXI7Ij4NCgl7JHBhZ2VfcHJldmlvdXN9Jm5ic3A7IHskcGFnZV9zaG93aW5nfS97JHBhZ2VfdG90YWxpdGVtc30gJm5ic3A7eyRwYWdlX25leHR9PGJyLz4NCgl7JHBhZ2VfcGFnZW51bWJlcnN9DQo8L2Rpdj4NCnsvaWZ9DQp7ZWxzZX0geyogZW1wdHkgYWxidW0gKn0NCjxwPnskZXJyb3JfbXNnfTwvcD4NCnsvaWZ9DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/default_no_result.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyogZGVmYXVsdCB0ZW1wbGF0ZSB1c2VkIHdoZW4gYSBzZWFyY2ggcmV0dXJucyBubyByZXN1bHQgKn0NCjxwPnskZXJyb3JfbXNnfTwvcD4NCntpZiAkYmFja2xpbmt9PHA+eyRiYWNrbGlua308L3A+ey9pZn0NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/editalbum.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQp7aWYgJGl0ZW1hbGlhc308c3BhbiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IDgwJSI+eyRpdGVtYWxpYXN9PC9zcGFuPnsvaWZ9DQo8aDE+eyRlZGl0dGl0bGV9PC9oMT4NCjxwPnskc3VibWl0fSB7JGFwcGx5fSB7JGNhbmNlbH08L3A+DQo8YnIvPjxici8+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCXtpZiAkYWxpYXNfaW5wdXR9PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFsaWFzX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsaWFzX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgl7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHBhcmVudF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcGFyZW50X2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGVzY3JpcHRpb25fbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVzY3JpcHRpb25faW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYW5nX2xhYmVsfSogOjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRsYW5nX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGVmYXVsdF93aWR0aF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVmYXVsdF93aWR0aF9pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGRlZmF1bHRfaGVpZ2h0X2xhYmVsfSogOjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRkZWZhdWx0X2hlaWdodF9pbnB1dH08L3A+DQoJPC9kaXY+DQo8YnIvPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/editalb_.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQp7aWYgJGl0ZW1hbGlhc308c3BhbiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IDgwJSI+eyRpdGVtYWxpYXN9PC9zcGFuPnsvaWZ9DQo8aDE+eyRlZGl0dGl0bGV9PC9oMT4NCjxwPnskc3VibWl0fSB7JGFwcGx5fSB7JGNhbmNlbH08L3A+DQo8YnIvPjxici8+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCXtpZiAkYWxpYXNfaW5wdXR9PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFsaWFzX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsaWFzX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgl7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHBhcmVudF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcGFyZW50X2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGVzY3JpcHRpb25fbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVzY3JpcHRpb25faW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRsYW5nX2xhYmVsfSogOjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRsYW5nX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGVmYXVsdF93aWR0aF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVmYXVsdF93aWR0aF9pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGRlZmF1bHRfaGVpZ2h0X2xhYmVsfSogOjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRkZWZhdWx0X2hlaWdodF9pbnB1dH08L3A+DQoJPC9kaXY+DQo8YnIvPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/editcategory.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQp7aWYgJGl0ZW1hbGlhc308c3BhbiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IDgwJSI+eyRpdGVtYWxpYXN9PC9zcGFuPnsvaWZ9DQo8aDE+eyRlZGl0dGl0bGV9PC9oMT4NCjxwPnskc3VibWl0fSB7JGFwcGx5fSB7JGNhbmNlbH08L3A+DQo8YnIvPjxici8+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCXtpZiAkYWxpYXNfaW5wdXR9PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFsaWFzX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsaWFzX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgl7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGRlc2NyaXB0aW9uX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGRlc2NyaXB0aW9uX2lucHV0fTwvcD4NCgk8L2Rpdj4NCjxici8+DQo8cD57JHN1Ym1pdH0geyRhcHBseX0geyRjYW5jZWx9PC9wPg0K]]></data>
	</file>
	<file>
	  <filename>/templates/editcat_.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQp7aWYgJGl0ZW1hbGlhc308c3BhbiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IDgwJSI+eyRpdGVtYWxpYXN9PC9zcGFuPnsvaWZ9DQo8aDE+eyRlZGl0dGl0bGV9PC9oMT4NCjxwPnskc3VibWl0fSB7JGFwcGx5fSB7JGNhbmNlbH08L3A+DQo8YnIvPjxici8+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCXtpZiAkYWxpYXNfaW5wdXR9PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFsaWFzX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsaWFzX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgl7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGRlc2NyaXB0aW9uX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGRlc2NyaXB0aW9uX2lucHV0fTwvcD4NCgk8L2Rpdj4NCjxici8+DQo8cD57JHN1Ym1pdH0geyRhcHBseX0geyRjYW5jZWx9PC9wPg0K]]></data>
	</file>
	<file>
	  <filename>/templates/editvideo.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQp7aWYgJGl0ZW1hbGlhc308c3BhbiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IDgwJSI+eyRpdGVtYWxpYXN9PC9zcGFuPnsvaWZ9DQo8aDE+eyRlZGl0dGl0bGV9PC9oMT4NCjxwPnskc3VibWl0fSB7JGFwcGx5fSB7JGNhbmNlbH08L3A+DQo8YnIvPjxici8+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCXtpZiAkYWxpYXNfaW5wdXR9PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFsaWFzX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsaWFzX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgl7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHBhcmVudF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcGFyZW50X2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGVzY3JpcHRpb25fbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVzY3JpcHRpb25faW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRzaXRlX2xhYmVsfSogOjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzaXRlX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdmlkZW9pZF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdmlkZW9pZF9pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHdpZHRoX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHdpZHRoX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaGVpZ2h0X2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhlaWdodF9pbnB1dH08L3A+DQoJPC9kaXY+DQo8YnIvPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/editvid_.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[DQp7aWYgJGl0ZW1hbGlhc308c3BhbiBzdHlsZT0iZmxvYXQ6IHJpZ2h0OyBmb250LXNpemU6IDgwJSI+eyRpdGVtYWxpYXN9PC9zcGFuPnsvaWZ9DQo8aDE+eyRlZGl0dGl0bGV9PC9oMT4NCjxwPnskc3VibWl0fSB7JGFwcGx5fSB7JGNhbmNlbH08L3A+DQo8YnIvPjxici8+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG5hbWVfbGFiZWx9KiA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JG5hbWVfaW5wdXR9PC9wPg0KCTwvZGl2Pg0KCXtpZiAkYWxpYXNfaW5wdXR9PGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JGFsaWFzX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGFsaWFzX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgl7L2lmfQ0KDQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHBhcmVudF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskcGFyZW50X2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskZGVzY3JpcHRpb25fbGFiZWx9IDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskZGVzY3JpcHRpb25faW5wdXR9PC9wPg0KCTwvZGl2Pg0KCTxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+DQoJCTxwIGNsYXNzPSJwYWdldGV4dCI+eyRzaXRlX2xhYmVsfSogOjwvcD4NCgkJPHAgY2xhc3M9InBhZ2VpbnB1dCI+eyRzaXRlX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskdmlkZW9pZF9sYWJlbH0qIDo8L3A+DQoJCTxwIGNsYXNzPSJwYWdlaW5wdXQiPnskdmlkZW9pZF9pbnB1dH08L3A+DQoJPC9kaXY+DQoJPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4NCgkJPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JHdpZHRoX2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JHdpZHRoX2lucHV0fTwvcD4NCgk8L2Rpdj4NCgk8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPg0KCQk8cCBjbGFzcz0icGFnZXRleHQiPnskaGVpZ2h0X2xhYmVsfSA6PC9wPg0KCQk8cCBjbGFzcz0icGFnZWlucHV0Ij57JGhlaWdodF9pbnB1dH08L3A+DQoJPC9kaXY+DQo8YnIvPg0KPHA+eyRzdWJtaXR9IHskYXBwbHl9IHskY2FuY2VsfTwvcD4NCg==]]></data>
	</file>
	<file>
	  <filename>/templates/search.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskc2VhcmNodGl0bGV9e2lmICR3aGF0fTogeyR3aGF0fXsvaWZ9PC9oMj4NCjxwPnskc2VhcmNoZmllbGR9eyRzdWJtaXR9PC9wPg0K]]></data>
	</file>
	<file>
	  <filename>/templates/search_album.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskc2VhcmNodGl0bGV9OiB7JHdoYXR9PC9oMj4NCjx0YWJsZT4NCjx0cj48dGQ+eyRkZXNjcmlwdGlvbl9sYWJlbH08L3RkPjx0ZD57JGRlc2NyaXB0aW9uX2lucHV0fTwvdGQ+PC90cj4NCjx0cj48dGQ+eyRwYXJlbnRfbGFiZWx9PC90ZD48dGQ+eyRwYXJlbnRfaW5wdXR9PC90ZD48L3RyPg0KPHRyPjx0ZD57JG5hbWVfbGFiZWx9PC90ZD48dGQ+eyRuYW1lX2lucHV0fTwvdGQ+PC90cj4NCjx0cj48dGQ+eyRkYXRlX21vZGlmaWVkX2xhYmVsfTwvdGQ+PHRkPnskZGF0ZV9tb2RpZmllZF9pbnB1dH08L3RkPjwvdHI+DQo8L3RhYmxlPg0KPHA+eyRzdWJtaXR9PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/templates/search_categorie.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskc2VhcmNodGl0bGV9OiB7JHdoYXR9PC9oMj4NCjx0YWJsZT4NCjx0cj48dGQ+eyRkZXNjcmlwdGlvbl9sYWJlbH08L3RkPjx0ZD57JGRlc2NyaXB0aW9uX2lucHV0fTwvdGQ+PC90cj4NCjx0cj48dGQ+eyRuYW1lX2xhYmVsfTwvdGQ+PHRkPnskbmFtZV9pbnB1dH08L3RkPjwvdHI+DQo8dHI+PHRkPnskZGF0ZV9tb2RpZmllZF9sYWJlbH08L3RkPjx0ZD57JGRhdGVfbW9kaWZpZWRfaW5wdXR9PC90ZD48L3RyPg0KPC90YWJsZT4NCjxwPnskc3VibWl0fTwvcD4=]]></data>
	</file>
	<file>
	  <filename>/templates/search_generalresults.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskbGV2ZWx0aXRsZX08L2gyPg0KPHVsIGNsYXNzPSJjdGxfc2VhcmNocmVzdWx0cyI+DQp7Zm9yZWFjaCBmcm9tPSRpdGVtbGlzdCBpdGVtPSJpdGVtIn0NCjxsaT57JGl0ZW0tPmRldGFpbGxpbmt9PC9saT4NCnsvZm9yZWFjaH0NCjwvdWw+DQp7aWYgJHBhZ2VtZW51fTxwPnskcGFnZW1lbnV9PC9wPnsvaWZ9DQo=]]></data>
	</file>
	<file>
	  <filename>/templates/search_video.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgyPnskc2VhcmNodGl0bGV9OiB7JHdoYXR9PC9oMj4NCjx0YWJsZT4NCjx0cj48dGQ+eyRkZXNjcmlwdGlvbl9sYWJlbH08L3RkPjx0ZD57JGRlc2NyaXB0aW9uX2lucHV0fTwvdGQ+PC90cj4NCjx0cj48dGQ+eyRzaXRlX2xhYmVsfTwvdGQ+PHRkPnskc2l0ZV9pbnB1dH08L3RkPjwvdHI+DQo8dHI+PHRkPnskdmlkZW9pZF9sYWJlbH08L3RkPjx0ZD57JHZpZGVvaWRfaW5wdXR9PC90ZD48L3RyPg0KPHRyPjx0ZD57JHBhcmVudF9sYWJlbH08L3RkPjx0ZD57JHBhcmVudF9pbnB1dH08L3RkPjwvdHI+DQo8dHI+PHRkPnskbmFtZV9sYWJlbH08L3RkPjx0ZD57JG5hbWVfaW5wdXR9PC90ZD48L3RyPg0KPHRyPjx0ZD57JGRhdGVfbW9kaWZpZWRfbGFiZWx9PC90ZD48dGQ+eyRkYXRlX21vZGlmaWVkX2lucHV0fTwvdGQ+PC90cj4NCjwvdGFibGU+DQo8cD57JHN1Ym1pdH08L3A+]]></data>
	</file>
</module>
