<?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>CGSmartImage</name>
	<version>1.11</version>
  <mincmsversion>1.11.7</mincmsversion>
	<help><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdheSB0byBwcm9jZXNzLCBhbmQgZGlzcGxheSBpbWFnZXMgb24geW91ciB3ZWIgcGFnZS4gIEl0IGFsbG93cyBzaW1wbGUgaW1hZ2UgcHJvY2Vzc2luZywgYW5kIHdhdGVybWFya2luZy4gIFRoaXMgbW9kdWxlIG1ha2VzIGRpc3BsYXlpbmcgcHJvY2Vzc2VkIGltYWdlcyBvbiB5b3VyIHdlYnNpdGUgdHJpdmlhbC4gIEl0IGFsc28gcHJvdmlkZXMgZmVhdHVyZXMgdG8gaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2UgcmF0aW5nIG9mIHlvdXIgd2Vic2l0ZSwgbWFraW5nIHlvdXIgd2Vic2l0ZSBwb3dlcmZ1bCBhbmQgZmFzdCBhdCB0aGUgc2FtZSB0aW1lLjwvcD4KPGgzPkZlYXR1cmVzPC9oMz4KPHVsPgo8bGk+UG93ZXJmdWwsIGJ1dCBzaW1wbGUgdG8gdXNlIGltYWdlIGZpbHRlcmluZyBhbmQgcHJvY2Vzc2luZy4gRmlsdGVyaW5nIGluY2x1ZGVzOgogIDx1bD4KICAgIDxsaT5CbHVyPC9saT4KICAgIDxsaT5CcmlnaHRuZXNzPC9saT4KICAgIDxsaT5Db2xvcml6ZTwvbGk+CiAgICA8bGk+Q29udHJhc3Q8L2xpPgogICAgPGxpPkNyb3A8L2xpPgogICAgPGxpPjxzdHJvbmc+Q3JvcCBUbyBGaXQ8L3N0cm9uZz48L2xpPgogICAgPGxpPjxzdHJvbmc+UmVzaXplIFRvIEZpdDwvc3Ryb25nPjwvbGk+CiAgICA8bGk+RWRnZSBEZXRlY3Rpb248L2xpPgogICAgPGxpPlNoYXJwZW48L2xpPiAKICAgIDxsaT5FbWJvc3M8L2xpPiAKICAgIDxsaT5HcmF5c2NhbGU8L2xpPgogICAgPGxpPk1lYW4gUmVtb3ZhbDwvbGk+CiAgICA8bGk+TmVnYXRlPC9saT4KICAgIDxsaT5QaXhlbGF0ZTwvbGk+CiAgICA8bGk+UmVmbGVjdGlvbjwvbGk+CiAgICA8bGk+UmVzaXplPC9saT4KICAgIDxsaT5Sb3VuZGVkIENvcm5lcnM8L2xpPgogICAgPGxpPlJvdGF0ZTwvbGk+CiAgICA8bGk+U2VsaWN0aXZlIEJsdXI8L2xpPgogICAgPGxpPlNtb290aDwvbGk+CiAgICA8bGk+V2F0ZXJtYXJrPC9saT4KICA8L3VsPgo8L2xpPjxici8+CjxsaT5TbWFydCBkZXRlY3Rpb24gb2YgaW1hZ2VzLiAgU3BlY2lmeSBhYnNvbHV0ZSBVUkxTLCBhYnNvbHV0ZSBwYXRocywgb3IgZmlsZXMgcmVsYXRpdmUgdG8geW91ciByb290IGluc3RhbGxhdGlvbi48L2xpPgo8bGk+QXV0b21hdGljIGRvd25sb2FkaW5nLCBjYWNoaW5nLCBwcm9jZXNzaW5nLCBhbmQgcmUtY2FjaGluZyBvZiBpbWFnZXMgZnJvbSByZW1vdGUgd2Vic2l0ZXMuPC9saT4KPGxpPlNtYXJ0IGF1dG9tYXRpYyByZXNpemluZyAoYXV0b21hdGljYWxseSByZXNpemUgdG8gZGVzaXJlZCB3aWR0aCBhbmQgaGVpZ2h0IGJlZm9yZSBzZXJ2aW5nIHRoZSBpbWFnZS4uLiByZXNpemluZyB0byB3aWR0aCBBTkQgaGVpZ2h0IGRvZXMgYSBjcm9wIHRvIGZpdC4gPGVtPihqdXN0IHNwZWNpZnkgYSB3aWR0aCwgYW5kL29yIGhlaWdodCBwYXJhbWV0ZXIgdG8gdGhlIENHU21hcnRJbWFnZSB0YWcuKTwvZW0+PC9saT4KPGxpPkF1dG9tYXRpY2FsbHkgcmVhZHMgaW1hZ2UgRVhJRiBpbmZvcm1hdGlvbiBhbmQgY29ycmVjdHMgdGhlIG9yaWVudGF0aW9uLjwvbGk+CjxsaT5JbWFnZSBjaGFuZ2UgZGV0ZWN0aW9uLCBpZiB0aGUgbWFzdGVyIGltYWdlIGlzIGNoYW5nZWQgc2NhbGVkIGltYWdlcyB3aWxsIGJlIHJlZ2VuZXJhdGVkLiAoc2VlIHRoZSBub3RpbWVjaGVjayBwYXJhbWV0ZXIgdG8gZGlzYWJsZSB0aGlzIGJlaGF2aW9yKS48L2xpPgo8bGk+U21hcnQgYXR0cmlidXRlIGdlbmVyYXRpb24gZm9yIGltYWdlcy48L2xpPgo8bGk+UHJvY2Vzc2VkIGltYWdlcyBhcmUgY2FjaGVkIG9uIHRoZSBzZXJ2ZXIgZm9yIGZhc3RlciBzZXJ2aW5nLjwvbEk+CjxsaT5UaGUgYWJpbGl0eSB0byB1c2UgYSBzZXBhcmF0ZSBVUkwgKENETikgZm9yIHNlcnZpbmcgaW1hZ2VzPC9saT4KPGxpPkltYWdlIHByb2Nlc3NlcyBjYW4gYmUgY29tYmluZWQsIGFuZCBhcmUgZXhlY3V0ZWQgaW4gb3JkZXIuPC9saT4KPGxpPlByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZW50IG9mIHRoZSB3ZWIgcGFnZSB0byBtaW5pbWl6ZSBzcGFjZS48L2xpPgo8bGk+UHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gbGltaXQgZW1iZWRkaW5nIGltYWdlcyBzbWFydGx5LCBvbmx5IHRvIGJyb3dzZXJzIHRoYXQgYXJlIGNhcGFibGUgb2YgdW5kZXJzdGFuZGluZyB0aGVtLjwvbGk+CjxsaT5Db21iaW5lIGNvbW1vbmx5IHVzZWQgYXJndW1lbnRzIGludG8gbmFtZWQgYWxpYXNlcy48L2xpPgo8bGk+QWxzbyB3b3JrcyB3aXRoaW4gc3R5bGVzaGVldHMgdmlhIHRoZSB7Y21zX3N0eWxlc2hlZXR9IHRhZy48L2xpPgo8bGk+VGhlIGFiaWxpdHkgdG8gYXV0b21hdGljYWxseSBwcm9jZXNzIGltYWdlcyBpbnNpZGUgYSBibG9jayBvZiBodG1sIGNvZGUgdXNpbmcgdGhlIHtjZ3NpX2NvbnZlcnR9IGJsb2NrIHRhZy48L2xpPgo8bGk+TW9yZS4uLjwvbGk+CjwvdWw+CjxoMz5XaHkgc2hvdWxkIEkgdXNlIGl0PzwvaDM+CjxwPlRoZXJlIGFyZSBmb3VyIHZlcnkgaW1wb3J0YW50IHJlYXNvbnMgdG8gdXNlIHRoaXMgcGx1Z2luOjwvcD4KPHVsPgogIDxsaT5QZXJmb3JtYW5jZTogIFVzaW5nIGltYWdlIGVtYmVkZGluZyAoZXZlbiBpZiBubyBvdGhlciBmdW5jdGlvbnMgYXJlIHVzZWQpIHJlc3VsdHMgaW4gZmV3ZXIgcmVxdWVzdHMuICBNb3N0IGJyb3dzZXJzIG9ubHkgcGVyZm9ybSB0d28gdG8gZm91ciBzaW11bHRhbmVvdXMgcmVxdWVzdHMgdG8gdGhlIHNhbWUgZG9tYWluIGF0IHRoZSBzYW1lIHRpbWUuICBGb3Igd2ViIHBhZ2VzIHdpdGggbG90cyBvZiBpbWFnZXMgdGhpcyBjYW4gc2VyaW91c2x5IHNsb3cgZG93biB5b3VyIHNpdGUuPC9saT4KICA8bGk+UGVyZm9ybWFuY2U6ICBFdmVuIGlmIG5vdCB1c2luZyBlbWJlZGRpbmcsIHNlbmRpbmcgbGFyZ2UgaW1hZ2VzIHRvIHlvdXIgdmlzaXRvcnMsIGFuZCBhc2tpbmcgdGhlaXIgYnJvd3NlciB0byBzY2FsZSB0aGUgaW1hZ2UgaXMgdmVyeSB2ZXJ5IHNsb3cuPC9saT4KICA8bGk+U2VjdXJpdHk6ICBDR1NtYXJ0SW1hZ2UgY2FjaGVzIGl0cyBpbWFnZXMgaW4gYSBzZXBhcmF0ZSBkaXJlY3RvcnksIHRoZXJlYnkgaGlkaW5nIHRoZSBvcmlnaW5hbCAocGVyaGFwcyBjb3B5cmlnaHRlZCkgaW1hZ2VzIGZyb20geW91ciB1c2Vycy4gIElmIGVtYmVkZGluZyBpcyB1c2VkIHRoZXkgY2FudCBldmVuIGZpbmQgdGhlIGNhY2hlZCBsb2NhdGlvbik8L2xpPgogIDxsaT5TaW1wbGljaXR5OiAgVGhlIGZpbHRlcmluZyBjYXBhYmlsaXRpZXMgb2YgQ0dTbWFydEltYWdlIGFsbG93IHlvdSB0byBhdXRvbWF0aWNhbGx5IHByb2Nlc3MgaW1hZ2VzIGZvciBjb25zaXN0ZW50IGFuZCBzZWN1cmUgZGlzcGxheSwgd2l0aG91dCBzaXRlIGVkaXRvcnMgaGF2aW5nIHRvIHBsYXkgd2l0aCB0aGVtLiAgVGhleSBjYW4gdXBsb2FkIGxhcmdlciBpbWFnZXMsIGFuZCB5b3VyIHNpdGUgd2lsbCBqdXN0IGhhbmRsZSB0aGVtIHByb3Blcmx5LjwvbGk+CjwvdWw+CjxoMz5JbWFnZSBFbWJlZGRpbmc8L2gzPgogIDxwPkltYWdlIGVtYmVkZGluZyBlbmNvZGVzIHRoZSBpbWFnZSBpbnRvIGEgZGF0YSB1cmkgd2hpY2ggaXMgZW1iZWRkZWQgZGlyZWN0bHkgaW4gdGhlIHBhZ2UgKG9yIHN0eWxlc2hlZXQpIGNvbnRlbnQuICBUaGlzIHJlZHVjZXMgcmVxdWVzdHMgdGhhdCB0aGUgYnJvd3NlciBtdXN0IG1ha2UgdG8gcmVjZWl2ZSBpbWFnZXMgZnJvbSB5b3VyIHNpdGUuICBIb3dldmVyIGl0IGRvZXMgaW5jcmVhc2UgdGhlIHNpemUgb2YgdGhlIEhUTUwgcGFnZS4gIE9uIGltYWdlIGhlYXZ5IHBhZ2VzIHlvdSBzaG91bGRkIG1peCB0aGUgdXNlIG9mIGVtYmVkZGVkIGltYWdlcy48L3A+CjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gdXNlIGl0IGluIHRoZSBzYW1lIHBsYWNlIHlvdSB3b3VsZCB0aGUge2ltYWdlfSB0YWcuICBJLmU6IFNvbWV0aGluZyBsaWtlIDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyd9PC9jb2RlPi4gIFRoaXMgd2lsbCBnZW5lcmF0ZSB0aGUgaW1hZ2UgdGFnIGZvciB5b3Ugd2l0aCBubyBwcm9jZXNzaW5nLiAgQW5kIGlmIHBvc3NpYmxlLCBlbWJlZCB0aGUgaW1hZ2UgZGlyZWN0bHkgaW50byB5b3VyIGh0bWwgb3V0cHV0LjwvcD4KPHA+T2Z0ZW4gcGVvcGxlIHdhbnQgdG8gZGlzcGxheSBhIHdhdGVybWFyayBvbiB0aGUgaW1hZ2VzIHRoYXQgdGhleSBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZCB0byBwcmV2ZW50IGltYWdlIHRoZWZ0LiAgVGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUgcHJvdmlkZXMgc2V0dGluZ3MgZm9yIHlvdSB0byBjb25maWd1cmUgd2F0ZXJtYXJraW5nIGFuZCB5b3UgY2FuIGVuYWJsZSB0aGF0IHdpdGggYW55IGltYWdlIHdpdGggYSB0YWcgbGlrZSB0aGlzOiA8Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij57Q0dTbWFydEltYWdlIHNyYz0ndXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcnIGZpbHRlcl93YXRlcm1hcms9MX08L2NvZGU+LiAgVGhpcyB3aWxsIHJlYWQgdGhlIGltYWdlLCBhcHBseSB0aGUgd2F0ZXJtYXJrIGFjY29yZGluZyB0byB0aGUgc2V0dGluZ3MgaW4gQ0dFeHRlbnNpb25zLCBjYWNoZSB0aGUgYWx0ZXJlZCBpbWFnZSwgYW5kIHRoZW4gZW1iZWQgaXQgaW50byB5b3VyIG91dHB1dC48L3A+CjxwPkFsc28sIFBpY3R1cmVzIHRha2VuIGJ5IG1vZGVybiBkaWdpdGFsIGNhbWVyYXMgYXJlIG9mdGVuIHRvbyBsYXJnZSBmb3IgdXNlIG9uIGEgd2Vic2l0ZSwgdGhlcmVmb3JlIHRoZXkgbmVlZCB0byBiZSBzY2FsZWQgYmVmb3JlIGRpc3BsYXllZCBvbiB5b3VyIHBhZ2UuICBUaGlzIGNhbiBiZSBkb25lIHF1aXRlIGVhc2lseSB3aXRoIGEgdGFnIGxpa2U6IDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZycgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9J3csMzUwJ308L2NvZGU+LiAgQXMgeW91IG1heSB0aGluaywgdGhlIHdhdGVybWFyayB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIGltYWdlIGJlZm9yZSBpdCBpcyByZXNpemVkIHRvIGEgbWF4aW11bSB3aWR0aCBvZiAzMDAgcGl4ZWxzIChyZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIFRoZW4gdGhlIGFkanVzdGVkIGltYWdlIHdpbGwgYmUgY2FjaGVkLCBhbmQgaWYgdGhlIGJyb3dzZXIgYWxsb3dlcyB0aGUgaW1hZ2Ugd2lsbCBiZSBlbWJlZGRlZCBpbnRvIHRoZSBIVE1MIG91dHB1dC4gIElmIGVtYmVkZGluZyBpcyBub3QgcG9zc2libGUsIHRoZSBpbWcgdGFnIHdpbGwgY29udGFpbiB0aGUgVVJMIHRvIHRoZSBjYWNoZWQgaW1hZ2UuPC9wPgo8cD5Gcm9tIGhlcmUgeW91IGNhbiBjb21iaW5lIHRoZSBvcHRpb25zIGJlbG93IHRvIHBlcmZvcm0gYWxvdCBvZiBkaWZmZXJlbnQgZWZmZWN0cyB0byB5b3VyIGltYWdlcywgYnVpbGQgc2ltcGxlIGdhbGxlcmllcywgYW5kIGltcHJvdmUgeW91ciBzaXRlIHBlcmZvcm1hbmNlIGF0IHRoZSBzYW1lIHRpbWUuICBFbmpveSE8L3A+CjxoMz5BdXRvbWF0aWMgaW1hZ2UgcmVzaXppbmc8L2gzPgogIDxwPklmIHlvdSBzcGVjaWZ5IGEgd2lkdGgsIGFuZC9vciBhIGhlaWdodCBwYXJhbWV0ZXIsIGFuZCBkbyBub3Qgc3BlY2lmeSB0aGUgJnF1b3Q7bm9hdXRvc2NhbGUmcXVvdDsgcGFyYW1ldGVyLCB0aGUgbW9kdWxlIHdpbGwgYW5hbHl6ZSB0aGUgZmlsdGVycyB5b3UgaGF2ZSBhbHJlYWR5IHNwZWNpZmllZCwgYW5kIGlmIHRoZXJlIGlzIG5vIHJlc2l6ZSBmaWx0ZXIgYWxyZWFkeSBzcGVjaWZpZWQgYXV0b21hdGljYWxseSBhZGQgYSBmaWx0ZXIgdG8gcmVzaXplIG9yIGNyb3B0b2ZpdCB0aGUgaW1hZ2Ugb24gb3V0cHV0LiAgVGhpcyBpcyB1c2VmdWwgdG8gZG8gYXV0b21hdGljIHRodW1ibmFpbGluZyBvbiB0aGUgc2VydmVyLCBhbmQgbm90IHJlcXVpcmUgdGhlIGJyb3dzZXIgdG8gcmVzaXplIHRoZSBpbWFnZS48L3A+CiAgPHA+Q0dTbWFydEltYWdlIHdpbGwgbm9ybWFsbHkgYXV0b21hdGljYWxseSBmaWxsIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgb2YgdGhlIGdlbmVyYXRlZCBpbWcgdGFnIHdpdGggdGhlIHNpemUgb2YgdGhlIGltYWdlIGdlbmVyYXRlZCBmcm9tIHRoZSBsYXN0IGZpbHRlci4gIHRoZSBub2F1dG8gcGFyYW1ldGVyIGNhbiBwcmV2ZW50IHRoaXMuPC9wPgogIDxwPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiBibHVlOyI+VGlwOjwvc3Ryb25nPiBJdCBpcyBub3JtYWxseSBjb3VudGVyLXByb2R1Y3RpdmUgdG8gc3BlY2lmeSBib3RoIGEgcmVzaXplL2Nyb3AgZmlsdGVyLCBBTkQgYSB3aWR0aC9oZWlnaHQgYXR0cmlidXRlIHVubGVzcyB5b3Ugd2FudCB0byBhYnNvbHV0ZWx5IGNvbnRyb2wgdGhlIHZhbHVlcyBvZiB0aGUgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzIG9uIHRoZSBpbWcgdGFnLiAgSW4gd2hpY2ggY2FzZSB5b3Ugc2hvdWxkIHVzZSB0aGUgbm9hdXRvIHBhcmFtZXRlciBpbiB0aGUgY2FsbCB0byBDR1NtYXJ0SW1hZ2UuPC9wPgogPGgzPkEgU2ltcGxlIEdhbGxlcnk8L2gzPgo8cD5UaGUgY29kZSBiZWxvdyB1c2VzIHRoZSB7Q0dTbWFydEltYWdlfSBtb2R1bGUsIGZhbmN5Ym94LCBhbmQgYSBiaXQgb2Ygc21hcnR5IG1hZ2ljIHRvIGdlbmVyYXRlIGEgc2ltcGxlIGxpZ2h0Ym94IHN0eWxlIGFsYm9tIGZyb20gYSBzdWJkaXJlY3Rvcnkgb24geW91ciB3ZWJzaXRlLCB3aGlsZSBwcm9jZXNzaW5nIHRoZSBpbWFnZXMgZm9yIHdlYiBzdGFuZGFyZHMsIGFuZCBjcmVhdGluZyB0aHVtYm5haWxzLjwvcD4KPHByZSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Ij48Y29kZT48c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiAxOjwvc3Bhbj4gJmx0O3NjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiJmd0O3tsaXRlcmFsfQo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiAyOjwvc3Bhbj4galF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiAzOjwvc3Bhbj4gIGpRdWVyeSgnYS5mYW5jeWJveCcpLmZhbmN5Ym94KCk7CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDQ6PC9zcGFuPiB9KTsKPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNTo8L3NwYW4+IHsvbGl0ZXJhbH0mbHQ7L3NjcmlwdCZndDsKPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNjo8L3NwYW4+IHthc3NpZ24gdmFyPSdmaWxlcycgdmFsdWU9J3VwbG9hZHMvYWxidW0vKi5qcGcnfGdsb2J9CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDc6PC9zcGFuPiB7aWYgY291bnQoJGZpbGVzKX0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gODo8L3NwYW4+ICZsdDtkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDE1MHB4OyBvdmVyZmxvdzogYXV0bzsiJmd0Owo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiA5Ojwvc3Bhbj4ge2ZvcmVhY2ggZnJvbT0kZmlsZXMgaXRlbT0nZmlsZSd9CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTA6PC9zcGFuPiAgJmx0O2EgcmVsPSdzaW1wbGVfYWxidW0nIGNsYXNzPSJmYW5jeWJveCIgaHJlZj0iPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+e0NHU21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0naCw1MDAnIG5vdGFnPTEgbm9lbWJlZD0xfTwvc3Bhbj4iJmd0Owo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjExOjwvc3Bhbj4gIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSdoLDE1MCd9PC9zcGFuPgo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjEyOjwvc3Bhbj4gICZsdDsvYSZndDsKPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4xMzo8L3NwYW4+IHsvZm9yZWFjaH0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4xNDo8L3NwYW4+ICZsdDsvZGl2Jmd0Owo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjE1Ojwvc3Bhbj4gey9pZn0KPC9jb2RlPjwvcHJlPjxici8+CjxwPkxldHMgdGFsayBhYm91dCB0aGlzLjwvcD4KPHA+TGluZXMgMSB0aHJvdWdoIDUgdXRpbGl6ZSBqUXVlcnkgdG8gY2FsbCBmYW5jeWJveCBvbiBhbnkgbGlua3MgdGhhdCBoYXZlIHRoZSAmcXVvdDtmYW5jeWJveCZxdW90OyBjbGFzcy4gIFRoZSBmYW5jeWJveCBqUXVlcnkgcGx1Z2luIGlzIGluY2x1ZGVkIHdpdGggdGhlIEpRdWVyeVRvb2xzIG1vZHVsZS48L3A+CjxwPkxpbmUgNiB1c2VzIGEgYnVpbHQgaW4gcGhwIGZ1bmN0aW9uIGNhbGxlZCBnbG9iLCBhbmQgc29tZSBzbWFydHkgbWFnaWMgdG8gZmluZCBhbGwgb2YgdGhlIEpQRyBmaWxlcyBpbiB0aGUgdXBsb2Fkcy9hbGJ1bSBkaXJlY3RvcnkgYmVsb3cgb3VyIGluc3RhbGxhdGlvbiByb290LjwvcD4KPHA+TGluZSA3IGlzIGEgdGVzdCB0byBzZWUgaWYgYW55IGZpbGVzIHdlcmUgYWN0dWFsbHkgZm91bmQgaW4gdGhlIGFzc2lnbiBsaW5lIHN0YXRlZCBhYm92ZS4gIFRoaXMgaWYgc3RhdGVtZW50IGlzIGNsb3NlZCBvbiBsaW5lIDE1LjwvcD4KPHA+TGluZSA4IG9wZW5zIHVwIGEgZGl2IHRvIGNvbnRhaW4gb3VyIGFsYnVtLiAgRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGV4YW1wbGUgdGhlIHN0eWxlcyB3ZXJlIGluY2x1ZGVkIGlubGluZSwgaG93ZXZlciBhIGNsYXNzIHRoYXQgd2FzIGRlZmluZWQgaW4gdGhlIHN0eWxlc2hlZXQgc2hvdWxkIGJlIHVzZWQgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuICBUaGUgY2xvc2luZyB0YWcgZm9yIHRoaXMgZGl2IGlzIG9uIGxpbmUgMTQsIGp1c3QgYmVmb3JlIHRoZSA8Y29kZT57L2lmfTwvY29kZT4uPC9wPgo8cD5MaW5lIDkgYmVnaW5zIGEgbG9vcCB0aHJvdWdoIGFsbCBvZiB0aGUgZmlsZXMgdGhhdCB3ZSBmb3VuZCBpbiB0aGUgZGlyZWN0b3J5LiAgVGhpcyBsb29wIGlzIGNsb3NlZCBvbiBsaW5lIDEzLjwvcD48YnIvPgo8cD5MaW5lcyAxMCBhbmQgMTEgYXJlIHRoZSByZWFsIG1hZ2ljLiAgSGVyZSB3ZSBjcmVhdGUgYSBsaW5rIHdpdGggY2xhc3MgJnF1b3Q7ZmFuY3lib3gmcXVvdDsgYW5kIGFkZHMgdGhlIDxjb2RlPnJlbDwvY29kZT4gYXR0cmlidXRlIHNvIHRoYXQgZmFuY3lib3gga25vd3MgdGhhdCBhbGwgb2YgdGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBncm91cGVkIHRvZ2V0aGVyIGFzIG9uZSBhbGJ1bSBhbmQgYWxsb3cgY2xpY2tpbmcgYmV0d2VlbiB0aGUgaW1hZ2VzLiAgVGhlbiBjb21lcyB0aGUgcGFydCB3aGVyZSB3ZSBkZWZpbmUgb3VyIGltYWdlcy4KPHA+V2Ugc3VwcGx5IHRoZSAkZmlsZSB2YXJpYWJsZSB0byB0aGUgc3JjIGFyZ3VtZW50IG9mIHRoZSA8Y29kZT57Q0dTbWFydEltYWdlfTwvY29kZT4gdGFnIHNvIHRoYXQgaXQgd2lsbCBnZXQgdGhlIG5hbWUgb2YgZWFjaCBtYXRjaGVkIGpwZWcgYXMgdGhlIGxvb3AgaXMgZXhlY3V0ZWQuPC9wPgo8cD5UaGUgaW1hZ2VzIEkgd2FzIHRlc3Rpbmcgd2l0aCB3ZXJlIHVwbG9hZGVkIGZyb20gbXkgaXBvZCwgYW5kIGFsbCBzZWVtZWQgdG8gYmUgcm90YXRlZCA5MCBkZWdyZWVzIGNvdW50ZXIgY2xvY2tlaXMuICBTbyB0aGUgZmlyc3QgZmlsdGVyIEkgYWRkZWQgd2FzIHRvIHJvdGF0ZSB0aGUgaW1hZ2UgOTAgZGVncmVlcyBjbG9ja3dpc2UgdmlhIHRoZSA8Y29kZT5maWx0ZXJfcm90YXRlPTkwPC9jb2RlPiBhcmd1bWVudC4gVGhlIGltYWdlcyB0aGVuIG5lZWRlZCB0byBoYXZlIHRoZSB3YXRlcm1hcmsgb24gdGhlbSA8ZW0+KHRoaXMgaXMganVzdCBmb3IgZXhhbXBsZSBwdXJwb3NlcywgSSBkb250IHRoaW5rIGFueWJvZHkgd291bGQgcmVhbGx5IHN0ZWFsIHRoZSBibHVycnkgcGljdHVyZXMgZnJvbSBteSBpcG9kIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzKTwvZW0+LCBzbyBJIGFkZGVkIHRoZSA8Y29kZT5maWx0ZXJfd2F0ZXJtYXJrPTE8L2NvZGU+IHBhcmFtZXRlci4gIEFuZCBmaW5hbGx5LCBiZWNhdXNlIGV2ZW4gdGhlIGlwb2QgdG91Y2ggY2FuIHRha2UgcGljdHVyZXMgdGhhdCBhcmUgdG9vIGJpZyB0byBkaXNwbGF5IG9uIHRoZSBzY3JlZW4gSSB3YW50ZWQgdG8gcmVzaXplIHRoZW0gdG8gYSBtYXhpbXVtIGhlaWdodCBvZiA1MDAgcGl4ZWxzLiAgVGhpcyB3YXMgYWNjb21wbGlzaGVkIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3Jlc2l6ZT1oLDUwMDwvY29kZT4gYXJndW1lbnQuICBXZSBhZGQgdGhlIDxjb2RlPm5vZW1iZWQ9MTwvY29kZT4gYXJndW1lbnQgYmVjYXVzZSBmYW5jeWJveCBkb2VzIG5vdCB1bmRlcnN0YW5kIGhvdyB0byBkaXNwbGF5IGVtYmVkZGVkIGltYWdlcyBpbiBpdHMgcG9wdXAgd2luZG93LiAgVGhpcyBkZWZpbmVkIHRoZSBpbWFnZSB0aGF0IHdlIHdlcmUgZ29pbmcgdG8gbGluayB0by48L3A+CjxwPk5leHQgd2UgbmVlZGVkIHRvIGRlZmluZSB0aGUgdGh1bWJuYWlsIGltYWdlIHRoYXQgd2UgYXJlIGdvaW5nIHRvIHVzZSBpbiB0aGUgZ2FsbGVyeS4gIFRoaXMgY2FsbCB0byA8Y29kZT57Q0dTbWFydEltYWdlfTwvY29kZT4gaXMgYWxtb3N0IGlkZW50aWNhbCB0byB0aGUgZmlyc3QgY2FsbCwgZXhjZXB0IHRoYXQgd2UgdXNlIGEgZGlmZmVyZW50IGhlaWdodCB2YWx1ZSAoMTUwIHBpeGVscykgZm9yIHRoZSB0aHVtYm5haWwsIGFuZCBmb3Iga2lja3MgSSBjb252ZXJ0ZWQgdGhlIHRodW1ibmFpbCB0byBncmF5c2NhbGUgPHN0cm9uZz5iZWZvcmU8L3N0cm9uZz4gYXBwbHlpbmcgdGhlIHdhdGVybWFyay4gIEkgYWxzbyByZW1vdmVkIHRoZSBub2VtYmVkPTEgYXJndW1lbnQgc28gdGhhdCB0aGUgc3lzdGVtIGNvdWxkIGVtYmVkIHRoZSBpbWFnZSBpbiB0aGUgSFRNTCBvdXRwdXQgaWYgdGhlIGJyb3dzZXIgc3VwcG9ydGVkIGl0LiAgVGhlIHNjcmVlbiBjYXB0dXJlIGJlbG93IHNob3dzIHRoZSBlZmZlY3QuPC9wPgo8aW1nIHNyYz0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFFQVlBQmdBQUQvMndCREFBZ0dCZ2NHQlFnSEJ3Y0pDUWdLREJRTkRBc0xEQmtTRXc4VUhSb2ZIaDBhSEJ3Z0pDNG5JQ0lzSXh3Y0tEY3BMREF4TkRRMEh5YzVQVGd5UEM0ek5ETC8yd0JEQVFrSkNRd0xEQmdORFJneUlSd2hNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpML3dBQVJDQUNoQWZBREFTSUFBaEVCQXhFQi84UUFIQUFBQVFRREFRQUFBQUFBQUFBQUFBQUFBQVFGQmdjQkFnTUkvOFFBVUJBQUFnRURBZ01FQndRR0J3UUlCUVVBQVFJREFBUVJCU0VHRWpFVFFWRmhCeFFpY1lHUnNTTXlvZEVWTTBKU2tzRVdKVFJpY25Qd0pGV0M0UmMyUTFOV2c2THhKalZFWTdKa2s3UEMwdi9FQUJnQkFRRUJBUUVBQUFBQUFBQUFBQUFBQUFBQkFnTUUvOFFBSXhFQkFRQUNBZ01BQWdJREFBQUFBQUFBQUFFQ0VTRXhBeEpCRXlJalFsRmhrZi9hQUF3REFRQUNFUU1SQUQ4QXRmVzlWdWJLNzAreHNrZzladnBHVlpMZ25zMENqSnlCdVQ0Q3RMdlZMblRMRlk5UXZOTWkxR1orV0RJY1J1TWdkTnpuZjZWMDRoazBYMWFLRFd3dll5TWVSbVZzS3c3K1pmdW56cUozTWwxSnd0SUhrdUpyTk5XZ1d5bXVBZTBlTG1IWE81R2VoTkJOTHJYTktzWkhqdXRRdDRYUndqSzc0SVlqT01lNGcxdEhyV2x5M3dzbzlRdG51V0dSRXNnSk8yZHZoVEZGREhKeEx4Z3p4cXg3R05RV1hPM1pIYjhCVFhERXFjSjhGdXNZVnhlUUhJWEIzNXMvT2dsYjhTNkpITzBNbXFXcVNxNWpaV2ZCRERZZytGYzU5U3VFNHRzZE9SazlXbnM1Wm05bkpMS1JqQjhLaTlycWVtVzJuOFNXZDJCSmNUMzF3RWdFUlpwYzdBREE4ZmxTcXppdU5MMW5oYzZoem93MDU3VnBDQ1FKU1JoU2U0MEVtbTEzU2JhOTlUbTFHMmp1TWdkbTBnQkJQY2ZBKytuQ3E0c2tnajBlNTBiVnRRZTF1WkpYV2UzTmlIZVFzMnpxMk10bklPZTZyQnRvUloyVVVEU3M2d3hoREkvVWhSakorVkEyWGV2SmE4UzJXa2xjaWRDWGsvY1kvY0h4NVcvQ2o5SlhQOUxwTk55bnF5NmY2d0J5NzgvUGpyNFk3cWl6eDZ2cSttYWxxVnJwMGJDN25GemJ6dGNjcm9zUjlnQk1iOUQzNzgxT1ZycU1WMXhkWmFpd1pJZFEwb0pFeFU0TW5NU1V6M0VZTkFzNGI0cHRkUjB5elcrdjdVYWxNR3pFQ0ZKUE1RQmp4d0J0VDdIZVcwMXhjVzhjeU5OYjQ3WkIxVEl5TS9DcTd0N2l6dWZSN0RvMGNiU2FzLzZxRVF0enE1Zkt2bkd3eHZuTlBkdmZ3Nkx4TnJhNmc3cTl6SEEwR0kyYnRpSStVOHVCdWM5MUJJUDA3cFF0bzdrNmhiaUdWR2RITFlES3B3eEh1SkFybWVKTkVXS0tRNnJhQkpTUWg3UWIvbDhhaDJnUmgyNE1FaUJnSTd0c01NNElKSU5MQmJ4Zm8zanI3RlAxMG1QWUhkSGtmanZRVGtISXlEa0dpa09pa25RZE9Kem4xV0xPZjhBcGRRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGUmx1RHJmbDVGbUVrWVVLb21WaVFBUDdyS1B3cVRVVlpkSlpzd2FOd3BiYVBmZXVMY1N5U0JaRVJPaUlybFNRQWNuOWdkU2FmNktLaWlqclJSUUZGSHdveDVVQ0RTOUxUU3hkaU9WNVBXYmw3bHVZQWNwYkdRTWQyMUw2TWVWR0Q0VUJrK05GR0Q0R2pCOERRRkZHRDRHczRQZ2FER1RSbXM0UGdheGcrQm9DaWlqNFVCUlI4S1BoUUZGR1BLakhsUUZGR0Q0R2pCOERRRkZHRDRHakI4RFFGRlp3ZkExakI4RFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVZUGdhUGhRRkZGR0NUakc5QVVWbmtiOTF2bFJ5dCs2M3lvTVVWbmxiOTF2bFJnK0IrVkJpaWpCOEt6eXQrNmZsUVlvckpVanFDUGVLQXJIb3BQd29NVVZubGI5MXZsUVZZZFZJK0ZCaWlzNFBnZmxRQVQwQlB1RkJpaXM4amZ1TjhqUnlQOEF1TjhxREZGWktzT3FrZThVY2pmdU44cURGRlo1Ry9jYjVVY2ovdU44alFZb3JQSTM3cmZLamxiOTF2bFFZb3JQSzM3cCtWQUJQUUUrNFVHS0t6eXQrNjN5ckZBVVVVVURicVRFU3g0Skd4NmUra1hPMzd6Zk9sbXFmclkvOEordE4rZDhVRzVrWWsrMDN6ckhPeC9hYjUxcG5ldFNhRGN5UG43emZNMXpaM3hzemZNMFpOYzNvTW1SL3dCOXY0alhNeVAvQU40L3pOWUpyVW56b01OSkorKzM4UnJpOGttLzJqL3hHdDJKcE8yMUJocDVmKzhmK0kxMzRSMUE2a1k3ajJoOXN5WUxFN0NrTHR2MXhYSGdlZG9XZ2p4ekNTK2tRa2RCMU5CTTd4MkYzSjdSd0NOcytWY0M3ZDdINTExdnY3Wko4UHBTVmo0MEc1ZHNmZmI1MGRvL2V6Zk90TTVyR2ZIclFiRjIvZWI1MW9aSHo5OXZtYXh6QUhIU3ViTUQzMEdXa2NmdHQvRWEwTXIvQUw3L0FNUnJSbTNyUW5GQnNaWk1nYzdmeEd1VHpTRDl0LzRqUVczcmk1b05YbWtBMmxmK0kwNmNNeU0rcXlndTdBUW5xU2YyaFRMS2RzMDY4S0hPclQvNVBYL2lGQTROSTJUN1I2bnZySGFzUDJtK2RJM3VWRHZueElybWJ0UjNpZ2NSTTNUbWI1MW50Vy9mYjUwMEhVWTFKSE91UjRtdWI2cW1OblgrSVVEMFozRFlMSEdPdWF3YnZsNnNmblVOMURpcTFzY21hZFZ4M2MxTTQ5SWVselNkbjZ5QWZOcUNmM2VzcmJxVHprbnVxUDNuRkZ3U1FraEh1cU5YWEVsczhxWm1UczMyRDgydzk5STVOUnNaRWtjWDBhaGNrc1BMejhhQ1FXK3U2cnFsekxhNmRJSlpvd0RKelB5ckdQTStQbDFwMWcvU2ZOT3Q1cTBrVFE0TGRpQUZIbWM1cXNMVGk2YmhKQjZ0SDYyOXlyT3N6ZXlEL2UvR21IVXVKZUlicTZhU1NTNVJnUVNlN0k2SHBRWHh4UnFWN29jVnJjV2NzenFVVm1TWWhsa0J4dnR2bWwzRkZ5N2VqdlVaMUxJL1pxUmdrRmZiVGJOZWZoeFZ4TnFOM0hjM2Q5ZTMwdzI3TmwyS2c1SGRqOEt0NXRSdk5VOUNtcTNWN0QyTndTUXlrNXhoMC9HZ3FtYTh1aHE4eWk5dVZSbEJHSm14dDhhYzlPdmJpTy9RdGUzUElSZzgwckhjL0dtSjVRK3AyNVljM1BFUnYxR0tjWW1DVHh0eUhQZmdaelFMZGV1cnY5Slcwa2Q1Y3NuWjQvWE1Od1Q0R3JEMEtHYTZ0cktkcHBzUEdySDJ6NGUrcTAxUW5sZ3dDQUdJcXp1Q3B1MDRldFhPK0U1Q2ViTzRQL09nbDh6eGlHT0ZwQ0M1NVZHKzV4bnI4S3I3aXkya2kwL1VwVXZycVA3Rjh4aVRBSldSUU1EcmpHYzc5Y1ZON216bnVSYnNzVGtKTXNnSUhVak9LWU9MOU5kcmFlTllwaFBMYnlvaUlvOXRoeWxWM0JQZWVtS0JyOURkeEpKZmFyYnp5U3lFd0NSUzdsc2R4RzU4NmV1STdDd3V0T251bkVndllMZGxpbEU3cmdEZm9Eang2aW1EMFZXOTNZNnpyRU1rYjI4NldXTVNqN2pjM2VLYk5WdCtKRnRuZTUxN3RvU3BMeHBiZ0Fqd3ozVURYcGRsZGF2cU1LRzR1Skk0b0pKR2dhNGRPMWJLcU1rSG9NNXA4czMvQUtObTRqdTdxNWdnZVJXUWM3U3RKN0lKVUU5d09mY01aOGFqZWdhdU5LMSswRnhJa2NFc1VxU083WUM0NVdCejhLYytPTFJMbzJlcTJjNGx0K1Rzbk1XNHh6WkRlZWM0K1ZCcHFYRmtwZGhienl4WUo1RldSdVlmSHAxOHFlL1NWZDNJOUhIQ2N5elRSeXlNcGNyS1FUOWoza0hlb0J5VzRraGNPNkJUek1yc0R5TjQ1eDVEM1ZPdlNTREo2Tk9EOGtra3BrbnIrcG9LcHViNitWVllYdDBOOS90My9PdTl0cVY3bFZON2NrZjU3L25TZlVFVDFJeUkyU2tuSytEME5iUjJGNHVuUjZpMXZKNm04blpyTVI3SllkUm54b0gyMTFiVTdRTzl0cVYxRTdxVmJsbEp5cDd0elRkYzM5NmNrWHQxelpIU2R0L3hvaWxIWURmcDFwSGRrTmJ0bkIzSFh1b0YxcmRhZ0M2UzNOMnUzUnBuMi9Hc1RYbDR1Q3Q3YytYMjdmblNmUVZTVzVaWldrN0lKelB5QUZnTWpwbnJXOThxTEk1aDUreTVqeWw4Wng1NG9POXRxTitqaHhlM0lLbktudFcyUGQzMUtSZFNYc1NYME54T2dmYVdOWlg1WTVSMVViOUQ5NGU4anVxRnBJQXVOcytkUFhEK3BSMkY4ZTNhUVdjdzVaa1h3N21IbXAzeDNqYnZvSmJhVDNNRFJTdGNURWcvdFNzZlB4cVZlbWEzdUg0U3NieTFtbFJ1MVJXYU55dlZXSTZlZGQ3UGh5RFZFaVRuVlpjWVlqOXZ3T2ZkaXM4Y3pUM0dnMi9EcldydGNDTkp1MVpoK3lTdUFQRWp2b0thNFU5ZkhGMmpjOTVjbFBYb1F5dE94eU9jZFJtdlV4Nm1xUTRXNFdnaDFxd2x1VW5XZU80UjFWbUM0SVlIY1kvblYzMEJSUlJRTldyZnJZdjhKK3ROMmFjZFcvV3hmNFQ5YWJHb01rNzFyellyREhHK0RURnhKeEhIb05vc2trTHVIeUF5NHdNVUQ0eml1WmtxcFg5Szk3SEovWjdSeDAzTENsTmg2VzRUSVYxR3pDb1RzMEJKSStCb0xOTGQ5YU14eDAycVBhZnhsb3VvUks2WHFLemZzTm5tSHdwYituTk56L2JJL2tmeW9IRW5hdUQwUTNVVjFFSllKQkloSkFJMjZWaVEwQ1Z6dmsrTkxPQTJIcXlzZWtsM0tVYjk0WjZqeXBqMTErVFRqdXdWcEVWc0hIc2xnQ0trdkRLQkpyZU5SaFZrT0I0YlVEM3FHMTVKOFBwU1VtbFYvd0QyeVQ0ZlNraG9OUWE1VFRpQ0o1Q0NRZ3pnZFRYVHY2VkZPTmRURnBwZ3RSS1kzdVR5bGhuT1BEYnhvR0RXUFNSUGIzVWkybHFCR3UzMjNYUGYwcEZINlZKU3ltU3lqNU0rMWc3NHFLWDF2RDJUTUgrWUpOTWtpb2lmZkdmZWFDN2RONDMwblU1WTRvM1pKSHprUHNGMjhha0N5TElvWkdEQTlDRFhtK0c0RWI1RXBVK0lxenVCZUpSTmJ6UjMxNkFzU2hZMU9mblFXRWE1T2F5a2lTSXJvUVZZQWdqdnJWK2xBbmtPMUx1REhlWGlPK0xPZVJJQWlwL3hESnBCSjBwWndSLzFqMUxiZnN4LytRb0VNOXkzYXZ2KzBmclhBenUzZlRoUGFxSlgvd0FSN3ZPdVl0b3oxejhxQ0JhKzUvUzhwNytWZnBVWTFqV1UwK0VxcEJtWVlVZUZUVGlDMlJkWWxBSFJGN3ZLcWcxNlpwTlRteWM0WWdlVkFpbnU1WjVHZVNRbGoxcmdKQ0QxM3BWWTZaUGZ2N0lLb09yR24rMzRidDBBN1RMSHpvSStsMFZYQlk4Z09TdFNmVGVLMnNiVTI1Z1dhMUE1bFZrQjVUNDBvVGh1eGRkNCt2aFcwM0NUVzFsTE5iUHpFRG1LTjRlRlp5eTlYYncrTDhtVjN4RERmVHlhbmMrc0ZFUlQ5MVJzQU8rbjIwamtFMGJYSEswSXh6S2k0SkhobnVxTHh5eUpjTUhYbHdTQ25jS21kdUJJcU1DTUVDdE9WNHZCMzFLZlJwOU1TTFM5TW10YnpJTHl5ejlvcFh2SExVdjBkSm45Q0dzSklVWnpPNEhLdktNYzBkUVJVd3dxZjJRNWZRcHJCSC9mc2Y4QTF4MFJWODJuOGlXMGpTeFFoSEdXZDlzSEdOeG1sQ3VPYmw1d1dVbko1ZWxLTlRUdHREbG54Z1JjcmJlUnh2U09FYy8zUWNBS1RnYkRPOUF0bmlnbGpMM0lrWlkvYlFJMk10NW51RlNyU3RZMUMzNGFnc3JCa3RtZWN6Q1NSTXF1RGpCSjNPZHNZMjYxcm8wT25hVGJSNmpxTUNYRFNZN08xSzh3T1AyaU84Ky9hcE54WGJhWHJsdnA1dGRTZ3RKb01Sc2dRcUZYT2NBQWJZOEtDVGFSTmZYSEFLYWhleE9OUWUzOXVNTmxjZzR5ZzdnUnZTVGpEU1UxT1FhZkVwU05jWjVDUUZCVTlRTzQ3L2hXcWNZNlRvOXREcGNWM0JJcVFCRkRCdGdQSUNtdldPSnJTNzdTUzF2U0hsVEplRkNyTmdiWlBkamY1MERiNk9yQ2JTK0lMcEdFZmFQRTZHRG13NFFPQ0dJNllQejM2VWwxeVdlN25sdG9OUG1rY2RvZ1ZjRGJmNmJVcTRIbnM5SnZudjcrK2lUMWlKb2l4SkxoMndjSGJ4Rk9TVGk5bXVvTk9qVml4ZkxKdThvemduSnh0M1lIa2FDdlhzN2JTOWNnVnJVM1YrRVBOSVAxTUFLQTR3UjdUZWZRZWRTMkd3VFZiTjlKRVUwYzE0V2o3Y3I3SUJJSU9ldUFQS25XeTRYMUxWTGp0Z3FReE1uTDJqbmJ3SXgzOUtlK0lORy9SSERkOWUyMTFLdHhCYnM2ZGtpb2VZRGJCRzQrdEJIcmIwTTI2eHFyNnBLYzlTSTg5L2NQblNEMHY2ZEhwZkJ2RCttMjVZeFcxeDJLRnVwQ3hFRE5NY043ZlJjczh1cDZqTTdMMG52WkdBK0dhZC9TZ3hsOUgzRERzU3hhUlNTU1NUOWw0OWFDQjJkL3BiK2l5LzBpNGRVMU9DY01pSDd6NWNFRmZoa2ZDbUtIVFk1TEtKMUpWbVVIeXB5MUtPSDlEdnlBaHlZeWM1eDFydHA5dVRZUW5HM0wzRHpvR1gxZTZqUXJnT3ZpSzB1VUJzOEdUN1ZqN1VaVWdyanZ6ME5XR25EVWMyak5jS3dFZ09mZUtoK3ByYnZadUJNbk1xY3d3TzRIZmVnNThNUnc1djhBdFdDLzdNZVRQZWVaYTIxYUlKWmlSVjJMNDYxdzBPNGhFVnlHbTVIYkM5TzcvUXBicTZ3TG9pTjJ2TS9iYmtIMmNZUGRqcjhhQnZuTnBjTmJlb3dTeHVVV04wYVR0REpKbnF1d3dQTGYzME9XdHlWbFVxd09HQkdDcEhpS0lqQkN0c3lTOGtvWVNsbEcrT3V4UFErRk9Fa1A2VXRaUFYrU1ptT1pKTWI4eDhjNzR4MU5CWm5vNTF1M2l0SWJHNHVJa2VNaDRPWTRPQ1NTdWZ4SHZOU3ZqZlU3SzN0YkxWWkFYZ0JNSkNZNXNuQkhYdTJhb2J3N2NhRmJXZHFzZWl5WFZ6Z0xKTk9WU05pTy9PYzRIdTN3S2xFV3JXdXN2ZDJOeHBObzhjWjVvdzZDUUU0MjNQdk9OdkhwUU1XaThjNkxOckZsWkxhWFlra21TTkNRbUF4SUF6djUxYTlSdlRZZEFUczQ0dExzNHJtSnRpYlpBU2ViQUtuSGppcEpRRkZGRkEwNnYrdGlIZHluNjAxbjQwNmF4K3RpL3dBSit0Tlo2VUdqbkJxck9MWTdqV1pidWRGa2tpajJSYzdJTmgrUFdyUWx4eU5ud3FOYWhESEZvVjAwYWNvZVBKK1lvS1B1OU5samNGbEk4YVF2QVEyTUdwbGZoUk1SanJUUFBHdk1kaG1nYUxkNWJhWkpFWW80NkVWWmtFUUdueFM5b09ZZ2JaeWZuVUVhMzdRcXdYWlR1ZTRWTE5KbmFhd1JTMmV6OW5HVGlwZStIWEgxbU51U3dPSE0vb1pQOHgvclRpNDg2YnVIQi9VeWY0Mit0T0xnRUhiOGFya1pkZlhtMHFVRFlCbE9mY3dxVWNONDlZaHpuUGEveXFOYStCK2hybnlYUHlxUjhOTVBXNFFSakQ1SG50UVBkL2oxdVhQWGI2VWthbGQvL2JKUGg5S1JtZzVucjVWRGVNb28zRWJsY3VycnY4RFV5WVZYL0hGM0phSzZrQWt5S3did0hLMjFCRk5RUlRHQVI1Vkg3cTNqTzRYcFdialdwWGN4dEltT25URkk1OVFJSURZMzZlWW9OVGJxVklWY2swODZIQjZuZGxSSm5uVGRmQTB6UVhoNXhJRndvNkhQZlRoWVR5eWFwRGdFZzdkZWdyUDExL1dZWGM1cTc3TCt3VzMrVXYwRmRHclN5SDlYMjMrVXYwRmRXclRrVFA1VXI0TDI0bjFJZDNZS2Z4RkpaQUFDS1hjSVFzbkUxN0pqMlh0aGcvOEFFS0IzdnJEdE9hV0pkeDFVZC9uVE0wWEtjZC9oVWxzN3VDOWphUzNjTUF4VStJTk1la290M2RYbmFuT1B1K1dTYUN1ZU1iZ1dsMWV6bmJzNFZJK1ZWQlpXajZ2cWJBa2hjODhqZkgrZFc1NlNvMVJ0VFJ0MkVDNDkrQlZlOE1RRkxPYVlETE8rQWZJZjZOQTdKSEZieGlLSlFxcjB4UVh5TnF5M0tvM085Y3k0QjJvZjZMYlpuN1JNYmJqZndwN2pua3VWVlpRdlVqUFhKcU9QcTY2ZEFVbWhQaXB5Q0NmRVZ6c3VKQUpFTEFoQWVwRlluN1hsNk05K1BIMWw3N2FjVGFGNnZJYnVKUFpjKzFpdGRLY3BHSTJPZVhkVFU0U08zMXpSeWdiWmw2K0JxTFh1aTNXblhNbG82OW5kUnR5RlQ0N1lQaGl0dk9VRFpzL09yQzBrYy9vYzFVWTVzelB0L3dBVWRRRThLY1gyMkd1TGJUeVd3QW8xQ0htT1NBTnViekZXTkJwZDlwZm9oMVcxdm9WaXVESVg1QklzZ3dXajcxSkhjYUNDUThoaW10NUVVOXRIZ2dBTnZqWUg2MGh0bFpKWmJkWWdvZFZEWklQVHd4N3V0S1lvcFNRdlo4MlJoZVhiRktMZlREYXBKUE93UjJURVNuUHROM1o4Z042QlhFNnJhTERkU2lPT004OGJPY2V6akpBOXczK0hqUzVicTI5Wm41V0gzeWMrTlIyU1AxaG1rdXVXZDJVcG45MWNZd005T3A2VkdwNzIrc0x5ZFlIVjRneDVlY2tIRkJLTlhlMmFhV1FaREJBK1Y3eG5jZktucUdkSklVYUloazVkNUNOaC93QSt0UXF3bU4xY29ibzg1WkdCQzlDUVFjVktrdlJ5aFVqUGdpS05nS0haVjJaRml4bTlsUk1DR0M1TGUyTno4S2VlSE5YV0RYSkNxS3dFTGN1VHQxRlJLNTFHVW9Va2JCOEFlbmlLN2FCTDJ1cTRQc2pzempiT2VtMVNiMjY1K3NrazdYVm8yb1BmQThpS3FxTmdvd0JUaHExZ2RTMGlhejluTXE4cExaeCtGTlhDL0l0bmtZQ2c0eWNDbjJXN2lqQUJkYzkyOVZ5VmpjZWk3VlpKUzYzMXJnbmNIbUpIdXlLUitsaXlleDRMNGZzbllNMEUzWnN3NkVpT3JNdTlVYUI0WUlpc2x4T3hXTmU0WTZzZklWWDNwa0RmMGQwcnRNT3d1bTVpQmpKN005MUJVOTR4ZlRtRFl4eXIwOGpVaTRYc2x1dE9qT2RsY2pyVVlaSkpyY3hSUnU3RWJLb3ozMUwrRjNGbnBCN1pzRVNPTUFGaDNkNDJvSmE1aGcwL2tZQUtWNUJzT3ZLYXFiVjQ0a3RabDdVb3doYktqSHRFNHF6N2kxbXV0TU53dk1zQ0ZaR2RsSUFVRGMvalZjYXZicEJGY3JMS3F5c3JEbEQrN0cxQWg0U3RvcGt2ekpHckZJd1Z5T2gzNlVwMTdtT2xxZ2ZtVHRWUElFRzNYSnoxUGZTZmhrekpZNm9ZT1R0REV2THpianZwTFBOcUNNVGRQRzhhN3NzYTlQT2l5YjRqakpwZ3VvcEpvcmh1YU1LRVJrKzhNZmhVaDRldHJTMnNwNUppVnlWT1hrd1cyNkZSMUh3cHIwL1ViWjVaVVNUSE5qT1RzY2Z1K1hTazZMS2w3Y3JMTUFXWUVNQjFIbDlLazIzNVBYaVluKzcxRlhpTU5zeXdGYzRrQTVXd1Q1ZFIxMnBIYWFyYzJxUlNpK20zTEtGU1U1akp3Q1YzMlBUZWtrYUpFSGFYTEJ6eS9mM0FIdTdxU3RhTUovc3lBR0dNL21hcm1tdkRXc1hNdkVHblF5WGJ1R3ZvbHl6RTVITnY4TW41bXZRWjYxNWY0V0NyeFhvS0F2bjF1RTRKKzk3WTM5MWVvRDFOQVVVVVVEVHJINjJML0NmclRVVFRyckg2MkwvQ2ZyVFV3eFFJdFJXV1N4bVdFa1NFYllHU2ZLcTc0azFTOEdreWhZMzVPendER2RodjMxWnJEUHhxQWNTMnl0cHQ3bHlpaFNjZkhwUVZhbDFjM0pmTE1lWEdTYVF5WGtwa0lHZWJwaW5xMENSMnM3a0FLMlZYSXdXSGpUVkhDcjNaYmZzd2NsZ003K0ZTM1RXR0Z6eW1NS0xlNW1paENsWFZuR2QraEhqVWk0YVNUMU9SMlBzRnVWYy9qVWQ1MWtrWmdOaWRzOXdxYldGdUxXeWloR2RodjcrcHBQOEFMWGt2T3BlSW5YRG4vd0FtVC9NZjYwNFBta0hEZy9xWlA4eC9yVGk0OHFybVFYbHVsMWJ5UVNaNUpGNVRqclNqZzcxdUhXT3d1NVZkUXk5azRHT2JZN2Urc1NZQXllZ3Jod2FicTkxNkcrbUNwQTI4VVliUEtOOEgzbWdtZCtNM2tudytsSXp2UzIrL3RrbncrbEltb09iYi9Pb1R4OUR6MjFzd3dDWDVTRDNqQnFiRVZFZU9vODZaYnlmdXpZUHV3YUNwRnRnTlV3UXJ1UGE2REFIaWFiZFVRUGVNVUdRVGdBZDFQZlp2RzA3ckh6RWtndG1tc3hHTjJubHljYkR2elV0MDZlUEQzeTE4Y1l3VUhZWktxUHZBNy9LbjdoNjE1cDViazlFWGtYMzB3UjU2NzVZbXBadzloZE9Za2pkenRTTTU1YnEyckVmMWZiZjVTZlFWMGF1ZGtmNnZ0dW42cGZvSzZ0VlpKMy9HbmJoVEg2VW1HUm5zZkgrOEthM0hmU3JoWUgrbHN1d1AreEhIL3dDNHRBeTIxek5ZM2tra0RsVHp0MzdIZXBEdzY2OGx3NTZ1eWo2bW9xazhVOGtqd3lwSXZPd0pRNTN5ZHFsR2dxRnRGa0IzTWh5UElEL25RVnA2VVU3VFVyeU1kOGEvSDJhcjIwdkd0dElpU0llMHpOMDk5V1Z4MnF6Y1N6Um43cGlYNlZBYm5UUFUxNVk4bFFTVkI4eFFORFg5ekhMOW8yYW1PaWFXZFNzM25La3FxOVBNOUtoaVdVdDFlckh1Y3RqSGNCVnRhRUlyUFRqQU1EbTJPS3psZmtlandZUzMyejZpcGJ3eUM1ZFhMc3FzY2MxU1BocVMwbWplM25UbjV3Unk4dmwxcDkxL2htMHVoMnNXRWw4UWRqVWR0Yks0MDZiazVjTWYybE5XVFRqbGx1N1NEaHZPbjMwbHNIWm9UbkN0M1ZOdlNQcHhoNGd0YnIyUkRxRnFGWjhmZGVNREh6QnFJNkxhWVl1NCswTzVKcTIrTjlPRjVZNlFlVUVSdVEyZTVTZ3lmd3FzdlBsdGJTcnhIUGJ5TXhJa1RjbnBsaFZvOENHTnZRdnFKbHlFOWFrSjVtNXUrUHZxRGFiRTF4eGs1a1BNUVVCSTc4SFkvR3B6d0RDMDNvWTFDTlRrdGR5QUVqempvR2g3cUlqRnRiRUgrL2tmZ0tqMnFQZFBlOW8wemN5a01DeE9QRHArRlNkZEtuNWo3Y1lIUW5QMHBCcVdnWEZ5ckxFRVk0M3pKZ252L2xRSWJDZEpRVmZsRGpmQk5NdXFXS1NyZHlTRlJ5Uyt3UDJqdjlQR25XWFNOUnNFOVlrV0lGUjFFZ3lQY08rbXFTVVNRM0FtTE5MMjR5NU81SlBTZ1RjeTJuWUFFdmx1VlNPbzV1LzhLMmdrbVVkcDJzMkZ4N1N2ME5Kcmt5SzVTS1BNdk1BaTQ2R2xjeFJVU0ZEbmxQTWR2R3MyL0hieDRjWE84YUtrbGFaUTdrbGlNYm1uamhzRWFxMkIxUWsvTVV4VzJleVZSNTcxSXVHVUg2U1k5QUl5YzU2N2l0T1Z1N3RZZHZxM3FrSUdTRlU3S1A1MXRIeEhidEFWTnZJOHhQMysxMjM4c1V4em4yU0NSanZ6dlNOVzVFWE9TT3V3eFJEN2U2bk5jM1ZyYzI4aXBjMno5cEVYUHNFOTRiRytEU24wZ2FsYXg4UGFMZmFwWXJjcTgzTThLUHRrcHZocWpzWE14VnM0SG4xcHk5SmFrY0dhQ3VkaElBYzkvd0JuUVFMVjlUMGk4UmpZMlUxdWtnT0FoQVpSNy84QWx2Uy9obWZrNFpXSU4rc3VabEJIVFpZelVYV1BKQXdRRDMrNnBIcDFyY3cyTnJieXlRV3FMTEk2dUY1bU9WWEpLbllqQThxQzRZTGVPNTRXU055TVBaWXg0K3ptcUcxYUx0M2FTYWFOVUtNVThTVGpwNWJWUGJhVzVsdHBZUk04aXhXdk1qdU1rWnlENWJrZUhTb0hKcDhqS1RKMmFzUU44N2swQ1hRWXpiMjJvZGxseWljcjdiRTc5UERGSlpyZWRyUnBwa051amphVTViT05zWUc1cCswcXdGckhER3JjL3JqQldJSFFjckhLL0d0TDdUNTdpWCswQ1FnWUhOMDIyK2xadDUwN1lZK3VQdjhBOFJpMGpqZ1o0b29tWWN4ekk0Qlp2Y2U0SHdGVFBoL2hHUGlwYmlkTHRyVXdGVXcwZWViSXpYSFQ5RGpCWjdpYm1ibTJFWitwcFRkTmM2ZHlKWVQzRVVUdVRJeVRGU2R0aHQ4NjA0bjVmUTR0eEd6dnJCU01kQUlUOGUrdVRlalcxdDlTdElCUExNMTB4aURsVGhRQm5tWWRNNUk3Nmo3YXpxRGpzenFWNGNlTTc0K3RkN1c5dllBWnZYYmxXeDkvdFd5UGQ0ZDlCTXJMMGFwcEd0YWZlUjNTVFNSM0ViSENsUnlnNXhqSnEwcW9MU05XdnB1SjlMRWw3ZFNLMTdDQ3BtWnR1WWRkK2xYNmV0QVVVVVVEVHE0KzJpL3duNjAxdDFOT21yL3JvdjhBQ2ZyVFBQTEhDcFp6amFnRHNEVUs0dWh4WWFpdlFOSGxjZjY4YTE0cTQ4WFNVRU5uR2ozTDlPWW5Dang4NmJmV2RRMWJnNXRUdnBBelRoeWdWUW9WUVFQcUNhQ0VYRnU3V3lvektNZ2ROc1UwWENQQ0JFR1hCd1RnWUk2N1ZLSGJzYmRwR0h0Z1pUSS8xbW94SnpHVjNicXh6V2U3dzd6K1BEYzdyTWVBeTVPQVNLblNYTUw3SktyZjhWUURPV0E3cTAxSkdVeFNnZTBSeWsxcHdYeHcyNE9pcHY4QTlvMzFwelk3bndxcnVDYjY4azBkVWptYjJISU8vanZVMWkxQzVRRHR2YVhvY2pjVUR1dzV0cTA0Q2NGTEVlQUkvRWl0SVprbTVYUTdWeDlIczNNYk5jN0NXUmZreG9KdGZIL2JaUGVQcFNRMHZ1SURMZXluY0tDTi9nS2E5U25GcWpjdEFrdnRTdHJDSjVKNU1LaWxteDRDcXgxbmpkdUk1RXNMUzA3S0lNWkRJN1pibEFJNmQzV3QrT3RVWVdKaERlMU9lWFBsMzFIdUdyVlRhWHVvTUR6UnNzU2p1T1FTZmo3TkIyRVpkWFhHZmRUQnFNaGE0TVNoVlJHSUFVWUJxVVRzbHBGSVFEMnBQTHlrZEI0Kzd6cU56NW5sSlVFNDhxejNYZkwrUENZenVrR1FxN1YyRTg4ZG5JWXBXUXJ2N0pyVDFhUjVNY3BIODZkLzBTMFZvNnY5NWtMSDVWcHdPL0MzR09wbVdPMG1uYVVjbnNjeDZZSFNwOWI2MUl3SGFwdGp1cW5PSDNGdHJkbXo3QVNCVzl4MnE0b0xSSkdaQjk1ZW5uUU9FZHdrNHloelR0d3Qvd0JaV2J1OVZQOEEvSXRRdUdkNEptR2NGV3dSVXg0UGxFMnRNNFAvQU5NZTcrK3RCQ05FMCtUUzdKNEplWHRPMmtadVh6WTFPZEt4SHA4RGQ1VmlmblVQdjc1TFIzWmxKek55NEhpVGlwWlpjeTZkSC9rRGJ6b0s5NHJrRW5FOHpaNkluMHFOWDR5ZHFmT0kyenhEYys1ZnBUVEtuTkltMmNrREhqVHBaTjNSdnRtaDArS1NhUU4ycmRHQTZEd3J0WjYxY3JhdTlxcXRJU0FzYkhsMm8xV1pJNHhBcWdqcUY4S1k0ZzhWMHJjMkIxNjlLeGp6ZHZSNXNyaEo0cGVrdnY4QVY1NTlOdHB1d2FLUU9WbFRQZGl0YkIxdmd2TVBiQnJsQmR6WEZ1ZTFaSkF1d0FyYUdhQzJaWjBYa2tEcUNtZXU5YmVaSWJlTHNtSGtLdGZpcUs2ZlJJbXRRR1pRQVJueEFIODZxNzJUR3NtZW83cXVLZTU3RFNubTVBNnhRaCtYdkpBRkJTeWNNM1dsY2ZHeldPUzRsaHNvSG1rUmRpeDVtUHlHQjhLZGVCN2x0SjlDdXBYSURGbzdxUmh5NVU3bU1menFSM3VwM1YzcU1sekZQTkFIeDdFY2h3TURGWjRpZVc0OUYrcm1WeTduQXkzK05LQ3RocitvYzdNc2l1dVRndW1lK3UwWEUyb0dWVktRRlNSemZaNHorTk1mT1c1Y1pCNVJuUGpXd2tBWUFqY0E5UEdna3R5V3VZNU9ac3VWYkF4MDJxRVNaamU2aW5XWExFaENpNUtzRGtaOTFUTExOR1cyeHlnK09ENFZIWms3YlVKakpua0VoTEVEenBicnRjY2ZhNmN3SGtUMWh4SGtjcDNYcWZIeU8xSjFzNDJZQTdIeHBYS1VlUUpFQ1VRWUI4YTVlSU9jMW1UNjYrVy8xblRlS0JJMXh6WndjbW43aDFrL1NUYjQreGI2aW1PTndVTzJNZUZPbWc1L1NMTGpPWWllbm1LMDRwUGQ5cGNRY3R1c2JOa2ZySEkyNys2dEFKQVBiNVNPbU91YTV1N0kvTHNBZTdPNjFsWlhWVUF3Um53M0ZCM2k1bzhCSTA4eVJuNFV1OUk0RGNGY1A1YkM4NEpQL2wwM3d1Q2dITDdaT2NIK1ZPbnBKVURnelE0eEhMSXhmQ3BHaFppZXo4UHpvS3RnUU5JTTdqOW1uYTNtN0Z3RkJkczVCYnVKMk8xSUxXMTFDV1JtT2wzTUtvTW5uWGZidnBYR1MwcHg3SURic2Vnb0hYU3A1NXI2Zm5seVJDTUJqdGpKNkNtNEdLS01IbTUyQysyN0hHUGRXbk42dmVtV0tSdVFRdXBKNzl0cWo5dHFETXFtNFVjb0d4eWNacVc2aldHSHRsby9UWFhxY1VNY01tU2h5R0kzR050dktteDd1UjMyY2s5ZGp0U1dTN2U1UGFIQXlCc0t4R3h5b09OajNmNjNxU2E3Yjh1VzdxZFJLZExWbmhCSkp5ZHFsbWw4TlFhOVkzSWxuYUlxNmdGUUQzWnFIV045SEJBRkl5M2o0Vk5PR2JxY1dWMUxKYnVzSGFKbHpzdWNiYjFweWJRK2kyS0tVVG05ZVdNbmNORmdIOGFYYWp3anAwdG42dkUxcmJ5TU1Cc01UMytkS2RFblhYZGN2YlNlUTlsYm9yUlcvTmdNRG5tWStQZDdxa0Z2cEVOdEt4TWs5d3p0a0xJMlF2dUhRVUZlNlR3T2x0cmxuY0RVMlpvTGxHS0MzSTV1VmdjWnowODZ0M3ZwTGJQaHdpUkJGT2Q4WVB1cFZRRkZGRkEzYW9BQXJrYmhTS2dlczNiaGl2TjdxbXV1ekNHTmM1eHlNZmxVQTF3TkhwazF5Y2V4SG5meDVjMEZROFFYUnVkWnVYVTdLZVZmaFZxM1ZpbHB3cEhwOFlWVEhhWUNIdUlPVDhTRFZWNk5aSFY5ZnRMVWdudDVSemVRemsvaFZ2NnV2cmRzWi9hV0x0RkxjdlhCVUEvSDJhTExxN1ZscTF3NmZZcjl4QjdKRk16UU04WVlZREh4TldmcUhCRnZjTVRGUEtoWE9jNHdmd3BKYWVqMHZNclRUc2tYTHVWSUpIbDBxU2FYUE81M2FCYWJwSnVadmIrNk4ySXJPdldhcnBrY3FBRERuNWRLdFN4NFNzQWhFVXM0UUl6ODJWeTJQaFRQcUhDVUUzRFhPc3N4SlNVNE9NWkI5MVZsR3ZSeEptYTh0aWZ2UmM2RHpCMy9BQXF4TG1JVGFQTGNSRDJvOEZzZVhmVlJjUFhMNlZybGxNakVCWmdHOXhPRFZ4c3kyTjZIVVp0TGs4a3Fub3BiYlB1M29HbTB1bWhkWkFUZ2taQXBad1RPTERYckxUcGM5cEpjU09oQTJaV3lSaitkTXR3aHRMNlcxeWZzNU9VZTdiODZjTkM3U2JqRGgyUmQxaHVtVmg0QmtQNVVGczNzcXhMbnY2L2hVVzFoak5KeUFaRElyWjk3RUQ2VTk2NjdMQ1dUN3kvekZNY014bGthVlJrQlZ4bm9QWjJ6N2lTYUNuT09uL3JXSzJCejJhNVBodjhBKzFQUEQxb2c0THQxY0FOTmZkcWMvdEFLeTFGK0paRGVjVFhmWjViTW5ab0QxMjIvR3JWdE5FdHA3VFM3VTg4Y0VMbFBZeG5iYnc4elVzMjFqbDYzYUR6ODEvQUdjRG1YS0FqdnhUSzJtM0NzUUV5ZkVWWXk4SzJ5WHQ5YkxOTUdqSmRlbmNkeDA4S1ZhYnduWTNGeDJuckU1aVplYkdSN08zdXBKcUpsbGNydXEvdGROVzJZU1NnR1FkRkcrUGZTbTRRaWFaY2RJZnFhbXR2d2hhU3Vaak5PVWxsRWNlQ09nNm5wV3ljSjJVK3JYeUdhNTVVangrejQrNnFpbmIrMk5ocVJBR0NPVng4Z2F0elRMc3phUlk2ckYxYU1DUWZoVmVjYVFpUFZWa2pCNUFnUUU5K052NVZKT0JOUUV1aFRXcmtuc1d4azlBRFFQR3RLa2Q0czBXT1NkQXc5L2ZVaDlIa3ZhYXRjZUhZYmZ4aW9qcU0yWUZpWnZhZ2tKSCtFL3dEdFVuOUhEWjFxY2Y4QTZYUC9BSzFvSW5yQkwzcXhnQWdPMGorSTlyQS9ITldFekNKSkY1bCs0dkt1Um5HS3I2NDVaZFR1RGtFOXVzWFR3YkordFQ3VVlZMEU4cklwZENRajQzQW9LcTF1VXZyZHd4UGdOdmRYQVhOc2xxNUxqdFVQTmpJQitGSXRkbVlYRjlNcFlGRjJLOWM5MVFHOHVuYWNlMFN5bmRzOWE1NWMzMWoxZUdYeFkvbCtwTGVHYVM2SlVrazc1OEtRZXJTdktBWlRrbWx1bjNJdXJkSmYyaXVHOTlFMFRCdzNOamV1a21ubXR0NXA2c05GREtNeVM4elk2TmpGYTZqcDcyZXBXa1FrWjBiR1N4enZtbkhTV2Jzd2M4M3g2VTRYVmtaSlV1RHZ5N2dHaUZrRTRXSlVKNkRIU3JkdXBzNkpPQm5sTnYzKzZxV3QzTFNFRVlPZmhWelRXTW1wYUplV1NTdEU4dHFVV1ZlcWtyMStsQkdFUU1lWUhhbFd1cnplalRWVkdNay8vd0IwcWgzNHU0bzBXL2EzdTdtVG1qT0NzZ3lweDc2dHZUTmNtNGs5QzJwM3NrYVJ5Q1JveUU2SGxaTi94b0s1bnlJSStUb3ZOek1XNkFIb0s0eHlySXdZREJCMkpwNHNiUlo0Z1NBeWtuSVllT0tjWTlHdDJJTFJLQU54c0JRY2JXVHRZSXozY3VNVTF6bG9wSnhrY3p5SHAxSS9sVXFpMCtHUG91QmpwamFrc3ZEbHROUEpPWlpnWEpZZ0VZK2xTemJlR2ZwdEZoa0RJMkhjSzJHQ0J0dlVsWGhxMnpneVRLZXU1SDRiVm4ramxwZy9hejQ5NC9LcXdpK01FbmJ3NlU2YUQ3Vit3NWlCMmJkQm53cDBIRGxwalBiem5IZGtiZmhYVzMwbUN3bU1rY2tqRWpCREVZSFR3SGpnVUc1NUE0NWVZZCtjWi8xLzcxb1h5cElVcTIrM1U0LzF2OGE2RUZpQUQ3UGVDRG5yMXJXUU1HSHM1eU01eDhmK1ZCMGljeG5DSGRqZ3VSemY2SFdwaHhISVR3bG96am1VRUxrRWYzTytvY2hVZlpsU001RzJ3UDhBck5TN2laLy9BSVMwUWdrOHdIeDlpZ2lxdXl1R0RrTU9oQjZlNm0rL3NCTXBraEFFZ3lTZ0dGZjNlQit0S1F4OW81RzJPdGI1NXdWQk80NjBFTXZKcFlPekV2TW1YNUdUdkFJTk1rMG5MQ2tBKzZBQ1NEbk5UL1VkSmcxT01KSjdFaWJDVlJ2N2o1VkZKdUc1TGVReHV6SEIyWlJzdzhSdFVzMjZZNStzc24wMnhIN01ZK2xLSWxQTm5POU8xdHcvSDJhOHp5YzNmdU1DbFEwSzNBL1d5K2VNVlhNeHZLeXBoVFQzb2Q5T3R0TWhua0tGMXloWTRPM2hYR2JTYlpHUldtbEhONWpOS2JXeWl0MUlXU1RsZmNsdCtnOHFCeml1QzA2TVhram1COW1XSitWMXo0RVZZT2o2M3JTd2t6MjBXb1JEN3JSbnNwY1lHQnkvZFBmdmtHcTZ0M0NNQ1FOL0w4S25PZzNiODI4bUF3SVV0K3h0M2U3TkJLZE40ZzAvVUpDcnFiUzVSZ2hodTFLT0dQUUxuWmlmSW1ucW1pM2xqTndTeXhTRm5HTVlQVHY5KzRwM29DaWlpZ2pYRTZzMHlnazhqVzVYSG56alA0RTFCZVA1MHN1R1RFbjNwVGdEZnFlcCtXMVQ3WDVndW9Xc0xxQWp4c1E1N2pucCtGVmg2VTVHUzIwNkJtOXBtTEVlQXdjRDhhQ08rajZ4TW11ZXRuWVFsVUhqek1jZlROV2V0c0gwYS9qUFZHVnZoazFGdlI1WU5IcDl0SXcvWHp0UDA2QlJ5ajhRYW4wVUlQcmNJR2UxalB6RkF4TFAydHJidStlU1pleGNqOWx4dHpEOEtjWGpOdncra1NqTWtqaEZQdnBxczFFMm4zbHN4OXFNOW9uOHhUdnBoOWZ0N1FuY3c3Tjd4MzBHVWo5V3RydEFRUkRiaVBJSHovR215ZjdIaEtOeDFkbUh6TlBWME9UVE5Sa3dSekRxZmVLYU5Wanh3bkFFL1lreWNVRkdhbkMxcnFWeEdkc09TTi9IY2ZXclNqdlRlNkhhTnpEN1dCZVZ6M1BqcDh4dDUxQXVMN1V4WHNOeUJ0TW1DZk5hVWNQMzVPaXZBellDU0hsYlBUdit0QklIdXZXcjJHWnZ2T015ZTlkajlLZmVEZ1R4TFl0dVY3YmJ5Mk5RL1RtOVl1cEMyd1FGdmlldjBxYzhGQUhXYlk0MjdZRWZJMEZnNm5neHpnNzdBZ2VKRy84QUtvN2I0T2t1NFQ3TW9XWWpibUdPbng2ZTRVdTRoMVNPMmtuUUVjeWpIeHdEVFBhWGd1dUZMNGh3STR3NGJHTnRzNDhzRDYwRlA4UHhtOTR2dHBKUGJBbU16ZTRaUDVWZFZuYjluWVdoSTNCN1Q0bXF6OUd0aUxuVWIyWTR5a0t4ai9qTytQbFZ2WEVZalVBREFBMjhxQmsxRnZVK0pVbTZKS01uekRWdFlONnBlWGxvTWUxOXozVm5pR012YTIxeUFlZGNLYTRNL05OYVhpQS9kQWVnZklMWVJtemgvY0djRHVwQllaZTgxTmgzaGdQaFQ1YmxaWm81Vjc5ODB5NlpHUmUzYUh2bGI4YUNxK0xiY1NhZEsrRHp4U0JzL0dtVGcvVVBWZFFudDJZY2swZTQ4eDBxWjY1YkNVWDF2Z0RtRGRmTEpxdE5NZnNOWGpCMjNLbWdtVjVkTTh6eGcrMlFGQjg4N1ZZUG8yQi9UdHp6ZGZWZ1AvV3RWYkxJRTFLM0xIYm1CNjFhWG8wZnRPSUx0dTR3RC84QU5hQ0thUXlYV3QydVJ0UGZGaVBITFkrZ0ZUbldyZ3hhWkt4NjRKTlY3d1BkTmZhL2J0S0FDczAyQVA3cGJCL0NwVnhQZG45RHUyY2N5RTBGT2E5Zjh0dEtBRHpzM0tDUFAvMnFHa2xqbnZOVERVTGVLOHRvd3hWVHo4em52SUdhUUxEWjI0NVlJQVcvZmZjbXBKSTNsbmNwSmZqbHBURzNzV2xMY3A1c2dIdnBjYmd5RUFucFRmZk1pUmNvVWMzZlN6VHJmdDlPUzRSQTU1aXJEd3hWWU9PbWFtMXJNVjV0bTYxTWwxTlhzaG45M0JIZlVCRVAybzVvZ1BoVXMwVnJVcWl2YklTVGptYndvRnRvMi9NVGtIcFY1NmZkeFFXRFRTTjdLcm5mM2IxVTZQbzZ3cW90b1J5amZyN1JyaHJQR00zNlA5VWdmQllZT080ZUZCSE9JMXRkVW11V2tRTXJTc3lud0dTYW1mQlZnMHZvUDFXMHQrZGo2ek1SanJzVVkvU3F3djcxbGp4a2ttcmo5RkE1L1JqY3F4MmU3bUJKOHdnb0lwcEVISnBzZHhNdkswamZaTGsrMHAzelRzcEFPdzdoanpOTXFTdW1vaXprbGFWSUNWUUU3QUtlNm44S3JCbXhoZXVlN0ZCajdveGdrMWhaY3Z5WUpBSFVHc3lSTUVMWndjWjVTSzU0T0RzYytZL25RZCtkdWlIYjUxZ0QyY1lQeEc5Y1VmQTJQWDRWMFZpd3pnc2UvQm9BbkdRVHk0emcvd0Fxd1RoQnZuSTZucjhxQ2ZjTWJjdGFBZ0U1eG5CNjBHZzVNOHpBZ1kvMFBsWE1vU2Z2Z0hicjE4ZnkrVmRPWDJsQUdXeWQ2NTh3NmtIM1lvTXZDYzh5akdNZkQ0Vkx1SUZZY0k2R0dQUHlxdk50OTc3T29oejl4YmJyNFZLZUo3NFdYQy9Ebk0vS2t6Q01oaDErei9DZ2l1T2JQTmpIY01kYTAvYXh5OHVlZzhhN3pRWTVuQkNnZlBGSitWU1ZJM3gzMEdWbEgzTnhrZUZkU0E4WmprQmRTY2p4WHpGQ0JNNE9DQjF3ZHpXSEFkUjNaeDMwQ0NlM2t0eGtNWGpKMmZvUGNmQ2tyU2tITE5uYW5qbEpVNVhLc044OUNLUlhlbmhVYWEzejJmN1M0eVZ3Ti9oUUpCY2NuS01BSHVyRE9uVWI0cE9NdHNwd001ei9BSzhxMkRjdlRIVE9TZW9IaFFMck8ya25rUVErMFRqWUg0Vk10STB5NGlnTFN6ckdDUUNyYm5IK2pVUXNwdXlRZ0E1eDF6MDM2L2hUc05UbDdQczRwZVZSbGNFOVR0UVdGYVdpSk5iczA2SDJnN0VJUmtnZ2Z6cVFWVk9oYXhkL3BMVG9lZGloa1VFNThXV3JXb0NpaWlnaDNGdDRMZlg5SVJzRlNHSUI4U2NmenF0dlN3Vy9TOWdHT2N3TTJNLzNxdSs2MHV4dmJpRzR1cldPYWFEOVU3amRQZFNMVU9GTkIxYVZKTlEwbTJ1WFJlVldrQkpBem5IV2dpbkIrbW0wMFcwUndjeFc2cjdzKzBmeGFubFhFVnpHY2Jad2FrVWRqYXhJRWpnUlZBQUFBOE5oV0RwOW1UazI2RTBGZGxUWTYyeUhaWE9EN2pTL1N2OEFZNzJXSTU1R0pJUHZxWVRhTnB0eElKSnJLSjNIUmlEbXRocFZnR0RDMGl5Ty9Cb0dQVkkvNmt2UDd3L25UWGNLSDRabUlYT0FHRlRWN08ya2lNVHdveUhxcDZHdVEwcXdGdWJjV2tmWWtZS1lPS0R6MXhkYnROcElsM1BaT0FBTzRZM3FPOE95ci90TnV4KzhPWWVmalhwbWJoSGg2NGlhS2JSN1Y0Mis4cEJ3ZnhwSkY2UGVFSUg1NHVIckZHeGpJVnZ6b0tHMDJabzd1NFFucnR2Vmk4RzVHdFdBQXlETGtuNEdwd3ZBdkNxdVhYUWJNTVRrbmxiODZjTFhRZEtzcFVrdHJDR0owT1ZaUWNqOGFDdGVNN2tyeFJmUUsyQTNKbGZFOG9vVVRXZkMrclFjbzdKckNWMmIvd0M2UVI5S3NlNjRjMGE5dkd2TG5UYmVXNFlnbVJnY2tnWUhmNUN0MzBIU3BMZVdCckNFeFNyeXlJUWNNUEE3MEZXZWlXMFBxdDlkc3YyWmtWUTNqeWcvL3dDaFZnUy9hbGhUcHAyaGFWcE5zMXZwOWhEYlFzM09VakJBSjhldmtLVStwVzJjOWdtYUNMVHhDYTJrdG16bkpLMDBhYUN5U1c3ZFVPd3FmbXd0R2ZtTnVoYnhya21rNmZISTBpV2tTdTNVZ0hlZ2FOTm01VUNNY1kyRkpMUk9UWExsY2RSelZKbDArMFE1VzNRSHJ0UU5QdEJPWmhicDJwR0MzZmlncUhYQ1l0VnVBd081WVZWR3JRdFphdElNRWUyR0ZlcXJqaHpScnFReVQ2YmJ5TzNWbUJ5ZnhwQmM4QThKWGtuYVhIRDlsSS9UTEtmem9QUEY1TVh1N1psQlBNUDVWYXZvbW1WOVp1VkxBeUMzR1I0ZTJ0VFJlQk9GVlpHWFFiSUdQN3A1VHQrTkxkTTRjMGJScnVTNzAzVFlMVzRsWGxlU01FRmhuT092aUFhRHo5NlBiaTRYaTJWQ1Y3T0ZMbCttNDNQNTA5Y2RhOURhV3h0WTJWcGlDR1VmczlLdDJ6NEs0YTArNGU0dE5GdElabkJET2luSkI2OS9mWEs1NEI0VHZKV2t1ZEFzcFhZNUxNR0pKK2RCNVplUnpHTW5kcXd1VXl4SFFaK05lb3YrampnMy93QU4ySDhMZm5RZlJ6d2FRUWVITERCNit5MzUwSGtxVm5sYmNlK3BSdzRPejA0RGxQdFpQNDE2Sy82TStDZi9BQXpwL3dEQzM1MHBoNEM0VHQwQ1JhQlpJbzZBSzM1MEhucVMzOXJPRFdVa2xqR0ZHSzlEbmduaGc5ZERzLzRUK2RZL29Od3YvdUt6L2hQNTBIbnMzRWlqZGpTTjNZKzFrNTg2OUhuZ1RoVnV1ZzJSL3dDRnZ6clU4QThKbnJ3L1pmd3QrZEI1Y3VuYVdjK1cxWG42Tm1OdjZKN2h5TjF2SE8vK0tPcFovd0JIUEIyYy93QkhMRCtGdnpwM3M5QzB1dzAxdE90TENHR3paaXpRb0R5a25HL1h5SHlvS1UxRlJhY1lYS3YvQU5wS1dCQTJ3M2hUMUUzTW94MFhZWjZiSEg4cXNxNDRXMEs2bjdlZlNyYVNYQUhPd09jWno0MTBUaDdSNDE1VjA2QUw0WVBqbnhvS3psWXlBbkIySCtzMXdMZFhaV3o0bllrZVlxMDI0ZDBadXVtd0g0SDg2eC9SelJzNS9Sc0djWTZIODZDcWxaems1T0QzNDd2QVYzTGxjOHJ0a2V5RGpiMzFaMzlHOUYvM2JCOGorZEI0YjBVOWROdCttT2gvT2dxNW1IUTVKMjJ6OHEySkM3Z0VuenEwRHc1b3hJSjAyM3lOODRQNTFnY09hTUJnYWJCajNIODZDcjJBeG5CeWZEcFdrbnQ1N2dSdWZDclRIRGVpZ0FEVGJmQTZiSDg2RHczb3BPVHB0djhBSS9uUVZObGlTQzJjSE9NZUZPdnBIQkhBWERSenVycWMvd0RsMVlaNGEwUW5KMHkzejdqK2RkYjdRdEsxS3poczcyd2hudDRmMVViZzRUYkcyL2hRVXpwZXBIVkxOZVlZbGp4ekFEcU9sS0VHSDhqNFZhZHR3Znc3WnNXdHRIdFlpMnhLZzcvalhYK2pHaDR4K2k3Zkh1UDUwRlU1NUdLZ01UMUlIZFc0SktoZ25UcHRqTlduL1JqUS93RGRkdjhBSS9uVzM5RzlHLzNiYi9JL25RVmVvVlBhYjJsR0JnLzY2VmlNeXhvV2tJREJpVlpEMVhQczlmeHEwdjZPYU4vdTIzK1IvT3NIaHpSajEwMjMrUi9PZ3FXNTB0TGxUTGJCSTVXenpSam8zbUQzZTZtWXhNam5uUmdWUHRCdGlNVmVuOUhkSDIvcTIzMjhqK2RhUzhNYUhPL1BMcGRzN1l4a2c1K3RCU3FLcEFCQkk2REI3alhSblorWG1CR0NENCtOWEgvUlBoLy9BSFJhL3dBSi9PZzhKNkFldWtXdnlQNTBGVjZOTXo2NXBpZ3RuMW1NSHcrK0t1MDlhYUllRjlDZ21qbWkwdTNTU05nNk1BY2dqb2V0TzlBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFmLy9aIiBhbHQ9IllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcywgc29ycnkiLz4KPGgzPlJlc3BvbnNpdmUgSW1hZ2VzOjwvaDM+CjxwPkNHU21hcnRJbWFnZSBpcyBjYXBhYmxlIG9mIGF1dG9tYXRpY2FsbHkgc2NhbGluZyBpbWFnZXMgZG93biB0byBhIHNpemUgdGhhdCBpcyBzdWl0YWJsZSBmb3IgbW9iaWxlIGRldmljZXMuICBUaGlzIGJvb3N0cyBwZXJmb3JtYW5jZSBieSBtaW5pbWl6aW5nIHRoZSBpbWFnZSBzaXplIGZvciBtb2JpbGUgZGV2aWNlcywgYW5kIHRoZXJlZm9yZSBpbXByb3ZlcyBwZXJmb3JtYW5jZSBhbmQgdGhlIGdlbmVyYWwgdXNlciBleHBlcmllbmFjZS4gIFVubGVzcyBkaXNhYmxlZCwgdGhlIG1vZHVsZSB3aWxsIGxvb2sgaW4gaXRzIGRhdGFiYXNlIGZvciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWF4aW11bSByZXNvbHV0aW9uIG9mIHRoZSByZXF1ZXN0aW5nIGRldmljZS4gIElmIHRoYXQgaW5mb3JtYXRpb24gY2Fubm90IGJlIGZvdW5kIGEgcmVtb3RlIHdlYiBzZXJ2aWNlIHdpbGwgYmUgcXVlcmllZCBmb3IgdGhlIHJlc29sdXRpb24gaW5mb3JtYXRpb24uICAgSWYgc3VpdGFibGUgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIHRoZW4gdGhlIG1heF93aWR0aCBhbmQgbWF4X2hlaWdodCBwYXJhbWV0ZXJzIHdpbGwgYmUgYWRqdXN0ZWQgdG8gcmVzY2FsZSB0aGUgaW1hZ2UuPC9wPgo8cD5UaGUgZGV0ZWN0aW9uIG9mIGEgbW9iaWxlIGRldmljZSwgYW5kIGVuYWJsaW5nIHJlc3BvbnNpdmUgYmVoYXZpb3Igd2lsbCBvdmVycmlkZSB0aGUgbm9hdXRvc2NhbGUgcGFyYW1ldGVyLiAgVGhlIHJlc3BvbnNpdmUgYmVoYXZpb3IgY2FuIGJlIGRpc2FibGVkIGVpdGhlciBpbiB0aGUgbW9kdWxlcyBhZG1pbiBwYW5lbCwgb3IgdmlhIHRoZSBub3Jlc3BvbnNpdmUgcGFyYW1ldGVyLjwvcD4KPGgzPk1heGltdW0gaW1hZ2Ugc2l6ZTwvaDM+CjxwPkluIGFkZGl0aW9uIHRvIGF1dG9tYXRpYyByZXNpemluZyBvZiB0aGUgaW1hZ2UgZm9yIHRoZSBkZXZpY2UsIHRoZSBtYXhfd2lkdGggYW5kL29yIG1heF9oZWlnaHQgcGFyYW1ldGVycyBjYW4gYmUgc3BlY2lmaWVkIHRvIGluZGljYXRlIGFuIGFic29sdXRlIG1heGltdW0gc2l6ZSBmb3IgdGhlIG91dHB1dCBpbWFnZS4gIFRoaXMgd2lsbCBvdmVycmlkZSB0aGUgd2lkdGggYW5kIGhlaWdodCBwYXJhbWV0ZXIgd2hlbiBzY2FsaW5nIHRoZSBpbWFnZS48L3A+CjxoMz5TdHlsZXNoZWV0czo8L2gzPgo8cD5UaGlzIG1vZHVsZSBhbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cywgaWYgdXNpbmcgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4gIEJlY2F1c2UgdGhlIHNtYXJ0eSBzeW50YXggaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGluc2lkZSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcgeW91IHV0aWxpemUgdGhlIG1vZHVsZSB1c2luZyB0aGUgW1sgYW5kIF1dIGRlbGltaXRlcnMuICBpLmU6IDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPmRpdi5oZWFkZXIgeyBiYWNrZ3JvdW5kOiB1cmwoW1tDR1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL3BpY3R1cmUuanBnJyBub3RhZz0xXV0pOyB9PC9jb2RlPjwvcD4KPHA+QmVjYXVzZSBzdHlsZXNoZWV0cyBhcmUgZ2VuZXJhdGVkIG9uIG1vZGlmaWNhdGlvbiBhbmQgc3RvcmVkIGluIHRoZSBmaWxlc3lzdGVtIHRoZXJlIGlzIG5vIHdheSB0byBkZXRlcm1pbmUgZHVyaW5nIHRoZSByZXF1ZXN0IHdoaWNoIGJyb3dzZXIgaXMgcmVxdWVzdGluZyB0aGUgc3R5bGVzaGVldCwgdGhlcmVmb3JlIGVtYmVkZGluZyB3aWxsIGJlIGRvbmUgc3RyaWN0bHkgYmFzZWQgdXBvbiB0aGUgcHJlc2Vuc2Ugb2YgdGhlIG5vZW1iZWQgcGFyYW1ldGVyLiAgSWYgeW91IGhhdmUgY2hvc2VuIHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHlvdXIgc3R5bGVzaGVldHMsIFlvdSBtYXkgbmVlZCB0byBhZGQgYWRkaXRpb25hbCBzdHlsZXNoZWV0IHN1cHBvcnQgZm9yIHRoZSBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcy4gIGkuZTogIElFNi48L3A+CjxoMz5BdXRvbWF0aWMgUHJvY2Vzc2luZzwvaDM+CjxwPlRoaXMgbW9kdWxlIGluY2x1ZGVzIGEgc21hcnR5IGJsb2NrIHRhZyBjYWxsZWQgPGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+e2Nnc2lfY29udmVydH08L2NvZGU+IHRoYXQgY2FuIHN1cnJvdW5kIGEgYmxvY2sgb2YgaHRtbCwgb3Igb3RoZXIgc21hcnR5IHRhZ3MgdG8gYWxsb3cgYXV0b21hdGljIGltYWdlIHByb2Nlc3NpbmcuICBUaGlzIHRhZyBjYW4gYmUgdXNlZCBsaWtlOiAoZm9yIGV4YW1wbGUpOjwvcD4KPHByZT48Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij57Y2dzaV9jb252ZXJ0fXtjb250ZW50fXsvY2dzaV9jb252ZXJ0fTwvY29kZT48L3ByZT4KPHA+VGhpcyB3aWxsIGFsbG93IHlvdXIgdXNlcnMgdG8gaW5jbHVkZSBpbWFnZXMgaW50byBwYWdlcyB1c2luZyB0aGUgbm9ybWFsIHd5c2l3eWcgdG9vbHMsIGFuZCB0byBoYXZlIHRoZW0gYXV0b21hdGljYWxseSBwcm9jZXNzZWQgYW5kIGVtYmVkZGVkIGludG8gdGhlIHBhZ2UgdXNpbmcgdGhlIG1hZ2ljIG9mIHtDR1NtYXJ0SW1hZ2V9LiBpLmU6IFNlZSB0aGUgZm9sbG93aW5nIGNvZGU6PC9wPgo8cHJlPjxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntjZ3NpX2NvbnZlcnQgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MX17Y29udGVudH17L2Nnc2lfY29udmVydH08L2NvZGU+PC9wcmU+CjxwPlRoZSBhYm92ZSBjb2RlIHdpbGwgY2FwdHVyZSBhbGwgaW1hZ2UgdGFncywgYW5kIGNvbnZlcnQgdGhlbSB0byBncmF5c2NhbGUgYW5kIHRoZW4gYXBwbHkgdGhlIHdhdGVybWFyayAoYWNjb3JkaW5nIHRvIHRoZSBzZXR0aW5ncyBpbiB0aGUgQ0dFeHRlbnNpb25zIG1vZHVsZSkuICBBbGwgb2YgdGhlIHBhcmV0ZXJzIGF2YWlsYWJsZSB0byB0aGUgPGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+e0NHU21hcnRJbWFnZX08L2NvZGU+IHRhZyBhcmUgYXZhaWxhYmxlIHRvIHRoaXMgdGFnIChmb3IgaW1hZ2Ugc2NhbGluZyBldGMuKS4gIEFkZGl0aW9uYWxseSwgdHdvIG5ldyBwYXJhbWV0ZXJzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOiA8c3Ryb25nPm1heF93aWR0aDwvc3Ryb25nPiBhbmQgPHN0cm9uZz5tYXhfaGVpZ2h0PC9zdHJvbmc+IHdoaWNoIGNhbiBiZSB1c2VkIHRvIHNldCBhIG1heGltdW0gc2l6ZSBmb3IgaW1hZ2VzLi48L3A+CjxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzZW07Ij48c3Ryb25nIHN0eWxlPSJjb2xvcjogcmVkOyI+Tm90ZTo8L3N0cm9uZz4KPHA+VGhpcyB0YWcgcGFyc2VzIHRoZSBIVE1MIGNvbnRlbnQgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCB0YWdzIHRvIGZpbmQgdGhlIDxpbWc+IHRhZ3MuICBJdCB0aGVuIHdpbGwgb3V0cHV0IHN5bnRhY3RpY2FsbHkgdmFsaWQgSFRNTCBmb3IgdGhlIHN1YnNldCBvZiBjb2RlIGl0IHdhcyBwcm92aWRlZC4gIFRoZXJlZm9yZSBpdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGUgc25pcHBldCBvZiBIVE1MIHBhc3NlZCB0byB0aGlzIHRhZyBiZSBpbnRhY3QgYW5kIGFzIGNsb3NlIHRvIHZhbGlkIGFzIHBvc3NpYmxlLiAgPHN0cm9uZz5Vc2Ugd2l0aCBjYXV0aW9uLjwvc3Ryb25nPgo8L2Rpdj4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPlJlcXVpcmVtZW50czwvaDM+CjxwPjxzdHJvbmc+V2FybmluZzo8L3N0cm9uZz4gVGhpcyBtb2R1bGUgaXMgaGVhdmlseSBkZXBlbmRhbnQgdXBvbiBzZXJ2ZXIgcmVzb3VyY2VzLiAgUGVyZm9ybWluZyBmaWx0ZXJpbmcsIG9yIHJlc2l6aW5nIG9mIGV4dHJlbWVseSBsYXJnZSBpbWFnZXMgbWF5IGV4Y2VlZCB0aGUgbWVtb3J5IGF2YWlsYWJpbGl0eSBvZiB5b3VyIHdlYnNlcnZlciA8ZW0+KHBhcnRpY3VsYXJseSBvbiBzaGFyZWQgaG9zdHMpPC9lbT4uICBBcyB3ZWxsLCB0aGUgZmlyc3QgdGltZSBhIHBhZ2UgaXMgbG9hZGVkIGFuZCBDR1NtYXJ0SW1hZ2UgaXMgY2FsbGVkIG9uIG11bHRpcGxlIGltYWdlcywgcGFnZSBkZWxpdmVyeSBtYXkgdGFrZSBsb25nZXIgdGhhbiBub3JtYWwgd2hpbGUgcHJvY2Vzc2luZyB0YWtlcyBwbGFjZS48L3A+CjxwPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiBibHVlOyI+VGlwOjwvc3Ryb25nPiB3aGVuIGRlYWxpbmcgd2l0aCBsYXJnZSBpbWFnZXMgaXQgaXMgaW1wb3J0YW50IHRvIHRyeSB0byByZWR1Y2UgdGhlaXIgc2l6ZSBhcyBlYXJseSBhcyBwb3NzaWJsZSBpbiB0aGUgZmlsdGVyaW5nIHByb2Nlc3MgdG8gbWluaW1pemUgcmVzb3VyY2UgcmVxdWlyZW1lbnRzLjwvcD4KPHA+VGhpcyBtb2R1bGUgbWFrZXMgZXZ0ZW5zaXZlIHVzZSBvZiB0aGUgR0QgSW1hZ2UgcHJvY2Vzc2luZyBsaWJyYXJ5IHRvIGRvIGltYWdlIG1hbmlwdWxhdGlvbi4gIEFkZGl0aW9uYWxseSwgdGhlIHtjZ3NpX2NvbnZlcnR9IHBsdWdpbiBtYWtlcyBleHRlbnNpdmUgdXNlIG9mIHRoZSBzaW1wbGV4bWwgYW5kIFhNTERvbSBjbGFzc2VzIGJ1aWx0IGluIHRvIHBocC4gIFRoZXJlIG1heSBiZSBvdGhlciBhZGRpdGlvbmFsIHJlcXVpcmVtZW50cy4gIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIGVycm9ycyB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IGVycm9yIHJlcG9ydGluZyBpcyBlbmFibGVkLCBhbmQgdGhhdCB5b3UgaGF2ZSBhbmFseXplZCB5b3VyIGVycm9yIGxvZ3MuPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPjxoMz5EZXBlbmRlbmNpZXM8L2gzPjx1bD48bGk+Q0dFeHRlbnNpb25zID0mZ3Q7IDEuMzYuMjwvbGk+PC91bD48aDM+UGFyYW1ldGVyczwvaDM+PHVsPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGxhbmc9ImVuX1VTIiAtIFBhcmFtZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgd2hhdCBsYW5ndWFnZSB0byB1c2UgZm9yIGRpc3BsYXkgb24gdGhlIGZyb250ZW5kLiBOb3QgYWxsIG1vZHVsZXMgc3VwcG9ydCBvciBuZWVkIHRoaXMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBzaWxlbnQ9IiIgLSBTaWxlbnRseSBpZ25vcmUgZXJyb3JzPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBhbGlhcz0iIiAtIFRoZSBDR1NtYXJ0SW1hZ2UgYWRtaW4gcGFuZWwgYWxsb3dzIGNyZWF0aW5nIG51bWVyb3VzIGNvbW1hbmQgYWxpYXMgdG8gY29tYmluZSBhIGZyZXF1ZW50bHkgdXNlZCBwYXR0ZXJuIG9mIGFyZ3VtZW50cyBpbnRvIG9uZSBuYW1lLiAgVG8gdXNlIHRoZXNlIGFsaWFzZXMgdXNlIGFuIGFyZ3VtZW50IG9mIHRoZSBmb3JtIGFsaWFzIyM9YWxpYXNfbmFtZSBpLmU6ICBhbGlhczE9Zm9vIGFsaWFzMj1mb28uPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2F1dG9zY2FsZT0iIiAtIElmIHdpZHRoIGFuZCBoZWlnaHQgcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkLCB0aGlzIHBhcmFtZXRlciB3aWxsIGRpc2FibGUgYXV0b21hdGljIHNjYWxpbmcgb2YgdGhlIGltYWdlLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBiZSBkaXNhYmxlZCBmb3IgbW9iaWxlIGJyb3dzZXJzPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2JjYWNoZT0iIiAtIERvIG5vdCBhbGxvdyB0aGUgcmVzaXplZCBpbWFnZSB0byBjYWNoZSBpbiB0aGUgYnJvd3NlciAodXNlZnVsIGZvciBkZXZlbG9wbWVudCBwdXJwb3NlcykgdGhpcyBhZGRzIGEgdW5pcXVlIG51bWJlciBhcyBhIHBhcmFtZXRlciB0byB0aGUgaW1hZ2Ugd2hpY2ggd2lsbCBmb3JjZSB0aGUgYnJvd3NlciBub3QgdG8gY2FjaGUgdGhlIGltYWdlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbm9lbWJlZD0iIiAtIEZvcmNlIHRoZSBpbWFnZSB0byBub3QgZW1iZWQuICBSZWdhcmRsZXNzIG9mIHNldHRpbmdzIGluIHRoZSBhZG1pbiBwYW5lbCwgdGhlIFVSTCBhbmQgdGFnIGdlbmVyYXRlZCB3aWxsIGJlIHRvIGEgZmlsZSBvbiB0aGUgc2VydmVyLiAgTm8gZW1iZWRkaW5nIHdpbGwgYmUgcGVyZm9ybWVkPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2F1dG89IiIgLSBEbyBub3QgYXV0b21hdGljYWxseSBjYWxjdWxhdGUgcGFyYW1ldGVycyBmb3IgdGhlIGltZyB0YWcuICBUaGlzIG1heSBjYXVzZSB5b3VyIHNpdGUgdG8gZmFpbCB2YWxpZGF0aW9uIGlmIHNvbWUgcmVxdWlyZWQgcGFyYW1ldGVycyAod2lkdGgsaGVpZ2h0LGFsdCkgYXJlIG5vdCBzcGVjaWZpZWQuICBBZGRpdGlvbmFsbHksIGlmIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgYXJlIHNwZWNpZmllZCwgdGhpcyBwYXJhbWV0ZXIgd2lsbCBlbnN1cmUgdGhhdCB0aGV5IHdpbGwgbm90IGJlIG92ZXJyaWRkZW4gYnkgdGhlIGFjdHVhbCBzaXplIG9mIHRoZSBwcm9jZXNzZWQgaW1hZ2UuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub3JvdGF0ZT0iIiAtIERvIG5vdCBhdHRlbXB0IHRvIHJlYWQgZXhpZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBmaWxlIGFuZCBjb3JyZWN0IGltYWdlIHJvdGF0aW9uPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub3RhZz0iIiAtIERvIG5vdCBvdXRwdXQgYW4gaW1nIHRhZywgb25seSB0aGUgdXJsIHRvIHRoZSBjYWNoZWQgaW1hZ2UuICBUaGlzIGhhcyBubyBlZmZlY3Qgd2hlbiBDR1NtYXJ0SW1hZ2UgaXMgdXNlZCBmcm9tIHdpdGhpbiBhIHN0eWxlc2hlZXQuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub3Jlc3BvbnNpdmU9IiIgLSBEbyBub3QgcGVyZm9ybSByZXNwb25zaXZlIGltYWdlIHJlc2l6aW5nPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBub2JyZWFrcG9pbnRzPSIiIC0gPHN0cm9uZz5FeHBlcmltZW50YWw6PC9zdHJvbmc+IEZvciByZXNwb25zaXZlIGltYWdlIGhhbmRsaW5nLCBkaXNhYmxlIGJyZWFrcG9pbnRzIGFuZCBmb3JjZSByZWd1bGFyIHJlc2l6ZSBoYW5kbGluZyBmb3IgaW1hZ2VzIG9uIG1vYmlsZSBicm93c2Vycy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG5vcmVtb3RlPSIiIC0gRG8gbm90IGFsbG93IHJldHJpZXZpbmcgc291cmNlcyBmcm9tIHJlbW90ZSBVUkxTPC9saT48bGk+c3JjPSIiIC0gU3BlY2lmeSB0aGUgc291cmNlIGZvciB0aGUgaW1hZ2UgcHJvY2Vzc2luZyAoaWYgYW55KSBvciB0aGUgZ2VuZXJhdGVkIGltZyB0YWcuICBOb3RlLCB0aGlzIHBhcmFtZXRlciBpcyBmbGV4aWJsZSwgYW5kIHRoZSBtb2R1bGUgd2lsbCBhdHRlbXB0IG1hbnkgbWV0aG9kcyB0byBmaW5kIHRoZSBzb3VyY2UgaW1hZ2UgZmlsZSBvbiB0aGUgd2ViIHNlcnZlciBhcyBmb2xsb3dzOgo8dWw+CiAgPGxpPkZpcnN0IGxvb2sgdG8gc2VlIGlmIHRoZSBzcGVjaWZpZWQgc3JjIHZhbHVlIGV4aXN0cyBhcyBhIGZpbGUgb24gdGhlIGZpbGVzeXN0ZW0gPHN0cm9uZz5CZWxvdyB0aGUgQ01TTVMgcm9vdCBVUkw8L3N0cm9uZz48L2xpPgogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHVwbG9hZHNfdXJsIChhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5waHApPC9saT4KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSByb290X3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+CiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgc3NsX3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+CjwvdWw+Ckl0IGlzIGFsc28gcG9zc2libGUgdG8gc3BsaXQgdGhlIHNyYyBwYXJhbWV0ZXIgaW50byBtdWx0aXBsZSBhcmd1bWVudHMsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBwYXRoIHRvIHRoZSBmaWxlLCBhbmQgdGhlIGZpbGVuYW1lIGFyZSBzdG9yZWQgaW4gc2VwYXJhdGUgc21hcnR5IHZhcmlhYmxlcy4gICBZb3UgY2FuIHNwZWNpZnkgdGhlIHNyYyBhcyBzcmMxPVwkdGhlX3BhdGggc3JjMj1cJHRoZV9maWxlbmFtZS4gIFRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGFkZCBhIC8gaW4gYmV0d2VlbiBlYWNoIGFyZ3VtZW50LiAgVGhlcmUgaXMgbm8gbGltaXQgdG8gdGhlIG51bWJlciBvZiBzcmMgcGFyYW1ldGVycy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG92ZXJ3cml0ZT0iIiAtIERpc2FibGUgYWxsIGNhY2hpbmcgYW5kIGZvcmNlIHJlLWNhbGN1bGF0aW9uIG9mIGFsbCBmaWx0ZXJzPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBpZD0iIiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBhbGxvd3Mgc3BlY2lmeWluZyBhbiBpZCBhdHRyaWJ1dGUgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBpZD0ic29tZXRhZyI8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGNsYXNzPSIiIC0gVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIG9uZSBvciBtb3JlIGNsYXNzZXMgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBjbGFzcz0iZmFuY3lib3gsdGh1bWJuYWlsIjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gc3R5bGU9IiIgLSBVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgYWxsb3dzIHNwZWNpZnlpbmcgYWx0ZXJuYXRlIHN0eWxlcyBmb3IgdGhlIHRhZy4gIGkuZTogc3R5bGU9ImJvcmRlcjogMXB4IHNvbGlkIGJsYWNrOyI8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IHRpdGxlPSIiIC0gU3BlY2lmeSBhbiBvcHRpb25hbCB0aXRsZSBhdHRyaWJ1dGUgZm9yIHRoZSBpbWcgdGFnLiAgaS5lOiB0aXRsZT0iVGhpcyBpcyB0aGUgdG9vbHRpcCI8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGFsdD0iIiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIGFsdCBhdHRyaWJ1dGUuICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgJnF1b3Q7bm9hdXRvJnF1b3Q7IHBhcmFtZXRlcjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbmFtZT0iIiAtIFVzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIG5hbWUgYXR0cmlidXRlLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gaGVpZ2h0PSIiIC0gVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBhbHNvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7d2lkdGgmcXVvdDsgcGFyYW1ldGVyIHRvIHBlcmZvcm0gYSBmaW5hbCByZXNpemluZyBvciBjcm9wdG9maXQgZmlsdGVyICh1bmxlc3MgdGhlICZxdW90O25vYXV0b3NjYWxlJnF1b3Q7IHBhcmFtZXRlciBpcyBhbHNvIHN1cHBsaWVkKTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gd2lkdGg9IiIgLSBVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSB3aWR0aCBhdHRyaWJ1dGUuICAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXIuICBUaGlzIHBhcmFtZXRlciB3aWxsIGFsc28gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDtoZWlnaHQmcXVvdDsgcGFyYW1ldGVyIHRvIHBlcmZvcm0gYSBmaW5hbCByZXNpemluZyBvciBjcm9wdG9maXQgZmlsdGVyICh1bmxlc3MgdGhlICZxdW90O25vYXV0b3NjYWxlJnF1b3Q7IHBhcmFtZXRlciBpcyBhbHNvIHN1cHBsaWVkKTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gcXVhbGl0eT0iNzUiIC0gU3BlY2lmeSB0aGUgcXVhbGl0eSBvZiB0aGUgb3V0cHV0IGltYWdlLiAgQSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEwMC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlmIG5vdCBzcGVjaWZpZWQgaXMgNzUuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiByZWw9Ijc1IiAtIFVzZWQgd2hlbiBidWlsZGluZyBhbiBpbWFnZSB0YWcgYWxsb3dzIHNwZWNpZnlpbmcgYW4gb3B0aW9uYWwgcmVsIGF0dHJpYnV0ZSAodHlwaWNhbGx5IHVzZWQgd2l0aCBqYXZhc2NyaXB0IHR5cGUgYWxidW1zKS4gaS5lOiByZWw9ImFsYnVtIjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gbWF4X3dpZHRoPSIiIC0gVGhpcyBwYXJhbWV0ZXIgYWxsb3dzIHNwZWNpZnlpbmcgYSBtYXhpbXVtIHdpZHRoIGZvciB0aGUgY29udmVydGVkIGltYWdlcy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IG1heF9oZWlnaHQ9IiIgLSBUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG1heGltdW0gaGVpZ2h0IGZvciB0aGUgY29udmVydGVkIGltYWdlcy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbHRlcl9ibHVyPSIiIC0gKGFueXRoaW5nKSBTcGVjaWZ5IGFueSB2YWx1ZSBmb3IgdGhpcyBwYXJhbWV0ZXIgdG8gYWRkIGEgYmx1ciBmaWx0ZXIgdG8gdGhlIGltYWdlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfYnJpZ2h0bmVzcz0iIiAtIChpbnRlZ2VyKSBJbmNyYXNlIHRoZSBicmlnaHRuZXNzIG9mIHRoZSBwcm9jZXNzZWQgaW1hZ2UgYnkgdGhlIGludGVnZXIgdmFsdWUgc3BlY2lmaWVkPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfY29sb3JpemU9IiIgLSAocixnLGJbLGFscGhhXSkgLSBMaWtlIGZpbHRlcl9ncmF5c2NhbGUgaG93ZXZlciB5b3UgY2FuIHNwZWNpZnkgdGhlIGNvbG9yIGFuZCBhbHBoYSB2YWx1ZTwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsdGVyX2NvbnRyYXN0PSIiIC0gKGludGVnZXIpIENoYW5nZSB0aGUgY29udHJhc3Qgb2YgdGhlIGltYWdlIGJ5IHRoZSBpbnRlZ2VyIHZhbHVlIHNwZWNpZmllZDwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsdGVyX2Nyb3A9IiIgLSAocGVyY2VudFssaF9hbGlnbix2X2FsaWduXSkgLSBQZXJmb3JtIGNyb3BwaW5nIG9uIHRoZSBpbWFnZSBzcGVjaWZpZWQuIENyb3AgcGFyYW1lZXRlcnMgYXJlIHNwZWNpZmllZCBhcyBhIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHBhcmFtZXRlcnMuICBUaGUgZmlyc3QgKHJlcXVpcmVkKSB2YWx1ZSBpcyBhbiBpbnRlZ2VyIHBlcmNlbnRhZ2Ugb2YgdGhlIG9yaWdpbmFsIGltYWdlIHNpemUuICBUaGUgb3B0aW9uYWwgc2Vjb25kIGFuZCB0aGlyZCBwYXJhbWV0ZXJzIGFyZSBvbmUgb2YgbCxjLHIgKGxlZnQsY2VudGVyLHJpZ2h0KSBhbmQgdCxjLGIgKHRvcCxjZW50ZXIsYm90dG9tKSBzcGVjaWZ5aW5nIHdoZXJlIHRoZSBsb2NhdGlvbiB3aXRoaW4gdGhlIHNvdXJjZSBpbWFnZSB0byBjcm9wIGZyb20uICBpLmU6IGNyb3A9MzMsYixyIHRvIGdyYWIgYSBjcm9wIG9mIDMzJSBmcm9tIHRoZSBib3R0b20gcmlnaHQgb2YgdGhlIHNvdXJjZSBpbWFnZS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbHRlcl9jcm9wdG9maXQ9IiIgLSAod2lkdGgsaGVpZ2h0Wyxsb2NhdGlvblssdXBzY2FsZV1dKSAtIFBlcmZvcm0gYSBjcm9wdG9maXQgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gVGhpcyBhdHRlbXB0cyB0byByZXNjYWxlIHRoZSBpbWFnZSB0byB0aGUgZGVzdGluYXRpb24gc2l6ZSB3aGlsZSByZWF0aW5pbmcgYXNwZWN0IHJhdGlvLCB0aGVuIGZvY3VzIG9uIHRoZSBzZWxlY3RlZCBhcmVhIG9mIHRoZSByZXNpemVkIGltYWdlLiAgQ3JvcCB0byBmaXQgcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkIGFzIHRoZSBkZXNpcmVkIHdpZHRoIGFuZCBoZWlnaHQgZm9yIHRoZSBkZXN0aW5hdGlvbiBpbWFnZSBhbG9uZyB3aXRoIGFuIChvcHRpb25hbCkgbG9jYXRpb24gY29kZSwgYW5kIHVwc2NhbGUgZmxhZy4gIHZhbGlkIGxvY2F0aW9uIGNvZGVzIGFyZSB0bCx0Yyx0cixjbCxjLGNyLGJsLGIsYnIgZm9yIHRoZSA5IHJlbGF0aXZlIHBvc2l0aW9ucyB3aXRoaW4gdGhlIGltYWdlLiAgSWYgYSBsb2NhdGlvbiBpcyBub3Qgc3BlY2lmaWVkIGEgcHJlZmVyZW5jZSB3aWxsIGJlIHVzZWQuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAmcXVvdDtjJnF1b3Q7IHRvIGNyb3AtdG8tZml0IGZyb20gdGhlIGNlbnRlciBvZiB0aGUgc291cmNlIGltYWdlLiAgQnkgZGVmYXVsdCB1cHNjYWxpbmcgaXMgZGlzYWJsZWQgb24gdGhpcyBmaWx0ZXIuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfZWRnZWRldGVjdD0iIiAtIChhbnl0aGluZykgSGlsaWdodCB0aGUgZWRnZXMgaW4gdGhlIGltYWdlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfZW1ib3NzPSIiIC0gKGFueXRoaW5nKSBFbWJvc3MgdGhlIGltYWdlPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfZmxpcD0iIiAtIChtb2RlKSAtIFBlcmZvcm0gYSBmbGlwIG9uIHRoZSBzcGVjaWZpZWQgaW1hZ2UuICBTcGVjaWZ5IDAgZm9yIGhvcml6b250YWwsIDEgZm9yIHZlcnRpY2FsLCBhbmQgMiBmb3IgZmxpcCBpbiBib3RoIGRpcmVjdGlvbnMuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfZ3JheXNjYWxlPSIiIC0gKGFueXRoaW5nKSBDb252ZXJ0IHRoZSBpbWFnZSB0byBncmF5c2NhbGU8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbHRlcl9tZWFucmVtb3ZhbD0iIiAtIChhbnl0aGluZykgQXR0ZW1wdCB0byBhY2hpZXZlIGEgJnF1b3Q7c2tldGNoeSZxdW90OyBlZmZlY3Q8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbHRlcl9uZWdhdGU9IiIgLSAoYW55dGhpbmcpIE5lZ2F0ZSB0aGUgaW1hZ2U8L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbHRlcl9waXhlbGF0ZT0iIiAtIChzaXplWyxhZHZhbmNlZF0pIFBpeGVsYXRlIHRoZSBpbWFnZSwgc3BlY2lmeSBhbiBpbnRlZ2VyIHNpemUgYW5kIGFuIG9wdGlvbmFsIGJvb2xlYW4gKGRlZmF1bHQgaXMgZmFsc2UpIHRvIGVuYWJsZSBhZHZhbmNlZCBwaXhlbGF0aW9uPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfcmVmbGVjdD0iIiAtIChbcmVmbGVjdGlvbl9oZWlnaHRbLHJlZmxlY3Rpb25fb3BhY2l0eVssZGl2aWRlcl9oZWlnaHRdXV0pLCBDcmVhdGVzIHJlZmxlY3Rpb24gb2YgaW1hZ2UsIGN1cnJlbnRseSB3b3JraW5nIG9ubHkgd2l0aCBqcGcsanBlZyBpbWFnZXMgYWdhaW5zdCB3aGl0ZSBiYWNrZ3JvdW5kLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsdGVyX3Jlc2l6ZT0iIiAtIHR5cGUsbnVtYmVyWyxudW1iZXJbLHVwc2NhbGVdXSAtIFBlcmZvcm0gYSByZXNpemUgb2YgdGhlIHNvdXJjZSBpbWFnZS4gIEJ5IGRlZmF1bHQsIHRoZSByZXNpemUgZmlsdGVyIGFsbG93cyB1cHNjYWxpbmcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiAgPGxpPnAsbnVtYmVyIC0gUGVyZm9ybSBhIHNpbXBsZSByZXNjYWxlIHRvIGEgY2VydGFpbiBwZXJjZW50YWdlLiAgaS5lOiAgcmVzaXplPXAsNTAgdG8gcmVzaXplIHRvIDUwJSBvZiB0aGUgb3JpZ2luYWwgc2l6ZS48L2xpPgogIDxsaT5wLG51bWJlciwwIC0gUGVyZm9ybSBhIHNpbXBsZSByZXNjYWxlIHRvIGEgY2VydGFpbiBwZXJjZW50YWdlLiAgaS5lOiAgcmVzaXplPXAsNTAgdG8gcmVzaXplIHRvIDUwJSBvZiB0aGUgb3JpZ2luYWwgc2l6ZS4gRG8gbm90IGFsbG93IHVwc2NhbGluZzwvbGk+CiAgPGxpPncsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy48L2xpPgogIDxsaT53LG51bWJlciwwIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy4gRG8gbm90IGFsbG93IHVwc2NhbGluZzwvbGk+CiAgPGxpPmgsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCBoZWlnaHQgKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT1oLDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSBoZWlnaHQgb2YgODAgcGl4ZWxzLjwvbGk+CiAgPGxpPmgsbnVtYmVyLDAgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIGhlaWdodCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWgsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIGhlaWdodCBvZiA4MCBwaXhlbHMuIERvIG5vdCBhbGxvdyB1cHNjYWxpbmc8L2xpPgogIDxsaT5lLG51bWJlciAtIFBlcmZvcm0gYSByZXNpemUgcmVzaXppbmcgdGhlIGxhcmdlc3QgZWRnZSB0byB0aGUgc3BlY2lmaWVkIHZhbHVlICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9ZSwxMDAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdob3MgbGFyZ2VzdCBlZGdlIGlzIDEwMCBwaXhlbHMuPC9saT4KICA8bGk+ZSxudW1iZXIsMCAtIFBlcmZvcm0gYSByZXNpemUgcmVzaXppbmcgdGhlIGxhcmdlc3QgZWRnZSB0byB0aGUgc3BlY2lmaWVkIHZhbHVlICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9ZSwxMDAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdob3MgbGFyZ2VzdCBlZGdlIGlzIDEwMCBwaXhlbHMuICBEbyBub3QgYWxsb3cgdXBzY2FsaW5nLjwvbGk+CiAgPGxpPmMseCx5IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiBmaWx0ZXJfcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLjwvbGk+LgogIDxsaT5jLHgseSwwIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiBmaWx0ZXJfcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLiBEbyBub3QgYWxsb3cgdXBzY2FsaW5nLjwvbGk+Lgo8L3VsPjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsdGVyX3Jlc2l6ZXRvZml0PSIiIC0gKHdpZHRoLGhlaWdodFssY29sb3JbLGFscGhhXV0pIC0gUGVyZm9ybSBhIHJlc2l6ZSBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBUaGlzIGF0dGVtcHRzIHRvIHJlc2NhbGUgdGhlIGltYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplIHdoaWxlIHJlYXRpbmluZyBhc3BlY3QgcmF0aW8sIHRoZSBpbWFnZSBpcyBjZW50ZXJlZCBpbiB0aGUgYm94IHNwZWNpZmllZCAoZWl0aGVyIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGRlcGVuZGluZyB1cG9uIGFzcGVjdCByYXRpbyBhbmQgdGhlIGRlc3RpbmF0aW9uIHNpemUsIGFuZCB0aGUgaW1hZ2UgaXMgc3Vycm91bmRlZCBieSB0aGUgc3VwcGxpZWQgY29sb3IuICBDb2xvcnMgY2FuIGJlIHNwZWNpZmllZCBieSBuYW1lIChzZWUgdGhlIFgxMSBjb2xvciBuYW1lcyksIG9yIGJ5ICNubm5ubm4gaGV4YWRlY2ltYWwgZm9ybWF0LCBvciBhcyByZ2IgdmFsdWVzIHNlcGFyYXRlZCBieSBhIDogaS5lOiAgZmlsdGVyX2Nyb3B0b2ZpdD02MDAsNDAwLCNmZjAwMDAuICBUaGUgc3BlY2lhbCBjb2xvciB2YWx1ZSAmcXVvdDt0cmFuc3BhcmVudCZxdW90OyBjYW4gYmUgc3BlY2lmaWVkIHRvIGZvcmNlIHRoZSBiYWNrZ3JvdW5kIHRvIGJlIHRyYW5zcGFyZW50IChmb3IgaW1hZ2UgdHlwZXMgdGhhdCBzdXBwb3J0IGl0KS4gICBBbiBhbHBoYSB2YWx1ZSBtYXkgYmUgc3BlY2lmaWVkIGJldHdlZW4gMCBhbmQgMTI3IHRvIHNwZWNpZnkgZGlmZmVyZW50IGRlZ3JlZXMgb2YgdHJhbnNsdWNlbmN5IGZvciB0aGUgYmFja2dyb3VuZC4gICBBdCBubyB0aW1lIHdpbGwgdGhpcyBwbHVnaW4gcGVyZm9ybSBhbnkgdXBzY2FsaW5nLjwvbGk+PGxpPjxlbT4ob3B0aW9uYWwpPC9lbT4gZmlsdGVyX3JvdGF0ZT0iIiAtIChhbmdsZSkgU3BlY2lmeSB0aGUgaW50ZWdlciBhbmdsZSAoY291bnRlciBjbG9ja3dpc2UpIHRvIHJvdGF0ZSB0aGUgaW1hZ2UsIFRoZSBpbWFnZSBpcyByb3RhdGVkIGFib3V0IGl0cyBjZW50ZXIuPC9saT48bGk+PGVtPihvcHRpb25hbCk8L2VtPiBmaWx0ZXJfcm91bmRlZGNvcm5lcnM9IiIgLSAocmFkaXVzKSBTcGVjaWZ5IGFuIGludGVnZXIgcmFkaXVzIChpbiBwaXhlbHMpIGZvciByb3VuZGluZyB0aGUgY29ybmVycy48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbHRlcl9zaGFycGVuPSIiIC0gKGludGVnZXIpIFNwZWNpZnkgYW4gYWRqdXN0bWVudCAoYmV0d2VlbiAtMTAgYW5kIDEwKSB0byB0aGUgc2hhcnBlbiBmaWx0ZXIuICBMb3dlciB2YWx1ZXMgd2lsbCBsaWdodGVuIHRoZSBzaGFycGVuaW5nIGVmZmVjdC4gIEhpZ2hlciB2YWx1ZXMgaW5jcmVhc2UgaXQuICBOb3RlOiBzaGFycGVuaW5nIG1heSBoYXZlIGFkdmVyc2UgZWZmZWN0cyBvbiBzb21lIGltYWdlcywgYW5kIHNob3VsZCB1c3VhbGx5IGJlIHNwZWNpZmllZCBhcyB0aGUgbGFzdCBmaWx0ZXIsIHVubGVzcyB0aGUgZmlsdGVyIG1heSBhZGQgYm9yZGVycyB0b3RoZSBpbWFnZS48L2xpPjxsaT48ZW0+KG9wdGlvbmFsKTwvZW0+IGZpbHRlcl93YXRlcm1hcms9IiIgLSAoYW55dGhpbmcpLCBTcGVjaWZ5IHRoYXQgdGhlIHdhdGVybWFyayAoYXMgc3BlY2lmaWVkIGluIHRoZSBDR0V4dGVuc2lvbnMgYWRtaW4gcGFuZWwpIHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBpbWFnZTwvbGk+PC91bD4=]]></help>
	<about><![CDATA[PGJyIC8+QXV0aG9yOiBjYWxndXkxMDAwICZsdDtjYWxndXkxMDAwQGdtYWlsLmNvbSZndDs8YnIgLz48YnIgLz5WZXJzaW9uOiAxLjExPGJyIC8+PGJyIC8+Q2hhbmdlIEhpc3Rvcnk6PGJyIC8+PHVsPgogIDxsaT5WZXJzaW9uIDEuMCAtIEluaXRpYWwgUmVsZWFzZTwvbGk+CiAgPGxpPlZlcnNpb24gMS4wLjEgLSBCdWcgZml4ZXMuPC9saT4KICA8bGk+VmVyc2lvbiAxLjAuMiAtIEJ1ZyBmaXhlcy48L2xpPgogIDxsaT5WZXJzaW9uIDEuMC4zIC0gQnVnIGZpeGVzLjwvbGk+CiAgPGxpPlZlcnNpb24gMS4xIC0gTWFyY2ggMjAxMQogICAgPHVsPgogICAgICA8bGk+QWRkcyB0aGUgY3JvcHRvZml0IGZpbHRlci48L2xpPgogICAgICA8bGk+QWRkcyBhdXRvbWF0aWMgaW1hZ2UgcmVzaXppbmcuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjEuMSAtIE1hcmNoIDIwMTEKICAgIDx1bD4KICAgICAgPGxpPkZpeGVzIHRvIGNyb3B0b2ZpdC48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuMS4xIC0gTWF5IDIwMTEKICAgIDx1bD4KICAgICAgPGxpPkZpeGVzIHRvIEdJRiBpbWFnZSBoYW5kbGluZy48L2xpPgogICAgICA8bGk+QWRkIGEgYml0IG1vcmUgaW50ZWxsaWdlbmNlIGludG8gaW1hZ2Ugc3JjIGhhbmRsaW5nLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS4xLjIgLSBNYXkgMjAxMQogICAgPHVsPgogICAgICA8bGk+TWFueSBtaW5vciBidWcgZml4ZXMuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjIgLSBNYXkgMjAxMQogICAgPHVsPgogICAgICA8bGk+QWRkcyByb3VuZGVkIGltYWdlIGNvcm5lciBzdXBwb3J0Li4uIHdpdGggdHJhbnNwYXJlbmN5LjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS4yLjEgLSBNYXkgMjAxMQogICAgPHVsPgogICAgPGxpPkZpeGVzIHByb2JsZW1zIHdpdGggSUU3IGFuZCBlbWJlZGRpbmcgKElFNyB3b250IGVtYmVkLCBhcyBtdWNoIGFzIEkgdHJ5IHRvIG1ha2UgaXQpLjwvbGk+CiAgICA8bGk+UmVxdWlyZXMgbmV3IHZlcnNpb24gb2YgQ0dFeHRlbnNpb25zIHRoYXQgZG9lcyBjcnVkZSBoYWNrIGZvciBtaW1lIHR5cGUgZGV0ZWN0aW9uIG9uIHdpbmRvemUgc2VydmVycy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT4KICA8L2xpPlZlcnNpb24gMS4zIC0gTWF5IDIwMTEKICA8bGk+CiAgICA8dWw+CiAgICA8bGk+QWRkcyBzdXBwb3J0IGZvciBqcGVnIGF1dG8tcm90YXRpb24gdmlhIEVYSUYuPC9saT4KICAgIDxsaT5BZGRzIGEgZmxpcCBmaWx0ZXIuPC9saT4KICAgIDxsaT5BZGRzIGNvbW1hbmQgYWxpYXNlcy48L2xpPgogICAgPGxpPkFkZHMgc3VwcG9ydCBmb3IgbXVsdGlwbGUgc3JjIyMgYXJndW1lbnRzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPC9saT5WZXJzaW9uIDEuMy4xIC0gTWF5IDIwMTEKICA8bGk+CiAgICA8dWw+CiAgICA8bGk+U3VwcmVzcyBhIHdhcm5pbmcuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8L2xpPlZlcnNpb24gMS40IC0gSnVseSAyMDExCiAgPGxpPgogICAgPHVsPgogICAgPGxpPkFkZHMgdGhlIHtjZ3NpX2NvbnZlcnR9IHRhZy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDwvbGk+VmVyc2lvbiAxLjQuMSAtIEp1bHkgMjAxMQogIDxsaT4KICAgIDx1bD4KICAgIDxsaT5BZGRyZXNzIGFuIGlzc3VlIHdpdGggdGhlIENNU19TVFlMRVNIRUVUIGdsb2JhbCBvY2Nhc3Npb25hbGx5IGJlaW5nIHNldCwgd2hpY2ggcmVzdWx0cyBpbiB0aGUgbm90YWcgc3R1ZmYgbWVzc2luZyB1cC48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDwvbGk+VmVyc2lvbiAxLjQuMiAtIEp1bHkgMjAxMQogIDxsaT4KICAgIDx1bD4KICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjUgLSBBdWd1c3QgMjAxMQogICAgPHVsPgogICAgPGxpPk1pbm9yIEJ1ZyBGaXhlcy48L2xpPgogICAgPGxpPkZpeGVzIGlzc3VlcyB3aXRoIGNnc2lfY29udmVydC48L2xpPgogICAgPGxpPkFkZHMgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHRpdGxlLCByZWwsIGFuZCBpZCBwYXJhbWV0ZXJzLjwvbGk+CiAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBkb3dubG9hZCBpbWFnZXMgZnJvbSBhIHJlbW90ZSBzaXRlLCBjYWNoZSB0aGVtLi4gYW5kIHByb2Nlc3MgdGhlbS48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuNS4xIC0gU2VwdGVtYmVyLCAyMDExCiAgICA8dWw+CiAgICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjYgLSBPY3RvYmVyLCAyMDExCiAgICA8dWw+CiAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSBjcm9wLXRvLWZpdCBsb2NhdGlvbiBvdGhlciB0aGFuIGNlbnRlci48L2xpPgogICAgICA8bGk+QWRkcyBhIHByZWZlcmVuY2UgZm9yIHRoZSBkZWZhdWx0IGNyb3AtdG8tZml0IGxvY2F0aW9uLCBidXQgY2hhbmdpbmcgdGhpcyB3aWxsIG5vdCBnZW5lcmF0ZSBuZXcgaW1hZ2VzLi4uIHlvdSB3aWxsIG5lZWQgdG8gY2xlYXIgeW91ciBnZW5lcmF0ZWQgaW1hZ2UgZmlsZXMuPC9saT4KICAgICAgPGxpPmNyb3AtdG8tZml0IGZpbHRlciBub3cgY2hlY2tzIGZvciBwb3NzaWJsZSB1cHNjYWxpbmcgYW5kIHdpbGwgbm90IGFsbG93IGl0LjwvbGk+CiAgICAgIDxsaT5yZW5hbWUgdGhlIG5vY2FjaGUgcGFyYW1ldGVyIHRvIG5vYmNhY2hlIHRvIHJlbW92ZSBjb25mbGljdCB3aXRoIENHRXh0ZW5zaW9ucy48L2xpPgogICAgICA8bGk+Rml4ZXMgYSBidWcgd2l0aCBtdWx0aXBsZSBjbGFzcyBuYW1lcyBzcGVjaWZpZWQgaW4gYWxpYXNlcy48L2xpPgogICAgICA8bGk+Rml4ZXMgYSBidWcgaW4gdGhlIHJlc2l6ZSBmaWx0ZXIuPC9saT4KICAgICAgPGxpPkZpeGVzIGEgYnVnIHdoZXJlIGlmIG5vdGhpbmcgaGFwcGVuZWQgaW4gYW4gaW1hZ2UgZmlsdGVyIChkdWUgdG8gY29uc3RyYWludHMpIHRoZSBzeXN0ZW0gd291bGQgbm90IHNhZmUgdGhlIGZpbGUuPC9saT4KICAgICAgPGxpPkFkZHMgYSByZXNpemV0b2ZpdCBmaWx0ZXIuPC9saT4KICAgICAgPGxpPkdlbmVyYXRlZCBmaWxlcyBubyBsb25nZXIgaGF2ZSBhbiBleHRlbnNpb24gdG8gcHJldmVudCBpbmNvbnNpc3RlbmNpZXMgaW4gZmlsZSB0eXBlcy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuNi4xIC0gTm92ZW1iZXIsIDIwMTEKICAgIDx1bD4KICAgICAgPGxpPk1pbm9yIGZpeGVzIHRvIGNnc2lfY29udmVydC48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuNyAtIEZlYnJ1YXJ5LCAyMDEyCiAgICA8dWw+CiAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGNoZWNrIHRoZSB0aW1lIG9mIHRoZSBzb3VyY2UgaW1hZ2UgdG8gYWlkZSBpbiBkZWNpZGluZyBpZiB0aGUgY2FjaGVkIGltYWdlIG5lZWRzIHRvIGJlIGdlbmVyYXRlZC9yZS1nZW5lcmF0ZWQuPC9saT4KICAgICAgPGxpPkZpeGVzIHRvIHRoZSByZXNpemUgZmlsdGVyLjwvbGk+CiAgICAgIDxsaT5SZXNhbXBsZSBpbnN0YWQgb2YgcmVzaXplIGJ5IGRlZmF1bHQgaW4gdGhlIHJlc2l6ZSBmaWx0ZXIuPC9saT4KICAgICAgPGxpPkNyZWF0ZSBhbiBpbmRleC5odG1sIGZpbGUgaW4gdGhlIGltYWdlIGRpcmVjdG9yeSB0byBwcmV2ZW50IGJyb3dzaW5nLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS44LjEgLSBGZWJydWFyeSwgMjAxMgogICAgPHVsPgogICAgICA8bGk+QWRkcyB0aGUgc2lsZW50IHBhcmFtIHRvIGhpZGUgZXJyb3JzLjwvbGk+IAogICAgICA8bGk+QWRkcyByZXNpemUgdG8gbGFyZ2VzdCBlZGdlIHRvIGZpbHRlcl9yZXNpemUuPC9saT4KICAgICAgPGxpPlJlbW92ZXMgbGF6eWxvYWRpbmcgc28gdGhhdCB7Y2dzaV9jb252ZXJUfSB3aWxsIHdvcmsuPC9saT4KICAgICAgPGxpPnNvbWUgbWlub3IgZml4ZXMuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KIDxsaT5WZXJzaW9uIDEuOC40IC0gTWF5LCAyMDEyCiAgICA8dWw+CiAgICAgIDxsaT5GaXhlcyB0byBjZ3NpX2NvbnZlcnQuPC9saT4KICAgICAgPGxpPlJlbW92ZXMgdGhlIGNvbG9yIHBhcmFtZXRlciBmcm9tIGZpbHRlcl9yb3RhdGUuPC9saT4KICAgICAgPGxpPkZpeGVzIHdhcm5pbmdzLjwvbGk+CiAgICAgIDxsaT5Db2RlIGNsZWFudXAuPC9saT4KICAgIDwvdWw+CiA8L2xpPgogPGxpPlZlcnNpb24gMS45IC0gTWF5IDIwMTIKICAgPHVsPgogICAgIDxsaT5BZGRzIHJlc3BvbnNpdmUgaW1hZ2UgY2FwYWJpbGl0aWVzIHdpdGggd2ViIHNlcnZpY2UgYmFzZWQgbW9iaWxlIGRldmljZSBkZXRlY3Rpb24uPC9saT4KICAgICA8bGk+SW1wcm92ZXMgcGF0aCBkZXRlY3Rpb24uPC9saT4KICAgPC91bD4KIDwvbGk+CiA8bGk+VmVyc2lvbiAxLjEwIC0gSmFuIDIwMTMKICAgPHVsPgogICAgICA8bGk+QWRkcyByZWZsZWN0aW9uIGZpbHRlciAodGhhbmtzIHRvIFRhcGlvKS4uLiBub3RlIG9ubHkgd29ya3Mgd2VsbCB3aXRoIGpwZWcgaW1hZ2VzPC9saT4KICAgPC91bD4KIDwvbGk+CiA8bGk+VmVyc2lvbiAxLjExIC0gSnVseSAyMDEzCiAgIDx1bD4KICAgICAgPGxpPk1pbm9yIGRvY3VtZW50YXRpb24gZml4LiAgRmlsZXMgcHJvdmlkZWQgdmlhIHRoZSBzcmMgYXJndW1lbnQgbXVzdCBiZSBiZWxvdyB0aGUgQ01TTVMgcm9vdCBVUkwuPC9saT4KICAgICAgPGxpPkFkZHMgYSBzaW1wbGUgc2hhcnBlbiBmaWx0ZXIuPC9saT4KICAgICAgPGxpPkFkZHMgc2ltcGxlIG1lbW9yeSBsaW1pdCBjaGVja2luZyAod2lsbCB3b3JrIGZvciBob3N0cyB3aGVyZSB3ZSBjYW4gaW5pX2dldCB0aGUgbWVtb3J5IGxpbWl0LjwvbGk+CiAgICAgIDxsaT5OdW1lcm91cyBpbXByb3ZlbWVudHMgdG8gdGhlIHJlc2l6ZXRvRml0IGZpbHRlci48L2xpPgogICAgICA8bGk+Rml4ZXMgY2FjaGVkIGZpbGVuYW1lcyB0byBiZSBlbnRpcmVseSBlbmNvZGVkLjwvbGk+CiAgICAgIDxsaT5GaXhlcyBhbHQgdmFsdWUgZm9yIGltYWdlIHRhZ3MuPC9saT4KICAgICAgPGxpPk5vdyB1c2VzIGEgc2luZ2xlIGxhc3QgZmlsdGVyLi4uIG5vdCBtdWx0aXBsZS48L2xpPgogICAgICA8bGk+UmF0aW9uYWxpemUgYmVoYXZpb3IgYmV0d2VlbiBtYXhfd2lkdGgvbWF4X2hlaWdodCBhbmQgd2lkdGgvaGVpZ2h0LgogICAgICAgIDxwPk5vdywgaWYgbWF4X3dpZHRoL21heF9oZWlnaHQgaXMgc3BlY2lmaWVkIHZpYSB0aGUgcGFyYW1ldGVyLCBvciBieSBkZXZpY2UgZGV0ZWN0aW9uLCBBTkQgdGhlIGhlaWdodC93aWR0aCBwYXJhbWV0ZXJzIGFyZSBzcGVjaWZpZWQsIHRoZSBzbWFsbGVyIG9mIHRoZXNlIHR3byBwYWlycyBvZiB2YWx1ZXMgd2lsbCBiZSB1c2VkLCBhbmQgYSBzaW5nbGUgZmlsdGVyIGFwcGxpZWQuICBUaGUgbm9hdXRvIHBhcmFtZXRlciBjYW4gc3RpbGwgYmUgdXNlZCB0byBlbnN1cmUgdGhhdCB0aGUgaW1nIHRhZyAoaWYgZ2VuZXJhdGVkKSBoYXMgdGhlIHNwZWNpZmllZCB3aXRoIGFuZCBoZWlnaHQgcGFyYW1ldGVycy48L3A+CiAgICAgIDwvbGk+CiAgICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICAgPC91bD4KIDwvbGk+CjwvdWw+CjxiciAvPg==]]></about>
	<description><![CDATA[A smart image tag generation module for CMSMS]]></description>
	<requires>
	  <requiredname>CGExtensions</requiredname>
	  <requiredversion>1.36.2</requiredversion>
	</requires>
	<file>
	  <filename>/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/action.admin_embedding_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYignZW1iZWRkaW5nJyk7CgokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1iZWRfbW9kZScsdHJpbSgkcGFyYW1zWydlbWJlZF9tb2RlJ10pKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VtYmVkX3NpemVsaW1pdCcsKGludCkkcGFyYW1zWydlbWJlZF9zaXplbGltaXQnXSk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdlbWJlZF90eXBlcycsdHJpbSgkcGFyYW1zWydlbWJlZF90eXBlcyddKSk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_general_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYignZ2VuZXJhbCcpOwoKaWYoIGlzc2V0KCRwYXJhbXNbJ3N1Ym1pdCddKSApCiAgewogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYycsdHJpbSgkcGFyYW1zWydjcm9wdG9maXRfZGVmYXVsdF9sb2MnXSkpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2NhY2hlX2FnZScsKGludCkkcGFyYW1zWydjYWNoZV9hZ2UnXSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnY2FjaGVfcGF0aCcsJHBhcmFtc1snY2FjaGVfcGF0aCddKTsKICAgICR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZV91cmxfcHJlZml4Jyx0cmltKCRwYXJhbXNbJ2ltYWdlX3VybF9wcmVmaXgnXSkpOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ3NpbGVudCcsKGludCkkcGFyYW1zWydzaWxlbnQnXSk7CiAgICAkdGhpcy0+U2V0UHJlZmVyZW5jZSgnaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJywoaXNzZXQoJHBhcmFtc1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10pKT8oaW50KSRwYXJhbXNbJ2ltYWdlX3VybF9oYXNjYWNoZWRpciddOjApOwogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19wcmVmc3VwZGF0ZWQnKSk7CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydjbGVhcl9ub3cnXSkgKQogIHsKICAgIC8vIGNsZWFyIGFsbCBmaWxlcyBmcm9tIGNhY2hlIGRpciBvbGRlciB0aGFuIE4gZGF5cwogICAgdHJ5CiAgICAgIHsKCSR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYWNoZV9hZ2UnLChpbnQpJHBhcmFtc1snY2FjaGVfYWdlJ10pOwoJJG5fcmVtb3ZlZCA9ICR0aGlzLT5jbGVhcl9jYWNoZWRfZmlsZXMoKTsKCSR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfY2FjaGVjbGVhbmVkJywkbl9yZW1vdmVkKSk7CgkkdGhpcy0+QXVkaXQoJycsJHRoaXMtPkxhbmcoJ2FjdF9jYWNoZWNsZWFuZWQnKSwkdGhpcy0+TGFuZygnbXNnX2NhY2hlY2xlYW5lZCcsJG5fcmVtb3ZlZCkpOwogICAgICB9CiAgICBjYXRjaCggRXhjZXB0aW9uICRlICkKICAgICAgewoJJHRoaXMtPlNldEVycm9yKCRlLT5nZXRNZXNzYWdlKCkpOwogICAgICB9CiAgfQplbHNlIGlmKCBpc3NldCgkcGFyYW1zWydjbGVhcl9hbGwnXSkgKQogIHsKICAgIC8vIGp1c3QgbnVrZSB0aGUgY2FjaGUgZGlyZWN0b3J5IGNvbXBsZXRlbHkuCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAvLyRkaXIgPSAkY29uZmlnWyd1cGxvYWRzX3BhdGgnXS4nL18nLiR0aGlzLT5HZXROYW1lKCk7CgkkY2FjaGVfcGF0aCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjYWNoZV9wYXRoJywgY21zX2pvaW5fcGF0aCgndXBsb2FkcycsICdfJy4kdGhpcy0+R2V0TmFtZSgpKSk7CgkkZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJGNhY2hlX3BhdGgpOwkKICAgIGNnZV9kaXI6OnJlY3Vyc2l2ZV9ybWRpcigkZGlyKTsKICAgICR0aGlzLT5TZXRNZXNzYWdlKCR0aGlzLT5MYW5nKCdtc2dfY2FjaGVyZW1vdmVkJykpOwogIH0KCiR0aGlzLT5SZWRpcmVjdFRvVGFiKCRpZCk7CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_responsive_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMiBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwokdGhpcy0+U2V0Q3VycmVudFRhYigncmVzcG9uc2l2ZScpOwoKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc3BvbnNpdmUnLChpbnQpJHBhcmFtc1sncmVzcG9uc2l2ZSddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ3Jlc3BvbnNpdmVfYnJlYWtwb2ludHMnLHRyaW0oJHBhcmFtc1sncmVzcG9uc2l2ZV9icmVha3BvaW50cyddKSk7CgokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/action.admin_savealiases.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJHRoaXMtPlNldEN1cnJlbnRUYWIoJ2FsaWFzZXMnKTsKCiRhbGlhc2VzID0gYXJyYXkoKTsKJGVycm9yID0gZmFsc2U7CmZvciggJGkgPSAwOyAkaSA8IGNvdW50KCRwYXJhbXNbJ2FsaWFzX25hbWUnXSk7ICRpKysgKQogIHsKICAgICRuYW1lID0gdHJpbSgkcGFyYW1zWydhbGlhc19uYW1lJ11bJGldKTsKICAgICRvcHRpb25zID0gdHJpbSgkcGFyYW1zWydhbGlhc19vcHRpb25zJ11bJGldKTsKCiAgICBpZiggJG5hbWUgPT0gJycgJiYgJG9wdGlvbnMgPT0gJycgKSBjb250aW51ZTsKICAgIGlmKCAkb3B0aW9ucyA9PSAnJyApCiAgICAgIHsKCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfYWxpYXNfbm9vcHRpb25zX2F0cm93JywkaSsxKSk7CgkkZXJyb3IgPSB0cnVlOwoJY29udGludWU7CiAgICAgIH0KICAgIGlmKCAhJG5hbWUgKQogICAgICB7CgkkdGhpcy0+U2V0RXJyb3IoJHRoaXMtPkxhbmcoJ2Vycm9yX2FsaWFzX25vbmFtZV9hdHJvdycsJGkrMSkpOwoJJGVycm9yID0gdHJ1ZTsKCWNvbnRpbnVlOwogICAgICB9CiAgICBpZiggaXNzZXQoJGFsaWFzZXNbJG5hbWVdKSApCiAgICAgIHsKCSR0aGlzLT5TZXRFcnJvcigkdGhpcy0+TGFuZygnZXJyb3JfYWxpYXNfZHVwbGljYXRlbmFtZV9hdHJvdycsJGkrMSkpOwoJJGVycm9yID0gdHJ1ZTsKCWNvbnRpbnVlOwogICAgICB9CgogICAgJGFsaWFzZXNbJG5hbWVdID0gYXJyYXkoJ25hbWUnPT4kbmFtZSwnb3B0aW9ucyc9PiRvcHRpb25zKTsKICB9CgppZiggJGVycm9yICkKICB7CiAgICAkX1NFU1NJT05bJHRoaXMtPkdldE5hbWUoKS4nX2FsaWFzX25hbWVzJ10gPSAkcGFyYW1zWydhbGlhc19uYW1lJ107CiAgICAkX1NFU1NJT05bJHRoaXMtPkdldE5hbWUoKS4nX2FsaWFzX29wdGlvbnMnXSA9ICRwYXJhbXNbJ2FsaWFzX29wdGlvbnMnXTsKICB9CmVsc2UKICB7CiAgICB1bnNldCgkX1NFU1NJT05bJHRoaXMtPkdldE5hbWUoKS4nX2FsaWFzX25hbWVzJ10pOwogICAgdW5zZXQoJF9TRVNTSU9OWyR0aGlzLT5HZXROYW1lKCkuJ19hbGlhc19vcHRpb25zJ10pOwogICAgJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsaWFzZXMnLHNlcmlhbGl6ZSgkYWxpYXNlcykpOwogICAgJHRoaXMtPlNldE1lc3NhZ2UoJHRoaXMtPkxhbmcoJ21zZ19hbGlhc2VzX3VwZGF0ZWQnKSk7CiAgfQokdGhpcy0+UmVkaXJlY3RUb1RhYigkaWQpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/action.default.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgcmV0dXJuOwoKJG91dHAgPSBjZ3NpX3V0aWxzOjpwcm9jZXNzX2ltYWdlKCRwYXJhbXMpOwokc2lsZW50ID0gJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpbGVudCcsMCk7CmlmKCBpc3NldCgkcGFyYW1zWydzaWxlbnQnXSkgKSAkc2lsZW50ID0gKGludCkkcGFyYW1zWydzaWxlbnQnXTsKCmlmKCBpc3NldCgkb3V0cFsnZXJyb3InXSkgJiYgJG91dHBbJ2Vycm9yJ10gIT0gJycgJiYgISRzaWxlbnQgKSB7CiAgdHJpZ2dlcl9lcnJvcigkb3V0cFsnZXJyb3InXSk7CiAgcmV0dXJuOwp9CgppZiggaXNzZXQoJG91dHBbJ291dHB1dCddKSApIGVjaG8gJG91dHBbJ291dHB1dCddOwoKIwojIEVPRgojCj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/action.defaultadmin.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJIZWFkZXJzKCk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignYWxpYXNlcycsJHRoaXMtPkxhbmcoJ2FsaWFzZXMnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVzcG9uc2l2ZScsJHRoaXMtPkxhbmcoJ3Jlc3BvbnNpdmUnKSk7CmVjaG8gJHRoaXMtPlNldFRhYkhlYWRlcignZW1iZWRkaW5nJywkdGhpcy0+TGFuZygnZW1iZWRkaW5nJykpOwovL2VjaG8gJHRoaXMtPlNldFRhYkhlYWRlcigncmVzaXppbmcnLCR0aGlzLT5MYW5nKCdyZXNpemluZycpKTsKZWNobyAkdGhpcy0+U2V0VGFiSGVhZGVyKCdnZW5lcmFsJywkdGhpcy0+TGFuZygnZ2VuZXJhbCcpKTsKZWNobyAkdGhpcy0+RW5kVGFiSGVhZGVycygpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWJDb250ZW50KCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignYWxpYXNlcycsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2FsaWFzZXNfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPlN0YXJ0VGFiKCdyZXNwb25zaXZlJywkcGFyYW1zKTsKaW5jbHVkZShfX0RJUl9fLicvZnVuY3Rpb24uYWRtaW5fcmVzcG9uc2l2ZV90YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKZWNobyAkdGhpcy0+U3RhcnRUYWIoJ2VtYmVkZGluZycsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2VtYmVkZGluZ190YWIucGhwJyk7CmVjaG8gJHRoaXMtPkVuZFRhYigpOwoKLy8gZWNobyAkdGhpcy0+U3RhcnRUYWIoJ3Jlc2l6aW5nJywkdGhpcy0+TGFuZygncmVzaXppbmcnKSk7Ci8vIGluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX3Jlc2l6aW5nX3RhYi5waHAnKTsKLy8gZWNobyAkdGhpcy0+RW5kVGFiKCk7CgplY2hvICR0aGlzLT5TdGFydFRhYignZ2VuZXJhbCcsJHBhcmFtcyk7CmluY2x1ZGUoX19ESVJfXy4nL2Z1bmN0aW9uLmFkbWluX2dlbmVyYWxfdGFiLnBocCcpOwplY2hvICR0aGlzLT5FbmRUYWIoKTsKCmVjaG8gJHRoaXMtPkVuZFRhYkNvbnRlbnQoKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/CGSmartImage.module.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR1NtYXJ0SW1hZ2UgZXh0ZW5kcyBDR0V4dGVuc2lvbnMKewogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgcGFyZW50OjpfX2NvbnN0cnVjdCgpOwogICAgJHRoaXMtPlJlZ2lzdGVyTW9kdWxlUGx1Z2luKCk7IC8vIHRoaXMgaXMgaGVyZSBzbyB0aGUgbW9kdWxlIGNhbiBiZSB1c2VkIGZyb20gdGhlIGFkbWluLgogIH0KCiAgZnVuY3Rpb24gTGF6eUxvYWRBZG1pbigpIHsgcmV0dXJuIEZBTFNFOyB9CiAgZnVuY3Rpb24gTGF6eUxvYWRGcm9udGVuZCgpIHsgcmV0dXJuIEZBTFNFOyB9CiAgZnVuY3Rpb24gR2V0TmFtZSgpIHsgcmV0dXJuIGdldF9jbGFzcygkdGhpcyk7IH0KICBmdW5jdGlvbiBHZXRGcmllbmRseU5hbWUoKSB7IHJldHVybiAkdGhpcy0+TGFuZygnZnJpZW5kbHluYW1lJyk7ICB9CiAgZnVuY3Rpb24gR2V0VmVyc2lvbigpIHsgcmV0dXJuICcxLjExJzsgfQogIGZ1bmN0aW9uIE1pbmltdW1DTVNWZXJzaW9uKCkgeyByZXR1cm4gJzEuMTEuNyc7IH0KICBmdW5jdGlvbiBHZXREZXBlbmRlbmNpZXMoKSB7IHJldHVybiBhcnJheSgnQ0dFeHRlbnNpb25zJz0+JzEuMzYuMicpOyAgIH0KICBmdW5jdGlvbiBHZXRBdXRob3IoKSB7IHJldHVybiAnY2FsZ3V5MTAwMCc7IH0KICBmdW5jdGlvbiBHZXRBdXRob3JFbWFpbCgpIHsgcmV0dXJuICdjYWxndXkxMDAwQGdtYWlsLmNvbSc7IH0KICBmdW5jdGlvbiBJc1BsdWdpbk1vZHVsZSgpIHsgcmV0dXJuIHRydWU7IH0KICBmdW5jdGlvbiBHZXRBZG1pblNlY3Rpb24oKSB7IHJldHVybiAnZXh0ZW5zaW9ucyc7IH0KICBmdW5jdGlvbiBIYW5kbGVzRXZlbnRzICgpIHsgcmV0dXJuIGZhbHNlOyB9CiAgZnVuY3Rpb24gSGFzQWRtaW4oKSB7IHJldHVybiB0cnVlOyB9CiAgZnVuY3Rpb24gVmlzaWJsZVRvQWRtaW5Vc2VyKCkgeyByZXR1cm4gJHRoaXMtPkNoZWNrUGVybWlzc2lvbignTW9kaWZ5IFNpdGUgUHJlZmVyZW5jZXMnKTsgfQogIGZ1bmN0aW9uIEFsbG93QXV0b0luc3RhbGwoKSB7IHJldHVybiBGQUxTRTsgfQogIGZ1bmN0aW9uIEFsbG93QXV0b1VwZ3JhZGUoKSB7IHJldHVybiBGQUxTRTsgfQogIGZ1bmN0aW9uIEdldEhlbHAoKSB7IHJldHVybiBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvaGVscC5pbmMnKTsgfQogIGZ1bmN0aW9uIEdldEFkbWluRGVzY3JpcHRpb24oKSB7IHJldHVybiAkdGhpcy0+TGFuZygnbW9kZGVzY3JpcHRpb24nKTsgfQogIGZ1bmN0aW9uIEdldENoYW5nZUxvZygpIHsgcmV0dXJuIEBmaWxlX2dldF9jb250ZW50cyhfX0RJUl9fLicvY2hhbmdlbG9nLmh0bWwuaW5jJyk7IH0KICBmdW5jdGlvbiBJbnN0YWxsUG9zdE1lc3NhZ2UoKSB7IHJldHVybiAkdGhpcy0+TGFuZygncG9zdGluc3RhbGwnKTsgfQogIGZ1bmN0aW9uIFVuaW5zdGFsbFBvc3RNZXNzYWdlKCkgeyByZXR1cm4gJHRoaXMtPkxhbmcoJ3Bvc3R1bmluc3RhbGwnKTsgfQogIAogIHB1YmxpYyBmdW5jdGlvbiBJbml0aWFsaXplRnJvbnRlbmQoKQogIHsKICAgIHBhcmVudDo6U2V0UGFyYW1ldGVycygpOwogICAgJHRoaXMtPlJlc3RyaWN0VW5rbm93blBhcmFtcygpOwoKICAgIC8vIG9wZXJhdGlvbmFsIHBhcmFtcyAod2hhdCB0byBkbywgd2l0aCB3aGF0Li4uKQoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub2F1dG9zY2FsZScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub2JjYWNoZScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub2VtYmVkJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25vYXV0bycsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub3JvdGF0ZScsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub3RhZycsQ0xFQU5fSU5UKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdub3Jlc3BvbnNpdmUnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbm9yZW1vdGUnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3JjJyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ292ZXJ3cml0ZScsQ0xFQU5fSU5UKTsKCiAgICAvLyBwYXJhbXMgZm9yIHRoZSBvdXRwdXQgdGFnIChpZiBvdXRwdXR0aW5nIGFuIGltZyB0YWcpCiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaWQnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnY2xhc3MnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnc3R5bGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgndGl0bGUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnYWx0JyxDTEVBTl9TVFJJTkcpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ25hbWUnLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnaGVpZ2h0JyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3dpZHRoJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ21heF9oZWlnaHQnLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgnbWF4X3dpZHRoJyxDTEVBTl9JTlQpOwogICAgJHRoaXMtPlNldFBhcmFtZXRlclR5cGUoJ3F1YWxpdHknLENMRUFOX0lOVCk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZSgncmVsJyxDTEVBTl9TVFJJTkcpOwoKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKENMRUFOX1JFR0VYUC4nL3NyY1xkKi8nLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9hbGlhc1xkKi8nLENMRUFOX1NUUklORyk7CiAgICAkdGhpcy0+U2V0UGFyYW1ldGVyVHlwZShDTEVBTl9SRUdFWFAuJy9maWx0ZXJfXHcqLycsQ0xFQU5fU1RSSU5HKTsKICAgICR0aGlzLT5TZXRQYXJhbWV0ZXJUeXBlKCdzaWxlbnQnLENMRUFOX0lOVCk7CgogICAgLy8gbW9yZSBzbWFydHkgcGx1Z2lucwogICAgJHNtYXJ0eSA9IGNtc21zKCktPkdldFNtYXJ0eSgpOwogICAgJHNtYXJ0eS0+cmVnaXN0ZXJfYmxvY2soJ2Nnc2lfY29udmVydCcsYXJyYXkoJ2Nnc2lfdXRpbHMnLCdjZ3NpX2NvbnZlcnQnKSk7CiAgfQoKICBmdW5jdGlvbiBJbml0aWFsaXplQWRtaW4oKQogIHsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3NpbGVudCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX3NpbGVudCcpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2FsaWFzJywnJywkdGhpcy0+TGFuZygncGFyYW1fYWxpYXMnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdub2F1dG9zY2FsZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX25vYXV0b3NjYWxlJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbm9iY2FjaGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9ub2JjYWNoZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ25vZW1iZWQnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9ub2VtYmVkJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbm9hdXRvJywnJywkdGhpcy0+TGFuZygncGFyYW1fbm9hdXRvJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbm9yb3RhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9ub3JvdGF0ZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ25vdGFnJywnJywkdGhpcy0+TGFuZygncGFyYW1fbm90YWcnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdub3Jlc3BvbnNpdmUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9ub3Jlc3BvbnNpdmUnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdub2JyZWFrcG9pbnRzJywnJywkdGhpcy0+TGFuZygncGFyYW1fbm9icmVha3BvaW50cycpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ25vcmVtb3RlJywnJywkdGhpcy0+TGFuZygncGFyYW1fbm9yZW1vdGUnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdzcmMnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9zcmMnKSxmYWxzZSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdvdmVyd3JpdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9vdmVyd3JpdGUnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdpZCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2lkJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignY2xhc3MnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9jbGFzcycpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3N0eWxlJywnJywkdGhpcy0+TGFuZygncGFyYW1fc3R5bGUnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd0aXRsZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX3RpdGxlJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignYWx0JywnJywkdGhpcy0+TGFuZygncGFyYW1fYWx0JykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbmFtZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX25hbWUnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdoZWlnaHQnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9oZWlnaHQnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCd3aWR0aCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX3dpZHRoJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcigncXVhbGl0eScsJzc1JywkdGhpcy0+TGFuZygncGFyYW1fcXVhbGl0eScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ3JlbCcsJzc1JywkdGhpcy0+TGFuZygncGFyYW1fcmVsJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbWF4X3dpZHRoJywnJywkdGhpcy0+TGFuZygncGFyYW1fbWF4X3dpZHRoJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignbWF4X2hlaWdodCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX21heF9oZWlnaHQnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfYmx1cicsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9ibHVyJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyX2JyaWdodG5lc3MnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWx0ZXJfYnJpZ2h0bmVzcycpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9jb2xvcml6ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9jb2xvcml6ZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9jb250cmFzdCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9jb250cmFzdCcpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9jcm9wJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX2Nyb3AnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfY3JvcHRvZml0JywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX2Nyb3B0b2ZpdCcpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9lZGdlZGV0ZWN0JywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX2VkZ2VkZXRlY3QnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfZW1ib3NzJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX2VtYm9zcycpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9mbGlwJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX2ZsaXAnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfZ3JheXNjYWxlJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX2dyYXlzY2FsZScpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9tZWFucmVtb3ZhbCcsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9tZWFucmVtb3ZhbCcpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9uZWdhdGUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWx0ZXJfbmVnYXRlJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyX3BpeGVsYXRlJywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX3BpeGVsYXRlJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyX3JlZmxlY3QnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWx0ZXJfcmVmbGVjdCcpKTsKICAgICR0aGlzLT5DcmVhdGVQYXJhbWV0ZXIoJ2ZpbHRlcl9yZXNpemUnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWx0ZXJfcmVzaXplJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyX3Jlc2l6ZXRvZml0JywnJywkdGhpcy0+TGFuZygncGFyYW1fZmlsdGVyX3Jlc2l6ZXRvZml0JykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyX3JvdGF0ZScsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9yb3RhdGUnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfcm91bmRlZGNvcm5lcnMnLCcnLCR0aGlzLT5MYW5nKCdwYXJhbV9maWx0ZXJfcm91bmRlZGNvcm5lcnMnKSk7CiAgICAkdGhpcy0+Q3JlYXRlUGFyYW1ldGVyKCdmaWx0ZXJfc2hhcnBlbicsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl9zaGFycGVuJykpOwogICAgJHRoaXMtPkNyZWF0ZVBhcmFtZXRlcignZmlsdGVyX3dhdGVybWFyaycsJycsJHRoaXMtPkxhbmcoJ3BhcmFtX2ZpbHRlcl93YXRlcm1hcmsnKSk7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gY2FuX3NtYXJ0X2VtYmVkKCRzcmMpCiAgewogICAgZ2xvYmFsICRDTVNfQURNSU5fUEFHRTsKICAgIGdsb2JhbCAkQ01TX1NUWUxFU0hFRVQ7CgogICAgJGltYWdzaXplID0gZmlsZXNpemUoJHNyYyk7CgogICAgJGJyb3dzZXIgPSBjZ2VfdXRpbHM6OmdldF9icm93c2VyKCk7CiAgICBzd2l0Y2goICRicm93c2VyLT5nZXRCcm93c2VyKCkgKSB7CiAgICBjYXNlIEJyb3dzZXI6OkJST1dTRVJfSUU6CiAgICAgICR2ZXIgPSAkYnJvd3Nlci0+Z2V0VmVyc2lvbigpOwogICAgICBpZiggJHZlciA8PSA3ICkgcmV0dXJuIEZBTFNFOwogICAgICBpZiggJENNU19TVFlMRVNIRUVUICYmICR2ZXIgPCA4ICkgcmV0dXJuIEZBTFNFOwogICAgICBpZiggJHZlciA9PSA4ICYmICRpbWFnc2l6ZSA+PSAzMioxMDI0ICkgcmV0dXJuIEZBTFNFOwogICAgICByZXR1cm4gVFJVRTsKCiAgICBkZWZhdWx0OgogICAgICByZXR1cm4gVFJVRTsKICAgIH0KICB9CgogIHB1YmxpYyBmdW5jdGlvbiBjYW5fZW1iZWQoJHNyYykKICB7CiAgICBpZiggIWlzX3JlYWRhYmxlKCRzcmMpICkgcmV0dXJuIEZBTFNFOwoKICAgICRlX21vZGUgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW1iZWRfbW9kZScpOwogICAgJGVfc2l6ZWxpbWl0ID0gKGludCkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW1iZWRfc2l6ZScpOwogICAgJGVfdHlwZXMgPSAkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW1iZWRfdHlwZXMnKTsKCiAgICBzd2l0Y2goICRlX21vZGUgKSB7CiAgICBjYXNlICdzbWFydCc6CiAgICAgIHJldHVybiAkdGhpcy0+Y2FuX3NtYXJ0X2VtYmVkKCRzcmMpOwoKICAgIGNhc2UgJ3NtYXJ0X2xpbWl0ZWQnOgogICAgICBpZiggJGVfc2l6ZWxpbWl0IDw9IDAgfHwgJGVfc2l6ZWxpbWl0ID4gMTAwMDAgKSByZXR1cm4gRkFMU0U7CiAgICAgICRlX3NpemVsaW1pdCAqPSAxMDI0OwogICAgICAkdG1wID0gZmlsZXNpemUoJHNyYyk7CiAgICAgIGlmKCAkdG1wID4gJGVfc2l6ZWxpbWl0ICkgcmV0dXJuIEZBTFNFOwogICAgICByZXR1cm4gJHRoaXMtPmNhbl9zbWFydF9lbWJlZCgkc3JjKTsKICAgICAgYnJlYWs7CgkKICAgIGNhc2UgJ3NpemVsaW1pdCc6CiAgICAgIC8vIGNoZWNrIHRoZSBsaW1pdC4KICAgICAgaWYoICRlX3NpemVsaW1pdCA8PSAwIHx8ICRlX3NpemVsaW1pdCA+IDEwMDAwICkgcmV0dXJuIEZBTFNFOwogICAgICAkZV9zaXplbGltaXQgKj0gMTAyNDsKCiAgICAgIC8vIGdldCB0aGUgZmlsZXNpemUKICAgICAgJHRtcCA9IGZpbGVzaXplKCRzcmMpOwogICAgICBpZiggJHRtcCA+ICRlX3NpemVsaW1pdCApIHJldHVybiBGQUxTRTsKICAgICAgcmV0dXJuIFRSVUU7CgogICAgY2FzZSAndHlwZSc6CiAgICAgIGlmKCAhJGVfdHlwZXMgKSByZXR1cm4gRkFMU0U7CiAgICAgICR0eXBlcyA9IGV4cGxvZGUoJywnLCRlX3R5cGVzKTsKICAgICAgJGV4dCA9IHN0cnJjaHIoJGZpbGVbJ25hbWUnXSwnLicpOwogICAgICBpZiggISRleHQgKSByZXR1cm4gRkFMU0U7CiAgICAgIGZvcmVhY2goICR0eXBlcyBhcyAkdHlwZSApIHsKCWlmKCAnLicuc3RydG9sb3dlcigkdHlwZSkgPT0gc3RydG9sb3dlcigkZXh0ZW5zaW9uKSApIHJldHVybiBUUlVFOwogICAgICB9CiAgICAgIHJldHVybiBGQUxTRTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnbm9uZSc6CiAgICBkZWZhdWx0OgogICAgICByZXR1cm4gRkFMU0U7CiAgICB9CiAgfQoKICBwdWJsaWMgZnVuY3Rpb24gY2xlYXJfY2FjaGVkX2ZpbGVzKCkKICB7CiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CgkkY2FjaGVfcGF0aCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjYWNoZV9wYXRoJywgY21zX2pvaW5fcGF0aCgndXBsb2FkcycsICdfJy4kdGhpcy0+R2V0TmFtZSgpKSk7CgkkZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJGNhY2hlX3BhdGgpOwogICAgJGFnZV9kYXlzID0gKGludCkkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2FjaGVfYWdlJyk7CiAgICBpZiggJGFnZV9kYXlzIDw9IDAgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCR0aGlzLT5MYW5nKCdlcnJvcl9pbnZhbGlkX2FnZScpKTsKCSAgCiAgICAkdGhlZGF0ZSA9IHRpbWUoKSAtICRhZ2VfZGF5cyAqIDI0ICogNjAgKiA2MDsKICAgICRuX3JlbW92ZWQgPSAwOwogICAgaWYoICRkaCA9IG9wZW5kaXIoJGRpcikgKSB7CiAgICAgIHdoaWxlKCAoJGZpbGUgPSByZWFkZGlyKCRkaCkpICE9PSBmYWxzZSApIHsKCWlmKCBzdGFydHN3aXRoKCRmaWxlLCcuJykgKSBjb250aW51ZTsgLy8gaWdub3JlIGhpZGRlbiBmaWxlcy4KCSRmbiA9IGNtc19qb2luX3BhdGgoJGRpciwkZmlsZSk7CglpZiggZmlsZW10aW1lKCRmbikgPCAkdGhlZGF0ZSAmJiBpc19maWxlKCRmbikgKSB7CgkgIEB1bmxpbmsoJGZuKTsKCSAgJG5fcmVtb3ZlZCsrOwoJfQogICAgICB9CiAgICAgIGNsb3NlZGlyKCRkaCk7CiAgICB9CiAgICByZXR1cm4gJG5fcmVtb3ZlZDsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBIYXNDYXBhYmlsaXR5KCRjYXBhYmlsaXR5LCAkcGFyYW1zID0gYXJyYXkoKSkKICB7CiAgICBpZiggJGNhcGFiaWxpdHkgPT0gJ3Rhc2tzJyApIHJldHVybiBUUlVFOwogICAgcmV0dXJuIEZBTFNFOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIGdldF90YXNrcygpCiAgewogICAgcmV0dXJuIG5ldyBDR1NtYXJ0SW1hZ2VfQ2xlYXJDYWNoZVRhc2soKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBnZXRfY2FjaGVkX2ltYWdlX3VybCgkZmlsZW5hbWUpCiAgewogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgJHByZWZpeCA9IHRyaW0oJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlX3VybF9wcmVmaXgnKSk7CiAgICBpZiggISRwcmVmaXggKSAkcHJlZml4ID0gJGNvbmZpZ1sncm9vdF91cmwnXTsKICAgICRoYXNjYWNoZWRpciA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZV91cmxfaGFzY2FjaGVkaXInKTsKCiAgICAkdXJsID0gJHByZWZpeDsKICAgIGlmKCAhZW5kc3dpdGgoJHVybCwnLycpICkgJHVybCAuPSAnLyc7CiAgICBpZiggISRoYXNjYWNoZWRpciApIHsKICAgICAgJGNhY2hlX3VybCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjYWNoZV9wYXRoJywgY21zX2pvaW5fcGF0aCgndXBsb2FkcycsICdfJy4kdGhpcy0+R2V0TmFtZSgpKSk7CiAgICAgICRjYWNoZV91cmwgPSBzdHJfcmVwbGFjZShESVJFQ1RPUllfU0VQQVJBVE9SLCAnLycsICRjYWNoZV91cmwpOyAvLyA8LSBFbnN1cmUgY29ycmVjdCBzbGFzaGVzIGZvciBVUkwKICAgICAgJHVybCAuPSAkY2FjaGVfdXJsOwogICAgfQogICAgaWYoICFlbmRzd2l0aCgkdXJsLCcvJykgKSAkdXJsIC49ICcvJzsKICAgICR1cmwgLj0gJGZpbGVuYW1lOwogICAgcmV0dXJuICR1cmw7CiAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKCj8+]]></data>
	</file>
	<file>
	  <filename>/changelog.html.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHVsPgogIDxsaT5WZXJzaW9uIDEuMCAtIEluaXRpYWwgUmVsZWFzZTwvbGk+CiAgPGxpPlZlcnNpb24gMS4wLjEgLSBCdWcgZml4ZXMuPC9saT4KICA8bGk+VmVyc2lvbiAxLjAuMiAtIEJ1ZyBmaXhlcy48L2xpPgogIDxsaT5WZXJzaW9uIDEuMC4zIC0gQnVnIGZpeGVzLjwvbGk+CiAgPGxpPlZlcnNpb24gMS4xIC0gTWFyY2ggMjAxMQogICAgPHVsPgogICAgICA8bGk+QWRkcyB0aGUgY3JvcHRvZml0IGZpbHRlci48L2xpPgogICAgICA8bGk+QWRkcyBhdXRvbWF0aWMgaW1hZ2UgcmVzaXppbmcuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjEuMSAtIE1hcmNoIDIwMTEKICAgIDx1bD4KICAgICAgPGxpPkZpeGVzIHRvIGNyb3B0b2ZpdC48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuMS4xIC0gTWF5IDIwMTEKICAgIDx1bD4KICAgICAgPGxpPkZpeGVzIHRvIEdJRiBpbWFnZSBoYW5kbGluZy48L2xpPgogICAgICA8bGk+QWRkIGEgYml0IG1vcmUgaW50ZWxsaWdlbmNlIGludG8gaW1hZ2Ugc3JjIGhhbmRsaW5nLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS4xLjIgLSBNYXkgMjAxMQogICAgPHVsPgogICAgICA8bGk+TWFueSBtaW5vciBidWcgZml4ZXMuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjIgLSBNYXkgMjAxMQogICAgPHVsPgogICAgICA8bGk+QWRkcyByb3VuZGVkIGltYWdlIGNvcm5lciBzdXBwb3J0Li4uIHdpdGggdHJhbnNwYXJlbmN5LjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS4yLjEgLSBNYXkgMjAxMQogICAgPHVsPgogICAgPGxpPkZpeGVzIHByb2JsZW1zIHdpdGggSUU3IGFuZCBlbWJlZGRpbmcgKElFNyB3b250IGVtYmVkLCBhcyBtdWNoIGFzIEkgdHJ5IHRvIG1ha2UgaXQpLjwvbGk+CiAgICA8bGk+UmVxdWlyZXMgbmV3IHZlcnNpb24gb2YgQ0dFeHRlbnNpb25zIHRoYXQgZG9lcyBjcnVkZSBoYWNrIGZvciBtaW1lIHR5cGUgZGV0ZWN0aW9uIG9uIHdpbmRvemUgc2VydmVycy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT4KICA8L2xpPlZlcnNpb24gMS4zIC0gTWF5IDIwMTEKICA8bGk+CiAgICA8dWw+CiAgICA8bGk+QWRkcyBzdXBwb3J0IGZvciBqcGVnIGF1dG8tcm90YXRpb24gdmlhIEVYSUYuPC9saT4KICAgIDxsaT5BZGRzIGEgZmxpcCBmaWx0ZXIuPC9saT4KICAgIDxsaT5BZGRzIGNvbW1hbmQgYWxpYXNlcy48L2xpPgogICAgPGxpPkFkZHMgc3VwcG9ydCBmb3IgbXVsdGlwbGUgc3JjIyMgYXJndW1lbnRzLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPC9saT5WZXJzaW9uIDEuMy4xIC0gTWF5IDIwMTEKICA8bGk+CiAgICA8dWw+CiAgICA8bGk+U3VwcmVzcyBhIHdhcm5pbmcuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8L2xpPlZlcnNpb24gMS40IC0gSnVseSAyMDExCiAgPGxpPgogICAgPHVsPgogICAgPGxpPkFkZHMgdGhlIHtjZ3NpX2NvbnZlcnR9IHRhZy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDwvbGk+VmVyc2lvbiAxLjQuMSAtIEp1bHkgMjAxMQogIDxsaT4KICAgIDx1bD4KICAgIDxsaT5BZGRyZXNzIGFuIGlzc3VlIHdpdGggdGhlIENNU19TVFlMRVNIRUVUIGdsb2JhbCBvY2Nhc3Npb25hbGx5IGJlaW5nIHNldCwgd2hpY2ggcmVzdWx0cyBpbiB0aGUgbm90YWcgc3R1ZmYgbWVzc2luZyB1cC48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDwvbGk+VmVyc2lvbiAxLjQuMiAtIEp1bHkgMjAxMQogIDxsaT4KICAgIDx1bD4KICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjUgLSBBdWd1c3QgMjAxMQogICAgPHVsPgogICAgPGxpPk1pbm9yIEJ1ZyBGaXhlcy48L2xpPgogICAgPGxpPkZpeGVzIGlzc3VlcyB3aXRoIGNnc2lfY29udmVydC48L2xpPgogICAgPGxpPkFkZHMgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHRpdGxlLCByZWwsIGFuZCBpZCBwYXJhbWV0ZXJzLjwvbGk+CiAgICA8bGk+QWRkcyB0aGUgYWJpbGl0eSB0byBkb3dubG9hZCBpbWFnZXMgZnJvbSBhIHJlbW90ZSBzaXRlLCBjYWNoZSB0aGVtLi4gYW5kIHByb2Nlc3MgdGhlbS48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuNS4xIC0gU2VwdGVtYmVyLCAyMDExCiAgICA8dWw+CiAgICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KICA8bGk+VmVyc2lvbiAxLjYgLSBPY3RvYmVyLCAyMDExCiAgICA8dWw+CiAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIHNwZWNpZnkgYSBjcm9wLXRvLWZpdCBsb2NhdGlvbiBvdGhlciB0aGFuIGNlbnRlci48L2xpPgogICAgICA8bGk+QWRkcyBhIHByZWZlcmVuY2UgZm9yIHRoZSBkZWZhdWx0IGNyb3AtdG8tZml0IGxvY2F0aW9uLCBidXQgY2hhbmdpbmcgdGhpcyB3aWxsIG5vdCBnZW5lcmF0ZSBuZXcgaW1hZ2VzLi4uIHlvdSB3aWxsIG5lZWQgdG8gY2xlYXIgeW91ciBnZW5lcmF0ZWQgaW1hZ2UgZmlsZXMuPC9saT4KICAgICAgPGxpPmNyb3AtdG8tZml0IGZpbHRlciBub3cgY2hlY2tzIGZvciBwb3NzaWJsZSB1cHNjYWxpbmcgYW5kIHdpbGwgbm90IGFsbG93IGl0LjwvbGk+CiAgICAgIDxsaT5yZW5hbWUgdGhlIG5vY2FjaGUgcGFyYW1ldGVyIHRvIG5vYmNhY2hlIHRvIHJlbW92ZSBjb25mbGljdCB3aXRoIENHRXh0ZW5zaW9ucy48L2xpPgogICAgICA8bGk+Rml4ZXMgYSBidWcgd2l0aCBtdWx0aXBsZSBjbGFzcyBuYW1lcyBzcGVjaWZpZWQgaW4gYWxpYXNlcy48L2xpPgogICAgICA8bGk+Rml4ZXMgYSBidWcgaW4gdGhlIHJlc2l6ZSBmaWx0ZXIuPC9saT4KICAgICAgPGxpPkZpeGVzIGEgYnVnIHdoZXJlIGlmIG5vdGhpbmcgaGFwcGVuZWQgaW4gYW4gaW1hZ2UgZmlsdGVyIChkdWUgdG8gY29uc3RyYWludHMpIHRoZSBzeXN0ZW0gd291bGQgbm90IHNhZmUgdGhlIGZpbGUuPC9saT4KICAgICAgPGxpPkFkZHMgYSByZXNpemV0b2ZpdCBmaWx0ZXIuPC9saT4KICAgICAgPGxpPkdlbmVyYXRlZCBmaWxlcyBubyBsb25nZXIgaGF2ZSBhbiBleHRlbnNpb24gdG8gcHJldmVudCBpbmNvbnNpc3RlbmNpZXMgaW4gZmlsZSB0eXBlcy48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuNi4xIC0gTm92ZW1iZXIsIDIwMTEKICAgIDx1bD4KICAgICAgPGxpPk1pbm9yIGZpeGVzIHRvIGNnc2lfY29udmVydC48L2xpPgogICAgPC91bD4KICA8L2xpPgogIDxsaT5WZXJzaW9uIDEuNyAtIEZlYnJ1YXJ5LCAyMDEyCiAgICA8dWw+CiAgICAgIDxsaT5BZGRzIHRoZSBhYmlsaXR5IHRvIGNoZWNrIHRoZSB0aW1lIG9mIHRoZSBzb3VyY2UgaW1hZ2UgdG8gYWlkZSBpbiBkZWNpZGluZyBpZiB0aGUgY2FjaGVkIGltYWdlIG5lZWRzIHRvIGJlIGdlbmVyYXRlZC9yZS1nZW5lcmF0ZWQuPC9saT4KICAgICAgPGxpPkZpeGVzIHRvIHRoZSByZXNpemUgZmlsdGVyLjwvbGk+CiAgICAgIDxsaT5SZXNhbXBsZSBpbnN0YWQgb2YgcmVzaXplIGJ5IGRlZmF1bHQgaW4gdGhlIHJlc2l6ZSBmaWx0ZXIuPC9saT4KICAgICAgPGxpPkNyZWF0ZSBhbiBpbmRleC5odG1sIGZpbGUgaW4gdGhlIGltYWdlIGRpcmVjdG9yeSB0byBwcmV2ZW50IGJyb3dzaW5nLjwvbGk+CiAgICA8L3VsPgogIDwvbGk+CiAgPGxpPlZlcnNpb24gMS44LjEgLSBGZWJydWFyeSwgMjAxMgogICAgPHVsPgogICAgICA8bGk+QWRkcyB0aGUgc2lsZW50IHBhcmFtIHRvIGhpZGUgZXJyb3JzLjwvbGk+IAogICAgICA8bGk+QWRkcyByZXNpemUgdG8gbGFyZ2VzdCBlZGdlIHRvIGZpbHRlcl9yZXNpemUuPC9saT4KICAgICAgPGxpPlJlbW92ZXMgbGF6eWxvYWRpbmcgc28gdGhhdCB7Y2dzaV9jb252ZXJUfSB3aWxsIHdvcmsuPC9saT4KICAgICAgPGxpPnNvbWUgbWlub3IgZml4ZXMuPC9saT4KICAgIDwvdWw+CiAgPC9saT4KIDxsaT5WZXJzaW9uIDEuOC40IC0gTWF5LCAyMDEyCiAgICA8dWw+CiAgICAgIDxsaT5GaXhlcyB0byBjZ3NpX2NvbnZlcnQuPC9saT4KICAgICAgPGxpPlJlbW92ZXMgdGhlIGNvbG9yIHBhcmFtZXRlciBmcm9tIGZpbHRlcl9yb3RhdGUuPC9saT4KICAgICAgPGxpPkZpeGVzIHdhcm5pbmdzLjwvbGk+CiAgICAgIDxsaT5Db2RlIGNsZWFudXAuPC9saT4KICAgIDwvdWw+CiA8L2xpPgogPGxpPlZlcnNpb24gMS45IC0gTWF5IDIwMTIKICAgPHVsPgogICAgIDxsaT5BZGRzIHJlc3BvbnNpdmUgaW1hZ2UgY2FwYWJpbGl0aWVzIHdpdGggd2ViIHNlcnZpY2UgYmFzZWQgbW9iaWxlIGRldmljZSBkZXRlY3Rpb24uPC9saT4KICAgICA8bGk+SW1wcm92ZXMgcGF0aCBkZXRlY3Rpb24uPC9saT4KICAgPC91bD4KIDwvbGk+CiA8bGk+VmVyc2lvbiAxLjEwIC0gSmFuIDIwMTMKICAgPHVsPgogICAgICA8bGk+QWRkcyByZWZsZWN0aW9uIGZpbHRlciAodGhhbmtzIHRvIFRhcGlvKS4uLiBub3RlIG9ubHkgd29ya3Mgd2VsbCB3aXRoIGpwZWcgaW1hZ2VzPC9saT4KICAgPC91bD4KIDwvbGk+CiA8bGk+VmVyc2lvbiAxLjExIC0gSnVseSAyMDEzCiAgIDx1bD4KICAgICAgPGxpPk1pbm9yIGRvY3VtZW50YXRpb24gZml4LiAgRmlsZXMgcHJvdmlkZWQgdmlhIHRoZSBzcmMgYXJndW1lbnQgbXVzdCBiZSBiZWxvdyB0aGUgQ01TTVMgcm9vdCBVUkwuPC9saT4KICAgICAgPGxpPkFkZHMgYSBzaW1wbGUgc2hhcnBlbiBmaWx0ZXIuPC9saT4KICAgICAgPGxpPkFkZHMgc2ltcGxlIG1lbW9yeSBsaW1pdCBjaGVja2luZyAod2lsbCB3b3JrIGZvciBob3N0cyB3aGVyZSB3ZSBjYW4gaW5pX2dldCB0aGUgbWVtb3J5IGxpbWl0LjwvbGk+CiAgICAgIDxsaT5OdW1lcm91cyBpbXByb3ZlbWVudHMgdG8gdGhlIHJlc2l6ZXRvRml0IGZpbHRlci48L2xpPgogICAgICA8bGk+Rml4ZXMgY2FjaGVkIGZpbGVuYW1lcyB0byBiZSBlbnRpcmVseSBlbmNvZGVkLjwvbGk+CiAgICAgIDxsaT5GaXhlcyBhbHQgdmFsdWUgZm9yIGltYWdlIHRhZ3MuPC9saT4KICAgICAgPGxpPk5vdyB1c2VzIGEgc2luZ2xlIGxhc3QgZmlsdGVyLi4uIG5vdCBtdWx0aXBsZS48L2xpPgogICAgICA8bGk+UmF0aW9uYWxpemUgYmVoYXZpb3IgYmV0d2VlbiBtYXhfd2lkdGgvbWF4X2hlaWdodCBhbmQgd2lkdGgvaGVpZ2h0LgogICAgICAgIDxwPk5vdywgaWYgbWF4X3dpZHRoL21heF9oZWlnaHQgaXMgc3BlY2lmaWVkIHZpYSB0aGUgcGFyYW1ldGVyLCBvciBieSBkZXZpY2UgZGV0ZWN0aW9uLCBBTkQgdGhlIGhlaWdodC93aWR0aCBwYXJhbWV0ZXJzIGFyZSBzcGVjaWZpZWQsIHRoZSBzbWFsbGVyIG9mIHRoZXNlIHR3byBwYWlycyBvZiB2YWx1ZXMgd2lsbCBiZSB1c2VkLCBhbmQgYSBzaW5nbGUgZmlsdGVyIGFwcGxpZWQuICBUaGUgbm9hdXRvIHBhcmFtZXRlciBjYW4gc3RpbGwgYmUgdXNlZCB0byBlbnN1cmUgdGhhdCB0aGUgaW1nIHRhZyAoaWYgZ2VuZXJhdGVkKSBoYXMgdGhlIHNwZWNpZmllZCB3aXRoIGFuZCBoZWlnaHQgcGFyYW1ldGVycy48L3A+CiAgICAgIDwvbGk+CiAgICAgIDxsaT5NaW5vciBidWcgZml4ZXMuPC9saT4KICAgPC91bD4KIDwvbGk+CjwvdWw+Cg==]]></data>
	</file>
	<file>
	  <filename>/docs/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/docs/COPYING</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[ICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQogICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMywgMjkgSnVuZSAyMDA3CgogQ29weXJpZ2h0IChDKSAyMDA3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiA8aHR0cDovL2ZzZi5vcmcvPgogRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCiBvZiB0aGlzIGxpY2Vuc2UgZG9jdW1lbnQsIGJ1dCBjaGFuZ2luZyBpdCBpcyBub3QgYWxsb3dlZC4KCiAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgYSBmcmVlLCBjb3B5bGVmdCBsaWNlbnNlIGZvcgpzb2Z0d2FyZSBhbmQgb3RoZXIga2luZHMgb2Ygd29ya3MuCgogIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhbmQgb3RoZXIgcHJhY3RpY2FsIHdvcmtzIGFyZSBkZXNpZ25lZAp0byB0YWtlIGF3YXkgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgdGhlIHdvcmtzLiAgQnkgY29udHJhc3QsCnRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvCnNoYXJlIGFuZCBjaGFuZ2UgYWxsIHZlcnNpb25zIG9mIGEgcHJvZ3JhbS0tdG8gbWFrZSBzdXJlIGl0IHJlbWFpbnMgZnJlZQpzb2Z0d2FyZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFdlLCB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCB1c2UgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3N0IG9mIG91ciBzb2Z0d2FyZTsgaXQgYXBwbGllcyBhbHNvIHRvCmFueSBvdGhlciB3b3JrIHJlbGVhc2VkIHRoaXMgd2F5IGJ5IGl0cyBhdXRob3JzLiAgWW91IGNhbiBhcHBseSBpdCB0bwp5b3VyIHByb2dyYW1zLCB0b28uCgogIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQpoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UgZm9yCnRoZW0gaWYgeW91IHdpc2gpLCB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQgaXQgaWYgeW91CndhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQgaW4gbmV3CmZyZWUgcHJvZ3JhbXMsIGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgoKICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIHByZXZlbnQgb3RoZXJzIGZyb20gZGVueWluZyB5b3UKdGhlc2UgcmlnaHRzIG9yIGFza2luZyB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuICBUaGVyZWZvcmUsIHlvdSBoYXZlCmNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZgp5b3UgbW9kaWZ5IGl0OiByZXNwb25zaWJpbGl0aWVzIHRvIHJlc3BlY3QgdGhlIGZyZWVkb20gb2Ygb3RoZXJzLgoKICBGb3IgZXhhbXBsZSwgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHN1Y2ggYSBwcm9ncmFtLCB3aGV0aGVyCmdyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IHBhc3Mgb24gdG8gdGhlIHJlY2lwaWVudHMgdGhlIHNhbWUKZnJlZWRvbXMgdGhhdCB5b3UgcmVjZWl2ZWQuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUKb3IgY2FuIGdldCB0aGUgc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkKa25vdyB0aGVpciByaWdodHMuCgogIERldmVsb3BlcnMgdGhhdCB1c2UgdGhlIEdOVSBHUEwgcHJvdGVjdCB5b3VyIHJpZ2h0cyB3aXRoIHR3byBzdGVwczoKKDEpIGFzc2VydCBjb3B5cmlnaHQgb24gdGhlIHNvZnR3YXJlLCBhbmQgKDIpIG9mZmVyIHlvdSB0aGlzIExpY2Vuc2UKZ2l2aW5nIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSBpdC4KCiAgRm9yIHRoZSBkZXZlbG9wZXJzJyBhbmQgYXV0aG9ycycgcHJvdGVjdGlvbiwgdGhlIEdQTCBjbGVhcmx5IGV4cGxhaW5zCnRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZSBzb2Z0d2FyZS4gIEZvciBib3RoIHVzZXJzJyBhbmQKYXV0aG9ycycgc2FrZSwgdGhlIEdQTCByZXF1aXJlcyB0aGF0IG1vZGlmaWVkIHZlcnNpb25zIGJlIG1hcmtlZCBhcwpjaGFuZ2VkLCBzbyB0aGF0IHRoZWlyIHByb2JsZW1zIHdpbGwgbm90IGJlIGF0dHJpYnV0ZWQgZXJyb25lb3VzbHkgdG8KYXV0aG9ycyBvZiBwcmV2aW91cyB2ZXJzaW9ucy4KCiAgU29tZSBkZXZpY2VzIGFyZSBkZXNpZ25lZCB0byBkZW55IHVzZXJzIGFjY2VzcyB0byBpbnN0YWxsIG9yIHJ1bgptb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGUgc29mdHdhcmUgaW5zaWRlIHRoZW0sIGFsdGhvdWdoIHRoZSBtYW51ZmFjdHVyZXIKY2FuIGRvIHNvLiAgVGhpcyBpcyBmdW5kYW1lbnRhbGx5IGluY29tcGF0aWJsZSB3aXRoIHRoZSBhaW0gb2YKcHJvdGVjdGluZyB1c2VycycgZnJlZWRvbSB0byBjaGFuZ2UgdGhlIHNvZnR3YXJlLiAgVGhlIHN5c3RlbWF0aWMKcGF0dGVybiBvZiBzdWNoIGFidXNlIG9jY3VycyBpbiB0aGUgYXJlYSBvZiBwcm9kdWN0cyBmb3IgaW5kaXZpZHVhbHMgdG8KdXNlLCB3aGljaCBpcyBwcmVjaXNlbHkgd2hlcmUgaXQgaXMgbW9zdCB1bmFjY2VwdGFibGUuICBUaGVyZWZvcmUsIHdlCmhhdmUgZGVzaWduZWQgdGhpcyB2ZXJzaW9uIG9mIHRoZSBHUEwgdG8gcHJvaGliaXQgdGhlIHByYWN0aWNlIGZvciB0aG9zZQpwcm9kdWN0cy4gIElmIHN1Y2ggcHJvYmxlbXMgYXJpc2Ugc3Vic3RhbnRpYWxseSBpbiBvdGhlciBkb21haW5zLCB3ZQpzdGFuZCByZWFkeSB0byBleHRlbmQgdGhpcyBwcm92aXNpb24gdG8gdGhvc2UgZG9tYWlucyBpbiBmdXR1cmUgdmVyc2lvbnMKb2YgdGhlIEdQTCwgYXMgbmVlZGVkIHRvIHByb3RlY3QgdGhlIGZyZWVkb20gb2YgdXNlcnMuCgogIEZpbmFsbHksIGV2ZXJ5IHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlIHBhdGVudHMuClN0YXRlcyBzaG91bGQgbm90IGFsbG93IHBhdGVudHMgdG8gcmVzdHJpY3QgZGV2ZWxvcG1lbnQgYW5kIHVzZSBvZgpzb2Z0d2FyZSBvbiBnZW5lcmFsLXB1cnBvc2UgY29tcHV0ZXJzLCBidXQgaW4gdGhvc2UgdGhhdCBkbywgd2Ugd2lzaCB0bwphdm9pZCB0aGUgc3BlY2lhbCBkYW5nZXIgdGhhdCBwYXRlbnRzIGFwcGxpZWQgdG8gYSBmcmVlIHByb2dyYW0gY291bGQKbWFrZSBpdCBlZmZlY3RpdmVseSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgdGhlIEdQTCBhc3N1cmVzIHRoYXQKcGF0ZW50cyBjYW5ub3QgYmUgdXNlZCB0byByZW5kZXIgdGhlIHByb2dyYW0gbm9uLWZyZWUuCgogIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCm1vZGlmaWNhdGlvbiBmb2xsb3cuCgogICAgICAgICAgICAgICAgICAgICAgIFRFUk1TIEFORCBDT05ESVRJT05TCgogIDAuIERlZmluaXRpb25zLgoKICAiVGhpcyBMaWNlbnNlIiByZWZlcnMgdG8gdmVyc2lvbiAzIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KCiAgIkNvcHlyaWdodCIgYWxzbyBtZWFucyBjb3B5cmlnaHQtbGlrZSBsYXdzIHRoYXQgYXBwbHkgdG8gb3RoZXIga2luZHMgb2YKd29ya3MsIHN1Y2ggYXMgc2VtaWNvbmR1Y3RvciBtYXNrcy4KCiAgIlRoZSBQcm9ncmFtIiByZWZlcnMgdG8gYW55IGNvcHlyaWdodGFibGUgd29yayBsaWNlbnNlZCB1bmRlciB0aGlzCkxpY2Vuc2UuICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4gICJMaWNlbnNlZXMiIGFuZAoicmVjaXBpZW50cyIgbWF5IGJlIGluZGl2aWR1YWxzIG9yIG9yZ2FuaXphdGlvbnMuCgogIFRvICJtb2RpZnkiIGEgd29yayBtZWFucyB0byBjb3B5IGZyb20gb3IgYWRhcHQgYWxsIG9yIHBhcnQgb2YgdGhlIHdvcmsKaW4gYSBmYXNoaW9uIHJlcXVpcmluZyBjb3B5cmlnaHQgcGVybWlzc2lvbiwgb3RoZXIgdGhhbiB0aGUgbWFraW5nIG9mIGFuCmV4YWN0IGNvcHkuICBUaGUgcmVzdWx0aW5nIHdvcmsgaXMgY2FsbGVkIGEgIm1vZGlmaWVkIHZlcnNpb24iIG9mIHRoZQplYXJsaWVyIHdvcmsgb3IgYSB3b3JrICJiYXNlZCBvbiIgdGhlIGVhcmxpZXIgd29yay4KCiAgQSAiY292ZXJlZCB3b3JrIiBtZWFucyBlaXRoZXIgdGhlIHVubW9kaWZpZWQgUHJvZ3JhbSBvciBhIHdvcmsgYmFzZWQKb24gdGhlIFByb2dyYW0uCgogIFRvICJwcm9wYWdhdGUiIGEgd29yayBtZWFucyB0byBkbyBhbnl0aGluZyB3aXRoIGl0IHRoYXQsIHdpdGhvdXQKcGVybWlzc2lvbiwgd291bGQgbWFrZSB5b3UgZGlyZWN0bHkgb3Igc2Vjb25kYXJpbHkgbGlhYmxlIGZvcgppbmZyaW5nZW1lbnQgdW5kZXIgYXBwbGljYWJsZSBjb3B5cmlnaHQgbGF3LCBleGNlcHQgZXhlY3V0aW5nIGl0IG9uIGEKY29tcHV0ZXIgb3IgbW9kaWZ5aW5nIGEgcHJpdmF0ZSBjb3B5LiAgUHJvcGFnYXRpb24gaW5jbHVkZXMgY29weWluZywKZGlzdHJpYnV0aW9uICh3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uKSwgbWFraW5nIGF2YWlsYWJsZSB0byB0aGUKcHVibGljLCBhbmQgaW4gc29tZSBjb3VudHJpZXMgb3RoZXIgYWN0aXZpdGllcyBhcyB3ZWxsLgoKICBUbyAiY29udmV5IiBhIHdvcmsgbWVhbnMgYW55IGtpbmQgb2YgcHJvcGFnYXRpb24gdGhhdCBlbmFibGVzIG90aGVyCnBhcnRpZXMgdG8gbWFrZSBvciByZWNlaXZlIGNvcGllcy4gIE1lcmUgaW50ZXJhY3Rpb24gd2l0aCBhIHVzZXIgdGhyb3VnaAphIGNvbXB1dGVyIG5ldHdvcmssIHdpdGggbm8gdHJhbnNmZXIgb2YgYSBjb3B5LCBpcyBub3QgY29udmV5aW5nLgoKICBBbiBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZSBkaXNwbGF5cyAiQXBwcm9wcmlhdGUgTGVnYWwgTm90aWNlcyIKdG8gdGhlIGV4dGVudCB0aGF0IGl0IGluY2x1ZGVzIGEgY29udmVuaWVudCBhbmQgcHJvbWluZW50bHkgdmlzaWJsZQpmZWF0dXJlIHRoYXQgKDEpIGRpc3BsYXlzIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UsIGFuZCAoMikKdGVsbHMgdGhlIHVzZXIgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSBmb3IgdGhlIHdvcmsgKGV4Y2VwdCB0byB0aGUKZXh0ZW50IHRoYXQgd2FycmFudGllcyBhcmUgcHJvdmlkZWQpLCB0aGF0IGxpY2Vuc2VlcyBtYXkgY29udmV5IHRoZQp3b3JrIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIGhvdyB0byB2aWV3IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZgp0aGUgaW50ZXJmYWNlIHByZXNlbnRzIGEgbGlzdCBvZiB1c2VyIGNvbW1hbmRzIG9yIG9wdGlvbnMsIHN1Y2ggYXMgYQptZW51LCBhIHByb21pbmVudCBpdGVtIGluIHRoZSBsaXN0IG1lZXRzIHRoaXMgY3JpdGVyaW9uLgoKICAxLiBTb3VyY2UgQ29kZS4KCiAgVGhlICJzb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsKZm9yIG1ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgIk9iamVjdCBjb2RlIiBtZWFucyBhbnkgbm9uLXNvdXJjZQpmb3JtIG9mIGEgd29yay4KCiAgQSAiU3RhbmRhcmQgSW50ZXJmYWNlIiBtZWFucyBhbiBpbnRlcmZhY2UgdGhhdCBlaXRoZXIgaXMgYW4gb2ZmaWNpYWwKc3RhbmRhcmQgZGVmaW5lZCBieSBhIHJlY29nbml6ZWQgc3RhbmRhcmRzIGJvZHksIG9yLCBpbiB0aGUgY2FzZSBvZgppbnRlcmZhY2VzIHNwZWNpZmllZCBmb3IgYSBwYXJ0aWN1bGFyIHByb2dyYW1taW5nIGxhbmd1YWdlLCBvbmUgdGhhdAppcyB3aWRlbHkgdXNlZCBhbW9uZyBkZXZlbG9wZXJzIHdvcmtpbmcgaW4gdGhhdCBsYW5ndWFnZS4KCiAgVGhlICJTeXN0ZW0gTGlicmFyaWVzIiBvZiBhbiBleGVjdXRhYmxlIHdvcmsgaW5jbHVkZSBhbnl0aGluZywgb3RoZXIKdGhhbiB0aGUgd29yayBhcyBhIHdob2xlLCB0aGF0IChhKSBpcyBpbmNsdWRlZCBpbiB0aGUgbm9ybWFsIGZvcm0gb2YKcGFja2FnaW5nIGEgTWFqb3IgQ29tcG9uZW50LCBidXQgd2hpY2ggaXMgbm90IHBhcnQgb2YgdGhhdCBNYWpvcgpDb21wb25lbnQsIGFuZCAoYikgc2VydmVzIG9ubHkgdG8gZW5hYmxlIHVzZSBvZiB0aGUgd29yayB3aXRoIHRoYXQKTWFqb3IgQ29tcG9uZW50LCBvciB0byBpbXBsZW1lbnQgYSBTdGFuZGFyZCBJbnRlcmZhY2UgZm9yIHdoaWNoIGFuCmltcGxlbWVudGF0aW9uIGlzIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluIHNvdXJjZSBjb2RlIGZvcm0uICBBCiJNYWpvciBDb21wb25lbnQiLCBpbiB0aGlzIGNvbnRleHQsIG1lYW5zIGEgbWFqb3IgZXNzZW50aWFsIGNvbXBvbmVudAooa2VybmVsLCB3aW5kb3cgc3lzdGVtLCBhbmQgc28gb24pIG9mIHRoZSBzcGVjaWZpYyBvcGVyYXRpbmcgc3lzdGVtCihpZiBhbnkpIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHdvcmsgcnVucywgb3IgYSBjb21waWxlciB1c2VkIHRvCnByb2R1Y2UgdGhlIHdvcmssIG9yIGFuIG9iamVjdCBjb2RlIGludGVycHJldGVyIHVzZWQgdG8gcnVuIGl0LgoKICBUaGUgIkNvcnJlc3BvbmRpbmcgU291cmNlIiBmb3IgYSB3b3JrIGluIG9iamVjdCBjb2RlIGZvcm0gbWVhbnMgYWxsCnRoZSBzb3VyY2UgY29kZSBuZWVkZWQgdG8gZ2VuZXJhdGUsIGluc3RhbGwsIGFuZCAoZm9yIGFuIGV4ZWN1dGFibGUKd29yaykgcnVuIHRoZSBvYmplY3QgY29kZSBhbmQgdG8gbW9kaWZ5IHRoZSB3b3JrLCBpbmNsdWRpbmcgc2NyaXB0cyB0bwpjb250cm9sIHRob3NlIGFjdGl2aXRpZXMuICBIb3dldmVyLCBpdCBkb2VzIG5vdCBpbmNsdWRlIHRoZSB3b3JrJ3MKU3lzdGVtIExpYnJhcmllcywgb3IgZ2VuZXJhbC1wdXJwb3NlIHRvb2xzIG9yIGdlbmVyYWxseSBhdmFpbGFibGUgZnJlZQpwcm9ncmFtcyB3aGljaCBhcmUgdXNlZCB1bm1vZGlmaWVkIGluIHBlcmZvcm1pbmcgdGhvc2UgYWN0aXZpdGllcyBidXQKd2hpY2ggYXJlIG5vdCBwYXJ0IG9mIHRoZSB3b3JrLiAgRm9yIGV4YW1wbGUsIENvcnJlc3BvbmRpbmcgU291cmNlCmluY2x1ZGVzIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzIGFzc29jaWF0ZWQgd2l0aCBzb3VyY2UgZmlsZXMgZm9yCnRoZSB3b3JrLCBhbmQgdGhlIHNvdXJjZSBjb2RlIGZvciBzaGFyZWQgbGlicmFyaWVzIGFuZCBkeW5hbWljYWxseQpsaW5rZWQgc3VicHJvZ3JhbXMgdGhhdCB0aGUgd29yayBpcyBzcGVjaWZpY2FsbHkgZGVzaWduZWQgdG8gcmVxdWlyZSwKc3VjaCBhcyBieSBpbnRpbWF0ZSBkYXRhIGNvbW11bmljYXRpb24gb3IgY29udHJvbCBmbG93IGJldHdlZW4gdGhvc2UKc3VicHJvZ3JhbXMgYW5kIG90aGVyIHBhcnRzIG9mIHRoZSB3b3JrLgoKICBUaGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgbmVlZCBub3QgaW5jbHVkZSBhbnl0aGluZyB0aGF0IHVzZXJzCmNhbiByZWdlbmVyYXRlIGF1dG9tYXRpY2FsbHkgZnJvbSBvdGhlciBwYXJ0cyBvZiB0aGUgQ29ycmVzcG9uZGluZwpTb3VyY2UuCgogIFRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBmb3IgYSB3b3JrIGluIHNvdXJjZSBjb2RlIGZvcm0gaXMgdGhhdApzYW1lIHdvcmsuCgogIDIuIEJhc2ljIFBlcm1pc3Npb25zLgoKICBBbGwgcmlnaHRzIGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlIGFyZSBncmFudGVkIGZvciB0aGUgdGVybSBvZgpjb3B5cmlnaHQgb24gdGhlIFByb2dyYW0sIGFuZCBhcmUgaXJyZXZvY2FibGUgcHJvdmlkZWQgdGhlIHN0YXRlZApjb25kaXRpb25zIGFyZSBtZXQuICBUaGlzIExpY2Vuc2UgZXhwbGljaXRseSBhZmZpcm1zIHlvdXIgdW5saW1pdGVkCnBlcm1pc3Npb24gdG8gcnVuIHRoZSB1bm1vZGlmaWVkIFByb2dyYW0uICBUaGUgb3V0cHV0IGZyb20gcnVubmluZyBhCmNvdmVyZWQgd29yayBpcyBjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZSBvbmx5IGlmIHRoZSBvdXRwdXQsIGdpdmVuIGl0cwpjb250ZW50LCBjb25zdGl0dXRlcyBhIGNvdmVyZWQgd29yay4gIFRoaXMgTGljZW5zZSBhY2tub3dsZWRnZXMgeW91cgpyaWdodHMgb2YgZmFpciB1c2Ugb3Igb3RoZXIgZXF1aXZhbGVudCwgYXMgcHJvdmlkZWQgYnkgY29weXJpZ2h0IGxhdy4KCiAgWW91IG1heSBtYWtlLCBydW4gYW5kIHByb3BhZ2F0ZSBjb3ZlcmVkIHdvcmtzIHRoYXQgeW91IGRvIG5vdApjb252ZXksIHdpdGhvdXQgY29uZGl0aW9ucyBzbyBsb25nIGFzIHlvdXIgbGljZW5zZSBvdGhlcndpc2UgcmVtYWlucwppbiBmb3JjZS4gIFlvdSBtYXkgY29udmV5IGNvdmVyZWQgd29ya3MgdG8gb3RoZXJzIGZvciB0aGUgc29sZSBwdXJwb3NlCm9mIGhhdmluZyB0aGVtIG1ha2UgbW9kaWZpY2F0aW9ucyBleGNsdXNpdmVseSBmb3IgeW91LCBvciBwcm92aWRlIHlvdQp3aXRoIGZhY2lsaXRpZXMgZm9yIHJ1bm5pbmcgdGhvc2Ugd29ya3MsIHByb3ZpZGVkIHRoYXQgeW91IGNvbXBseSB3aXRoCnRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UgaW4gY29udmV5aW5nIGFsbCBtYXRlcmlhbCBmb3Igd2hpY2ggeW91IGRvCm5vdCBjb250cm9sIGNvcHlyaWdodC4gIFRob3NlIHRodXMgbWFraW5nIG9yIHJ1bm5pbmcgdGhlIGNvdmVyZWQgd29ya3MKZm9yIHlvdSBtdXN0IGRvIHNvIGV4Y2x1c2l2ZWx5IG9uIHlvdXIgYmVoYWxmLCB1bmRlciB5b3VyIGRpcmVjdGlvbgphbmQgY29udHJvbCwgb24gdGVybXMgdGhhdCBwcm9oaWJpdCB0aGVtIGZyb20gbWFraW5nIGFueSBjb3BpZXMgb2YKeW91ciBjb3B5cmlnaHRlZCBtYXRlcmlhbCBvdXRzaWRlIHRoZWlyIHJlbGF0aW9uc2hpcCB3aXRoIHlvdS4KCiAgQ29udmV5aW5nIHVuZGVyIGFueSBvdGhlciBjaXJjdW1zdGFuY2VzIGlzIHBlcm1pdHRlZCBzb2xlbHkgdW5kZXIKdGhlIGNvbmRpdGlvbnMgc3RhdGVkIGJlbG93LiAgU3VibGljZW5zaW5nIGlzIG5vdCBhbGxvd2VkOyBzZWN0aW9uIDEwCm1ha2VzIGl0IHVubmVjZXNzYXJ5LgoKICAzLiBQcm90ZWN0aW5nIFVzZXJzJyBMZWdhbCBSaWdodHMgRnJvbSBBbnRpLUNpcmN1bXZlbnRpb24gTGF3LgoKICBObyBjb3ZlcmVkIHdvcmsgc2hhbGwgYmUgZGVlbWVkIHBhcnQgb2YgYW4gZWZmZWN0aXZlIHRlY2hub2xvZ2ljYWwKbWVhc3VyZSB1bmRlciBhbnkgYXBwbGljYWJsZSBsYXcgZnVsZmlsbGluZyBvYmxpZ2F0aW9ucyB1bmRlciBhcnRpY2xlCjExIG9mIHRoZSBXSVBPIGNvcHlyaWdodCB0cmVhdHkgYWRvcHRlZCBvbiAyMCBEZWNlbWJlciAxOTk2LCBvcgpzaW1pbGFyIGxhd3MgcHJvaGliaXRpbmcgb3IgcmVzdHJpY3RpbmcgY2lyY3VtdmVudGlvbiBvZiBzdWNoCm1lYXN1cmVzLgoKICBXaGVuIHlvdSBjb252ZXkgYSBjb3ZlcmVkIHdvcmssIHlvdSB3YWl2ZSBhbnkgbGVnYWwgcG93ZXIgdG8gZm9yYmlkCmNpcmN1bXZlbnRpb24gb2YgdGVjaG5vbG9naWNhbCBtZWFzdXJlcyB0byB0aGUgZXh0ZW50IHN1Y2ggY2lyY3VtdmVudGlvbgppcyBlZmZlY3RlZCBieSBleGVyY2lzaW5nIHJpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2Ugd2l0aCByZXNwZWN0IHRvCnRoZSBjb3ZlcmVkIHdvcmssIGFuZCB5b3UgZGlzY2xhaW0gYW55IGludGVudGlvbiB0byBsaW1pdCBvcGVyYXRpb24gb3IKbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGFzIGEgbWVhbnMgb2YgZW5mb3JjaW5nLCBhZ2FpbnN0IHRoZSB3b3JrJ3MKdXNlcnMsIHlvdXIgb3IgdGhpcmQgcGFydGllcycgbGVnYWwgcmlnaHRzIHRvIGZvcmJpZCBjaXJjdW12ZW50aW9uIG9mCnRlY2hub2xvZ2ljYWwgbWVhc3VyZXMuCgogIDQuIENvbnZleWluZyBWZXJiYXRpbSBDb3BpZXMuCgogIFlvdSBtYXkgY29udmV5IHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzIHNvdXJjZSBjb2RlIGFzIHlvdQpyZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdSBjb25zcGljdW91c2x5IGFuZAphcHByb3ByaWF0ZWx5IHB1Ymxpc2ggb24gZWFjaCBjb3B5IGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2U7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIHN0YXRpbmcgdGhhdCB0aGlzIExpY2Vuc2UgYW5kIGFueQpub24tcGVybWlzc2l2ZSB0ZXJtcyBhZGRlZCBpbiBhY2NvcmQgd2l0aCBzZWN0aW9uIDcgYXBwbHkgdG8gdGhlIGNvZGU7CmtlZXAgaW50YWN0IGFsbCBub3RpY2VzIG9mIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsgYW5kIGdpdmUgYWxsCnJlY2lwaWVudHMgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZSBQcm9ncmFtLgoKICBZb3UgbWF5IGNoYXJnZSBhbnkgcHJpY2Ugb3Igbm8gcHJpY2UgZm9yIGVhY2ggY29weSB0aGF0IHlvdSBjb252ZXksCmFuZCB5b3UgbWF5IG9mZmVyIHN1cHBvcnQgb3Igd2FycmFudHkgcHJvdGVjdGlvbiBmb3IgYSBmZWUuCgogIDUuIENvbnZleWluZyBNb2RpZmllZCBTb3VyY2UgVmVyc2lvbnMuCgogIFlvdSBtYXkgY29udmV5IGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgb3IgdGhlIG1vZGlmaWNhdGlvbnMgdG8KcHJvZHVjZSBpdCBmcm9tIHRoZSBQcm9ncmFtLCBpbiB0aGUgZm9ybSBvZiBzb3VyY2UgY29kZSB1bmRlciB0aGUKdGVybXMgb2Ygc2VjdGlvbiA0LCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CgogICAgYSkgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgeW91IG1vZGlmaWVkCiAgICBpdCwgYW5kIGdpdmluZyBhIHJlbGV2YW50IGRhdGUuCgogICAgYikgVGhlIHdvcmsgbXVzdCBjYXJyeSBwcm9taW5lbnQgbm90aWNlcyBzdGF0aW5nIHRoYXQgaXQgaXMKICAgIHJlbGVhc2VkIHVuZGVyIHRoaXMgTGljZW5zZSBhbmQgYW55IGNvbmRpdGlvbnMgYWRkZWQgdW5kZXIgc2VjdGlvbgogICAgNy4gIFRoaXMgcmVxdWlyZW1lbnQgbW9kaWZpZXMgdGhlIHJlcXVpcmVtZW50IGluIHNlY3Rpb24gNCB0bwogICAgImtlZXAgaW50YWN0IGFsbCBub3RpY2VzIi4KCiAgICBjKSBZb3UgbXVzdCBsaWNlbnNlIHRoZSBlbnRpcmUgd29yaywgYXMgYSB3aG9sZSwgdW5kZXIgdGhpcwogICAgTGljZW5zZSB0byBhbnlvbmUgd2hvIGNvbWVzIGludG8gcG9zc2Vzc2lvbiBvZiBhIGNvcHkuICBUaGlzCiAgICBMaWNlbnNlIHdpbGwgdGhlcmVmb3JlIGFwcGx5LCBhbG9uZyB3aXRoIGFueSBhcHBsaWNhYmxlIHNlY3Rpb24gNwogICAgYWRkaXRpb25hbCB0ZXJtcywgdG8gdGhlIHdob2xlIG9mIHRoZSB3b3JrLCBhbmQgYWxsIGl0cyBwYXJ0cywKICAgIHJlZ2FyZGxlc3Mgb2YgaG93IHRoZXkgYXJlIHBhY2thZ2VkLiAgVGhpcyBMaWNlbnNlIGdpdmVzIG5vCiAgICBwZXJtaXNzaW9uIHRvIGxpY2Vuc2UgdGhlIHdvcmsgaW4gYW55IG90aGVyIHdheSwgYnV0IGl0IGRvZXMgbm90CiAgICBpbnZhbGlkYXRlIHN1Y2ggcGVybWlzc2lvbiBpZiB5b3UgaGF2ZSBzZXBhcmF0ZWx5IHJlY2VpdmVkIGl0LgoKICAgIGQpIElmIHRoZSB3b3JrIGhhcyBpbnRlcmFjdGl2ZSB1c2VyIGludGVyZmFjZXMsIGVhY2ggbXVzdCBkaXNwbGF5CiAgICBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzOyBob3dldmVyLCBpZiB0aGUgUHJvZ3JhbSBoYXMgaW50ZXJhY3RpdmUKICAgIGludGVyZmFjZXMgdGhhdCBkbyBub3QgZGlzcGxheSBBcHByb3ByaWF0ZSBMZWdhbCBOb3RpY2VzLCB5b3VyCiAgICB3b3JrIG5lZWQgbm90IG1ha2UgdGhlbSBkbyBzby4KCiAgQSBjb21waWxhdGlvbiBvZiBhIGNvdmVyZWQgd29yayB3aXRoIG90aGVyIHNlcGFyYXRlIGFuZCBpbmRlcGVuZGVudAp3b3Jrcywgd2hpY2ggYXJlIG5vdCBieSB0aGVpciBuYXR1cmUgZXh0ZW5zaW9ucyBvZiB0aGUgY292ZXJlZCB3b3JrLAphbmQgd2hpY2ggYXJlIG5vdCBjb21iaW5lZCB3aXRoIGl0IHN1Y2ggYXMgdG8gZm9ybSBhIGxhcmdlciBwcm9ncmFtLAppbiBvciBvbiBhIHZvbHVtZSBvZiBhIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSwgaXMgY2FsbGVkIGFuCiJhZ2dyZWdhdGUiIGlmIHRoZSBjb21waWxhdGlvbiBhbmQgaXRzIHJlc3VsdGluZyBjb3B5cmlnaHQgYXJlIG5vdAp1c2VkIHRvIGxpbWl0IHRoZSBhY2Nlc3Mgb3IgbGVnYWwgcmlnaHRzIG9mIHRoZSBjb21waWxhdGlvbidzIHVzZXJzCmJleW9uZCB3aGF0IHRoZSBpbmRpdmlkdWFsIHdvcmtzIHBlcm1pdC4gIEluY2x1c2lvbiBvZiBhIGNvdmVyZWQgd29yawppbiBhbiBhZ2dyZWdhdGUgZG9lcyBub3QgY2F1c2UgdGhpcyBMaWNlbnNlIHRvIGFwcGx5IHRvIHRoZSBvdGhlcgpwYXJ0cyBvZiB0aGUgYWdncmVnYXRlLgoKICA2LiBDb252ZXlpbmcgTm9uLVNvdXJjZSBGb3Jtcy4KCiAgWW91IG1heSBjb252ZXkgYSBjb3ZlcmVkIHdvcmsgaW4gb2JqZWN0IGNvZGUgZm9ybSB1bmRlciB0aGUgdGVybXMKb2Ygc2VjdGlvbnMgNCBhbmQgNSwgcHJvdmlkZWQgdGhhdCB5b3UgYWxzbyBjb252ZXkgdGhlCm1hY2hpbmUtcmVhZGFibGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSwKaW4gb25lIG9mIHRoZXNlIHdheXM6CgogICAgYSkgQ29udmV5IHRoZSBvYmplY3QgY29kZSBpbiwgb3IgZW1ib2RpZWQgaW4sIGEgcGh5c2ljYWwgcHJvZHVjdAogICAgKGluY2x1ZGluZyBhIHBoeXNpY2FsIGRpc3RyaWJ1dGlvbiBtZWRpdW0pLCBhY2NvbXBhbmllZCBieSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGZpeGVkIG9uIGEgZHVyYWJsZSBwaHlzaWNhbCBtZWRpdW0KICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLgoKICAgIGIpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgaW4sIG9yIGVtYm9kaWVkIGluLCBhIHBoeXNpY2FsIHByb2R1Y3QKICAgIChpbmNsdWRpbmcgYSBwaHlzaWNhbCBkaXN0cmlidXRpb24gbWVkaXVtKSwgYWNjb21wYW5pZWQgYnkgYQogICAgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0IGxlYXN0IHRocmVlIHllYXJzIGFuZCB2YWxpZCBmb3IgYXMKICAgIGxvbmcgYXMgeW91IG9mZmVyIHNwYXJlIHBhcnRzIG9yIGN1c3RvbWVyIHN1cHBvcnQgZm9yIHRoYXQgcHJvZHVjdAogICAgbW9kZWwsIHRvIGdpdmUgYW55b25lIHdobyBwb3NzZXNzZXMgdGhlIG9iamVjdCBjb2RlIGVpdGhlciAoMSkgYQogICAgY29weSBvZiB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UgZm9yIGFsbCB0aGUgc29mdHdhcmUgaW4gdGhlCiAgICBwcm9kdWN0IHRoYXQgaXMgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UsIG9uIGEgZHVyYWJsZSBwaHlzaWNhbAogICAgbWVkaXVtIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlLCBmb3IgYSBwcmljZSBubwogICAgbW9yZSB0aGFuIHlvdXIgcmVhc29uYWJsZSBjb3N0IG9mIHBoeXNpY2FsbHkgcGVyZm9ybWluZyB0aGlzCiAgICBjb252ZXlpbmcgb2Ygc291cmNlLCBvciAoMikgYWNjZXNzIHRvIGNvcHkgdGhlCiAgICBDb3JyZXNwb25kaW5nIFNvdXJjZSBmcm9tIGEgbmV0d29yayBzZXJ2ZXIgYXQgbm8gY2hhcmdlLgoKICAgIGMpIENvbnZleSBpbmRpdmlkdWFsIGNvcGllcyBvZiB0aGUgb2JqZWN0IGNvZGUgd2l0aCBhIGNvcHkgb2YgdGhlCiAgICB3cml0dGVuIG9mZmVyIHRvIHByb3ZpZGUgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhpcwogICAgYWx0ZXJuYXRpdmUgaXMgYWxsb3dlZCBvbmx5IG9jY2FzaW9uYWxseSBhbmQgbm9uY29tbWVyY2lhbGx5LCBhbmQKICAgIG9ubHkgaWYgeW91IHJlY2VpdmVkIHRoZSBvYmplY3QgY29kZSB3aXRoIHN1Y2ggYW4gb2ZmZXIsIGluIGFjY29yZAogICAgd2l0aCBzdWJzZWN0aW9uIDZiLgoKICAgIGQpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgYnkgb2ZmZXJpbmcgYWNjZXNzIGZyb20gYSBkZXNpZ25hdGVkCiAgICBwbGFjZSAoZ3JhdGlzIG9yIGZvciBhIGNoYXJnZSksIGFuZCBvZmZlciBlcXVpdmFsZW50IGFjY2VzcyB0byB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGluIHRoZSBzYW1lIHdheSB0aHJvdWdoIHRoZSBzYW1lIHBsYWNlIGF0IG5vCiAgICBmdXJ0aGVyIGNoYXJnZS4gIFlvdSBuZWVkIG5vdCByZXF1aXJlIHJlY2lwaWVudHMgdG8gY29weSB0aGUKICAgIENvcnJlc3BvbmRpbmcgU291cmNlIGFsb25nIHdpdGggdGhlIG9iamVjdCBjb2RlLiAgSWYgdGhlIHBsYWNlIHRvCiAgICBjb3B5IHRoZSBvYmplY3QgY29kZSBpcyBhIG5ldHdvcmsgc2VydmVyLCB0aGUgQ29ycmVzcG9uZGluZyBTb3VyY2UKICAgIG1heSBiZSBvbiBhIGRpZmZlcmVudCBzZXJ2ZXIgKG9wZXJhdGVkIGJ5IHlvdSBvciBhIHRoaXJkIHBhcnR5KQogICAgdGhhdCBzdXBwb3J0cyBlcXVpdmFsZW50IGNvcHlpbmcgZmFjaWxpdGllcywgcHJvdmlkZWQgeW91IG1haW50YWluCiAgICBjbGVhciBkaXJlY3Rpb25zIG5leHQgdG8gdGhlIG9iamVjdCBjb2RlIHNheWluZyB3aGVyZSB0byBmaW5kIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UuICBSZWdhcmRsZXNzIG9mIHdoYXQgc2VydmVyIGhvc3RzIHRoZQogICAgQ29ycmVzcG9uZGluZyBTb3VyY2UsIHlvdSByZW1haW4gb2JsaWdhdGVkIHRvIGVuc3VyZSB0aGF0IGl0IGlzCiAgICBhdmFpbGFibGUgZm9yIGFzIGxvbmcgYXMgbmVlZGVkIHRvIHNhdGlzZnkgdGhlc2UgcmVxdWlyZW1lbnRzLgoKICAgIGUpIENvbnZleSB0aGUgb2JqZWN0IGNvZGUgdXNpbmcgcGVlci10by1wZWVyIHRyYW5zbWlzc2lvbiwgcHJvdmlkZWQKICAgIHlvdSBpbmZvcm0gb3RoZXIgcGVlcnMgd2hlcmUgdGhlIG9iamVjdCBjb2RlIGFuZCBDb3JyZXNwb25kaW5nCiAgICBTb3VyY2Ugb2YgdGhlIHdvcmsgYXJlIGJlaW5nIG9mZmVyZWQgdG8gdGhlIGdlbmVyYWwgcHVibGljIGF0IG5vCiAgICBjaGFyZ2UgdW5kZXIgc3Vic2VjdGlvbiA2ZC4KCiAgQSBzZXBhcmFibGUgcG9ydGlvbiBvZiB0aGUgb2JqZWN0IGNvZGUsIHdob3NlIHNvdXJjZSBjb2RlIGlzIGV4Y2x1ZGVkCmZyb20gdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIGFzIGEgU3lzdGVtIExpYnJhcnksIG5lZWQgbm90IGJlCmluY2x1ZGVkIGluIGNvbnZleWluZyB0aGUgb2JqZWN0IGNvZGUgd29yay4KCiAgQSAiVXNlciBQcm9kdWN0IiBpcyBlaXRoZXIgKDEpIGEgImNvbnN1bWVyIHByb2R1Y3QiLCB3aGljaCBtZWFucyBhbnkKdGFuZ2libGUgcGVyc29uYWwgcHJvcGVydHkgd2hpY2ggaXMgbm9ybWFsbHkgdXNlZCBmb3IgcGVyc29uYWwsIGZhbWlseSwKb3IgaG91c2Vob2xkIHB1cnBvc2VzLCBvciAoMikgYW55dGhpbmcgZGVzaWduZWQgb3Igc29sZCBmb3IgaW5jb3Jwb3JhdGlvbgppbnRvIGEgZHdlbGxpbmcuICBJbiBkZXRlcm1pbmluZyB3aGV0aGVyIGEgcHJvZHVjdCBpcyBhIGNvbnN1bWVyIHByb2R1Y3QsCmRvdWJ0ZnVsIGNhc2VzIHNoYWxsIGJlIHJlc29sdmVkIGluIGZhdm9yIG9mIGNvdmVyYWdlLiAgRm9yIGEgcGFydGljdWxhcgpwcm9kdWN0IHJlY2VpdmVkIGJ5IGEgcGFydGljdWxhciB1c2VyLCAibm9ybWFsbHkgdXNlZCIgcmVmZXJzIHRvIGEKdHlwaWNhbCBvciBjb21tb24gdXNlIG9mIHRoYXQgY2xhc3Mgb2YgcHJvZHVjdCwgcmVnYXJkbGVzcyBvZiB0aGUgc3RhdHVzCm9mIHRoZSBwYXJ0aWN1bGFyIHVzZXIgb3Igb2YgdGhlIHdheSBpbiB3aGljaCB0aGUgcGFydGljdWxhciB1c2VyCmFjdHVhbGx5IHVzZXMsIG9yIGV4cGVjdHMgb3IgaXMgZXhwZWN0ZWQgdG8gdXNlLCB0aGUgcHJvZHVjdC4gIEEgcHJvZHVjdAppcyBhIGNvbnN1bWVyIHByb2R1Y3QgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIHRoZSBwcm9kdWN0IGhhcyBzdWJzdGFudGlhbApjb21tZXJjaWFsLCBpbmR1c3RyaWFsIG9yIG5vbi1jb25zdW1lciB1c2VzLCB1bmxlc3Mgc3VjaCB1c2VzIHJlcHJlc2VudAp0aGUgb25seSBzaWduaWZpY2FudCBtb2RlIG9mIHVzZSBvZiB0aGUgcHJvZHVjdC4KCiAgIkluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiIgZm9yIGEgVXNlciBQcm9kdWN0IG1lYW5zIGFueSBtZXRob2RzLApwcm9jZWR1cmVzLCBhdXRob3JpemF0aW9uIGtleXMsIG9yIG90aGVyIGluZm9ybWF0aW9uIHJlcXVpcmVkIHRvIGluc3RhbGwKYW5kIGV4ZWN1dGUgbW9kaWZpZWQgdmVyc2lvbnMgb2YgYSBjb3ZlcmVkIHdvcmsgaW4gdGhhdCBVc2VyIFByb2R1Y3QgZnJvbQphIG1vZGlmaWVkIHZlcnNpb24gb2YgaXRzIENvcnJlc3BvbmRpbmcgU291cmNlLiAgVGhlIGluZm9ybWF0aW9uIG11c3QKc3VmZmljZSB0byBlbnN1cmUgdGhhdCB0aGUgY29udGludWVkIGZ1bmN0aW9uaW5nIG9mIHRoZSBtb2RpZmllZCBvYmplY3QKY29kZSBpcyBpbiBubyBjYXNlIHByZXZlbnRlZCBvciBpbnRlcmZlcmVkIHdpdGggc29sZWx5IGJlY2F1c2UKbW9kaWZpY2F0aW9uIGhhcyBiZWVuIG1hZGUuCgogIElmIHlvdSBjb252ZXkgYW4gb2JqZWN0IGNvZGUgd29yayB1bmRlciB0aGlzIHNlY3Rpb24gaW4sIG9yIHdpdGgsIG9yCnNwZWNpZmljYWxseSBmb3IgdXNlIGluLCBhIFVzZXIgUHJvZHVjdCwgYW5kIHRoZSBjb252ZXlpbmcgb2NjdXJzIGFzCnBhcnQgb2YgYSB0cmFuc2FjdGlvbiBpbiB3aGljaCB0aGUgcmlnaHQgb2YgcG9zc2Vzc2lvbiBhbmQgdXNlIG9mIHRoZQpVc2VyIFByb2R1Y3QgaXMgdHJhbnNmZXJyZWQgdG8gdGhlIHJlY2lwaWVudCBpbiBwZXJwZXR1aXR5IG9yIGZvciBhCmZpeGVkIHRlcm0gKHJlZ2FyZGxlc3Mgb2YgaG93IHRoZSB0cmFuc2FjdGlvbiBpcyBjaGFyYWN0ZXJpemVkKSwgdGhlCkNvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkIHVuZGVyIHRoaXMgc2VjdGlvbiBtdXN0IGJlIGFjY29tcGFuaWVkCmJ5IHRoZSBJbnN0YWxsYXRpb24gSW5mb3JtYXRpb24uICBCdXQgdGhpcyByZXF1aXJlbWVudCBkb2VzIG5vdCBhcHBseQppZiBuZWl0aGVyIHlvdSBub3IgYW55IHRoaXJkIHBhcnR5IHJldGFpbnMgdGhlIGFiaWxpdHkgdG8gaW5zdGFsbAptb2RpZmllZCBvYmplY3QgY29kZSBvbiB0aGUgVXNlciBQcm9kdWN0IChmb3IgZXhhbXBsZSwgdGhlIHdvcmsgaGFzCmJlZW4gaW5zdGFsbGVkIGluIFJPTSkuCgogIFRoZSByZXF1aXJlbWVudCB0byBwcm92aWRlIEluc3RhbGxhdGlvbiBJbmZvcm1hdGlvbiBkb2VzIG5vdCBpbmNsdWRlIGEKcmVxdWlyZW1lbnQgdG8gY29udGludWUgdG8gcHJvdmlkZSBzdXBwb3J0IHNlcnZpY2UsIHdhcnJhbnR5LCBvciB1cGRhdGVzCmZvciBhIHdvcmsgdGhhdCBoYXMgYmVlbiBtb2RpZmllZCBvciBpbnN0YWxsZWQgYnkgdGhlIHJlY2lwaWVudCwgb3IgZm9yCnRoZSBVc2VyIFByb2R1Y3QgaW4gd2hpY2ggaXQgaGFzIGJlZW4gbW9kaWZpZWQgb3IgaW5zdGFsbGVkLiAgQWNjZXNzIHRvIGEKbmV0d29yayBtYXkgYmUgZGVuaWVkIHdoZW4gdGhlIG1vZGlmaWNhdGlvbiBpdHNlbGYgbWF0ZXJpYWxseSBhbmQKYWR2ZXJzZWx5IGFmZmVjdHMgdGhlIG9wZXJhdGlvbiBvZiB0aGUgbmV0d29yayBvciB2aW9sYXRlcyB0aGUgcnVsZXMgYW5kCnByb3RvY29scyBmb3IgY29tbXVuaWNhdGlvbiBhY3Jvc3MgdGhlIG5ldHdvcmsuCgogIENvcnJlc3BvbmRpbmcgU291cmNlIGNvbnZleWVkLCBhbmQgSW5zdGFsbGF0aW9uIEluZm9ybWF0aW9uIHByb3ZpZGVkLAppbiBhY2NvcmQgd2l0aCB0aGlzIHNlY3Rpb24gbXVzdCBiZSBpbiBhIGZvcm1hdCB0aGF0IGlzIHB1YmxpY2x5CmRvY3VtZW50ZWQgKGFuZCB3aXRoIGFuIGltcGxlbWVudGF0aW9uIGF2YWlsYWJsZSB0byB0aGUgcHVibGljIGluCnNvdXJjZSBjb2RlIGZvcm0pLCBhbmQgbXVzdCByZXF1aXJlIG5vIHNwZWNpYWwgcGFzc3dvcmQgb3Iga2V5IGZvcgp1bnBhY2tpbmcsIHJlYWRpbmcgb3IgY29weWluZy4KCiAgNy4gQWRkaXRpb25hbCBUZXJtcy4KCiAgIkFkZGl0aW9uYWwgcGVybWlzc2lvbnMiIGFyZSB0ZXJtcyB0aGF0IHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMKTGljZW5zZSBieSBtYWtpbmcgZXhjZXB0aW9ucyBmcm9tIG9uZSBvciBtb3JlIG9mIGl0cyBjb25kaXRpb25zLgpBZGRpdGlvbmFsIHBlcm1pc3Npb25zIHRoYXQgYXJlIGFwcGxpY2FibGUgdG8gdGhlIGVudGlyZSBQcm9ncmFtIHNoYWxsCmJlIHRyZWF0ZWQgYXMgdGhvdWdoIHRoZXkgd2VyZSBpbmNsdWRlZCBpbiB0aGlzIExpY2Vuc2UsIHRvIHRoZSBleHRlbnQKdGhhdCB0aGV5IGFyZSB2YWxpZCB1bmRlciBhcHBsaWNhYmxlIGxhdy4gIElmIGFkZGl0aW9uYWwgcGVybWlzc2lvbnMKYXBwbHkgb25seSB0byBwYXJ0IG9mIHRoZSBQcm9ncmFtLCB0aGF0IHBhcnQgbWF5IGJlIHVzZWQgc2VwYXJhdGVseQp1bmRlciB0aG9zZSBwZXJtaXNzaW9ucywgYnV0IHRoZSBlbnRpcmUgUHJvZ3JhbSByZW1haW5zIGdvdmVybmVkIGJ5CnRoaXMgTGljZW5zZSB3aXRob3V0IHJlZ2FyZCB0byB0aGUgYWRkaXRpb25hbCBwZXJtaXNzaW9ucy4KCiAgV2hlbiB5b3UgY29udmV5IGEgY29weSBvZiBhIGNvdmVyZWQgd29yaywgeW91IG1heSBhdCB5b3VyIG9wdGlvbgpyZW1vdmUgYW55IGFkZGl0aW9uYWwgcGVybWlzc2lvbnMgZnJvbSB0aGF0IGNvcHksIG9yIGZyb20gYW55IHBhcnQgb2YKaXQuICAoQWRkaXRpb25hbCBwZXJtaXNzaW9ucyBtYXkgYmUgd3JpdHRlbiB0byByZXF1aXJlIHRoZWlyIG93bgpyZW1vdmFsIGluIGNlcnRhaW4gY2FzZXMgd2hlbiB5b3UgbW9kaWZ5IHRoZSB3b3JrLikgIFlvdSBtYXkgcGxhY2UKYWRkaXRpb25hbCBwZXJtaXNzaW9ucyBvbiBtYXRlcmlhbCwgYWRkZWQgYnkgeW91IHRvIGEgY292ZXJlZCB3b3JrLApmb3Igd2hpY2ggeW91IGhhdmUgb3IgY2FuIGdpdmUgYXBwcm9wcmlhdGUgY29weXJpZ2h0IHBlcm1pc3Npb24uCgogIE5vdHdpdGhzdGFuZGluZyBhbnkgb3RoZXIgcHJvdmlzaW9uIG9mIHRoaXMgTGljZW5zZSwgZm9yIG1hdGVyaWFsIHlvdQphZGQgdG8gYSBjb3ZlcmVkIHdvcmssIHlvdSBtYXkgKGlmIGF1dGhvcml6ZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXJzIG9mCnRoYXQgbWF0ZXJpYWwpIHN1cHBsZW1lbnQgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZSB3aXRoIHRlcm1zOgoKICAgIGEpIERpc2NsYWltaW5nIHdhcnJhbnR5IG9yIGxpbWl0aW5nIGxpYWJpbGl0eSBkaWZmZXJlbnRseSBmcm9tIHRoZQogICAgdGVybXMgb2Ygc2VjdGlvbnMgMTUgYW5kIDE2IG9mIHRoaXMgTGljZW5zZTsgb3IKCiAgICBiKSBSZXF1aXJpbmcgcHJlc2VydmF0aW9uIG9mIHNwZWNpZmllZCByZWFzb25hYmxlIGxlZ2FsIG5vdGljZXMgb3IKICAgIGF1dGhvciBhdHRyaWJ1dGlvbnMgaW4gdGhhdCBtYXRlcmlhbCBvciBpbiB0aGUgQXBwcm9wcmlhdGUgTGVnYWwKICAgIE5vdGljZXMgZGlzcGxheWVkIGJ5IHdvcmtzIGNvbnRhaW5pbmcgaXQ7IG9yCgogICAgYykgUHJvaGliaXRpbmcgbWlzcmVwcmVzZW50YXRpb24gb2YgdGhlIG9yaWdpbiBvZiB0aGF0IG1hdGVyaWFsLCBvcgogICAgcmVxdWlyaW5nIHRoYXQgbW9kaWZpZWQgdmVyc2lvbnMgb2Ygc3VjaCBtYXRlcmlhbCBiZSBtYXJrZWQgaW4KICAgIHJlYXNvbmFibGUgd2F5cyBhcyBkaWZmZXJlbnQgZnJvbSB0aGUgb3JpZ2luYWwgdmVyc2lvbjsgb3IKCiAgICBkKSBMaW1pdGluZyB0aGUgdXNlIGZvciBwdWJsaWNpdHkgcHVycG9zZXMgb2YgbmFtZXMgb2YgbGljZW5zb3JzIG9yCiAgICBhdXRob3JzIG9mIHRoZSBtYXRlcmlhbDsgb3IKCiAgICBlKSBEZWNsaW5pbmcgdG8gZ3JhbnQgcmlnaHRzIHVuZGVyIHRyYWRlbWFyayBsYXcgZm9yIHVzZSBvZiBzb21lCiAgICB0cmFkZSBuYW1lcywgdHJhZGVtYXJrcywgb3Igc2VydmljZSBtYXJrczsgb3IKCiAgICBmKSBSZXF1aXJpbmcgaW5kZW1uaWZpY2F0aW9uIG9mIGxpY2Vuc29ycyBhbmQgYXV0aG9ycyBvZiB0aGF0CiAgICBtYXRlcmlhbCBieSBhbnlvbmUgd2hvIGNvbnZleXMgdGhlIG1hdGVyaWFsIChvciBtb2RpZmllZCB2ZXJzaW9ucyBvZgogICAgaXQpIHdpdGggY29udHJhY3R1YWwgYXNzdW1wdGlvbnMgb2YgbGlhYmlsaXR5IHRvIHRoZSByZWNpcGllbnQsIGZvcgogICAgYW55IGxpYWJpbGl0eSB0aGF0IHRoZXNlIGNvbnRyYWN0dWFsIGFzc3VtcHRpb25zIGRpcmVjdGx5IGltcG9zZSBvbgogICAgdGhvc2UgbGljZW5zb3JzIGFuZCBhdXRob3JzLgoKICBBbGwgb3RoZXIgbm9uLXBlcm1pc3NpdmUgYWRkaXRpb25hbCB0ZXJtcyBhcmUgY29uc2lkZXJlZCAiZnVydGhlcgpyZXN0cmljdGlvbnMiIHdpdGhpbiB0aGUgbWVhbmluZyBvZiBzZWN0aW9uIDEwLiAgSWYgdGhlIFByb2dyYW0gYXMgeW91CnJlY2VpdmVkIGl0LCBvciBhbnkgcGFydCBvZiBpdCwgY29udGFpbnMgYSBub3RpY2Ugc3RhdGluZyB0aGF0IGl0IGlzCmdvdmVybmVkIGJ5IHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIGEgdGVybSB0aGF0IGlzIGEgZnVydGhlcgpyZXN0cmljdGlvbiwgeW91IG1heSByZW1vdmUgdGhhdCB0ZXJtLiAgSWYgYSBsaWNlbnNlIGRvY3VtZW50IGNvbnRhaW5zCmEgZnVydGhlciByZXN0cmljdGlvbiBidXQgcGVybWl0cyByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcgdW5kZXIgdGhpcwpMaWNlbnNlLCB5b3UgbWF5IGFkZCB0byBhIGNvdmVyZWQgd29yayBtYXRlcmlhbCBnb3Zlcm5lZCBieSB0aGUgdGVybXMKb2YgdGhhdCBsaWNlbnNlIGRvY3VtZW50LCBwcm92aWRlZCB0aGF0IHRoZSBmdXJ0aGVyIHJlc3RyaWN0aW9uIGRvZXMKbm90IHN1cnZpdmUgc3VjaCByZWxpY2Vuc2luZyBvciBjb252ZXlpbmcuCgogIElmIHlvdSBhZGQgdGVybXMgdG8gYSBjb3ZlcmVkIHdvcmsgaW4gYWNjb3JkIHdpdGggdGhpcyBzZWN0aW9uLCB5b3UKbXVzdCBwbGFjZSwgaW4gdGhlIHJlbGV2YW50IHNvdXJjZSBmaWxlcywgYSBzdGF0ZW1lbnQgb2YgdGhlCmFkZGl0aW9uYWwgdGVybXMgdGhhdCBhcHBseSB0byB0aG9zZSBmaWxlcywgb3IgYSBub3RpY2UgaW5kaWNhdGluZwp3aGVyZSB0byBmaW5kIHRoZSBhcHBsaWNhYmxlIHRlcm1zLgoKICBBZGRpdGlvbmFsIHRlcm1zLCBwZXJtaXNzaXZlIG9yIG5vbi1wZXJtaXNzaXZlLCBtYXkgYmUgc3RhdGVkIGluIHRoZQpmb3JtIG9mIGEgc2VwYXJhdGVseSB3cml0dGVuIGxpY2Vuc2UsIG9yIHN0YXRlZCBhcyBleGNlcHRpb25zOwp0aGUgYWJvdmUgcmVxdWlyZW1lbnRzIGFwcGx5IGVpdGhlciB3YXkuCgogIDguIFRlcm1pbmF0aW9uLgoKICBZb3UgbWF5IG5vdCBwcm9wYWdhdGUgb3IgbW9kaWZ5IGEgY292ZXJlZCB3b3JrIGV4Y2VwdCBhcyBleHByZXNzbHkKcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQgb3RoZXJ3aXNlIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgaXQgaXMgdm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIKdGhpcyBMaWNlbnNlIChpbmNsdWRpbmcgYW55IHBhdGVudCBsaWNlbnNlcyBncmFudGVkIHVuZGVyIHRoZSB0aGlyZApwYXJhZ3JhcGggb2Ygc2VjdGlvbiAxMSkuCgogIEhvd2V2ZXIsIGlmIHlvdSBjZWFzZSBhbGwgdmlvbGF0aW9uIG9mIHRoaXMgTGljZW5zZSwgdGhlbiB5b3VyCmxpY2Vuc2UgZnJvbSBhIHBhcnRpY3VsYXIgY29weXJpZ2h0IGhvbGRlciBpcyByZWluc3RhdGVkIChhKQpwcm92aXNpb25hbGx5LCB1bmxlc3MgYW5kIHVudGlsIHRoZSBjb3B5cmlnaHQgaG9sZGVyIGV4cGxpY2l0bHkgYW5kCmZpbmFsbHkgdGVybWluYXRlcyB5b3VyIGxpY2Vuc2UsIGFuZCAoYikgcGVybWFuZW50bHksIGlmIHRoZSBjb3B5cmlnaHQKaG9sZGVyIGZhaWxzIHRvIG5vdGlmeSB5b3Ugb2YgdGhlIHZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMKcHJpb3IgdG8gNjAgZGF5cyBhZnRlciB0aGUgY2Vzc2F0aW9uLgoKICBNb3Jlb3ZlciwgeW91ciBsaWNlbnNlIGZyb20gYSBwYXJ0aWN1bGFyIGNvcHlyaWdodCBob2xkZXIgaXMKcmVpbnN0YXRlZCBwZXJtYW5lbnRseSBpZiB0aGUgY29weXJpZ2h0IGhvbGRlciBub3RpZmllcyB5b3Ugb2YgdGhlCnZpb2xhdGlvbiBieSBzb21lIHJlYXNvbmFibGUgbWVhbnMsIHRoaXMgaXMgdGhlIGZpcnN0IHRpbWUgeW91IGhhdmUKcmVjZWl2ZWQgbm90aWNlIG9mIHZpb2xhdGlvbiBvZiB0aGlzIExpY2Vuc2UgKGZvciBhbnkgd29yaykgZnJvbSB0aGF0CmNvcHlyaWdodCBob2xkZXIsIGFuZCB5b3UgY3VyZSB0aGUgdmlvbGF0aW9uIHByaW9yIHRvIDMwIGRheXMgYWZ0ZXIKeW91ciByZWNlaXB0IG9mIHRoZSBub3RpY2UuCgogIFRlcm1pbmF0aW9uIG9mIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgc2VjdGlvbiBkb2VzIG5vdCB0ZXJtaW5hdGUgdGhlCmxpY2Vuc2VzIG9mIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzIG9yIHJpZ2h0cyBmcm9tIHlvdSB1bmRlcgp0aGlzIExpY2Vuc2UuICBJZiB5b3VyIHJpZ2h0cyBoYXZlIGJlZW4gdGVybWluYXRlZCBhbmQgbm90IHBlcm1hbmVudGx5CnJlaW5zdGF0ZWQsIHlvdSBkbyBub3QgcXVhbGlmeSB0byByZWNlaXZlIG5ldyBsaWNlbnNlcyBmb3IgdGhlIHNhbWUKbWF0ZXJpYWwgdW5kZXIgc2VjdGlvbiAxMC4KCiAgOS4gQWNjZXB0YW5jZSBOb3QgUmVxdWlyZWQgZm9yIEhhdmluZyBDb3BpZXMuCgogIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UgaW4gb3JkZXIgdG8gcmVjZWl2ZSBvcgpydW4gYSBjb3B5IG9mIHRoZSBQcm9ncmFtLiAgQW5jaWxsYXJ5IHByb3BhZ2F0aW9uIG9mIGEgY292ZXJlZCB3b3JrCm9jY3VycmluZyBzb2xlbHkgYXMgYSBjb25zZXF1ZW5jZSBvZiB1c2luZyBwZWVyLXRvLXBlZXIgdHJhbnNtaXNzaW9uCnRvIHJlY2VpdmUgYSBjb3B5IGxpa2V3aXNlIGRvZXMgbm90IHJlcXVpcmUgYWNjZXB0YW5jZS4gIEhvd2V2ZXIsCm5vdGhpbmcgb3RoZXIgdGhhbiB0aGlzIExpY2Vuc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIHByb3BhZ2F0ZSBvcgptb2RpZnkgYW55IGNvdmVyZWQgd29yay4gIFRoZXNlIGFjdGlvbnMgaW5mcmluZ2UgY29weXJpZ2h0IGlmIHlvdSBkbwpub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkgbW9kaWZ5aW5nIG9yIHByb3BhZ2F0aW5nIGEKY292ZXJlZCB3b3JrLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzby4KCiAgMTAuIEF1dG9tYXRpYyBMaWNlbnNpbmcgb2YgRG93bnN0cmVhbSBSZWNpcGllbnRzLgoKICBFYWNoIHRpbWUgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5CnJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZSBvcmlnaW5hbCBsaWNlbnNvcnMsIHRvIHJ1biwgbW9kaWZ5IGFuZApwcm9wYWdhdGUgdGhhdCB3b3JrLCBzdWJqZWN0IHRvIHRoaXMgTGljZW5zZS4gIFlvdSBhcmUgbm90IHJlc3BvbnNpYmxlCmZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHdpdGggdGhpcyBMaWNlbnNlLgoKICBBbiAiZW50aXR5IHRyYW5zYWN0aW9uIiBpcyBhIHRyYW5zYWN0aW9uIHRyYW5zZmVycmluZyBjb250cm9sIG9mIGFuCm9yZ2FuaXphdGlvbiwgb3Igc3Vic3RhbnRpYWxseSBhbGwgYXNzZXRzIG9mIG9uZSwgb3Igc3ViZGl2aWRpbmcgYW4Kb3JnYW5pemF0aW9uLCBvciBtZXJnaW5nIG9yZ2FuaXphdGlvbnMuICBJZiBwcm9wYWdhdGlvbiBvZiBhIGNvdmVyZWQKd29yayByZXN1bHRzIGZyb20gYW4gZW50aXR5IHRyYW5zYWN0aW9uLCBlYWNoIHBhcnR5IHRvIHRoYXQKdHJhbnNhY3Rpb24gd2hvIHJlY2VpdmVzIGEgY29weSBvZiB0aGUgd29yayBhbHNvIHJlY2VpdmVzIHdoYXRldmVyCmxpY2Vuc2VzIHRvIHRoZSB3b3JrIHRoZSBwYXJ0eSdzIHByZWRlY2Vzc29yIGluIGludGVyZXN0IGhhZCBvciBjb3VsZApnaXZlIHVuZGVyIHRoZSBwcmV2aW91cyBwYXJhZ3JhcGgsIHBsdXMgYSByaWdodCB0byBwb3NzZXNzaW9uIG9mIHRoZQpDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBmcm9tIHRoZSBwcmVkZWNlc3NvciBpbiBpbnRlcmVzdCwgaWYKdGhlIHByZWRlY2Vzc29yIGhhcyBpdCBvciBjYW4gZ2V0IGl0IHdpdGggcmVhc29uYWJsZSBlZmZvcnRzLgoKICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIgcmVzdHJpY3Rpb25zIG9uIHRoZSBleGVyY2lzZSBvZiB0aGUKcmlnaHRzIGdyYW50ZWQgb3IgYWZmaXJtZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgRm9yIGV4YW1wbGUsIHlvdSBtYXkKbm90IGltcG9zZSBhIGxpY2Vuc2UgZmVlLCByb3lhbHR5LCBvciBvdGhlciBjaGFyZ2UgZm9yIGV4ZXJjaXNlIG9mCnJpZ2h0cyBncmFudGVkIHVuZGVyIHRoaXMgTGljZW5zZSwgYW5kIHlvdSBtYXkgbm90IGluaXRpYXRlIGxpdGlnYXRpb24KKGluY2x1ZGluZyBhIGNyb3NzLWNsYWltIG9yIGNvdW50ZXJjbGFpbSBpbiBhIGxhd3N1aXQpIGFsbGVnaW5nIHRoYXQKYW55IHBhdGVudCBjbGFpbSBpcyBpbmZyaW5nZWQgYnkgbWFraW5nLCB1c2luZywgc2VsbGluZywgb2ZmZXJpbmcgZm9yCnNhbGUsIG9yIGltcG9ydGluZyB0aGUgUHJvZ3JhbSBvciBhbnkgcG9ydGlvbiBvZiBpdC4KCiAgMTEuIFBhdGVudHMuCgogIEEgImNvbnRyaWJ1dG9yIiBpcyBhIGNvcHlyaWdodCBob2xkZXIgd2hvIGF1dGhvcml6ZXMgdXNlIHVuZGVyIHRoaXMKTGljZW5zZSBvZiB0aGUgUHJvZ3JhbSBvciBhIHdvcmsgb24gd2hpY2ggdGhlIFByb2dyYW0gaXMgYmFzZWQuICBUaGUKd29yayB0aHVzIGxpY2Vuc2VkIGlzIGNhbGxlZCB0aGUgY29udHJpYnV0b3IncyAiY29udHJpYnV0b3IgdmVyc2lvbiIuCgogIEEgY29udHJpYnV0b3IncyAiZXNzZW50aWFsIHBhdGVudCBjbGFpbXMiIGFyZSBhbGwgcGF0ZW50IGNsYWltcwpvd25lZCBvciBjb250cm9sbGVkIGJ5IHRoZSBjb250cmlidXRvciwgd2hldGhlciBhbHJlYWR5IGFjcXVpcmVkIG9yCmhlcmVhZnRlciBhY3F1aXJlZCwgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgYnkgc29tZSBtYW5uZXIsIHBlcm1pdHRlZApieSB0aGlzIExpY2Vuc2UsIG9mIG1ha2luZywgdXNpbmcsIG9yIHNlbGxpbmcgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24sCmJ1dCBkbyBub3QgaW5jbHVkZSBjbGFpbXMgdGhhdCB3b3VsZCBiZSBpbmZyaW5nZWQgb25seSBhcyBhCmNvbnNlcXVlbmNlIG9mIGZ1cnRoZXIgbW9kaWZpY2F0aW9uIG9mIHRoZSBjb250cmlidXRvciB2ZXJzaW9uLiAgRm9yCnB1cnBvc2VzIG9mIHRoaXMgZGVmaW5pdGlvbiwgImNvbnRyb2wiIGluY2x1ZGVzIHRoZSByaWdodCB0byBncmFudApwYXRlbnQgc3VibGljZW5zZXMgaW4gYSBtYW5uZXIgY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YKdGhpcyBMaWNlbnNlLgoKICBFYWNoIGNvbnRyaWJ1dG9yIGdyYW50cyB5b3UgYSBub24tZXhjbHVzaXZlLCB3b3JsZHdpZGUsIHJveWFsdHktZnJlZQpwYXRlbnQgbGljZW5zZSB1bmRlciB0aGUgY29udHJpYnV0b3IncyBlc3NlbnRpYWwgcGF0ZW50IGNsYWltcywgdG8KbWFrZSwgdXNlLCBzZWxsLCBvZmZlciBmb3Igc2FsZSwgaW1wb3J0IGFuZCBvdGhlcndpc2UgcnVuLCBtb2RpZnkgYW5kCnByb3BhZ2F0ZSB0aGUgY29udGVudHMgb2YgaXRzIGNvbnRyaWJ1dG9yIHZlcnNpb24uCgogIEluIHRoZSBmb2xsb3dpbmcgdGhyZWUgcGFyYWdyYXBocywgYSAicGF0ZW50IGxpY2Vuc2UiIGlzIGFueSBleHByZXNzCmFncmVlbWVudCBvciBjb21taXRtZW50LCBob3dldmVyIGRlbm9taW5hdGVkLCBub3QgdG8gZW5mb3JjZSBhIHBhdGVudAooc3VjaCBhcyBhbiBleHByZXNzIHBlcm1pc3Npb24gdG8gcHJhY3RpY2UgYSBwYXRlbnQgb3IgY292ZW5hbnQgbm90IHRvCnN1ZSBmb3IgcGF0ZW50IGluZnJpbmdlbWVudCkuICBUbyAiZ3JhbnQiIHN1Y2ggYSBwYXRlbnQgbGljZW5zZSB0byBhCnBhcnR5IG1lYW5zIHRvIG1ha2Ugc3VjaCBhbiBhZ3JlZW1lbnQgb3IgY29tbWl0bWVudCBub3QgdG8gZW5mb3JjZSBhCnBhdGVudCBhZ2FpbnN0IHRoZSBwYXJ0eS4KCiAgSWYgeW91IGNvbnZleSBhIGNvdmVyZWQgd29yaywga25vd2luZ2x5IHJlbHlpbmcgb24gYSBwYXRlbnQgbGljZW5zZSwKYW5kIHRoZSBDb3JyZXNwb25kaW5nIFNvdXJjZSBvZiB0aGUgd29yayBpcyBub3QgYXZhaWxhYmxlIGZvciBhbnlvbmUKdG8gY29weSwgZnJlZSBvZiBjaGFyZ2UgYW5kIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UsIHRocm91Z2ggYQpwdWJsaWNseSBhdmFpbGFibGUgbmV0d29yayBzZXJ2ZXIgb3Igb3RoZXIgcmVhZGlseSBhY2Nlc3NpYmxlIG1lYW5zLAp0aGVuIHlvdSBtdXN0IGVpdGhlciAoMSkgY2F1c2UgdGhlIENvcnJlc3BvbmRpbmcgU291cmNlIHRvIGJlIHNvCmF2YWlsYWJsZSwgb3IgKDIpIGFycmFuZ2UgdG8gZGVwcml2ZSB5b3Vyc2VsZiBvZiB0aGUgYmVuZWZpdCBvZiB0aGUKcGF0ZW50IGxpY2Vuc2UgZm9yIHRoaXMgcGFydGljdWxhciB3b3JrLCBvciAoMykgYXJyYW5nZSwgaW4gYSBtYW5uZXIKY29uc2lzdGVudCB3aXRoIHRoZSByZXF1aXJlbWVudHMgb2YgdGhpcyBMaWNlbnNlLCB0byBleHRlbmQgdGhlIHBhdGVudApsaWNlbnNlIHRvIGRvd25zdHJlYW0gcmVjaXBpZW50cy4gICJLbm93aW5nbHkgcmVseWluZyIgbWVhbnMgeW91IGhhdmUKYWN0dWFsIGtub3dsZWRnZSB0aGF0LCBidXQgZm9yIHRoZSBwYXRlbnQgbGljZW5zZSwgeW91ciBjb252ZXlpbmcgdGhlCmNvdmVyZWQgd29yayBpbiBhIGNvdW50cnksIG9yIHlvdXIgcmVjaXBpZW50J3MgdXNlIG9mIHRoZSBjb3ZlcmVkIHdvcmsKaW4gYSBjb3VudHJ5LCB3b3VsZCBpbmZyaW5nZSBvbmUgb3IgbW9yZSBpZGVudGlmaWFibGUgcGF0ZW50cyBpbiB0aGF0CmNvdW50cnkgdGhhdCB5b3UgaGF2ZSByZWFzb24gdG8gYmVsaWV2ZSBhcmUgdmFsaWQuCgogIElmLCBwdXJzdWFudCB0byBvciBpbiBjb25uZWN0aW9uIHdpdGggYSBzaW5nbGUgdHJhbnNhY3Rpb24gb3IKYXJyYW5nZW1lbnQsIHlvdSBjb252ZXksIG9yIHByb3BhZ2F0ZSBieSBwcm9jdXJpbmcgY29udmV5YW5jZSBvZiwgYQpjb3ZlcmVkIHdvcmssIGFuZCBncmFudCBhIHBhdGVudCBsaWNlbnNlIHRvIHNvbWUgb2YgdGhlIHBhcnRpZXMKcmVjZWl2aW5nIHRoZSBjb3ZlcmVkIHdvcmsgYXV0aG9yaXppbmcgdGhlbSB0byB1c2UsIHByb3BhZ2F0ZSwgbW9kaWZ5Cm9yIGNvbnZleSBhIHNwZWNpZmljIGNvcHkgb2YgdGhlIGNvdmVyZWQgd29yaywgdGhlbiB0aGUgcGF0ZW50IGxpY2Vuc2UKeW91IGdyYW50IGlzIGF1dG9tYXRpY2FsbHkgZXh0ZW5kZWQgdG8gYWxsIHJlY2lwaWVudHMgb2YgdGhlIGNvdmVyZWQKd29yayBhbmQgd29ya3MgYmFzZWQgb24gaXQuCgogIEEgcGF0ZW50IGxpY2Vuc2UgaXMgImRpc2NyaW1pbmF0b3J5IiBpZiBpdCBkb2VzIG5vdCBpbmNsdWRlIHdpdGhpbgp0aGUgc2NvcGUgb2YgaXRzIGNvdmVyYWdlLCBwcm9oaWJpdHMgdGhlIGV4ZXJjaXNlIG9mLCBvciBpcwpjb25kaXRpb25lZCBvbiB0aGUgbm9uLWV4ZXJjaXNlIG9mIG9uZSBvciBtb3JlIG9mIHRoZSByaWdodHMgdGhhdCBhcmUKc3BlY2lmaWNhbGx5IGdyYW50ZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgWW91IG1heSBub3QgY29udmV5IGEgY292ZXJlZAp3b3JrIGlmIHlvdSBhcmUgYSBwYXJ0eSB0byBhbiBhcnJhbmdlbWVudCB3aXRoIGEgdGhpcmQgcGFydHkgdGhhdCBpcwppbiB0aGUgYnVzaW5lc3Mgb2YgZGlzdHJpYnV0aW5nIHNvZnR3YXJlLCB1bmRlciB3aGljaCB5b3UgbWFrZSBwYXltZW50CnRvIHRoZSB0aGlyZCBwYXJ0eSBiYXNlZCBvbiB0aGUgZXh0ZW50IG9mIHlvdXIgYWN0aXZpdHkgb2YgY29udmV5aW5nCnRoZSB3b3JrLCBhbmQgdW5kZXIgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IGdyYW50cywgdG8gYW55IG9mIHRoZQpwYXJ0aWVzIHdobyB3b3VsZCByZWNlaXZlIHRoZSBjb3ZlcmVkIHdvcmsgZnJvbSB5b3UsIGEgZGlzY3JpbWluYXRvcnkKcGF0ZW50IGxpY2Vuc2UgKGEpIGluIGNvbm5lY3Rpb24gd2l0aCBjb3BpZXMgb2YgdGhlIGNvdmVyZWQgd29yawpjb252ZXllZCBieSB5b3UgKG9yIGNvcGllcyBtYWRlIGZyb20gdGhvc2UgY29waWVzKSwgb3IgKGIpIHByaW1hcmlseQpmb3IgYW5kIGluIGNvbm5lY3Rpb24gd2l0aCBzcGVjaWZpYyBwcm9kdWN0cyBvciBjb21waWxhdGlvbnMgdGhhdApjb250YWluIHRoZSBjb3ZlcmVkIHdvcmssIHVubGVzcyB5b3UgZW50ZXJlZCBpbnRvIHRoYXQgYXJyYW5nZW1lbnQsCm9yIHRoYXQgcGF0ZW50IGxpY2Vuc2Ugd2FzIGdyYW50ZWQsIHByaW9yIHRvIDI4IE1hcmNoIDIwMDcuCgogIE5vdGhpbmcgaW4gdGhpcyBMaWNlbnNlIHNoYWxsIGJlIGNvbnN0cnVlZCBhcyBleGNsdWRpbmcgb3IgbGltaXRpbmcKYW55IGltcGxpZWQgbGljZW5zZSBvciBvdGhlciBkZWZlbnNlcyB0byBpbmZyaW5nZW1lbnQgdGhhdCBtYXkKb3RoZXJ3aXNlIGJlIGF2YWlsYWJsZSB0byB5b3UgdW5kZXIgYXBwbGljYWJsZSBwYXRlbnQgbGF3LgoKICAxMi4gTm8gU3VycmVuZGVyIG9mIE90aGVycycgRnJlZWRvbS4KCiAgSWYgY29uZGl0aW9ucyBhcmUgaW1wb3NlZCBvbiB5b3UgKHdoZXRoZXIgYnkgY291cnQgb3JkZXIsIGFncmVlbWVudCBvcgpvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CmV4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90IGNvbnZleSBhCmNvdmVyZWQgd29yayBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcwpMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91IG1heQpub3QgY29udmV5IGl0IGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiB5b3UgYWdyZWUgdG8gdGVybXMgdGhhdCBvYmxpZ2F0ZSB5b3UKdG8gY29sbGVjdCBhIHJveWFsdHkgZm9yIGZ1cnRoZXIgY29udmV5aW5nIGZyb20gdGhvc2UgdG8gd2hvbSB5b3UgY29udmV5CnRoZSBQcm9ncmFtLCB0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCB0aG9zZSB0ZXJtcyBhbmQgdGhpcwpMaWNlbnNlIHdvdWxkIGJlIHRvIHJlZnJhaW4gZW50aXJlbHkgZnJvbSBjb252ZXlpbmcgdGhlIFByb2dyYW0uCgogIDEzLiBVc2Ugd2l0aCB0aGUgR05VIEFmZmVybyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgoKICBOb3R3aXRoc3RhbmRpbmcgYW55IG90aGVyIHByb3Zpc2lvbiBvZiB0aGlzIExpY2Vuc2UsIHlvdSBoYXZlCnBlcm1pc3Npb24gdG8gbGluayBvciBjb21iaW5lIGFueSBjb3ZlcmVkIHdvcmsgd2l0aCBhIHdvcmsgbGljZW5zZWQKdW5kZXIgdmVyc2lvbiAzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW50byBhIHNpbmdsZQpjb21iaW5lZCB3b3JrLCBhbmQgdG8gY29udmV5IHRoZSByZXN1bHRpbmcgd29yay4gIFRoZSB0ZXJtcyBvZiB0aGlzCkxpY2Vuc2Ugd2lsbCBjb250aW51ZSB0byBhcHBseSB0byB0aGUgcGFydCB3aGljaCBpcyB0aGUgY292ZXJlZCB3b3JrLApidXQgdGhlIHNwZWNpYWwgcmVxdWlyZW1lbnRzIG9mIHRoZSBHTlUgQWZmZXJvIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCnNlY3Rpb24gMTMsIGNvbmNlcm5pbmcgaW50ZXJhY3Rpb24gdGhyb3VnaCBhIG5ldHdvcmsgd2lsbCBhcHBseSB0byB0aGUKY29tYmluYXRpb24gYXMgc3VjaC4KCiAgMTQuIFJldmlzZWQgVmVyc2lvbnMgb2YgdGhpcyBMaWNlbnNlLgoKICBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucyBvZgp0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCmJlIHNpbWlsYXIgaW4gc3Bpcml0IHRvIHRoZSBwcmVzZW50IHZlcnNpb24sIGJ1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0bwphZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KCiAgRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUKUHJvZ3JhbSBzcGVjaWZpZXMgdGhhdCBhIGNlcnRhaW4gbnVtYmVyZWQgdmVyc2lvbiBvZiB0aGUgR05VIEdlbmVyYWwKUHVibGljIExpY2Vuc2UgIm9yIGFueSBsYXRlciB2ZXJzaW9uIiBhcHBsaWVzIHRvIGl0LCB5b3UgaGF2ZSB0aGUKb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMgZWl0aGVyIG9mIHRoYXQgbnVtYmVyZWQKdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKRm91bmRhdGlvbi4gIElmIHRoZSBQcm9ncmFtIGRvZXMgbm90IHNwZWNpZnkgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGUKR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkCmJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCgogIElmIHRoZSBQcm9ncmFtIHNwZWNpZmllcyB0aGF0IGEgcHJveHkgY2FuIGRlY2lkZSB3aGljaCBmdXR1cmUKdmVyc2lvbnMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGNhbiBiZSB1c2VkLCB0aGF0IHByb3h5J3MKcHVibGljIHN0YXRlbWVudCBvZiBhY2NlcHRhbmNlIG9mIGEgdmVyc2lvbiBwZXJtYW5lbnRseSBhdXRob3JpemVzIHlvdQp0byBjaG9vc2UgdGhhdCB2ZXJzaW9uIGZvciB0aGUgUHJvZ3JhbS4KCiAgTGF0ZXIgbGljZW5zZSB2ZXJzaW9ucyBtYXkgZ2l2ZSB5b3UgYWRkaXRpb25hbCBvciBkaWZmZXJlbnQKcGVybWlzc2lvbnMuICBIb3dldmVyLCBubyBhZGRpdGlvbmFsIG9ibGlnYXRpb25zIGFyZSBpbXBvc2VkIG9uIGFueQphdXRob3Igb3IgY29weXJpZ2h0IGhvbGRlciBhcyBhIHJlc3VsdCBvZiB5b3VyIGNob29zaW5nIHRvIGZvbGxvdyBhCmxhdGVyIHZlcnNpb24uCgogIDE1LiBEaXNjbGFpbWVyIG9mIFdhcnJhbnR5LgoKICBUSEVSRSBJUyBOTyBXQVJSQU5UWSBGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZCkFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQKSE9MREVSUyBBTkQvT1IgT1RIRVIgUEFSVElFUyBQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWQpPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRCBPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgpQVVJQT1NFLiAgVEhFIEVOVElSRSBSSVNLIEFTIFRPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTQpJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUgUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YKQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgoKICAxNi4gTGltaXRhdGlvbiBvZiBMaWFiaWxpdHkuCgogIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORwpXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1PRElGSUVTIEFORC9PUiBDT05WRVlTClRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywgSU5DTFVESU5HIEFOWQpHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUKVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFIFBST0dSQU0gKElOQ0xVRElORyBCVVQgTk9UIExJTUlURUQgVE8gTE9TUyBPRgpEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZIFlPVSBPUiBUSElSRApQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFBST0dSQU1TKSwKRVZFTiBJRiBTVUNIIEhPTERFUiBPUiBPVEhFUiBQQVJUWSBIQVMgQkVFTiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgpTVUNIIERBTUFHRVMuCgogIDE3LiBJbnRlcnByZXRhdGlvbiBvZiBTZWN0aW9ucyAxNSBhbmQgMTYuCgogIElmIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnR5IGFuZCBsaW1pdGF0aW9uIG9mIGxpYWJpbGl0eSBwcm92aWRlZAphYm92ZSBjYW5ub3QgYmUgZ2l2ZW4gbG9jYWwgbGVnYWwgZWZmZWN0IGFjY29yZGluZyB0byB0aGVpciB0ZXJtcywKcmV2aWV3aW5nIGNvdXJ0cyBzaGFsbCBhcHBseSBsb2NhbCBsYXcgdGhhdCBtb3N0IGNsb3NlbHkgYXBwcm94aW1hdGVzCmFuIGFic29sdXRlIHdhaXZlciBvZiBhbGwgY2l2aWwgbGlhYmlsaXR5IGluIGNvbm5lY3Rpb24gd2l0aCB0aGUKUHJvZ3JhbSwgdW5sZXNzIGEgd2FycmFudHkgb3IgYXNzdW1wdGlvbiBvZiBsaWFiaWxpdHkgYWNjb21wYW5pZXMgYQpjb3B5IG9mIHRoZSBQcm9ncmFtIGluIHJldHVybiBmb3IgYSBmZWUuCgogICAgICAgICAgICAgICAgICAgICBFTkQgT0YgVEVSTVMgQU5EIENPTkRJVElPTlMKCiAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcwoKICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0CnBvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKZnJlZSBzb2Z0d2FyZSB3aGljaCBldmVyeW9uZSBjYW4gcmVkaXN0cmlidXRlIGFuZCBjaGFuZ2UgdW5kZXIgdGhlc2UgdGVybXMuCgogIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0CnRvIGF0dGFjaCB0aGVtIHRvIHRoZSBzdGFydCBvZiBlYWNoIHNvdXJjZSBmaWxlIHRvIG1vc3QgZWZmZWN0aXZlbHkKc3RhdGUgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAp0aGUgImNvcHlyaWdodCIgbGluZSBhbmQgYSBwb2ludGVyIHRvIHdoZXJlIHRoZSBmdWxsIG5vdGljZSBpcyBmb3VuZC4KCiAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgogICAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KCiAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTogeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQogICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCiAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgoKICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAogICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCgogICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKICAgIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCgogIElmIHRoZSBwcm9ncmFtIGRvZXMgdGVybWluYWwgaW50ZXJhY3Rpb24sIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQKbm90aWNlIGxpa2UgdGhpcyB3aGVuIGl0IHN0YXJ0cyBpbiBhbiBpbnRlcmFjdGl2ZSBtb2RlOgoKICAgIDxwcm9ncmFtPiAgQ29weXJpZ2h0IChDKSA8eWVhcj4gIDxuYW1lIG9mIGF1dGhvcj4KICAgIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCiAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CiAgICB1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnM7IHR5cGUgYHNob3cgYycgZm9yIGRldGFpbHMuCgpUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKcGFydHMgb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuICBPZiBjb3Vyc2UsIHlvdXIgcHJvZ3JhbSdzIGNvbW1hbmRzCm1pZ2h0IGJlIGRpZmZlcmVudDsgZm9yIGEgR1VJIGludGVyZmFjZSwgeW91IHdvdWxkIHVzZSBhbiAiYWJvdXQgYm94Ii4KCiAgWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHNjaG9vbCwKaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmIG5lY2Vzc2FyeS4KRm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcywgYW5kIGhvdyB0byBhcHBseSBhbmQgZm9sbG93IHRoZSBHTlUgR1BMLCBzZWUKPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgoKICBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZG9lcyBub3QgcGVybWl0IGluY29ycG9yYXRpbmcgeW91ciBwcm9ncmFtCmludG8gcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdQptYXkgY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGgKdGhlIGxpYnJhcnkuICBJZiB0aGlzIGlzIHdoYXQgeW91IHdhbnQgdG8gZG8sIHVzZSB0aGUgR05VIExlc3NlciBHZW5lcmFsClB1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLiAgQnV0IGZpcnN0LCBwbGVhc2UgcmVhZAo8aHR0cDovL3d3dy5nbnUub3JnL3BoaWxvc29waHkvd2h5LW5vdC1sZ3BsLmh0bWw+Lgo=]]></data>
	</file>
	<file>
	  <filename>/function.admin_aliases_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKLy8KLy8gYnVpbGQgdGhlIGZvcm0KLy8KJGFsaWFzZXMgPSBhcnJheSgpOwppZiggaXNzZXQoJF9TRVNTSU9OWyR0aGlzLT5HZXROYW1lKCkuJ19hbGlhc19uYW1lcyddKSApCiAgewogICAgZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJF9TRVNTSU9OWyR0aGlzLT5HZXROYW1lKCkuJ19hbGlhc19uYW1lcyddKTsgJGkrKyApCiAgICAgIHsKCSRuYW1lID0gJF9TRVNTSU9OWyR0aGlzLT5HZXROYW1lKCkuJ19hbGlhc19uYW1lcyddWyRpXTsKCSRvcHRzID0gJF9TRVNTSU9OWyR0aGlzLT5HZXROYW1lKCkuJ19hbGlhc19vcHRpb25zJ11bJGldOwoJJGFsaWFzZXNbXSA9IGFycmF5KCduYW1lJz0+JG5hbWUsJ29wdGlvbnMnPT4kb3B0cyk7CiAgICAgIH0KICAgIHVuc2V0KCRfU0VTU0lPTlskdGhpcy0+R2V0TmFtZSgpLidfYWxpYXNfbmFtZXMnXSk7CiAgICB1bnNldCgkX1NFU1NJT05bJHRoaXMtPkdldE5hbWUoKS4nX2FsaWFzX29wdGlvbnMnXSk7CiAgfQplbHNlCiAgewogICAgJHRtcCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdhbGlhc2VzJyk7CiAgICBpZiggJHRtcCApCiAgICAgIHsKCSRhbGlhc2VzID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgICAgIH0KICB9CiRzbWFydHktPmFzc2lnbignYWxpYXNlcycsJGFsaWFzZXMpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1zdGFydCcsJHRoaXMtPkNHQ3JlYXRlRm9ybVN0YXJ0KCRpZCwnYWRtaW5fc2F2ZWFsaWFzZXMnLCRyZXR1cm5pZCkpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwoKZWNobyAkdGhpcy0+UHJvY2Vzc1RlbXBsYXRlKCdhZG1pbl9hbGlhc2VzX3RhYi50cGwnKTsKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_embedding_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJGVtYmVkX21vZGVzID0gYXJyYXkoKTsKJGVtYmVkX21vZGVzWydub25lJ10gPSAkdGhpcy0+TGFuZygnbm9uZScpOwokZW1iZWRfbW9kZXNbJ3NtYXJ0J10gPSAkdGhpcy0+TGFuZygnc21hcnQnKTsKJGVtYmVkX21vZGVzWydzaXplbGltaXQnXSA9ICR0aGlzLT5MYW5nKCdwcm9tcHRfZW1iZWRfc2l6ZWxpbWl0Jyk7CiRlbWJlZF9tb2Rlc1snc21hcnRfbGltaXRlZCddID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9lbWJlZF9zbWFydGxpbWl0ZWQnKTsKJGVtYmVkX21vZGVzWyd0eXBlJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X2VtYmVkX3R5cGUnKTsKJHNtYXJ0eS0+YXNzaWduKCdlbWJlZF9tb2RlcycsJGVtYmVkX21vZGVzKTsKJHNtYXJ0eS0+YXNzaWduKCdlbWJlZF9tb2RlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnZW1iZWRfbW9kZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdlbWJlZF9zaXplbGltaXQnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWJlZF9zaXplbGltaXQnKSk7CiRzbWFydHktPmFzc2lnbignZW1iZWRfdHlwZXMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdlbWJlZF90eXBlcycpKTsKCiRzbWFydHktPmFzc2lnbignZm9ybXN0YXJ0JywkdGhpcy0+Q0dDcmVhdGVGb3JtU1RhcnQoJGlkLCdhZG1pbl9lbWJlZGRpbmdfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2VtYmVkZGluZ190YWIudHBsJyk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_general_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKCiR0bXAgPSBhcnJheSgpOwokdG1wWyd0bCddID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9sb2NfdG9wbGVmdCcpOwokdG1wWyd0YyddID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9sb2NfdG9wY2VudGVyJyk7CiR0bXBbJ3RyJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X2xvY190b3ByaWdodCcpOwokdG1wWydjbCddID0gJHRoaXMtPkxhbmcoJ3Byb21wdF9sb2NfY2VudGVybGVmdCcpOwokdG1wWydjJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X2xvY19jZW50ZXInKTsKJHRtcFsnY3InXSA9ICR0aGlzLT5MYW5nKCdwcm9tcHRfbG9jX2NlbnRlcnJpZ2h0Jyk7CiR0bXBbJ2JsJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X2xvY19ib3R0b21sZWZ0Jyk7CiR0bXBbJ2JjJ10gPSAkdGhpcy0+TGFuZygncHJvbXB0X2xvY19ib3R0b21jZW50ZXInKTsKJHRtcFsnYnInXSA9ICR0aGlzLT5MYW5nKCdwcm9tcHRfbG9jX2JvdHRvbXJpZ2h0Jyk7CiRzbWFydHktPmFzc2lnbignY3JvcHRvZml0X2xvY3MnLCR0bXApOwokc21hcnR5LT5hc3NpZ24oJ2NhY2hlX2FnZScsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2NhY2hlX2FnZScpKTsKJHNtYXJ0eS0+YXNzaWduKCdjYWNoZV9wYXRoJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnY2FjaGVfcGF0aCcsIGNtc19qb2luX3BhdGgoJ3VwbG9hZHMnLCAnXycuJHRoaXMtPkdldE5hbWUoKSkpKTsKJHNtYXJ0eS0+YXNzaWduKCdpbWFnZV91cmxfcHJlZml4JywkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfdXJsX3ByZWZpeCcpKTsKJHNtYXJ0eS0+YXNzaWduKCdjcm9wdG9maXRfZGVmYXVsdF9sb2MnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdjcm9wdG9maXRfZGVmYXVsdF9sb2MnLCdjJykpOwokc21hcnR5LT5hc3NpZ24oJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicsJHRoaXMtPkdldFByZWZlcmVuY2UoJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicpKTsKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX2dlbmVyYWxfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwokc21hcnR5LT5hc3NpZ24oJ3NpbGVudCcsJHRoaXMtPkdldFByZWZlcmVuY2UoJ3NpbGVudCcsMCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX2dlbmVyYWxfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/function.admin_resizing_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKZWNobyBfX0ZJTEVfXzsKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/function.admin_responsive_tab.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKaWYoICEkdGhpcy0+Q2hlY2tQZXJtaXNzaW9uKCdNb2RpZnkgU2l0ZSBQcmVmZXJlbmNlcycpICkgcmV0dXJuOwoKJHNtYXJ0eS0+YXNzaWduKCdyZXNwb25zaXZlJywkdGhpcy0+R2V0UHJlZmVyZW5jZSgncmVzcG9uc2l2ZScsMSkpOwokc21hcnR5LT5hc3NpZ24oJ3Jlc3BvbnNpdmVfYnJlYWtwb2ludHMnLCR0aGlzLT5HZXRQcmVmZXJlbmNlKCdyZXNwb25zaXZlX2JyZWFrcG9pbnRzJykpOwoKJHNtYXJ0eS0+YXNzaWduKCdmb3Jtc3RhcnQnLCR0aGlzLT5DR0NyZWF0ZUZvcm1TdGFydCgkaWQsJ2FkbWluX3Jlc3BvbnNpdmVfdGFiJykpOwokc21hcnR5LT5hc3NpZ24oJ2Zvcm1lbmQnLCR0aGlzLT5DcmVhdGVGb3JtRW5kKCkpOwplY2hvICR0aGlzLT5Qcm9jZXNzVGVtcGxhdGUoJ2FkbWluX3Jlc3BvbnNpdmVfdGFiLnRwbCcpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/help.inc</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+CjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdheSB0byBwcm9jZXNzLCBhbmQgZGlzcGxheSBpbWFnZXMgb24geW91ciB3ZWIgcGFnZS4gIEl0IGFsbG93cyBzaW1wbGUgaW1hZ2UgcHJvY2Vzc2luZywgYW5kIHdhdGVybWFya2luZy4gIFRoaXMgbW9kdWxlIG1ha2VzIGRpc3BsYXlpbmcgcHJvY2Vzc2VkIGltYWdlcyBvbiB5b3VyIHdlYnNpdGUgdHJpdmlhbC4gIEl0IGFsc28gcHJvdmlkZXMgZmVhdHVyZXMgdG8gaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2UgcmF0aW5nIG9mIHlvdXIgd2Vic2l0ZSwgbWFraW5nIHlvdXIgd2Vic2l0ZSBwb3dlcmZ1bCBhbmQgZmFzdCBhdCB0aGUgc2FtZSB0aW1lLjwvcD4KPGgzPkZlYXR1cmVzPC9oMz4KPHVsPgo8bGk+UG93ZXJmdWwsIGJ1dCBzaW1wbGUgdG8gdXNlIGltYWdlIGZpbHRlcmluZyBhbmQgcHJvY2Vzc2luZy4gRmlsdGVyaW5nIGluY2x1ZGVzOgogIDx1bD4KICAgIDxsaT5CbHVyPC9saT4KICAgIDxsaT5CcmlnaHRuZXNzPC9saT4KICAgIDxsaT5Db2xvcml6ZTwvbGk+CiAgICA8bGk+Q29udHJhc3Q8L2xpPgogICAgPGxpPkNyb3A8L2xpPgogICAgPGxpPjxzdHJvbmc+Q3JvcCBUbyBGaXQ8L3N0cm9uZz48L2xpPgogICAgPGxpPjxzdHJvbmc+UmVzaXplIFRvIEZpdDwvc3Ryb25nPjwvbGk+CiAgICA8bGk+RWRnZSBEZXRlY3Rpb248L2xpPgogICAgPGxpPlNoYXJwZW48L2xpPiAKICAgIDxsaT5FbWJvc3M8L2xpPiAKICAgIDxsaT5HcmF5c2NhbGU8L2xpPgogICAgPGxpPk1lYW4gUmVtb3ZhbDwvbGk+CiAgICA8bGk+TmVnYXRlPC9saT4KICAgIDxsaT5QaXhlbGF0ZTwvbGk+CiAgICA8bGk+UmVmbGVjdGlvbjwvbGk+CiAgICA8bGk+UmVzaXplPC9saT4KICAgIDxsaT5Sb3VuZGVkIENvcm5lcnM8L2xpPgogICAgPGxpPlJvdGF0ZTwvbGk+CiAgICA8bGk+U2VsaWN0aXZlIEJsdXI8L2xpPgogICAgPGxpPlNtb290aDwvbGk+CiAgICA8bGk+V2F0ZXJtYXJrPC9saT4KICA8L3VsPgo8L2xpPjxici8+CjxsaT5TbWFydCBkZXRlY3Rpb24gb2YgaW1hZ2VzLiAgU3BlY2lmeSBhYnNvbHV0ZSBVUkxTLCBhYnNvbHV0ZSBwYXRocywgb3IgZmlsZXMgcmVsYXRpdmUgdG8geW91ciByb290IGluc3RhbGxhdGlvbi48L2xpPgo8bGk+QXV0b21hdGljIGRvd25sb2FkaW5nLCBjYWNoaW5nLCBwcm9jZXNzaW5nLCBhbmQgcmUtY2FjaGluZyBvZiBpbWFnZXMgZnJvbSByZW1vdGUgd2Vic2l0ZXMuPC9saT4KPGxpPlNtYXJ0IGF1dG9tYXRpYyByZXNpemluZyAoYXV0b21hdGljYWxseSByZXNpemUgdG8gZGVzaXJlZCB3aWR0aCBhbmQgaGVpZ2h0IGJlZm9yZSBzZXJ2aW5nIHRoZSBpbWFnZS4uLiByZXNpemluZyB0byB3aWR0aCBBTkQgaGVpZ2h0IGRvZXMgYSBjcm9wIHRvIGZpdC4gPGVtPihqdXN0IHNwZWNpZnkgYSB3aWR0aCwgYW5kL29yIGhlaWdodCBwYXJhbWV0ZXIgdG8gdGhlIENHU21hcnRJbWFnZSB0YWcuKTwvZW0+PC9saT4KPGxpPkF1dG9tYXRpY2FsbHkgcmVhZHMgaW1hZ2UgRVhJRiBpbmZvcm1hdGlvbiBhbmQgY29ycmVjdHMgdGhlIG9yaWVudGF0aW9uLjwvbGk+CjxsaT5JbWFnZSBjaGFuZ2UgZGV0ZWN0aW9uLCBpZiB0aGUgbWFzdGVyIGltYWdlIGlzIGNoYW5nZWQgc2NhbGVkIGltYWdlcyB3aWxsIGJlIHJlZ2VuZXJhdGVkLiAoc2VlIHRoZSBub3RpbWVjaGVjayBwYXJhbWV0ZXIgdG8gZGlzYWJsZSB0aGlzIGJlaGF2aW9yKS48L2xpPgo8bGk+U21hcnQgYXR0cmlidXRlIGdlbmVyYXRpb24gZm9yIGltYWdlcy48L2xpPgo8bGk+UHJvY2Vzc2VkIGltYWdlcyBhcmUgY2FjaGVkIG9uIHRoZSBzZXJ2ZXIgZm9yIGZhc3RlciBzZXJ2aW5nLjwvbEk+CjxsaT5UaGUgYWJpbGl0eSB0byB1c2UgYSBzZXBhcmF0ZSBVUkwgKENETikgZm9yIHNlcnZpbmcgaW1hZ2VzPC9saT4KPGxpPkltYWdlIHByb2Nlc3NlcyBjYW4gYmUgY29tYmluZWQsIGFuZCBhcmUgZXhlY3V0ZWQgaW4gb3JkZXIuPC9saT4KPGxpPlByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZW50IG9mIHRoZSB3ZWIgcGFnZSB0byBtaW5pbWl6ZSBzcGFjZS48L2xpPgo8bGk+UHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gbGltaXQgZW1iZWRkaW5nIGltYWdlcyBzbWFydGx5LCBvbmx5IHRvIGJyb3dzZXJzIHRoYXQgYXJlIGNhcGFibGUgb2YgdW5kZXJzdGFuZGluZyB0aGVtLjwvbGk+CjxsaT5Db21iaW5lIGNvbW1vbmx5IHVzZWQgYXJndW1lbnRzIGludG8gbmFtZWQgYWxpYXNlcy48L2xpPgo8bGk+QWxzbyB3b3JrcyB3aXRoaW4gc3R5bGVzaGVldHMgdmlhIHRoZSB7Y21zX3N0eWxlc2hlZXR9IHRhZy48L2xpPgo8bGk+VGhlIGFiaWxpdHkgdG8gYXV0b21hdGljYWxseSBwcm9jZXNzIGltYWdlcyBpbnNpZGUgYSBibG9jayBvZiBodG1sIGNvZGUgdXNpbmcgdGhlIHtjZ3NpX2NvbnZlcnR9IGJsb2NrIHRhZy48L2xpPgo8bGk+TW9yZS4uLjwvbGk+CjwvdWw+CjxoMz5XaHkgc2hvdWxkIEkgdXNlIGl0PzwvaDM+CjxwPlRoZXJlIGFyZSBmb3VyIHZlcnkgaW1wb3J0YW50IHJlYXNvbnMgdG8gdXNlIHRoaXMgcGx1Z2luOjwvcD4KPHVsPgogIDxsaT5QZXJmb3JtYW5jZTogIFVzaW5nIGltYWdlIGVtYmVkZGluZyAoZXZlbiBpZiBubyBvdGhlciBmdW5jdGlvbnMgYXJlIHVzZWQpIHJlc3VsdHMgaW4gZmV3ZXIgcmVxdWVzdHMuICBNb3N0IGJyb3dzZXJzIG9ubHkgcGVyZm9ybSB0d28gdG8gZm91ciBzaW11bHRhbmVvdXMgcmVxdWVzdHMgdG8gdGhlIHNhbWUgZG9tYWluIGF0IHRoZSBzYW1lIHRpbWUuICBGb3Igd2ViIHBhZ2VzIHdpdGggbG90cyBvZiBpbWFnZXMgdGhpcyBjYW4gc2VyaW91c2x5IHNsb3cgZG93biB5b3VyIHNpdGUuPC9saT4KICA8bGk+UGVyZm9ybWFuY2U6ICBFdmVuIGlmIG5vdCB1c2luZyBlbWJlZGRpbmcsIHNlbmRpbmcgbGFyZ2UgaW1hZ2VzIHRvIHlvdXIgdmlzaXRvcnMsIGFuZCBhc2tpbmcgdGhlaXIgYnJvd3NlciB0byBzY2FsZSB0aGUgaW1hZ2UgaXMgdmVyeSB2ZXJ5IHNsb3cuPC9saT4KICA8bGk+U2VjdXJpdHk6ICBDR1NtYXJ0SW1hZ2UgY2FjaGVzIGl0cyBpbWFnZXMgaW4gYSBzZXBhcmF0ZSBkaXJlY3RvcnksIHRoZXJlYnkgaGlkaW5nIHRoZSBvcmlnaW5hbCAocGVyaGFwcyBjb3B5cmlnaHRlZCkgaW1hZ2VzIGZyb20geW91ciB1c2Vycy4gIElmIGVtYmVkZGluZyBpcyB1c2VkIHRoZXkgY2FudCBldmVuIGZpbmQgdGhlIGNhY2hlZCBsb2NhdGlvbik8L2xpPgogIDxsaT5TaW1wbGljaXR5OiAgVGhlIGZpbHRlcmluZyBjYXBhYmlsaXRpZXMgb2YgQ0dTbWFydEltYWdlIGFsbG93IHlvdSB0byBhdXRvbWF0aWNhbGx5IHByb2Nlc3MgaW1hZ2VzIGZvciBjb25zaXN0ZW50IGFuZCBzZWN1cmUgZGlzcGxheSwgd2l0aG91dCBzaXRlIGVkaXRvcnMgaGF2aW5nIHRvIHBsYXkgd2l0aCB0aGVtLiAgVGhleSBjYW4gdXBsb2FkIGxhcmdlciBpbWFnZXMsIGFuZCB5b3VyIHNpdGUgd2lsbCBqdXN0IGhhbmRsZSB0aGVtIHByb3Blcmx5LjwvbGk+CjwvdWw+CjxoMz5JbWFnZSBFbWJlZGRpbmc8L2gzPgogIDxwPkltYWdlIGVtYmVkZGluZyBlbmNvZGVzIHRoZSBpbWFnZSBpbnRvIGEgZGF0YSB1cmkgd2hpY2ggaXMgZW1iZWRkZWQgZGlyZWN0bHkgaW4gdGhlIHBhZ2UgKG9yIHN0eWxlc2hlZXQpIGNvbnRlbnQuICBUaGlzIHJlZHVjZXMgcmVxdWVzdHMgdGhhdCB0aGUgYnJvd3NlciBtdXN0IG1ha2UgdG8gcmVjZWl2ZSBpbWFnZXMgZnJvbSB5b3VyIHNpdGUuICBIb3dldmVyIGl0IGRvZXMgaW5jcmVhc2UgdGhlIHNpemUgb2YgdGhlIEhUTUwgcGFnZS4gIE9uIGltYWdlIGhlYXZ5IHBhZ2VzIHlvdSBzaG91bGRkIG1peCB0aGUgdXNlIG9mIGVtYmVkZGVkIGltYWdlcy48L3A+CjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gdXNlIGl0IGluIHRoZSBzYW1lIHBsYWNlIHlvdSB3b3VsZCB0aGUge2ltYWdlfSB0YWcuICBJLmU6IFNvbWV0aGluZyBsaWtlIDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyd9PC9jb2RlPi4gIFRoaXMgd2lsbCBnZW5lcmF0ZSB0aGUgaW1hZ2UgdGFnIGZvciB5b3Ugd2l0aCBubyBwcm9jZXNzaW5nLiAgQW5kIGlmIHBvc3NpYmxlLCBlbWJlZCB0aGUgaW1hZ2UgZGlyZWN0bHkgaW50byB5b3VyIGh0bWwgb3V0cHV0LjwvcD4KPHA+T2Z0ZW4gcGVvcGxlIHdhbnQgdG8gZGlzcGxheSBhIHdhdGVybWFyayBvbiB0aGUgaW1hZ2VzIHRoYXQgdGhleSBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZCB0byBwcmV2ZW50IGltYWdlIHRoZWZ0LiAgVGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUgcHJvdmlkZXMgc2V0dGluZ3MgZm9yIHlvdSB0byBjb25maWd1cmUgd2F0ZXJtYXJraW5nIGFuZCB5b3UgY2FuIGVuYWJsZSB0aGF0IHdpdGggYW55IGltYWdlIHdpdGggYSB0YWcgbGlrZSB0aGlzOiA8Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij57Q0dTbWFydEltYWdlIHNyYz0ndXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcnIGZpbHRlcl93YXRlcm1hcms9MX08L2NvZGU+LiAgVGhpcyB3aWxsIHJlYWQgdGhlIGltYWdlLCBhcHBseSB0aGUgd2F0ZXJtYXJrIGFjY29yZGluZyB0byB0aGUgc2V0dGluZ3MgaW4gQ0dFeHRlbnNpb25zLCBjYWNoZSB0aGUgYWx0ZXJlZCBpbWFnZSwgYW5kIHRoZW4gZW1iZWQgaXQgaW50byB5b3VyIG91dHB1dC48L3A+CjxwPkFsc28sIFBpY3R1cmVzIHRha2VuIGJ5IG1vZGVybiBkaWdpdGFsIGNhbWVyYXMgYXJlIG9mdGVuIHRvbyBsYXJnZSBmb3IgdXNlIG9uIGEgd2Vic2l0ZSwgdGhlcmVmb3JlIHRoZXkgbmVlZCB0byBiZSBzY2FsZWQgYmVmb3JlIGRpc3BsYXllZCBvbiB5b3VyIHBhZ2UuICBUaGlzIGNhbiBiZSBkb25lIHF1aXRlIGVhc2lseSB3aXRoIGEgdGFnIGxpa2U6IDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZycgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9J3csMzUwJ308L2NvZGU+LiAgQXMgeW91IG1heSB0aGluaywgdGhlIHdhdGVybWFyayB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIGltYWdlIGJlZm9yZSBpdCBpcyByZXNpemVkIHRvIGEgbWF4aW11bSB3aWR0aCBvZiAzMDAgcGl4ZWxzIChyZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIFRoZW4gdGhlIGFkanVzdGVkIGltYWdlIHdpbGwgYmUgY2FjaGVkLCBhbmQgaWYgdGhlIGJyb3dzZXIgYWxsb3dlcyB0aGUgaW1hZ2Ugd2lsbCBiZSBlbWJlZGRlZCBpbnRvIHRoZSBIVE1MIG91dHB1dC4gIElmIGVtYmVkZGluZyBpcyBub3QgcG9zc2libGUsIHRoZSBpbWcgdGFnIHdpbGwgY29udGFpbiB0aGUgVVJMIHRvIHRoZSBjYWNoZWQgaW1hZ2UuPC9wPgo8cD5Gcm9tIGhlcmUgeW91IGNhbiBjb21iaW5lIHRoZSBvcHRpb25zIGJlbG93IHRvIHBlcmZvcm0gYWxvdCBvZiBkaWZmZXJlbnQgZWZmZWN0cyB0byB5b3VyIGltYWdlcywgYnVpbGQgc2ltcGxlIGdhbGxlcmllcywgYW5kIGltcHJvdmUgeW91ciBzaXRlIHBlcmZvcm1hbmNlIGF0IHRoZSBzYW1lIHRpbWUuICBFbmpveSE8L3A+CjxoMz5BdXRvbWF0aWMgaW1hZ2UgcmVzaXppbmc8L2gzPgogIDxwPklmIHlvdSBzcGVjaWZ5IGEgd2lkdGgsIGFuZC9vciBhIGhlaWdodCBwYXJhbWV0ZXIsIGFuZCBkbyBub3Qgc3BlY2lmeSB0aGUgJnF1b3Q7bm9hdXRvc2NhbGUmcXVvdDsgcGFyYW1ldGVyLCB0aGUgbW9kdWxlIHdpbGwgYW5hbHl6ZSB0aGUgZmlsdGVycyB5b3UgaGF2ZSBhbHJlYWR5IHNwZWNpZmllZCwgYW5kIGlmIHRoZXJlIGlzIG5vIHJlc2l6ZSBmaWx0ZXIgYWxyZWFkeSBzcGVjaWZpZWQgYXV0b21hdGljYWxseSBhZGQgYSBmaWx0ZXIgdG8gcmVzaXplIG9yIGNyb3B0b2ZpdCB0aGUgaW1hZ2Ugb24gb3V0cHV0LiAgVGhpcyBpcyB1c2VmdWwgdG8gZG8gYXV0b21hdGljIHRodW1ibmFpbGluZyBvbiB0aGUgc2VydmVyLCBhbmQgbm90IHJlcXVpcmUgdGhlIGJyb3dzZXIgdG8gcmVzaXplIHRoZSBpbWFnZS48L3A+CiAgPHA+Q0dTbWFydEltYWdlIHdpbGwgbm9ybWFsbHkgYXV0b21hdGljYWxseSBmaWxsIHRoZSB3aWR0aCBhbmQgaGVpZ2h0IGF0dHJpYnV0ZXMgb2YgdGhlIGdlbmVyYXRlZCBpbWcgdGFnIHdpdGggdGhlIHNpemUgb2YgdGhlIGltYWdlIGdlbmVyYXRlZCBmcm9tIHRoZSBsYXN0IGZpbHRlci4gIHRoZSBub2F1dG8gcGFyYW1ldGVyIGNhbiBwcmV2ZW50IHRoaXMuPC9wPgogIDxwPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiBibHVlOyI+VGlwOjwvc3Ryb25nPiBJdCBpcyBub3JtYWxseSBjb3VudGVyLXByb2R1Y3RpdmUgdG8gc3BlY2lmeSBib3RoIGEgcmVzaXplL2Nyb3AgZmlsdGVyLCBBTkQgYSB3aWR0aC9oZWlnaHQgYXR0cmlidXRlIHVubGVzcyB5b3Ugd2FudCB0byBhYnNvbHV0ZWx5IGNvbnRyb2wgdGhlIHZhbHVlcyBvZiB0aGUgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGVzIG9uIHRoZSBpbWcgdGFnLiAgSW4gd2hpY2ggY2FzZSB5b3Ugc2hvdWxkIHVzZSB0aGUgbm9hdXRvIHBhcmFtZXRlciBpbiB0aGUgY2FsbCB0byBDR1NtYXJ0SW1hZ2UuPC9wPgogPGgzPkEgU2ltcGxlIEdhbGxlcnk8L2gzPgo8cD5UaGUgY29kZSBiZWxvdyB1c2VzIHRoZSB7Q0dTbWFydEltYWdlfSBtb2R1bGUsIGZhbmN5Ym94LCBhbmQgYSBiaXQgb2Ygc21hcnR5IG1hZ2ljIHRvIGdlbmVyYXRlIGEgc2ltcGxlIGxpZ2h0Ym94IHN0eWxlIGFsYm9tIGZyb20gYSBzdWJkaXJlY3Rvcnkgb24geW91ciB3ZWJzaXRlLCB3aGlsZSBwcm9jZXNzaW5nIHRoZSBpbWFnZXMgZm9yIHdlYiBzdGFuZGFyZHMsIGFuZCBjcmVhdGluZyB0aHVtYm5haWxzLjwvcD4KPHByZSBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjogI2RkZDsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Ij48Y29kZT48c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiAxOjwvc3Bhbj4gJmx0O3NjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiJmd0O3tsaXRlcmFsfQo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiAyOjwvc3Bhbj4galF1ZXJ5KGRvY3VtZW50KS5yZWFkeShmdW5jdGlvbigpewo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiAzOjwvc3Bhbj4gIGpRdWVyeSgnYS5mYW5jeWJveCcpLmZhbmN5Ym94KCk7CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDQ6PC9zcGFuPiB9KTsKPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNTo8L3NwYW4+IHsvbGl0ZXJhbH0mbHQ7L3NjcmlwdCZndDsKPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gNjo8L3NwYW4+IHthc3NpZ24gdmFyPSdmaWxlcycgdmFsdWU9J3VwbG9hZHMvYWxidW0vKi5qcGcnfGdsb2J9CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+IDc6PC9zcGFuPiB7aWYgY291bnQoJGZpbGVzKX0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4gODo8L3NwYW4+ICZsdDtkaXYgc3R5bGU9IndpZHRoOiAxMDAlOyBoZWlnaHQ6IDE1MHB4OyBvdmVyZmxvdzogYXV0bzsiJmd0Owo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPiA5Ojwvc3Bhbj4ge2ZvcmVhY2ggZnJvbT0kZmlsZXMgaXRlbT0nZmlsZSd9CjxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+MTA6PC9zcGFuPiAgJmx0O2EgcmVsPSdzaW1wbGVfYWxidW0nIGNsYXNzPSJmYW5jeWJveCIgaHJlZj0iPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+e0NHU21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0naCw1MDAnIG5vdGFnPTEgbm9lbWJlZD0xfTwvc3Bhbj4iJmd0Owo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjExOjwvc3Bhbj4gIDxzcGFuIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntDR1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSdoLDE1MCd9PC9zcGFuPgo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjEyOjwvc3Bhbj4gICZsdDsvYSZndDsKPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4xMzo8L3NwYW4+IHsvZm9yZWFjaH0KPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij4xNDo8L3NwYW4+ICZsdDsvZGl2Jmd0Owo8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPjE1Ojwvc3Bhbj4gey9pZn0KPC9jb2RlPjwvcHJlPjxici8+CjxwPkxldHMgdGFsayBhYm91dCB0aGlzLjwvcD4KPHA+TGluZXMgMSB0aHJvdWdoIDUgdXRpbGl6ZSBqUXVlcnkgdG8gY2FsbCBmYW5jeWJveCBvbiBhbnkgbGlua3MgdGhhdCBoYXZlIHRoZSAmcXVvdDtmYW5jeWJveCZxdW90OyBjbGFzcy4gIFRoZSBmYW5jeWJveCBqUXVlcnkgcGx1Z2luIGlzIGluY2x1ZGVkIHdpdGggdGhlIEpRdWVyeVRvb2xzIG1vZHVsZS48L3A+CjxwPkxpbmUgNiB1c2VzIGEgYnVpbHQgaW4gcGhwIGZ1bmN0aW9uIGNhbGxlZCBnbG9iLCBhbmQgc29tZSBzbWFydHkgbWFnaWMgdG8gZmluZCBhbGwgb2YgdGhlIEpQRyBmaWxlcyBpbiB0aGUgdXBsb2Fkcy9hbGJ1bSBkaXJlY3RvcnkgYmVsb3cgb3VyIGluc3RhbGxhdGlvbiByb290LjwvcD4KPHA+TGluZSA3IGlzIGEgdGVzdCB0byBzZWUgaWYgYW55IGZpbGVzIHdlcmUgYWN0dWFsbHkgZm91bmQgaW4gdGhlIGFzc2lnbiBsaW5lIHN0YXRlZCBhYm92ZS4gIFRoaXMgaWYgc3RhdGVtZW50IGlzIGNsb3NlZCBvbiBsaW5lIDE1LjwvcD4KPHA+TGluZSA4IG9wZW5zIHVwIGEgZGl2IHRvIGNvbnRhaW4gb3VyIGFsYnVtLiAgRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGV4YW1wbGUgdGhlIHN0eWxlcyB3ZXJlIGluY2x1ZGVkIGlubGluZSwgaG93ZXZlciBhIGNsYXNzIHRoYXQgd2FzIGRlZmluZWQgaW4gdGhlIHN0eWxlc2hlZXQgc2hvdWxkIGJlIHVzZWQgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuICBUaGUgY2xvc2luZyB0YWcgZm9yIHRoaXMgZGl2IGlzIG9uIGxpbmUgMTQsIGp1c3QgYmVmb3JlIHRoZSA8Y29kZT57L2lmfTwvY29kZT4uPC9wPgo8cD5MaW5lIDkgYmVnaW5zIGEgbG9vcCB0aHJvdWdoIGFsbCBvZiB0aGUgZmlsZXMgdGhhdCB3ZSBmb3VuZCBpbiB0aGUgZGlyZWN0b3J5LiAgVGhpcyBsb29wIGlzIGNsb3NlZCBvbiBsaW5lIDEzLjwvcD48YnIvPgo8cD5MaW5lcyAxMCBhbmQgMTEgYXJlIHRoZSByZWFsIG1hZ2ljLiAgSGVyZSB3ZSBjcmVhdGUgYSBsaW5rIHdpdGggY2xhc3MgJnF1b3Q7ZmFuY3lib3gmcXVvdDsgYW5kIGFkZHMgdGhlIDxjb2RlPnJlbDwvY29kZT4gYXR0cmlidXRlIHNvIHRoYXQgZmFuY3lib3gga25vd3MgdGhhdCBhbGwgb2YgdGhlc2UgaW1hZ2VzIHNob3VsZCBiZSBncm91cGVkIHRvZ2V0aGVyIGFzIG9uZSBhbGJ1bSBhbmQgYWxsb3cgY2xpY2tpbmcgYmV0d2VlbiB0aGUgaW1hZ2VzLiAgVGhlbiBjb21lcyB0aGUgcGFydCB3aGVyZSB3ZSBkZWZpbmUgb3VyIGltYWdlcy4KPHA+V2Ugc3VwcGx5IHRoZSAkZmlsZSB2YXJpYWJsZSB0byB0aGUgc3JjIGFyZ3VtZW50IG9mIHRoZSA8Y29kZT57Q0dTbWFydEltYWdlfTwvY29kZT4gdGFnIHNvIHRoYXQgaXQgd2lsbCBnZXQgdGhlIG5hbWUgb2YgZWFjaCBtYXRjaGVkIGpwZWcgYXMgdGhlIGxvb3AgaXMgZXhlY3V0ZWQuPC9wPgo8cD5UaGUgaW1hZ2VzIEkgd2FzIHRlc3Rpbmcgd2l0aCB3ZXJlIHVwbG9hZGVkIGZyb20gbXkgaXBvZCwgYW5kIGFsbCBzZWVtZWQgdG8gYmUgcm90YXRlZCA5MCBkZWdyZWVzIGNvdW50ZXIgY2xvY2tlaXMuICBTbyB0aGUgZmlyc3QgZmlsdGVyIEkgYWRkZWQgd2FzIHRvIHJvdGF0ZSB0aGUgaW1hZ2UgOTAgZGVncmVlcyBjbG9ja3dpc2UgdmlhIHRoZSA8Y29kZT5maWx0ZXJfcm90YXRlPTkwPC9jb2RlPiBhcmd1bWVudC4gVGhlIGltYWdlcyB0aGVuIG5lZWRlZCB0byBoYXZlIHRoZSB3YXRlcm1hcmsgb24gdGhlbSA8ZW0+KHRoaXMgaXMganVzdCBmb3IgZXhhbXBsZSBwdXJwb3NlcywgSSBkb250IHRoaW5rIGFueWJvZHkgd291bGQgcmVhbGx5IHN0ZWFsIHRoZSBibHVycnkgcGljdHVyZXMgZnJvbSBteSBpcG9kIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzKTwvZW0+LCBzbyBJIGFkZGVkIHRoZSA8Y29kZT5maWx0ZXJfd2F0ZXJtYXJrPTE8L2NvZGU+IHBhcmFtZXRlci4gIEFuZCBmaW5hbGx5LCBiZWNhdXNlIGV2ZW4gdGhlIGlwb2QgdG91Y2ggY2FuIHRha2UgcGljdHVyZXMgdGhhdCBhcmUgdG9vIGJpZyB0byBkaXNwbGF5IG9uIHRoZSBzY3JlZW4gSSB3YW50ZWQgdG8gcmVzaXplIHRoZW0gdG8gYSBtYXhpbXVtIGhlaWdodCBvZiA1MDAgcGl4ZWxzLiAgVGhpcyB3YXMgYWNjb21wbGlzaGVkIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3Jlc2l6ZT1oLDUwMDwvY29kZT4gYXJndW1lbnQuICBXZSBhZGQgdGhlIDxjb2RlPm5vZW1iZWQ9MTwvY29kZT4gYXJndW1lbnQgYmVjYXVzZSBmYW5jeWJveCBkb2VzIG5vdCB1bmRlcnN0YW5kIGhvdyB0byBkaXNwbGF5IGVtYmVkZGVkIGltYWdlcyBpbiBpdHMgcG9wdXAgd2luZG93LiAgVGhpcyBkZWZpbmVkIHRoZSBpbWFnZSB0aGF0IHdlIHdlcmUgZ29pbmcgdG8gbGluayB0by48L3A+CjxwPk5leHQgd2UgbmVlZGVkIHRvIGRlZmluZSB0aGUgdGh1bWJuYWlsIGltYWdlIHRoYXQgd2UgYXJlIGdvaW5nIHRvIHVzZSBpbiB0aGUgZ2FsbGVyeS4gIFRoaXMgY2FsbCB0byA8Y29kZT57Q0dTbWFydEltYWdlfTwvY29kZT4gaXMgYWxtb3N0IGlkZW50aWNhbCB0byB0aGUgZmlyc3QgY2FsbCwgZXhjZXB0IHRoYXQgd2UgdXNlIGEgZGlmZmVyZW50IGhlaWdodCB2YWx1ZSAoMTUwIHBpeGVscykgZm9yIHRoZSB0aHVtYm5haWwsIGFuZCBmb3Iga2lja3MgSSBjb252ZXJ0ZWQgdGhlIHRodW1ibmFpbCB0byBncmF5c2NhbGUgPHN0cm9uZz5iZWZvcmU8L3N0cm9uZz4gYXBwbHlpbmcgdGhlIHdhdGVybWFyay4gIEkgYWxzbyByZW1vdmVkIHRoZSBub2VtYmVkPTEgYXJndW1lbnQgc28gdGhhdCB0aGUgc3lzdGVtIGNvdWxkIGVtYmVkIHRoZSBpbWFnZSBpbiB0aGUgSFRNTCBvdXRwdXQgaWYgdGhlIGJyb3dzZXIgc3VwcG9ydGVkIGl0LiAgVGhlIHNjcmVlbiBjYXB0dXJlIGJlbG93IHNob3dzIHRoZSBlZmZlY3QuPC9wPgo8aW1nIHNyYz0iZGF0YTppbWFnZS9qcGVnO2Jhc2U2NCwvOWovNEFBUVNrWkpSZ0FCQVFFQVlBQmdBQUQvMndCREFBZ0dCZ2NHQlFnSEJ3Y0pDUWdLREJRTkRBc0xEQmtTRXc4VUhSb2ZIaDBhSEJ3Z0pDNG5JQ0lzSXh3Y0tEY3BMREF4TkRRMEh5YzVQVGd5UEM0ek5ETC8yd0JEQVFrSkNRd0xEQmdORFJneUlSd2hNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpML3dBQVJDQUNoQWZBREFTSUFBaEVCQXhFQi84UUFIQUFBQVFRREFRQUFBQUFBQUFBQUFBQUFBQVFGQmdjQkFnTUkvOFFBVUJBQUFnRURBZ01FQndRR0J3UUlCUVVBQVFJREFBUVJCU0VHRWpFVFFWRmhCeFFpY1lHUnNTTXlvZEVWTTBKU2tzRVdKVFJpY25Qd0pGV0M0UmMyUTFOV2c2THhKalZFWTdKa2s3UEMwdi9FQUJnQkFRRUJBUUVBQUFBQUFBQUFBQUFBQUFBQkFnTUUvOFFBSXhFQkFRQUNBZ01BQWdJREFBQUFBQUFBQUFFQ0VTRXhBeEpCRXlJalFsRmhrZi9hQUF3REFRQUNFUU1SQUQ4QXRmVzlWdWJLNzAreHNrZzladnBHVlpMZ25zMENqSnlCdVQ0Q3RMdlZMblRMRlk5UXZOTWkxR1orV0RJY1J1TWdkTnpuZjZWMDRoazBYMWFLRFd3dll5TWVSbVZzS3c3K1pmdW56cUozTWwxSnd0SUhrdUpyTk5XZ1d5bXVBZTBlTG1IWE81R2VoTkJOTHJYTktzWkhqdXRRdDRYUndqSzc0SVlqT01lNGcxdEhyV2x5M3dzbzlRdG51V0dSRXNnSk8yZHZoVEZGREhKeEx4Z3p4cXg3R05RV1hPM1pIYjhCVFhERXFjSjhGdXNZVnhlUUhJWEIzNXMvT2dsYjhTNkpITzBNbXFXcVNxNWpaV2ZCRERZZytGYzU5U3VFNHRzZE9SazlXbnM1Wm05bkpMS1JqQjhLaTlycWVtVzJuOFNXZDJCSmNUMzF3RWdFUlpwYzdBREE4ZmxTcXppdU5MMW5oYzZoem93MDU3VnBDQ1FKU1JoU2U0MEVtbTEzU2JhOTlUbTFHMmp1TWdkbTBnQkJQY2ZBKytuQ3E0c2tnajBlNTBiVnRRZTF1WkpYV2UzTmlIZVFzMnpxMk10bklPZTZyQnRvUloyVVVEU3M2d3hoREkvVWhSakorVkEyWGV2SmE4UzJXa2xjaWRDWGsvY1kvY0h4NVcvQ2o5SlhQOUxwTk55bnF5NmY2d0J5NzgvUGpyNFk3cWl6eDZ2cSttYWxxVnJwMGJDN25GemJ6dGNjcm9zUjlnQk1iOUQzNzgxT1ZycU1WMXhkWmFpd1pJZFEwb0pFeFU0TW5NU1V6M0VZTkFzNGI0cHRkUjB5elcrdjdVYWxNR3pFQ0ZKUE1RQmp4d0J0VDdIZVcwMXhjVzhjeU5OYjQ3WkIxVEl5TS9DcTd0N2l6dWZSN0RvMGNiU2FzLzZxRVF0enE1Zkt2bkd3eHZuTlBkdmZ3Nkx4TnJhNmc3cTl6SEEwR0kyYnRpSStVOHVCdWM5MUJJUDA3cFF0bzdrNmhiaUdWR2RITFlES3B3eEh1SkFybWVKTkVXS0tRNnJhQkpTUWg3UWIvbDhhaDJnUmgyNE1FaUJnSTd0c01NNElKSU5MQmJ4Zm8zanI3RlAxMG1QWUhkSGtmanZRVGtISXlEa0dpa09pa25RZE9Kem4xV0xPZjhBcGRRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGUmx1RHJmbDVGbUVrWVVLb21WaVFBUDdyS1B3cVRVVlpkSlpzd2FOd3BiYVBmZXVMY1N5U0JaRVJPaUlybFNRQWNuOWdkU2FmNktLaWlqclJSUUZGSHdveDVVQ0RTOUxUU3hkaU9WNVBXYmw3bHVZQWNwYkdRTWQyMUw2TWVWR0Q0VUJrK05GR0Q0R2pCOERRRkZHRDRHczRQZ2FER1RSbXM0UGdheGcrQm9DaWlqNFVCUlI4S1BoUUZGR1BLakhsUUZGR0Q0R2pCOERRRkZHRDRHakI4RFFGRlp3ZkExakI4RFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVZUGdhUGhRRkZGR0NUakc5QVVWbmtiOTF2bFJ5dCs2M3lvTVVWbmxiOTF2bFJnK0IrVkJpaWpCOEt6eXQrNmZsUVlvckpVanFDUGVLQXJIb3BQd29NVVZubGI5MXZsUVZZZFZJK0ZCaWlzNFBnZmxRQVQwQlB1RkJpaXM4amZ1TjhqUnlQOEF1TjhxREZGWktzT3FrZThVY2pmdU44cURGRlo1Ry9jYjVVY2ovdU44alFZb3JQSTM3cmZLamxiOTF2bFFZb3JQSzM3cCtWQUJQUUUrNFVHS0t6eXQrNjN5ckZBVVVVVURicVRFU3g0Skd4NmUra1hPMzd6Zk9sbXFmclkvOEordE4rZDhVRzVrWWsrMDN6ckhPeC9hYjUxcG5ldFNhRGN5UG43emZNMXpaM3hzemZNMFpOYzNvTW1SL3dCOXY0alhNeVAvQU40L3pOWUpyVW56b01OSkorKzM4UnJpOGttLzJqL3hHdDJKcE8yMUJocDVmKzhmK0kxMzRSMUE2a1k3ajJoOXN5WUxFN0NrTHR2MXhYSGdlZG9XZ2p4ekNTK2tRa2RCMU5CTTd4MkYzSjdSd0NOcytWY0M3ZDdINTExdnY3Wko4UHBTVmo0MEc1ZHNmZmI1MGRvL2V6Zk90TTVyR2ZIclFiRjIvZWI1MW9aSHo5OXZtYXh6QUhIU3ViTUQzMEdXa2NmdHQvRWEwTXIvQUw3L0FNUnJSbTNyUW5GQnNaWk1nYzdmeEd1VHpTRDl0LzRqUVczcmk1b05YbWtBMmxmK0kwNmNNeU0rcXlndTdBUW5xU2YyaFRMS2RzMDY4S0hPclQvNVBYL2lGQTROSTJUN1I2bnZySGFzUDJtK2RJM3VWRHZueElybWJ0UjNpZ2NSTTNUbWI1MW50Vy9mYjUwMEhVWTFKSE91UjRtdWI2cW1OblgrSVVEMFozRFlMSEdPdWF3YnZsNnNmblVOMURpcTFzY21hZFZ4M2MxTTQ5SWVselNkbjZ5QWZOcUNmM2VzcmJxVHprbnVxUDNuRkZ3U1FraEh1cU5YWEVsczhxWm1UczMyRDgydzk5STVOUnNaRWtjWDBhaGNrc1BMejhhQ1FXK3U2cnFsekxhNmRJSlpvd0RKelB5ckdQTStQbDFwMWcvU2ZOT3Q1cTBrVFE0TGRpQUZIbWM1cXNMVGk2YmhKQjZ0SDYyOXlyT3N6ZXlEL2UvR21IVXVKZUlicTZhU1NTNVJnUVNlN0k2SHBRWHh4UnFWN29jVnJjV2NzenFVVm1TWWhsa0J4dnR2bWwzRkZ5N2VqdlVaMUxJL1pxUmdrRmZiVGJOZWZoeFZ4TnFOM0hjM2Q5ZTMwdzI3TmwyS2c1SGRqOEt0NXRSdk5VOUNtcTNWN0QyTndTUXlrNXhoMC9HZ3FtYTh1aHE4eWk5dVZSbEJHSm14dDhhYzlPdmJpTy9RdGUzUElSZzgwckhjL0dtSjVRK3AyNVljM1BFUnYxR0tjWW1DVHh0eUhQZmdaelFMZGV1cnY5Slcwa2Q1Y3NuWjQvWE1Od1Q0R3JEMEtHYTZ0cktkcHBzUEdySDJ6NGUrcTAxUW5sZ3dDQUdJcXp1Q3B1MDRldFhPK0U1Q2ViTzRQL09nbDh6eGlHT0ZwQ0M1NVZHKzV4bnI4S3I3aXkya2kwL1VwVXZycVA3Rjh4aVRBSldSUU1EcmpHYzc5Y1ZON216bnVSYnNzVGtKTXNnSUhVak9LWU9MOU5kcmFlTllwaFBMYnlvaUlvOXRoeWxWM0JQZWVtS0JyOURkeEpKZmFyYnp5U3lFd0NSUzdsc2R4RzU4NmV1STdDd3V0T251bkVndllMZGxpbEU3cmdEZm9Eang2aW1EMFZXOTNZNnpyRU1rYjI4NldXTVNqN2pjM2VLYk5WdCtKRnRuZTUxN3RvU3BMeHBiZ0Fqd3ozVURYcGRsZGF2cU1LRzR1Skk0b0pKR2dhNGRPMWJLcU1rSG9NNXA4czMvQUtObTRqdTdxNWdnZVJXUWM3U3RKN0lKVUU5d09mY01aOGFqZWdhdU5LMSswRnhJa2NFc1VxU083WUM0NVdCejhLYytPTFJMbzJlcTJjNGx0K1Rzbk1XNHh6WkRlZWM0K1ZCcHFYRmtwZGhienl4WUo1RldSdVlmSHAxOHFlL1NWZDNJOUhIQ2N5elRSeXlNcGNyS1FUOWoza0hlb0J5VzRraGNPNkJUek1yc0R5TjQ1eDVEM1ZPdlNTREo2Tk9EOGtra3BrbnIrcG9LcHViNitWVllYdDBOOS90My9PdTl0cVY3bFZON2NrZjU3L25TZlVFVDFJeUkyU2tuSytEME5iUjJGNHVuUjZpMXZKNm04blpyTVI3SllkUm54b0gyMTFiVTdRTzl0cVYxRTdxVmJsbEp5cDd0elRkYzM5NmNrWHQxelpIU2R0L3hvaWxIWURmcDFwSGRrTmJ0bkIzSFh1b0YxcmRhZ0M2UzNOMnUzUnBuMi9Hc1RYbDR1Q3Q3YytYMjdmblNmUVZTVzVaWldrN0lKelB5QUZnTWpwbnJXOThxTEk1aDUreTVqeWw4Wng1NG9POXRxTitqaHhlM0lLbktudFcyUGQzMUtSZFNYc1NYME54T2dmYVdOWlg1WTVSMVViOUQ5NGU4anVxRnBJQXVOcytkUFhEK3BSMkY4ZTNhUVdjdzVaa1h3N21IbXAzeDNqYnZvSmJhVDNNRFJTdGNURWcvdFNzZlB4cVZlbWEzdUg0U3NieTFtbFJ1MVJXYU55dlZXSTZlZGQ3UGh5RFZFaVRuVlpjWVlqOXZ3T2ZkaXM4Y3pUM0dnMi9EcldydGNDTkp1MVpoK3lTdUFQRWp2b0thNFU5ZkhGMmpjOTVjbFBYb1F5dE94eU9jZFJtdlV4Nm1xUTRXNFdnaDFxd2x1VW5XZU80UjFWbUM0SVlIY1kvblYzMEJSUlJRTldyZnJZdjhKK3ROMmFjZFcvV3hmNFQ5YWJHb01rNzFyellyREhHK0RURnhKeEhIb05vc2trTHVIeUF5NHdNVUQ0eml1WmtxcFg5Szk3SEovWjdSeDAzTENsTmg2VzRUSVYxR3pDb1RzMEJKSStCb0xOTGQ5YU14eDAycVBhZnhsb3VvUks2WHFLemZzTm5tSHdwYituTk56L2JJL2tmeW9IRW5hdUQwUTNVVjFFSllKQkloSkFJMjZWaVEwQ1Z6dmsrTkxPQTJIcXlzZWtsM0tVYjk0WjZqeXBqMTErVFRqdXdWcEVWc0hIc2xnQ0trdkRLQkpyZU5SaFZrT0I0YlVEM3FHMTVKOFBwU1VtbFYvd0QyeVQ0ZlNraG9OUWE1VFRpQ0o1Q0NRZ3pnZFRYVHY2VkZPTmRURnBwZ3RSS1kzdVR5bGhuT1BEYnhvR0RXUFNSUGIzVWkybHFCR3UzMjNYUGYwcEZINlZKU3ltU3lqNU0rMWc3NHFLWDF2RDJUTUgrWUpOTWtpb2lmZkdmZWFDN2RONDMwblU1WTRvM1pKSHprUHNGMjhha0N5TElvWkdEQTlDRFhtK0c0RWI1RXBVK0lxenVCZUpSTmJ6UjMxNkFzU2hZMU9mblFXRWE1T2F5a2lTSXJvUVZZQWdqdnJWK2xBbmtPMUx1REhlWGlPK0xPZVJJQWlwL3hESnBCSjBwWndSLzFqMUxiZnN4LytRb0VNOXkzYXZ2KzBmclhBenUzZlRoUGFxSlgvd0FSN3ZPdVl0b3oxejhxQ0JhKzUvUzhwNytWZnBVWTFqV1UwK0VxcEJtWVlVZUZUVGlDMlJkWWxBSFJGN3ZLcWcxNlpwTlRteWM0WWdlVkFpbnU1WjVHZVNRbGoxcmdKQ0QxM3BWWTZaUGZ2N0lLb09yR24rMzRidDBBN1RMSHpvSStsMFZYQlk4Z09TdFNmVGVLMnNiVTI1Z1dhMUE1bFZrQjVUNDBvVGh1eGRkNCt2aFcwM0NUVzFsTE5iUHpFRG1LTjRlRlp5eTlYYncrTDhtVjN4RERmVHlhbmMrc0ZFUlQ5MVJzQU8rbjIwamtFMGJYSEswSXh6S2k0SkhobnVxTHh5eUpjTUhYbHdTQ25jS21kdUJJcU1DTUVDdE9WNHZCMzFLZlJwOU1TTFM5TW10YnpJTHl5ejlvcFh2SExVdjBkSm45Q0dzSklVWnpPNEhLdktNYzBkUVJVd3dxZjJRNWZRcHJCSC9mc2Y4QTF4MFJWODJuOGlXMGpTeFFoSEdXZDlzSEdOeG1sQ3VPYmw1d1dVbko1ZWxLTlRUdHREbG54Z1JjcmJlUnh2U09FYy8zUWNBS1RnYkRPOUF0bmlnbGpMM0lrWlkvYlFJMk10NW51RlNyU3RZMUMzNGFnc3JCa3RtZWN6Q1NSTXF1RGpCSjNPZHNZMjYxcm8wT25hVGJSNmpxTUNYRFNZN08xSzh3T1AyaU84Ky9hcE54WGJhWHJsdnA1dGRTZ3RKb01Sc2dRcUZYT2NBQWJZOEtDVGFSTmZYSEFLYWhleE9OUWUzOXVNTmxjZzR5ZzdnUnZTVGpEU1UxT1FhZkVwU05jWjVDUUZCVTlRTzQ3L2hXcWNZNlRvOXREcGNWM0JJcVFCRkRCdGdQSUNtdldPSnJTNzdTUzF2U0hsVEplRkNyTmdiWlBkamY1MERiNk9yQ2JTK0lMcEdFZmFQRTZHRG13NFFPQ0dJNllQejM2VWwxeVdlN25sdG9OUG1rY2RvZ1ZjRGJmNmJVcTRIbnM5SnZudjcrK2lUMWlKb2l4SkxoMndjSGJ4Rk9TVGk5bXVvTk9qVml4ZkxKdThvemduSnh0M1lIa2FDdlhzN2JTOWNnVnJVM1YrRVBOSVAxTUFLQTR3UjdUZWZRZWRTMkd3VFZiTjlKRVUwYzE0V2o3Y3I3SUJJSU9ldUFQS25XeTRYMUxWTGp0Z3FReE1uTDJqbmJ3SXgzOUtlK0lORy9SSERkOWUyMTFLdHhCYnM2ZGtpb2VZRGJCRzQrdEJIcmIwTTI2eHFyNnBLYzlTSTg5L2NQblNEMHY2ZEhwZkJ2RCttMjVZeFcxeDJLRnVwQ3hFRE5NY043ZlJjczh1cDZqTTdMMG52WkdBK0dhZC9TZ3hsOUgzRERzU3hhUlNTU1NUOWw0OWFDQjJkL3BiK2l5LzBpNGRVMU9DY01pSDd6NWNFRmZoa2ZDbUtIVFk1TEtKMUpWbVVIeXB5MUtPSDlEdnlBaHlZeWM1eDFydHA5dVRZUW5HM0wzRHpvR1gxZTZqUXJnT3ZpSzB1VUJzOEdUN1ZqN1VaVWdyanZ6ME5XR25EVWMyak5jS3dFZ09mZUtoK3ByYnZadUJNbk1xY3d3TzRIZmVnNThNUnc1djhBdFdDLzdNZVRQZWVaYTIxYUlKWmlSVjJMNDYxdzBPNGhFVnlHbTVIYkM5TzcvUXBicTZ3TG9pTjJ2TS9iYmtIMmNZUGRqcjhhQnZuTnBjTmJlb3dTeHVVV04wYVR0REpKbnF1d3dQTGYzME9XdHlWbFVxd09HQkdDcEhpS0lqQkN0c3lTOGtvWVNsbEcrT3V4UFErRk9Fa1A2VXRaUFYrU1ptT1pKTWI4eDhjNzR4MU5CWm5vNTF1M2l0SWJHNHVJa2VNaDRPWTRPQ1NTdWZ4SHZOU3ZqZlU3SzN0YkxWWkFYZ0JNSkNZNXNuQkhYdTJhb2J3N2NhRmJXZHFzZWl5WFZ6Z0xKTk9WU05pTy9PYzRIdTN3S2xFV3JXdXN2ZDJOeHBObzhjWjVvdzZDUUU0MjNQdk9OdkhwUU1XaThjNkxOckZsWkxhWFlra21TTkNRbUF4SUF6djUxYTlSdlRZZEFUczQ0dExzNHJtSnRpYlpBU2ViQUtuSGppcEpRRkZGRkEwNnYrdGlIZHluNjAxbjQwNmF4K3RpL3dBSit0Tlo2VUdqbkJxck9MWTdqV1pidWRGa2tpajJSYzdJTmgrUFdyUWx4eU5ud3FOYWhESEZvVjAwYWNvZVBKK1lvS1B1OU5samNGbEk4YVF2QVEyTUdwbGZoUk1SanJUUFBHdk1kaG1nYUxkNWJhWkpFWW80NkVWWmtFUUdueFM5b09ZZ2JaeWZuVUVhMzdRcXdYWlR1ZTRWTE5KbmFhd1JTMmV6OW5HVGlwZStIWEgxbU51U3dPSE0vb1pQOHgvclRpNDg2YnVIQi9VeWY0Mit0T0xnRUhiOGFya1pkZlhtMHFVRFlCbE9mY3dxVWNONDlZaHpuUGEveXFOYStCK2hybnlYUHlxUjhOTVBXNFFSakQ1SG50UVBkL2oxdVhQWGI2VWthbGQvL2JKUGg5S1JtZzVucjVWRGVNb28zRWJsY3VycnY4RFV5WVZYL0hGM0phSzZrQWt5S3did0hLMjFCRk5RUlRHQVI1Vkg3cTNqTzRYcFdialdwWGN4dEltT25URkk1OVFJSURZMzZlWW9OVGJxVklWY2swODZIQjZuZGxSSm5uVGRmQTB6UVhoNXhJRndvNkhQZlRoWVR5eWFwRGdFZzdkZWdyUDExL1dZWGM1cTc3TCt3VzMrVXYwRmRHclN5SDlYMjMrVXYwRmRXclRrVFA1VXI0TDI0bjFJZDNZS2Z4RkpaQUFDS1hjSVFzbkUxN0pqMlh0aGcvOEFFS0IzdnJEdE9hV0pkeDFVZC9uVE0wWEtjZC9oVWxzN3VDOWphUzNjTUF4VStJTk1la290M2RYbmFuT1B1K1dTYUN1ZU1iZ1dsMWV6bmJzNFZJK1ZWQlpXajZ2cWJBa2hjODhqZkgrZFc1NlNvMVJ0VFJ0MkVDNDkrQlZlOE1RRkxPYVlETE8rQWZJZjZOQTdKSEZieGlLSlFxcjB4UVh5TnF5M0tvM085Y3k0QjJvZjZMYlpuN1JNYmJqZndwN2pua3VWVlpRdlVqUFhKcU9QcTY2ZEFVbWhQaXB5Q0NmRVZ6c3VKQUpFTEFoQWVwRlluN1hsNk05K1BIMWw3N2FjVGFGNnZJYnVKUFpjKzFpdGRLY3BHSTJPZVhkVFU0U08zMXpSeWdiWmw2K0JxTFh1aTNXblhNbG82OW5kUnR5RlQ0N1lQaGl0dk9VRFpzL09yQzBrYy9vYzFVWTVzelB0L3dBVWRRRThLY1gyMkd1TGJUeVd3QW8xQ0htT1NBTnViekZXTkJwZDlwZm9oMVcxdm9WaXVESVg1QklzZ3dXajcxSkhjYUNDUThoaW10NUVVOXRIZ2dBTnZqWUg2MGh0bFpKWmJkWWdvZFZEWklQVHd4N3V0S1lvcFNRdlo4MlJoZVhiRktMZlREYXBKUE93UjJURVNuUHROM1o4Z042QlhFNnJhTERkU2lPT004OGJPY2V6akpBOXczK0hqUzVicTI5Wm41V0gzeWMrTlIyU1AxaG1rdXVXZDJVcG45MWNZd005T3A2VkdwNzIrc0x5ZFlIVjRneDVlY2tIRkJLTlhlMmFhV1FaREJBK1Y3eG5jZktucUdkSklVYUloazVkNUNOaC93QSt0UXF3bU4xY29ibzg1WkdCQzlDUVFjVktrdlJ5aFVqUGdpS05nS0haVjJaRml4bTlsUk1DR0M1TGUyTno4S2VlSE5YV0RYSkNxS3dFTGN1VHQxRlJLNTFHVW9Va2JCOEFlbmlLN2FCTDJ1cTRQc2pzempiT2VtMVNiMjY1K3NrazdYVm8yb1BmQThpS3FxTmdvd0JUaHExZ2RTMGlhejluTXE4cExaeCtGTlhDL0l0bmtZQ2c0eWNDbjJXN2lqQUJkYzkyOVZ5VmpjZWk3VlpKUzYzMXJnbmNIbUpIdXlLUitsaXlleDRMNGZzbllNMEUzWnN3NkVpT3JNdTlVYUI0WUlpc2x4T3hXTmU0WTZzZklWWDNwa0RmMGQwcnRNT3d1bTVpQmpKN005MUJVOTR4ZlRtRFl4eXIwOGpVaTRYc2x1dE9qT2RsY2pyVVlaSkpyY3hSUnU3RWJLb3ozMUwrRjNGbnBCN1pzRVNPTUFGaDNkNDJvSmE1aGcwL2tZQUtWNUJzT3ZLYXFiVjQ0a3RabDdVb3doYktqSHRFNHF6N2kxbXV0TU53dk1zQ0ZaR2RsSUFVRGMvalZjYXZicEJGY3JMS3F5c3JEbEQrN0cxQWg0U3RvcGt2ekpHckZJd1Z5T2gzNlVwMTdtT2xxZ2ZtVHRWUElFRzNYSnoxUGZTZmhrekpZNm9ZT1R0REV2THpianZwTFBOcUNNVGRQRzhhN3NzYTlQT2l5YjRqakpwZ3VvcEpvcmh1YU1LRVJrKzhNZmhVaDRldHJTMnNwNUppVnlWT1hrd1cyNkZSMUh3cHIwL1ViWjVaVVNUSE5qT1RzY2Z1K1hTazZMS2w3Y3JMTUFXWUVNQjFIbDlLazIzNVBYaVluKzcxRlhpTU5zeXdGYzRrQTVXd1Q1ZFIxMnBIYWFyYzJxUlNpK20zTEtGU1U1akp3Q1YzMlBUZWtrYUpFSGFYTEJ6eS9mM0FIdTdxU3RhTUovc3lBR0dNL21hcm1tdkRXc1hNdkVHblF5WGJ1R3ZvbHl6RTVITnY4TW41bXZRWjYxNWY0V0NyeFhvS0F2bjF1RTRKKzk3WTM5MWVvRDFOQVVVVVVEVHJINjJML0NmclRVVFRyckg2MkwvQ2ZyVFV3eFFJdFJXV1N4bVdFa1NFYllHU2ZLcTc0azFTOEdreWhZMzVPendER2RodjMxWnJEUHhxQWNTMnl0cHQ3bHlpaFNjZkhwUVZhbDFjM0pmTE1lWEdTYVF5WGtwa0lHZWJwaW5xMENSMnM3a0FLMlZYSXdXSGpUVkhDcjNaYmZzd2NsZ003K0ZTM1RXR0Z6eW1NS0xlNW1paENsWFZuR2QraEhqVWk0YVNUMU9SMlBzRnVWYy9qVWQ1MWtrWmdOaWRzOXdxYldGdUxXeWloR2RodjcrcHBQOEFMWGt2T3BlSW5YRG4vd0FtVC9NZjYwNFBta0hEZy9xWlA4eC9yVGk0OHFybVFYbHVsMWJ5UVNaNUpGNVRqclNqZzcxdUhXT3d1NVZkUXk5azRHT2JZN2Urc1NZQXllZ3Jod2FicTkxNkcrbUNwQTI4VVliUEtOOEgzbWdtZCtNM2tudytsSXp2UzIrL3RrbncrbEltb09iYi9Pb1R4OUR6MjFzd3dDWDVTRDNqQnFiRVZFZU9vODZaYnlmdXpZUHV3YUNwRnRnTlV3UXJ1UGE2REFIaWFiZFVRUGVNVUdRVGdBZDFQZlp2RzA3ckh6RWtndG1tc3hHTjJubHljYkR2elV0MDZlUEQzeTE4Y1l3VUhZWktxUHZBNy9LbjdoNjE1cDViazlFWGtYMzB3UjU2NzVZbXBadzloZE9Za2pkenRTTTU1YnEyckVmMWZiZjVTZlFWMGF1ZGtmNnZ0dW42cGZvSzZ0VlpKMy9HbmJoVEg2VW1HUm5zZkgrOEthM0hmU3JoWUgrbHN1d1AreEhIL3dDNHRBeTIxek5ZM2tra0RsVHp0MzdIZXBEdzY2OGx3NTZ1eWo2bW9xazhVOGtqd3lwSXZPd0pRNTN5ZHFsR2dxRnRGa0IzTWh5UElEL25RVnA2VVU3VFVyeU1kOGEvSDJhcjIwdkd0dElpU0llMHpOMDk5V1Z4MnF6Y1N6Um43cGlYNlZBYm5UUFUxNVk4bFFTVkI4eFFORFg5ekhMOW8yYW1PaWFXZFNzM25La3FxOVBNOUtoaVdVdDFlckh1Y3RqSGNCVnRhRUlyUFRqQU1EbTJPS3psZmtlandZUzMyejZpcGJ3eUM1ZFhMc3FzY2MxU1BocVMwbWplM25UbjV3Unk4dmwxcDkxL2htMHVoMnNXRWw4UWRqVWR0Yks0MDZiazVjTWYybE5XVFRqbGx1N1NEaHZPbjMwbHNIWm9UbkN0M1ZOdlNQcHhoNGd0YnIyUkRxRnFGWjhmZGVNREh6QnFJNkxhWVl1NCswTzVKcTIrTjlPRjVZNlFlVUVSdVEyZTVTZ3lmd3FzdlBsdGJTcnhIUGJ5TXhJa1RjbnBsaFZvOENHTnZRdnFKbHlFOWFrSjVtNXUrUHZxRGFiRTF4eGs1a1BNUVVCSTc4SFkvR3B6d0RDMDNvWTFDTlRrdGR5QUVqempvR2g3cUlqRnRiRUgrL2tmZ0tqMnFQZFBlOW8wemN5a01DeE9QRHArRlNkZEtuNWo3Y1lIUW5QMHBCcVdnWEZ5ckxFRVk0M3pKZ252L2xRSWJDZEpRVmZsRGpmQk5NdXFXS1NyZHlTRlJ5Uyt3UDJqdjlQR25XWFNOUnNFOVlrV0lGUjFFZ3lQY08rbXFTVVNRM0FtTE5MMjR5NU81SlBTZ1RjeTJuWUFFdmx1VlNPbzV1LzhLMmdrbVVkcDJzMkZ4N1N2ME5Kcmt5SzVTS1BNdk1BaTQ2R2xjeFJVU0ZEbmxQTWR2R3MyL0hieDRjWE84YUtrbGFaUTdrbGlNYm1uamhzRWFxMkIxUWsvTVV4VzJleVZSNTcxSXVHVUg2U1k5QUl5YzU2N2l0T1Z1N3RZZHZxM3FrSUdTRlU3S1A1MXRIeEhidEFWTnZJOHhQMysxMjM4c1V4em4yU0NSanZ6dlNOVzVFWE9TT3V3eFJEN2U2bk5jM1ZyYzI4aXBjMno5cEVYUHNFOTRiRytEU24wZ2FsYXg4UGFMZmFwWXJjcTgzTThLUHRrcHZocWpzWE14VnM0SG4xcHk5SmFrY0dhQ3VkaElBYzkvd0JuUVFMVjlUMGk4UmpZMlUxdWtnT0FoQVpSNy84QWx2Uy9obWZrNFpXSU4rc3VabEJIVFpZelVYV1BKQXdRRDMrNnBIcDFyY3cyTnJieXlRV3FMTEk2dUY1bU9WWEpLbllqQThxQzRZTGVPNTRXU055TVBaWXg0K3ptcUcxYUx0M2FTYWFOVUtNVThTVGpwNWJWUGJhVzVsdHBZUk04aXhXdk1qdU1rWnlENWJrZUhTb0hKcDhqS1RKMmFzUU44N2swQ1hRWXpiMjJvZGxseWljcjdiRTc5UERGSlpyZWRyUnBwa051amphVTViT05zWUc1cCswcXdGckhER3JjL3JqQldJSFFjckhLL0d0TDdUNTdpWCswQ1FnWUhOMDIyK2xadDUwN1lZK3VQdjhBOFJpMGpqZ1o0b29tWWN4ekk0Qlp2Y2U0SHdGVFBoL2hHUGlwYmlkTHRyVXdGVXcwZWViSXpYSFQ5RGpCWjdpYm1ibTJFWitwcFRkTmM2ZHlKWVQzRVVUdVRJeVRGU2R0aHQ4NjA0bjVmUTR0eEd6dnJCU01kQUlUOGUrdVRlalcxdDlTdElCUExNMTB4aURsVGhRQm5tWWRNNUk3Nmo3YXpxRGpzenFWNGNlTTc0K3RkN1c5dllBWnZYYmxXeDkvdFd5UGQ0ZDlCTXJMMGFwcEd0YWZlUjNTVFNSM0ViSENsUnlnNXhqSnEwcW9MU05XdnB1SjlMRWw3ZFNLMTdDQ3BtWnR1WWRkK2xYNmV0QVVVVVVEVHE0KzJpL3duNjAxdDFOT21yL3JvdjhBQ2ZyVFBQTEhDcFp6amFnRHNEVUs0dWh4WWFpdlFOSGxjZjY4YTE0cTQ4WFNVRU5uR2ozTDlPWW5Dang4NmJmV2RRMWJnNXRUdnBBelRoeWdWUW9WUVFQcUNhQ0VYRnU3V3lvektNZ2ROc1UwWENQQ0JFR1hCd1RnWUk2N1ZLSGJzYmRwR0h0Z1pUSS8xbW94SnpHVjNicXh6V2U3dzd6K1BEYzdyTWVBeTVPQVNLblNYTUw3SktyZjhWUURPV0E3cTAxSkdVeFNnZTBSeWsxcHdYeHcyNE9pcHY4QTlvMzFwelk3bndxcnVDYjY4azBkVWptYjJISU8vanZVMWkxQzVRRHR2YVhvY2pjVUR1dzV0cTA0Q2NGTEVlQUkvRWl0SVprbTVYUTdWeDlIczNNYk5jN0NXUmZreG9KdGZIL2JaUGVQcFNRMHZ1SURMZXluY0tDTi9nS2E5U25GcWpjdEFrdnRTdHJDSjVKNU1LaWxteDRDcXgxbmpkdUk1RXNMUzA3S0lNWkRJN1pibEFJNmQzV3QrT3RVWVdKaERlMU9lWFBsMzFIdUdyVlRhWHVvTUR6UnNzU2p1T1FTZmo3TkIyRVpkWFhHZmRUQnFNaGE0TVNoVlJHSUFVWUJxVVRzbHBGSVFEMnBQTHlrZEI0Kzd6cU56NW5sSlVFNDhxejNYZkwrUENZenVrR1FxN1YyRTg4ZG5JWXBXUXJ2N0pyVDFhUjVNY3BIODZkLzBTMFZvNnY5NWtMSDVWcHdPL0MzR09wbVdPMG1uYVVjbnNjeDZZSFNwOWI2MUl3SGFwdGp1cW5PSDNGdHJkbXo3QVNCVzl4MnE0b0xSSkdaQjk1ZW5uUU9FZHdrNHloelR0d3Qvd0JaV2J1OVZQOEEvSXRRdUdkNEptR2NGV3dSVXg0UGxFMnRNNFAvQU5NZTcrK3RCQ05FMCtUUzdKNEplWHRPMmtadVh6WTFPZEt4SHA4RGQ1VmlmblVQdjc1TFIzWmxKek55NEhpVGlwWlpjeTZkSC9rRGJ6b0s5NHJrRW5FOHpaNkluMHFOWDR5ZHFmT0kyenhEYys1ZnBUVEtuTkltMmNrREhqVHBaTjNSdnRtaDArS1NhUU4ycmRHQTZEd3J0WjYxY3JhdTlxcXRJU0FzYkhsMm8xV1pJNHhBcWdqcUY4S1k0ZzhWMHJjMkIxNjlLeGp6ZHZSNXNyaEo0cGVrdnY4QVY1NTlOdHB1d2FLUU9WbFRQZGl0YkIxdmd2TVBiQnJsQmR6WEZ1ZTFaSkF1d0FyYUdhQzJaWjBYa2tEcUNtZXU5YmVaSWJlTHNtSGtLdGZpcUs2ZlJJbXRRR1pRQVJueEFIODZxNzJUR3NtZW83cXVLZTU3RFNubTVBNnhRaCtYdkpBRkJTeWNNM1dsY2ZHeldPUzRsaHNvSG1rUmRpeDVtUHlHQjhLZGVCN2x0SjlDdXBYSURGbzdxUmh5NVU3bU1menFSM3VwM1YzcU1sekZQTkFIeDdFY2h3TURGWjRpZVc0OUYrcm1WeTduQXkzK05LQ3RocitvYzdNc2l1dVRndW1lK3UwWEUyb0dWVktRRlNSemZaNHorTk1mT1c1Y1pCNVJuUGpXd2tBWUFqY0E5UEdna3R5V3VZNU9ac3VWYkF4MDJxRVNaamU2aW5XWExFaENpNUtzRGtaOTFUTExOR1cyeHlnK09ENFZIWms3YlVKakpua0VoTEVEenBicnRjY2ZhNmN3SGtUMWh4SGtjcDNYcWZIeU8xSjFzNDJZQTdIeHBYS1VlUUpFQ1VRWUI4YTVlSU9jMW1UNjYrVy8xblRlS0JJMXh6WndjbW43aDFrL1NUYjQreGI2aW1PTndVTzJNZUZPbWc1L1NMTGpPWWllbm1LMDRwUGQ5cGNRY3R1c2JOa2ZySEkyNys2dEFKQVBiNVNPbU91YTV1N0kvTHNBZTdPNjFsWlhWVUF3Um53M0ZCM2k1bzhCSTA4eVJuNFV1OUk0RGNGY1A1YkM4NEpQL2wwM3d1Q2dITDdaT2NIK1ZPbnBKVURnelE0eEhMSXhmQ3BHaFppZXo4UHpvS3RnUU5JTTdqOW1uYTNtN0Z3RkJkczVCYnVKMk8xSUxXMTFDV1JtT2wzTUtvTW5uWGZidnBYR1MwcHg3SURic2Vnb0hYU3A1NXI2Zm5seVJDTUJqdGpKNkNtNEdLS01IbTUyQysyN0hHUGRXbk42dmVtV0tSdVFRdXBKNzl0cWo5dHFETXFtNFVjb0d4eWNacVc2aldHSHRsby9UWFhxY1VNY01tU2h5R0kzR050dktteDd1UjMyY2s5ZGp0U1dTN2U1UGFIQXlCc0t4R3h5b09OajNmNjNxU2E3Yjh1VzdxZFJLZExWbmhCSkp5ZHFsbWw4TlFhOVkzSWxuYUlxNmdGUUQzWnFIV045SEJBRkl5M2o0Vk5PR2JxY1dWMUxKYnVzSGFKbHpzdWNiYjFweWJRK2kyS0tVVG05ZVdNbmNORmdIOGFYYWp3anAwdG42dkUxcmJ5TU1Cc01UMytkS2RFblhYZGN2YlNlUTlsYm9yUlcvTmdNRG5tWStQZDdxa0Z2cEVOdEt4TWs5d3p0a0xJMlF2dUhRVUZlNlR3T2x0cmxuY0RVMlpvTGxHS0MzSTV1VmdjWnowODZ0M3ZwTGJQaHdpUkJGT2Q4WVB1cFZRRkZGRkEzYW9BQXJrYmhTS2dlczNiaGl2TjdxbXV1ekNHTmM1eHlNZmxVQTF3TkhwazF5Y2V4SG5meDVjMEZROFFYUnVkWnVYVTdLZVZmaFZxM1ZpbHB3cEhwOFlWVEhhWUNIdUlPVDhTRFZWNk5aSFY5ZnRMVWdudDVSemVRemsvaFZ2NnV2cmRzWi9hV0x0RkxjdlhCVUEvSDJhTExxN1ZscTF3NmZZcjl4QjdKRk16UU04WVlZREh4TldmcUhCRnZjTVRGUEtoWE9jNHdmd3BKYWVqMHZNclRUc2tYTHVWSUpIbDBxU2FYUE81M2FCYWJwSnVadmIrNk4ySXJPdldhcnBrY3FBRERuNWRLdFN4NFNzQWhFVXM0UUl6ODJWeTJQaFRQcUhDVUUzRFhPc3N4SlNVNE9NWkI5MVZsR3ZSeEptYTh0aWZ2UmM2RHpCMy9BQXF4TG1JVGFQTGNSRDJvOEZzZVhmVlJjUFhMNlZybGxNakVCWmdHOXhPRFZ4c3kyTjZIVVp0TGs4a3Fub3BiYlB1M29HbTB1bWhkWkFUZ2taQXBad1RPTERYckxUcGM5cEpjU09oQTJaV3lSaitkTXR3aHRMNlcxeWZzNU9VZTdiODZjTkM3U2JqRGgyUmQxaHVtVmg0QmtQNVVGczNzcXhMbnY2L2hVVzFoak5KeUFaRElyWjk3RUQ2VTk2NjdMQ1dUN3kvekZNY014bGthVlJrQlZ4bm9QWjJ6N2lTYUNuT09uL3JXSzJCejJhNVBodjhBKzFQUEQxb2c0THQxY0FOTmZkcWMvdEFLeTFGK0paRGVjVFhmWjViTW5ab0QxMjIvR3JWdE5FdHA3VFM3VTg4Y0VMbFBZeG5iYnc4elVzMjFqbDYzYUR6ODEvQUdjRG1YS0FqdnhUSzJtM0NzUUV5ZkVWWXk4SzJ5WHQ5YkxOTUdqSmRlbmNkeDA4S1ZhYnduWTNGeDJuckU1aVplYkdSN08zdXBKcUpsbGNydXEvdGROVzJZU1NnR1FkRkcrUGZTbTRRaWFaY2RJZnFhbXR2d2hhU3Vaak5PVWxsRWNlQ09nNm5wV3ljSjJVK3JYeUdhNTVVangrejQrNnFpbmIrMk5ocVJBR0NPVng4Z2F0elRMc3phUlk2ckYxYU1DUWZoVmVjYVFpUFZWa2pCNUFnUUU5K052NVZKT0JOUUV1aFRXcmtuc1d4azlBRFFQR3RLa2Q0czBXT1NkQXc5L2ZVaDlIa3ZhYXRjZUhZYmZ4aW9qcU0yWUZpWnZhZ2tKSCtFL3dEdFVuOUhEWjFxY2Y4QTZYUC9BSzFvSW5yQkwzcXhnQWdPMGorSTlyQS9ITldFekNKSkY1bCs0dkt1Um5HS3I2NDVaZFR1RGtFOXVzWFR3YkordFQ3VVlZMEU4cklwZENRajQzQW9LcTF1VXZyZHd4UGdOdmRYQVhOc2xxNUxqdFVQTmpJQitGSXRkbVlYRjlNcFlGRjJLOWM5MVFHOHVuYWNlMFN5bmRzOWE1NWMzMWoxZUdYeFkvbCtwTGVHYVM2SlVrazc1OEtRZXJTdktBWlRrbWx1bjNJdXJkSmYyaXVHOTlFMFRCdzNOamV1a21ubXR0NXA2c05GREtNeVM4elk2TmpGYTZqcDcyZXBXa1FrWjBiR1N4enZtbkhTV2Jzd2M4M3g2VTRYVmtaSlV1RHZ5N2dHaUZrRTRXSlVKNkRIU3JkdXBzNkpPQm5sTnYzKzZxV3QzTFNFRVlPZmhWelRXTW1wYUplV1NTdEU4dHFVV1ZlcWtyMStsQkdFUU1lWUhhbFd1cnplalRWVkdNay8vd0IwcWgzNHU0bzBXL2EzdTdtVG1qT0NzZ3lweDc2dHZUTmNtNGs5QzJwM3NrYVJ5Q1JveUU2SGxaTi94b0s1bnlJSStUb3ZOek1XNkFIb0s0eHlySXdZREJCMkpwNHNiUlo0Z1NBeWtuSVllT0tjWTlHdDJJTFJLQU54c0JRY2JXVHRZSXozY3VNVTF6bG9wSnhrY3p5SHAxSS9sVXFpMCtHUG91QmpwamFrc3ZEbHROUEpPWlpnWEpZZ0VZK2xTemJlR2ZwdEZoa0RJMkhjSzJHQ0J0dlVsWGhxMnpneVRLZXU1SDRiVm4ramxwZy9hejQ5NC9LcXdpK01FbmJ3NlU2YUQ3Vit3NWlCMmJkQm53cDBIRGxwalBiem5IZGtiZmhYVzMwbUN3bU1rY2tqRWpCREVZSFR3SGpnVUc1NUE0NWVZZCtjWi8xLzcxb1h5cElVcTIrM1U0LzF2OGE2RUZpQUQ3UGVDRG5yMXJXUU1HSHM1eU01eDhmK1ZCMGljeG5DSGRqZ3VSemY2SFdwaHhISVR3bG96am1VRUxrRWYzTytvY2hVZlpsU001RzJ3UDhBck5TN2laLy9BSVMwUWdrOHdIeDlpZ2lxdXl1R0RrTU9oQjZlNm0rL3NCTXBraEFFZ3lTZ0dGZjNlQit0S1F4OW81RzJPdGI1NXdWQk80NjBFTXZKcFlPekV2TW1YNUdUdkFJTk1rMG5MQ2tBKzZBQ1NEbk5UL1VkSmcxT01KSjdFaWJDVlJ2N2o1VkZKdUc1TGVReHV6SEIyWlJzdzhSdFVzMjZZNStzc24wMnhIN01ZK2xLSWxQTm5POU8xdHcvSDJhOHp5YzNmdU1DbFEwSzNBL1d5K2VNVlhNeHZLeXBoVFQzb2Q5T3R0TWhua0tGMXloWTRPM2hYR2JTYlpHUldtbEhONWpOS2JXeWl0MUlXU1RsZmNsdCtnOHFCeml1QzA2TVhram1COW1XSitWMXo0RVZZT2o2M3JTd2t6MjBXb1JEN3JSbnNwY1lHQnkvZFBmdmtHcTZ0M0NNQ1FOL0w4S25PZzNiODI4bUF3SVV0K3h0M2U3TkJLZE40ZzAvVUpDcnFiUzVSZ2hodTFLT0dQUUxuWmlmSW1ucW1pM2xqTndTeXhTRm5HTVlQVHY5KzRwM29DaWlpZ2pYRTZzMHlnazhqVzVYSG56alA0RTFCZVA1MHN1R1RFbjNwVGdEZnFlcCtXMVQ3WDVndW9Xc0xxQWp4c1E1N2pucCtGVmg2VTVHUzIwNkJtOXBtTEVlQXdjRDhhQ08rajZ4TW11ZXRuWVFsVUhqek1jZlROV2V0c0gwYS9qUFZHVnZoazFGdlI1WU5IcDl0SXcvWHp0UDA2QlJ5ajhRYW4wVUlQcmNJR2UxalB6RkF4TFAydHJidStlU1pleGNqOWx4dHpEOEtjWGpOdncra1NqTWtqaEZQdnBxczFFMm4zbHN4OXFNOW9uOHhUdnBoOWZ0N1FuY3c3Tjd4MzBHVWo5V3RydEFRUkRiaVBJSHovR215ZjdIaEtOeDFkbUh6TlBWME9UVE5Sa3dSekRxZmVLYU5Wanh3bkFFL1lreWNVRkdhbkMxcnFWeEdkc09TTi9IY2ZXclNqdlRlNkhhTnpEN1dCZVZ6M1BqcDh4dDUxQXVMN1V4WHNOeUJ0TW1DZk5hVWNQMzVPaXZBellDU0hsYlBUdit0QklIdXZXcjJHWnZ2T015ZTlkajlLZmVEZ1R4TFl0dVY3YmJ5Mk5RL1RtOVl1cEMyd1FGdmlldjBxYzhGQUhXYlk0MjdZRWZJMEZnNm5neHpnNzdBZ2VKRy84QUtvN2I0T2t1NFQ3TW9XWWpibUdPbng2ZTRVdTRoMVNPMmtuUUVjeWpIeHdEVFBhWGd1dUZMNGh3STR3NGJHTnRzNDhzRDYwRlA4UHhtOTR2dHBKUGJBbU16ZTRaUDVWZFZuYjluWVdoSTNCN1Q0bXF6OUd0aUxuVWIyWTR5a0t4ai9qTytQbFZ2WEVZalVBREFBMjhxQmsxRnZVK0pVbTZKS01uekRWdFlONnBlWGxvTWUxOXozVm5pR012YTIxeUFlZGNLYTRNL05OYVhpQS9kQWVnZklMWVJtemgvY0djRHVwQllaZTgxTmgzaGdQaFQ1YmxaWm81Vjc5ODB5NlpHUmUzYUh2bGI4YUNxK0xiY1NhZEsrRHp4U0JzL0dtVGcvVVBWZFFudDJZY2swZTQ4eDBxWjY1YkNVWDF2Z0RtRGRmTEpxdE5NZnNOWGpCMjNLbWdtVjVkTTh6eGcrMlFGQjg4N1ZZUG8yQi9UdHp6ZGZWZ1AvV3RWYkxJRTFLM0xIYm1CNjFhWG8wZnRPSUx0dTR3RC84QU5hQ0thUXlYV3QydVJ0UGZGaVBITFkrZ0ZUbldyZ3hhWkt4NjRKTlY3d1BkTmZhL2J0S0FDczAyQVA3cGJCL0NwVnhQZG45RHUyY2N5RTBGT2E5Zjh0dEtBRHpzM0tDUFAvMnFHa2xqbnZOVERVTGVLOHRvd3hWVHo4em52SUdhUUxEWjI0NVlJQVcvZmZjbXBKSTNsbmNwSmZqbHBURzNzV2xMY3A1c2dIdnBjYmd5RUFucFRmZk1pUmNvVWMzZlN6VHJmdDlPUzRSQTU1aXJEd3hWWU9PbWFtMXJNVjV0bTYxTWwxTlhzaG45M0JIZlVCRVAybzVvZ1BoVXMwVnJVcWl2YklTVGptYndvRnRvMi9NVGtIcFY1NmZkeFFXRFRTTjdLcm5mM2IxVTZQbzZ3cW90b1J5amZyN1JyaHJQR00zNlA5VWdmQllZT080ZUZCSE9JMXRkVW11V2tRTXJTc3lud0dTYW1mQlZnMHZvUDFXMHQrZGo2ek1SanJzVVkvU3F3djcxbGp4a2ttcmo5RkE1L1JqY3F4MmU3bUJKOHdnb0lwcEVISnBzZHhNdkswamZaTGsrMHAzelRzcEFPdzdoanpOTXFTdW1vaXprbGFWSUNWUUU3QUtlNm44S3JCbXhoZXVlN0ZCajdveGdrMWhaY3Z5WUpBSFVHc3lSTUVMWndjWjVTSzU0T0RzYytZL25RZCtkdWlIYjUxZ0QyY1lQeEc5Y1VmQTJQWDRWMFZpd3pnc2UvQm9BbkdRVHk0emcvd0Fxd1RoQnZuSTZucjhxQ2ZjTWJjdGFBZ0U1eG5CNjBHZzVNOHpBZ1kvMFBsWE1vU2Z2Z0hicjE4ZnkrVmRPWDJsQUdXeWQ2NTh3NmtIM1lvTXZDYzh5akdNZkQ0Vkx1SUZZY0k2R0dQUHlxdk50OTc3T29oejl4YmJyNFZLZUo3NFdYQy9Ebk0vS2t6Q01oaDErei9DZ2l1T2JQTmpIY01kYTAvYXh5OHVlZzhhN3pRWTVuQkNnZlBGSitWU1ZJM3gzMEdWbEgzTnhrZUZkU0E4WmprQmRTY2p4WHpGQ0JNNE9DQjF3ZHpXSEFkUjNaeDMwQ0NlM2t0eGtNWGpKMmZvUGNmQ2tyU2tITE5uYW5qbEpVNVhLc044OUNLUlhlbmhVYWEzejJmN1M0eVZ3Ti9oUUpCY2NuS01BSHVyRE9uVWI0cE9NdHNwd001ei9BSzhxMkRjdlRIVE9TZW9IaFFMck8ya25rUVErMFRqWUg0Vk10STB5NGlnTFN6ckdDUUNyYm5IK2pVUXNwdXlRZ0E1eDF6MDM2L2hUc05UbDdQczRwZVZSbGNFOVR0UVdGYVdpSk5iczA2SDJnN0VJUmtnZ2Z6cVFWVk9oYXhkL3BMVG9lZGloa1VFNThXV3JXb0NpaWlnaDNGdDRMZlg5SVJzRlNHSUI4U2NmenF0dlN3Vy9TOWdHT2N3TTJNLzNxdSs2MHV4dmJpRzR1cldPYWFEOVU3amRQZFNMVU9GTkIxYVZKTlEwbTJ1WFJlVldrQkpBem5IV2dpbkIrbW0wMFcwUndjeFc2cjdzKzBmeGFubFhFVnpHY2Jad2FrVWRqYXhJRWpnUlZBQUFBOE5oV0RwOW1UazI2RTBGZGxUWTYyeUhaWE9EN2pTL1N2OEFZNzJXSTU1R0pJUHZxWVRhTnB0eElKSnJLSjNIUmlEbXRocFZnR0RDMGl5Ty9Cb0dQVkkvNmt2UDd3L25UWGNLSDRabUlYT0FHRlRWN08ya2lNVHdveUhxcDZHdVEwcXdGdWJjV2tmWWtZS1lPS0R6MXhkYnROcElsM1BaT0FBTzRZM3FPOE95ci90TnV4KzhPWWVmalhwbWJoSGg2NGlhS2JSN1Y0Mis4cEJ3ZnhwSkY2UGVFSUg1NHVIckZHeGpJVnZ6b0tHMDJabzd1NFFucnR2Vmk4RzVHdFdBQXlETGtuNEdwd3ZBdkNxdVhYUWJNTVRrbmxiODZjTFhRZEtzcFVrdHJDR0owT1ZaUWNqOGFDdGVNN2tyeFJmUUsyQTNKbGZFOG9vVVRXZkMrclFjbzdKckNWMmIvd0M2UVI5S3NlNjRjMGE5dkd2TG5UYmVXNFlnbVJnY2tnWUhmNUN0MzBIU3BMZVdCckNFeFNyeXlJUWNNUEE3MEZXZWlXMFBxdDlkc3YyWmtWUTNqeWcvL3dDaFZnUy9hbGhUcHAyaGFWcE5zMXZwOWhEYlFzM09VakJBSjhldmtLVStwVzJjOWdtYUNMVHhDYTJrdG16bkpLMDBhYUN5U1c3ZFVPd3FmbXd0R2ZtTnVoYnhya21rNmZISTBpV2tTdTNVZ0hlZ2FOTm01VUNNY1kyRkpMUk9UWExsY2RSelZKbDArMFE1VzNRSHJ0UU5QdEJPWmhicDJwR0MzZmlncUhYQ1l0VnVBd081WVZWR3JRdFphdElNRWUyR0ZlcXJqaHpScnFReVQ2YmJ5TzNWbUJ5ZnhwQmM4QThKWGtuYVhIRDlsSS9UTEtmem9QUEY1TVh1N1psQlBNUDVWYXZvbW1WOVp1VkxBeUMzR1I0ZTJ0VFJlQk9GVlpHWFFiSUdQN3A1VHQrTkxkTTRjMGJScnVTNzAzVFlMVzRsWGxlU01FRmhuT092aUFhRHo5NlBiaTRYaTJWQ1Y3T0ZMbCttNDNQNTA5Y2RhOURhV3h0WTJWcGlDR1VmczlLdDJ6NEs0YTArNGU0dE5GdElabkJET2luSkI2OS9mWEs1NEI0VHZKV2t1ZEFzcFhZNUxNR0pKK2RCNVplUnpHTW5kcXd1VXl4SFFaK05lb3YrampnMy93QU4ySDhMZm5RZlJ6d2FRUWVITERCNit5MzUwSGtxVm5sYmNlK3BSdzRPejA0RGxQdFpQNDE2Sy82TStDZi9BQXpwL3dEQzM1MHBoNEM0VHQwQ1JhQlpJbzZBSzM1MEhucVMzOXJPRFdVa2xqR0ZHSzlEbmduaGc5ZERzLzRUK2RZL29Od3YvdUt6L2hQNTBIbnMzRWlqZGpTTjNZKzFrNTg2OUhuZ1RoVnV1ZzJSL3dDRnZ6clU4QThKbnJ3L1pmd3QrZEI1Y3VuYVdjK1cxWG42Tm1OdjZKN2h5TjF2SE8vK0tPcFovd0JIUEIyYy93QkhMRCtGdnpwM3M5QzB1dzAxdE90TENHR3paaXpRb0R5a25HL1h5SHlvS1UxRlJhY1lYS3YvQU5wS1dCQTJ3M2hUMUUzTW94MFhZWjZiSEg4cXNxNDRXMEs2bjdlZlNyYVNYQUhPd09jWno0MTBUaDdSNDE1VjA2QUw0WVBqbnhvS3psWXlBbkIySCtzMXdMZFhaV3o0bllrZVlxMDI0ZDBadXVtd0g0SDg2eC9SelJzNS9Sc0djWTZIODZDcWxaems1T0QzNDd2QVYzTGxjOHJ0a2V5RGpiMzFaMzlHOUYvM2JCOGorZEI0YjBVOWROdCttT2gvT2dxNW1IUTVKMjJ6OHEySkM3Z0VuenEwRHc1b3hJSjAyM3lOODRQNTFnY09hTUJnYWJCajNIODZDcjJBeG5CeWZEcFdrbnQ1N2dSdWZDclRIRGVpZ0FEVGJmQTZiSDg2RHczb3BPVHB0djhBSS9uUVZObGlTQzJjSE9NZUZPdnBIQkhBWERSenVycWMvd0RsMVlaNGEwUW5KMHkzejdqK2RkYjdRdEsxS3poczcyd2hudDRmMVViZzRUYkcyL2hRVXpwZXBIVkxOZVlZbGp4ekFEcU9sS0VHSDhqNFZhZHR3Znc3WnNXdHRIdFlpMnhLZzcvalhYK2pHaDR4K2k3Zkh1UDUwRlU1NUdLZ01UMUlIZFc0SktoZ25UcHRqTlduL1JqUS93RGRkdjhBSS9uVzM5RzlHLzNiYi9JL25RVmVvVlBhYjJsR0JnLzY2VmlNeXhvV2tJREJpVlpEMVhQczlmeHEwdjZPYU4vdTIzK1IvT3NIaHpSajEwMjMrUi9PZ3FXNTB0TGxUTGJCSTVXenpSam8zbUQzZTZtWXhNam5uUmdWUHRCdGlNVmVuOUhkSDIvcTIzMjhqK2RhUzhNYUhPL1BMcGRzN1l4a2c1K3RCU3FLcEFCQkk2REI3alhSblorWG1CR0NENCtOWEgvUlBoLy9BSFJhL3dBSi9PZzhKNkFldWtXdnlQNTBGVjZOTXo2NXBpZ3RuMW1NSHcrK0t1MDlhYUllRjlDZ21qbWkwdTNTU05nNk1BY2dqb2V0TzlBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFmLy9aIiBhbHQ9IllvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcywgc29ycnkiLz4KPGgzPlJlc3BvbnNpdmUgSW1hZ2VzOjwvaDM+CjxwPkNHU21hcnRJbWFnZSBpcyBjYXBhYmxlIG9mIGF1dG9tYXRpY2FsbHkgc2NhbGluZyBpbWFnZXMgZG93biB0byBhIHNpemUgdGhhdCBpcyBzdWl0YWJsZSBmb3IgbW9iaWxlIGRldmljZXMuICBUaGlzIGJvb3N0cyBwZXJmb3JtYW5jZSBieSBtaW5pbWl6aW5nIHRoZSBpbWFnZSBzaXplIGZvciBtb2JpbGUgZGV2aWNlcywgYW5kIHRoZXJlZm9yZSBpbXByb3ZlcyBwZXJmb3JtYW5jZSBhbmQgdGhlIGdlbmVyYWwgdXNlciBleHBlcmllbmFjZS4gIFVubGVzcyBkaXNhYmxlZCwgdGhlIG1vZHVsZSB3aWxsIGxvb2sgaW4gaXRzIGRhdGFiYXNlIGZvciBpbmZvcm1hdGlvbiBhYm91dCB0aGUgbWF4aW11bSByZXNvbHV0aW9uIG9mIHRoZSByZXF1ZXN0aW5nIGRldmljZS4gIElmIHRoYXQgaW5mb3JtYXRpb24gY2Fubm90IGJlIGZvdW5kIGEgcmVtb3RlIHdlYiBzZXJ2aWNlIHdpbGwgYmUgcXVlcmllZCBmb3IgdGhlIHJlc29sdXRpb24gaW5mb3JtYXRpb24uICAgSWYgc3VpdGFibGUgaW5mb3JtYXRpb24gY2FuIGJlIGZvdW5kIHRoZW4gdGhlIG1heF93aWR0aCBhbmQgbWF4X2hlaWdodCBwYXJhbWV0ZXJzIHdpbGwgYmUgYWRqdXN0ZWQgdG8gcmVzY2FsZSB0aGUgaW1hZ2UuPC9wPgo8cD5UaGUgZGV0ZWN0aW9uIG9mIGEgbW9iaWxlIGRldmljZSwgYW5kIGVuYWJsaW5nIHJlc3BvbnNpdmUgYmVoYXZpb3Igd2lsbCBvdmVycmlkZSB0aGUgbm9hdXRvc2NhbGUgcGFyYW1ldGVyLiAgVGhlIHJlc3BvbnNpdmUgYmVoYXZpb3IgY2FuIGJlIGRpc2FibGVkIGVpdGhlciBpbiB0aGUgbW9kdWxlcyBhZG1pbiBwYW5lbCwgb3IgdmlhIHRoZSBub3Jlc3BvbnNpdmUgcGFyYW1ldGVyLjwvcD4KPGgzPk1heGltdW0gaW1hZ2Ugc2l6ZTwvaDM+CjxwPkluIGFkZGl0aW9uIHRvIGF1dG9tYXRpYyByZXNpemluZyBvZiB0aGUgaW1hZ2UgZm9yIHRoZSBkZXZpY2UsIHRoZSBtYXhfd2lkdGggYW5kL29yIG1heF9oZWlnaHQgcGFyYW1ldGVycyBjYW4gYmUgc3BlY2lmaWVkIHRvIGluZGljYXRlIGFuIGFic29sdXRlIG1heGltdW0gc2l6ZSBmb3IgdGhlIG91dHB1dCBpbWFnZS4gIFRoaXMgd2lsbCBvdmVycmlkZSB0aGUgd2lkdGggYW5kIGhlaWdodCBwYXJhbWV0ZXIgd2hlbiBzY2FsaW5nIHRoZSBpbWFnZS48L3A+CjxoMz5TdHlsZXNoZWV0czo8L2gzPgo8cD5UaGlzIG1vZHVsZSBhbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cywgaWYgdXNpbmcgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4gIEJlY2F1c2UgdGhlIHNtYXJ0eSBzeW50YXggaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGluc2lkZSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcgeW91IHV0aWxpemUgdGhlIG1vZHVsZSB1c2luZyB0aGUgW1sgYW5kIF1dIGRlbGltaXRlcnMuICBpLmU6IDxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPmRpdi5oZWFkZXIgeyBiYWNrZ3JvdW5kOiB1cmwoW1tDR1NtYXJ0SW1hZ2Ugc3JjPSd1cGxvYWRzL3BpY3R1cmUuanBnJyBub3RhZz0xXV0pOyB9PC9jb2RlPjwvcD4KPHA+QmVjYXVzZSBzdHlsZXNoZWV0cyBhcmUgZ2VuZXJhdGVkIG9uIG1vZGlmaWNhdGlvbiBhbmQgc3RvcmVkIGluIHRoZSBmaWxlc3lzdGVtIHRoZXJlIGlzIG5vIHdheSB0byBkZXRlcm1pbmUgZHVyaW5nIHRoZSByZXF1ZXN0IHdoaWNoIGJyb3dzZXIgaXMgcmVxdWVzdGluZyB0aGUgc3R5bGVzaGVldCwgdGhlcmVmb3JlIGVtYmVkZGluZyB3aWxsIGJlIGRvbmUgc3RyaWN0bHkgYmFzZWQgdXBvbiB0aGUgcHJlc2Vuc2Ugb2YgdGhlIG5vZW1iZWQgcGFyYW1ldGVyLiAgSWYgeW91IGhhdmUgY2hvc2VuIHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHlvdXIgc3R5bGVzaGVldHMsIFlvdSBtYXkgbmVlZCB0byBhZGQgYWRkaXRpb25hbCBzdHlsZXNoZWV0IHN1cHBvcnQgZm9yIHRoZSBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcy4gIGkuZTogIElFNi48L3A+CjxoMz5BdXRvbWF0aWMgUHJvY2Vzc2luZzwvaDM+CjxwPlRoaXMgbW9kdWxlIGluY2x1ZGVzIGEgc21hcnR5IGJsb2NrIHRhZyBjYWxsZWQgPGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+e2Nnc2lfY29udmVydH08L2NvZGU+IHRoYXQgY2FuIHN1cnJvdW5kIGEgYmxvY2sgb2YgaHRtbCwgb3Igb3RoZXIgc21hcnR5IHRhZ3MgdG8gYWxsb3cgYXV0b21hdGljIGltYWdlIHByb2Nlc3NpbmcuICBUaGlzIHRhZyBjYW4gYmUgdXNlZCBsaWtlOiAoZm9yIGV4YW1wbGUpOjwvcD4KPHByZT48Y29kZSBzdHlsZT0iY29sb3I6IGJsdWU7Ij57Y2dzaV9jb252ZXJ0fXtjb250ZW50fXsvY2dzaV9jb252ZXJ0fTwvY29kZT48L3ByZT4KPHA+VGhpcyB3aWxsIGFsbG93IHlvdXIgdXNlcnMgdG8gaW5jbHVkZSBpbWFnZXMgaW50byBwYWdlcyB1c2luZyB0aGUgbm9ybWFsIHd5c2l3eWcgdG9vbHMsIGFuZCB0byBoYXZlIHRoZW0gYXV0b21hdGljYWxseSBwcm9jZXNzZWQgYW5kIGVtYmVkZGVkIGludG8gdGhlIHBhZ2UgdXNpbmcgdGhlIG1hZ2ljIG9mIHtDR1NtYXJ0SW1hZ2V9LiBpLmU6IFNlZSB0aGUgZm9sbG93aW5nIGNvZGU6PC9wPgo8cHJlPjxjb2RlIHN0eWxlPSJjb2xvcjogYmx1ZTsiPntjZ3NpX2NvbnZlcnQgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MX17Y29udGVudH17L2Nnc2lfY29udmVydH08L2NvZGU+PC9wcmU+CjxwPlRoZSBhYm92ZSBjb2RlIHdpbGwgY2FwdHVyZSBhbGwgaW1hZ2UgdGFncywgYW5kIGNvbnZlcnQgdGhlbSB0byBncmF5c2NhbGUgYW5kIHRoZW4gYXBwbHkgdGhlIHdhdGVybWFyayAoYWNjb3JkaW5nIHRvIHRoZSBzZXR0aW5ncyBpbiB0aGUgQ0dFeHRlbnNpb25zIG1vZHVsZSkuICBBbGwgb2YgdGhlIHBhcmV0ZXJzIGF2YWlsYWJsZSB0byB0aGUgPGNvZGUgc3R5bGU9ImNvbG9yOiBibHVlOyI+e0NHU21hcnRJbWFnZX08L2NvZGU+IHRhZyBhcmUgYXZhaWxhYmxlIHRvIHRoaXMgdGFnIChmb3IgaW1hZ2Ugc2NhbGluZyBldGMuKS4gIEFkZGl0aW9uYWxseSwgdHdvIG5ldyBwYXJhbWV0ZXJzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOiA8c3Ryb25nPm1heF93aWR0aDwvc3Ryb25nPiBhbmQgPHN0cm9uZz5tYXhfaGVpZ2h0PC9zdHJvbmc+IHdoaWNoIGNhbiBiZSB1c2VkIHRvIHNldCBhIG1heGltdW0gc2l6ZSBmb3IgaW1hZ2VzLi48L3A+CjxkaXYgc3R5bGU9Im1hcmdpbi1sZWZ0OiAzZW07Ij48c3Ryb25nIHN0eWxlPSJjb2xvcjogcmVkOyI+Tm90ZTo8L3N0cm9uZz4KPHA+VGhpcyB0YWcgcGFyc2VzIHRoZSBIVE1MIGNvbnRlbnQgYmV0d2VlbiB0aGUgc3RhcnQgYW5kIGVuZCB0YWdzIHRvIGZpbmQgdGhlIDxpbWc+IHRhZ3MuICBJdCB0aGVuIHdpbGwgb3V0cHV0IHN5bnRhY3RpY2FsbHkgdmFsaWQgSFRNTCBmb3IgdGhlIHN1YnNldCBvZiBjb2RlIGl0IHdhcyBwcm92aWRlZC4gIFRoZXJlZm9yZSBpdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGUgc25pcHBldCBvZiBIVE1MIHBhc3NlZCB0byB0aGlzIHRhZyBiZSBpbnRhY3QgYW5kIGFzIGNsb3NlIHRvIHZhbGlkIGFzIHBvc3NpYmxlLiAgPHN0cm9uZz5Vc2Ugd2l0aCBjYXV0aW9uLjwvc3Ryb25nPgo8L2Rpdj4KPGgzPlN1cHBvcnQ8L2gzPgo8cD5UaGlzIG1vZHVsZSBkb2VzIG5vdCBpbmNsdWRlIGNvbW1lcmNpYWwgc3VwcG9ydC4gSG93ZXZlciwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mIHJlc291cmNlcyBhdmFpbGFibGUgdG8gaGVscCB5b3Ugd2l0aCBpdDo8L3A+Cjx1bD4KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkncwptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4KPGxpPkFkZGl0aW9uYWwgZGlzY3Vzc2lvbiBvZiB0aGlzIG1vZHVsZSBtYXkgYWxzbyBiZSBmb3VuZCBpbiB0aGUgPGEgaHJlZj0iaHR0cDovL2ZvcnVtLmNtc21hZGVzaW1wbGUub3JnIj5DTVMgTWFkZSBTaW1wbGUgRm9ydW1zPC9hPi48L2xpPgo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICAKPC91bD4KPGgzPlJlcXVpcmVtZW50czwvaDM+CjxwPjxzdHJvbmc+V2FybmluZzo8L3N0cm9uZz4gVGhpcyBtb2R1bGUgaXMgaGVhdmlseSBkZXBlbmRhbnQgdXBvbiBzZXJ2ZXIgcmVzb3VyY2VzLiAgUGVyZm9ybWluZyBmaWx0ZXJpbmcsIG9yIHJlc2l6aW5nIG9mIGV4dHJlbWVseSBsYXJnZSBpbWFnZXMgbWF5IGV4Y2VlZCB0aGUgbWVtb3J5IGF2YWlsYWJpbGl0eSBvZiB5b3VyIHdlYnNlcnZlciA8ZW0+KHBhcnRpY3VsYXJseSBvbiBzaGFyZWQgaG9zdHMpPC9lbT4uICBBcyB3ZWxsLCB0aGUgZmlyc3QgdGltZSBhIHBhZ2UgaXMgbG9hZGVkIGFuZCBDR1NtYXJ0SW1hZ2UgaXMgY2FsbGVkIG9uIG11bHRpcGxlIGltYWdlcywgcGFnZSBkZWxpdmVyeSBtYXkgdGFrZSBsb25nZXIgdGhhbiBub3JtYWwgd2hpbGUgcHJvY2Vzc2luZyB0YWtlcyBwbGFjZS48L3A+CjxwPjxzdHJvbmcgc3R5bGU9ImNvbG9yOiBibHVlOyI+VGlwOjwvc3Ryb25nPiB3aGVuIGRlYWxpbmcgd2l0aCBsYXJnZSBpbWFnZXMgaXQgaXMgaW1wb3J0YW50IHRvIHRyeSB0byByZWR1Y2UgdGhlaXIgc2l6ZSBhcyBlYXJseSBhcyBwb3NzaWJsZSBpbiB0aGUgZmlsdGVyaW5nIHByb2Nlc3MgdG8gbWluaW1pemUgcmVzb3VyY2UgcmVxdWlyZW1lbnRzLjwvcD4KPHA+VGhpcyBtb2R1bGUgbWFrZXMgZXZ0ZW5zaXZlIHVzZSBvZiB0aGUgR0QgSW1hZ2UgcHJvY2Vzc2luZyBsaWJyYXJ5IHRvIGRvIGltYWdlIG1hbmlwdWxhdGlvbi4gIEFkZGl0aW9uYWxseSwgdGhlIHtjZ3NpX2NvbnZlcnR9IHBsdWdpbiBtYWtlcyBleHRlbnNpdmUgdXNlIG9mIHRoZSBzaW1wbGV4bWwgYW5kIFhNTERvbSBjbGFzc2VzIGJ1aWx0IGluIHRvIHBocC4gIFRoZXJlIG1heSBiZSBvdGhlciBhZGRpdGlvbmFsIHJlcXVpcmVtZW50cy4gIElmIHlvdSBhcmUgZXhwZXJpZW5jaW5nIGVycm9ycyB5b3Ugc2hvdWxkIGVuc3VyZSB0aGF0IGVycm9yIHJlcG9ydGluZyBpcyBlbmFibGVkLCBhbmQgdGhhdCB5b3UgaGF2ZSBhbmFseXplZCB5b3VyIGVycm9yIGxvZ3MuPC9wPgo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4KPHA+Q29weXJpZ2h0ICZjb3B5OyAyMDA4LCBSb2JlcnQgQ2FtcGJlbCA8YSBocmVmPSJtYWlsdG86Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyI+Jmx0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmZ3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPgo8cD5UaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgooYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLjwvcD4KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQppbiBhbnkgTm9uIEdQTCB2ZXJzaW9uIG9mIENNUyBNYWRlIHNpbXBsZSwgb3IgaW4gYW55IHZlcnNpb24gb2YgQ01TCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+CjxwPlRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLApidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCkZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPg==]]></data>
	</file>
	<file>
	  <filename>/lang/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/en_US.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKIyBBCiRsYW5nWydhY3RfY2FjaGVjbGVhbmVkJ10gPSAnQ2FjaGUgQ2xlYW5lZCc7CiRsYW5nWydhZGRfcm93J10gPSAnQWRkIFJvdyc7CiRsYW5nWydhbGlhcyddID0gJ0FsaWFzJzsKJGxhbmdbJ2FsaWFzZXMnXSA9ICdBbGlhc2VzJzsKJGxhbmdbJ2Fza19jbGVhcl9pbWFnZV9jYWNoZSddID0gJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byByZW1vdmUgQUxMIGZpbGVzIGZyb20gdGhlIGltYWdlIGNhY2hlPyc7CgojIEMKJGxhbmdbJ2NsZWFyX2FsbCddID0gJ0NsZWFyIEFsbCBGaWxlcyc7CiRsYW5nWydjbGVhcl9ub3cnXSA9ICdDbGVhciBOb3cnOwokbGFuZ1snY2FjaGVfcGF0aCddID0gJ0NhY2hlIFBhdGgnOwoKIyBECiRsYW5nWydkZWxldGUnXSA9ICdEZWxldGUnOwoKIyBFCiRsYW5nWydlbWJlZGRpbmcnXSA9ICdFbWJlZGRlZCBJbWFnZXMnOwokbGFuZ1snZW1iZWRkaW5nX21vZGUnXSA9ICdJbWFnZSBFbWJlZGRpbmcgTW9kZSc7CiRsYW5nWydlbWJlZF9zaXplbGltaXQnXSA9ICdFbWJlZGRhYmxlIGltYWdlIHNpemUgbGltaXQgKGtiKSc7CiRsYW5nWydlbWJlZF90eXBlcyddID0gJ0VtYmVkZGFibGUgaW1hZ2UgdHlwZSc7CiRsYW5nWydlbmFibGVfcmVzcG9uc2l2ZSddID0gJ0VuYWJsZSBSZXNwb25zaXZlIEltYWdlcyc7CiRsYW5nWydlcnJvcl9hbGlhc19kdXBsaWNhdGVuYW1lX2F0cm93J10gPSAnRHVwbGljYXRlIGFsaWFzIG5hbWUgc3BlY2lmaWVkIGZvciBhbGlhcyBhdCByb3cgJWQnOwokbGFuZ1snZXJyb3JfYWxpYXNfbm9uYW1lX2F0cm93J10gPSAnTm8gbmFtZSBzcGVjaWZpZWQgZm9yIGFsaWFzIGF0IHJvdyAlZCc7CiRsYW5nWydlcnJvcl9hbGlhc19ub29wdGlvbnNfYXRyb3cnXSA9ICdObyBvcHRpb25zIHNwZWNpZmllZCBmb3IgYWxpYXMgYXQgcm93ICVkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfYWdlJ10gPSAnQWdlIHByZWZlcmVuY2UgaW52YWxpZC4uLiBObyBvcGVyYXRpb24gcGVyZm9ybWVkJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ0EgcmVxdWlyZWQgcGFyYW1ldGVyIHdhcyBtaXNzaW5nIG9yIGludmFsaWQ6ICVzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbSddID0gJ0ludmFsaWQgcGFyYW1ldGVyIGluIGNhbGw6ICVzJzsKJGxhbmdbJ2Vycm9yX3NyY25vdGZvdW5kJ10gPSAnQ291bGQgbm90IGZpbmQgYSBmaWxlIGF0OiAlcyc7CiRsYW5nWydlcnJvcl9yZW1vdGVmaWxlJ10gPSAnUHJvYmxlbSByZXRyaWV2aW5nIHJlbW90ZSBmaWxlIGF0ICVzJzsKJGxhbmdbJ2Vycm9yX3Vua25vd25maWx0ZXInXSA9ICdDR1NtYXJ0SW1hZ2UgLSBVbmtub3duIEZpbHRlcjogJXMnOwoKIyBGCiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIFNtYXJ0IEltYWdlIFRvb2xraXQnOwoKIyBHCiRsYW5nWydnZW5lcmFsJ10gPSAnR2VuZXJhbCc7CgojIEgKCiMgSQokbGFuZ1snaW5mb19hbGlhc2VzJ10gPSAnQWxpYWVzIGNhbiBiZSB1c2VkIHZpYSB0aGUgYWxpYXMxIHRocm91Z2ggYWxpYXM1IG9wdGlvbnMgb24gdGhlIENHU21hcnRJbWFnZSB0YWcgdG8gY29tYmluZSBudW1lcm91cyBmcmVxdWVudGx5IHVzZWQgb3B0aW9ucyc7CiRsYW5nWydpbmZvX2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ1NwZWNpZnkgdGhlIGRlZmF1bHQgbG9jYXRpb24gZnJvbSB3aGljaCB0byAmcXVvdDtjcm9wIHRvIGZpdCZxdW90OyB0aGlzIHdpbGwgZWZmZWN0IGFsbCBjcm9wIHRvIGZpdCBvcGVyYXRpb25zIHVubGVzcyB0aGUgbG9jYXRpb24gcGFyYW1ldGVyIG9uIHRoZSBmaWx0ZXJfY3JvcHRvZml0IGF0dHJpYnV0ZSBvdmVycmlkZXMgaXQuICBEZWZhdWx0IGxvY2F0aW9uIGlzICZxdW90O2NlbnRlciZxdW90Oyc7CiRsYW5nWydpbmZvX3Jlc3BvbnNpdmUnXSA9ICdJZiBlbmFibGVkLCBDR1NtYXJ0SW1hZ2Ugd2lsbCBhdHRlbXB0IHRvIGRldGVjdCB0aGUgbWF4aW11bSByZXNvbHV0aW9uIG9mIHRoZSByZXF1ZXN0aW5nIGRldmljZSBhbmQgYXV0b21hdGljYWxseSByZXNjYWxlIHRoZSBpbWFnZSBzbyB0aGF0IHVuZGVyIG5vIGNpcmN1bXN0YW5jZXMgY2FuIHRoZSBvdXRwdXQgaW1hZ2UgYmUgdG9vIGxhcmdlIGZvciB0aGUgZGlzcGxheS4gIFRoaXMgYXNzaXN0cyBpbiBwZXJmb3JtYW5jZSB3aGVuIGRldmVsb3BpbmcgbW9iaWxlIHdlYnNpdGVzLic7CiRsYW5nWydpbmZvX3Jlc3BvbnNpdmVfYnJlYWtwb2ludHMnXSA9ICc8c3Ryb25nPkV4cGVyaW1lbnRhbDo8L3N0cm9uZz4gSWYgc3BlY2lmaWVkLCBhbmQgYSBtb2JpbGUgZGV2aWNlIGlzIGRldGVjdGVkIHRoZSBicmVha3BvaW50cyB3aWxsIGJlIHVzZWQgdG8gZGV0ZXJtaW5lIHRoZSBtYXhpbXVtIGxhcmdlc3QgZWRnZSBmb3IgdGhlIHJlc3VsdGluZyBpbWFnZS4gIFNwZWNpZnkgYSBsaXN0IG9mIGNvbW1hIHNlcGFyYXRlZCBpbmNyZWFzaW5nIGludGVnZXJzIDxlbT4oaS5lOiAyMDAsNDAwLDYwMCw4MDApPC9lbT4uIFRoZSBkZXZpY2UgY2FwYWJpbHRpZXMgd2lsbCBiZSB1c2VkIHRvIGZpbmQgdGhlIGNsb3Nlc3QgbWF0Y2hpbmcgYnJlYWtwb2ludCB2YWx1ZS4gIFRoZSBpbWFnZSB3aWxsIGJlIHJlc2l6ZWQgc28gdGhhdCBpdHMgbGFyZ2VzdCBlZGdlIGlzIGF0IHRoYXQgdmFsdWUgd2l0aG91dCB1cHNjYWxpbmcuICBBc3BlY3QgcmF0aW8gd2lsbCBiZSBtYWludGFpbmVkLic7CiRsYW5nWydpbWFnZV91cmxfaGFzY2FjaGVkaXInXSA9ICdEb2VzIHRoZSBVUkwgYWJvdmUgYWNvdW50IGZvciB0aGUgY2FjaGUgcGF0aD8gaWUuICh1cGxvYWRzL19DR1NtYXJ0SW1hZ2UpJzsKJGxhbmdbJ2ltYWdlX3VybF9wcmVmaXgnXSA9ICdJbWFnZSBVcmwgUHJlZml4JzsKJGxhbmdbJ2luZm9fY2FjaGVfYWdlJ10gPSAnU3BlY2lmeSB0aGUgbWF4aW11bSBhZ2Ugb2YgYSBmaWxlIChpbiBkYXlzKSBiZWZvcmUgaXQgd2lsbCBiZSByZW1vdmVkIGFuZCBmb3JjZWQgdG8gcmVnZW5lcmF0ZS4gIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSBoYXZlIGNoYW5nZWQgc29tZSBvZiB0aGUgcGFyYW1ldGVycyB1c2VkIHdoZW4gZ2VuZXJhdGluZyBpbWFnZXMsIG9yIHRvIGNvbnRyb2wgdGhlIGFtb3VudCBvZiBkaXNrIHNwYWNlIHVzZWQuICBFbnRlcmluZyAwIHdpbGwgZGlzYWJsZSBhdXRvbWF0aWMgZmlsZSBkZWxldGlvbic7CiRsYW5nWydpbmZvX2NhY2hlX3BhdGgnXSA9ICdDYWNoZSBwYXRoIGZvciBjYWNoZSBpbWFnZXMgdG8gYmUgc3RvcmVkLiBDYWNoZSBwYXRoIGlzIHJlbGF0aXZlIHRvIGNvbmZpZyByZWZlcmVuY2UgInJvb3RfcGF0aCIuJzsKJGxhbmdbJ2luZm9fZW1iZWRfbW9kZSddID0gJ1RoaXMgc2VsZWN0aW9uIGRldGVybWluZXMgaG93IHRoZSB7c21hcnRpbWd9IHRhZyB3aWxsIGdlbmVyYXRlIG91dHB1dC4gIElmICZxdW90O25vbmUmcXVvdDsgaXMgc2VsZWN0ZWQgbm8gaW1hZ2UgZW1iZWRkaW5nIHdpbGwgYmUgcGVyZm9ybWVkLiAgSWYgJnF1b3Q7c21hcnQmcXVvdDsgaXMgc2VsZWN0ZWQgdGhlbiB0aGUgc3lzdGVtIHdpbGwgZGVjaWRlIGJhc2VkIG9uIHRoZSBpbWFnZSBzaXplLCB0eXBlLCBhbmQgdGhlIGJyb3dzZXIgdGhhdCBpcyByZXF1ZXN0aW5nIHRoZSBpbWFnZS4gIE90aGVyIG9wdGlvbnMgaW5jbHVkZSBhbHdheXMgZW1iZWRkaW5nIGJhc2VkIG9uIHRoZSBpbWFnZSBzaXplLCBvciB0aGUgaW1hZ2UgdHlwZS4nOwokbGFuZ1snaW5mb19lbWJlZF9zaXplbGltaXQnXSA9ICdJZiB0aGUgZW1iZWRkaW5nIG9wdGlvbiBpcyBkZXRlcm1pZWQgYnkgdGhlIGltYWdlIHNpemUsIHNwZWNpZnkgdGhlIG1heGltdW0gc2l6ZSAoaW4ga2lsb2J5dGVzKSBmb3IgaW1hZ2VzIHRvIGJlIGVtYmVkZGVkICgzMiBpcyByZWNvbW1lbmRlZCkuJzsKJGxhbmdbJ2luZm9fZW1iZWRfdHlwZXMnXSA9ICdJZiB0aGUgZW1iZWRkaW5nIG9wdGlvbiBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBpbWFnZSB0eXBlLCBzcGVjaWZ5IHRoZSBleHRlbnNpb25zIG9mIHRoZSBmaWxlcyB0aGF0IHNob3VsZCBiZSBlbWJlZGRlZCBoZXJlIHNlcGFyYXRlZCBieSBjb21tYXMuICBUaGlzIG9wdGlvbiBpcyBub3QgY2FzZSBzZW5zaXRpdmUnOwokbGFuZ1snaW5mb19pbWFnZV91cmxfaGFzY2FjaGVkaXInXSA9ICdJZiB5b3VyIENETiBpcyBwb2ludGluZyBkaXJlY3RseSBhdCB0aGUgaW1hZ2UgY2FjaGUgZGlyZWN0b3J5IHRoZW4geW91IG1heSB3YW50IHRvIHR1cm4gdGhpcyBvcHRpb24gb24uJzsKJGxhbmdbJ2luZm9faW1hZ2VfdXJsX3ByZWZpeCddID0gJ1NwZWNpZnkgdGhlIFVSTCB0byBwcmVmaXggdG8gYWxsIGdlbmVyYXRlZCBpbWFnZXMuICBCeSBkZWZhdWx0IHRoaXMgaXMgdGhlIHVwbG9hZHMgVVJMLCBob3dldmVyIGlmIHlvdSBoYXZlIHlvdXIgb3duIENETiAob3IgbXVsdGlwbGUgZG9tYWlucyBwb2ludGluZyBhdCB0aGUgc2FtZSBkaXJlY3RvcnkpIFlvdSBtYXkgd2FudCB0byBzcGVjaWZ5IGEgZGlmZmVyZW50IG5hbWUgaGVyZSc7CiRsYW5nWydpbmZvX3N1cHByZXNzX2Vycm9ycyddID0gJ1NwZWNpZnkgYSBkZWZhdWx0IHZhbHVlIGZvciB0aGUgJnF1b3Q7c2lsZW50JnF1b3Q7IHBhcmFtZXRlcic7CgojIE0KJGxhbmdbJ21heF9jYWNoZV9hZ2UnXSA9ICdNYXhpbXVtIENhY2hlIEZpbGUgQWdlIChkYXlzKSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0Egc21hcnQgaW1hZ2UgdGFnIGdlbmVyYXRpb24gbW9kdWxlIGZvciBDTVNNUyc7CiRsYW5nWydtc2dfYWxpYXNlc191cGRhdGVkJ10gPSAnQWxpYXNlcyBVcGRhdGVkJzsKJGxhbmdbJ21zZ19jYWNoZWNsZWFuZWQnXSA9ICdDYWNoZSBkaXJlY3RvcnkgY2xlYW5lZC4gJWQgZmlsZXMgcmVtb3ZlZCc7CiRsYW5nWydtc2dfY2FjaGVyZW1vdmVkJ10gPSAnQ2FjaGUgUmVtb3ZlZCc7CiRsYW5nWydtc2dfcHJlZnN1cGRhdGVkJ10gPSAnUHJlZmVyZW5jZXMgVXBkYXRlZCc7CgojIE4KJGxhbmdbJ25vbmUnXSA9ICdOb25lJzsKCiMgTwokbGFuZ1snb3B0aW9ucyddID0gJ09wdGlvbnMnOwoKIyBQCiRsYW5nWydwYXJhbV9hbGlhcyddID0gJ1RoZSBDR1NtYXJ0SW1hZ2UgYWRtaW4gcGFuZWwgYWxsb3dzIGNyZWF0aW5nIG51bWVyb3VzIGNvbW1hbmQgYWxpYXMgdG8gY29tYmluZSBhIGZyZXF1ZW50bHkgdXNlZCBwYXR0ZXJuIG9mIGFyZ3VtZW50cyBpbnRvIG9uZSBuYW1lLiAgVG8gdXNlIHRoZXNlIGFsaWFzZXMgdXNlIGFuIGFyZ3VtZW50IG9mIHRoZSBmb3JtIGFsaWFzIyM9YWxpYXNfbmFtZSBpLmU6ICBhbGlhczE9Zm9vIGFsaWFzMj1mb28uJzsKJGxhbmdbJ3BhcmFtX2FsdCddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIGFsdCBhdHRyaWJ1dGUuICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgJnF1b3Q7bm9hdXRvJnF1b3Q7IHBhcmFtZXRlcic7CiRsYW5nWydwYXJhbV9jbGFzcyddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBhbGxvd3Mgc3BlY2lmeWluZyBvbmUgb3IgbW9yZSBjbGFzc2VzIHRvIGluY2x1ZGUgb24gdGhlIHRhZy4gIGkuZTogY2xhc3M9ImZhbmN5Ym94LHRodW1ibmFpbCInOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JsdXInXSA9ICcoYW55dGhpbmcpIFNwZWNpZnkgYW55IHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciB0byBhZGQgYSBibHVyIGZpbHRlciB0byB0aGUgaW1hZ2UnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JyaWdodG5lc3MnXSA9ICcoaW50ZWdlcikgSW5jcmFzZSB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgcHJvY2Vzc2VkIGltYWdlIGJ5IHRoZSBpbnRlZ2VyIHZhbHVlIHNwZWNpZmllZCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29sb3JpemUnXSA9ICcocixnLGJbLGFscGhhXSkgLSBMaWtlIGZpbHRlcl9ncmF5c2NhbGUgaG93ZXZlciB5b3UgY2FuIHNwZWNpZnkgdGhlIGNvbG9yIGFuZCBhbHBoYSB2YWx1ZSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29udHJhc3QnXSA9ICcoaW50ZWdlcikgQ2hhbmdlIHRoZSBjb250cmFzdCBvZiB0aGUgaW1hZ2UgYnkgdGhlIGludGVnZXIgdmFsdWUgc3BlY2lmaWVkJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wJ10gPSAnKHBlcmNlbnRbLGhfYWxpZ24sdl9hbGlnbl0pIC0gUGVyZm9ybSBjcm9wcGluZyBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBDcm9wIHBhcmFtZWV0ZXJzIGFyZSBzcGVjaWZpZWQgYXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBwYXJhbWV0ZXJzLiAgVGhlIGZpcnN0IChyZXF1aXJlZCkgdmFsdWUgaXMgYW4gaW50ZWdlciBwZXJjZW50YWdlIG9mIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplLiAgVGhlIG9wdGlvbmFsIHNlY29uZCBhbmQgdGhpcmQgcGFyYW1ldGVycyBhcmUgb25lIG9mIGwsYyxyIChsZWZ0LGNlbnRlcixyaWdodCkgYW5kIHQsYyxiICh0b3AsY2VudGVyLGJvdHRvbSkgc3BlY2lmeWluZyB3aGVyZSB0aGUgbG9jYXRpb24gd2l0aGluIHRoZSBzb3VyY2UgaW1hZ2UgdG8gY3JvcCBmcm9tLiAgaS5lOiBjcm9wPTMzLGIsciB0byBncmFiIGEgY3JvcCBvZiAzMyUgZnJvbSB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSBzb3VyY2UgaW1hZ2UuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wdG9maXQnXSA9ICcod2lkdGgsaGVpZ2h0Wyxsb2NhdGlvblssdXBzY2FsZV1dKSAtIFBlcmZvcm0gYSBjcm9wdG9maXQgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gVGhpcyBhdHRlbXB0cyB0byByZXNjYWxlIHRoZSBpbWFnZSB0byB0aGUgZGVzdGluYXRpb24gc2l6ZSB3aGlsZSByZWF0aW5pbmcgYXNwZWN0IHJhdGlvLCB0aGVuIGZvY3VzIG9uIHRoZSBzZWxlY3RlZCBhcmVhIG9mIHRoZSByZXNpemVkIGltYWdlLiAgQ3JvcCB0byBmaXQgcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkIGFzIHRoZSBkZXNpcmVkIHdpZHRoIGFuZCBoZWlnaHQgZm9yIHRoZSBkZXN0aW5hdGlvbiBpbWFnZSBhbG9uZyB3aXRoIGFuIChvcHRpb25hbCkgbG9jYXRpb24gY29kZSwgYW5kIHVwc2NhbGUgZmxhZy4gIHZhbGlkIGxvY2F0aW9uIGNvZGVzIGFyZSB0bCx0Yyx0cixjbCxjLGNyLGJsLGIsYnIgZm9yIHRoZSA5IHJlbGF0aXZlIHBvc2l0aW9ucyB3aXRoaW4gdGhlIGltYWdlLiAgSWYgYSBsb2NhdGlvbiBpcyBub3Qgc3BlY2lmaWVkIGEgcHJlZmVyZW5jZSB3aWxsIGJlIHVzZWQuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAmcXVvdDtjJnF1b3Q7IHRvIGNyb3AtdG8tZml0IGZyb20gdGhlIGNlbnRlciBvZiB0aGUgc291cmNlIGltYWdlLiAgQnkgZGVmYXVsdCB1cHNjYWxpbmcgaXMgZGlzYWJsZWQgb24gdGhpcyBmaWx0ZXIuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lZGdlZGV0ZWN0J10gPSAnKGFueXRoaW5nKSBIaWxpZ2h0IHRoZSBlZGdlcyBpbiB0aGUgaW1hZ2UnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2VtYm9zcyddID0gJyhhbnl0aGluZykgRW1ib3NzIHRoZSBpbWFnZSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfZmxpcCddID0gJyhtb2RlKSAtIFBlcmZvcm0gYSBmbGlwIG9uIHRoZSBzcGVjaWZpZWQgaW1hZ2UuICBTcGVjaWZ5IDAgZm9yIGhvcml6b250YWwsIDEgZm9yIHZlcnRpY2FsLCBhbmQgMiBmb3IgZmxpcCBpbiBib3RoIGRpcmVjdGlvbnMuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9ncmF5c2NhbGUnXSA9ICcoYW55dGhpbmcpIENvbnZlcnQgdGhlIGltYWdlIHRvIGdyYXlzY2FsZSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbWVhbnJlbW92YWwnXSA9ICcoYW55dGhpbmcpIEF0dGVtcHQgdG8gYWNoaWV2ZSBhICZxdW90O3NrZXRjaHkmcXVvdDsgZWZmZWN0JzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9uZWdhdGUnXSA9ICcoYW55dGhpbmcpIE5lZ2F0ZSB0aGUgaW1hZ2UnOwokbGFuZ1sncGFyYW1fZmlsdGVyX3BpeGVsYXRlJ10gPSAnKHNpemVbLGFkdmFuY2VkXSkgUGl4ZWxhdGUgdGhlIGltYWdlLCBzcGVjaWZ5IGFuIGludGVnZXIgc2l6ZSBhbmQgYW4gb3B0aW9uYWwgYm9vbGVhbiAoZGVmYXVsdCBpcyBmYWxzZSkgdG8gZW5hYmxlIGFkdmFuY2VkIHBpeGVsYXRpb24nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3JlZmxlY3QnXSA9ICcoW3JlZmxlY3Rpb25faGVpZ2h0WyxyZWZsZWN0aW9uX29wYWNpdHlbLGRpdmlkZXJfaGVpZ2h0XV1dKSwgQ3JlYXRlcyByZWZsZWN0aW9uIG9mIGltYWdlLCBjdXJyZW50bHkgd29ya2luZyBvbmx5IHdpdGgganBnLGpwZWcgaW1hZ2VzIGFnYWluc3Qgd2hpdGUgYmFja2dyb3VuZC4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3Jlc2l6ZSddID0gJ3R5cGUsbnVtYmVyWyxudW1iZXJbLHVwc2NhbGVdXSAtIFBlcmZvcm0gYSByZXNpemUgb2YgdGhlIHNvdXJjZSBpbWFnZS4gIEJ5IGRlZmF1bHQsIHRoZSByZXNpemUgZmlsdGVyIGFsbG93cyB1cHNjYWxpbmcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOgo8dWw+CiAgPGxpPnAsbnVtYmVyIC0gUGVyZm9ybSBhIHNpbXBsZSByZXNjYWxlIHRvIGEgY2VydGFpbiBwZXJjZW50YWdlLiAgaS5lOiAgcmVzaXplPXAsNTAgdG8gcmVzaXplIHRvIDUwJSBvZiB0aGUgb3JpZ2luYWwgc2l6ZS48L2xpPgogIDxsaT5wLG51bWJlciwwIC0gUGVyZm9ybSBhIHNpbXBsZSByZXNjYWxlIHRvIGEgY2VydGFpbiBwZXJjZW50YWdlLiAgaS5lOiAgcmVzaXplPXAsNTAgdG8gcmVzaXplIHRvIDUwJSBvZiB0aGUgb3JpZ2luYWwgc2l6ZS4gRG8gbm90IGFsbG93IHVwc2NhbGluZzwvbGk+CiAgPGxpPncsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy48L2xpPgogIDxsaT53LG51bWJlciwwIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy4gRG8gbm90IGFsbG93IHVwc2NhbGluZzwvbGk+CiAgPGxpPmgsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCBoZWlnaHQgKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT1oLDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSBoZWlnaHQgb2YgODAgcGl4ZWxzLjwvbGk+CiAgPGxpPmgsbnVtYmVyLDAgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIGhlaWdodCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWgsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIGhlaWdodCBvZiA4MCBwaXhlbHMuIERvIG5vdCBhbGxvdyB1cHNjYWxpbmc8L2xpPgogIDxsaT5lLG51bWJlciAtIFBlcmZvcm0gYSByZXNpemUgcmVzaXppbmcgdGhlIGxhcmdlc3QgZWRnZSB0byB0aGUgc3BlY2lmaWVkIHZhbHVlICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9ZSwxMDAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdob3MgbGFyZ2VzdCBlZGdlIGlzIDEwMCBwaXhlbHMuPC9saT4KICA8bGk+ZSxudW1iZXIsMCAtIFBlcmZvcm0gYSByZXNpemUgcmVzaXppbmcgdGhlIGxhcmdlc3QgZWRnZSB0byB0aGUgc3BlY2lmaWVkIHZhbHVlICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9ZSwxMDAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdob3MgbGFyZ2VzdCBlZGdlIGlzIDEwMCBwaXhlbHMuICBEbyBub3QgYWxsb3cgdXBzY2FsaW5nLjwvbGk+CiAgPGxpPmMseCx5IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiBmaWx0ZXJfcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLjwvbGk+LgogIDxsaT5jLHgseSwwIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiBmaWx0ZXJfcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLiBEbyBub3QgYWxsb3cgdXBzY2FsaW5nLjwvbGk+Lgo8L3VsPic7CiRsYW5nWydwYXJhbV9maWx0ZXJfcmVzaXpldG9maXQnXSA9ICcod2lkdGgsaGVpZ2h0Wyxjb2xvclssYWxwaGFdXSkgLSBQZXJmb3JtIGEgcmVzaXplIG9uIHRoZSBpbWFnZSBzcGVjaWZpZWQuIFRoaXMgYXR0ZW1wdHMgdG8gcmVzY2FsZSB0aGUgaW1hZ2UgdG8gdGhlIGRlc3RpbmF0aW9uIHNpemUgd2hpbGUgcmVhdGluaW5nIGFzcGVjdCByYXRpbywgdGhlIGltYWdlIGlzIGNlbnRlcmVkIGluIHRoZSBib3ggc3BlY2lmaWVkIChlaXRoZXIgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgZGVwZW5kaW5nIHVwb24gYXNwZWN0IHJhdGlvIGFuZCB0aGUgZGVzdGluYXRpb24gc2l6ZSwgYW5kIHRoZSBpbWFnZSBpcyBzdXJyb3VuZGVkIGJ5IHRoZSBzdXBwbGllZCBjb2xvci4gIENvbG9ycyBjYW4gYmUgc3BlY2lmaWVkIGJ5IG5hbWUgKHNlZSB0aGUgWDExIGNvbG9yIG5hbWVzKSwgb3IgYnkgI25ubm5ubiBoZXhhZGVjaW1hbCBmb3JtYXQsIG9yIGFzIHJnYiB2YWx1ZXMgc2VwYXJhdGVkIGJ5IGEgOiBpLmU6ICBmaWx0ZXJfY3JvcHRvZml0PTYwMCw0MDAsI2ZmMDAwMC4gIFRoZSBzcGVjaWFsIGNvbG9yIHZhbHVlICZxdW90O3RyYW5zcGFyZW50JnF1b3Q7IGNhbiBiZSBzcGVjaWZpZWQgdG8gZm9yY2UgdGhlIGJhY2tncm91bmQgdG8gYmUgdHJhbnNwYXJlbnQgKGZvciBpbWFnZSB0eXBlcyB0aGF0IHN1cHBvcnQgaXQpLiAgIEFuIGFscGhhIHZhbHVlIG1heSBiZSBzcGVjaWZpZWQgYmV0d2VlbiAwIGFuZCAxMjcgdG8gc3BlY2lmeSBkaWZmZXJlbnQgZGVncmVlcyBvZiB0cmFuc2x1Y2VuY3kgZm9yIHRoZSBiYWNrZ3JvdW5kLiAgIEF0IG5vIHRpbWUgd2lsbCB0aGlzIHBsdWdpbiBwZXJmb3JtIGFueSB1cHNjYWxpbmcuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yb3RhdGUnXSA9ICcoYW5nbGUpIFNwZWNpZnkgdGhlIGludGVnZXIgYW5nbGUgKGNvdW50ZXIgY2xvY2t3aXNlKSB0byByb3RhdGUgdGhlIGltYWdlLCBUaGUgaW1hZ2UgaXMgcm90YXRlZCBhYm91dCBpdHMgY2VudGVyLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfcm91bmRlZGNvcm5lcnMnXSA9ICcocmFkaXVzKSBTcGVjaWZ5IGFuIGludGVnZXIgcmFkaXVzIChpbiBwaXhlbHMpIGZvciByb3VuZGluZyB0aGUgY29ybmVycy4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3NoYXJwZW4nXSA9ICcoaW50ZWdlcikgU3BlY2lmeSBhbiBhZGp1c3RtZW50IChiZXR3ZWVuIC0xMCBhbmQgMTApIHRvIHRoZSBzaGFycGVuIGZpbHRlci4gIExvd2VyIHZhbHVlcyB3aWxsIGxpZ2h0ZW4gdGhlIHNoYXJwZW5pbmcgZWZmZWN0LiAgSGlnaGVyIHZhbHVlcyBpbmNyZWFzZSBpdC4gIE5vdGU6IHNoYXJwZW5pbmcgbWF5IGhhdmUgYWR2ZXJzZSBlZmZlY3RzIG9uIHNvbWUgaW1hZ2VzLCBhbmQgc2hvdWxkIHVzdWFsbHkgYmUgc3BlY2lmaWVkIGFzIHRoZSBsYXN0IGZpbHRlciwgdW5sZXNzIHRoZSBmaWx0ZXIgbWF5IGFkZCBib3JkZXJzIHRvdGhlIGltYWdlLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfd2F0ZXJtYXJrJ10gPSAnKGFueXRoaW5nKSwgU3BlY2lmeSB0aGF0IHRoZSB3YXRlcm1hcmsgKGFzIHNwZWNpZmllZCBpbiB0aGUgQ0dFeHRlbnNpb25zIGFkbWluIHBhbmVsKSBzaG91bGQgYmUgYXBwbGllZCB0byB0aGUgaW1hZ2UnOwokbGFuZ1sncGFyYW1faGVpZ2h0J10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBhbHNvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7d2lkdGgmcXVvdDsgcGFyYW1ldGVyIHRvIHBlcmZvcm0gYSBmaW5hbCByZXNpemluZyBvciBjcm9wdG9maXQgZmlsdGVyICh1bmxlc3MgdGhlICZxdW90O25vYXV0b3NjYWxlJnF1b3Q7IHBhcmFtZXRlciBpcyBhbHNvIHN1cHBsaWVkKSc7CiRsYW5nWydwYXJhbV9pZCddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBhbGxvd3Mgc3BlY2lmeWluZyBhbiBpZCBhdHRyaWJ1dGUgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBpZD0ic29tZXRhZyInOwokbGFuZ1sncGFyYW1fbWF4X2hlaWdodCddID0gJ1RoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbWF4aW11bSBoZWlnaHQgZm9yIHRoZSBjb252ZXJ0ZWQgaW1hZ2VzLic7CiRsYW5nWydwYXJhbV9tYXhfd2lkdGgnXSA9ICdUaGlzIHBhcmFtZXRlciBhbGxvd3Mgc3BlY2lmeWluZyBhIG1heGltdW0gd2lkdGggZm9yIHRoZSBjb252ZXJ0ZWQgaW1hZ2VzLic7CiRsYW5nWydwYXJhbV9uYW1lJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgbmFtZSBhdHRyaWJ1dGUuJzsKJGxhbmdbJ3BhcmFtX25vYXV0byddID0gJ0RvIG5vdCBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZSBwYXJhbWV0ZXJzIGZvciB0aGUgaW1nIHRhZy4gIFRoaXMgbWF5IGNhdXNlIHlvdXIgc2l0ZSB0byBmYWlsIHZhbGlkYXRpb24gaWYgc29tZSByZXF1aXJlZCBwYXJhbWV0ZXJzICh3aWR0aCxoZWlnaHQsYWx0KSBhcmUgbm90IHNwZWNpZmllZC4gIEFkZGl0aW9uYWxseSwgaWYgdGhlIHdpZHRoIGFuZCBoZWlnaHQgYXR0cmlidXRlcyBhcmUgc3BlY2lmaWVkLCB0aGlzIHBhcmFtZXRlciB3aWxsIGVuc3VyZSB0aGF0IHRoZXkgd2lsbCBub3QgYmUgb3ZlcnJpZGRlbiBieSB0aGUgYWN0dWFsIHNpemUgb2YgdGhlIHByb2Nlc3NlZCBpbWFnZS4nOwokbGFuZ1sncGFyYW1fbm9hdXRvc2NhbGUnXSA9ICdJZiB3aWR0aCBhbmQgaGVpZ2h0IHBhcmFtZXRlcnMgYXJlIHNwZWNpZmllZCwgdGhpcyBwYXJhbWV0ZXIgd2lsbCBkaXNhYmxlIGF1dG9tYXRpYyBzY2FsaW5nIG9mIHRoZSBpbWFnZS4gIFRoaXMgcGFyYW1ldGVyIHdpbGwgYmUgZGlzYWJsZWQgZm9yIG1vYmlsZSBicm93c2Vycyc7CiRsYW5nWydwYXJhbV9ub2JjYWNoZSddID0gJ0RvIG5vdCBhbGxvdyB0aGUgcmVzaXplZCBpbWFnZSB0byBjYWNoZSBpbiB0aGUgYnJvd3NlciAodXNlZnVsIGZvciBkZXZlbG9wbWVudCBwdXJwb3NlcykgdGhpcyBhZGRzIGEgdW5pcXVlIG51bWJlciBhcyBhIHBhcmFtZXRlciB0byB0aGUgaW1hZ2Ugd2hpY2ggd2lsbCBmb3JjZSB0aGUgYnJvd3NlciBub3QgdG8gY2FjaGUgdGhlIGltYWdlLic7CiRsYW5nWydwYXJhbV9ub2JyZWFrcG9pbnRzJ10gPSAnPHN0cm9uZz5FeHBlcmltZW50YWw6PC9zdHJvbmc+IEZvciByZXNwb25zaXZlIGltYWdlIGhhbmRsaW5nLCBkaXNhYmxlIGJyZWFrcG9pbnRzIGFuZCBmb3JjZSByZWd1bGFyIHJlc2l6ZSBoYW5kbGluZyBmb3IgaW1hZ2VzIG9uIG1vYmlsZSBicm93c2Vycy4nOwokbGFuZ1sncGFyYW1fbm9lbWJlZCddID0gJ0ZvcmNlIHRoZSBpbWFnZSB0byBub3QgZW1iZWQuICBSZWdhcmRsZXNzIG9mIHNldHRpbmdzIGluIHRoZSBhZG1pbiBwYW5lbCwgdGhlIFVSTCBhbmQgdGFnIGdlbmVyYXRlZCB3aWxsIGJlIHRvIGEgZmlsZSBvbiB0aGUgc2VydmVyLiAgTm8gZW1iZWRkaW5nIHdpbGwgYmUgcGVyZm9ybWVkJzsKJGxhbmdbJ3BhcmFtX25vdGltZWNoZWNrJ10gPSAnRGlzYWJsZSB0aW1lIGNoZWNraW5nIG9mIGNhY2hlZCBmaWxlcy4nOwokbGFuZ1sncGFyYW1fbm9yZW1vdGUnXSA9ICdEbyBub3QgYWxsb3cgcmV0cmlldmluZyBzb3VyY2VzIGZyb20gcmVtb3RlIFVSTFMnOwokbGFuZ1sncGFyYW1fbm9yZXNwb25zaXZlJ10gPSAnRG8gbm90IHBlcmZvcm0gcmVzcG9uc2l2ZSBpbWFnZSByZXNpemluZyc7CiRsYW5nWydwYXJhbV9ub3JvdGF0ZSddID0gJ0RvIG5vdCBhdHRlbXB0IHRvIHJlYWQgZXhpZiBpbmZvcm1hdGlvbiBmcm9tIHRoZSBmaWxlIGFuZCBjb3JyZWN0IGltYWdlIHJvdGF0aW9uJzsKJGxhbmdbJ3BhcmFtX25vdGFnJ10gPSAnRG8gbm90IG91dHB1dCBhbiBpbWcgdGFnLCBvbmx5IHRoZSB1cmwgdG8gdGhlIGNhY2hlZCBpbWFnZS4gIFRoaXMgaGFzIG5vIGVmZmVjdCB3aGVuIENHU21hcnRJbWFnZSBpcyB1c2VkIGZyb20gd2l0aGluIGEgc3R5bGVzaGVldC4nOwokbGFuZ1sncGFyYW1fb3ZlcndyaXRlJ10gPSAnRGlzYWJsZSBhbGwgY2FjaGluZyBhbmQgZm9yY2UgcmUtY2FsY3VsYXRpb24gb2YgYWxsIGZpbHRlcnMnOwokbGFuZ1sncGFyYW1fcXVhbGl0eSddID0gJ1NwZWNpZnkgdGhlIHF1YWxpdHkgb2YgdGhlIG91dHB1dCBpbWFnZS4gIEEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxMDAuICBUaGUgZGVmYXVsdCB2YWx1ZSBpZiBub3Qgc3BlY2lmaWVkIGlzIDc1Lic7CiRsYW5nWydwYXJhbV9yZWwnXSA9ICdVc2VkIHdoZW4gYnVpbGRpbmcgYW4gaW1hZ2UgdGFnIGFsbG93cyBzcGVjaWZ5aW5nIGFuIG9wdGlvbmFsIHJlbCBhdHRyaWJ1dGUgKHR5cGljYWxseSB1c2VkIHdpdGggamF2YXNjcmlwdCB0eXBlIGFsYnVtcykuIGkuZTogcmVsPSJhbGJ1bSInOwokbGFuZ1sncGFyYW1fc2lsZW50J10gPSAnU2lsZW50bHkgaWdub3JlIGVycm9ycyc7CiRsYW5nWydwYXJhbV9zcmMnXSA9ICdTcGVjaWZ5IHRoZSBzb3VyY2UgZm9yIHRoZSBpbWFnZSBwcm9jZXNzaW5nIChpZiBhbnkpIG9yIHRoZSBnZW5lcmF0ZWQgaW1nIHRhZy4gIE5vdGUsIHRoaXMgcGFyYW1ldGVyIGlzIGZsZXhpYmxlLCBhbmQgdGhlIG1vZHVsZSB3aWxsIGF0dGVtcHQgbWFueSBtZXRob2RzIHRvIGZpbmQgdGhlIHNvdXJjZSBpbWFnZSBmaWxlIG9uIHRoZSB3ZWIgc2VydmVyIGFzIGZvbGxvd3M6Cjx1bD4KICA8bGk+Rmlyc3QgbG9vayB0byBzZWUgaWYgdGhlIHNwZWNpZmllZCBzcmMgdmFsdWUgZXhpc3RzIGFzIGEgZmlsZSBvbiB0aGUgZmlsZXN5c3RlbSA8c3Ryb25nPkJlbG93IHRoZSBDTVNNUyByb290IFVSTDwvc3Ryb25nPjwvbGk+CiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgdXBsb2Fkc191cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPgogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHJvb3RfdXJsIChhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5waHApPC9saT4KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSBzc2xfdXJsIChhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5waHApPC9saT4KPC91bD4KSXQgaXMgYWxzbyBwb3NzaWJsZSB0byBzcGxpdCB0aGUgc3JjIHBhcmFtZXRlciBpbnRvIG11bHRpcGxlIGFyZ3VtZW50cywgd2hpY2ggaXMgdXNlZnVsIGZvciBleGFtcGxlIHdoZW4gdGhlIHBhdGggdG8gdGhlIGZpbGUsIGFuZCB0aGUgZmlsZW5hbWUgYXJlIHN0b3JlZCBpbiBzZXBhcmF0ZSBzbWFydHkgdmFyaWFibGVzLiAgIFlvdSBjYW4gc3BlY2lmeSB0aGUgc3JjIGFzIHNyYzE9XCR0aGVfcGF0aCBzcmMyPVwkdGhlX2ZpbGVuYW1lLiAgVGhlIHN5c3RlbSB3aWxsIGF1dG9tYXRpY2FsbHkgYWRkIGEgLyBpbiBiZXR3ZWVuIGVhY2ggYXJndW1lbnQuICBUaGVyZSBpcyBubyBsaW1pdCB0byB0aGUgbnVtYmVyIG9mIHNyYyBwYXJhbWV0ZXJzLic7CiRsYW5nWydwYXJhbV9zdHlsZSddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBhbGxvd3Mgc3BlY2lmeWluZyBhbHRlcm5hdGUgc3R5bGVzIGZvciB0aGUgdGFnLiAgaS5lOiBzdHlsZT0iYm9yZGVyOiAxcHggc29saWQgYmxhY2s7Iic7CiRsYW5nWydwYXJhbV90aXRsZSddID0gJ1NwZWNpZnkgYW4gb3B0aW9uYWwgdGl0bGUgYXR0cmlidXRlIGZvciB0aGUgaW1nIHRhZy4gIGkuZTogdGl0bGU9IlRoaXMgaXMgdGhlIHRvb2x0aXAiJzsKJGxhbmdbJ3BhcmFtX3dpZHRoJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgd2lkdGggYXR0cmlidXRlLiAgIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBhbHNvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7aGVpZ2h0JnF1b3Q7IHBhcmFtZXRlciB0byBwZXJmb3JtIGEgZmluYWwgcmVzaXppbmcgb3IgY3JvcHRvZml0IGZpbHRlciAodW5sZXNzIHRoZSAmcXVvdDtub2F1dG9zY2FsZSZxdW90OyBwYXJhbWV0ZXIgaXMgYWxzbyBzdXBwbGllZCknOwoKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWxlIGluc3RhbGxlZCc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnQWxsIGRhdGEgYXNzb2NpYXRlZCB3aXRoIHRoaXMgbW9kdWxlIGhhcyBiZWVuIHJlbW92ZWQnOwokbGFuZ1sncHJvbXB0X2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ0RlZmF1bHQgbG9jYXRpb24gZnJvbSB3aGljaCB0byAmcXVvdDtjcm9wIHRvIGZpdCZxdW90Oyc7CiRsYW5nWydwcm9tcHRfZW1iZWRfc2l6ZWxpbWl0J10gPSAnQmFzZWQgb24gaW1hZ2Ugc2l6ZSc7CiRsYW5nWydwcm9tcHRfZW1iZWRfc21hcnRsaW1pdGVkJ10gPSAnU21hcnQgbW9kZSBidXQgbGltaXQgaW1hZ2Ugc2l6ZSc7CiRsYW5nWydwcm9tcHRfZW1iZWRfdHlwZSddID0gJ0Jhc2VkIG9uIGltYWdlIHR5cGUnOwokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21sZWZ0J10gPSAnQm90dG9tIExlZnQgKGJsKSc7CiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbWNlbnRlciddID0gJ0JvdHRvbSBDZW50ZXIgKGJjKSc7CiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbXJpZ2h0J10gPSAnQm90dG9tIFJpZ2h0IChiciknOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJsZWZ0J10gPSAnQ2VudGVyIExlZnQgKGNsKSc7CiRsYW5nWydwcm9tcHRfbG9jX2NlbnRlciddID0gJ0NlbnRlciAoYyknOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJyaWdodCddID0gJ0NlbnRlciBSaWdodCAoY2wpJzsKJGxhbmdbJ3Byb21wdF9sb2NfdG9wbGVmdCddID0gJ1RvcCBMZWZ0ICh0bCknOwokbGFuZ1sncHJvbXB0X2xvY190b3BjZW50ZXInXSA9ICdUb3AgQ2VudGVyICh0YyknOwokbGFuZ1sncHJvbXB0X2xvY190b3ByaWdodCddID0gJ1RvcCBSaWdodCAodHIpJzsKCiMgUgokbGFuZ1sncmVzaXppbmcnXSA9ICdSZXNpemluZyc7CiRsYW5nWydyZXNwb25zaXZlJ10gPSAnUmVzcG9uc2l2ZW5lc3MnOwokbGFuZ1sncmVzcG9uc2l2ZV9icmVha3BvaW50cyddID0gJ1NwZWNpZnkgcmVzcG9uc2l2ZSBpbWFnZSBtYXhpbXVtIGVkZ2UgYnJlYWtwb2ludHMnOwoKIyBTCiRsYW5nWydzbWFydCddID0gJ1NtYXJ0JzsKJGxhbmdbJ3N1Ym1pdCddID0gJ1N1Ym1pdCc7CiRsYW5nWydzdXBwcmVzc19lcnJvcnMnXSA9ICdTdXBwcmVzcyBFcnJvcnMnOwoKPz4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lang/ext/de_DE.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdF9jYWNoZWNsZWFuZWQnXSA9ICdad2lzY2hlbnNwZWljaGVyIGdlbGVlcnQnOwokbGFuZ1snYWRkX3JvdyddID0gJ1plaWxlIGhpbnp1ZiZ1dW1sO2dlbic7CiRsYW5nWydhbGlhcyddID0gJ0FsaWFzICc7CiRsYW5nWydhbGlhc2VzJ10gPSAnQWxpYXNlJzsKJGxhbmdbJ2Fza19jbGVhcl9pbWFnZV9jYWNoZSddID0gJ1dvbGxlbiBTaWUgd2lya2xpY2ggQUxMRSBEYXRlaWVuIGF1cyBkZW0gWndpc2NoZW5zcGVpY2hlciBlbnRmZXJuZW4/JzsKJGxhbmdbJ2NsZWFyX2FsbCddID0gJ0FsbGUgRGF0ZWllbiBsJm91bWw7c2NoZW4nOwokbGFuZ1snY2xlYXJfbm93J10gPSAnSmV0enQgbCZvdW1sO3NjaGVuJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0wmb3VtbDtzY2hlbic7CiRsYW5nWydlbWJlZGRpbmcnXSA9ICdFaW5nZWJldHRldGUgQmlsZGVyJzsKJGxhbmdbJ2VtYmVkZGluZ19tb2RlJ10gPSAnQmlsZGVpbmJldHR1bmdzbW9kdXMnOwokbGFuZ1snZW1iZWRfc2l6ZWxpbWl0J10gPSAnQmlsZGVyIGVpbmJldHRlbiBiaXMgbWF4aW1hbCAoa2IpJzsKJGxhbmdbJ2VtYmVkX3R5cGVzJ10gPSAnQmlsZGVyIGRlcyBUeXBzIGVpbmJldHRlbic7CiRsYW5nWydlcnJvcl9hbGlhc19kdXBsaWNhdGVuYW1lX2F0cm93J10gPSAnRGVuIEFsaWFzLU5hbWVuLCBkZXIgZiZ1dW1sO3IgQWxpYXMgaW4gWmVpbGUgJWQgYW5nZWdlYmVuIHd1cmRlLCBkdXBsaXppZXJlbi4nOwokbGFuZ1snZXJyb3JfYWxpYXNfbm9uYW1lX2F0cm93J10gPSAnS2VpbiBOYW1lIGYmdXVtbDtyIGRlbiBBbGlhcyBpbiBaZWlsZSAlZCBhbmdlZ2ViZW4uJzsKJGxhbmdbJ2Vycm9yX2FsaWFzX25vb3B0aW9uc19hdHJvdyddID0gJ0tlaW5lIE9wdGlvbmVuIGYmdXVtbDtyIGRlbiBBbGlhcyBpbiBaZWlsZSAlZCBhbmdlZ2ViZW4uJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfYWdlJ10gPSAnQWx0ZXJzZWluc3RlbGx1bmcgdW5nJnV1bWw7bHRpZyAuLi4ga2VpbmUgQWt0aW9uIGF1c2dlZiZ1dW1sO2hydCc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdFaW4gZXJmb3JkZXJsaWNoZXIgUGFyYW1ldGVyIGZlaGx0IG9kZXIgaXN0IHVuZyZ1dW1sO2x0aWc6ICVzJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRwYXJhbSddID0gJ1VuZyZ1dW1sO2x0aWdlciBQYXJhbWV0ZXIgaW4gJXMnOwokbGFuZ1snZXJyb3Jfc3Jjbm90Zm91bmQnXSA9ICdLb25udGUgRGF0ZWkgaW4gJXMgbmljaHQgZmluZGVuJzsKJGxhbmdbJ2Vycm9yX3JlbW90ZWZpbGUnXSA9ICdFcyBnYWIgZWluIFByb2JsZW0sIGRpZSBlbnRmZXJudGUgRGF0ZWkgaW4gJXMgenUgZmluZGVuLic7CiRsYW5nWydlcnJvcl91bmtub3duZmlsdGVyJ10gPSAnQ0dTbWFydEltYWdlICZuZGFzaDsgVW5iZWthbm50ZXIgRmlsdGVyOiAlcyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIFNtYXJ0LUltYWdlLVdlcmt6ZXVnZSc7CiRsYW5nWydnZW5lcmFsJ10gPSAnQWxsZ2VtZWluJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+V2hhdCBEb2VzIFRoaXMgRG8/PC9oMz4NCjxwPlRoaXMgbW9kdWxlIHByb3ZpZGVzIGEgc2ltcGxlIHdheSB0byBwcm9jZXNzLCBhbmQgZGlzcGxheSBpbWFnZXMgb24geW91ciB3ZWIgcGFnZS4gIEl0IGFsbG93cyBzaW1wbGUgaW1hZ2UgcHJvY2Vzc2luZywgYW5kIHdhdGVybWFya2luZy4gIFRoaXMgbW9kdWxlIG1ha2VzIGRpc3BsYXlpbmcgcHJvY2Vzc2VkIGltYWdlcyBvbiB5b3VyIHdlYnNpdGUgdHJpdmlhbC4gIEl0IGFsc28gcHJvdmlkZXMgZmVhdHVyZXMgdG8gaW1wcm92ZSB0aGUgcGVyZm9ybWFuY2UgcmF0aW5nIG9mIHlvdXIgd2Vic2l0ZSwgbWFraW5nIHlvdXIgd2Vic2l0ZSBwb3dlcmZ1bCBhbmQgZmFzdCBhdCB0aGUgc2FtZSB0aW1lLjwvcD4NCjxoMz5GZWF0dXJlczwvaDM+DQo8dWw+DQo8bGk+UG93ZXJmdWwsIGJ1dCBzaW1wbGUgdG8gdXNlIGltYWdlIGZpbHRlcmluZyBhbmQgcHJvY2Vzc2luZy4gRmlsdGVyaW5nIGluY2x1ZGVzOg0KICA8dWw+DQogICAgPGxpPkJsdXI8L2xpPg0KICAgIDxsaT5CcmlnaHRuZXNzPC9saT4NCiAgICA8bGk+Q29sb3JpemU8L2xpPg0KICAgIDxsaT5Db250cmFzdDwvbGk+DQogICAgPGxpPkNyb3A8L2xpPg0KICAgIDxsaT48c3Ryb25nPkNyb3AgVG8gRml0PC9zdHJvbmc+PC9saT4NCiAgICA8bGk+RWRnZSBEZXRlY3Rpb248L2xpPg0KICAgIDxsaT5FbWJvc3M8L2xpPiANCiAgICA8bGk+R3JheXNjYWxlPC9saT4NCiAgICA8bGk+TWVhbiBSZW1vdmFsPC9saT4NCiAgICA8bGk+TmVnYXRlPC9saT4NCiAgICA8bGk+UGl4ZWxhdGU8L2xpPg0KICAgIDxsaT5SZXNpemU8L2xpPg0KICAgIDxsaT5Sb3RhdGU8L2xpPg0KICAgIDxsaT5TZWxpY3RpdmUgQmx1cjwvbGk+DQogICAgPGxpPlNtb290aDwvbGk+DQogICAgPGxpPldhdGVybWFyazwvbGk+DQogIDwvdWw+DQo8L2xpPjxici8+DQo8bGk+U21hcnQgZGV0ZWN0aW9uIG9mIGltYWdlcy4gIFNwZWNpZnkgYWJzb2x1dGUgVVJMUywgYWJzb2x1dGUgcGF0aHMsIG9yIGZpbGVzIHJlbGF0aXZlIHRvIHlvdXIgcm9vdCBpbnN0YWxsYXRpb24uPC9saT4NCjxsaT5BdXRvbWF0aWMgZG93bmxvYWRpbmcsIGNhY2hpbmcsIHByb2Nlc3NpbmcsIGFuZCByZS1jYWNoaW5nIG9mIGltYWdlcyBmcm9tIHJlbW90ZSB3ZWJzaXRlcy48L2xpPg0KPGxpPlNtYXJ0IGF1dG9tYXRpYyByZXNpemluZyAoYXV0b21hdGljYWxseSByZXNpemUgdG8gZGVzaXJlZCB3aWR0aCBhbmQgaGVpZ2h0IGJlZm9yZSBzZXJ2aW5nIHRoZSBpbWFnZS4uLiByZXNpemluZyB0byB3aWR0aCBBTkQgaGVpZ2h0IGRvZXMgYSBjcm9wIHRvIGZpdC4gPGVtPihqdXN0IHNwZWNpZnkgYSB3aWR0aCwgYW5kL29yIGhlaWdodCBwYXJhbWV0ZXIgdG8gdGhlIENHU21hcnRJbWFnZSB0YWcuKTwvZW0+PC9saT4NCjxsaT5BdXRvbWF0aWNhbGx5IHJlYWRzIGltYWdlIEVYSUYgaW5mb3JtYXRpb24gYW5kIGNvcnJlY3RzIHRoZSBvcmllbnRhdGlvbi48L2xpPg0KPGxpPkltYWdlIGNoYW5nZSBkZXRlY3Rpb24sIGlmIHRoZSBtYXN0ZXIgaW1hZ2UgaXMgY2hhbmdlZCBzY2FsZWQgaW1hZ2VzIHdpbGwgYmUgcmVnZW5lcmF0ZWQuIChzZWUgdGhlIG5vdGltZWNoZWNrIHBhcmFtZXRlciB0byBkaXNhYmxlIHRoaXMgYmVoYXZpb3IpLjwvbGk+DQo8bGk+U21hcnQgYXR0cmlidXRlIGdlbmVyYXRpb24gZm9yIGltYWdlcy48L2xpPg0KPGxpPlByb2Nlc3NlZCBpbWFnZXMgYXJlIGNhY2hlZCBvbiB0aGUgc2VydmVyIGZvciBmYXN0ZXIgc2VydmluZy48L2xJPg0KPGxpPlRoZSBhYmlsaXR5IHRvIHVzZSBhIHNlcGFyYXRlIFVSTCAoQ0ROKSBmb3Igc2VydmluZyBpbWFnZXM8L2xpPg0KPGxpPkltYWdlIHByb2Nlc3NlcyBjYW4gYmUgY29tYmluZWQsIGFuZCBhcmUgZXhlY3V0ZWQgaW4gb3JkZXIuPC9saT4NCjxsaT5Qcm92aWRlcyB0aGUgYWJpbGl0eSB0byBlbWJlZCBpbWFnZXMgZGlyZWN0bHkgaW50byB0aGUgY29udGVudCBvZiB0aGUgd2ViIHBhZ2UgdG8gbWluaW1pemUgc3BhY2UuPC9saT4NCjxsaT5Qcm92aWRlcyB0aGUgYWJpbGl0eSB0byBsaW1pdCBlbWJlZGRpbmcgaW1hZ2VzIHNtYXJ0bHksIG9ubHkgdG8gYnJvd3NlcnMgdGhhdCBhcmUgY2FwYWJsZSBvZiB1bmRlcnN0YW5kaW5nIHRoZW0uPC9saT4NCjxsaT5Db21iaW5lIGNvbW1vbmx5IHVzZWQgYXJndW1lbnRzIGludG8gbmFtZWQgYWxpYXNlcy48L2xpPg0KPGxpPkFsc28gd29ya3Mgd2l0aGluIHN0eWxlc2hlZXRzIHZpYSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcuPC9saT4NCjxsaT5UaGUgYWJpbGl0eSB0byBhdXRvbWF0aWNhbGx5IHByb2Nlc3MgaW1hZ2VzIGluc2lkZSBhIGJsb2NrIG9mIGh0bWwgY29kZSB1c2luZyB0aGUge2Nnc2lfY29udmVydH0gYmxvY2sgdGFnLjwvbGk+DQo8bGk+TW9yZS4uLjwvbGk+DQo8L3VsPg0KPGgzPldoeSBzaG91bGQgSSB1c2UgaXQ/PC9oMz4NCjxwPlRoZXJlIGFyZSBmb3VyIHZlcnkgaW1wb3J0YW50IHJlYXNvbnMgdG8gdXNlIHRoaXMgcGx1Z2luOjwvcD4NCjx1bD4NCiAgPGxpPlBlcmZvcm1hbmNlOiAgVXNpbmcgaW1hZ2UgZW1iZWRkaW5nIChldmVuIGlmIG5vIG90aGVyIGZ1bmN0aW9ucyBhcmUgdXNlZCkgcmVzdWx0cyBpbiBmZXdlciByZXF1ZXN0cy4gIE1vc3QgYnJvd3NlcnMgb25seSBwZXJmb3JtIHR3byB0byBmb3VyIHNpbXVsdGFuZW91cyByZXF1ZXN0cyB0byB0aGUgc2FtZSBkb21haW4gYXQgdGhlIHNhbWUgdGltZS4gIEZvciB3ZWIgcGFnZXMgd2l0aCBsb3RzIG9mIGltYWdlcyB0aGlzIGNhbiBzZXJpb3VzbHkgc2xvdyBkb3duIHlvdXIgc2l0ZS48L2xpPg0KICA8bGk+UGVyZm9ybWFuY2U6ICBFdmVuIGlmIG5vdCB1c2luZyBlbWJlZGRpbmcsIHNlbmRpbmcgbGFyZ2UgaW1hZ2VzIHRvIHlvdXIgdmlzaXRvcnMsIGFuZCBhc2tpbmcgdGhlaXIgYnJvd3NlciB0byBzY2FsZSB0aGUgaW1hZ2UgaXMgdmVyeSB2ZXJ5IHNsb3cuPC9saT4NCiAgPGxpPlNlY3VyaXR5OiAgQ0dTbWFydEltYWdlIGNhY2hlcyBpdHMgaW1hZ2VzIGluIGEgc2VwYXJhdGUgZGlyZWN0b3J5LCB0aGVyZWJ5IGhpZGluZyB0aGUgb3JpZ2luYWwgKHBlcmhhcHMgY29weXJpZ2h0ZWQpIGltYWdlcyBmcm9tIHlvdXIgdXNlcnMuICBJZiBlbWJlZGRpbmcgaXMgdXNlZCB0aGV5IGNhbnQgZXZlbiBmaW5kIHRoZSBjYWNoZWQgbG9jYXRpb24pPC9saT4NCiAgPGxpPlNpbXBsaWNpdHk6ICBUaGUgZmlsdGVyaW5nIGNhcGFiaWxpdGllcyBvZiBDR1NtYXJ0SW1hZ2UgYWxsb3cgeW91IHRvIGF1dG9tYXRpY2FsbHkgcHJvY2VzcyBpbWFnZXMgZm9yIGNvbnNpc3RlbnQgYW5kIHNlY3VyZSBkaXNwbGF5LCB3aXRob3V0IHNpdGUgZWRpdG9ycyBoYXZpbmcgdG8gcGxheSB3aXRoIHRoZW0uICBUaGV5IGNhbiB1cGxvYWQgbGFyZ2VyIGltYWdlcywgYW5kIHlvdXIgc2l0ZSB3aWxsIGp1c3QgaGFuZGxlIHRoZW0gcHJvcGVybHkuPC9saT4NCjwvdWw+DQo8aDM+SG93IGRvIEkgdXNlIGl0PzwvaDM+DQo8cD5UaGUgc2ltcGxlc3Qgd2F5IHRvIHVzZSB0aGlzIG1vZHVsZSBpcyB0byB1c2UgaXQgaW4gdGhlIHNhbWUgcGxhY2UgeW91IHdvdWxkIHRoZSB7aW1hZ2V9IHRhZy4gIEkuZTogU29tZXRoaW5nIGxpa2UgPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJiMwMzk7fTwvY29kZT4uICBUaGlzIHdpbGwgZ2VuZXJhdGUgdGhlIGltYWdlIHRhZyBmb3IgeW91IHdpdGggbm8gcHJvY2Vzc2luZy4gIEFuZCBpZiBwb3NzaWJsZSwgZW1iZWQgdGhlIGltYWdlIGRpcmVjdGx5IGludG8geW91ciBodG1sIG91dHB1dC48L3A+DQo8cD5PZnRlbiBwZW9wbGUgd2FudCB0byBkaXNwbGF5IGEgd2F0ZXJtYXJrIG9uIHRoZSBpbWFnZXMgdGhhdCB0aGV5IGRpc3BsYXkgb24gdGhlIGZyb250ZW5kIHRvIHByZXZlbnQgaW1hZ2UgdGhlZnQuICBUaGUgQ0dFeHRlbnNpb25zIG1vZHVsZSBwcm92aWRlcyBzZXR0aW5ncyBmb3IgeW91IHRvIGNvbmZpZ3VyZSB3YXRlcm1hcmtpbmcgYW5kIHlvdSBjYW4gZW5hYmxlIHRoYXQgd2l0aCBhbnkgaW1hZ2Ugd2l0aCBhIHRhZyBsaWtlIHRoaXM6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Q0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyYjMDM5OyBmaWx0ZXJfd2F0ZXJtYXJrPTF9PC9jb2RlPi4gIFRoaXMgd2lsbCByZWFkIHRoZSBpbWFnZSwgYXBwbHkgdGhlIHdhdGVybWFyayBhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmdzIGluIENHRXh0ZW5zaW9ucywgY2FjaGUgdGhlIGFsdGVyZWQgaW1hZ2UsIGFuZCB0aGVuIGVtYmVkIGl0IGludG8geW91ciBvdXRwdXQuPC9wPg0KPHA+QWxzbywgUGljdHVyZXMgdGFrZW4gYnkgbW9kZXJuIGRpZ2l0YWwgY2FtZXJhcyBhcmUgb2Z0ZW4gdG9vIGxhcmdlIGZvciB1c2Ugb24gYSB3ZWJzaXRlLCB0aGVyZWZvcmUgdGhleSBuZWVkIHRvIGJlIHNjYWxlZCBiZWZvcmUgZGlzcGxheWVkIG9uIHlvdXIgcGFnZS4gIFRoaXMgY2FuIGJlIGRvbmUgcXVpdGUgZWFzaWx5IHdpdGggYSB0YWcgbGlrZTogPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJiMwMzk7IGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSYjMDM5O3csMzUwJiMwMzk7fTwvY29kZT4uICBBcyB5b3UgbWF5IHRoaW5rLCB0aGUgd2F0ZXJtYXJrIHdpbGwgYmUgYXBwbGllZCB0byB0aGUgaW1hZ2UgYmVmb3JlIGl0IGlzIHJlc2l6ZWQgdG8gYSBtYXhpbXVtIHdpZHRoIG9mIDMwMCBwaXhlbHMgKHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgVGhlbiB0aGUgYWRqdXN0ZWQgaW1hZ2Ugd2lsbCBiZSBjYWNoZWQsIGFuZCBpZiB0aGUgYnJvd3NlciBhbGxvd2VzIHRoZSBpbWFnZSB3aWxsIGJlIGVtYmVkZGVkIGludG8gdGhlIEhUTUwgb3V0cHV0LiAgSWYgZW1iZWRkaW5nIGlzIG5vdCBwb3NzaWJsZSwgdGhlIGltZyB0YWcgd2lsbCBjb250YWluIHRoZSBVUkwgdG8gdGhlIGNhY2hlZCBpbWFnZS48L3A+DQo8cD5Gcm9tIGhlcmUgeW91IGNhbiBjb21iaW5lIHRoZSBvcHRpb25zIGJlbG93IHRvIHBlcmZvcm0gYWxvdCBvZiBkaWZmZXJlbnQgZWZmZWN0cyB0byB5b3VyIGltYWdlcywgYnVpbGQgc2ltcGxlIGdhbGxlcmllcywgYW5kIGltcHJvdmUgeW91ciBzaXRlIHBlcmZvcm1hbmNlIGF0IHRoZSBzYW1lIHRpbWUuICBFbmpveSE8L3A+DQo8aDM+QXV0b21hdGljIGltYWdlIHJlc2l6aW5nPC9oMz4NCiAgPHA+SWYgeW91IHNwZWNpZnkgYSB3aWR0aCwgYW5kL29yIGEgaGVpZ2h0IHBhcmFtZXRlciwgYW5kIGRvIG5vdCBzcGVjaWZ5IHRoZSAmYW1wO3F1b3Q7bm9hdXRvc2NhbGUmYW1wO3F1b3Q7IHBhcmFtZXRlciwgdGhlIG1vZHVsZSB3aWxsIGFuYWx5emUgdGhlIGZpbHRlcnMgeW91IGhhdmUgYWxyZWFkeSBzcGVjaWZpZWQsIGFuZCBpZiB0aGVyZSBpcyBubyByZXNpemUgZmlsdGVyIGFscmVhZHkgc3BlY2lmaWVkIGF1dG9tYXRpY2FsbHkgYWRkIGEgZmlsdGVyIHRvIHJlc2l6ZSBvciBjcm9wdG9maXQgdGhlIGltYWdlIG9uIG91dHB1dC4gIFRoaXMgaXMgdXNlZnVsIHRvIGRvIGF1dG9tYXRpYyB0aHVtYm5haWxpbmcgb24gdGhlIHNlcnZlciwgYW5kIG5vdCByZXF1aXJlIHRoZSBicm93c2VyIHRvIHJlc2l6ZSB0aGUgaW1hZ2UuPC9wPg0KIDxoMz5BIFNpbXBsZSBHYWxsZXJ5PC9oMz4NCjxwPlRoZSBjb2RlIGJlbG93IHVzZXMgdGhlIHtDR1NtYXJ0SW1hZ2V9IG1vZHVsZSwgZmFuY3lib3gsIGFuZCBhIGJpdCBvZiBzbWFydHkgbWFnaWMgdG8gZ2VuZXJhdGUgYSBzaW1wbGUgbGlnaHRib3ggc3R5bGUgYWxib20gZnJvbSBhIHN1YmRpcmVjdG9yeSBvbiB5b3VyIHdlYnNpdGUsIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGltYWdlcyBmb3Igd2ViIHN0YW5kYXJkcywgYW5kIGNyZWF0aW5nIHRodW1ibmFpbHMuPC9wPg0KPHByZSBzdHlsZT0mcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsmcXVvdDs+PGNvZGU+PHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDE6PC9zcGFuPiAmYW1wO2x0O3NjcmlwdCB0eXBlPSZxdW90O3RleHQvamF2YXNjcmlwdCZxdW90OyZhbXA7Z3Q7e2xpdGVyYWx9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMjo8L3NwYW4+IGpRdWVyeShkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiAzOjwvc3Bhbj4gIGpRdWVyeSgmIzAzOTthLmZhbmN5Ym94JiMwMzk7KS5mYW5jeWJveCgpOw0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDQ6PC9zcGFuPiB9KTsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA1Ojwvc3Bhbj4gey9saXRlcmFsfSZhbXA7bHQ7L3NjcmlwdCZhbXA7Z3Q7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNjo8L3NwYW4+IHthc3NpZ24gdmFyPSYjMDM5O2ZpbGVzJiMwMzk7IHZhbHVlPSYjMDM5O3VwbG9hZHMvYWxidW0vKi5qcGcmIzAzOTt8Z2xvYn0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA3Ojwvc3Bhbj4ge2lmIGNvdW50KCRmaWxlcyl9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gODo8L3NwYW4+ICZhbXA7bHQ7ZGl2IHN0eWxlPSZxdW90O3dpZHRoOiAxMDAlOyBoZWlnaHQ6IDE1MHB4OyBvdmVyZmxvdzogYXV0bzsmcXVvdDsmYW1wO2d0Ow0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDk6PC9zcGFuPiB7Zm9yZWFjaCBmcm9tPSRmaWxlcyBpdGVtPSYjMDM5O2ZpbGUmIzAzOTt9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMDo8L3NwYW4+ICAmYW1wO2x0O2EgcmVsPSYjMDM5O3NpbXBsZV9hbGJ1bSYjMDM5OyBjbGFzcz0mcXVvdDtmYW5jeWJveCZxdW90OyBocmVmPSZxdW90OzxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Q0dTbWFydEltYWdlIHNyYz0kZmlsZSBmaWx0ZXJfcm90YXRlPTkwIGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSYjMDM5O2gsNTAwJiMwMzk7IG5vdGFnPTEgbm9lbWJlZD0xfTwvc3Bhbj4mcXVvdDsmYW1wO2d0Ow0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTE6PC9zcGFuPiAgPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSYjMDM5O2gsMTUwJiMwMzk7fTwvc3Bhbj4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjEyOjwvc3Bhbj4gICZhbXA7bHQ7L2EmYW1wO2d0Ow0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTM6PC9zcGFuPiB7L2ZvcmVhY2h9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xNDo8L3NwYW4+ICZhbXA7bHQ7L2RpdiZhbXA7Z3Q7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xNTo8L3NwYW4+IHsvaWZ9DQo8L2NvZGU+PC9wcmU+PGJyLz4NCjxwPkxldHMgdGFsayBhYm91dCB0aGlzLjwvcD4NCjxwPkxpbmVzIDEgdGhyb3VnaCA1IHV0aWxpemUgalF1ZXJ5IHRvIGNhbGwgZmFuY3lib3ggb24gYW55IGxpbmtzIHRoYXQgaGF2ZSB0aGUgJmFtcDtxdW90O2ZhbmN5Ym94JmFtcDtxdW90OyBjbGFzcy4gIFRoZSBmYW5jeWJveCBqUXVlcnkgcGx1Z2luIGlzIGluY2x1ZGVkIHdpdGggdGhlIEpRdWVyeVRvb2xzIG1vZHVsZS48L3A+DQo8cD5MaW5lIDYgdXNlcyBhIGJ1aWx0IGluIHBocCBmdW5jdGlvbiBjYWxsZWQgZ2xvYiwgYW5kIHNvbWUgc21hcnR5IG1hZ2ljIHRvIGZpbmQgYWxsIG9mIHRoZSBKUEcgZmlsZXMgaW4gdGhlIHVwbG9hZHMvYWxidW0gZGlyZWN0b3J5IGJlbG93IG91ciBpbnN0YWxsYXRpb24gcm9vdC48L3A+DQo8cD5MaW5lIDcgaXMgYSB0ZXN0IHRvIHNlZSBpZiBhbnkgZmlsZXMgd2VyZSBhY3R1YWxseSBmb3VuZCBpbiB0aGUgYXNzaWduIGxpbmUgc3RhdGVkIGFib3ZlLiAgVGhpcyBpZiBzdGF0ZW1lbnQgaXMgY2xvc2VkIG9uIGxpbmUgMTUuPC9wPg0KPHA+TGluZSA4IG9wZW5zIHVwIGEgZGl2IHRvIGNvbnRhaW4gb3VyIGFsYnVtLiAgRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGV4YW1wbGUgdGhlIHN0eWxlcyB3ZXJlIGluY2x1ZGVkIGlubGluZSwgaG93ZXZlciBhIGNsYXNzIHRoYXQgd2FzIGRlZmluZWQgaW4gdGhlIHN0eWxlc2hlZXQgc2hvdWxkIGJlIHVzZWQgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuICBUaGUgY2xvc2luZyB0YWcgZm9yIHRoaXMgZGl2IGlzIG9uIGxpbmUgMTQsIGp1c3QgYmVmb3JlIHRoZSA8Y29kZT57L2lmfTwvY29kZT4uPC9wPg0KPHA+TGluZSA5IGJlZ2lucyBhIGxvb3AgdGhyb3VnaCBhbGwgb2YgdGhlIGZpbGVzIHRoYXQgd2UgZm91bmQgaW4gdGhlIGRpcmVjdG9yeS4gIFRoaXMgbG9vcCBpcyBjbG9zZWQgb24gbGluZSAxMy48L3A+PGJyLz4NCjxwPkxpbmVzIDEwIGFuZCAxMSBhcmUgdGhlIHJlYWwgbWFnaWMuICBIZXJlIHdlIGNyZWF0ZSBhIGxpbmsgd2l0aCBjbGFzcyAmYW1wO3F1b3Q7ZmFuY3lib3gmYW1wO3F1b3Q7IGFuZCBhZGRzIHRoZSA8Y29kZT5yZWw8L2NvZGU+IGF0dHJpYnV0ZSBzbyB0aGF0IGZhbmN5Ym94IGtub3dzIHRoYXQgYWxsIG9mIHRoZXNlIGltYWdlcyBzaG91bGQgYmUgZ3JvdXBlZCB0b2dldGhlciBhcyBvbmUgYWxidW0gYW5kIGFsbG93IGNsaWNraW5nIGJldHdlZW4gdGhlIGltYWdlcy4gIFRoZW4gY29tZXMgdGhlIHBhcnQgd2hlcmUgd2UgZGVmaW5lIG91ciBpbWFnZXMuDQo8cD5XZSBzdXBwbHkgdGhlICRmaWxlIHZhcmlhYmxlIHRvIHRoZSBzcmMgYXJndW1lbnQgb2YgdGhlIDxjb2RlPntDR1NtYXJ0SW1hZ2V9PC9jb2RlPiB0YWcgc28gdGhhdCBpdCB3aWxsIGdldCB0aGUgbmFtZSBvZiBlYWNoIG1hdGNoZWQganBlZyBhcyB0aGUgbG9vcCBpcyBleGVjdXRlZC48L3A+DQo8cD5UaGUgaW1hZ2VzIEkgd2FzIHRlc3Rpbmcgd2l0aCB3ZXJlIHVwbG9hZGVkIGZyb20gbXkgaXBvZCwgYW5kIGFsbCBzZWVtZWQgdG8gYmUgcm90YXRlZCA5MCBkZWdyZWVzIGNvdW50ZXIgY2xvY2tlaXMuICBTbyB0aGUgZmlyc3QgZmlsdGVyIEkgYWRkZWQgd2FzIHRvIHJvdGF0ZSB0aGUgaW1hZ2UgOTAgZGVncmVlcyBjbG9ja3dpc2UgdmlhIHRoZSA8Y29kZT5maWx0ZXJfcm90YXRlPTkwPC9jb2RlPiBhcmd1bWVudC4gVGhlIGltYWdlcyB0aGVuIG5lZWRlZCB0byBoYXZlIHRoZSB3YXRlcm1hcmsgb24gdGhlbSA8ZW0+KHRoaXMgaXMganVzdCBmb3IgZXhhbXBsZSBwdXJwb3NlcywgSSBkb250IHRoaW5rIGFueWJvZHkgd291bGQgcmVhbGx5IHN0ZWFsIHRoZSBibHVycnkgcGljdHVyZXMgZnJvbSBteSBpcG9kIGZvciBjb21tZXJjaWFsIHB1cnBvc2VzKTwvZW0+LCBzbyBJIGFkZGVkIHRoZSA8Y29kZT5maWx0ZXJfd2F0ZXJtYXJrPTE8L2NvZGU+IHBhcmFtZXRlci4gIEFuZCBmaW5hbGx5LCBiZWNhdXNlIGV2ZW4gdGhlIGlwb2QgdG91Y2ggY2FuIHRha2UgcGljdHVyZXMgdGhhdCBhcmUgdG9vIGJpZyB0byBkaXNwbGF5IG9uIHRoZSBzY3JlZW4gSSB3YW50ZWQgdG8gcmVzaXplIHRoZW0gdG8gYSBtYXhpbXVtIGhlaWdodCBvZiA1MDAgcGl4ZWxzLiAgVGhpcyB3YXMgYWNjb21wbGlzaGVkIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3Jlc2l6ZT1oLDUwMDwvY29kZT4gYXJndW1lbnQuICBXZSBhZGQgdGhlIDxjb2RlPm5vZW1iZWQ9MTwvY29kZT4gYXJndW1lbnQgYmVjYXVzZSBmYW5jeWJveCBkb2VzIG5vdCB1bmRlcnN0YW5kIGhvdyB0byBkaXNwbGF5IGVtYmVkZGVkIGltYWdlcyBpbiBpdHMgcG9wdXAgd2luZG93LiAgVGhpcyBkZWZpbmVkIHRoZSBpbWFnZSB0aGF0IHdlIHdlcmUgZ29pbmcgdG8gbGluayB0by48L3A+DQo8cD5OZXh0IHdlIG5lZWRlZCB0byBkZWZpbmUgdGhlIHRodW1ibmFpbCBpbWFnZSB0aGF0IHdlIGFyZSBnb2luZyB0byB1c2UgaW4gdGhlIGdhbGxlcnkuICBUaGlzIGNhbGwgdG8gPGNvZGU+e0NHU21hcnRJbWFnZX08L2NvZGU+IGlzIGFsbW9zdCBpZGVudGljYWwgdG8gdGhlIGZpcnN0IGNhbGwsIGV4Y2VwdCB0aGF0IHdlIHVzZSBhIGRpZmZlcmVudCBoZWlnaHQgdmFsdWUgKDE1MCBwaXhlbHMpIGZvciB0aGUgdGh1bWJuYWlsLCBhbmQgZm9yIGtpY2tzIEkgY29udmVydGVkIHRoZSB0aHVtYm5haWwgdG8gZ3JheXNjYWxlIDxzdHJvbmc+YmVmb3JlPC9zdHJvbmc+IGFwcGx5aW5nIHRoZSB3YXRlcm1hcmsuICBJIGFsc28gcmVtb3ZlZCB0aGUgbm9lbWJlZD0xIGFyZ3VtZW50IHNvIHRoYXQgdGhlIHN5c3RlbSBjb3VsZCBlbWJlZCB0aGUgaW1hZ2UgaW4gdGhlIEhUTUwgb3V0cHV0IGlmIHRoZSBicm93c2VyIHN1cHBvcnRlZCBpdC4gIFRoZSBzY3JlZW4gY2FwdHVyZSBiZWxvdyBzaG93cyB0aGUgZWZmZWN0LjwvcD4NCjxpbWcgc3JjPSZxdW90O2RhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFRRUFZQUJnQUFELzJ3QkRBQWdHQmdjR0JRZ0hCd2NKQ1FnS0RCUU5EQXNMREJrU0V3OFVIUm9mSGgwYUhCd2dKQzRuSUNJc0l4d2NLRGNwTERBeE5EUTBIeWM1UFRneVBDNHpOREwvMndCREFRa0pDUXdMREJnTkRSZ3lJUndoTWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qTC93QUFSQ0FDaEFmQURBU0lBQWhFQkF4RUIvOFFBSEFBQUFRUURBUUFBQUFBQUFBQUFBQUFBQUFRRkJnY0JBZ01JLzhRQVVCQUFBZ0VEQWdNRUJ3UUdCd1FJQlFVQUFRSURBQVFSQlNFR0VqRVRRVkZoQnhRaWNZR1JzU015b2RFVk0wSlNrc0VXSlRSaWNuUHdKRldDNFJjMlExTldnNkx4SmpWRVk3SmtrN1BDMHYvRUFCZ0JBUUVCQVFFQUFBQUFBQUFBQUFBQUFBQUJBZ01FLzhRQUl4RUJBUUFDQWdNQUFnSURBQUFBQUFBQUFBRUNFU0V4QXhKQkV5SWpRbEZoa2YvYUFBd0RBUUFDRVFNUkFEOEF0Zlc5VnViSzcwK3hza2c5WnZwR1ZaTGduczBDakp5QnVUNEN0THZWTG5UTEZZOVF2Tk1pMUdaK1dESWNSdU1nZE56bmY2VjA0aGswWDFhS0RXd3ZZeU1lUm1Wc0t3NytaZnVuenFKM01sMUp3dElIa3VKck5OV2dXeW11QWUwZUxtSFhPNUdlaE5CTkxyWE5Lc1pIanV0UXQ0WFJ3aks3NElZak9NZTRnMXRIcldseTN3c285UXRudVdHUkVzZ0pPMmR2aFRGRkRISnhMeGd6eHF4N0dOUVdYTzNaSGI4QlRYREVxY0o4RnVzWVZ4ZVFISVhCMzVzL09nbGI4UzZKSE8wTW1xV3FTcTVqWldmQkREWWcrRmM1OVN1RTR0c2RPUms5V25zNVptOW5KTEtSakI4S2k5cnFlbVcybjhTV2QyQkpjVDMxd0VnRVJacGM3QURBOGZsU3F6aXVOTDFuaGM2aHpvdzA1N1ZwQ0NRSlNSaFNlNDBFbW0xM1NiYTk5VG0xRzJqdU1nZG0wZ0JCUGNmQSsrbkNxNHNrZ2owZTUwYlZ0UWUxdVpKWFdlM05pSGVRczJ6cTJNdG5JT2U2ckJ0b1JaMlVVRFNzNnd4aERJL1VoUmpKK1ZBMlhldkphOFMyV2tsY2lkQ1hrL2NZL2NIeDVXL0NqOUpYUDlMcE5OeW5xeTZmNndCeTc4L1BqcjRZN3Fpeng2dnErbWFscVZycDBiQzduRnpienRjY3Jvc1I5Z0JNYjlEMzc4MU9WcnFNVjF4ZFphaXdaSWRRMG9KRXhVNE1uTVNVejNFWU5BczRiNHB0ZFIweXpXK3Y3VWFsTUd6RUNGSlBNUUJqeHdCdFQ3SGVXMDF4Y1c4Y3lOTmI0N1pCMVRJeU0vQ3E3dDdpenVmUjdEbzBjYlNhcy82cUVRdHpxNWZLdm5Hd3h2bk5QZHZmdzZMeE5yYTZnN3E5ekhBMEdJMmJ0aUkrVTh1QnVjOTFCSVAwN3BRdG83azZoYmlHVkdkSExZREtwd3hIdUpBcm1lSk5FV0tLUTZyYUJKU1FoN1FiL2w4YWgyZ1JoMjRNRWlCZ0k3dHNNTTRJSklOTEJieGZvM2pyN0ZQMTBtUFlIZEhrZmp2UVRrSEl5RGtHaWtPaWtuUWRPSnpuMVdMT2Y4QXBkUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRlJsdURyZmw1Rm1Fa1lVS29tVmlRQVA3cktQd3FUVVZaZEpac3dhTndwYmFQZmV1TGNTeVNCWkVST2lJcmxTUUFjbjlnZFNhZjZLS2lpanJSUlFGRkh3b3g1VUNEUzlMVFN4ZGlPVjVQV2JsN2x1WUFjcGJHUU1kMjFMNk1lVkdENFVCaytORkdENEdqQjhEUUZGR0Q0R3M0UGdhREdUUm1zNFBnYXhnK0JvQ2lpajRVQlJSOEtQaFFGRkdQS2pIbFFGRkdENEdqQjhEUUZGR0Q0R2pCOERRRkZad2ZBMWpCOERRRkZGRkFVVVVVQlJSUlFGRkZGQVVVWVBnYVBoUUZGRkdDVGpHOUFVVm5rYjkxdmxSeXQrNjN5b01VVm5sYjkxdmxSZytCK1ZCaWlqQjhLenl0KzZmbFFZb3JKVWpxQ1BlS0FySG9wUHdvTVVWbmxiOTF2bFFWWWRWSStGQmlpczRQZ2ZsUUFUMEJQdUZCaWlzOGpmdU44alJ5UDhBdU44cURGRlpLc09xa2U4VWNqZnVOOHFERkZaNUcvY2I1VWNqL3VOOGpRWW9yUEkzN3JmS2psYjkxdmxRWW9yUEszN3ArVkFCUFFFKzRVR0tLenl0KzYzeXJGQVVVVVVEYnFURVN4NEpHeDZlK2tYTzM3emZPbG1xZnJZLzhKK3ROK2Q4VUc1a1lrKzAzenJIT3gvYWI1MXBuZXRTYURjeVBuN3pmTTF6WjN4c3pmTTBaTmMzb01tUi93Qjl2NGpYTXlQL0FONC96TllKclVuem9NTkpKKyszOFJyaThrbS8yai94R3QySnBPMjFCaHA1Zis4ZitJMTM0UjFBNmtZN2oyaDlzeVlMRTdDa0x0djF4WEhnZWRvV2dqeHpDUytrUWtkQjFOQk03eDJGM0o3UndDTnMrVmNDN2Q3SDUxMXZ2N1pKOFBwU1ZqNDBHNWRzZmZiNTBkby9lemZPdE01ckdmSHJRYkYyL2ViNTFvWkh6OTl2bWF4ekFISFN1Yk1EMzBHV2tjZnR0L0VhME1yL0FMNy9BTVJyUm0zclFuRkJzWlpNZ2M3ZnhHdVR6U0Q5dC80alFXM3JpNW9OWG1rQTJsZitJMDZjTXlNK3F5Z3U3QVFucVNmMmhUTEtkczA2OEtIT3JULzVQWC9pRkE0TkkyVDdSNm52ckhhc1AybStkSTN1VkR2bnhJcm1idFIzaWdjUk0zVG1iNTFudFcvZmI1MDBIVVkxSkhPdVI0bXViNnFtTm5YK0lVRDBaM0RZTEhHT3Vhd2J2bDZzZm5VTjFEaXExc2NtYWRWeDNjMU00OUllbHpTZG42eUFmTnFDZjNlc3JicVR6a251cVAzbkZGd1NRa2hIdXFOWFhFbHM4cVptVHMzMkQ4Mnc5OUk1TlJzWkVrY1gwYWhja3NQTHo4YUNRVyt1NnJxbHpMYTZkSUpab3dESnpQeXJHUE0rUGwxcDFnL1NmTk90NXEwa1RRNExkaUFGSG1jNXFzTFRpNmJoSkI2dEg2Mjl5ck9zemV5RC9lL0dtSFV1SmVJYnE2YVNTUzVSZ1FTZTdJNkhwUVh4eFJxVjdvY1ZyY1djc3pxVVZtU1lobGtCeHZ0dm1sM0ZGeTdlanZVWjFMSS9acVJna0ZmYlRiTmVmaHhWeE5xTjNIYzNkOWUzMHcyN05sMktnNUhkajhLdDV0UnZOVTlDbXEzVjdEMk53U1F5azV4aDAvR2dxbWE4dWhxOHlpOXVWUmxCR0pteHQ4YWM5T3ZiaU8vUXRlM1BJUmc4MHJIYy9HbUo1UStwMjVZYzNQRVJ2MUdLY1ltQ1R4dHlIUGZnWnpRTGRldXJ2OUpXMGtkNWNzblo0L1hNTndUNEdyRDBLR2E2dHJLZHBwc1BHckgyejRlK3EwMVFubGd3Q0FHSXF6dUNwdTA0ZXRYTytFNUNlYk80UC9PZ2w4enhpR09GcENDNTVWRys1eG5yOEtyN2l5MmtpMC9VcFV2cnFQN0Y4eGlUQUpXUlFNRHJqR2M3OWNWTjdtem51UmJzc1RrSk1zZ0lIVWpPS1lPTDlOZHJhZU5ZcGhQTGJ5b2lJbzl0aHlsVjNCUGVlbUtCcjlEZHhKSmZhcmJ6eVN5RXdDUlM3bHNkeEc1ODZldUk3Q3d1dE9udW5FZ3ZZTGRsaWxFN3JnRGZvRGp4NmltRDBWVzkzWTZ6ckVNa2IyODZXV01TajdqYzNlS2JOVnQrSkZ0bmU1MTd0b1NwTHhwYmdBand6M1VEWHBkbGRhdnFNS0c0dUpJNG9KSkdnYTRkTzFiS3FNa0hvTTVwOHMzL0FLTm00anU3cTVnZ2VSV1FjN1N0SjdJSlVFOXdPZmNNWjhhamVnYXVOSzErMEZ4SWtjRXNVcVNPN1lDNDVXQno4S2MrT0xSTG8yZXEyYzRsdCtUc25NVzR4elpEZWVjNCtWQnBxWEZrcGRoYnp5eFlKNUZXUnVZZkhwMThxZS9TVmQzSTlISENjeXpUUnl5TXBjcktRVDlqM2tIZW9CeVc0a2hjTzZCVHpNcnNEeU40NXg1RDNWT3ZTU0RKNk5PRDhra2twa25yK3BvS3B1YjYrVlZZWHQwTjkvdDMvT3U5dHFWN2xWTjdja2Y1Ny9uU2ZVRVQxSXlJMlNrbksrRDBOYlIyRjR1blI2aTF2SjZtOG5ack1SN0pZZFJueG9IMjExYlU3UU85dHFWMUU3cVZibGxKeXA3dHpUZGMzOTZja1h0MXpaSFNkdC94b2lsSFlEZnAxcEhka05idG5CM0hYdW9GMXJkYWdDNlMzTjJ1M1JwbjIvR3NUWGw0dUN0N2MrWDI3Zm5TZlFWU1c1WlpXazdJSnpQeUFGZ01qcG5yVzk4cUxJNWg1K3k1anlsOFp4NTRvTzl0cU4ramh4ZTNJS25LbnRXMlBkMzFLUmRTWHNTWDBOeE9nZmFXTlpYNVk1UjFVYjlEOTRlOGp1cUZwSUF1TnMrZFBYRCtwUjJGOGUzYVFXY3c1WmtYdzdtSG1wM3gzamJ2b0piYVQzTURSU3RjVEVnL3RTc2ZQeHFWZW1hM3VINFNzYnkxbWxSdTFSV2FOeXZWV0k2ZWRkN1BoeURWRWlUblZaY1lZajl2d09mZGlzOGN6VDNHZzIvRHJXcnRjQ05KdTFaaCt5U3VBUEVqdm9LYTRVOWZIRjJqYzk1Y2xQWG9ReXRPeHlPY2RSbXZVeDZtcVE0VzRXZ2gxcXdsdVVuV2VPNFIxVm1DNElZSGNZL25WMzBCUlJSUU5XcmZyWXY4Sit0TjJhY2RXL1d4ZjRUOWFiR29NazcxcnpZckRIRytEVEZ4SnhISG9Ob3Nra0x1SHlBeTR3TVVENHppdVprcXBYOUs5N0hKL1o3UngwM0xDbE5oNlc0VElWMUd6Q29UczBCSkkrQm9MTkxkOWFNeHgwMnFQYWZ4bG91b1JLNlhxS3pmc05ubUh3cGIrbk5Oei9iSS9rZnlvSEVuYXVEMFEzVVYxRUpZSkJJaEpBSTI2VmlRMENWenZrK05MT0EySHF5c2VrbDNLVWI5NFo2anlwajExK1RUanV3VnBFVnNISHNsZ0NLa3ZES0JKcmVOUmhWa09CNGJVRDNxRzE1SjhQcFNVbWxWL3dEMnlUNGZTa2hvTlFhNVRUaUNKNUNDUWd6Z2RUWFR2NlZGT05kVEZwcGd0UktZM3VUeWxobk9QRGJ4b0dEV1BTUlBiM1VpMmxxQkd1MzIzWFBmMHBGSDZWSlN5bVN5ajVNKzFnNzRxS1gxdkQyVE1IK1lKTk1raW9pZmZHZmVhQzdkTjQzMG5VNVk0bzNaSkh6a1BzRjI4YWtDeUxJb1pHREE5Q0RYbStHNEViNUVwVStJcXp1QmVKUk5ielIzMTZBc1NoWTFPZm5RV0VhNU9heWtpU0lyb1FWWUFnanZyVitsQW5rTzFMdURIZVhpTytMT2VSSUFpcC94REpwQkowcFp3Ui8xajFMYmZzeC8rUW9FTTl5M2F2diswZnJYQXp1M2ZUaFBhcUpYL3dBUjd2T3VZdG96MXo4cUNCYSs1L1M4cDcrVmZwVVkxaldVMCtFcXBCbVlZVWVGVFRpQzJSZFlsQUhSRjd2S3FnMTZacE5UbXljNFlnZVZBaW51NVo1R2VTUWxqMXJnSkNEMTNwVlk2WlBmdjdJS29PckduKzM0YnQwQTdUTEh6b0krbDBWWEJZOGdPU3RTZlRlSzJzYlUyNWdXYTFBNWxWa0I1VDQwb1RodXhkZDQrdmhXMDNDVFcxbExOYlB6RURtS040ZUZaeXk5WGJ3K0w4bVYzeEREZlR5YW5jK3NGRVJUOTFSc0FPK24yMGprRTBiWEhLMEl4ektpNEpIaG51cUx4eXlKY01IWGx3U0NuY0ttZHVCSXFNQ01FQ3RPVjR2QjMxS2ZScDlNU0xTOU1tdGJ6SUx5eXo5b3BYdkhMVXYwZEpuOUNHc0pJVVp6TzRIS3ZLTWMwZFFSVXd3cWYyUTVmUXByQkgvZnNmOEExeDBSVjgybjhpVzBqU3hRaEhHV2Q5c0hHTnhtbEN1T2JsNXdXVW5KNWVsS05UVHR0RGxueGdSY3JiZVJ4dlNPRWMvM1FjQUtUZ2JETzlBdG5pZ2xqTDNJa1pZL2JRSTJNdDVudUZTclN0WTFDMzRhZ3NyQmt0bWVjekNTUk1xdURqQkozT2RzWTI2MXJvME9uYVRiUjZqcU1DWERTWTdPMUs4d09QMmlPOCsvYXBOeFhiYVhybHZwNXRkU2d0Sm9NUnNnUXFGWE9jQUFiWThLQ1RhUk5mWEhBS2FoZXhPTlFlMzl1TU5sY2c0eWc3Z1J2U1RqRFNVMU9RYWZFcFNOY1o1Q1FGQlU5UU80Ny9oV3FjWTZUbzl0RHBjVjNCSXFRQkZEQnRnUElDbXZXT0pyUzc3U1MxdlNIbFRKZUZDck5nYlpQZGpmNTBEYjZPckNiUytJTHBHRWZhUEU2R0RtdzRRT0NHSTZZUHozNlVsMXlXZTdubHRvTlBta2Nkb2dWY0RiZjZiVXE0SG5zOUp2bnY3KytpVDFpSm9peEpMaDJ3Y0hieEZPU1RpOW11b05PalZpeGZMSnU4b3pnbkp4dDNZSGthQ3ZYczdiUzljZ1ZyVTNWK0VQTklQMU1BS0E0d1I3VGVmUWVkUzJHd1RWYk45SkVVMGMxNFdqN2NyN0lCSUlPZXVBUEtuV3k0WDFMVkxqdGdxUXhNbkwyam5id0l4MzlLZStJTkcvUkhEZDllMjExS3R4QmJzNmRraW9lWURiQkc0K3RCSHJiME0yNnhxcjZwS2M5U0k4OS9jUG5TRDB2NmRIcGZCdkQrbTI1WXhXMXgyS0Z1cEN4RUROTWNON2ZSY3M4dXA2ak03TDBudlpHQStHYWQvU2d4bDlIM0REc1N4YVJTU1NTVDlsNDlhQ0IyZC9wYitpeS8waTRkVTFPQ2NNaUg3ejVjRUZmaGtmQ21LSFRZNUxLSjFKVm1VSHlweTFLT0g5RHZ5QWh5WXljNXgxcnRwOXVUWVFuRzNMM0R6b0dYMWU2alFyZ092aUswdVVCczhHVDdWajdVWlVncmp2ejBOV0duRFVjMmpOY0t3RWdPZmVLaCtwcmJ2WnVCTW5NcWN3d080SGZlZzU4TVJ3NXY4QXRXQy83TWVUUGVlWmEyMWFJSlppUlYyTDQ2MXcwTzRoRVZ5R201SGJDOU83L1FwYnE2d0xvaU4ydk0vYmJrSDJjWVBkanI4YUJ2bk5wY05iZW93U3h1VVdOMGFUdERKSm5xdXd3UExmMzBPV3R5VmxVcXdPR0JHQ3BIaUtJakJDdHN5Uzhrb1lTbGxHK091eFBRK0ZPRWtQNlV0WlBWK1NabU9aSk1iOHg4Yzc0eDFOQlpubzUxdTNpdEliRzR1SWtlTWg0T1k0T0NTU3VmeEh2TlN2amZVN0szdGJMVlpBWGdCTUpDWTVzbkJIWHUyYW9idzdjYUZiV2Rxc2VpeVhWemdMSk5PVlNOaU8vT2M0SHUzd0tsRVdyV3VzdmQyTnhwTm84Y1o1b3c2Q1FFNDIzUHZPTnZIcFFNV2k4YzZMTnJGbFpMYVhZa2ttU05DUW1BeElBenY1MWE5UnZUWWRBVHM0NHRMczRybUp0aWJaQVNlYkFLbkhqaXBKUUZGRkZBMDZ2K3RpSGR5bjYwMW40MDZheCt0aS93QUordE5aNlVHam5CcXJPTFk3aldaYnVkRmtraWoyUmM3SU5oK1BXclFseHlObndxTmFoREhGb1YwMGFjb2VQSitZb0tQdTlObGpjRmxJOGFRdkFRMk1HcGxmaFJNUmpyVFBQR3ZNZGhtZ2FMZDViYVpKRVlvNDZFVlprRVFHbnhTOW9PWWdiWnlmblVFYTM3UXF3WFpUdWU0VkxOSm5hYXdSUzJlejluR1RpcGUrSFhIMW1OdVN3T0hNL29aUDh4L3JUaTQ4NmJ1SEIvVXlmNDIrdE9MZ0VIYjhhcmtaZGZYbTBxVURZQmxPZmN3cVVjTjQ5WWh6blBhL3lxTmErQitocm55WFB5cVI4Tk1QVzRRUmpENUhudFFQZC9qMXVYUFhiNlVrYWxkLy9iSlBoOUtSbWc1bnI1VkRlTW9vM0VibGN1cnJ2OERVeVlWWC9IRjNKYUs2a0FreUt3YndISzIxQkZOUVJUR0FSNVZIN3Ezak80WHBXYmpXcFhjeHRJbU9uVEZJNTlRSUlEWTM2ZVlvTlRicVZJVmNrMDg2SEI2bmRsUkpublRkZkEwelFYaDV4SUZ3bzZIUGZUaFlUeXlhcERnRWc3ZGVnclAxMS9XWVhjNXE3N0wrd1czK1V2MEZkR3JTeUg5WDIzK1V2MEZkV3JUa1RQNVVyNEwyNG4xSWQzWUtmeEZKWkFBQ0tYY0lRc25FMTdKajJYdGhnLzhBRUtCM3ZyRHRPYVdKZHgxVWQvblRNMFhLY2QvaFVsczd1QzlqYVMzY01BeFUrSU5NZWtvdDNkWG5hbk9QdStXU2FDdWVNYmdXbDFlem5iczRWSStWVkJaV2o2dnFiQWtoYzg4amZIK2RXNTZTbzFSdFRSdDJFQzQ5K0JWZThNUUZMT2FZRExPK0FmSWY2TkE3SkhGYnhpS0pRcXIweFFYeU5xeTNLbzNPOWN5NEIyb2Y2TGJabjdSTWJiamZ3cDdqbmt1VlZaUXZValBYSnFPUHE2NmRBVW1oUGlweUNDZkVWenN1SkFKRUxBaEFlcEZZbjdYbDZNOStQSDFsNzdhY1RhRjZ2SWJ1SlBaYysxaXRkS2NwR0kyT2VYZFRVNFNPMzF6UnlnYlpsNitCcUxYdWkzV25YTWxvNjluZFJ0eUZUNDdZUGhpdHZPVURacy9PckMwa2Mvb2MxVVk1c3pQdC93QVVkUUU4S2NYMjJHdUxiVHlXd0FvMUNIbU9TQU51YnpGV05CcGQ5cGZvaDFXMXZvVml1RElYNUJJc2d3V2o3MUpIY2FDQ1E4aGltdDVFVTl0SGdnQU52allINjBodGxaSlpiZFlnb2RWRFpJUFR3eDd1dEtZb3BTUXZaODJSaGVYYkZLTGZURGFwSlBPd1IyVEVTblB0TjNaOGdONkJYRTZyYUxEZFNpT09NODhiT2NlempKQTl3MytIalM1YnEyOVpuNVdIM3ljK05SMlNQMWhta3V1V2QyVXBuOTFjWXdNOU9wNlZHcDcyK3NMeWRZSFY0Z3g1ZWNrSEZCS05YZTJhYVdRWkRCQStWN3huY2ZLbnFHZEpJVWFJaGs1ZDVDTmgvd0ErdFFxd21OMWNvYm84NVpHQkM5Q1FRY1ZLa3ZSeWhValBnaUtOZ0tIWlYyWkZpeG05bFJNQ0dDNUxlMk56OEtlZUhOWFdEWEpDcUt3RUxjdVR0MUZSSzUxR1VvVWtiQjhBZW5pSzdhQkwydXE0UHNqc3pqYk9lbTFTYjI2NStza2s3WFZvMm9QZkE4aUtxcU5nb3dCVGhxMWdkUzBpYXo5bk1xOHBMWngrRk5YQy9JdG5rWUNnNHljQ24yVzdpakFCZGM5MjlWeVZqY2VpN1ZaSlM2MzFyZ25jSG1KSHV5S1IrbGl5ZXg0TDRmc25ZTTBFM1pzdzZFaU9yTXU5VWFCNFlJaXNseE94V05lNFk2c2ZJVlgzcGtEZjBkMHJ0TU93dW01aUJqSjdNOTFCVTk0eGZUbURZeHlyMDhqVWk0WHNsdXRPak9kbGNqclVZWkpKcmN4UlJ1N0ViS296MzFMK0YzRm5wQjdac0VTT01BRmgzZDQyb0phNWhnMC9rWUFLVjVCc092S2FxYlY0NGt0Wmw3VW93aGJLakh0RTRxejdpMW11dE1Od3ZNc0NGWkdkbElBVURjL2pWY2F2YnBCRmNyTEtxeXNyRGxEKzdHMUFoNFN0b3BrdnpKR3JGSXdWeU9oMzZVcDE3bU9scWdmbVR0VlBJRUczWEp6MVBmU2Zoa3pKWTZvWU9UdERFdkx6Ymp2cExQTnFDTVRkUEc4YTdzc2E5UE9peWI0ampKcGd1b3BKb3JodWFNS0VSays4TWZoVWg0ZXRyUzJzcDVKaVZ5Vk9Ya3dXMjZGUjFId3ByMC9VYlo1WlVTVEhOak9Uc2NmdStYU2s2TEtsN2NyTE1BV1lFTUIxSGw5S2syMzVQWGlZbis3MUZYaU1Oc3l3RmM0a0E1V3dUNWRSMTJwSGFhcmMycVJTaSttM0xLRlNVNWpKd0NWMzJQVGVra2FKRUhhWExCenkvZjNBSHU3cVN0YU1KL3N5QUdHTS9tYXJtbXZEV3NYTXZFR25ReVhidUd2b2x5ekU1SE52OE1uNW12UVo2MTVmNFdDcnhYb0tBdm4xdUU0Sis5N1kzOTFlb0QxTkFVVVVVRFRySDYyTC9DZnJUVVRUcnJINjJML0NmclRVd3hRSXRSV1dTeG1XRWtTRWJZR1NmS3E3NGsxUzhHa3loWTM1T3p3REdkaHYzMVpyRFB4cUFjUzJ5dHB0N2x5aWhTY2ZIcFFWYWwxYzNKZkxNZVhHU2FReVhrcGtJR2VicGlucTBDUjJzN2tBSzJWWEl3V0hqVFZIQ3IzWmJmc3djbGdNNytGUzNUV0dGenltTUtMZTVtaWhDbFhWbkdkK2hIalVpNGFTVDFPUjJQc0Z1VmMvalVkNTFra1pnTmlkczl3cWJXRnVMV3lpaEdkaHY3K3BwUDhBTFhrdk9wZUluWERuL3dBbVQvTWY2MDRQbWtIRGcvcVpQOHgvclRpNDhxcm1RWGx1bDFieVFTWjVKRjVUanJTamc3MXVIV093dTVWZFF5OWs0R09iWTdlK3NTWUF5ZWdyaHdhYnE5MTZHK21DcEEyOFVZYlBLTjhIM21nbWQrTTNrbncrbEl6dlMyKy90a253K2xJbW9PYmIvT29UeDlEejIxc3d3Q1g1U0QzakJxYkVWRWVPbzg2WmJ5ZnV6WVB1d2FDcEZ0Z05Vd1FydVBhNkRBSGlhYmRVUVBlTVVHUVRnQWQxUGZadkcwN3JIekVrZ3RtbXN4R04ybmx5Y2JEdnpVdDA2ZVBEM3kxOGNZd1VIWVpLcVB2QTcvS243aDYxNXA1Yms5RVhrWDMwd1I1Njc1WW1wWnc5aGRPWWtqZHp0U001NWJxMnJFZjFmYmY1U2ZRVjBhdWRrZjZ2dHVuNnBmb0s2dFZaSjMvR25iaFRINlVtR1Juc2ZIKzhLYTNIZlNyaFlIK2xzdXdQK3hISC93QzR0QXkyMXpOWTNra2tEbFR6dDM3SGVwRHc2NjhsdzU2dXlqNm1vcWs4VThrand5cEl2T3dKUTUzeWRxbEdncUZ0RmtCM01oeVBJRC9uUVZwNlVVN1RVcnlNZDhhL0gyYXIyMHZHdHRJaVNJZTB6TjA5OVdWeDJxemNTelJuN3BpWDZWQWJuVFBVMTVZOGxRU1ZCOHhRTkRYOXpITDlvMmFtT2lhV2RTczNuS2txcTlQTTlLaGlXVXQxZXJIdWN0akhjQlZ0YUVJclBUakFNRG0yT0t6bGZrZWp3WVMzMno2aXBid3lDNWRYTHNxc2NjMVNQaHFTMG1qZTNuVG41d1J5OHZsMXA5MS9obTB1aDJzV0VsOFFkalVkdGJLNDA2Yms1Y01mMmxOV1RUamxsdTdTRGh2T24zMGxzSFpvVG5DdDNWTnZTUHB4aDRndGJyMlJEcUZxRlo4ZmRlTURIekJxSTZMYVlZdTQrME81SnEyK045T0Y1WTZRZVVFUnVRMmU1U2d5Zndxc3ZQbHRiU3J4SFBieU14SWtUY25wbGhWbzhDR052UXZxSmx5RTlha0o1bTV1K1B2cURhYkUxeHhrNWtQTVFVQkk3OEhZL0dwendEQzAzb1kxQ05Ua3RkeUFFanpqb0doN3FJakZ0YkVIKy9rZmdLajJxUGRQZTlvMHpjeWtNQ3hPUERwK0ZTZGRLbjVqN2NZSFFuUDBwQnFXZ1hGeXJMRUVZNDN6Smdudi9sUUliQ2RKUVZmbERqZkJOTXVxV0tTcmR5U0ZSeVMrd1AyanY5UEduV1hTTlJzRTlZa1dJRlIxRWd5UGNPK21xU1VTUTNBbUxOTDI0eTVPNUpQU2dUY3kybllBRXZsdVZTT281dS84SzJna21VZHAyczJGeDdTdjBOSnJreUs1U0tQTXZNQWk0NkdsY3hSVVNGRG5sUE1kdkdzMi9IYng0Y1hPOGFLa2xhWlE3a2xpTWJtbmpoc0VhcTJCMVFrL01VeFcyZXlWUjU3MUl1R1VINlNZOUFJeWM1NjdpdE9WdTd0WWR2cTNxa0lHU0ZVN0tQNTF0SHhIYnRBVk52STh4UDMrMTIzOHNVeHpuMlNDUmp2enZTTlc1RVhPU091d3hSRDdlNm5OYzNWcmMyOGlwYzJ6OXBFWFBzRTk0YkcrRFNuMGdhbGF4OFBhTGZhcFlyY3E4M004S1B0a3B2aHFqc1hNeFZzNEhuMXB5OUpha2NHYUN1ZGhJQWM5L3dCblFRTFY5VDBpOFJqWTJVMXVrZ09BaEFaUjcvOEFsdlMvaG1mazRaV0lOK3N1WmxCSFRaWXpVWFdQSkF3UUQzKzZwSHAxcmN3Mk5yYnl5UVdxTExJNnVGNW1PVlhKS25ZakE4cUM0WUxlTzU0V1NOeU1QWll4NCt6bXFHMWFMdDNhU2FhTlVLTVU4U1RqcDViVlBiYVc1bHRwWVJNOGl4V3ZNanVNa1p5RDVia2VIU29ISnA4aktUSjJhc1FOODdrMENYUVl6YjIyb2RsbHlpY3I3YkU3OVBERkpacmVkclJwcGtOdWpqYVU1Yk9Oc1lHNXArMHF3RnJIREdyYy9yakJXSUhRY3JISy9HdEw3VDU3aVgrMENRZ1lITjAyMitsWnQ1MDdZWSt1UHY4QThSaTBqamdaNG9vbVljeHpJNEJadmNlNEh3RlRQaC9oR1BpcGJpZEx0clV3RlV3MGVlYkl6WEhUOURqQlo3aWJtYm0yRVorcHBUZE5jNmR5SllUM0VVVHVUSXlURlNkdGh0ODYwNG41ZlE0dHhHenZyQlNNZEFJVDhlK3VUZWpXMXQ5U3RJQlBMTTEweGlEbFRoUUJubVlkTTVJNzZqN2F6cURqc3pxVjRjZU03NCt0ZDdXOXZZQVp2WGJsV3g5L3RXeVBkNGQ5Qk1yTDBhcHBHdGFmZVIzU1RTUjNFYkhDbFJ5ZzV4akpxMHFvTFNOV3ZwdUo5TEVsN2RTSzE3Q0NwbVp0dVlkZCtsWDZldEFVVVVVRFRxNCsyaS93bjYwMXQxTk9tci9yb3Y4QUNmclRQUExIQ3BaemphZ0RzRFVLNHVoeFlhaXZRTkhsY2Y2OGExNHE0OFhTVUVObkdqM0w5T1luQ2p4ODZiZldkUTFiZzV0VHZwQXpUaHlnVlFvVlFRUHFDYUNFWEZ1N1d5b3pLTWdkTnNVMFhDUENCRUdYQndUZ1lJNjdWS0hic2JkcEdIdGdaVEkvMW1veEp6R1YzYnF4eldlN3c3eitQRGM3ck1lQXk1T0FTS25TWE1MN0pLcmY4VlFET1dBN3EwMUpHVXhTZ2UwUnlrMXB3WHh3MjRPaXB2OEE5bzMxcHpZN253cXJ1Q2I2OGswZFVqbWIySElPL2p2VTFpMUM1UUR0dmFYb2NqY1VEdXc1dHEwNENjRkxFZUFJL0VpdElaa201WFE3Vng5SHMzTWJOYzdDV1Jma3hvSnRmSC9iWlBlUHBTUTB2dUlETGV5bmNLQ04vZ0thOVNuRnFqY3RBa3Z0U3RyQ0o1SjVNS2lsbXg0Q3F4MW5qZHVJNUVzTFMwN0tJTVpESTdaYmxBSTZkM1d0K090VVlXSmhEZTFPZVhQbDMxSHVHclZUYVh1b01EelJzc1NqdU9RU2ZqN05CMkVaZFhYR2ZkVEJxTWhhNE1TaFZSR0lBVVlCcVVUc2xwRklRRDJwUEx5a2RCNCs3enFOejVubEpVRTQ4cXozWGZMK1BDWXp1a0dRcTdWMkU4OGRuSVlwV1FydjdKclQxYVI1TWNwSDg2ZC8wUzBWbzZ2OTVrTEg1VnB3Ty9DM0dPcG1XTzBtbmFVY25zY3g2WUhTcDliNjFJd0hhcHRqdXFuT0gzRnRyZG16N0FTQlc5eDJxNG9MUkpHWkI5NWVublFPRWR3azR5aHpUdHd0L3dCWldidTlWUDhBL0l0UXVHZDRKbUdjRld3UlV4NFBsRTJ0TTRQL0FOTWU3Kyt0QkNORTArVFM3SjRKZVh0TzJrWnVYelkxT2RLeEhwOERkNVZpZm5VUHY3NUxSM1psSnpOeTRIaVRpcFpaY3k2ZEgva0Riem9LOTRya0VuRTh6WjZJbjBxTlg0eWRxZk9JMnp4RGMrNWZwVFRLbk5JbTJja0RIalRwWk4zUnZ0bWgwK0tTYVFOMnJkR0E2RHdydFo2MWNyYXU5cXF0SVNBc2JIbDJvMVdaSTR4QXFnanFGOEtZNGc4VjByYzJCMTY5S3hqemR2UjVzcmhKNHBla3Z2OEFWNTU5TnRwdXdhS1FPVmxUUGRpdGJCMXZndk1QYkJybEJkelhGdWUxWkpBdXdBcmFHYUMyWlowWGtrRHFDbWV1OWJlWkliZUxzbUhrS3RmaXFLNmZSSW10UUdaUUFSbnhBSDg2cTcyVEdzbWVvN3F1S2U1N0RTbm01QTZ4UWgrWHZKQUZCU3ljTTNXbGNmR3pXT1M0bGhzb0hta1JkaXg1bVB5R0I4S2RlQjdsdEo5Q3VwWElERm83cVJoeTVVN21NZnpxUjN1cDNWM3FNbHpGUE5BSHg3RWNod01ERlo0aWVXNDlGK3JtVnk3bkF5MytOS0N0aHIrb2M3TXNpdXVUZ3VtZSt1MFhFMm9HVlZLUUZTUnpmWjR6K05NZk9XNWNaQjVSblBqV3drQVlBamNBOVBHZ2t0eVd1WTVPWnN1VmJBeDAycUVTWmplNmluV1hMRWhDaTVLc0RrWjkxVExMTkdXMnh5ZytPRDRWSFprN2JVSmpKbmtFaExFRHpwYnJ0Y2NmYTZjd0hrVDFoeEhrY3AzWHFmSHlPMUoxczQyWUE3SHhwWEtVZVFKRUNVUVlCOGE1ZUlPYzFtVDY2K1cvMW5UZUtCSTF4elp3Y21uN2gxay9TVGI0K3hiNmltT053VU8yTWVGT21nNS9TTExqT1lpZW5tSzA0cFBkOXBjUWN0dXNiTmtmckhJMjcrNnRBSkFQYjVTT21PdWE1dTdJL0xzQWU3TzYxbFpYVlVBd1JudzNGQjNpNW84QkkwOHlSbjRVdTlJNERjRmNQNWJDODRKUC9sMDN3dUNnSEw3Wk9jSCtWT25wSlVEZ3pRNHhITEl4ZkNwR2haaWV6OFB6b0t0Z1FOSU03ajltbmEzbTdGd0ZCZHM1QmJ1SjJPMUlMVzExQ1dSbU9sM01Lb01ublhmYnZwWEdTMHB4N0lEYnNlZ29IWFNwNTVyNmZubHlSQ01CanRqSjZDbTRHS0tNSG01MkMrMjdIR1BkV25ONnZlbVdLUnVRUXVwSjc5dHFqOXRxRE1xbTRVY29HeHljWnFXNmpXR0h0bG8vVFhYcWNVTWNNbVNoeUdJM0dOdHZLbXg3dVIzMmNrOWRqdFNXUzdlNVBhSEF5QnNLeEd4eW9PTmozZjYzcVNhN2I4dVc3cWRSS2RMVm5oQkpKeWRxbG1sOE5RYTlZM0lsbmFJcTZnRlFEM1pxSFdOOUhCQUZJeTNqNFZOT0dicWNXVjFMSmJ1c0hhSmx6c3VjYmIxcHliUStpMktLVVRtOWVXTW5jTkZnSDhhWGFqd2pwMHRuNnZFMXJieU1NQnNNVDMrZEtkRW5YWGRjdmJTZVE5bGJvclJXL05nTURubVkrUGQ3cWtGdnBFTnRLeE1rOXd6dGtMSTJRdnVIUVVGZTZUd09sdHJsbmNEVTJab0xsR0tDM0k1dVZnY1p6MDg2dDN2cExiUGh3aVJCRk9kOFlQdXBWUUZGRkZBM2FvQUFya2JoU0tnZXMzYmhpdk43cW11dXpDR05jNXh5TWZsVUExd05IcGsxeWNleEhuZng1YzBGUThRWFJ1ZFp1WFU3S2VWZmhWcTNWaWxwd3BIcDhZVlRIYVlDSHVJT1Q4U0RWVjZOWkhWOWZ0TFVnbnQ1UnplUXprL2hWdjZ1dnJkc1ovYVdMdEZMY3ZYQlVBL0gyYUxMcTdWbHExdzZmWXI5eEI3SkZNelFNOFlZWURIeE5XZnFIQkZ2Y01URlBLaFhPYzR3ZndwSmFlajB2TXJUVHNrWEx1VklKSGwwcVNhWFBPNTNhQmFicEp1WnZiKzZOMklyT3ZXYXJwa2NxQUREbjVkS3RTeDRTc0FoRVVzNFFJejgyVnkyUGhUUHFIQ1VFM0RYT3NzeEpTVTRPTVpCOTFWbEd2UnhKbWE4dGlmdlJjNkR6QjMvQUFxeExtSVRhUExjUkQybzhGc2VYZlZSY1BYTDZWcmxsTWpFQlpnRzl4T0RWeHN5Mk42SFVadExrOGtxbm9wYmJQdTNvR20wdW1oZFpBVGdrWkFwWndUT0xEWHJMVHBjOXBKY1NPaEEyWld5UmorZE10d2h0TDZXMXlmczVPVWU3Yjg2Y05DN1NiakRoMlJkMWh1bVZoNEJrUDVVRnMzc3F4TG52Ni9oVVcxaGpOSnlBWkRJclo5N0VENlU5NjY3TENXVDd5L3pGTWNNeGxrYVZSa0JWeG5vUFoyejdpU2FDbk9Pbi9yV0syQnoyYTVQaHY4QSsxUFBEMW9nNEx0MWNBTk5mZHFjL3RBS3kxRitKWkRlY1RYZlo1Yk1uWm9EMTIyL0dyVnRORXRwN1RTN1U4OGNFTGxQWXhuYmJ3OHpVczIxamw2M2FEejgxL0FHY0RtWEtBanZ4VEsybTNDc1FFeWZFVll5OEsyeVh0OWJMTk1HakpkZW5jZHgwOEtWYWJ3blkzRngybnJFNWlaZWJHUjdPM3VwSnFKbGxjcnVxL3RkTlcyWVNTZ0dRZEZHK1BmU200UWlhWmNkSWZxYW10dndoYVN1WmpOT1VsbEVjZUNPZzZucFd5Y0oyVStyWHlHYTU1VWp4K3o0KzZxaW5iKzJOaHFSQUdDT1Z4OGdhdHpUTHN6YVJZNnJGMWFNQ1FmaFZlY2FRaVBWVmtqQjVBZ1FFOStOdjVWSk9CTlFFdWhUV3JrbnNXeGs5QURRUEd0S2tkNHMwV09TZEF3OS9mVWg5SGt2YWF0Y2VIWWJmeGlvanFNMllGaVp2YWdrSkgrRS93RHRVbjlIRFoxcWNmOEE2WFAvQUsxb0luckJMM3F4Z0FnTzBqK0k5ckEvSE5XRXpDSkpGNWwrNHZLdVJuR0tyNjQ1WmRUdURrRTl1c1hUd2JKK3RUN1VZWTBFOHJJcGRDUWo0M0FvS3ExdVV2cmR3eFBnTnZkWEFYTnNscTVManRVUE5qSUIrRkl0ZG1ZWEY5TXBZRkYySzljOTFRRzh1bmFjZTBTeW5kczlhNTVjMzFqMWVHWHhZL2wrcExlR2FTNkpVa2s3NThLUWVyU3ZLQVpUa21sdW4zSXVyZEpmMml1Rzk5RTBUQnczTmpldWttbm10dDVwNnNORkRLTXlTOHpZNk5qRmE2anA3MmVwV2tRa1owYkdTeHp2bW5IU1dic3djODN4NlU0WFZrWkpVdUR2eTdnR2lGa0U0V0pVSjZESFNyZHVwczZKT0JubE52Mys2cVd0M0xTRUVZT2ZoVnpUV01tcGFKZVdTU3RFOHRxVVdWZXFrcjErbEJHRVFNZVlIYWxXdXJ6ZWpUVlZHTWsvL3dCMHFoMzR1NG8wVy9hM3U3bVRtak9Dc2d5cHg3NnR2VE5jbTRrOUMycDNza2FSeUNSb3lFNkhsWk4veG9LNW55SUkrVG92TnpNVzZBSG9LNHh5ckl3WURCQjJKcDRzYlJaNGdTQXlrbklZZU9LY1k5R3QySUxSS0FOeHNCUWNiV1R0WUl6M2N1TVUxemxvcEp4a2N6eUhwMUkvbFVxaTArR1BvdUJqcGpha3N2RGx0TlBKT1paZ1hKWWdFWStsU3piZUdmcHRGaGtESTJIY0syR0NCdHZVbFhocTJ6Z3lUS2V1NUg0YlZuK2pscGcvYXo0OTQvS3F3aStNRW5idzZVNmFEN1YrdzVpQjJiZEJud3AwSERscGpQYnpuSGRrYmZoWFczMG1Dd21Na2NrakVqQkRFWUhUd0hqZ1VHNTVBNDVlWWQrY1ovMS83MW9YeXBJVXEyKzNVNC8xdjhhNkVGaUFEN1BlQ0RucjFyV1FNR0hzNXlNNXg4ZitWQjBpY3huQ0hkamd1UnpmNkhXcGh4SElUd2xvemptVUVMa0VmM08rb2NoVWZabFNNNUcyd1A4QXJOUzdpWi8vQUlTMFFnazh3SHg5aWdpcXV5dUdEa01PaEI2ZTZtKy9zQk1wa2hBRWd5U2dHRmYzZUIrdEtReDlvNUcyT3RiNTV3VkJPNDYwRU12SnBZT3pFdk1tWDVHVHZBSU5NazBuTENrQSs2QUNTRG5OVC9VZEpnMU9NSko3RWliQ1ZSdjdqNVZGSnVHNUxlUXh1ekhCMlpSc3c4UnRVczI2WTUrc3NuMDJ4SDdNWStsS0lsUE5uTzlPMXR3L0gyYTh6eWMzZnVNQ2xRMEszQS9XeStlTVZYTXh2S3lwaFRUM29kOU90dE1obmtLRjF5aFk0TzNoWEdiU2JaR1JXbWxITjVqTktiV3lpdDFJV1NUbGZjbHQrZzhxQnppdUMwNk1Ya2ptQjltV0orVjF6NEVWWU9qNjNyU3drejIwV29SRDdyUm5zcGNZR0J5L2RQZnZrR3E2dDNDTUNRTi9MOEtuT2czYjgyOG1Bd0lVdCt4dDNlN05CS2RONGcwL1VKQ3JxYlM1UmdoaHUxS09HUFFMblppZkltbnFtaTNsak53U3l4U0ZuR01ZUFR2OSs0cDNvQ2lpaWdqWEU2czB5Z2s4alc1WEhuempQNEUxQmVQNTBzdUdURW4zcFRnRGZxZXArVzFUN1g1Z3VvV3NMcUFqeHNRNTdqbnArRlZoNlU1R1MyMDZCbTlwbUxFZUF3Y0Q4YUNPK2o2eE1tdWV0bllRbFVIanpNY2ZUTldldHNIMGEvalBWR1Z2aGsxRnZSNVlOSHA5dEl3L1h6dFAwNkJSeWo4UWFuMFVJUHJjSUdlMWpQekZBeExQMnRyYnUrZVNaZXhjajlseHR6RDhLY1hqTnZ3K2tTak1ramhGUHZwcXMxRTJuM2xzeDlxTTlvbjh4VHZwaDlmdDdRbmN3N043eDMwR1VqOVd0cnRBUVJEYmlQSUh6L0dteWY3SGhLTngxZG1Iek5QVjBPVFROUmt3UnpEcWZlS2FOVmp4d25BRS9Za3ljVUZHYW5DMXJxVnhHZHNPU04vSGNmV3JTanZUZTZIYU56RDdXQmVWejNQanA4eHQ1MUF1TDdVeFhzTnlCdE1tQ2ZOYVVjUDM1T2l2QXpZQ1NIbGJQVHYrdEJJSHV2V3IyR1p2dk9NeWU5ZGo5S2ZlRGdUeExZdHVWN2JieTJOUS9UbTlZdXBDMndRRnZpZXYwcWM4RkFIV2JZNDI3WUVmSTBGZzZuZ3h6Zzc3QWdlSkcvOEFLbzdiNE9rdTRUN01vV1lqYm1HT254NmU0VXU0aDFTTzJrblFFY3lqSHh3RFRQYVhndXVGTDRod0k0dzRiR050czQ4c0Q2MEZQOFB4bTk0dnRwSlBiQW1NemU0WlA1VmRWbmI5bllXaEkzQjdUNG1xejlHdGlMblViMlk0eWtLeGovak8rUGxWdlhFWWpVQURBQTI4cUJrMUZ2VStKVW02SktNbnpEVnRZTjZwZVhsb01lMTl6M1ZuaUdNdmEyMXlBZWRjS2E0TS9OTmFYaUEvZEFlZ2ZJTFlSbXpoL2NHY0R1cEJZWmU4MU5oM2hnUGhUNWJsWlpvNVY3OTgweTZaR1JlM2FIdmxiOGFDcStMYmNTYWRLK0R6eFNCcy9HbVRnL1VQVmRRbnQyWWNrMGU0OHgwcVo2NWJDVVgxdmdEbURkZkxKcXROTWZzTlhqQjIzS21nbVY1ZE04enhnKzJRRkI4ODdWWVBvMkIvVHR6emRmVmdQL1d0VmJMSUUxSzNMSGJtQjYxYVhvMGZ0T0lMdHU0d0QvOEFOYUNLYVF5WFd0MnVSdFBmRmlQSExZK2dGVG5Xcmd4YVpLeDY0Sk5WN3dQZE5mYS9idEtBQ3MwMkFQN3BiQi9DcFZ4UGRuOUR1MmNjeUUwRk9hOWY4dHRLQUR6czNLQ1BQLzJxR2tsam52TlREVUxlSzh0b3d4VlR6OHpudklHYVFMRFoyNDVZSUFXL2ZmY21wSkkzbG5jcEpmamxwVEczc1dsTGNwNXNnSHZwY2JneUVBbnBUZmZNaVJjb1VjM2ZTelRyZnQ5T1M0UkE1NWlyRHd4VllPT21hbTFyTVY1dG02MU1sMU5Yc2huOTNCSGZVQkVQMm81b2dQaFVzMFZyVXFpdmJJU1RqbWJ3b0Z0bzIvTVRrSHBWNTZmZHhRV0RUU043S3JuZjNiMVU2UG82d3FvdG9SeWpmcjdScmhyUEdNMzZQOVVnZkJZWU9PNGVGQkhPSTF0ZFVtdVdrUU1yU3N5bndHU2FtZkJWZzB2b1AxVzB0K2RqNnpNUmpyc1VZL1Nxd3Y3MWxqeGtrbXJqOUZBNS9SamNxeDJlN21CSjh3Z29JcHBFSEpwc2R4TXZLMGpmWkxrKzBwM3pUc3BBT3c3aGp6Tk1xU3Vtb2l6a2xhVklDVlFFN0FLZTZuOEtyQm14aGV1ZTdGQmo3b3hnazFoWmN2eVlKQUhVR3N5Uk1FTFp3Y1o1U0s1NE9Ec2MrWS9uUWQrZHVpSGI1MWdEMmNZUHhHOWNVZkEyUFg0VjBWaXd6Z3NlL0JvQW5HUVR5NHpnL3dBcXdUaEJ2bkk2bnI4cUNmY01iY3RhQWdFNXhuQjYwR2c1TTh6QWdZLzBQbFhNb1NmdmdIYnIxOGZ5K1ZkT1gybEFHV3lkNjU4dzZrSDNZb012Q2M4eWpHTWZENFZMdUlGWWNJNkdHUFB5cXZOdDk3N09vaHo5eGJicjRWS2VKNzRXWEMvRG5NL0trekNNaGgxK3ovQ2dpdU9iUE5qSGNNZGEwL2F4eTh1ZWc4YTd6UVk1bkJDZ2ZQRkorVlNWSTN4MzBHVmxIM054a2VGZFNBOFpqa0JkU2NqeFh6RkNCTTRPQ0Ixd2R6V0hBZFIzWngzMENDZTNrdHhrTVhqSjJmb1BjZkNrclNrSExObmFuamxKVTVYS3NOODlDS1JYZW5oVWFhM3oyZjdTNHlWd04vaFFKQmNjbktNQUh1ckRPblViNHBPTXRzcHdNNXovQUs4cTJEY3ZUSFRPU2VvSGhRTHJPMmtua1FRKzBUallINFZNdEkweTRpZ0xTenJHQ1FDcmJuSCtqVVFzcHV5UWdBNXgxejAzNi9oVHNOVGw3UHM0cGVWUmxjRTlUdFFXRmFXaUpOYnMwNkgyZzdFSVJrZ2dmenFRVlZPaGF4ZC9wTFRvZWRpaGtVRTU4V1dyV29DaWlpZ2gzRnQ0TGZYOUlSc0ZTR0lCOFNjZnpxdHZTd1cvUzlnR09jd00yTS8zcXUrNjB1eHZiaUc0dXJXT2FhRDlVN2pkUGRTTFVPRk5CMWFWSk5RMG0ydVhSZVZXa0JKQXpuSFdnaW5CK21tMDBXMFJ3Y3hXNnI3cyswZnhhbmxYRVZ6R2NiWndha1VkamF4SUVqZ1JWQUFBQThOaFdEcDltVGsyNkUwRmRsVFk2MnlIWlhPRDdqUy9TdjhBWTcyV0k1NUdKSVB2cVlUYU5wdHhJSkpyS0ozSFJpRG10aHBWZ0dEQzBpeU8vQm9HUFZJLzZrdlA3dy9uVFhjS0g0Wm1JWE9BR0ZUVjdPMmtpTVR3b3lIcXA2R3VRMHF3RnViY1drZllrWUtZT0tEejF4ZGJ0TnBJbDNQWk9BQU80WTNxTzhPeXIvdE51eCs4T1llZmpYcG1iaEhoNjRpYUtiUjdWNDIrOHBCd2Z4cEpGNlBlRUlINTR1SHJGR3hqSVZ2em9LRzAyWm83dTRRbnJ0dlZpOEc1R3RXQUF5RExrbjRHcHd2QXZDcXVYWFFiTU1Ua25sYjg2Y0xYUWRLc3BVa3RyQ0dKME9WWlFjajhhQ3RlTTdrcnhSZlFLMkEzSmxmRThvb1VUV2ZDK3JRY283SnJDVjJiL3dDNlFSOUtzZTY0YzBhOXZHdkxuVGJlVzRZZ21SZ2NrZ1lIZjVDdDMwSFNwTGVXQnJDRXhTcnl5SVFjTVBBNzBGV2VpVzBQcXQ5ZHN2MlprVlEzanlnLy93Q2hWZ1MvYWxoVHBwMmhhVnBOczF2cDloRGJRczNPVWpCQUo4ZXZrS1UrcFcyYzlnbWFDTFR4Q2Eya3Rtem5KSzAwYWFDeVNXN2RVT3dxZm13dEdmbU51aGJ4cmttazZmSEkwaVdrU3UzVWdIZWdhTk5tNVVDTWNZMkZKTFJPVFhMbGNkUnpWSmwwKzBRNVczUUhydFFOUHRCT1poYnAycEdDM2ZpZ3FIWENZdFZ1QXdPNVlWVkdyUXRaYXRJTUVlMkdGZXFyamh6UnJxUXlUNmJieU8zVm1CeWZ4cEJjOEE4SlhrbmFYSEQ5bEkvVExLZnpvUFBGNU1YdTdabEJQTVA1VmF2b21tVjladVZMQXlDM0dSNGUydFRSZUJPRlZaR1hRYklHUDdwNVR0K05MZE00YzBiUnJ1UzcwM1RZTFc0bFhsZVNNRUZobk9PdmlBYUR6OTZQYmk0WGkyVkNWN09GTGwrbTQzUDUwOWNkYTlEYVd4dFkyVnBpQ0dVZnM5S3QyejRLNGEwKzRlNHRORnRJWm5CRE9pbkpCNjkvZlhLNTRCNFR2SldrdWRBc3BYWTVMTUdKSitkQjVaZVJ6R01uZHF3dVV5eEhRWitOZW92K2pqZzMvd0FOMkg4TGZuUWZSendhUVFlSExEQjYreTM1MEhrcVZubGJjZStwUnc0T3owNERsUHRaUDQxNksvNk0rQ2YvQUF6cC93REMzNTBwaDRDNFR0MENSYUJaSW82QUszNTBIbnFTMzlyT0RXVWtsakdGR0s5RG5nbmhnOWREcy80VCtkWS9vTnd2L3VLei9oUDUwSG5zM0VpamRqU04zWSsxazU4NjlIbmdUaFZ1dWcyUi93Q0Z2enJVOEE4Sm5ydy9aZnd0K2RCNWN1bmFXYytXMVhuNk5tTnY2SjdoeU4xdkhPLytLT3BaL3dCSFBCMmMvd0JITEQrRnZ6cDNzOUMwdXcwMXRPdExDR0d6Wml6UW9EeWtuRy9YeUh5b0tVMUZSYWNZWEt2L0FOcEtXQkEydzNoVDFFM01veDBYWVo2YkhIOHFzcTQ0VzBLNm43ZWZTcmFTWEFIT3dPY1p6NDEwVGg3UjQxNVYwNkFMNFlQam54b0t6bFl5QW5CMkgrczF3TGRYWld6NG5Za2VZcTAyNGQwWnV1bXdINEg4NngvUnpSczUvUnNHY1k2SDg2Q3FsWnprNU9EMzQ3dkFWM0xsYzhydGtleURqYjMxWjM5RzlGLzNiQjhqK2RCNGIwVTlkTnQrbU9oL09ncTVtSFE1SjIyejhxMkpDN2dFbnpxMER3NW94SUowMjN5Tjg0UDUxZ2NPYU1CZ2FiQmozSDg2Q3IyQXhuQnlmRHBXa250NTdnUnVmQ3JUSERlaWdBRFRiZkE2Ykg4NkR3M29wT1RwdHY4QUkvblFWTmxpU0MyY0hPTWVGT3ZwSEJIQVhEUnp1cnFjL3dEbDFZWjRhMFFuSjB5M3o3aitkZGI3UXRLMUt6aHM3MndobnQ0ZjFVYmc0VGJHMi9oUVV6cGVwSFZMTmVZWWxqeHpBRHFPbEtFR0g4ajRWYWR0d2Z3N1pzV3R0SHRZaTJ4S2c3L2pYWCtqR2g0eCtpN2ZIdVA1MEZVNTVHS2dNVDFJSGRXNEpLaGduVHB0ak5Xbi9SalEvd0RkZHY4QUkvblczOUc5Ry8zYmIvSS9uUVZlb1ZQYWIybEdCZy82NlZpTXl4b1drSURCaVZaRDFYUHM5ZnhxMHY2T2FOL3UyMytSL09zSGh6UmoxMDIzK1IvT2dxVzUwdExsVExiQkk1V3p6UmpvM21EM2U2bVl4TWpublJnVlB0QnRpTVZlbjlIZEgyL3EyMzI4aitkYVM4TWFITy9QTHBkczdZeGtnNSt0QlNxS3BBQkJJNkRCN2pYUm5aK1htQkdDRDQrTlhIL1JQaC8vQUhSYS93QUovT2c4SjZBZXVrV3Z5UDUwRlY2Tk16NjVwaWd0bjFtTUh3KytLdTA5YWFJZUY5Q2dtam1pMHUzU1NOZzZNQWNnam9ldE85QVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRZi8vWiZxdW90OyBhbHQ9JnF1b3Q7WW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgZW1iZWRkZWQgaW1hZ2VzLCBzb3JyeSZxdW90Oy8+DQo8aDM+U3R5bGVzaGVldHM6PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGFsc28gd29ya3Mgd2l0aGluIHN0eWxlc2hlZXRzLCBpZiB1c2luZyB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcgaW4geW91ciBwYWdlIHRlbXBsYXRlLiAgQmVjYXVzZSB0aGUgc21hcnR5IHN5bnRheCBpcyBzbGlnaHRseSBkaWZmZXJlbnQgaW5zaWRlIHRoZSB7Y21zX3N0eWxlc2hlZXR9IHRhZyB5b3UgdXRpbGl6ZSB0aGUgbW9kdWxlIHVzaW5nIHRoZSBbWyBhbmQgXV0gZGVsaW1pdGVycy4gIGkuZTogPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PmRpdi5oZWFkZXIgeyBiYWNrZ3JvdW5kOiB1cmwoW1tDR1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvcGljdHVyZS5qcGcmIzAzOTsgbm90YWc9MV1dKTsgfTwvY29kZT48L3A+DQo8cD5CZWNhdXNlIHN0eWxlc2hlZXRzIGFyZSBnZW5lcmF0ZWQgb24gbW9kaWZpY2F0aW9uIGFuZCBzdG9yZWQgaW4gdGhlIGZpbGVzeXN0ZW0gdGhlcmUgaXMgbm8gd2F5IHRvIGRldGVybWluZSBkdXJpbmcgdGhlIHJlcXVlc3Qgd2hpY2ggYnJvd3NlciBpcyByZXF1ZXN0aW5nIHRoZSBzdHlsZXNoZWV0LCB0aGVyZWZvcmUgZW1iZWRkaW5nIHdpbGwgYmUgZG9uZSBzdHJpY3RseSBiYXNlZCB1cG9uIHRoZSBwcmVzZW5zZSBvZiB0aGUgbm9lbWJlZCBwYXJhbWV0ZXIuICBJZiB5b3UgaGF2ZSBjaG9zZW4gdG8gZW1iZWQgaW1hZ2VzIGRpcmVjdGx5IGludG8geW91ciBzdHlsZXNoZWV0cywgWW91IG1heSBuZWVkIHRvIGFkZCBhZGRpdGlvbmFsIHN0eWxlc2hlZXQgc3VwcG9ydCBmb3IgdGhlIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgZW1iZWRkZWQgaW1hZ2VzLiAgaS5lOiAgSUU2LjwvcD4NCjxoMz5BdXRvbWF0aWMgUHJvY2Vzc2luZzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBpbmNsdWRlcyBhIHNtYXJ0eSBibG9jayB0YWcgY2FsbGVkIDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Y2dzaV9jb252ZXJ0fTwvY29kZT4gdGhhdCBjYW4gc3Vycm91bmQgYSBibG9jayBvZiBodG1sLCBvciBvdGhlciBzbWFydHkgdGFncyB0byBhbGxvdyBhdXRvbWF0aWMgaW1hZ2UgcHJvY2Vzc2luZy4gIFRoaXMgdGFnIGNhbiBiZSB1c2VkIGxpa2U6IChmb3IgZXhhbXBsZSk6PC9wPg0KPHByZT48Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e2Nnc2lfY29udmVydH17Y29udGVudH17L2Nnc2lfY29udmVydH08L2NvZGU+PC9wcmU+DQo8cD5UaGlzIHdpbGwgYWxsb3cgeW91ciB1c2VycyB0byBpbmNsdWRlIGltYWdlcyBpbnRvIHBhZ2VzIHVzaW5nIHRoZSBub3JtYWwgd3lzaXd5ZyB0b29scywgYW5kIHRvIGhhdmUgdGhlbSBhdXRvbWF0aWNhbGx5IHByb2Nlc3NlZCBhbmQgZW1iZWRkZWQgaW50byB0aGUgcGFnZSB1c2luZyB0aGUgbWFnaWMgb2Yge0NHU21hcnRJbWFnZX0uIGkuZTogU2VlIHRoZSBmb2xsb3dpbmcgY29kZTo8L3A+DQo8cHJlPjxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Y2dzaV9jb252ZXJ0IGZpbHRlcl9ncmF5c2NhbGU9MSBmaWx0ZXJfd2F0ZXJtYXJrPTF9e2NvbnRlbnR9ey9jZ3NpX2NvbnZlcnR9PC9jb2RlPjwvcHJlPg0KPHA+VGhlIGFib3ZlIGNvZGUgd2lsbCBjYXB0dXJlIGFsbCBpbWFnZSB0YWdzLCBhbmQgY29udmVydCB0aGVtIHRvIGdyYXlzY2FsZSBhbmQgdGhlbiBhcHBseSB0aGUgd2F0ZXJtYXJrIChhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmdzIGluIHRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlKS4gIEFsbCBvZiB0aGUgcGFyZXRlcnMgYXZhaWxhYmxlIHRvIHRoZSA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e0NHU21hcnRJbWFnZX08L2NvZGU+IHRhZyBhcmUgYXZhaWxhYmxlIHRvIHRoaXMgdGFnIChmb3IgaW1hZ2Ugc2NhbGluZyBldGMuKS4gIEFkZGl0aW9uYWxseSwgdHdvIG5ldyBwYXJhbWV0ZXJzIGhhdmUgYmVlbiBpbnRyb2R1Y2VkOiA8c3Ryb25nPm1heF93aWR0aDwvc3Ryb25nPiBhbmQgPHN0cm9uZz5tYXhfaGVpZ2h0PC9zdHJvbmc+IHdoaWNoIGNhbiBiZSB1c2VkIHRvIHNldCBhIG1heGltdW0gc2l6ZSBmb3IgaW1hZ2VzLi48L3A+DQo8ZGl2IHN0eWxlPSZxdW90O21hcmdpbi1sZWZ0OiAzZW07JnF1b3Q7PjxzdHJvbmcgc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+Tm90ZTo8L3N0cm9uZz4NCjxwPlRoaXMgdGFnIHBhcnNlcyB0aGUgSFRNTCBjb250ZW50IGJldHdlZW4gdGhlIHN0YXJ0IGFuZCBlbmQgdGFncyB0byBmaW5kIHRoZSA8aW1nPiB0YWdzLiAgSXQgdGhlbiB3aWxsIG91dHB1dCBzeW50YWN0aWNhbGx5IHZhbGlkIEhUTUwgZm9yIHRoZSBzdWJzZXQgb2YgY29kZSBpdCB3YXMgcHJvdmlkZWQuICBUaGVyZWZvcmUgaXQgaXMgaW1wb3J0YW50IHRoYXQgdGhlIHNuaXBwZXQgb2YgSFRNTCBwYXNzZWQgdG8gdGhpcyB0YWcgYmUgaW50YWN0IGFuZCBhcyBjbG9zZSB0byB2YWxpZCBhcyBwb3NzaWJsZS4gIDxzdHJvbmc+VXNlIHdpdGggY2F1dGlvbi48L3N0cm9uZz4NCjwvZGl2Pg0KPGgzPlN1cHBvcnQ8L2gzPg0KPHA+VGhpcyBtb2R1bGUgZG9lcyBub3QgaW5jbHVkZSBjb21tZXJjaWFsIHN1cHBvcnQuIEhvd2V2ZXIsIHRoZXJlIGFyZSBhIG51bWJlciBvZiByZXNvdXJjZXMgYXZhaWxhYmxlIHRvIGhlbHAgeW91IHdpdGggaXQ6PC9wPg0KPHVsPg0KPGxpPkZvciB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhpcyBtb2R1bGUsIEZBUXMsIG9yIHRvIGZpbGUgYSBCdWcgUmVwb3J0IG9yIGJ1eSBjb21tZXJjaWFsIHN1cHBvcnQsIHBsZWFzZSB2aXNpdCBjYWxndXkmIzAzOTtzDQptb2R1bGUgaG9tZXBhZ2UgYXQgPGEgaHJlZj0iaHR0cDovL2NhbGd1eTEwMDAuY29tIj5jYWxndXkxMDAwLmNvbTwvYT4uPC9saT4NCjxsaT5BZGRpdGlvbmFsIGRpc2N1c3Npb24gb2YgdGhpcyBtb2R1bGUgbWF5IGFsc28gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9Imh0dHA6Ly9mb3J1bS5jbXNtYWRlc2ltcGxlLm9yZyI+Q01TIE1hZGUgU2ltcGxlIEZvcnVtczwvYT4uPC9saT4NCjxsaT5UaGUgYXV0aG9yLCBjYWxndXkxMDAwLCBjYW4gb2Z0ZW4gYmUgZm91bmQgaW4gdGhlIDxhIGhyZWY9ImlyYzovL2lyYy5mcmVlbm9kZS5uZXQvI2NtcyI+Q01TIElSQyBDaGFubmVsPC9hPi48L2xpPg0KPGxpPkxhc3RseSwgeW91IG1heSBoYXZlIHNvbWUgc3VjY2VzcyBlbWFpbGluZyB0aGUgYXV0aG9yIGRpcmVjdGx5LjwvbGk+ICANCjwvdWw+DQo8aDM+UmVxdWlyZW1lbnRzPC9oMz4NCjxwPlRoaXMgbW9kdWxlIG1ha2VzIGV2dGVuc2l2ZSB1c2Ugb2YgdGhlIEdEIEltYWdlIHByb2Nlc3NpbmcgbGlicmFyeSB0byBkbyBpbWFnZSBtYW5pcHVsYXRpb24uICBBZGRpdGlvbmFsbHksIHRoZSB7Y2dzaV9jb252ZXJ0fSBwbHVnaW4gbWFrZXMgZXh0ZW5zaXZlIHVzZSBvZiB0aGUgc2ltcGxleG1sIGFuZCBYTUxEb20gY2xhc3NlcyBidWlsdCBpbiB0byBwaHAuICBUaGVyZSBtYXkgYmUgb3RoZXIgYWRkaXRpb25hbCByZXF1aXJlbWVudHMuICBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBlcnJvcnMgeW91IHNob3VsZCBlbnN1cmUgdGhhdCBlcnJvciByZXBvcnRpbmcgaXMgZW5hYmxlZCwgYW5kIHRoYXQgeW91IGhhdmUgYW5hbHl6ZWQgeW91ciBlcnJvciBsb2dzLjwvcD4NCjxoMz5Db3B5cmlnaHQgYW5kIExpY2Vuc2U8L2gzPg0KPHA+Q29weXJpZ2h0ICZhbXA7Y29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPiZhbXA7bHQ7Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZyZhbXA7Z3Q7PC9hPi4gQWxsIFJpZ2h0cyBBcmUgUmVzZXJ2ZWQuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkNCml0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5DQp0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcg0KKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi48L3A+DQo8cD5Ib3dldmVyLCBhcyBhIHNwZWNpYWwgZXhjZXB0aW9uIHRvIHRoZSBHUEwsIHRoaXMgc29mdHdhcmUgaXMgZGlzdHJpYnV0ZWQNCmFzIGFuIGFkZG9uIG1vZHVsZSB0byBDTVMgTWFkZSBTaW1wbGUuICBZb3UgbWF5IG5vdCB1c2UgdGhpcyBzb2Z0d2FyZQ0KaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUw0KTWFkZSBzaW1wbGUgdGhhdCBkb2VzIG5vdCBpbmRpY2F0ZSBjbGVhcmx5IGFuZCBvYnZpb3VzbHkgaW4gaXRzIGFkbWluIA0Kc2VjdGlvbiB0aGF0IHRoZSBzaXRlIHdhcyBidWlsdCB3aXRoIENNUyBNYWRlIHNpbXBsZS48L3A+DQo8cD5UaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwNCmJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mDQpNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlDQpHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UNCmFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlDQpGb3VuZGF0aW9uLCBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAwMjExMS0xMzA3IFVTQQ0KT3IgcmVhZCBpdCA8YSBocmVmPSJodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvbGljZW5zZXMuaHRtbCNHUEwiPm9ubGluZTwvYT48L3A+JzsKJGxhbmdbJ2luZm9fYWxpYXNlcyddID0gJ1VtIHphaGxyZWljaGUgdW5kIGgmYXVtbDt1ZmlnIHZlcndlbmRldGUgT3B0aW9uZW4genUga29tYmluaWVyZW4gayZvdW1sO25uZW4gYWxpYXNlIHZvbiBhbGlhczEgYmlzIGFsaWFzNSBkdXJjaCBDR1NtYXJ0SW1hZ2UgT3B0aW9uZW4gdmVyd2VuZGV0IHdlcmRlbi4nOwokbGFuZ1snaW5mb19jcm9wdG9maXRfZGVmYXVsdF9sb2MnXSA9ICdTdGFuZGFyZCByaWNodHVuZywgIGYmdXVtbDtyICZxdW90O2Nyb3AgdG8gZml0JnF1b3Q7LCBkaWVzIHdpcmt0IHNpY2ggYXVmIGFsbGUgJnF1b3Q7Y3JvcCB0byBmaXQmcXVvdDsgb3BlcmF0aW9uZW4gYXVzLCBhdXNnZW5vbW1lbiBmaWx0ZXJfY3JvcHRvZml0IEF0dHJpYnV0ICZ1dW1sO2JlcnNjaHJlaWJ0IGVzLiBTdGFuZGFyZC1FaW5zdGVsbHVuZyBpc3QgJnF1b3Q7Y2VudGVyJnF1b3Q7Lic7CiRsYW5nWydpbWFnZV91cmxfaGFzY2FjaGVkaXInXSA9ICdaJmF1bWw7aGx0IGRpZSBVUkwgb2JlbiBmJnV1bWw7ciBkYXMgWndpc2NoZW5zcGVpY2hlci1WZXJ6ZWljaG5pcyAoX0NHU21hcnRJbWFnZSknOwokbGFuZ1snaW1hZ2VfdXJsX3ByZWZpeCddID0gJ0JpbGQtVVJMLVByJmF1bWw7Zml4JzsKJGxhbmdbJ2luZm9fY2FjaGVfYWdlJ10gPSAnTWF4aW1hbGVzIEFsdGVyIGVpbmVyIERhdGVpIChpbiBUYWdlbikgYmV2b3IgZXMgZW50ZmVybnQgdW5kIG5ldSBlcnpldWd0IHdpcmQuIE4mdXVtbDt0emxpY2gsIHdlbm4gZGllIEVpbnN0ZWxsdW5nZW4gdmVyJmF1bWw7bmRlcnQgd3VyZGVuIG9kZXIgdW0gZGllIEdyJm91bWw7JnN6bGlnO2UgZGVzIGdlbnV0enRlbiBTcGVpY2hlcnBsYXR6ZXMgenUga29udHJvbGxpZXJlbi4nOwokbGFuZ1snaW5mb19lbWJlZF9tb2RlJ10gPSAnVGhpcyBzZWxlY3Rpb24gZGV0ZXJtaW5lcyBob3cgdGhlIHtzbWFydGltZ30gdGFnIHdpbGwgZ2VuZXJhdGUgb3V0cHV0LiAgSWYgJnF1b3Q7bm9uZSZxdW90OyBpcyBzZWxlY3RlZCBubyBpbWFnZSBlbWJlZGRpbmcgd2lsbCBiZSBwZXJmb3JtZWQuICBJZiAmcXVvdDtzbWFydCZxdW90OyBpcyBzZWxlY3RlZCB0aGVuIHRoZSBzeXN0ZW0gd2lsbCBkZWNpZGUgYmFzZWQgb24gdGhlIGltYWdlIHNpemUsIHR5cGUsIGFuZCB0aGUgYnJvd3NlciB0aGF0IGlzIHJlcXVlc3RpbmcgdGhlIGltYWdlLiAgT3RoZXIgb3B0aW9ucyBpbmNsdWRlIGFsd2F5cyBlbWJlZGRpbmcgYmFzZWQgb24gdGhlIGltYWdlIHNpemUsIG9yIHRoZSBpbWFnZSB0eXBlLic7CiRsYW5nWydpbmZvX2VtYmVkX3NpemVsaW1pdCddID0gJ1dlbm4gZGllIE9wdGlvbiBmJnV1bWw7ciBCaWxkLUVpbmJldHR1bmcgZHVyY2ggZGllIEJpbGRnciZvdW1sOyZzemxpZztlIGJlc3RpbW10IHdpcmQsIGdlYmVuIFNpZSBkaWUgbWF4aW1hbGUgR3Imb3VtbDsmc3psaWc7ZSAoaW4gS2lsb2J5dGUpIGYmdXVtbDtyIGVpbmdlYmV0dGV0ZSBCaWxkZXIgYW4gICgzMiB3aXJkIGVtcGZvaGxlbikuJzsKJGxhbmdbJ2luZm9fZW1iZWRfdHlwZXMnXSA9ICdXZW5uIGRpZSBPcHRpb24gZiZ1dW1sO3IgQmlsZC1FaW5iZXR0dW5nIGR1cmNoIEJpbGQtVHlwIGJlc3RpbW10IHdpcmQsIGdlYmVuIFNpZSBkdXJjaCBLb21tYSBnZXRyZW5udGUgRXJ3ZWl0ZXJ1bmdlbiBkZXIgRGF0ZWllbiBhbiwgZGllIGVpbmdlYmV0dGV0IHdlcmRlbiBzb2xsZW4uIEdybyZzemxpZzstL0tsZWluc2NocmVpYnVuZyB3aXJkIG5pY2h0IGJlYWNodGV0Lic7CiRsYW5nWydpbmZvX2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ1dlbm4gSWhyIENETiBkaXJla3QgYXVmIGRhcyBad2lzY2hlbnNwZWljaGVyLVZlcnplaWNobmlzIHZlcndlaXN0LCBrJm91bWw7bm50ZSBkaWVzZSBPcHRpb25lbiBoaWxmcmVpY2ggc2Vpbi4nOwokbGFuZ1snaW5mb19pbWFnZV91cmxfcHJlZml4J10gPSAnVVJMIGRlciBCaWxkZXIuIFN0YW5kYXJkbSZhdW1sOyZzemxpZztpZyBpc3QgZGllcyBkaWUgVXBsb2FkLVVSTC4gVmVyd2VuZGVuIFNpZSBlaW4gQ0ROIChvZGVyIG1laHJlcmUgRG9tYWlucywgZGllIGF1ZiBkYXMgc2VsYmUgVmVyemVpY2huaXMgdmVyd2Vpc2VuKSBrJm91bWw7bm5lbiBTaWUgaGllciBlaW4gZWluZSBhbmRlcmUgVVJMIGZlc3RsZWdlbi4nOwokbGFuZ1snbWF4X2NhY2hlX2FnZSddID0gJ01heGltYWxlcyBBbHRlciBkZXIgRGF0ZWllbiBpbSBad2lzY2hlbnNwZWljaGVyIChUYWdlKSc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ0VpbiBNb2R1bCB6dXIgc2NobGF1ZW4gRXJ6ZXVndW5nIHZvbiBCaWxkZXJuIGYmdXVtbDtyIENNUyBNYWRlIFNpbXBsZSc7CiRsYW5nWydtc2dfYWxpYXNlc191cGRhdGVkJ10gPSAnQWxpYXNlIGFrdHVhbGlzaWVydCc7CiRsYW5nWydtc2dfY2FjaGVjbGVhbmVkJ10gPSAnWndpc2NoZW5zcGVpY2hlciBnZWxlZXJ0LiAlZCBEYXRlaWVuIGVudGZlcm50Lic7CiRsYW5nWydtc2dfY2FjaGVyZW1vdmVkJ10gPSAnWndpc2NoZW5zcGVpY2hlciBlbnRmZXJudCc7CiRsYW5nWydtc2dfcHJlZnN1cGRhdGVkJ10gPSAnRWluc3RlbGx1bmdlbiBha3R1YWxpc2llcnQnOwokbGFuZ1snbm9uZSddID0gJ0tlaW5lcic7CiRsYW5nWydvcHRpb25zJ10gPSAnT3B0aW9uZW4nOwokbGFuZ1sncGFyYW1fYWxpYXMnXSA9ICdUaGUgQ0dTbWFydEltYWdlIGFkbWluIHBhbmVsIGFsbG93cyBjcmVhdGluZyBudW1lcm91cyBjb21tYW5kIGFsaWFzIHRvIGNvbWJpbmUgYSBmcmVxdWVudGx5IHVzZWQgcGF0dGVybiBvZiBhcmd1bWVudHMgaW50byBvbmUgbmFtZS4gIFRvIHVzZSB0aGVzZSBhbGlhc2VzIHVzZSBhbiBhcmd1bWVudCBvZiB0aGUgZm9ybSBhbGlhcyMjPWFsaWFzX25hbWUgaS5lOiAgYWxpYXMxPWZvbyBhbGlhczI9Zm9vLic7CiRsYW5nWydwYXJhbV9hbHQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBhbHQgYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOwokbGFuZ1sncGFyYW1fY2xhc3MnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgYWxsb3dzIHNwZWNpZnlpbmcgb25lIG9yIG1vcmUgY2xhc3NlcyB0byBpbmNsdWRlIG9uIHRoZSB0YWcuICBpLmU6IGNsYXNzPSZxdW90O2ZhbmN5Ym94IHRodW1ibmFpbCZxdW90Oyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfYmx1ciddID0gJyhpcmdlbmR3YXMpIEdlYmVuIFNpZSBlaW5lbiBiZWxpZWJpZ2VuIFdlcnQgZWluIGYmdXVtbDtyIGRpZXNlbiBQYXJhbWV0ZXIgenVtIEhpbnp1ZiZ1dW1sO2dlbiBlaW5lcyBXZWljaHplaWNobnVuZ3NmaWx0ZXIgYXVmIGRhcyBCaWxkJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9icmlnaHRuZXNzJ10gPSAnKEdhbnp6YWhsKSBFcmgmb3VtbDtoZW4gU2llIGRpZSBIZWxsaWdrZWl0IGRlcyBiZWFyYmVpdGV0ZW4gQmlsZGVzIGR1cmNoIGRlbiBhbmdlZ2ViZW4gR2FuenphaGwtV2VydCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29sb3JpemUnXSA9ICcocixnLGJbLGFscGhhXSkgLSBXaWUgZmlsdGVyX2dyZXlzY2FsZSwgamVkb2NoIGsmb3VtbDtubmVuIFNpZSBkaWUgRmFyYmUgdW5kIGRlbiBBbHBoYS1XZXJ0IGJlc3RpbW1lbic7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29udHJhc3QnXSA9ICcoR2FuenphaGwpIFZlciZhdW1sO25kZXJ0IGRlbiBLb25zdHJhc3QgZGVzIEJpbGRlcyB1bSBkaWUgYW5nZWdlYmVuZSBHYW56emFobCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY3JvcCddID0gJyhwZXJjZW50WyxoX2FsaWduLHZfYWxpZ25dKSAtIFBlcmZvcm0gY3JvcHBpbmcgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gQ3JvcCBwYXJhbWVldGVycyBhcmUgc3BlY2lmaWVkIGFzIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YgcGFyYW1ldGVycy4gIFRoZSBmaXJzdCAocmVxdWlyZWQpIHZhbHVlIGlzIGFuIGludGVnZXIgcGVyY2VudGFnZSBvZiB0aGUgb3JpZ2luYWwgaW1hZ2Ugc2l6ZS4gIFRoZSBvcHRpb25hbCBzZWNvbmQgYW5kIHRoaXJkIHBhcmFtZXRlcnMgYXJlIG9uZSBvZiBsLGMsciAobGVmdCxjZW50ZXIscmlnaHQpIGFuZCB0LGMsYiAodG9wLGNlbnRlcixib3R0b20pIHNwZWNpZnlpbmcgd2hlcmUgdGhlIGxvY2F0aW9uIHdpdGhpbiB0aGUgc291cmNlIGltYWdlIHRvIGNyb3AgZnJvbS4gIGkuZTogY3JvcD0zMyxiLHIgdG8gZ3JhYiBhIGNyb3Agb2YgMzMlIGZyb20gdGhlIGJvdHRvbSByaWdodCBvZiB0aGUgc291cmNlIGltYWdlLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfY3JvcHRvZml0J10gPSAnKHdpZHRoLGhlaWdodCkgLSBQZXJmb3JtIGEgY3JvcHRvZml0IG9uIHRoZSBpbWFnZSBzcGVjaWZpZWQuIFRoaXMgYXR0ZW1wdHMgdG8gcmVzY2FsZSB0aGUgaW1hZ2UgdG8gdGhlIGRlc3RpbmF0aW9uIHNpemUgd2hpbGUgcmVhdGluaW5nIGFzcGVjdCByYXRpbywgdGhlbiBmb2N1cyBvbiB0aGUgY2VudGVyIG9mIHRoZSByZXNpemVkIGltYWdlLiAgQ3JvcCB0byBmaXQgcGFyYW1ldGVycyBhcmUgc3BlY2lmaWVkIGFzIHRoZSBkZXNpcmVkIHdpZHRoIGFuZCBoZWlnaHQgZm9yIHRoZSBkZXN0aW5hdGlvbiBpbWFnZS4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX2VkZ2VkZXRlY3QnXSA9ICcoaXJnZW5kd2FzKSBLYW50ZW4gaW0gQmlsZCBoZXJ2b3JoZWJlbi4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX2VtYm9zcyddID0gJyhpcmdlbmR3YXMpIEJpbGQgcHImYXVtbDtnZW4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX2ZsaXAnXSA9ICcobW9kZSkgLSBGJnV1bWw7aHJ0IGVpbmUgRHJlaHVuZyBhdWYgZGVtIGFuZ2VnZWJlbmVuIEJpbGQuIEdlYmVuIFNpZSAwIGYmdXVtbDtyIGhvcml6b250YWxlLCAxIGYmdXVtbDtyIHZlcnRpa2FsZSB1bmQgMiBmJnV1bWw7ciBEcmVodW5nIGluIGJlaWRlIFJpY2h0dW5nZW4uJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9ncmF5c2NhbGUnXSA9ICcoYW55dGhpbmcpIEJpbGQgaW4gR3JhdXN0dWZlbiB1bXdhbmRlbG4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX21lYW5yZW1vdmFsJ10gPSAnKGFueXRoaW5nKSBWZXJzdWNodCBlaW5lbiAmcXVvdDtnZXplaWNobmV0JnF1b3Q7LUVmZmVrdCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbmVnYXRlJ10gPSAnKGFueXRoaW5nKSBCaWxkIGlucyBOZWdhdGl2IHVta2VocmVuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9waXhlbGF0ZSddID0gJyhzaXplWyxhZHZhbmNlZF0pIFBpeGVsYXRlIHRoZSBpbWFnZSwgc3BlY2lmeSBhbiBpbnRlZ2VyIHNpemUgYW5kIGFuIG9wdGlvbmFsIGJvb2xlYW4gKGRlZmF1bHQgaXMgZmFsc2UpIHRvIGVuYWJsZSBhZHZhbmNlZCBwaXhlbGF0aW9uJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemUnXSA9ICd0eXBlLG51bWJlclssbnVtYmVyXSAtIFBlcmZvcm0gYSByZXNpemUgb2YgdGhlIHNvdXJjZSBpbWFnZS4gIFBvc3NpYmxlIHZhbHVlcyBhcmU6DQo8dWw+DQogIDxsaT5wLG51bWJlciAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuPC9saT4NCiAgPGxpPncsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy48L2xpPg0KICA8bGk+aCxudW1iZXIgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIGhlaWdodCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWgsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIGhlaWdodCBvZiA4MCBwaXhlbHMuPC9saT4NCiAgPGxpPmMseCx5IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiByZXNpemU9Yyw1MCw3NSB0byBjcmVhdGUgYSB0aHVtYm5haWwgdGhhdCBpcyA1MHg3NSBwaXhlbHMuPC9saT4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemV0b2ZpdCddID0gJyh3aWR0aCxoZWlnaHRbLGNvbG9yWyxhbHBoYV1dKSAtIFBlcmZvcm0gYSByZXNpemUgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gVGhpcyBhdHRlbXB0cyB0byByZXNjYWxlIHRoZSBpbWFnZSB0byB0aGUgZGVzdGluYXRpb24gc2l6ZSB3aGlsZSByZWF0aW5pbmcgYXNwZWN0IHJhdGlvLCB0aGUgaW1hZ2UgaXMgY2VudGVyZWQgaW4gdGhlIGJveCBzcGVjaWZpZWQgKGVpdGhlciBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBkZXBlbmRpbmcgdXBvbiBhc3BlY3QgcmF0aW8gYW5kIHRoZSBkZXN0aW5hdGlvbiBzaXplLCBhbmQgdGhlIGltYWdlIGlzIHN1cnJvdW5kZWQgYnkgdGhlIHN1cHBsaWVkIGNvbG9yLiAgQ29sb3JzIGNhbiBiZSBzcGVjaWZpZWQgYnkgbmFtZSAoc2VlIHRoZSBYMTEgY29sb3IgbmFtZXMpLCBvciBieSAjbm5ubm5uIGhleGFkZWNpbWFsIGZvcm1hdCwgb3IgYXMgcmdiIHZhbHVlcyBzZXBhcmF0ZWQgYnkgYSA6IGkuZTogIGZpbHRlcl9jcm9wdG9maXQ9NjAwLDQwMCwjZmYwMDAwLiAgVGhlIHNwZWNpYWwgY29sb3IgdmFsdWUgJnF1b3Q7dHJhbnNwYXJlbnQmcXVvdDsgY2FuIGJlIHNwZWNpZmllZCB0byBmb3JjZSB0aGUgYmFja2dyb3VuZCB0byBiZSB0cmFuc3BhcmVudC4gICBBbiBhbHBoYSB2YWx1ZSBtYXkgYmUgc3BlY2lmaWVkIGJldHdlZW4gMCBhbmQgMTI3IHRvIHNwZWNpZnkgZGlmZmVyZW50IGRlZ3JlZXMgb2YgdHJhbnNsdWNlbmN5IGZvciB0aGUgYmFja2dyb3VuZC4gICBBdCBubyB0aW1lIHdpbGwgdGhpcyBwbHVnaW4gcGVyZm9ybSBhbnkgdXBzY2FsaW5nLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfcm90YXRlJ10gPSAnKGFuZ2xlLGNvbG9yKSBTcGVjaWZ5IHRoZSBpbnRlZ2VyIGFuZ2xlIChjb3VudGVyIGNsb2Nrd2lzZSkgdG8gcm90YXRlIHRoZSBpbWFnZSwgYW5kIGEgY29sb3IgdG8gZmlsbCB0aGUgZW1wdHkgcGl4ZWxzIHdpdGguICBUaGUgaW1hZ2UgaXMgcm90YXRlZCBhYm91dCBpdHMgY2VudGVyLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfcm91bmRlZGNvcm5lcnMnXSA9ICcocmFkaXVzKSBlaW5lbiBnYW56emFobGlnZW4gUmFkaXVzIChpbiBQaXhlbG4pIHp1bSBBYnJ1bmRlbiBkZXIgRWNrZW4gYW5nZWJlbic7CiRsYW5nWydwYXJhbV9maWx0ZXJfd2F0ZXJtYXJrJ10gPSAnKGlyZ2VuZHdhcykgV2Fzc2VyemVpY2hlbiAod2llIGluIGRlbiBFaW5zdGVsbHVuZ2VuIHZvbiBDR0V4dGVuc2lvbnMgZGVmaW5pZXJ0KSBhdWYgZGFzIEJpbGQgYW53ZW5kZW4nOwokbGFuZ1sncGFyYW1faGVpZ2h0J10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgaGVpZ2h0IGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyJzsKJGxhbmdbJ3BhcmFtX2lkJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIGFuIGlkIGF0dHJpYnV0ZSB0byBpbmNsdWRlIG9uIHRoZSB0YWcuICBpLmU6IGlkPSZxdW90O3NvbWV0YWcmcXVvdDsnOwokbGFuZ1sncGFyYW1fbWF4X2hlaWdodCddID0gJ1dpcmQgbnVyIGYmdXVtbDtyIHtjZ3NpX2NvbnZlcnR9IHRhZyB2ZXJ3ZW5kZXQuIERpZXNlciBQYXJhbWV0ZXIgZXJtJm91bWw7Z2xpY2h0IGRpZSBBbmdhYmUgZWluZXIgbWF4aW1hbGVuIEgmb3VtbDtoZSBmJnV1bWw7ciBkaWUga29udmVydGllcnRlbiBCaWxkZXInOwokbGFuZ1sncGFyYW1fbWF4X3dpZHRoJ10gPSAnV2lyZCBudXIgZiZ1dW1sO3Ige2Nnc2lfY29udmVydH0gdGFnIHZlcndlbmRldC4gRGllc2VyIFBhcmFtZXRlciBlcm0mb3VtbDtnbGljaHQgZGllIEFuZ2FiZSBlaW5lciBtYXhpbWFsZW4gQnJlaXRlIGYmdXVtbDtyIGRpZSBrb252ZXJ0aWVydGVuIEJpbGRlcic7CiRsYW5nWydwYXJhbV9uYW1lJ10gPSAnVmVyd2VuZGV0IGJlaSBkZXIgRXJzdGVsbHVuZyBlaW5lcyBpbWctVGFncywgZ2ViZW4gU2llIGRlbiBXZXJ0IGYmdXVtbDtyIGRhcyBuYW1lIEF0dHJpYnV0Lic7CiRsYW5nWydwYXJhbV9ub2F1dG8nXSA9ICdBdHRyaWJ1dGUgZiZ1dW1sO3IgZGFzIGltZy1UYWcgbmljaHQgYXV0b21hdGlzY2ggYmVyZWNobmV0LiBEaWVzIGsmb3VtbDtubnRlIGRhenUgZiZ1dW1sO2hyZW4sIGRhc3MgSWhyZSBTZWl0ZSBuaWNodCBtZWhyIHZhbGlkaWVydCwgd2VubiB2ZXJwZmxpY2h0ZW5kZSBBdHRyaWJ1dGUgKHdpZHRoLCBoZWlnaHQsIGFsdCkgbmljaHQgYW5nZWdlYmVuIHNpbmQuJzsKJGxhbmdbJ3BhcmFtX25vYXV0b3NjYWxlJ10gPSAnd2VubiBCcmVpdGUgdW5kIEgmb3VtbDtoZSBQYXJhbWV0ZXIgYW5nZWdlYmVuIHdlcmRlbiwgd2lyZCBkaWVzZXIgUGFyYW1ldGVyIGRpZSBhdXRvbWF0aXNjaGUgU2thbGllcnVuZyBkZXMgQmlsZGVzIGRlYWt0aXZpZXJlbi4nOwokbGFuZ1sncGFyYW1fbm9iY2FjaGUnXSA9ICdEbyBub3QgYWxsb3cgdGhlIHJlc2l6ZWQgaW1hZ2UgdG8gY2FjaGUgaW4gdGhlIGJyb3dzZXIgKHVzZWZ1bCBmb3IgZGV2ZWxvcG1lbnQgcHVycG9zZXMpIHRoaXMgYWRkcyBhIHVuaXF1ZSBudW1iZXIgYXMgYSBwYXJhbWV0ZXIgdG8gdGhlIGltYWdlIHdoaWNoIHdpbGwgZm9yY2UgdGhlIGJyb3dzZXIgbm90IHRvIGNhY2hlIHRoZSBpbWFnZS4nOwokbGFuZ1sncGFyYW1fbm9lbWJlZCddID0gJ0ZvcmNlIHRoZSBpbWFnZSB0byBub3QgZW1iZWQuICBSZWdhcmRsZXNzIG9mIHNldHRpbmdzIGluIHRoZSBhZG1pbiBwYW5lbCwgdGhlIFVSTCBhbmQgdGFnIGdlbmVyYXRlZCB3aWxsIGJlIHRvIGEgZmlsZSBvbiB0aGUgc2VydmVyLiAgTm8gZW1iZWRkaW5nIHdpbGwgYmUgcGVyZm9ybWVkJzsKJGxhbmdbJ3BhcmFtX25vdGltZWNoZWNrJ10gPSAnWmVpdCZ1dW1sO2JlcnByJnV1bWw7ZnVuZyBkZXIgendpc2NoZW5nZXNwZWljaGVydGVuIERhdGVpZW4gZGVha3RpdmllcmVuLic7CiRsYW5nWydwYXJhbV9ub3JlbW90ZSddID0gJ0F1ZnJ1ZiB2b24gZXh0cmVuZW4gVVJMJiMwMzk7cyBuaWNodCBlcmxhdWJlbic7CiRsYW5nWydwYXJhbV9ub3JvdGF0ZSddID0gJ0V4aWYgSW5mb3JtYXRpb24gZGVyIERhdGVpIG5pY2h0IGF1c2xlc2VuIHVuZCBCaWxyb3RhdGlvbiBuaWNodCBrb3JyaWdpZXJlbic7CiRsYW5nWydwYXJhbV9ub3RhZyddID0gJ0tlaW4gaW1nLVRhZyBhdXNnZWJlbiwgbnVyIGRpZSBVUkwgenVtIEJpbGQuIEtlaW4gRWZmZWt0LCB3ZW5uIENHU21hcnRJbWFnZXMgaW4gZWluZW0gU3R5bGVzaGVldCB2ZXJ3ZW5kZXQgd2lyZC4nOwokbGFuZ1sncGFyYW1fb3ZlcndyaXRlJ10gPSAnWndpc2NoZW5zcGVpY2hlciBkZWFrdGl2aWVyZW4gdW5kIE5ldWJlcmVjaG51bmcgYWxsZXIgRmlsdGVyIGVyendpbmdlbic7CiRsYW5nWydwYXJhbV9xdWFsaXR5J10gPSAnUXVhbGl0JmF1bWw7dCBkZXMgQmlsZGVzLiBFaW4gV2VydCB6d2lzY2hlbiAwIHVuZCAxMDAuIERpZSBWb3JlaW5zdGVsbHVuZyBpc3QgNzUuJzsKJGxhbmdbJ3BhcmFtX3JlbCddID0gJ1VzZWQgd2hlbiBidWlsZGluZyBhbiBpbWFnZSB0YWcgYWxsb3dzIHNwZWNpZnlpbmcgYW4gb3B0aW9uYWwgcmVsIGF0dHJpYnV0ZSAodHlwaWNhbGx5IHVzZWQgd2l0aCBqYXZhc2NyaXB0IHR5cGUgYWxidW1zKS4gaS5lOiByZWw9JnF1b3Q7YWxidW0mcXVvdDsnOwokbGFuZ1sncGFyYW1fc2lsZW50J10gPSAnRmVobGVyIHN0aWxsIGlnbm9yaWVyZW4nOwokbGFuZ1sncGFyYW1fc3JjJ10gPSAnU3BlY2lmeSB0aGUgc291cmNlIGZvciB0aGUgaW1hZ2UgcHJvY2Vzc2luZyAoaWYgYW55KSBvciB0aGUgZ2VuZXJhdGVkIGltZyB0YWcuICBOb3RlLCB0aGlzIHBhcmFtZXRlciBpcyBmbGV4aWJsZSwgYW5kIHRoZSBtb2R1bGUgd2lsbCBhdHRlbXB0IG1hbnkgbWV0aG9kcyB0byBmaW5kIHRoZSBzb3VyY2UgaW1hZ2UgZmlsZSBvbiB0aGUgd2ViIHNlcnZlciBhcyBmb2xsb3dzOg0KPHVsPg0KICA8bGk+Rmlyc3QgbG9vayB0byBzZWUgaWYgdGhlIHNwZWNpZmllZCBzcmMgdmFsdWUgZXhpc3RzIGFzIGEgZmlsZSBvbiB0aGUgZmlsZXN5c3RlbS48L2xpPg0KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSB1cGxvYWRzX3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHJvb3RfdXJsIChhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5waHApPC9saT4NCiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgc3NsX3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQo8L3VsPic7CiRsYW5nWydwYXJhbV9zdHlsZSddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBhbGxvd3Mgc3BlY2lmeWluZyBhbHRlcm5hdGUgc3R5bGVzIGZvciB0aGUgdGFnLiAgaS5lOiBzdHlsZT0mcXVvdDtib3JkZXI6IDFweCBzb2xpZCBibGFjazsmcXVvdDsnOwokbGFuZ1sncGFyYW1fdGl0bGUnXSA9ICdUaXRlbC1BdHRyaWJ1dCBmJnV1bWw7ciBkYXMgaW1nLVRhZyAob3B0aW9uYWwpLCB6LiBCLiA8Y29kZT50aXRsZT0mcXVvdDtEaWVzIGlzdCBkZXIgVG9vbHRpcCZxdW90OzwvY29kZT4nOwokbGFuZ1sncGFyYW1fd2lkdGgnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSB3aWR0aCBhdHRyaWJ1dGUuICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgJnF1b3Q7bm9hdXRvJnF1b3Q7IHBhcmFtZXRlcic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsIHd1cmRlIGluc3RhbGxpZXJ0JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdBbGxlIERhdGVuIGRpZXNlcyBNb2R1bHMgd3VyZGVuIGVudGZlcm50Lic7CiRsYW5nWydwcm9tcHRfY3JvcHRvZml0X2RlZmF1bHRfbG9jJ10gPSAnU3RhbmRhcmRiZXJlaWNoIGYmdXVtbDtyICZiZHF1bztCZXNjaG5laWRlbiB1bmQgQW5wYXNzZW4mbGRxdW87JzsKJGxhbmdbJ3Byb21wdF9lbWJlZF9zaXplbGltaXQnXSA9ICdCYXNpZXJlbmQgYXVmIEJpbGRnciZvdW1sOyZzemxpZztlJzsKJGxhbmdbJ3Byb21wdF9lbWJlZF9zbWFydGxpbWl0ZWQnXSA9ICdTbWFydC1Nb2R1cywgYWJlciBCaWxkZ3Imb3VtbDsmc3psaWc7ZSBiZXNjaHImYXVtbDtua2VuJzsKJGxhbmdbJ3Byb21wdF9lbWJlZF90eXBlJ10gPSAnQmlsZHR5cC1iYXNpZXJlbmQnOwokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21sZWZ0J10gPSAndW50ZW4gbGlua3MnOwokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21jZW50ZXInXSA9ICd1bnRlbiBtaXR0aWcnOwokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21yaWdodCddID0gJ3VudGVuIHJlY2h0cyc7CiRsYW5nWydwcm9tcHRfbG9jX2NlbnRlcmxlZnQnXSA9ICdtaXR0aWcgbGlua3MnOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXInXSA9ICdtaXR0aWcnOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJyaWdodCddID0gJ21pdHRpZyByZWNodHMnOwokbGFuZ1sncHJvbXB0X2xvY190b3BsZWZ0J10gPSAnb2JlbiBsaW5rcyc7CiRsYW5nWydwcm9tcHRfbG9jX3RvcGNlbnRlciddID0gJ29iZW4gbWl0dGlnJzsKJGxhbmdbJ3Byb21wdF9sb2NfdG9wcmlnaHQnXSA9ICdvYmVuIHJlY2h0cyc7CiRsYW5nWydyZXNpemluZyddID0gJ0dyJm91bWw7JnN6bGlnO2VuJmF1bWw7bmRlcnVuZyc7CiRsYW5nWydzbWFydCddID0gJ2F1dG9tYXRpc2NoJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0Fic2VuZGVuJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMzI2NzAwNDUwLjEzNzM4MjczNjcuMTM3MzgyNzM2Ny4xMzczODI3MzY3LjEnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzNzM4MjczNjcuMS4xLnV0bWNjbj0oZGlyZWN0KXx1dG1jc3I9KGRpcmVjdCl8dXRtY21kPShub25lKSc7CiRsYW5nWyd1dG1iJ10gPSAnMTU2ODYxMzUzJzsKPz4=]]></data>
	</file>
	<file>
	  <filename>/lang/ext/fr_FR.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdF9jYWNoZWNsZWFuZWQnXSA9ICdDYWNoZSB2aWQmZWFjdXRlOyc7CiRsYW5nWydhZGRfcm93J10gPSAnQWpvdXRlciB1bmUgbGlnbmUnOwokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyZuYnNwOyc7CiRsYW5nWydhbGlhc2VzJ10gPSAnQWxpYXMmbmJzcDsnOwokbGFuZ1snYXNrX2NsZWFyX2ltYWdlX2NhY2hlJ10gPSAnJkVjaXJjO3Rlcy12b3VzIHMmdWNpcmM7ciBkZSB2b3Vsb2lyIHN1cHByaW1lciBUT1VURVMgbGVzIGltYWdlcyBlbiBjYWNoZSA/JzsKJGxhbmdbJ2NsZWFyX2FsbCddID0gJ1N1cHByaW1lciB0b3VzIGxlcyBmaWNoaWVycyc7CiRsYW5nWydjbGVhcl9ub3cnXSA9ICdTdXBwcmltZXIgbWFpbnRlbmFudCc7CiRsYW5nWydkZWxldGUnXSA9ICdFZmZhY2VyJzsKJGxhbmdbJ2VtYmVkZGluZyddID0gJ0ltYWdlcyBpbnQmZWFjdXRlO2dyJmVhY3V0ZTtlcyc7CiRsYW5nWydlbWJlZGRpbmdfbW9kZSddID0gJ01vZGUgZCYjMDM5O2ludCZlYWN1dGU7Z3JhdGlvbiBkZXMgaW1hZ2VzIChhdSBzZWluIGR1IGNvZGUgSFRNTCknOwokbGFuZ1snZW1iZWRfc2l6ZWxpbWl0J10gPSAnVGFpbGxlIGxpbWl0ZSBkZXMgaW1hZ2VzIGludCZlYWN1dGU7Z3ImZWFjdXRlO2VzIChLbykgJzsKJGxhbmdbJ2VtYmVkX3R5cGVzJ10gPSAnVHlwZShzKSBkJiMwMzk7aW1hZ2UocykgaW50JmVhY3V0ZTtncmFibGUocykgJzsKJGxhbmdbJ2Vycm9yX2FsaWFzX2R1cGxpY2F0ZW5hbWVfYXRyb3cnXSA9ICdOb20gZCYjMDM5O2FsaWFzIGR1cGxpcXUmZWFjdXRlOyBwb3VyIGwmIzAzOTthbGlhcyBkZSBsYSBsaWduZSAlZCc7CiRsYW5nWydlcnJvcl9hbGlhc19ub25hbWVfYXRyb3cnXSA9ICdBdWN1biBub20gbiYjMDM5O2EgJmVhY3V0ZTt0JmVhY3V0ZTsgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyBwb3VyIGwmIzAzOTthbGlhcyAmYWdyYXZlOyBsYSBsaWduZSAlZCc7CiRsYW5nWydlcnJvcl9hbGlhc19ub29wdGlvbnNfYXRyb3cnXSA9ICdBdWN1bmUgb3B0aW9uIG4mIzAzOTthICZlYWN1dGU7dCZlYWN1dGU7IHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTtlIHBvdXIgbCYjMDM5O2FsaWFzICZhZ3JhdmU7IGxhIGxpZ25lICVkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfYWdlJ10gPSAnUHImZWFjdXRlO2YmZWFjdXRlO3JlbmNlIGQmIzAzOTsmYWNpcmM7Z2UgaW52YWxpZGUuLi4gQXVjdW5lIG9wJmVhY3V0ZTtyYXRpb24gciZlYWN1dGU7YWxpcyZlYWN1dGU7ZSc7CiRsYW5nWydlcnJvcl9taXNzaW5ncGFyYW0nXSA9ICdVbiBwYXJhbSZlZ3JhdmU7dHJlIHJlcXVpcyBlc3QgbWFucXVhbnQgb3UgaW52YWxpZGUgOiAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW0nXSA9ICdQYXJhbSZlZ3JhdmU7dHJlIGludmFsaWRlIGRhbnMgbCYjMDM5O2FwcGVsIDogJXMnOwokbGFuZ1snZXJyb3Jfc3Jjbm90Zm91bmQnXSA9ICdMZSBmaWNoaWVyIHN1aXZhbnQgbiYjMDM5O2EgcGFzICZlYWN1dGU7dCZlYWN1dGU7IHRyb3V2JmVhY3V0ZTsgOiAlcyc7CiRsYW5nWydlcnJvcl9yZW1vdGVmaWxlJ10gPSAnUHJvYmwmZWdyYXZlO21lIGRlIHImZWFjdXRlO2N1cCZlYWN1dGU7cmF0aW9uIGR1IGZpY2hpZXIgZGlzdGFudCBkZXB1aXMgJXMnOwokbGFuZ1snZXJyb3JfdW5rbm93bmZpbHRlciddID0gJ1RyYWl0ZW1lbnQgZCYjMDM5O2ltYWdlcyAtIEZpbHRyZSBpbmNvbm51IDogJXMnOwokbGFuZ1snZnJpZW5kbHluYW1lJ10gPSAnVHJhaXRlbWVudCBkJiMwMzk7aW1hZ2VzIChDRyknOwokbGFuZ1snZ2VuZXJhbCddID0gJ0cmZWFjdXRlO24mZWFjdXRlO3JhbCc7CiRsYW5nWydpbmZvX2FsaWFzZXMnXSA9ICdMZXMgYWxpYXMgcGV1dmVudCAmZWNpcmM7dHJlIHV0aWxpcyZlYWN1dGU7cyB2aWEgbGVzIG9wdGlvbnMgYWxpYXMxICZhZ3JhdmU7IGFsaWFzNSBkZXMgYmFsaXNlcyBDR1NtYXJ0SW1hZ2UgcG91ciBjb21iaW5lciBwbHVzaWV1cnMgb3B0aW9ucyBmciZlYWN1dGU7cXVlbW1lbnQgdXRpbGlzJmVhY3V0ZTtlcy4nOwokbGFuZ1snaW5mb19jcm9wdG9maXRfZGVmYXVsdF9sb2MnXSA9ICdTcGVjaWZ5IHRoZSBkZWZhdWx0IGxvY2F0aW9uIGZyb20gd2hpY2ggdG8gJnF1b3Q7Y3JvcCB0byBmaXQmcXVvdDsgdGhpcyB3aWxsIGVmZmVjdCBhbGwgY3JvcCB0byBmaXQgb3BlcmF0aW9ucyB1bmxlc3MgdGhlIGxvY2F0aW9uIHBhcmFtZXRlciBvbiB0aGUgZmlsdGVyX2Nyb3B0b2ZpdCBhdHRyaWJ1dGUgb3ZlcnJpZGVzIGl0LiAgRGVmYXVsdCBsb2NhdGlvbiBpcyAmcXVvdDtjZW50ZXImcXVvdDsnOwokbGFuZ1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnTCYjMDM5O1VSTCBjaS1kZXNzdXMgZXN0LWVsbGUgbGUgciZlYWN1dGU7cGVydG9pcmUgZGUgY2FjaGUgKF9DR1NtYXJ0SW1hZ2UpID8nOwokbGFuZ1snaW1hZ2VfdXJsX3ByZWZpeCddID0gJ1ByJmVhY3V0ZTtmaXhlIGRlIGwmIzAzOTtVUkwgZGUgbCYjMDM5O2ltYWdlICc7CiRsYW5nWydpbmZvX2NhY2hlX2FnZSddID0gJ1NwJmVhY3V0ZTtjaWZpZSBsJiMwMzk7JmFjaXJjO2dlIG1heGltdW0gZCYjMDM5O3VuIGZpY2hpZXItaW1hZ2UgKGVuIGpvdXJzKSBhdmFudCBxdSYjMDM5O2lsIHNvaXQgc3VwcHJpbSZlYWN1dGU7IGV0IHJlZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7LiBDZWNpIGVzdCB1dGlsZSBzaSB2b3VzIGF2ZXogY2hhbmcmZWFjdXRlOyBjZXJ0YWlucyBwYXJhbSZlZ3JhdmU7dHJlcyBkZSBnJmVhY3V0ZTtuJmVhY3V0ZTtyYXRpb24gZCYjMDM5O2ltYWdlcywgb3UgcG91ciByJmVhY3V0ZTtndWxlciBsJiMwMzk7ZXNwYWNlIGRpc3F1ZSB1dGlsaXMmZWFjdXRlOy4gVW5lIHZhbGV1ciBkZSAmcXVvdDswJnF1b3Q7IGQmZWFjdXRlO3NhY3RpdmUgbGEgc3VwcHJlc3Npb24gYXV0b21hdGlxdWUuJzsKJGxhbmdbJ2luZm9fZW1iZWRfbW9kZSddID0gJ0NlIHBhcmFtJmVncmF2ZTt0cmUgZCZlYWN1dGU7ZmluaXQgbGEgbWFuaSZlZ3JhdmU7cmUgZG9udCBsZSBtb2R1bGUgdmEgZyZlYWN1dGU7biZlYWN1dGU7cmVyIGwmIzAzOTthZmZpY2hhZ2UgOg0KDQo8dWw+PGxpPkF1Y3VuIDogdW5lIGJhbGlzZSBIVE1MICZxdW90O2ltZyZxdW90OyBjbGFzc2lxdWUgc2VyYSB1dGlsaXMmZWFjdXRlO2UgZXQgbCYjMDM5O2ltYWdlIG5lIHNlcmEgcGFzIGludCZlYWN1dGU7Z3ImZWFjdXRlO2UgZGFucyBsYSBzb3VyY2U8L2xpPg0KPGxpPlNtYXJ0IDogbGUgc3lzdCZlZ3JhdmU7bWUgdmEgaW50JmVhY3V0ZTtncmVyIG91IG5vbiBsJiMwMzk7aW1hZ2UgZGFucyBsZSBjb2RlIHNlbG9uIHNvbiBwb2lkcywgc29uIHR5cGUgZXQgbGUgbmF2aWdhdGV1ciBxdWkgYWZmaWNoZSBsYSBwYWdlPC9saT4NCjwvdWw+PGJyIC8+DQpMZXMgYXV0cmVzIG1vZGVzIHImZWFjdXRlO2FsaXNlcm9udCB1bmUgaW50JmVhY3V0ZTtncmF0aW9uIGRlIGwmIzAzOTtpbWFnZSBiYXMmZWFjdXRlO2Ugc3VyIGxlIHBvaWRzIG91IGxlIHR5cGUgZGUgY2VsbGUtY2kuJzsKJGxhbmdbJ2luZm9fZW1iZWRfc2l6ZWxpbWl0J10gPSAnU2kgbCYjMDM5O2ludCZlYWN1dGU7Z3JhdGlvbiBlc3QgYmFzJmVhY3V0ZTtlIHN1ciBsZSBwb2lkcyBkZSBsJiMwMzk7aW1hZ2UsIHByJmVhY3V0ZTtjaXNleiBpY2kgbGUgcG9pZHMgbWF4aW11bSAoZW4ga2lsby1vY3RldHMpIHBvdXIgbGVzIGltYWdlcyAmYWdyYXZlOyBpbnQmZWFjdXRlO2dyZXIgKDMya28gZXN0IHVuZSB2YWxldXIgcmVjb21tYW5kJmVhY3V0ZTtlKS4nOwokbGFuZ1snaW5mb19lbWJlZF90eXBlcyddID0gJ1NpIGwmIzAzOTtpbnQmZWFjdXRlO2dyYXRpb24gZXN0IGJhcyZlYWN1dGU7ZSBzdXIgbGUgdHlwZSBkZSBsJiMwMzk7aW1hZ2UsIHByJmVhY3V0ZTtjaXNleiBpY2kgbGVzIHR5cGVzIGQmIzAzOTtpbWFnZXMgcXVpIGRldnJvbnQgJmVjaXJjO3RyZSBpbnQmZWFjdXRlO2dyJmVhY3V0ZTtlcywgZW4gbGVzIHMmZWFjdXRlO3BhcmFudCBwYXIgZGVzIHZpcmd1bGVzLiBFeGVtcGxlIDogJnF1b3Q7LmpwZywucG5nLC5naWYmcXVvdDsuIExhIGNhc3NlIChtYWp1c2N1bGUvbWludXNjdWxlKSBuJiMwMzk7ZXN0IHBhcyBwcmlzZSBlbiBjb21wdGUuJzsKJGxhbmdbJ2luZm9faW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnU2kgdm90cmUgQ0ROIChyJmVhY3V0ZTtzZWF1IGRlIGNvbnRlbnUpIHBvaW50ZSBkaXJlY3RlbWVudCB2ZXJzIGxlIHImZWFjdXRlO3BlcnRvaXJlIGRlcyBpbWFnZXMgZW4gY2FjaGUsIGFsb3JzIHZvdXMgZGV2cmV6IHBldXQtJmVjaXJjO3RyZSBwYXNzZXIgY2V0dGUgb3B0aW9uICZhZ3JhdmU7ICZxdW90O091aSZxdW90Oyc7CiRsYW5nWydpbmZvX2ltYWdlX3VybF9wcmVmaXgnXSA9ICdTcCZlYWN1dGU7Y2lmaWUgbCYjMDM5O1VSTCAmYWdyYXZlOyBham91dGVyIGVuIHByJmVhY3V0ZTtmaXhlIGF1eCBpbWFnZXMgZyZlYWN1dGU7biZlYWN1dGU7ciZlYWN1dGU7ZXMuIFBhciBkJmVhY3V0ZTtmYXV0LCBjJiMwMzk7ZXN0IGwmIzAzOTtVUkwgZHUgciZlYWN1dGU7cGVydG9pcmUgJnF1b3Q7dXBsb2FkcyZxdW90OywgbWFpcyBzaSB2b3VzIGF2ZXogdm90cmUgcHJvcHJlIHImZWFjdXRlO3NlYXUgZGUgY29udGVudSAoQ29udGVudCBEZWxpdmVyeSBOZXR3b3JrKSwgb3UgcGx1c2lldXJzIGRvbWFpbmVzIHBvaW50YW50IHZlcnMgbGUgbSZlY2lyYzttZSByJmVhY3V0ZTtwZXJ0b2lyZSwgdm91cyB2b3VkcmV6IHBldXQtJmVjaXJjO3RyZSBzcCZlYWN1dGU7Y2lmaWVyIHVuZSBhZHJlc3NlIGRpZmYmZWFjdXRlO3JlbnRlIGljaS4nOwokbGFuZ1snbWF4X2NhY2hlX2FnZSddID0gJyZBY2lyYztnZSBtYXhpbXVtIGRlcyBmaWNoaWVycyBlbiBjYWNoZSAoZW4gam91cnMpICc7CiRsYW5nWydtb2RkZXNjcmlwdGlvbiddID0gJ1VuIG1vZHVsZSBkZSBnJmVhY3V0ZTtuJmVhY3V0ZTtyYXRpb24gZCYjMDM5O2ltYWdlcyBldCBkZSBiYWxpc2VzLWltYWdlcyBwb3VyIENNU01TJzsKJGxhbmdbJ21zZ19hbGlhc2VzX3VwZGF0ZWQnXSA9ICdMZXMgYWxpYXMgb250ICZlYWN1dGU7dCZlYWN1dGU7IG1pcyAmYWdyYXZlOyBqb3VyJzsKJGxhbmdbJ21zZ19jYWNoZWNsZWFuZWQnXSA9ICdSJmVhY3V0ZTtwZXJ0b2lyZSBjYWNoZSB2aWQmZWFjdXRlOy4gJWQgZmljaGllcnMgc3VwcHJpbSZlYWN1dGU7cyc7CiRsYW5nWydtc2dfY2FjaGVyZW1vdmVkJ10gPSAnQ2FjaGUgc3VwcHJpbSZlYWN1dGU7JzsKJGxhbmdbJ21zZ19wcmVmc3VwZGF0ZWQnXSA9ICdQciZlYWN1dGU7ZiZlYWN1dGU7cmVuY2VzIG1vZGlmaSZlYWN1dGU7ZXMnOwokbGFuZ1snbm9uZSddID0gJ0F1Y3VuJzsKJGxhbmdbJ29wdGlvbnMnXSA9ICdPcHRpb25zJm5ic3A7JzsKJGxhbmdbJ3BhcmFtX2FsaWFzJ10gPSAnTGUgcGFubmVhdSBkJiMwMzk7YWRtaW5pc3RyYXRpb24gZHUgbW9kdWxlIHZvdXMgcGVybWV0IGRlIGNyJmVhY3V0ZTtlciBwbHVzaWV1cnMgYWxpYXMgZGUgY29tbWFuZGUgcXVpIGNvbWJpbmVudCBkZXMgbW9kJmVncmF2ZTtsZXMgZCYjMDM5O2FyZ3VtZW50cyBmciZlYWN1dGU7cXVlbW1lbnQgdXRpbGlzJmVhY3V0ZTtzLCBzb3VzIHVuIG5vbS4gUG91ciB1dGlsaXNlciBjZXMgYWxpYXMsIHV0aWxpc2V6IHVuIGFyZ3VtZW50IGRlIGxhIGZvcm1lIHN1aXZhbnRlIDogYWxpYXMjIz1taW5fYWxpYXMuIFBhciBleCA6IGFsaWFzMT1mb28gYWxpYXMyPWZvby4nOwokbGFuZ1sncGFyYW1fYWx0J10gPSAnVXRpbGlzJmVhY3V0ZTsgbG9ycyBkZSBsYSBjciZlYWN1dGU7YXRpb24gZCYjMDM5O3VuIHRhZyBpbWcsIHNwJmVhY3V0ZTtjaWZpZSBsYSB2YWxldXIgZGUgbCYjMDM5O2F0dHJpYnV0IGFsdC4gTm90ZXogcXVlLCBzaSBjZSBuJiMwMzk7ZXN0IHBhcyBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7LCB1bmUgdmFsZXVyIHNlcmEgYXV0b21hdGlxdWVtZW50IGNhbGN1bCZlYWN1dGU7ZSBwb3VyIGNldCBhdHRyaWJ1dCBkZSBzb3J0IHF1ZSBsYSBwbHVwYXJ0IGRlcyB0YWdzIGltZyBzb2llbnQgdmFsaWRlcy4gVm91cyBwb3V2ZXogaW5oaWJlciBjZSBjYWxjdWwgYXV0b21hdGlxdWUgYXZlYyBsYSBwYXJhbSZlZ3JhdmU7dHJlICZhbXA7cXVvdDtub2F1dG8mYW1wO3F1b3Q7JzsKJGxhbmdbJ3BhcmFtX2NsYXNzJ10gPSAnVXRpbGlzJmVhY3V0ZTsgbG9ycyBkZSBsYSBjciZlYWN1dGU7YXRpb24gZCYjMDM5O3VuIHRhZyA8aW1nPi4gUGVybWV0IGQmIzAzOTtham91dGVyIHVuZSBvdSBwbHVzaWV1cnMgY2xhc3NlcyBDU1MgYXUgdGFnLCBwYXIgZXhlbXBsZSA6IGNsYXNzPSZxdW90O2ZhbmN5Ym94IHRodW1ibmFpbCZxdW90Oyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfYmx1ciddID0gJyh0b3V0ZXMgdmFsZXVycykgU3AmZWFjdXRlO2NpZmlleiB1bmUgdmFsZXVyIHBvdXIgY2UgcGFyYW0mZWdyYXZlO3RyZSBwb3VyIGFqb3V0ZXIgdW4gZWZmZXQgZGUgZmxvdSBzdXIgbCYjMDM5O2ltYWdlJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9icmlnaHRuZXNzJ10gPSAnKGVudGllcikgQXVnbWVudGUgbGEgbHVtaW5vc2l0JmVhY3V0ZTsgZGUgbCYjMDM5O2ltYWdlIGcmZWFjdXRlO24mZWFjdXRlO3ImZWFjdXRlO2Ugc2Vsb24gbCYjMDM5O2VudGllciBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7JzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jb2xvcml6ZSddID0gJyhyLGcsYlssYWxwaGFdKSBJZGVudGlxdWUgJmFncmF2ZTsgJnF1b3Q7ZmlsdGVyX2dyZXlzY2FsZSZxdW90OyBzYXVmIHF1ZSB2b3VzIHBvdXZleiBzcCZlYWN1dGU7Y2lmaWVyIGxhIGNvdWxldXIgZXQgbGEgdmFsZXVyIGFscGhhICh0cmFuc3BhcmVuY2UpJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jb250cmFzdCddID0gJyhlbnRpZXIpIE1vZGlmaWUgbGUgY29udHJhc3RlIGRlIGwmIzAzOTtpbWFnZSBnJmVhY3V0ZTtuJmVhY3V0ZTtyJmVhY3V0ZTtlIHNlbG9uIGwmIzAzOTtlbnRpZXIgc3AmZWFjdXRlO2NpZmkmZWFjdXRlOyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY3JvcCddID0gJyhwb3VyY2VudGFnZVssYWxpZ25lbWVudF9ob3Jpem9udGFsLGFsaWduZW1lbnRfdmVydGljYWxdKSAtIEVmZmVjdHVlIHVuIHJlY2FkcmFnZSBzdXIgbCYjMDM5O2ltYWdlIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTtlLiBMZXMgcGFyYW0mZWdyYXZlO3RyZXMgZGUgcmVjYWRyYWdlIHNvbnQgc3AmZWFjdXRlO2NpZmkmZWFjdXRlO3Mgc291cyBmb3JtZSBkJiMwMzk7dW5lIGxpc3RlIGRlIHBhcmFtJmVncmF2ZTt0cmVzIHMmZWFjdXRlO3BhciZlYWN1dGU7cyBwYXIgdW5lIHZpcmd1bGUuIExhIHByZW1pJmVncmF2ZTtyZSB2YWxldXIgKG9ibGlnYXRvaXJlKSBlc3QgdW4gcG91cmNlbnRhZ2UgZGUgbGEgdGFpbGxlIG9yaWdpbmFsZSBkZSBsJiMwMzk7aW1hZ2UuIExlIHNlY29uZHMgcGFyYW0mZWdyYXZlO3RyZSAob3B0aW9ubmVsKSBkb2l0ICZlY2lyYzt0cmUgY2hvaXNpIHBhcm1pICYjMDM5O2wmIzAzOTssICYjMDM5O2MmIzAzOTssIG91ICYjMDM5O3ImIzAzOTsgKHJlc3BlY3RpdmVtZW50IHBvdXIgZ2F1Y2hlKGxlZnQpLCBjZW50cmUoY2VudGVyKSwgZHJvaXQocmlnaHQpKS4gTGUgdHJvaXNpJmVncmF2ZTttZSBwYXJhbSZlZ3JhdmU7dHJlIChvcHRpb25uZWwpIGRvaXQgJmVjaXJjO3RyZSBjaG9pc2kgcGFybWkgJiMwMzk7dCYjMDM5OywgJiMwMzk7YyYjMDM5Oywgb3UgJiMwMzk7YiYjMDM5OyAocmVzcGVjdGl2ZW1lbnQgcG91ciBoYXV0KHRvcCksIGNlbnRyZShjZW50ZXIpLCBiYXMoYm90dG9tKSkuIENlcyBkZXV4IGRlcm5pZXJzIHBhcmFtJmVncmF2ZTt0cmVzIHNwJmVhY3V0ZTtjaWZpZW50IGxhIHBvc2l0aW9uIGF1IHNlaW4gZGUgbCYjMDM5O2ltYWdlIG9yaWdpbmFsZSAmYWdyYXZlOyBsYXF1ZWxsZSBhcHBsaXF1ZXIgbGUgcmVjYWRyYWdlLiBlLmcuIDogY3JvcD0zMyxiLHIgcG91ciBlZmZlY3R1ZXIgdW4gcmVjYWRyYWdlIGRlIDMzJSAmYWdyYXZlOyBwYXJ0aXIgZHUgYmFzIGRyb2l0IGRlIGwmIzAzOTtpbWFnZSBvcmlnaW5hbGUuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wdG9maXQnXSA9ICcobGFyZ2V1cixoYXV0ZXVyKSAtIEVmZmVjdHVlIHVuIHJlY2FkcmFnZSBzdXIgbCYjMDM5O2ltYWdlIHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTtlIHBvdXIgZW4gYWRhcHRlciBsYSB0YWlsbGUuIENlbGEgdGVudGUgZGUgcmVkaW1lbnNpb25uZXIgbCYjMDM5O2ltYWdlICZhZ3JhdmU7IGxhIHRhaWxsZSBkJmVhY3V0ZTtzaXImZWFjdXRlO2UgZW4gZ2FyZGFudCBsZSByYXRpbyBkJiMwMzk7YXNwZWN0LCBwdWlzIHJlY2VudHJlIGwmIzAzOTtpbWFnZSByZWRpbWVuc2lvbm4mZWFjdXRlO2UuIExlcyBwYXJhbSZlZ3JhdmU7dHJlcyBzcCZlYWN1dGU7Y2lmaSZlYWN1dGU7cyBjb3JyZXNwb25kZW50ICZhZ3JhdmU7IGxhIGhhdXRldXIgZXQgbGEgbGFyZ2V1ciBkJmVhY3V0ZTtzaXImZWFjdXRlO3MgcG91ciBsJiMwMzk7aW1hZ2UgZGUgZGVzdGluYXRpb24uJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lZGdlZGV0ZWN0J10gPSAnKHRvdXRlcyB2YWxldXJzKSBBY2NlbnR1ZSBsZXMgYm9yZHMgZGUgbCYjMDM5O2ltYWdlJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lbWJvc3MnXSA9ICcodG91dGVzIHZhbGV1cnMpICZxdW90O1JlcG91c3NlJnF1b3Q7IGwmIzAzOTtpbWFnZSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfZmxpcCddID0gJyhtb2RlKSAtIEFwcGxpcXVlIHVuZSByb3RhdGlvbiAmYWdyYXZlOyBsJiMwMzk7aW1hZ2UuICAwID0gaG9yaXpvbnRhbCwgMSA9IHZlcnRpY2FsLCBldCAyID0gZGFucyBsZXMgZGV1eCBkaXJlY3Rpb25zLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfZ3JheXNjYWxlJ10gPSAnKHRvdXRlcyB2YWxldXJzKSBDb252ZXJ0aXQgbCYjMDM5O2ltYWdlIGVuIG5pdmVhdXggZGUgZ3Jpcyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbWVhbnJlbW92YWwnXSA9ICcodG91dGVzIHZhbGV1cnMpIFRlbnRlIGQmIzAzOTtham91dGVyIHVuIGVmZmV0ICZxdW90O3NrZXRjaHkmcXVvdDsnOwokbGFuZ1sncGFyYW1fZmlsdGVyX25lZ2F0ZSddID0gJyh0b3V0ZXMgdmFsZXVycykgUGFzc2UgbCYjMDM5O2ltYWdlIGVuIG4mZWFjdXRlO2dhdGlmJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9waXhlbGF0ZSddID0gJyh0YWlsbGVbLGF2YW5jJmVhY3V0ZTtdKSBQaXgmZWFjdXRlO2xpc2UgbCYjMDM5O2ltYWdlLiBTcCZlYWN1dGU7Y2lmaWV6IHVuIGVudGllciBwb3VyIGxlIHBvaWRzIGV0IHVuZSB2YWxldXIgYm9vbCZlYWN1dGU7ZW5uZSBvcHRpb25uZWxsZSAodHJ1ZS9mYWxzZSAtIGZhbHNlIHBhciBkJmVhY3V0ZTtmYXV0KSBwb3VyIHBlcm1ldHRyZSB1bmUgcGl4JmVhY3V0ZTtsaXNhdGlvbiBhdmFuYyZlYWN1dGU7ZS4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3Jlc2l6ZSddID0gJ3R5cGUsbnVtYmVyWyxudW1iZXJdIC0gUGVyZm9ybSBhIHJlc2l6ZSBvZiB0aGUgc291cmNlIGltYWdlLiAgUG9zc2libGUgdmFsdWVzIGFyZToNCjx1bD4NCiAgPGxpPnAsbnVtYmVyIC0gUGVyZm9ybSBhIHNpbXBsZSByZXNjYWxlIHRvIGEgY2VydGFpbiBwZXJjZW50YWdlLiAgaS5lOiAgcmVzaXplPXAsNTAgdG8gcmVzaXplIHRvIDUwJSBvZiB0aGUgb3JpZ2luYWwgc2l6ZS48L2xpPg0KICA8bGk+dyxudW1iZXIgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIHdpZHRoICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9dyw4MCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2l0aCBhIG1heGltdW0gd2lkdGggb2YgODAgcGl4ZWxzLjwvbGk+DQogIDxsaT5oLG51bWJlciAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgaGVpZ2h0ICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9aCw4MCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2l0aCBhIG1heGltdW0gaGVpZ2h0IG9mIDgwIHBpeGVscy48L2xpPg0KICA8bGk+Yyx4LHkgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgY3VzdG9tIHNpemUgKHdpdGhvdXQgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuICBpLmU6IHJlc2l6ZT1jLDUwLDc1IHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB0aGF0IGlzIDUweDc1IHBpeGVscy48L2xpPg0KPC91bD4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3Jlc2l6ZXRvZml0J10gPSAnKHdpZHRoLGhlaWdodFssY29sb3JbLGFscGhhXV0pIC0gUGVyZm9ybSBhIHJlc2l6ZSBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBUaGlzIGF0dGVtcHRzIHRvIHJlc2NhbGUgdGhlIGltYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplIHdoaWxlIHJlYXRpbmluZyBhc3BlY3QgcmF0aW8sIHRoZSBpbWFnZSBpcyBjZW50ZXJlZCBpbiB0aGUgYm94IHNwZWNpZmllZCAoZWl0aGVyIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGRlcGVuZGluZyB1cG9uIGFzcGVjdCByYXRpbyBhbmQgdGhlIGRlc3RpbmF0aW9uIHNpemUsIGFuZCB0aGUgaW1hZ2UgaXMgc3Vycm91bmRlZCBieSB0aGUgc3VwcGxpZWQgY29sb3IuICBDb2xvcnMgY2FuIGJlIHNwZWNpZmllZCBieSBuYW1lIChzZWUgdGhlIFgxMSBjb2xvciBuYW1lcyksIG9yIGJ5ICNubm5ubm4gaGV4YWRlY2ltYWwgZm9ybWF0LCBvciBhcyByZ2IgdmFsdWVzIHNlcGFyYXRlZCBieSBhIDogaS5lOiAgZmlsdGVyX2Nyb3B0b2ZpdD02MDAsNDAwLCNmZjAwMDAuICBUaGUgc3BlY2lhbCBjb2xvciB2YWx1ZSAmcXVvdDt0cmFuc3BhcmVudCZxdW90OyBjYW4gYmUgc3BlY2lmaWVkIHRvIGZvcmNlIHRoZSBiYWNrZ3JvdW5kIHRvIGJlIHRyYW5zcGFyZW50LiAgIEFuIGFscGhhIHZhbHVlIG1heSBiZSBzcGVjaWZpZWQgYmV0d2VlbiAwIGFuZCAxMjcgdG8gc3BlY2lmeSBkaWZmZXJlbnQgZGVncmVlcyBvZiB0cmFuc2x1Y2VuY3kgZm9yIHRoZSBiYWNrZ3JvdW5kLiAgIEF0IG5vIHRpbWUgd2lsbCB0aGlzIHBsdWdpbiBwZXJmb3JtIGFueSB1cHNjYWxpbmcuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yb3RhdGUnXSA9ICcoYW5nbGUsY291bGV1cikgU3AmZWFjdXRlO2NpZmllIGwmIzAzOTthbmdsZSAoc2VucyBkZXMgYWlndWlsbGVzIGQmIzAzOTt1bmUgbW9udHJlKSBkZSByb3RhdGlvbiBkZSBsJiMwMzk7aW1hZ2UsIGV0IGxhIGNvdWxldXIgZGUgcmVtcGxpc3NhZ2UgcG91ciBsZXMgcGl4ZWxzIHZpZGVzLiBMYSByb3RhdGlvbiBzJiMwMzk7ZWZmZWN0dWUgJmFncmF2ZTsgcGFydGlyIGR1IGNlbnRyZSBkZSBsJiMwMzk7aW1hZ2UuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yb3VuZGVkY29ybmVycyddID0gJyhyYXlvbikgU3AmZWFjdXRlO2NpZmllIHVuZSB2YWxldXIgZGUgcmF5b24gKGVuIHBpeGVscykgcG91ciBhcnJvbmRpciBsZXMgYW5nbGVzLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfd2F0ZXJtYXJrJ10gPSAnKHRvdXRlcyB2YWxldXJzKSBTcCZlYWN1dGU7Y2lmaWUgcXVlIGxlIGZpbGlncmFuZSAociZlYWN1dGU7Z2wmZWFjdXRlOyBkYW5zIGxlIG1vZHVsZSBDR0V4dGVuc2lvbnMpIGRvaXQgJmVjaXJjO3RyZSBhcHBsaXF1JmVhY3V0ZTsgJmFncmF2ZTsgbCYjMDM5O2ltYWdlJzsKJGxhbmdbJ3BhcmFtX2hlaWdodCddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCBhdHRyaWJ1dGUuICBOb3RlLCBpZiB0aGlzIGlzIG5vdCBzcGVjaWZpZWQgYSB2YWx1ZSB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgY2FsY3VsYXRlZCBmb3IgdGhpcyBhdHRyaWJ1dGUgc28gdGhhdCBtb3N0IGdlbmVyYXRlZCBpbWcgdGFncyB3aWxsIHZhbGlkYXRlLiAgWW91IGNhbiBvdmVycmlkZSB0aGlzIGF1dG8gY2FsY3VsYXRpb24gd2l0aCB0aGUgJmFtcDtxdW90O25vYXV0byZhbXA7cXVvdDsgcGFyYW1ldGVyLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBhbHNvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJmFtcDtxdW90O3dpZHRoJmFtcDtxdW90OyBwYXJhbWV0ZXIgdG8gcGVyZm9ybSBhIGZpbmFsIHJlc2l6aW5nIG9yIGNyb3B0b2ZpdCBmaWx0ZXIgKHVubGVzcyB0aGUgJmFtcDtxdW90O25vYXV0b3NjYWxlJmFtcDtxdW90OyBwYXJhbWV0ZXIgaXMgYWxzbyBzdXBwbGllZCknOwokbGFuZ1sncGFyYW1faWQnXSA9ICdVdGlsaXMmZWFjdXRlOyBsb3JzIGRlIGxhIGNyJmVhY3V0ZTthdGlvbiBkJiMwMzk7dW4gdGFnIGltZywgcGVybWV0IGRlIHNwJmVhY3V0ZTtjaWZpZXIgdW4gYXR0cmlidXQgaWQgJmFncmF2ZTsgaW5jbHVyZSBhdSB0YWcuIFBhciBleCA6IGlkPSZxdW90O21vbnRhZyZxdW90Oyc7CiRsYW5nWydwYXJhbV9tYXhfaGVpZ2h0J10gPSAnVXRpbGlzJmVhY3V0ZTsgdW5pcXVlbWVudCBhdmVjIGxhIGJhbGlzZSB7Y2dzaV9jb252ZXJ0fSwgY2UgcGFyYW0mZWdyYXZlO3RyZSBwZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciBsYSBoYXV0ZXVyIG1heC4gcG91ciBsZXMgaW1hZ2VzIGNvbnZlcnRpZXMnOwokbGFuZ1sncGFyYW1fbWF4X3dpZHRoJ10gPSAnVXRpbGlzJmVhY3V0ZTsgdW5pcXVlbWVudCBhdmVjIGxhIGJhbGlzZSB7Y2dzaV9jb252ZXJ0fSwgY2UgcGFyYW0mZWdyYXZlO3RyZSBwZXJtZXQgZGUgc3AmZWFjdXRlO2NpZmllciBsYSBsYXJnZXVyIG1heC4gcG91ciBsZXMgaW1hZ2VzIGNvbnZlcnRpZXMnOwokbGFuZ1sncGFyYW1fbmFtZSddID0gJ1V0aWxpcyZlYWN1dGU7IGxvcnMgZGUgbGEgY3ImZWFjdXRlO2F0aW9uIGR1IHRhZyBpbWcsIHNwJmVhY3V0ZTtjaWZpZSBsYSB2YWxldXIgcG91ciBsJiMwMzk7YXR0cmlidXQgbmFtZS4nOwokbGFuZ1sncGFyYW1fbm9hdXRvJ10gPSAnTmUgcGFzIGNhbGN1bGVyIGF1dG9tYXRpcXVlbWVudCBsZXMgYXR0cmlidXRzICh3aWR0aCwgaGVpZ2h0LCBhbHQpIHBvdXIgbGEgYmFsaXNlICZxdW90O2ltZyZxdW90Oy4gQ2VjaSBwZXV0IGZhaXJlIGVuIHNvcnRlIHF1ZSB2b3RyZSBjb2RlIG5lIHNvaXQgcGFzIHZhbGlkZSBzaSB2b3VzIG5lIHNwJmVhY3V0ZTtjaWZpZXogcGFzIGxlcyBhdHRyaWJ1dHMgJnF1b3Q7d2lkdGgmcXVvdDssICZxdW90O2hlaWdodCZxdW90OyBldCAmcXVvdDthbHQmcXVvdDsuJzsKJGxhbmdbJ3BhcmFtX25vYXV0b3NjYWxlJ10gPSAnU2kgbGVzIHBhcmFtJmVncmF2ZTt0cmVzIGhhdXRldXIgZXQgbGFyZ2V1ciBzb250IHNwJmVhY3V0ZTtjaWZpJmVhY3V0ZTtzLCBjZSBwYXJhbSZlZ3JhdmU7dHJlcyBkJmVhY3V0ZTtzYWN0aXZlIGxlIHJlZGltZW5zaW9ubmVtZW50IGF1dG9tYXRpcXVlIGRlIGwmIzAzOTtpbWFnZS4nOwokbGFuZ1sncGFyYW1fbm9iY2FjaGUnXSA9ICdEbyBub3QgYWxsb3cgdGhlIHJlc2l6ZWQgaW1hZ2UgdG8gY2FjaGUgaW4gdGhlIGJyb3dzZXIgKHVzZWZ1bCBmb3IgZGV2ZWxvcG1lbnQgcHVycG9zZXMpIHRoaXMgYWRkcyBhIHVuaXF1ZSBudW1iZXIgYXMgYSBwYXJhbWV0ZXIgdG8gdGhlIGltYWdlIHdoaWNoIHdpbGwgZm9yY2UgdGhlIGJyb3dzZXIgbm90IHRvIGNhY2hlIHRoZSBpbWFnZS4nOwokbGFuZ1sncGFyYW1fbm9lbWJlZCddID0gJ0ZvcmNlIGwmIzAzOTtpbWFnZSAmYWdyYXZlOyBuZSBwYXMgJmVjaXJjO3RyZSBpbnQmZWFjdXRlO2dyJmVhY3V0ZTtlIGVuY29kJmVhY3V0ZTtlIGRhbnMgbGUgY29kZSBzb3VyY2UuIEVuIGQmZWFjdXRlO3BpdCBkZSBzYSBjb25maWd1cmF0aW9uIGRhbnMgbCYjMDM5O2FkbWluLCBsZSBtb2R1bGUgdmEgZyZlYWN1dGU7biZlYWN1dGU7cmVyIHVuIGZpY2hpZXIgaW1hZ2Ugc3VyIGxlIHNlcnZldXIuJzsKJGxhbmdbJ3BhcmFtX25vdGltZWNoZWNrJ10gPSAnRGlzYWJsZSB0aW1lIGNoZWNraW5nIG9mIGNhY2hlZCBmaWxlcy4nOwokbGFuZ1sncGFyYW1fbm9yb3RhdGUnXSA9ICdOZSBwYXMgdGVudGVyIGRlIGxpcmUgbGVzIGluZm9ybWF0aW9ucyBleGlmIGRlcHVpcyBsZSBmaWNoaWVyIHBvdXIgY29ycmlnZXIgbGEgcm90YXRpb24gZGUgbCYjMDM5O2ltYWdlJzsKJGxhbmdbJ3BhcmFtX25vdGFnJ10gPSAnTmUgcGFzIGcmZWFjdXRlO24mZWFjdXRlO3JlciBkZSBiYWxpc2UgJnF1b3Q7aW1nJnF1b3Q7LCBtYWlzIHVuaXF1ZW1lbnQgbCYjMDM5O1VSTCBkZSBsJiMwMzk7aW1hZ2UgZW4gY2FjaGUuIENlY2kgbiYjMDM5O2EgYXVjdW4gZWZmZXQgcXVhbmQgQ0dTbWFydEltYWdlIGVzdCB1dGlsaXMmZWFjdXRlOyBkZXB1aXMgdW5lIGZldWlsbGUgZGUgc3R5bGVzLic7CiRsYW5nWydwYXJhbV9vdmVyd3JpdGUnXSA9ICdEJmVhY3V0ZTtzYWN0aXZlIHRvdXQgbGUgY2FjaGUgZXQgZm9yY2UgJmFncmF2ZTsgcmVjYWxjdWxlciBsZXMgZmlsdHJlcyc7CiRsYW5nWydwYXJhbV9xdWFsaXR5J10gPSAnU3AmZWFjdXRlO2NpZmllciBsYSBxdWFsaXQmZWFjdXRlOyBkZSBsJiMwMzk7aW1hZ2UgYWZmaWNoJmVhY3V0ZTtlLiAgTWV0dHJlIHVuZSB2YWxldXIgZW50cmUgMCBldCAxMDAuJzsKJGxhbmdbJ3BhcmFtX3JlbCddID0gJ1V0aWxpcyZlYWN1dGU7IGxvcnMgZGUgbGEgY3ImZWFjdXRlO2F0aW9uIGQmIzAzOTt1bmUgYmFsaXNlIGQmIzAzOTtpbWFnZSwgaWwgcGVybWV0IGRlIHNwJmVhY3V0ZTtjaWZpZXIgdW4gYXR0cmlidXQgcmVsIG9wdGlvbm5lbCAodXRpbGlzJmVhY3V0ZTsgdHlwaXF1ZW1lbnQgZGFucyBsZXMgYWxidW1zIGphdmFzY3JpcHQpLiBlLmc6IHJlbD0mcXVvdDthbGJ1bSZxdW90Oyc7CiRsYW5nWydwYXJhbV9zaWxlbnQnXSA9ICdTaWxlbnRseSBpZ25vcmUgZXJyb3JzJzsKJGxhbmdbJ3BhcmFtX3NyYyddID0gJ1NwZWNpZnkgdGhlIHNvdXJjZSBmb3IgdGhlIGltYWdlIHByb2Nlc3NpbmcgKGlmIGFueSkgb3IgdGhlIGdlbmVyYXRlZCBpbWcgdGFnLiAgTm90ZSwgdGhpcyBwYXJhbWV0ZXIgaXMgZmxleGlibGUsIGFuZCB0aGUgbW9kdWxlIHdpbGwgYXR0ZW1wdCBtYW55IG1ldGhvZHMgdG8gZmluZCB0aGUgc291cmNlIGltYWdlIGZpbGUgb24gdGhlIHdlYiBzZXJ2ZXIgYXMgZm9sbG93czoNCjx1bD4NCiAgPGxpPkZpcnN0IGxvb2sgdG8gc2VlIGlmIHRoZSBzcGVjaWZpZWQgc3JjIHZhbHVlIGV4aXN0cyBhcyBhIGZpbGUgb24gdGhlIGZpbGVzeXN0ZW0uPC9saT4NCiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgdXBsb2Fkc191cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSByb290X3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KPC91bD4NCkl0IGlzIGFsc28gcG9zc2libGUgdG8gc3BsaXQgdGhlIHNyYyBwYXJhbWV0ZXIgaW50byBtdWx0aXBsZSBhcmd1bWVudHMsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBwYXRoIHRvIHRoZSBmaWxlLCBhbmQgdGhlIGZpbGVuYW1lIGFyZSBzdG9yZWQgaW4gc2VwYXJhdGUgc21hcnR5IHZhcmlhYmxlcy4gICBZb3UgY2FuIHNwZWNpZnkgdGhlIHNyYyBhcyBzcmMxPVwkdGhlX3BhdGggc3JjMj1cJHRoZV9maWxlbmFtZS4gIFRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGFkZCBhIC8gaW4gYmV0d2VlbiBlYWNoIGFyZ3VtZW50LiAgVGhlcmUgaXMgbm8gbGltaXQgdG8gdGhlIG51bWJlciBvZiBzcmMgcGFyYW1ldGVycy4nOwokbGFuZ1sncGFyYW1fc3R5bGUnXSA9ICdVdGlsaXMmZWFjdXRlOyBwb3VyIGxhIGJhbGlzZSAmcXVvdDtpbWcmcXVvdDssIHBlcm1ldCBkZSBzcCZlYWN1dGU7Y2lmaWVyIHVuIHN0eWxlIGFsdGVybmF0aWYgcG91ciBsYSBiYWxpc2UuICBQYXIgZXggOiBzdHlsZT0mcXVvdDtib3JkZXI6IDFweCBzb2xpZCBibGFjazsmcXVvdDsnOwokbGFuZ1sncGFyYW1fdGl0bGUnXSA9ICdSZW5zZWlnbmV6IHVuIHRpdHJlIG9wdGlvbm5lbCBwb3VyIGxhIGJhbGlzZSAmcXVvdDtpbWcmcXVvdDsuICBQYXIgZXggOiB0aXRsZT0mcXVvdDtDZWNpIGVzdCB1bmUgYXN0dWNlJnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX3dpZHRoJ10gPSAnVXRpbGlzJmVhY3V0ZTsgbG9ycyBkZSBsYSBjciZlYWN1dGU7YXRpb24gZCYjMDM5O3VuZSBiYWxpc2UgJnF1b3Q7aW1nJnF1b3Q7IDogc3AmZWFjdXRlO2NpZmllIGwmIzAzOTthdHRyaWJ1dCAmcXVvdDt3aWR0aCZxdW90OyAobGFyZ2V1cikuIE5vdGUgOiBzaSBjZXR0ZSB2YWxldXIgbiYjMDM5O2VzdCBwYXMgc3AmZWFjdXRlO2NpZmkmZWFjdXRlO2UsIHVuZSB2YWxldXIgdmEgJmVjaXJjO3RyZSBhdXRvbWF0aXF1ZW1lbnQgY2FsY3VsJmVhY3V0ZTtlLiBWb3VzIHBvdXZleiBkJmVhY3V0ZTtzYWN0aXZlciBjZSBjYWxjdWwgYXV0b21hdGlxdWUgYXZlYyBsZSBwYXJhbSZlZ3JhdmU7dHJlICZxdW90O25vYXV0byZxdW90Oy4nOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNb2R1bGUgaW5zdGFsbCZlYWN1dGU7JzsKJGxhbmdbJ3Bvc3R1bmluc3RhbGwnXSA9ICdUb3V0ZXMgbGVzIGRvbm4mZWFjdXRlO2VzIHJlbGF0aXZlcyAmYWdyYXZlOyBjZSBtb2R1bGUgb250ICZlYWN1dGU7dCZlYWN1dGU7IHN1cHByaW0mZWFjdXRlO2VzJzsKJGxhbmdbJ3Byb21wdF9jcm9wdG9maXRfZGVmYXVsdF9sb2MnXSA9ICdQb3NpdGlvbiAmYWdyYXZlOyBwYXJ0aXIgZGUgbGFxdWVsbGUgcmVjYWRyZXIgOic7CiRsYW5nWydwcm9tcHRfZW1iZWRfc2l6ZWxpbWl0J10gPSAnSW50JmVhY3V0ZTtncmF0aW9uIGJhcyZlYWN1dGU7ZSBzdXIgbGUgcG9pZHMgZGUgbCYjMDM5O2ltYWdlJzsKJGxhbmdbJ3Byb21wdF9lbWJlZF9zbWFydGxpbWl0ZWQnXSA9ICdJbnQmZWFjdXRlO2dyYXRpb24gZW4gbW9kZSBTbWFydCBtYWlzIGxpbWl0ZSBsZSBwb2lkcyBkZSBsJiMwMzk7aW1hZ2UnOwokbGFuZ1sncHJvbXB0X2VtYmVkX3R5cGUnXSA9ICdJbnQmZWFjdXRlO2dyYXRpb24gYmFzJmVhY3V0ZTtlIHN1ciBsZSB0eXBlIGRlIGwmIzAzOTtpbWFnZSc7CiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbWxlZnQnXSA9ICdFbiBiYXMgJmFncmF2ZTsgZ2F1Y2hlIChiZyknOwokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21jZW50ZXInXSA9ICdFbiBiYXMgYXUgY2VudHJlIChiYyknOwokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21yaWdodCddID0gJ0VuIGJhcyAmYWdyYXZlOyBkcm9pdGUgKGJkKSc7CiRsYW5nWydwcm9tcHRfbG9jX2NlbnRlcmxlZnQnXSA9ICdBdSBjZW50cmUgJmFncmF2ZTsgZ2F1Y2hlIChjZyknOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXInXSA9ICdBdSBjZW50cmUnOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJyaWdodCddID0gJ0F1IGNlbnRyZSAmYWdyYXZlOyBkcm9pdGUgKGNkKSc7CiRsYW5nWydwcm9tcHRfbG9jX3RvcGxlZnQnXSA9ICdFbiBoYXV0ICZhZ3JhdmU7IGdhdWNoZSAoaGcpJzsKJGxhbmdbJ3Byb21wdF9sb2NfdG9wY2VudGVyJ10gPSAnRW4gaGF1dCBhdSBjZW50cmUgKGhjKSc7CiRsYW5nWydwcm9tcHRfbG9jX3RvcHJpZ2h0J10gPSAnRW4gaGF1dCAmYWdyYXZlOyBkcm9pdGUgKGhkKSc7CiRsYW5nWydyZXNpemluZyddID0gJ1JlZGltZW5zaW9ubmVtZW50JzsKJGxhbmdbJ3NtYXJ0J10gPSAnU21hcnQgJzsKJGxhbmdbJ3N1Ym1pdCddID0gJ0Vudm95ZXInOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My43Njc2OTEyMzMuMTMzMjAyMTgzNC4xMzMyMDIxODM0LjEzMzIwMjE4MzQuMSc7CiRsYW5nWyd1dG16J10gPSAnMTU2ODYxMzUzLjEzMzIwMjE4MzQuMS4xLnV0bWNjbj0ocmVmZXJyYWwpfHV0bWNzcj1kZXYuY21zbWFkZXNpbXBsZS5vcmd8dXRtY2N0PS98dXRtY21kPXJlZmVycmFsJzsKJGxhbmdbJ3FjYSddID0gJzRhM2QxYjQxLTVlYjM2LWM5NTcwLWY0OWVhJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/lang/ext/index.html</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PCEtLSBkdW1teSAtLT4K]]></data>
	</file>
	<file>
	  <filename>/lang/ext/it_IT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdF9jYWNoZWNsZWFuZWQnXSA9ICdDYWNoZSBQdWxpdGEnOwokbGFuZ1snYWRkX3JvdyddID0gJ0FnZ2l1bmdpIHJpZ2EnOwokbGFuZ1snYWxpYXMnXSA9ICdBbGlhcyc7CiRsYW5nWydhbGlhc2VzJ10gPSAnQWxpYXMnOwokbGFuZ1snYXNrX2NsZWFyX2ltYWdlX2NhY2hlJ10gPSAnU2ljdXJvIGRpIHZvbGVyIHJpbXVvdmVyZSBUVVRUSSBpIGZpbGUgZGFsbGEgY2FjaGUgZGVsbGUgaW1tYWdpbmk/JzsKJGxhbmdbJ2NsZWFyX2FsbCddID0gJ0VsaW1pbmEgVHV0dGkgaSBGaWxlJzsKJGxhbmdbJ2NsZWFyX25vdyddID0gJ0VsaW1pbmEgT3JhJzsKJGxhbmdbJ2RlbGV0ZSddID0gJ0NhbmNlbGxhJzsKJGxhbmdbJ2VtYmVkZGluZyddID0gJ0ltbWFnaW5pIGluY29ycG9yYXRlJzsKJGxhbmdbJ2VtYmVkZGluZ19tb2RlJ10gPSAnTW9kYWxpdCZhZ3JhdmU7IEluY29ycG9yYXppb25lIEltbWFnaW5lJzsKJGxhbmdbJ2VtYmVkX3NpemVsaW1pdCddID0gJ0xpbWl0ZSBkaSBncmFuZGV6emEgcGVyIGwmIzAzOTtpbW1hZ2luZSBpbmNvcnBvcmFiaWxlIChrYiknOwokbGFuZ1snZW1iZWRfdHlwZXMnXSA9ICdUaXBvIGRpIGltbWFnaW5lIGluY29ycG9yYWJpbGUnOwokbGFuZ1snZXJyb3JfYWxpYXNfZHVwbGljYXRlbmFtZV9hdHJvdyddID0gJ0R1cGxpY2EgaWwgbm9tZSBhbGlhcyBzcGVjaWZpY2F0byBwZXIgbCYjMDM5O2FsaWFzIGFsbGEgcmlnYSAlZCc7CiRsYW5nWydlcnJvcl9hbGlhc19ub25hbWVfYXRyb3cnXSA9ICdOZXNzdW4gbm9tZSBzcGVjaWZpY2F0byBwZXIgbCYjMDM5O2FsaWFzIGFsbGEgcmlnYSAlZCc7CiRsYW5nWydlcnJvcl9hbGlhc19ub29wdGlvbnNfYXRyb3cnXSA9ICdOZXNzdW5hIG9wemlvbmUgc3BlY2lmaWNhdGEgcGVyIGwmIzAzOTthbGlhcyBhbGxhIHJpZ2EgJWQnOwokbGFuZ1snZXJyb3JfaW52YWxpZF9hZ2UnXSA9ICdFdCZhZ3JhdmU7IHByZWZlcmVuemEgbm9uIHZhbGlkbyAuLi4gTmVzc3VuYSBvcGVyYXppb25lIGVzZWd1aXRhJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1VuIHBhcmFtZXRybyByaWNoaWVzdG8gbWFuY2EgbyBub24gJmVncmF2ZTsgdmFsaWRvOiAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW0nXSA9ICdQYXJhbWV0cm8gbm9uIHZhbGlkbyBuZWxsYSBjaGlhbWF0YTogJXMnOwokbGFuZ1snZXJyb3Jfc3Jjbm90Zm91bmQnXSA9ICdJbXBvc3NpYmlsZSB0cm92YXJlIHVuIGZpbGUgaW46ICVzJzsKJGxhbmdbJ2Vycm9yX3JlbW90ZWZpbGUnXSA9ICdQcm9ibGVtYSByZWN1cGVybyBmaWxlIHJlbW90byBpbiAlcyc7CiRsYW5nWydlcnJvcl91bmtub3duZmlsdGVyJ10gPSAnQ0dTbWFydEltYWdlIC0gRmlsdHJvIFNjb25vc2NpdXRvOiAlcyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXlzIFNtYXJ0IEltYWdlIFRvb2xraXQnOwokbGFuZ1snZ2VuZXJhbCddID0gJ0dlbmVyYWxlJzsKJGxhbmdbJ2hlbHAnXSA9ICc8aDM+Q29zYSBmYT88L2gzPg0KPHA+UXVlc3RvIG1vZHVsbyBmYWNpbGl0YSBsJiMwMzk7ZWxhYm9yYXppb25lIGUgbGEgdmlzdWFsaXp6YXppb25lIGRlbGxlIGltbWFnaW5pIG5lbCB0dW8gc2l0byB3ZWIuIFBlcm1ldHRlIHVuYSBzZW1wbGljZSBlbGFib3JhemlvbmUgZGVsbCYjMDM5O2ltbWFnaW5lLCBlIGwmIzAzOTthZ2dpdW50YSBkaSBmaWxpZ3JhbmEuIFF1ZXN0byBtb2R1bG8gcmVuZGUgYmFuYWxlIGlsIHByb2Nlc3NvIGRpIHZpc3VhbGl6emF6aW9uZSBkZWxsZSBpbW1hZ2luaSBuZWwgdHVvIHNpdG8uIElub2x0cmUgZm9ybmlzY2UgZnVuemlvbmFsaXQmYWdyYXZlOyBwZXIgbWlnbGlvcmFyZSBsYSB2YWx1dGF6aW9uZSBkZWxsZSBwcmVzdGF6aW9uaSBkZWwgdHVvIHNpdG8gd2ViLCByZW5kZW5kb2xvIHBvdGVudGUgZSB2ZWxvY2UgYWwgdGVtcG8gc3Rlc3NvLjwvcD4NCjxoMz5DYXJhdHRlcmlzdGljaGU8L2gzPg0KPHVsPg0KPGxpPkVsYWJvcmF6aW9uZSBlIGZpbHRyYWdnaW8gZGVsbGUgaW1tYWdpbmkgcG90ZW50aSBtYSBzZW1wbGljaSBkYSB1c2FyZS4gSWwgZmlsdHJhZ2dpbyBjb21wcmVuZGU6DQogIDx1bD4NCiAgICA8bGk+U2ZvY2F0dXJhPC9saT4NCiAgICA8bGk+THVtaW5vc2l0JmFncmF2ZTs8L2xpPg0KICAgIDxsaT5Db2xvcmF6aW9uZTwvbGk+DQogICAgPGxpPkNvbnRyYXN0bzwvbGk+DQogICAgPGxpPlJpdGFnbGlvPC9saT4NCiAgICA8bGk+PHN0cm9uZz5SaXRhZ2xpbyBlIGFkYXR0YW1lbnRvPC9zdHJvbmc+PC9saT4NCiAgICA8bGk+UmlsZXZhbWVudG8gZGVpIGJvcmRpPC9saT4NCiAgICA8bGk+UmlsaWV2bzwvbGk+IA0KICAgIDxsaT5TY2FsYSBkaSBncmlnaTwvbGk+DQogICAgPGxpPlJpbW96aW9uZSBtZWRpYTwvbGk+DQogICAgPGxpPk5lZ2F0aXZvPC9saT4NCiAgICA8bGk+RWZmZXR0byBwaXhlbDwvbGk+DQogICAgPGxpPlJpZGltZW5zaW9uYW1lbnRvPC9saT4NCiAgICA8bGk+Um90YXppb25lPC9saT4NCiAgICA8bGk+U2ZvY2F0dXJhIHNlbGV0dGl2YTwvbGk+DQogICAgPGxpPlNtdXNzYW1lbnRvPC9saT4NCiAgICA8bGk+RmlsaWdyYW5hPC9saT4NCiAgPC91bD4NCjwvbGk+PGJyLz4NCjxsaT5SaWxldmFtZW50byBpbnRlbGxpZ2VudGUgZGkgaW1tYWdpbmkuIFNwZWNpZmljYXJlIFVSTCBhc3NvbHV0aSwgcGVyY29yc2kgYXNzb2x1dGkgbyByZWxhdGl2aSBhaSBmaWxlIG5lbGxhIGNhcnRlbGxhIHByaW5jaXBhbGUgZGVsIHNpdG8uPC9saT4NCjxsaT5TY2FyaWNhbWVudG8gYXV0b21hdGljbywgbWVtb3JpenphemlvbmUgaW4gY2FjaGUsIGVsYWJvcmF6aW9uZSwgZSByaW1lbW9yaXp6YXppb25lIGluIGNhY2hlIGRpIGltbWFnaW5pIGRpIHNpdGkgcmVtb3RpLjwvbGk+DQo8bGk+UmlkaW1lbnNpb25hbWVudG8gaW50ZWxsaWdlbnRlIGF1dG9tYXRpY28gKHJpZGltZW5zaW9uYSBhdXRvbWF0aWNhbWVudGUgYWxsYSBsYXJnaGV6emEgZWQgYWx0ZXp6YSBkZXNpZGVyYXRlIHByaW1hIGRpIHNlcnZpcmUgbCYjMDM5O2ltbWFnaW5lLi4uIHJpZGltZW5zaW9uYW5kbyBhIGxhcmdoZXp6YSBFIGFsdGV6emEgcHJvdm9jYSB1biByaXRhZ2xpbyBhZGF0dGF0bykuIDxlbT4oQmFzdGEgc3BlY2lmaWNhcmUgdW4gcGFyYW1ldHJvIHBlciBsYSBsYXJnaGV6emEgZS9vIHVubyBwZXIgbCYjMDM5O2FsdGV6emEgbmVsIHRhZyBDR1NtYXJ0SW1hZ2UpLjwvZW0+PC9saT4NCjxsaT5MZWdnZSBhdXRvbWF0aWNhbWVudGUgbGUgaW5mb3JtYXppb25pIEVYSUYgZGVsbCYjMDM5O2ltbWFnaW5lIGUgY29ycmVnZ2UgbCYjMDM5O29yaWVudGFtZW50by48L2xpPg0KPGxpPlJpbGV2YW1lbnRvIGRlbCBjYW1iaWFtZW50byBkZWxsJiMwMzk7aW1tYWdpbmUsIHNlIGwmIzAzOTtpbW1hZ2luZSBwcmluY2lwYWxlICZlZ3JhdmU7IGNhbWJpYXRhIHZlcnJhbm5vIGdlbmVyYXRlIGltbWFnaW5pIHNjYWxhdGUuIChwZXIgZGlzYWJpbGl0YXJlIHF1ZXN0byBjb21wb3J0YW1lbnRvLCB2ZWRpIGlsIHBhcmFtZXRybyBub3RpbWVjaGVjaykuPC9saT4NCjxsaT5HZW5lcmF6aW9uZSBpbnRlbGxpZ2VudGUgYXV0b21hdGljYSBkZWdsaSBhdHRyaWJ1dGkgZGVsbGUgaW1tYWdpbmkuPC9saT4NCjxsaT5MZSBpbW1hZ2luaSBlbGFib3JhdGUgdmVuZ29ubyBtZW1vcml6emF0ZSBuZWxsYSBjYWNoZSBkZWwgc2VydmVyIHBlciB2ZWxvY2l6emFybmUgbGEgZnJ1aXppb25lLjwvbEk+DQo8bGk+UG9zc2liaWxpdCZhZ3JhdmU7IGRpIHV0aWxpenphcmUgdW4gVVJMIHNlcGFyYXRvIChDRE4pIHBlciBzZXJ2aXJlIGxlIGltbWFnaW5pPC9saT4NCjxsaT5MZSBlbGFib3JhemlvbmkgZGVsbCYjMDM5O2ltbWFnaW5lIHBvc3Nvbm8gZXNzZXJlIGNvbWJpbmF0ZSBlIHZlbmdvbm8gZXNlZ3VpdGUgaW4gb3JkaW5lLjwvbGk+DQo8bGk+T2ZmcmUgbGEgcG9zc2liaWxpdCZhZ3JhdmU7IGRpIGluc2VyaXJlIGxlIGltbWFnaW5pIGRpcmV0dGFtZW50ZSBuZWwgY29udGVudXRvIGRlbGxhIHBhZ2luYSB3ZWIsIHBlciBtaW5pbWl6emFyZSBsbyBzcGF6aW8uPC9saT4NCjxsaT5Gb3JuaXNjZSBsYSBjYXBhY2l0JmFncmF2ZTsgZGkgbGltaXRhcmUgZWxlZ2FudGVtZW50ZSBsJiMwMzk7aW5jbHVzaW9uZSBkZWxsZSBpbW1hZ2luaSwgc29sbyBwZXIgcXVlaSBicm93c2VyIGluIGdyYWRvIGRpIGdlc3RpcmxlLjwvbGk+DQo8bGk+Q29tYmluYSBnbGkgYXJnb21lbnRpIGNvbXVuZW1lbnRlIHVzYXRpIGluIGFsaWFzIGRlbm9taW5hdGkuPC9saT4NCjxsaT5GdW56aW9uYSBhbmNoZSBuZWkgZm9sZ2kgZGkgc3RpbGUgY29uIGlsIHRhZyB7Y21zX3N0eWxlc2hlZXR9LjwvbGk+DQo8bGk+UG9zc2liaWxpdCZhZ3JhdmU7IGRpIGVsYWJvcmFyZSBhdXRvbWF0aWNhbWVudGUgbGUgaW1tYWdpbmkgYWxsJiMwMzk7aW50ZXJubyBkaSB1biBibG9jY28gaHRtbCB1c2FuZG8gaWwgdGFnIHBlciBpIGJsb2NjaGkge2Nnc2lfY29udmVydH0uPC9saT4NCjxsaT5BbHRyby4uLjwvbGk+DQo8L3VsPg0KPGgzPlBlcmNoJmVhY3V0ZTsgdXNhcmxvPzwvaDM+DQo8cD5DaSBzb25vIHF1YXR0cm8gbW90aXZpIG1vbHRvIGltcG9ydGFudGkgcGVyIHV0aWxpenphcmUgcXVlc3RvIHBsdWdpbjo8L3A+DQo8dWw+DQogIDxsaT5QcmVzdGF6aW9uaTogbCYjMDM5O3V0aWxpenpvIGRlbGxhIGluY29ycG9yYW1lbnRvIGRlbGxlIGltbWFnaW5pIChhbmNoZSBub24gdXNhbmRvIGFsdHJlIGZ1bnppb25pKSBzaSB0cmFkdWNlIGluIHVuIG1pbm9yIG51bWVybyBkaSByaWNoaWVzdGUpLiBMYSBtYWdnaW9yIHBhcnRlIGRlaSBicm93c2VyIGVmZmV0dHVhIGRhbGxlIGR1ZSBhbGxlIHF1YXR0cm8gcmljaGllc3RlIHNpbXVsdGFuZWUgcGVyIHZvbHRhIHZlcnNvIGxvIHN0ZXNzbyBkb21pbmlvLiBRdWVzdG8gcHUmb2dyYXZlOyByYWxsZW50YXJlIHNlcmlhbWVudGUgcGFnaW5lIHdlYiBjb24gdW4gYWx0byBudW1lcm8gZGkgaW1tYWdpbmkuPC9saT4NCiAgPGxpPlByZXN0YXppb25pOiBhbmNoZSBub24gdXNhbmRvIGwmIzAzOTtpbmNvcnBvcmFtZW50bywgbCYjMDM5O2ludmlvIGRpIGdyYW5kaSBpbW1hZ2luaSBhaSB0dW9pIHZpc2l0YXRvcmksIGNoaWVkZW5kbyBhaSBsb3JvIGJyb3dzZXIgZGkgc2NhbGFybGUsICZlZ3JhdmU7IG1vbHRvIG1vbHRvIGxlbnRvLjwvbGk+DQogIDxsaT5TaWN1cmV6emE6IENHU21hcnRJbWFnZSBtZW1vcml6emEgaW4gY2FjaGUgbGUgcHJvcHJpZSBpbW1hZ2luaSBpbiB1bmEgY2FydGVsbGEgc2VwYXJhdGEsIG5hY29uZGVuZG8gcXVpbmRpIGFnbGkgdXRlbnRpIGxlIGltbWFnaW5pIG9yaWdpbmFsaSAobWFnYXJpIHByb3RldHRvIGRhIGNvcHlyaWdodCkuIFNlIHZpZW5lIHVzYXRvIGwmIzAzOTtpbmNvcnBvcmFtZW50byBub24gcG90cmFubm8gdHJvdmFyZSBsYSBwb3NpemlvbmUgb3JpZ2luYWxlIGRlbGwmIzAzOTtpbW1hZ2luZTwvbGk+DQogIDxsaT5TZW1wbGljaXQmYWdyYXZlOzogbGUgY2FwYWNpdCZhZ3JhdmU7IGRpIGZpbHRyYWdnaW8gZGkgQ0dTbWFydEltYWdlIHBlcm1ldHRvbm8gZGkgZWxhYm9yYXJlIGF1dG9tYXRpY2FtZW50ZSBsZSBpbW1hZ2luaSBwZXIgdW5hIGxvcm8gdmlzdWFsaXp6YXppb25lIGFybW9uaW9zYSBlIHNpY3VyYSwgc2VuemEgY2hlIGdsaSBlZGl0b3JpIGRlbCBzaXRvIGRlYmJhbm8gbW9kaWZpY2FybGUuIFBvc3Nvbm8gY2FyaWNhcmUgaW1tYWdpbmkgcGkmdWdyYXZlOyBncmFuZGksIGVkIGlsIHR1byBzaXRvIGxlIHRyYXR0ZXImYWdyYXZlOyBpbiBtb2RvIGFwcHJvcHJpYXRvLjwvbGk+DQo8L3VsPg0KPGgzPkNvbWUgc2kgdXNhPzwvaDM+DQo8cD5JbCBtb2RvIHBpJnVncmF2ZTsgc2VtcGxpY2UgZGkgdXNhcmUgcXVlc3RvIG1vZHVsbyAmZWdyYXZlOyBkaSBjb2xsb2NhcmxvIG5lbGxvIHN0ZXNzbyBwb3N0byBpbiBjdWkgYXZyZXN0aSBjb2xsb2NhdG8gaWwgdGFnIHtpbWFnZX0uICBBZCBlc2VtcGlvOiBxdWFsY29zYSBkaSBzaW1pbGUgYSA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e0NHU21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTt9PC9jb2RlPi4gUXVlc3RvIGdlbmVyZXImYWdyYXZlOyBpbCB0YWcgaW1tYWdpbmUgc2VuemEgYWxjdW5hIGVsYWJvcmF6aW9uZS4gRSwgc2UgcG9zc2liaWxlLCBpbmNvcnBvcmVyJmFncmF2ZTsgbCYjMDM5O2ltbWFnaW5lIGRpcmV0dGFtZW50ZSBuZWxsJiMwMzk7b3V0cHV0IGh0bWwuPC9wPg0KPHA+U3Blc3NvIHNpIHZ1b2xlIGFwcGxpY2FyZSB1bmEgZmlsaWdyYW5hIGFsbGUgaW1tYWdpbmkgdmlzdWFsaXp6YXRlIG5lbCBmcm9udGVuZCBwZXIgZXZpdGFybmUgaWwgZnVydG8uIElsIG1vZHVsbyBDR0V4dGVuc2lvbnMgcGVybWV0dGUgZm9ybmlzY2UgaW1wb3N0YXppb25pIGRpIGNvbmZpZ3VyYXppb25lIGRlbGxlIGZpbGlncmFuZSBjaGUgcG9zc29ubyBlc3NlcmUgYWJpbGl0YXRlIHBlciBxdWFsc2lhc2kgaW1tYWdpbmUgY29uIHVuIHRhZyBzaW1pbGUgYSBxdWVzdG86IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Q0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyYjMDM5OyBmaWx0ZXJfd2F0ZXJtYXJrPTF9PC9jb2RlPi4gUXVlc3RvIHByb3ZvY2hlciZhZ3JhdmU7IGxhIGxldHR1cmEgZGVsbCYjMDM5O2ltbWFnaW5lLCBsJiMwMzk7YXBwbGljYXppb25lIGRlbGxhIGZpbGlncmFuYSBzZWNvbmRvIGxlIGltcG9zdGF6aW9uaSBkaSBDR0V4dGVuc2lvbnMsIGxhIG1lbW9yaXp6YXppb25lIGluIGNhY2hlIGRlbGwmIzAzOTtpbW1hZ2luZSBhbHRlcmF0YSwgcXVpbmRpIGlsIHN1byBpbmNvcnBvcmFtZW50byBuZWwgdHVvIG91dHB1dDwvcD4NCjxwPkUgYW5jb3JhLCBmb3RvZ3JhZmllIHJpcHJlc2UgZGFsbGUgbW9kZXJuZSBtYWNjaGluZSBmb3RvZ3JhZmljaGUgZGlnaXRhbGkgc29ubyBzcGVzc28gdHJvcHBvIGdyYW5kaSBwZXIgcG90ZXIgZXNzZXJlIHV0aWxpenphdGUgaW4gdW4gc2l0byB3ZWIsIHF1aW5kaSBkZXZvbm8gZXNzZXJlIHNjYWxhdGUgcHJpbWEgZGkgZXNzZXJlIHZpc3VhbGl6emF0ZSBuZWxsYSBwYWdpbmEgd2ViLiBRdWVzdG8gc2kgcHUmb2dyYXZlOyBmYXJlIGFiYmFzdGFuemEgZmFjaWxtZW50ZSBjb24gdW4gdGFnIGNvbWU6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Q0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyYjMDM5OyBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTt3LDM1MCYjMDM5O308L2NvZGU+LiAgQ29tZSBzaSBwdSZvZ3JhdmU7IGltbWFnaW5hcmUsIGxhIGZpbGlncmFuYSB2aWVuZSBhcHBsaWNhdGEgYWxsJiMwMzk7aW1tYWdpbmUgcHJpbWEgY2hlIHF1ZXN0YSB2ZW5nYSBzY2FsYXRhIGFkIHVuYSBsYXJnaGV6emEgbWFzc2ltYSBkaSAzMDAgcGl4ZWwgKG1hbnRlbmVuZG8gbGUgcHJvcG9yemlvbmkpLiBRdWluZGkgbCYjMDM5O2ltbWFnaW5lIGFkYXR0YXRhIHZlcnImYWdyYXZlOyBtZW1vcml6emF0YSBpbiBjYWNoZSwgZSBzZSBpbCBicm93c2VyIGxvIHBlcm1ldHRlIGwmIzAzOTtpbW1hZ2luZSB2ZXJyJmFncmF2ZTsgaW5jb3Jwb3JhdGEgbmVsbCYjMDM5O291dHB1dCBIVE1MLiBTZSBsJiMwMzk7aW5jb3Jwb3JhbWVudG8gbm9uICZlZ3JhdmU7IHBvc3NpYmlsZSwgaWwgdGFnIGltZyBjb250ZXJyJmFncmF2ZTsgbCYjMDM5O1VSTCBhbGwmIzAzOTtpbW1hZ2luZSBuZWxsYSBjYWNoZS48L3A+DQo8cD5PcmEgcHVvaSBjb21iaW5hcmUgdHJhIGxvcm8gbGUgb3B6aW9uaSBxdWkgc290dG8gcGVyIG90dGVuZXJlIG1vbHRpIGVmZmV0dGkgZGlmZmVyZW50aSBzdWxsZSB0dWUgaW1tYWdpbmksIHJlYWxpenphcmUgc2VtcGxpY2kgZ2FsbGVyaWUsIGVkIGFsbG8gc3Rlc3NvIHRlbXBvIG1pZ2xpb3JhcmUgbGUgcHJlc3RhemlvbmkgZGVsIHR1byBzaXRvLiBEaXZlcnRpdGkhPC9wPg0KPGgzPlJpZGltZW5zaW9uYW1lbnRvIGltbWFnaW5lIGF1dG9tYXRpY288L2gzPg0KICA8cD5TZSBzaSBzcGVjaWZpY2EgdW4gcGFyYW1ldHJvIHBlciBsYSBsYXJnaGV6emEsIGUvbyBwZXIgbCYjMDM5O2FsdGV6emEsIGUgbm9uIHNpIHNwZWNpZmljYSBpbCBwYXJhbWV0cm8gJnF1b3Q7bm9hdXRvc2NhbGUmcXVvdDssIGlsIG1vZHVsbyBhbmFsaXp6YXImYWdyYXZlOyBpIGZpbHRyaSBjaGUgaGFpIGFwcGVuYSBzcGVjaWZpY2F0bywgZSBzZSBhbmNvcmEgbm9uIGMmIzAzOTsmZWdyYXZlOyBuZXNzdW4gZmlsdHJvIGRpIHJpZGltZW5zaW9uYW1lbnRvLCBhZ2dpdW5nZSBhdXRvbWF0aWNhbWVudGUgdW4gZmlsdHJvIHBlciByaWRpbWVuc2lvbmFyZSBvIHJpdGFnbGlhcmUgYWRhdHRhbmRvbGEgbCYjMDM5O2ltbWFnaW5lIG5lbGwmIzAzOTtvdXRwdXQuIFF1ZXN0byAmZWdyYXZlOyB1dGlsZSBwZXIgZ2VuZXJhcmUgYXV0b21hdGljYW1lbnRlIGxlIG1pbmlhdHVyZSBzdWwgc2VydmVyLCBldml0YW5kbyBhbCBicm93c2VyIGRpIHJpZGltZW5zaW9uYXJlIGwmIzAzOTtpbW1hZ2luZS48L3A+DQogPGgzPlVuYSBTZW1wbGljZSBHYWxsZXJpYTwvaDM+DQo8cD5JbCBjb2RpY2Ugc290dG9zdGFudGUgdXRpbGl6emEgaWwgbW9kdWxvIHtDR1NtYXJ0SW1hZ2V9LCBmYW5jeWJveCwgZSB1biBwbyYjMDM5OyBkaSB0cnVjY2hpIHNtYXJ0eSBwZXIgZ2VuZXJhcmUgdW4gc2VtcGxpY2UgYWxidW0gbGlnaHRib3ggZGEgdW5hIHNvdHRvY2FydGVsbGEgZGVsIHNpdG8gd2ViLCBlbGFib3JhbmRvIGNvbnRlbXBvcmFuZWFtZW50ZSBsZSBpbW1hZ2luaSBzZWNvbmRvIGdsaSBzdGFuZGFyZCB3ZWIsIGUgY3JlYW5kbyBsZSBtaW5pYXR1cmUuPC9wPg0KPHByZSBzdHlsZT0mcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsmcXVvdDs+PGNvZGU+PHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDE6PC9zcGFuPiA8c2NyaXB0IHR5cGU9JnF1b3Q7dGV4dC9qYXZhc2NyaXB0JnF1b3Q7PntsaXRlcmFsfQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDI6PC9zcGFuPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMzo8L3NwYW4+ICBqUXVlcnkoJiMwMzk7YS5mYW5jeWJveCYjMDM5OykuZmFuY3lib3goKTsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA0Ojwvc3Bhbj4gfSk7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNTo8L3NwYW4+IHsvbGl0ZXJhbH08L3NjcmlwdD4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA2Ojwvc3Bhbj4ge2Fzc2lnbiB2YXI9JiMwMzk7ZmlsZXMmIzAzOTsgdmFsdWU9JiMwMzk7dXBsb2Fkcy9hbGJ1bS8qLmpwZyYjMDM5O3xnbG9ifQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDc6PC9zcGFuPiB7aWYgY291bnQoJGZpbGVzKX0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA4Ojwvc3Bhbj4gPGRpdiBzdHlsZT0mcXVvdDt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxNTBweDsgb3ZlcmZsb3c6IGF1dG87JnF1b3Q7Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDk6PC9zcGFuPiB7Zm9yZWFjaCBmcm9tPSRmaWxlcyBpdGVtPSYjMDM5O2ZpbGUmIzAzOTt9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMDo8L3NwYW4+ICA8YSByZWw9JiMwMzk7c2ltcGxlX2FsYnVtJiMwMzk7IGNsYXNzPSJmYW5jeWJveCIgaHJlZj0iPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+e0NHU21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTtoLDUwMCYjMDM5OyBub3RhZz0xIG5vZW1iZWQ9MX08L3NwYW4+JnF1b3Q7Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTE6PC9zcGFuPiAgPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSYjMDM5O2gsMTUwJiMwMzk7fTwvc3Bhbj4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjEyOjwvc3Bhbj4gIDwvYT4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjEzOjwvc3Bhbj4gey9mb3JlYWNofQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTQ6PC9zcGFuPiA8L2Rpdj4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjE1Ojwvc3Bhbj4gey9pZn0NCjwvY29kZT48L3ByZT48YnIvPg0KPHA+RXNhbWluaWFtb2xvLjwvcD4NCjxwPkxlIHJpZ2hlIGRhbGxhIDEgYWxsYSA1IHVzYW5vIGpRdWVyeSBwZXIgY2FyaWNhcmUgZmFuY3lib3ggbWVkaWFudGUgb2duaSBsaW5rIGNvbiBjbGFzc2UgJnF1b3Q7ZmFuY3lib3gmcXVvdDsuIElsIHBsdWdpbiBmYW5jeWJveCBkaSBqUXVlcnkgJmVncmF2ZTsgaW5jbHVzbyBuZWwgbW9kdWxvIEpRdWVyeVRvb2xzLjwvcD4NCjxwPkxhIHJpZ2EgNiB1c2EgdW5hIGZ1bnppb25lIHByb3ByaWEgZGkgcGhwIGNoaWFtYXRhIGdsb2IsIGVkIGFsY3VuaSB0cnVjY2hpIHNtYXJ0eSBwZXIgdHJvdmFyZSB0dXR0aSBpIGZpbGUgSlBHIG5lbGxhIGNhcnRlbGxhIHVwbG9hZHMvYWxidW0gc290dG8gbGEgY2FydGVsbGEgcHJpbmNpcGFsZSBkZWwgc2l0by48L3A+DQo8cD5MYSByaWdhIDcgZWZmZXR0dWEgdW4gdGVzdCBwZXIgdmVkZXJlIHNlIHNvbm8gc3RhdGkgZWZmZXR0aXZhbWVudGUgdHJvdmF0aSB0dXR0aSBpIGZpbGUgbmVsbGEgbGluZWEgZGkgYXNzZWduYXppb25lIGRpIGN1aSBzb3ByYS4gUXVlc3RhIGlzdHJ1emlvbmUgaWYgc2kgY2hpdWRlIGFsbGEgcmlnYSAxNS48L3A+DQo8cD5MYSByaWdhIDggY3JlYSB1biBkaXYgcGVyIGNvbnRlbmVyZSBpbCBub3N0cm8gYWxidW0uIFBlciBnbGkgc2NvcGkgZGkgcXVlc3RvIGVzZW1waW8gZ2xpIHN0aWxpIHNvbm8gc3RhdGkgaW5jbHVzaSBpbmxpbmUsIG1hIGluIHVuIGFtYmllbnRlIGRpIHByb2R1emlvbmUgc2kgZG92cmViYmUgdXNhcmUgdW5hIGNsYXNzZSBkZWZpbml0YSBuZWwgZm9nbGlvIGRpIHN0aWxlLiBJbCB0YWcgZGkgY2hpdXN1cmEgZGkgcXVlc3RvIGRpdiAmZWdyYXZlOyBhbGxhIHJpZ2EgMTQsIGFwcGVuYSBwcmltYSBkaSA8Y29kZT57L2lmfTwvY29kZT4uPC9wPg0KPHA+TGEgcmlnYSA5IGluaXppYSB1biBjaWNsbyBzdSB0dXR0aSBpIGZpbGUgdHJvdmF0aSBuZWxsYSBjYXJ0ZWxsYS4gUXVlc3RvIGNpY2xvIHNpIGNoaXVkZSBhbGxhIHJpZ2EgMTMuPC9wPjxici8+DQo8cD5MZSByaWdoZSAxMCBlIDExIGZhbm5vIGlsIHZlcm8gcHJvZGlnaW8uIFF1aSB2aWVuZSBjcmVhdG8gdW4gbGluayBjb24gY2xhc3NlICZxdW90O2ZhbmN5Ym94JnF1b3Q7IGUgdmllbmUgYWdnaXVudG8gbCYjMDM5O2F0dHJpYnV0byA8Y29kZT5yZWw8L2NvZGU+IGluIG1vZG8gY2hlIGZhbmN5Ym94IHNhcHBpYSBjaGUgdHV0dGUgcXVlc3RlIGltbWFnaW5pIGRvdnJhbm5vIGVzc2VyZSByYWdncnVwcGF0ZSBpbnNpZW1lIGNvbWUgdW4gc2luZ29sbyBhbGJ1bSBlIG5lIHBlcm1ldHRhIGxvIHNjb3JyaW1lbnRvIGNvbiBpbCBjbGljayBkZWwgbW91c2UuIFF1aW5kaSwgdmllbmUgbGEgcGFydGUgaW4gY3VpIGRlZmluaWFtbyBsZSBub3N0cmUgaW1tYWdpbmkuPC9wPg0KPHA+Rm9ybmlhbW8gbGEgdmFyaWFiaWxlICRmaWxlIGFsbCYjMDM5O2FyZ29tZW50byBzcmMgZGVsIHRhZyA8Y29kZT57Q0dTbWFydEltYWdlfTwvY29kZT4gaW4gbW9kbyBjaGUgcHJlbmRhIGlsIG5vbWUgZGkgb2duaSBqcGcgdHJvdmF0byBkdXJhbnRlIGlsIGNpY2xvLjwvcD4NCjxwPkxlIGltbWFnaW5pIGNvbiBsZSBxdWFsaSBobyBjb25kb3R0byBpbCB0ZXN0IHNvbm8gc3RhdGUgY2FyaWNhdGUgZGFsIG1pbyBpcG9kLCBlIHR1dHRlIHNlbWJyYXZhbm8gcnVvdGF0ZSBkaSA5MCBncmFkaSBpbiBzZW5zbyBhbnRpb3JhcmlvLiBQZXJjaSZvZ3JhdmU7IGlsIHByaW1vIGZpbHRybyBjaGUgaG8gYWdnaXVudG8gJmVncmF2ZTsgc3RhdGEgbGEgcm90YXppb25lIGRpIDkwIGdyYWRpIGluIHNlbnNvIG9yYXJpbyBjb24gbCYjMDM5O2FyZ29tZW50byA8Y29kZT5maWx0ZXJfcm90YXRlPTkwPC9jb2RlPi4gSW4gc2VndWl0byBsZSBpbW1hZ2luaSBuZWNlc3NpdGF2YW5vIGRpIHVuYSBmaWxpZ3JhbmEgPGVtPigmZWdyYXZlOyBzb2xvIHVuIGVzZW1waW8sIG5vbiBjcmVkbyBwcm9wcmlvIGNoZSBxdWFsY3VubyBydWJlcmViYmUgcGVyIGZpbmkgY29tbWVyY2lhbGkgbGUgaW1tYWdpbmkgc2ZvY2F0ZSBkZWwgbWlvIGlwb2QpPC9lbT4sIGNvcyZpZ3JhdmU7IGhvIGFnZ2l1bnRvIGlsIHBhcmFtZXRybyA8Y29kZT5maWx0ZXJfd2F0ZXJtYXJrPTE8L2NvZGU+LiBFZCBpbmZpbmUsIHBvaWNoJmVhY3V0ZTsgYW5jaGUgY29uIGwmIzAzOTtpcG9kIHRvdWNoICZlZ3JhdmU7IHBvc3NpYmlsZSBzY2F0dGFyZSBmb3RvIHRyb3BwbyBncmFuZGkgcGVyIGVzc2VyZSB2aXN1YWxpenphdGUgc3VsbG8gc2NoZXJtbywgbGUgaG8gdm9sdXRlIHJpZGltZW5zaW9uYXJlIGFkIHVuYSBhbHRlenphIG1hc3NpbWEgZGkgNTAwIHBpeGVscy4gUXVlc3RvICZlZ3JhdmU7IHN0YXRvIGZhdHRvIGNvbiBsJiMwMzk7YXJnb21lbnRvIDxjb2RlPmZpbHRlcl9yZXNpemU9aCw1MDA8L2NvZGU+LiBBYmJpYW1vIGFnZ2l1bnRvIGwmIzAzOTthcmdvbWVudG8gPGNvZGU+bm9lbWJlZD0xPC9jb2RlPiBwZXJjaCZlYWN1dGU7IGZhbmN5Ym94IG5vbiBzYSB2aXN1YWxpenphcmUgaW1tYWdpbmkgaW5jb3Jwb3JhdGUgbmVsbGEgc3VhIGZpbmVzdHJhIHBvcHVwLiBRdWVzdG8gaGEgZGVmaW5pdG8gbCYjMDM5O2ltbWFnaW5lIGNoZSBzdGF2YW1vIGNvbGxlZ2FuZG8uPC9wPg0KPHA+UG9pIGRvYmJpYW1vIGRlZmluaXJlIGxhIG1pbmlhdHVyYSBkZWxsJiMwMzk7aW1tYWdpbmUgY2hlIGFiYmlhbW8gaW50ZW56aW9uZSBkaSB1dGlsaXp6YXJlIG5lbGxhIGdhbGxlcmlhLiBRdWVzdG8gbW9kbyBkaSByaWNoaWFtYXJlIDxjb2RlPntDR1NtYXJ0SW1hZ2V9PC9jb2RlPiAmZWdyYXZlOyBxdWFzaSBpZGVudGljbyBhbCBwcmltbyBtb2RvLCB0cmFubmUgY2hlIHBlciBpbCBmYXR0byBjaGUgdXNpYW1vIHVuIGRpZmZlcmVudGUgdmFsb3JlIHBlciBsJiMwMzk7YWx0ZXp6YSBkZWxsYSBtaW5pYXR1cmEgKDE1MCBwaXhlbHMpLCBlIHBlciBkaXZlcnRpcm1pIGhvIGNvbnZlcnRpdG8gbGEgbWluaWF0dXJhIGluIHNjYWxhIGRpIGdyaWdpIDxzdHJvbmc+cHJpbWE8L3N0cm9uZz4gZGkgYXBwbGljYXJlIGxhIGZpbGlncmFuYS4gSG8gYW5jaGUgcmltb3NzbyBsJiMwMzk7YXJnb21lbnRvIG5vZW1iZWQ9MSBpbiBtb2RvIGNoZSBpbCBzaXN0ZW1hIHBvc3NhIGluY29ycG9yYXJlIGwmIzAzOTtpbW1hZ2luZSBuZWxsJiMwMzk7b3V0cHV0IEhUTUwgcGVyIGkgYnJvd3NlciBjb21wYXRpYmlsaS4gTCYjMDM5O2lzdGFudGFuZWEgZGVsbG8gc2NoZXJtbyBxdWkgc290dG8gbW9zdHJhIGlsIHJpc3VsdGF0by48L3A+DQo8aW1nIHNyYz0mcXVvdDtkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUVBWUFCZ0FBRC8yd0JEQUFnR0JnY0dCUWdIQndjSkNRZ0tEQlFOREFzTERCa1NFdzhVSFJvZkhoMGFIQndnSkM0bklDSXNJeHdjS0RjcExEQXhORFEwSHljNVBUZ3lQQzR6TkRMLzJ3QkRBUWtKQ1F3TERCZ05EUmd5SVJ3aE1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakwvd0FBUkNBQ2hBZkFEQVNJQUFoRUJBeEVCLzhRQUhBQUFBUVFEQVFBQUFBQUFBQUFBQUFBQUFBUUZCZ2NCQWdNSS84UUFVQkFBQWdFREFnTUVCd1FHQndRSUJRVUFBUUlEQUFRUkJTRUdFakVUUVZGaEJ4UWljWUdSc1NNeW9kRVZNMEpTa3NFV0pUUmljblB3SkZXQzRSYzJRMU5XZzZMeEpqVkVZN0prazdQQzB2L0VBQmdCQVFFQkFRRUFBQUFBQUFBQUFBQUFBQUFCQWdNRS84UUFJeEVCQVFBQ0FnTUFBZ0lEQUFBQUFBQUFBQUVDRVNFeEF4SkJFeUlqUWxGaGtmL2FBQXdEQVFBQ0VRTVJBRDhBdGZXOVZ1Yks3MCt4c2tnOVp2cEdWWkxnbnMwQ2pKeUJ1VDRDdEx2VkxuVExGWTlRdk5NaTFHWitXREljUnVNZ2ROem5mNlYwNGhrMFgxYUtEV3d2WXlNZVJtVnNLdzcrWmZ1bnpxSjNNbDFKd3RJSGt1SnJOTldnV3ltdUFlMGVMbUhYTzVHZWhOQk5MclhOS3NaSGp1dFF0NFhSd2pLNzRJWWpPTWU0ZzF0SHJXbHkzd3NvOVF0bnVXR1JFc2dKTzJkdmhURkZESEp4THhnenhxeDdHTlFXWE8zWkhiOEJUWERFcWNKOEZ1c1lWeGVRSElYQjM1cy9PZ2xiOFM2SkhPME1tcVdxU3E1alpXZkJERFlnK0ZjNTlTdUU0dHNkT1JrOVduczVabTluSkxLUmpCOEtpOXJxZW1XMm44U1dkMkJKY1QzMXdFZ0VSWnBjN0FEQThmbFNxeml1TkwxbmhjNmh6b3cwNTdWcENDUUpTUmhTZTQwRW1tMTNTYmE5OVRtMUcyanVNZ2RtMGdCQlBjZkErK25DcTRza2dqMGU1MGJWdFFlMXVaSlhXZTNOaUhlUXMyenEyTXRuSU9lNnJCdG9SWjJVVURTczZ3eGhESS9VaFJqSitWQTJYZXZKYThTMldrbGNpZENYay9jWS9jSHg1Vy9DajlKWFA5THBOTnlucXk2ZjZ3Qnk3OC9QanI0WTdxaXp4NnZxK21hbHFWcnAwYkM3bkZ6Ynp0Y2Nyb3NSOWdCTWI5RDM3ODFPVnJxTVYxeGRaYWl3WklkUTBvSkV4VTRNbk1TVXozRVlOQXM0YjRwdGRSMHl6Vyt2N1VhbE1HekVDRkpQTVFCanh3QnRUN0hlVzAxeGNXOGN5Tk5iNDdaQjFUSXlNL0NxN3Q3aXp1ZlI3RG8wY2JTYXMvNnFFUXR6cTVmS3ZuR3d4dm5OUGR2Znc2THhOcmE2ZzdxOXpIQTBHSTJidGlJK1U4dUJ1YzkxQklQMDdwUXRvN2s2aGJpR1ZHZEhMWURLcHd4SHVKQXJtZUpORVdLS1E2cmFCSlNRaDdRYi9sOGFoMmdSaDI0TUVpQmdJN3RzTU00SUpJTkxCYnhmbzNqcjdGUDEwbVBZSGRIa2ZqdlFUa0hJeURrR2lrT2lrblFkT0p6bjFXTE9mOEFwZFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZSbHVEcmZsNUZtRWtZVUtvbVZpUUFQN3JLUHdxVFVWWmRKWnN3YU53cGJhUGZldUxjU3lTQlpFUk9pSXJsU1FBY245Z2RTYWY2S0tpaWpyUlJRRkZId294NVVDRFM5TFRTeGRpT1Y1UFdibDdsdVlBY3BiR1FNZDIxTDZNZVZHRDRVQmsrTkZHRDRHakI4RFFGRkdENEdzNFBnYURHVFJtczRQZ2F4ZytCb0NpaWo0VUJSUjhLUGhRRkZHUEtqSGxRRkZHRDRHakI4RFFGRkdENEdqQjhEUUZGWndmQTFqQjhEUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVlQZ2FQaFFGRkZHQ1RqRzlBVVZua2I5MXZsUnl0KzYzeW9NVVZubGI5MXZsUmcrQitWQmlpakI4S3p5dCs2ZmxRWW9ySlVqcUNQZUtBckhvcFB3b01VVm5sYjkxdmxRVllkVkkrRkJpaXM0UGdmbFFBVDBCUHVGQmlpczhqZnVOOGpSeVA4QXVOOHFERkZaS3NPcWtlOFVjamZ1TjhxREZGWjVHL2NiNVVjai91TjhqUVlvclBJMzdyZktqbGI5MXZsUVlvclBLMzdwK1ZBQlBRRSs0VUdLS3p5dCs2M3lyRkFVVVVVRGJxVEVTeDRKR3g2ZStrWE8zN3pmT2xtcWZyWS84Sit0TitkOFVHNWtZayswM3pySE94L2FiNTFwbmV0U2FEY3lQbjd6Zk0xelozeHN6Zk0wWk5jM29NbVIvd0I5djRqWE15UC9BTjQvek5ZSnJVbnpvTU5KSisrMzhScmk4a20vMmoveEd0MkpwTzIxQmhwNWYrOGYrSTEzNFIxQTZrWTdqMmg5c3lZTEU3Q2tMdHYxeFhIZ2Vkb1dnanh6Q1Mra1FrZEIxTkJNN3gyRjNKN1J3Q05zK1ZjQzdkN0g1MTF2djdaSjhQcFNWajQwRzVkc2ZmYjUwZG8vZXpmT3RNNXJHZkhyUWJGMi9lYjUxb1pIejk5dm1heHpBSEhTdWJNRDMwR1drY2Z0dC9FYTBNci9BTDcvQU1SclJtM3JRbkZCc1paTWdjN2Z4R3VUelNEOXQvNGpRVzNyaTVvTlhta0EybGYrSTA2Y015TStxeWd1N0FRbnFTZjJoVExLZHMwNjhLSE9yVC81UFgvaUZBNE5JMlQ3UjZudnJIYXNQMm0rZEkzdVZEdm54SXJtYnRSM2lnY1JNM1RtYjUxbnRXL2ZiNTAwSFVZMUpIT3VSNG11YjZxbU5uWCtJVUQwWjNEWUxIR091YXdidmw2c2ZuVU4xRGlxMXNjbWFkVngzYzFNNDlJZWx6U2RuNnlBZk5xQ2YzZXNyYnFUemtudXFQM25GRndTUWtoSHVxTlhYRWxzOHFabVRzMzJEODJ3OTlJNU5Sc1pFa2NYMGFoY2tzUEx6OGFDUVcrdTZycWx6TGE2ZElKWm93REp6UHlyR1BNK1BsMXAxZy9TZk5PdDVxMGtUUTRMZGlBRkhtYzVxc0xUaTZiaEpCNnRINjI5eXJPc3pleUQvZS9HbUhVdUplSWJxNmFTU1M1UmdRU2U3STZIcFFYeHhScVY3b2NWcmNXY3N6cVVWbVNZaGxrQnh2dHZtbDNGRnk3ZWp2VVoxTEkvWnFSZ2tGZmJUYk5lZmh4VnhOcU4zSGMzZDllMzB3MjdObDJLZzVIZGo4S3Q1dFJ2TlU5Q21xM1Y3RDJOd1NReWs1eGgwL0dncW1hOHVocTh5aTl1VlJsQkdKbXh0OGFjOU92YmlPL1F0ZTNQSVJnODBySGMvR21KNVErcDI1WWMzUEVSdjFHS2NZbUNUeHR5SFBmZ1p6UUxkZXVydjlKVzBrZDVjc25aNC9YTU53VDRHckQwS0dhNnRyS2RwcHNQR3JIMno0ZStxMDFRbmxnd0NBR0lxenVDcHUwNGV0WE8rRTVDZWJPNFAvT2dsOHp4aUdPRnBDQzU1VkcrNXhucjhLcjdpeTJraTAvVXBVdnJxUDdGOHhpVEFKV1JRTURyakdjNzljVk43bXpudVJic3NUa0pNc2dJSFVqT0tZT0w5TmRyYWVOWXBoUExieW9pSW85dGh5bFYzQlBlZW1LQnI5RGR4SkpmYXJienlTeUV3Q1JTN2xzZHhHNTg2ZXVJN0N3dXRPbnVuRWd2WUxkbGlsRTdyZ0Rmb0RqeDZpbUQwVlc5M1k2enJFTWtiMjg2V1dNU2o3amMzZUtiTlZ0K0pGdG5lNTE3dG9TcEx4cGJnQWp3ejNVRFhwZGxkYXZxTUtHNHVKSTRvSkpHZ2E0ZE8xYktxTWtIb001cDhzMy9BS05tNGp1N3E1Z2dlUldRYzdTdEo3SUpVRTl3T2ZjTVo4YWplZ2F1TksxKzBGeElrY0VzVXFTTzdZQzQ1V0J6OEtjK09MUkxvMmVxMmM0bHQrVHNuTVc0eHpaRGVlYzQrVkJwcVhGa3BkaGJ6eXhZSjVGV1J1WWZIcDE4cWUvU1ZkM0k5SEhDY3l6VFJ5eU1wY3JLUVQ5ajNrSGVvQnlXNGtoY082QlR6TXJzRHlONDV4NUQzVk92U1NESjZOT0Q4a2trcGtucitwb0twdWI2K1ZWWVh0ME45L3QzL091OXRxVjdsVk43Y2tmNTcvblNmVUVUMUl5STJTa25LK0QwTmJSMkY0dW5SNmkxdko2bThuWnJNUjdKWWRSbnhvSDIxMWJVN1FPOXRxVjFFN3FWYmxsSnlwN3R6VGRjMzk2Y2tYdDF6WkhTZHQveG9pbEhZRGZwMXBIZGtOYnRuQjNIWHVvRjFyZGFnQzZTM04ydTNScG4yL0dzVFhsNHVDdDdjK1gyN2ZuU2ZRVlNXNVpaV2s3SUp6UHlBRmdNanBuclc5OHFMSTVoNSt5NWp5bDhaeDU0b085dHFOK2poeGUzSUtuS250VzJQZDMxS1JkU1hzU1gwTnhPZ2ZhV05aWDVZNVIxVWI5RDk0ZThqdXFGcElBdU5zK2RQWEQrcFIyRjhlM2FRV2N3NVprWHc3bUhtcDN4M2pidm9KYmFUM01EUlN0Y1RFZy90U3NmUHhxVmVtYTN1SDRTc2J5MW1sUnUxUldhTnl2VldJNmVkZDdQaHlEVkVpVG5WWmNZWWo5dndPZmRpczhjelQzR2cyL0RyV3J0Y0NOSnUxWmgreVN1QVBFanZvS2E0VTlmSEYyamM5NWNsUFhvUXl0T3h5T2NkUm12VXg2bXFRNFc0V2doMXF3bHVVbldlTzRSMVZtQzRJWUhjWS9uVjMwQlJSUlFOV3Jmcll2OEordE4yYWNkVy9XeGY0VDlhYkdvTWs3MXJ6WXJESEcrRFRGeEp4SEhvTm9za2tMdUh5QXk0d01VRDR6aXVaa3FwWDlLOTdISi9aN1J4MDNMQ2xOaDZXNFRJVjFHekNvVHMwQkpJK0JvTE5MZDlhTXh4MDJxUGFmeGxvdW9SSzZYcUt6ZnNObm1Id3BiK25OTnovYkkva2Z5b0hFbmF1RDBRM1VWMUVKWUpCSWhKQUkyNlZpUTBDVnp2aytOTE9BMkhxeXNla2wzS1ViOTRaNmp5cGoxMStUVGp1d1ZwRVZzSEhzbGdDS2t2REtCSnJlTlJoVmtPQjRiVUQzcUcxNUo4UHBTVW1sVi93RDJ5VDRmU2tob05RYTVUVGlDSjVDQ1FnemdkVFhUdjZWRk9OZFRGcHBndFJLWTN1VHlsaG5PUERieG9HRFdQU1JQYjNVaTJscUJHdTMyM1hQZjBwRkg2VkpTeW1TeWo1TSsxZzc0cUtYMXZEMlRNSCtZSk5Na2lvaWZmR2ZlYUM3ZE40MzBuVTVZNG8zWkpIemtQc0YyOGFrQ3lMSW9aR0RBOUNEWG0rRzRFYjVFcFUrSXF6dUJlSlJOYnpSMzE2QXNTaFkxT2ZuUVdFYTVPYXlraVNJcm9RVllBZ2p2clYrbEFua08xTHVESGVYaU8rTE9lUklBaXAveERKcEJKMHBad1IvMWoxTGJmc3gvK1FvRU05eTNhdnYrMGZyWEF6dTNmVGhQYXFKWC93QVI3dk91WXRvejF6OHFDQmErNS9TOHA3K1ZmcFVZMWpXVTArRXFwQm1ZWVVlRlRUaUMyUmRZbEFIUkY3dktxZzE2WnBOVG15YzRZZ2VWQWludTVaNUdlU1FsajFyZ0pDRDEzcFZZNlpQZnY3SUtvT3JHbiszNGJ0MEE3VExIem9JK2wwVlhCWThnT1N0U2ZUZUsyc2JVMjVnV2ExQTVsVmtCNVQ0MG9UaHV4ZGQ0K3ZoVzAzQ1RXMWxMTmJQekVEbUtONGVGWnl5OVhidytMOG1WM3hERGZUeWFuYytzRkVSVDkxUnNBTytuMjBqa0UwYlhISzBJeHpLaTRKSGhudXFMeHl5SmNNSFhsd1NDbmNLbWR1QklxTUNNRUN0T1Y0dkIzMUtmUnA5TVNMUzlNbXRieklMeXl6OW9wWHZITFV2MGRKbjlDR3NKSVVaek80SEt2S01jMGRRUlV3d3FmMlE1ZlFwckJIL2ZzZjhBMXgwUlY4Mm44aVcwalN4UWhIR1dkOXNIR054bWxDdU9ibDV3V1VuSjVlbEtOVFR0dERsbnhnUmNyYmVSeHZTT0VjLzNRY0FLVGdiRE85QXRuaWdsakwzSWtaWS9iUUkyTXQ1bnVGU3JTdFkxQzM0YWdzckJrdG1lY3pDU1JNcXVEakJKM09kc1kyNjFybzBPbmFUYlI2anFNQ1hEU1k3TzFLOHdPUDJpTzgrL2FwTnhYYmFYcmx2cDV0ZFNndEpvTVJzZ1FxRlhPY0FBYlk4S0NUYVJOZlhIQUthaGV4T05RZTM5dU1ObGNnNHlnN2dSdlNUakRTVTFPUWFmRXBTTmNaNUNRRkJVOVFPNDcvaFdxY1k2VG85dERwY1YzQklxUUJGREJ0Z1BJQ212V09KclM3N1NTMXZTSGxUSmVGQ3JOZ2JaUGRqZjUwRGI2T3JDYlMrSUxwR0VmYVBFNkdEbXc0UU9DR0k2WVB6MzZVbDF5V2U3bmx0b05QbWtjZG9nVmNEYmY2YlVxNEhuczlKdm52NysraVQxaUpvaXhKTGgyd2NIYnhGT1NUaTltdW9OT2pWaXhmTEp1OG96Z25KeHQzWUhrYUN2WHM3YlM5Y2dWclUzVitFUE5JUDFNQUtBNHdSN1RlZlFlZFMyR3dUVmJOOUpFVTBjMTRXajdjcjdJQklJT2V1QVBLbld5NFgxTFZManRncVF4TW5MMmpuYndJeDM5S2UrSU5HL1JIRGQ5ZTIxMUt0eEJiczZka2lvZVlEYkJHNCt0QkhyYjBNMjZ4cXI2cEtjOVNJODkvY1BuU0QwdjZkSHBmQnZEK20yNVl4VzF4MktGdXBDeEVETk1jTjdmUmNzOHVwNmpNN0wwbnZaR0ErR2FkL1NneGw5SDNERHNTeGFSU1NTU1Q5bDQ5YUNCMmQvcGIraXkvMGk0ZFUxT0NjTWlIN3o1Y0VGZmhrZkNtS0hUWTVMS0oxSlZtVUh5cHkxS09IOUR2eUFoeVl5YzV4MXJ0cDl1VFlRbkczTDNEem9HWDFlNmpRcmdPdmlLMHVVQnM4R1Q3Vmo3VVpVZ3JqdnowTldHbkRVYzJqTmNLd0VnT2ZlS2grcHJidlp1Qk1uTXFjd3dPNEhmZWc1OE1SdzV2OEF0V0MvN01lVFBlZVphMjFhSUpaaVJWMkw0NjF3ME80aEVWeUdtNUhiQzlPNy9RcGJxNndMb2lOMnZNL2Jia0gyY1lQZGpyOGFCdm5OcGNOYmVvd1N4dVVXTjBhVHRESkpucXV3d1BMZjMwT1d0eVZsVXF3T0dCR0NwSGlLSWpCQ3RzeVM4a29ZU2xsRytPdXhQUStGT0VrUDZVdFpQVitTWm1PWkpNYjh4OGM3NHgxTkJabm81MXUzaXRJYkc0dUlrZU1oNE9ZNE9DU1N1ZnhIdk5TdmpmVTdLM3RiTFZaQVhnQk1KQ1k1c25CSFh1MmFvYnc3Y2FGYldkcXNlaXlYVnpnTEpOT1ZTTmlPL09jNEh1M3dLbEVXcld1c3ZkMk54cE5vOGNaNW93NkNRRTQyM1B2T052SHBRTVdpOGM2TE5yRmxaTGFYWWtrbVNOQ1FtQXhJQXp2NTFhOVJ2VFlkQVRzNDR0THM0cm1KdGliWkFTZWJBS25IamlwSlFGRkZGQTA2dit0aUhkeW42MDFuNDA2YXgrdGkvd0FKK3ROWjZVR2puQnFyT0xZN2pXWmJ1ZEZra2lqMlJjN0lOaCtQV3JRbHh5Tm53cU5haERIRm9WMDBhY29lUEorWW9LUHU5TmxqY0ZsSThhUXZBUTJNR3BsZmhSTVJqclRQUEd2TWRobWdhTGQ1YmFaSkVZbzQ2RVZaa0VRR254UzlvT1lnYlp5Zm5VRWEzN1Fxd1haVHVlNFZMTkpuYWF3UlMyZXo5bkdUaXBlK0hYSDFtTnVTd09ITS9vWlA4eC9yVGk0ODZidUhCL1V5ZjQyK3RPTGdFSGI4YXJrWmRmWG0wcVVEWUJsT2Zjd3FVY040OVloem5QYS95cU5hK0IraHJueVhQeXFSOE5NUFc0UVJqRDVIbnRRUGQvajF1WFBYYjZVa2FsZC8vYkpQaDlLUm1nNW5yNVZEZU1vbzNFYmxjdXJydjhEVXlZVlgvSEYzSmFLNmtBa3lLd2J3SEsyMUJGTlFSVEdBUjVWSDdxM2pPNFhwV2JqV3BYY3h0SW1PblRGSTU5UUlJRFkzNmVZb05UYnFWSVZjazA4NkhCNm5kbFJKbm5UZGZBMHpRWGg1eElGd282SFBmVGhZVHl5YXBEZ0VnN2RlZ3JQMTEvV1lYYzVxNzdMK3dXMytVdjBGZEdyU3lIOVgyMytVdjBGZFdyVGtUUDVVcjRMMjRuMUlkM1lLZnhGSlpBQUNLWGNJUXNuRTE3SmoyWHRoZy84QUVLQjN2ckR0T2FXSmR4MVVkL25UTTBYS2NkL2hVbHM3dUM5amFTM2NNQXhVK0lOTWVrb3QzZFhuYW5PUHUrV1NhQ3VlTWJnV2wxZXpuYnM0VkkrVlZCWldqNnZxYkFraGM4OGpmSCtkVzU2U28xUnRUUnQyRUM0OStCVmU4TVFGTE9hWURMTytBZklmNk5BN0pIRmJ4aUtKUXFyMHhRWHlOcXkzS28zTzljeTRCMm9mNkxiWm43Uk1iYmpmd3A3am5rdVZWWlF2VWpQWEpxT1BxNjZkQVVtaFBpcHlDQ2ZFVnpzdUpBSkVMQWhBZXBGWW43WGw2TTkrUEgxbDc3YWNUYUY2dklidUpQWmMrMWl0ZEtjcEdJMk9lWGRUVTRTTzMxelJ5Z2JabDYrQnFMWHVpM1duWE1sbzY5bmRSdHlGVDQ3WVBoaXR2T1VEWnMvT3JDMGtjL29jMVVZNXN6UHQvd0FVZFFFOEtjWDIyR3VMYlR5V3dBbzFDSG1PU0FOdWJ6RldOQnBkOXBmb2gxVzF2b1ZpdURJWDVCSXNnd1dqNzFKSGNhQ0NROGhpbXQ1RVU5dEhnZ0FOdmpZSDYwaHRsWkpaYmRZZ29kVkRaSVBUd3g3dXRLWW9wU1F2WjgyUmhlWGJGS0xmVERhcEpQT3dSMlRFU25QdE4zWjhnTjZCWEU2cmFMRGRTaU9PTTg4Yk9jZXpqSkE5dzMrSGpTNWJxMjlabjVXSDN5YytOUjJTUDFobWt1dVdkMlVwbjkxY1l3TTlPcDZWR3A3MitzTHlkWUhWNGd4NWVja0hGQktOWGUyYWFXUVpEQkErVjd4bmNmS25xR2RKSVVhSWhrNWQ1Q05oL3dBK3RRcXdtTjFjb2JvODVaR0JDOUNRUWNWS2t2UnloVWpQZ2lLTmdLSFpWMlpGaXhtOWxSTUNHQzVMZTJOejhLZWVITlhXRFhKQ3FLd0VMY3VUdDFGUks1MUdVb1VrYkI4QWVuaUs3YUJMMnVxNFBzanN6amJPZW0xU2IyNjUrc2trN1hWbzJvUGZBOGlLcXFOZ293QlRocTFnZFMwaWF6OW5NcThwTFp4K0ZOWEMvSXRua1lDZzR5Y0NuMlc3aWpBQmRjOTI5VnlWamNlaTdWWkpTNjMxcmduY0htSkh1eUtSK2xpeWV4NEw0ZnNuWU0wRTNac3c2RWlPck11OVVhQjRZSWlzbHhPeFdOZTRZNnNmSVZYM3BrRGYwZDBydE1Pd3VtNWlCako3TTkxQlU5NHhmVG1EWXh5cjA4alVpNFhzbHV0T2pPZGxjanJVWVpKSnJjeFJSdTdFYktvejMxTCtGM0ZucEI3WnNFU09NQUZoM2Q0Mm9KYTVoZzAva1lBS1Y1QnNPdkthcWJWNDRrdFpsN1Vvd2hiS2pIdEU0cXo3aTFtdXRNTnd2TXNDRlpHZGxJQVVEYy9qVmNhdmJwQkZjckxLcXlzckRsRCs3RzFBaDRTdG9wa3Z6SkdyRkl3VnlPaDM2VXAxN21PbHFnZm1UdFZQSUVHM1hKejFQZlNmaGt6Slk2b1lPVHRERXZMemJqdnBMUE5xQ01UZFBHOGE3c3NhOVBPaXliNGpqSnBndW9wSm9yaHVhTUtFUmsrOE1maFVoNGV0clMyc3A1SmlWeVZPWGt3VzI2RlIxSHdwcjAvVWJaNVpVU1RITmpPVHNjZnUrWFNrNkxLbDdjckxNQVdZRU1CMUhsOUtrMjM1UFhpWW4rNzFGWGlNTnN5d0ZjNGtBNVd3VDVkUjEycEhhYXJjMnFSU2krbTNMS0ZTVTVqSndDVjMyUFRla2thSkVIYVhMQnp5L2YzQUh1N3FTdGFNSi9zeUFHR00vbWFybW12RFdzWE12RUduUXlYYnVHdm9seXpFNUhOdjhNbjVtdlFaNjE1ZjRXQ3J4WG9LQXZuMXVFNEorOTdZMzkxZW9EMU5BVVVVVURUckg2MkwvQ2ZyVFVUVHJySDYyTC9DZnJUVXd4UUl0UldXU3htV0VrU0ViWUdTZktxNzRrMVM4R2t5aFkzNU96d0RHZGh2MzFackRQeHFBY1MyeXRwdDdseWloU2NmSHBRVmFsMWMzSmZMTWVYR1NhUXlYa3BrSUdlYnBpbnEwQ1IyczdrQUsyVlhJd1dIalRWSENyM1piZnN3Y2xnTTcrRlMzVFdHRnp5bU1LTGU1bWloQ2xYVm5HZCtoSGpVaTRhU1QxT1IyUHNGdVZjL2pVZDUxa2taZ05pZHM5d3FiV0Z1TFd5aWhHZGh2NytwcFA4QUxYa3ZPcGVJblhEbi93QW1UL01mNjA0UG1rSERnL3FaUDh4L3JUaTQ4cXJtUVhsdWwxYnlRU1o1SkY1VGpyU2pnNzF1SFdPd3U1VmRReTlrNEdPYlk3ZStzU1lBeWVncmh3YWJxOTE2RyttQ3BBMjhVWWJQS044SDNtZ21kK00za253K2xJenZTMisvdGtudytsSW1vT2JiL09vVHg5RHoyMXN3d0NYNVNEM2pCcWJFVkVlT284NlpieWZ1ellQdXdhQ3BGdGdOVXdRcnVQYTZEQUhpYWJkVVFQZU1VR1FUZ0FkMVBmWnZHMDdySHpFa2d0bW1zeEdOMm5seWNiRHZ6VXQwNmVQRDN5MThjWXdVSFlaS3FQdkE3L0tuN2g2MTVwNWJrOUVYa1gzMHdSNTY3NVltcFp3OWhkT1lramR6dFNNNTVicTJyRWYxZmJmNVNmUVYwYXVka2Y2dnR1bjZwZm9LNnRWWkozL0duYmhUSDZVbUdSbnNmSCs4S2EzSGZTcmhZSCtsc3V3UCt4SEgvd0M0dEF5MjF6Tlkza2trRGxUenQzN0hlcER3NjY4bHc1NnV5ajZtb3FrOFU4a2p3eXBJdk93SlE1M3lkcWxHZ3FGdEZrQjNNaHlQSUQvblFWcDZVVTdUVXJ5TWQ4YS9IMmFyMjB2R3R0SWlTSWUwek4wOTlXVngycXpjU3pSbjdwaVg2VkFiblRQVTE1WThsUVNWQjh4UU5EWDl6SEw5bzJhbU9pYVdkU3MzbktrcXE5UE05S2hpV1V0MWVySHVjdGpIY0JWdGFFSXJQVGpBTURtMk9Lemxma2Vqd1lTMzJ6NmlwYnd5QzVkWExzcXNjYzFTUGhxUzBtamUzblRuNXdSeTh2bDFwOTEvaG0wdWgyc1dFbDhRZGpVZHRiSzQwNmJrNWNNZjJsTldUVGpsbHU3U0Rodk9uMzBsc0hab1RuQ3QzVk52U1BweGg0Z3RicjJSRHFGcUZaOGZkZU1ESHpCcUk2TGFZWXU0KzBPNUpxMitOOU9GNVk2UWVVRVJ1UTJlNVNneWZ3cXN2UGx0YlNyeEhQYnlNeElrVGNucGxoVm84Q0dOdlF2cUpseUU5YWtKNW01dStQdnFEYWJFMXh4azVrUE1RVUJJNzhIWS9HcHp3REMwM29ZMUNOVGt0ZHlBRWp6am9HaDdxSWpGdGJFSCsva2ZnS2oycVBkUGU5bzB6Y3lrTUN4T1BEcCtGU2RkS241ajdjWUhRblAwcEJxV2dYRnlyTEVFWTQzekpnbnYvbFFJYkNkSlFWZmxEamZCTk11cVdLU3JkeVNGUnlTK3dQMmp2OVBHbldYU05Sc0U5WWtXSUZSMUVneVBjTyttcVNVU1EzQW1MTkwyNHk1TzVKUFNnVGN5Mm5ZQUV2bHVWU09vNXUvOEsyZ2ttVWRwMnMyRng3U3YwTkpya3lLNVNLUE12TUFpNDZHbGN4UlVTRkRubFBNZHZHczIvSGJ4NGNYTzhhS2tsYVpRN2tsaU1ibW5qaHNFYXEyQjFRay9NVXhXMmV5VlI1NzFJdUdVSDZTWTlBSXljNTY3aXRPVnU3dFlkdnEzcWtJR1NGVTdLUDUxdEh4SGJ0QVZOdkk4eFAzKzEyMzhzVXh6bjJTQ1Jqdnp2U05XNUVYT1NPdXd4UkQ3ZTZuTmMzVnJjMjhpcGMyejlwRVhQc0U5NGJHK0RTbjBnYWxheDhQYUxmYXBZcmNxODNNOEtQdGtwdmhxanNYTXhWczRIbjFweTlKYWtjR2FDdWRoSUFjOS93Qm5RUUxWOVQwaThSalkyVTF1a2dPQWhBWlI3LzhBbHZTL2htZms0WldJTitzdVpsQkhUWll6VVhXUEpBd1FEMys2cEhwMXJjdzJOcmJ5eVFXcUxMSTZ1RjVtT1ZYSktuWWpBOHFDNFlMZU81NFdTTnlNUFpZeDQrem1xRzFhTHQzYVNhYU5VS01VOFNUanA1YlZQYmFXNWx0cFlSTThpeFd2TWp1TWtaeUQ1YmtlSFNvSEpwOGpLVEoyYXNRTjg3azBDWFFZemIyMm9kbGx5aWNyN2JFNzlQREZKWnJlZHJScHBrTnVqamFVNWJPTnNZRzVwKzBxd0ZySERHcmMvcmpCV0lIUWNySEsvR3RMN1Q1N2lYKzBDUWdZSE4wMjIrbFp0NTA3WVkrdVB2OEE4UmkwampnWjRvb21ZY3h6STRCWnZjZTRId0ZUUGgvaEdQaXBiaWRMdHJVd0ZVdzBlZWJJelhIVDlEakJaN2libWJtMkVaK3BwVGROYzZkeUpZVDNFVVR1VEl5VEZTZHRodDg2MDRuNWZRNHR4R3p2ckJTTWRBSVQ4ZSt1VGVqVzF0OVN0SUJQTE0xMHhpRGxUaFFCbm1ZZE01STc2ajdhenFEanN6cVY0Y2VNNzQrdGQ3Vzl2WUFadlhibFd4OS90V3lQZDRkOUJNckwwYXBwR3RhZmVSM1NUU1IzRWJIQ2xSeWc1eGpKcTBxb0xTTld2cHVKOUxFbDdkU0sxN0NDcG1adHVZZGQrbFg2ZXRBVVVVVURUcTQrMmkvd242MDF0MU5PbXIvcm92OEFDZnJUUFBMSENwWnpqYWdEc0RVSzR1aHhZYWl2UU5IbGNmNjhhMTRxNDhYU1VFTm5HajNMOU9ZbkNqeDg2YmZXZFExYmc1dFR2cEF6VGh5Z1ZRb1ZRUVBxQ2FDRVhGdTdXeW96S01nZE5zVTBYQ1BDQkVHWEJ3VGdZSTY3VktIYnNiZHBHSHRnWlRJLzFtb3hKekdWM2JxeHpXZTd3N3orUERjN3JNZUF5NU9BU0tuU1hNTDdKS3JmOFZRRE9XQTdxMDFKR1V4U2dlMFJ5azFwd1h4dzI0T2lwdjhBOW8zMXB6WTdud3FydUNiNjhrMGRVam1iMkhJTy9qdlUxaTFDNVFEdHZhWG9jamNVRHV3NXRxMDRDY0ZMRWVBSS9FaXRJWmttNVhRN1Z4OUhzM01iTmM3Q1dSZmt4b0p0ZkgvYlpQZVBwU1EwdnVJRExleW5jS0NOL2dLYTlTbkZxamN0QWt2dFN0ckNKNUo1TUtpbG14NENxeDFuamR1STVFc0xTMDdLSU1aREk3WmJsQUk2ZDNXdCtPdFVZV0poRGUxT2VYUGwzMUh1R3JWVGFYdW9NRHpSc3NTanVPUVNmajdOQjJFWmRYWEdmZFRCcU1oYTRNU2hWUkdJQVVZQnFVVHNscEZJUUQycFBMeWtkQjQrN3pxTno1bmxKVUU0OHF6M1hmTCtQQ1l6dWtHUXE3VjJFODhkbklZcFdRcnY3SnJUMWFSNU1jcEg4NmQvMFMwVm82djk1a0xINVZwd08vQzNHT3BtV08wbW5hVWNuc2N4NllIU3A5YjYxSXdIYXB0anVxbk9IM0Z0cmRtejdBU0JXOXgycTRvTFJKR1pCOTVlbm5RT0Vkd2s0eWh6VHR3dC93QlpXYnU5VlA4QS9JdFF1R2Q0Sm1HY0ZXd1JVeDRQbEUydE00UC9BTk1lNysrdEJDTkUwK1RTN0o0SmVYdE8ya1p1WHpZMU9kS3hIcDhEZDVWaWZuVVB2NzVMUjNabEp6Tnk0SGlUaXBaWmN5NmRIL2tEYnpvSzk0cmtFbkU4elo2SW4wcU5YNHlkcWZPSTJ6eERjKzVmcFRUS25OSW0yY2tESGpUcFpOM1J2dG1oMCtLU2FRTjJyZEdBNkR3cnRaNjFjcmF1OXFxdElTQXNiSGwybzFXWkk0eEFxZ2pxRjhLWTRnOFYwcmMyQjE2OUt4anpkdlI1c3JoSjRwZWt2djhBVjU1OU50cHV3YUtRT1ZsVFBkaXRiQjF2Z3ZNUGJCcmxCZHpYRnVlMVpKQXV3QXJhR2FDMlpaMFhra0RxQ21ldTliZVpJYmVMc21Ia0t0ZmlxSzZmUkltdFFHWlFBUm54QUg4NnE3MlRHc21lbzdxdUtlNTdEU25tNUE2eFFoK1h2SkFGQlN5Y00zV2xjZkd6V09TNGxoc29IbWtSZGl4NW1QeUdCOEtkZUI3bHRKOUN1cFhJREZvN3FSaHk1VTdtTWZ6cVIzdXAzVjNxTWx6RlBOQUh4N0VjaHdNREZaNGllVzQ5RitybVZ5N25BeTMrTktDdGhyK29jN01zaXV1VGd1bWUrdTBYRTJvR1ZWS1FGU1J6Zlo0eitOTWZPVzVjWkI1Um5Qald3a0FZQWpjQTlQR2drdHlXdVk1T1pzdVZiQXgwMnFFU1pqZTZpbldYTEVoQ2k1S3NEa1o5MVRMTE5HVzJ4eWcrT0Q0VkhaazdiVUpqSm5rRWhMRUR6cGJydGNjZmE2Y3dIa1QxaHhIa2NwM1hxZkh5TzFKMXM0MllBN0h4cFhLVWVRSkVDVVFZQjhhNWVJT2MxbVQ2NitXLzFuVGVLQkkxeHpad2NtbjdoMWsvU1RiNCt4YjZpbU9Od1VPMk1lRk9tZzUvU0xMak9ZaWVubUswNHBQZDlwY1FjdHVzYk5rZnJISTI3KzZ0QUpBUGI1U09tT3VhNXU3SS9Mc0FlN082MWxaWFZVQXdSbnczRkIzaTVvOEJJMDh5Um40VXU5STREY0ZjUDViQzg0SlAvbDAzd3VDZ0hMN1pPY0grVk9ucEpVRGd6UTR4SExJeGZDcEdoWmllejhQem9LdGdRTklNN2o5bW5hM203RndGQmRzNUJidUoyTzFJTFcxMUNXUm1PbDNNS29Nbm5YZmJ2cFhHUzBweDdJRGJzZWdvSFhTcDU1cjZmbmx5UkNNQmp0ako2Q200R0tLTUhtNTJDKzI3SEdQZFduTjZ2ZW1XS1J1UVF1cEo3OXRxajl0cURNcW00VWNvR3h5Y1pxVzZqV0dIdGxvL1RYWHFjVU1jTW1TaHlHSTNHTnR2S214N3VSMzJjazlkanRTV1M3ZTVQYUhBeUJzS3hHeHlvT05qM2Y2M3FTYTdiOHVXN3FkUktkTFZuaEJKSnlkcWxtbDhOUWE5WTNJbG5hSXE2Z0ZRRDNacUhXTjlIQkFGSXkzajRWTk9HYnFjV1YxTEpidXNIYUpsenN1Y2JiMXB5YlEraTJLS1VUbTllV01uY05GZ0g4YVhhandqcDB0bjZ2RTFyYnlNTUJzTVQzK2RLZEVuWFhkY3ZiU2VROWxib3JSVy9OZ01Ebm1ZK1BkN3FrRnZwRU50S3hNazl3enRrTEkyUXZ1SFFVRmU2VHdPbHRybG5jRFUyWm9MbEdLQzNJNXVWZ2NaejA4NnQzdnBMYlBod2lSQkZPZDhZUHVwVlFGRkZGQTNhb0FBcmtiaFNLZ2VzM2JoaXZON3FtdXV6Q0dOYzV4eU1mbFVBMXdOSHBrMXljZXhIbmZ4NWMwRlE4UVhSdWRadVhVN0tlVmZoVnEzVmlscHdwSHA4WVZUSGFZQ0h1SU9UOFNEVlY2TlpIVjlmdExVZ250NVJ6ZVF6ay9oVnY2dXZyZHNaL2FXTHRGTGN2WEJVQS9IMmFMTHE3VmxxMXc2ZllyOXhCN0pGTXpRTThZWVlESHhOV2ZxSEJGdmNNVEZQS2hYT2M0d2Z3cEphZWowdk1yVFRza1hMdVZJSkhsMHFTYVhQTzUzYUJhYnBKdVp2Yis2TjJJck92V2FycGtjcUFERG41ZEt0U3g0U3NBaEVVczRRSXo4MlZ5MlBoVFBxSENVRTNEWE9zc3hKU1U0T01aQjkxVmxHdlJ4Sm1hOHRpZnZSYzZEekIzL0FBcXhMbUlUYVBMY1JEMm84RnNlWGZWUmNQWEw2VnJsbE1qRUJaZ0c5eE9EVnhzeTJONkhVWnRMazhrcW5vcGJiUHUzb0dtMHVtaGRaQVRna1pBcFp3VE9MRFhyTFRwYzlwSmNTT2hBMlpXeVJqK2RNdHdodEw2VzF5ZnM1T1VlN2I4NmNOQzdTYmpEaDJSZDFodW1WaDRCa1A1VUZzM3NxeExudjYvaFVXMWhqTkp5QVpESXJaOTdFRDZVOTY2N0xDV1Q3eS96Rk1jTXhsa2FWUmtCVnhub1BaMno3aVNhQ25PT24vcldLMkJ6MmE1UGh2OEErMVBQRDFvZzRMdDFjQU5OZmRxYy90QUt5MUYrSlpEZWNUWGZaNWJNblpvRDEyMi9HclZ0TkV0cDdUUzdVODhjRUxsUFl4bmJidzh6VXMyMWpsNjNhRHo4MS9BR2NEbVhLQWp2eFRLMm0zQ3NRRXlmRVZZeThLMnlYdDliTE5NR2pKZGVuY2R4MDhLVmFid25ZM0Z4Mm5yRTVpWmViR1I3TzN1cEpxSmxsY3J1cS90ZE5XMllTU2dHUWRGRytQZlNtNFFpYVpjZElmcWFtdHZ3aGFTdVpqTk9VbGxFY2VDT2c2bnBXeWNKMlUrclh5R2E1NVVqeCt6NCs2cWluYisyTmhxUkFHQ09WeDhnYXR6VExzemFSWTZyRjFhTUNRZmhWZWNhUWlQVlZrakI1QWdRRTkrTnY1VkpPQk5RRXVoVFdya25zV3hrOUFEUVBHdEtrZDRzMFdPU2RBdzkvZlVoOUhrdmFhdGNlSFliZnhpb2pxTTJZRmladmFna0pIK0Uvd0R0VW45SERaMXFjZjhBNlhQL0FLMW9JbnJCTDNxeGdBZ08waitJOXJBL0hOV0V6Q0pKRjVsKzR2S3VSbkdLcjY0NVpkVHVEa0U5dXNYVHdiSit0VDdVWVkwRThySXBkQ1FqNDNBb0txMXVVdnJkd3hQZ052ZFhBWE5zbHE1TGp0VVBOaklCK0ZJdGRtWVhGOU1wWUZGMks5YzkxUUc4dW5hY2UwU3luZHM5YTU1YzMxajFlR1h4WS9sK3BMZUdhUzZKVWtrNzU4S1FlclN2S0FaVGttbHVuM0l1cmRKZjJpdUc5OUUwVEJ3M05qZXVrbW5tdHQ1cDZzTkZES015Uzh6WTZOakZhNmpwNzJlcFdrUWtaMGJHU3h6dm1uSFNXYnN3YzgzeDZVNFhWa1pKVXVEdnk3Z0dpRmtFNFdKVUo2REhTcmR1cHM2Sk9CbmxOdjMrNnFXdDNMU0VFWU9maFZ6VFdNbXBhSmVXU1N0RTh0cVVXVmVxa3IxK2xCR0VRTWVZSGFsV3VyemVqVFZWR01rLy93QjBxaDM0dTRvMFcvYTN1N21UbWpPQ3NneXB4NzZ0dlROY200azlDMnAzc2thUnlDUm95RTZIbFpOL3hvSzVueUlJK1Rvdk56TVc2QUhvSzR4eXJJd1lEQkIySnA0c2JSWjRnU0F5a25JWWVPS2NZOUd0MklMUktBTnhzQlFjYldUdFlJejNjdU1VMXpsb3BKeGtjenlIcDFJL2xVcWkwK0dQb3VCanBqYWtzdkRsdE5QSk9aWmdYSllnRVkrbFN6YmVHZnB0RmhrREkySGNLMkdDQnR2VWxYaHEyemd5VEtldTVINGJWbitqbHBnL2F6NDk0L0txd2krTUVuYnc2VTZhRDdWK3c1aUIyYmRCbndwMEhEbHBqUGJ6bkhka2JmaFhXMzBtQ3dtTWtja2pFakJERVlIVHdIamdVRzU1QTQ1ZVlkK2NaLzEvNzFvWHlwSVVxMiszVTQvMXY4YTZFRmlBRDdQZUNEbnIxcldRTUdIczV5TTV4OGYrVkIwaWN4bkNIZGpndVJ6ZjZIV3BoeEhJVHdsb3pqbVVFTGtFZjNPK29jaFVmWmxTTTVHMndQOEFyTlM3aVovL0FJUzBRZ2s4d0h4OWlnaXF1eXVHRGtNT2hCNmU2bSsvc0JNcGtoQUVneVNnR0ZmM2VCK3RLUXg5bzVHMk90YjU1d1ZCTzQ2MEVNdkpwWU96RXZNbVg1R1R2QUlOTWswbkxDa0ErNkFDU0RuTlQvVWRKZzFPTUpKN0VpYkNWUnY3ajVWRkp1RzVMZVF4dXpIQjJaUnN3OFJ0VXMyNlk1K3NzbjAyeEg3TVkrbEtJbFBObk85TzF0dy9IMmE4enljM2Z1TUNsUTBLM0EvV3krZU1WWE14dkt5cGhUVDNvZDlPdHRNaG5rS0YxeWhZNE8zaFhHYlNiWkdSV21sSE41ak5LYld5aXQxSVdTVGxmY2x0K2c4cUJ6aXVDMDZNWGtqbUI5bVdKK1YxejRFVllPajYzclN3a3oyMFdvUkQ3clJuc3BjWUdCeS9kUGZ2a0dxNnQzQ01DUU4vTDhLbk9nM2I4MjhtQXdJVXQreHQzZTdOQktkTjRnMC9VSkNycWJTNVJnaGh1MUtPR1BRTG5aaWZJbW5xbWkzbGpOd1N5eFNGbkdNWVBUdjkrNHAzb0NpaWlnalhFNnMweWdrOGpXNVhIbnpqUDRFMUJlUDUwc3VHVEVuM3BUZ0RmcWVwK1cxVDdYNWd1b1dzTHFBanhzUTU3am5wK0ZWaDZVNUdTMjA2Qm05cG1MRWVBd2NEOGFDTytqNnhNbXVldG5ZUWxVSGp6TWNmVE5XZXRzSDBhL2pQVkdWdmhrMUZ2UjVZTkhwOXRJdy9YenRQMDZCUnlqOFFhbjBVSVByY0lHZTFqUHpGQXhMUDJ0cmJ1K2VTWmV4Y2o5bHh0ekQ4S2NYak52dytrU2pNa2poRlB2cHFzMUUybjNsc3g5cU05b244eFR2cGg5ZnQ3UW5jdzdON3gzMEdVajlXdHJ0QVFSRGJpUElIei9HbXlmN0hoS054MWRtSHpOUFYwT1RUTlJrd1J6RHFmZUthTlZqeHduQUUvWWt5Y1VGR2FuQzFycVZ4R2RzT1NOL0hjZldyU2p2VGU2SGFOekQ3V0JlVnozUGpwOHh0NTFBdUw3VXhYc055QnRNbUNmTmFVY1AzNU9pdkF6WUNTSGxiUFR2K3RCSUh1dldyMkdadnZPTXllOWRqOUtmZURnVHhMWXR1VjdiYnkyTlEvVG05WXVwQzJ3UUZ2aWV2MHFjOEZBSFdiWTQyN1lFZkkwRmc2bmd4emc3N0FnZUpHLzhBS283YjRPa3U0VDdNb1dZamJtR09ueDZlNFV1NGgxU08ya25RRWN5akh4d0RUUGFYZ3V1Rkw0aHdJNHc0YkdOdHM0OHNENjBGUDhQeG05NHZ0cEpQYkFtTXplNFpQNVZkVm5iOW5ZV2hJM0I3VDRtcXo5R3RpTG5VYjJZNHlrS3hqL2pPK1BsVnZYRVlqVUFEQUEyOHFCazFGdlUrSlVtNkpLTW56RFZ0WU42cGVYbG9NZTE5ejNWbmlHTXZhMjF5QWVkY0thNE0vTk5hWGlBL2RBZWdmSUxZUm16aC9jR2NEdXBCWVplODFOaDNoZ1BoVDVibFpabzVWNzk4MHk2WkdSZTNhSHZsYjhhQ3ErTGJjU2FkSytEenhTQnMvR21UZy9VUFZkUW50MlljazBlNDh4MHFaNjViQ1VYMXZnRG1EZGZMSnF0Tk1mc05YakIyM0ttZ21WNWRNOHp4ZysyUUZCODg3VllQbzJCL1R0enpkZlZnUC9XdFZiTElFMUszTEhibUI2MWFYbzBmdE9JTHR1NHdELzhBTmFDS2FReVhXdDJ1UnRQZkZpUEhMWStnRlRuV3JneGFaS3g2NEpOVjd3UGROZmEvYnRLQUNzMDJBUDdwYkIvQ3BWeFBkbjlEdTJjY3lFMEZPYTlmOHR0S0FEenMzS0NQUC8ycUdrbGpudk5URFVMZUs4dG93eFZUejh6bnZJR2FRTERaMjQ1WUlBVy9mZmNtcEpJM2xuY3BKZmpscFRHM3NXbExjcDVzZ0h2cGNiZ3lFQW5wVGZmTWlSY29VYzNmU3pUcmZ0OU9TNFJBNTVpckR3eFZZT09tYW0xck1WNXRtNjFNbDFOWHNobjkzQkhmVUJFUDJvNW9nUGhVczBWclVxaXZiSVNUam1id29GdG8yL01Ua0hwVjU2ZmR4UVdEVFNON0tybmYzYjFVNlBvNndxb3RvUnlqZnI3UnJoclBHTTM2UDlVZ2ZCWVlPTzRlRkJIT0kxdGRVbXVXa1FNclNzeW53R1NhbWZCVmcwdm9QMVcwdCtkajZ6TVJqcnNVWS9TcXd2NzFsanhra21yajlGQTUvUmpjcXgyZTdtQko4d2dvSXBwRUhKcHNkeE12SzBqZlpMayswcDN6VHNwQU93N2hqek5NcVN1bW9pemtsYVZJQ1ZRRTdBS2U2bjhLckJteGhldWU3RkJqN294Z2sxaFpjdnlZSkFIVUdzeVJNRUxad2NaNVNLNTRPRHNjK1kvblFkK2R1aUhiNTFnRDJjWVB4RzljVWZBMlBYNFYwVml3emdzZS9Cb0FuR1FUeTR6Zy93QXF3VGhCdm5JNm5yOHFDZmNNYmN0YUFnRTV4bkI2MEdnNU04ekFnWS8wUGxYTW9TZnZnSGJyMThmeStWZE9YMmxBR1d5ZDY1OHc2a0gzWW9NdkNjOHlqR01mRDRWTHVJRlljSTZHR1BQeXF2TnQ5NzdPb2h6OXhiYnI0VktlSjc0V1hDL0RuTS9La3pDTWhoMSt6L0NnaXVPYlBOakhjTWRhMC9heHk4dWVnOGE3elFZNW5CQ2dmUEZKK1ZTVkkzeDMwR1ZsSDNOeGtlRmRTQThaamtCZFNjanhYekZDQk00T0NCMXdkeldIQWRSM1p4MzBDQ2Uza3R4a01YakoyZm9QY2ZDa3JTa0hMTm5hbmpsSlU1WEtzTjg5Q0tSWGVuaFVhYTN6MmY3UzR5VndOL2hRSkJjY25LTUFIdXJET25VYjRwT010c3B3TTV6L0FLOHEyRGN2VEhUT1Nlb0hoUUxyTzJrbmtRUSswVGpZSDRWTXRJMHk0aWdMU3pyR0NRQ3JibkgralVRc3B1eVFnQTV4MXowMzYvaFRzTlRsN1BzNHBlVlJsY0U5VHRRV0ZhV2lKTmJzMDZIMmc3RUlSa2dnZnpxUVZWT2hheGQvcExUb2VkaWhrVUU1OFdXcldvQ2lpaWdoM0Z0NExmWDlJUnNGU0dJQjhTY2Z6cXR2U3dXL1M5Z0dPY3dNMk0vM3F1KzYwdXh2YmlHNHVyV09hYUQ5VTdqZFBkU0xVT0ZOQjFhVkpOUTBtMnVYUmVWV2tCSkF6bkhXZ2luQittbTAwVzBSd2N4VzZyN3MrMGZ4YW5sWEVWekdjYlp3YWtVZGpheElFamdSVkFBQUE4TmhXRHA5bVRrMjZFMEZkbFRZNjJ5SFpYT0Q3alMvU3Y4QVk3MldJNTVHSklQdnFZVGFOcHR4SUpKcktKM0hSaURtdGhwVmdHREMwaXlPL0JvR1BWSS82a3ZQN3cvblRYY0tINFptSVhPQUdGVFY3TzJraU1Ud295SHFwNkd1UTBxd0Z1YmNXa2ZZa1lLWU9LRHoxeGRidE5wSWwzUFpPQUFPNFkzcU84T3lyL3ROdXgrOE9ZZWZqWHBtYmhIaDY0aWFLYlI3VjQyKzhwQndmeHBKRjZQZUVJSDU0dUhyRkd4aklWdnpvS0cwMlpvN3U0UW5ydHZWaThHNUd0V0FBeURMa240R3B3dkF2Q3F1WFhRYk1NVGtubGI4NmNMWFFkS3NwVWt0ckNHSjBPVlpRY2o4YUN0ZU03a3J4UmZRSzJBM0psZkU4b29VVFdmQytyUWNvN0pyQ1YyYi93QzZRUjlLc2U2NGMwYTl2R3ZMblRiZVc0WWdtUmdja2dZSGY1Q3QzMEhTcExlV0JyQ0V4U3J5eUlRY01QQTcwRldlaVcwUHF0OWRzdjJaa1ZRM2p5Zy8vd0NoVmdTL2FsaFRwcDJoYVZwTnMxdnA5aERiUXMzT1VqQkFKOGV2a0tVK3BXMmM5Z21hQ0xUeENhMmt0bXpuSkswMGFhQ3lTVzdkVU93cWZtd3RHZm1OdWhieHJrbWs2ZkhJMGlXa1N1M1VnSGVnYU5ObTVVQ01jWTJGSkxST1RYTGxjZFJ6VkpsMCswUTVXM1FIcnRRTlB0Qk9aaGJwMnBHQzNmaWdxSFhDWXRWdUF3TzVZVlZHclF0WmF0SU1FZTJHRmVxcmpoelJycVF5VDZiYnlPM1ZtQnlmeHBCYzhBOEpYa25hWEhEOWxJL1RMS2Z6b1BQRjVNWHU3WmxCUE1QNVZhdm9tbVY5WnVWTEF5QzNHUjRlMnRUUmVCT0ZWWkdYUWJJR1A3cDVUdCtOTGRNNGMwYlJydVM3MDNUWUxXNGxYbGVTTUVGaG5PT3ZpQWFEejk2UGJpNFhpMlZDVjdPRkxsK200M1A1MDljZGE5RGFXeHRZMlZwaUNHVWZzOUt0Mno0SzRhMCs0ZTR0TkZ0SVpuQkRPaW5KQjY5L2ZYSzU0QjRUdkpXa3VkQXNwWFk1TE1HSkorZEI1WmVSekdNbmRxd3VVeXhIUVorTmVvditqamczL3dBTjJIOExmblFmUnp3YVFRZUhMREI2K3kzNTBIa3FWbmxiY2UrcFJ3NE96MDREbFB0WlA0MTZLLzZNK0NmL0FBenAvd0RDMzUwcGg0QzRUdDBDUmFCWklvNkFLMzUwSG5xUzM5ck9EV1VrbGpHRkdLOURuZ25oZzlkRHMvNFQrZFkvb053di91S3ovaFA1MEhuczNFaWpkalNOM1krMWs1ODY5SG5nVGhWdXVnMlIvd0NGdnpyVThBOEpucncvWmZ3dCtkQjVjdW5hV2MrVzFYbjZObU52Nko3aHlOMXZITy8rS09wWi93QkhQQjJjL3dCSExEK0Z2enAzczlDMHV3MDF0T3RMQ0dHelppelFvRHlrbkcvWHlIeW9LVTFGUmFjWVhLdi9BTnBLV0JBMnczaFQxRTNNb3gwWFlaNmJISDhxc3E0NFcwSzZuN2VmU3JhU1hBSE93T2NaejQxMFRoN1I0MTVWMDZBTDRZUGpueG9LemxZeUFuQjJIK3Mxd0xkWFpXejRuWWtlWXEwMjRkMFp1dW13SDRIODZ4L1J6UnM1L1JzR2NZNkg4NkNxbFp6azVPRDM0N3ZBVjNMbGM4cnRrZXlEamIzMVozOUc5Ri8zYkI4aitkQjRiMFU5ZE50K21PaC9PZ3E1bUhRNUoyMno4cTJKQzdnRW56cTBEdzVveElKMDIzeU44NFA1MWdjT2FNQmdhYkJqM0g4NkNyMkF4bkJ5ZkRwV2tudDU3Z1J1ZkNyVEhEZWlnQURUYmZBNmJIODZEdzNvcE9UcHR2OEFJL25RVk5saVNDMmNIT01lRk92cEhCSEFYRFJ6dXJxYy93RGwxWVo0YTBRbkoweTN6N2orZGRiN1F0SzFLemhzNzJ3aG50NGYxVWJnNFRiRzIvaFFVenBlcEhWTE5lWVlsanh6QURxT2xLRUdIOGo0VmFkdHdmdzdac1d0dEh0WWkyeEtnNy9qWFgrakdoNHgraTdmSHVQNTBGVTU1R0tnTVQxSUhkVzRKS2hnblRwdGpOV24vUmpRL3dEZGR2OEFJL25XMzlHOUcvM2JiL0kvblFWZW9WUGFiMmxHQmcvNjZWaU15eG9Xa0lEQmlWWkQxWFBzOWZ4cTB2Nk9hTi91MjMrUi9Pc0hoelJqMTAyMytSL09ncVc1MHRMbFRMYkJJNVd6elJqbzNtRDNlNm1ZeE1qbm5SZ1ZQdEJ0aU1WZW45SGRIMi9xMjMyOGorZGFTOE1hSE8vUExwZHM3WXhrZzUrdEJTcUtwQUJCSTZEQjdqWFJuWitYbUJHQ0Q0K05YSC9SUGgvL0FIUmEvd0FKL09nOEo2QWV1a1d2eVA1MEZWNk5NejY1cGlndG4xbU1IdysrS3UwOWFhSWVGOUNnbWptaTB1M1NTTmc2TUFjZ2pvZXRPOUFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUWYvL1omcXVvdDsgYWx0PSZxdW90O0lsIHR1byBicm93c2VyIG5vbiAmZWdyYXZlOyBjb21wYXRpYmlsZSBjb24gbGUgaW1tYWdpbmkgaW5jb3Jwb3JhdGUsIG1pIHNwaWFjZSZxdW90Oy8+DQo8aDM+Rm9nbGkgZGkgU3RpbGU6PC9oMz4NCjxwPlF1ZXN0byBtb2R1bG8gZnVuemlvbmEgYW5jaGUgY29uIGkgZmxvZ2xpIGRpIHN0aWxlLCBzZSBzaSB1c2EgaWwgdGFnIHtjbXNfc3R5bGVzaGVldH0gbmVsIG1vZGVsbG8gZGVsbGEgcGFnaW5hLiBQb2ljaCZlYWN1dGU7IGxhIHNpbnRhc3NpIGRpIHNtYXJ0eSAmZWdyYXZlOyBsZWdnZXJtZW50ZSBkaXZlcnNhIGFsbCYjMDM5O2ludGVybm8gZGVsIHRhZyB7Y21zX3N0eWxlc2hlZXR9IHNpIHV0aWxpenphIGlsIG1vZHVsbyB1c2FuZG8gaSBkZWxpbWl0YXRvcmkgIFtbIGUgXV0uICBPdnZlcm86IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz5kaXYuaGVhZGVyIHsgYmFja2dyb3VuZDogdXJsKFtbQ0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL3BpY3R1cmUuanBnJiMwMzk7IG5vdGFnPTFdXSk7IH08L2NvZGU+PC9wPg0KPHA+QSBjYXVzYSBkZWwgZmF0dG8gY2hlIGkgZm9nbGkgZGkgc3RpbGUgdmVuZ29ubyBnZW5lcmF0aSBkb3BvIGxhIGxvcm8gbW9kaWZpY2F0aSBlIG1lbW9yaXp6YXRpIG5lbCBmaWxlc3lzdGVtIG5vbiB2aSAmZWdyYXZlOyBhbGN1biBtb2RvIHBlciBkZXRlcm1pbmFyZSBkdXJhbnRlIGxhIHJpY2hpZXN0YSBxdWFsZSBicm93c2VyIHN0YSByaWNoaWVkZW5kbyBpbCBmb2dsaW8gZGkgc3RpbGUsIHBlcmNpJm9ncmF2ZTsgbCYjMDM5O2luY29ycG9yYW1lbnRvIHZlcnImYWdyYXZlOyBlZmZldHR1YXRvIGJhc2FuZG9zaSBzdHJldHRhbWVudGUgc3VsbGEgcmlsZXZhemlvbmUgYW50aWNpcGF0YSBkZWwgcGFyYW1ldHJvIG5vZW1iZWQuIFNlIHNpICZlZ3JhdmU7IGRlY2lzbyBkaSBpbmNvcnBvcmFyZSBsZSBpbW1hZ2luaSBkaXJldHRhbWVudGUgbmVpIGZvbGdpIGRpIHN0aWxlLCBwb3RyZWJiZSBlc3NlcmUgbmVjZXNzYXJpbyBhZ2dpdW5nZXJlIGFzc2lzdGVuemEgYWRkaXppb25hbGUgcGVyIGkgZm9nbGkgZGkgc3RpbGUgcGVyIGkgYnJvd3NlciBub24gY29tcGF0aWJpbGkgY29uIGxlIGltbWFnaW5pIGluY29ycG9yYXRlLiBPdnZlcm86ICBJRTYuPC9wPg0KPGgzPkVsYWJvcmF6aW9uZSBhdXRvbWF0aWNhPC9oMz4NCjxwPlF1ZXN0byBtb2R1bG8gaW5jbHVkZSB1biB0YWcgZGkgYmxvY2NvIHNtYXJ0eSBjaGlhbWF0byA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e2Nnc2lfY29udmVydH08L2NvZGU+IGNoZSBwdSZvZ3JhdmU7IHJhY2NoaXVkZXJlIHVuIGJsb2NjbyBodG1sLCBvIGFsdHJpIHRhZyBzbWFydHkgcGVyIGNvbnNlbnRpcmUgbCYjMDM5O2VsYWJvcmF6aW9uZSBhdXRvbWF0aWNhIGRlbGxlIGltbWFnaW5pLiBRdWVzdG8gdGFnIHB1Jm9ncmF2ZTsgZXNzZXJlIHVzYXRvIGluIHF1ZXN0byBtb2RvOiAoYWQgZXNlbXBpbyk6PC9wPg0KPHByZT48Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e2Nnc2lfY29udmVydH17Y29udGVudH17L2Nnc2lfY29udmVydH08L2NvZGU+PC9wcmU+DQo8cD5RdWVzdG8gcGVybWV0dGVyJmFncmF2ZTsgYWdsaSB1dGVudGkgZGkgaW5jbHVkZXJlIGltbWFnaW5pIG5lbGxlIHBhZ2luZSB1c2FuZG8gaSBub3JtYWxpIHN0cnVtZW50aSB3eXNpd3lnLCBwcm9jZXNzYW5kb2xlICBlZCBpbmNvcnBvcmFuZG9sZSBhdXRvbWF0aWNhbWVudGUgbmVsbGEgcGFnaW5hIHV0aWxpenphbmRvIGxhIG1hZ2lhIGRpIHtDR1NtYXJ0SW1hZ2V9LiAgRXNlbXBpbzogVmVkaSBpbCBzZWd1ZW50ZSBjb2RpY2U6PC9wPg0KPHByZT48Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e2Nnc2lfY29udmVydCBmaWx0ZXJfZ3JheXNjYWxlPTEgZmlsdGVyX3dhdGVybWFyaz0xfXtjb250ZW50fXsvY2dzaV9jb252ZXJ0fTwvY29kZT48L3ByZT4NCjxwPklsIGNvZGljZSBxdWkgc29wcmEgY2F0dHVyZXImYWdyYXZlOyB0dXR0aSBpIHRhZyBpbW1hZ2luZSwgZSBsZSBjb252ZXJ0aXImYWdyYXZlOyBpbiBzY2FsYSBkaSBncmlnaW8sIHF1aW5kaSBhcHBsaWNoZXImYWdyYXZlOyBsYSBmaWxpZ3JhbmEgKHNlY29uZG8gbGUgaW1wb3N0YXppb25pIHByZXNlbnRpIG5lbCBtb2R1bG8gQ0dFeHRlbnNpb25zKS4gVHV0dGkgaSBwYXJhbWV0cmkgZGlzcG9uaWJpbGkgbmVsIHRhZyA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e0NHU21hcnRJbWFnZX08L2NvZGU+IHNvbm8gZGlzcG9uaWJpbGkgaW4gcXVlc3RvIHRhZyAocGVyIGxhIHNjYWxhdHVyYSBkZWxsZSBpbW1hZ2luaSBlY2MuKS4gSW4gcGkmdWdyYXZlOywgc29ubyBzdGF0aSBpbnRyb2RvdHRpIGR1ZSBudW92aSBwYXJhbWV0cmk6IDxzdHJvbmc+bWF4X3dpZHRoPC9zdHJvbmc+IGUgPHN0cm9uZz5tYXhfaGVpZ2h0PC9zdHJvbmc+IGNoZSBwb3Nzb25vIGVzc2VyZSB1c2F0aSBwZXIgaW1wb3N0YXJlIGxhIGdyYW5kZXp6YSBtYXNzaW1hIGRlbGxlIGltbWFnaW5pLjwvcD4NCjxkaXYgc3R5bGU9JnF1b3Q7bWFyZ2luLWxlZnQ6IDNlbTsmcXVvdDs+PHN0cm9uZyBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz5Ob3RhOjwvc3Ryb25nPg0KPHA+UXVlc3RvIHRhZyBhbmFsaXp6YSBpbCBjb250ZW51dG8gSFRNTCBjb21wcmVzbyB0cmEgaSB0YWcgZGkgaW5pemlvIGUgZmluZSBwZXIgdHJvdmFyZSBpIHRhZyA8aW1nPi4gUXVpbmRpIGdlbmVyZXImYWdyYXZlOyB1biBvdXRwdXQgSFRNTCBzaW50YXR0aWNhbWVudGUgdmFsaWRvIHBlciBpbCBzb3R0b2luc2llbWUgZGkgY29kaWNlIHByZXZpc3RvLiAgUGVydGFudG8gJmVncmF2ZTsgaW1wb3J0YW50ZSBjaGUgaWwgZnJhbW1lbnRvIGRpIEhUTUwgcGFzc2F0byBhbCB0YWcgZXNzZXJlIGludGF0dG8gZSBpbCBwaSZ1Z3JhdmU7IHZpY2lubyBwb3NzaWJpbGUgYWkgdmFsaWRlLiBQZXJ0YW50byAmZWdyYXZlOyBpbXBvcnRhbnRlIGNoZSBpbCBmcmFtbWVudG8gZGkgSFRNTCBwYXNzYXRvIGFsIHRhZyBzaWEgaWwgcGkmdWdyYXZlOyBpbnRhdHRvIGUgdmFsaWRvIHBvc3NpYmlsZS4gIDxzdHJvbmc+VXNhcmUgY29uIGNhdXRlbGEuPC9zdHJvbmc+DQo8L2Rpdj4NCjxoMz5Bc3Npc3RlbnphPC9oMz4NCjxwPlF1ZXN0byBtb2R1bG8gbm9uIGluY2x1ZGUgYXNzaXN0ZW56YSBjb21tZXJjaWFsZS4gQ29tdW5xdWUsIHNvbm8gZGlzcG9uaWJpbGkgbnVtZXJvc2Ugcmlzb3JzZSBkaSBhaXV0bzo8L3A+DQo8dWw+DQo8bGk+UGVyIGwmIzAzOTt1bHRpbWEgdmVyc2lvbmUgZGkgcXVlc3RvIG1vZHVsbywgRkFRcywgbyBwZXIgc2VnbmFsYXJlIHVuIEJ1ZyBvIHBlciBhY3F1aXN0YXJlIGFzc2lzdGVuemEgY29tbWVyY2lhbGUsIHNlaSBwcmVnYXRvIGRpIHZpc2l0YXJlIGwmIzAzOTtob21lIHBhZ2UgZGVsIG1vZHVsbyBkaSBjYWxndXkgYSA8YSBocmVmPSJodHRwOi8vY2FsZ3V5MTAwMC5jb20iPnRlY2hjb20uZHluZG5zLm9yZzwvYT4uPC9saT4NCjxsaT5VbHRlcmlvcmkgZGlzY3Vzc2lvbmkgc3UgcXVlc3RvIG1vZHVsbyBwb3Nzb25vIGVzc2VyZSB0cm92YXRlIG5laSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkZvcnVtIGRpIENNUyBNYWRlIFNpbXBsZTwvYT4uPC9saT4NCjxsaT5MJiMwMzk7YXV0b3JlLCBjYWxndXkxMDAwLCBwdSZvZ3JhdmU7IGVzc2VyZSByYWdnaXVudG8gc3Blc3NvIG5lbCA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPmNhbmFsZSBJUkMgQ01TPC9hPi48L2xpPg0KPGxpPkluZmluZSwgcHUmb2dyYXZlOyBhbmNoZSBkYXJzaSBjaGUgbCYjMDM5O2F1dG9yZSByaXNwb25kYSBhZCB1bmEgcmljaGllc3RhIGRpcmV0dGEgdmlhIGVtYWlsLjwvbGk+ICANCjwvdWw+DQo8aDM+UmVxdWlzaXRpPC9oMz4NCjxwPlBlciBsYSBtYW5pcG9sYXppb25lIGRlbGxlIGltbWFnaW5pLCBxdWVzdG8gbW9kdWxvIGZhIGxhcmdvIHVzbyBkZWxsYSBsaWJyZXJpYSBHRCBwZXIgbCYjMDM5O2VsYWJvcmF6aW9uZSBkZWxsZSBpbW1hZ2luaS4gIEluIGFnZ2l1bnRhLCBpbCBwbHVnaW4ge2Nnc2lfY29udmVydH0gdXNhIGluIG1vZG8gZXN0ZXNvIGxlIGNsYXNzaSBzaW1wbGV4bWwgIGUgWE1MRG9tIHByb3ByaWUgZGkgcGhwLiBQb3Nzb25vIGVzc2VyZWNpIGFsdHJpIHJlcXVpc2l0aSBzdXBwbGVtZW50YXJpLiBJbiBjYXNvIGRpIGVycm9yaSwgYXNzaWN1cmF0aSBjaGUgbGEgc2VnbmFsYXppb25lIGRlZ2xpIGVycm9yaSBzaWEgYWJpbGl0YXRhLCBlIGRpIGF2ZXIgYW5hbGl6emF0byBpIHR1b2kgZmlsZSBkaSBsb2cuIGRlZ2xpIGVycm9yaS48L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydpbmZvX2FsaWFzZXMnXSA9ICdHbGkgYWxpYXMgcG9zc29ubyBlc3NlcmUgdXNhdGkgbmVsIHRhZyBDR1NtYXJ0SW1hZ2UsIGRhbGwmIzAzOTtvcHppb25lIGFsaWFzMSBhbGwmIzAzOTthbGlhczUsIHBlciBjb21iaW5hcmUgdHJhIGxvcm8gb3B6aW9uaSB1c2F0ZSBkaSBmcmVxdWVudGUnOwokbGFuZ1snaW5mb19jcm9wdG9maXRfZGVmYXVsdF9sb2MnXSA9ICdTcGVjaWZpY2FyZSBsYSBwb3NpemlvbmUgcHJlZGVmaW5pdGEgZGEgY3VpICZxdW90O1JpdGFnbGlhcmUgZWQgQWRhdHRhcmUmcXVvdDs7IGF2ciZhZ3JhdmU7IGVmZmV0dG8gc3UgdHV0dGUgbGUgb3BlcmF6aW9uaSBkaSByaXRhZ2xpbyBlZCBhZGF0dGFtZW50byBzZSBub24gZGl2ZXJzYW1lbnRlIHNwZWNpZmljYXRvIG5lbCBwYXJhbWV0cm8gZGkgcG9zaXppb25hbWVudG8gZGVsbCYjMDM5O2F0dHJpYnV0byBkZWwgZmlsdHJvIGZpbHRlcl9jcm9wdG9maXQuIExhIHBvc2l6aW9uZSBwcmVkZWZpbml0YSAmZWdyYXZlOyAmcXVvdDtjZW50ZXImcXVvdDsnOwokbGFuZ1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnTCYjMDM5O1VSTCBxdWkgc29wcmEgdGllbmUgY29udG8gZGVsbGEgY2FydGVsbGEgY2FjaGUgKF9DR1NtYXJ0SW1hZ2UpJzsKJGxhbmdbJ2ltYWdlX3VybF9wcmVmaXgnXSA9ICdQcmVmaXNzbyBVUkwgSW1tYWdpbmUnOwokbGFuZ1snaW5mb19jYWNoZV9hZ2UnXSA9ICdTcGVjaWZpY2FyZSBsJiMwMzk7ZXQmYWdyYXZlOyBtYXNzaW1hIGRpIHVuIGZpbGUgKGluIGdpb3JuaSkgcHJpbWEgY2hlIHNpYSByaW1vc3NvIGUgcmlnZW5lcmF0by4gUXVlc3RvICZlZ3JhdmU7IHV0aWxlIG5lbCBjYXNvIGluIGN1aSBzaWFubyBzdGF0aSBtb2RpZmljYXRpIGFsY3VuaSBkZWkgcGFyYW1ldHJpIHVzYXRpIG5lbGxhIGdlbmVyYXppb25lIGRlbGxlIGltbWFnaW5pLCBvcHB1cmUgcGVyIGNvbnRyb2xsYXJlIGxhIHF1b3RhIGRpIHNwYXppbyBkaXNjbyB1c2F0by4gSW1wb3N0YW5kbyAwIGxhIGNhbmNlbGxhemlvbmUgYXV0b21hdGljYSBkZWwgZmlsZSAmZWdyYXZlOyBkaXNhYmlsaXRhdGEnOwokbGFuZ1snaW5mb19lbWJlZF9tb2RlJ10gPSAnUXVlc3RhIHNlbGV6aW9uZSBkZXRlcm1pbmEgaWwgbW9kbyBpbiBjdWkgaWwgdGFnIHtzbWFydGltZ30gZ2VuZXJlciZhZ3JhdmU7IGwmIzAzOTtvdXRwdXQuIFNlIHZpZW5lIHNlbGV6aW9uYXRvICZxdW90O25vbmUmcXVvdDsgbm9uIHZlcnImYWdyYXZlOyBlc2VndWl0YSBuZXNzdW5hIGluY29ycG9yYXppb25lIGRlbGwmIzAzOTtpbW1hZ2luZS4gU2VsZXppb25hbmRvICZxdW90O3NtYXJ0JnF1b3Q7IGlsIHNpc3RlbWEgZGVjaWRlciZhZ3JhdmU7IGluIGJhc2UgYWxsYSBncmFuZGV6emEgZGVsbCYjMDM5O2ltbWFnaW5lLCBhbCB0aXBvLCBlZCBhbCBicm93c2VyIGNoZSBzdGEgcmljaGllZGVuZG8gbCYjMDM5O2ltbWFnaW5lLiBMZSBhbHRyZSBvcHppb25pIGluY2x1ZG9ubyBzZW1wcmUgbCYjMDM5O2luY29ycG9yYW1lbnRvIGJhc2F0byBzdWxsYSBncmFuZGV6emEgZGVsbCYjMDM5O2ltbWFnaW5lLCBvIGlsIHRpcG8gZGkgaW1tYWdpbmUuJzsKJGxhbmdbJ2luZm9fZW1iZWRfc2l6ZWxpbWl0J10gPSAnU2UgbCYjMDM5O29wemlvbmUgZGkgaW5jb3Jwb3JhbWVudG8gJmVncmF2ZTsgZGV0ZXJtaW5hdGEgZGFsbGEgZ3JhbmRlenphIGRlbGwmIzAzOTtpbW1hZ2luZSwgc3BlY2lmaWNhcmUgbGEgZ3JhbmRlenphIG1hc3NpbWEgZGVsbGUgaW1tYWdpbmkgZGEgaW5jb3Jwb3JhcmUgKGluICBraWxvYnl0ZXMuIFJhY2NvbWFuZGF0byAzMikuJzsKJGxhbmdbJ2luZm9fZW1iZWRfdHlwZXMnXSA9ICdTZSBsJiMwMzk7b3B6aW9uZSBkaSBpbmNvcnBvcmFtZW50byAmZWdyYXZlOyBkZXRlcm1pbmF0YSBkYWwgdGlwbyBkaSBpbW1hZ2luZSwgc3BlY2lmaWNhcmUgcXVpIGxlIGVzdGVuc2lvbmkgZGVpIGZpbGUgZGEgaW5jb3Jwb3JhcmUsIHNlcGFyYXRlIGRhIHZpcmdvbGEuIFF1ZXN0YSBvcHppb25lIG5vbiBmYSBkaXN0aW56aW9uZSB0cmEgbWFpdXNjb2xlIGUgbWludXNjb2xlLic7CiRsYW5nWydpbmZvX2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ1NlIGxhIHByb3ByaWEgQ0ROIHB1bnRhIGRpcmV0dGFtZW50ZSBhbGxhIGNhcnRlbGxhIGNhY2hlIGRlbGxlIGltbWFnaW5pLCBzaSBwb3RyZWJiZSB2b2xlciBhdHRpdmFyZSBxdWVzdGEgb3B6aW9uZS4nOwokbGFuZ1snaW5mb19pbWFnZV91cmxfcHJlZml4J10gPSAnU3BlY2lmaWNhcmUgbCYjMDM5O1VSTCBkYSBhbnRlcG9ycmUgYSB0dXR0ZSBsZSBpbW1hZ2luaSBnZW5lcmF0ZS4gTCYjMDM5O1VSTCBkaSB1cGxvYWRzICZlZ3JhdmU7IGwmIzAzOTtpbXBvc3RhemlvbmUgcHJlZGVmaW5pdGEsIGNvbXVucXVlIHNlIHNpIGhhIHVuYSBwcm9wcmlhIENETiAobyBkb21pbmkgbXVsdGlwbGkgY2hlIHB1bnRhbm8gYWxsYSBzdGVzc2EgY2FydGVsbGEpLCBzaSBwb3RyZWJiZSB2b2xlciBzcGVjaWZpY2FyZSB1biBub21lIGRpdmVyc28uJzsKJGxhbmdbJ21heF9jYWNoZV9hZ2UnXSA9ICdFdCZhZ3JhdmU7IG1hc3NpbWEgZGVpIGZpbGUgbmVsbGEgY2FjaGUgKGdpb3JuaSknOwokbGFuZ1snbW9kZGVzY3JpcHRpb24nXSA9ICdNb2R1bG8gcGVyIENNU01TIHBlciBsYSBnZW5lcmF6aW9uZSBpbnRlbGxpZ2VudGUgZGVsIHRhZyBpbWFnZSc7CiRsYW5nWydtc2dfYWxpYXNlc191cGRhdGVkJ10gPSAnQWxpYXMgQWdnaW9ybmF0aSc7CiRsYW5nWydtc2dfY2FjaGVjbGVhbmVkJ10gPSAnQ2FydGVsbGEgQ2FjaGUgcHVsaXRhLiBSaW1vc3NpICVkIGZpbGUnOwokbGFuZ1snbXNnX2NhY2hlcmVtb3ZlZCddID0gJ0NhY2hlIFJpbW9zc2EnOwokbGFuZ1snbXNnX3ByZWZzdXBkYXRlZCddID0gJ1ByZWZlcmVuemUgQWdnaW9ybmF0ZSc7CiRsYW5nWydub25lJ10gPSAnTmVzc3Vubyc7CiRsYW5nWydvcHRpb25zJ10gPSAnT3B6aW9uaSc7CiRsYW5nWydwYXJhbV9hbGlhcyddID0gJ0lsIHBhbm5lbGxvIGRpIGFtbWluaXN0cmF6aW9uZSBDR1NtYXJ0SW1hZ2UgY29uc2VudGUgbGEgY3JlYXppb25lIGRpIG51bWVyb3NpIGFsaWFzIGRpIGNvbWFuZG8gcGVyIGNvbWJpbmFyZSBpbiB1biB1bmljbyBub21lIGFyZ29tZW50aSB1c2F0aSBkaSBmcmVxdWVudGUuIFBlciB1dGlsaXp6YXJlIHF1ZXN0aSBhbGlhcywgdXNhcmUgdW4gYXJnb21lbnRvIGRlbCBtb2R1bG8gYWxpYXMjIz1hbGlhc19uYW1lLCBjb21lIGFsaWFzMT1mb28gYWxpYXMyPWZvby4nOwokbGFuZ1sncGFyYW1fYWx0J10gPSAnVXNhdG8gbmVsbGEgY3JlYXppb25lIGRpIHVuIHRhZyBpbWcsIHNwZWNpZmljYSBpbCB2YWxvcmUgZGVsbCYjMDM5O2F0dHJpYnV0byBhbHQuIE5vdGE6IHNlIG5vbiBzcGVjaWZpY2F0bywgc2FyJmFncmF2ZTsgYXV0b21hdGljYW1lbnRlIGNhbGNvbGF0byB1biB2YWxvcmUgcGVyIHF1ZXN0byBhdHRyaWJ1dG8gcGVyIGNvbnNlbnRpcmUgbGEgdmFsaWRhemlvbmUgZGVsbGEgbWFnZ2lvciBwYXJ0ZSBkZWkgdGFnIGltZy4gJkVncmF2ZTsgcG9zc2liaWxlIGluaWJpcmUgcXVlc3RvIGF1dG9tYXRpc21vIG1lZGlhbnRlIGlsIHBhcmFtZXRybyAmcXVvdDtub2F1dG8mcXVvdDsnOwokbGFuZ1sncGFyYW1fY2xhc3MnXSA9ICdVc2F0byBuZWxsYSBjcmVhemlvbmUgZGkgdW4gdGFnIGltZywgcGVybWV0dGUgZGkgc3BlY2lmaWNhcmUgdW5hIG8gcGkmdWdyYXZlOyBjbGFzc2kgZGEgaW5jbHVkZXJlIG5lbCB0YWcuIEFkIGVzZW1waW86IGNsYXNzPSZxdW90O2ZhbmN5Ym94LHRodW1ibmFpbCZxdW90Oyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfYmx1ciddID0gJyhxdWFsc2lhc2kpIFNwZWNpZmljYXJlIHVuIHZhbG9yZSBwZXIgcXVlc3RvIHBhcmFtZXRybyBwZXIgYWdnaXVuZ2VyZSB1biBmaWx0cm8gc2ZvY2F0dXJhIGFsbCYjMDM5O2ltbWFnaW5lJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9icmlnaHRuZXNzJ10gPSAnKGludGVybykgQXVtZW50YSBsYSBsdW1pbm9zaXQmYWdyYXZlOyBkZWxsJiMwMzk7aW1tYWdpbmUgZWxhYm9yYXRhIGRlbCB2YWxvcmUgaW50ZXJvIHNwZWNpZmljYXRvJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jb2xvcml6ZSddID0gJyhyLGcsYlssYWxwaGFdKSAtIENvbWUgZmlsdGVyX2dyYXlzY2FsZSAmZWdyYXZlOyBjb211bnF1ZSBwb3NzaWJpbGUgc3BlY2lmaWNhcmUgaWwgY29sb3JlIGVkIGlsIHZhbG9yZSBhbGZhJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jb250cmFzdCddID0gJyhpbnRlcm8pIE1vZGlmaWNhIGlsIGNvbnRyYXN0byBkZWxsJiMwMzk7aW1tYWdpbmUgaW4gYmFzZSBhbGwmIzAzOTtpbnRlcm8gc3BlY2lmaWNhdG8nOwokbGFuZ1sncGFyYW1fZmlsdGVyX2Nyb3AnXSA9ICcocGVyY2VudHVhbGVbLGhfYWxpZ24sdl9hbGlnbl0pIC0gRWZmZXR0dWEgaWwgcml0YWdsaW8gZGVsbCYjMDM5O2ltbWFnaW5lIHNwZWNpZmljYXRhLiBJIHZhbG9yaSBwZXIgaWwgcml0YWdsaW8gc29ubyBzcGVjaWZpY2F0aSBjb21lIHVuYSBsaXN0YSBkaSBwYXJhbWV0cmkgc2VwYXJhdGkgZGEgdmlyZ29sYS4gSWwgcHJpbW8gdmFsb3JlIChyaWNoaWVzdG8pICZlZ3JhdmU7IHVuIGludGVybyBwZXJjZW50dWFsZSBkZWxsYSBncmFuZGV6emEgb3JpZ2luYWxlIGRlbGwmIzAzOTtpbW1hZ2luZS4gSWwgc2Vjb25kbyBlZCBpbCB0ZXJ6byBwYXJhbWV0cm8sIG9wemlvbmFsaSwgc29ubyByZWxhdGl2aSBhIGwsYyxyIChsZWZ0LGNlbnRlcixyaWdodCkgZSB0LGMsYiAodG9wLGNlbnRlcixib3R0b20pIGUgc3BlY2lmaWNhbm8gaWwgcHVudG8gZGVsbCYjMDM5O2ltbWFnaW5lIGRhIGN1aSBpbml6aWFyZSBpbCByaXRhZ2xpby4gRXNlbXBpbzogY3JvcD0zMyxiLHIgcGVyIGVmZmV0dHVhcmUgdW4gcml0YWdsaW8gZGVsMzMlIHBhcnRlbmRvIGRhbCBtYXJnaW5lIGluZmVyaW9yZSBkZXN0cm8gZGVsbCYjMDM5O2ltbWFnaW5lIG9yaWdpbmFsZS4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX2Nyb3B0b2ZpdCddID0gJyhsYXJnaGV6emEsYWx0ZXp6YSxbLHBvc2l6aW9uZV0pIC0gRWZmZXR0dWEgdW4gcml0YWdsaW8gZWQgdW4gYWRhdHRhbWVudG8gZGVsbCYjMDM5O2ltbWFnaW5lIHNwZWNpZmljYXRhLiBUZW50YSBkaSBzY2FsYXJlIGwmIzAzOTtpbW1hZ2luZSBhbGxhIGdyYW5kZXp6YSBkZXNpZGVyYXRhIG1hbnRlbmVuZG9uZSBpbCByYXBwb3J0byB0cmEgbGFyZ2hlenphIGVkIGFsdGV6emEsIHF1aW5kaSBmb2NhbGl6emEgbCYjMDM5O2FyZWEgc2VsZXppb25hdGEgZGVsbCYjMDM5O2ltbWFnaW5lIHNjYWxhdGEuIFBhcmFtZXRyaSBkaSByaXRhZ2xpbyBlZCBhZGF0dGFtZW50byBzb25vIHNwZWNpZmljYXRpIGNvbWUgbGFyZ2hlenphIGVkIGFsdGV6emEgZGVzaWRlcmF0ZSBwZXIgbCYjMDM5O2ltbWFnaW5lIGZpbmFsZSwgaW5zaWVtZSBjb24gdW4gY29kaWNlIChvcHppb25hbGUpIGRpIHBvc2l6aW9uZS4gQ29kaWNpIGRpIHBvc2l6aW9uZSB2YWxpZGkgc29ubyB0bCx0Yyx0cixjbCxjLGNyLGJsLGIsYnIgcmVsYXRpdmkgYWxsZSA5IHBvc2l6aW9uaSBhbGwmIzAzOTtpbnRlcm5vIGRlbGwmIzAzOTtpbW1hZ2luZS4gU2UgdW5hIHBvc2l6aW9uZSBub24gdmllbmUgc3BlY2lmaWNhdGEgdmVyciZhZ3JhdmU7IHVzYXRhIHVuYSBwcmVmZXJlbnphLiBJbCB2YWxvcmUgcHJlZGVmaW5pdG8gJmVncmF2ZTsgJnF1b3Q7YyZxdW90OyBwZXIgcml0YWdsaWFyZS1lZC1hZGF0dGFyZSBwYXJ0ZW5kbyBkYWwgY2VudHJvIGRlbGwmIzAzOTtpbW1hZ2luZSBvcmlnaW5hbGUuIFF1ZXN0byBmaWx0cm8gbm9uIGVzZWd1aXImYWdyYXZlOyBpbiBuZXNzdW4gY2FzbyB1biBpbmdyYW5kaW1lbnRvICh1cHNjYWxpbmcpLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfZWRnZWRldGVjdCddID0gJyhuaWVudGUpIEV2aWRlbnppYSBpIGJvcmRpIGRlbGwmIzAzOTtpbW1hZ2luZSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfZW1ib3NzJ10gPSAnKG5pZW50ZSkgQXBwbGljYSB1biByaWxpZXZvIGFsbCYjMDM5O2ltbWFnaW5lJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9mbGlwJ10gPSAnKG1vZGUpIC0gUmlmbGV0dGUgbCYjMDM5O2ltbWFnaW5lIHNwZWNpZmljYXRhLiBTcGVjaWZpY2FyZSAwIHBlciBvcml6em9uYXRsZSwgMSBwZXIgdmVydGljYWxlLCBlIDIgcGVyIHJpZmxldHRlcmUgaW4gZW50cmFtYmUgbGUgZGlyZXppb25pLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfZ3JheXNjYWxlJ10gPSAnKG5pZW50ZSkgQ29udmVydGUgbCYjMDM5O2ltbWFnaW5lIGluIHNjYWxhIGRpIGdyaWdpbyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbWVhbnJlbW92YWwnXSA9ICcobmllbnRlKSBUZW50YSBkaSBvdHRlbmVyZSB1biBlZmZldHRvICZxdW90O1NjaGl6em8mcXVvdDsnOwokbGFuZ1sncGFyYW1fZmlsdGVyX25lZ2F0ZSddID0gJyhuaWVudGUpIFJlbmRlIGwmIzAzOTtpbW1hZ2luZSBpbiBuZWdhdGl2byc7CiRsYW5nWydwYXJhbV9maWx0ZXJfcGl4ZWxhdGUnXSA9ICcoZ3JhbmRlenphWyxhdmFuemF0b10pIEVmZmV0dG8gcGl4ZWwgc3VsbCYjMDM5O2ltbWFnaW5lLCBzcGVjaWZpY2FyZSB1bmEgZ3JhbmRlenphIGludGVyYSBlZCB1biBib29sZWFubyBvcHppb25hbGUgKGlsIHByZWRlZmluaXRvICZlZ3JhdmU7IGZhbHNlKSBwZXIgYWJpbGl0YXJlIHVuIGVmZmV0dG8gcGl4ZWwgYXZhbnphdG8nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3Jlc2l6ZSddID0gJ3RpcG8sbnVtZXJvWyxudW1lcm9dIC0gUmlkaW1lbnNpb25hIGwmIzAzOTtpbW1hZ2luZSBvcmlnaW5hbGUuIElsIGZpbHRybyBkaSByaWRpbWVuc2lvbmFtZW50byBub24gZWZmZXR0dWEgbmVzc3VuIGNvbnRyb2xsbyBkaSBpbmdyYW5kaW1lbnRvLg0KSSBwb3NzaWJpbGkgdmFsb3JpIHNvbm86DQo8dWw+DQogIDxsaT5wLG51bWVybyAtIEVzZWd1ZSB1biByaWRpbWVuc2lvbmFtZW50byBzZW1wbGljZSBhZCB1bmEgZGV0ZXJtaW5hdGEgcGVyY2VudHVhbGUuIEVzZW1waW86IHJlc2l6ZT1wLDUwIHBlciByaWR1cnJlIGRlbCA1MCUgbGEgZ3JhbmRlenphIG9yaWdpbmFsZTwvbGk+DQogIDxsaT53LG51bWVybyAtIEVzZWd1ZSBpbCByaWRpbWVuc2lvbmFtZW50byBhbGxhIGxhcmdoZXp6YSBzcGVjaWZpY2F0YSAobWFudGVuZW5kbyBpbCByYXBwb3J0byB0cmEgbGFyZ2hlenphIGVkIGFsdGV6emEpLiBFc2VtcGlvOiByZXNpemU9dyw4MCBwZXIgY3JlYXJlIHVuYSBtaW5pYXR1cmEgY29uIGxhcmdoZXp6YSBtYXNzaW1hIGRpIDgwIHBpeGVsLjwvbGk+DQogIDxsaT5oLG51bWVybyAtIEVzZWd1ZSBpbCByaWRpbWVuc2lvbmFtZW50byBhbGwmIzAzOTthbHRlenphIHNwZWNpZmljYXRhIChtYW50ZW5lbmRvIGlsIHJhcHBvcnRvIHRyYSBsYXJnaGV6emEgZWQgYWx0ZXp6YSkuIEVzZW1waW86IHJlc2l6ZT1oLDgwIHBlciBjcmVhcmUgdW5hIG1pbmlhdHVyYSBjb24gYWx0ZXp6YSBtYXNzaW1hIGRpIDgwIHBpeGVsLjwvbGk+DQogIDxsaT5lLG51bWVybyAtIEVzZWd1ZSBpbCByaWRpbWVuc2lvbmFtZW50byBpbXBvc3RhbmRvIGlsIGxhdG8gbWFnZ2lvcmUgYWwgdmFsb3JlIHNwZWNpZmljYXRvIChtYW50ZW5lbmRvIGlsIHJhcHBvcnRvIHRyYSBsYXJnaGV6emEgZWQgYWx0ZXp6YSkuIEVzZW1waW86IHJlc2l6ZT1lLDEwMCBwZXIgY3JlYXJlIHVuYSBtaW5pYXR1cmEgaWwgY3VpIGxhdG8gbWFnZ2lvcmUgc2lhIGRpIDEwMCBwaXhlbC4NCiAgPGxpPmMseCx5IC0gRXNlZ3VlIGlsIHJpZGltZW5zaW9uYW1lbnRvIGFkIHVuYSBncmFuZGV6emEgcGVyc29uYWxpenphdGEgKHNlbnphIG1hbnRlbmVyZSBpbCByYXBwb3J0byB0cmEgbGFyZ2hlenphIGVkIGFsdGV6emEpLiBFc2VtcGlvOiBmaWx0ZXJfcmVzaXplPWMsNTAsNzUgcGVyIGNyZWFyZSB1bmEgbWluaWF0dXJhIGRpIDUweDc1IHBpeGVsLjwvbGk+Lg0KPC91bD4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3Jlc2l6ZXRvZml0J10gPSAnKGxhcmdoZXp6YSxhbHRlenphWyxjb2xvcmVbLHRyYXNwYXJlbnphXV0pIC0gRXNlZ3VlIHVuIHJpZGltZW5zaW9uYW1lbnRvIGRlbGwmIzAzOTtpbW1hZ2luZSBzcGVjaWZpY2F0YS4gVGVudGEgZGkgc2NhbGFyZSBsJiMwMzk7aW1tYWdpbmUgYWxsYSBncmFuZGV6emEgZGkgZGVzdGluYXppb25lIHNwZWNpZmljYXRhIG1hbnRlbmVuZG9uZSBpbCByYXBwb3J0byB0cmEgbGFyZ2hlenphIGVkIGFsdGV6emEsIGwmIzAzOTtpbW1hZ2luZSAmZWdyYXZlOyBjZW50cmF0YSByaXNwZXR0byBhbGwmIzAzOTthcmVhIHNwZWNpZmljYXRhIChvcml6em9udGFsbWVudGUgbyB2ZXJ0aWNhbG1lbnRlIGluIGJhc2UgYWwgcmFwcG9ydG8gbGFyZ2hlenphL2FsdGV6emEgZWQgYWxsYSBncmFuZGV6emEgZmluYWxlKSwgZSBjaXJjb25kYXRhIGRhbCBjb2xvcmUgc3BlY2lmaWNhdG8uIEkgY29sb3JpIHBvc3Nvbm8gZXNzZXJlIHNwZWNpZmljYXRpIHBlciBub21lICh2ZWRlcmUgaSBub21pIGRpIGNvbG9yZSBYMTEpLCBvIGNvbiBpbCBmb3JtYXRvIGVzYWRlY2ltYWxlICNubm5ubm4sIG8gY29tZSB2YWxvcmkgcmdiIHNlcGFyYXRpIGRhIDogRXNlbXBpbzogZmlsdGVyX2Nyb3B0b2ZpdD02MDAsNDAwLCNmZjAwMDAuIElsIHZhbG9yZSBzcGVjaWFsZSAmcXVvdDt0cmFuc3BhcmVudCZxdW90OyBwdSZvZ3JhdmU7IGVzc2VyZSBzcGVjaWZpY2F0byBwZXIgZm9yemFyZSB1bm8gc2ZvbmRvIHRyYXNwYXJlbnRlLiBJbCB2YWxvcmUgYWxwaGEgcHUmb2dyYXZlOyB2YXJpYXJlIHRyYSAwIGUgMTI3IHBlciBzcGVjaWZpY2FyZSB2YXJpIGdyYWRpIGRpIHRyYXNwYXJlbnphIGRlbGxvIHNmb25kby4gUXVlc3RvIGZpbHRybyBub24gZXNlZ3VpciZhZ3JhdmU7IGluIG5lc3N1biBjYXNvIHVuIGluZ3JhbmRpbWVudG8gKHVwc2NhbGluZykuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yb3RhdGUnXSA9ICcoYW5nb2xvKSBTcGVjaWZpY2FyZSB1biBhbmdvbG8gaW50ZXJvIChpbiBzZW5zbyBhbnRpb3JhcmlvKSBwZXIgcnVvdGFyZSBsJiMwMzk7aW1tYWdpbmUuIEwmIzAzOTtpbW1hZ2luZSB2aWVuZSBydW90YXRhIHN1bCBzdW8gY2VudHJvLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfcm91bmRlZGNvcm5lcnMnXSA9ICcocmFkaWFsZSkgU3BlY2lmaWNhcmUgdW4gdmFsb3JlIHJhZGlhbGUgaW50ZXJvIChpbiBwaXhlbCkgcGVyIGFycm90b25kYXJlIGdsaSBhbmdvbGkuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl93YXRlcm1hcmsnXSA9ICcobmluZXRlKSwgSW1wb3N0YXJlIGwmIzAzOTthcHBsaWNhemlvbmUgZGVsbGEgZmlsaWdyYW5hIGFsbCYjMDM5O2ltbWFnaW5lIChjb21lIHNwZWNpZmljYXRvIG5lbCBwYW5uZWxsbyBkaSBhbW1pbmlzdHJhemlvbmUgZGkgQ0dFeHRlbnNpb25zICknOwokbGFuZ1sncGFyYW1faGVpZ2h0J10gPSAnVXNhdG8gbmVsbGEgY3JlYXppb25lIGRpIHVuIHRhZyBpbWcsIHNwZWNpZmljYSBpbCB2YWxvcmUgcGVyIGwmIzAzOTthdHRyaWJ1dG8gaGVpZ2h0IC4gTm90YSwgc2Ugbm9uIHZpZW5lIHNwZWNpZmljYXRvIHVuIHZhbG9yZSwgbmUgdmVyciZhZ3JhdmU7IGNhbGNvbGF0byBhdXRvbWF0aWNhbWVudGUgdW5vIHBlciBxdWVzdG8gYXR0cmlidXRvIGluIG1vZG8gY2hlIGxhIG1hZ2dpb3IgcGFydGUgZGVpIHRhZyBpbWcgc2lhbm8gdmFsaWRhdGkuDQogJkVncmF2ZTsgcG9zc2liaWxlIHNvdnJhc2NyaXZlcmUgcXVlc3RvIGNhbGNvbG8gYXV0b21hdGljbyBtZWRpYW50ZSBpbCBwYXJhbWV0cm8gJnF1b3Q7bm9hdXRvJnF1b3Q7LiBRdWVzdG8gcGFyYW1ldHJvIHNhciZhZ3JhdmU7IGlub2x0cmUgdXNhdG8gaW5zaWVtZSBjb24gaWwgcGFyYW1ldHJvICZxdW90O3dpZHRoJnF1b3Q7IHBlciBlZmZldHR1YXJlIHVuIHJpZGltZW5zaW9uYW1lbnRvIGZpbmFsZSBvIHVuIGZpbHRybyBkaSByaXRhZ2xpbyBlZCBhZGF0dGFtZW50byAoYSBtZW5vIGNoZSBub24gc2lhIHN0YXRvIHNwZWNpZmljYXRvIGFuY2hlIGlsIHBhcmFtZXRybyAmcXVvdDtub2F1dG9zY2FsZSZxdW90OyApJzsKJGxhbmdbJ3BhcmFtX2lkJ10gPSAnVXNhdG8gbmVsbGEgY3JlYXppb25lIGRpIHVuIHRhZyBpbWcsIHBlcm1ldHRlIGRpIHNwZWNpZmljYXJlIHVuIGF0dHJpYnV0byBpZCBkYSBpbmNsdWRlcmUgbmVsIHRhZy4gRXNlbXBpbzogaWQ9JnF1b3Q7dHVvaWQmcXVvdDsnOwokbGFuZ1sncGFyYW1fbWF4X2hlaWdodCddID0gJ0FwcGxpY2FiaWxlIHNvbG8gYWwgdGFnICB7Y2dzaV9jb252ZXJ0fSwgcXVlc3RvIHBhcmFtZXRybyBwZXJtZXR0ZSBzaSBzcGVjaWZpY2FyZSB1biYjMDM5O2FsdGV6emEgbWFzc2ltYSBwZXIgbGUgaW1tYWdpbmUgY29udmVydGl0ZSc7CiRsYW5nWydwYXJhbV9tYXhfd2lkdGgnXSA9ICdBcHBsaWNhYmlsZSBzb2xvIGFsIHRhZyAge2Nnc2lfY29udmVydH0sIHF1ZXN0byBwYXJhbWV0cm8gcGVybWV0dGUgc2kgc3BlY2lmaWNhcmUgdW5hIGxhcmdoZXp6YSBtYXNzaW1hIHBlciBsZSBpbW1hZ2luZSBjb252ZXJ0aXRlJzsKJGxhbmdbJ3BhcmFtX25hbWUnXSA9ICdVc2F0byBuZWxsYSBjcmVhemlvbmUgZGkgdW4gdGFnIGltZywgIHNwZWNpZmljYSBpbCB2YWxvcmUgZGVsbCYjMDM5O2F0dHJpYnV0byBuYW1lLic7CiRsYW5nWydwYXJhbV9ub2F1dG8nXSA9ICdOb24gY2FsY29sYXJlIGF1dG9tYXRpY2FtZW50ZSBpIHBhcmFtZXRyaSBwZXIgaWwgdGFnIGltZy4gUXVlc3RvIHB1Jm9ncmF2ZTsgY29tcG9ydGFyZSBsYSBtYW5jYXRhIHZhbGlkYXppb25lIGRlbCBzaXRvIG5lbCBjYXNvIGluIGN1aSBhbGN1bmkgcGFyYW1ldHJpIHJpY2hpZXN0aSAod2lkdGgsaGVpZ2h0LGFsdCkgbm9uIHNpYW5vIHNwZWNpZmljYXRpJzsKJGxhbmdbJ3BhcmFtX25vYXV0b3NjYWxlJ10gPSAnU2Ugc29ubyBzcGVjaWZpY2F0aSBpIHBhcmFtZXRyaSB3aWR0aCBlIGhlaWdodCwgcXVlc3RvIHBhcmFtZXRybyBkaXNhYmlsaXRlciZhZ3JhdmU7IGxhIHNjYWxhdHVyYSBhdXRvbWF0aWNhIGRlbGwmIzAzOTtpbW1hZ2luZS4nOwokbGFuZ1sncGFyYW1fbm9iY2FjaGUnXSA9ICdOb24gcGVybWV0dGUgbGEgbWVtb3JpenphemlvbmUgbmVsbGEgY2FjaGUgZGVsIGJyb3dzZXIgZGVsbCYjMDM5O2ltbWFnaW5lIHJpZGltZW5zaW9uYXRhICh1dGlsZSBpbiBmYXNlIGRpIHN2aWx1cHBvKSwgYWdnaXVuZ2UgdW4gbnVtZXJvIHVuaXZvY28gY29tZSBwYXJhbWV0cm8gZGVsbCYjMDM5O2ltbWFnaW5lIGNoZSBmb3J6ZXImYWdyYXZlOyBpbCBicm93c2VyIGEgbm9uIG1lbW9yaXp6YXJsYSBuZWxsYSBjYWNoZS4nOwokbGFuZ1sncGFyYW1fbm9lbWJlZCddID0gJ0ZvcnphIGxhIG5vbiBpbmNsdXNpb25lIGRlbGwmIzAzOTtpbW1hZ2luZS4gSW5kaXBlbmRlbnRlbWVudGUgZGFsbGUgaW1wb3N0YXppb25pIG5lbCBwYW5uZWxsbyBkaSBhbW1pbmlzdHJhemlvbmUsIGwmIzAzOTtVUkwgZWQgaWwgdGFnIGdlbmVyYXRpIHB1bnRlcmFubm8gYWQgdW4gZmlsZSBzdWwgc2VydmVyLiBOZXNzdW5hIGluY2x1c2lvbmUgKGVtYmVkZGluZykgc2FyJmFncmF2ZTsgZXNlZ3VpdGEnOwokbGFuZ1sncGFyYW1fbm90aW1lY2hlY2snXSA9ICdEaXNhYmlsaXRhcmUgaWwgY29udHJvbGxvIHRlbXBvcmFsZSBkZWkgZmlsZSBuZWxsYSBjYWNoZS4nOwokbGFuZ1sncGFyYW1fbm9yZW1vdGUnXSA9ICdOb24gcGVybWV0dGVyZSBpbCByZWN1cGVybyBkaSBmb250aSBkYSBVUkwgcmVtb3RpJzsKJGxhbmdbJ3BhcmFtX25vcm90YXRlJ10gPSAnTm9uIHRlbnRhcmUgZGkgbGVnZ2VyZSBsZSBpbmZvcm1hemlvbmkgZXhpZiBkYWwgZmlsZSBlIGNvcnJlZ2dlcmUgbGEgcm90YXppb25lIGltbWFnaW5lJzsKJGxhbmdbJ3BhcmFtX25vdGFnJ10gPSAnTm9uIGdlbmVyYXJlIHVuIHRhZyBpbWcsIHNvbG8gbCYjMDM5O3VybCBkZWxsJiMwMzk7aW1tYWdpbmUgbWVtb3JpenphdGEgbmVsbGEgY2FjaGUuIFF1ZXN0byBub24gaGEgYWxjdW4gZWZmZXR0byBzZSBDR1NtYXJ0SW1hZ2UgdmllbmUgdXRpbGl6emF0byBhbGwmIzAzOTtpbnRlcm5vIGRpIHVuIGZvZ2xpbyBkaSBzdGlsZS4nOwokbGFuZ1sncGFyYW1fb3ZlcndyaXRlJ10gPSAnRGlzYXR0aXZhcmUgbGEgbWVtb3JpenphemlvbmUgbmVsbGEgY2FjaGUgZSBmb3J6YXJlIGlsIHJpY2FsY29sbyBkaSB0dXR0aSBpIGZpbHRyaSc7CiRsYW5nWydwYXJhbV9xdWFsaXR5J10gPSAnU3BlY2lmaWNhcmUgbGEgcXVhbGl0JmFncmF2ZTsgZGVsbCYjMDM5O2ltbWFnaW5lIHByb2RvdHRhLiBVbiB2YWxvcmUgdHJhIDAgZSAxMDAuIElsIHZhbG9yZSBwcmVkZWZpbml0bywgc2Ugbm9uIHNwZWNpZmljYXRvLCAmZWdyYXZlOyBkaSA3NS4nOwokbGFuZ1sncGFyYW1fcmVsJ10gPSAnVXNhdG8gZHVyYW50ZSBsYSBjcmVhemlvbmUgZGkgdW4gdGFnIGRpIGltbWFnaW5lIHBlcm1ldHRlIGRpIHNwZWNpZmljYXJlIHVuIGF0dHJpYnV0byBvcHppb25hbGUgcmVsIChpbiBnZW5lcmUgdXRpbGl6emF0byBjb24gZ2xpIGFsYnVtIGRpIHRpcG8gamF2YXNjcmlwdCkuIEVzZW1waW86IHJlbD0mcXVvdDthbGJ1bSZxdW90Oyc7CiRsYW5nWydwYXJhbV9zaWxlbnQnXSA9ICdJZ25vcmFyZSBzaWxlbnppb3NhbWVudGUgZ2xpIGVycm9yaSc7CiRsYW5nWydwYXJhbV9zcmMnXSA9ICdTcGVjaWZpY2FyZSBsJiMwMzk7b3JpZ2luZSBwZXIgbCYjMDM5O2VsYWJvcmF6aW9uZSBkZWxsZSBpbW1hZ2luaSAoc2UgcHJlc2VudGUpIG8gaWwgdGFnIGltZyBnZW5lcmF0by4gTm90YSwgcXVlc3RvIHBhcmFtZXRybyAmZWdyYXZlOyBmbGVzc2liaWxlLCBlIGlsIG1vZHVsbyB0ZW50ZXImYWdyYXZlOyBtb2x0aSBtZXRvZGkgcGVyIHRyb3ZhcmUgaWwgZmlsZSBpbW1hZ2luZSBzb3JnZW50ZSBzdWwgc2VydmVyIHdlYiBjb21lIHNlZ3VlOg0KPHVsPg0KICAgPGxpPiBQcmltYSBjb250cm9sbGEgc2UgaWwgdmFsb3JlIHNyYyBzcGVjaWZpY2F0byBjb3JyaXNwb25kZSBhZCB1biBmaWxlIGVzaXN0ZW50ZSBuZWwgZmlsZXN5c3RlbS48LyBsaT4NCiAgIDxsaT5JbiBzZWd1aXRvLCB2ZXJpZmljYSBzZSBpbCB2YWxvcmUgc3BlY2lmaWNhdG8gcGVyIGlsIHBhcmFtZXRybyBzcmMgJmVncmF2ZTsgdW4gVVJMIGUgaW5pemlhIGNvbiB1cGxvYWRzX3VybCAoY29tZSBzcGVjaWZpY2F0byBuZWwgY29uZmlnLnBocCk8LyBsaT4NCiAgIDxsaT5Qb2ksIHZlcmlmaWNhIHNlIGlsIHZhbG9yZSBzcGVjaWZpY2F0byBwZXIgaWwgcGFyYW1ldHJvIHNyYyAmZWdyYXZlOyB1biBVUkwgZSBpbml6aWEgY29uIHJvb3RfdXJsIChjb21lIHNwZWNpZmljYXRvIG5lbCBjb25maWcucGhwKTwvIGxpPg0KICAgPGxpPlF1aW5kaSwgdmVyaWZpY2Egc2UgaWwgdmFsb3JlIHNwZWNpZmljYXRvIHBlciBpbCBwYXJhbWV0cm8gc3JjICZlZ3JhdmU7IHVuIFVSTCBlIGluaXppYSBjb24gc3NsX3VybCAoY29tZSBzcGVjaWZpY2F0byBuZWwgY29uZmlnLnBocCk8LyBsaT4NCjwvIHVsPg0KICZFZ3JhdmU7IGFuY2hlIHBvc3NpYmlsZSBzdWRkaXZpZGVyZSBpbCBwYXJhbWV0cm8gc3JjIGluIHBpJnVncmF2ZTsgYXJnb21lbnRpLCBpbCBjaGUgJmVncmF2ZTsgdXRpbGUgcGVyIGVzZW1waW8gcXVhbmRvIGlsIHBlcmNvcnNvIGRlbCBmaWxlIGUgaWwgbm9tZSBkZWwgZmlsZSBzb25vIG1lbW9yaXp6YXRpIGluIHZhcmlhYmlsaSBzbWFydHkgc2VwYXJhdGUuICZFZ3JhdmU7IHBvc3NpYmlsZSBzcGVjaWZpY2FyZSBzcmMgY29tZSBzcmMxID0gXCAkIHRoZV9wYXRoIHNyYzIgPSBcICQgdGhlX2ZpbGVuYW1lLiBJbCBzaXN0ZW1hIGFnZ2l1bmdlIGF1dG9tYXRpY2FtZW50ZSB1biAvIHRyYSBvZ25pIGFyZ29tZW50by4gTm9uIHZpICZlZ3JhdmU7IGFsY3VuIGxpbWl0ZSBhbCBudW1lcm8gZGkgcGFyYW1ldHJpIHNyYy4nOwokbGFuZ1sncGFyYW1fc3R5bGUnXSA9ICdVc2F0byBkdXJhbnRlIGxhIGNyZWF6aW9uZSBkaSB1biB0YWcgaW1nLCBwZXJtZXR0ZSBkaSBzcGVjaWZpY2FyZSBnbGkgc3RpbGkgYWx0ZXJuYXRpdmkgcGVyIGlsIHRhZy4gRXNlbXBpbzogc3R5bGUgPSAmcXVvdDtib3JkZXI6IDFweCBzb2xpZCBibGFjazsmcXVvdDsnOwokbGFuZ1sncGFyYW1fdGl0bGUnXSA9ICdTcGVjaWZpY2FyZSB1biBhdHRyaWJ1dG8gb3B6aW9uYWxlIHRpdGxlIHBlciBpbCB0YWcgaW1nLiBFc2VtcGlvOiB0aXRsZT0mcXVvdDtRdWVzdG8gJmVncmF2ZTsgaWwgdG9vbHRpcCZxdW90Oyc7CiRsYW5nWydwYXJhbV93aWR0aCddID0gJ1VzYXRvIGR1cmFudGUgbGEgY3JlYXppb25lIGRpIHVuIHRhZyBpbWcsIHNwZWNpZmljYSBpbCB2YWxvcmUgcGVyIGwmIzAzOTthdHRyaWJ1dG8gd2lkdGguIE5vdGEsIHNlIG5vbiB2aWVuZSBzcGVjaWZpY2F0byB1biB2YWxvcmUsIG5lIHZlcnImYWdyYXZlOyBjYWxjb2xhdG8gYXV0b21hdGljYW1lbnRlIHVubyBwZXIgcXVlc3RvIGF0dHJpYnV0byBpbiBtb2RvIGNoZSBsYSBtYWdnaW9yIHBhcnRlIGRlaSB0YWcgaW1nIHNpYW5vIHZhbGlkYXRpLiAmRWdyYXZlOyBwb3NzaWJpbGUgc292cmFzY3JpdmVyZSBxdWVzdG8gY2FsY29sbyBhdXRvbWF0aWNvIG1lZGlhbnRlIGlsIHBhcmFtZXRybyAmcXVvdDtub2F1dG8mcXVvdDsuIFF1ZXN0byBwYXJhbWV0cm8gc2FyJmFncmF2ZTsgaW5vbHRyZSB1c2F0byBpbnNpZW1lIGNvbiBpbCBwYXJhbWV0cm8gJnF1b3Q7aGVpZ2h0JnF1b3Q7IHBlciBlZmZldHR1YXJlIHVuIHJpZGltZW5zaW9uYW1lbnRvIGZpbmFsZSBvIHVuIGZpbHRybyBkaSByaXRhZ2xpbyBlZCBhZGF0dGFtZW50byAoYSBtZW5vIGNoZSBub24gc2lhIHN0YXRvIHNwZWNpZmljYXRvIGFuY2hlIGlsIHBhcmFtZXRybyAmcXVvdDtub2F1dG9zY2FsZSZxdW90OyApJzsKJGxhbmdbJ3Bvc3RpbnN0YWxsJ10gPSAnTW9kdWxvIGluc3RhbGxhdG8nOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ1R1dHRpIGkgZGF0aSBhc3NvY2lhdGkgYSBxdWVzdG8gbW9kdWxvIHNvbm8gc3RhdGkgcmltb3Nzc2knOwokbGFuZ1sncHJvbXB0X2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ1B1bnRvIHByZWRlZmluaXRvIGRhbCBxdWFsZSBlZmZldHR1YXJlIHVuIHJpZGl0YWdsaW8gZWQgYWRhdHRhbWVudG8gKCZxdW90O2Nyb3AgdG8gZml0JnF1b3Q7KSc7CiRsYW5nWydwcm9tcHRfZW1iZWRfc2l6ZWxpbWl0J10gPSAnQmFzYXRvIHN1bGxhIGdyYW5kZXp6YSBkZWxsJiMwMzk7aW1tYWdpbmUnOwokbGFuZ1sncHJvbXB0X2VtYmVkX3NtYXJ0bGltaXRlZCddID0gJ01vZGFsaXQmYWdyYXZlOyBJbnRlbGxpZ2VudGUgbWEgbGltaXRhIGxhIGRpbWVuc2lvbmUgZGVsbCYjMDM5O2ltbWFnaW5lJzsKJGxhbmdbJ3Byb21wdF9lbWJlZF90eXBlJ10gPSAnQmFzYXRvIHN1bCB0aXBvIGRpIGltbWFnaW5lJzsKJGxhbmdbJ3Byb21wdF9sb2NfYm90dG9tbGVmdCddID0gJ0luIEJhc3NvIGEgU2luaXN0cmEgKGJsKSc7CiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbWNlbnRlciddID0gJ0luIEJhc3NvIGFsIENlbnRybyAoYmMpJzsKJGxhbmdbJ3Byb21wdF9sb2NfYm90dG9tcmlnaHQnXSA9ICdJbiBCYXNzbyBhIERlc3RyYSAoYnIpJzsKJGxhbmdbJ3Byb21wdF9sb2NfY2VudGVybGVmdCddID0gJ0NlbnRybyBTaW5pc3RyYSAoY2wpJzsKJGxhbmdbJ3Byb21wdF9sb2NfY2VudGVyJ10gPSAnQ2VudHJvIChjKSc7CiRsYW5nWydwcm9tcHRfbG9jX2NlbnRlcnJpZ2h0J10gPSAnQ2VudHJvIERlc3RyYSAoY2wpJzsKJGxhbmdbJ3Byb21wdF9sb2NfdG9wbGVmdCddID0gJ0luIEFsdG8gYSBTaW5pc3RyYSAodGwpJzsKJGxhbmdbJ3Byb21wdF9sb2NfdG9wY2VudGVyJ10gPSAnSW4gQWx0byBhbCBDZW50cm8gKHRjKSc7CiRsYW5nWydwcm9tcHRfbG9jX3RvcHJpZ2h0J10gPSAnSW4gQWx0byBhIERlc3RyYSAodHIpJzsKJGxhbmdbJ3Jlc2l6aW5nJ10gPSAnUmlkaW1lbnNpb25hbWVudG8nOwokbGFuZ1snc21hcnQnXSA9ICdJbnRlbGxpZ2VudGUnOwokbGFuZ1snc3VibWl0J10gPSAnSW52aWEnOwokbGFuZ1sndXRtYSddID0gJzE1Njg2MTM1My4xOTA5NTM2NTE2LjEzNTgxNjUyMzIuMTM1ODE2NTIzMi4xMzU4MTY1MjMyLjEnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzU4MTY1MjMyLjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sncWNhJ10gPSAnMTIwOTkxNzI2Ni0zNjQ2NDYzOC0zMTY4Nzg3JzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/nl_NL.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdF9jYWNoZWNsZWFuZWQnXSA9ICdDYWNoZSBvcGdlc2Nob29uZCc7CiRsYW5nWydhZGRfcm93J10gPSAnUmlqIHRvZXZvZWdlbic7CiRsYW5nWydhbGlhcyddID0gJ0FsaWFzICc7CiRsYW5nWydhbGlhc2VzJ10gPSAnQWxpYXNzZW4nOwokbGFuZ1snYXNrX2NsZWFyX2ltYWdlX2NhY2hlJ10gPSAnV2VldCB1IHpla2VyIGRhdCB1IEFMTEUgYmVzdGFuZGVuIHdpbHQgdmVyd2lqZGVyZW4gdWl0IGRlIGFmYmVlbGRpbmdlbiBidWZmZXI/JzsKJGxhbmdbJ2NsZWFyX2FsbCddID0gJ1NjaG9vbiBhbGxlIGJlc3RhbmRlbiBvcCc7CiRsYW5nWydjbGVhcl9ub3cnXSA9ICdOdSBvcHNjaG9uZW4nOwokbGFuZ1snZGVsZXRlJ10gPSAnVmVyd2lqZGVyZW4nOwokbGFuZ1snZW1iZWRkaW5nJ10gPSAnR2UmZXVtbDttYmVkZGUgYWZiZWVsZGluZ2VuJzsKJGxhbmdbJ2VtYmVkZGluZ19tb2RlJ10gPSAnQWZiZWVsZGluZyBpbnNsdWl0bW9kdXMnOwokbGFuZ1snZW1iZWRfc2l6ZWxpbWl0J10gPSAnSW5zbHVpdGJhcmUgYWZiZWVsZGluZ3Nncm9vdHRlIGxpbWlldCAoa2IpJzsKJGxhbmdbJ2VtYmVkX3R5cGVzJ10gPSAnSW5zbHVpdGJhcmUgYWZiZWVsZGluZyB0eXBlJzsKJGxhbmdbJ2Vycm9yX2FsaWFzX2R1cGxpY2F0ZW5hbWVfYXRyb3cnXSA9ICdEZXplbGZkZSBhbGlhc25hYW0gb3BnZWdldmVuIHZvb3IgZGUgYWxpYXMgb3AgcmlqICVkJzsKJGxhbmdbJ2Vycm9yX2FsaWFzX25vbmFtZV9hdHJvdyddID0gJ0dlZW4gbmFhbSBvcGdlZ2V2ZW4gdm9vciBkZSBhbGlhcyBvcCByaWogJWQnOwokbGFuZ1snZXJyb3JfYWxpYXNfbm9vcHRpb25zX2F0cm93J10gPSAnR2VlbiBvcHRpZXMgb3BnZWdldmVuIHZvb3IgZGUgYWxpYXMgb3AgcmlqICVkJzsKJGxhbmdbJ2Vycm9yX2ludmFsaWRfYWdlJ10gPSAnTGVlZnRpamRzaW5zdGVsbGluZyBvbmdlbGRpZy4uLiBCZXdlcmtpbmcgbmlldCB1aXRnZXZvZXJkJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ0VlbiB2ZXJwbGljaHRlIHBhcmFtZXRlciBpcyBuaWV0IChjb3JyZWN0KSBpbmdldnVsZDogJXMnOwokbGFuZ1snZXJyb3JfaW52YWxpZHBhcmFtJ10gPSAnT25nZWxkaWdlIHBhcmFtZXRlciBpbiBvcHJvZXA6ICVzJzsKJGxhbmdbJ2Vycm9yX3NyY25vdGZvdW5kJ10gPSAnS2FuIGdlZW4gYmVzdGFuZCB2aW5kZW4gaW46ICVzJzsKJGxhbmdbJ2Vycm9yX3JlbW90ZWZpbGUnXSA9ICdQcm9ibGVlbSBtZXQgaGV0IG9udHZhbmdlbiB2YW4gZWVuIGV4dGVybiBiZXN0YW5kIGluOiAlcyc7CiRsYW5nWydlcnJvcl91bmtub3duZmlsdGVyJ10gPSAnQ0dTbWFydEltYWdlIC0gT25iZWtlbmQgRmlsdGVyOiAlcyc7CiRsYW5nWydmcmllbmRseW5hbWUnXSA9ICdDYWxndXkmIzAzOTtzIFNtYXJ0IEltYWdlIFRvb2xraXQnOwokbGFuZ1snZ2VuZXJhbCddID0gJ0FsZ2VtZWVuJzsKJGxhbmdbJ2hlbHAnXSA9ICcgPGgzPldoYXQgRG9lcyBUaGlzIERvPzwvaDM+DQo8cD5UaGlzIG1vZHVsZSBwcm92aWRlcyBhIHNpbXBsZSB3YXkgdG8gcHJvY2VzcywgYW5kIGRpc3BsYXkgaW1hZ2VzIG9uIHlvdXIgd2ViIHBhZ2UuICBJdCBhbGxvd3Mgc2ltcGxlIGltYWdlIHByb2Nlc3NpbmcsIGFuZCB3YXRlcm1hcmtpbmcuICBUaGlzIG1vZHVsZSBtYWtlcyBkaXNwbGF5aW5nIHByb2Nlc3NlZCBpbWFnZXMgb24geW91ciB3ZWJzaXRlIHRyaXZpYWwuICBJdCBhbHNvIHByb3ZpZGVzIGZlYXR1cmVzIHRvIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIHJhdGluZyBvZiB5b3VyIHdlYnNpdGUsIG1ha2luZyB5b3VyIHdlYnNpdGUgcG93ZXJmdWwgYW5kIGZhc3QgYXQgdGhlIHNhbWUgdGltZS48L3A+DQo8aDM+RmVhdHVyZXM8L2gzPg0KPHVsPg0KPGxpPlBvd2VyZnVsLCBidXQgc2ltcGxlIHRvIHVzZSBpbWFnZSBmaWx0ZXJpbmcgYW5kIHByb2Nlc3NpbmcuIEZpbHRlcmluZyBpbmNsdWRlczoNCiAgPHVsPg0KICAgIDxsaT5CbHVyPC9saT4NCiAgICA8bGk+QnJpZ2h0bmVzczwvbGk+DQogICAgPGxpPkNvbG9yaXplPC9saT4NCiAgICA8bGk+Q29udHJhc3Q8L2xpPg0KICAgIDxsaT5Dcm9wPC9saT4NCiAgICA8bGk+PHN0cm9uZz5Dcm9wIFRvIEZpdDwvc3Ryb25nPjwvbGk+DQogICAgPGxpPkVkZ2UgRGV0ZWN0aW9uPC9saT4NCiAgICA8bGk+RW1ib3NzPC9saT4gDQogICAgPGxpPkdyYXlzY2FsZTwvbGk+DQogICAgPGxpPk1lYW4gUmVtb3ZhbDwvbGk+DQogICAgPGxpPk5lZ2F0ZTwvbGk+DQogICAgPGxpPlBpeGVsYXRlPC9saT4NCiAgICA8bGk+UmVzaXplPC9saT4NCiAgICA8bGk+Um90YXRlPC9saT4NCiAgICA8bGk+U2VsaWN0aXZlIEJsdXI8L2xpPg0KICAgIDxsaT5TbW9vdGg8L2xpPg0KICAgIDxsaT5XYXRlcm1hcms8L2xpPg0KICA8L3VsPg0KPC9saT48YnIvPg0KPGxpPlNtYXJ0IGRldGVjdGlvbiBvZiBpbWFnZXMuICBTcGVjaWZ5IGFic29sdXRlIFVSTFMsIGFic29sdXRlIHBhdGhzLCBvciBmaWxlcyByZWxhdGl2ZSB0byB5b3VyIHJvb3QgaW5zdGFsbGF0aW9uLjwvbGk+DQo8bGk+QXV0b21hdGljIGRvd25sb2FkaW5nLCBjYWNoaW5nLCBwcm9jZXNzaW5nLCBhbmQgcmUtY2FjaGluZyBvZiBpbWFnZXMgZnJvbSByZW1vdGUgd2Vic2l0ZXMuPC9saT4NCjxsaT5TbWFydCBhdXRvbWF0aWMgcmVzaXppbmcgKGF1dG9tYXRpY2FsbHkgcmVzaXplIHRvIGRlc2lyZWQgd2lkdGggYW5kIGhlaWdodCBiZWZvcmUgc2VydmluZyB0aGUgaW1hZ2UuLi4gcmVzaXppbmcgdG8gd2lkdGggQU5EIGhlaWdodCBkb2VzIGEgY3JvcCB0byBmaXQuIDxlbT4oanVzdCBzcGVjaWZ5IGEgd2lkdGgsIGFuZC9vciBoZWlnaHQgcGFyYW1ldGVyIHRvIHRoZSBDR1NtYXJ0SW1hZ2UgdGFnLik8L2VtPjwvbGk+DQo8bGk+QXV0b21hdGljYWxseSByZWFkcyBpbWFnZSBFWElGIGluZm9ybWF0aW9uIGFuZCBjb3JyZWN0cyB0aGUgb3JpZW50YXRpb24uPC9saT4NCjxsaT5JbWFnZSBjaGFuZ2UgZGV0ZWN0aW9uLCBpZiB0aGUgbWFzdGVyIGltYWdlIGlzIGNoYW5nZWQgc2NhbGVkIGltYWdlcyB3aWxsIGJlIHJlZ2VuZXJhdGVkLiAoc2VlIHRoZSBub3RpbWVjaGVjayBwYXJhbWV0ZXIgdG8gZGlzYWJsZSB0aGlzIGJlaGF2aW9yKS48L2xpPg0KPGxpPlNtYXJ0IGF0dHJpYnV0ZSBnZW5lcmF0aW9uIGZvciBpbWFnZXMuPC9saT4NCjxsaT5Qcm9jZXNzZWQgaW1hZ2VzIGFyZSBjYWNoZWQgb24gdGhlIHNlcnZlciBmb3IgZmFzdGVyIHNlcnZpbmcuPC9sST4NCjxsaT5UaGUgYWJpbGl0eSB0byB1c2UgYSBzZXBhcmF0ZSBVUkwgKENETikgZm9yIHNlcnZpbmcgaW1hZ2VzPC9saT4NCjxsaT5JbWFnZSBwcm9jZXNzZXMgY2FuIGJlIGNvbWJpbmVkLCBhbmQgYXJlIGV4ZWN1dGVkIGluIG9yZGVyLjwvbGk+DQo8bGk+UHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gZW1iZWQgaW1hZ2VzIGRpcmVjdGx5IGludG8gdGhlIGNvbnRlbnQgb2YgdGhlIHdlYiBwYWdlIHRvIG1pbmltaXplIHNwYWNlLjwvbGk+DQo8bGk+UHJvdmlkZXMgdGhlIGFiaWxpdHkgdG8gbGltaXQgZW1iZWRkaW5nIGltYWdlcyBzbWFydGx5LCBvbmx5IHRvIGJyb3dzZXJzIHRoYXQgYXJlIGNhcGFibGUgb2YgdW5kZXJzdGFuZGluZyB0aGVtLjwvbGk+DQo8bGk+Q29tYmluZSBjb21tb25seSB1c2VkIGFyZ3VtZW50cyBpbnRvIG5hbWVkIGFsaWFzZXMuPC9saT4NCjxsaT5BbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cyB2aWEgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnLjwvbGk+DQo8bGk+VGhlIGFiaWxpdHkgdG8gYXV0b21hdGljYWxseSBwcm9jZXNzIGltYWdlcyBpbnNpZGUgYSBibG9jayBvZiBodG1sIGNvZGUgdXNpbmcgdGhlIHtjZ3NpX2NvbnZlcnR9IGJsb2NrIHRhZy48L2xpPg0KPGxpPk1vcmUuLi48L2xpPg0KPC91bD4NCjxoMz5XaHkgc2hvdWxkIEkgdXNlIGl0PzwvaDM+DQo8cD5UaGVyZSBhcmUgZm91ciB2ZXJ5IGltcG9ydGFudCByZWFzb25zIHRvIHVzZSB0aGlzIHBsdWdpbjo8L3A+DQo8dWw+DQogIDxsaT5QZXJmb3JtYW5jZTogIFVzaW5nIGltYWdlIGVtYmVkZGluZyAoZXZlbiBpZiBubyBvdGhlciBmdW5jdGlvbnMgYXJlIHVzZWQpIHJlc3VsdHMgaW4gZmV3ZXIgcmVxdWVzdHMuICBNb3N0IGJyb3dzZXJzIG9ubHkgcGVyZm9ybSB0d28gdG8gZm91ciBzaW11bHRhbmVvdXMgcmVxdWVzdHMgdG8gdGhlIHNhbWUgZG9tYWluIGF0IHRoZSBzYW1lIHRpbWUuICBGb3Igd2ViIHBhZ2VzIHdpdGggbG90cyBvZiBpbWFnZXMgdGhpcyBjYW4gc2VyaW91c2x5IHNsb3cgZG93biB5b3VyIHNpdGUuPC9saT4NCiAgPGxpPlBlcmZvcm1hbmNlOiAgRXZlbiBpZiBub3QgdXNpbmcgZW1iZWRkaW5nLCBzZW5kaW5nIGxhcmdlIGltYWdlcyB0byB5b3VyIHZpc2l0b3JzLCBhbmQgYXNraW5nIHRoZWlyIGJyb3dzZXIgdG8gc2NhbGUgdGhlIGltYWdlIGlzIHZlcnkgdmVyeSBzbG93LjwvbGk+DQogIDxsaT5TZWN1cml0eTogIENHU21hcnRJbWFnZSBjYWNoZXMgaXRzIGltYWdlcyBpbiBhIHNlcGFyYXRlIGRpcmVjdG9yeSwgdGhlcmVieSBoaWRpbmcgdGhlIG9yaWdpbmFsIChwZXJoYXBzIGNvcHlyaWdodGVkKSBpbWFnZXMgZnJvbSB5b3VyIHVzZXJzLiAgSWYgZW1iZWRkaW5nIGlzIHVzZWQgdGhleSBjYW50IGV2ZW4gZmluZCB0aGUgY2FjaGVkIGxvY2F0aW9uKTwvbGk+DQogIDxsaT5TaW1wbGljaXR5OiAgVGhlIGZpbHRlcmluZyBjYXBhYmlsaXRpZXMgb2YgQ0dTbWFydEltYWdlIGFsbG93IHlvdSB0byBhdXRvbWF0aWNhbGx5IHByb2Nlc3MgaW1hZ2VzIGZvciBjb25zaXN0ZW50IGFuZCBzZWN1cmUgZGlzcGxheSwgd2l0aG91dCBzaXRlIGVkaXRvcnMgaGF2aW5nIHRvIHBsYXkgd2l0aCB0aGVtLiAgVGhleSBjYW4gdXBsb2FkIGxhcmdlciBpbWFnZXMsIGFuZCB5b3VyIHNpdGUgd2lsbCBqdXN0IGhhbmRsZSB0aGVtIHByb3Blcmx5LjwvbGk+DQo8L3VsPg0KPGgzPkhvdyBkbyBJIHVzZSBpdD88L2gzPg0KPHA+VGhlIHNpbXBsZXN0IHdheSB0byB1c2UgdGhpcyBtb2R1bGUgaXMgdG8gdXNlIGl0IGluIHRoZSBzYW1lIHBsYWNlIHlvdSB3b3VsZCB0aGUge2ltYWdlfSB0YWcuICBJLmU6IFNvbWV0aGluZyBsaWtlIDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Q0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyYjMDM5O308L2NvZGU+LiAgVGhpcyB3aWxsIGdlbmVyYXRlIHRoZSBpbWFnZSB0YWcgZm9yIHlvdSB3aXRoIG5vIHByb2Nlc3NpbmcuICBBbmQgaWYgcG9zc2libGUsIGVtYmVkIHRoZSBpbWFnZSBkaXJlY3RseSBpbnRvIHlvdXIgaHRtbCBvdXRwdXQuPC9wPg0KPHA+T2Z0ZW4gcGVvcGxlIHdhbnQgdG8gZGlzcGxheSBhIHdhdGVybWFyayBvbiB0aGUgaW1hZ2VzIHRoYXQgdGhleSBkaXNwbGF5IG9uIHRoZSBmcm9udGVuZCB0byBwcmV2ZW50IGltYWdlIHRoZWZ0LiAgVGhlIENHRXh0ZW5zaW9ucyBtb2R1bGUgcHJvdmlkZXMgc2V0dGluZ3MgZm9yIHlvdSB0byBjb25maWd1cmUgd2F0ZXJtYXJraW5nIGFuZCB5b3UgY2FuIGVuYWJsZSB0aGF0IHdpdGggYW55IGltYWdlIHdpdGggYSB0YWcgbGlrZSB0aGlzOiA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e0NHU21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTsgZmlsdGVyX3dhdGVybWFyaz0xfTwvY29kZT4uICBUaGlzIHdpbGwgcmVhZCB0aGUgaW1hZ2UsIGFwcGx5IHRoZSB3YXRlcm1hcmsgYWNjb3JkaW5nIHRvIHRoZSBzZXR0aW5ncyBpbiBDR0V4dGVuc2lvbnMsIGNhY2hlIHRoZSBhbHRlcmVkIGltYWdlLCBhbmQgdGhlbiBlbWJlZCBpdCBpbnRvIHlvdXIgb3V0cHV0LjwvcD4NCjxwPkFsc28sIFBpY3R1cmVzIHRha2VuIGJ5IG1vZGVybiBkaWdpdGFsIGNhbWVyYXMgYXJlIG9mdGVuIHRvbyBsYXJnZSBmb3IgdXNlIG9uIGEgd2Vic2l0ZSwgdGhlcmVmb3JlIHRoZXkgbmVlZCB0byBiZSBzY2FsZWQgYmVmb3JlIGRpc3BsYXllZCBvbiB5b3VyIHBhZ2UuICBUaGlzIGNhbiBiZSBkb25lIHF1aXRlIGVhc2lseSB3aXRoIGEgdGFnIGxpa2U6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Q0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL2ltYWdlcy9waWN0dXJlLmpwZyYjMDM5OyBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTt3LDM1MCYjMDM5O308L2NvZGU+LiAgQXMgeW91IG1heSB0aGluaywgdGhlIHdhdGVybWFyayB3aWxsIGJlIGFwcGxpZWQgdG8gdGhlIGltYWdlIGJlZm9yZSBpdCBpcyByZXNpemVkIHRvIGEgbWF4aW11bSB3aWR0aCBvZiAzMDAgcGl4ZWxzIChyZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIFRoZW4gdGhlIGFkanVzdGVkIGltYWdlIHdpbGwgYmUgY2FjaGVkLCBhbmQgaWYgdGhlIGJyb3dzZXIgYWxsb3dlcyB0aGUgaW1hZ2Ugd2lsbCBiZSBlbWJlZGRlZCBpbnRvIHRoZSBIVE1MIG91dHB1dC4gIElmIGVtYmVkZGluZyBpcyBub3QgcG9zc2libGUsIHRoZSBpbWcgdGFnIHdpbGwgY29udGFpbiB0aGUgVVJMIHRvIHRoZSBjYWNoZWQgaW1hZ2UuPC9wPg0KPHA+RnJvbSBoZXJlIHlvdSBjYW4gY29tYmluZSB0aGUgb3B0aW9ucyBiZWxvdyB0byBwZXJmb3JtIGFsb3Qgb2YgZGlmZmVyZW50IGVmZmVjdHMgdG8geW91ciBpbWFnZXMsIGJ1aWxkIHNpbXBsZSBnYWxsZXJpZXMsIGFuZCBpbXByb3ZlIHlvdXIgc2l0ZSBwZXJmb3JtYW5jZSBhdCB0aGUgc2FtZSB0aW1lLiAgRW5qb3khPC9wPg0KPGgzPkF1dG9tYXRpYyBpbWFnZSByZXNpemluZzwvaDM+DQogIDxwPklmIHlvdSBzcGVjaWZ5IGEgd2lkdGgsIGFuZC9vciBhIGhlaWdodCBwYXJhbWV0ZXIsIGFuZCBkbyBub3Qgc3BlY2lmeSB0aGUgJmFtcDtxdW90O25vYXV0b3NjYWxlJmFtcDtxdW90OyBwYXJhbWV0ZXIsIHRoZSBtb2R1bGUgd2lsbCBhbmFseXplIHRoZSBmaWx0ZXJzIHlvdSBoYXZlIGFscmVhZHkgc3BlY2lmaWVkLCBhbmQgaWYgdGhlcmUgaXMgbm8gcmVzaXplIGZpbHRlciBhbHJlYWR5IHNwZWNpZmllZCBhdXRvbWF0aWNhbGx5IGFkZCBhIGZpbHRlciB0byByZXNpemUgb3IgY3JvcHRvZml0IHRoZSBpbWFnZSBvbiBvdXRwdXQuICBUaGlzIGlzIHVzZWZ1bCB0byBkbyBhdXRvbWF0aWMgdGh1bWJuYWlsaW5nIG9uIHRoZSBzZXJ2ZXIsIGFuZCBub3QgcmVxdWlyZSB0aGUgYnJvd3NlciB0byByZXNpemUgdGhlIGltYWdlLjwvcD4NCiA8aDM+QSBTaW1wbGUgR2FsbGVyeTwvaDM+DQo8cD5UaGUgY29kZSBiZWxvdyB1c2VzIHRoZSB7Q0dTbWFydEltYWdlfSBtb2R1bGUsIGZhbmN5Ym94LCBhbmQgYSBiaXQgb2Ygc21hcnR5IG1hZ2ljIHRvIGdlbmVyYXRlIGEgc2ltcGxlIGxpZ2h0Ym94IHN0eWxlIGFsYm9tIGZyb20gYSBzdWJkaXJlY3Rvcnkgb24geW91ciB3ZWJzaXRlLCB3aGlsZSBwcm9jZXNzaW5nIHRoZSBpbWFnZXMgZm9yIHdlYiBzdGFuZGFyZHMsIGFuZCBjcmVhdGluZyB0aHVtYm5haWxzLjwvcD4NCjxwcmUgc3R5bGU9JnF1b3Q7YmFja2dyb3VuZC1jb2xvcjogI2RkZDsgYm9yZGVyOiAxcHggc29saWQgYmxhY2s7JnF1b3Q7Pjxjb2RlPjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiAxOjwvc3Bhbj4gJmFtcDtsdDtzY3JpcHQgdHlwZT0mcXVvdDt0ZXh0L2phdmFzY3JpcHQmcXVvdDsmYW1wO2d0O3tsaXRlcmFsfQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDI6PC9zcGFuPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMzo8L3NwYW4+ICBqUXVlcnkoJiMwMzk7YS5mYW5jeWJveCYjMDM5OykuZmFuY3lib3goKTsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA0Ojwvc3Bhbj4gfSk7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNTo8L3NwYW4+IHsvbGl0ZXJhbH0mYW1wO2x0Oy9zY3JpcHQmYW1wO2d0Ow0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDY6PC9zcGFuPiB7YXNzaWduIHZhcj0mIzAzOTtmaWxlcyYjMDM5OyB2YWx1ZT0mIzAzOTt1cGxvYWRzL2FsYnVtLyouanBnJiMwMzk7fGdsb2J9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNzo8L3NwYW4+IHtpZiBjb3VudCgkZmlsZXMpfQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDg6PC9zcGFuPiAmYW1wO2x0O2RpdiBzdHlsZT0mcXVvdDt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxNTBweDsgb3ZlcmZsb3c6IGF1dG87JnF1b3Q7JmFtcDtndDsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA5Ojwvc3Bhbj4ge2ZvcmVhY2ggZnJvbT0kZmlsZXMgaXRlbT0mIzAzOTtmaWxlJiMwMzk7fQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTA6PC9zcGFuPiAgJmFtcDtsdDthIHJlbD0mIzAzOTtzaW1wbGVfYWxidW0mIzAzOTsgY2xhc3M9JnF1b3Q7ZmFuY3lib3gmcXVvdDsgaHJlZj0mcXVvdDs8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e0NHU21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTtoLDUwMCYjMDM5OyBub3RhZz0xIG5vZW1iZWQ9MX08L3NwYW4+JnF1b3Q7JmFtcDtndDsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjExOjwvc3Bhbj4gIDxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz57Q0dTbWFydEltYWdlIHNyYz0kZmlsZSBmaWx0ZXJfcm90YXRlPTkwIGZpbHRlcl9ncmF5c2NhbGU9MSBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTtoLDE1MCYjMDM5O308L3NwYW4+DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMjo8L3NwYW4+ICAmYW1wO2x0Oy9hJmFtcDtndDsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjEzOjwvc3Bhbj4gey9mb3JlYWNofQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTQ6PC9zcGFuPiAmYW1wO2x0Oy9kaXYmYW1wO2d0Ow0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTU6PC9zcGFuPiB7L2lmfQ0KPC9jb2RlPjwvcHJlPjxici8+DQo8cD5MZXRzIHRhbGsgYWJvdXQgdGhpcy48L3A+DQo8cD5MaW5lcyAxIHRocm91Z2ggNSB1dGlsaXplIGpRdWVyeSB0byBjYWxsIGZhbmN5Ym94IG9uIGFueSBsaW5rcyB0aGF0IGhhdmUgdGhlICZhbXA7cXVvdDtmYW5jeWJveCZhbXA7cXVvdDsgY2xhc3MuICBUaGUgZmFuY3lib3ggalF1ZXJ5IHBsdWdpbiBpcyBpbmNsdWRlZCB3aXRoIHRoZSBKUXVlcnlUb29scyBtb2R1bGUuPC9wPg0KPHA+TGluZSA2IHVzZXMgYSBidWlsdCBpbiBwaHAgZnVuY3Rpb24gY2FsbGVkIGdsb2IsIGFuZCBzb21lIHNtYXJ0eSBtYWdpYyB0byBmaW5kIGFsbCBvZiB0aGUgSlBHIGZpbGVzIGluIHRoZSB1cGxvYWRzL2FsYnVtIGRpcmVjdG9yeSBiZWxvdyBvdXIgaW5zdGFsbGF0aW9uIHJvb3QuPC9wPg0KPHA+TGluZSA3IGlzIGEgdGVzdCB0byBzZWUgaWYgYW55IGZpbGVzIHdlcmUgYWN0dWFsbHkgZm91bmQgaW4gdGhlIGFzc2lnbiBsaW5lIHN0YXRlZCBhYm92ZS4gIFRoaXMgaWYgc3RhdGVtZW50IGlzIGNsb3NlZCBvbiBsaW5lIDE1LjwvcD4NCjxwPkxpbmUgOCBvcGVucyB1cCBhIGRpdiB0byBjb250YWluIG91ciBhbGJ1bS4gIEZvciB0aGUgcHVycG9zZXMgb2YgdGhpcyBleGFtcGxlIHRoZSBzdHlsZXMgd2VyZSBpbmNsdWRlZCBpbmxpbmUsIGhvd2V2ZXIgYSBjbGFzcyB0aGF0IHdhcyBkZWZpbmVkIGluIHRoZSBzdHlsZXNoZWV0IHNob3VsZCBiZSB1c2VkIGluIHByb2R1Y3Rpb24gZW52aXJvbm1lbnRzLiAgVGhlIGNsb3NpbmcgdGFnIGZvciB0aGlzIGRpdiBpcyBvbiBsaW5lIDE0LCBqdXN0IGJlZm9yZSB0aGUgPGNvZGU+ey9pZn08L2NvZGU+LjwvcD4NCjxwPkxpbmUgOSBiZWdpbnMgYSBsb29wIHRocm91Z2ggYWxsIG9mIHRoZSBmaWxlcyB0aGF0IHdlIGZvdW5kIGluIHRoZSBkaXJlY3RvcnkuICBUaGlzIGxvb3AgaXMgY2xvc2VkIG9uIGxpbmUgMTMuPC9wPjxici8+DQo8cD5MaW5lcyAxMCBhbmQgMTEgYXJlIHRoZSByZWFsIG1hZ2ljLiAgSGVyZSB3ZSBjcmVhdGUgYSBsaW5rIHdpdGggY2xhc3MgJmFtcDtxdW90O2ZhbmN5Ym94JmFtcDtxdW90OyBhbmQgYWRkcyB0aGUgPGNvZGU+cmVsPC9jb2RlPiBhdHRyaWJ1dGUgc28gdGhhdCBmYW5jeWJveCBrbm93cyB0aGF0IGFsbCBvZiB0aGVzZSBpbWFnZXMgc2hvdWxkIGJlIGdyb3VwZWQgdG9nZXRoZXIgYXMgb25lIGFsYnVtIGFuZCBhbGxvdyBjbGlja2luZyBiZXR3ZWVuIHRoZSBpbWFnZXMuICBUaGVuIGNvbWVzIHRoZSBwYXJ0IHdoZXJlIHdlIGRlZmluZSBvdXIgaW1hZ2VzLg0KPHA+V2Ugc3VwcGx5IHRoZSAkZmlsZSB2YXJpYWJsZSB0byB0aGUgc3JjIGFyZ3VtZW50IG9mIHRoZSA8Y29kZT57Q0dTbWFydEltYWdlfTwvY29kZT4gdGFnIHNvIHRoYXQgaXQgd2lsbCBnZXQgdGhlIG5hbWUgb2YgZWFjaCBtYXRjaGVkIGpwZWcgYXMgdGhlIGxvb3AgaXMgZXhlY3V0ZWQuPC9wPg0KPHA+VGhlIGltYWdlcyBJIHdhcyB0ZXN0aW5nIHdpdGggd2VyZSB1cGxvYWRlZCBmcm9tIG15IGlwb2QsIGFuZCBhbGwgc2VlbWVkIHRvIGJlIHJvdGF0ZWQgOTAgZGVncmVlcyBjb3VudGVyIGNsb2NrZWlzLiAgU28gdGhlIGZpcnN0IGZpbHRlciBJIGFkZGVkIHdhcyB0byByb3RhdGUgdGhlIGltYWdlIDkwIGRlZ3JlZXMgY2xvY2t3aXNlIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3JvdGF0ZT05MDwvY29kZT4gYXJndW1lbnQuIFRoZSBpbWFnZXMgdGhlbiBuZWVkZWQgdG8gaGF2ZSB0aGUgd2F0ZXJtYXJrIG9uIHRoZW0gPGVtPih0aGlzIGlzIGp1c3QgZm9yIGV4YW1wbGUgcHVycG9zZXMsIEkgZG9udCB0aGluayBhbnlib2R5IHdvdWxkIHJlYWxseSBzdGVhbCB0aGUgYmx1cnJ5IHBpY3R1cmVzIGZyb20gbXkgaXBvZCBmb3IgY29tbWVyY2lhbCBwdXJwb3Nlcyk8L2VtPiwgc28gSSBhZGRlZCB0aGUgPGNvZGU+ZmlsdGVyX3dhdGVybWFyaz0xPC9jb2RlPiBwYXJhbWV0ZXIuICBBbmQgZmluYWxseSwgYmVjYXVzZSBldmVuIHRoZSBpcG9kIHRvdWNoIGNhbiB0YWtlIHBpY3R1cmVzIHRoYXQgYXJlIHRvbyBiaWcgdG8gZGlzcGxheSBvbiB0aGUgc2NyZWVuIEkgd2FudGVkIHRvIHJlc2l6ZSB0aGVtIHRvIGEgbWF4aW11bSBoZWlnaHQgb2YgNTAwIHBpeGVscy4gIFRoaXMgd2FzIGFjY29tcGxpc2hlZCB2aWEgdGhlIDxjb2RlPmZpbHRlcl9yZXNpemU9aCw1MDA8L2NvZGU+IGFyZ3VtZW50LiAgV2UgYWRkIHRoZSA8Y29kZT5ub2VtYmVkPTE8L2NvZGU+IGFyZ3VtZW50IGJlY2F1c2UgZmFuY3lib3ggZG9lcyBub3QgdW5kZXJzdGFuZCBob3cgdG8gZGlzcGxheSBlbWJlZGRlZCBpbWFnZXMgaW4gaXRzIHBvcHVwIHdpbmRvdy4gIFRoaXMgZGVmaW5lZCB0aGUgaW1hZ2UgdGhhdCB3ZSB3ZXJlIGdvaW5nIHRvIGxpbmsgdG8uPC9wPg0KPHA+TmV4dCB3ZSBuZWVkZWQgdG8gZGVmaW5lIHRoZSB0aHVtYm5haWwgaW1hZ2UgdGhhdCB3ZSBhcmUgZ29pbmcgdG8gdXNlIGluIHRoZSBnYWxsZXJ5LiAgVGhpcyBjYWxsIHRvIDxjb2RlPntDR1NtYXJ0SW1hZ2V9PC9jb2RlPiBpcyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBmaXJzdCBjYWxsLCBleGNlcHQgdGhhdCB3ZSB1c2UgYSBkaWZmZXJlbnQgaGVpZ2h0IHZhbHVlICgxNTAgcGl4ZWxzKSBmb3IgdGhlIHRodW1ibmFpbCwgYW5kIGZvciBraWNrcyBJIGNvbnZlcnRlZCB0aGUgdGh1bWJuYWlsIHRvIGdyYXlzY2FsZSA8c3Ryb25nPmJlZm9yZTwvc3Ryb25nPiBhcHBseWluZyB0aGUgd2F0ZXJtYXJrLiAgSSBhbHNvIHJlbW92ZWQgdGhlIG5vZW1iZWQ9MSBhcmd1bWVudCBzbyB0aGF0IHRoZSBzeXN0ZW0gY291bGQgZW1iZWQgdGhlIGltYWdlIGluIHRoZSBIVE1MIG91dHB1dCBpZiB0aGUgYnJvd3NlciBzdXBwb3J0ZWQgaXQuICBUaGUgc2NyZWVuIGNhcHR1cmUgYmVsb3cgc2hvd3MgdGhlIGVmZmVjdC48L3A+DQo8aW1nIHNyYz0mcXVvdDtkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUVBWUFCZ0FBRC8yd0JEQUFnR0JnY0dCUWdIQndjSkNRZ0tEQlFOREFzTERCa1NFdzhVSFJvZkhoMGFIQndnSkM0bklDSXNJeHdjS0RjcExEQXhORFEwSHljNVBUZ3lQQzR6TkRMLzJ3QkRBUWtKQ1F3TERCZ05EUmd5SVJ3aE1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakwvd0FBUkNBQ2hBZkFEQVNJQUFoRUJBeEVCLzhRQUhBQUFBUVFEQVFBQUFBQUFBQUFBQUFBQUFBUUZCZ2NCQWdNSS84UUFVQkFBQWdFREFnTUVCd1FHQndRSUJRVUFBUUlEQUFRUkJTRUdFakVUUVZGaEJ4UWljWUdSc1NNeW9kRVZNMEpTa3NFV0pUUmljblB3SkZXQzRSYzJRMU5XZzZMeEpqVkVZN0prazdQQzB2L0VBQmdCQVFFQkFRRUFBQUFBQUFBQUFBQUFBQUFCQWdNRS84UUFJeEVCQVFBQ0FnTUFBZ0lEQUFBQUFBQUFBQUVDRVNFeEF4SkJFeUlqUWxGaGtmL2FBQXdEQVFBQ0VRTVJBRDhBdGZXOVZ1Yks3MCt4c2tnOVp2cEdWWkxnbnMwQ2pKeUJ1VDRDdEx2VkxuVExGWTlRdk5NaTFHWitXREljUnVNZ2ROem5mNlYwNGhrMFgxYUtEV3d2WXlNZVJtVnNLdzcrWmZ1bnpxSjNNbDFKd3RJSGt1SnJOTldnV3ltdUFlMGVMbUhYTzVHZWhOQk5MclhOS3NaSGp1dFF0NFhSd2pLNzRJWWpPTWU0ZzF0SHJXbHkzd3NvOVF0bnVXR1JFc2dKTzJkdmhURkZESEp4THhnenhxeDdHTlFXWE8zWkhiOEJUWERFcWNKOEZ1c1lWeGVRSElYQjM1cy9PZ2xiOFM2SkhPME1tcVdxU3E1alpXZkJERFlnK0ZjNTlTdUU0dHNkT1JrOVduczVabTluSkxLUmpCOEtpOXJxZW1XMm44U1dkMkJKY1QzMXdFZ0VSWnBjN0FEQThmbFNxeml1TkwxbmhjNmh6b3cwNTdWcENDUUpTUmhTZTQwRW1tMTNTYmE5OVRtMUcyanVNZ2RtMGdCQlBjZkErK25DcTRza2dqMGU1MGJWdFFlMXVaSlhXZTNOaUhlUXMyenEyTXRuSU9lNnJCdG9SWjJVVURTczZ3eGhESS9VaFJqSitWQTJYZXZKYThTMldrbGNpZENYay9jWS9jSHg1Vy9DajlKWFA5THBOTnlucXk2ZjZ3Qnk3OC9QanI0WTdxaXp4NnZxK21hbHFWcnAwYkM3bkZ6Ynp0Y2Nyb3NSOWdCTWI5RDM3ODFPVnJxTVYxeGRaYWl3WklkUTBvSkV4VTRNbk1TVXozRVlOQXM0YjRwdGRSMHl6Vyt2N1VhbE1HekVDRkpQTVFCanh3QnRUN0hlVzAxeGNXOGN5Tk5iNDdaQjFUSXlNL0NxN3Q3aXp1ZlI3RG8wY2JTYXMvNnFFUXR6cTVmS3ZuR3d4dm5OUGR2Znc2THhOcmE2ZzdxOXpIQTBHSTJidGlJK1U4dUJ1YzkxQklQMDdwUXRvN2s2aGJpR1ZHZEhMWURLcHd4SHVKQXJtZUpORVdLS1E2cmFCSlNRaDdRYi9sOGFoMmdSaDI0TUVpQmdJN3RzTU00SUpJTkxCYnhmbzNqcjdGUDEwbVBZSGRIa2ZqdlFUa0hJeURrR2lrT2lrblFkT0p6bjFXTE9mOEFwZFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZSbHVEcmZsNUZtRWtZVUtvbVZpUUFQN3JLUHdxVFVWWmRKWnN3YU53cGJhUGZldUxjU3lTQlpFUk9pSXJsU1FBY245Z2RTYWY2S0tpaWpyUlJRRkZId294NVVDRFM5TFRTeGRpT1Y1UFdibDdsdVlBY3BiR1FNZDIxTDZNZVZHRDRVQmsrTkZHRDRHakI4RFFGRkdENEdzNFBnYURHVFJtczRQZ2F4ZytCb0NpaWo0VUJSUjhLUGhRRkZHUEtqSGxRRkZHRDRHakI4RFFGRkdENEdqQjhEUUZGWndmQTFqQjhEUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVlQZ2FQaFFGRkZHQ1RqRzlBVVZua2I5MXZsUnl0KzYzeW9NVVZubGI5MXZsUmcrQitWQmlpakI4S3p5dCs2ZmxRWW9ySlVqcUNQZUtBckhvcFB3b01VVm5sYjkxdmxRVllkVkkrRkJpaXM0UGdmbFFBVDBCUHVGQmlpczhqZnVOOGpSeVA4QXVOOHFERkZaS3NPcWtlOFVjamZ1TjhxREZGWjVHL2NiNVVjai91TjhqUVlvclBJMzdyZktqbGI5MXZsUVlvclBLMzdwK1ZBQlBRRSs0VUdLS3p5dCs2M3lyRkFVVVVVRGJxVEVTeDRKR3g2ZStrWE8zN3pmT2xtcWZyWS84Sit0TitkOFVHNWtZayswM3pySE94L2FiNTFwbmV0U2FEY3lQbjd6Zk0xelozeHN6Zk0wWk5jM29NbVIvd0I5djRqWE15UC9BTjQvek5ZSnJVbnpvTU5KSisrMzhScmk4a20vMmoveEd0MkpwTzIxQmhwNWYrOGYrSTEzNFIxQTZrWTdqMmg5c3lZTEU3Q2tMdHYxeFhIZ2Vkb1dnanh6Q1Mra1FrZEIxTkJNN3gyRjNKN1J3Q05zK1ZjQzdkN0g1MTF2djdaSjhQcFNWajQwRzVkc2ZmYjUwZG8vZXpmT3RNNXJHZkhyUWJGMi9lYjUxb1pIejk5dm1heHpBSEhTdWJNRDMwR1drY2Z0dC9FYTBNci9BTDcvQU1SclJtM3JRbkZCc1paTWdjN2Z4R3VUelNEOXQvNGpRVzNyaTVvTlhta0EybGYrSTA2Y015TStxeWd1N0FRbnFTZjJoVExLZHMwNjhLSE9yVC81UFgvaUZBNE5JMlQ3UjZudnJIYXNQMm0rZEkzdVZEdm54SXJtYnRSM2lnY1JNM1RtYjUxbnRXL2ZiNTAwSFVZMUpIT3VSNG11YjZxbU5uWCtJVUQwWjNEWUxIR091YXdidmw2c2ZuVU4xRGlxMXNjbWFkVngzYzFNNDlJZWx6U2RuNnlBZk5xQ2YzZXNyYnFUemtudXFQM25GRndTUWtoSHVxTlhYRWxzOHFabVRzMzJEODJ3OTlJNU5Sc1pFa2NYMGFoY2tzUEx6OGFDUVcrdTZycWx6TGE2ZElKWm93REp6UHlyR1BNK1BsMXAxZy9TZk5PdDVxMGtUUTRMZGlBRkhtYzVxc0xUaTZiaEpCNnRINjI5eXJPc3pleUQvZS9HbUhVdUplSWJxNmFTU1M1UmdRU2U3STZIcFFYeHhScVY3b2NWcmNXY3N6cVVWbVNZaGxrQnh2dHZtbDNGRnk3ZWp2VVoxTEkvWnFSZ2tGZmJUYk5lZmh4VnhOcU4zSGMzZDllMzB3MjdObDJLZzVIZGo4S3Q1dFJ2TlU5Q21xM1Y3RDJOd1NReWs1eGgwL0dncW1hOHVocTh5aTl1VlJsQkdKbXh0OGFjOU92YmlPL1F0ZTNQSVJnODBySGMvR21KNVErcDI1WWMzUEVSdjFHS2NZbUNUeHR5SFBmZ1p6UUxkZXVydjlKVzBrZDVjc25aNC9YTU53VDRHckQwS0dhNnRyS2RwcHNQR3JIMno0ZStxMDFRbmxnd0NBR0lxenVDcHUwNGV0WE8rRTVDZWJPNFAvT2dsOHp4aUdPRnBDQzU1VkcrNXhucjhLcjdpeTJraTAvVXBVdnJxUDdGOHhpVEFKV1JRTURyakdjNzljVk43bXpudVJic3NUa0pNc2dJSFVqT0tZT0w5TmRyYWVOWXBoUExieW9pSW85dGh5bFYzQlBlZW1LQnI5RGR4SkpmYXJienlTeUV3Q1JTN2xzZHhHNTg2ZXVJN0N3dXRPbnVuRWd2WUxkbGlsRTdyZ0Rmb0RqeDZpbUQwVlc5M1k2enJFTWtiMjg2V1dNU2o3amMzZUtiTlZ0K0pGdG5lNTE3dG9TcEx4cGJnQWp3ejNVRFhwZGxkYXZxTUtHNHVKSTRvSkpHZ2E0ZE8xYktxTWtIb001cDhzMy9BS05tNGp1N3E1Z2dlUldRYzdTdEo3SUpVRTl3T2ZjTVo4YWplZ2F1TksxKzBGeElrY0VzVXFTTzdZQzQ1V0J6OEtjK09MUkxvMmVxMmM0bHQrVHNuTVc0eHpaRGVlYzQrVkJwcVhGa3BkaGJ6eXhZSjVGV1J1WWZIcDE4cWUvU1ZkM0k5SEhDY3l6VFJ5eU1wY3JLUVQ5ajNrSGVvQnlXNGtoY082QlR6TXJzRHlONDV4NUQzVk92U1NESjZOT0Q4a2trcGtucitwb0twdWI2K1ZWWVh0ME45L3QzL091OXRxVjdsVk43Y2tmNTcvblNmVUVUMUl5STJTa25LK0QwTmJSMkY0dW5SNmkxdko2bThuWnJNUjdKWWRSbnhvSDIxMWJVN1FPOXRxVjFFN3FWYmxsSnlwN3R6VGRjMzk2Y2tYdDF6WkhTZHQveG9pbEhZRGZwMXBIZGtOYnRuQjNIWHVvRjFyZGFnQzZTM04ydTNScG4yL0dzVFhsNHVDdDdjK1gyN2ZuU2ZRVlNXNVpaV2s3SUp6UHlBRmdNanBuclc5OHFMSTVoNSt5NWp5bDhaeDU0b085dHFOK2poeGUzSUtuS250VzJQZDMxS1JkU1hzU1gwTnhPZ2ZhV05aWDVZNVIxVWI5RDk0ZThqdXFGcElBdU5zK2RQWEQrcFIyRjhlM2FRV2N3NVprWHc3bUhtcDN4M2pidm9KYmFUM01EUlN0Y1RFZy90U3NmUHhxVmVtYTN1SDRTc2J5MW1sUnUxUldhTnl2VldJNmVkZDdQaHlEVkVpVG5WWmNZWWo5dndPZmRpczhjelQzR2cyL0RyV3J0Y0NOSnUxWmgreVN1QVBFanZvS2E0VTlmSEYyamM5NWNsUFhvUXl0T3h5T2NkUm12VXg2bXFRNFc0V2doMXF3bHVVbldlTzRSMVZtQzRJWUhjWS9uVjMwQlJSUlFOV3Jmcll2OEordE4yYWNkVy9XeGY0VDlhYkdvTWs3MXJ6WXJESEcrRFRGeEp4SEhvTm9za2tMdUh5QXk0d01VRDR6aXVaa3FwWDlLOTdISi9aN1J4MDNMQ2xOaDZXNFRJVjFHekNvVHMwQkpJK0JvTE5MZDlhTXh4MDJxUGFmeGxvdW9SSzZYcUt6ZnNObm1Id3BiK25OTnovYkkva2Z5b0hFbmF1RDBRM1VWMUVKWUpCSWhKQUkyNlZpUTBDVnp2aytOTE9BMkhxeXNla2wzS1ViOTRaNmp5cGoxMStUVGp1d1ZwRVZzSEhzbGdDS2t2REtCSnJlTlJoVmtPQjRiVUQzcUcxNUo4UHBTVW1sVi93RDJ5VDRmU2tob05RYTVUVGlDSjVDQ1FnemdkVFhUdjZWRk9OZFRGcHBndFJLWTN1VHlsaG5PUERieG9HRFdQU1JQYjNVaTJscUJHdTMyM1hQZjBwRkg2VkpTeW1TeWo1TSsxZzc0cUtYMXZEMlRNSCtZSk5Na2lvaWZmR2ZlYUM3ZE40MzBuVTVZNG8zWkpIemtQc0YyOGFrQ3lMSW9aR0RBOUNEWG0rRzRFYjVFcFUrSXF6dUJlSlJOYnpSMzE2QXNTaFkxT2ZuUVdFYTVPYXlraVNJcm9RVllBZ2p2clYrbEFua08xTHVESGVYaU8rTE9lUklBaXAveERKcEJKMHBad1IvMWoxTGJmc3gvK1FvRU05eTNhdnYrMGZyWEF6dTNmVGhQYXFKWC93QVI3dk91WXRvejF6OHFDQmErNS9TOHA3K1ZmcFVZMWpXVTArRXFwQm1ZWVVlRlRUaUMyUmRZbEFIUkY3dktxZzE2WnBOVG15YzRZZ2VWQWludTVaNUdlU1FsajFyZ0pDRDEzcFZZNlpQZnY3SUtvT3JHbiszNGJ0MEE3VExIem9JK2wwVlhCWThnT1N0U2ZUZUsyc2JVMjVnV2ExQTVsVmtCNVQ0MG9UaHV4ZGQ0K3ZoVzAzQ1RXMWxMTmJQekVEbUtONGVGWnl5OVhidytMOG1WM3hERGZUeWFuYytzRkVSVDkxUnNBTytuMjBqa0UwYlhISzBJeHpLaTRKSGhudXFMeHl5SmNNSFhsd1NDbmNLbWR1QklxTUNNRUN0T1Y0dkIzMUtmUnA5TVNMUzlNbXRieklMeXl6OW9wWHZITFV2MGRKbjlDR3NKSVVaek80SEt2S01jMGRRUlV3d3FmMlE1ZlFwckJIL2ZzZjhBMXgwUlY4Mm44aVcwalN4UWhIR1dkOXNIR054bWxDdU9ibDV3V1VuSjVlbEtOVFR0dERsbnhnUmNyYmVSeHZTT0VjLzNRY0FLVGdiRE85QXRuaWdsakwzSWtaWS9iUUkyTXQ1bnVGU3JTdFkxQzM0YWdzckJrdG1lY3pDU1JNcXVEakJKM09kc1kyNjFybzBPbmFUYlI2anFNQ1hEU1k3TzFLOHdPUDJpTzgrL2FwTnhYYmFYcmx2cDV0ZFNndEpvTVJzZ1FxRlhPY0FBYlk4S0NUYVJOZlhIQUthaGV4T05RZTM5dU1ObGNnNHlnN2dSdlNUakRTVTFPUWFmRXBTTmNaNUNRRkJVOVFPNDcvaFdxY1k2VG85dERwY1YzQklxUUJGREJ0Z1BJQ212V09KclM3N1NTMXZTSGxUSmVGQ3JOZ2JaUGRqZjUwRGI2T3JDYlMrSUxwR0VmYVBFNkdEbXc0UU9DR0k2WVB6MzZVbDF5V2U3bmx0b05QbWtjZG9nVmNEYmY2YlVxNEhuczlKdm52NysraVQxaUpvaXhKTGgyd2NIYnhGT1NUaTltdW9OT2pWaXhmTEp1OG96Z25KeHQzWUhrYUN2WHM3YlM5Y2dWclUzVitFUE5JUDFNQUtBNHdSN1RlZlFlZFMyR3dUVmJOOUpFVTBjMTRXajdjcjdJQklJT2V1QVBLbld5NFgxTFZManRncVF4TW5MMmpuYndJeDM5S2UrSU5HL1JIRGQ5ZTIxMUt0eEJiczZka2lvZVlEYkJHNCt0QkhyYjBNMjZ4cXI2cEtjOVNJODkvY1BuU0QwdjZkSHBmQnZEK20yNVl4VzF4MktGdXBDeEVETk1jTjdmUmNzOHVwNmpNN0wwbnZaR0ErR2FkL1NneGw5SDNERHNTeGFSU1NTU1Q5bDQ5YUNCMmQvcGIraXkvMGk0ZFUxT0NjTWlIN3o1Y0VGZmhrZkNtS0hUWTVMS0oxSlZtVUh5cHkxS09IOUR2eUFoeVl5YzV4MXJ0cDl1VFlRbkczTDNEem9HWDFlNmpRcmdPdmlLMHVVQnM4R1Q3Vmo3VVpVZ3JqdnowTldHbkRVYzJqTmNLd0VnT2ZlS2grcHJidlp1Qk1uTXFjd3dPNEhmZWc1OE1SdzV2OEF0V0MvN01lVFBlZVphMjFhSUpaaVJWMkw0NjF3ME80aEVWeUdtNUhiQzlPNy9RcGJxNndMb2lOMnZNL2Jia0gyY1lQZGpyOGFCdm5OcGNOYmVvd1N4dVVXTjBhVHRESkpucXV3d1BMZjMwT1d0eVZsVXF3T0dCR0NwSGlLSWpCQ3RzeVM4a29ZU2xsRytPdXhQUStGT0VrUDZVdFpQVitTWm1PWkpNYjh4OGM3NHgxTkJabm81MXUzaXRJYkc0dUlrZU1oNE9ZNE9DU1N1ZnhIdk5TdmpmVTdLM3RiTFZaQVhnQk1KQ1k1c25CSFh1MmFvYnc3Y2FGYldkcXNlaXlYVnpnTEpOT1ZTTmlPL09jNEh1M3dLbEVXcld1c3ZkMk54cE5vOGNaNW93NkNRRTQyM1B2T052SHBRTVdpOGM2TE5yRmxaTGFYWWtrbVNOQ1FtQXhJQXp2NTFhOVJ2VFlkQVRzNDR0THM0cm1KdGliWkFTZWJBS25IamlwSlFGRkZGQTA2dit0aUhkeW42MDFuNDA2YXgrdGkvd0FKK3ROWjZVR2puQnFyT0xZN2pXWmJ1ZEZra2lqMlJjN0lOaCtQV3JRbHh5Tm53cU5haERIRm9WMDBhY29lUEorWW9LUHU5TmxqY0ZsSThhUXZBUTJNR3BsZmhSTVJqclRQUEd2TWRobWdhTGQ1YmFaSkVZbzQ2RVZaa0VRR254UzlvT1lnYlp5Zm5VRWEzN1Fxd1haVHVlNFZMTkpuYWF3UlMyZXo5bkdUaXBlK0hYSDFtTnVTd09ITS9vWlA4eC9yVGk0ODZidUhCL1V5ZjQyK3RPTGdFSGI4YXJrWmRmWG0wcVVEWUJsT2Zjd3FVY040OVloem5QYS95cU5hK0IraHJueVhQeXFSOE5NUFc0UVJqRDVIbnRRUGQvajF1WFBYYjZVa2FsZC8vYkpQaDlLUm1nNW5yNVZEZU1vbzNFYmxjdXJydjhEVXlZVlgvSEYzSmFLNmtBa3lLd2J3SEsyMUJGTlFSVEdBUjVWSDdxM2pPNFhwV2JqV3BYY3h0SW1PblRGSTU5UUlJRFkzNmVZb05UYnFWSVZjazA4NkhCNm5kbFJKbm5UZGZBMHpRWGg1eElGd282SFBmVGhZVHl5YXBEZ0VnN2RlZ3JQMTEvV1lYYzVxNzdMK3dXMytVdjBGZEdyU3lIOVgyMytVdjBGZFdyVGtUUDVVcjRMMjRuMUlkM1lLZnhGSlpBQUNLWGNJUXNuRTE3SmoyWHRoZy84QUVLQjN2ckR0T2FXSmR4MVVkL25UTTBYS2NkL2hVbHM3dUM5amFTM2NNQXhVK0lOTWVrb3QzZFhuYW5PUHUrV1NhQ3VlTWJnV2wxZXpuYnM0VkkrVlZCWldqNnZxYkFraGM4OGpmSCtkVzU2U28xUnRUUnQyRUM0OStCVmU4TVFGTE9hWURMTytBZklmNk5BN0pIRmJ4aUtKUXFyMHhRWHlOcXkzS28zTzljeTRCMm9mNkxiWm43Uk1iYmpmd3A3am5rdVZWWlF2VWpQWEpxT1BxNjZkQVVtaFBpcHlDQ2ZFVnpzdUpBSkVMQWhBZXBGWW43WGw2TTkrUEgxbDc3YWNUYUY2dklidUpQWmMrMWl0ZEtjcEdJMk9lWGRUVTRTTzMxelJ5Z2JabDYrQnFMWHVpM1duWE1sbzY5bmRSdHlGVDQ3WVBoaXR2T1VEWnMvT3JDMGtjL29jMVVZNXN6UHQvd0FVZFFFOEtjWDIyR3VMYlR5V3dBbzFDSG1PU0FOdWJ6RldOQnBkOXBmb2gxVzF2b1ZpdURJWDVCSXNnd1dqNzFKSGNhQ0NROGhpbXQ1RVU5dEhnZ0FOdmpZSDYwaHRsWkpaYmRZZ29kVkRaSVBUd3g3dXRLWW9wU1F2WjgyUmhlWGJGS0xmVERhcEpQT3dSMlRFU25QdE4zWjhnTjZCWEU2cmFMRGRTaU9PTTg4Yk9jZXpqSkE5dzMrSGpTNWJxMjlabjVXSDN5YytOUjJTUDFobWt1dVdkMlVwbjkxY1l3TTlPcDZWR3A3MitzTHlkWUhWNGd4NWVja0hGQktOWGUyYWFXUVpEQkErVjd4bmNmS25xR2RKSVVhSWhrNWQ1Q05oL3dBK3RRcXdtTjFjb2JvODVaR0JDOUNRUWNWS2t2UnloVWpQZ2lLTmdLSFpWMlpGaXhtOWxSTUNHQzVMZTJOejhLZWVITlhXRFhKQ3FLd0VMY3VUdDFGUks1MUdVb1VrYkI4QWVuaUs3YUJMMnVxNFBzanN6amJPZW0xU2IyNjUrc2trN1hWbzJvUGZBOGlLcXFOZ293QlRocTFnZFMwaWF6OW5NcThwTFp4K0ZOWEMvSXRua1lDZzR5Y0NuMlc3aWpBQmRjOTI5VnlWamNlaTdWWkpTNjMxcmduY0htSkh1eUtSK2xpeWV4NEw0ZnNuWU0wRTNac3c2RWlPck11OVVhQjRZSWlzbHhPeFdOZTRZNnNmSVZYM3BrRGYwZDBydE1Pd3VtNWlCako3TTkxQlU5NHhmVG1EWXh5cjA4alVpNFhzbHV0T2pPZGxjanJVWVpKSnJjeFJSdTdFYktvejMxTCtGM0ZucEI3WnNFU09NQUZoM2Q0Mm9KYTVoZzAva1lBS1Y1QnNPdkthcWJWNDRrdFpsN1Vvd2hiS2pIdEU0cXo3aTFtdXRNTnd2TXNDRlpHZGxJQVVEYy9qVmNhdmJwQkZjckxLcXlzckRsRCs3RzFBaDRTdG9wa3Z6SkdyRkl3VnlPaDM2VXAxN21PbHFnZm1UdFZQSUVHM1hKejFQZlNmaGt6Slk2b1lPVHRERXZMemJqdnBMUE5xQ01UZFBHOGE3c3NhOVBPaXliNGpqSnBndW9wSm9yaHVhTUtFUmsrOE1maFVoNGV0clMyc3A1SmlWeVZPWGt3VzI2RlIxSHdwcjAvVWJaNVpVU1RITmpPVHNjZnUrWFNrNkxLbDdjckxNQVdZRU1CMUhsOUtrMjM1UFhpWW4rNzFGWGlNTnN5d0ZjNGtBNVd3VDVkUjEycEhhYXJjMnFSU2krbTNMS0ZTVTVqSndDVjMyUFRla2thSkVIYVhMQnp5L2YzQUh1N3FTdGFNSi9zeUFHR00vbWFybW12RFdzWE12RUduUXlYYnVHdm9seXpFNUhOdjhNbjVtdlFaNjE1ZjRXQ3J4WG9LQXZuMXVFNEorOTdZMzkxZW9EMU5BVVVVVURUckg2MkwvQ2ZyVFVUVHJySDYyTC9DZnJUVXd4UUl0UldXU3htV0VrU0ViWUdTZktxNzRrMVM4R2t5aFkzNU96d0RHZGh2MzFackRQeHFBY1MyeXRwdDdseWloU2NmSHBRVmFsMWMzSmZMTWVYR1NhUXlYa3BrSUdlYnBpbnEwQ1IyczdrQUsyVlhJd1dIalRWSENyM1piZnN3Y2xnTTcrRlMzVFdHRnp5bU1LTGU1bWloQ2xYVm5HZCtoSGpVaTRhU1QxT1IyUHNGdVZjL2pVZDUxa2taZ05pZHM5d3FiV0Z1TFd5aWhHZGh2NytwcFA4QUxYa3ZPcGVJblhEbi93QW1UL01mNjA0UG1rSERnL3FaUDh4L3JUaTQ4cXJtUVhsdWwxYnlRU1o1SkY1VGpyU2pnNzF1SFdPd3U1VmRReTlrNEdPYlk3ZStzU1lBeWVncmh3YWJxOTE2RyttQ3BBMjhVWWJQS044SDNtZ21kK00za253K2xJenZTMisvdGtudytsSW1vT2JiL09vVHg5RHoyMXN3d0NYNVNEM2pCcWJFVkVlT284NlpieWZ1ellQdXdhQ3BGdGdOVXdRcnVQYTZEQUhpYWJkVVFQZU1VR1FUZ0FkMVBmWnZHMDdySHpFa2d0bW1zeEdOMm5seWNiRHZ6VXQwNmVQRDN5MThjWXdVSFlaS3FQdkE3L0tuN2g2MTVwNWJrOUVYa1gzMHdSNTY3NVltcFp3OWhkT1lramR6dFNNNTVicTJyRWYxZmJmNVNmUVYwYXVka2Y2dnR1bjZwZm9LNnRWWkozL0duYmhUSDZVbUdSbnNmSCs4S2EzSGZTcmhZSCtsc3V3UCt4SEgvd0M0dEF5MjF6Tlkza2trRGxUenQzN0hlcER3NjY4bHc1NnV5ajZtb3FrOFU4a2p3eXBJdk93SlE1M3lkcWxHZ3FGdEZrQjNNaHlQSUQvblFWcDZVVTdUVXJ5TWQ4YS9IMmFyMjB2R3R0SWlTSWUwek4wOTlXVngycXpjU3pSbjdwaVg2VkFiblRQVTE1WThsUVNWQjh4UU5EWDl6SEw5bzJhbU9pYVdkU3MzbktrcXE5UE05S2hpV1V0MWVySHVjdGpIY0JWdGFFSXJQVGpBTURtMk9Lemxma2Vqd1lTMzJ6NmlwYnd5QzVkWExzcXNjYzFTUGhxUzBtamUzblRuNXdSeTh2bDFwOTEvaG0wdWgyc1dFbDhRZGpVZHRiSzQwNmJrNWNNZjJsTldUVGpsbHU3U0Rodk9uMzBsc0hab1RuQ3QzVk52U1BweGg0Z3RicjJSRHFGcUZaOGZkZU1ESHpCcUk2TGFZWXU0KzBPNUpxMitOOU9GNVk2UWVVRVJ1UTJlNVNneWZ3cXN2UGx0YlNyeEhQYnlNeElrVGNucGxoVm84Q0dOdlF2cUpseUU5YWtKNW01dStQdnFEYWJFMXh4azVrUE1RVUJJNzhIWS9HcHp3REMwM29ZMUNOVGt0ZHlBRWp6am9HaDdxSWpGdGJFSCsva2ZnS2oycVBkUGU5bzB6Y3lrTUN4T1BEcCtGU2RkS241ajdjWUhRblAwcEJxV2dYRnlyTEVFWTQzekpnbnYvbFFJYkNkSlFWZmxEamZCTk11cVdLU3JkeVNGUnlTK3dQMmp2OVBHbldYU05Sc0U5WWtXSUZSMUVneVBjTyttcVNVU1EzQW1MTkwyNHk1TzVKUFNnVGN5Mm5ZQUV2bHVWU09vNXUvOEsyZ2ttVWRwMnMyRng3U3YwTkpya3lLNVNLUE12TUFpNDZHbGN4UlVTRkRubFBNZHZHczIvSGJ4NGNYTzhhS2tsYVpRN2tsaU1ibW5qaHNFYXEyQjFRay9NVXhXMmV5VlI1NzFJdUdVSDZTWTlBSXljNTY3aXRPVnU3dFlkdnEzcWtJR1NGVTdLUDUxdEh4SGJ0QVZOdkk4eFAzKzEyMzhzVXh6bjJTQ1Jqdnp2U05XNUVYT1NPdXd4UkQ3ZTZuTmMzVnJjMjhpcGMyejlwRVhQc0U5NGJHK0RTbjBnYWxheDhQYUxmYXBZcmNxODNNOEtQdGtwdmhxanNYTXhWczRIbjFweTlKYWtjR2FDdWRoSUFjOS93Qm5RUUxWOVQwaThSalkyVTF1a2dPQWhBWlI3LzhBbHZTL2htZms0WldJTitzdVpsQkhUWll6VVhXUEpBd1FEMys2cEhwMXJjdzJOcmJ5eVFXcUxMSTZ1RjVtT1ZYSktuWWpBOHFDNFlMZU81NFdTTnlNUFpZeDQrem1xRzFhTHQzYVNhYU5VS01VOFNUanA1YlZQYmFXNWx0cFlSTThpeFd2TWp1TWtaeUQ1YmtlSFNvSEpwOGpLVEoyYXNRTjg3azBDWFFZemIyMm9kbGx5aWNyN2JFNzlQREZKWnJlZHJScHBrTnVqamFVNWJPTnNZRzVwKzBxd0ZySERHcmMvcmpCV0lIUWNySEsvR3RMN1Q1N2lYKzBDUWdZSE4wMjIrbFp0NTA3WVkrdVB2OEE4UmkwampnWjRvb21ZY3h6STRCWnZjZTRId0ZUUGgvaEdQaXBiaWRMdHJVd0ZVdzBlZWJJelhIVDlEakJaN2libWJtMkVaK3BwVGROYzZkeUpZVDNFVVR1VEl5VEZTZHRodDg2MDRuNWZRNHR4R3p2ckJTTWRBSVQ4ZSt1VGVqVzF0OVN0SUJQTE0xMHhpRGxUaFFCbm1ZZE01STc2ajdhenFEanN6cVY0Y2VNNzQrdGQ3Vzl2WUFadlhibFd4OS90V3lQZDRkOUJNckwwYXBwR3RhZmVSM1NUU1IzRWJIQ2xSeWc1eGpKcTBxb0xTTld2cHVKOUxFbDdkU0sxN0NDcG1adHVZZGQrbFg2ZXRBVVVVVURUcTQrMmkvd242MDF0MU5PbXIvcm92OEFDZnJUUFBMSENwWnpqYWdEc0RVSzR1aHhZYWl2UU5IbGNmNjhhMTRxNDhYU1VFTm5HajNMOU9ZbkNqeDg2YmZXZFExYmc1dFR2cEF6VGh5Z1ZRb1ZRUVBxQ2FDRVhGdTdXeW96S01nZE5zVTBYQ1BDQkVHWEJ3VGdZSTY3VktIYnNiZHBHSHRnWlRJLzFtb3hKekdWM2JxeHpXZTd3N3orUERjN3JNZUF5NU9BU0tuU1hNTDdKS3JmOFZRRE9XQTdxMDFKR1V4U2dlMFJ5azFwd1h4dzI0T2lwdjhBOW8zMXB6WTdud3FydUNiNjhrMGRVam1iMkhJTy9qdlUxaTFDNVFEdHZhWG9jamNVRHV3NXRxMDRDY0ZMRWVBSS9FaXRJWmttNVhRN1Z4OUhzM01iTmM3Q1dSZmt4b0p0ZkgvYlpQZVBwU1EwdnVJRExleW5jS0NOL2dLYTlTbkZxamN0QWt2dFN0ckNKNUo1TUtpbG14NENxeDFuamR1STVFc0xTMDdLSU1aREk3WmJsQUk2ZDNXdCtPdFVZV0poRGUxT2VYUGwzMUh1R3JWVGFYdW9NRHpSc3NTanVPUVNmajdOQjJFWmRYWEdmZFRCcU1oYTRNU2hWUkdJQVVZQnFVVHNscEZJUUQycFBMeWtkQjQrN3pxTno1bmxKVUU0OHF6M1hmTCtQQ1l6dWtHUXE3VjJFODhkbklZcFdRcnY3SnJUMWFSNU1jcEg4NmQvMFMwVm82djk1a0xINVZwd08vQzNHT3BtV08wbW5hVWNuc2N4NllIU3A5YjYxSXdIYXB0anVxbk9IM0Z0cmRtejdBU0JXOXgycTRvTFJKR1pCOTVlbm5RT0Vkd2s0eWh6VHR3dC93QlpXYnU5VlA4QS9JdFF1R2Q0Sm1HY0ZXd1JVeDRQbEUydE00UC9BTk1lNysrdEJDTkUwK1RTN0o0SmVYdE8ya1p1WHpZMU9kS3hIcDhEZDVWaWZuVVB2NzVMUjNabEp6Tnk0SGlUaXBaWmN5NmRIL2tEYnpvSzk0cmtFbkU4elo2SW4wcU5YNHlkcWZPSTJ6eERjKzVmcFRUS25OSW0yY2tESGpUcFpOM1J2dG1oMCtLU2FRTjJyZEdBNkR3cnRaNjFjcmF1OXFxdElTQXNiSGwybzFXWkk0eEFxZ2pxRjhLWTRnOFYwcmMyQjE2OUt4anpkdlI1c3JoSjRwZWt2djhBVjU1OU50cHV3YUtRT1ZsVFBkaXRiQjF2Z3ZNUGJCcmxCZHpYRnVlMVpKQXV3QXJhR2FDMlpaMFhra0RxQ21ldTliZVpJYmVMc21Ia0t0ZmlxSzZmUkltdFFHWlFBUm54QUg4NnE3MlRHc21lbzdxdUtlNTdEU25tNUE2eFFoK1h2SkFGQlN5Y00zV2xjZkd6V09TNGxoc29IbWtSZGl4NW1QeUdCOEtkZUI3bHRKOUN1cFhJREZvN3FSaHk1VTdtTWZ6cVIzdXAzVjNxTWx6RlBOQUh4N0VjaHdNREZaNGllVzQ5RitybVZ5N25BeTMrTktDdGhyK29jN01zaXV1VGd1bWUrdTBYRTJvR1ZWS1FGU1J6Zlo0eitOTWZPVzVjWkI1Um5Qald3a0FZQWpjQTlQR2drdHlXdVk1T1pzdVZiQXgwMnFFU1pqZTZpbldYTEVoQ2k1S3NEa1o5MVRMTE5HVzJ4eWcrT0Q0VkhaazdiVUpqSm5rRWhMRUR6cGJydGNjZmE2Y3dIa1QxaHhIa2NwM1hxZkh5TzFKMXM0MllBN0h4cFhLVWVRSkVDVVFZQjhhNWVJT2MxbVQ2NitXLzFuVGVLQkkxeHpad2NtbjdoMWsvU1RiNCt4YjZpbU9Od1VPMk1lRk9tZzUvU0xMak9ZaWVubUswNHBQZDlwY1FjdHVzYk5rZnJISTI3KzZ0QUpBUGI1U09tT3VhNXU3SS9Mc0FlN082MWxaWFZVQXdSbnczRkIzaTVvOEJJMDh5Um40VXU5STREY0ZjUDViQzg0SlAvbDAzd3VDZ0hMN1pPY0grVk9ucEpVRGd6UTR4SExJeGZDcEdoWmllejhQem9LdGdRTklNN2o5bW5hM203RndGQmRzNUJidUoyTzFJTFcxMUNXUm1PbDNNS29Nbm5YZmJ2cFhHUzBweDdJRGJzZWdvSFhTcDU1cjZmbmx5UkNNQmp0ako2Q200R0tLTUhtNTJDKzI3SEdQZFduTjZ2ZW1XS1J1UVF1cEo3OXRxajl0cURNcW00VWNvR3h5Y1pxVzZqV0dIdGxvL1RYWHFjVU1jTW1TaHlHSTNHTnR2S214N3VSMzJjazlkanRTV1M3ZTVQYUhBeUJzS3hHeHlvT05qM2Y2M3FTYTdiOHVXN3FkUktkTFZuaEJKSnlkcWxtbDhOUWE5WTNJbG5hSXE2Z0ZRRDNacUhXTjlIQkFGSXkzajRWTk9HYnFjV1YxTEpidXNIYUpsenN1Y2JiMXB5YlEraTJLS1VUbTllV01uY05GZ0g4YVhhandqcDB0bjZ2RTFyYnlNTUJzTVQzK2RLZEVuWFhkY3ZiU2VROWxib3JSVy9OZ01Ebm1ZK1BkN3FrRnZwRU50S3hNazl3enRrTEkyUXZ1SFFVRmU2VHdPbHRybG5jRFUyWm9MbEdLQzNJNXVWZ2NaejA4NnQzdnBMYlBod2lSQkZPZDhZUHVwVlFGRkZGQTNhb0FBcmtiaFNLZ2VzM2JoaXZON3FtdXV6Q0dOYzV4eU1mbFVBMXdOSHBrMXljZXhIbmZ4NWMwRlE4UVhSdWRadVhVN0tlVmZoVnEzVmlscHdwSHA4WVZUSGFZQ0h1SU9UOFNEVlY2TlpIVjlmdExVZ250NVJ6ZVF6ay9oVnY2dXZyZHNaL2FXTHRGTGN2WEJVQS9IMmFMTHE3VmxxMXc2ZllyOXhCN0pGTXpRTThZWVlESHhOV2ZxSEJGdmNNVEZQS2hYT2M0d2Z3cEphZWowdk1yVFRza1hMdVZJSkhsMHFTYVhQTzUzYUJhYnBKdVp2Yis2TjJJck92V2FycGtjcUFERG41ZEt0U3g0U3NBaEVVczRRSXo4MlZ5MlBoVFBxSENVRTNEWE9zc3hKU1U0T01aQjkxVmxHdlJ4Sm1hOHRpZnZSYzZEekIzL0FBcXhMbUlUYVBMY1JEMm84RnNlWGZWUmNQWEw2VnJsbE1qRUJaZ0c5eE9EVnhzeTJONkhVWnRMazhrcW5vcGJiUHUzb0dtMHVtaGRaQVRna1pBcFp3VE9MRFhyTFRwYzlwSmNTT2hBMlpXeVJqK2RNdHdodEw2VzF5ZnM1T1VlN2I4NmNOQzdTYmpEaDJSZDFodW1WaDRCa1A1VUZzM3NxeExudjYvaFVXMWhqTkp5QVpESXJaOTdFRDZVOTY2N0xDV1Q3eS96Rk1jTXhsa2FWUmtCVnhub1BaMno3aVNhQ25PT24vcldLMkJ6MmE1UGh2OEErMVBQRDFvZzRMdDFjQU5OZmRxYy90QUt5MUYrSlpEZWNUWGZaNWJNblpvRDEyMi9HclZ0TkV0cDdUUzdVODhjRUxsUFl4bmJidzh6VXMyMWpsNjNhRHo4MS9BR2NEbVhLQWp2eFRLMm0zQ3NRRXlmRVZZeThLMnlYdDliTE5NR2pKZGVuY2R4MDhLVmFid25ZM0Z4Mm5yRTVpWmViR1I3TzN1cEpxSmxsY3J1cS90ZE5XMllTU2dHUWRGRytQZlNtNFFpYVpjZElmcWFtdHZ3aGFTdVpqTk9VbGxFY2VDT2c2bnBXeWNKMlUrclh5R2E1NVVqeCt6NCs2cWluYisyTmhxUkFHQ09WeDhnYXR6VExzemFSWTZyRjFhTUNRZmhWZWNhUWlQVlZrakI1QWdRRTkrTnY1VkpPQk5RRXVoVFdya25zV3hrOUFEUVBHdEtrZDRzMFdPU2RBdzkvZlVoOUhrdmFhdGNlSFliZnhpb2pxTTJZRmladmFna0pIK0Uvd0R0VW45SERaMXFjZjhBNlhQL0FLMW9JbnJCTDNxeGdBZ08waitJOXJBL0hOV0V6Q0pKRjVsKzR2S3VSbkdLcjY0NVpkVHVEa0U5dXNYVHdiSit0VDdVWVkwRThySXBkQ1FqNDNBb0txMXVVdnJkd3hQZ052ZFhBWE5zbHE1TGp0VVBOaklCK0ZJdGRtWVhGOU1wWUZGMks5YzkxUUc4dW5hY2UwU3luZHM5YTU1YzMxajFlR1h4WS9sK3BMZUdhUzZKVWtrNzU4S1FlclN2S0FaVGttbHVuM0l1cmRKZjJpdUc5OUUwVEJ3M05qZXVrbW5tdHQ1cDZzTkZES015Uzh6WTZOakZhNmpwNzJlcFdrUWtaMGJHU3h6dm1uSFNXYnN3YzgzeDZVNFhWa1pKVXVEdnk3Z0dpRmtFNFdKVUo2REhTcmR1cHM2Sk9CbmxOdjMrNnFXdDNMU0VFWU9maFZ6VFdNbXBhSmVXU1N0RTh0cVVXVmVxa3IxK2xCR0VRTWVZSGFsV3VyemVqVFZWR01rLy93QjBxaDM0dTRvMFcvYTN1N21UbWpPQ3NneXB4NzZ0dlROY200azlDMnAzc2thUnlDUm95RTZIbFpOL3hvSzVueUlJK1Rvdk56TVc2QUhvSzR4eXJJd1lEQkIySnA0c2JSWjRnU0F5a25JWWVPS2NZOUd0MklMUktBTnhzQlFjYldUdFlJejNjdU1VMXpsb3BKeGtjenlIcDFJL2xVcWkwK0dQb3VCanBqYWtzdkRsdE5QSk9aWmdYSllnRVkrbFN6YmVHZnB0RmhrREkySGNLMkdDQnR2VWxYaHEyemd5VEtldTVINGJWbitqbHBnL2F6NDk0L0txd2krTUVuYnc2VTZhRDdWK3c1aUIyYmRCbndwMEhEbHBqUGJ6bkhka2JmaFhXMzBtQ3dtTWtja2pFakJERVlIVHdIamdVRzU1QTQ1ZVlkK2NaLzEvNzFvWHlwSVVxMiszVTQvMXY4YTZFRmlBRDdQZUNEbnIxcldRTUdIczV5TTV4OGYrVkIwaWN4bkNIZGpndVJ6ZjZIV3BoeEhJVHdsb3pqbVVFTGtFZjNPK29jaFVmWmxTTTVHMndQOEFyTlM3aVovL0FJUzBRZ2s4d0h4OWlnaXF1eXVHRGtNT2hCNmU2bSsvc0JNcGtoQUVneVNnR0ZmM2VCK3RLUXg5bzVHMk90YjU1d1ZCTzQ2MEVNdkpwWU96RXZNbVg1R1R2QUlOTWswbkxDa0ErNkFDU0RuTlQvVWRKZzFPTUpKN0VpYkNWUnY3ajVWRkp1RzVMZVF4dXpIQjJaUnN3OFJ0VXMyNlk1K3NzbjAyeEg3TVkrbEtJbFBObk85TzF0dy9IMmE4enljM2Z1TUNsUTBLM0EvV3krZU1WWE14dkt5cGhUVDNvZDlPdHRNaG5rS0YxeWhZNE8zaFhHYlNiWkdSV21sSE41ak5LYld5aXQxSVdTVGxmY2x0K2c4cUJ6aXVDMDZNWGtqbUI5bVdKK1YxejRFVllPajYzclN3a3oyMFdvUkQ3clJuc3BjWUdCeS9kUGZ2a0dxNnQzQ01DUU4vTDhLbk9nM2I4MjhtQXdJVXQreHQzZTdOQktkTjRnMC9VSkNycWJTNVJnaGh1MUtPR1BRTG5aaWZJbW5xbWkzbGpOd1N5eFNGbkdNWVBUdjkrNHAzb0NpaWlnalhFNnMweWdrOGpXNVhIbnpqUDRFMUJlUDUwc3VHVEVuM3BUZ0RmcWVwK1cxVDdYNWd1b1dzTHFBanhzUTU3am5wK0ZWaDZVNUdTMjA2Qm05cG1MRWVBd2NEOGFDTytqNnhNbXVldG5ZUWxVSGp6TWNmVE5XZXRzSDBhL2pQVkdWdmhrMUZ2UjVZTkhwOXRJdy9YenRQMDZCUnlqOFFhbjBVSVByY0lHZTFqUHpGQXhMUDJ0cmJ1K2VTWmV4Y2o5bHh0ekQ4S2NYak52dytrU2pNa2poRlB2cHFzMUUybjNsc3g5cU05b244eFR2cGg5ZnQ3UW5jdzdON3gzMEdVajlXdHJ0QVFSRGJpUElIei9HbXlmN0hoS054MWRtSHpOUFYwT1RUTlJrd1J6RHFmZUthTlZqeHduQUUvWWt5Y1VGR2FuQzFycVZ4R2RzT1NOL0hjZldyU2p2VGU2SGFOekQ3V0JlVnozUGpwOHh0NTFBdUw3VXhYc055QnRNbUNmTmFVY1AzNU9pdkF6WUNTSGxiUFR2K3RCSUh1dldyMkdadnZPTXllOWRqOUtmZURnVHhMWXR1VjdiYnkyTlEvVG05WXVwQzJ3UUZ2aWV2MHFjOEZBSFdiWTQyN1lFZkkwRmc2bmd4emc3N0FnZUpHLzhBS283YjRPa3U0VDdNb1dZamJtR09ueDZlNFV1NGgxU08ya25RRWN5akh4d0RUUGFYZ3V1Rkw0aHdJNHc0YkdOdHM0OHNENjBGUDhQeG05NHZ0cEpQYkFtTXplNFpQNVZkVm5iOW5ZV2hJM0I3VDRtcXo5R3RpTG5VYjJZNHlrS3hqL2pPK1BsVnZYRVlqVUFEQUEyOHFCazFGdlUrSlVtNkpLTW56RFZ0WU42cGVYbG9NZTE5ejNWbmlHTXZhMjF5QWVkY0thNE0vTk5hWGlBL2RBZWdmSUxZUm16aC9jR2NEdXBCWVplODFOaDNoZ1BoVDVibFpabzVWNzk4MHk2WkdSZTNhSHZsYjhhQ3ErTGJjU2FkSytEenhTQnMvR21UZy9VUFZkUW50MlljazBlNDh4MHFaNjViQ1VYMXZnRG1EZGZMSnF0Tk1mc05YakIyM0ttZ21WNWRNOHp4ZysyUUZCODg3VllQbzJCL1R0enpkZlZnUC9XdFZiTElFMUszTEhibUI2MWFYbzBmdE9JTHR1NHdELzhBTmFDS2FReVhXdDJ1UnRQZkZpUEhMWStnRlRuV3JneGFaS3g2NEpOVjd3UGROZmEvYnRLQUNzMDJBUDdwYkIvQ3BWeFBkbjlEdTJjY3lFMEZPYTlmOHR0S0FEenMzS0NQUC8ycUdrbGpudk5URFVMZUs4dG93eFZUejh6bnZJR2FRTERaMjQ1WUlBVy9mZmNtcEpJM2xuY3BKZmpscFRHM3NXbExjcDVzZ0h2cGNiZ3lFQW5wVGZmTWlSY29VYzNmU3pUcmZ0OU9TNFJBNTVpckR3eFZZT09tYW0xck1WNXRtNjFNbDFOWHNobjkzQkhmVUJFUDJvNW9nUGhVczBWclVxaXZiSVNUam1id29GdG8yL01Ua0hwVjU2ZmR4UVdEVFNON0tybmYzYjFVNlBvNndxb3RvUnlqZnI3UnJoclBHTTM2UDlVZ2ZCWVlPTzRlRkJIT0kxdGRVbXVXa1FNclNzeW53R1NhbWZCVmcwdm9QMVcwdCtkajZ6TVJqcnNVWS9TcXd2NzFsanhra21yajlGQTUvUmpjcXgyZTdtQko4d2dvSXBwRUhKcHNkeE12SzBqZlpMayswcDN6VHNwQU93N2hqek5NcVN1bW9pemtsYVZJQ1ZRRTdBS2U2bjhLckJteGhldWU3RkJqN294Z2sxaFpjdnlZSkFIVUdzeVJNRUxad2NaNVNLNTRPRHNjK1kvblFkK2R1aUhiNTFnRDJjWVB4RzljVWZBMlBYNFYwVml3emdzZS9Cb0FuR1FUeTR6Zy93QXF3VGhCdm5JNm5yOHFDZmNNYmN0YUFnRTV4bkI2MEdnNU04ekFnWS8wUGxYTW9TZnZnSGJyMThmeStWZE9YMmxBR1d5ZDY1OHc2a0gzWW9NdkNjOHlqR01mRDRWTHVJRlljSTZHR1BQeXF2TnQ5NzdPb2h6OXhiYnI0VktlSjc0V1hDL0RuTS9La3pDTWhoMSt6L0NnaXVPYlBOakhjTWRhMC9heHk4dWVnOGE3elFZNW5CQ2dmUEZKK1ZTVkkzeDMwR1ZsSDNOeGtlRmRTQThaamtCZFNjanhYekZDQk00T0NCMXdkeldIQWRSM1p4MzBDQ2Uza3R4a01YakoyZm9QY2ZDa3JTa0hMTm5hbmpsSlU1WEtzTjg5Q0tSWGVuaFVhYTN6MmY3UzR5VndOL2hRSkJjY25LTUFIdXJET25VYjRwT010c3B3TTV6L0FLOHEyRGN2VEhUT1Nlb0hoUUxyTzJrbmtRUSswVGpZSDRWTXRJMHk0aWdMU3pyR0NRQ3JibkgralVRc3B1eVFnQTV4MXowMzYvaFRzTlRsN1BzNHBlVlJsY0U5VHRRV0ZhV2lKTmJzMDZIMmc3RUlSa2dnZnpxUVZWT2hheGQvcExUb2VkaWhrVUU1OFdXcldvQ2lpaWdoM0Z0NExmWDlJUnNGU0dJQjhTY2Z6cXR2U3dXL1M5Z0dPY3dNMk0vM3F1KzYwdXh2YmlHNHVyV09hYUQ5VTdqZFBkU0xVT0ZOQjFhVkpOUTBtMnVYUmVWV2tCSkF6bkhXZ2luQittbTAwVzBSd2N4VzZyN3MrMGZ4YW5sWEVWekdjYlp3YWtVZGpheElFamdSVkFBQUE4TmhXRHA5bVRrMjZFMEZkbFRZNjJ5SFpYT0Q3alMvU3Y4QVk3MldJNTVHSklQdnFZVGFOcHR4SUpKcktKM0hSaURtdGhwVmdHREMwaXlPL0JvR1BWSS82a3ZQN3cvblRYY0tINFptSVhPQUdGVFY3TzJraU1Ud295SHFwNkd1UTBxd0Z1YmNXa2ZZa1lLWU9LRHoxeGRidE5wSWwzUFpPQUFPNFkzcU84T3lyL3ROdXgrOE9ZZWZqWHBtYmhIaDY0aWFLYlI3VjQyKzhwQndmeHBKRjZQZUVJSDU0dUhyRkd4aklWdnpvS0cwMlpvN3U0UW5ydHZWaThHNUd0V0FBeURMa240R3B3dkF2Q3F1WFhRYk1NVGtubGI4NmNMWFFkS3NwVWt0ckNHSjBPVlpRY2o4YUN0ZU03a3J4UmZRSzJBM0psZkU4b29VVFdmQytyUWNvN0pyQ1YyYi93QzZRUjlLc2U2NGMwYTl2R3ZMblRiZVc0WWdtUmdja2dZSGY1Q3QzMEhTcExlV0JyQ0V4U3J5eUlRY01QQTcwRldlaVcwUHF0OWRzdjJaa1ZRM2p5Zy8vd0NoVmdTL2FsaFRwcDJoYVZwTnMxdnA5aERiUXMzT1VqQkFKOGV2a0tVK3BXMmM5Z21hQ0xUeENhMmt0bXpuSkswMGFhQ3lTVzdkVU93cWZtd3RHZm1OdWhieHJrbWs2ZkhJMGlXa1N1M1VnSGVnYU5ObTVVQ01jWTJGSkxST1RYTGxjZFJ6VkpsMCswUTVXM1FIcnRRTlB0Qk9aaGJwMnBHQzNmaWdxSFhDWXRWdUF3TzVZVlZHclF0WmF0SU1FZTJHRmVxcmpoelJycVF5VDZiYnlPM1ZtQnlmeHBCYzhBOEpYa25hWEhEOWxJL1RMS2Z6b1BQRjVNWHU3WmxCUE1QNVZhdm9tbVY5WnVWTEF5QzNHUjRlMnRUUmVCT0ZWWkdYUWJJR1A3cDVUdCtOTGRNNGMwYlJydVM3MDNUWUxXNGxYbGVTTUVGaG5PT3ZpQWFEejk2UGJpNFhpMlZDVjdPRkxsK200M1A1MDljZGE5RGFXeHRZMlZwaUNHVWZzOUt0Mno0SzRhMCs0ZTR0TkZ0SVpuQkRPaW5KQjY5L2ZYSzU0QjRUdkpXa3VkQXNwWFk1TE1HSkorZEI1WmVSekdNbmRxd3VVeXhIUVorTmVvditqamczL3dBTjJIOExmblFmUnp3YVFRZUhMREI2K3kzNTBIa3FWbmxiY2UrcFJ3NE96MDREbFB0WlA0MTZLLzZNK0NmL0FBenAvd0RDMzUwcGg0QzRUdDBDUmFCWklvNkFLMzUwSG5xUzM5ck9EV1VrbGpHRkdLOURuZ25oZzlkRHMvNFQrZFkvb053di91S3ovaFA1MEhuczNFaWpkalNOM1krMWs1ODY5SG5nVGhWdXVnMlIvd0NGdnpyVThBOEpucncvWmZ3dCtkQjVjdW5hV2MrVzFYbjZObU52Nko3aHlOMXZITy8rS09wWi93QkhQQjJjL3dCSExEK0Z2enAzczlDMHV3MDF0T3RMQ0dHelppelFvRHlrbkcvWHlIeW9LVTFGUmFjWVhLdi9BTnBLV0JBMnczaFQxRTNNb3gwWFlaNmJISDhxc3E0NFcwSzZuN2VmU3JhU1hBSE93T2NaejQxMFRoN1I0MTVWMDZBTDRZUGpueG9LemxZeUFuQjJIK3Mxd0xkWFpXejRuWWtlWXEwMjRkMFp1dW13SDRIODZ4L1J6UnM1L1JzR2NZNkg4NkNxbFp6azVPRDM0N3ZBVjNMbGM4cnRrZXlEamIzMVozOUc5Ri8zYkI4aitkQjRiMFU5ZE50K21PaC9PZ3E1bUhRNUoyMno4cTJKQzdnRW56cTBEdzVveElKMDIzeU44NFA1MWdjT2FNQmdhYkJqM0g4NkNyMkF4bkJ5ZkRwV2tudDU3Z1J1ZkNyVEhEZWlnQURUYmZBNmJIODZEdzNvcE9UcHR2OEFJL25RVk5saVNDMmNIT01lRk92cEhCSEFYRFJ6dXJxYy93RGwxWVo0YTBRbkoweTN6N2orZGRiN1F0SzFLemhzNzJ3aG50NGYxVWJnNFRiRzIvaFFVenBlcEhWTE5lWVlsanh6QURxT2xLRUdIOGo0VmFkdHdmdzdac1d0dEh0WWkyeEtnNy9qWFgrakdoNHgraTdmSHVQNTBGVTU1R0tnTVQxSUhkVzRKS2hnblRwdGpOV24vUmpRL3dEZGR2OEFJL25XMzlHOUcvM2JiL0kvblFWZW9WUGFiMmxHQmcvNjZWaU15eG9Xa0lEQmlWWkQxWFBzOWZ4cTB2Nk9hTi91MjMrUi9Pc0hoelJqMTAyMytSL09ncVc1MHRMbFRMYkJJNVd6elJqbzNtRDNlNm1ZeE1qbm5SZ1ZQdEJ0aU1WZW45SGRIMi9xMjMyOGorZGFTOE1hSE8vUExwZHM3WXhrZzUrdEJTcUtwQUJCSTZEQjdqWFJuWitYbUJHQ0Q0K05YSC9SUGgvL0FIUmEvd0FKL09nOEo2QWV1a1d2eVA1MEZWNk5NejY1cGlndG4xbU1IdysrS3UwOWFhSWVGOUNnbWptaTB1M1NTTmc2TUFjZ2pvZXRPOUFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUWYvL1omcXVvdDsgYWx0PSZxdW90O1lvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcywgc29ycnkmcXVvdDsvPg0KPGgzPlN0eWxlc2hlZXRzOjwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cywgaWYgdXNpbmcgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4gIEJlY2F1c2UgdGhlIHNtYXJ0eSBzeW50YXggaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGluc2lkZSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcgeW91IHV0aWxpemUgdGhlIG1vZHVsZSB1c2luZyB0aGUgW1sgYW5kIF1dIGRlbGltaXRlcnMuICBpLmU6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz5kaXYuaGVhZGVyIHsgYmFja2dyb3VuZDogdXJsKFtbQ0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL3BpY3R1cmUuanBnJiMwMzk7IG5vdGFnPTFdXSk7IH08L2NvZGU+PC9wPg0KPHA+QmVjYXVzZSBzdHlsZXNoZWV0cyBhcmUgZ2VuZXJhdGVkIG9uIG1vZGlmaWNhdGlvbiBhbmQgc3RvcmVkIGluIHRoZSBmaWxlc3lzdGVtIHRoZXJlIGlzIG5vIHdheSB0byBkZXRlcm1pbmUgZHVyaW5nIHRoZSByZXF1ZXN0IHdoaWNoIGJyb3dzZXIgaXMgcmVxdWVzdGluZyB0aGUgc3R5bGVzaGVldCwgdGhlcmVmb3JlIGVtYmVkZGluZyB3aWxsIGJlIGRvbmUgc3RyaWN0bHkgYmFzZWQgdXBvbiB0aGUgcHJlc2Vuc2Ugb2YgdGhlIG5vZW1iZWQgcGFyYW1ldGVyLiAgSWYgeW91IGhhdmUgY2hvc2VuIHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHlvdXIgc3R5bGVzaGVldHMsIFlvdSBtYXkgbmVlZCB0byBhZGQgYWRkaXRpb25hbCBzdHlsZXNoZWV0IHN1cHBvcnQgZm9yIHRoZSBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcy4gIGkuZTogIElFNi48L3A+DQo8aDM+QXV0b21hdGljIFByb2Nlc3Npbmc8L2gzPg0KPHA+VGhpcyBtb2R1bGUgaW5jbHVkZXMgYSBzbWFydHkgYmxvY2sgdGFnIGNhbGxlZCA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e2Nnc2lfY29udmVydH08L2NvZGU+IHRoYXQgY2FuIHN1cnJvdW5kIGEgYmxvY2sgb2YgaHRtbCwgb3Igb3RoZXIgc21hcnR5IHRhZ3MgdG8gYWxsb3cgYXV0b21hdGljIGltYWdlIHByb2Nlc3NpbmcuICBUaGlzIHRhZyBjYW4gYmUgdXNlZCBsaWtlOiAoZm9yIGV4YW1wbGUpOjwvcD4NCjxwcmU+PGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntjZ3NpX2NvbnZlcnR9e2NvbnRlbnR9ey9jZ3NpX2NvbnZlcnR9PC9jb2RlPjwvcHJlPg0KPHA+VGhpcyB3aWxsIGFsbG93IHlvdXIgdXNlcnMgdG8gaW5jbHVkZSBpbWFnZXMgaW50byBwYWdlcyB1c2luZyB0aGUgbm9ybWFsIHd5c2l3eWcgdG9vbHMsIGFuZCB0byBoYXZlIHRoZW0gYXV0b21hdGljYWxseSBwcm9jZXNzZWQgYW5kIGVtYmVkZGVkIGludG8gdGhlIHBhZ2UgdXNpbmcgdGhlIG1hZ2ljIG9mIHtDR1NtYXJ0SW1hZ2V9LiBpLmU6IFNlZSB0aGUgZm9sbG93aW5nIGNvZGU6PC9wPg0KPHByZT48Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e2Nnc2lfY29udmVydCBmaWx0ZXJfZ3JheXNjYWxlPTEgZmlsdGVyX3dhdGVybWFyaz0xfXtjb250ZW50fXsvY2dzaV9jb252ZXJ0fTwvY29kZT48L3ByZT4NCjxwPlRoZSBhYm92ZSBjb2RlIHdpbGwgY2FwdHVyZSBhbGwgaW1hZ2UgdGFncywgYW5kIGNvbnZlcnQgdGhlbSB0byBncmF5c2NhbGUgYW5kIHRoZW4gYXBwbHkgdGhlIHdhdGVybWFyayAoYWNjb3JkaW5nIHRvIHRoZSBzZXR0aW5ncyBpbiB0aGUgQ0dFeHRlbnNpb25zIG1vZHVsZSkuICBBbGwgb2YgdGhlIHBhcmV0ZXJzIGF2YWlsYWJsZSB0byB0aGUgPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2V9PC9jb2RlPiB0YWcgYXJlIGF2YWlsYWJsZSB0byB0aGlzIHRhZyAoZm9yIGltYWdlIHNjYWxpbmcgZXRjLikuICBBZGRpdGlvbmFsbHksIHR3byBuZXcgcGFyYW1ldGVycyBoYXZlIGJlZW4gaW50cm9kdWNlZDogPHN0cm9uZz5tYXhfd2lkdGg8L3N0cm9uZz4gYW5kIDxzdHJvbmc+bWF4X2hlaWdodDwvc3Ryb25nPiB3aGljaCBjYW4gYmUgdXNlZCB0byBzZXQgYSBtYXhpbXVtIHNpemUgZm9yIGltYWdlcy4uPC9wPg0KPGRpdiBzdHlsZT0mcXVvdDttYXJnaW4tbGVmdDogM2VtOyZxdW90Oz48c3Ryb25nIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7Pk5vdGU6PC9zdHJvbmc+DQo8cD5UaGlzIHRhZyBwYXJzZXMgdGhlIEhUTUwgY29udGVudCBiZXR3ZWVuIHRoZSBzdGFydCBhbmQgZW5kIHRhZ3MgdG8gZmluZCB0aGUgPGltZz4gdGFncy4gIEl0IHRoZW4gd2lsbCBvdXRwdXQgc3ludGFjdGljYWxseSB2YWxpZCBIVE1MIGZvciB0aGUgc3Vic2V0IG9mIGNvZGUgaXQgd2FzIHByb3ZpZGVkLiAgVGhlcmVmb3JlIGl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBzbmlwcGV0IG9mIEhUTUwgcGFzc2VkIHRvIHRoaXMgdGFnIGJlIGludGFjdCBhbmQgYXMgY2xvc2UgdG8gdmFsaWQgYXMgcG9zc2libGUuICA8c3Ryb25nPlVzZSB3aXRoIGNhdXRpb24uPC9zdHJvbmc+DQo8L2Rpdj4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+Y2FsZ3V5MTAwMC5jb208L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5UaGlzIG1vZHVsZSBtYWtlcyBldnRlbnNpdmUgdXNlIG9mIHRoZSBHRCBJbWFnZSBwcm9jZXNzaW5nIGxpYnJhcnkgdG8gZG8gaW1hZ2UgbWFuaXB1bGF0aW9uLiAgQWRkaXRpb25hbGx5LCB0aGUge2Nnc2lfY29udmVydH0gcGx1Z2luIG1ha2VzIGV4dGVuc2l2ZSB1c2Ugb2YgdGhlIHNpbXBsZXhtbCBhbmQgWE1MRG9tIGNsYXNzZXMgYnVpbHQgaW4gdG8gcGhwLiAgVGhlcmUgbWF5IGJlIG90aGVyIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnRzLiAgSWYgeW91IGFyZSBleHBlcmllbmNpbmcgZXJyb3JzIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgZXJyb3IgcmVwb3J0aW5nIGlzIGVuYWJsZWQsIGFuZCB0aGF0IHlvdSBoYXZlIGFuYWx5emVkIHlvdXIgZXJyb3IgbG9ncy48L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmYW1wO2NvcHk7IDIwMDgsIFJvYmVydCBDYW1wYmVsIDxhIGhyZWY9Im1haWx0bzpjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnIj4mYW1wO2x0O2NhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcmYW1wO2d0OzwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydpbmZvX2FsaWFzZXMnXSA9ICdBbGlhc3NlbiBrdW5uZW4gd29yZGVuIGdlYnJ1aWt0IG1ldCBkZSBhbGlhczEgdG90IGVuIG1ldCBhbGlhczUgb3B0aWVzIGluIGRlIENHU21hcnRJbWFnZS10YWcgdm9vciB2ZXJzY2hpbGxlbmRlIHJlZ2VsbWF0aWcgZ2VicnVpa3RlIG9wdGllcyc7CiRsYW5nWydpbmZvX2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ1NwZWNpZnkgdGhlIGRlZmF1bHQgbG9jYXRpb24gZnJvbSB3aGljaCB0byAmcXVvdDtjcm9wIHRvIGZpdCZxdW90OyB0aGlzIHdpbGwgZWZmZWN0IGFsbCBjcm9wIHRvIGZpdCBvcGVyYXRpb25zIHVubGVzcyB0aGUgbG9jYXRpb24gcGFyYW1ldGVyIG9uIHRoZSBmaWx0ZXJfY3JvcHRvZml0IGF0dHJpYnV0ZSBvdmVycmlkZXMgaXQuICBEZWZhdWx0IGxvY2F0aW9uIGlzICZxdW90O2NlbnRlciZxdW90OyAnOwokbGFuZ1snaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnSXMgZGUgYm92ZW5zdGFhbmRlIFVSTCBpbiBnZWJydWlrIHZvb3IgZGUgY2FjaGUgZGlyZWN0b3J5IChfQ0dTbWFydEltYWdlKSc7CiRsYW5nWydpbWFnZV91cmxfcHJlZml4J10gPSAnQWZiZWVsZGluZyBVcmwgUHJlZml4JzsKJGxhbmdbJ2luZm9fY2FjaGVfYWdlJ10gPSAnR2VlZiBkZSBtYXhpbWFsZSBsZWVmdGlqZCBvcCB2YW4gZWVuIGJlc3RhbmQgKGluIGRhZ2VuKSB2b29yZGF0IGhldCBtb2V0IHdvcmRlbiB2ZXJ3aWpkZXJkIGVuIG9wbmlldXcgZ2VnZW5lcmVlcmQgbW9ldCB3b3JkZW4gIERpdCBpcyBoYW5kaWcgYWxzIHUgc29tbWlnZSBwYXJhbWV0ZXJzIGhlZWZ0IGdld2lqemlnZCB2b29yIGhldCBnZW5lcmVyZW4gdmFuIGFmYmVlbGRpbmdlbiBvZiBvbSBkZSBnZWJydWlrdGUgc2NoaWpmcnVpbXRlIHRlIGJlaGVyZW4uICBBbHMgdSAwIGludm9lcnQgZGFuIHphbCBkZSBhdXRvbWF0aXNjaGUgYmVzdGFuZHNkZXRlY3RpZSB1aXQgc3RhYW4uJzsKJGxhbmdbJ2luZm9fZW1iZWRfbW9kZSddID0gJ0RlemUgc2VjdGllIGJlcGFhbGQgaG9lIGRlIHtzbWFydGltZ30tdGFnIGVlbiBvdXRwdXQgZ2VuZXJlZXJkLiBBbHMgJiMwMzk7bmlldHMmIzAzOTsgaXMgZ2VzZWxlY3RlZXJkLCBkYW4gemFsIGVyIGdlZW4gYWZiZWVsZGluZyBpbmdlc2xvdGVuIHdvcmRlbi4gQWxzIHUgJiMwMzk7c2xpbSYjMDM5OyBzZWxlY3RlZXJ0IGRhbiB6YWwgaGV0IHN5c3RlZW0gaGV0IHplbGYgYmVwYWxlbiBhYW4gZGUgaGFuZCB2YW4gZGUgYWZiZWVsZGluZ3Nncm9vdHRlLCB0eXBlIGVuIGRlIGJyb3dzZXIgZGllIGRlIGFmYmVlbGRpbmcgYWZiZWVsZGluZyBvcHZyYWFndC4gQW5kZXJlIG9wdGllcyB6dWxsZW4gYWx0aWpkIGRlIGFmYmVlbGRpbmcgaW5zbHVpdGVuIG9wIGJhc2lzIHZhbiBkZSBhZmJlZWxkaW5nc2dyb290dGUgZW4gYWZiZWVsZGluZ3N0eXBlLic7CiRsYW5nWydpbmZvX2VtYmVkX3NpemVsaW1pdCddID0gJ0FscyBkZSBpbnNsdWl0aW5nc29wdGllIGJlcGFhbHQgd29yZCBkb29yIGFmYmVlbGRpbmdzZ3Jvb3R0ZSwgZ2VlZiB2YW4gZWVuIG1heGltdW0gYmVzdGFuZHNncm9vdHRlIG9wIChpbiBraWxvYnl0ZXMpIHZvb3IgYWZiZWVsZGluZ2VuIG9tIGRlemUgaW4gdGUgc2x1aXRlbiAoMzIgaXMgYWFuYmV2b2xlbikuJzsKJGxhbmdbJ2luZm9fZW1iZWRfdHlwZXMnXSA9ICdBbHMgZGUgaW5zbHVpdGluZ3NvcHRpZSBiZXBhYWx0IHdvcmQgZG9vciBoZXQgYWZiZWVsZGluZ3N0eXBlLCBnZWVmIGRhbiBoaWVyIGRlIGV4dGVuc2llcyBvcCB2YW4gYmVzdGFuZGVuIGRpZSBpbmdlc2xvdGVuIG1vZ2VuIHdvcmRlbiwgZ2VzY2hpZWRlbiBkb29yIGNvbW1hJiMwMzk7cy4gRGV6ZSBvcHRpZSBpcyBuaWV0IGhvb2ZkbGV0dGVyZ2V2b2VsaWcuJzsKJGxhbmdbJ2luZm9faW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnQWxzIHV3IENETiBkaXJlY3QgdmVyd2lqc3QgbmFhciBkZSBhZmJlZWxkaW5nc2NhY2hlIGRhbiB3aWx0IHUgbWlzc2NoaWVuIGRlemUgZnVuY3RpZSBpbnNjaGFrZWxlbi4nOwokbGFuZ1snaW5mb19pbWFnZV91cmxfcHJlZml4J10gPSAnU3BlY2lmaWNlZXIgZGUgVVJMIG1ldCBlZW4gcHJlZml4IHZvb3IgYWxsZSBnZWdlbmVyZWVyZGUgYWZiZWVsZGluZ2VuLiBTdGFuZGFhcmQgaXMgZGl0IGRlIHVwbG9hZHMgVVJMLCBtYWFyIGhldCBtYWcgb29rIHV3IGVpZ2VuIENETiB6aWpuIChvZiBtZWVyZGVyZSBkb21laW5lbiBkaWUgZ2VicnVpayBtYWtlbiB2YW4gZGV6ZWxmZGUgbWFwKS4gVSBrdW50IGhpZXIgZWVuIGFuZGVyZSBuYWFtIG9wZ2VnZXZlbi4nOwokbGFuZ1snbWF4X2NhY2hlX2FnZSddID0gJ01heGltdW0gYmVzdGFuZHNsZWVmdGlqZCBpbiBjYWNoZSAoZGFnZW4pJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnRWVuIHNsaW1tZSBhZmJlZWxkaW5nc3RhZyBtb2R1bGUgdm9vciBDTVNNUyc7CiRsYW5nWydtc2dfYWxpYXNlc191cGRhdGVkJ10gPSAnQWxpYXNzZW4gYmlqZ2V3ZXJrdCc7CiRsYW5nWydtc2dfY2FjaGVjbGVhbmVkJ10gPSAnQ2FjaGVtYXAgb3BnZXNjaG9vbmQuICVkIGJlc3RhbmRlbiB2ZXJ3aWpkZXJkJzsKJGxhbmdbJ21zZ19jYWNoZXJlbW92ZWQnXSA9ICdDYWNoZSB2ZXJ3aWpkZXJkJzsKJGxhbmdbJ21zZ19wcmVmc3VwZGF0ZWQnXSA9ICdWb29ya2V1cmVuIGJpamdld2Vya3QnOwokbGFuZ1snbm9uZSddID0gJ0dlZW4nOwokbGFuZ1snb3B0aW9ucyddID0gJ09wdGllcyc7CiRsYW5nWydwYXJhbV9hbGlhcyddID0gJ0hldCBDR1NtYXJ0SW1hZ2UgYWRtaW5wYW5lZWwgc3RhYXQgdG9lIG9tIHZlcnNjaGlsbGVuZGUgY29tbWFuZG8tYWxpYXNzZW4gdG9lIHRlIHdpanplbiBhYW4gcmVnZWxtYXRpZyBnZWJydWlrdGUgcGF0cm9uZW4gdmFuIHJlZ2VscyBpbiBlZW4gbmFhbS4gT20gZGV6ZSBhbGlhc3NlbiB0ZSBnZWJydWlrZW4gZ2VicnVpayBlZW4gcmVnZWwgaW4gZGUgdm9sZ2VuZGUgdm9ybTogYWxpYXMjIz1hbGlhc19uYW1lLiBCaWp2b29yYmVlbGQ6IGFsaWFzMT1mb28sIGFsaWFzMj1mb28uJzsKJGxhbmdbJ3BhcmFtX2FsdCddID0gJ1Zvb3IgYmlqIGhldCBnZWJydWlrIHZhbiBkZSBpbWctdGFnIG1vZXQgdSBoaWVyIGRlIHdhYXJkZSB2b29yIGhldCBhbHQtYXR0cmlidXV0IG9wZ2VnZXZlbi4gIE9wbWVya2luZzogYWxzIHUgaGllciBnZWVuIHdhYXJkZSBpbnZvZXJ0IGRhbiB6YWwgZGV6ZSB3YWFyZGUgYXV0b21hdGlzY2ggYmVyZWtlbmQgd29yZGVuIHpvZGF0IGRlIG1lZXN0ZSBpbWctdGFncyBqdWlzdCB6aWpuLiAgVSBrdW50IGRlemUgYXV0b21hdGlzY2hlIGJlcmVrZW5pbmcgdWl0c2NoYWtlbGVuIG1ldCBkZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyJzsKJGxhbmdbJ3BhcmFtX2NsYXNzJ10gPSAnV29yZHQgZ2VicnVpa3QgYmlqIGhldCBnZW5lcmVyZW4gdmFuIGVlbiBpbWctdGFnLCBzdGFhdCB0b2Ugb20gZWVuIG9mIG1lZXJkZXJlIGNsYXNzZXMgdG9lIHRlIHZvZWdlbiBhYW4gZGUgdGFnLiAgYmlqdm9vcmJlZWxkOiBjbGFzcz0mcXVvdDtmYW5jeWJveCB0aHVtYm5haWwmcXVvdDsnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JsdXInXSA9ICcoYWxsZXMpIEdlZWYgZWVuIHdhYXJkZSBvcCB2b29yIGRlemUgcGFyYW1ldGVyIG9tIGVlbiBibHVyIGZpbHRlciB0b2UgdGUgdm9lZ2VuIGFhbiBkZSBhZmJlZWxkaW5nJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9icmlnaHRuZXNzJ10gPSAnKGhlZWwgZ2V0YWwpIFZlcmJldGVyZCBkZSBoZWxkZXJoZWlkIHZhbiBkZSBhZmJlZWxkaW5nIG1ldCBkZSBnZWhlbGUgd2FhcmRlIGRpZSB3b3JkdCBvcGdlZ2V2ZW4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX2NvbG9yaXplJ10gPSAnKHIsZyxiWyxhbHBoYV0pIC0gTGlqa3Qgb3AgaGV0IGZpbHRlciBfZ3JleXNjYWxlIG1hYXIgdSBrdW50IGhpZXIgZGUga2xldXIgZW4gZGUgYWxwaGF3YWFyZGUgb3BnZWdldmVuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jb250cmFzdCddID0gJyhoZWVsIGdldGFsKSBXaWp6aWcgaGV0IGNvbnRyYXN0IHZhbiBkZSBhZmJlZWxkaW5nIGRvb3IgZGUgd2FhcmRlIG1ldCBlZW4gaGVlbCBnZXRhbCB0ZSB3aWp6aWdlbic7CiRsYW5nWydwYXJhbV9maWx0ZXJfY3JvcCddID0gJyhwZXJjZW50YWdlWyxoX2FsaWduLHZfYWxpZ25dKSAtIFZvZXIgYmlqc25pamRlbiB1aXQgb3AgZGUgb3BnZWdldmVuIGFmYmVlbGRpbmcuIERlIHBhcmFtZXRlcnMgdm9vciBoZXQgYmlqc25pamRlbiB6aWpuIG9wZ2VnZXZlbiBhbHMgZWVuIGtvbW1hZ2VzY2hlaWRlbiBsaWpzdC4gIERlIGVlcnN0ZSB3YWFyZGUgaXMgZWVuIGdlaGVlbCBwZXJjZW50YWdlIHZhbiBkZSBhZmJlZWxkaW5nIG9wIG9yaWdpbmVsZSBncm9vdHRlLiAgRGV6ZSB0d2VlZGUgZW4gZGVyZGUgKG9wdGl0aW9uZWxlKSBwYXJhbWV0ZXJzIHppam46IGwsYyxyIChsaW5rcyxnZWNlbnRyZWVyZCxyZWNodHMpIGVuIHQsYyxiICh0b3AsZ2VjZW50cmVlcmQsYmVuZWRlbikgb20gZGUgbG9jYXRpZSBvcCB0ZSBnZWdldmVuIHZhbmFmIHdhYXIgZXIgYmlqZ2VzbmVkZW4gbW9ldCB3b3JkZW4uICBiaWp2b29yYmVlbGQ6IGNyb3A9MzMsYixyIG9tIGVlbiBrbmlwc2VsIHRlIG5lbWVuIHZhbiAzMyUgdmFuYWYgZGUgcmVjaHRlciBvbmRlcmthbnQgdmFuIGRlIGJyb25hZmJlZWxkaW5nJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wdG9maXQnXSA9ICcod2lkdGgsaGVpZ2h0Wyxsb2NhdGlvbl0pIC0gUGVyZm9ybSBhIGNyb3B0b2ZpdCBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBUaGlzIGF0dGVtcHRzIHRvIHJlc2NhbGUgdGhlIGltYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplIHdoaWxlIHJlYXRpbmluZyBhc3BlY3QgcmF0aW8sIHRoZW4gZm9jdXMgb24gdGhlIHNlbGVjdGVkIGFyZWEgb2YgdGhlIHJlc2l6ZWQgaW1hZ2UuICBDcm9wIHRvIGZpdCBwYXJhbWV0ZXJzIGFyZSBzcGVjaWZpZWQgYXMgdGhlIGRlc2lyZWQgd2lkdGggYW5kIGhlaWdodCBmb3IgdGhlIGRlc3RpbmF0aW9uIGltYWdlIGFsb25nIHdpdGggYW4gKG9wdGlvbmFsKSBsb2NhdGlvbiBjb2RlLiAgdmFsaWQgbG9jYXRpb24gY29kZXMgYXJlIHRsLHRjLHRyLGNsLGMsY3IsYmwsYixiciBmb3IgdGhlIDkgcmVsYXRpdmUgcG9zaXRpb25zIHdpdGhpbiB0aGUgaW1hZ2UuICBJZiBhIGxvY2F0aW9uIGlzIG5vdCBzcGVjaWZpZWQgYSBwcmVmZXJlbmNlIHdpbGwgYmUgdXNlZC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzICZhbXA7cXVvdDtjJmFtcDtxdW90OyB0byBjcm9wLXRvLWZpdCBmcm9tIHRoZSBjZW50ZXIgb2YgdGhlIHNvdXJjZSBpbWFnZS4gIEF0IG5vIHRpbWUgd2lsbCB0aGlzIGZpbHRlciBwZXJmb3JtIGFueSB1cHNjYWxpbmcuICc7CiRsYW5nWydwYXJhbV9maWx0ZXJfZWRnZWRldGVjdCddID0gJyhhbGxlcykgTWFya2VlciBkZSByYW5kZW4gaW4gZGUgYWZiZWVsZGluZyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfZW1ib3NzJ10gPSAnKGFsbGVzKSBHZWVmIGRlIGFmYmVlbGRpbmcgcmVsaSZldW1sO2YnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2ZsaXAnXSA9ICcobW9kZSkgLSBEcmFhaSBkZSBvcGdlZ2V2ZW4gYWZiZWVsZGluZy4gIEdlZWYgMCBvcCB2b29yIGhvcml6b250YWFsLCAxIHZvb3IgdmVydGljYWFsIGVuIDIgdm9vciBiZWlkZSByaWNodGluZ2VuLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfZ3JheXNjYWxlJ10gPSAnKGFsbGVzKSBDb252ZXJ0ZWVyIGRlIGFmYmVlbGRpbmcgbmFhciBncmlqc3dhYXJkZW4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX21lYW5yZW1vdmFsJ10gPSAnKGFsbGVzKSBCZWRvZWxkIHZvb3IgZWVuICZxdW90O3Rla2VuJnF1b3Q7LWVmZmVjdCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbmVnYXRlJ10gPSAnKGFsbGVzKSBPbnRrZW4gZGUgYWZiZWVsZGluZyc7CiRsYW5nWydwYXJhbV9maWx0ZXJfcGl4ZWxhdGUnXSA9ICcoZ3Jvb3R0ZVssZ2VhdmFuY2VlcmRdKSBQaXhlbGF0ZSB0aGUgaW1hZ2UsIHNwZWNpZnkgYW4gaW50ZWdlciBzaXplIGFuZCBhbiBvcHRpb25hbCBib29sZWFuIChkZWZhdWx0IGlzIGZhbHNlKSB0byBlbmFibGUgYWR2YW5jZWQgcGl4ZWxhdGlvbic7CiRsYW5nWydwYXJhbV9maWx0ZXJfcmVzaXplJ10gPSAndHlwZSxudW1iZXJbLG51bWJlcl0gLSBQZXJmb3JtIGEgcmVzaXplIG9mIHRoZSBzb3VyY2UgaW1hZ2UuICBUaGUgcmVzaXplIGZpbHRlciBkb2VzIG5vdCBwZXJmb3JtIGFueSB1cHNjYWxlIGNoZWNraW5nLiAgUG9zc2libGUgdmFsdWVzIGFyZTogDQo8dWw+DQogIDxsaT5wLG51bWJlciAtIFBlcmZvcm0gYSBzaW1wbGUgcmVzY2FsZSB0byBhIGNlcnRhaW4gcGVyY2VudGFnZS4gIGkuZTogIHJlc2l6ZT1wLDUwIHRvIHJlc2l6ZSB0byA1MCUgb2YgdGhlIG9yaWdpbmFsIHNpemUuPC9saT4NCiAgPGxpPncsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCB3aWR0aCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPXcsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIHdpZHRoIG9mIDgwIHBpeGVscy48L2xpPg0KICA8bGk+aCxudW1iZXIgLSBQZXJmb3JtIGEgcmVzaXplIHRvIGEgc3BlY2lmaWVkIGhlaWdodCAod2hpbGUgcmV0YWluaW5nIGFzcGVjdCByYXRpbykuIGkuZTogcmVzaXplPWgsODAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdpdGggYSBtYXhpbXVtIGhlaWdodCBvZiA4MCBwaXhlbHMuPC9saT4NCiAgPGxpPmUsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSByZXNpemluZyB0aGUgbGFyZ2VzdCBlZGdlIHRvIHRoZSBzcGVjaWZpZWQgdmFsdWUgKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT1lLDEwMCB0byBjcmVhdGUgYSB0aHVtYm5haWwgd2hvcyBsYXJnZXN0IGVkZ2UgaXMgMTAwIHBpeGVscy4NCiAgPGxpPmMseCx5IC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIGN1c3RvbSBzaXplICh3aXRob3V0IHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiAgaS5lOiBmaWx0ZXJfcmVzaXplPWMsNTAsNzUgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHRoYXQgaXMgNTB4NzUgcGl4ZWxzLjwvbGk+Lg0KPC91bD4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3Jlc2l6ZXRvZml0J10gPSAnKHdpZHRoLGhlaWdodFssY29sb3JbLGFscGhhXV0pIC0gUGVyZm9ybSBhIHJlc2l6ZSBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBUaGlzIGF0dGVtcHRzIHRvIHJlc2NhbGUgdGhlIGltYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplIHdoaWxlIHJlYXRpbmluZyBhc3BlY3QgcmF0aW8sIHRoZSBpbWFnZSBpcyBjZW50ZXJlZCBpbiB0aGUgYm94IHNwZWNpZmllZCAoZWl0aGVyIGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGRlcGVuZGluZyB1cG9uIGFzcGVjdCByYXRpbyBhbmQgdGhlIGRlc3RpbmF0aW9uIHNpemUsIGFuZCB0aGUgaW1hZ2UgaXMgc3Vycm91bmRlZCBieSB0aGUgc3VwcGxpZWQgY29sb3IuICBDb2xvcnMgY2FuIGJlIHNwZWNpZmllZCBieSBuYW1lIChzZWUgdGhlIFgxMSBjb2xvciBuYW1lcyksIG9yIGJ5ICNubm5ubm4gaGV4YWRlY2ltYWwgZm9ybWF0LCBvciBhcyByZ2IgdmFsdWVzIHNlcGFyYXRlZCBieSBhIDogaS5lOiAgZmlsdGVyX2Nyb3B0b2ZpdD02MDAsNDAwLCNmZjAwMDAuICBUaGUgc3BlY2lhbCBjb2xvciB2YWx1ZSAmcXVvdDt0cmFuc3BhcmVudCZxdW90OyBjYW4gYmUgc3BlY2lmaWVkIHRvIGZvcmNlIHRoZSBiYWNrZ3JvdW5kIHRvIGJlIHRyYW5zcGFyZW50LiAgIEFuIGFscGhhIHZhbHVlIG1heSBiZSBzcGVjaWZpZWQgYmV0d2VlbiAwIGFuZCAxMjcgdG8gc3BlY2lmeSBkaWZmZXJlbnQgZGVncmVlcyBvZiB0cmFuc2x1Y2VuY3kgZm9yIHRoZSBiYWNrZ3JvdW5kLiAgIEF0IG5vIHRpbWUgd2lsbCB0aGlzIHBsdWdpbiBwZXJmb3JtIGFueSB1cHNjYWxpbmcuICc7CiRsYW5nWydwYXJhbV9maWx0ZXJfcm90YXRlJ10gPSAnKGFuZ2xlLGNvbG9yKSBHZWVmIG1ldCBlZW4gZ2VoZWVsIGdldGFsIGRlIGRyYWFpaG9layBvcCAoZHJhYWllbiBnYWF0IG1ldCBkZSBrbG9rIG1lZSkgb20gZGUgYWZiZWVsZGluZyB0ZSBkcmFhaWVuLiBEYWFybmFhc3QgbW9ldCB1IGVlbiBrbGV1ciBvcGdlZ2V2ZW4gd2Fhcm1lZSBkZSBvdmVyaWdlIHBpeGVscyB3b3JkZW4gb3BnZXZ1bGQuICBEZSBhZmJlZWxkaW5nIGRyYWFpdCBvbSB6aWpuIGVpZ2VuIG1pZGRlbi4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3JvdW5kZWRjb3JuZXJzJ10gPSAnKHJhZGl1cykgU3BlY2lmaWNlZXIgZWVuIGhlZWwgZ2V0YWwgdm9vciBkZSBzdHJhYWwgKGluIHBpeGVscykgdmFuIGRlIGFmZ2Vyb25kZSBob2VrZW4uJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl93YXRlcm1hcmsnXSA9ICcoYWxsZXMpLCBHZWVmIGVlbiB3YXRlcm1lcmsgb3AgKHpvYWxzIG9wZ2VnZXZlbiBpbiBkZSBDR0V4dGVudGlvbnMgbW9kdWxlKSBkaWUgbW9ldCB3b3JkZW4gdG9lZ2VwYXN0IG9wIGRlIGFmYmVlbGRpbmcnOwokbGFuZ1sncGFyYW1faGVpZ2h0J10gPSAnVm9vciBiaWogaGV0IGdlYnJ1aWsgdmFuIGRlIGltZy10YWcgbW9ldCB1IGhpZXIgZGUgd2FhcmRlIHZvb3IgaGV0IGhvb2d0ZS1hdHRyaWJ1dXQgb3BnZWdldmVuLiAgT3BtZXJraW5nOiBhbHMgdSBoaWVyIGdlZW4gd2FhcmRlIGludm9lcnQgZGFuIHphbCBkZXplIHdhYXJkZSBhdXRvbWF0aXNjaCBiZXJla2VudCB3b3JkZW4gem9kYXQgZGUgbWVlc3RlIGltZy10YWdzIGp1aXN0IHppam4uICBVIGt1bnQgZGV6ZSBhdXRvbWF0aXNjaGUgYmVyZWtlbmluZyB1aXRzY2hha2VsZW4gbWV0IGRlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXInOwokbGFuZ1sncGFyYW1faWQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgYWxsb3dzIHNwZWNpZnlpbmcgYW4gaWQgYXR0cmlidXRlIHRvIGluY2x1ZGUgb24gdGhlIHRhZy4gIGkuZTogaWQ9JnF1b3Q7c29tZXRhZyZxdW90Oyc7CiRsYW5nWydwYXJhbV9tYXhfaGVpZ2h0J10gPSAnVmFuIHRvZXBhc3Npbmcgb3AgZGUge2Nnc2lfY29udmVydH0gdGFnLCBkZXplIHBhcmFtZXRlciBzdGFhdCB0b2Ugb20gZWVuIG1heGltdW0gaG9vZ3RlIG9wIHRlIGdldmVuIHZvb3IgZ2Vjb252ZXJ0ZWVyZGUgYWZiZWVsZGluZ2VuJzsKJGxhbmdbJ3BhcmFtX21heF93aWR0aCddID0gJ1ZhbiB0b2VwYXNzaW5nIG9wIGRlIHtjZ3NpX2NvbnZlcnR9IHRhZywgZGV6ZSBwYXJhbWV0ZXIgc3RhYXQgdG9lIG9tIGVlbiBtYXhpbXVtIGhvb2d0ZSBvcCB0ZSBnZXZlbiB2b29yIGdlY29udmVydGVlcmRlIGFmYmVlbGRpbmdlbic7CiRsYW5nWydwYXJhbV9uYW1lJ10gPSAnR2VicnVpa3QgYmlqIGhldCBtYWtlbiB2YW4gZGUgaW1nIHRhZywgYmVub2VtIGVlbiB3YWFyZGUgdm9vciBkZSBuYWFtIGF0dHJpYnV1dC4nOwokbGFuZ1sncGFyYW1fbm9hdXRvJ10gPSAnQmVyZWtlbiBuaWV0IGF1dG9tYXRpc2NoIGRlIHBhcmFtYXRlcnMgdm9vciBkZSBpbWctdGFnLiAgRGl0IGthbiBlciBtb2dlbGlqayB2b29yIHpvcmdlbiBkYXQgdXcgc2l0ZSBuaWV0IGp1aXN0IGdldmFsaWRlZXJkIHdvcmR0IGluZGllbiBkZSB2ZXJlaXN0ZSBwYXJhbWV0ZXJzICh3aWR0aCxoZWlnaHQsYWx0KSBuaWV0IHppam4gb3BnZWdldmVuJzsKJGxhbmdbJ3BhcmFtX25vYXV0b3NjYWxlJ10gPSAnaW5kaWVuIGVyIGVlbiBicmVlZHRlIGVuIGhvb2d0ZSBwYXJhbWV0ZXIgaXMgb3AgZ2VnZXZlbiwgZGFuIHphbCBkZXplIHBhcmFtZXRlciBoZXQgYXV0b21hdGlzY2hlIHNjaGFsZW4gdmFuIGRlIGFmYmVlbGRpbmcgdWl0c2NoYWtlbGVuLic7CiRsYW5nWydwYXJhbV9ub2JjYWNoZSddID0gJ1N0YSBuaWV0IHRvZSBkYXQgZGUgaGVyc2NoYWFsZGUgYWZiZWVsZGluZyBpbiBkZSBicm93c2VyIGdlY2FjaGVkIHdvcmR0IChoYW5kaWcgdm9vciBvbnR3aWtrZWxkb2VsZWluZGVuKSBEaXQgdm9lZ3QgZWVuIHVuaWVrIG51bW1lciBhbHMgcGFyYW1ldGVyIHRvZSBhYW4gZGUgYWZiZWVsZGluZy4nOwokbGFuZ1sncGFyYW1fbm9lbWJlZCddID0gJ0RlemUgYWZiZWVsZGluZyBtYWcgbmlldCBpbmdlc2xvdGVuIHdvcmRlbi4gT25nZWFjaHQgZGUgaW5zdGVsbGluZ2VuIGluIGhldCBiZWhlZXJkZXJzcGFuZWVsLCBkZSBVUkwgZW4gZGUgZ2VnZW5lcmVlcmRlIHRhZ3MgenVsbGVuIGRlIGJlc3RhbmRlbiBvcCBkZSBzZXJ2ZXIgd29yZGVuIG9wZ2Vyb2VwZW4uIEVyIHphbCBnZWVuIGluc2x1aXRpbmcgcGxhYXRzIHZpbmRlbi4nOwokbGFuZ1sncGFyYW1fbm90aW1lY2hlY2snXSA9ICdUaWpkY29udHJvbGUgdm9vciBnZWJ1ZmZlcmRlIGJlc3RhbmRlbiB1aXRzY2hha2VsZW4uJzsKJGxhbmdbJ3BhcmFtX25vcmVtb3RlJ10gPSAnRXh0ZXJuZSBicm9ubmVuIHZvb3IgVVJMJiMwMzk7cyBuaWV0IHRvZXN0YWFuJzsKJGxhbmdbJ3BhcmFtX25vcm90YXRlJ10gPSAnTmlldCBwcm9iZXJlbiBvbSBkZSBleGlmLWluZm9ybWF0aWUgdGUgbGV6ZW4gdmFuIGhldCBiZXN0YW5kIG9tIHZlcnZvbGdlbnMgZGUgYWZiZWVsZGluZyBqdWlzdCB0ZSByb3RlcmVuJzsKJGxhbmdbJ3BhcmFtX25vdGFnJ10gPSAnR2VlZiBnZWVuIGltZy10YWcgbWVlIGluIGRlIG91dHB1dCwgYWxsZWVuIGRlIFVSTCB2YW4gZGUgZ2VjYWNoZWRlIGFmYmVlbGRpbmcuIERpdCBoZWVmdCBnZWVuIGVmZmVjdCB3YW5uZWVyIENHU21hcnRJbWFnZSB3b3JkdCBnZWJydWlrdCBpbiBlZW4gc3R5bGVzaGVldC4nOwokbGFuZ1sncGFyYW1fb3ZlcndyaXRlJ10gPSAnU2NoYWtlbCBhbGxlIGNhY2hpbmcgdWl0IGVuIGZvcmNlZXIgaGVyYmVyZWtlbmluZyB2b29yIGFsbGUgZmlsdGVycyc7CiRsYW5nWydwYXJhbV9xdWFsaXR5J10gPSAnU3BlY2lmaWNlZXIgZGUga3dhbGl0ZWl0IHZhbiBkZSBvdXRwdXRhZmJlZWxkaW5nLiBVIG1vZXQgZWVuIHdhYXJkZSBpbnZ1bGxlbiB0dXNzZW4gZGUgMCBlbiAxMDAuJzsKJGxhbmdbJ3BhcmFtX3JlbCddID0gJ1VzZWQgd2hlbiBidWlsZGluZyBhbiBpbWFnZSB0YWcgYWxsb3dzIHNwZWNpZnlpbmcgYW4gb3B0aW9uYWwgcmVsIGF0dHJpYnV0ZSAodHlwaWNhbGx5IHVzZWQgd2l0aCBqYXZhc2NyaXB0IHR5cGUgYWxidW1zKS4gaS5lOiByZWw9JnF1b3Q7YWxidW0mcXVvdDsnOwokbGFuZ1sncGFyYW1fc2lsZW50J10gPSAnTmVnZWVyIGZvdXRlbic7CiRsYW5nWydwYXJhbV9zcmMnXSA9ICdTcGVjaWZ5IHRoZSBzb3VyY2UgZm9yIHRoZSBpbWFnZSBwcm9jZXNzaW5nIChpZiBhbnkpIG9yIHRoZSBnZW5lcmF0ZWQgaW1nIHRhZy4gIE5vdGUsIHRoaXMgcGFyYW1ldGVyIGlzIGZsZXhpYmxlLCBhbmQgdGhlIG1vZHVsZSB3aWxsIGF0dGVtcHQgbWFueSBtZXRob2RzIHRvIGZpbmQgdGhlIHNvdXJjZSBpbWFnZSBmaWxlIG9uIHRoZSB3ZWIgc2VydmVyIGFzIGZvbGxvd3M6DQo8dWw+DQogIDxsaT5GaXJzdCBsb29rIHRvIHNlZSBpZiB0aGUgc3BlY2lmaWVkIHNyYyB2YWx1ZSBleGlzdHMgYXMgYSBmaWxlIG9uIHRoZSBmaWxlc3lzdGVtLjwvbGk+DQogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHVwbG9hZHNfdXJsIChhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5waHApPC9saT4NCiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgcm9vdF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSBzc2xfdXJsIChhcyBzcGVjaWZpZWQgaW4gdGhlIGNvbmZpZy5waHApPC9saT4NCjwvdWw+DQpJdCBpcyBhbHNvIHBvc3NpYmxlIHRvIHNwbGl0IHRoZSBzcmMgcGFyYW1ldGVyIGludG8gbXVsdGlwbGUgYXJndW1lbnRzLCB3aGljaCBpcyB1c2VmdWwgZm9yIGV4YW1wbGUgd2hlbiB0aGUgcGF0aCB0byB0aGUgZmlsZSwgYW5kIHRoZSBmaWxlbmFtZSBhcmUgc3RvcmVkIGluIHNlcGFyYXRlIHNtYXJ0eSB2YXJpYWJsZXMuICAgWW91IGNhbiBzcGVjaWZ5IHRoZSBzcmMgYXMgc3JjMT1cJHRoZV9wYXRoIHNyYzI9XCR0aGVfZmlsZW5hbWUuICBUaGUgc3lzdGVtIHdpbGwgYXV0b21hdGljYWxseSBhZGQgYSAvIGluIGJldHdlZW4gZWFjaCBhcmd1bWVudC4gIFRoZXJlIGlzIG5vIGxpbWl0IHRvIHRoZSBudW1iZXIgb2Ygc3JjIHBhcmFtZXRlcnMuJzsKJGxhbmdbJ3BhcmFtX3N0eWxlJ10gPSAnR2VicnVpa3QgYmlqIGhldCBtYWtlbiB2YW4gZGUgaW1nIHRhZywgZ2VicnVpa3Qgdm9vciBlZW4gYWx0ZXJuYXRpZXZlIHN0eWxpbmcuICBiaWp2Ljogc3R5bGU9JnF1b3Q7Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7JnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX3RpdGxlJ10gPSAnR2VlZiBoZXQgb3B0aW9uZWxlIHRpdGVsIGF0dHJpYnV1dCBvcCB2b29yIGRlIGltZy10YWcuICBiaWp2b29yYmVlbGQ6IHRpdGxlPSZxdW90O0RpdCBpcyBlZW4gdG9vbHRpcCZxdW90Oyc7CiRsYW5nWydwYXJhbV93aWR0aCddID0gJ1Zvb3IgYmlqIGhldCBnZWJydWlrIHZhbiBkZSBpbWctdGFnIG1vZXQgdSBoaWVyIGRlIHdhYXJkZSB2b29yIGhldCBicmVlZHRlLWF0dHJpYnV1dCBvcGdlZ2V2ZW4uICBPcG1lcmtpbmc6IGFscyB1IGhpZXIgZ2VlbiB3YWFyZGUgaW52b2VydCBkYW4gemFsIGRlemUgd2FhcmRlIGF1dG9tYXRpc2NoIGJlcmVrZW50IHdvcmRlbiB6b2RhdCBkZSBtZWVzdGUgaW1nLXRhZ3MganVpc3Qgemlqbi4gIFUga3VudCBkZXplIGF1dG9tYXRpc2NoZSBiZXJla2VuaW5nIHVpdHNjaGFrZWxlbiBtZXQgZGUgJnF1b3Q7bm9hdXRvJnF1b3Q7IHBhcmFtZXRlcic7CiRsYW5nWydwb3N0aW5zdGFsbCddID0gJ01vZHVsZSBnZSZpdW1sO25zdGFsbGVlcmQnOwokbGFuZ1sncG9zdHVuaW5zdGFsbCddID0gJ0FsbGUgbWV0IGRlemUgbW9kdWxlIGdlYXNzb2NpZWVyZGUgZGF0YSBpcyB2ZXJ3aWpkZXJkJzsKJGxhbmdbJ3Byb21wdF9jcm9wdG9maXRfZGVmYXVsdF9sb2MnXSA9ICdTdGFuZGFhcmQgcGxhYXRzIHZvb3IgJnF1b3Q7Y3JvcCB0byBmaXQmcXVvdDsnOwokbGFuZ1sncHJvbXB0X2VtYmVkX3NpemVsaW1pdCddID0gJ0dlYmFzZWVyZCBvcCBhZmJlZWxkaW5nc2dyb290dGUnOwokbGFuZ1sncHJvbXB0X2VtYmVkX3NtYXJ0bGltaXRlZCddID0gJ1NsaW1tZSBtb2R1cywgbWFhciBsaW1pdGVlciBhZmJlZWxkaW5nc2dyb290dGUnOwokbGFuZ1sncHJvbXB0X2VtYmVkX3R5cGUnXSA9ICdHZWJhc2VlcmQgb3AgYWZiZWVsZGluZ3N0eXBlJzsKJGxhbmdbJ3Byb21wdF9sb2NfYm90dG9tbGVmdCddID0gJ0JlbmVkZW4gTGlua3MgKGJsKSc7CiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbWNlbnRlciddID0gJ0JlbmVkZW4gQ2VudHJlZXIgKGJjKSc7CiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbXJpZ2h0J10gPSAnQmVuZWRlbiBSZWNodHMgKGJyKSc7CiRsYW5nWydwcm9tcHRfbG9jX2NlbnRlcmxlZnQnXSA9ICdDZW50cmVlciBMaW5rcyAoY2wpJzsKJGxhbmdbJ3Byb21wdF9sb2NfY2VudGVyJ10gPSAnQ2VudHJlZXIgKGMpJzsKJGxhbmdbJ3Byb21wdF9sb2NfY2VudGVycmlnaHQnXSA9ICdDZW50cmVlciBSZWNodHMgKGNsKSc7CiRsYW5nWydwcm9tcHRfbG9jX3RvcGxlZnQnXSA9ICdUb3AgTGlua3MgKHRsKSc7CiRsYW5nWydwcm9tcHRfbG9jX3RvcGNlbnRlciddID0gJ1RvcCBDZW50cmVlciAodGMpJzsKJGxhbmdbJ3Byb21wdF9sb2NfdG9wcmlnaHQnXSA9ICdUb3AgUmVjaHRzICh0ciknOwokbGFuZ1sncmVzaXppbmcnXSA9ICdIZXJzY2hhbGVuJzsKJGxhbmdbJ3NtYXJ0J10gPSAnU2xpbSc7CiRsYW5nWydzdWJtaXQnXSA9ICdPcHNsYWFuJzsKJGxhbmdbJ3V0bWEnXSA9ICcxNTY4NjEzNTMuMTE2NzcwMjQ3NC4xMzczODI2NjkyLjEzNzM4MjY2OTIuMTM3MzgyNjY5Mi4xJzsKJGxhbmdbJ3V0bXonXSA9ICcxNTY4NjEzNTMuMTM3MzgyNjY5Mi4xLjEudXRtY2NuPShkaXJlY3QpfHV0bWNzcj0oZGlyZWN0KXx1dG1jbWQ9KG5vbmUpJzsKJGxhbmdbJ3V0bWInXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRtYyddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lang/ext/pt_PT.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKJGxhbmdbJ2FjdF9jYWNoZWNsZWFuZWQnXSA9ICdDYWNoZSBMaW1wYSc7CiRsYW5nWydhZGRfcm93J10gPSAnQWRpY2lvbmFyIExpbmhhJzsKJGxhbmdbJ2FsaWFzJ10gPSAnQWxpJmFhY3V0ZTtzJzsKJGxhbmdbJ2FsaWFzZXMnXSA9ICdBbGlhc2VzJzsKJGxhbmdbJ2Fza19jbGVhcl9pbWFnZV9jYWNoZSddID0gJ1JlbW92ZXIgVE9ET1Mgb3MgZmljaGVpcm9zIGRhIGNhY2hlIGRlIGltYWdlbnM6IHRlbSBhIGNlcnRlemE/JzsKJGxhbmdbJ2NsZWFyX2FsbCddID0gJ0xpbXBhciB0b2RvcyBvcyBmaWNoZWlyb3MnOwokbGFuZ1snY2xlYXJfbm93J10gPSAnTGltcGFyIEltZWRpYXRhbWVudGUnOwokbGFuZ1snZGVsZXRlJ10gPSAnQXBhZ2FyJzsKJGxhbmdbJ2VtYmVkZGluZyddID0gJ0ltYWdlbnMgRW1iZWJpZGFzJzsKJGxhbmdbJ2VtYmVkZGluZ19tb2RlJ10gPSAnTW9kbyBkZSBJbWFnZW0gRW1iZWJpZGEnOwokbGFuZ1snZW1iZWRfc2l6ZWxpbWl0J10gPSAnVGFtYW5obyBsaW1pdGUgZGEgaW1hZ2VtIGEgZW1iZWJlciAoa2IpJzsKJGxhbmdbJ2VtYmVkX3R5cGVzJ10gPSAnVGlwbyBkYSBpbWFnZW0gYSBlbWJlYmVyJzsKJGxhbmdbJ2Vycm9yX2FsaWFzX2R1cGxpY2F0ZW5hbWVfYXRyb3cnXSA9ICdGb2kgZXNwZWNpZmljYWRvIHVtIGFsaSZhYWN1dGU7cyBkdXBsaWNhZG8gbmEgbGluaGEgJWQnOwokbGFuZ1snZXJyb3JfYWxpYXNfbm9uYW1lX2F0cm93J10gPSAnTiZhdGlsZGU7byBmb2kgZXNwZWNpZmljYWRvIHVtIG5vbWUgcGFyYSBvIGFsaSZhYWN1dGU7cyBuYSBsaW5oYSAlZCc7CiRsYW5nWydlcnJvcl9hbGlhc19ub29wdGlvbnNfYXRyb3cnXSA9ICdOJmF0aWxkZTtvIGZvcmFtIGVzcGVjaWZpY2FkYXMgb3AmY2NlZGlsOyZvdGlsZGU7ZXMgcGFyYSBvIGFsaSZhYWN1dGU7cyBuYSBsaW5oYSAlZCc7CiRsYW5nWydlcnJvcl9pbnZhbGlkX2FnZSddID0gJ1ByZWZlciZlY2lyYztuY2lhIGRlIGlkYWRlIGludiZhYWN1dGU7bGlkYS4uLiBuZW5odW1hIG9wZXJhJmNjZWRpbDsmYXRpbGRlO28gZWZlY3R1YWRhJzsKJGxhbmdbJ2Vycm9yX21pc3NpbmdwYXJhbSddID0gJ1VtIHBhciZhY2lyYzttZXRybyByZXF1ZXJpZG8gZXN0JmFhY3V0ZTsgZW0gZmFsdGEgb3UgbiZhdGlsZGU7byAmZWFjdXRlOyB2JmFhY3V0ZTtsaWRvOiAlcyc7CiRsYW5nWydlcnJvcl9pbnZhbGlkcGFyYW0nXSA9ICdQYXImYWNpcmM7bWV0cm8gaW52JmFhY3V0ZTtsaWRvIG5hIGNoYW1hZGE6ICVzJzsKJGxhbmdbJ2Vycm9yX3NyY25vdGZvdW5kJ10gPSAnTiZhdGlsZGU7byBmb2kgZW5jb250cmFkbyBuZW5odW0gZmljaGVpcm8gZW06ICVzJzsKJGxhbmdbJ2Vycm9yX3JlbW90ZWZpbGUnXSA9ICdQcm9ibGVtYSBuYSBvYnRlbiZjY2VkaWw7JmF0aWxkZTtvIGRlIHVtIGZpY2hlaXJvIHJlbW90byBlbSAgJXMnOwokbGFuZ1snZXJyb3JfdW5rbm93bmZpbHRlciddID0gJ0NHU21hcnRJbWFnZSAtIEZpbHRybyBEZXNjb25oZWNpZG86ICVzJzsKJGxhbmdbJ2ZyaWVuZGx5bmFtZSddID0gJ0NhbGd1eXMgU21hcnQgSW1hZ2UgVG9vbGtpdCAtIEZlcnJhbWVudGFzIGRlIEltYWdlbSc7CiRsYW5nWydnZW5lcmFsJ10gPSAnR2VyYWwnOwokbGFuZ1snaGVscCddID0gJzxoMz5XaGF0IERvZXMgVGhpcyBEbz88L2gzPg0KPHA+VGhpcyBtb2R1bGUgcHJvdmlkZXMgYSBzaW1wbGUgd2F5IHRvIHByb2Nlc3MsIGFuZCBkaXNwbGF5IGltYWdlcyBvbiB5b3VyIHdlYiBwYWdlLiAgSXQgYWxsb3dzIHNpbXBsZSBpbWFnZSBwcm9jZXNzaW5nLCBhbmQgd2F0ZXJtYXJraW5nLiAgVGhpcyBtb2R1bGUgbWFrZXMgZGlzcGxheWluZyBwcm9jZXNzZWQgaW1hZ2VzIG9uIHlvdXIgd2Vic2l0ZSB0cml2aWFsLiAgSXQgYWxzbyBwcm92aWRlcyBmZWF0dXJlcyB0byBpbXByb3ZlIHRoZSBwZXJmb3JtYW5jZSByYXRpbmcgb2YgeW91ciB3ZWJzaXRlLCBtYWtpbmcgeW91ciB3ZWJzaXRlIHBvd2VyZnVsIGFuZCBmYXN0IGF0IHRoZSBzYW1lIHRpbWUuPC9wPg0KPGgzPkZlYXR1cmVzPC9oMz4NCjx1bD4NCjxsaT5Qb3dlcmZ1bCwgYnV0IHNpbXBsZSB0byB1c2UgaW1hZ2UgZmlsdGVyaW5nIGFuZCBwcm9jZXNzaW5nLiBGaWx0ZXJpbmcgaW5jbHVkZXM6DQogIDx1bD4NCiAgICA8bGk+Qmx1cjwvbGk+DQogICAgPGxpPkJyaWdodG5lc3M8L2xpPg0KICAgIDxsaT5Db2xvcml6ZTwvbGk+DQogICAgPGxpPkNvbnRyYXN0PC9saT4NCiAgICA8bGk+Q3JvcDwvbGk+DQogICAgPGxpPjxzdHJvbmc+Q3JvcCBUbyBGaXQ8L3N0cm9uZz48L2xpPg0KICAgIDxsaT5FZGdlIERldGVjdGlvbjwvbGk+DQogICAgPGxpPkVtYm9zczwvbGk+IA0KICAgIDxsaT5HcmF5c2NhbGU8L2xpPg0KICAgIDxsaT5NZWFuIFJlbW92YWw8L2xpPg0KICAgIDxsaT5OZWdhdGU8L2xpPg0KICAgIDxsaT5QaXhlbGF0ZTwvbGk+DQogICAgPGxpPlJlc2l6ZTwvbGk+DQogICAgPGxpPlJvdGF0ZTwvbGk+DQogICAgPGxpPlNlbGljdGl2ZSBCbHVyPC9saT4NCiAgICA8bGk+U21vb3RoPC9saT4NCiAgICA8bGk+V2F0ZXJtYXJrPC9saT4NCiAgPC91bD4NCjwvbGk+PGJyLz4NCjxsaT5TbWFydCBkZXRlY3Rpb24gb2YgaW1hZ2VzLiAgU3BlY2lmeSBhYnNvbHV0ZSBVUkxTLCBhYnNvbHV0ZSBwYXRocywgb3IgZmlsZXMgcmVsYXRpdmUgdG8geW91ciByb290IGluc3RhbGxhdGlvbi48L2xpPg0KPGxpPkF1dG9tYXRpYyBkb3dubG9hZGluZywgY2FjaGluZywgcHJvY2Vzc2luZywgYW5kIHJlLWNhY2hpbmcgb2YgaW1hZ2VzIGZyb20gcmVtb3RlIHdlYnNpdGVzLjwvbGk+DQo8bGk+U21hcnQgYXV0b21hdGljIHJlc2l6aW5nIChhdXRvbWF0aWNhbGx5IHJlc2l6ZSB0byBkZXNpcmVkIHdpZHRoIGFuZCBoZWlnaHQgYmVmb3JlIHNlcnZpbmcgdGhlIGltYWdlLi4uIHJlc2l6aW5nIHRvIHdpZHRoIEFORCBoZWlnaHQgZG9lcyBhIGNyb3AgdG8gZml0LiA8ZW0+KGp1c3Qgc3BlY2lmeSBhIHdpZHRoLCBhbmQvb3IgaGVpZ2h0IHBhcmFtZXRlciB0byB0aGUgQ0dTbWFydEltYWdlIHRhZy4pPC9lbT48L2xpPg0KPGxpPkF1dG9tYXRpY2FsbHkgcmVhZHMgaW1hZ2UgRVhJRiBpbmZvcm1hdGlvbiBhbmQgY29ycmVjdHMgdGhlIG9yaWVudGF0aW9uLjwvbGk+DQo8bGk+SW1hZ2UgY2hhbmdlIGRldGVjdGlvbiwgaWYgdGhlIG1hc3RlciBpbWFnZSBpcyBjaGFuZ2VkIHNjYWxlZCBpbWFnZXMgd2lsbCBiZSByZWdlbmVyYXRlZC4gKHNlZSB0aGUgbm90aW1lY2hlY2sgcGFyYW1ldGVyIHRvIGRpc2FibGUgdGhpcyBiZWhhdmlvcikuPC9saT4NCjxsaT5TbWFydCBhdHRyaWJ1dGUgZ2VuZXJhdGlvbiBmb3IgaW1hZ2VzLjwvbGk+DQo8bGk+UHJvY2Vzc2VkIGltYWdlcyBhcmUgY2FjaGVkIG9uIHRoZSBzZXJ2ZXIgZm9yIGZhc3RlciBzZXJ2aW5nLjwvbEk+DQo8bGk+VGhlIGFiaWxpdHkgdG8gdXNlIGEgc2VwYXJhdGUgVVJMIChDRE4pIGZvciBzZXJ2aW5nIGltYWdlczwvbGk+DQo8bGk+SW1hZ2UgcHJvY2Vzc2VzIGNhbiBiZSBjb21iaW5lZCwgYW5kIGFyZSBleGVjdXRlZCBpbiBvcmRlci48L2xpPg0KPGxpPlByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHRoZSBjb250ZW50IG9mIHRoZSB3ZWIgcGFnZSB0byBtaW5pbWl6ZSBzcGFjZS48L2xpPg0KPGxpPlByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGxpbWl0IGVtYmVkZGluZyBpbWFnZXMgc21hcnRseSwgb25seSB0byBicm93c2VycyB0aGF0IGFyZSBjYXBhYmxlIG9mIHVuZGVyc3RhbmRpbmcgdGhlbS48L2xpPg0KPGxpPkNvbWJpbmUgY29tbW9ubHkgdXNlZCBhcmd1bWVudHMgaW50byBuYW1lZCBhbGlhc2VzLjwvbGk+DQo8bGk+QWxzbyB3b3JrcyB3aXRoaW4gc3R5bGVzaGVldHMgdmlhIHRoZSB7Y21zX3N0eWxlc2hlZXR9IHRhZy48L2xpPg0KPGxpPlRoZSBhYmlsaXR5IHRvIGF1dG9tYXRpY2FsbHkgcHJvY2VzcyBpbWFnZXMgaW5zaWRlIGEgYmxvY2sgb2YgaHRtbCBjb2RlIHVzaW5nIHRoZSB7Y2dzaV9jb252ZXJ0fSBibG9jayB0YWcuPC9saT4NCjxsaT5Nb3JlLi4uPC9saT4NCjwvdWw+DQo8aDM+V2h5IHNob3VsZCBJIHVzZSBpdD88L2gzPg0KPHA+VGhlcmUgYXJlIGZvdXIgdmVyeSBpbXBvcnRhbnQgcmVhc29ucyB0byB1c2UgdGhpcyBwbHVnaW46PC9wPg0KPHVsPg0KICA8bGk+UGVyZm9ybWFuY2U6ICBVc2luZyBpbWFnZSBlbWJlZGRpbmcgKGV2ZW4gaWYgbm8gb3RoZXIgZnVuY3Rpb25zIGFyZSB1c2VkKSByZXN1bHRzIGluIGZld2VyIHJlcXVlc3RzLiAgTW9zdCBicm93c2VycyBvbmx5IHBlcmZvcm0gdHdvIHRvIGZvdXIgc2ltdWx0YW5lb3VzIHJlcXVlc3RzIHRvIHRoZSBzYW1lIGRvbWFpbiBhdCB0aGUgc2FtZSB0aW1lLiAgRm9yIHdlYiBwYWdlcyB3aXRoIGxvdHMgb2YgaW1hZ2VzIHRoaXMgY2FuIHNlcmlvdXNseSBzbG93IGRvd24geW91ciBzaXRlLjwvbGk+DQogIDxsaT5QZXJmb3JtYW5jZTogIEV2ZW4gaWYgbm90IHVzaW5nIGVtYmVkZGluZywgc2VuZGluZyBsYXJnZSBpbWFnZXMgdG8geW91ciB2aXNpdG9ycywgYW5kIGFza2luZyB0aGVpciBicm93c2VyIHRvIHNjYWxlIHRoZSBpbWFnZSBpcyB2ZXJ5IHZlcnkgc2xvdy48L2xpPg0KICA8bGk+U2VjdXJpdHk6ICBDR1NtYXJ0SW1hZ2UgY2FjaGVzIGl0cyBpbWFnZXMgaW4gYSBzZXBhcmF0ZSBkaXJlY3RvcnksIHRoZXJlYnkgaGlkaW5nIHRoZSBvcmlnaW5hbCAocGVyaGFwcyBjb3B5cmlnaHRlZCkgaW1hZ2VzIGZyb20geW91ciB1c2Vycy4gIElmIGVtYmVkZGluZyBpcyB1c2VkIHRoZXkgY2FudCBldmVuIGZpbmQgdGhlIGNhY2hlZCBsb2NhdGlvbik8L2xpPg0KICA8bGk+U2ltcGxpY2l0eTogIFRoZSBmaWx0ZXJpbmcgY2FwYWJpbGl0aWVzIG9mIENHU21hcnRJbWFnZSBhbGxvdyB5b3UgdG8gYXV0b21hdGljYWxseSBwcm9jZXNzIGltYWdlcyBmb3IgY29uc2lzdGVudCBhbmQgc2VjdXJlIGRpc3BsYXksIHdpdGhvdXQgc2l0ZSBlZGl0b3JzIGhhdmluZyB0byBwbGF5IHdpdGggdGhlbS4gIFRoZXkgY2FuIHVwbG9hZCBsYXJnZXIgaW1hZ2VzLCBhbmQgeW91ciBzaXRlIHdpbGwganVzdCBoYW5kbGUgdGhlbSBwcm9wZXJseS48L2xpPg0KPC91bD4NCjxoMz5Ib3cgZG8gSSB1c2UgaXQ/PC9oMz4NCjxwPlRoZSBzaW1wbGVzdCB3YXkgdG8gdXNlIHRoaXMgbW9kdWxlIGlzIHRvIHVzZSBpdCBpbiB0aGUgc2FtZSBwbGFjZSB5b3Ugd291bGQgdGhlIHtpbWFnZX0gdGFnLiAgSS5lOiBTb21ldGhpbmcgbGlrZSA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e0NHU21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTt9PC9jb2RlPi4gIFRoaXMgd2lsbCBnZW5lcmF0ZSB0aGUgaW1hZ2UgdGFnIGZvciB5b3Ugd2l0aCBubyBwcm9jZXNzaW5nLiAgQW5kIGlmIHBvc3NpYmxlLCBlbWJlZCB0aGUgaW1hZ2UgZGlyZWN0bHkgaW50byB5b3VyIGh0bWwgb3V0cHV0LjwvcD4NCjxwPk9mdGVuIHBlb3BsZSB3YW50IHRvIGRpc3BsYXkgYSB3YXRlcm1hcmsgb24gdGhlIGltYWdlcyB0aGF0IHRoZXkgZGlzcGxheSBvbiB0aGUgZnJvbnRlbmQgdG8gcHJldmVudCBpbWFnZSB0aGVmdC4gIFRoZSBDR0V4dGVuc2lvbnMgbW9kdWxlIHByb3ZpZGVzIHNldHRpbmdzIGZvciB5b3UgdG8gY29uZmlndXJlIHdhdGVybWFya2luZyBhbmQgeW91IGNhbiBlbmFibGUgdGhhdCB3aXRoIGFueSBpbWFnZSB3aXRoIGEgdGFnIGxpa2UgdGhpczogPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2Ugc3JjPSYjMDM5O3VwbG9hZHMvaW1hZ2VzL3BpY3R1cmUuanBnJiMwMzk7IGZpbHRlcl93YXRlcm1hcms9MX08L2NvZGU+LiAgVGhpcyB3aWxsIHJlYWQgdGhlIGltYWdlLCBhcHBseSB0aGUgd2F0ZXJtYXJrIGFjY29yZGluZyB0byB0aGUgc2V0dGluZ3MgaW4gQ0dFeHRlbnNpb25zLCBjYWNoZSB0aGUgYWx0ZXJlZCBpbWFnZSwgYW5kIHRoZW4gZW1iZWQgaXQgaW50byB5b3VyIG91dHB1dC48L3A+DQo8cD5BbHNvLCBQaWN0dXJlcyB0YWtlbiBieSBtb2Rlcm4gZGlnaXRhbCBjYW1lcmFzIGFyZSBvZnRlbiB0b28gbGFyZ2UgZm9yIHVzZSBvbiBhIHdlYnNpdGUsIHRoZXJlZm9yZSB0aGV5IG5lZWQgdG8gYmUgc2NhbGVkIGJlZm9yZSBkaXNwbGF5ZWQgb24geW91ciBwYWdlLiAgVGhpcyBjYW4gYmUgZG9uZSBxdWl0ZSBlYXNpbHkgd2l0aCBhIHRhZyBsaWtlOiA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e0NHU21hcnRJbWFnZSBzcmM9JiMwMzk7dXBsb2Fkcy9pbWFnZXMvcGljdHVyZS5qcGcmIzAzOTsgZmlsdGVyX3dhdGVybWFyaz0xIGZpbHRlcl9yZXNpemU9JiMwMzk7dywzNTAmIzAzOTt9PC9jb2RlPi4gIEFzIHlvdSBtYXkgdGhpbmssIHRoZSB3YXRlcm1hcmsgd2lsbCBiZSBhcHBsaWVkIHRvIHRoZSBpbWFnZSBiZWZvcmUgaXQgaXMgcmVzaXplZCB0byBhIG1heGltdW0gd2lkdGggb2YgMzAwIHBpeGVscyAocmV0YWluaW5nIGFzcGVjdCByYXRpbykuICBUaGVuIHRoZSBhZGp1c3RlZCBpbWFnZSB3aWxsIGJlIGNhY2hlZCwgYW5kIGlmIHRoZSBicm93c2VyIGFsbG93ZXMgdGhlIGltYWdlIHdpbGwgYmUgZW1iZWRkZWQgaW50byB0aGUgSFRNTCBvdXRwdXQuICBJZiBlbWJlZGRpbmcgaXMgbm90IHBvc3NpYmxlLCB0aGUgaW1nIHRhZyB3aWxsIGNvbnRhaW4gdGhlIFVSTCB0byB0aGUgY2FjaGVkIGltYWdlLjwvcD4NCjxwPkZyb20gaGVyZSB5b3UgY2FuIGNvbWJpbmUgdGhlIG9wdGlvbnMgYmVsb3cgdG8gcGVyZm9ybSBhbG90IG9mIGRpZmZlcmVudCBlZmZlY3RzIHRvIHlvdXIgaW1hZ2VzLCBidWlsZCBzaW1wbGUgZ2FsbGVyaWVzLCBhbmQgaW1wcm92ZSB5b3VyIHNpdGUgcGVyZm9ybWFuY2UgYXQgdGhlIHNhbWUgdGltZS4gIEVuam95ITwvcD4NCjxoMz5BdXRvbWF0aWMgaW1hZ2UgcmVzaXppbmc8L2gzPg0KICA8cD5JZiB5b3Ugc3BlY2lmeSBhIHdpZHRoLCBhbmQvb3IgYSBoZWlnaHQgcGFyYW1ldGVyLCBhbmQgZG8gbm90IHNwZWNpZnkgdGhlICZxdW90O25vYXV0b3NjYWxlJnF1b3Q7IHBhcmFtZXRlciwgdGhlIG1vZHVsZSB3aWxsIGFuYWx5emUgdGhlIGZpbHRlcnMgeW91IGhhdmUgYWxyZWFkeSBzcGVjaWZpZWQsIGFuZCBpZiB0aGVyZSBpcyBubyByZXNpemUgZmlsdGVyIGFscmVhZHkgc3BlY2lmaWVkIGF1dG9tYXRpY2FsbHkgYWRkIGEgZmlsdGVyIHRvIHJlc2l6ZSBvciBjcm9wdG9maXQgdGhlIGltYWdlIG9uIG91dHB1dC4gIFRoaXMgaXMgdXNlZnVsIHRvIGRvIGF1dG9tYXRpYyB0aHVtYm5haWxpbmcgb24gdGhlIHNlcnZlciwgYW5kIG5vdCByZXF1aXJlIHRoZSBicm93c2VyIHRvIHJlc2l6ZSB0aGUgaW1hZ2UuPC9wPg0KIDxoMz5BIFNpbXBsZSBHYWxsZXJ5PC9oMz4NCjxwPlRoZSBjb2RlIGJlbG93IHVzZXMgdGhlIHtDR1NtYXJ0SW1hZ2V9IG1vZHVsZSwgZmFuY3lib3gsIGFuZCBhIGJpdCBvZiBzbWFydHkgbWFnaWMgdG8gZ2VuZXJhdGUgYSBzaW1wbGUgbGlnaHRib3ggc3R5bGUgYWxib20gZnJvbSBhIHN1YmRpcmVjdG9yeSBvbiB5b3VyIHdlYnNpdGUsIHdoaWxlIHByb2Nlc3NpbmcgdGhlIGltYWdlcyBmb3Igd2ViIHN0YW5kYXJkcywgYW5kIGNyZWF0aW5nIHRodW1ibmFpbHMuPC9wPg0KPHByZSBzdHlsZT0mcXVvdDtiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkOyBib3JkZXI6IDFweCBzb2xpZCBibGFjazsmcXVvdDs+PGNvZGU+PHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDE6PC9zcGFuPiA8c2NyaXB0IHR5cGU9JnF1b3Q7dGV4dC9qYXZhc2NyaXB0JnF1b3Q7PntsaXRlcmFsfQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDI6PC9zcGFuPiBqUXVlcnkoZG9jdW1lbnQpLnJlYWR5KGZ1bmN0aW9uKCl7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gMzo8L3NwYW4+ICBqUXVlcnkoJiMwMzk7YS5mYW5jeWJveCYjMDM5OykuZmFuY3lib3goKTsNCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA0Ojwvc3Bhbj4gfSk7DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4gNTo8L3NwYW4+IHsvbGl0ZXJhbH08L3NjcmlwdD4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA2Ojwvc3Bhbj4ge2Fzc2lnbiB2YXI9JiMwMzk7ZmlsZXMmIzAzOTsgdmFsdWU9JiMwMzk7dXBsb2Fkcy9hbGJ1bS8qLmpwZyYjMDM5O3xnbG9ifQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDc6PC9zcGFuPiB7aWYgY291bnQoJGZpbGVzKX0NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PiA4Ojwvc3Bhbj4gPGRpdiBzdHlsZT0mcXVvdDt3aWR0aDogMTAwJTsgaGVpZ2h0OiAxNTBweDsgb3ZlcmZsb3c6IGF1dG87JnF1b3Q7Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+IDk6PC9zcGFuPiB7Zm9yZWFjaCBmcm9tPSRmaWxlcyBpdGVtPSYjMDM5O2ZpbGUmIzAzOTt9DQo8c3BhbiBzdHlsZT0mcXVvdDtjb2xvcjogcmVkOyZxdW90Oz4xMDo8L3NwYW4+ICA8YSByZWw9JiMwMzk7c2ltcGxlX2FsYnVtJiMwMzk7IGNsYXNzPSJmYW5jeWJveCIgaHJlZj0iPHNwYW4gc3R5bGU9ImNvbG9yOiBibHVlOyI+e0NHU21hcnRJbWFnZSBzcmM9JGZpbGUgZmlsdGVyX3JvdGF0ZT05MCBmaWx0ZXJfd2F0ZXJtYXJrPTEgZmlsdGVyX3Jlc2l6ZT0mIzAzOTtoLDUwMCYjMDM5OyBub3RhZz0xIG5vZW1iZWQ9MX08L3NwYW4+JnF1b3Q7Pg0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTE6PC9zcGFuPiAgPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2Ugc3JjPSRmaWxlIGZpbHRlcl9yb3RhdGU9OTAgZmlsdGVyX2dyYXlzY2FsZT0xIGZpbHRlcl93YXRlcm1hcms9MSBmaWx0ZXJfcmVzaXplPSYjMDM5O2gsMTUwJiMwMzk7fTwvc3Bhbj4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjEyOjwvc3Bhbj4gIDwvYT4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjEzOjwvc3Bhbj4gey9mb3JlYWNofQ0KPHNwYW4gc3R5bGU9JnF1b3Q7Y29sb3I6IHJlZDsmcXVvdDs+MTQ6PC9zcGFuPiA8L2Rpdj4NCjxzcGFuIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7PjE1Ojwvc3Bhbj4gey9pZn0NCjwvY29kZT48L3ByZT48YnIvPg0KPHA+TGV0cyB0YWxrIGFib3V0IHRoaXMuPC9wPg0KPHA+TGluZXMgMSB0aHJvdWdoIDUgdXRpbGl6ZSBqUXVlcnkgdG8gY2FsbCBmYW5jeWJveCBvbiBhbnkgbGlua3MgdGhhdCBoYXZlIHRoZSAmcXVvdDtmYW5jeWJveCZxdW90OyBjbGFzcy4gIFRoZSBmYW5jeWJveCBqUXVlcnkgcGx1Z2luIGlzIGluY2x1ZGVkIHdpdGggdGhlIEpRdWVyeVRvb2xzIG1vZHVsZS48L3A+DQo8cD5MaW5lIDYgdXNlcyBhIGJ1aWx0IGluIHBocCBmdW5jdGlvbiBjYWxsZWQgZ2xvYiwgYW5kIHNvbWUgc21hcnR5IG1hZ2ljIHRvIGZpbmQgYWxsIG9mIHRoZSBKUEcgZmlsZXMgaW4gdGhlIHVwbG9hZHMvYWxidW0gZGlyZWN0b3J5IGJlbG93IG91ciBpbnN0YWxsYXRpb24gcm9vdC48L3A+DQo8cD5MaW5lIDcgaXMgYSB0ZXN0IHRvIHNlZSBpZiBhbnkgZmlsZXMgd2VyZSBhY3R1YWxseSBmb3VuZCBpbiB0aGUgYXNzaWduIGxpbmUgc3RhdGVkIGFib3ZlLiAgVGhpcyBpZiBzdGF0ZW1lbnQgaXMgY2xvc2VkIG9uIGxpbmUgMTUuPC9wPg0KPHA+TGluZSA4IG9wZW5zIHVwIGEgZGl2IHRvIGNvbnRhaW4gb3VyIGFsYnVtLiAgRm9yIHRoZSBwdXJwb3NlcyBvZiB0aGlzIGV4YW1wbGUgdGhlIHN0eWxlcyB3ZXJlIGluY2x1ZGVkIGlubGluZSwgaG93ZXZlciBhIGNsYXNzIHRoYXQgd2FzIGRlZmluZWQgaW4gdGhlIHN0eWxlc2hlZXQgc2hvdWxkIGJlIHVzZWQgaW4gcHJvZHVjdGlvbiBlbnZpcm9ubWVudHMuICBUaGUgY2xvc2luZyB0YWcgZm9yIHRoaXMgZGl2IGlzIG9uIGxpbmUgMTQsIGp1c3QgYmVmb3JlIHRoZSA8Y29kZT57L2lmfTwvY29kZT4uPC9wPg0KPHA+TGluZSA5IGJlZ2lucyBhIGxvb3AgdGhyb3VnaCBhbGwgb2YgdGhlIGZpbGVzIHRoYXQgd2UgZm91bmQgaW4gdGhlIGRpcmVjdG9yeS4gIFRoaXMgbG9vcCBpcyBjbG9zZWQgb24gbGluZSAxMy48L3A+PGJyLz4NCjxwPkxpbmVzIDEwIGFuZCAxMSBhcmUgdGhlIHJlYWwgbWFnaWMuICBIZXJlIHdlIGNyZWF0ZSBhIGxpbmsgd2l0aCBjbGFzcyAmcXVvdDtmYW5jeWJveCZxdW90OyBhbmQgYWRkcyB0aGUgPGNvZGU+cmVsPC9jb2RlPiBhdHRyaWJ1dGUgc28gdGhhdCBmYW5jeWJveCBrbm93cyB0aGF0IGFsbCBvZiB0aGVzZSBpbWFnZXMgc2hvdWxkIGJlIGdyb3VwZWQgdG9nZXRoZXIgYXMgb25lIGFsYnVtIGFuZCBhbGxvdyBjbGlja2luZyBiZXR3ZWVuIHRoZSBpbWFnZXMuICBUaGVuIGNvbWVzIHRoZSBwYXJ0IHdoZXJlIHdlIGRlZmluZSBvdXIgaW1hZ2VzLg0KPHA+V2Ugc3VwcGx5IHRoZSAkZmlsZSB2YXJpYWJsZSB0byB0aGUgc3JjIGFyZ3VtZW50IG9mIHRoZSA8Y29kZT57Q0dTbWFydEltYWdlfTwvY29kZT4gdGFnIHNvIHRoYXQgaXQgd2lsbCBnZXQgdGhlIG5hbWUgb2YgZWFjaCBtYXRjaGVkIGpwZWcgYXMgdGhlIGxvb3AgaXMgZXhlY3V0ZWQuPC9wPg0KPHA+VGhlIGltYWdlcyBJIHdhcyB0ZXN0aW5nIHdpdGggd2VyZSB1cGxvYWRlZCBmcm9tIG15IGlwb2QsIGFuZCBhbGwgc2VlbWVkIHRvIGJlIHJvdGF0ZWQgOTAgZGVncmVlcyBjb3VudGVyIGNsb2NrZWlzLiAgU28gdGhlIGZpcnN0IGZpbHRlciBJIGFkZGVkIHdhcyB0byByb3RhdGUgdGhlIGltYWdlIDkwIGRlZ3JlZXMgY2xvY2t3aXNlIHZpYSB0aGUgPGNvZGU+ZmlsdGVyX3JvdGF0ZT05MDwvY29kZT4gYXJndW1lbnQuIFRoZSBpbWFnZXMgdGhlbiBuZWVkZWQgdG8gaGF2ZSB0aGUgd2F0ZXJtYXJrIG9uIHRoZW0gPGVtPih0aGlzIGlzIGp1c3QgZm9yIGV4YW1wbGUgcHVycG9zZXMsIEkgZG9udCB0aGluayBhbnlib2R5IHdvdWxkIHJlYWxseSBzdGVhbCB0aGUgYmx1cnJ5IHBpY3R1cmVzIGZyb20gbXkgaXBvZCBmb3IgY29tbWVyY2lhbCBwdXJwb3Nlcyk8L2VtPiwgc28gSSBhZGRlZCB0aGUgPGNvZGU+ZmlsdGVyX3dhdGVybWFyaz0xPC9jb2RlPiBwYXJhbWV0ZXIuICBBbmQgZmluYWxseSwgYmVjYXVzZSBldmVuIHRoZSBpcG9kIHRvdWNoIGNhbiB0YWtlIHBpY3R1cmVzIHRoYXQgYXJlIHRvbyBiaWcgdG8gZGlzcGxheSBvbiB0aGUgc2NyZWVuIEkgd2FudGVkIHRvIHJlc2l6ZSB0aGVtIHRvIGEgbWF4aW11bSBoZWlnaHQgb2YgNTAwIHBpeGVscy4gIFRoaXMgd2FzIGFjY29tcGxpc2hlZCB2aWEgdGhlIDxjb2RlPmZpbHRlcl9yZXNpemU9aCw1MDA8L2NvZGU+IGFyZ3VtZW50LiAgV2UgYWRkIHRoZSA8Y29kZT5ub2VtYmVkPTE8L2NvZGU+IGFyZ3VtZW50IGJlY2F1c2UgZmFuY3lib3ggZG9lcyBub3QgdW5kZXJzdGFuZCBob3cgdG8gZGlzcGxheSBlbWJlZGRlZCBpbWFnZXMgaW4gaXRzIHBvcHVwIHdpbmRvdy4gIFRoaXMgZGVmaW5lZCB0aGUgaW1hZ2UgdGhhdCB3ZSB3ZXJlIGdvaW5nIHRvIGxpbmsgdG8uPC9wPg0KPHA+TmV4dCB3ZSBuZWVkZWQgdG8gZGVmaW5lIHRoZSB0aHVtYm5haWwgaW1hZ2UgdGhhdCB3ZSBhcmUgZ29pbmcgdG8gdXNlIGluIHRoZSBnYWxsZXJ5LiAgVGhpcyBjYWxsIHRvIDxjb2RlPntDR1NtYXJ0SW1hZ2V9PC9jb2RlPiBpcyBhbG1vc3QgaWRlbnRpY2FsIHRvIHRoZSBmaXJzdCBjYWxsLCBleGNlcHQgdGhhdCB3ZSB1c2UgYSBkaWZmZXJlbnQgaGVpZ2h0IHZhbHVlICgxNTAgcGl4ZWxzKSBmb3IgdGhlIHRodW1ibmFpbCwgYW5kIGZvciBraWNrcyBJIGNvbnZlcnRlZCB0aGUgdGh1bWJuYWlsIHRvIGdyYXlzY2FsZSA8c3Ryb25nPmJlZm9yZTwvc3Ryb25nPiBhcHBseWluZyB0aGUgd2F0ZXJtYXJrLiAgSSBhbHNvIHJlbW92ZWQgdGhlIG5vZW1iZWQ9MSBhcmd1bWVudCBzbyB0aGF0IHRoZSBzeXN0ZW0gY291bGQgZW1iZWQgdGhlIGltYWdlIGluIHRoZSBIVE1MIG91dHB1dCBpZiB0aGUgYnJvd3NlciBzdXBwb3J0ZWQgaXQuICBUaGUgc2NyZWVuIGNhcHR1cmUgYmVsb3cgc2hvd3MgdGhlIGVmZmVjdC48L3A+DQo8aW1nIHNyYz0mcXVvdDtkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUVBWUFCZ0FBRC8yd0JEQUFnR0JnY0dCUWdIQndjSkNRZ0tEQlFOREFzTERCa1NFdzhVSFJvZkhoMGFIQndnSkM0bklDSXNJeHdjS0RjcExEQXhORFEwSHljNVBUZ3lQQzR6TkRMLzJ3QkRBUWtKQ1F3TERCZ05EUmd5SVJ3aE1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakl5TWpJeU1qSXlNakwvd0FBUkNBQ2hBZkFEQVNJQUFoRUJBeEVCLzhRQUhBQUFBUVFEQVFBQUFBQUFBQUFBQUFBQUFBUUZCZ2NCQWdNSS84UUFVQkFBQWdFREFnTUVCd1FHQndRSUJRVUFBUUlEQUFRUkJTRUdFakVUUVZGaEJ4UWljWUdSc1NNeW9kRVZNMEpTa3NFV0pUUmljblB3SkZXQzRSYzJRMU5XZzZMeEpqVkVZN0prazdQQzB2L0VBQmdCQVFFQkFRRUFBQUFBQUFBQUFBQUFBQUFCQWdNRS84UUFJeEVCQVFBQ0FnTUFBZ0lEQUFBQUFBQUFBQUVDRVNFeEF4SkJFeUlqUWxGaGtmL2FBQXdEQVFBQ0VRTVJBRDhBdGZXOVZ1Yks3MCt4c2tnOVp2cEdWWkxnbnMwQ2pKeUJ1VDRDdEx2VkxuVExGWTlRdk5NaTFHWitXREljUnVNZ2ROem5mNlYwNGhrMFgxYUtEV3d2WXlNZVJtVnNLdzcrWmZ1bnpxSjNNbDFKd3RJSGt1SnJOTldnV3ltdUFlMGVMbUhYTzVHZWhOQk5MclhOS3NaSGp1dFF0NFhSd2pLNzRJWWpPTWU0ZzF0SHJXbHkzd3NvOVF0bnVXR1JFc2dKTzJkdmhURkZESEp4THhnenhxeDdHTlFXWE8zWkhiOEJUWERFcWNKOEZ1c1lWeGVRSElYQjM1cy9PZ2xiOFM2SkhPME1tcVdxU3E1alpXZkJERFlnK0ZjNTlTdUU0dHNkT1JrOVduczVabTluSkxLUmpCOEtpOXJxZW1XMm44U1dkMkJKY1QzMXdFZ0VSWnBjN0FEQThmbFNxeml1TkwxbmhjNmh6b3cwNTdWcENDUUpTUmhTZTQwRW1tMTNTYmE5OVRtMUcyanVNZ2RtMGdCQlBjZkErK25DcTRza2dqMGU1MGJWdFFlMXVaSlhXZTNOaUhlUXMyenEyTXRuSU9lNnJCdG9SWjJVVURTczZ3eGhESS9VaFJqSitWQTJYZXZKYThTMldrbGNpZENYay9jWS9jSHg1Vy9DajlKWFA5THBOTnlucXk2ZjZ3Qnk3OC9QanI0WTdxaXp4NnZxK21hbHFWcnAwYkM3bkZ6Ynp0Y2Nyb3NSOWdCTWI5RDM3ODFPVnJxTVYxeGRaYWl3WklkUTBvSkV4VTRNbk1TVXozRVlOQXM0YjRwdGRSMHl6Vyt2N1VhbE1HekVDRkpQTVFCanh3QnRUN0hlVzAxeGNXOGN5Tk5iNDdaQjFUSXlNL0NxN3Q3aXp1ZlI3RG8wY2JTYXMvNnFFUXR6cTVmS3ZuR3d4dm5OUGR2Znc2THhOcmE2ZzdxOXpIQTBHSTJidGlJK1U4dUJ1YzkxQklQMDdwUXRvN2s2aGJpR1ZHZEhMWURLcHd4SHVKQXJtZUpORVdLS1E2cmFCSlNRaDdRYi9sOGFoMmdSaDI0TUVpQmdJN3RzTU00SUpJTkxCYnhmbzNqcjdGUDEwbVBZSGRIa2ZqdlFUa0hJeURrR2lrT2lrblFkT0p6bjFXTE9mOEFwZFFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZSbHVEcmZsNUZtRWtZVUtvbVZpUUFQN3JLUHdxVFVWWmRKWnN3YU53cGJhUGZldUxjU3lTQlpFUk9pSXJsU1FBY245Z2RTYWY2S0tpaWpyUlJRRkZId294NVVDRFM5TFRTeGRpT1Y1UFdibDdsdVlBY3BiR1FNZDIxTDZNZVZHRDRVQmsrTkZHRDRHakI4RFFGRkdENEdzNFBnYURHVFJtczRQZ2F4ZytCb0NpaWo0VUJSUjhLUGhRRkZHUEtqSGxRRkZHRDRHakI4RFFGRkdENEdqQjhEUUZGWndmQTFqQjhEUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVlQZ2FQaFFGRkZHQ1RqRzlBVVZua2I5MXZsUnl0KzYzeW9NVVZubGI5MXZsUmcrQitWQmlpakI4S3p5dCs2ZmxRWW9ySlVqcUNQZUtBckhvcFB3b01VVm5sYjkxdmxRVllkVkkrRkJpaXM0UGdmbFFBVDBCUHVGQmlpczhqZnVOOGpSeVA4QXVOOHFERkZaS3NPcWtlOFVjamZ1TjhxREZGWjVHL2NiNVVjai91TjhqUVlvclBJMzdyZktqbGI5MXZsUVlvclBLMzdwK1ZBQlBRRSs0VUdLS3p5dCs2M3lyRkFVVVVVRGJxVEVTeDRKR3g2ZStrWE8zN3pmT2xtcWZyWS84Sit0TitkOFVHNWtZayswM3pySE94L2FiNTFwbmV0U2FEY3lQbjd6Zk0xelozeHN6Zk0wWk5jM29NbVIvd0I5djRqWE15UC9BTjQvek5ZSnJVbnpvTU5KSisrMzhScmk4a20vMmoveEd0MkpwTzIxQmhwNWYrOGYrSTEzNFIxQTZrWTdqMmg5c3lZTEU3Q2tMdHYxeFhIZ2Vkb1dnanh6Q1Mra1FrZEIxTkJNN3gyRjNKN1J3Q05zK1ZjQzdkN0g1MTF2djdaSjhQcFNWajQwRzVkc2ZmYjUwZG8vZXpmT3RNNXJHZkhyUWJGMi9lYjUxb1pIejk5dm1heHpBSEhTdWJNRDMwR1drY2Z0dC9FYTBNci9BTDcvQU1SclJtM3JRbkZCc1paTWdjN2Z4R3VUelNEOXQvNGpRVzNyaTVvTlhta0EybGYrSTA2Y015TStxeWd1N0FRbnFTZjJoVExLZHMwNjhLSE9yVC81UFgvaUZBNE5JMlQ3UjZudnJIYXNQMm0rZEkzdVZEdm54SXJtYnRSM2lnY1JNM1RtYjUxbnRXL2ZiNTAwSFVZMUpIT3VSNG11YjZxbU5uWCtJVUQwWjNEWUxIR091YXdidmw2c2ZuVU4xRGlxMXNjbWFkVngzYzFNNDlJZWx6U2RuNnlBZk5xQ2YzZXNyYnFUemtudXFQM25GRndTUWtoSHVxTlhYRWxzOHFabVRzMzJEODJ3OTlJNU5Sc1pFa2NYMGFoY2tzUEx6OGFDUVcrdTZycWx6TGE2ZElKWm93REp6UHlyR1BNK1BsMXAxZy9TZk5PdDVxMGtUUTRMZGlBRkhtYzVxc0xUaTZiaEpCNnRINjI5eXJPc3pleUQvZS9HbUhVdUplSWJxNmFTU1M1UmdRU2U3STZIcFFYeHhScVY3b2NWcmNXY3N6cVVWbVNZaGxrQnh2dHZtbDNGRnk3ZWp2VVoxTEkvWnFSZ2tGZmJUYk5lZmh4VnhOcU4zSGMzZDllMzB3MjdObDJLZzVIZGo4S3Q1dFJ2TlU5Q21xM1Y3RDJOd1NReWs1eGgwL0dncW1hOHVocTh5aTl1VlJsQkdKbXh0OGFjOU92YmlPL1F0ZTNQSVJnODBySGMvR21KNVErcDI1WWMzUEVSdjFHS2NZbUNUeHR5SFBmZ1p6UUxkZXVydjlKVzBrZDVjc25aNC9YTU53VDRHckQwS0dhNnRyS2RwcHNQR3JIMno0ZStxMDFRbmxnd0NBR0lxenVDcHUwNGV0WE8rRTVDZWJPNFAvT2dsOHp4aUdPRnBDQzU1VkcrNXhucjhLcjdpeTJraTAvVXBVdnJxUDdGOHhpVEFKV1JRTURyakdjNzljVk43bXpudVJic3NUa0pNc2dJSFVqT0tZT0w5TmRyYWVOWXBoUExieW9pSW85dGh5bFYzQlBlZW1LQnI5RGR4SkpmYXJienlTeUV3Q1JTN2xzZHhHNTg2ZXVJN0N3dXRPbnVuRWd2WUxkbGlsRTdyZ0Rmb0RqeDZpbUQwVlc5M1k2enJFTWtiMjg2V1dNU2o3amMzZUtiTlZ0K0pGdG5lNTE3dG9TcEx4cGJnQWp3ejNVRFhwZGxkYXZxTUtHNHVKSTRvSkpHZ2E0ZE8xYktxTWtIb001cDhzMy9BS05tNGp1N3E1Z2dlUldRYzdTdEo3SUpVRTl3T2ZjTVo4YWplZ2F1TksxKzBGeElrY0VzVXFTTzdZQzQ1V0J6OEtjK09MUkxvMmVxMmM0bHQrVHNuTVc0eHpaRGVlYzQrVkJwcVhGa3BkaGJ6eXhZSjVGV1J1WWZIcDE4cWUvU1ZkM0k5SEhDY3l6VFJ5eU1wY3JLUVQ5ajNrSGVvQnlXNGtoY082QlR6TXJzRHlONDV4NUQzVk92U1NESjZOT0Q4a2trcGtucitwb0twdWI2K1ZWWVh0ME45L3QzL091OXRxVjdsVk43Y2tmNTcvblNmVUVUMUl5STJTa25LK0QwTmJSMkY0dW5SNmkxdko2bThuWnJNUjdKWWRSbnhvSDIxMWJVN1FPOXRxVjFFN3FWYmxsSnlwN3R6VGRjMzk2Y2tYdDF6WkhTZHQveG9pbEhZRGZwMXBIZGtOYnRuQjNIWHVvRjFyZGFnQzZTM04ydTNScG4yL0dzVFhsNHVDdDdjK1gyN2ZuU2ZRVlNXNVpaV2s3SUp6UHlBRmdNanBuclc5OHFMSTVoNSt5NWp5bDhaeDU0b085dHFOK2poeGUzSUtuS250VzJQZDMxS1JkU1hzU1gwTnhPZ2ZhV05aWDVZNVIxVWI5RDk0ZThqdXFGcElBdU5zK2RQWEQrcFIyRjhlM2FRV2N3NVprWHc3bUhtcDN4M2pidm9KYmFUM01EUlN0Y1RFZy90U3NmUHhxVmVtYTN1SDRTc2J5MW1sUnUxUldhTnl2VldJNmVkZDdQaHlEVkVpVG5WWmNZWWo5dndPZmRpczhjelQzR2cyL0RyV3J0Y0NOSnUxWmgreVN1QVBFanZvS2E0VTlmSEYyamM5NWNsUFhvUXl0T3h5T2NkUm12VXg2bXFRNFc0V2doMXF3bHVVbldlTzRSMVZtQzRJWUhjWS9uVjMwQlJSUlFOV3Jmcll2OEordE4yYWNkVy9XeGY0VDlhYkdvTWs3MXJ6WXJESEcrRFRGeEp4SEhvTm9za2tMdUh5QXk0d01VRDR6aXVaa3FwWDlLOTdISi9aN1J4MDNMQ2xOaDZXNFRJVjFHekNvVHMwQkpJK0JvTE5MZDlhTXh4MDJxUGFmeGxvdW9SSzZYcUt6ZnNObm1Id3BiK25OTnovYkkva2Z5b0hFbmF1RDBRM1VWMUVKWUpCSWhKQUkyNlZpUTBDVnp2aytOTE9BMkhxeXNla2wzS1ViOTRaNmp5cGoxMStUVGp1d1ZwRVZzSEhzbGdDS2t2REtCSnJlTlJoVmtPQjRiVUQzcUcxNUo4UHBTVW1sVi93RDJ5VDRmU2tob05RYTVUVGlDSjVDQ1FnemdkVFhUdjZWRk9OZFRGcHBndFJLWTN1VHlsaG5PUERieG9HRFdQU1JQYjNVaTJscUJHdTMyM1hQZjBwRkg2VkpTeW1TeWo1TSsxZzc0cUtYMXZEMlRNSCtZSk5Na2lvaWZmR2ZlYUM3ZE40MzBuVTVZNG8zWkpIemtQc0YyOGFrQ3lMSW9aR0RBOUNEWG0rRzRFYjVFcFUrSXF6dUJlSlJOYnpSMzE2QXNTaFkxT2ZuUVdFYTVPYXlraVNJcm9RVllBZ2p2clYrbEFua08xTHVESGVYaU8rTE9lUklBaXAveERKcEJKMHBad1IvMWoxTGJmc3gvK1FvRU05eTNhdnYrMGZyWEF6dTNmVGhQYXFKWC93QVI3dk91WXRvejF6OHFDQmErNS9TOHA3K1ZmcFVZMWpXVTArRXFwQm1ZWVVlRlRUaUMyUmRZbEFIUkY3dktxZzE2WnBOVG15YzRZZ2VWQWludTVaNUdlU1FsajFyZ0pDRDEzcFZZNlpQZnY3SUtvT3JHbiszNGJ0MEE3VExIem9JK2wwVlhCWThnT1N0U2ZUZUsyc2JVMjVnV2ExQTVsVmtCNVQ0MG9UaHV4ZGQ0K3ZoVzAzQ1RXMWxMTmJQekVEbUtONGVGWnl5OVhidytMOG1WM3hERGZUeWFuYytzRkVSVDkxUnNBTytuMjBqa0UwYlhISzBJeHpLaTRKSGhudXFMeHl5SmNNSFhsd1NDbmNLbWR1QklxTUNNRUN0T1Y0dkIzMUtmUnA5TVNMUzlNbXRieklMeXl6OW9wWHZITFV2MGRKbjlDR3NKSVVaek80SEt2S01jMGRRUlV3d3FmMlE1ZlFwckJIL2ZzZjhBMXgwUlY4Mm44aVcwalN4UWhIR1dkOXNIR054bWxDdU9ibDV3V1VuSjVlbEtOVFR0dERsbnhnUmNyYmVSeHZTT0VjLzNRY0FLVGdiRE85QXRuaWdsakwzSWtaWS9iUUkyTXQ1bnVGU3JTdFkxQzM0YWdzckJrdG1lY3pDU1JNcXVEakJKM09kc1kyNjFybzBPbmFUYlI2anFNQ1hEU1k3TzFLOHdPUDJpTzgrL2FwTnhYYmFYcmx2cDV0ZFNndEpvTVJzZ1FxRlhPY0FBYlk4S0NUYVJOZlhIQUthaGV4T05RZTM5dU1ObGNnNHlnN2dSdlNUakRTVTFPUWFmRXBTTmNaNUNRRkJVOVFPNDcvaFdxY1k2VG85dERwY1YzQklxUUJGREJ0Z1BJQ212V09KclM3N1NTMXZTSGxUSmVGQ3JOZ2JaUGRqZjUwRGI2T3JDYlMrSUxwR0VmYVBFNkdEbXc0UU9DR0k2WVB6MzZVbDF5V2U3bmx0b05QbWtjZG9nVmNEYmY2YlVxNEhuczlKdm52NysraVQxaUpvaXhKTGgyd2NIYnhGT1NUaTltdW9OT2pWaXhmTEp1OG96Z25KeHQzWUhrYUN2WHM3YlM5Y2dWclUzVitFUE5JUDFNQUtBNHdSN1RlZlFlZFMyR3dUVmJOOUpFVTBjMTRXajdjcjdJQklJT2V1QVBLbld5NFgxTFZManRncVF4TW5MMmpuYndJeDM5S2UrSU5HL1JIRGQ5ZTIxMUt0eEJiczZka2lvZVlEYkJHNCt0QkhyYjBNMjZ4cXI2cEtjOVNJODkvY1BuU0QwdjZkSHBmQnZEK20yNVl4VzF4MktGdXBDeEVETk1jTjdmUmNzOHVwNmpNN0wwbnZaR0ErR2FkL1NneGw5SDNERHNTeGFSU1NTU1Q5bDQ5YUNCMmQvcGIraXkvMGk0ZFUxT0NjTWlIN3o1Y0VGZmhrZkNtS0hUWTVMS0oxSlZtVUh5cHkxS09IOUR2eUFoeVl5YzV4MXJ0cDl1VFlRbkczTDNEem9HWDFlNmpRcmdPdmlLMHVVQnM4R1Q3Vmo3VVpVZ3JqdnowTldHbkRVYzJqTmNLd0VnT2ZlS2grcHJidlp1Qk1uTXFjd3dPNEhmZWc1OE1SdzV2OEF0V0MvN01lVFBlZVphMjFhSUpaaVJWMkw0NjF3ME80aEVWeUdtNUhiQzlPNy9RcGJxNndMb2lOMnZNL2Jia0gyY1lQZGpyOGFCdm5OcGNOYmVvd1N4dVVXTjBhVHRESkpucXV3d1BMZjMwT1d0eVZsVXF3T0dCR0NwSGlLSWpCQ3RzeVM4a29ZU2xsRytPdXhQUStGT0VrUDZVdFpQVitTWm1PWkpNYjh4OGM3NHgxTkJabm81MXUzaXRJYkc0dUlrZU1oNE9ZNE9DU1N1ZnhIdk5TdmpmVTdLM3RiTFZaQVhnQk1KQ1k1c25CSFh1MmFvYnc3Y2FGYldkcXNlaXlYVnpnTEpOT1ZTTmlPL09jNEh1M3dLbEVXcld1c3ZkMk54cE5vOGNaNW93NkNRRTQyM1B2T052SHBRTVdpOGM2TE5yRmxaTGFYWWtrbVNOQ1FtQXhJQXp2NTFhOVJ2VFlkQVRzNDR0THM0cm1KdGliWkFTZWJBS25IamlwSlFGRkZGQTA2dit0aUhkeW42MDFuNDA2YXgrdGkvd0FKK3ROWjZVR2puQnFyT0xZN2pXWmJ1ZEZra2lqMlJjN0lOaCtQV3JRbHh5Tm53cU5haERIRm9WMDBhY29lUEorWW9LUHU5TmxqY0ZsSThhUXZBUTJNR3BsZmhSTVJqclRQUEd2TWRobWdhTGQ1YmFaSkVZbzQ2RVZaa0VRR254UzlvT1lnYlp5Zm5VRWEzN1Fxd1haVHVlNFZMTkpuYWF3UlMyZXo5bkdUaXBlK0hYSDFtTnVTd09ITS9vWlA4eC9yVGk0ODZidUhCL1V5ZjQyK3RPTGdFSGI4YXJrWmRmWG0wcVVEWUJsT2Zjd3FVY040OVloem5QYS95cU5hK0IraHJueVhQeXFSOE5NUFc0UVJqRDVIbnRRUGQvajF1WFBYYjZVa2FsZC8vYkpQaDlLUm1nNW5yNVZEZU1vbzNFYmxjdXJydjhEVXlZVlgvSEYzSmFLNmtBa3lLd2J3SEsyMUJGTlFSVEdBUjVWSDdxM2pPNFhwV2JqV3BYY3h0SW1PblRGSTU5UUlJRFkzNmVZb05UYnFWSVZjazA4NkhCNm5kbFJKbm5UZGZBMHpRWGg1eElGd282SFBmVGhZVHl5YXBEZ0VnN2RlZ3JQMTEvV1lYYzVxNzdMK3dXMytVdjBGZEdyU3lIOVgyMytVdjBGZFdyVGtUUDVVcjRMMjRuMUlkM1lLZnhGSlpBQUNLWGNJUXNuRTE3SmoyWHRoZy84QUVLQjN2ckR0T2FXSmR4MVVkL25UTTBYS2NkL2hVbHM3dUM5amFTM2NNQXhVK0lOTWVrb3QzZFhuYW5PUHUrV1NhQ3VlTWJnV2wxZXpuYnM0VkkrVlZCWldqNnZxYkFraGM4OGpmSCtkVzU2U28xUnRUUnQyRUM0OStCVmU4TVFGTE9hWURMTytBZklmNk5BN0pIRmJ4aUtKUXFyMHhRWHlOcXkzS28zTzljeTRCMm9mNkxiWm43Uk1iYmpmd3A3am5rdVZWWlF2VWpQWEpxT1BxNjZkQVVtaFBpcHlDQ2ZFVnpzdUpBSkVMQWhBZXBGWW43WGw2TTkrUEgxbDc3YWNUYUY2dklidUpQWmMrMWl0ZEtjcEdJMk9lWGRUVTRTTzMxelJ5Z2JabDYrQnFMWHVpM1duWE1sbzY5bmRSdHlGVDQ3WVBoaXR2T1VEWnMvT3JDMGtjL29jMVVZNXN6UHQvd0FVZFFFOEtjWDIyR3VMYlR5V3dBbzFDSG1PU0FOdWJ6RldOQnBkOXBmb2gxVzF2b1ZpdURJWDVCSXNnd1dqNzFKSGNhQ0NROGhpbXQ1RVU5dEhnZ0FOdmpZSDYwaHRsWkpaYmRZZ29kVkRaSVBUd3g3dXRLWW9wU1F2WjgyUmhlWGJGS0xmVERhcEpQT3dSMlRFU25QdE4zWjhnTjZCWEU2cmFMRGRTaU9PTTg4Yk9jZXpqSkE5dzMrSGpTNWJxMjlabjVXSDN5YytOUjJTUDFobWt1dVdkMlVwbjkxY1l3TTlPcDZWR3A3MitzTHlkWUhWNGd4NWVja0hGQktOWGUyYWFXUVpEQkErVjd4bmNmS25xR2RKSVVhSWhrNWQ1Q05oL3dBK3RRcXdtTjFjb2JvODVaR0JDOUNRUWNWS2t2UnloVWpQZ2lLTmdLSFpWMlpGaXhtOWxSTUNHQzVMZTJOejhLZWVITlhXRFhKQ3FLd0VMY3VUdDFGUks1MUdVb1VrYkI4QWVuaUs3YUJMMnVxNFBzanN6amJPZW0xU2IyNjUrc2trN1hWbzJvUGZBOGlLcXFOZ293QlRocTFnZFMwaWF6OW5NcThwTFp4K0ZOWEMvSXRua1lDZzR5Y0NuMlc3aWpBQmRjOTI5VnlWamNlaTdWWkpTNjMxcmduY0htSkh1eUtSK2xpeWV4NEw0ZnNuWU0wRTNac3c2RWlPck11OVVhQjRZSWlzbHhPeFdOZTRZNnNmSVZYM3BrRGYwZDBydE1Pd3VtNWlCako3TTkxQlU5NHhmVG1EWXh5cjA4alVpNFhzbHV0T2pPZGxjanJVWVpKSnJjeFJSdTdFYktvejMxTCtGM0ZucEI3WnNFU09NQUZoM2Q0Mm9KYTVoZzAva1lBS1Y1QnNPdkthcWJWNDRrdFpsN1Vvd2hiS2pIdEU0cXo3aTFtdXRNTnd2TXNDRlpHZGxJQVVEYy9qVmNhdmJwQkZjckxLcXlzckRsRCs3RzFBaDRTdG9wa3Z6SkdyRkl3VnlPaDM2VXAxN21PbHFnZm1UdFZQSUVHM1hKejFQZlNmaGt6Slk2b1lPVHRERXZMemJqdnBMUE5xQ01UZFBHOGE3c3NhOVBPaXliNGpqSnBndW9wSm9yaHVhTUtFUmsrOE1maFVoNGV0clMyc3A1SmlWeVZPWGt3VzI2RlIxSHdwcjAvVWJaNVpVU1RITmpPVHNjZnUrWFNrNkxLbDdjckxNQVdZRU1CMUhsOUtrMjM1UFhpWW4rNzFGWGlNTnN5d0ZjNGtBNVd3VDVkUjEycEhhYXJjMnFSU2krbTNMS0ZTVTVqSndDVjMyUFRla2thSkVIYVhMQnp5L2YzQUh1N3FTdGFNSi9zeUFHR00vbWFybW12RFdzWE12RUduUXlYYnVHdm9seXpFNUhOdjhNbjVtdlFaNjE1ZjRXQ3J4WG9LQXZuMXVFNEorOTdZMzkxZW9EMU5BVVVVVURUckg2MkwvQ2ZyVFVUVHJySDYyTC9DZnJUVXd4UUl0UldXU3htV0VrU0ViWUdTZktxNzRrMVM4R2t5aFkzNU96d0RHZGh2MzFackRQeHFBY1MyeXRwdDdseWloU2NmSHBRVmFsMWMzSmZMTWVYR1NhUXlYa3BrSUdlYnBpbnEwQ1IyczdrQUsyVlhJd1dIalRWSENyM1piZnN3Y2xnTTcrRlMzVFdHRnp5bU1LTGU1bWloQ2xYVm5HZCtoSGpVaTRhU1QxT1IyUHNGdVZjL2pVZDUxa2taZ05pZHM5d3FiV0Z1TFd5aWhHZGh2NytwcFA4QUxYa3ZPcGVJblhEbi93QW1UL01mNjA0UG1rSERnL3FaUDh4L3JUaTQ4cXJtUVhsdWwxYnlRU1o1SkY1VGpyU2pnNzF1SFdPd3U1VmRReTlrNEdPYlk3ZStzU1lBeWVncmh3YWJxOTE2RyttQ3BBMjhVWWJQS044SDNtZ21kK00za253K2xJenZTMisvdGtudytsSW1vT2JiL09vVHg5RHoyMXN3d0NYNVNEM2pCcWJFVkVlT284NlpieWZ1ellQdXdhQ3BGdGdOVXdRcnVQYTZEQUhpYWJkVVFQZU1VR1FUZ0FkMVBmWnZHMDdySHpFa2d0bW1zeEdOMm5seWNiRHZ6VXQwNmVQRDN5MThjWXdVSFlaS3FQdkE3L0tuN2g2MTVwNWJrOUVYa1gzMHdSNTY3NVltcFp3OWhkT1lramR6dFNNNTVicTJyRWYxZmJmNVNmUVYwYXVka2Y2dnR1bjZwZm9LNnRWWkozL0duYmhUSDZVbUdSbnNmSCs4S2EzSGZTcmhZSCtsc3V3UCt4SEgvd0M0dEF5MjF6Tlkza2trRGxUenQzN0hlcER3NjY4bHc1NnV5ajZtb3FrOFU4a2p3eXBJdk93SlE1M3lkcWxHZ3FGdEZrQjNNaHlQSUQvblFWcDZVVTdUVXJ5TWQ4YS9IMmFyMjB2R3R0SWlTSWUwek4wOTlXVngycXpjU3pSbjdwaVg2VkFiblRQVTE1WThsUVNWQjh4UU5EWDl6SEw5bzJhbU9pYVdkU3MzbktrcXE5UE05S2hpV1V0MWVySHVjdGpIY0JWdGFFSXJQVGpBTURtMk9Lemxma2Vqd1lTMzJ6NmlwYnd5QzVkWExzcXNjYzFTUGhxUzBtamUzblRuNXdSeTh2bDFwOTEvaG0wdWgyc1dFbDhRZGpVZHRiSzQwNmJrNWNNZjJsTldUVGpsbHU3U0Rodk9uMzBsc0hab1RuQ3QzVk52U1BweGg0Z3RicjJSRHFGcUZaOGZkZU1ESHpCcUk2TGFZWXU0KzBPNUpxMitOOU9GNVk2UWVVRVJ1UTJlNVNneWZ3cXN2UGx0YlNyeEhQYnlNeElrVGNucGxoVm84Q0dOdlF2cUpseUU5YWtKNW01dStQdnFEYWJFMXh4azVrUE1RVUJJNzhIWS9HcHp3REMwM29ZMUNOVGt0ZHlBRWp6am9HaDdxSWpGdGJFSCsva2ZnS2oycVBkUGU5bzB6Y3lrTUN4T1BEcCtGU2RkS241ajdjWUhRblAwcEJxV2dYRnlyTEVFWTQzekpnbnYvbFFJYkNkSlFWZmxEamZCTk11cVdLU3JkeVNGUnlTK3dQMmp2OVBHbldYU05Sc0U5WWtXSUZSMUVneVBjTyttcVNVU1EzQW1MTkwyNHk1TzVKUFNnVGN5Mm5ZQUV2bHVWU09vNXUvOEsyZ2ttVWRwMnMyRng3U3YwTkpya3lLNVNLUE12TUFpNDZHbGN4UlVTRkRubFBNZHZHczIvSGJ4NGNYTzhhS2tsYVpRN2tsaU1ibW5qaHNFYXEyQjFRay9NVXhXMmV5VlI1NzFJdUdVSDZTWTlBSXljNTY3aXRPVnU3dFlkdnEzcWtJR1NGVTdLUDUxdEh4SGJ0QVZOdkk4eFAzKzEyMzhzVXh6bjJTQ1Jqdnp2U05XNUVYT1NPdXd4UkQ3ZTZuTmMzVnJjMjhpcGMyejlwRVhQc0U5NGJHK0RTbjBnYWxheDhQYUxmYXBZcmNxODNNOEtQdGtwdmhxanNYTXhWczRIbjFweTlKYWtjR2FDdWRoSUFjOS93Qm5RUUxWOVQwaThSalkyVTF1a2dPQWhBWlI3LzhBbHZTL2htZms0WldJTitzdVpsQkhUWll6VVhXUEpBd1FEMys2cEhwMXJjdzJOcmJ5eVFXcUxMSTZ1RjVtT1ZYSktuWWpBOHFDNFlMZU81NFdTTnlNUFpZeDQrem1xRzFhTHQzYVNhYU5VS01VOFNUanA1YlZQYmFXNWx0cFlSTThpeFd2TWp1TWtaeUQ1YmtlSFNvSEpwOGpLVEoyYXNRTjg3azBDWFFZemIyMm9kbGx5aWNyN2JFNzlQREZKWnJlZHJScHBrTnVqamFVNWJPTnNZRzVwKzBxd0ZySERHcmMvcmpCV0lIUWNySEsvR3RMN1Q1N2lYKzBDUWdZSE4wMjIrbFp0NTA3WVkrdVB2OEE4UmkwampnWjRvb21ZY3h6STRCWnZjZTRId0ZUUGgvaEdQaXBiaWRMdHJVd0ZVdzBlZWJJelhIVDlEakJaN2libWJtMkVaK3BwVGROYzZkeUpZVDNFVVR1VEl5VEZTZHRodDg2MDRuNWZRNHR4R3p2ckJTTWRBSVQ4ZSt1VGVqVzF0OVN0SUJQTE0xMHhpRGxUaFFCbm1ZZE01STc2ajdhenFEanN6cVY0Y2VNNzQrdGQ3Vzl2WUFadlhibFd4OS90V3lQZDRkOUJNckwwYXBwR3RhZmVSM1NUU1IzRWJIQ2xSeWc1eGpKcTBxb0xTTld2cHVKOUxFbDdkU0sxN0NDcG1adHVZZGQrbFg2ZXRBVVVVVURUcTQrMmkvd242MDF0MU5PbXIvcm92OEFDZnJUUFBMSENwWnpqYWdEc0RVSzR1aHhZYWl2UU5IbGNmNjhhMTRxNDhYU1VFTm5HajNMOU9ZbkNqeDg2YmZXZFExYmc1dFR2cEF6VGh5Z1ZRb1ZRUVBxQ2FDRVhGdTdXeW96S01nZE5zVTBYQ1BDQkVHWEJ3VGdZSTY3VktIYnNiZHBHSHRnWlRJLzFtb3hKekdWM2JxeHpXZTd3N3orUERjN3JNZUF5NU9BU0tuU1hNTDdKS3JmOFZRRE9XQTdxMDFKR1V4U2dlMFJ5azFwd1h4dzI0T2lwdjhBOW8zMXB6WTdud3FydUNiNjhrMGRVam1iMkhJTy9qdlUxaTFDNVFEdHZhWG9jamNVRHV3NXRxMDRDY0ZMRWVBSS9FaXRJWmttNVhRN1Z4OUhzM01iTmM3Q1dSZmt4b0p0ZkgvYlpQZVBwU1EwdnVJRExleW5jS0NOL2dLYTlTbkZxamN0QWt2dFN0ckNKNUo1TUtpbG14NENxeDFuamR1STVFc0xTMDdLSU1aREk3WmJsQUk2ZDNXdCtPdFVZV0poRGUxT2VYUGwzMUh1R3JWVGFYdW9NRHpSc3NTanVPUVNmajdOQjJFWmRYWEdmZFRCcU1oYTRNU2hWUkdJQVVZQnFVVHNscEZJUUQycFBMeWtkQjQrN3pxTno1bmxKVUU0OHF6M1hmTCtQQ1l6dWtHUXE3VjJFODhkbklZcFdRcnY3SnJUMWFSNU1jcEg4NmQvMFMwVm82djk1a0xINVZwd08vQzNHT3BtV08wbW5hVWNuc2N4NllIU3A5YjYxSXdIYXB0anVxbk9IM0Z0cmRtejdBU0JXOXgycTRvTFJKR1pCOTVlbm5RT0Vkd2s0eWh6VHR3dC93QlpXYnU5VlA4QS9JdFF1R2Q0Sm1HY0ZXd1JVeDRQbEUydE00UC9BTk1lNysrdEJDTkUwK1RTN0o0SmVYdE8ya1p1WHpZMU9kS3hIcDhEZDVWaWZuVVB2NzVMUjNabEp6Tnk0SGlUaXBaWmN5NmRIL2tEYnpvSzk0cmtFbkU4elo2SW4wcU5YNHlkcWZPSTJ6eERjKzVmcFRUS25OSW0yY2tESGpUcFpOM1J2dG1oMCtLU2FRTjJyZEdBNkR3cnRaNjFjcmF1OXFxdElTQXNiSGwybzFXWkk0eEFxZ2pxRjhLWTRnOFYwcmMyQjE2OUt4anpkdlI1c3JoSjRwZWt2djhBVjU1OU50cHV3YUtRT1ZsVFBkaXRiQjF2Z3ZNUGJCcmxCZHpYRnVlMVpKQXV3QXJhR2FDMlpaMFhra0RxQ21ldTliZVpJYmVMc21Ia0t0ZmlxSzZmUkltdFFHWlFBUm54QUg4NnE3MlRHc21lbzdxdUtlNTdEU25tNUE2eFFoK1h2SkFGQlN5Y00zV2xjZkd6V09TNGxoc29IbWtSZGl4NW1QeUdCOEtkZUI3bHRKOUN1cFhJREZvN3FSaHk1VTdtTWZ6cVIzdXAzVjNxTWx6RlBOQUh4N0VjaHdNREZaNGllVzQ5RitybVZ5N25BeTMrTktDdGhyK29jN01zaXV1VGd1bWUrdTBYRTJvR1ZWS1FGU1J6Zlo0eitOTWZPVzVjWkI1Um5Qald3a0FZQWpjQTlQR2drdHlXdVk1T1pzdVZiQXgwMnFFU1pqZTZpbldYTEVoQ2k1S3NEa1o5MVRMTE5HVzJ4eWcrT0Q0VkhaazdiVUpqSm5rRWhMRUR6cGJydGNjZmE2Y3dIa1QxaHhIa2NwM1hxZkh5TzFKMXM0MllBN0h4cFhLVWVRSkVDVVFZQjhhNWVJT2MxbVQ2NitXLzFuVGVLQkkxeHpad2NtbjdoMWsvU1RiNCt4YjZpbU9Od1VPMk1lRk9tZzUvU0xMak9ZaWVubUswNHBQZDlwY1FjdHVzYk5rZnJISTI3KzZ0QUpBUGI1U09tT3VhNXU3SS9Mc0FlN082MWxaWFZVQXdSbnczRkIzaTVvOEJJMDh5Um40VXU5STREY0ZjUDViQzg0SlAvbDAzd3VDZ0hMN1pPY0grVk9ucEpVRGd6UTR4SExJeGZDcEdoWmllejhQem9LdGdRTklNN2o5bW5hM203RndGQmRzNUJidUoyTzFJTFcxMUNXUm1PbDNNS29Nbm5YZmJ2cFhHUzBweDdJRGJzZWdvSFhTcDU1cjZmbmx5UkNNQmp0ako2Q200R0tLTUhtNTJDKzI3SEdQZFduTjZ2ZW1XS1J1UVF1cEo3OXRxajl0cURNcW00VWNvR3h5Y1pxVzZqV0dIdGxvL1RYWHFjVU1jTW1TaHlHSTNHTnR2S214N3VSMzJjazlkanRTV1M3ZTVQYUhBeUJzS3hHeHlvT05qM2Y2M3FTYTdiOHVXN3FkUktkTFZuaEJKSnlkcWxtbDhOUWE5WTNJbG5hSXE2Z0ZRRDNacUhXTjlIQkFGSXkzajRWTk9HYnFjV1YxTEpidXNIYUpsenN1Y2JiMXB5YlEraTJLS1VUbTllV01uY05GZ0g4YVhhandqcDB0bjZ2RTFyYnlNTUJzTVQzK2RLZEVuWFhkY3ZiU2VROWxib3JSVy9OZ01Ebm1ZK1BkN3FrRnZwRU50S3hNazl3enRrTEkyUXZ1SFFVRmU2VHdPbHRybG5jRFUyWm9MbEdLQzNJNXVWZ2NaejA4NnQzdnBMYlBod2lSQkZPZDhZUHVwVlFGRkZGQTNhb0FBcmtiaFNLZ2VzM2JoaXZON3FtdXV6Q0dOYzV4eU1mbFVBMXdOSHBrMXljZXhIbmZ4NWMwRlE4UVhSdWRadVhVN0tlVmZoVnEzVmlscHdwSHA4WVZUSGFZQ0h1SU9UOFNEVlY2TlpIVjlmdExVZ250NVJ6ZVF6ay9oVnY2dXZyZHNaL2FXTHRGTGN2WEJVQS9IMmFMTHE3VmxxMXc2ZllyOXhCN0pGTXpRTThZWVlESHhOV2ZxSEJGdmNNVEZQS2hYT2M0d2Z3cEphZWowdk1yVFRza1hMdVZJSkhsMHFTYVhQTzUzYUJhYnBKdVp2Yis2TjJJck92V2FycGtjcUFERG41ZEt0U3g0U3NBaEVVczRRSXo4MlZ5MlBoVFBxSENVRTNEWE9zc3hKU1U0T01aQjkxVmxHdlJ4Sm1hOHRpZnZSYzZEekIzL0FBcXhMbUlUYVBMY1JEMm84RnNlWGZWUmNQWEw2VnJsbE1qRUJaZ0c5eE9EVnhzeTJONkhVWnRMazhrcW5vcGJiUHUzb0dtMHVtaGRaQVRna1pBcFp3VE9MRFhyTFRwYzlwSmNTT2hBMlpXeVJqK2RNdHdodEw2VzF5ZnM1T1VlN2I4NmNOQzdTYmpEaDJSZDFodW1WaDRCa1A1VUZzM3NxeExudjYvaFVXMWhqTkp5QVpESXJaOTdFRDZVOTY2N0xDV1Q3eS96Rk1jTXhsa2FWUmtCVnhub1BaMno3aVNhQ25PT24vcldLMkJ6MmE1UGh2OEErMVBQRDFvZzRMdDFjQU5OZmRxYy90QUt5MUYrSlpEZWNUWGZaNWJNblpvRDEyMi9HclZ0TkV0cDdUUzdVODhjRUxsUFl4bmJidzh6VXMyMWpsNjNhRHo4MS9BR2NEbVhLQWp2eFRLMm0zQ3NRRXlmRVZZeThLMnlYdDliTE5NR2pKZGVuY2R4MDhLVmFid25ZM0Z4Mm5yRTVpWmViR1I3TzN1cEpxSmxsY3J1cS90ZE5XMllTU2dHUWRGRytQZlNtNFFpYVpjZElmcWFtdHZ3aGFTdVpqTk9VbGxFY2VDT2c2bnBXeWNKMlUrclh5R2E1NVVqeCt6NCs2cWluYisyTmhxUkFHQ09WeDhnYXR6VExzemFSWTZyRjFhTUNRZmhWZWNhUWlQVlZrakI1QWdRRTkrTnY1VkpPQk5RRXVoVFdya25zV3hrOUFEUVBHdEtrZDRzMFdPU2RBdzkvZlVoOUhrdmFhdGNlSFliZnhpb2pxTTJZRmladmFna0pIK0Uvd0R0VW45SERaMXFjZjhBNlhQL0FLMW9JbnJCTDNxeGdBZ08waitJOXJBL0hOV0V6Q0pKRjVsKzR2S3VSbkdLcjY0NVpkVHVEa0U5dXNYVHdiSit0VDdVWVkwRThySXBkQ1FqNDNBb0txMXVVdnJkd3hQZ052ZFhBWE5zbHE1TGp0VVBOaklCK0ZJdGRtWVhGOU1wWUZGMks5YzkxUUc4dW5hY2UwU3luZHM5YTU1YzMxajFlR1h4WS9sK3BMZUdhUzZKVWtrNzU4S1FlclN2S0FaVGttbHVuM0l1cmRKZjJpdUc5OUUwVEJ3M05qZXVrbW5tdHQ1cDZzTkZES015Uzh6WTZOakZhNmpwNzJlcFdrUWtaMGJHU3h6dm1uSFNXYnN3YzgzeDZVNFhWa1pKVXVEdnk3Z0dpRmtFNFdKVUo2REhTcmR1cHM2Sk9CbmxOdjMrNnFXdDNMU0VFWU9maFZ6VFdNbXBhSmVXU1N0RTh0cVVXVmVxa3IxK2xCR0VRTWVZSGFsV3VyemVqVFZWR01rLy93QjBxaDM0dTRvMFcvYTN1N21UbWpPQ3NneXB4NzZ0dlROY200azlDMnAzc2thUnlDUm95RTZIbFpOL3hvSzVueUlJK1Rvdk56TVc2QUhvSzR4eXJJd1lEQkIySnA0c2JSWjRnU0F5a25JWWVPS2NZOUd0MklMUktBTnhzQlFjYldUdFlJejNjdU1VMXpsb3BKeGtjenlIcDFJL2xVcWkwK0dQb3VCanBqYWtzdkRsdE5QSk9aWmdYSllnRVkrbFN6YmVHZnB0RmhrREkySGNLMkdDQnR2VWxYaHEyemd5VEtldTVINGJWbitqbHBnL2F6NDk0L0txd2krTUVuYnc2VTZhRDdWK3c1aUIyYmRCbndwMEhEbHBqUGJ6bkhka2JmaFhXMzBtQ3dtTWtja2pFakJERVlIVHdIamdVRzU1QTQ1ZVlkK2NaLzEvNzFvWHlwSVVxMiszVTQvMXY4YTZFRmlBRDdQZUNEbnIxcldRTUdIczV5TTV4OGYrVkIwaWN4bkNIZGpndVJ6ZjZIV3BoeEhJVHdsb3pqbVVFTGtFZjNPK29jaFVmWmxTTTVHMndQOEFyTlM3aVovL0FJUzBRZ2s4d0h4OWlnaXF1eXVHRGtNT2hCNmU2bSsvc0JNcGtoQUVneVNnR0ZmM2VCK3RLUXg5bzVHMk90YjU1d1ZCTzQ2MEVNdkpwWU96RXZNbVg1R1R2QUlOTWswbkxDa0ErNkFDU0RuTlQvVWRKZzFPTUpKN0VpYkNWUnY3ajVWRkp1RzVMZVF4dXpIQjJaUnN3OFJ0VXMyNlk1K3NzbjAyeEg3TVkrbEtJbFBObk85TzF0dy9IMmE4enljM2Z1TUNsUTBLM0EvV3krZU1WWE14dkt5cGhUVDNvZDlPdHRNaG5rS0YxeWhZNE8zaFhHYlNiWkdSV21sSE41ak5LYld5aXQxSVdTVGxmY2x0K2c4cUJ6aXVDMDZNWGtqbUI5bVdKK1YxejRFVllPajYzclN3a3oyMFdvUkQ3clJuc3BjWUdCeS9kUGZ2a0dxNnQzQ01DUU4vTDhLbk9nM2I4MjhtQXdJVXQreHQzZTdOQktkTjRnMC9VSkNycWJTNVJnaGh1MUtPR1BRTG5aaWZJbW5xbWkzbGpOd1N5eFNGbkdNWVBUdjkrNHAzb0NpaWlnalhFNnMweWdrOGpXNVhIbnpqUDRFMUJlUDUwc3VHVEVuM3BUZ0RmcWVwK1cxVDdYNWd1b1dzTHFBanhzUTU3am5wK0ZWaDZVNUdTMjA2Qm05cG1MRWVBd2NEOGFDTytqNnhNbXVldG5ZUWxVSGp6TWNmVE5XZXRzSDBhL2pQVkdWdmhrMUZ2UjVZTkhwOXRJdy9YenRQMDZCUnlqOFFhbjBVSVByY0lHZTFqUHpGQXhMUDJ0cmJ1K2VTWmV4Y2o5bHh0ekQ4S2NYak52dytrU2pNa2poRlB2cHFzMUUybjNsc3g5cU05b244eFR2cGg5ZnQ3UW5jdzdON3gzMEdVajlXdHJ0QVFSRGJpUElIei9HbXlmN0hoS054MWRtSHpOUFYwT1RUTlJrd1J6RHFmZUthTlZqeHduQUUvWWt5Y1VGR2FuQzFycVZ4R2RzT1NOL0hjZldyU2p2VGU2SGFOekQ3V0JlVnozUGpwOHh0NTFBdUw3VXhYc055QnRNbUNmTmFVY1AzNU9pdkF6WUNTSGxiUFR2K3RCSUh1dldyMkdadnZPTXllOWRqOUtmZURnVHhMWXR1VjdiYnkyTlEvVG05WXVwQzJ3UUZ2aWV2MHFjOEZBSFdiWTQyN1lFZkkwRmc2bmd4emc3N0FnZUpHLzhBS283YjRPa3U0VDdNb1dZamJtR09ueDZlNFV1NGgxU08ya25RRWN5akh4d0RUUGFYZ3V1Rkw0aHdJNHc0YkdOdHM0OHNENjBGUDhQeG05NHZ0cEpQYkFtTXplNFpQNVZkVm5iOW5ZV2hJM0I3VDRtcXo5R3RpTG5VYjJZNHlrS3hqL2pPK1BsVnZYRVlqVUFEQUEyOHFCazFGdlUrSlVtNkpLTW56RFZ0WU42cGVYbG9NZTE5ejNWbmlHTXZhMjF5QWVkY0thNE0vTk5hWGlBL2RBZWdmSUxZUm16aC9jR2NEdXBCWVplODFOaDNoZ1BoVDVibFpabzVWNzk4MHk2WkdSZTNhSHZsYjhhQ3ErTGJjU2FkSytEenhTQnMvR21UZy9VUFZkUW50MlljazBlNDh4MHFaNjViQ1VYMXZnRG1EZGZMSnF0Tk1mc05YakIyM0ttZ21WNWRNOHp4ZysyUUZCODg3VllQbzJCL1R0enpkZlZnUC9XdFZiTElFMUszTEhibUI2MWFYbzBmdE9JTHR1NHdELzhBTmFDS2FReVhXdDJ1UnRQZkZpUEhMWStnRlRuV3JneGFaS3g2NEpOVjd3UGROZmEvYnRLQUNzMDJBUDdwYkIvQ3BWeFBkbjlEdTJjY3lFMEZPYTlmOHR0S0FEenMzS0NQUC8ycUdrbGpudk5URFVMZUs4dG93eFZUejh6bnZJR2FRTERaMjQ1WUlBVy9mZmNtcEpJM2xuY3BKZmpscFRHM3NXbExjcDVzZ0h2cGNiZ3lFQW5wVGZmTWlSY29VYzNmU3pUcmZ0OU9TNFJBNTVpckR3eFZZT09tYW0xck1WNXRtNjFNbDFOWHNobjkzQkhmVUJFUDJvNW9nUGhVczBWclVxaXZiSVNUam1id29GdG8yL01Ua0hwVjU2ZmR4UVdEVFNON0tybmYzYjFVNlBvNndxb3RvUnlqZnI3UnJoclBHTTM2UDlVZ2ZCWVlPTzRlRkJIT0kxdGRVbXVXa1FNclNzeW53R1NhbWZCVmcwdm9QMVcwdCtkajZ6TVJqcnNVWS9TcXd2NzFsanhra21yajlGQTUvUmpjcXgyZTdtQko4d2dvSXBwRUhKcHNkeE12SzBqZlpMayswcDN6VHNwQU93N2hqek5NcVN1bW9pemtsYVZJQ1ZRRTdBS2U2bjhLckJteGhldWU3RkJqN294Z2sxaFpjdnlZSkFIVUdzeVJNRUxad2NaNVNLNTRPRHNjK1kvblFkK2R1aUhiNTFnRDJjWVB4RzljVWZBMlBYNFYwVml3emdzZS9Cb0FuR1FUeTR6Zy93QXF3VGhCdm5JNm5yOHFDZmNNYmN0YUFnRTV4bkI2MEdnNU04ekFnWS8wUGxYTW9TZnZnSGJyMThmeStWZE9YMmxBR1d5ZDY1OHc2a0gzWW9NdkNjOHlqR01mRDRWTHVJRlljSTZHR1BQeXF2TnQ5NzdPb2h6OXhiYnI0VktlSjc0V1hDL0RuTS9La3pDTWhoMSt6L0NnaXVPYlBOakhjTWRhMC9heHk4dWVnOGE3elFZNW5CQ2dmUEZKK1ZTVkkzeDMwR1ZsSDNOeGtlRmRTQThaamtCZFNjanhYekZDQk00T0NCMXdkeldIQWRSM1p4MzBDQ2Uza3R4a01YakoyZm9QY2ZDa3JTa0hMTm5hbmpsSlU1WEtzTjg5Q0tSWGVuaFVhYTN6MmY3UzR5VndOL2hRSkJjY25LTUFIdXJET25VYjRwT010c3B3TTV6L0FLOHEyRGN2VEhUT1Nlb0hoUUxyTzJrbmtRUSswVGpZSDRWTXRJMHk0aWdMU3pyR0NRQ3JibkgralVRc3B1eVFnQTV4MXowMzYvaFRzTlRsN1BzNHBlVlJsY0U5VHRRV0ZhV2lKTmJzMDZIMmc3RUlSa2dnZnpxUVZWT2hheGQvcExUb2VkaWhrVUU1OFdXcldvQ2lpaWdoM0Z0NExmWDlJUnNGU0dJQjhTY2Z6cXR2U3dXL1M5Z0dPY3dNMk0vM3F1KzYwdXh2YmlHNHVyV09hYUQ5VTdqZFBkU0xVT0ZOQjFhVkpOUTBtMnVYUmVWV2tCSkF6bkhXZ2luQittbTAwVzBSd2N4VzZyN3MrMGZ4YW5sWEVWekdjYlp3YWtVZGpheElFamdSVkFBQUE4TmhXRHA5bVRrMjZFMEZkbFRZNjJ5SFpYT0Q3alMvU3Y4QVk3MldJNTVHSklQdnFZVGFOcHR4SUpKcktKM0hSaURtdGhwVmdHREMwaXlPL0JvR1BWSS82a3ZQN3cvblRYY0tINFptSVhPQUdGVFY3TzJraU1Ud295SHFwNkd1UTBxd0Z1YmNXa2ZZa1lLWU9LRHoxeGRidE5wSWwzUFpPQUFPNFkzcU84T3lyL3ROdXgrOE9ZZWZqWHBtYmhIaDY0aWFLYlI3VjQyKzhwQndmeHBKRjZQZUVJSDU0dUhyRkd4aklWdnpvS0cwMlpvN3U0UW5ydHZWaThHNUd0V0FBeURMa240R3B3dkF2Q3F1WFhRYk1NVGtubGI4NmNMWFFkS3NwVWt0ckNHSjBPVlpRY2o4YUN0ZU03a3J4UmZRSzJBM0psZkU4b29VVFdmQytyUWNvN0pyQ1YyYi93QzZRUjlLc2U2NGMwYTl2R3ZMblRiZVc0WWdtUmdja2dZSGY1Q3QzMEhTcExlV0JyQ0V4U3J5eUlRY01QQTcwRldlaVcwUHF0OWRzdjJaa1ZRM2p5Zy8vd0NoVmdTL2FsaFRwcDJoYVZwTnMxdnA5aERiUXMzT1VqQkFKOGV2a0tVK3BXMmM5Z21hQ0xUeENhMmt0bXpuSkswMGFhQ3lTVzdkVU93cWZtd3RHZm1OdWhieHJrbWs2ZkhJMGlXa1N1M1VnSGVnYU5ObTVVQ01jWTJGSkxST1RYTGxjZFJ6VkpsMCswUTVXM1FIcnRRTlB0Qk9aaGJwMnBHQzNmaWdxSFhDWXRWdUF3TzVZVlZHclF0WmF0SU1FZTJHRmVxcmpoelJycVF5VDZiYnlPM1ZtQnlmeHBCYzhBOEpYa25hWEhEOWxJL1RMS2Z6b1BQRjVNWHU3WmxCUE1QNVZhdm9tbVY5WnVWTEF5QzNHUjRlMnRUUmVCT0ZWWkdYUWJJR1A3cDVUdCtOTGRNNGMwYlJydVM3MDNUWUxXNGxYbGVTTUVGaG5PT3ZpQWFEejk2UGJpNFhpMlZDVjdPRkxsK200M1A1MDljZGE5RGFXeHRZMlZwaUNHVWZzOUt0Mno0SzRhMCs0ZTR0TkZ0SVpuQkRPaW5KQjY5L2ZYSzU0QjRUdkpXa3VkQXNwWFk1TE1HSkorZEI1WmVSekdNbmRxd3VVeXhIUVorTmVvditqamczL3dBTjJIOExmblFmUnp3YVFRZUhMREI2K3kzNTBIa3FWbmxiY2UrcFJ3NE96MDREbFB0WlA0MTZLLzZNK0NmL0FBenAvd0RDMzUwcGg0QzRUdDBDUmFCWklvNkFLMzUwSG5xUzM5ck9EV1VrbGpHRkdLOURuZ25oZzlkRHMvNFQrZFkvb053di91S3ovaFA1MEhuczNFaWpkalNOM1krMWs1ODY5SG5nVGhWdXVnMlIvd0NGdnpyVThBOEpucncvWmZ3dCtkQjVjdW5hV2MrVzFYbjZObU52Nko3aHlOMXZITy8rS09wWi93QkhQQjJjL3dCSExEK0Z2enAzczlDMHV3MDF0T3RMQ0dHelppelFvRHlrbkcvWHlIeW9LVTFGUmFjWVhLdi9BTnBLV0JBMnczaFQxRTNNb3gwWFlaNmJISDhxc3E0NFcwSzZuN2VmU3JhU1hBSE93T2NaejQxMFRoN1I0MTVWMDZBTDRZUGpueG9LemxZeUFuQjJIK3Mxd0xkWFpXejRuWWtlWXEwMjRkMFp1dW13SDRIODZ4L1J6UnM1L1JzR2NZNkg4NkNxbFp6azVPRDM0N3ZBVjNMbGM4cnRrZXlEamIzMVozOUc5Ri8zYkI4aitkQjRiMFU5ZE50K21PaC9PZ3E1bUhRNUoyMno4cTJKQzdnRW56cTBEdzVveElKMDIzeU44NFA1MWdjT2FNQmdhYkJqM0g4NkNyMkF4bkJ5ZkRwV2tudDU3Z1J1ZkNyVEhEZWlnQURUYmZBNmJIODZEdzNvcE9UcHR2OEFJL25RVk5saVNDMmNIT01lRk92cEhCSEFYRFJ6dXJxYy93RGwxWVo0YTBRbkoweTN6N2orZGRiN1F0SzFLemhzNzJ3aG50NGYxVWJnNFRiRzIvaFFVenBlcEhWTE5lWVlsanh6QURxT2xLRUdIOGo0VmFkdHdmdzdac1d0dEh0WWkyeEtnNy9qWFgrakdoNHgraTdmSHVQNTBGVTU1R0tnTVQxSUhkVzRKS2hnblRwdGpOV24vUmpRL3dEZGR2OEFJL25XMzlHOUcvM2JiL0kvblFWZW9WUGFiMmxHQmcvNjZWaU15eG9Xa0lEQmlWWkQxWFBzOWZ4cTB2Nk9hTi91MjMrUi9Pc0hoelJqMTAyMytSL09ncVc1MHRMbFRMYkJJNVd6elJqbzNtRDNlNm1ZeE1qbm5SZ1ZQdEJ0aU1WZW45SGRIMi9xMjMyOGorZGFTOE1hSE8vUExwZHM3WXhrZzUrdEJTcUtwQUJCSTZEQjdqWFJuWitYbUJHQ0Q0K05YSC9SUGgvL0FIUmEvd0FKL09nOEo2QWV1a1d2eVA1MEZWNk5NejY1cGlndG4xbU1IdysrS3UwOWFhSWVGOUNnbWptaTB1M1NTTmc2TUFjZ2pvZXRPOUFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUUZGRkZBVVVVVUJSUlJRRkZGRkFVVVVVQlJSUlFGRkZGQVVVVVVCUlJSUWYvL1omcXVvdDsgYWx0PSZxdW90O1lvdXIgYnJvd3NlciBkb2VzIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcywgc29ycnkmcXVvdDsvPg0KPGgzPlN0eWxlc2hlZXRzOjwvaDM+DQo8cD5UaGlzIG1vZHVsZSBhbHNvIHdvcmtzIHdpdGhpbiBzdHlsZXNoZWV0cywgaWYgdXNpbmcgdGhlIHtjbXNfc3R5bGVzaGVldH0gdGFnIGluIHlvdXIgcGFnZSB0ZW1wbGF0ZS4gIEJlY2F1c2UgdGhlIHNtYXJ0eSBzeW50YXggaXMgc2xpZ2h0bHkgZGlmZmVyZW50IGluc2lkZSB0aGUge2Ntc19zdHlsZXNoZWV0fSB0YWcgeW91IHV0aWxpemUgdGhlIG1vZHVsZSB1c2luZyB0aGUgW1sgYW5kIF1dIGRlbGltaXRlcnMuICBpLmU6IDxjb2RlIHN0eWxlPSZxdW90O2NvbG9yOiBibHVlOyZxdW90Oz5kaXYuaGVhZGVyIHsgYmFja2dyb3VuZDogdXJsKFtbQ0dTbWFydEltYWdlIHNyYz0mIzAzOTt1cGxvYWRzL3BpY3R1cmUuanBnJiMwMzk7IG5vdGFnPTFdXSk7IH08L2NvZGU+PC9wPg0KPHA+QmVjYXVzZSBzdHlsZXNoZWV0cyBhcmUgZ2VuZXJhdGVkIG9uIG1vZGlmaWNhdGlvbiBhbmQgc3RvcmVkIGluIHRoZSBmaWxlc3lzdGVtIHRoZXJlIGlzIG5vIHdheSB0byBkZXRlcm1pbmUgZHVyaW5nIHRoZSByZXF1ZXN0IHdoaWNoIGJyb3dzZXIgaXMgcmVxdWVzdGluZyB0aGUgc3R5bGVzaGVldCwgdGhlcmVmb3JlIGVtYmVkZGluZyB3aWxsIGJlIGRvbmUgc3RyaWN0bHkgYmFzZWQgdXBvbiB0aGUgcHJlc2Vuc2Ugb2YgdGhlIG5vZW1iZWQgcGFyYW1ldGVyLiAgSWYgeW91IGhhdmUgY2hvc2VuIHRvIGVtYmVkIGltYWdlcyBkaXJlY3RseSBpbnRvIHlvdXIgc3R5bGVzaGVldHMsIFlvdSBtYXkgbmVlZCB0byBhZGQgYWRkaXRpb25hbCBzdHlsZXNoZWV0IHN1cHBvcnQgZm9yIHRoZSBicm93c2VycyB0aGF0IGRvIG5vdCBzdXBwb3J0IGVtYmVkZGVkIGltYWdlcy4gIGkuZTogIElFNi48L3A+DQo8aDM+QXV0b21hdGljIFByb2Nlc3Npbmc8L2gzPg0KPHA+VGhpcyBtb2R1bGUgaW5jbHVkZXMgYSBzbWFydHkgYmxvY2sgdGFnIGNhbGxlZCA8Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e2Nnc2lfY29udmVydH08L2NvZGU+IHRoYXQgY2FuIHN1cnJvdW5kIGEgYmxvY2sgb2YgaHRtbCwgb3Igb3RoZXIgc21hcnR5IHRhZ3MgdG8gYWxsb3cgYXV0b21hdGljIGltYWdlIHByb2Nlc3NpbmcuICBUaGlzIHRhZyBjYW4gYmUgdXNlZCBsaWtlOiAoZm9yIGV4YW1wbGUpOjwvcD4NCjxwcmU+PGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntjZ3NpX2NvbnZlcnR9e2NvbnRlbnR9ey9jZ3NpX2NvbnZlcnR9PC9jb2RlPjwvcHJlPg0KPHA+VGhpcyB3aWxsIGFsbG93IHlvdXIgdXNlcnMgdG8gaW5jbHVkZSBpbWFnZXMgaW50byBwYWdlcyB1c2luZyB0aGUgbm9ybWFsIHd5c2l3eWcgdG9vbHMsIGFuZCB0byBoYXZlIHRoZW0gYXV0b21hdGljYWxseSBwcm9jZXNzZWQgYW5kIGVtYmVkZGVkIGludG8gdGhlIHBhZ2UgdXNpbmcgdGhlIG1hZ2ljIG9mIHtDR1NtYXJ0SW1hZ2V9LiBpLmU6IFNlZSB0aGUgZm9sbG93aW5nIGNvZGU6PC9wPg0KPHByZT48Y29kZSBzdHlsZT0mcXVvdDtjb2xvcjogYmx1ZTsmcXVvdDs+e2Nnc2lfY29udmVydCBmaWx0ZXJfZ3JheXNjYWxlPTEgZmlsdGVyX3dhdGVybWFyaz0xfXtjb250ZW50fXsvY2dzaV9jb252ZXJ0fTwvY29kZT48L3ByZT4NCjxwPlRoZSBhYm92ZSBjb2RlIHdpbGwgY2FwdHVyZSBhbGwgaW1hZ2UgdGFncywgYW5kIGNvbnZlcnQgdGhlbSB0byBncmF5c2NhbGUgYW5kIHRoZW4gYXBwbHkgdGhlIHdhdGVybWFyayAoYWNjb3JkaW5nIHRvIHRoZSBzZXR0aW5ncyBpbiB0aGUgQ0dFeHRlbnNpb25zIG1vZHVsZSkuICBBbGwgb2YgdGhlIHBhcmV0ZXJzIGF2YWlsYWJsZSB0byB0aGUgPGNvZGUgc3R5bGU9JnF1b3Q7Y29sb3I6IGJsdWU7JnF1b3Q7PntDR1NtYXJ0SW1hZ2V9PC9jb2RlPiB0YWcgYXJlIGF2YWlsYWJsZSB0byB0aGlzIHRhZyAoZm9yIGltYWdlIHNjYWxpbmcgZXRjLikuICBBZGRpdGlvbmFsbHksIHR3byBuZXcgcGFyYW1ldGVycyBoYXZlIGJlZW4gaW50cm9kdWNlZDogPHN0cm9uZz5tYXhfd2lkdGg8L3N0cm9uZz4gYW5kIDxzdHJvbmc+bWF4X2hlaWdodDwvc3Ryb25nPiB3aGljaCBjYW4gYmUgdXNlZCB0byBzZXQgYSBtYXhpbXVtIHNpemUgZm9yIGltYWdlcy4uPC9wPg0KPGRpdiBzdHlsZT0mcXVvdDttYXJnaW4tbGVmdDogM2VtOyZxdW90Oz48c3Ryb25nIHN0eWxlPSZxdW90O2NvbG9yOiByZWQ7JnF1b3Q7Pk5vdGU6PC9zdHJvbmc+DQo8cD5UaGlzIHRhZyBwYXJzZXMgdGhlIEhUTUwgY29udGVudCBiZXR3ZWVuIHRoZSBzdGFydCBhbmQgZW5kIHRhZ3MgdG8gZmluZCB0aGUgPGltZz4gdGFncy4gIEl0IHRoZW4gd2lsbCBvdXRwdXQgc3ludGFjdGljYWxseSB2YWxpZCBIVE1MIGZvciB0aGUgc3Vic2V0IG9mIGNvZGUgaXQgd2FzIHByb3ZpZGVkLiAgVGhlcmVmb3JlIGl0IGlzIGltcG9ydGFudCB0aGF0IHRoZSBzbmlwcGV0IG9mIEhUTUwgcGFzc2VkIHRvIHRoaXMgdGFnIGJlIGludGFjdCBhbmQgYXMgY2xvc2UgdG8gdmFsaWQgYXMgcG9zc2libGUuICA8c3Ryb25nPlVzZSB3aXRoIGNhdXRpb24uPC9zdHJvbmc+DQo8L2Rpdj4NCjxoMz5TdXBwb3J0PC9oMz4NCjxwPlRoaXMgbW9kdWxlIGRvZXMgbm90IGluY2x1ZGUgY29tbWVyY2lhbCBzdXBwb3J0LiBIb3dldmVyLCB0aGVyZSBhcmUgYSBudW1iZXIgb2YgcmVzb3VyY2VzIGF2YWlsYWJsZSB0byBoZWxwIHlvdSB3aXRoIGl0OjwvcD4NCjx1bD4NCjxsaT5Gb3IgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoaXMgbW9kdWxlLCBGQVFzLCBvciB0byBmaWxlIGEgQnVnIFJlcG9ydCBvciBidXkgY29tbWVyY2lhbCBzdXBwb3J0LCBwbGVhc2UgdmlzaXQgY2FsZ3V5JiMwMzk7cw0KbW9kdWxlIGhvbWVwYWdlIGF0IDxhIGhyZWY9Imh0dHA6Ly9jYWxndXkxMDAwLmNvbSI+Y2FsZ3V5MTAwMC5jb208L2E+LjwvbGk+DQo8bGk+QWRkaXRpb25hbCBkaXNjdXNzaW9uIG9mIHRoaXMgbW9kdWxlIG1heSBhbHNvIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJodHRwOi8vZm9ydW0uY21zbWFkZXNpbXBsZS5vcmciPkNNUyBNYWRlIFNpbXBsZSBGb3J1bXM8L2E+LjwvbGk+DQo8bGk+VGhlIGF1dGhvciwgY2FsZ3V5MTAwMCwgY2FuIG9mdGVuIGJlIGZvdW5kIGluIHRoZSA8YSBocmVmPSJpcmM6Ly9pcmMuZnJlZW5vZGUubmV0LyNjbXMiPkNNUyBJUkMgQ2hhbm5lbDwvYT4uPC9saT4NCjxsaT5MYXN0bHksIHlvdSBtYXkgaGF2ZSBzb21lIHN1Y2Nlc3MgZW1haWxpbmcgdGhlIGF1dGhvciBkaXJlY3RseS48L2xpPiAgDQo8L3VsPg0KPGgzPlJlcXVpcmVtZW50czwvaDM+DQo8cD5UaGlzIG1vZHVsZSBtYWtlcyBldnRlbnNpdmUgdXNlIG9mIHRoZSBHRCBJbWFnZSBwcm9jZXNzaW5nIGxpYnJhcnkgdG8gZG8gaW1hZ2UgbWFuaXB1bGF0aW9uLiAgQWRkaXRpb25hbGx5LCB0aGUge2Nnc2lfY29udmVydH0gcGx1Z2luIG1ha2VzIGV4dGVuc2l2ZSB1c2Ugb2YgdGhlIHNpbXBsZXhtbCBhbmQgWE1MRG9tIGNsYXNzZXMgYnVpbHQgaW4gdG8gcGhwLiAgVGhlcmUgbWF5IGJlIG90aGVyIGFkZGl0aW9uYWwgcmVxdWlyZW1lbnRzLiAgSWYgeW91IGFyZSBleHBlcmllbmNpbmcgZXJyb3JzIHlvdSBzaG91bGQgZW5zdXJlIHRoYXQgZXJyb3IgcmVwb3J0aW5nIGlzIGVuYWJsZWQsIGFuZCB0aGF0IHlvdSBoYXZlIGFuYWx5emVkIHlvdXIgZXJyb3IgbG9ncy48L3A+DQo8aDM+Q29weXJpZ2h0IGFuZCBMaWNlbnNlPC9oMz4NCjxwPkNvcHlyaWdodCAmY29weTsgMjAwOCwgUm9iZXJ0IENhbXBiZWwgPGEgaHJlZj0ibWFpbHRvOmNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmciPjxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPjwvYT4uIEFsbCBSaWdodHMgQXJlIFJlc2VydmVkLjwvcD4NCjxwPlRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5DQppdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQ0KdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3INCihhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uPC9wPg0KPHA+SG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkDQphcyBhbiBhZGRvbiBtb2R1bGUgdG8gQ01TIE1hZGUgU2ltcGxlLiAgWW91IG1heSBub3QgdXNlIHRoaXMgc29mdHdhcmUNCmluIGFueSBOb24gR1BMIHZlcnNpb24gb2YgQ01TIE1hZGUgc2ltcGxlLCBvciBpbiBhbnkgdmVyc2lvbiBvZiBDTVMNCk1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiANCnNlY3Rpb24gdGhhdCB0aGUgc2l0ZSB3YXMgYnVpbHQgd2l0aCBDTVMgTWFkZSBzaW1wbGUuPC9wPg0KPHA+VGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsDQpidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZg0KTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQ0KR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4NCllvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlDQphbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQ0KRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0ENCk9yIHJlYWQgaXQgPGEgaHJlZj0iaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMIj5vbmxpbmU8L2E+PC9wPic7CiRsYW5nWydpbmZvX2FsaWFzZXMnXSA9ICdBbGlhZXMgY2FuIGJlIHVzZWQgdmlhIHRoZSBhbGlhczEgdGhyb3VnaCBhbGlhczUgb3B0aW9ucyBvbiB0aGUgQ0dTbWFydEltYWdlIHRhZyB0byBjb21iaW5lIG51bWVyb3VzIGZyZXF1ZW50bHkgdXNlZCBvcHRpb25zJzsKJGxhbmdbJ2luZm9fY3JvcHRvZml0X2RlZmF1bHRfbG9jJ10gPSAnU3BlY2lmeSB0aGUgZGVmYXVsdCBsb2NhdGlvbiBmcm9tIHdoaWNoIHRvICZxdW90O2Nyb3AgdG8gZml0JnF1b3Q7IHRoaXMgd2lsbCBlZmZlY3QgYWxsIGNyb3AgdG8gZml0IG9wZXJhdGlvbnMgdW5sZXNzIHRoZSBsb2NhdGlvbiBwYXJhbWV0ZXIgb24gdGhlIGZpbHRlcl9jcm9wdG9maXQgYXR0cmlidXRlIG92ZXJyaWRlcyBpdC4gIERlZmF1bHQgbG9jYXRpb24gaXMgJnF1b3Q7Y2VudGVyJnF1b3Q7JzsKJGxhbmdbJ2ltYWdlX3VybF9oYXNjYWNoZWRpciddID0gJ0RvZXMgdGhlIFVSTCBhYm92ZSBhY291bnQgZm9yIHRoZSBjYWNoZSBkaXJlY3RvcnkgKF9DR1NtYXJ0SW1hZ2UpJzsKJGxhbmdbJ2ltYWdlX3VybF9wcmVmaXgnXSA9ICdJbWFnZSBVcmwgUHJlZml4JzsKJGxhbmdbJ2luZm9fY2FjaGVfYWdlJ10gPSAnU3BlY2lmeSB0aGUgbWF4aW11bSBhZ2Ugb2YgYSBmaWxlIChpbiBkYXlzKSBiZWZvcmUgaXQgd2lsbCBiZSByZW1vdmVkIGFuZCBmb3JjZWQgdG8gcmVnZW5lcmF0ZS4gIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSBoYXZlIGNoYW5nZWQgc29tZSBvZiB0aGUgcGFyYW1ldGVycyB1c2VkIHdoZW4gZ2VuZXJhdGluZyBpbWFnZXMsIG9yIHRvIGNvbnRyb2wgdGhlIGFtb3VudCBvZiBkaXNrIHNwYWNlIHVzZWQuICBFbnRlcmluZyAwIHdpbGwgZGlzYWJsZSBhdXRvbWF0aWMgZmlsZSBkZWxldGlvbic7CiRsYW5nWydpbmZvX2VtYmVkX21vZGUnXSA9ICdUaGlzIHNlbGVjdGlvbiBkZXRlcm1pbmVzIGhvdyB0aGUge3NtYXJ0aW1nfSB0YWcgd2lsbCBnZW5lcmF0ZSBvdXRwdXQuICBJZiAmcXVvdDtub25lJnF1b3Q7IGlzIHNlbGVjdGVkIG5vIGltYWdlIGVtYmVkZGluZyB3aWxsIGJlIHBlcmZvcm1lZC4gIElmICZxdW90O3NtYXJ0JnF1b3Q7IGlzIHNlbGVjdGVkIHRoZW4gdGhlIHN5c3RlbSB3aWxsIGRlY2lkZSBiYXNlZCBvbiB0aGUgaW1hZ2Ugc2l6ZSwgdHlwZSwgYW5kIHRoZSBicm93c2VyIHRoYXQgaXMgcmVxdWVzdGluZyB0aGUgaW1hZ2UuICBPdGhlciBvcHRpb25zIGluY2x1ZGUgYWx3YXlzIGVtYmVkZGluZyBiYXNlZCBvbiB0aGUgaW1hZ2Ugc2l6ZSwgb3IgdGhlIGltYWdlIHR5cGUuJzsKJGxhbmdbJ2luZm9fZW1iZWRfc2l6ZWxpbWl0J10gPSAnSWYgdGhlIGVtYmVkZGluZyBvcHRpb24gaXMgZGV0ZXJtaWVkIGJ5IHRoZSBpbWFnZSBzaXplLCBzcGVjaWZ5IHRoZSBtYXhpbXVtIHNpemUgKGluIGtpbG9ieXRlcykgZm9yIGltYWdlcyB0byBiZSBlbWJlZGRlZCAoMzIgaXMgcmVjb21tZW5kZWQpLic7CiRsYW5nWydpbmZvX2VtYmVkX3R5cGVzJ10gPSAnSWYgdGhlIGVtYmVkZGluZyBvcHRpb24gaXMgZGV0ZXJtaW5lZCBieSB0aGUgaW1hZ2UgdHlwZSwgc3BlY2lmeSB0aGUgZXh0ZW5zaW9ucyBvZiB0aGUgZmlsZXMgdGhhdCBzaG91bGQgYmUgZW1iZWRkZWQgaGVyZSBzZXBhcmF0ZWQgYnkgY29tbWFzLiAgVGhpcyBvcHRpb24gaXMgbm90IGNhc2Ugc2Vuc2l0aXZlJzsKJGxhbmdbJ2luZm9faW1hZ2VfdXJsX2hhc2NhY2hlZGlyJ10gPSAnSWYgeW91ciBDRE4gaXMgcG9pbnRpbmcgZGlyZWN0bHkgYXQgdGhlIGltYWdlIGNhY2hlIGRpcmVjdG9yeSB0aGVuIHlvdSBtYXkgd2FudCB0byB0dXJuIHRoaXMgb3B0aW9uIG9uLic7CiRsYW5nWydpbmZvX2ltYWdlX3VybF9wcmVmaXgnXSA9ICdTcGVjaWZ5IHRoZSBVUkwgdG8gcHJlZml4IHRvIGFsbCBnZW5lcmF0ZWQgaW1hZ2VzLiAgQnkgZGVmYXVsdCB0aGlzIGlzIHRoZSB1cGxvYWRzIFVSTCwgaG93ZXZlciBpZiB5b3UgaGF2ZSB5b3VyIG93biBDRE4gKG9yIG11bHRpcGxlIGRvbWFpbnMgcG9pbnRpbmcgYXQgdGhlIHNhbWUgZGlyZWN0b3J5KSBZb3UgbWF5IHdhbnQgdG8gc3BlY2lmeSBhIGRpZmZlcmVudCBuYW1lIGhlcmUnOwokbGFuZ1snbWF4X2NhY2hlX2FnZSddID0gJ01heGltdW0gQ2FjaGUgRmlsZSBBZ2UgKGRheXMpJzsKJGxhbmdbJ21vZGRlc2NyaXB0aW9uJ10gPSAnQSBzbWFydCBpbWFnZSB0YWcgZ2VuZXJhdGlvbiBtb2R1bGUgZm9yIENNU01TJzsKJGxhbmdbJ21zZ19hbGlhc2VzX3VwZGF0ZWQnXSA9ICdBbGlhc2VzIGFjdHVhbGl6YWRvcyc7CiRsYW5nWydtc2dfY2FjaGVjbGVhbmVkJ10gPSAnRGlyZWN0Jm9hY3V0ZTtyaW8gZGEgY2FjaGUgTGltcG8uICVkIGZpY2hlaXJvcyByZW1vdmlkb3MnOwokbGFuZ1snbXNnX2NhY2hlcmVtb3ZlZCddID0gJ0NhY2hlIFJlbW92aWRhJzsKJGxhbmdbJ21zZ19wcmVmc3VwZGF0ZWQnXSA9ICdQcmVmZXJlbmNpYXMgQWN0dWFsaXphZGFzJzsKJGxhbmdbJ25vbmUnXSA9ICdOZW5odW0nOwokbGFuZ1snb3B0aW9ucyddID0gJ09wJmNjZWRpbDsmb3RpbGRlO2VzJzsKJGxhbmdbJ3BhcmFtX2FsaWFzJ10gPSAnVGhlIENHU21hcnRJbWFnZSBhZG1pbiBwYW5lbCBhbGxvd3MgY3JlYXRpbmcgbnVtZXJvdXMgY29tbWFuZCBhbGlhcyB0byBjb21iaW5lIGEgZnJlcXVlbnRseSB1c2VkIHBhdHRlcm4gb2YgYXJndW1lbnRzIGludG8gb25lIG5hbWUuICBUbyB1c2UgdGhlc2UgYWxpYXNlcyB1c2UgYW4gYXJndW1lbnQgb2YgdGhlIGZvcm0gYWxpYXMjIz1hbGlhc19uYW1lIGkuZTogIGFsaWFzMT1mb28gYWxpYXMyPWZvby4nOwokbGFuZ1sncGFyYW1fYWx0J10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgYWx0IGF0dHJpYnV0ZS4gIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyJzsKJGxhbmdbJ3BhcmFtX2NsYXNzJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIG9uZSBvciBtb3JlIGNsYXNzZXMgdG8gaW5jbHVkZSBvbiB0aGUgdGFnLiAgaS5lOiBjbGFzcz0mcXVvdDtmYW5jeWJveCx0aHVtYm5haWwmcXVvdDsnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JsdXInXSA9ICcoYW55dGhpbmcpIFNwZWNpZnkgYW55IHZhbHVlIGZvciB0aGlzIHBhcmFtZXRlciB0byBhZGQgYSBibHVyIGZpbHRlciB0byB0aGUgaW1hZ2UnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2JyaWdodG5lc3MnXSA9ICcoaW50ZWdlcikgSW5jcmFzZSB0aGUgYnJpZ2h0bmVzcyBvZiB0aGUgcHJvY2Vzc2VkIGltYWdlIGJ5IHRoZSBpbnRlZ2VyIHZhbHVlIHNwZWNpZmllZCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29sb3JpemUnXSA9ICcocixnLGJbLGFscGhhXSkgLSBMaWtlIGZpbHRlcl9ncmF5c2NhbGUgaG93ZXZlciB5b3UgY2FuIHNwZWNpZnkgdGhlIGNvbG9yIGFuZCBhbHBoYSB2YWx1ZSc7CiRsYW5nWydwYXJhbV9maWx0ZXJfY29udHJhc3QnXSA9ICcoaW50ZWdlcikgQ2hhbmdlIHRoZSBjb250cmFzdCBvZiB0aGUgaW1hZ2UgYnkgdGhlIGludGVnZXIgdmFsdWUgc3BlY2lmaWVkJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wJ10gPSAnKHBlcmNlbnRbLGhfYWxpZ24sdl9hbGlnbl0pIC0gUGVyZm9ybSBjcm9wcGluZyBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBDcm9wIHBhcmFtZWV0ZXJzIGFyZSBzcGVjaWZpZWQgYXMgYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBwYXJhbWV0ZXJzLiAgVGhlIGZpcnN0IChyZXF1aXJlZCkgdmFsdWUgaXMgYW4gaW50ZWdlciBwZXJjZW50YWdlIG9mIHRoZSBvcmlnaW5hbCBpbWFnZSBzaXplLiAgVGhlIG9wdGlvbmFsIHNlY29uZCBhbmQgdGhpcmQgcGFyYW1ldGVycyBhcmUgb25lIG9mIGwsYyxyIChsZWZ0LGNlbnRlcixyaWdodCkgYW5kIHQsYyxiICh0b3AsY2VudGVyLGJvdHRvbSkgc3BlY2lmeWluZyB3aGVyZSB0aGUgbG9jYXRpb24gd2l0aGluIHRoZSBzb3VyY2UgaW1hZ2UgdG8gY3JvcCBmcm9tLiAgaS5lOiBjcm9wPTMzLGIsciB0byBncmFiIGEgY3JvcCBvZiAzMyUgZnJvbSB0aGUgYm90dG9tIHJpZ2h0IG9mIHRoZSBzb3VyY2UgaW1hZ2UuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9jcm9wdG9maXQnXSA9ICcod2lkdGgsaGVpZ2h0Wyxsb2NhdGlvbl0pIC0gUGVyZm9ybSBhIGNyb3B0b2ZpdCBvbiB0aGUgaW1hZ2Ugc3BlY2lmaWVkLiBUaGlzIGF0dGVtcHRzIHRvIHJlc2NhbGUgdGhlIGltYWdlIHRvIHRoZSBkZXN0aW5hdGlvbiBzaXplIHdoaWxlIHJlYXRpbmluZyBhc3BlY3QgcmF0aW8sIHRoZW4gZm9jdXMgb24gdGhlIHNlbGVjdGVkIGFyZWEgb2YgdGhlIHJlc2l6ZWQgaW1hZ2UuICBDcm9wIHRvIGZpdCBwYXJhbWV0ZXJzIGFyZSBzcGVjaWZpZWQgYXMgdGhlIGRlc2lyZWQgd2lkdGggYW5kIGhlaWdodCBmb3IgdGhlIGRlc3RpbmF0aW9uIGltYWdlIGFsb25nIHdpdGggYW4gKG9wdGlvbmFsKSBsb2NhdGlvbiBjb2RlLiAgdmFsaWQgbG9jYXRpb24gY29kZXMgYXJlIHRsLHRjLHRyLGNsLGMsY3IsYmwsYixiciBmb3IgdGhlIDkgcmVsYXRpdmUgcG9zaXRpb25zIHdpdGhpbiB0aGUgaW1hZ2UuICBJZiBhIGxvY2F0aW9uIGlzIG5vdCBzcGVjaWZpZWQgYSBwcmVmZXJlbmNlIHdpbGwgYmUgdXNlZC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzICZxdW90O2MmcXVvdDsgdG8gY3JvcC10by1maXQgZnJvbSB0aGUgY2VudGVyIG9mIHRoZSBzb3VyY2UgaW1hZ2UuICBBdCBubyB0aW1lIHdpbGwgdGhpcyBmaWx0ZXIgcGVyZm9ybSBhbnkgdXBzY2FsaW5nLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfZWRnZWRldGVjdCddID0gJyhhbnl0aGluZykgSGlsaWdodCB0aGUgZWRnZXMgaW4gdGhlIGltYWdlJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9lbWJvc3MnXSA9ICcoYW55dGhpbmcpIEVtYm9zcyB0aGUgaW1hZ2UnOwokbGFuZ1sncGFyYW1fZmlsdGVyX2ZsaXAnXSA9ICcobW9kZSkgLSBQZXJmb3JtIGEgZmxpcCBvbiB0aGUgc3BlY2lmaWVkIGltYWdlLiAgU3BlY2lmeSAwIGZvciBob3Jpem9udGFsLCAxIGZvciB2ZXJ0aWNhbCwgYW5kIDIgZm9yIGZsaXAgaW4gYm90aCBkaXJlY3Rpb25zLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfZ3JheXNjYWxlJ10gPSAnKGFueXRoaW5nKSBDb252ZXJ0IHRoZSBpbWFnZSB0byBncmF5c2NhbGUnOwokbGFuZ1sncGFyYW1fZmlsdGVyX21lYW5yZW1vdmFsJ10gPSAnKGFueXRoaW5nKSBBdHRlbXB0IHRvIGFjaGlldmUgYSAmcXVvdDtza2V0Y2h5JnF1b3Q7IGVmZmVjdCc7CiRsYW5nWydwYXJhbV9maWx0ZXJfbmVnYXRlJ10gPSAnKGFueXRoaW5nKSBOZWdhdGUgdGhlIGltYWdlJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9waXhlbGF0ZSddID0gJyhzaXplWyxhZHZhbmNlZF0pIFBpeGVsYXRlIHRoZSBpbWFnZSwgc3BlY2lmeSBhbiBpbnRlZ2VyIHNpemUgYW5kIGFuIG9wdGlvbmFsIGJvb2xlYW4gKGRlZmF1bHQgaXMgZmFsc2UpIHRvIGVuYWJsZSBhZHZhbmNlZCBwaXhlbGF0aW9uJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemUnXSA9ICd0eXBlLG51bWJlclssbnVtYmVyXSAtIFBlcmZvcm0gYSByZXNpemUgb2YgdGhlIHNvdXJjZSBpbWFnZS4gIFRoZSByZXNpemUgZmlsdGVyIGRvZXMgbm90IHBlcmZvcm0gYW55IHVwc2NhbGUgY2hlY2tpbmcuICBQb3NzaWJsZSB2YWx1ZXMgYXJlOg0KPHVsPg0KICA8bGk+cCxudW1iZXIgLSBQZXJmb3JtIGEgc2ltcGxlIHJlc2NhbGUgdG8gYSBjZXJ0YWluIHBlcmNlbnRhZ2UuICBpLmU6ICByZXNpemU9cCw1MCB0byByZXNpemUgdG8gNTAlIG9mIHRoZSBvcmlnaW5hbCBzaXplLjwvbGk+DQogIDxsaT53LG51bWJlciAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBzcGVjaWZpZWQgd2lkdGggKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT13LDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSB3aWR0aCBvZiA4MCBwaXhlbHMuPC9saT4NCiAgPGxpPmgsbnVtYmVyIC0gUGVyZm9ybSBhIHJlc2l6ZSB0byBhIHNwZWNpZmllZCBoZWlnaHQgKHdoaWxlIHJldGFpbmluZyBhc3BlY3QgcmF0aW8pLiBpLmU6IHJlc2l6ZT1oLDgwIHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB3aXRoIGEgbWF4aW11bSBoZWlnaHQgb2YgODAgcGl4ZWxzLjwvbGk+DQogIDxsaT5lLG51bWJlciAtIFBlcmZvcm0gYSByZXNpemUgcmVzaXppbmcgdGhlIGxhcmdlc3QgZWRnZSB0byB0aGUgc3BlY2lmaWVkIHZhbHVlICh3aGlsZSByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gaS5lOiByZXNpemU9ZSwxMDAgdG8gY3JlYXRlIGEgdGh1bWJuYWlsIHdob3MgbGFyZ2VzdCBlZGdlIGlzIDEwMCBwaXhlbHMuDQogIDxsaT5jLHgseSAtIFBlcmZvcm0gYSByZXNpemUgdG8gYSBjdXN0b20gc2l6ZSAod2l0aG91dCByZXRhaW5pbmcgYXNwZWN0IHJhdGlvKS4gIGkuZTogZmlsdGVyX3Jlc2l6ZT1jLDUwLDc1IHRvIGNyZWF0ZSBhIHRodW1ibmFpbCB0aGF0IGlzIDUweDc1IHBpeGVscy48L2xpPi4NCjwvdWw+JzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl9yZXNpemV0b2ZpdCddID0gJyh3aWR0aCxoZWlnaHRbLGNvbG9yWyxhbHBoYV1dKSAtIFBlcmZvcm0gYSByZXNpemUgb24gdGhlIGltYWdlIHNwZWNpZmllZC4gVGhpcyBhdHRlbXB0cyB0byByZXNjYWxlIHRoZSBpbWFnZSB0byB0aGUgZGVzdGluYXRpb24gc2l6ZSB3aGlsZSByZWF0aW5pbmcgYXNwZWN0IHJhdGlvLCB0aGUgaW1hZ2UgaXMgY2VudGVyZWQgaW4gdGhlIGJveCBzcGVjaWZpZWQgKGVpdGhlciBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBkZXBlbmRpbmcgdXBvbiBhc3BlY3QgcmF0aW8gYW5kIHRoZSBkZXN0aW5hdGlvbiBzaXplLCBhbmQgdGhlIGltYWdlIGlzIHN1cnJvdW5kZWQgYnkgdGhlIHN1cHBsaWVkIGNvbG9yLiAgQ29sb3JzIGNhbiBiZSBzcGVjaWZpZWQgYnkgbmFtZSAoc2VlIHRoZSBYMTEgY29sb3IgbmFtZXMpLCBvciBieSAjbm5ubm5uIGhleGFkZWNpbWFsIGZvcm1hdCwgb3IgYXMgcmdiIHZhbHVlcyBzZXBhcmF0ZWQgYnkgYSA6IGkuZTogIGZpbHRlcl9jcm9wdG9maXQ9NjAwLDQwMCwjZmYwMDAwLiAgVGhlIHNwZWNpYWwgY29sb3IgdmFsdWUgJnF1b3Q7dHJhbnNwYXJlbnQmcXVvdDsgY2FuIGJlIHNwZWNpZmllZCB0byBmb3JjZSB0aGUgYmFja2dyb3VuZCB0byBiZSB0cmFuc3BhcmVudC4gICBBbiBhbHBoYSB2YWx1ZSBtYXkgYmUgc3BlY2lmaWVkIGJldHdlZW4gMCBhbmQgMTI3IHRvIHNwZWNpZnkgZGlmZmVyZW50IGRlZ3JlZXMgb2YgdHJhbnNsdWNlbmN5IGZvciB0aGUgYmFja2dyb3VuZC4gICBBdCBubyB0aW1lIHdpbGwgdGhpcyBwbHVnaW4gcGVyZm9ybSBhbnkgdXBzY2FsaW5nLic7CiRsYW5nWydwYXJhbV9maWx0ZXJfcm90YXRlJ10gPSAnKGFuZ2xlKSBTcGVjaWZ5IHRoZSBpbnRlZ2VyIGFuZ2xlIChjb3VudGVyIGNsb2Nrd2lzZSkgdG8gcm90YXRlIHRoZSBpbWFnZSwgVGhlIGltYWdlIGlzIHJvdGF0ZWQgYWJvdXQgaXRzIGNlbnRlci4nOwokbGFuZ1sncGFyYW1fZmlsdGVyX3JvdW5kZWRjb3JuZXJzJ10gPSAnKHJhZGl1cykgU3BlY2lmeSBhbiBpbnRlZ2VyIHJhZGl1cyAoaW4gcGl4ZWxzKSBmb3Igcm91bmRpbmcgdGhlIGNvcm5lcnMuJzsKJGxhbmdbJ3BhcmFtX2ZpbHRlcl93YXRlcm1hcmsnXSA9ICcoYW55dGhpbmcpLCBTcGVjaWZ5IHRoYXQgdGhlIHdhdGVybWFyayAoYXMgc3BlY2lmaWVkIGluIHRoZSBDR0V4dGVuc2lvbnMgYWRtaW4gcGFuZWwpIHNob3VsZCBiZSBhcHBsaWVkIHRvIHRoZSBpbWFnZSc7CiRsYW5nWydwYXJhbV9oZWlnaHQnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgc3BlY2lmeSB0aGUgdmFsdWUgZm9yIHRoZSBoZWlnaHQgYXR0cmlidXRlLiAgTm90ZSwgaWYgdGhpcyBpcyBub3Qgc3BlY2lmaWVkIGEgdmFsdWUgd2lsbCBiZSBhdXRvbWF0aWNhbGx5IGNhbGN1bGF0ZWQgZm9yIHRoaXMgYXR0cmlidXRlIHNvIHRoYXQgbW9zdCBnZW5lcmF0ZWQgaW1nIHRhZ3Mgd2lsbCB2YWxpZGF0ZS4gIFlvdSBjYW4gb3ZlcnJpZGUgdGhpcyBhdXRvIGNhbGN1bGF0aW9uIHdpdGggdGhlICZxdW90O25vYXV0byZxdW90OyBwYXJhbWV0ZXIuICBUaGlzIHBhcmFtZXRlciB3aWxsIGFsc28gYmUgdXNlZCBpbiBjb25qdW5jdGlvbiB3aXRoIHRoZSAmcXVvdDt3aWR0aCZxdW90OyBwYXJhbWV0ZXIgdG8gcGVyZm9ybSBhIGZpbmFsIHJlc2l6aW5nIG9yIGNyb3B0b2ZpdCBmaWx0ZXIgKHVubGVzcyB0aGUgJnF1b3Q7bm9hdXRvc2NhbGUmcXVvdDsgcGFyYW1ldGVyIGlzIGFsc28gc3VwcGxpZWQpJzsKJGxhbmdbJ3BhcmFtX2lkJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIGFsbG93cyBzcGVjaWZ5aW5nIGFuIGlkIGF0dHJpYnV0ZSB0byBpbmNsdWRlIG9uIHRoZSB0YWcuICBpLmU6IGlkPSZxdW90O3NvbWV0YWcmcXVvdDsnOwokbGFuZ1sncGFyYW1fbWF4X2hlaWdodCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUge2Nnc2lfY29udmVydH0gdGFnIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbWF4aW11bSBoZWlnaHQgZm9yIHRoZSBjb252ZXJ0ZWQgaW1hZ2VzJzsKJGxhbmdbJ3BhcmFtX21heF93aWR0aCddID0gJ0FwcGxpY2FibGUgb25seSB0byB0aGUge2Nnc2lfY29udmVydH0gdGFnIHRoaXMgcGFyYW1ldGVyIGFsbG93cyBzcGVjaWZ5aW5nIGEgbWF4aW11bSB3aWR0aCBmb3IgdGhlIGNvbnZlcnRlZCBpbWFnZXMnOwokbGFuZ1sncGFyYW1fbmFtZSddID0gJ1VzZWQgd2hlbiBjcmVhdGluZyBhbiBpbWcgdGFnLCBzcGVjaWZ5IHRoZSB2YWx1ZSBmb3IgdGhlIG5hbWUgYXR0cmlidXRlLic7CiRsYW5nWydwYXJhbV9ub2F1dG8nXSA9ICdEbyBub3QgYXV0b21hdGljYWxseSBjYWxjdWFsdGUgcGFyYW1ldGVycyBmb3IgdGhlIGltZyB0YWcuICBUaGlzIG1heSBjYXVzZSB5b3VyIHNpdGUgdG8gZmFpbCB2YWxpZGF0aW9uIGlmIHNvbWUgcmVxdWlyZWQgcGFyYW1ldGVycyAod2lkdGgsaGVpZ2h0LGFsdCkgYXJlIG5vdCBzcGVjaWZpZWQnOwokbGFuZ1sncGFyYW1fbm9hdXRvc2NhbGUnXSA9ICdpZiB3aWR0aCBhbmQgaGVpZ2h0IHBhcmFtZXRlcnMgYXJlIHNwZWNpZmllZCwgdGhpcyBwYXJhbWV0ZXIgd2lsbCBkaXNhYmxlIGF1dG9tYXRpYyBzY2FsaW5nIG9mIHRoZSBpbWFnZS4nOwokbGFuZ1sncGFyYW1fbm9iY2FjaGUnXSA9ICdEbyBub3QgYWxsb3cgdGhlIHJlc2l6ZWQgaW1hZ2UgdG8gY2FjaGUgaW4gdGhlIGJyb3dzZXIgKHVzZWZ1bCBmb3IgZGV2ZWxvcG1lbnQgcHVycG9zZXMpIHRoaXMgYWRkcyBhIHVuaXF1ZSBudW1iZXIgYXMgYSBwYXJhbWV0ZXIgdG8gdGhlIGltYWdlIHdoaWNoIHdpbGwgZm9yY2UgdGhlIGJyb3dzZXIgbm90IHRvIGNhY2hlIHRoZSBpbWFnZS4nOwokbGFuZ1sncGFyYW1fbm9lbWJlZCddID0gJ0ZvcmNlIHRoZSBpbWFnZSB0byBub3QgZW1iZWQuICBSZWdhcmRsZXNzIG9mIHNldHRpbmdzIGluIHRoZSBhZG1pbiBwYW5lbCwgdGhlIFVSTCBhbmQgdGFnIGdlbmVyYXRlZCB3aWxsIGJlIHRvIGEgZmlsZSBvbiB0aGUgc2VydmVyLiAgTm8gZW1iZWRkaW5nIHdpbGwgYmUgcGVyZm9ybWVkJzsKJGxhbmdbJ3BhcmFtX25vdGltZWNoZWNrJ10gPSAnRGlzYWJsZSB0aW1lIGNoZWNraW5nIG9mIGNhY2hlZCBmaWxlcy4nOwokbGFuZ1sncGFyYW1fbm9yZW1vdGUnXSA9ICdEbyBub3QgYWxsb3cgcmV0cmlldmluZyBzb3VyY2VzIGZyb20gcmVtb3RlIFVSTFMnOwokbGFuZ1sncGFyYW1fbm9yb3RhdGUnXSA9ICdEbyBub3QgYXR0ZW1wdCB0byByZWFkIGV4aWYgaW5mb3JtYXRpb24gZnJvbSB0aGUgZmlsZSBhbmQgY29ycmVjdCBpbWFnZSByb3RhdGlvbic7CiRsYW5nWydwYXJhbV9ub3RhZyddID0gJ0RvIG5vdCBvdXRwdXQgYW4gaW1nIHRhZywgb25seSB0aGUgdXJsIHRvIHRoZSBjYWNoZWQgaW1hZ2UuICBUaGlzIGhhcyBubyBlZmZlY3Qgd2hlbiBDR1NtYXJ0SW1hZ2UgaXMgdXNlZCBmcm9tIHdpdGhpbiBhIHN0eWxlc2hlZXQuJzsKJGxhbmdbJ3BhcmFtX292ZXJ3cml0ZSddID0gJ0Rpc2FibGUgYWxsIGNhY2hpbmcgYW5kIGZvcmNlIHJlLWNhbGN1bGF0aW9uIG9mIGFsbCBmaWx0ZXJzJzsKJGxhbmdbJ3BhcmFtX3F1YWxpdHknXSA9ICdTcGVjaWZ5IHRoZSBxdWFsaXR5IG9mIHRoZSBvdXRwdXQgaW1hZ2UuICBBIHZhbHVlIGJldHdlZW4gMCBhbmQgMTAwLiAgVGhlIGRlZmF1bHQgdmFsdWUgaWYgbm90IHNwZWNpZmllZCBpcyA3NS4nOwokbGFuZ1sncGFyYW1fcmVsJ10gPSAnVXNlZCB3aGVuIGJ1aWxkaW5nIGFuIGltYWdlIHRhZyBhbGxvd3Mgc3BlY2lmeWluZyBhbiBvcHRpb25hbCByZWwgYXR0cmlidXRlICh0eXBpY2FsbHkgdXNlZCB3aXRoIGphdmFzY3JpcHQgdHlwZSBhbGJ1bXMpLiBpLmU6IHJlbD0mcXVvdDthbGJ1bSZxdW90Oyc7CiRsYW5nWydwYXJhbV9zaWxlbnQnXSA9ICdTaWxlbnRseSBpZ25vcmUgZXJyb3JzJzsKJGxhbmdbJ3BhcmFtX3NyYyddID0gJ1NwZWNpZnkgdGhlIHNvdXJjZSBmb3IgdGhlIGltYWdlIHByb2Nlc3NpbmcgKGlmIGFueSkgb3IgdGhlIGdlbmVyYXRlZCBpbWcgdGFnLiAgTm90ZSwgdGhpcyBwYXJhbWV0ZXIgaXMgZmxleGlibGUsIGFuZCB0aGUgbW9kdWxlIHdpbGwgYXR0ZW1wdCBtYW55IG1ldGhvZHMgdG8gZmluZCB0aGUgc291cmNlIGltYWdlIGZpbGUgb24gdGhlIHdlYiBzZXJ2ZXIgYXMgZm9sbG93czoNCjx1bD4NCiAgPGxpPkZpcnN0IGxvb2sgdG8gc2VlIGlmIHRoZSBzcGVjaWZpZWQgc3JjIHZhbHVlIGV4aXN0cyBhcyBhIGZpbGUgb24gdGhlIGZpbGVzeXN0ZW0uPC9saT4NCiAgPGxpPk5leHQsIGNoZWNrIGlmIHRoZSB2YWx1ZSBzcGVjaWZpZWQgZm9yIHRoZSBzcmMgcGFyYW1ldGVyIGlzIGEgVVJMIGFuZCBiZWdpbnMgd2l0aCB0aGUgdXBsb2Fkc191cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KICA8bGk+TmV4dCwgY2hlY2sgaWYgdGhlIHZhbHVlIHNwZWNpZmllZCBmb3IgdGhlIHNyYyBwYXJhbWV0ZXIgaXMgYSBVUkwgYW5kIGJlZ2lucyB3aXRoIHRoZSByb290X3VybCAoYXMgc3BlY2lmaWVkIGluIHRoZSBjb25maWcucGhwKTwvbGk+DQogIDxsaT5OZXh0LCBjaGVjayBpZiB0aGUgdmFsdWUgc3BlY2lmaWVkIGZvciB0aGUgc3JjIHBhcmFtZXRlciBpcyBhIFVSTCBhbmQgYmVnaW5zIHdpdGggdGhlIHNzbF91cmwgKGFzIHNwZWNpZmllZCBpbiB0aGUgY29uZmlnLnBocCk8L2xpPg0KPC91bD4NCkl0IGlzIGFsc28gcG9zc2libGUgdG8gc3BsaXQgdGhlIHNyYyBwYXJhbWV0ZXIgaW50byBtdWx0aXBsZSBhcmd1bWVudHMsIHdoaWNoIGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSB3aGVuIHRoZSBwYXRoIHRvIHRoZSBmaWxlLCBhbmQgdGhlIGZpbGVuYW1lIGFyZSBzdG9yZWQgaW4gc2VwYXJhdGUgc21hcnR5IHZhcmlhYmxlcy4gICBZb3UgY2FuIHNwZWNpZnkgdGhlIHNyYyBhcyBzcmMxPVwkdGhlX3BhdGggc3JjMj1cJHRoZV9maWxlbmFtZS4gIFRoZSBzeXN0ZW0gd2lsbCBhdXRvbWF0aWNhbGx5IGFkZCBhIC8gaW4gYmV0d2VlbiBlYWNoIGFyZ3VtZW50LiAgVGhlcmUgaXMgbm8gbGltaXQgdG8gdGhlIG51bWJlciBvZiBzcmMgcGFyYW1ldGVycy4nOwokbGFuZ1sncGFyYW1fc3R5bGUnXSA9ICdVc2VkIHdoZW4gY3JlYXRpbmcgYW4gaW1nIHRhZywgYWxsb3dzIHNwZWNpZnlpbmcgYWx0ZXJuYXRlIHN0eWxlcyBmb3IgdGhlIHRhZy4gIGkuZTogc3R5bGU9JnF1b3Q7Ym9yZGVyOiAxcHggc29saWQgYmxhY2s7JnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX3RpdGxlJ10gPSAnU3BlY2lmeSBhbiBvcHRpb25hbCB0aXRsZSBhdHRyaWJ1dGUgZm9yIHRoZSBpbWcgdGFnLiAgaS5lOiB0aXRsZT0mcXVvdDtUaGlzIGlzIHRoZSB0b29sdGlwJnF1b3Q7JzsKJGxhbmdbJ3BhcmFtX3dpZHRoJ10gPSAnVXNlZCB3aGVuIGNyZWF0aW5nIGFuIGltZyB0YWcsIHNwZWNpZnkgdGhlIHZhbHVlIGZvciB0aGUgd2lkdGggYXR0cmlidXRlLiAgIE5vdGUsIGlmIHRoaXMgaXMgbm90IHNwZWNpZmllZCBhIHZhbHVlIHdpbGwgYmUgYXV0b21hdGljYWxseSBjYWxjdWxhdGVkIGZvciB0aGlzIGF0dHJpYnV0ZSBzbyB0aGF0IG1vc3QgZ2VuZXJhdGVkIGltZyB0YWdzIHdpbGwgdmFsaWRhdGUuICBZb3UgY2FuIG92ZXJyaWRlIHRoaXMgYXV0byBjYWxjdWxhdGlvbiB3aXRoIHRoZSAmcXVvdDtub2F1dG8mcXVvdDsgcGFyYW1ldGVyLiAgVGhpcyBwYXJhbWV0ZXIgd2lsbCBhbHNvIGJlIHVzZWQgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgJnF1b3Q7aGVpZ2h0JnF1b3Q7IHBhcmFtZXRlciB0byBwZXJmb3JtIGEgZmluYWwgcmVzaXppbmcgb3IgY3JvcHRvZml0IGZpbHRlciAodW5sZXNzIHRoZSAmcXVvdDtub2F1dG9zY2FsZSZxdW90OyBwYXJhbWV0ZXIgaXMgYWxzbyBzdXBwbGllZCknOwokbGFuZ1sncG9zdGluc3RhbGwnXSA9ICdNJm9hY3V0ZTtkdWxvIGluc3RhbGFkbyc7CiRsYW5nWydwb3N0dW5pbnN0YWxsJ10gPSAnVG9kb3Mgb3MgZGFkb3MgYXNzb2NpYWRvcyBhIGVzdGUgbSZvYWN1dGU7ZHVsbyBmb3JhbSByZW1vdmlkb3MnOwokbGFuZ1sncHJvbXB0X2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYyddID0gJ0RlZmF1bHQgbG9jYXRpb24gZnJvbSB3aGljaCB0byAmcXVvdDtjcm9wIHRvIGZpdCZxdW90Oyc7CiRsYW5nWydwcm9tcHRfZW1iZWRfc2l6ZWxpbWl0J10gPSAnQmFzZWQgb24gaW1hZ2Ugc2l6ZSc7CiRsYW5nWydwcm9tcHRfZW1iZWRfc21hcnRsaW1pdGVkJ10gPSAnU21hcnQgbW9kZSBidXQgbGltaXQgaW1hZ2Ugc2l6ZSc7CiRsYW5nWydwcm9tcHRfZW1iZWRfdHlwZSddID0gJ0Jhc2VkIG9uIGltYWdlIHR5cGUnOwokbGFuZ1sncHJvbXB0X2xvY19ib3R0b21sZWZ0J10gPSAnQm90dG9tIExlZnQgKGJsKSc7CiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbWNlbnRlciddID0gJ0JvdHRvbSBDZW50ZXIgKGJjKSc7CiRsYW5nWydwcm9tcHRfbG9jX2JvdHRvbXJpZ2h0J10gPSAnQm90dG9tIFJpZ2h0IChiciknOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJsZWZ0J10gPSAnQ2VudGVyIExlZnQgKGNsKSc7CiRsYW5nWydwcm9tcHRfbG9jX2NlbnRlciddID0gJ0NlbnRlciAoYyknOwokbGFuZ1sncHJvbXB0X2xvY19jZW50ZXJyaWdodCddID0gJ0NlbnRlciBSaWdodCAoY2wpJzsKJGxhbmdbJ3Byb21wdF9sb2NfdG9wbGVmdCddID0gJ1RvcCBMZWZ0ICh0bCknOwokbGFuZ1sncHJvbXB0X2xvY190b3BjZW50ZXInXSA9ICdUb3AgQ2VudGVyICh0YyknOwokbGFuZ1sncHJvbXB0X2xvY190b3ByaWdodCddID0gJ1RvcCBSaWdodCAodHIpJzsKJGxhbmdbJ3Jlc2l6aW5nJ10gPSAnUmVzaXppbmcnOwokbGFuZ1snc21hcnQnXSA9ICdTbWFydCc7CiRsYW5nWydzdWJtaXQnXSA9ICdTdWJtZXRlcic7CiRsYW5nWyd1dG1hJ10gPSAnMTU2ODYxMzUzLjQ0NjUxNjAxNi4xMzczODQwNTM2LjEzNzM4NDA1MzYuMTM3Mzg0MDUzNi4xJzsKJGxhbmdbJ3V0bWMnXSA9ICcxNTY4NjEzNTMnOwokbGFuZ1sndXRteiddID0gJzE1Njg2MTM1My4xMzczODQwNTM2LjEuMS51dG1jY249KGRpcmVjdCl8dXRtY3NyPShkaXJlY3QpfHV0bWNtZD0obm9uZSknOwokbGFuZ1sndXRtYiddID0gJzE1Njg2MTM1Myc7Cj8+]]></data>
	</file>
	<file>
	  <filename>/lib/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/lib/class.CGImageBase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlQmFzZSBpbXBsZW1lbnRzIEFycmF5QWNjZXNzCnsKICBwcml2YXRlICRfdHJhbnNwYXJlbnQ7CiAgcHJpdmF0ZSAkX3JzcmM7CiAgcHJpdmF0ZSAkX3NyY25hbWU7CiAgcHJpdmF0ZSAkX2RpcnR5OwogIHByaXZhdGUgJF9pbmZvOwogIHByaXZhdGUgc3RhdGljICRfa2V5cyA9IGFycmF5KCdkaXJ0eScsJ3JzcmMnLCd3aWR0aCcsJ2hlaWdodCcsJ3R5cGUnLCdmaWxlbmFtZScsJ25hbWUnLCd0cmFuc3BhcmVudCcpOwoKICBwcml2YXRlIGZ1bmN0aW9uIGNyZWF0ZV9uZXdfcnNyYygkbWltZXR5cGUsJHdpZHRoLCRoZWlnaHQpCiAgewogICAgc3dpdGNoKCAkbWltZXR5cGUgKSB7CiAgICBjYXNlICdpbWFnZS9qcGVnJzoKICAgICAgJF9yc3JjID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHdpZHRoLCRoZWlnaHQpOwogICAgICAvL2ltYWdlaW50ZXJsYWNlKCRfcnNyYywgZmFsc2UpOwogICAgICByZXR1cm4gJF9yc3JjOwoKICAgIGNhc2UgJ2ltYWdlL3BuZyc6CiAgICAgIC8vIGZyb20gc3VwZXJzaXplcgogICAgICAkX3JzcmMgPSBpbWFnZWNyZWF0ZXRydWVjb2xvcigkd2lkdGgsICRoZWlnaHQpOyAgCiAgICAgICRibGFjayA9IGltYWdlY29sb3JhbGxvY2F0ZWFscGhhKCRfcnNyYywwLDAsMCwxMjcpOwogICAgICBpbWFnZWNvbG9ydHJhbnNwYXJlbnQoJF9yc3JjLCAkYmxhY2spOyAgIAogICAgICAvLyBUdXJuIG9mZiB0cmFuc3BhcmVuY3kgYmxlbmRpbmcgKHRlbXBvcmFyaWx5KQogICAgICBpbWFnZWFscGhhYmxlbmRpbmcoJF9yc3JjLCBmYWxzZSk7CiAgICAgIC8vIENyZWF0ZSBhIG5ldyB0cmFuc3BhcmVudCBjb2xvciBmb3IgaW1hZ2UKICAgICAgJGNvbG9yID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJF9yc3JjLCAwLCAwLCAwLCAxMjcpOwogICAgICAvLyBDb21wbGV0ZWx5IGZpbGwgdGhlIGJhY2tncm91bmQgb2YgdGhlIG5ldyBpbWFnZSB3aXRoIGFsbG9jYXRlZCBjb2xvci4KICAgICAgaW1hZ2VmaWxsKCRfcnNyYywgMCwgMCwgJGNvbG9yKTsKICAgICAgLy8gUmVzdG9yZSB0cmFuc3BhcmVuY3kgYmxlbmRpbmcKICAgICAgaW1hZ2VzYXZlYWxwaGEoJF9yc3JjLCB0cnVlKTsKICAgICAgJHRoaXMtPl90cmFuc3BhcmVudCA9ICRjb2xvcjsKICAgICAgcmV0dXJuICRfcnNyYzsKCiAgICBjYXNlICdpbWFnZS9naWYnOgogICAgICAkX3JzcmMgPSBpbWFnZWNyZWF0ZXRydWVjb2xvcigkd2lkdGgsICRoZWlnaHQpOwogICAgICBpbWFnZXRydWVjb2xvcnRvcGFsZXR0ZSgkX3JzcmMsIHRydWUsIDI1Nik7CiAgICAgIGltYWdlYWxwaGFibGVuZGluZygkX3JzcmMsIGZhbHNlKTsKICAgICAgaW1hZ2VzYXZlYWxwaGEoJF9yc3JjLHRydWUpOwogICAgICAkdHJhbnNwYXJlbnQgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkX3JzcmMsIDI1NSwgMjU1LCAyNTUsIDEyNyk7CiAgICAgIGltYWdlZmlsbGVkcmVjdGFuZ2xlKCRfcnNyYywgMCwgMCwgJHdpZHRoLCAkaGVpZ2h0LCAkdHJhbnNwYXJlbnQpOwogICAgICBpbWFnZWNvbG9ydHJhbnNwYXJlbnQoJF9yc3JjLCAkdHJhbnNwYXJlbnQpOwogICAgICByZXR1cm4gJF9yc3JjOwoKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0Nhbm5vdCBjcmVhdGUgbmV3IGltYWdlIG9mIHR5cGUgJy4kbWltZXR5cGUpOwogICAgfQogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkaW5wdXQpCiAgewogICAgaWYoIGlzX29iamVjdCgkaW5wdXQpICYmICRpbnB1dCBpbnN0YW5jZW9mIENHSW1hZ2VCYXNlICApIHsKICAgICAgLy8gY29weSBjb25zdHJ1Y3RvcgogICAgICAkdGhpcy0+X3JzcmMgPSAkaW5wdXQtPl9yc3JjOwogICAgICAkdGhpcy0+X3NyY25hbWUgPSAkaW5wdXQtPl9zcmNuYW1lOwogICAgICAkdGhpcy0+X2luZm8gPSAkaW5wdXQtPl9pbmZvOwogICAgICAkdGhpcy0+X2RpcnR5ID0gMTsKICAgIH0KICAgIGVsc2UgaWYoIGlzX3N0cmluZygkaW5wdXQpICYmIGlzX3JlYWRhYmxlKCRpbnB1dCkgJiYgaXNfZmlsZSgkaW5wdXQpICkgewogICAgICAkZGF0YSA9IGZpbGVfZ2V0X2NvbnRlbnRzKCRpbnB1dCk7CiAgICAgIGlmKCAkZGF0YSAhPT0gRkFMU0UgKSB7CgkkdGhpcy0+X3JzcmMgPSBpbWFnZWNyZWF0ZWZyb21zdHJpbmcoJGRhdGEpOwoJJHRoaXMtPl9zcmNuYW1lID0gJGlucHV0OwoJJHRoaXMtPl9pbmZvID0gZ2V0aW1hZ2VzaXplKCRpbnB1dCk7CgkkdGhpcy0+X2luZm9bMl0gPSBpbWFnZV90eXBlX3RvX21pbWVfdHlwZSgkdGhpcy0+X2luZm9bMl0pOwoJcmV0dXJuOwogICAgICB9CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ1Byb2JsZW0gY3JlYXRpbmcgbmV3IENHSW1hZ2VCYXNlIG9iamVjdCBmcm9tICcuJGlucHV0KTsKICAgIH0KICAgIGVsc2UgaWYoIGlzX2FycmF5KCRpbnB1dCkgJiYgY291bnQoJGlucHV0KSA9PSAzICkgewogICAgICAkdGhpcy0+X3JzcmMgPSAkdGhpcy0+Y3JlYXRlX25ld19yc3JjKCRpbnB1dFswXSwkaW5wdXRbMV0sJGlucHV0WzJdKTsKICAgICAgJHRoaXMtPl9pbmZvID0gYXJyYXkoJGlucHV0WzFdLCRpbnB1dFsyXSwkaW5wdXRbMF0pOwogICAgICAkdGhpcy0+X2RpcnR5ID0gMTsKICAgIH0KICAgIGVsc2UgewogICAgICB0aHJvdyBuZXcgRXhjZXB0aW9uKCdBdHRlbXB0IHRvIGNyZWF0ZSBhIENHSW1hZ2VCYXNlIG9iamVjdCB3aXRoIGludmFsaWQgaW5wdXQnKTsKICAgIH0KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0RXhpc3RzKCRrKQogIHsKICAgIHJldHVybiBpbl9hcnJheSgkayxDR0ltYWdlQmFzZTo6JF9rZXlzKTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0VW5zZXQoJGspCiAgewogICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byB1bnNldCBhbiBhdHRyaWJ1dGUgb2YgYSBDR0ltYWdlQmFzZSBvYmplY3QnKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiBvZmZzZXRHZXQoJGspCiAgewogICAgJGsgPSBzdHJ0b2xvd2VyKCRrKTsKICAgIGlmKCAhaW5fYXJyYXkoJGssQ0dJbWFnZUJhc2U6OiRfa2V5cykgKSAKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBnZXQgaW52YWxpZCBhdHRyaWJ1dGUgJy4kay4nIEZyb20gQ0dJbWFnZUJhc2UnKTsKCiAgICBzd2l0Y2goICRrICkgewogICAgY2FzZSAncnNyYyc6CiAgICAgIHJldHVybiAkdGhpcy0+X3JzcmM7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ3dpZHRoJzoKICAgICAgaWYoICFpc19hcnJheSgkdGhpcy0+X2luZm8pICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBnZXQgaW5mb3JtYXRpb24gb24gdW5pbml0aWFsaXplZCBvYmplY3QnKTsKICAgICAgcmV0dXJuICR0aGlzLT5faW5mb1swXTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnaGVpZ2h0JzoKICAgICAgaWYoICFpc19hcnJheSgkdGhpcy0+X2luZm8pICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignQXR0ZW1wdCB0byBnZXQgaW5mb3JtYXRpb24gb24gdW5pbml0aWFsaXplZCBvYmplY3QnKTsKICAgICAgcmV0dXJuICR0aGlzLT5faW5mb1sxXTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAndHlwZSc6CiAgICAgIGlmKCAhaXNfYXJyYXkoJHRoaXMtPl9pbmZvKSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0F0dGVtcHQgdG8gZ2V0IGluZm9ybWF0aW9uIG9uIHVuaW5pdGlhbGl6ZWQgb2JqZWN0Jyk7CiAgICAgIHJldHVybiAkdGhpcy0+X2luZm9bMl07CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2RpcnR5JzoKICAgICAgcmV0dXJuICR0aGlzLT5fZGlydHk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ3RyYW5zcGFyZW50JzoKICAgICAgcmV0dXJuICR0aGlzLT5fdHJhbnNwYXJlbnQ7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2ZpbGVuYW1lJzoKICAgIGNhc2UgJ25hbWUnOgogICAgICByZXR1cm4gJHRoaXMtPl9zcmNuYW1lOwogICAgICBicmVhazsKICAgIH0KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gb2Zmc2V0U2V0KCRrLCR2KQogIHsKICAgIGlmKCAhaW5fYXJyYXkoJGssQ0dJbWFnZUJhc2U6OiRfa2V5cykgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIEF0dGVtcHQgdG8gbW9kaWZ5IHRoZSBhdHRyaWJ1dGUgb2YgQ0dJbWFnZUJhc2UnKTsKCiAgICAkdGhpcy0+X2RpcnR5ID0gMTsKICAgIHN3aXRjaCgkaykgewogICAgY2FzZSAncnNyYyc6CiAgICBjYXNlICdkaXJ0eSc6CiAgICBjYXNlICd0cmFuc3BhcmVudCc6CiAgICAgICRrID0gJ18nLiRrOwogICAgICAkdGhpcy0+JGsgPSAkdjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnd2lkdGgnOgogICAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5faW5mbykgKSAkdGhpcy0+X2luZm8gPSBhcnJheSgpOwogICAgICAkdGhpcy0+X2luZm9bMF0gPSAkdjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnaGVpZ2h0JzoKICAgICAgaWYoICFpc19hcnJheSgkdGhpcy0+X2luZm8pICkgJHRoaXMtPl9pbmZvID0gYXJyYXkoKTsKICAgICAgJHRoaXMtPl9pbmZvWzFdID0gJHY7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ3R5cGUnOgogICAgICBpZiggIWlzX2FycmF5KCR0aGlzLT5faW5mbykgKSAkdGhpcy0+X2luZm8gPSBhcnJheSgpOwogICAgICAkdGhpcy0+X2luZm9bMl0gPSAkdjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnZmlsZW5hbWUnOgogICAgY2FzZSAnbmFtZSc6CiAgICAgICR0aGlzLT5fc3JjbmFtZSA9ICR2OwogICAgICBicmVhazsKICAgIH0KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gc2F2ZSgkZmlsZW5hbWUsJHF1YWxpdHkgPSA3NSkKICB7CiAgICBpZiggISR0aGlzLT5fZGlydHkgKSByZXR1cm47CgogICAgJHR5cGUgPSAkdGhpc1sndHlwZSddOwogICAgJHJlcyA9ICcnOwogICAgc3dpdGNoKCR0eXBlKSB7CiAgICBjYXNlICdpbWFnZS9qcGVnJzoKICAgICAgJHJlcyA9IGltYWdlanBlZygkdGhpc1sncnNyYyddLCRmaWxlbmFtZSwkcXVhbGl0eSk7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2ltYWdlL3BuZyc6CiAgICAgICRxdWFsaXR5ID0gY2VpbCgoMTAwLjAgLSAoZmxvYXQpJHF1YWxpdHkpLzEwMC4wKjEwLjApOwogICAgICAkcmVzID0gaW1hZ2VwbmcoJHRoaXNbJ3JzcmMnXSwkZmlsZW5hbWUsJHF1YWxpdHkpOwogICAgICBicmVhazsKCiAgICBjYXNlICdpbWFnZS9naWYnOgogICAgICAkcmVzID0gaW1hZ2VnaWYoJHRoaXNbJ3JzcmMnXSwkZmlsZW5hbWUpOwogICAgICBicmVhazsKICAgIGRlZmF1bHQ6CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0Nhbm5vdCBzYXZlIGltYWdlIG9mIHR5cGUgJy4kdGhpc1sndHlwZSddKTsKICAgIH0KCiAgICBpZiggJHJlcyApIHJldHVybjsKICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIHNhdmluZyBpbWFnZSBvZiB0eXBlICcuJHRoaXNbJ3R5cGUnXS4nIHRvICcuJGZpbGVuYW1lKTsKICB9Cgp9IC8vIGNsYXNzIENHSW1hZ2VCYXNlCgovLyAkaW1nMSA9IG5ldyBDR0ltYWdlKCRzb21lZmlsZW5hbWUpOwovLyAkZmlsdGVyID0gbmV3IENtc1NvbWV0aGluZ0ZpbHRlcigpOwovLyAkaW1nMiA9ICRmaWx0ZXItPnRyYW5zZm9ybSgkaW1nMSk7Ci8vICRpbWcyLT5zYXZlKCk7CiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImageFilterBase.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgphYnN0cmFjdCBjbGFzcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgLy8gcmV0dXJucyBhIENHSW1hZ2VCYXNlIG9iamVjdAogIGFic3RyYWN0IGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkaW1hZ2UpOwp9CgoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Blur_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0JsdXJfRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgLy8gbm90aGluZyBoZXJlLgogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oQ0dJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkX2Rlc3QgPSBuZXcgQ0dJbWFnZUJhc2UoJHNyYyk7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9HQVVTU0lBTl9CTFVSKTsKCiAgICBpZiggISRyZXMgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX0dBVVNTSUFOX0JMVVIpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Brightness_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0JyaWdodG5lc3NfRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9icmlnaHRuZXNzID0gMDsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KC8qIHZhcmlhYmxlIGFyZ3VtZW50cyAqLykKICB7CiAgICBpZiggZnVuY19udW1fYXJncygpICE9IDEgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbnZhbGlkIGFyZ3VtZW50cyB0byAnLmdldF9jbGFzcygkdGhpcykpOwogICAgICB9CgogICAgJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CiAgICAkYXJncyA9ICRhcmdzWzBdOwogICAgaWYoIGlzX2FycmF5KCRhcmdzKSApCiAgICAgIHsKCSR0aGlzLT5fYnJpZ2h0bmVzcyA9IChpbnQpJGFyZ3NbMF07CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPl9icmlnaHRuZXNzID0gJGFyZ3M7CiAgICAgIH0KICAgIC8vIG5vdGhpbmcgaGVyZS4KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKCRzcmMpOwogICAgJHJlcyA9IGltYWdlZmlsdGVyKCRfZGVzdFsncnNyYyddLElNR19GSUxURVJfQlJJR0hUTkVTUywkdGhpcy0+X2JyaWdodG5lc3MpOwoKICAgIGlmKCAhJHJlcyApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfQlJJR0hUTkVTUyk7CiAgICAgIH0KICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Colorize_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0NvbG9yaXplX0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfYXJncyA9IGFycmF5KDAsMCwwLDApOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoLyogdmFyaWFibGUgYXJndW1lbnRzICovKQogIHsKICAgICRhcmdzID0gZnVuY19nZXRfYXJncygpOwogICAgaWYoIGlzX2FycmF5KCRhcmdzWzBdKSApCiAgICAgIHsKCSRhcmdzID0gJGFyZ3NbMF07CiAgICAgIH0KCiAgICBmb3IoICRpID0gMDsgJGkgPCBtaW4oY291bnQoJHRoaXMtPl9hcmdzKSxjb3VudCgkYXJncykpOyAkaSsrICkKICAgICAgewoJJHRoaXMtPl9hcmdzWyRpXSA9IG1pbigyNTUsbWF4KDAsKGludCkkYXJnc1skaV0pKTsKICAgICAgfQogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oQ0dJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkX2Rlc3QgPSBuZXcgQ0dJbWFnZUJhc2UoJHNyYyk7CiAgICAkdG1wID0gJHRoaXMtPl9hcmdzOwogICAgJHJlcyA9IGltYWdlZmlsdGVyKCRfZGVzdFsncnNyYyddLElNR19GSUxURVJfQ09MT1JJWkUsJHRtcFswXSwkdG1wWzFdLCR0bXBbMl0sJHRtcFszXSk7CgogICAgaWYoICEkcmVzICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9DT0xPUklaRSk7CiAgICAgIH0KICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Contrast_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0NvbnRyYXN0X0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfY29udHJhc3QgPSAwOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoLyogdmFyaWFibGUgYXJndW1lbnRzICovKQogIHsKICAgIGlmKCBmdW5jX251bV9hcmdzKCkgIT0gMSApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgYXJndW1lbnRzIHRvICcuZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgIH0KCiAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgICRhcmdzID0gJGFyZ3NbMF07CiAgICBpZiggaXNfYXJyYXkoJGFyZ3MpICkKICAgICAgewoJJHRoaXMtPl9jb250cmFzdCA9IChpbnQpJGFyZ3NbMF07CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPl9jb250cmFzdCA9ICRhcmdzOwogICAgICB9CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX0NPTlRSQVNULCR0aGlzLT5fY29udHJhc3QpOwoKICAgIGlmKCAhJHJlcyApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfQ09OVFJBU1QpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Croptofit_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMiBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0Nyb3B0b2ZpdF9GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHJpdmF0ZSAkX2Rlc3RfdyA9IDA7CiAgcHJpdmF0ZSAkX2Rlc3RfaCA9IDA7CiAgcHJpdmF0ZSAkX2xvYyA9ICdjJzsKICBwcml2YXRlICRfdXBzY2FsZSA9IDA7CiAgc3RhdGljIHByaXZhdGUgJF92YWxpZF9sb2NzID0gYXJyYXkoJ3RsJywndGMnLCd0cicsJ2NsJywnYycsJ2NyJywnYmwnLCdiYycsJ2JyJyk7CiAgIAogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkaW5wdXQpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTbWFydEltYWdlJyk7CiAgICAkdGhpcy0+X2xvYyA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYycsJ2MnKTsKICAgIGlmKCBjZ2VfYXJyYXk6OmlzX2hhc2goJGlucHV0KSApIHsKICAgICAgaWYoIGlzc2V0KCRpbnB1dFsnd2lkdGgnXSkgKSB7CgkkdGhpcy0+X2Rlc3RfdyA9IChpbnQpJGlucHV0Wyd3aWR0aCddOwoJJHRoaXMtPl9kZXN0X2ggPSAoaW50KSRpbnB1dFsnaGVpZ2h0J107CiAgICAgIH0KICAgICAgZWxzZSBpZiAoIGlzc2V0KCRpbnB1dFsndyddKSApIHsKCSR0aGlzLT5fZGVzdF93ID0gKGludCkkaW5wdXRbJ3cnXTsKCSR0aGlzLT5fZGVzdF9oID0gKGludCkkaW5wdXRbJ2gnXTsKICAgICAgfQogICAgICBpZiggaXNzZXQoJGlucHV0Wydsb2MnXSkgJiYgaW5fYXJyYXkoJGlucHV0Wydsb2MnXSxzZWxmOjokX3ZhbGlkX2xvY3MpICkgJHRoaXMtPl9sb2MgPSAkaW5wdXRbJ2xvYyddOwogICAgICBpZiggaXNzZXQoJGlucHV0Wyd1cHNjYWxlJ10pICkgJHRoaXMtPl91cHNjYWxlID0gKGludCkkaW5wdXRbJ3Vwc2NhbGUnXTsKICAgIH0KICAgIGVsc2UgaWYoIGlzX2FycmF5KCRpbnB1dCkgICkgewogICAgICBpZiggY291bnQoJGlucHV0KSA+PSAyICkgewoJJHRoaXMtPl9kZXN0X3cgPSAoaW50KXRyaW0oJGlucHV0WzBdKTsKCSR0aGlzLT5fZGVzdF9oID0gKGludCl0cmltKCRpbnB1dFsxXSk7CglpZiggY291bnQoJGlucHV0KSA+PSAzICYmIGluX2FycmF5KCRpbnB1dFsyXSxzZWxmOjokX3ZhbGlkX2xvY3MpICkgJHRoaXMtPl9sb2MgPSAkaW5wdXRbMl07CglpZiggY291bnQoJGlucHV0KSA+PSA0ICkgJHRoaXMtPl91cHNjYWxlID0gKGludCkkaW5wdXRbM107CiAgICAgIH0KICAgIH0KCiAgICBpZiggISR0aGlzLT5fdXBzY2FsZSApIHsKICAgICAgJHRoaXMtPl9kZXN0X3cgPSBjZ3NpX3V0aWxzOjp0cmltX3RvX2RldmljZSgnd2lkdGgnLCR0aGlzLT5fZGVzdF93KTsKICAgICAgJHRoaXMtPl9kZXN0X2ggPSBjZ3NpX3V0aWxzOjp0cmltX3RvX2RldmljZSgnaGVpZ2h0JywkdGhpcy0+X2Rlc3RfaCk7CiAgICB9CgogICAgaWYoICR0aGlzLT5fZGVzdF9oIDw9IDAgfHwgJHRoaXMtPl9kZXN0X3cgPD0gMCApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgdmFsdWVzIHNwZWNpZmllZCBmb3IgQ3JvcHRvZml0IGZpbHRlciBjb25zdHJ1Y3RvcicpOwogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oQ0dJbWFnZUJhc2UgJHNyYykKICB7CiAgICBpZiggISR0aGlzLT5fdXBzY2FsZSApIHsKICAgICAgLy8gcHJldmVudCBhbnkgdXBzY2FsaW5nCiAgICAgICR0aGlzLT5fZGVzdF93ID0gbWluKCR0aGlzLT5fZGVzdF93LCRzcmNbJ3dpZHRoJ10pOwogICAgICAkdGhpcy0+X2Rlc3RfaCA9IG1pbigkdGhpcy0+X2Rlc3RfaCwkc3JjWydoZWlnaHQnXSk7CiAgICB9CgogICAgLy8gcXVpY2sgb3B0aW1pemF0aW9uIChub3RoaW5nIHRvIGRvKQogICAgaWYoICR0aGlzLT5fZGVzdF93ID09ICRzcmNbJ3dpZHRoJ10gJiYgJHRoaXMtPl9kZXN0X2ggPT0gJHNyY1snaGVpZ2h0J10gKSByZXR1cm4gJHNyYzsKCiAgICAvLwogICAgLy8gbm90ZTogIHRoaXMgY29kZSBkZXZlbG9wZWQgYnkgdXNpbmcgdGhlIGZvbGxvd2luZyBwYWdlIGFzIGEgcmVmZXJlbmNlCiAgICAvLyBodHRwOi8vOTExLW5lZWQtY29kZS1oZWxwLmJsb2dzcG90LmNvbS8yMDA5LzA0L2Nyb3AtdG8tZml0LWltYWdlLXVzaW5nLWFzcHBocC5odG1sCiAgICAvLwogICAgJHNyY19yYXRpbyA9IChmbG9hdCkkc3JjWyd3aWR0aCddIC8gKGZsb2F0KSRzcmNbJ2hlaWdodCddOwogICAgJGRlc3RfcmF0aW8gPSAoZmxvYXQpJHRoaXMtPl9kZXN0X3cgLyAoZmxvYXQpJHRoaXMtPl9kZXN0X2g7CgogICAgLy8gZGV0ZXJtaW5lIHRoZSBzaXplIG9mIHRoZSB0ZW1wIGltYWdlIHRoYXQgZml0cyBpbnRvCiAgICAvLyB0aGUgZGVzaXJlZCBhcmVhIGJ5IGF0IGxlYXN0IG9uZSBkaW1lbnNpb24uCiAgICAkbmV3X2ggPSAnJzsKICAgICRuZXdfdyA9ICcnOwogICAgaWYoICRzcmNfcmF0aW8gPj0gJGRlc3RfcmF0aW8gKSB7CiAgICAgICRuZXdfaCA9IChpbnQpICR0aGlzLT5fZGVzdF9oOwogICAgICAkbmV3X3cgPSAoaW50KSBjZWlsKCR0aGlzLT5fZGVzdF9oICogJHNyY19yYXRpbyk7CiAgICB9CiAgICBlbHNlIGlmKCAkc3JjX3JhdGlvIDwgJGRlc3RfcmF0aW8gKSB7CiAgICAgICRuZXdfdyA9IChpbnQpICR0aGlzLT5fZGVzdF93OwogICAgICAkbmV3X2ggPSAoaW50KSBjZWlsKCR0aGlzLT5fZGVzdF93IC8gJHNyY19yYXRpbyApOwogICAgfQoKICAgIC8vIGdldCB0aGUgdHJhbnNwYXJlbnQgY29sb3Igb2YgdGhlIHNvdXJjZSBpbWFnZS4KICAgICR0YyA9IGltYWdlY29sb3JhdCgkc3JjWydyc3JjJ10sMCwkc3JjWydoZWlnaHQnXS0xKTsKICAgICR0ciA9ICR0ZyA9ICR0YiA9IDA7ICR0YSA9IDEyNzsKICAgIGlmKCAkdGMgPiAwICkgewogICAgICAkdG1wID0gaW1hZ2Vjb2xvcnNmb3JpbmRleCgkc3JjWydyc3JjJ10sJHRjKTsKICAgICAgJHRyID0gJHRtcFsncmVkJ107CiAgICAgICR0ZyA9ICR0bXBbJ2dyZWVuJ107CiAgICAgICR0YiA9ICR0bXBbJ2JsdWUnXTsKICAgICAgJHRhID0gJHRtcFsnYWxwaGEnXTsKICAgIH0KCiAgICAvLyBjcmVhdGUgdGVtcG9yYXJ5IHRyYW5zcGFyZW50IGltYWdlCiAgICAkdG1wX3JzcmMgPSBpbWFnZWNyZWF0ZXRydWVjb2xvcigkbmV3X3csJG5ld19oKTsKICAgIGltYWdlYWxwaGFibGVuZGluZygkdG1wX3JzcmMsIFRSVUUpOwogICAgJHRyYW5zcGFyZW50ID0gaW1hZ2Vjb2xvcmFsbG9jYXRlYWxwaGEoJHRtcF9yc3JjLCAkdHIsICR0ZywgJHRiLCAkdGEpOwogICAgaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCR0bXBfcnNyYywkdHJhbnNwYXJlbnQpOwogICAgaW1hZ2VmaWxsKCR0bXBfcnNyYywgMCwgMCwgJHRyYW5zcGFyZW50KTsKCiAgICAvLyByZXNpemUgdGhlIGJpZyBpbWFnZSBpbnRvIHRoZSB0ZW1wb3JhcnkgdHJhbnNwYXJlbnQgaW1hZ2UKICAgICRyZXMgPSBpbWFnZWNvcHlyZXNhbXBsZWQoJHRtcF9yc3JjLCRzcmNbJ3JzcmMnXSwwLDAsMCwwLCRuZXdfdywkbmV3X2gsJHNyY1snd2lkdGgnXSwkc3JjWydoZWlnaHQnXSk7CiAgICBpZiggJHJlcyA9PT0gRkFMU0UgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdDcm9wdG9maXQgLSBzdGFnZSAxIC0gZmFpbGVkJyk7CgogICAgLy8gY2FsY3VsYXRlIHRoZSBvZmZzZXQgaW50byB0aGUgZGVzdGluYXRpb24gaWFtZ2UuCiAgICBzd2l0Y2goICR0aGlzLT5fbG9jICkgewogICAgY2FzZSAndGwnOgogICAgICAkeDAgPSAwOwogICAgICAkeTAgPSAwOwogICAgICBicmVhazsKCiAgICBjYXNlICd0Yyc6CiAgICAgICR4MCA9IChpbnQpKCAkbmV3X3cgLSAkdGhpcy0+X2Rlc3RfdyApIC8gMjsKICAgICAgJHkwID0gMDsKICAgICAgYnJlYWs7CgogICAgY2FzZSAndHInOgogICAgICAkeDAgPSAoaW50KSggJG5ld193IC0gJHRoaXMtPl9kZXN0X3cgKTsKICAgICAgJHkwID0gMDsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnY2wnOgogICAgICAkeDAgPSAwOwogICAgICAkeTAgPSAoaW50KSggJG5ld19oIC0gJHRoaXMtPl9kZXN0X2ggKSAvIDI7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgJ2NyJzoKICAgICAgJHgwID0gKGludCkoICRuZXdfdyAtICR0aGlzLT5fZGVzdF93ICk7CiAgICAgICR5MCA9IChpbnQpKCAkbmV3X2ggLSAkdGhpcy0+X2Rlc3RfaCApIC8gMjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnYmwnOgogICAgICAkeDAgPSAwOwogICAgICAkeTAgPSAoaW50KSggJG5ld19oIC0gJHRoaXMtPl9kZXN0X2ggKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnYmMnOgogICAgICAkeDAgPSAoaW50KSggJG5ld193IC0gJHRoaXMtPl9kZXN0X3cgKSAvIDI7CiAgICAgICR5MCA9IChpbnQpKCAkbmV3X2ggLSAkdGhpcy0+X2Rlc3RfaCApOwogICAgICBicmVhazsKCiAgICBjYXNlICdicic6CiAgICAgICR4MCA9IChpbnQpKCAkbmV3X3cgLSAkdGhpcy0+X2Rlc3RfdyApOwogICAgICAkeTAgPSAoaW50KSggJG5ld19oIC0gJHRoaXMtPl9kZXN0X2ggKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnYyc6CiAgICBkZWZhdWx0OgogICAgICAvLyBjZW50ZXIKICAgICAgJHgwID0gKGludCkoICRuZXdfdyAtICR0aGlzLT5fZGVzdF93ICkgLyAyOwogICAgICAkeTAgPSAoaW50KSggJG5ld19oIC0gJHRoaXMtPl9kZXN0X2ggKSAvIDI7CiAgICAgIGJyZWFrOwogICAgfQoKICAgIC8vIGNyZWF0ZSBkZXN0aW5hdGlvbiBpbWFnZSBhdCB0aGUgZGVzaXJlZCB0aHVtYiBzaXplLgogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKGFycmF5KCRzcmNbJ3R5cGUnXSwkdGhpcy0+X2Rlc3RfdywkdGhpcy0+X2Rlc3RfaCkpOwoKICAgIC8vIHNldCB0aGlzIHRyYW5zcGFyZW50IGNvbG9yIGludG8gaW50byB0aGUgZGVzdCBpbWFnZS4KICAgICR0cmFuc3BhcmVudDIgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkX2Rlc3RbJ3JzcmMnXSwgJHRyLCAkdGcsICR0YiwgJHRhKTsKICAgIGltYWdlY29sb3J0cmFuc3BhcmVudCgkX2Rlc3RbJ3JzcmMnXSwkdHJhbnNwYXJlbnQyKTsKICAgIGltYWdlZmlsbCgkX2Rlc3RbJ3JzcmMnXSwgMCwgMCwgJHRyYW5zcGFyZW50Mik7CgogICAgLy8gY29weSB0aGUgdGVtcCBpYW1nZSBpbnRvIHRoZSBkZXN0IGltYWdlLgogICAgaW1hZ2VhbHBoYWJsZW5kaW5nKCRfZGVzdFsncnNyYyddLFRSVUUpOyAgCiAgICAkcmVzID0gaW1hZ2Vjb3B5KCRfZGVzdFsncnNyYyddLCR0bXBfcnNyYywwLDAsJHgwLCR5MCwkbmV3X3csJG5ld19oKTsKICAgIGlmKCAkcmVzID09PSBGQUxTRSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0Nyb3B0b2ZpdCAtIHN0YWdlIDIgLSBmYWlsZWQnKTsKICAgIGltYWdlZGVzdHJveSgkdG1wX3JzcmMpOwogICAgcmV0dXJuICRfZGVzdDsKICB9Cgp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Crop_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0Nyb3BfRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIGNvbnN0IEFMSUdOX1RPUCAgICA9ICd0b3AnOwogIGNvbnN0IEFMSUdOX0NFTlRFUiA9ICdjZW50ZXInOwogIGNvbnN0IEFMSUdOX0JPVFRPTSA9ICdib3R0b20nOwogIGNvbnN0IEFMSUdOX0xFRlQgICA9ICdsZWZ0JzsKICBjb25zdCBBTElHTl9SSUdIVCAgPSAncmlnaHQnOwoKICBwcml2YXRlICRfcGVyY2VudCA9IDUwOwogIHByaXZhdGUgJF9oX2FsaWduID0gc2VsZjo6QUxJR05fQ0VOVEVSOwogIHByaXZhdGUgJF92X2FsaWduID0gc2VsZjo6QUxJR05fQ0VOVEVSOwogICAgCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRpbnB1dCkKICB7CiAgICAkcGVyY2VudCA9IDUwOwogICAgJGhfYWxpZ24gPSBDR0ltYWdlX0Nyb3BfRmlsdGVyOjpBTElHTl9DRU5URVI7CiAgICAkdl9hbGlnbiA9IENHSW1hZ2VfQ3JvcF9GaWx0ZXI6OkFMSUdOX0NFTlRFUjsKCiAgICBpZiggY2dlX2FycmF5Ojppc19oYXNoKCRpbnB1dCkgKSB7CiAgICAgICRwZXJjZW50ID0gKGludCkkaW5wdXRbJ3BlcmNlbnQnXTsKICAgICAgJGhfYWxpZ24gPSB0cmltKCRwYXJhbXNbJ2gnXSk7CiAgICAgICR2X2FsaWduID0gdHJpbSgkcGFyYW1zWyd2J10pOwogICAgfQogICAgZWxzZSBpZiggaXNfYXJyYXkoJGlucHV0KSApIHsKICAgICAgaWYoIGNvdW50KCRpbnB1dCkgPiAxICkgJHBlcmNlbnQgPSAoaW50KSRpbnB1dFswXTsKICAgICAgaWYoIGNvdW50KCRpbnB1dCkgPT0gMyApIHsKCSRoX2FsaWduID0gdHJpbSgkaW5wdXRbMV0pOwoJJHZfYWxpZ24gPSB0cmltKCRpbnB1dFsyXSk7CiAgICAgIH0KICAgIH0KICAgIAogICAgJHRoaXMtPl9wZXJjZW50ID0gbWluKDEwMCxtYXgoMSwkcGVyY2VudCkpOwogICAgc3dpdGNoKCRoX2FsaWduKSB7CiAgICBjYXNlICctMSc6CiAgICBjYXNlICdsZWZ0JzoKICAgIGNhc2UgJ2wnOgogICAgICAkdGhpcy0+X2hfYWxpZ24gPSBzZWxmOjpBTElHTl9MRUZUOwogICAgICBicmVhazsKCiAgICBjYXNlICcwJzoKICAgIGNhc2UgJ2MnOgogICAgY2FzZSAnY2VudGVyJzoKICAgICAgJHRoaXMtPl9oX2FsaWduID0gc2VsZjo6QUxJR05fQ0VOVEVSOwogICAgICBicmVhazsKCiAgICBjYXNlICcxJzoKICAgIGNhc2UgJ3InOgogICAgY2FzZSAncmlnaHQnOgogICAgICAkdGhpcy0+X2hfYWxpZ24gPSBzZWxmOjpBTElHTl9SSUdIVDsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCB2YWx1ZSAnLiRoX2FsaWduLicgZm9yIGhvcml6b250YWwgYWxpZ25tZW50Jyk7CiAgICB9CgogICAgc3dpdGNoKCR2X2FsaWduKSB7CiAgICBjYXNlICctMSc6CiAgICBjYXNlICd0JzoKICAgIGNhc2UgJ3RvcCc6CiAgICAgICR0aGlzLT5fdl9hbGlnbiA9IHNlbGY6OkFMSUdOX1RPUDsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnMCc6CiAgICBjYXNlICdjJzoKICAgIGNhc2UgJ2NlbnRlcic6CiAgICAgICR0aGlzLT5fdl9hbGlnbiA9IHNlbGY6OkFMSUdOX0NFTlRFUjsKICAgICAgYnJlYWs7CgogICAgY2FzZSAnMSc6CiAgICBjYXNlICdiJzoKICAgIGNhc2UgJ2JvdHRvbSc6CiAgICAgICR0aGlzLT5fdl9hbGlnbiA9IHNlbGY6OkFMSUdOX0JPVFRPTTsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCB2YWx1ZSAnLiRoX2FsaWduLicgZm9yIGhvcml6b250YWwgYWxpZ25tZW50Jyk7CiAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRuZXdfdyA9IChpbnQpKCRzcmNbJ3dpZHRoJ10gKiAkdGhpcy0+X3BlcmNlbnQgLyAxMDAuMCk7CiAgICAkbmV3X2ggPSAoaW50KSgkc3JjWydoZWlnaHQnXSAqICR0aGlzLT5fcGVyY2VudCAvIDEwMC4wKTsKCiAgICAkc3JjX3ggPSAwOwogICAgc3dpdGNoKCAkdGhpcy0+X2hfYWxpZ24gKSB7CiAgICBjYXNlIHNlbGY6OkFMSUdOX0xFRlQ6CiAgICAgICRzcmNfeCA9IDA7CiAgICAgIGJyZWFrOwoKICAgIGNhc2Ugc2VsZjo6QUxJR05fQ0VOVEVSOgogICAgICAkc3JjX3ggPSAoaW50KSgoJHNyY1snd2lkdGgnXSAtICRuZXdfdykgLyAyKTsKICAgICAgYnJlYWs7CgogICAgY2FzZSBzZWxmOjpBTElHTl9SSUdIVDoKICAgICAgJHNyY194ID0gJHNyY1snd2lkdGgnXSAtICRuZXdfdzsKICAgICAgYnJlYWs7CiAgICB9CgogICAgJHNyY195ID0gMDsKICAgIHN3aXRjaCggJHRoaXMtPl92X2FsaWduICkgewogICAgY2FzZSBzZWxmOjpBTElHTl9UT1A6CiAgICAgICRzcmNfeSA9IDA7CiAgICAgIGJyZWFrOwoKICAgIGNhc2Ugc2VsZjo6QUxJR05fQ0VOVEVSOgogICAgICAkc3JjX3kgPSAoaW50KSgoJHNyY1snaGVpZ2h0J10gLSAkbmV3X2gpIC8gMik7CiAgICAgIGJyZWFrOwoKICAgIGNhc2Ugc2VsZjo6QUxJR05fQk9UVE9NOgogICAgICAkc3JjX3kgPSAkc3JjWydoZWlnaHQnXSA9ICRuZXdfaDsKICAgICAgYnJlYWs7CiAgICB9CgogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKGFycmF5KCRzcmNbJ3R5cGUnXSwkbmV3X3csJG5ld19oKSk7CiAgICAkcmVzID0gaW1hZ2Vjb3B5cmVzYW1wbGVkKCRfZGVzdFsncnNyYyddLCRzcmNbJ3JzcmMnXSwwLDAsJHNyY194LCRzcmNfeSwkbmV3X3csJG5ld19oLCRuZXdfdywkbmV3X2gpOwogICAgaWYoICRyZXMgPT09IEZBTFNFICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignY3JvcCBmYWlsZWQnKTsKCiAgICByZXR1cm4gJF9kZXN0OwogIH0KCn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Edgedetect_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0VkZ2VkZXRlY3RfRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgLy8gbm90aGluZyBoZXJlLgogIH0KCgogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oQ0dJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkX2Rlc3QgPSBuZXcgQ0dJbWFnZUJhc2UoJHNyYyk7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9FREdFREVURUNUKTsKCiAgICBpZiggISRyZXMgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX0VER0VERVRFQ1QpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Emboss_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0VtYm9zc19GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX0VNQk9TUyk7CgogICAgaWYoICEkcmVzICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9FTUJPU1MpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Flip_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogRmlsdGVyIGNsYXNzIGZvciBob3Jpem9udGFsbHkgZmxpcHBpbmcgYW4gaW1hZ2UuCiAqIAogKiBAYXV0aG9yIFJvYmVydCBDYW1wYmVsbCA8Y2FsZ3V5MTAwMEBjbXNtYWRlc2ltcGxlLm9yZz4KICogQHBhY2thZ2UgQ0dTbWFydEltYWdlCiAqLwpjbGFzcyBDR0ltYWdlX0ZsaXBfRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9tb2RlOwoKICBwdWJsaWMgZnVuY3Rpb24gY29uc3RydWN0KCkKICB7CiAgICBpZiggZnVuY19udW1fYXJncygpICE9IDEgKSB7CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgYXJndW1lbnRzIHRvICcuZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICB9CgogICAgJGFyZ3MgPSBmdW5jX2dldF9hcmdzKCk7CiAgICAkYXJncyA9ICRhcmdzWzBdOwogICAgaWYoIGlzX2FycmF5KCRhcmdzKSApIHsKICAgICAgJHRoaXMtPl9tb2RlID0gKGludCkkYXJnc1swXTsKICAgIH0KICAgIGVsc2UgewogICAgICAkdGhpcy0+X21vZGUgPSAkYXJnczsKICAgIH0KICAgICR0aGlzLT5fbW9kZSA9IG1heCgwLCR0aGlzLT5fbW9kZSk7CiAgICAkdGhpcy0+X21vZGUgPSBtaW4oMiwkdGhpcy0+X21vZGUpOwogIH0KCiAgLyoqCiAgICogVHJhbnNmb3JtIHRoZSBzcGVjaWZpZWQgaW1hZ2UgdXNpbmcgdGhlIHBhcmFtZXRlcnMgc2V0CiAgICoKICAgKiBAcGFyYW0gQ0dJbWFnZUJhc2UgVGhlIGltYWdlIHRvIHRyYW5zZm9ybQogICAqIEByZXR1cm4gQ0dJbWFnZUJhc2UgVGhlIHRyYW5zZm9ybWVkIGltYWdlLgogICAqLwogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oQ0dJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkd2lkdGggICAgICAgPSAkc3JjWyd3aWR0aCddOwogICAgJGhlaWdodCAgICAgID0gJHNyY1snaGVpZ2h0J107CgogICAgJHNyY194ICAgICAgID0gMDsKICAgICRzcmNfeSAgICAgICA9IDA7CiAgICAkc3JjX3dpZHRoICAgPSAkd2lkdGg7CiAgICAkc3JjX2hlaWdodCAgPSAkaGVpZ2h0OwoKICAgIHN3aXRjaCAoIChpbnQpICRtb2RlICkgewogICAgY2FzZSAwOgogICAgICAkc3JjX3kgICAgICAgICAgICAgICAgPSAgICAkaGVpZ2h0OwogICAgICAkc3JjX2hlaWdodCAgICAgICAgICAgPSAgICAtJGhlaWdodDsKICAgICAgYnJlYWs7CgogICAgY2FzZSAxOgogICAgICAkc3JjX3ggICAgICAgICAgICAgICAgPSAgICAkd2lkdGg7CiAgICAgICRzcmNfd2lkdGggICAgICAgICAgICA9ICAgIC0kd2lkdGg7CiAgICAgIGJyZWFrOwoKICAgIGNhc2UgMjoKICAgICAgJHNyY194ICAgICAgICAgICAgICAgID0gICAgJHdpZHRoOwogICAgICAkc3JjX3kgICAgICAgICAgICAgICAgPSAgICAkaGVpZ2h0OwogICAgICAkc3JjX3dpZHRoICAgICAgICAgICAgPSAgICAtJHdpZHRoOwogICAgICAkc3JjX2hlaWdodCAgICAgICAgICAgPSAgICAtJGhlaWdodDsKICAgICAgYnJlYWs7CgogICAgZGVmYXVsdDoKICAgICAgcmV0dXJuICRpbWdzcmM7CiAgICB9CgogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKGFycmF5KCRzcmNbJ3R5cGUnXSwkd2lkdGgsJGhlaWdodCkpOwogICAgJHJlcyA9IGltYWdlY29weXJlc2FtcGxlZCAoICRfZGVzdFsncnNyYyddLCAkc3JjWydyc3JjJ10sIDAsIDAsICRzcmNfeCwgJHNyY195LCAkd2lkdGgsICRoZWlnaHQsICRzcmNfd2lkdGgsICRzcmNfaGVpZ2h0ICk7CiAgICBpZiggISRyZXMgKQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdJbWFnZSBUcmFuc2Zvcm0gRmFpbGVkJyk7CgogICAgcmV0dXJuICRfZGVzdDsKICB9Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Grayscale_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX0dyYXlzY2FsZV9GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX0dSQVlTQ0FMRSk7CgogICAgaWYoICEkcmVzICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9HUkFZU0NBTEUpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Meanremoval_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX01lYW5SZW1vdmFsX0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfYXJncyA9IGFycmF5KDAsMCwwLDApOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKQogIHsKICAgIC8vIG5vdGhpbmcgaGVyZS4KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKCRzcmMpOwogICAgJHRtcCA9ICR0aGlzLT5fYXJnczsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX01FQU5fUkVNT1ZBTCk7CgogICAgaWYoICEkcmVzICkgdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9NRUFOX1JFTU9WQUwpOwogICAgcmV0dXJuICRfZGVzdDsKICB9Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Negate_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX05lZ2F0ZV9GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICR0Y29sb3IgPSBpbWFnZWNvbG9yYXQoJHNyY1sncnNyYyddLDAsJHNyY1snaGVpZ2h0J10tMSk7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9ORUdBVEUpOwogICAgaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCRfZGVzdFsncnNyYyddLCR0Y29sb3IpOwoKICAgIGlmKCAhJHJlcyApIHRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfTkVHQVRFKTsKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Pixelate_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX1BpeGVsYXRlX0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfc2l6ZSA9IDM7CiAgcHJpdmF0ZSAkX3BpeGVsYXRlID0gMDsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KC8qIHZhcmlhYmxlIGFyZ3VtZW50cyAqLykKICB7CiAgICAkYXJncyA9IGZ1bmNfZ2V0X2FyZ3MoKTsKICAgIGlmKCBpc19hcnJheSgkYXJnc1swXSkgJiYgY291bnQoJGFyZ3MpID09IDEgKQogICAgICAkYXJncyA9ICRhcmdzWzBdOwoKICAgIGlmKCBjb3VudCgkYXJncykgIT0gMiApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgYXJndW1lbnRzIHRvICcuZ2V0X2NsYXNzKCR0aGlzKSk7CiAgICAgIH0KCiAgICAkdGhpcy0+X3NpemUgPSAoaW50KSRhcmdzWzBdOwogICAgJHRoaXMtPl9waXhlbGF0ZSA9IChpbnQpJGFyZ3NbMV07CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICRyZXMgPSBpbWFnZWZpbHRlcigkX2Rlc3RbJ3JzcmMnXSxJTUdfRklMVEVSX1BJWEVMQVRFLCR0aGlzLT5fcGl4ZWxhdGUpOwoKICAgIGlmKCAhJHJlcyApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0Vycm9yIGFwcGx5aW5nIGZpbHRlciAnLklNR19GSUxURVJfUElYRUxBVEUpOwogICAgICB9CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Reflect_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogRmlsdGVyIGNsYXNzIGZvciBtYWtpbmcgcmVmbGVjdGlvbiBmb3IgaW1hZ2UuCiAqIAogKiBAYXV0aG9yIFRhcGlvIEz2eXR0eSA8c3Rpa2tpQGNtc21hZGVzaW1wbGUub3JnPgogKiBAcGFja2FnZSBDR1NtYXJ0SW1hZ2UKICovCmNsYXNzIENHSW1hZ2VfUmVmbGVjdF9GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHJpdmF0ZSAkX3JlZmxlY3Rpb25faGVpZ2h0CQkJCT0gMTAwOwogIHByaXZhdGUgJF9yZWZsZWN0aW9uX3RyYW5zcGFyZW5jeQkJCT0gMDsKICBwcml2YXRlICRfZGl2X2hlaWdodAkJCQkJCT0gMDsKCiAgcHVibGljIGZ1bmN0aW9uIF9fY29uc3RydWN0KCkKICB7CiAgICBpZihmdW5jX251bV9hcmdzKCkgPiAwKSB7CgoJCSRhcmdzID0gZnVuY19nZXRfYXJncygpOwoJCSRhcmdzID0gKGFycmF5KSRhcmdzWzBdOwoJCQoJCWlmKGlzc2V0KCRhcmdzWzBdKSkKCQkJJHRoaXMtPl9yZWZsZWN0aW9uX2hlaWdodCA9IChpbnQpJGFyZ3NbMF07CgoJCWlmKGlzc2V0KCRhcmdzWzFdKSkKCQkJJHRoaXMtPl9yZWZsZWN0aW9uX3RyYW5zcGFyZW5jeSA9IChpbnQpJGFyZ3NbMV07CgoJCWlmKGlzc2V0KCRhcmdzWzJdKSkKCQkJJHRoaXMtPl9kaXZfaGVpZ2h0ID0gKGludCkkYXJnc1syXTsKCX0KICB9CgogIC8qKgogICAqIFRyYW5zZm9ybSB0aGUgc3BlY2lmaWVkIGltYWdlIHVzaW5nIHRoZSBwYXJhbWV0ZXJzIHNldAogICAqCiAgICogQHBhcmFtIENHSW1hZ2VCYXNlIFRoZSBpbWFnZSB0byB0cmFuc2Zvcm0KICAgKiBAcmV0dXJuIENHSW1hZ2VCYXNlIFRoZSB0cmFuc2Zvcm1lZCBpbWFnZS4KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJHdpZHRoICAgICAgPSAkc3JjWyd3aWR0aCddOwogICAgJGhlaWdodCAgICAgPSAkc3JjWydoZWlnaHQnXTsKCSR0eXBlIAkJPSAkc3JjWyd0eXBlJ107CgkKCS8vIENyZWF0ZSBfZGVzdCBpbWFnZSBhbmQgY29weSBvcmdpbmFsIGltYWdlIGludG8gaXQKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZShhcnJheSgkdHlwZSwgJHdpZHRoLCAkaGVpZ2h0ICsgJHRoaXMtPl9yZWZsZWN0aW9uX2hlaWdodCkpOwoJJHJlcyA9IGltYWdlY29weXJlc2FtcGxlZCgkX2Rlc3RbJ3JzcmMnXSwgJHNyY1sncnNyYyddLCAwLCAwLCAwLCAwLCAkd2lkdGgsICRoZWlnaHQsICR3aWR0aCwgJGhlaWdodCk7CgkKICAgIGlmKCRyZXMgPT09IEZBTFNFKSAKCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdDcmVhdGlvbiBvZiBkZXN0aW5hdGlvbiBpbWFnZSBmYWlsZWQnKTsKICAgICAKCS8vIE1ha2Ugd2hpdGUgbWFzawoJJG1hc2sgPSBpbWFnZWNyZWF0ZXRydWVjb2xvcigkd2lkdGgsICRoZWlnaHQpOwoJJGJnYyA9IGltYWdlY29sb3JhbGxvY2F0ZSgkbWFzaywgMjU1LCAyNTUsIDI1NSk7IC8vIEJhY2tncm91bmQgY29sb3IKCWltYWdlZmlsbGVkcmVjdGFuZ2xlKCRtYXNrLCAwLCAwLCAkd2lkdGgsICRoZWlnaHQsICRiZ2MpOwoKCS8vIEZsaXAgb3JnaW5hbCBpbWFnZSBhbmQgZHVtcCBpdCB0byBuZXcgcGljdHVyZSAoJGR1bXBpbWFnZSkKCSRkdW1waW1hZ2UgPSBpbWFnZWNyZWF0ZXRydWVjb2xvcigkd2lkdGgsICR0aGlzLT5fcmVmbGVjdGlvbl9oZWlnaHQpOwoJJGJnYyA9IGltYWdlY29sb3JhbGxvY2F0ZSgkc3JjWydyc3JjJ10sIDI1NSwgMjU1LCAyNTUpOyAvLyBCYWNrZ3JvdW5kIGNvbG9yCgkkc3JjWydyc3JjJ10gPSBpbWFnZXJvdGF0ZSgkc3JjWydyc3JjJ10sIC0xODAsICRiZ2MpOwoJaW1hZ2Vjb3B5cmVzYW1wbGVkKCRkdW1waW1hZ2UsICRzcmNbJ3JzcmMnXSwgMCwgMCwgMCwgMCwgJHdpZHRoLCAkaGVpZ2h0LCAkd2lkdGgsICRoZWlnaHQpOwoKCS8vIFNldCBPcmdpbmFsIGltYWdlIGFzIGR1bXBpbWFnZSBhbmQgY3JlYXRlIG5ldyAkZHVtcGltYWdlCgkkc3JjWydyc3JjJ10gPSAkZHVtcGltYWdlOwoJJGR1bXBpbWFnZSA9IGltYWdlY3JlYXRldHJ1ZWNvbG9yKCR3aWR0aCwgJHRoaXMtPl9yZWZsZWN0aW9uX2hlaWdodCk7CgoJLy8gTWFrZSBtaXJyb3IgaW1hZ2Ugb2YgY3VycmVudCBPcmdpbmFsIGltYWdlIGFuZCBkdW1wIGl0IHRvICRkdW1waW1hZ2UuIFNldCAkZHVtcGltYWdlIHRvICRzcmNbJ3JzcmMnXQoJZm9yICgkeCA9IDA7ICR4IDwgJHdpZHRoOyAkeCsrKSB7CgoJCWltYWdlY29weSgkZHVtcGltYWdlLCAkc3JjWydyc3JjJ10sICR4LCAwLCAkd2lkdGgtJHgtMSwgMCwgJHdpZHRoLCAkdGhpcy0+X3JlZmxlY3Rpb25faGVpZ2h0KTsKCX0gCgkkc3JjWydyc3JjJ10gPSAkZHVtcGltYWdlOwoKCS8vIFNldCAkbWFzayBvbiAkc3JjWydyc3JjJ10gYW5kIG1ha2UgYWN0dWFsIHJlZmxlY3Rpb24KCSRpbiA9IDEwMC8kdGhpcy0+X3JlZmxlY3Rpb25faGVpZ2h0OwoJZm9yKCRpPTA7ICRpIDw9ICR0aGlzLT5fcmVmbGVjdGlvbl9oZWlnaHQ7ICRpKyspewoKCQlpZigkdGhpcy0+X3JlZmxlY3Rpb25fdHJhbnNwYXJlbmN5ID4gMTAwKSAkdGhpcy0+X3JlZmxlY3Rpb25fdHJhbnNwYXJlbmN5ID0gMTAwOwoKCQlpbWFnZWNvcHltZXJnZSgkc3JjWydyc3JjJ10sICRtYXNrLCAwLCAkaSwgMCwgMCwgJHdpZHRoLCAxLCAkdGhpcy0+X3JlZmxlY3Rpb25fdHJhbnNwYXJlbmN5KTsKCgkJJHRoaXMtPl9yZWZsZWN0aW9uX3RyYW5zcGFyZW5jeSArPSAkaW47Cgl9CgoJLy8gU2V0IERpdmlkZXIgbGluZSBmb3IgJHNyY1sncnNyYyddCgkkcmVzID0gaW1hZ2Vjb3B5bWVyZ2UoJHNyY1sncnNyYyddLCAkbWFzaywgMCwgMCwgMCwgMCwgJHdpZHRoLCAkdGhpcy0+X2Rpdl9oZWlnaHQsIDEwMCk7CgkKICAgIGlmKCRyZXMgPT09IEZBTFNFKSAKCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdDcmVhdGlvbiBvZiBtYXNrIGNvcHkgZmFpbGVkJyk7CQoKCS8vIENvcHkgcmVmbGVjdGlvbiB0byAkX2Rlc3QgaW1hZ2UKCSRyZXMgPSBpbWFnZWNvcHltZXJnZSgkX2Rlc3RbJ3JzcmMnXSwgJHNyY1sncnNyYyddLCAwLCAkaGVpZ2h0LCAwLCAwLCAkd2lkdGgsICR0aGlzLT5fcmVmbGVjdGlvbl9oZWlnaHQsIDEwMCk7CQoKICAgIGlmKCRyZXMgPT09IEZBTFNFKSAKCQl0aHJvdyBuZXcgRXhjZXB0aW9uKCdDcmVhdGlvbiBvZiBmaW5hbCBpbWFnZSBmYWlsZWQnKTsJCgkKICAgIHJldHVybiAkX2Rlc3Q7CQogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Resizetofit_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX1Jlc2l6ZXRvZml0X0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfZGVzdF93ID0gMDsKICBwcml2YXRlICRfZGVzdF9oID0gMDsKICBwcml2YXRlICRfY29sb3I7CiAgcHJpdmF0ZSAkX2FscGhhID0gMDsKICAgIAogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkaW5wdXQpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTbWFydEltYWdlJyk7CiAgICAkdGhpcy0+X2xvYyA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYycsJ2MnKTsKICAgIGlmKCBjZ2VfYXJyYXk6OmlzX2hhc2goJGlucHV0KSApIHsKICAgICAgaWYoIGlzc2V0KCRpbnB1dFsnd2lkdGgnXSkgKSB7CgkkdGhpcy0+X2Rlc3RfdyA9IChpbnQpJGlucHV0Wyd3aWR0aCddOwoJJHRoaXMtPl9kZXN0X2ggPSAoaW50KSRpbnB1dFsnaGVpZ2h0J107CiAgICAgIH0KICAgICAgZWxzZSBpZiAoIGlzc2V0KCRpbnB1dFsndyddKSApIHsKCSR0aGlzLT5fZGVzdF93ID0gKGludCkkaW5wdXRbJ3cnXTsKCSR0aGlzLT5fZGVzdF9oID0gKGludCkkaW5wdXRbJ2gnXTsKICAgICAgfQogICAgICBpZiggaXNzZXQoJGlucHV0Wydjb2xvciddKSAmJiAkaW5wdXRbJ2NvbG9yJ10gIT0gJycpICR0aGlzLT5fY29sb3IgPSBzdHJ0b2xvd2VyKCRpbnB1dFsnY29sb3InXSk7CiAgICAgIGlmKCBpc3NldCgkaW5wdXRbJ2FscGhhJ10pICkgJHRoaXMtPl9hbHBoYSA9IChpbnQpJGlucHV0WydhbHBoYSddOwogICAgfQogICAgZWxzZSBpZiggaXNfYXJyYXkoJGlucHV0KSAgKSB7CiAgICAgIGlmKCBjb3VudCgkaW5wdXQpID49IDIgKSB7CgkkdGhpcy0+X2Rlc3RfdyA9IChpbnQpdHJpbSgkaW5wdXRbMF0pOwoJJHRoaXMtPl9kZXN0X2ggPSAoaW50KXRyaW0oJGlucHV0WzFdKTsKCWlmKCBjb3VudCgkaW5wdXQpID49IDMgKSB7CgkgIGlmKCAkaW5wdXRbMl0gIT0gJycgKSAkdGhpcy0+X2NvbG9yID0gc3RydG9sb3dlcigkaW5wdXRbMl0pOwoJICBpZiggY291bnQoJGlucHV0KSA+PSA0ICkgaWYoICRpbnB1dFszXSAhPSAnJyApICR0aGlzLT5fYWxwaGEgPSAoaW50KSRpbnB1dFszXTsKCX0KICAgICAgfQogICAgfQoKICAgICR0aGlzLT5fZGVzdF93ID0gY2dzaV91dGlsczo6dHJpbV90b19kZXZpY2UoJ3dpZHRoJywkdGhpcy0+X2Rlc3Rfdyk7CiAgICAkdGhpcy0+X2Rlc3RfaCA9IGNnc2lfdXRpbHM6OnRyaW1fdG9fZGV2aWNlKCdoZWlnaHQnLCR0aGlzLT5fZGVzdF9oKTsKCiAgICAvLyB0b2RvOiBjb252ZXJ0IGNvbG9yIG5hbWUgaW50byByZ2IuCiAgICBpZiggJHRoaXMtPl9kZXN0X2ggPD0gMCB8fCAkdGhpcy0+X2Rlc3RfdyA8PSAwIHx8ICR0aGlzLT5fYWxwaGEgPCAwIHx8ICR0aGlzLT5fYWxwaGEgPiAxMjcgKSB7CiAgICAgIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgdmFsdWVzIHNwZWNpZmllZCBmb3IgQ3JvcHRvZml0IGZpbHRlciBjb25zdHJ1Y3RvcicpOwogICAgfQogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgIC8vIHF1aWNrIG9wdGltaXphdGlvbiAobm90aGluZyB0byBkbykKICAgIGlmKCAkdGhpcy0+X2Rlc3RfdyA9PSAkc3JjWyd3aWR0aCddICYmICR0aGlzLT5fZGVzdF9oID09ICRzcmNbJ2hlaWdodCddICkgcmV0dXJuICRzcmM7CgogICAgLy8gY3JlYXRlIG91ciBkZXN0aW5hdGlvbiBpbWFnZS4KICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZShhcnJheSgkc3JjWyd0eXBlJ10sJHRoaXMtPl9kZXN0X3csJHRoaXMtPl9kZXN0X2gpKTsKICAgIGltYWdlYWxwaGFibGVuZGluZygkX2Rlc3RbJ3JzcmMnXSwgVFJVRSk7CgogICAgLy8gZmlsbCBvdXIgaW1hZ2Ugd2l0aCBhIGNvbG9yIChvciB0cmFuc3BhcmVudCkKICAgICRjb2xvciA9IG51bGw7CiAgICBpZiggJF9kZXN0Wyd0cmFuc3BhcmVudCddICkgewogICAgICBpZiggISR0aGlzLT5fY29sb3IgfHwgJHRoaXMtPl9jb2xvciA9PSAndHJhbnNwYXJlbnQnICkgJGNvbG9yID0gJF9kZXN0Wyd0cmFuc3BhcmVudCddOwogICAgfQogICAgaWYoICRjb2xvciA9PSBudWxsICkgewogICAgICAkX3IgPSAkX2cgPSAkX2IgPSAwOwogICAgICBpZiggJHRoaXMtPl9jb2xvciAmJiAkdGhpcy0+X2NvbG9yICE9ICd0cmFuc3BhcmVudCcgKSB7CglsaXN0KCRfciwkX2csJF9iKSA9IGNnc2lfdXRpbHM6OmNvbG9yX3RvX3JnYigkdGhpcy0+X2NvbG9yKTsKICAgICAgfQogICAgICAkY29sb3IgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkX2Rlc3RbJ3JzcmMnXSwgJF9yLCAkX2csICRfYiwgJHRoaXMtPl9hbHBoYSk7CiAgICB9CiAgICAKICAgIGltYWdlZmlsbCgkX2Rlc3RbJ3JzcmMnXSwgMCwgMCwgJGNvbG9yKTsKCiAgICBpZiggKCR0aGlzLT5fZGVzdF93IC8gJHRoaXMtPl9kZXN0X2gpID4gKCRzcmNbJ3dpZHRoJ10vJHNyY1snaGVpZ2h0J10pICkgewogICAgICAvLyBoZWlnaHQgaXMgZ3JlYXRlci4uLiAKICAgICAgJG5ld19oID0gJHRoaXMtPl9kZXN0X2g7CiAgICAgICRuZXdfdyA9IHJvdW5kKCgkbmV3X2ggLyAkc3JjWydoZWlnaHQnXSkgKiAkc3JjWyd3aWR0aCddLCAwKTsKICAgIH0KICAgIGVsc2UgewogICAgICAvLyB3aWR0aCBpcyBncmVhdGVyLgogICAgICAkbmV3X3cgPSAkdGhpcy0+X2Rlc3RfdzsKICAgICAgJG5ld19oID0gcm91bmQoKCRuZXdfdyAvICRzcmNbJ3dpZHRoJ10pICogJHNyY1snaGVpZ2h0J10sIDApOwogICAgfQoKICAgICR4MCA9IChpbnQpKCgkdGhpcy0+X2Rlc3RfdyAtICRuZXdfdykgLyAyKTsKICAgICR5MCA9IChpbnQpKCgkdGhpcy0+X2Rlc3RfaCAtICRuZXdfaCkgLyAyKTsKCiAgICAvLyByZXNpemUgdGhlIGJpZyBpbWFnZSBpbnRvIHRoZSB0ZW1wb3JhcnkgdHJhbnNwYXJlbnQgaW1hZ2UKICAgICRyZXMgPSBpbWFnZWNvcHlyZXNhbXBsZWQoJF9kZXN0Wydyc3JjJ10sJHNyY1sncnNyYyddLCR4MCwkeTAsMCwwLCRuZXdfdywkbmV3X2gsJHNyY1snd2lkdGgnXSwkc3JjWydoZWlnaHQnXSk7CiAgICBpZiggJHJlcyA9PT0gRkFMU0UgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdSZXNpemV0b2ZpdCAtIHN0YWdlIDEgLSBmYWlsZWQnKTsKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQoKfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Resize_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX1Jlc2l6ZV9GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHJpdmF0ZSAkX3dpZHRoOyAgICAgICAgIC8vIGRlc3Qgd2lkdGgKICBwcml2YXRlICRfaGVpZ2h0OyAgICAgICAgLy8gZGVzdCBoZWlnaHQKICBwcml2YXRlICRfZWRnZSA9IDA7CSAgIC8vZWRnZSBzaXplCiAgcHJpdmF0ZSAkX3BlcmNlbnQgPSAwOyAgIC8vIHNjYWxlIHRvIHBlcmNlbnQKICBwcml2YXRlICRfcmVzYW1wbGUgPSAxOyAgLy8gcmVzYW1wbGUsIHZzIHJlc2l6ZS4KICBwcml2YXRlICRfdXBzY2FsZSA9IDE7ICAgLy8gYWxsb3cgdXBzY2FsZSBieSBkZWZhdWx0LgoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoLyogdmFyIGFyZ3MgKi8pCiAgewogICAgJGlucHV0ID0gZnVuY19nZXRfYXJncygpOwogICAgaWYoIGNvdW50KCRpbnB1dCkgPT0gMSAmJiBpc19hcnJheSgkaW5wdXRbMF0pICkgJGlucHV0ID0gJGlucHV0WzBdOwoKICAgIGlmKCBjZ2VfYXJyYXk6OmlzX2hhc2goJGlucHV0KSApIHsKICAgICAgaWYoIGlzc2V0KCRpbnB1dFsnd2lkdGgnXSkgKSAkdGhpcy0+X3dpZHRoID0gKGludCkkaW5wdXRbJ3dpZHRoJ107CiAgICAgIGlmKCBpc3NldCgkaW5wdXRbJ2hlaWdodCddKSApICR0aGlzLT5faGVpZ2h0ID0gKGludCkkaW5wdXRbJ2hlaWdodCddOwogICAgICBpZiggaXNzZXQoJGlucHV0WydwZXJjZW50J10pICkgewoJJHRoaXMtPl9wZXJjZW50ID0gKGludCkkaW5wdXRbJ3BlcmNlbnQnXTsKCSR0aGlzLT5fcGVyY2VudCA9IG1pbigxMDAsbWF4KDEsJHRoaXMtPl9wZXJjZW50KSk7CiAgICAgIH0KICAgICAgaWYoIGlzc2V0KCRpbnB1dFsncmVzYW1wbGUnXSkgKSAkdGhpcy0+X3Jlc2FtcGxlID0gKGludCkkaW5wdXRbJ3Jlc2FtcGxlJ107CiAgICAgIGlmKCBpc3NldCgkaW5wdXRbJ3Vwc2NhbGUnXSkgKSAkdGhpcy0+X3Vwc2NhbGUgPSAoaW50KSRpbnB1dFsndXBzY2FsZSddOwogICAgfQogICAgZWxzZSBpZiggaXNfYXJyYXkoJGlucHV0KSAmJiBjb3VudCgkaW5wdXQpID49IDIgKSB7CiAgICAgICRpZHggPSAyOwogICAgICBzd2l0Y2goICRpbnB1dFswXSApIHsKICAgICAgY2FzZSAncCc6CgkkdGhpcy0+X3BlcmNlbnQgPSAoaW50KSRpbnB1dFsxXTsKCWJyZWFrOwogICAgICBjYXNlICd3JzoKCSR0aGlzLT5fd2lkdGggPSAoaW50KSRpbnB1dFsxXTsKCWJyZWFrOwogICAgICBjYXNlICdoJzoKCSR0aGlzLT5faGVpZ2h0ID0gKGludCkkaW5wdXRbMV07CglicmVhazsKICAgICAgY2FzZSAnZSc6CgkkdGhpcy0+X2VkZ2UgPSAoaW50KSRpbnB1dFsxXTsKICAgICAgY2FzZSAnYyc6CgkkdGhpcy0+X3dpZHRoID0gKGludCkkaW5wdXRbMV07CgkkdGhpcy0+X2hlaWdodCA9IChpbnQpJGlucHV0WzJdOwoJJGlkeCA9IDM7CglicmVhazsKICAgICAgfQoKICAgICAgaWYoIGNvdW50KCRpbnB1dCkgPiAkaWR4ICkgJHRoaXMtPl91cHNjYWxlID0gKGludCkkaW5wdXRbJGlkeF07CiAgICB9CgogICAgaWYoICR0aGlzLT5fd2lkdGggPiAwICkgJHRoaXMtPl93aWR0aCA9IGNnc2lfdXRpbHM6OnRyaW1fdG9fZGV2aWNlKCd3aWR0aCcsJHRoaXMtPl93aWR0aCk7CiAgICBpZiggJHRoaXMtPl9oZWlnaHQgPiAwICkgJHRoaXMtPl9oZWlnaHQgPSBjZ3NpX3V0aWxzOjp0cmltX3RvX2RldmljZSgnaGVpZ2h0JywkdGhpcy0+X2hlaWdodCk7CiAgICBpZiggISgkdGhpcy0+X3BlcmNlbnQgPiAwIHx8ICR0aGlzLT5fd2lkdGggPiAwIHx8ICR0aGlzLT5faGVpZ2h0ID4gMCB8fCAkdGhpcy0+X2VkZ2UgPiAwKSApIHsKICAgICAgdGhyb3cgbmV3IEV4Y2VwdGlvbignQ291bGQgbm90IENyZWF0ZSBSZXNpemUgRmlsdGVyIC0gSW52YWxpZCBQYXJhbWV0ZXJzJyk7CiAgICB9CiAgfQoKCiAgcHJpdmF0ZSBmdW5jdGlvbiBfdHJhbnNmb3JtKENHSW1hZ2VCYXNlICRzcmMsJG5ld193LCRuZXdfaCkKICB7CiAgICBpZiggISR0aGlzLT5fdXBzY2FsZSApIHsKICAgICAgaWYoICRuZXdfdyA+ICRzcmNbJ3dpZHRoJ10gIHx8ICRuZXdfaCA+ICRzcmNbJ2hlaWdodCddICkgewoJLy8gdXBzY2FsaW5nCglyZXR1cm4gJHNyYzsKICAgICAgfQogICAgfQoKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZShhcnJheSgkc3JjWyd0eXBlJ10sJG5ld193LCRuZXdfaCkpOwoKICAgICRyZXMgPSAnJzsKICAgIGlmKCAkdGhpcy0+X3Jlc2FtcGxlICkgewogICAgICAkcmVzID0gaW1hZ2Vjb3B5cmVzYW1wbGVkKCRfZGVzdFsncnNyYyddLCRzcmNbJ3JzcmMnXSwwLDAsMCwwLCRuZXdfdywkbmV3X2gsJHNyY1snd2lkdGgnXSwkc3JjWydoZWlnaHQnXSk7CiAgICB9CiAgICBlbHNlIHsKICAgICAgJHJlcyA9IGltYWdlY29weXJlc2l6ZWQoJF9kZXN0Wydyc3JjJ10sJHNyY1sncnNyYyddLDAsMCwwLDAsJG5ld193LCRuZXdfaCwkc3JjWyd3aWR0aCddLCRzcmNbJ2hlaWdodCddKTsKICAgIH0KICAgIGlmKCAhJHJlcyApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ltYWdlIFRyYW5zZm9ybSBGYWlsZWQnKTsKCiAgICByZXR1cm4gJF9kZXN0OwogIH0KCgogIHByb3RlY3RlZCBmdW5jdGlvbiBfdHJhbnNmb3JtX3BlcmNlbnRhZ2UoQ0dJbWFnZUJhc2UgJHNyYykKICB7CiAgICAkbmV3X3cgPSAoaW50KSgoZmxvYXQpJHNyY1snd2lkdGgnXSAqIChmbG9hdCkkdGhpcy0+X3BlcmNlbnQgLyAxMDAuMCk7CiAgICAkbmV3X2ggPSAoaW50KSgoZmxvYXQpJHNyY1snaGVpZ2h0J10gKiAoZmxvYXQpJHRoaXMtPl9wZXJjZW50IC8gMTAwLjApOwogICAgcmV0dXJuICR0aGlzLT5fdHJhbnNmb3JtKCRzcmMsJG5ld193LCRuZXdfaCk7CiAgfQoKCiAgcHJvdGVjdGVkIGZ1bmN0aW9uIF90cmFuc2Zvcm1fd2lkdGgoQ0dJbWFnZUJhc2UgJHNyYykKICB7CiAgICAvLyBjYWxjdWxhdGUgbmV3IHdpZHRoIGFuZCBoZWlnaHQsIHByZXNlcnZpbmcgYXNwZWN0IHJhdGlvCiAgICAkbmV3X3cgPSAkdGhpcy0+X3dpZHRoOwogICAgJG5ld19oID0gKGludCkoJHRoaXMtPl93aWR0aCAqICRzcmNbJ2hlaWdodCddIC8gJHNyY1snd2lkdGgnXSk7CiAgICByZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm0oJHNyYywkbmV3X3csJG5ld19oKTsKICB9CgogIHByb3RlY3RlZCBmdW5jdGlvbiBfdHJhbnNmb3JtX2hlaWdodChDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgIC8vIGNhbGN1bGF0ZSBuZXcgd2lkdGggYW5kIGhlaWdodCwgcHJlc2VydmluZyBhc3BlY3QgcmF0aW8KICAgICRuZXdfaCA9ICR0aGlzLT5faGVpZ2h0OwogICAgJG5ld193ID0gKGludCkoJHRoaXMtPl9oZWlnaHQgKiAkc3JjWyd3aWR0aCddIC8gJHNyY1snaGVpZ2h0J10pOwogICAgcmV0dXJuICR0aGlzLT5fdHJhbnNmb3JtKCRzcmMsJG5ld193LCRuZXdfaCk7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX3RyYW5zZm9ybV9lZGdlKENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgLy9maW5kIHRoZSBsb25nZXN0IGVkZ2Ugb2YgaW1hZ2UgYW5kIHJlc2l6ZSBiYXNlZCBvbiBpdAogICAgaWYoJHNyY1snd2lkdGgnXSA+ICRzcmNbJ2hlaWdodCddKXsKICAgICAgICAkbmV3X3cgPSAkdGhpcy0+X2VkZ2U7CgkkbmV3X3cgPSBjZ3NpX3V0aWxzOjp0cmltX3RvX2RldmljZSgnd2lkdGgnLCRuZXdfdyk7CiAgICAgICAgJG5ld19oID0gKGludCkoJHRoaXMtPl9lZGdlICogJHNyY1snaGVpZ2h0J10gLyAkc3JjWyd3aWR0aCddKTsKICAgICAgICByZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm0oJHNyYywkbmV3X3csJG5ld19oKTsKCiAgICB9ZWxzZXsKICAgICAgICAkbmV3X2ggPSAkdGhpcy0+X2VkZ2U7CgkkbmV3X2ggPSBjZ3NpX3V0aWxzOjp0cmltX3RvX2RldmljZSgnaGVpZ2h0JywkbmV3X2gpOwogICAgICAgICRuZXdfdyA9IChpbnQpKCR0aGlzLT5fZWRnZSAqICRzcmNbJ3dpZHRoJ10gLyAkc3JjWydoZWlnaHQnXSk7CiAgICAgICAgcmV0dXJuICR0aGlzLT5fdHJhbnNmb3JtKCRzcmMsJG5ld193LCRuZXdfaCk7CiAgICB9CiAgfQogIAogIHByb3RlY3RlZCBmdW5jdGlvbiBfdHJhbnNmb3JtX2N1c3RvbShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgIC8vIHRoaXMgZG9lcyBub3QgcHJlc2VydmUgYXNwZWN0IHJhdGlvLgogICAgJG5ld193ID0gJHRoaXMtPl93aWR0aDsKICAgICRuZXdfaCA9ICR0aGlzLT5faGVpZ2h0OwogICAgcmV0dXJuICR0aGlzLT5fdHJhbnNmb3JtKCRzcmMsJG5ld193LCRuZXdfaCk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkaW1nKQogIHsKICAgIGlmKCAkdGhpcy0+X3BlcmNlbnQgPiAwICkgewogICAgICAvLyBwZXJjZW50YWdlIHJlc2l6ZS4KICAgICAgcmV0dXJuICR0aGlzLT5fdHJhbnNmb3JtX3BlcmNlbnRhZ2UoJGltZyk7CiAgICB9CiAgICBpZigkdGhpcy0+X2VkZ2UgPiAwICYmICgkaW1nWyd3aWR0aCddID4gJHRoaXMtPl9lZGdlIHx8ICRpbWdbJ2hlaWdodCddID4gJHRoaXMtPl9lZGdlKSl7CiAgICAgIC8vcmVzaXplIGJ5IGxvbmdlc3QgZWRnZQogICAgICByZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm1fZWRnZSgkaW1nKTsKICAgIH0KICAgIGlmKCAkdGhpcy0+X3dpZHRoID4gMCAmJiAkdGhpcy0+X2hlaWdodCA9PSAwICYmICRpbWdbJ3dpZHRoJ10gPiAkdGhpcy0+X3dpZHRoICkgewogICAgICByZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm1fd2lkdGgoJGltZyk7CiAgICB9CiAgICBpZiggJHRoaXMtPl93aWR0aCA9PSAwICYmICR0aGlzLT5faGVpZ2h0ID4gMCAmJiAkaW1nWydoZWlnaHQnXSA+ICR0aGlzLT5faGVpZ2h0ICkgewogICAgICByZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm1faGVpZ2h0KCRpbWcpOwogICAgfQogICAgaWYoICR0aGlzLT5fd2lkdGggPiAwICYmICR0aGlzLT5faGVpZ2h0ID4gMCAmJiAkaW1nWyd3aWR0aCddID4gJHRoaXMtPl93aWR0aCAmJiAkaW1nWydoZWlnaHQnXSA+ICR0aGlzLT5faGVpZ2h0ICkgewogICAgICByZXR1cm4gJHRoaXMtPl90cmFuc2Zvcm1fY3VzdG9tKCRpbWcpOwogICAgfQogICAgLy8gbm90aGluZyB0byBkby4uLi4gYnV0IHRyaWNrIHRoZSBpbWFnZSB0byBiZSBkaXJ0eS4KICAgICRpbWdbJ2hlaWdodCddID0gJGltZ1snaGVpZ2h0J107CiAgICByZXR1cm4gJGltZzsKICB9Cn0KCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Rotate_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogSW1hZ2Ugcm90YXRpb24gZmlsdGVyIGNsYXNzCiAqIAogKiBBbGxvd3Mgcm90YXRpbmcgYW4gaW1hZ2UgYSBzcGVjaWZpZWQgbnVtYmVyIG9mIGRlZ3JlZXMuCiAqCiAqIEBhdXRob3IgUm9iZXJ0IENhbXBiZWxsIDxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPgogKiBAcGFja2FnZSBDR1NtYXJ0SW1hZ2UKICovCmNsYXNzIENHSW1hZ2VfUm90YXRlX0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICAvKioKICAgKiBUaGUgbnVtYmVyIG9mIGRlZ3JlZXMgdG8gcm90YXRlCiAgICoKICAgKiBAYWNjZXNzIHByaXZhdGUKICAgKiBAdmFyIGludGVnZXIKICAgKi8KICBwcml2YXRlICRfYW5nbGUgPSAwOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoLyogdmFyaWFibGUgYXJndW1lbnRzICovKQogIHsKICAgICRhcmdzID0gZnVuY19nZXRfYXJncygpOwogICAgaWYoIGlzX2FycmF5KCRhcmdzWzBdKSAmJiBjb3VudCgkYXJncykgPT0gMSkgJGFyZ3MgPSAkYXJnc1swXTsKICAgIGlmKCBjb3VudCgkYXJncykgIT0gMSApIHRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgYXJndW1lbnRzIHNwZWNpZmllZCBmb3IgJy5nZXRfY2xhc3MoJHRoaXMpKTsKICAgICR0aGlzLT5fYW5nbGUgPSAoaW50KSRhcmdzWzBdICUgMzYwOwogIH0KCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRhbmdsZSA9ICR0aGlzLT5fYW5nbGUgJSAzNjA7CiAgICBpZiggJGFuZ2xlID09IDAgKSByZXR1cm4gJHNyYzsgLy8gbm90aGluZyB0byBkby4KCiAgICAkX2Rlc3QgPSBuZXcgQ0dJbWFnZUJhc2UoJHNyYyk7CgogICAgaWYoICFmdW5jdGlvbl9leGlzdHMoJ2ltYWdlcm90YXRlJykgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdpbWFnZXJvdGF0ZSBmdW5jdGlvbiBub3QgZm91bmQnKTsKCiAgICAkdGNvbG9yID0gaW1hZ2Vjb2xvcmF0KCRzcmNbJ3JzcmMnXSwwLCRzcmNbJ2hlaWdodCddLTEpOwogICAgJHJlcyA9IGltYWdlcm90YXRlKCRzcmNbJ3JzcmMnXSwkdGhpcy0+X2FuZ2xlICogLTEsJHRjb2xvcik7CiAgICBpZiggJHJlcyA9PT0gRkFMU0UgKSB0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX0NPTE9SSVpFKTsKCiAgICBpbWFnZWNvbG9ydHJhbnNwYXJlbnQoJHJlcywkdGNvbG9yKTsKICAgICRfZGVzdFsncnNyYyddID0gJHJlczsKICAgICRfZGVzdFsnd2lkdGgnXSA9IGltYWdlc3goJHJlcyk7CiAgICAkX2Rlc3RbJ2hlaWdodCddID0gaW1hZ2VzeSgkcmVzKTsKICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Roundedcorners_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX1JvdW5kZWRjb3JuZXJzX0ZpbHRlciBleHRlbmRzIENHSW1hZ2VGaWx0ZXJCYXNlCnsKICBwcml2YXRlICRfcmFkaXVzOwoKICBwdWJsaWMgZnVuY3Rpb24gX19jb25zdHJ1Y3QoJGlucHV0KQogIHsKICAgIGlmKCBjZ2VfYXJyYXk6OmlzX2hhc2goJGlucHV0KSApCiAgICAgIHsKCWlmKCBpc3NldCgkaW5wdXRbJ3JhZGl1cyddKSApCgkgIHsKCSAgICAkdGhpcy0+X3JhZGl1cyA9IChpbnQpJGlucHV0WydyYWRpdXMnXTsKCSAgfQogICAgICB9CiAgICBlbHNlIGlmKCBpc19hcnJheSgkaW5wdXQpICkKICAgICAgewoJaWYoIGNvdW50KCRpbnB1dCkgPT0gMSApCgkgIHsKCSAgICAkdGhpcy0+X3JhZGl1cyA9IChpbnQpJGlucHV0WzBdOwoJICB9CiAgICAgIH0KCiAgICBpZiggJHRoaXMtPl9yYWRpdXMgPD0gMSApCiAgICAgIHsKCXRocm93IG5ldyBFeGNlcHRpb24oJ0ludmFsaWQgdmFsdWVzIHNwZWNpZmllZCBmb3IgUm91bmRlZGNvcm5lcnMgZmlsdGVyIGNvbnN0cnVjdG9yJyk7CiAgICAgIH0KICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJHdpZHRoID0gJHNyY1snd2lkdGgnXTsKICAgICRoZWlnaHQgPSAkc3JjWydoZWlnaHQnXTsKICAgICRyYWRpdXMgPSAkdGhpcy0+X3JhZGl1czsKCiAgICAvLyBjcmVhdGUgdGhlIG5ldyBpbWFnZSAKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZShhcnJheSgkc3JjWyd0eXBlJ10sJHNyY1snd2lkdGgnXSwkc3JjWydoZWlnaHQnXSkpOwogICAgLy9pbWFnZWFscGhhYmxlbmRpbmcoJF9kZXN0Wydyc3JjJ10sVFJVRSk7CiAgICBpbWFnZWNvcHkoJF9kZXN0Wydyc3JjJ10sJHNyY1sncnNyYyddLDAsMCwwLDAsJHNyY1snd2lkdGgnXSwkc3JjWydoZWlnaHQnXSk7CiAgICAvL2ltYWdlc2F2ZWFscGhhKCRfZGVzdFsncnNyYyddLHRydWUpOwoKICAgIC8vIGZpbmQgYW4gdW5zZWQgcmdiIHRyaXBsZXQuCiAgICAkZm91bmQgPSBmYWxzZTsgCiAgICB3aGlsZSgkZm91bmQgPT0gZmFsc2UpIHsgCiAgICAgIAogICAgICAkciA9IHJhbmQoMCwgMjU1KTsgCiAgICAgICRnID0gcmFuZCgwLCAyNTUpOyAKICAgICAgJGIgPSByYW5kKDAsIDI1NSk7IAogICAgICAKICAgICAgaWYoaW1hZ2Vjb2xvcmV4YWN0KCRzcmNbJ3JzcmMnXSwgJHIsICRnLCAkYikgIT0gKC0xKSkgeyAgICAgICAgIAogICAgICAgICRjb2xvcmNvZGUgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkX2Rlc3RbJ3JzcmMnXSwgJHIsICRnLCAkYiwgMTI3KTsgCglpbWFnZWNvbG9ydHJhbnNwYXJlbnQoJF9kZXN0Wydyc3JjJ10sJGNvbG9yY29kZSk7CiAgICAgICAgJGZvdW5kID0gdHJ1ZTsgICAgICAgICAKICAgICAgfQogICAgfQoKICAgIC8vICAgIGluY2x1ZGVfb25jZShkaXJuYW1lKF9fRklMRV9fKS4nL2ltYWdlU21vb3RoQXJjX29wdGltaXplZC5waHAnKTsKCiAgICAvLyByb3VuZCB0aGUgY29ybmVycy4KICAgIGltYWdlYXJjKCRfZGVzdFsncnNyYyddLCRyYWRpdXMtMSwkcmFkaXVzLTEsJHJhZGl1cyoyLCRyYWRpdXMqMiwgMTgwLCAyNzAsICRjb2xvcmNvZGUpOwogICAgaW1hZ2VmaWxsdG9ib3JkZXIoJF9kZXN0Wydyc3JjJ10sMCwwLCRjb2xvcmNvZGUsJGNvbG9yY29kZSk7CiAgICAKICAgIGltYWdlYXJjKCRfZGVzdFsncnNyYyddLCAkd2lkdGgtJHJhZGl1cywgJHJhZGl1cy0xLCAkcmFkaXVzKjIsICRyYWRpdXMqMiwgMjcwLCAwLCAkY29sb3Jjb2RlKTsgCiAgICBpbWFnZWZpbGx0b2JvcmRlcigkX2Rlc3RbJ3JzcmMnXSwgJHdpZHRoLTEsIDAsICRjb2xvcmNvZGUsICRjb2xvcmNvZGUpOwoKICAgIGltYWdlYXJjKCRfZGVzdFsncnNyYyddLCAkcmFkaXVzLTEsICRoZWlnaHQtJHJhZGl1cywgJHJhZGl1cyoyLCAkcmFkaXVzKjIsIDkwLCAxODAsICRjb2xvcmNvZGUpOyAKICAgIGltYWdlZmlsbHRvYm9yZGVyKCRfZGVzdFsncnNyYyddLCAwLCAkaGVpZ2h0LTEsICRjb2xvcmNvZGUsICRjb2xvcmNvZGUpOwoKICAgIGltYWdlYXJjKCRfZGVzdFsncnNyYyddLCAkd2lkdGgtJHJhZGl1cywgJGhlaWdodC0kcmFkaXVzLCAkcmFkaXVzKjIsICRyYWRpdXMqMiwgMCwgOTAsICRjb2xvcmNvZGUpOyAKICAgIGltYWdlZmlsbHRvYm9yZGVyKCRfZGVzdFsncnNyYyddLCAkd2lkdGgtMSwgJGhlaWdodC0xLCAkY29sb3Jjb2RlLCAkY29sb3Jjb2RlKTsKCiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Selectiveblur_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogU2VsZWN0aXZlIEJsdXIgaW1hZ2UgZmlsdGVyIGNsYXNzCiAqCiAqIFBlcmZvcm1zIGEgc2VsZWN0aXZlIGJsdXIgb24gdGhlIHByb3ZpZGVkIGltYWdlLgogKiBUaGVyZSBhcmUgbm8gcGFyYW1ldGVycyB0byB0aGlzIGZpbHRlcmluZyBtZXRob2QuCiAqCiAqIEBhdXRob3IgUm9iZXJ0IENhbXBiZWxsIDxjYWxndXkxMDAwQGNtc21hZGVzaW1wbGUub3JnPgogKiBAcGFja2FnZSBDR1NtYXJ0SW1hZ2UKICovCmNsYXNzIENHSW1hZ2VfU2VsZWN0aXZlYmx1cl9GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgCiAgLyoqCiAgICogVHJhbnNmb3JtIHRoZSBzcGVjaWZpZWQgaW1hZ2UKICAgKgogICAqIEBwYXJhbSBDR0ltYWdlQmFzZSBUaGUgaW1hZ2UgdG8gdHJhbnNmb3JtCiAgICogQHJldHVybiBDR0ltYWdlQmFzZSBUaGUgdHJhbnNmb3JtZWQgaW1hZ2UuCiAgICovCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkc3JjKQogIHsKICAgICRfZGVzdCA9IG5ldyBDR0ltYWdlQmFzZSgkc3JjKTsKICAgICR0bXAgPSAkdGhpcy0+X2FyZ3M7CiAgICAkcmVzID0gaW1hZ2VmaWx0ZXIoJF9kZXN0Wydyc3JjJ10sSU1HX0ZJTFRFUl9TRUxFQ1RJVkVfQkxVUik7CgogICAgaWYoICEkcmVzICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICcuSU1HX0ZJTFRFUl9TRUxFQ1RJVkVfQkxVUik7CiAgICAgIH0KICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Sharpen_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMyBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX1NoYXJwZW5fRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIHByaXZhdGUgJF9tYXRyaXggPSBhcnJheShhcnJheSgwLC0zLDApLGFycmF5KC0zLDIxLC0zKSxhcnJheSgwLC0zLDApKTsKICBwcml2YXRlICRfZGl2aXNvciA9IDk7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgvKiB2YXIgYXJncyAqLykKICB7CiAgICAkaW5wdXQgPSBmdW5jX2dldF9hcmdzKCk7CiAgICBpZiggaXNfYXJyYXkoJGlucHV0KSAmJiBjb3VudCgkaW5wdXQpID09IDEgKSAkaW5wdXQgPSAkaW5wdXRbMF07CgogICAgJGFkaiA9IDA7CiAgICBpZiggY2dlX2FycmF5Ojppc19oYXNoKCRpbnB1dCkgJiYgaXNzZXQoJGlucHV0WydkaXZpc29yJ10pICkgewogICAgICAkYWRqID0gKGZsb2F0KSRpbnB1dFsnZGl2aXNvciddOwogICAgfQogICAgZWxzZSBpZiggaXNfYXJyYXkoJGlucHV0KSAmJiBjb3VudCgkaW5wdXQpID49IDEgKSB7CiAgICAgICRhZGogPSAoZmxvYXQpJGlucHV0WzBdOyAgIAogICAgfQogICAgJHRoaXMtPl9kaXZpc29yICs9IG1heCgtMTAsbWluKDEwLCRhZGopKTsKICB9CgogIHB1YmxpYyBmdW5jdGlvbiB0cmFuc2Zvcm0oQ0dJbWFnZUJhc2UgJHNyYykKICB7CiAgICAvLyBjb3B5IHRoZSBpbWFnZSAocGl4ZWwgZm9yIHBpeGVsKQogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKCRzcmMpOwogICAgaW1hZ2Vjb3B5KCRfZGVzdFsncnNyYyddLCRzcmNbJ3JzcmMnXSwwLDAsMCwwLCRzcmNbJ3dpZHRoJ10sJHNyY1snaGVpZ2h0J10pOwogICAgaW1hZ2Vjb252b2x1dGlvbigkX2Rlc3RbJ3JzcmMnXSwkdGhpcy0+X21hdHJpeCwkdGhpcy0+X2Rpdmlzb3IsMCk7CiAgICByZXR1cm4gJF9kZXN0OwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Smooth_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgovKioKICogU21vb3RoaW5nIEltYWdlIGltYWdlIGZpbHRlciBjbGFzcwogKiAKICogUGVyZm9ybXMgYSBzbW9vdGhpbmcgZmlsdGVyIG9uIHRoZSBzdXBwbGllZCBpbWFnZS4KICoKICogQGF1dGhvciBSb2JlcnQgQ2FtcGJlbGwgPGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmc+CiAqIEBwYWNrYWdlIENHU21hcnRJbWFnZQogKi8KY2xhc3MgQ0dJbWFnZV9TbW9vdGhfRmlsdGVyIGV4dGVuZHMgQ0dJbWFnZUZpbHRlckJhc2UKewogIC8qKgogICAqIFRoZSBTbW9vdGhpbmcgU2ljZQogICAqIEBhY2Nlc3MgcHJpdmF0ZQogICAqLwogIHByaXZhdGUgJF9zbW9vdGggPSAwOwoKICAvKioKICAgKiBDb25zdHJ1Y3Rvci4KICAgKgogICAqIFRoaXMgbWV0aG9kIGFjY2VwdHMgYSB2YXJpZXR5IG9mIHdheXMgb2Ygc3BlY2lmeWluZyB0aGUgc21vb3RobmVzcyBmYWN0b3IuCiAgICogaS5lOiAgJG9iaiA9IG5ldyBDR0ltYWdlX1Ntb290aF9GaWx0ZXIoMyk7CiAgICogaS5lOiAgJG9iaiA9IG5ldyBDR0ltYWdlX1Ntb290aF9GaWx0ZXIoYXJyYXkoMykpOwogICAqLwogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgvKiB2YXJpYWJsZSBhcmd1bWVudHMgKi8pCiAgewogICAgaWYoIGZ1bmNfbnVtX2FyZ3MoKSAhPSAxICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignSW52YWxpZCBhcmd1bWVudHMgdG8gJy5nZXRfY2xhc3MoJHRoaXMpKTsKICAgICAgfQoKICAgICRhcmdzID0gZnVuY19nZXRfYXJncygpOwogICAgJGFyZ3MgPSAkYXJnc1swXTsKICAgIGlmKCBpc19hcnJheSgkYXJncykgKQogICAgICB7CgkkdGhpcy0+X3Ntb290aCA9IChpbnQpJGFyZ3NbMF07CiAgICAgIH0KICAgIGVsc2UKICAgICAgewoJJHRoaXMtPl9zbW9vdGggPSAkYXJnczsKICAgICAgfQogIH0KCgogIC8qKgogICAqIFRyYW5zZm9ybSB0aGUgc3BlY2lmaWVkIGltYWdlIHVzaW5nIHRoZSBwYXJhbWV0ZXJzIHNldAogICAqCiAgICogQHBhcmFtIENHSW1hZ2VCYXNlIFRoZSBpbWFnZSB0byB0cmFuc2Zvcm0KICAgKiBAcmV0dXJuIENHSW1hZ2VCYXNlIFRoZSB0cmFuc2Zvcm1lZCBpbWFnZS4KICAgKi8KICBwdWJsaWMgZnVuY3Rpb24gdHJhbnNmb3JtKENHSW1hZ2VCYXNlICRzcmMpCiAgewogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKCRzcmMpOwogICAgJHJlcyA9IGltYWdlZmlsdGVyKCRfZGVzdFsncnNyYyddLElNR19GSUxURVJfU01PT1RILCR0aGlzLT5fc21vb3RoKTsKCiAgICBpZiggISRyZXMgKQogICAgICB7Cgl0aHJvdyBuZXcgRXhjZXB0aW9uKCdFcnJvciBhcHBseWluZyBmaWx0ZXIgJy5JTUdfRklMVEVSX1NNT09USCk7CiAgICAgIH0KICAgIHJldHVybiAkX2Rlc3Q7CiAgfQp9CgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGImage_Watermark_Filter.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR0ltYWdlX1dhdGVybWFya19GaWx0ZXIgZXh0ZW5kcyBDR0ltYWdlRmlsdGVyQmFzZQp7CiAgcHJpdmF0ZSAkX3dtaW1nID0gbnVsbDsKICBwcml2YXRlICRfd21pbmZvID0gbnVsbDsKICBwcml2YXRlICRfaG1hcmdpbiA9IDQwOwogIHByaXZhdGUgJF92bWFyZ2luID0gNDA7CiAgcHJpdmF0ZSAkX2hlaWdodCA9IG51bGw7CiAgcHJpdmF0ZSAkX3dpZHRoID0gbnVsbDsKICBwcml2YXRlICRfYWxpZ24gPSBjZ193YXRlcm1hcms6OkFMSUdOX01DOwogIHByaXZhdGUgJF90cmFuc2x1Y2VuY3kgPSA1MDsKICBwcml2YXRlICRfdXNlX21lcmdlID0gZmFsc2U7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgpCiAgewogICAgJGNnZSA9IGNnZV91dGlsczo6Z2V0X2NnZSgpOwogICAgJHR4dCA9ICRjZ2UtPkdldFByZWZlcmVuY2UoJ3dhdGVybWFya190ZXh0Jyk7CiAgICAkaW1nID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX2ZpbGUnKTsKICAgICR0aGlzLT5fYWxpZ24gPSAkY2dlLT5HZXRQcmVmZXJlbmNlKCd3YXRlcm1hcmtfYWxpZ25tZW50JyxjZ193YXRlcm1hcms6OkFMSUdOX01DKTsKICAgICR0aGlzLT5fdHJhbnNsdWNlbmN5ID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX3RyYW5zbHVjZW5jeScsNTApOwogICAgCiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAKICAgIGlmKCAhZW1wdHkoJGltZykgJiYgZmlsZV9leGlzdHMoY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkaW1nKSkgKQogICAgICB7CgkkdG1wID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkaW1nKTsKCSR0aGlzLT5fd21pbmZvID0gZ2V0aW1hZ2VzaXplKCR0bXApOwoJJHRoaXMtPl93aWR0aCA9ICR0aGlzLT5fd21pbmZvWzBdOwoJJHRoaXMtPl9oZWlnaHQgPSAkdGhpcy0+X3dtaW5mb1sxXTsKCSRkYXRhID0gQGZpbGVfZ2V0X2NvbnRlbnRzKCR0bXApOwoJJHRoaXMtPl93bWltZyA9IGltYWdlY3JlYXRlZnJvbXN0cmluZygkZGF0YSk7CiAgICAgIH0KICAgIGVsc2UgaWYoICFlbXB0eSgkdHh0KSApCiAgICAgIHsKCSRmb250ID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX2ZvbnQnKTsKCWlmKCAhc3RhcnRzd2l0aCgkZm9udCwnLycpICkKCSAgewoJICAgICRmb250ID0gJGNnZS0+R2V0TW9kdWxlUGF0aCgpLicvZm9udHMvJy4kZm9udDsKCSAgfQoJJHNpemUgPSAkY2dlLT5HZXRQcmVmZXJlbmNlKCd3YXRlcm1hcmtfdGV4dHNpemUnKTsKCSRhbmdsID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX3RleHRhbmdsZScsMCk7CgkkYW5nbCA9IChmbG9hdCkkYW5nbDsKCSRmY2xyID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX3RleHRjb2xvcicsJyMwMDAwMDAnKTsKCSRiY2xyID0gJGNnZS0+R2V0UHJlZmVyZW5jZSgnd2F0ZXJtYXJrX2JnY29sb3InLCcjZmZmZmZmJyk7CgkkdHBudCA9ICRjZ2UtPkdldFByZWZlcmVuY2UoJ3dhdGVybWFya190cmFuc3BhcmVudCcsMSk7CgoJaWYoICEkZm9udCB8fCAhJHNpemUgKSAKCSAgdGhyb3cgbmV3IEV4Y2VwdGlvbignSW5zdWZmaWNpZW50IGluZm9ybWF0aW9uIHRvIGdlbmVyYXRlIHdhdGFybWFyay4uLiBFbnN1cmUgd2F0ZXJtYXJrIHByZWZlcmVuY2VzIGFyZSBzZXQgaW4gQ0dFeHRlbnNpb25zJyk7CgoJLy8gY2FsY3VsYXRlIGEgc2l6ZSBmb3IgdGhlIGltYWdlCgkkdG1wID0gaW1hZ2VmdGJib3goJHNpemUsJGFuZ2wsJGZvbnQsJHR4dCk7CgkkdGhpcy0+X3dpZHRoID0gYWJzKCR0bXBbMF0pK2FicygkdG1wWzJdKSskdGhpcy0+X2htYXJnaW47CgkkdGhpcy0+X2hlaWdodCA9IGFicygkdG1wWzFdKSthYnMoJHRtcFs1XSkrJHRoaXMtPl92bWFyZ2luOwoKCS8vIGNyZWF0ZSB0aGUgaW1hZ2UuCgkkdGhpcy0+X3dtaW1nID0gaW1hZ2VjcmVhdGV0cnVlY29sb3IoJHRoaXMtPl93aWR0aCwkdGhpcy0+X2hlaWdodCk7CgkkdGhpcy0+X3VzZV9tZXJnZSA9IHRydWU7CgkKCS8vIGJnY29sb3IKCSRyID0gaGV4ZGVjKHN1YnN0cigkYmNsciwxLDIpKTsgJGcgPSBoZXhkZWMoc3Vic3RyKCRiY2xyLDMsMikpOyAkYiA9IGhleGRlYyhzdWJzdHIoJGJjbHIsNSwyKSk7CgkkYmMgPSBpbWFnZWNvbG9yYWxsb2NhdGVhbHBoYSgkdGhpcy0+X3dtaW1nLCRyLCRnLCRiLCgkdHBudCk/MDoxMjcpOwoJLy8gZmlsbCB0aGUgYmFja2dyb3VuZAoJaW1hZ2VmaWxsZWRyZWN0YW5nbGUoJHRoaXMtPl93bWltZywwLDAsJHRoaXMtPl93aWR0aC0xLCR0aGlzLT5faGVpZ2h0LTEsJGJjKTsKCS8vIG1ha2UgdGhlIGJhY2tncm91bmQgdHJhbnNwYXJlbnQuCglpZiggJHRwbnQgKQoJICB7CgkgICAgaW1hZ2Vjb2xvcnRyYW5zcGFyZW50KCR0aGlzLT5fd21pbWcsJGJjKTsKCSAgfQoJCgkvLyBkcmF3IHRoZSBmb3JlZ3JvdW5kIHRleHQKCSRyID0gaGV4ZGVjKHN1YnN0cigkZmNsciwxLDIpKTsgJGcgPSBoZXhkZWMoc3Vic3RyKCRmY2xyLDMsMikpOyAkYiA9IGhleGRlYyhzdWJzdHIoJGZjbHIsNSwyKSk7CgkkZmMgPSBpbWFnZWNvbG9yYWxsb2NhdGUoJHRoaXMtPl93bWltZywkciwkZywkYik7CgkkcmVzID0gaW1hZ2VUVEZUZXh0KCR0aGlzLT5fd21pbWcsJHNpemUsJGFuZ2wsKGludCkoJHRoaXMtPl9obWFyZ2luLzIpLChpbnQpKCR0aGlzLT5faGVpZ2h0IC0gJHRoaXMtPl92bWFyZ2luLzIpLAoJCQkgICAgJGZjLCRmb250LCR0eHQpOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIHRyYW5zZm9ybShDR0ltYWdlQmFzZSAkaW1hZ2UpCiAgewogICAgJF9kZXN0ID0gbmV3IENHSW1hZ2VCYXNlKCRpbWFnZSk7CiAgICBpZiggJGltYWdlWyd3aWR0aCddIDwgJHRoaXMtPl93aWR0aCB8fCAkaW1hZ2VbJ2hlaWdodCddIDwgJHRoaXMtPl9oZWlnaHQgKSAKICAgICAgewoJcmV0dXJuICRfZGVzdDsKICAgICAgfQoKICAgIC8vIEZpbmQgb3V0IHRoZSBwbGFjZW1lbnQgb2YgdGhlIHdhdGVybWFyawogICAgLy8gb24gdGhlIHJlc3VsdCBpbWFnZQogICAgJHBvc3ggPSAnJzsKICAgICRwb3N5ID0gJyc7CiAgICAkY3ggPSAoJGltYWdlWyd3aWR0aCddIC0gJHRoaXMtPl93aWR0aCkvMjsKICAgICRjeSA9ICgkaW1hZ2VbJ2hlaWdodCddIC0gJHRoaXMtPl9oZWlnaHQpLzI7ICAgIAogICAgc3dpdGNoKCAkdGhpcy0+X2FsaWduICkKICAgICAgewogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fVUw6CgkkcG9zeCA9IChpbnQpJHRoaXMtPl9wYWRkaW5nX3g7CgkkcG9zeSA9IChpbnQpJHRoaXMtPl9wYWRkaW5nX3k7CglicmVhazsKCiAgICAgIGNhc2UgY2dfd2F0ZXJtYXJrOjpBTElHTl9VQzoKCSRwb3N4ID0gJGN4OwoJJHBvc3kgPSAoaW50KSR0aGlzLT5fcGFkZGluZ195OwoJYnJlYWs7CgogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fVVI6CgkkcG9zeCA9IChpbnQpKCRpbWFnZVsnd2lkdGgnXSAtICR0aGlzLT5fd2lkdGgpOwoJJHBvc3kgPSAwOwoJYnJlYWs7CgogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fTUw6CgkkcG9zeCA9IDA7CgkkcG9zeSA9IChpbnQpJGN5OwoJYnJlYWs7CgogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fTUM6CgkkcG9zeCA9IChpbnQpJGN4OwoJJHBvc3kgPSAoaW50KSRjeTsKCWJyZWFrOwoKICAgICAgY2FzZSBjZ193YXRlcm1hcms6OkFMSUdOX01SOgoJJHBvc3ggPSAoaW50KSgkaW1hZ2VbJ3dpZHRoJ10gLSAkdGhpcy0+X3dpZHRoKTsKCSRwb3N5ID0gKGludCkkY3k7CglicmVhazsKCiAgICAgIGNhc2UgY2dfd2F0ZXJtYXJrOjpBTElHTl9MTDoKCSRwb3N4ID0gKGludCkwOwoJJHBvc3kgPSAoaW50KSgkaW1hZ2VbJ2hlaWdodCddIC0gJHRoaXMtPl9oZWlnaHQpOwoJYnJlYWs7CgogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fTEM6CgkkcG9zeCA9IChpbnQpJGN4OwoJJHBvc3kgPSAoaW50KSgkaW1hZ2VbJ2hlaWdodCddIC0gJHRoaXMtPl9oZWlnaHQpOwoJYnJlYWs7CgogICAgICBjYXNlIGNnX3dhdGVybWFyazo6QUxJR05fTFI6CiAgICAgIGRlZmF1bHQ6CgkkcG9zeCA9IChpbnQpKCRpbWFnZVsnd2lkdGgnXSAtICR0aGlzLT5fd2lkdGgpOwoJJHBvc3kgPSAoaW50KSgkaW1hZ2VbJ2hlaWdodCddIC0gJHRoaXMtPl9oZWlnaHQpOwoJYnJlYWs7CiAgICAgIH0KICAgIGlmKCAkcG9zeCA9PT0gJycgfHwgJHBvc3kgPT09ICcnICkKICAgICAgewoJdGhyb3cgbmV3IEV4Y2VwdGlvbignRXJyb3IgYXBwbHlpbmcgZmlsdGVyICh3YXRlcm1hcmspIC0gY291bGQgbm90IGNhbGN1bGF0ZSBwb3NpdGlvbicpOwogICAgICB9CgogICAgJHJlcyA9ICcnOwogICAgaW1hZ2VhbHBoYWJsZW5kaW5nKCR0aGlzLT5fd21pbWcsRkFMU0UpOwogICAgaWYoICR0aGlzLT5fdXNlX21lcmdlICkKICAgICAgewoJJHJlcyA9IGltYWdlY29weW1lcmdlKCRfZGVzdFsncnNyYyddLCR0aGlzLT5fd21pbWcsJHBvc3gsJHBvc3ksCgkJCSAgICAgIDAsMCwkdGhpcy0+X3dpZHRoLCR0aGlzLT5faGVpZ2h0LCR0aGlzLT5fdHJhbnNsdWNlbmN5KTsKICAgICAgfQogICAgZWxzZQogICAgICB7CglpbWFnZXNhdmVhbHBoYSgkdGhpcy0+X3dtaW1nLFRSVUUpOwoJJHJlcyA9IGltYWdlY29weXJlc2FtcGxlZCgkX2Rlc3RbJ3JzcmMnXSwkdGhpcy0+X3dtaW1nLCRwb3N4LCRwb3N5LAoJCQkJICAwLDAsJHRoaXMtPl93aWR0aCwkdGhpcy0+X2hlaWdodCwkdGhpcy0+X3dpZHRoLCR0aGlzLT5faGVpZ2h0KTsKICAgICAgfQogICAgcmV0dXJuICRfZGVzdDsKICB9Cn0gLy8gZW5kIG9mIGNsYXNzCgojCiMgRU9GCiMKPz4=]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsi_DeviceAtlasPersonal_client.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMiBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBjZ3NpX0RldmljZUF0bGFzUGVyc29uYWxfY2xpZW50IGV4dGVuZHMgY2dzaV9kZXZpY2VjYXBhYmlsaXRpZXNfY2xpZW50IAp7CiAgY29uc3QgcmVxdWVzdF91cmwgPSAnaHR0cDovL2RldmljZWF0bGFzLmFwcHNwb3QuY29tL3F1ZXJ5JzsKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9kZXZpY2VfcmVzb2x1dGlvbigpCiAgewogICAgJGNsaWVudCA9IGNnZV9odHRwOjpnZXRfaHR0cCgpOwogICAgJGNsaWVudC0+c2V0TWV0aG9kKCdHRVQnKTsKICAgICRjbGllbnQtPnNldFRhcmdldChzZWxmOjpyZXF1ZXN0X3VybCk7CiAgICAkY2xpZW50LT5hZGRQYXJhbSgnVXNlci1BZ2VudCcsJHRoaXMtPmdldF9hZ2VudCgpKTsKICAgICRqc29uID0gJGNsaWVudC0+ZXhlY3V0ZSgpOwogICAgaWYoICEkanNvbiApIHsKICAgICAgLy8gbm8gZGF0YSwgcHJvYmFibHkgYSA0MDQgb3Igc29tZSBvdGhlciBlcnJvcgogICAgICByZXR1cm47CiAgICB9CiAgICAKICAgIC8vIGNvdWxkIGJlIHRyYWNraW5nIGZhaWx1cmVzIGhlcmUKCiAgICAkZGF0YSA9IGpzb25fZGVjb2RlKCRqc29uLFRSVUUpOwogICAgaWYoICFpc3NldCgkZGF0YVsnZGlzcGxheVdpZHRoJ10pIHx8ICFpc3NldCgkZGF0YVsnZGlzcGxheUhlaWdodCddKSApIHsKICAgICAgLy8gaW52YWxpZCBkYXRhLgogICAgICByZXR1cm47CiAgICB9CgogICAgLy8gd29vdCwgaXQgd29ya2VkLgogICAgJHJlcyA9IGFycmF5KCk7CiAgICAkcmVzWyd3aWR0aCddID0gJGRhdGFbJ2Rpc3BsYXlXaWR0aCddOwogICAgJHJlc1snaGVpZ2h0J10gPSAkZGF0YVsnZGlzcGxheUhlaWdodCddOwogICAgcmV0dXJuICRyZXM7CiAgfQp9IC8vIGVuZCBvZiBjbGFzcwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsi_devicecapabilities_client.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgphYnN0cmFjdCBjbGFzcyBjZ3NpX2RldmljZWNhcGFiaWxpdGllc19jbGllbnQgCnsKICBwcml2YXRlICRfYWdlbnQ7CgogIHB1YmxpYyBmdW5jdGlvbiBfX2NvbnN0cnVjdCgkdXNlcl9hZ2VudCkKICB7CiAgICAkdGhpcy0+X2FnZW50ID0gJHVzZXJfYWdlbnQ7CiAgfQoKICBwcm90ZWN0ZWQgZnVuY3Rpb24gZ2V0X2FnZW50KCkKICB7CiAgICByZXR1cm4gJHRoaXMtPl9hZ2VudDsKICB9CgogIC8vIHJldHVybiBhcnJheSBvZiB3aWR0aCwgaGVpZ2h0IChpbiBwaXhlbHMpLCBvciBudWxsCiAgYWJzdHJhY3QgcHVibGljIGZ1bmN0aW9uIGdldF9kZXZpY2VfcmVzb2x1dGlvbigpOwp9IC8vIGVuZCBvZiBpbnRlcmZhY2UKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/class.cgsi_utils.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMiBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBjZ3NpX3V0aWxzCnsKICBwcm90ZWN0ZWQgZnVuY3Rpb24gX19jb25zdHJ1Y3QoKSB7fQogIHN0YXRpYyBwcml2YXRlICRfZGV2aWNlX2RhdGE7CgogIHByaXZhdGUgc3RhdGljIGZ1bmN0aW9uIF9nZXRfYWxpYXNfb3B0aW9ucygkbmFtZSkKICB7CiAgICBzdGF0aWMgJGFsaWFzZXM7CiAgICBpZiggISRhbGlhc2VzICkgewogICAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1NtYXJ0SW1hZ2UnKTsKICAgICAgJHRtcCA9ICRtb2QtPkdldFByZWZlcmVuY2UoJ2FsaWFzZXMnKTsKICAgICAgaWYoICEkdG1wICkgCgkkYWxpYXNlcyA9ICdGQUxTRSc7CiAgICAgIGVsc2UKCSRhbGlhc2VzID0gdW5zZXJpYWxpemUoJHRtcCk7CiAgICB9CiAgICBpZiggaXNfYXJyYXkoJGFsaWFzZXMpICkgewogICAgICAka2V5cyA9IGFycmF5X2tleXMoJGFsaWFzZXMpOwogICAgICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgka2V5cyk7ICRpKysgKSB7Cgkka2V5ID0gJGtleXNbJGldOwoJaWYoICRhbGlhc2VzWyRrZXldWyduYW1lJ10gPT0gJG5hbWUgKSByZXR1cm4gJGFsaWFzZXNbJGtleV1bJ29wdGlvbnMnXTsKICAgICAgfQogICAgfQogIH0KCiAgcHJpdmF0ZSBzdGF0aWMgZnVuY3Rpb24gX2V4cGFuZF9xdW90ZWRfc3RyaW5nKCRzdHIpCiAgewogICAgJHJlc3VsdCA9IGFycmF5KCk7CiAgICAkY29sID0gJyc7CiAgICAkc2FmZSA9ICcnOwogICAgJHByZXZfY2hhciA9ICcnOwogICAgZm9yKCAkaSA9IDA7ICRpIDwgc3RybGVuKCRzdHIpOyAkaSsrICkgewogICAgICBzd2l0Y2goICRzdHJbJGldICkgewogICAgICBjYXNlICcgJzoKCWlmKCAhJHNhZmUgKSB7CgkgIGlmKCBzdHJwb3MoJGNvbCwnPScpICE9PSBGQUxTRSApIHsKCSAgICBsaXN0KCRrLCR2KSA9IGV4cGxvZGUoJz0nLCRjb2wsMik7CgkgICAgJHJlc3VsdFska10gPSAkdjsKCSAgfQoJICAkY29sID0gJyc7Cgl9CgllbHNlIHsKCSAgJGNvbCAuPSAkc3RyWyRpXTsKCX0KCWJyZWFrOwoKICAgICAgY2FzZSAiJyI6CiAgICAgIGNhc2UgJyInOgoJaWYoICRwcmV2X2NoYXIgIT0gJ1xcJyApIHsKCSAgaWYoICRzdHJbJGldID09ICRzYWZlICkgewoJICAgICRzYWZlID0gbnVsbDsKCSAgfQoJICBlbHNlIHsKCSAgICAkc2FmZSA9ICRzdHJbJGldOwoJICB9Cgl9CglicmVhazsKCiAgICAgIGRlZmF1bHQ6CgkkY29sIC49ICRzdHJbJGldOwoJYnJlYWs7CiAgICAgIH0KCiAgICAgICRwcmV2X2NoYXIgPSAkc3RyWyRpXTsKICAgIH0KCiAgICBpZiggc3RybGVuKCRjb2wpICE9IDAgKSB7CiAgICAgIGlmKCBzdHJwb3MoJGNvbCwnPScpICE9PSBGQUxTRSApIHsKCWxpc3QoJGssJHYpID0gZXhwbG9kZSgnPScsJGNvbCwyKTsKCSRyZXN1bHRbJGtdID0gJHY7CiAgICAgIH0KICAgIH0KCiAgICByZXR1cm4gJHJlc3VsdDsKICB9CgoKICBwcml2YXRlIHN0YXRpYyBmdW5jdGlvbiBfaXNfc3R5bGVzaGVldCgpCiAgewogICAgJHRtcCA9IGRlYnVnX2JhY2t0cmFjZSgpOwogICAgZm9yZWFjaCggJHRtcCBhcyAkZWxlbSApIHsKICAgICAgaWYoIGlzc2V0KCRlbGVtWydmdW5jdGlvbiddKSAmJiAkZWxlbVsnZnVuY3Rpb24nXSA9PSAnc21hcnR5X2Ntc19mdW5jdGlvbl9jbXNfc3R5bGVzaGVldCcgKSByZXR1cm4gVFJVRTsKICAgIH0KICAgIHJldHVybiBGQUxTRTsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNvbG9yX3RvX3JnYigkc3RyKQogIHsKICAgICRzdHIgPSB0cmltKCRzdHIpOwogICAgJHJlcyA9IGFycmF5KDAsMCwwKTsKCiAgICBpZiggc3RhcnRzd2l0aCgkc3RyLCcjJykgJiYgc3RybGVuKCRzdHIpID09IDQgKSB7CiAgICAgICRyID0gc3Vic3RyKCRzdHIsMSwxKTsgJHIgPSAkci4kcjsKICAgICAgJGcgPSBzdWJzdHIoJHN0ciwyLDEpOyAkZyA9ICRnLiRnOwogICAgICAkYiA9IHN1YnN0cigkc3RyLDMsMSk7ICRiID0gJGIuJGI7CiAgICAgICRyZXNbMF0gPSBoZXhkZWMoJHIpOwogICAgICAkcmVzWzFdID0gaGV4ZGVjKCRnKTsKICAgICAgJHJlc1syXSA9IGhleGRlYygkYik7CiAgICAgIHJldHVybiAkcmVzOwogICAgfQoKICAgIGlmKCBzdGFydHN3aXRoKCRzdHIsJyMnKSAmJiBzdHJsZW4oJHN0cikgPT0gNyApIHsKICAgICAgJHJlc1swXSA9IGhleGRlYyhzdWJzdHIoJHN0ciwxLDIpKTsKICAgICAgJHJlc1sxXSA9IGhleGRlYyhzdWJzdHIoJHN0ciwzLDIpKTsKICAgICAgJHJlc1syXSA9IGhleGRlYyhzdWJzdHIoJHN0ciw1LDIpKTsKICAgICAgcmV0dXJuICRyZXM7CiAgICB9CgogICAgJHRtcCA9IGV4cGxvZGUoJzonLCRzdHIsMyk7CiAgICBpZiggaXNfYXJyYXkoJHRtcCkgJiYgY291bnQoJHRtcCkgPT0gMyAmJiBpc19udW1lcmljKCR0bXBbMF0pICYmIGlzX251bWVyaWMoJHRtcFsxXSkgJiYgaXNfbnVtZXJpYygkdG1wWzFdKSApIHsKICAgICAgJHJlc1swXSA9IChpbnQpJHRtcFswXTsKICAgICAgJHJlc1sxXSA9IChpbnQpJHRtcFsxXTsKICAgICAgJHJlc1syXSA9IChpbnQpJHRtcFsyXTsKICAgICAgcmV0dXJuICRyZXM7CiAgICB9CgogICAgLy8gYXNzdW1lIGl0J3MgYSBjb2xvciBuYW1lLgogICAgc3RhdGljICRfY29sb3JzOwogICAgaWYoICFpc19hcnJheSgkX2NvbG9ycykgKSB7CiAgICAgICRmbiA9IGRpcm5hbWUoX19GSUxFX18pLicvY29sb3JzLmRhdCc7CiAgICAgICRkYXRhID0gZmlsZSgkZm4pOwogICAgICBpZiggY291bnQoJGRhdGEpICkgewoJJF9jb2xvcnMgPSBhcnJheSgpOwoJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJGRhdGEpOyAkaSsrICkgewoJICBsaXN0KCRyZ2IsJG5hbWUpID0gZXhwbG9kZSgnLScsJGRhdGFbJGldLDIpOwoJICBpZiggIXN0YXJ0c3dpdGgoJHJnYiwnIycpIHx8IHN0cmxlbigkcmdiKSAhPSA3IHx8ICRuYW1lID09ICcnICkgY29udGludWU7CgoJICAkdG1wID0gYXJyYXkoKTsKCSAgJHRtcFswXSA9IGhleGRlYyhzdWJzdHIoJHJnYiwxLDIpKTsKCSAgJHRtcFsxXSA9IGhleGRlYyhzdWJzdHIoJHJnYiwzLDIpKTsKCSAgJHRtcFsyXSA9IGhleGRlYyhzdWJzdHIoJHJnYiw1LDIpKTsKCgkgICRfY29sb3JzW3N0cnRvbG93ZXIodHJpbSgkbmFtZSkpXSA9ICR0bXA7Cgl9CiAgICAgIH0KICAgIH0KICAgIGlmKCBpc19hcnJheSgkX2NvbG9ycykgJiYgaXNzZXQoJF9jb2xvcnNbJHN0cl0pICkgJHJlcyA9ICRfY29sb3JzWyRzdHJdOwogICAgcmV0dXJuICRyZXM7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uICZwcm9jZXNzX2ltYWdlKCRwYXJhbXMpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTbWFydEltYWdlJyk7CiAgICAkY29uZmlnID0gY21zbXMoKS0+R2V0Q29uZmlnKCk7CiAgICAkd2FudF90cmFuc2Zvcm0gPSAwOwogICAgJGRvX3RyYW5zZm9ybSA9IDA7CiAgICAkaGF2ZV90cmFuc2Zvcm0gPSAwOwogICAgJGRlc3RfZm5hbWUgPSAnJzsKICAgICRkZXN0X3VybCA9ICcnOwogICAgJGltZyA9ICcnOwogICAgJHNyY2ZpbGUgPSAnJzsKICAgICRyZWwgPSAwOwogICAgJG91dHAgPSBhcnJheSgpOyAgLy8gb3V0cHV0IHBhcmFtcwogICAgJG91dHBbJ2lkJ10gPSAnJzsKICAgICRvdXRwWyduYW1lJ10gPSAnJzsKICAgICRvdXRwWydjbGFzcyddID0gJyc7CiAgICAkb3V0cFsnc3R5bGUnXSA9ICcnOwogICAgJG91dHBbJ3NyYyddID0gJyc7CiAgICAkb3V0cFsnd2lkdGgnXSA9ICcnOwogICAgJG91dHBbJ2hlaWdodCddID0gJyc7CiAgICAkb3V0cFsnZXJyb3InXSA9ICcnOwogICAgJG9wcCA9IGFycmF5KCk7ICAvLyBvcGVyYXRpb24gcGFyYW1zCiAgICAkb3BwWydvdmVyd3JpdGUnXSA9IDA7CiAgICAkb3BwWydub2JjYWNoZSddID0gMDsKICAgICRvcHBbJ25vcmVtb3RlJ10gPSAwOwogICAgJG9wcFsnbm9lbWJlZCddID0gMDsKICAgICRvcHBbJ25vYXV0byddID0gMDsKICAgICRvcHBbJ25vcm90YXRlJ10gPSAwOwogICAgJG9wcFsnbm90aW1lY2hlY2snXSA9IDA7CiAgICAkb3BwWydub2F1dG9zY2FsZSddID0gMDsKICAgICRvcHBbJ25vdGFnJ10gPSAwOwogICAgJG9wcFsnbm9yZXNwb25zaXZlJ10gPSAwOwogICAgJG9wcFsnbm9icmVha3BvaW50cyddID0gMDsKICAgICRvcHBbJ21heF93aWR0aCddID0gJyc7CiAgICAkb3BwWydtYXhfaGVpZ2h0J10gPSAnJzsKICAgICRvcHBbJ3NyYyddID0gJyc7CiAgICAkb3BwWydxdWFsaXR5J10gPSA3NTsKICAgICRvcHBbJ2ZpbHRlcnMnXSA9IGFycmF5KCk7CiAgICAkc3JjaW1nc2l6ZSA9ICcnOyAvLyBzcmMgaW1hZ2Ugc2l6ZQogICAgJGxhc3RmaWx0ZXIgPSBudWxsOwoKICAgICR0bXAgPSAkbW9kLT5HZXRQcmVmZXJlbmNlKCdhbGlhc2VzJyk7CiAgICBpZiggJHRtcCApICRhbGlhc2VzID0gdW5zZXJpYWxpemUoJHRtcCk7CgogICAgLy8gZmlyc3QgcGFzcy4uLiBleHBhbmQgYWxpYXNlcyBhbmQgYnVpbGQgc3JjCiAgICAkbmV3X3BhcmFtcyA9IGFycmF5KCk7CiAgICBmb3JlYWNoKCAkcGFyYW1zIGFzICRrZXkgPT4gJHZhbHVlICkgewogICAgICBpZiggc3RhcnRzd2l0aCgka2V5LCdhbGlhcycpICkgewoJLy8gZXhwYW5kIGFsaWFzCgkkb3B0aW9ucyA9IHNlbGY6Ol9nZXRfYWxpYXNfb3B0aW9ucygkdmFsdWUpOwoJaWYoICRvcHRpb25zICkgewoJICAvLyBwYXJzZSBhIHN0cmluZyBpbnRvIGFuIGFycmF5IG9mIGFyZ3VtZW50cy4KCSAgJGRhdGEgPSBzZWxmOjpfZXhwYW5kX3F1b3RlZF9zdHJpbmcoJG9wdGlvbnMpOwoJICBpZiggaXNfYXJyYXkoJGRhdGEpICkgewoJICAgIGZvcmVhY2goICRkYXRhIGFzICRrZXkgPT4gJHZhbHVlICkgewoJICAgICAgJG5ld19wYXJhbXNbJGtleV0gPSAkdmFsdWU7CgkgICAgfQoJICB9CgkgIGNvbnRpbnVlOwoJfQogICAgICB9CiAgICAgIGVsc2VpZiggc3RhcnRzd2l0aCgka2V5LCdzcmMnKSAmJiAka2V5ICE9ICdzcmMnICkgewoJLy8gaGFuZGxlIHNyYzEgdGhyb3VnaCBzcmM5OSBhcmd1bWVudHMuCglpZiggIWlzc2V0KCRuZXdfcGFyYW1zWydzcmMnXSkgKSB7CgkgICRuZXdfcGFyYW1zWydzcmMnXSA9ICcnOwoJfQoJaWYoICFlbXB0eSgkbmV3X3BhcmFtc1snc3JjJ10pICYmICFlbmRzd2l0aCgkbmV3X3BhcmFtc1snc3JjJ10sJy8nKSApIHsKCSAgJG5ld19wYXJhbXNbJ3NyYyddIC49ICcvJzsKCX0KCSRuZXdfcGFyYW1zWydzcmMnXSAuPSAkdmFsdWU7Cgljb250aW51ZTsKICAgICAgfQoKICAgICAgLy8gZXZlcnl0aGluZyBlbHNlIGp1c3QgZ2V0cyBhZGRlZC4KICAgICAgJG5ld19wYXJhbXNbJGtleV0gPSAkdmFsdWU7CiAgICB9CiAgICAkcGFyYW1zID0gJG5ld19wYXJhbXM7CgogICAgLy8gc2Vjb25kIHBhc3MsIGJ1aWxkIG91ciBhcnJheXMKICAgIGZvcmVhY2goICRwYXJhbXMgYXMgJGtleSA9PiAkdmFsdWUgKSB7CiAgICAgIGlmKCBzdGFydHN3aXRoKCRrZXksJ2ZpbHRlcl8nKSApIHsKCS8vIGhhbmRsZSBmaWx0ZXIgYXJndW1lbnQuCgkkZmlsdGVyID0gdWN3b3JkcyhzdWJzdHIoJGtleSxzdHJsZW4oJ2ZpbHRlcl8nKSkpOwoJJGFyZ3MgPSBleHBsb2RlKCcsJywkdmFsdWUpOwoJJGNsYXNzbmFtZSA9ICdDR0ltYWdlXycuJGZpbHRlci4nX0ZpbHRlcic7CglpZiggIWNsYXNzX2V4aXN0cygkY2xhc3NuYW1lKSApIHsKCSAgJG91dHBbJ2Vycm9yJ10gPSAkbW9kLT5MYW5nKCdlcnJvcl91bmtub3duZmlsdGVyJywkZmlsdGVyKTsKCSAgYnJlYWs7Cgl9CgoJLy8gYWRkIGl0IHRvIHRoZSBvcHMuCgkkb3BwWydmaWx0ZXJzJ11bXSA9IGFycmF5KCRjbGFzc25hbWUsJGFyZ3MpOwoJLy8gZG9uZS4KCWNvbnRpbnVlOwogICAgICB9CgogICAgICBzd2l0Y2goICRrZXkgKSB7CiAgICAgIGNhc2UgJ2NsYXNzJzoKICAgICAgY2FzZSAnaWQnOgogICAgICBjYXNlICdzdHlsZSc6CiAgICAgIGNhc2UgJ25hbWUnOgogICAgICBjYXNlICdhbHQnOgogICAgICBjYXNlICdyZWwnOgogICAgICBjYXNlICd0aXRsZSc6Cgkkb3V0cFska2V5XSA9IHRyaW0oJHZhbHVlKTsKCWJyZWFrOwogICAgICBjYXNlICd3aWR0aCc6CiAgICAgIGNhc2UgJ2hlaWdodCc6Cgkkb3V0cFska2V5XSA9IChpbnQpJHZhbHVlOwoJYnJlYWs7CgogICAgICBjYXNlICdtYXhfd2lkdGgnOgogICAgICBjYXNlICdtYXhfaGVpZ2h0JzoKCSRvcHBbJGtleV0gPSAoaW50KSR2YWx1ZTsKCWJyZWFrOwoKICAgICAgY2FzZSAnc3JjJzoKCSRvcHBbJGtleV0gPSB0cmltKCR2YWx1ZSk7CglicmVhazsKCiAgICAgIGNhc2UgJ3F1YWxpdHknOgoJJG9wcFsncXVhbGl0eSddID0gKGludCkkdmFsdWU7Cgkkb3BwWydxdWFsaXR5J10gPSBtaW4oMTAwLG1heCgwLCRvcHBbJ3F1YWxpdHknXSkpOwoJYnJlYWs7CgogICAgICBjYXNlICdvdmVyd3JpdGUnOgogICAgICBjYXNlICdub3RhZyc6CiAgICAgIGNhc2UgJ25vcmVtb3RlJzoKICAgICAgY2FzZSAnbm9yZXNwb25zaXZlJzoKICAgICAgY2FzZSAnbm9icmVha3BvaW50cyc6CiAgICAgIGNhc2UgJ25vYmNhY2hlJzoKICAgICAgY2FzZSAnbm9lbWJlZCc6CiAgICAgIGNhc2UgJ25vYXV0byc6CiAgICAgIGNhc2UgJ25vcm90YXRlJzoKICAgICAgY2FzZSAnbm90aW1lY2hlY2snOgoJJG9wcFska2V5XSA9IGNnZV91dGlsczo6dG9fYm9vbCgkdmFsdWUpOwoJYnJlYWs7CiAgICAgIH0KICAgIH0KICAgIGlmKCAhJG91dHBbJ2Vycm9yJ10gJiYgISRvcHBbJ3NyYyddICkgewogICAgICAkb3V0cFsnZXJyb3InXSA9ICRtb2QtPkxhbmcoJ2Vycm9yX21pc3NpbmdwYXJhbScsJ3NyYycpOwogICAgfQoKICAgIC8vCiAgICAvLyBmaW5kIHRoZSBzb3VyY2UgaW1hZ2UgLi4uIHRoZSBhY3R1YWwgZmlsZW5hbWUKICAgIC8vCiAgICAkb3BwWydzcmMnXSA9IHVybGRlY29kZSgkb3BwWydzcmMnXSk7CiAgICBpZiggISRvdXRwWydlcnJvciddICYmICEkc3JjZmlsZSAmJiBzdGFydHN3aXRoKCRvcHBbJ3NyYyddLCRjb25maWdbJ3VwbG9hZHNfdXJsJ10pICkgewogICAgICAkdG1wID0gc3RyX3JlcGxhY2UoJGNvbmZpZ1sndXBsb2Fkc191cmwnXSwkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkb3BwWydzcmMnXSk7CiAgICAgIGlmKCBmaWxlX2V4aXN0cygkdG1wKSApIHsKCSRzcmNmaWxlID0gJHRtcDsKICAgICAgfQogICAgfQogICAgaWYoICEkb3V0cFsnZXJyb3InXSAmJiAhJHNyY2ZpbGUgJiYgc3RhcnRzd2l0aCgkb3BwWydzcmMnXSwkY29uZmlnWydyb290X3VybCddKSApIHsKICAgICAgJHRtcCA9IHN0cl9yZXBsYWNlKCRjb25maWdbJ3Jvb3RfdXJsJ10sJGNvbmZpZ1sncm9vdF9wYXRoJ10sJG9wcFsnc3JjJ10pOwogICAgICBpZiggZmlsZV9leGlzdHMoJHRtcCkgKSB7Cgkkc3JjZmlsZSA9ICR0bXA7CiAgICAgIH0KICAgIH0KICAgIGlmKCAhJG91dHBbJ2Vycm9yJ10gJiYgISRzcmNmaWxlICYmIGlzc2V0KCRjb25maWdbJ3NzbF91cmwnXSkgJiYgc3RhcnRzd2l0aCgkb3BwWydzcmMnXSwkY29uZmlnWydzc2xfdXJsJ10pICkgewogICAgICAkdG1wID0gc3RyX3JlcGxhY2UoJGNvbmZpZ1snc3NsX3VybCddLCRjb25maWdbJ3Jvb3RfcGF0aCddLCRvcHBbJ3NyYyddKTsKICAgICAgaWYoIGZpbGVfZXhpc3RzKCR0bXApICkgewoJJHNyY2ZpbGUgPSAkdG1wOwogICAgICB9CiAgICB9CiAgICBpZiggISRvdXRwWydlcnJvciddICYmICEkc3JjZmlsZSAmJiBzdGFydHN3aXRoKCRvcHBbJ3NyYyddLCcvJykgKSB7CiAgICAgICR0bXAgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLCRvcHBbJ3NyYyddKTsKICAgICAgJHJwMSA9IHJlYWxwYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddKTsKICAgICAgJHJwMiA9IHJlYWxwYXRoKCR0bXApOwogICAgICBpZiggc3RhcnRzd2l0aCgkcnAyLCRycDEpICYmIGZpbGVfZXhpc3RzKCR0bXApICkgewoJJHNyY2ZpbGUgPSAkdG1wOwogICAgICB9CiAgICB9CiAgICBpZiggISRvdXRwWydlcnJvciddICYmICEkc3JjZmlsZSApIHsKICAgICAgLy8gY2hlY2sgcmVsYXRpdmUgcGF0aCB3cnQgdGhlIHVwbG9hZHMgZGlyLgogICAgICAkdG1wID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSwkb3BwWydzcmMnXSk7CiAgICAgICRycDEgPSByZWFscGF0aCgkY29uZmlnWyd1cGxvYWRzX3BhdGgnXSk7CiAgICAgICRycDIgPSByZWFscGF0aCgkdG1wKTsKICAgICAgaWYoIHN0YXJ0c3dpdGgoJHJwMiwkcnAxKSAmJiBmaWxlX2V4aXN0cygkdG1wKSApIHsKCSRzcmNmaWxlID0gJHRtcDsKICAgICAgfQogICAgfQogICAgaWYoICEkb3V0cFsnZXJyb3InXSAmJiAhJHNyY2ZpbGUgKSB7CiAgICAgICR0bXAgPSBjbXNfam9pbl9wYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddLCRvcHBbJ3NyYyddKTsKICAgICAgJHJwMSA9IHJlYWxwYXRoKCRjb25maWdbJ3Jvb3RfcGF0aCddKTsKICAgICAgJHJwMiA9IHJlYWxwYXRoKCR0bXApOwogICAgICBpZiggc3RhcnRzd2l0aCgkcnAyLCRycDEpICYmIGZpbGVfZXhpc3RzKCR0bXApICkgewoJJHNyY2ZpbGUgPSAkdG1wOwogICAgICB9CiAgICB9CiAgICBpZiggISRvdXRwWydlcnJvciddICYmICEkc3JjZmlsZSAmJiAkb3BwWydub3JlbW90ZSddID09IDAgJiYgCgkoc3RhcnRzd2l0aCgkb3BwWydzcmMnXSwnaHR0cDonKSB8fCBzdGFydHN3aXRoKCRvcHBbJ3NyYyddLCdodHRwczonKSB8fCBzdGFydHN3aXRoKCRvcHBbJ3NyYyddLCdmdHA6JykpKSB7CiAgICAgIC8vIG9rYXksIGdvdHRhIGFzc3VtZSB0aGF0IHRocyBpcyBhIHJlbW90ZSBmaWxlCiAgICAgIC8vIGdldCBpdCwgYW5kIGNhY2hlIGl0LgogICAgICAkY2FjaGVmaWxlID0gVE1QX0NBQ0hFX0xPQ0FUSU9OLicvY2dzaV8nLm1kNSgkb3BwWydzcmMnXSkuJy5pbWcnOwogICAgICBpZiggIWZpbGVfZXhpc3RzKCRjYWNoZWZpbGUpICkgewoJJGRhdGEgPSBmaWxlX2dldF9jb250ZW50cygkb3BwWydzcmMnXSk7CglpZiggJGRhdGEgKSB7CgkgIGZpbGVfcHV0X2NvbnRlbnRzKCRjYWNoZWZpbGUsJGRhdGEpOwoJICAkc3JjZmlsZSA9ICRjYWNoZWZpbGU7CgkgICRoYXZlc3JjZmlsZSA9IFRSVUU7Cgl9CiAgICAgIH0KICAgICAgZWxzZSB7Cgkkc3JjZmlsZSA9ICRjYWNoZWZpbGU7CgkkaGF2ZXNyY2ZpbGUgPSBUUlVFOwogICAgICB9CiAgICB9CgogICAgaWYoICEkb3V0cFsnZXJyb3InXSAmJiAhJHNyY2ZpbGUgKSB7CiAgICAgICRvdXRwWydlcnJvciddID0gJG1vZC0+TGFuZygnZXJyb3Jfc3Jjbm90Zm91bmQnLCRvcHBbJ3NyYyddKTsKICAgICAgcmV0dXJuICRvdXRwOwogICAgfQoKICAgIC8vIGdldCB0aGUgc291cmNlIGltYWdlIHNpemUKICAgIGlmKCAhJG91dHBbJ2Vycm9yJ10gJiYgJHNyY2ZpbGUgKSB7CiAgICAgICR0bXAgPSBnZXRpbWFnZXNpemUoJHNyY2ZpbGUpOwogICAgICBpZiggIWlzX2FycmF5KCR0bXApIHx8IGNvdW50KCR0bXApIDwgMiApIHsKCSRvdXRwWydlcnJvciddID0gJG1vZC0+TGFuZygnZXJyb3Jfc3Jjbm90Zm91bmQnLCRvcHBbJ3NyYyddKTsKICAgICAgfQogICAgICBlbHNlIHsKCSRzcmNpbWdzaXplID0gYXJyYXkoJ3dpZHRoJz0+JHRtcFswXSwnaGVpZ2h0Jz0+JHRtcFsxXSk7CgkkbWVtb3J5X25lZWRlZCA9IHJvdW5kKCAkdG1wWzBdICogJHRtcFsxXSAqIChpc3NldCgkdG1wWydiaXRzJ10pPyR0bXBbJ2JpdHMnXTo4KSAKCQkJCSogKGlzc2V0KCR0bXBbJ2NoYW5uZWxzJ10pPyR0bXBbJ2NoYW5uZWxzJ10vODozKSArIDY1NTM1ICk7CglpZiggIWNnZV91dGlsczo6aGF2ZV9lbm91Z2hfbWVtb3J5KCRtZW1vcnlfbmVlZGVkKSApIHsKCSAgJG91dHBbJ2Vycm9yJ10gPSAkbW9kLT5MYW5nKCdlcnJvcl9pbnN1ZmZpY2llbnRtZW1vcnknKTsKCSAgcmV0dXJuICRvdXRwOwoJfQogICAgICB9CiAgICB9CgogICAgLy8gYXJlIHdlIGF1dG9tYWdpY2FsbHkgcm90YXRpbmcuCiAgICBpZiggISRvdXRwWydlcnJvciddICYmICRzcmNmaWxlICYmICEkb3BwWydub3JvdGF0ZSddICYmIGZ1bmN0aW9uX2V4aXN0cygnZXhpZl9yZWFkX2RhdGEnKSApIHsKICAgICAgLy8gaWYgdGhlcmUgaXMgYWxyZWFkeSBhIHJvdGF0ZSBmaWx0ZXIgaW4gdGhlIGxpc3QsIHdlIHdvbid0IG92ZXJyaWRlIHRoYXQuCiAgICAgICRmbiA9IDA7CiAgICAgIGZvciggJGYgPSAwOyAkZiA8IGNvdW50KCRvcHBbJ2ZpbHRlcnMnXSk7ICRmKysgKSB7CglpZiggJG9wcFsnZmlsdGVycyddWyRmXVswXSA9PSAnQ0dJbWFnZV9Sb3RhdGVfRmlsdGVyJyApIHsKCSAgJGZuID0gMTsKCSAgYnJlYWs7Cgl9CiAgICAgIH0KCiAgICAgIGlmKCAkZm4gPT0gMCApIHsKCS8vIHdlIGNhbiB0cnkgdG8gcmVhZCB0aGUgZXhpZiBpbmZvcm1hdGlvbiB0byBmaW5kIGFuIG9yaWVudGF0aW9uLgoJJGV4aWYgPSBAZXhpZl9yZWFkX2RhdGEoJHNyY2ZpbGUsMCxUUlVFKTsKCWlmKCBpc19hcnJheSgkZXhpZikgJiYgaXNzZXQoJGV4aWZbJ0lGRDAnXSkgJiYgaXNzZXQoJGV4aWZbJ0lGRDAnXVsnT3JpZW50YXRpb24nXSkgJiYKCSAgICBpc19pbnQoJGV4aWZbJ0lGRDAnXVsnT3JpZW50YXRpb24nXSkgKSB7CgoJICAvLyBmb3VuZCBhbiBvcmllbnRhdGlvbiwgbm93IHdlIGdvdHRhIGZpZ3VyZSBvdXQgd2hhdCBmaWx0ZXJzIHRvIGFkZC4KCSAgJG9yaWVudGF0aW9uID0gKGludCkkZXhpZlsnSUZEMCddWydPcmllbnRhdGlvbiddOwoJICAkbmV3X2ZpbHRlcnMgPSBhcnJheSgpOwoJICBzd2l0Y2goICRvcmllbnRhdGlvbiApIHsKCSAgY2FzZSAxOgoJICAgIC8vIG5vdGhpbmcuCgkgICAgYnJlYWs7CgkgIGNhc2UgMjoKCSAgICAvLyBob3Jpem9udGFsIGZsaXAuCgkgICAgJG5ld19maWx0ZXJzW10gPSBhcnJheSgnQ0dJbWFnZV9GbGlwX0ZpbHRlcicsMCk7CgkgICAgYnJlYWs7CgkgIGNhc2UgMzoKCSAgICAvLyByb3RhdGUgMTgwCgkgICAgJG5ld19maWx0ZXJzW10gPSBhcnJheSgnQ0dJbWFnZV9Sb3RhdGVfRmlsdGVyJyxhcnJheSgxODApKTsKCSAgICBicmVhazsKCSAgY2FzZSA0OgoJICAgICRuZXdfZmlsdGVyc1tdID0gYXJyYXkoJ0NHSW1hZ2VfRmxpcF9GaWx0ZXInLDEpOwoJICAgIGJyZWFrOwoJICBjYXNlIDU6CgkgICAgJG5ld19maWx0ZXJzW10gPSBhcnJheSgnQ0dJbWFnZV9GbGlwX0ZpbHRlcicsMSk7CgkgICAgJG5ld19maWx0ZXJzW10gPSBhcnJheSgnQ0dJbWFnZV9Sb3RhdGVfRmlsdGVyJyxhcnJheSg5MCkpOwoJICAgIGJyZWFrOwoJICBjYXNlIDY6CgkgICAgJG5ld19maWx0ZXJzW10gPSBhcnJheSgnQ0dJbWFnZV9Sb3RhdGVfRmlsdGVyJyxhcnJheSg5MCkpOwoJICAgIGJyZWFrOwoJICBjYXNlIDc6CgkgICAgJG5ld19maWx0ZXJzW10gPSBhcnJheSgnQ0dJbWFnZV9GbGlwX0ZpbHRlcicsMCk7CgkgICAgJG5ld19maWx0ZXJzW10gPSBhcnJheSgnQ0dJbWFnZV9Sb3RhdGVfRmlsdGVyJyxhcnJheSg5MCkpOwoJICAgIGJyZWFrOwoJICBjYXNlIDg6CgkgICAgJG5ld19maWx0ZXJzW10gPSBhcnJheSgnQ0dJbWFnZV9Sb3RhdGVfRmlsdGVyJyxhcnJheSgtOTApKTsKCSAgICBicmVhazsKCSAgfQoKCSAgJG9wcFsnZmlsdGVycyddID0gYXJyYXlfbWVyZ2UoJG5ld19maWx0ZXJzLCRvcHBbJ2ZpbHRlcnMnXSk7Cgl9CiAgICAgIH0KICAgIH0KCiAgICAvLyBkb2luZyByZXNwb25zaXZlIGltYWdlcy4uLiBnZXQgZGV2aWNlIHdpZHRoIGFuZCBoZWlnaHQuCiAgICAkaXNfcmVzcG9uc2l2ZSA9IDA7CiAgICBpZiggISRvdXRwWydlcnJvciddICYmICRzcmNmaWxlICYmICRtb2QtPkdldFByZWZlcmVuY2UoJ3Jlc3BvbnNpdmUnLDEpICYmICRvcHBbJ25vcmVzcG9uc2l2ZSddID09IDAgKSB7CiAgICAgICRkZXZpY2UgPSBzZWxmOjpnZXRfZGV2aWNlX2NhcGFiaWxpdGllcygpOwogICAgICBpZiggaXNfYXJyYXkoJGRldmljZSkgJiYgaXNzZXQoJGRldmljZVsnd2lkdGgnXSkgJiYgaXNzZXQoJGRldmljZVsnaGVpZ2h0J10pICkgewoJLy8gd2UgZm91bmQgZGV2aWNlIGNhcGFiaWxpdGllcy4KCgkvLyB3ZSBoYXZlIHRvIGRvIGF1dG8tc2NhbGluZyBub3csIHJlc3BvbnNpdmUgc3R1ZmYgdHJ1bXBzIGl0LgoJJG9wcFsnbm9hdXRvc2NhbGUnXSA9IDA7CgkkaXNfcmVzcG9uc2l2ZSA9IDE7CgkKCS8vIG1lcmdlIHRoYXQgZGF0YSB3aXRoIGFueSBtYXhfd2lkdGggYW5kIG1heF9oZWlnaHQgdGhhdCBoYXZlIGFscmVhZHkgYmVlbiBzdXBwbGllZC4KCSR3ID0gbWF4KDEsKGludCkkZGV2aWNlWyd3aWR0aCddKTsKCWlmKCAkb3BwWydtYXhfd2lkdGgnXSA+IDAgKSB7CgkgICRvcHBbJ21heF93aWR0aCddID0gbWluKCRvcHBbJ21heF93aWR0aCddLCR3KTsKCX0KCWVsc2UgewoJICAkb3BwWydtYXhfd2lkdGgnXSA9ICR3OwoJfQoJCgkkaCA9IG1heCgxLChpbnQpJGRldmljZVsnaGVpZ2h0J10pOwoJaWYoICRvcHBbJ21heF9oZWlnaHQnXSA+IDAgKSB7CgkgICRvcHBbJ21heF9oZWlnaHQnXSA9IG1pbigkb3BwWydtYXhfaGVpZ2h0J10sJGgpOwoJfQoJZWxzZSB7CgkgICRvcHBbJ21heF9oZWlnaHQnXSA9ICRoOwoJfQogICAgICB9CiAgICB9CgogICAgLy8gcmF0aW9uYWxpemUgd2lkdGgvaGVpZ2h0LCBtYXhfd2lkdGgsIG1heF9oZWlnaHQKICAgICRub193aWR0aF9oZWlnaHQgPSAwOwogICAgaWYoICRvcHBbJ21heF93aWR0aCddICYmICRvdXRwWyd3aWR0aCddICkgewogICAgICAkbm9fd2lkdGhfaGVpZ2h0ID0gMTsKICAgICAgJG9wcFsnbWF4X3dpZHRoJ10gPSBtaW4oJG9wcFsnbWF4X3dpZHRoJ10sJG91dHBbJ3dpZHRoJ10pOwogICAgfQogICAgaWYoICRvcHBbJ21heF9oZWlnaHQnXSAmJiAkb3V0cFsnaGVpZ2h0J10gKSB7CiAgICAgICRub193aWR0aF9oZWlnaHQgPSAxOwogICAgICAkb3BwWydtYXhfaGVpZ2h0J10gPSBtaW4oJG9wcFsnbWF4X2hlaWdodCddLCRvdXRwWydoZWlnaHQnXSk7CiAgICB9CgogICAgLy8gbm93IGRvIHNvbWUgaW50ZWxsaWdlbmNlLCBhbmQgc2VlIGlmIHRoZSB3aWR0aCwgYW5kIGhlaWdodCBhcmd1bWVudHMgcGFzc2VkIGluCiAgICAvLyBtYXRjaCB0aGUgaW1hZ2Ugc2l6ZS4uLiBpZiBub3QsIGFuZCBtYXhfd2lkdGgvaGVpZ2h0IGFyZW4ndCBhbHJlYWR5IHNtYWxsZXIuLi4gYWRkIGEgZmlsdGVyLgogICAgaWYoICEkb3V0cFsnZXJyb3InXSAmJiAkc3JjZmlsZSAmJiAkbm9fd2lkdGhfaGVpZ2h0ID09IDAgJiYKCSgkb3V0cFsnd2lkdGgnXSA+IDAgfHwgJG91dHBbJ2hlaWdodCddID4gMCkgJiYgJG9wcFsnbm9hdXRvc2NhbGUnXSA9PSAwICkgewogICAgICBpZiggJG91dHBbJ3dpZHRoJ10gIT0gJHNyY2ltZ3NpemVbJ3dpZHRoJ10gfHwgJG91dHBbJ2hlaWdodCddICE9ICRzcmNpbWdzaXplWydoZWlnaHQnXSApIHsKCS8vIHdlIHdhbm5hIGRpc3BsYXkgdGhlIGZpbGUgYXQgYSBkaWZmZXJlbnQgZGltZW5pb24uCgkkYXJncyA9ICcnOwoJJGZpbHRlciA9ICcnOwoJaWYoICRvdXRwWyd3aWR0aCddICYmICRvdXRwWydoZWlnaHQnXSApIHsKCSAgLy8gZ29ubmEgZG8gYSBjcm9wIHRvIGZpdAoJICAkZmlsdGVyID0gJ0NHSW1hZ2VfQ3JvcHRvZml0X0ZpbHRlcic7CgkgICRhcmdzID0gYXJyYXkoKGludCkkb3V0cFsnd2lkdGgnXSwoaW50KSRvdXRwWydoZWlnaHQnXSk7Cgl9CgllbHNlIGlmKCAkb3V0cFsnd2lkdGgnXSApIHsKCSAgLy8gZ29ubmEgZG8gYSByZXNpemUKCSAgJGZpbHRlciA9ICdDR0ltYWdlX1Jlc2l6ZV9GaWx0ZXInOwoJICAkYXJncyA9IGFycmF5KCd3JywoaW50KSRvdXRwWyd3aWR0aCddKTsKCX0KCWVsc2UgaWYgKCAkb3V0cFsnaGVpZ2h0J10gKSB7CgkgIC8vIGdvbm5hIGRvIGEgcmVzaXplCgkgICRmaWx0ZXIgPSAnQ0dJbWFnZV9SZXNpemVfRmlsdGVyJzsKCSAgJGFyZ3MgPSBhcnJheSgnaCcsKGludCkkb3V0cFsnaGVpZ2h0J10pOwoJfQoJaWYoIGlzX2FycmF5KCRhcmdzKSAmJiAkZmlsdGVyICE9ICcnICkgewoJICAkZm91bmQgPSAwOwoJICBmb3IoICRpID0gMDsgJGkgPCBjb3VudCgkb3BwWydmaWx0ZXJzJ10pOyAkaSsrICkgewoJICAgIGlmKCAkb3BwWydmaWx0ZXJzJ11bJGldWzBdID09ICdDR0ltYWdlX1Jlc2l6ZV9GaWx0ZXInICkgewoJICAgICAgJGZvdW5kID0gMTsKCSAgICAgIGJyZWFrOwoJICAgIH0KCSAgfQoJICAvLyBhZGQgYSBmaWx0ZXIgdG8gdGhlIGVuZAoJICBpZiggISRmb3VuZCApICRsYXN0ZmlsdGVyID0gYXJyYXkoJGZpbHRlciwkYXJncyk7Cgl9CiAgICAgIH0KICAgIH0KCiAgICAvLyBpZiB3ZSBoYXZlIG1heCB3aWR0aCBhbmQvb3IgaGVpZ2h0Li4uIGFkZCBhIGZpbHRlciBhdCB0aGUgZW5kCiAgICAvLyB0byBtYWtlIHN1cmUgdGhhdCBvdXIgb3V0cHV0IG5ldmVyIGV4Y2VlZHMgdGhvc2UgbWF4IHZhbHVlcy4KICAgIGlmKCAhJG91dHBbJ2Vycm9yJ10gJiYgJHNyY2ZpbGUgJiYKCSgkb3BwWydtYXhfd2lkdGgnXSA+IDAgfHwgJG9wcFsnbWF4X2hlaWdodCddID4gMCkgJiYKCSRvcHBbJ25vYXV0b3NjYWxlJ10gPT0gMCApIHsKCiAgICAgIC8vIGlmIHdlIGhhdmUgYnJlYWtwb2ludHMsIHVzZSBmaW5kIHRoZSBjbG9zZXN0IG9uZQogICAgICAkYXJncyA9ICcnOwogICAgICAkZmlsdGVyID0gJyc7CiAgICAgICRicCA9IG51bGw7CgkKICAgICAgaWYoICgkdG1wID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgncmVzcG9uc2l2ZV9icmVha3BvaW50cycpKSAmJiAkaXNfcmVzcG9uc2l2ZSA9PSAxICYmCgkgICEkb3BwWydub2JyZWFrcG9pbnRzJ10gKSB7CgkkdG1wID0gZXhwbG9kZSgnLCcsJHRtcCk7CgkkYnAgPSBhcnJheSgpOwoJZm9yKCAkaSA9IDA7ICRpIDwgY291bnQoJHRtcCk7ICRpKysgKSB7CgkgICR0MSA9IChpbnQpdHJpbSgkdG1wWyRpXSk7CgkgIGlmKCAkdDEgPiAwICkgJGJwW10gPSAkdDE7Cgl9Cglhc29ydCgkYnApOwogICAgICB9CiAgICAgIAogICAgICBpZiggaXNfYXJyYXkoJGJwKSAmJiBjb3VudCgkYnApICkgewoJLy8gd2UgaGF2ZSB2YWxpZCBicmVha3BvaW50cy4KCSRsdmFsID0gbWF4KCRvcHBbJ21heF93aWR0aCddLCRvcHBbJ21heF9oZWlnaHQnXSk7Cglmb3IoICRpID0gY291bnQoJGJwKS0xOyAkaSA+IDA7ICRpLS0gKSB7CgkgIGlmKCAkYnBbJGldID4gJGx2YWwgKSBjb250aW51ZTsKCSAgYnJlYWs7Cgl9CgoJLy8gcmVzaXplIHRvIG1heGltdW0gZGltZW5zaW9uIG9mIGx2YWwKCS8vIG5vdGUsIGl0J2QgYmUgbmljZSB0byBoYXZlIHNvbWUga2luZCBvZiBzZXR0aW5ncyBoZXJlCgkvLyBpLmU6IHdoaWNoIGZpbGVyIChhbmQgb3RoZXIgcGFyYW1zKSB0byB1c2UuCgkkbHZhbCA9ICRicFskaV07CgkkZmlsdGVyID0gJ0NHSW1hZ2VfUmVzaXplX0ZpbHRlcic7CgkkYXJncyA9IGFycmF5KCdlJywkbHZhbCwwKTsKICAgICAgfQogICAgICBlbHNlIHsKCS8vIHN0YW5kYXJkIGhhbmRsaW5nIG9mIG1heCB3aWR0aC9tYXggaGVpZ2h0LgoJaWYoICRvcHBbJ21heF93aWR0aCddICYmICRvcHBbJ21heF9oZWlnaHQnXSApIHsKCSAgJGZpbHRlciA9ICdDR0ltYWdlX0Nyb3B0b2ZpdF9GaWx0ZXInOwoJICAkYXJncyA9IGFycmF5KChpbnQpJG9wcFsnbWF4X3dpZHRoJ10sKGludCkkb3BwWydtYXhfaGVpZ2h0J10pOwoJfQoJZWxzZSBpZiggJG9wcFsnbWF4X3dpZHRoJ10gKSB7CgkgICRmaWx0ZXIgPSAnQ0dJbWFnZV9SZXNpemVfRmlsdGVyJzsKCSAgJGFyZ3MgPSBhcnJheSgndycsKGludCkkb3BwWydtYXhfd2lkdGgnXSwwKTsKCX0KCWVsc2UgaWYoICRvcHBbJ21heF9oZWlnaHQnXSApIHsKCSAgJGZpbHRlciA9ICdDR0ltYWdlX1Jlc2l6ZV9GaWx0ZXInOwoJICAkYXJncyA9IGFycmF5KCdoJywoaW50KSRvcHBbJ21heF9oZWlnaHQnXSwwKTsKCX0KICAgICAgfQogICAgICAvLyBhZGp1c3Qgb3VyIGxhc3RmaWx0ZXIKICAgICAgaWYoICRmaWx0ZXIgKSAkbGFzdGZpbHRlciA9IGFycmF5KCRmaWx0ZXIsJGFyZ3MpOwogICAgfQoKICAgIC8vIGlmIHdlIGhhdmUgYSBsYXN0IGZpbHRlci4uLiBhZGQgaXQuCiAgICBpZiggJGxhc3RmaWx0ZXIgKSAkb3BwWydmaWx0ZXJzJ11bXSA9ICRsYXN0ZmlsdGVyOwoKICAgIC8vCiAgICAvLyBlbmQgb2Ygc21hcnRuZXNzIHN0dWZmLi4uIG5vdyBiZWdpbiB0aGUgd29yawogICAgLy8KICAgIGlmKCAhJG91dHBbJ2Vycm9yJ10gJiYgJHNyY2ZpbGUgJiYgY291bnQoYXJyYXlfa2V5cygkb3BwWydmaWx0ZXJzJ10pKSApIHsKICAgICAgLy8KICAgICAgLy8gd2UncmUgZG9pbmcgc29tZSBraW5kIG9mIG1hZ2ljIHRvIHRoZSBpbWFnZS4KICAgICAgLy8KICAgICAgJHdhbnRfdHJhbnNmb3JtID0gMTsKICAgIH0KCiAgICBpZiggISRvdXRwWydlcnJvciddICYmICRzcmNmaWxlICYmICR3YW50X3RyYW5zZm9ybSApIHsKICAgICAgLy8gY2FsY3VsYXRlIG91ciBkZXN0aW5hdGlvbiBuYW1lIGFuZCB1cmwuCiAgICAgICR0bXAgPSBiYXNlbmFtZSgkc3JjZmlsZSk7CiAgICAgIGlmKCAhaXNzZXQoJG91dHBbJ2FsdCddKSApICRvdXRwWydhbHQnXSA9ICR0bXA7CiAgICAgICRleHQgPSBzdHJyY2hyKCR0bXAsJy4nKTsKICAgICAgJHQyID0gbWQ1KHNlcmlhbGl6ZSgkb3BwKSk7CiAgICAgICRkZXN0bmFtZSA9ICdpbWctJy4kdDI7CgogICAgICAvLyRkZXN0ZGlyID0gJGNvbmZpZ1sndXBsb2Fkc19wYXRoJ10uJy9fJy4kbW9kLT5HZXROYW1lKCk7CiAgICAgICRjYWNoZV9wYXRoID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnY2FjaGVfcGF0aCcsIGNtc19qb2luX3BhdGgoJ3VwbG9hZHMnLCAnXycuJG1vZC0+R2V0TmFtZSgpKSk7CiAgICAgICRkZXN0ZGlyID0gY21zX2pvaW5fcGF0aCgkY29uZmlnWydyb290X3BhdGgnXSwgJGNhY2hlX3BhdGgpOwogICAgICBpZiggIWlzX2RpcigkZGVzdGRpcikgKSB7IAoJQG1rZGlyKCRkZXN0ZGlyLCAwNzc3LCB0cnVlKTsKCXRvdWNoKCRkZXN0ZGlyLicvaW5kZXguaHRtbCcpOwogICAgICB9CiAgICAgIGlmKCAhaXNfZGlyKCRkZXN0ZGlyKSApIHsKCSRvdXRwWydlcnJvciddID0gJG1vZC0+TGFuZygnZXJyb3JfbWtkaXInLCRkZXN0ZGlyKTsKICAgICAgfQogICAgICBlbHNlIHsKCS8vIHNlZSBpZiBpdCBleGlzdHMKCSRkZXN0X2ZuYW1lID0gJGRlc3RkaXIuJy8nLiRkZXN0bmFtZS4kZXh0OwoKCSRkZXN0X3VybCA9ICRtb2QtPmdldF9jYWNoZWRfaW1hZ2VfdXJsKCRkZXN0bmFtZSkuJGV4dDsKCSR0MSA9IGZpbGVtdGltZSgkc3JjZmlsZSk7CgkkdDIgPSBmaWxlX2V4aXN0cygkZGVzdF9mbmFtZSkgPyBmaWxlbXRpbWUoJGRlc3RfZm5hbWUpIDogMDsKCWlmKCAhZmlsZV9leGlzdHMoJGRlc3RfZm5hbWUpIHx8ICgoJHQyIDwgJHQxKSAmJiAhJG9wcFsnbm90aW1lY2hlY2snXSkgfHwgJG9wcFsnb3ZlcndyaXRlJ10gICkgewoJICAkZG9fdHJhbnNmb3JtID0gMTsKCX0KICAgICAgfQogICAgfQogICAgZWxzZSBpZiggISRvdXRwWydlcnJvciddICYmICRzcmNmaWxlICkgewogICAgICAvLyBubyB0cmFuc29mbXJhdGlvbi4uLiBqdXN0IHVzZSB0aGUgc3JjIGltYWdlCiAgICAgICRkZXN0X2ZuYW1lID0gJHNyY2ZpbGU7CiAgICAgICRkZXN0X3VybCA9ICRvcHBbJ3NyYyddOwogICAgfQogCiAgICBpZiggISRvdXRwWydlcnJvciddICYmICRzcmNmaWxlICYmICRkb190cmFuc2Zvcm0gKSB7CiAgICAgIHRyeSB7CgkvLyBsb2FkIHRoZSBpbWFnZS4KCSRpbWcgPSBuZXcgQ0dJbWFnZUJhc2UoJHNyY2ZpbGUpOwoKCS8vIHByb2Nlc3MgZmlsdGVycwoJJGkgPSAwOwoJd2hpbGUoICEkb3V0cFsnZXJyb3InXSAmJiAkaSA8IGNvdW50KCRvcHBbJ2ZpbHRlcnMnXSkgKSB7CgkgICRmaWx0ZXIgPSAkb3BwWydmaWx0ZXJzJ11bJGldWzBdOwoJICAkZmlsdGVyX29iaiA9IG5ldyAkZmlsdGVyKCRvcHBbJ2ZpbHRlcnMnXVskaV1bMV0pOwoJICAkaW1nID0gJGZpbHRlcl9vYmotPnRyYW5zZm9ybSgkaW1nKTsKCSAgJGltZ1snZGlydHknXSA9IDE7IC8vIGZvcmNlIHRoZSBpbWFnZSBkaXJ0eSwganVzdCBzbyB0aGF0IHdlIGNhbiBzYXZlIGl0LgoJICAkaSsrOwoJfQoKCS8vIGNoZWNrIHNvbWUgc3R1ZmYKCWlmKCAkb3BwWydub2F1dG8nXSA9PSAwICYmCgkgICAgKCgkb3V0cFsnd2lkdGgnXSAmJiAkaW1nWyd3aWR0aCddIDwgJG91dHBbJ3dpZHRoJ10pIHx8IAoJICAgICAoJG91dHBbJ2hlaWdodCddICYmICRpbWdbJ2hlaWdodCddIDwgJG91dHBbJ2hlaWdodCddKSkgKSB7CgkgIC8vIHVzZXIgc3BlY2lmaWVkIGEgd2lkdGgsIGFuZC9vciBoZWlnaHQuLi5idXQgdGhleSBhcmUgc21hbGxlciB0aGFuIHRoZSBvdXRwdXQgb2YgdGhlIGZpbHRlcmluZy4KCSAgLy8gdGhpcyB3aWxsIGVuc3VyZSB0aGF0IHRoZSB0YWcgd2lsbCBtYXRjaCB0aGUgaW1hZ2UuCgkgICRvdXRwWyd3aWR0aCddID0gJGltZ1snd2lkdGgnXTsKCSAgJG91dHBbJ2hlaWdodCddID0gJGltZ1snaGVpZ2h0J107Cgl9CgoJLy8gYW5kIHdyaXRlIHRoZSB0aGluZy4KCWlmKCAhJG91dHBbJ2Vycm9yJ10gJiYgaXNfb2JqZWN0KCRpbWcpICkgewoJICBpZiggJGltZ1snZGlydHknXSApICRpbWctPnNhdmUoJGRlc3RfZm5hbWUsJG9wcFsncXVhbGl0eSddKTsKCX0KICAgICAgfQogICAgICBjYXRjaCggRXhjZXB0aW9uICRlICkgewoJYXVkaXQoJycsJ0NHU21hcnRJbWFnZScsJ0Vycm9yIGVuY291bnRlcmVkIG9uICcuJG9wcFsnc3JjJ10uJzogJy4kZS0+R2V0TWVzc2FnZSgpKTsKCSRvdXRwWydlcnJvciddID0gJGUtPkdldE1lc3NhZ2UoKTsKICAgICAgfQogICAgfSAvLyBpZgoKICAgIC8vIGlmIHdlIGhhdmUgYW4gZXJyb3IsIGRpc3BsYXkgaXQuLi4gd2UncmUgZG9uZS4KICAgIGlmKCAkb3V0cFsnZXJyb3InXSAhPSAnJykgcmV0dXJuICRvdXRwOwoKICAgIC8vIGF0IHRoaXMgcG9pbnQsIHdlJ3JlIHJlYWR5IHRvIGhhbmRsZSBidWlsZGluZyB0aGUgdGFnLgogICAgaWYoICRvcHBbJ25vYmNhY2hlJ10gKSAkZGVzdF91cmwgLj0gJz94PScudGltZSgpOyAgICAgIAoKICAgIGlmKCAhaXNzZXQoJG91dHBbJ2FsdCddKSApIHsKICAgICAgaWYoICRkZXN0X2ZuYW1lICkgCgkkb3V0cFsnYWx0J10gPSBiYXNlbmFtZSgkZGVzdF9mbmFtZSk7CiAgICAgIGVsc2UgaWYoICRzcmNmaWxlICkKCSRvdXRwWydhbHQnXSA9IGJhc2VuYW1lKCRzcmNmaWxlKTsKICAgICAgZWxzZQoJJG91dHBbJ2FsdCddID0gYmFzZW5hbWUoJG9wcFsnc3JjJ10pOwogICAgfQoKICAgIC8vIGJ1aWxkIHRoZSBvdXRwdXQuCiAgICBpZiggJG9wcFsnbm90YWcnXSB8fCBzZWxmOjpfaXNfc3R5bGVzaGVldCgpICkgewogICAgICAkb3V0cFsnc3JjJ10gPSAkZGVzdF91cmw7CiAgICAgIGlmKCAhJG9wcFsnbm9lbWJlZCddICYmICRtb2QtPmNhbl9lbWJlZCgkZGVzdF9mbmFtZSkgKSB7CgkkdHlwZSA9IGNnZV91dGlsczo6Z2V0X21pbWVfdHlwZSgkZGVzdF9mbmFtZSk7CglpZiggJHR5cGUgJiYgJHR5cGUgIT0gJ3Vua25vd24nICkgewoJICAkdG1wID0gYmFzZTY0X2VuY29kZShmaWxlX2dldF9jb250ZW50cygkZGVzdF9mbmFtZSkpOwoJICAkb3V0cFsnc3JjJ10gPSAnZGF0YTonLiR0eXBlLic7YmFzZTY0LCcuJHRtcDsKCX0KICAgICAgfQogICAgICBlbHNlIHsKCSRvdXRwWydzcmMnXSA9ICRkZXN0X3VybDsKICAgICAgfQoKICAgICAgaWYoICFpc3NldCgkb3V0cFsnb3V0cHV0J10pICkgJG91dHBbJ291dHB1dCddID0gJG91dHBbJ3NyYyddOwogICAgfQogICAgZWxzZSB7CiAgICAgIC8vCiAgICAgIC8vIGdvdHRhIGJ1aWxkIGEgdGFnLgogICAgICAvLwogICAgICAvLyBnZXQgdGhlIHNyYyBmaXJzdC4KICAgICAgaWYoICEkb3BwWydub2VtYmVkJ10gJiYgJG1vZC0+Y2FuX2VtYmVkKCRkZXN0X2ZuYW1lKSApIHsKCSR0eXBlID0gY2dlX3V0aWxzOjpnZXRfbWltZV90eXBlKCRkZXN0X2ZuYW1lKTsKCWlmKCAkdHlwZSAmJiAkdHlwZSAhPSAndW5rbm93bicgKSB7CgkgICR0bXAgPSBiYXNlNjRfZW5jb2RlKGZpbGVfZ2V0X2NvbnRlbnRzKCRkZXN0X2ZuYW1lKSk7CgkgICRvdXRwWydzcmMnXSA9ICdkYXRhOicuJHR5cGUuJztiYXNlNjQsJy4kdG1wOwoJfQogICAgICB9CgogICAgICBpZiggIWlzc2V0KCRvdXRwWydzcmMnXSkgfHwgISRvdXRwWydzcmMnXSApIHsKCS8vIGZhbGxiYWNrIHRvIHRoZSBkZXN0aW5hdGlvbiB1cmwuCgkkb3V0cFsnc3JjJ10gPSAkZGVzdF91cmw7CiAgICAgIH0KCiAgICAgIGlmKCAkZGVzdF9mbmFtZSAmJiAkc3JjZmlsZSAmJiAhJG9wcFsnbm9hdXRvJ10gKSB7CgkkZGV0YWlscyA9IGdldGltYWdlc2l6ZSgkZGVzdF9mbmFtZSk7CglpZiggaXNfYXJyYXkoJGRldGFpbHMpICkgewoJICAkb3V0cFsnd2lkdGgnXSAgPSAoaW50KSRkZXRhaWxzWzBdOwoJICAkb3V0cFsnaGVpZ2h0J10gPSAoaW50KSRkZXRhaWxzWzFdOwoJfQogICAgICB9CgogICAgICAvLyBub3cgd2UgY2FuIGJ1aWxkIHRoZSB0YWcuCiAgICAgICRvdXRwdXQgPSAnPGltZyc7CiAgICAgIGZvcmVhY2goICRvdXRwIGFzICRrZXkgPT4gJHZhbHVlICkgewoJaWYoICEkdmFsdWUgKSBjb250aW51ZTsKCSRvdXRwdXQgLj0gJyAnLiRrZXkuJz0iJy4kdmFsdWUuJyInOwogICAgICB9CiAgICAgICRvdXRwdXQgLj0gJy8+JzsKICAgICAgJG91dHBbJ291dHB1dCddID0gJG91dHB1dDsKICAgIH0KCiAgICAvLyBoZXJlIHdlJ3JlIGdvbm5hIHJldHVybiBzb21ldGhpbmcKICAgIHJldHVybiAkb3V0cDsKICB9CgoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIGNnc2lfY29udmVydCgkcGFyYW1zLCRjb250ZW50LCYkc21hcnR5LCRyZXBlYXQpCiAgewogICAgaWYoICEkY29udGVudCApIHJldHVybjsKICAgICRtYXhfd2lkdGggPSAtMTsKICAgICRtYXhfaGVpZ2h0ID0gLTE7CiAgICBpZiggaXNzZXQoJHBhcmFtc1snbWF4X2hlaWdodCddKSApIHsKICAgICAgJG1heF9oZWlnaHQgPSBtYXgoMCwoaW50KSRwYXJhbXNbJ21heF9oZWlnaHQnXSk7CiAgICB9CiAgICBpZiggaXNzZXQoJHBhcmFtc1snbWF4X3dpZHRoJ10pICkgewogICAgICAkbWF4X3dpZHRoID0gbWF4KDAsKGludCkkcGFyYW1zWydtYXhfd2lkdGgnXSk7CiAgICB9CgogICAgJGRpZF9tb2RpZnkgPSBGQUxTRTsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHU21hcnRJbWFnZScpOwogICAgJG9sZF9lcnJvcnZhbCA9IGxpYnhtbF91c2VfaW50ZXJuYWxfZXJyb3JzKHRydWUpOwogICAgJGRvbSA9IG5ldyBDR0RvbURvY3VtZW50KCk7CiAgICAkZG9tLT5zdHJpY3RFcnJvckNoZWNraW5nID0gRkFMU0U7CiAgICAkZG9tLT52YWxpZGF0ZU9uUGFyc2UgPSBGQUxTRTsKICAgIGlmKCBmdW5jdGlvbl9leGlzdHMoJ21iX2NvbnZlcnRfZW5jb2RpbmcnKSApIHsKICAgICAgJGNvbnRlbnQgPSBtYl9jb252ZXJ0X2VuY29kaW5nKCRjb250ZW50LCAnSFRNTC1FTlRJVElFUycsICdVVEYtOCcpOwogICAgfQogICAgJGRvbS0+bG9hZEhUTUwoJGNvbnRlbnQpOwoKICAgICRpbWdzID0gJGRvbS0+R2V0RWxlbWVudHNCeVRhZ05hbWUoJ2ltZycpOwogICAgaWYoIGlzX29iamVjdCgkaW1ncykgJiYgJGltZ3MtPmxlbmd0aCApIHsKICAgICAgZm9yKCAkaSA9IDA7ICRpIDwgJGltZ3MtPmxlbmd0aDsgJGkrKyApIHsKCSRub2RlID0gJGltZ3MtPml0ZW0oJGkpOwoJJHN4ZSA9IHNpbXBsZXhtbF9pbXBvcnRfZG9tKCRub2RlKTsKCgkkcGFybXMgPSAkcGFyYW1zOwoJZm9yZWFjaCggJHN4ZS0+YXR0cmlidXRlcygpIGFzICRuYW1lID0+ICR2YWx1ZSApIHsKCSAgJHZhbHVlID0gKHN0cmluZykkdmFsdWU7CgkgIGlmKCAkdmFsdWUgPT0gJycgKSBjb250aW51ZTsKCgkgIHN3aXRjaCggJG5hbWUgKSB7CgkgIGNhc2UgJ3dpZHRoJzoKCSAgICBpZiggJG1heF93aWR0aCA+IDAgKSB7CgkgICAgICAkdmFsdWUgPSBtaW4oJG1heF93aWR0aCwoaW50KSR2YWx1ZSk7CgkgICAgfQoJICAgIGJyZWFrOwoKCSAgY2FzZSAnaGVpZ2h0JzoKCSAgICBpZiggJG1heF9oZWlnaHQgPiAwICkgewoJICAgICAgJHZhbHVlID0gbWluKCRtYXhfaGVpZ2h0LChpbnQpJHZhbHVlKTsKCSAgICB9CgkgICAgYnJlYWs7CgkgIH0KCSAgJHBhcm1zWyRuYW1lXSA9ICR2YWx1ZTsKCX0KCglpZiggIWlzc2V0KCRwYXJtc1snc3JjJ10pICkgewoJICBjb250aW51ZTsKCX0KCglpZiggc3RhcnRzd2l0aCgkcGFybXNbJ3NyYyddLCdkYXRhOicpICkgY29udGludWU7ICAgLy8gYWxyZWFkeSBlbWJlZGRlZCwgY2FuJ3QgZG8gYW55dGhpbmcuCgoJJHBhcm1zWydub3RhZyddID0gMTsKCSRvdXRwID0gc2VsZjo6cHJvY2Vzc19pbWFnZSgkcGFybXMpOwoJaWYoICRvdXRwWydlcnJvciddID09ICcnICkgewoJICBmb3JlYWNoKCAkb3V0cCBhcyAka2V5ID0+ICR2YWx1ZSApIHsKCSAgICAkZGlkX21vZGlmeSA9IFRSVUU7CgkgICAgc3dpdGNoKCAka2V5ICkgewoJICAgIGNhc2UgJ3dpZHRoJzoKCSAgICBjYXNlICdoZWlnaHQnOgoJICAgICAgJHN4ZS0+YXR0cmlidXRlcygpLT4ka2V5ID0gKGludCkkdmFsdWU7CgkgICAgICBicmVhazsKCSAgICBjYXNlICdzcmMnOgoJICAgIGRlZmF1bHQ6CgkgICAgICAkc3hlLT5hdHRyaWJ1dGVzKCktPiRrZXkgPSAkdmFsdWU7CgkgICAgICBicmVhazsKCSAgICB9CgkgIH0KCX0KICAgICAgfQogICAgfQoKICAgIC8vIGdldCB0aGUgY29udGVudHMuCiAgICBpZiggJGRpZF9tb2RpZnkgKSB7CiAgICAgICRub2RlID0gJGRvbS0+ZG9jdW1lbnRFbGVtZW50OwogICAgICAkY29udGVudCA9ICRub2RlLT5pbm5lckhUTUw7CiAgICAgICRjb250ZW50ID0gc3RyX3JlcGxhY2UoY2hyKDEzKSwnJywkY29udGVudCk7CiAgICAgICRjb250ZW50ID0gc3RyX3JlcGxhY2UoJyYjMTM7JywnJywkY29udGVudCk7CiAgICAgIGlmKCBzdGFydHN3aXRoKCRjb250ZW50LCc8aHRtbD4nKSApIHsKCSRjb250ZW50ID0gc3RyX3JlcGxhY2UoJzxodG1sPicsJycsJGNvbnRlbnQpOwoJJGNvbnRlbnQgPSBzdHJfcmVwbGFjZSgnPC9odG1sPicsJycsJGNvbnRlbnQpOwogICAgICB9CiAgICAgIGlmKCBzdGFydHN3aXRoKCRjb250ZW50LCc8Ym9keT4nKSApIHsKCSRjb250ZW50ID0gc3RyX3JlcGxhY2UoJzxib2R5PicsJycsJGNvbnRlbnQpOwoJJGNvbnRlbnQgPSBzdHJfcmVwbGFjZSgnPC9ib2R5PicsJycsJGNvbnRlbnQpOwogICAgICB9CiAgICB9CiAgICByZXR1cm4gJGNvbnRlbnQ7CiAgfQoKCiAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRfZGV2aWNlX2NhcGFiaWxpdGllcygpCiAgewogICAgaWYoIGlzX2FycmF5KHNlbGY6OiRfZGV2aWNlX2RhdGEpICYmIGlzc2V0KHNlbGY6OiRfZGV2aWNlX2RhdGFbJ3dpZHRoJ10pICkgewogICAgICByZXR1cm4gc2VsZjo6JF9kZXZpY2VfZGF0YTsKICAgIH0KCiAgICBpZiggIWlzc2V0KCRfU0VSVkVSWydIVFRQX1VTRVJfQUdFTlQnXSkgKSByZXR1cm47CiAgICAkYnJvd3NlciA9IGNnZV91dGlsczo6Z2V0X2Jyb3dzZXIoKTsKICAgIGlmKCAhJGJyb3dzZXItPmlzTW9iaWxlKCkgKSByZXR1cm47CgogICAgJGFnZW50ID0gJF9TRVJWRVJbJ0hUVFBfVVNFUl9BR0VOVCddOwogICAgJGNvbmZpZyA9IGNtc21zKCktPkdldENvbmZpZygpOwogICAgJGNrZXkgPSBtZDUoJGNvbmZpZ1sncm9vdF91cmwnXS4nQ0dFeHRlbnNpb25zRGV2aWNlQ2FwYWJpbGl0aWVzQ2FjaGUnKTsKCiAgICAkaGFuZGxlciA9IGNtc19jYWNoZV9oYW5kbGVyOjpnZXRfaW5zdGFuY2UoKTsKICAgICRkYXRhID0gYXJyYXkoKTsKICAgIGlmKCAkaGFuZGxlci0+ZXhpc3RzKCRja2V5KSApIHsKICAgICAgJHJhd2RhdCA9ICRoYW5kbGVyLT5nZXQoJGNrZXkpOwogICAgICBpZiggJHJhd2RhdCApIHsKCSRkYXRhID0gdW5zZXJpYWxpemUoJHJhd2RhdCk7CiAgICAgIH0KICAgIH0KICAgICR1a2V5ID0gbWQ1KCRhZ2VudCk7CiAgICBpZiggaXNzZXQoJGRhdGFbJHVrZXldKSApIHsKICAgICAgc2VsZjo6JF9kZXZpY2VfZGF0YSA9ICRkYXRhWyR1a2V5XTsKICAgICAgcmV0dXJuICRkYXRhWyR1a2V5XTsKICAgIH0KICAgIAogICAgLy8gZ290dGEgZG8gYSB3ZWIgc2VydmljZSByZXF1ZXN0LgogICAgLy8gaGVyZSB3ZSB3b3VsZCBkZXRlcm1pbmUgd2hhdCBjbGllbnQgdG8gdXNlLgogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTbWFydEltYWdlJyk7CiAgICBpZiggISRtb2QgKSByZXR1cm47CgogICAgLy8gaW5zdGFudGlhdGUgdGhlIGNsYXNzIGFuZCBkbyB0aGUgcmVxdWVzdAogICAgJGNsaWVudF9jbGFzcyA9ICdjZ3NpX0RldmljZUF0bGFzUGVyc29uYWxfY2xpZW50JzsKICAgIGlmKCAhY2xhc3NfZXhpc3RzKCRjbGllbnRfY2xhc3MpICkgewogICAgICAvLyBubyBjbGllbnQgY2xhc3MgZm91bmQuCiAgICAgIHJldHVybjsKICAgIH0KICAgICRjbGllbnRfb2JqID0gbmV3ICRjbGllbnRfY2xhc3MoJGFnZW50KTsKICAgIGlmKCAhaXNfb2JqZWN0KCRjbGllbnRfb2JqKSApIHsKICAgICAgLy8gbm8gY2xpZW50IGNsYXNzIHBvc3NpYmxlLgogICAgICByZXR1cm47CiAgICB9CiAgICAkcmVzID0gJGNsaWVudF9vYmotPmdldF9kZXZpY2VfcmVzb2x1dGlvbigpOwogICAgaWYoICFpc19hcnJheSgkcmVzKSApIHJldHVybjsKCiAgICAvLyBnb3QgcmVzdWx0cyBmcm9tIHdlYiBzZXJ2aWNlCiAgICAkZGF0YVskdWtleV0gPSAkcmVzOwogICAgJGhhbmRsZXItPnNldCgkY2tleSxzZXJpYWxpemUoJGRhdGEpKTsKICAgIHNlbGY6OiRfZGV2aWNlX2RhdGEgPSAkcmVzOwogICAgcmV0dXJuICRyZXM7CiAgfQoKICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHRyaW1fdG9fZGV2aWNlKCRmbGFnLCR2YWx1ZSkKICB7CiAgICAkZmxhZyA9IHN0cnRvbG93ZXIoJGZsYWcpOwogICAgaWYoICR2YWx1ZSA+IDAgJiYgaXNfYXJyYXkoc2VsZjo6JF9kZXZpY2VfZGF0YSkgJiYgaXNzZXQoc2VsZjo6JF9kZXZpY2VfZGF0YVskZmxhZ10pICkgewogICAgICByZXR1cm4gbWluKCR2YWx1ZSxzZWxmOjokX2RldmljZV9kYXRhWyRmbGFnXSk7CiAgICB9CiAgICByZXR1cm4gJHZhbHVlOwogIH0KfQoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/lib/class.CGSmartImage_ClearCacheTask.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCgpjbGFzcyBDR1NtYXJ0SW1hZ2VfQ2xlYXJDYWNoZVRhc2sgaW1wbGVtZW50cyBDbXNSZWd1bGFyVGFzawp7CiAgcHVibGljIGZ1bmN0aW9uIGdldF9uYW1lKCkgCiAgewogICAgcmV0dXJuIGdldF9jbGFzcygkdGhpcyk7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9kZXNjcmlwdGlvbigpCiAgewogICAgJG1vZCA9IGNtc191dGlsczo6Z2V0X21vZHVsZSgnQ0dTbWFydEltYWdlJyk7CiAgICByZXR1cm4gJG1vZC0+TGFuZygnY2xlYXJjYWNoZXRhc2tfZGVzY3JpcHRpb24nKTsKICB9CgoKICBwdWJsaWMgZnVuY3Rpb24gdGVzdCgkdGltZSA9ICcnKQogIHsKICAgICRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHU21hcnRJbWFnZScpOwogICAgJGFnZSA9IChpbnQpJG1vZC0+R2V0UHJlZmVyZW5jZSgnY2FjaGVfYWdlJyk7CiAgICBpZiggJGFnZSA8PSAwICkgcmV0dXJuIEZBTFNFOwoKICAgIC8vIHdlIG9ubHkgYXR0ZW1wdCB0byBjbGVhciBjYWNoZWQgZmlsZXMgb25jZSBwZXIgZGF5CiAgICBpZiggISR0aW1lICkgJHRpbWUgPSB0aW1lKCk7CiAgICAkbGFzdF9leGVjdXRlID0gJG1vZC0+R2V0UHJlZmVyZW5jZSgnY2xlYXJjYWNoZV9sYXN0cnVuJyk7CiAgICBpZiggKCR0aW1lIC0gMjQqNjAqNjAgKSA+PSAkbGFzdF9leGVjdXRlICkKICAgIHsKICAgICAgcmV0dXJuIFRSVUU7CiAgICB9CiAgICByZXR1cm4gRkFMU0U7CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGV4ZWN1dGUoJHRpbWUgPSAnJykKICB7CiAgICBpZiggISR0aW1lICkgJHRpbWUgPSB0aW1lKCk7CgogICAgdHJ5CiAgICAgIHsKCS8vIGNsZWFyIGNhY2hlZCBmaWxlcy4KCSRtb2QgPSBjbXNfdXRpbHM6OmdldF9tb2R1bGUoJ0NHU21hcnRJbWFnZScpOwoJJG5fcmVtb3ZlZCA9ICRtb2QtPmNsZWFyX2NhY2hlZF9maWxlcygpOwoJJG1vZC0+QXVkaXQoJycsJG1vZC0+TGFuZygnYWN0X2NhY2hlY2xlYW5lZCcpLCRtb2QtPkxhbmcoJ21zZ19jYWNoZWNsZWFuZWQnLCRuX3JlbW92ZWQpKTsKCXJldHVybiBUUlVFOwogICAgICB9CiAgICBjYXRjaCggRXhjZXB0aW9uICRlICkKICAgICAgewoJcmV0dXJuIEZBTFNFOwogICAgICB9CiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIG9uX3N1Y2Nlc3MoJHRpbWUgPSAnJykKICB7CiAgICBpZiggISR0aW1lICkgJHRpbWUgPSB0aW1lKCk7CiAgICAkbW9kID0gY21zX3V0aWxzOjpnZXRfbW9kdWxlKCdDR1NtYXJ0SW1hZ2UnKTsKICAgICRtb2QtPlNldFByZWZlcmVuY2UoJ2NsZWFyY2FjaGVfbGFzdHJ1bicsJHRpbWUpOwogIH0KCiAgCiAgcHVibGljIGZ1bmN0aW9uIG9uX2ZhaWx1cmUoJHRpbWUgPSAnJykKICB7CiAgICAvLyBub3RoaW5nIGhlcmUuCiAgfQoKCiAgcHVibGljIGZ1bmN0aW9uIGdldF9jYWNoZWRfaW1hZ2VfdXJsKCRkZXN0bmFtZSkKICB7CiAgICAkZGVzdG5hbWUgPSBiYXNlbmFtZSgkZGVzdG5hbWUpOwoKICAgICRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKICAgICRkZXN0X3VybCA9ICR0aGlzLT5HZXRQcmVmZXJlbmNlKCdpbWFnZV91cmxfcHJlZml4JywkY29uZmlnWyd1cGxvYWRzX3VybCddKTsKICAgIGlmKCAhZW5kc3dpdGgoJGRlc3RfdXJsLCAnLycpICkgJGRlc3R1cmwgLj0gJy8nOwogICAgaWYoICEkdGhpcy0+R2V0UHJlZmVyZW5jZSgnaW1hZ2VfdXJsX2hhc2NhY2hlZGlyJywwKSApCiAgICAgIHsKCSRkZXN0X3VybCAuPSAnXycuJHRoaXMtPkdldE5hbWUoKS4nLyc7CiAgICAgIH0KICAgICRkZXN0X3VybCAuPSAkZGVzdG5hbWU7CiAgICByZXR1cm4gJGRlc3RfdXJsOwogIH0KfSAvLyBlbmQgb2YgY2xhc3MKCiMKIyBFT0YKIwo/Pg==]]></data>
	</file>
	<file>
	  <filename>/lib/colors.dat</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[I0YwRjhGRi1BbGljZUJsdWUKI0ZBRUJENy1BbnRpcXVlV2hpdGUKIzAwRkZGRi1BcXVhCiM3RkZGRDQtQXF1YW1hcmluZQojRjBGRkZGLUF6dXJlCiNGNUY1REMtQmVpZ2UKI0ZGRTRDNC1CaXNxdWUKI0ZGRUJDRC1CbGFuY2hlZEFsbW9uZAojMDAwMDAwLUJsYWNrCiMwMDAwRkYtQmx1ZQojOEEyQkUyLUJsdWVWaW9sZXQKI0E1MkEyQS1Ccm93bgojREVCODg3LUJ1cmx5V29vZAojNUY5RUEwLUNhZGV0Qmx1ZQojN0ZGRjAwLUNoYXJ0cmV1c2UKI0QyNjkxRS1DaG9jb2xhdGUKI0ZGN0Y1MC1Db3JhbAojNjQ5NUVELUNvcm5mbG93ZXJCbHVlCiNGRkY4REMtQ29ybnNpbGsKI0RDMTQzQy1Dcmltc29uCiMwMEZGRkYtQ3lhbgojMDAwMDhCLURhcmtCbHVlCiMwMDhCOEItRGFya0N5YW4KI0I4ODYwQi1EYXJrR29sZGVuUm9kCiNBOUE5QTktRGFya0dyYXkKIzAwNjQwMC1EYXJrR3JlZW4KI0JEQjc2Qi1EYXJrS2hha2kKIzhCMDA4Qi1EYXJrTWFnZW50YQojNTU2QjJGLURhcmtPbGl2ZUdyZWVuCiNGRjhDMDAtRGFya29yYW5nZQojOTkzMkNDLURhcmtPcmNoaWQKIzhCMDAwMC1EYXJrUmVkCiNFOTk2N0EtRGFya1NhbG1vbgojOEZCQzhGLURhcmtTZWFHcmVlbgojNDgzRDhCLURhcmtTbGF0ZUJsdWUKIzJGNEY0Ri1EYXJrU2xhdGVHcmF5CiMwMENFRDEtRGFya1R1cnF1b2lzZQojOTQwMEQzLURhcmtWaW9sZXQKI0ZGMTQ5My1EZWVwUGluawojMDBCRkZGLURlZXBTa3lCbHVlCiM2OTY5NjktRGltR3JheQojMUU5MEZGLURvZGdlckJsdWUKI0QxOTI3NS1GZWxkc3BhcgojQjIyMjIyLUZpcmVCcmljawojRkZGQUYwLUZsb3JhbFdoaXRlCiMyMjhCMjItRm9yZXN0R3JlZW4KI0ZGMDBGRi1GdWNoc2lhCiNEQ0RDREMtR2FpbnNib3JvCiNGOEY4RkYtR2hvc3RXaGl0ZQojRkZENzAwLUdvbGQKI0RBQTUyMC1Hb2xkZW5Sb2QKIzgwODA4MC1HcmF5CiMwMDgwMDAtR3JlZW4KI0FERkYyRi1HcmVlblllbGxvdwojRjBGRkYwLUhvbmV5RGV3CiNGRjY5QjQtSG90UGluawojQ0Q1QzVDLUluZGlhblJlZAojNEIwMDgyLUluZGlnbwojRkZGRkYwLUl2b3J5CiNGMEU2OEMtS2hha2kKI0U2RTZGQS1MYXZlbmRlcgojRkZGMEY1LUxhdmVuZGVyQmx1c2gKIzdDRkMwMC1MYXduR3JlZW4KI0ZGRkFDRC1MZW1vbkNoaWZmb24KI0FERDhFNi1MaWdodEJsdWUKI0YwODA4MC1MaWdodENvcmFsCiNFMEZGRkYtTGlnaHRDeWFuCiNGQUZBRDItTGlnaHRHb2xkZW5Sb2RZZWxsb3cKI0QzRDNEMy1MaWdodEdyZXkKIzkwRUU5MC1MaWdodEdyZWVuCiNGRkI2QzEtTGlnaHRQaW5rCiNGRkEwN0EtTGlnaHRTYWxtb24KIzIwQjJBQS1MaWdodFNlYUdyZWVuCiM4N0NFRkEtTGlnaHRTa3lCbHVlCiM4NDcwRkYtTGlnaHRTbGF0ZUJsdWUKIzc3ODg5OS1MaWdodFNsYXRlR3JheQojQjBDNERFLUxpZ2h0U3RlZWxCbHVlCiNGRkZGRTAtTGlnaHRZZWxsb3cKIzAwRkYwMC1MaW1lCiMzMkNEMzItTGltZUdyZWVuCiNGQUYwRTYtTGluZW4KI0ZGMDBGRi1NYWdlbnRhCiM4MDAwMDAtTWFyb29uCiM2NkNEQUEtTWVkaXVtQXF1YU1hcmluZQojMDAwMENELU1lZGl1bUJsdWUKI0JBNTVEMy1NZWRpdW1PcmNoaWQKIzkzNzBEOC1NZWRpdW1QdXJwbGUKIzNDQjM3MS1NZWRpdW1TZWFHcmVlbgojN0I2OEVFLU1lZGl1bVNsYXRlQmx1ZQojMDBGQTlBLU1lZGl1bVNwcmluZ0dyZWVuCiM0OEQxQ0MtTWVkaXVtVHVycXVvaXNlCiNDNzE1ODUtTWVkaXVtVmlvbGV0UmVkCiMxOTE5NzAtTWlkbmlnaHRCbHVlCiNGNUZGRkEtTWludENyZWFtCiNGRkU0RTEtTWlzdHlSb3NlCiNGRkU0QjUtTW9jY2FzaW4KI0ZGREVBRC1OYXZham9XaGl0ZQojMDAwMDgwLU5hdnkKI0ZERjVFNi1PbGRMYWNlCiM4MDgwMDAtT2xpdmUKIzZCOEUyMy1PbGl2ZURyYWIKI0ZGQTUwMC1PcmFuZ2UKI0ZGNDUwMC1PcmFuZ2VSZWQKI0RBNzBENi1PcmNoaWQKI0VFRThBQS1QYWxlR29sZGVuUm9kCiM5OEZCOTgtUGFsZUdyZWVuCiNBRkVFRUUtUGFsZVR1cnF1b2lzZQojRDg3MDkzLVBhbGVWaW9sZXRSZWQKI0ZGRUZENS1QYXBheWFXaGlwCiNGRkRBQjktUGVhY2hQdWZmCiNDRDg1M0YtUGVydQojRkZDMENCLVBpbmsKI0REQTBERC1QbHVtCiNCMEUwRTYtUG93ZGVyQmx1ZQojODAwMDgwLVB1cnBsZQojRkYwMDAwLVJlZAojQkM4RjhGLVJvc3lCcm93bgojNDE2OUUxLVJveWFsQmx1ZQojOEI0NTEzLVNhZGRsZUJyb3duCiNGQTgwNzItU2FsbW9uCiNGNEE0NjAtU2FuZHlCcm93bgojMkU4QjU3LVNlYUdyZWVuCiNGRkY1RUUtU2VhU2hlbGwKI0EwNTIyRC1TaWVubmEKI0MwQzBDMC1TaWx2ZXIKIzg3Q0VFQi1Ta3lCbHVlCiM2QTVBQ0QtU2xhdGVCbHVlCiM3MDgwOTAtU2xhdGVHcmF5CiNGRkZBRkEtU25vdwojMDBGRjdGLVNwcmluZ0dyZWVuCiM0NjgyQjQtU3RlZWxCbHVlCiNEMkI0OEMtVGFuCiMwMDgwODAtVGVhbAojRDhCRkQ4LVRoaXN0bGUKI0ZGNjM0Ny1Ub21hdG8KIzQwRTBEMC1UdXJxdW9pc2UKI0VFODJFRS1WaW9sZXQKI0QwMjA5MC1WaW9sZXRSZWQKI0Y1REVCMy1XaGVhdAojRkZGRkZGLVdoaXRlCiNGNUY1RjUtV2hpdGVTbW9rZQojRkZGRjAwLVllbGxvdwojOUFDRDMyLVllbGxvd0dyZWVuCg==]]></data>
	</file>
	<file>
	  <filename>/lib/imageSmoothArc_optimized.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKCi8qCiAgICAKICAgIENvcHlyaWdodCAoYykgMjAwNi0yMDA4IFVscmljaCBNaWVyZW5kb3JmZgoKICAgIFBlcm1pc3Npb24gaXMgaGVyZWJ5IGdyYW50ZWQsIGZyZWUgb2YgY2hhcmdlLCB0byBhbnkgcGVyc29uIG9idGFpbmluZyBhCiAgICBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbiBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLAogICAgdG8gZGVhbCBpbiB0aGUgU29mdHdhcmUgd2l0aG91dCByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbgogICAgdGhlIHJpZ2h0cyB0byB1c2UsIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsCiAgICBhbmQvb3Igc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbSB0aGUKICAgIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnM6CgogICAgVGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2Ugc2hhbGwgYmUgaW5jbHVkZWQgaW4KICAgIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgoKICAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCiAgICBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKICAgIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMCiAgICBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQgSE9MREVSUyBCRSBMSUFCTEUgRk9SIEFOWSBDTEFJTSwgREFNQUdFUyBPUiBPVEhFUgogICAgTElBQklMSVRZLCBXSEVUSEVSIElOIEFOIEFDVElPTiBPRiBDT05UUkFDVCwgVE9SVCBPUiBPVEhFUldJU0UsIEFSSVNJTkcKICAgIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IgT1RIRVIKICAgIERFQUxJTkdTIElOIFRIRSBTT0ZUV0FSRS4KCiovCgpmdW5jdGlvbiBpbWFnZVNtb290aEFyY0RyYXdTZWdtZW50ICgmJGltZywgJGN4LCAkY3ksICRhLCAkYiwgJGNvbG9yLCAkc3RhcnQsICRzdG9wLCAkc2VnKQp7CiAgICAvLyBPcmlnaW5hbGx5IHdyaXR0ZW4gZnJvbSBzY3JhdGNoIGJ5IFVscmljaCBNaWVyZW5kb3JmZiwgMDYvMjAwNgogICAgLy8gUmV3cml0dGVuIGFuZCBpbXByb3ZlZCwgMDQvMjAwNywgMDcvMjAwNwogICAgLy8gT3B0aW1pemVkIGNpcmNsZSB2ZXJzaW9uOiAwMy8yMDA4CiAgICAKICAgIC8vIFBsZWFzZSBkbyBub3QgdXNlIFRISVMgZnVuY3Rpb24gZGlyZWN0bHkuIFNjcm9sbCBkb3duIHRvIGltYWdlU21vb3RoQXJjKC4uLikuCiAgICAKICAgICRmaWxsQ29sb3IgPSBpbWFnZUNvbG9yRXhhY3RBbHBoYSggJGltZywgJGNvbG9yWzBdLCAkY29sb3JbMV0sICRjb2xvclsyXSwgJGNvbG9yWzNdICk7CiAgICBzd2l0Y2ggKCRzZWcpCiAgICB7CiAgICAgICAgY2FzZSAwOiAkeHAgPSArMTsgJHlwID0gLTE7ICR4YSA9IDE7ICR5YSA9IC0xOyBicmVhazsKICAgICAgICBjYXNlIDE6ICR4cCA9IC0xOyAkeXAgPSAtMTsgJHhhID0gMDsgJHlhID0gLTE7IGJyZWFrOwogICAgICAgIGNhc2UgMjogJHhwID0gLTE7ICR5cCA9ICsxOyAkeGEgPSAwOyAkeWEgPSAwOyBicmVhazsKICAgICAgICBjYXNlIDM6ICR4cCA9ICsxOyAkeXAgPSArMTsgJHhhID0gMTsgJHlhID0gMDsgYnJlYWs7CiAgICB9CiAgICBmb3IgKCAkeCA9IDA7ICR4IDw9ICRhOyAkeCArPSAxICkgewogICAgICAgICR5ID0gJGIgKiBzcXJ0KCAxIC0gKCR4KiR4KS8oJGEqJGEpICk7CiAgICAgICAgJGVycm9yID0gJHkgLSAoaW50KSgkeSk7CiAgICAgICAgJHkgPSAoaW50KSgkeSk7CiAgICAgICAgJGRpZmZDb2xvciA9IGltYWdlQ29sb3JFeGFjdEFscGhhKCAkaW1nLCAkY29sb3JbMF0sICRjb2xvclsxXSwgJGNvbG9yWzJdLCAxMjctKDEyNy0kY29sb3JbM10pKiRlcnJvciApOwogICAgICAgIGltYWdlU2V0UGl4ZWwoJGltZywgJGN4KyR4cCokeCskeGEsICRjeSskeXAqKCR5KzEpKyR5YSwgJGRpZmZDb2xvcik7CiAgICAgICAgaW1hZ2VMaW5lKCRpbWcsICRjeCskeHAqJHgrJHhhLCAkY3krJHlwKiR5KyR5YSAsICRjeCskeHAqJHgrJHhhLCAkY3krJHlhLCAkZmlsbENvbG9yKTsKICAgIH0KICAgIGZvciAoICR5ID0gMDsgJHkgPCAkYjsgJHkgKz0gMSApIHsKICAgICAgICAkeCA9ICRhICogc3FydCggMSAtICgkeSokeSkvKCRiKiRiKSApOwogICAgICAgICRlcnJvciA9ICR4IC0gKGludCkoJHgpOwogICAgICAgICR4ID0gKGludCkoJHgpOwogICAgICAgICRkaWZmQ29sb3IgPSBpbWFnZUNvbG9yRXhhY3RBbHBoYSggJGltZywgJGNvbG9yWzBdLCAkY29sb3JbMV0sICRjb2xvclsyXSwgMTI3LSgxMjctJGNvbG9yWzNdKSokZXJyb3IgKTsKICAgICAgICBpbWFnZVNldFBpeGVsKCRpbWcsICRjeCskeHAqKCR4KzEpKyR4YSwgJGN5KyR5cCokeSskeWEsICRkaWZmQ29sb3IpOwogICAgfQp9CgoKZnVuY3Rpb24gaW1hZ2VTbW9vdGhBcmMgKCAmJGltZywgJGN4LCAkY3ksICR3LCAkaCwgJGNvbG9yLCAkc3RhcnQsICRzdG9wKQp7CiAgICAvLyBPcmlnaW5hbGx5IHdyaXR0ZW4gZnJvbSBzY3JhdGNoIGJ5IFVscmljaCBNaWVyZW5kb3JmZiwgMDYvMjAwNgogICAgLy8gUmV3cml0dGVuIGFuZCBpbXByb3ZlZCwgMDQvMjAwNywgMDcvMjAwNwogICAgLy8gT3B0aW1pemVkIGNpcmNsZSB2ZXJzaW9uOiAwMy8yMDA4CiAgICAvLyBjb21wYXJlZCB0byBvbGQgdmVyc2lvbjoKICAgIC8vICsgU3VwcG9ydCBmb3IgdHJhbnNwYXJlbmN5IGFkZGVkCiAgICAvLyArIEltcHJvdmVkIHF1YWxpdHkgb2YgZWRnZXMgJiBhbnRpYWxpYXNpbmcKICAgIAogICAgLy8gbm90ZTogVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCByZXByZXNlbnQgdGhlIGZhc3Rlc3Qgd2F5IHRvIGRyYXcgZWxsaXB0aWNhbAogICAgLy8gYXJjcy4gSXQgd2FzIHdyaXR0ZW4gd2l0aG91dCByZWFkaW5nIGFueSBwYXBlcnMgb24gdGhhdCBzdWJqZWN0LiBCZXR0ZXIKICAgIC8vIGFsZ29yaXRobXMgbWF5IGJlIHR3aWNlIGFzIGZhc3Qgb3IgZXZlbiBtb3JlLgogICAgCiAgICAvLyBQYXJhbWV0ZXJzOgogICAgLy8gJGN4ICAgICAgLSBDZW50ZXIgb2YgZWxsaXBzZSwgWC1jb29yZAogICAgLy8gJGN5ICAgICAgLSBDZW50ZXIgb2YgZWxsaXBzZSwgWS1jb29yZAogICAgLy8gJHcgICAgICAgLSBXaWR0aCBvZiBlbGxpcHNlICgkdyA+PSAyKQogICAgLy8gJGggICAgICAgLSBIZWlnaHQgb2YgZWxsaXBzZSAoJGggPj0gMiApCiAgICAvLyAkY29sb3IgICAtIENvbG9yIG9mIGVsbGlwc2UgYXMgYSBmb3VyIGNvbXBvbmVudCBhcnJheSB3aXRoIFJHQkEKICAgIC8vICRzdGFydCAgIC0gU3RhcnRpbmcgYW5nbGUgb2YgdGhlIGFyYzogMCwgUEkvMiwgUEksIFBJLzIqMywgMipQSSwuLi4gKDAsOTDCsCwxODDCsCwyNzDCsCwzNjDCsCwuLi4pCiAgICAvLyAkc3RvcCAgICAtIFN0b3AgICAgIGFuZ2xlIG9mIHRoZSBhcmM6IDAsIFBJLzIsIFBJLCBQSS8yKjMsIDIqUEksLi4uICgwLDkwwrAsMTgwwrAsMjcwwrAsMzYwwrAsLi4uKQogICAgLy8gJHN0YXJ0IF9jYW5fIGJlIGdyZWF0ZXIgdGhhbiAkc3RvcCEKICAgIC8vIElmIGFueSB2YWx1ZSBpcyBub3QgaW4gdGhlIGdpdmVuIHJhbmdlLCByZXN1bHRzIGFyZSB1bmRlZmluZWQhCiAgICAKICAgIC8vIFRoaXMgc2NyaXB0IGRvZXMgbm90IHVzZSBhbnkgc3BlY2lhbCBhbGdvcml0aG1zLCBldmVyeXRoaW5nIGlzIGNvbXBsZXRlbHkKICAgIC8vIHdyaXR0ZW4gZnJvbSBzY3JhdGNoOyBzZWUgaHR0cDovL2RlLndpa2lwZWRpYS5vcmcvd2lraS9FbGxpcHNlIGZvciBmb3JtdWxhcy4KICAgIAogICAgd2hpbGUgKCRzdGFydCA8IDApCiAgICAgICAgJHN0YXJ0ICs9IDIqTV9QSTsKICAgIHdoaWxlICgkc3RvcCA8IDApCiAgICAgICAgJHN0b3AgKz0gMipNX1BJOwogICAgCiAgICB3aGlsZSAoJHN0YXJ0ID4gMipNX1BJKQogICAgICAgICRzdGFydCAtPSAyKk1fUEk7CiAgICAKICAgIHdoaWxlICgkc3RvcCA+IDIqTV9QSSkKICAgICAgICAkc3RvcCAtPSAyKk1fUEk7CiAgICAKCiAgICBpZiAoJHN0YXJ0ID4gJHN0b3ApCiAgICB7CiAgICAgICAgaW1hZ2VTbW9vdGhBcmMgKCAkaW1nLCAkY3gsICRjeSwgJHcsICRoLCAkY29sb3IsICRzdGFydCwgMipNX1BJKTsKICAgICAgICBpbWFnZVNtb290aEFyYyAoICRpbWcsICRjeCwgJGN5LCAkdywgJGgsICRjb2xvciwgMCwgJHN0b3ApOwogICAgICAgIHJldHVybjsKICAgIH0KICAgIAogICAgJGEgPSAxLjAqcm91bmQgKCR3LzIpOwogICAgJGIgPSAxLjAqcm91bmQgKCRoLzIpOwogICAgJGN4ID0gMS4wKnJvdW5kICgkY3gpOwogICAgJGN5ID0gMS4wKnJvdW5kICgkY3kpOwogICAgCiAgICBmb3IgKCRpPTA7ICRpPDQ7JGkrKykKICAgIHsKICAgICAgICBpZiAoJHN0YXJ0IDwgKCRpKzEpKk1fUEkvMikKICAgICAgICB7CiAgICAgICAgICAgIGlmICgkc3RhcnQgPiAkaSpNX1BJLzIpCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgIGlmICgkc3RvcCA+ICgkaSsxKSpNX1BJLzIpCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgaW1hZ2VTbW9vdGhBcmNEcmF3U2VnbWVudCgkaW1nLCAkY3gsICRjeSwgJGEsICRiLCAkY29sb3IsICRzdGFydCwgKCRpKzEpKk1fUEkvMiwgJGkpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgZWxzZQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGltYWdlU21vb3RoQXJjRHJhd1NlZ21lbnQoJGltZywgJGN4LCAkY3ksICRhLCAkYiwgJGNvbG9yLCAkc3RhcnQsICRzdG9wLCAkaSk7CiAgICAgICAgICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICAgICAgZWxzZQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZiAoJHN0b3AgPiAoJGkrMSkqTV9QSS8yKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGltYWdlU21vb3RoQXJjRHJhd1NlZ21lbnQoJGltZywgJGN4LCAkY3ksICRhLCAkYiwgJGNvbG9yLCAkaSpNX1BJLzIsICgkaSsxKSpNX1BJLzIsICRpKTsKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICBpbWFnZVNtb290aEFyY0RyYXdTZWdtZW50KCRpbWcsICRjeCwgJGN5LCAkYSwgJGIsICRjb2xvciwgJGkqTV9QSS8yLCAkc3RvcCwgJGkpOwogICAgICAgICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9Cj8+Cg==]]></data>
	</file>
	<file>
	  <filename>/method.install.php</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PD9waHAKI0JFR0lOX0xJQ0VOU0UKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIyBNb2R1bGU6IENHU21hcnRJbWFnZSAoYykgMjAxMSBieSBSb2JlcnQgQ2FtcGJlbGwgKGNhbGd1eTEwMDBAY21zbWFkZXNpbXBsZS5vcmcpCiMgIAojICBBbiBhZGRvbiBtb2R1bGUgZm9yIENNUyBNYWRlIFNpbXBsZSB0byBhbGxvdyBjcmVhdGluZyBpbWFnZSB0YWdzIGluIGEgc21hcnQKIyAgd2F5IHRvIG9wdGltaXplIHBlcmZvcm1hbmNlLgojIAojLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQojIENNUyAtIENNUyBNYWRlIFNpbXBsZSBpcyAoYykgMjAwNS0yMDEwIGJ5IFRlZCBLdWxwICh3aXNoeUBjbXNtYWRlc2ltcGxlLm9yZykKIyBUaGlzIHByb2plY3QncyBob21lcGFnZSBpczogaHR0cDovL3d3dy5jbXNtYWRlc2ltcGxlLm9yZwojCiMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiMKIyBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQojIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CiMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgojCiMgSG93ZXZlciwgYXMgYSBzcGVjaWFsIGV4Y2VwdGlvbiB0byB0aGUgR1BMLCB0aGlzIHNvZnR3YXJlIGlzIGRpc3RyaWJ1dGVkCiMgYXMgYW4gYWRkb24gbW9kdWxlIHRvIENNUyBNYWRlIFNpbXBsZS4gIFlvdSBtYXkgbm90IHVzZSB0aGlzIHNvZnR3YXJlCiMgaW4gYW55IE5vbiBHUEwgdmVyc2lvbiBvZiBDTVMgTWFkZSBzaW1wbGUsIG9yIGluIGFueSB2ZXJzaW9uIG9mIENNUwojIE1hZGUgc2ltcGxlIHRoYXQgZG9lcyBub3QgaW5kaWNhdGUgY2xlYXJseSBhbmQgb2J2aW91c2x5IGluIGl0cyBhZG1pbiAKIyBzZWN0aW9uIHRoYXQgdGhlIHNpdGUgd2FzIGJ1aWx0IHdpdGggQ01TIE1hZGUgc2ltcGxlLgojCiMgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCiMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCiMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQojIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCiMgRm91bmRhdGlvbiwgSW5jLiwgNTkgVGVtcGxlIFBsYWNlLCBTdWl0ZSAzMzAsIEJvc3RvbiwgTUEgMDIxMTEtMTMwNyBVU0EKIyBPciByZWFkIGl0IG9ubGluZTogaHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2xpY2Vuc2VzLmh0bWwjR1BMCiMKIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KI0VORF9MSUNFTlNFCmlmKCAhaXNzZXQoJGdDbXMpICkgZXhpdDsKCiRjb25maWcgPSBjbXNtcygpLT5HZXRDb25maWcoKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2VtYmVkX21vZGUnLCdzbWFydCcpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1iZWRfc2l6ZScsMzIpOwokdGhpcy0+U2V0UHJlZmVyZW5jZSgnZW1iZWRfdHlwZScsJ3BuZyxqcGcsZ2lmJyk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdpbWFnZV91cmxfcHJlZml4JywkY29uZmlnWydyb290X3VybCddKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2ltYWdlX3VybF9oYXNjYWNoZWRpcicsMCk7CiR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYWNoZV9hZ2UnLDApOwovLyR0aGlzLT5TZXRQcmVmZXJlbmNlKCdjYWNoZV9wYXRoJywgY21zX2pvaW5fcGF0aCgndXBsb2FkcycsICdfJy4kdGhpcy0+R2V0TmFtZSgpKSk7CgokYWxpYXNlcyA9IGFycmF5KCk7CiRhbGlhc2VzW10gPSBhcnJheSgnbmFtZSc9PidzdGRfdGh1bWJuYWlsJywnb3B0aW9ucyc9PidmaWx0ZXJfd2F0ZXJtYXJrPTEgd2lkdGg9MTUwIGhlaWdodD0xNTAnKTsKJHRoaXMtPlNldFByZWZlcmVuY2UoJ2FsaWFzZXMnLHNlcmlhbGl6ZSgkYWxpYXNlcykpOwoKIwojIEVPRgojCj8+]]></data>
	</file>
	<file>
	  <filename>/templates/</filename>
	  <isdir>1</isdir>
	</file>
	<file>
	  <filename>/templates/admin_aliases_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[PHA+eyRtb2QtPkxhbmcoJ2luZm9fYWxpYXNlcycpfTwvcD4KCjxzY3JpcHQgdHlwZT0idGV4dC9qYXZhc2NyaXB0Ij57bGl0ZXJhbH0KJChkb2N1bWVudCkucmVhZHkoZnVuY3Rpb24oKXsKICAkKCcjYWxpYXNfdGFibGUgdHI6bGFzdCcpLmZpbmQoJ2ltZycpLmhpZGUoKTsKICAkKCcjYWRkX3JvdycpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICB2YXIgbmV3X3JvdyA9ICQoJyNhbGlhc190YWJsZSB0cjpsYXN0JykuY2xvbmUodHJ1ZSk7CiAgICAkKCcjYWxpYXNfdGFibGUgdHI6bGFzdCcpLmZpbmQoJ2ltZycpLnNob3coKTsKICAgIG5ld19yb3cuZmluZCgnOmlucHV0JykuZWFjaChmdW5jdGlvbigpewogICAgICAkKHRoaXMpLnZhbCgnJyk7CiAgICB9KTsKICAgICQoJyNhbGlhc190YWJsZSB0Ym9keScpLmFwcGVuZChuZXdfcm93KTsKICAgIHJldHVybiBmYWxzZTsKICB9KTsKCiAgJCgnaW1nLmRlbGV0ZXJvdycpLmNsaWNrKGZ1bmN0aW9uKCl7CiAgICBpZiggJCgnI2FsaWFzX3RhYmxlIHRyJykubGVuZ3RoIDw9IDIgKSByZXR1cm4gZmFsc2U7CiAgICAkKHRoaXMpLmNsb3Nlc3QoJ3RyJykucmVtb3ZlKCk7ICAgCiAgfSk7Cn0pOwp7L2xpdGVyYWx9PC9zY3JpcHQ+Cgp7JGZvcm1zdGFydH0KPHRhYmxlIGNsYXNzPSJwYWdldGFibGUgcGFnZWlucHV0IiBjZWxsc3BhY2luZz0iMCIgaWQ9ImFsaWFzX3RhYmxlIj4KICA8dGhlYWQ+CiAgICA8dHI+CiAgICAgIDx0aD57JG1vZC0+TGFuZygnYWxpYXMnKX08L3RoPgogICAgICA8dGg+eyRtb2QtPkxhbmcoJ29wdGlvbnMnKX08L3RoPgogICAgICA8dGggY2xhc3M9InBhZ2VpY29uIj48L3RoPgogICAgPC90cj4KICA8L3RoZWFkPgogIDx0Ym9keT4Ke2lmIGlzc2V0KCRhbGlhc2VzKX0Ke2ZvcmVhY2ggZnJvbT0kYWxpYXNlcyBpdGVtPSdhbGlhcyd9CiAgICA8dHI+CiAgICAgIDx0ZD4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1hbGlhc19uYW1lW10iIHZhbHVlPSJ7JGFsaWFzLm5hbWV8aHRtbHNwZWNpYWxjaGFyc30iIHNpemU9IjIwIiBtYXhsZW5ndGg9IjUwIi8+CiAgICAgIDwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1hbGlhc19vcHRpb25zW10iIHZhbHVlPSJ7JGFsaWFzLm9wdGlvbnN8aHRtbHNwZWNpYWxjaGFyc30iIHNpemU9IjYwIiBtYXhsZW5ndGg9IjI1NSIvPgogICAgICA8L3RkPgogICAgICA8dGQ+CiAgICAgICAge2NnaW1hZ2UgY2xhc3M9J2RlbGV0ZXJvdycgaW1hZ2U9J2ljb25zL3N5c3RlbS9kZWxldGUuZ2lmJyBhbHQ9JG1vZC0+TGFuZygnZGVsZXRlJyl9CiAgICAgIDwvdGQ+CiAgICA8L3RyPgp7L2ZvcmVhY2h9CnsvaWZ9CiAgICB7KiBlbXB0eSByb3cgKn0KICAgIDx0cj4KICAgICAgPHRkPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWFsaWFzX25hbWVbXSIgdmFsdWU9IiIgc2l6ZT0iMjAiIG1heGxlbmd0aD0iNTAiLz4KICAgICAgPC90ZD4KICAgICAgPHRkPgogICAgICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWFsaWFzX29wdGlvbnNbXSIgdmFsdWU9IiIgc2l6ZT0iNjAiIG1heGxlbmd0aD0iMjU1Ii8+CiAgICAgIDwvdGQ+CiAgICAgIDx0ZD4KICAgICAgICB7Y2dpbWFnZSBjbGFzcz0nZGVsZXRlcm93JyBpbWFnZT0naWNvbnMvc3lzdGVtL2RlbGV0ZS5naWYnIGFsdD0kbW9kLT5MYW5nKCdkZWxldGUnKX0KICAgICAgPC90ZD4KICAgIDwvdHI+CiAgPC90Ym9keT4KPC90YWJsZT4KCjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIGlkPSJhZGRfcm93IiBuYW1lPSJ7JGFjdGlvbmlkfWFkZF9yb3ciIHZhbHVlPSJ7JG1vZC0+TGFuZygnYWRkX3JvdycpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
	<file>
	  <filename>/templates/admin_embedding_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW1iZWRkaW5nX21vZGUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfWVtYmVkX21vZGUiPgogICAge2h0bWxfb3B0aW9ucyBvcHRpb25zPSRlbWJlZF9tb2RlcyBzZWxlY3RlZD0kZW1iZWRfbW9kZX0KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2VtYmVkX21vZGUnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+eyRtb2QtPkxhbmcoJ2VtYmVkX3NpemVsaW1pdCcpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1lbWJlZF9zaXplbGltaXQiIHNpemU9IjQiIG1heGxlbmd0aD0iNCIgdmFsdWU9InskZW1iZWRfc2l6ZWxpbWl0fSIvPgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2VtYmVkX3NpemVsaW1pdCcpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW1iZWRfdHlwZXMnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InRleHQiIG5hbWU9InskYWN0aW9uaWR9ZW1iZWRfdHlwZXMiIHNpemU9IjIwIiBtYXhsZW5ndGg9IjIwIiB2YWx1ZT0ieyRlbWJlZF90eXBlc30iLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19lbWJlZF90eXBlcycpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij48L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfXN1Ym1pdCIgdmFsdWU9InskbW9kLT5MYW5nKCdzdWJtaXQnKX0iLz4KICA8L3A+CjwvZGl2Pgp7JGZvcm1lbmR9]]></data>
	</file>
	<file>
	  <filename>/templates/admin_general_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygncHJvbXB0X2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYycpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8c2VsZWN0IG5hbWU9InskYWN0aW9uaWR9Y3JvcHRvZml0X2RlZmF1bHRfbG9jIj4KICAgIHtodG1sX29wdGlvbnMgb3B0aW9ucz0kY3JvcHRvZml0X2xvY3Mgc2VsZWN0ZWQ9JGNyb3B0b2ZpdF9kZWZhdWx0X2xvY30KICAgIDwvc2VsZWN0PgogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2Nyb3B0b2ZpdF9kZWZhdWx0X2xvYycpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnbWF4X2NhY2hlX2FnZScpfTo8L3A+CiAgPHAgY2xhc3M9InBhZ2VpbnB1dCI+CiAgICA8aW5wdXQgdHlwZT0idGV4dCIgbmFtZT0ieyRhY3Rpb25pZH1jYWNoZV9hZ2UiIHZhbHVlPSJ7JGNhY2hlX2FnZX0iIHNpemU9IjMiIG1heGxlbmd0aD0iMyIvPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1jbGVhcl9ub3ciIHZhbHVlPSJ7JG1vZC0+TGFuZygnY2xlYXJfbm93Jyl9Ii8+CiAgICA8aW5wdXQgdHlwZT0ic3VibWl0IiBuYW1lPSJ7JGFjdGlvbmlkfWNsZWFyX2FsbCIgdmFsdWU9InskbW9kLT5MYW5nKCdjbGVhcl9hbGwnKX0iIG9uY2xpY2s9InJldHVybiBjb25maXJtKCd7JG1vZC0+TGFuZygnYXNrX2NsZWFyX2ltYWdlX2NhY2hlJyl9Jyk7Ii8+CiAgICA8YnIvPgogICAgeyRtb2QtPkxhbmcoJ2luZm9fY2FjaGVfYWdlJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdjYWNoZV9wYXRoJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWNhY2hlX3BhdGgiIHZhbHVlPSJ7JGNhY2hlX3BhdGh9IiBzaXplPSI0MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19jYWNoZV9wYXRoJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdpbWFnZV91cmxfcHJlZml4Jyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfWltYWdlX3VybF9wcmVmaXgiIHZhbHVlPSJ7JGltYWdlX3VybF9wcmVmaXh9IiBzaXplPSI0MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19pbWFnZV91cmxfcHJlZml4Jyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdpbWFnZV91cmxfaGFzY2FjaGVkaXInKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAge2NnZV95ZXNub19vcHRpb25zIHByZWZpeD0kYWN0aW9uaWQgbmFtZT0naW1hZ2VfdXJsX2hhc2NhY2hlZGlyJyBzZWxlY3RlZD0kaW1hZ2VfdXJsX2hhc2NhY2hlZGlyfQogICAgPGJyLz4KICAgIHskbW9kLT5MYW5nKCdpbmZvX2ltYWdlX3VybF9oYXNjYWNoZWRpcicpfQogIDwvcD4KPC9kaXY+CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnc3VwcHJlc3NfZXJyb3JzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIHtjZ2VfeWVzbm9fb3B0aW9ucyBwcmVmaXg9JGFjdGlvbmlkIG5hbWU9J3NpbGVudCcgc2VsZWN0ZWQ9JHNpbGVudH0KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19zdXBwcmVzc19lcnJvcnMnKX0KICA8L3A+CjwvZGl2Pgo8ZGl2IGNsYXNzPSJwYWdlb3ZlcmZsb3ciPgogIDxwIGNsYXNzPSJwYWdldGV4dCI+PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPGlucHV0IHR5cGU9InN1Ym1pdCIgbmFtZT0ieyRhY3Rpb25pZH1zdWJtaXQiIHZhbHVlPSJ7JG1vZC0+TGFuZygnc3VibWl0Jyl9Ii8+CiAgPC9wPgo8L2Rpdj4KeyRmb3JtZW5kfQ==]]></data>
	</file>
	<file>
	  <filename>/templates/admin_responsive_tab.tpl</filename>
	  <isdir>0</isdir>
	  <data><![CDATA[eyRmb3Jtc3RhcnR9CjxkaXYgY2xhc3M9InBhZ2VvdmVyZmxvdyI+CiAgPHAgY2xhc3M9InBhZ2V0ZXh0Ij57JG1vZC0+TGFuZygnZW5hYmxlX3Jlc3BvbnNpdmUnKX06PC9wPgogIDxwIGNsYXNzPSJwYWdlaW5wdXQiPgogICAgPHNlbGVjdCBuYW1lPSJ7JGFjdGlvbmlkfXJlc3BvbnNpdmUiPgogICAgICB7Y2dlX3llc25vX29wdGlvbnMgc2VsZWN0ZWQ9JHJlc3BvbnNpdmV9CiAgICA8L3NlbGVjdD4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19yZXNwb25zaXZlJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPnskbW9kLT5MYW5nKCdyZXNwb25zaXZlX2JyZWFrcG9pbnRzJyl9OjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJ0ZXh0IiBuYW1lPSJ7JGFjdGlvbmlkfXJlc3BvbnNpdmVfYnJlYWtwb2ludHMiIHZhbHVlPSJ7JHJlc3BvbnNpdmVfYnJlYWtwb2ludHN9IiBzaXplPSI1MCIgbWF4bGVuZ3RoPSIyNTUiLz4KICAgIDxici8+CiAgICB7JG1vZC0+TGFuZygnaW5mb19yZXNwb25zaXZlX2JyZWFrcG9pbnRzJyl9CiAgPC9wPgo8L2Rpdj4KPGRpdiBjbGFzcz0icGFnZW92ZXJmbG93Ij4KICA8cCBjbGFzcz0icGFnZXRleHQiPjwvcD4KICA8cCBjbGFzcz0icGFnZWlucHV0Ij4KICAgIDxpbnB1dCB0eXBlPSJzdWJtaXQiIG5hbWU9InskYWN0aW9uaWR9c3VibWl0IiB2YWx1ZT0ieyRtb2QtPkxhbmcoJ3N1Ym1pdCcpfSIvPgogIDwvcD4KPC9kaXY+CnskZm9ybWVuZH0=]]></data>
	</file>
</module>
